
:root{
  --bg:#faf7f1; --surface:#fffefa; --surface2:#f4eee1; --ink:#221335; --muted:#6b5b7d; --line:#e8ddc6;
  --coral:#ff5e7a; --orange:#ff8a3d; --sun:#ffb800; --green:#22b573; --sky:#2ea8ff; --violet:#8b5cf6;
  --plum:#1c0f31; --plum2:#2a1850;
  --disp:"Bricolage Grotesque",system-ui,sans-serif; --serif:"Cormorant Garamond",Georgia,serif; --sans:"Jost",system-ui,sans-serif;
  --mood-accent:#ff8a3d;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.55;font-size:16px;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
h1,h2{font-family:var(--disp);line-height:.98;margin:0;letter-spacing:-.01em}
h2{font-size:clamp(36px,5.6vw,60px);font-weight:800}
h3{font-family:var(--disp);margin:0;line-height:1.08}
.grad-text{color:#a86e00}
.serif-i{font-family:var(--serif);font-style:italic;font-weight:600}
.label{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--coral)}
.small{font-size:13px;color:var(--muted)} .tiny{font-size:12px;color:var(--muted)}
.specbar{height:3px;background:var(--plum)}

/* header */
header.site{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;gap:14px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}
.headcta{background:var(--plum);color:#fff;white-space:nowrap;flex:none;padding:11px 18px;font-size:14.5px;box-shadow:0 6px 18px rgba(28,15,49,.22)}
.headcta:hover{background:var(--plum2)}
@media(max-width:860px){.headcta{margin-left:auto}}
@media(max-width:480px){.headcta{padding:9px 13px;font-size:13px}.wordmark img{height:31px}.footlogo{height:32px}}
.wordmark{display:flex;align-items:center;flex:none;text-decoration:none;line-height:0}
.wordmark img{height:42px;width:auto}
@media(max-width:760px){.wordmark img{height:36px}}
.footlogo{height:38px;width:auto;margin-bottom:14px}
.astar{color:var(--plum);font-size:22px;line-height:1}
.avatar.sm .astar{font-size:13px}
nav.main{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
nav.main a{text-decoration:none;font-weight:600;font-size:14.5px;padding:8px 12px;border-radius:999px}
nav.main a:hover{background:var(--surface2)}
.cta-btn{display:inline-block;background:var(--ink);color:var(--bg);text-decoration:none;font-weight:700;padding:12px 20px;border-radius:999px;font-size:15px;border:0;cursor:pointer;font-family:var(--sans)}
.cta-btn.spec{background:var(--plum);color:#fff;box-shadow:0 6px 18px rgba(28,15,49,.22)}
.cta-btn.spec:hover{background:var(--plum2)}
@media(max-width:760px){nav.main{display:none}}

/* hero */
.hero{position:relative;min-height:min(92vh,760px);display:flex;align-items:flex-end;overflow:hidden;background:#1b5f9e}
.hero .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero img.bgimg{opacity:0;transition:opacity 3s ease;will-change:opacity}
.hero img.bgimg.on{opacity:1}
.hero img.bgimg.kb{animation:kbdrift 13.5s ease-out forwards}
@keyframes kbdrift{from{transform:scale(1)}to{transform:scale(1.055)}}
.herocap{position:absolute;top:18px;right:22px;z-index:3;color:#fff;text-align:left;transition:opacity .5s ease;pointer-events:none;background:rgba(28,15,49,.72);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:10px 14px;max-width:min(420px,calc(100% - 44px));backdrop-filter:blur(8px)}
.herocap .hcname{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(22px,3vw,30px);line-height:1;text-shadow:0 2px 14px rgba(20,6,40,.5)}
.herocap .hcnote{font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin-top:6px;opacity:.94;text-shadow:0 1px 8px rgba(20,6,40,.55)}
@media(max-width:640px){.herocap{top:12px;right:12px;left:12px;max-width:none;padding:9px 12px}.herocap .hcname{font-size:20px}.herocap .hcnote{font-size:10.5px}}
.hero .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,6,40,.05) 42%,rgba(20,6,40,.5) 90%)}
.hero .inner{position:relative;padding:118px 0 56px;width:100%}
@media(max-width:640px){.hero .inner{padding:158px 0 48px}.hero h1{font-size:clamp(42px,13vw,58px)}.hero p.lede{font-size:16.5px;line-height:1.6}}
.hero .kicker{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;letter-spacing:.06em;backdrop-filter:blur(6px)}
.hero h1{font-size:clamp(52px,9.5vw,108px);font-weight:800;color:#fff;margin-top:18px;text-wrap:balance}
.hero h1 .life{font-family:var(--serif);font-style:italic;font-weight:600;color:#ffd97a;padding-right:.08em}
.hero p.lede{color:#f6ecff;font-size:clamp(17px,2.4vw,21px);max-width:56ch;margin-top:16px}
.doors{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.doors button{appearance:none;cursor:pointer;border:1.5px solid rgba(255,255,255,.55);background:rgba(20,6,40,.35);color:#fff;font-family:var(--sans);font-weight:600;font-size:15px;padding:11px 18px;border-radius:999px;backdrop-filter:blur(6px)}
.doors button:hover{background:#fff;color:#221335}
.hero .scrolldown{margin-top:26px;color:#e9dcff;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;clear:both}


/* sections */
section{padding:96px 0 10px}
.sec-head{max-width:74ch;margin-bottom:22px}
.sec-head p{margin-top:12px;color:var(--muted);font-size:17.5px}

/* atlas */
#atlas{position:relative}
#atlas:before{content:"";position:absolute;inset:0 0 auto 0;height:340px;background:radial-gradient(720px 300px at 12% 0%,color-mix(in srgb,var(--mood-accent) 20%,transparent),transparent 65%);pointer-events:none;transition:background .6s}
.moods{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0 24px}
.moods button{appearance:none;cursor:pointer;border:2px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:10px 18px;font-family:var(--sans);font-weight:600;font-size:15px}
.moods button .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:1px}
.moods button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.jcards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:920px){.jcards{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.jcards{grid-template-columns:1fr}}
.jcard{background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:transform .35s,box-shadow .35s}
.jcard:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(28,15,49,.10)}
.jcard .ph{position:relative;overflow:hidden}
.jcard img{height:190px;width:100%;object-fit:cover;transition:transform .6s}
.jcard:hover img{transform:scale(1.07)}
.jcard .tags{position:absolute;left:12px;top:12px;display:flex;gap:6px;flex-wrap:wrap}
.tag{font-size:11px;font-weight:700;letter-spacing:.05em;color:#fff;padding:5px 10px;border-radius:999px;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.jcard .in{padding:16px 18px 18px}
.jcard h3{font-size:23px;font-weight:800}
.jcard p{font-size:14.5px;color:var(--muted);margin-top:5px}
.jcard .tot{margin-top:11px;font-weight:700;font-size:16.5px}
.jcard .tot b{font-family:var(--disp);font-size:21px}
.jcard .per{font-size:12.5px;color:var(--muted);font-weight:500}
.jcard.hide{display:none}

/* film */
.film{background:#f8f0dd;color:var(--ink);border:1px solid var(--line);border-radius:34px;margin:64px auto 0;max-width:1240px;overflow:hidden}
@media(max-width:1280px){.film{border-radius:0}}
.film .stage{position:relative;min-height:400px;display:flex;align-items:flex-end}
.film .stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92;transition:opacity .45s}
.film .stage:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,6,40,0) 38%,rgba(20,6,40,.55) 94%);pointer-events:none}
.film .stage .inner{position:relative;z-index:1;padding:30px 34px;max-width:640px}
.film .stage h3{font-size:clamp(32px,5vw,54px);font-weight:800;color:#fff;font-family:var(--disp)}
.film .stage p{color:#f6ecff;margin-top:9px;font-size:17px}
.film .controls{padding:24px 34px 32px}
.days{display:flex;gap:9px;flex-wrap:wrap}
.days button{appearance:none;cursor:pointer;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:10px 17px;font-family:var(--sans);font-weight:600;font-size:14.5px}
.days button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.rail{height:10px;background:rgba(34,19,53,.12);border-radius:99px;margin:20px 0 10px;overflow:hidden}
.rail i{display:block;height:100%;background:var(--plum);width:21%;transition:width .6s cubic-bezier(.6,0,.2,1)}
.runline{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:14.5px;color:var(--muted);align-items:baseline}
.runline b{color:var(--ink);font-family:var(--disp);font-size:30px}

/* greener + total */
.greener h2 .green{color:#2e7d54}
.totalcard{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:0 16px 40px rgba(28,15,49,.07);position:relative;overflow:hidden}
.totalcard:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--plum)}
.toggle{display:inline-flex;background:var(--surface2);border:1px solid var(--line);border-radius:999px;padding:4px;gap:4px;flex-wrap:wrap}
.toggle button{appearance:none;border:0;border-radius:999px;padding:10px 18px;background:transparent;color:var(--ink);font-family:var(--sans);font-weight:600;cursor:pointer;font-size:15px}
.toggle button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.totalnum{font-family:var(--disp);font-weight:800;font-size:clamp(56px,10vw,104px);line-height:1;margin:16px 0 2px;color:var(--plum)}
.ledger{border-top:1px solid var(--line);margin-top:16px}
.ledger div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.ledger span:last-child{font-weight:700;white-space:nowrap}
.perks{color:var(--green)}
.stepsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}@media(max-width:820px){.stepsgrid{grid-template-columns:1fr}}.pstep2 h3{font-size:21px;font-weight:800;margin:10px 0 6px}.pstep2 p{color:var(--muted);font-size:15px}.pnum{width:34px;height:34px;border-radius:50%;background:var(--plum);color:#fff;font-family:var(--disp);font-weight:800;display:flex;align-items:center;justify-content:center}
.diff{display:inline-block;margin-top:14px;background:color-mix(in srgb,var(--green) 14%,transparent);color:var(--green);font-weight:700;padding:8px 14px;border-radius:999px;font-size:14.5px}

/* doors (products) */
.doorsgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:760px){.doorsgrid{grid-template-columns:1fr}}
.door{border-radius:24px;padding:26px;color:#fff;position:relative;overflow:hidden;min-height:230px;display:flex;flex-direction:column}
.door.c1{background:#3d2340}
.door.c2{background:#1f3a4d}
.door h3{font-size:30px;font-weight:800}
.door p{margin-top:8px;font-size:16px;opacity:.94;max-width:44ch}
.door .fee{margin-top:auto;padding-top:18px;font-family:var(--disp);font-weight:800;font-size:22px}
.door .fee span{display:block;font-family:var(--sans);font-weight:500;font-size:13.5px;opacity:.85}

/* departures */
.board{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:26px;padding:26px 28px;box-shadow:0 16px 40px rgba(28,15,49,.06)}
.board h3{font-size:26px;font-weight:800;color:var(--ink)}
.brow{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:13px 0;border-bottom:1px dashed rgba(34,19,53,.18);font-size:15.5px;align-items:baseline}
.brow:last-child{border-bottom:0}
.brow .st{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:999px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.brow b{font-family:var(--disp);font-size:19px;color:#a86e00}

/* deal of the week */
.dealcard{display:grid;grid-template-columns:1fr 1.08fr;background:var(--surface);border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 16px 40px rgba(28,15,49,.07)}
@media(max-width:820px){.dealcard{grid-template-columns:1fr}}
.dealmedia{position:relative;min-height:300px}
.dealmedia img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dealoff{position:absolute;left:20px;bottom:20px;background:var(--plum);color:#fff;border-radius:14px;padding:12px 16px 10px;box-shadow:0 10px 22px rgba(28,15,49,.25);line-height:1}
.dealoff b{font-family:var(--disp);font-weight:800;font-size:30px;display:block}
.dealoff span{font-size:11px;font-weight:700;letter-spacing:.13em}
.dealbody{padding:32px 34px}
@media(max-width:560px){.dealbody{padding:24px 22px}}
.dealbody h2{font-size:clamp(30px,4.4vw,46px)}
.dealbody p{color:var(--muted);font-size:16.5px;margin-top:12px}
.dealbody p strong{color:var(--ink)}
.dealmeta{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.dealmeta span{font-size:12.5px;font-weight:700;background:var(--surface2);border:1px solid var(--line);padding:7px 12px;border-radius:999px}
.dealcta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:22px}
.dealbtn{background:var(--plum);color:#fff;box-shadow:0 8px 20px rgba(28,15,49,.22);font-size:16px;padding:14px 24px}
.dealbtn:hover{background:var(--plum2)}

/* inquiry */
.inquiry{background:var(--plum);border-radius:30px;padding:5px;margin-top:64px}
.inquiry .in2{background:var(--surface);border-radius:25px;padding:30px}
.inquiry h2{font-size:clamp(32px,5vw,50px)}
.form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px}
@media(max-width:640px){.form{grid-template-columns:1fr}}
.field label{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.field input,.field select{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:13px;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px}
.summary{margin-top:18px;background:var(--surface2);border:1px dashed var(--orange);border-radius:16px;padding:16px 18px;font-size:16px;min-height:58px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}
.reveal.on{opacity:1;transform:none}

footer{padding:44px 0 54px;color:var(--muted);font-size:13.5px;margin-top:56px;border-top:1px solid var(--line)}
footer a{color:var(--coral);font-weight:600;text-decoration:none}
.srcs li{margin:5px 0}
/* pages & tabs */
.pagetabs{display:flex;gap:4px;margin-left:auto;flex-wrap:nowrap}
.pagetabs button{appearance:none;cursor:pointer;border:0;background:transparent;color:var(--ink);font-family:var(--sans);font-weight:600;font-size:14.5px;padding:9px 13px;border-radius:999px;white-space:nowrap}
.pagetabs button:hover{background:var(--surface2)}
.pagetabs button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.page[hidden]{display:none}
@media(max-width:860px){.pagetabs{order:3;width:100%;margin-left:0}.pagetabs button{flex:1;text-align:center}}
@media(max-width:480px){.pagetabs button{font-size:13px;padding:9px 4px}}

/* three doors strip */
.doors3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:900px){.doors3{grid-template-columns:1fr}}
.door.c3{background:#234636}
button.door{font-family:var(--sans);font-size:16px;text-align:left;border:0;cursor:pointer;width:100%}
.door .go{margin-top:auto;padding-top:18px;font-weight:700;font-size:15.5px;text-decoration:underline;text-underline-offset:4px}

/* itinerary cards */
.icards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:920px){.icards{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.icards{grid-template-columns:1fr}}
.icard{background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.icard .ph{position:relative}
.icard img{height:180px;width:100%;object-fit:cover}
.icard .tags{position:absolute;left:12px;top:12px;display:flex;gap:6px;flex-wrap:wrap;max-width:calc(100% - 24px)}
.icard .in{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.icard h3{font-size:22px;font-weight:800}
.icard .place{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--coral);margin-top:3px}
.icard p{font-size:14.5px;color:var(--muted);margin-top:6px}
.todos{list-style:none;margin:12px 0 0;padding:0;font-size:14px}
.todos li{padding:5px 0 5px 20px;position:relative;border-bottom:1px dashed var(--line)}
.todos li:last-child{border-bottom:0}
.todos li:before{content:"✦";position:absolute;left:0;color:var(--orange);font-size:12px;top:7px}
.icard .tot{margin-top:auto;padding-top:13px;font-weight:700;font-size:16px}
.icard .tot b{font-family:var(--disp);font-size:20px}
.icard .per{font-size:12.5px;color:var(--muted);font-weight:500}
.savedbadge{display:inline-block;background:var(--sun);color:#221335;font-size:11px;font-weight:800;letter-spacing:.05em;padding:5px 10px;border-radius:999px}

/* seasons planner */
.planner{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:24px 26px;box-shadow:0 16px 40px rgba(28,15,49,.06);display:grid;grid-template-columns:1.12fr 1fr 1fr;gap:28px;margin-bottom:18px}
@media(max-width:980px){.planner{grid-template-columns:1fr;gap:22px}}
.pstep h3{font-size:21px;font-weight:800;margin:7px 0 13px}
.months{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.months button{appearance:none;cursor:pointer;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);border-radius:999px;padding:8px 2px;font-family:var(--sans);font-weight:600;font-size:13.5px}
.months button:hover{border-color:var(--orange)}
.months button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.planner .moods{margin:0}
.psum{font-size:14.5px;color:var(--muted);margin:13px 0 0}
.psum b{color:var(--ink)}

/* seasons map — Algari's own map */
.mapgrid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);gap:18px;align-items:start}
@media(max-width:980px){.mapgrid{grid-template-columns:1fr}}
.mapcard{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:14px;box-shadow:0 16px 40px rgba(28,15,49,.07)}
#worldMap{position:relative;border-radius:18px;overflow:hidden;background:#eff3e9;aspect-ratio:2/1;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
#worldMap.grabbing{cursor:grabbing}
@media(max-width:640px){#worldMap{aspect-ratio:1.3/1}}
.mapworld{position:absolute;left:0;top:0;width:1000px;height:500px;transform-origin:0 0;will-change:transform}
.mapworld.anim{transition:transform .65s cubic-bezier(.55,0,.2,1)}
.mapworld svg{display:block}
.landpath{fill:#f0e4c3;stroke:#c9ae7d;stroke-width:1.1;stroke-linejoin:round}
.grat{stroke:rgba(34,19,53,.07);stroke-width:1}
.eqline{stroke:rgba(34,19,53,.22);stroke-width:1;stroke-dasharray:5 6}
.pinwrap{position:absolute;width:0;height:0;background:none;border:0;padding:0;cursor:pointer;z-index:3;-webkit-tap-highlight-color:transparent}
.pin{position:absolute;left:0;top:0;width:27px;height:27px;border-radius:50%;background:var(--plum);color:#fff;border:2px solid #fff;box-shadow:0 3px 10px rgba(28,15,49,.4);font-family:var(--sans);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%) scale(var(--inv,1));transition:opacity .3s,background .2s}
.pinwrap:hover .pin{background:var(--plum2)}
.pin--on{background:var(--coral)!important}
.pin--off{opacity:.25}
.pinlab{position:absolute;left:0;top:-14px;transform:translate(-50%,-100%) scale(var(--inv,1));transform-origin:50% 100%;background:var(--plum);color:#fff;font-family:var(--sans);font-weight:700;font-size:13px;padding:6px 11px;border-radius:999px;white-space:nowrap;box-shadow:0 6px 16px rgba(28,15,49,.3);pointer-events:none}
.pinlab:after{content:"";position:absolute;left:50%;bottom:-5px;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--plum);border-bottom:0}
.mapctl{position:absolute;right:12px;top:12px;z-index:6;display:flex;flex-direction:column;gap:6px}
.mapctl button{appearance:none;cursor:pointer;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-family:var(--disp);font-weight:800;font-size:19px;line-height:1;box-shadow:0 4px 14px rgba(28,15,49,.14);display:flex;align-items:center;justify-content:center}
.mapctl button:hover{background:var(--surface2)}
.mapctl button.rst{font-size:11.5px;font-family:var(--sans);font-weight:700;letter-spacing:.04em}
.mapcredit{position:absolute;left:12px;bottom:10px;z-index:6;font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--muted);background:color-mix(in srgb,var(--surface) 82%,transparent);padding:4px 9px;border-radius:999px;pointer-events:none}
.maphint{font-size:13px;color:var(--muted);margin-top:10px;padding:0 4px}
.destdetail{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:22px;box-shadow:0 16px 40px rgba(28,15,49,.07);position:sticky;top:86px}
@media(max-width:980px){.destdetail{position:static}}
.destdetail h3{font-size:27px;font-weight:800}
.destdetail h4{font-family:var(--disp);font-size:18px;margin:0 0 6px}
.dd-sec{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.tripbox{margin-top:18px;background:var(--surface2);border:1px solid var(--line);border-radius:18px;padding:16px 18px}
.dday{display:flex;gap:12px;padding:7px 0;border-bottom:1px dashed var(--line)}
.dday:last-of-type{border-bottom:0}
.dday span{font-weight:700;font-size:12.5px;letter-spacing:.04em;color:var(--coral);white-space:nowrap;padding-top:2px;min-width:52px}
.dday p{font-size:14.5px;margin:0}
.tripbox .tot{margin-top:12px;font-weight:700;font-size:16px}
.tripbox .tot b{font-family:var(--disp);font-size:21px}
.dd-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;align-items:center}
.dd-actions .cta-btn{padding:10px 16px;font-size:14px}
.dd-actions .cta-btn[disabled]{opacity:.55;cursor:default}
.maplink{font-weight:700;font-size:14px;color:var(--coral);text-decoration:none}
.gembadge{display:inline-block;vertical-align:3px;background:var(--sun);color:#221335;font-size:10.5px;font-weight:800;letter-spacing:.06em;padding:4px 9px;border-radius:999px;margin-left:6px}
.classicbadge{display:inline-block;vertical-align:3px;background:var(--sky);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.06em;padding:4px 9px;border-radius:999px;margin-left:6px;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.matchline{font-size:12.5px;font-weight:700;margin-top:9px;color:var(--muted)}
.matchline.peak{color:#1e6b3c}
.matchline.good{color:#8a5a00}
.verdictline.shoulder{background:#fdf3e3;color:#8a5a00}
.dcard.peak{border-color:color-mix(in srgb,var(--green) 45%,var(--line))}
.collbar{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 4px}
.collbar button{appearance:none;cursor:pointer;border:2px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:9px 16px;font-family:var(--sans);font-weight:600;font-size:14px}
.collbar button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:980px){.dgrid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.dgrid{grid-template-columns:1fr}}
.dcard{display:flex;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:16px;cursor:pointer;transition:border-color .25s,box-shadow .25s,opacity .25s}
.dcard:hover{border-color:var(--orange)}
.dcard:not(.inseason){opacity:.62}
.dcard.map-selected{border-color:var(--coral);box-shadow:0 14px 34px rgba(28,15,49,.14);opacity:1}
.dnum{flex:none;width:29px;height:29px;border-radius:50%;background:var(--plum);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}
.dcard.inseason .dnum{background:var(--coral)}
.dcard h3{font-size:20px;font-weight:800}
.dplace{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--coral);margin-top:2px}
.dcard p{font-size:13.5px;color:var(--muted);margin-top:5px}
.dseasons{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}
.schip{font-size:11px;font-weight:700;padding:4px 9px;border-radius:999px;background:var(--surface2);border:1px solid var(--line);color:var(--muted)}
.schip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.dtrip{margin-top:10px;font-size:13.5px;font-weight:600}
.dtrip b{font-family:var(--disp);font-size:16px}
.dtrip .per{display:block;font-size:12px;color:var(--muted);font-weight:500}
.boldopt{border-color:var(--coral);box-shadow:0 10px 26px rgba(255,94,122,.16)}
.hemi{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.hemi .chip{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--surface2);border:1px solid var(--line);padding:8px 13px;border-radius:999px}
.hemi i{width:11px;height:11px;border-radius:50%;display:inline-block;flex:none}

/* chat — an open conversation with your designer, not a form in a box */
.chatwrap{max-width:880px}
.agentrow{display:flex;align-items:center;gap:12px;padding:2px 2px 16px}
.avatar{flex:none;width:46px;height:46px;border-radius:50%;background:var(--surface);border:1px solid var(--line);box-shadow:0 4px 14px rgba(28,15,49,.10);display:flex;align-items:center;justify-content:center}
.avatar.sm{width:30px;height:30px;box-shadow:none}
.agentrow .who{font-family:var(--disp);font-weight:800;font-size:20px;line-height:1.1}
.presence{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);margin-top:2px}
.presence i{width:8px;height:8px;border-radius:50%;background:var(--green);display:inline-block;flex:none}
.agentrow .live{margin-left:auto;font-size:11.5px;font-weight:700;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}
.chatlog{display:flex;flex-direction:column;gap:14px;max-height:620px;overflow-y:auto;padding:4px 2px 10px;scrollbar-width:thin}
.mrow{display:flex;gap:9px;align-items:flex-end;max-width:88%}
.mrow .avatar{margin-bottom:2px}
.msg{padding:13px 17px;border-radius:20px;font-size:15.5px;line-height:1.55}
.msg.bot{background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:6px;box-shadow:0 3px 12px rgba(28,15,49,.05)}
.msg.me{background:var(--plum);color:#fdf9ef;border-bottom-right-radius:6px;align-self:flex-end;max-width:88%;box-shadow:0 6px 16px rgba(28,15,49,.16)}
.typing{display:inline-flex;gap:5px;align-items:center;padding:16px 18px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);opacity:.45;animation:tp 1.1s infinite}
.typing i:nth-child(2){animation-delay:.18s}.typing i:nth-child(3){animation-delay:.36s}
@keyframes tp{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-4px);opacity:.8}}
.composer{display:flex;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:7px 7px 7px 22px;box-shadow:0 14px 34px rgba(28,15,49,.12);margin-top:14px}
.composer input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font-family:var(--sans);font-size:16px;padding:8px 0;outline:none}
.composer input::placeholder{color:var(--muted)}
.sendbtn{appearance:none;cursor:pointer;border:0;background:var(--plum);color:#fff;font-family:var(--sans);font-weight:700;font-size:15px;padding:12px 20px;border-radius:999px;white-space:nowrap;box-shadow:0 6px 16px rgba(28,15,49,.22)}
.sendbtn:hover{background:var(--plum2)}
.ideas{max-width:880px;margin-top:38px}
.ideas h3{font-size:24px;font-weight:800;margin-top:7px}
.ideas p{color:var(--muted);font-size:15.5px;margin-top:6px;max-width:62ch}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}
.chips button{appearance:none;cursor:pointer;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:10px 16px;font-family:var(--sans);font-weight:600;font-size:14.5px;box-shadow:0 3px 10px rgba(28,15,49,.05)}
.chips button:hover{border-color:var(--plum);background:var(--surface2)}
.chips button .arr{color:var(--coral);font-weight:700}
.optcard{display:flex;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--surface);max-width:94%;align-self:flex-start;margin-left:39px;box-shadow:0 10px 26px rgba(28,15,49,.08)}
.optcard img{width:128px;object-fit:cover;flex:none}
.optcard .oin{padding:13px 15px}
.optcard h4{font-family:var(--disp);font-size:19px;margin:0;line-height:1.1}
.optcard p{font-size:13.5px;color:var(--muted);margin-top:4px}
.optcard .otot{font-weight:700;margin-top:7px;font-size:14.5px}
.optcard .otot b{font-family:var(--disp);font-size:18px}
.savebtn{margin-top:9px;appearance:none;cursor:pointer;border:0;background:var(--plum);color:#fff;font-family:var(--sans);font-weight:700;font-size:13.5px;padding:9px 14px;border-radius:999px}
.savebtn:hover{background:var(--plum2)}
.savebtn[disabled]{background:var(--surface2);color:var(--ink);cursor:default}
@media(max-width:560px){.optcard{flex-direction:column;margin-left:0}.optcard img{width:100%;height:130px}.mrow,.msg.me{max-width:96%}.composer{padding-left:16px}.sendbtn{padding:11px 15px;font-size:14px}}


/* destinations in motion — the background film changes as you scroll */
.motionwrap{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:34px;align-items:start}
@media(max-width:900px){.motionwrap{grid-template-columns:1fr}}
.motionstage{position:sticky;top:92px;border-radius:20px;overflow:hidden;background:#dfe7e4;aspect-ratio:16/10;box-shadow:0 16px 40px rgba(28,15,49,.10)}
@media(max-width:900px){.motionstage{top:76px;aspect-ratio:16/11}}
.motionstage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 3s ease;will-change:opacity}
.motionstage img.on{opacity:1}
.motionstage img.kb{animation:kbdrift 13.5s ease-out forwards}
.motionstage:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,6,40,0) 55%,rgba(20,6,40,.45) 100%);pointer-events:none}
.mvcap{position:absolute;left:22px;bottom:18px;z-index:2;color:#fff;transition:opacity .5s ease}
.mvcap .mvname{font-family:var(--serif);font-style:italic;font-weight:600;font-size:30px;line-height:1}
.mvcap .mvnote{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin-top:6px;opacity:.92}
.msteps{display:flex;flex-direction:column}
.mstep{min-height:58vh;display:flex;flex-direction:column;justify-content:center;padding:26px 4px;border-bottom:1px solid var(--line)}
.mstep:first-child{padding-top:6px}
.mstep:last-child{border-bottom:0}
@media(max-width:900px){.mstep{min-height:44vh}}
.mstep h3{font-size:clamp(26px,3.4vw,36px);font-weight:800}
.mstep p{color:var(--muted);font-size:16.5px;margin-top:9px;max-width:38ch}
.mstep .mnum{font-size:11.5px;font-weight:700;letter-spacing:.26em;color:#a86e00;text-transform:uppercase}
/* underrated restock — trio, local voice, watch-outs, verdicts */
.trio{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}
.trio div{background:var(--surface2);border:1px solid var(--line);border-radius:14px;padding:11px 13px;font-size:14px}
.trio b{display:block;font-family:var(--disp);font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px}
.trio .tl b{color:#2e7d54}.trio .tt b{color:#b3541e}.trio .ts b{color:#5b4bc4}
.localvoice{margin-top:14px;border-left:3px solid var(--sun);background:color-mix(in srgb,var(--sun) 10%,var(--surface));border-radius:0 14px 14px 0;padding:12px 14px}
.localvoice .lvq{font-family:var(--serif);font-style:italic;font-weight:600;font-size:17.5px;line-height:1.35}
.localvoice .lvn{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.watchbox{margin-top:14px;background:#fdf3e3;border:1px solid #ecd9ae;border-radius:14px;padding:13px 15px;font-size:14px}
.watchbox b{display:block;font-family:var(--disp);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#8a5a00;margin-bottom:4px}
.verdict{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.05em;padding:3px 8px;border-radius:999px;margin-left:7px;vertical-align:1px;white-space:nowrap}
.verdict.worth{background:#dff3e6;color:#1e6b3c}
.verdict.notworth{background:#fbe3e3;color:#9c2b2b}
.icard .dayslist{list-style:none;margin:10px 0 0;padding:0;font-size:13.5px;color:var(--muted)}
.icard .dayslist li{padding:4px 0;border-bottom:1px dashed var(--line)}
.icard .dayslist li:last-child{border-bottom:0}
.icard .dayslist b{color:var(--coral);font-size:12px;letter-spacing:.04em;margin-right:7px;white-space:nowrap}
.icard .watchbox,.icard .planbox{margin-top:12px;font-size:13.5px}
.planbox{background:var(--surface2);border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:14px}
.planbox b{display:block;font-family:var(--disp);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--plum);margin-bottom:4px}
.optcard .odown{font-size:12.5px;color:#9c5a1e;margin-top:6px;font-weight:600}
/* final pass — Hidden Atlas quest, field notes, verdicts, postcard */
.questband{background:var(--plum);border-radius:28px;padding:36px 38px;display:grid;grid-template-columns:1.45fr .75fr;gap:34px;box-shadow:0 16px 40px rgba(28,15,49,.16)}
@media(max-width:820px){.questband{grid-template-columns:1fr;padding:28px 24px}}
.questband h2{color:#fff}
.questband .qlede{color:#e9dcff;font-size:16.5px;margin-top:12px;max-width:56ch}
.questcta{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.questcta button{appearance:none;cursor:pointer;border:1.5px solid rgba(255,255,255,.55);background:transparent;color:#fff;font-family:var(--sans);font-weight:600;font-size:14.5px;padding:11px 18px;border-radius:999px}
.questcta button:hover{background:#fff;color:#221335}
.questcount{border:1.5px dashed rgba(255,255,255,.4);border-radius:20px;padding:22px;text-align:center;align-self:start}
.qcnum{font-family:var(--disp);font-weight:800;font-size:84px;line-height:1;color:#ffd97a}
.qclab{color:#fff;font-weight:700;font-size:15px;margin-top:4px}
.qcbreak{display:flex;flex-direction:column;gap:5px;margin-top:14px;color:#e9dcff;font-size:14px}
.qcbreak b{color:#fff;font-family:var(--disp)}
.qcnote{color:#cbb8ef;font-size:12.5px;margin-top:14px}
.queststrip{background:var(--surface2);border:1.5px dashed var(--orange);border-radius:16px;padding:14px 17px;font-size:15px;margin-bottom:18px}
.qno{font-size:11.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--coral)}
.fieldnotes{margin-top:12px;border:1.5px dashed var(--orange);border-radius:14px;padding:11px 13px;font-size:13.5px;background:#fffaf0}
.fieldnotes b{display:block;font-family:var(--disp);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#8a5a00;margin-bottom:3px}
.splits{display:grid;gap:8px;margin-top:12px}
.splurge,.skipit{border-radius:12px;padding:10px 12px;font-size:13.5px}
.splurge{background:#eef7f0;border:1px solid #cfe6d4}
.skipit{background:#fdf0f0;border:1px solid #f0d2d2}
.splurge b,.skipit b{display:block;font-family:var(--disp);font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}
.splurge b{color:#1e6b3c}.skipit b{color:#9c2b2b}
.depthbadge{display:inline-block;background:var(--surface2);border:1px solid var(--line);border-radius:999px;padding:6px 11px;font-size:11.5px;font-weight:700;letter-spacing:.04em;color:var(--muted)}
.verdictline{font-size:13px;font-weight:700;padding:8px 12px;border-radius:10px;margin-top:10px}
.verdictline.go{background:#dff3e6;color:#1e6b3c}
.verdictline.nogo{background:#fbe3e3;color:#9c2b2b}
.dcard .verdictline{margin-top:9px}
.icard .stamp{position:absolute;right:12px;top:12px;transform:rotate(5deg);border:2px dashed #b3541e;color:#8a4a12;background:rgba(255,254,250,.93);font-family:var(--serif);font-style:italic;font-weight:600;font-size:13px;line-height:1.25;text-align:center;padding:7px 10px;border-radius:6px;box-shadow:0 4px 12px rgba(28,15,49,.18);z-index:2}
.icard.is-saved{border-color:var(--sun);box-shadow:0 12px 30px rgba(255,184,0,.18)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* ===== v2 multi-page additions ===== */
html{scroll-padding-top:104px}
section[id],#inquire,.chatwrap,.libtools{scroll-margin-top:104px}
header.site{z-index:120}
.pagetabs a{appearance:none;cursor:pointer;border:0;background:transparent;color:var(--ink);font-family:var(--sans);font-weight:600;font-size:14.5px;padding:9px 13px;border-radius:999px;text-decoration:none;display:inline-block}
.pagetabs a:hover{background:var(--surface2)}
.pagetabs a[aria-current="page"]{background:var(--plum);color:#fff}
@media(max-width:900px){.pagetabs{flex-wrap:wrap}.pagetabs a{padding:7px 10px;font-size:13.5px}}
.crumbs{font-size:13px;color:var(--muted);margin:26px 0 6px}
.crumbs a{color:var(--plum);font-weight:600;text-decoration:none}
.footgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:26px;margin-top:22px}
@media(max-width:820px){.footgrid{grid-template-columns:1fr 1fr}}
.footgrid h4{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.footgrid ul{list-style:none;margin:0;padding:0}
.footgrid li{margin:7px 0}
.footgrid a{color:var(--ink);font-weight:600;text-decoration:none}
.footgrid a:hover{color:var(--coral)}
.dealstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
@media(max-width:900px){.dealstrip{grid-template-columns:1fr}}
.offercard{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:10px}
.offercard h3{font-size:22px}
.offercard .omech{font-weight:700;color:var(--plum)}
.offercard p{color:var(--muted);margin:0}
.offercard .odates{display:flex;gap:8px;flex-wrap:wrap}
.offercard .odates span{font-size:12px;font-weight:700;background:var(--surface2);border:1px solid var(--line);border-radius:999px;padding:5px 10px}
.offercard .cta-btn{margin-top:auto;align-self:flex-start}
.chiprow{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.chiprow .mchip{font-size:12.5px;font-weight:700;background:var(--surface2);border:1px solid var(--line);border-radius:999px;padding:6px 11px}
.daylist{display:grid;gap:12px;margin-top:14px}
.daylist .dday{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.daylist .dday span{font-weight:800;color:var(--plum);display:block;margin-bottom:4px}
.daylist .dday p{margin:0;color:var(--muted)}
.todolist{list-style:none;margin:12px 0;padding:0;display:grid;gap:9px}
.todolist li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 14px;display:flex;gap:10px;align-items:baseline;justify-content:space-between}
.todolist .tv{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.todolist .tv.worth{color:#1d7a4c}.todolist .tv.notworth{color:#b3374a}
.infobox{background:var(--surface2);border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin-top:16px}
.infobox b{display:block;margin-bottom:5px}
.monthtable{width:100%;border-collapse:collapse;margin-top:14px;font-size:14px}
.monthtable th,.monthtable td{border:1px solid var(--line);padding:8px 6px;text-align:center}
.monthtable th{background:var(--surface2)}
.st-peak{background:#e3f4e8;font-weight:700}.st-shoulder{background:#fdf3d8}.st-off{background:#f6eef2;color:var(--muted)}
.relgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
@media(max-width:900px){.relgrid{grid-template-columns:1fr}}
.relcard{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none;color:var(--ink);display:block}
.relcard img{width:100%;height:150px;object-fit:cover;display:block}
.relcard .rin{padding:14px 16px}
.relcard h4{margin:0 0 5px;font-size:17px}
.relcard p{margin:0;color:var(--muted);font-size:14px}
.inqform{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
@media(max-width:720px){.inqform{grid-template-columns:1fr}}
.inqform .full{grid-column:1/-1}
.inqform label{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:6px}
.inqform input,.inqform select,.inqform textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;padding:11px 13px}
.inqform textarea{min-height:110px;resize:vertical}
.inqstatus{font-weight:700;min-height:22px;margin-top:12px}
.inqstatus.ok{color:#1d7a4c}.inqstatus.err{color:#b3374a}
.libtools{display:flex;flex-direction:column;gap:10px;margin:18px 0}
.libtools .trow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.libtools .tlab{font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);min-width:92px}
.icard .savedflag{display:none;background:var(--sun);color:#221335;font-size:11px;font-weight:800;border-radius:999px;padding:4px 9px}
.icard.is-saved .savedflag{display:inline-block}
.mslide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease}
.mslide.on{opacity:1}
.mslide img{width:100%;height:100%;object-fit:cover;display:block}
.mslide .mvcap2{position:absolute;left:14px;bottom:14px;background:rgba(24,12,38,.72);color:#fff;border-radius:12px;padding:9px 13px;backdrop-filter:blur(4px)}
.mslide .mvcap2 .n{font-weight:800;font-size:15px}
.mslide .mvcap2 .t{font-size:12.5px;opacity:.85}
.pillargrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
@media(max-width:900px){.pillargrid{grid-template-columns:1fr}}
.chatlog{min-height:320px}
.optcard .olinks{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.optcard .olinks a.cta-btn{text-decoration:none}
.pagehero{padding:44px 0 6px}
.pagehero h1{font-size:clamp(34px,5.4vw,58px)}
.heroimg{width:100%;height:340px;object-fit:cover;border-radius:22px;display:block;margin-top:20px}
.kickerrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
