:root{--canvas:#f7f8fa;--surface:#fff;--ink:#132b35;--muted:#54666e;--accent:#067b69;--tint:#e8f5ef;--line:#dce4e5;--radius:22px;color-scheme:light}*{box-sizing:border-box}html{font-family:Arial,-apple-system,BlinkMacSystemFont,"Assistant","Rubik",sans-serif;font-size:100%;scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);line-height:1.65}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #aa6600;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.22}h1{font-size:clamp(2.25rem,5vw,4rem);letter-spacing:-1px;margin-bottom:20px}h2{font-size:clamp(1.6rem,3vw,2.1rem);letter-spacing:-.5px;margin-bottom:12px}h3{font-size:1.15rem}small{font-size:.875rem}.wrap{width:min(1160px,calc(100% - 40px));margin-inline:auto}.skip{position:fixed;top:-100px;right:20px;background:white;padding:15px;z-index:99}.skip:focus{top:10px}header{background:var(--surface);border-bottom:1px solid var(--line)}.topbar{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand strong{font-size:1.6rem;letter-spacing:-1px;line-height:1}.brand small{display:block;font-size:.65rem;letter-spacing:2px;color:var(--muted);margin-top:7px}.brandmark{width:43px;height:43px;background:var(--accent);border-radius:14px;display:grid;place-items:center;color:#fff}.icon{width:22px;height:22px;vertical-align:middle;flex-shrink:0}.nav{display:flex;align-items:center;gap:28px;font-size:.95rem}.nav a:hover,.nav a[aria-current]{color:var(--accent)}.nav a[aria-current]{font-weight:bold}.nav a:last-child{border:1px solid var(--line);border-radius:30px;padding:9px 20px}.menu{display:none;background:none;border:1px solid var(--line);border-radius:12px;padding:10px}.hero{position:relative;background:#e9f4f1;overflow:hidden;padding:62px 0 92px}.hero-inner{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:30px}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:.8rem;font-weight:bold;color:var(--accent);display:flex;align-items:center;gap:8px;margin-bottom:18px}.eyebrow:before{content:"";width:7px;height:7px;background:var(--accent);border-radius:50%}.hero h1 span{color:var(--accent)}.hero p{font-size:1.08rem;max-width:480px;color:var(--muted);margin-bottom:23px}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #c5dfd7;border-radius:30px;font-size:.85rem;background:#ffffff80;padding:7px 12px}.art{width:100%;max-height:300px;filter:drop-shadow(0 20px 35px #377d6b16)}.search-area{position:relative;margin-top:-52px;z-index:2}.search-panel{background:var(--surface);border:1px solid var(--line);padding:26px;border-radius:var(--radius);box-shadow:0 16px 40px #122f3510}.search-title{display:flex;align-items:center;gap:10px;font-weight:bold;margin-bottom:18px}.fields{display:grid;grid-template-columns:1.5fr 1fr 1fr .85fr .65fr .65fr;gap:12px;align-items:start}.field{min-width:0}.field label{font-size:.85rem;font-weight:bold;display:block;margin-bottom:7px}input,select{width:100%;min-width:0;min-height:49px;border:1px solid #ccd6d9;border-radius:10px;padding:10px;background:var(--surface);color:var(--ink)}input::placeholder{color:#66767e}input[type=date]{font-size:.88rem}.search-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}.search-bottom p{font-size:.875rem;color:var(--muted);margin:0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;border-radius:11px;min-height:48px;padding:11px 22px;background:var(--accent);border:1px solid var(--accent);color:#fff;font-weight:bold;transition:background .15s,transform .15s}.btn:hover{background:#056555;transform:translateY(-1px)}.btn.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.section{padding-block:58px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.section-head p,.subtle{color:var(--muted);margin-bottom:0}.tag{font-size:.8rem;white-space:nowrap;border:1px solid var(--line);padding:5px 12px;border-radius:20px;background:var(--surface);color:var(--muted)}.empty{border:1px dashed #bdcecc;background:#f0f5f4;border-radius:18px;padding:36px 20px;text-align:center}.empty-symbol{display:grid;place-items:center;margin:0 auto 14px;background:white;border:1px solid #dce7e3;border-radius:15px;width:50px;height:50px;color:var(--accent)}.empty p{margin:0;color:var(--muted)}.tiles{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.tile{display:flex;align-items:flex-start;flex-direction:column;gap:20px;background:var(--surface);border:1px solid var(--line);padding:22px 16px;border-radius:17px;transition:border .2s,transform .2s}.tile:hover{border-color:var(--accent);transform:translateY(-3px)}.tile .icon{color:var(--accent);width:26px;height:26px}.tile-label{font-size:.95rem;font-weight:bold}.tile-arrow{margin-inline-start:auto;color:var(--muted)}.category-section{padding-top:4px}.how{background:#153f39;color:#fff;border-radius:24px;padding:38px;display:flex;align-items:center;gap:30px;justify-content:space-between;margin-block:4px 58px}.how p{color:#c6ded5;margin-bottom:0}.how h2{font-size:1.7rem}.how a{white-space:nowrap;border:1px solid #84aaa0;border-radius:30px;padding:10px 20px}.destinations{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.destination{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.destination:hover{border-color:var(--accent)}.destination span{display:block;font-size:.85rem;color:var(--muted)}.destination bdi{font-size:.85rem;color:var(--accent);font-weight:bold}.all-destinations summary{cursor:pointer;color:var(--accent);margin-top:20px;padding:8px 0}.all-destinations .destinations{margin-top:14px}.page-head{padding:48px 0 30px}.breadcrumb{font-size:.85rem;color:var(--muted);margin-bottom:25px}.page-head h1{font-size:clamp(2rem,4vw,3rem)}.page-head p{color:var(--muted);max-width:650px}.page-body{padding-bottom:64px}.providers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.provider{border:1px solid var(--line);background:var(--surface);padding:26px;border-radius:19px;display:flex;flex-direction:column;align-items:start;gap:10px}.provider-badge{height:42px;min-width:42px;display:grid;place-items:center;padding-inline:10px;background:var(--tint);color:var(--accent);font-size:.9rem;font-weight:bold;border-radius:12px;margin-bottom:6px}.provider h2,.provider h3{font-size:1.15rem;letter-spacing:normal;margin-bottom:0}.provider p{color:var(--muted);font-size:.95rem;flex:1;margin-bottom:8px}.provider .btn{width:100%;font-size:.9rem;padding-inline:12px}.supplier-note{font-size:.875rem;color:var(--muted);border-inline-start:3px solid #87b4a7;padding-inline-start:14px;margin-block:20px}.supplier-group{margin-top:40px}.supplier-group h2{font-size:1.5rem}.trip-summary{display:flex;gap:10px;flex-wrap:wrap;margin-block:15px}.trip-summary span{border:1px solid var(--line);background:var(--surface);padding:7px 14px;border-radius:24px;font-size:.9rem}.prose{max-width:820px;margin-inline:auto;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:clamp(22px,5vw,48px);overflow-wrap:anywhere}.prose h1{font-size:2.1rem}.prose h2{font-size:1.35rem;margin-block:30px 15px}.prose ul,.prose ol{padding-inline-start:25px}.prose li{margin-bottom:11px}.prose a{color:var(--accent);text-decoration:underline}.prose table{width:100%;border-collapse:collapse;font-size:.85rem;table-layout:fixed}.prose td,.prose th{border:1px solid var(--line);padding:8px;text-align:start;vertical-align:top;overflow-wrap:anywhere}.error{text-align:center;padding:90px 0}.error .code{color:var(--accent);font-size:5rem;font-weight:bold}.error p{color:var(--muted)}footer{background:var(--surface);border-top:1px solid var(--line);padding-block:38px 25px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:26px}.footer-links{display:flex;flex-wrap:wrap;gap:12px 23px;font-size:.875rem;max-width:650px}.footer-links a:hover{text-decoration:underline}.footer-note{border-top:1px solid var(--line);padding-top:22px;font-size:.8rem;color:var(--muted);max-width:100%;margin:0}.footer-bottom{display:flex;gap:16px;justify-content:space-between;color:var(--muted);font-size:.8rem;margin-top:20px}.text-button{border:0;background:none;padding:0;color:var(--accent);font-size:inherit;text-decoration:underline}.consent{position:fixed;z-index:20;bottom:18px;inset-inline:20px;max-width:540px;margin-inline-start:auto;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 70px #102d3533;padding:22px}.consent h2{font-size:1.15rem;margin-bottom:10px}.consent p{font-size:.9rem;color:var(--muted)}.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.consent-actions .btn{background:var(--surface);border-color:var(--accent);color:var(--accent);font-size:.9rem;padding:10px 8px}.consent-actions .btn:hover{background:var(--tint)}.consent a{font-size:.85rem;text-decoration:underline;color:var(--muted)}[hidden]{display:none!important}.form-error{color:#a32c24;font-size:.9rem;margin:12px 0 0}body:has(.consent:not([hidden])){padding-bottom:270px}
@media(max-width:1000px){.fields{grid-template-columns:repeat(3,minmax(0,1fr))}.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.hero h1{font-size:3rem}.nav{gap:18px}.providers{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.wrap{width:calc(100% - 32px)}.topbar{min-height:74px;flex-wrap:wrap;padding-block:13px;gap:0}.brand strong{font-size:1.4rem}.brandmark{height:39px;width:39px}.menu{display:block}.nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding-top:18px;gap:0}.nav.open{display:flex}.nav a{padding:12px}.nav a:last-child{border:0;padding:12px}.hero{padding:32px 0 74px}.hero-inner{grid-template-columns:1fr;gap:10px}.hero h1{font-size:2.55rem;line-height:1.13;max-width:320px}.hero p{font-size:1rem;margin-bottom:16px}.eyebrow{margin-bottom:13px}.art{max-height:170px;margin-top:8px}.search-area{margin-top:-40px}.search-panel{padding:20px 16px}.fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.field:first-child{grid-column:1/-1}.field:nth-child(4){grid-column:1/-1}.search-bottom{flex-direction:column;align-items:stretch}.search-bottom p{text-align:center;font-size:.8rem}.search-bottom .btn{order:-1}.section{padding-block:36px}.section-head{align-items:start;gap:10px}.section-head p{font-size:.9rem}.tag{display:none}.empty{padding:28px 15px}.empty p{font-size:.95rem}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile{flex-direction:row;align-items:center;padding:19px 14px;gap:10px}.tile .icon{width:22px}.tile-label{font-size:.9rem}.tile:last-child{grid-column:1/-1}.category-section{padding-top:0}.destinations{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.destination{padding:14px}.how{padding:26px 22px;flex-direction:column;align-items:start;gap:20px;margin-bottom:38px}.how h2{font-size:1.5rem}.providers{grid-template-columns:1fr}.page-head{padding-top:32px}.provider{padding:22px}.footer-top{flex-direction:column;align-items:start}.footer-links{gap:14px 22px}.footer-bottom{flex-direction:column;gap:8px}.consent{inset-inline:12px;bottom:12px;padding:18px}.prose h1{font-size:1.8rem}.prose h2{font-size:1.3rem}.supplier-note{font-size:.83rem}.hero .pill{font-size:.8rem}}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--canvas:#101d23;--surface:#17282e;--ink:#e5f2ee;--muted:#b0c2c5;--accent:#76d5b9;--tint:#213f39;--line:#345059}.hero{background:#19342e}.hero p{color:#bdcdc8}.pill{background:#193c32;border-color:#43675b}.btn{color:#102a23}.btn:hover{background:#9ae1cb}.empty{background:#192e2e;border-color:#47625d}.empty-symbol{background:#254039;border-color:#48655e}.provider-badge{color:var(--accent)}input,select{border-color:var(--line)}.nav a:hover{color:var(--accent)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Accessible controls, consent and management surfaces use the existing visual tokens. */
:root{--control-border:#71818a;--focus:#945500;--on-accent:#fff}body{overflow-wrap:anywhere}input,select,.btn.secondary{border-color:var(--control-border)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:4px}main:focus{outline-offset:-4px}a,button,input,select,summary{scroll-margin-block:1.5rem}.field{position:relative}.fields>*{min-width:0}input,select{font-size:1rem}.autocomplete-options{position:absolute;inset-inline:0;top:100%;margin:0;padding:6px;list-style:none;background:var(--surface);border:1px solid var(--control-border);border-radius:12px;max-height:18rem;overflow-y:auto;z-index:8;box-shadow:0 12px 24px #102d351f}.autocomplete-options li{padding:10px;border-radius:7px;min-height:44px;cursor:pointer}.autocomplete-options li:hover,.autocomplete-options li[aria-selected=true]{background:var(--accent);color:var(--on-accent)}.consent{position:static;max-width:1160px;width:calc(100% - 32px);margin:1rem auto;box-shadow:none}.consent h2{font-size:1.2rem}.consent-actions{max-width:32rem}.consent-extra{display:flex;gap:1.5rem;align-items:center}.consent-extra>*{min-height:44px;display:inline-flex;align-items:center}body:has(.consent:not([hidden])){padding-bottom:0}dialog{color:var(--ink);background:var(--surface);border:1px solid var(--control-border);border-radius:22px;padding:0;max-width:min(36rem,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto}dialog::backdrop{background:#0d202966}.dialog-content{padding:clamp(20px,4vw,32px)}.dialog-content h2{font-size:1.5rem}.cookie-option{display:flex;gap:1.5rem;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-block:1rem}.cookie-option>div{flex:1}.cookie-option label{display:flex;align-items:center;min-height:44px;font-weight:bold}.cookie-option p{font-size:.9rem;margin:0;color:var(--muted)}.cookie-option input{width:24px;height:24px;min-height:24px;flex:0 0 24px;accent-color:var(--accent)}.dialog-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:1rem}.dialog-actions .btn{flex:1}.dialog-actions .text-button{min-height:44px;padding-inline:12px}.admin-layout{padding-block:2rem 4rem}.admin-layout h1{font-size:2.25rem;margin-block:1.5rem}.admin-nav{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);padding-bottom:1rem}.admin-nav a{border:1px solid var(--control-border);border-radius:11px;padding:10px 18px;min-height:44px}.admin-nav a[aria-current]{background:var(--accent);color:var(--on-accent);font-weight:bold}.admin-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-block:1.5rem}.metric,.admin-panel{padding:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:18px}.metric h2{font-size:1rem;color:var(--muted)}.metric strong{font-size:2.2rem;line-height:1.2}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.table-scroll{max-width:100%;min-width:0;overflow:auto;border:1px solid var(--line);border-radius:15px;background:var(--surface);margin-block:1.5rem}.admin-grid .table-scroll{margin-block:0}.data-table{width:100%;border-collapse:collapse;text-align:start}.data-table caption{font-size:1.15rem;font-weight:bold;padding:1.1rem;text-align:start}.data-table th,.data-table td{padding:.85rem 1rem;border-top:1px solid var(--line);vertical-align:top;text-align:start;overflow-wrap:anywhere}.data-table th{background:var(--tint);color:var(--ink)}.data-table td a{text-decoration:underline;color:var(--accent);display:inline-block;min-height:44px}.data-table .btn{white-space:nowrap;min-width:6rem}.status-badge{display:inline-flex;padding:4px 10px;border:1px solid var(--control-border);border-radius:20px;font-size:.85rem}.admin-filter{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:1.5rem}.admin-filter select{width:auto;min-width:10rem}.admin-panel{margin-bottom:1.5rem}.admin-panel h2{font-size:1.5rem}.route-form .fields{grid-template-columns:repeat(3,minmax(0,1fr))}.route-form .field:first-child{grid-column:auto}.check-label{display:flex;align-items:center;gap:10px;min-height:44px;margin-block:1rem}.check-label input{width:20px;min-height:20px;accent-color:var(--accent)}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.success-message{background:var(--tint);color:var(--ink);padding:1rem;border-radius:12px}.related-destinations{padding-top:1.5rem}.related-destinations h2{font-size:1.5rem}.route-form small{display:block;color:var(--muted)}.prose li{overflow-wrap:anywhere}
@media(max-width:680px){.admin-grid,.admin-kpis{grid-template-columns:1fr}.route-form .fields{grid-template-columns:1fr}.route-form .field:nth-child(4){grid-column:auto}.admin-nav a{flex:1 1 7rem;text-align:center}.data-table th,.data-table td{padding:.7rem}.admin-layout h1{font-size:2rem}.dialog-actions{align-items:stretch}.dialog-actions>*{flex:1 1 100%}.consent-actions{width:100%}.consent p{font-size:1rem}.tiles,.destinations{min-width:0}.tile,.destination{min-width:0}.tile-label{overflow-wrap:anywhere}.table-scroll{font-size:.95rem}}
@media(prefers-color-scheme:dark){:root{--control-border:#8ba0a9;--focus:#ffcf8a;--on-accent:#102a23}.form-error{color:#ffb5ad}.consent-actions .btn{color:var(--accent)}.cookie-option input{accent-color:#76d5b9}.tag,.pill{border-color:var(--control-border)}}
.consent-heading{font-size:1.2rem;margin-bottom:.7rem}
@media(max-width:680px){.fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}.tiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr))}.destinations{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}}
input::placeholder{color:var(--muted);opacity:1}.btn.secondary:hover{background:var(--tint);color:var(--ink)}

.text-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1rem}.price-card{display:flex;flex-direction:column;gap:.5rem;min-width:0;padding:1.5rem;border:1px solid var(--line);border-radius:1.25rem;background:var(--surface)}.price-card p{margin:0}.price-card-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:start;gap:.5rem}.price-card h3{margin:0;font-size:1.25rem}.price-card h3 a{text-decoration:underline;text-underline-offset:.2em}.price-amount{font-weight:bold;font-size:1.75rem}.price-amount span{font-size:1rem}.deal-label{border:1px solid var(--accent);color:var(--accent);background:var(--tint);border-radius:2rem;padding:.2rem .6rem;font-weight:bold;font-size:.875rem}.price-time,.price-comparison,.price-disclaimer{font-size:.875rem}.price-time{color:var(--muted)}.price-disclaimer{text-decoration:underline;color:var(--accent);margin-bottom:.5rem}.price-card .btn{margin-top:auto}.price-month{margin-top:2rem}.refresh-form{margin-block:1.5rem}
