:root{
--gold:#E1AD00;--gold-d:#C09300;--gold-l:#F2C42E;--gold-p:#FCF4DC;--gold-b:#8A6A00;
--ink:#14201D;--deep:#1C3B36;--deep-2:#27524B;--deep-3:#3A6E65;
--cream:#FDFAF3;--sand:#F6EFE0;--sand-2:#EDE3CE;
--slate:#2D322F;--mute:#71766F;--mute-l:#A9B0A7;
--line:#E6DCC7;--line-d:#2E524C;
--ff:'Montserrat',system-ui,sans-serif;
--r:12px;--r-s:8px;
--sh:0 18px 44px -24px rgba(20,32,29,.3);
--sh-h:0 26px 60px -26px rgba(20,32,29,.42);
}
.llt *{box-sizing:border-box}
.llt{font-family:var(--ff);color:var(--slate);line-height:1.7}
.llt h1,.llt h2,.llt h3,.llt h4{font-family:var(--ff);font-weight:800;color:var(--ink);line-height:1.16;letter-spacing:-.022em;margin:0}
.llt p{margin:0 0 1em}
.llt a{text-decoration:none;color:inherit}
.llt img{max-width:100%;display:block}
.llt button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
.llt :focus-visible{outline:2.5px solid var(--gold);outline-offset:3px;border-radius:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hide{display:none!important}

/* type helpers */
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-b);display:block}
.eyebrow-l{color:var(--gold-l)}
.eyebrow-c{display:flex;align-items:center;justify-content:center;gap:14px}
.eyebrow-c::before,.eyebrow-c::after{content:'';height:1px;width:34px;background:var(--gold)}
.lede{font-size:1.03rem;color:var(--mute);max-width:54ch}
.acc{color:var(--gold);font-style:italic}
.shd{margin-bottom:46px;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.shd-t{max-width:60ch}
.shd h2{margin:13px 0}
.shd-c{text-align:center;margin:0 auto 48px;max-width:64ch}
.shd-c h2{margin:14px 0 12px}
.shd-c .lede{margin:0 auto}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--ff);font-size:.85rem;font-weight:700;letter-spacing:.02em;padding:14px 26px;border-radius:100px;border:2px solid transparent;transition:transform .18s cubic-bezier(.2,.8,.3,1),background .2s,border-color .2s,color .2s;white-space:nowrap;text-align:center}
.btn:hover{transform:translateY(-2px)}
.btn-p{background:var(--gold);color:#231B00;box-shadow:0 10px 24px -12px rgba(225,173,0,.75)}
.btn-p:hover{background:var(--gold-l);color:#231B00}
.btn-d{background:var(--deep);color:#fff}
.btn-d:hover{background:var(--ink);color:#fff}
.btn-g{background:var(--gold);color:#231B00}
.btn-g:hover{background:var(--gold-l);color:#231B00}
.btn-o{border-color:var(--line);color:var(--ink)}
.btn-o:hover{border-color:var(--gold);color:var(--gold-b)}
.btn-lt{background:#fff;color:var(--ink)}
.btn-gh{border-color:rgba(255,255,255,.4);color:#fff}
.btn-gh:hover{border-color:#fff;background:rgba(255,255,255,.1);color:#fff}
.btn-s{padding:10px 18px;font-size:.78rem}
.btn-w{width:100%}

/* layout helpers inside widgets */
.grid{display:grid;gap:22px}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.split-w{grid-template-columns:1.15fr .85fr}
.contour{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-opacity='.06' stroke-width='1.1'%3E%3Cpath d='M-20 92c70-42 150-14 214 18s150 34 226-16'/%3E%3Cpath d='M-20 130c74-44 156-14 220 20s148 32 220-18'/%3E%3Cpath d='M-20 170c78-46 160-12 224 22s148 30 216-20'/%3E%3Cpath d='M-20 212c82-46 166-10 228 24s146 28 212-22'/%3E%3Cpath d='M-20 256c86-46 172-8 232 26s144 26 208-24'/%3E%3Cpath d='M-20 302c90-46 178-6 236 28s142 24 204-26'/%3E%3Cpath d='M-20 350c94-46 184-4 240 30s140 22 200-28'/%3E%3C/g%3E%3C/svg%3E");background-size:420px 420px}

/* gradient grounds */
.g1{background:linear-gradient(150deg,#1F5E52,#2F8A6C)}
.g2{background:linear-gradient(150deg,#2A4A44,#48796F)}
.g3{background:linear-gradient(150deg,#3E5236,#728B45)}
.g4{background:linear-gradient(150deg,#8A6A00,#D2A522)}
.g5{background:linear-gradient(150deg,#1D5C63,#33888C)}
.g6{background:linear-gradient(150deg,#5A4718,#A8862E)}
.g7{background:linear-gradient(150deg,#2E4740,#54786C)}
.g8{background:linear-gradient(150deg,#20544A,#3E8674)}

/* product card */
.tcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .24s cubic-bezier(.2,.8,.3,1),box-shadow .24s,border-color .24s}
.tcard:hover{transform:translateY(-5px);box-shadow:var(--sh-h);border-color:transparent}
.tmedia{aspect-ratio:16/10;position:relative;display:flex;align-items:flex-start;justify-content:space-between;padding:14px}
.tmedia::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,22,20,.3),transparent 55%)}
.tmedia>*{position:relative;z-index:2}
.tag{background:rgba(255,255,255,.95);color:var(--ink);font-size:.63rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:6px 12px;border-radius:100px}
.tag-g{background:var(--gold);color:#231B00}
.tag-j{background:var(--deep);color:#fff}
.tbody{padding:20px;display:flex;flex-direction:column;flex:1}
.tloc{font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-b);margin-bottom:9px}
.tcard h3{margin-bottom:9px;font-size:1.16rem;font-weight:700;line-height:1.3}
.tcard p{font-size:.885rem;color:var(--mute);margin-bottom:16px;flex:1}
.tmeta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}
.chip{font-size:.67rem;font-weight:600;color:var(--slate);background:var(--sand);border-radius:100px;padding:5px 12px}
.tfoot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.price small{display:block;font-size:.63rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:3px}
.price b{font-size:1.45rem;font-weight:800;color:var(--ink);line-height:1;letter-spacing:-.02em}
.price i{font-style:normal;font-size:.75rem;color:var(--mute);font-weight:500}

/* feature list */
.flist{list-style:none;margin:0;padding:0}
.flist li{display:flex;gap:12px;padding:9px 0;font-size:.91rem;align-items:flex-start}
.flist .ic{color:var(--gold-b);flex-shrink:0;font-weight:800;line-height:1.6}
.flist .no{color:var(--mute)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:st}
.step{position:relative;padding-top:26px;border-top:2px solid var(--line)}
.step::before{counter-increment:st;content:counter(st,decimal-leading-zero);position:absolute;top:-13px;left:0;padding-right:12px;background:var(--cream);font-size:.85rem;font-weight:800;color:var(--gold-b)}
.step h4{margin-bottom:8px;font-size:1rem;font-weight:700}
.step p{font-size:.87rem;color:var(--mute);margin:0}
.on-dark .step{border-top-color:rgba(255,255,255,.2)}
.on-dark .step::before{background:var(--deep);color:var(--gold-l)}
.on-dark .step p{color:var(--mute-l)}
.on-sand .step::before{background:var(--sand)}

/* tables */
.tbl-w{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.tbl-w table{width:100%;border-collapse:collapse}
.tbl-w thead th{font-size:.66rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--mute);text-align:left;padding:15px 20px;background:var(--sand);border-bottom:1px solid var(--line)}
.tbl-w thead th.r{text-align:right}
.tbl-w tbody td{padding:16px 20px;border-bottom:1px solid var(--line);font-size:.92rem}
.tbl-w tbody tr:last-child td{border-bottom:none}
.tbl-w tbody tr{transition:background .15s}
.tbl-w tbody tr:hover{background:var(--gold-p)}
.tbl-w td.nm{font-weight:700;color:var(--ink)}
.tbl-w td.nm small{display:block;font-size:.65rem;font-weight:600;letter-spacing:.08em;color:var(--mute);margin-top:3px;text-transform:uppercase}
.tbl-w td.r{text-align:right;color:var(--mute);font-size:.87rem;white-space:nowrap;font-weight:500}
.tbl-w td.pr{text-align:right;font-size:1.14rem;font-weight:800;color:var(--gold-b);white-space:nowrap;letter-spacing:-.02em}
.tbl-w td.go{text-align:right;width:1%}

/* destination card */
.dest{position:relative;border-radius:var(--r);overflow:hidden;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;transition:transform .26s}
.dest:hover{transform:translateY(-5px)}
.dest::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 34%,rgba(12,22,20,.88))}
.dest>*{position:relative;z-index:2}
.dest h3{color:#fff;margin-bottom:5px;font-size:1.16rem;font-weight:700}
.dest .m{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.dest .m b{color:var(--gold-l);font-weight:700}

/* driver card */
.dcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .24s,box-shadow .24s}
.dcard:hover{transform:translateY(-4px);box-shadow:var(--sh-h)}
.dph{aspect-ratio:1/1.08;background:linear-gradient(150deg,var(--deep),var(--deep-3));display:grid;place-items:center;position:relative}
.dph b{font-size:2.4rem;font-weight:800;color:rgba(255,255,255,.25)}
.dph em{position:absolute;bottom:10px;left:10px;font-style:normal;font-size:.57rem;font-weight:600;letter-spacing:.11em;color:rgba(255,255,255,.6);background:rgba(12,22,20,.45);padding:4px 9px;border-radius:100px}
.dbody{padding:18px}
.dbody h3{font-size:1.04rem;margin-bottom:5px;font-weight:700}
.dyr{font-size:.7rem;font-weight:700;color:var(--gold-b);margin-bottom:11px}
.dbody p{font-size:.855rem;color:var(--mute);margin-bottom:12px}
.dfoot{font-size:.68rem;font-weight:600;color:var(--mute);padding-top:12px;border-top:1px solid var(--line)}

/* review */
.rev{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;height:100%}
.stars{color:var(--gold);letter-spacing:.14em;font-size:.92rem;margin-bottom:14px}
.rev p{font-size:.93rem;flex:1;margin-bottom:20px}
.rev-f{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.rev-av{width:38px;height:38px;border-radius:100px;background:linear-gradient(140deg,var(--deep),var(--gold));display:grid;place-items:center;color:#fff;font-size:.76rem;font-weight:700;flex-shrink:0}
.rev-n b{display:block;font-size:.89rem;color:var(--ink);font-weight:700}
.rev-n span{font-size:.68rem;color:var(--mute);font-weight:500}
.rev-p{margin-left:auto;font-size:.67rem;font-weight:600;color:var(--mute)}

/* blog card */
.bcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .24s,box-shadow .24s;height:100%}
.bcard:hover{transform:translateY(-4px);box-shadow:var(--sh-h)}
.bmedia{aspect-ratio:16/9}
.bbody{padding:20px;display:flex;flex-direction:column;flex:1}
.bupd{font-size:.65rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--gold-b);margin-bottom:11px}
.bcard h3{font-size:1.07rem;margin-bottom:9px;font-weight:700}
.bcard p{font-size:.875rem;color:var(--mute);flex:1;margin-bottom:15px}
.bmore{font-size:.75rem;font-weight:700;color:var(--gold-b)}

/* panels + notes */
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px}
.panel-d{background:var(--ink);border-color:var(--line-d);color:var(--mute-l)}
.panel-d h3,.panel-d h4{color:#fff}
.note{font-size:.75rem;color:var(--mute);line-height:1.75;display:flex;gap:9px;align-items:flex-start;margin-top:18px;font-weight:500}
.note b{color:var(--gold-b)}
.on-dark .note{color:var(--mute-l)}

/* trust strip */
.tstrip{background:var(--ink);color:var(--mute-l);padding:20px;border-radius:var(--r)}
.tstrip-in{display:flex;gap:12px 38px;flex-wrap:wrap;align-items:center;justify-content:center;font-size:.79rem;font-weight:500}
.tstrip b{color:#fff;font-weight:700}
.tstrip .dot{width:5px;height:5px;border-radius:50%;background:var(--gold);display:inline-block;margin-right:9px;vertical-align:middle}

/* filters */
.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:34px}
.fbt{font-size:.77rem;font-weight:700;padding:10px 18px;border:1.5px solid var(--line);border-radius:100px;background:#fff;transition:all .2s}
.fbt:hover{border-color:var(--gold);color:var(--gold-b)}
.fbt.on{background:var(--gold);border-color:var(--gold);color:#231B00}

/* dark-section text colour helper */
.on-dark{color:#CFDCD8}
.on-dark h2,.on-dark h3,.on-dark h4{color:#fff}
.on-dark .lede{color:var(--mute-l)}

@media(max-width:1080px){
.g-4{grid-template-columns:repeat(2,1fr)}
.steps{grid-template-columns:repeat(2,1fr)}
.split{grid-template-columns:1fr;gap:34px}
}
@media(max-width:760px){
.g-2,.g-3,.g-4,.steps{grid-template-columns:1fr}
.tbl-w{overflow-x:auto}
.tbl-w table{min-width:540px}
.shd{align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
.llt *{animation:none!important;transition:none!important}
}
