
/* --- home ------------------------------------------------------------- */
.hero.split{padding:clamp(44px,6vw,86px) 0 0;position:relative;overflow:hidden}
.hero.split .hgrid{display:grid;grid-template-columns:1.06fr .94fr;
  gap:clamp(26px,4vw,60px);align-items:center}
.hero.split .hbody{max-width:none}
.hero.split .hpanel{position:relative}
.hero.split .hpanel img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r)}
.hero.split .hcap{font:400 .8rem/1.55 var(--mono);color:var(--muste-2);margin:12px 0 0;
  display:flex;gap:9px;align-items:flex-start}
.hero.split .hcap .glyph{flex:0 0 auto;margin-top:2px}
.wedding{padding:var(--sec) 0;background:var(--villa-2)}
.wed-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3.5vw,52px);
  align-items:center}
.wed-grid .photo img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r)}
.wed-grid .panel{position:relative}
.wclasp{position:absolute;right:-6px;top:-70px;opacity:.55}
.wed-strip{margin-top:clamp(26px,3.4vw,46px);grid-template-columns:repeat(4,1fr)}
.kentta-band{position:absolute;left:0;right:0;top:0;height:24px;overflow:hidden;opacity:.55;
  line-height:0}
.kentta-band .kentta{width:100%;height:24px;display:block}
.hotels{background:var(--villa)}
.hotelband{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(22px,3vw,44px);
  align-items:center}
.hotelband .out{display:inline-flex;align-items:center;gap:9px;font:500 .82rem/1 var(--mono);
  letter-spacing:.06em;color:var(--krapp-syva);text-decoration:none;
  border-bottom:2px solid var(--krapp);padding-bottom:6px}
.plan-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,3.5vw,54px);
  align-items:start}
.who{font:500 .8rem/1.6 var(--mono);color:var(--muste-2);margin-top:18px}
@media (max-width:940px){
  .hero.split .hgrid,.wed-grid,.hotelband,.plan-grid{grid-template-columns:1fr}
  .wclasp{display:none}
  .wed-strip{grid-template-columns:repeat(2,1fr)}
  .wed-grid .photo img{aspect-ratio:4/3}
}

/* --- shared page blocks ------------------------------------------------ */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.steps li{display:flex;gap:18px;align-items:flex-start;background:var(--villa-2);
  padding:20px 22px;border-radius:var(--r)}
section.dark .steps li{background:var(--yo-2)}
.steps .sn{font:500 .78rem/1.5 var(--mono);color:var(--krapp-syva);flex:0 0 auto;padding-top:3px}
section.dark .steps .sn{color:var(--okra-vaalea)}
.steps h3{margin:0 0 6px}
.steps p{margin:0;color:var(--muste-2)}
section.dark .steps p{color:color-mix(in srgb,var(--villa) 84%,transparent)}
h3.blk{font:500 .76rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;
  color:var(--krapp-syva);margin:0 0 16px}
.tline{list-style:none;margin:26px 0;padding:0;display:grid;gap:2px}
.tline li{display:flex;gap:20px;align-items:flex-start;background:var(--villa-2);
  border-left:3px solid var(--krapp);border-radius:var(--r);padding:18px 22px}
.tline .tw{flex:0 0 118px;font:500 .76rem/1.4 var(--mono);letter-spacing:.08em;
  text-transform:uppercase;color:var(--krapp-syva);padding-top:3px}
.tline h3{margin:0 0 6px;font-size:1.02rem}
.tline p{margin:0;color:var(--muste-2)}
.toc{margin:26px 0 0;padding:20px 24px;background:var(--villa-2);border:1px solid var(--villa-3);
  border-radius:var(--r)}
.toc ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);
  gap:2px 22px}
.toc li{margin:0}
.toc a{display:block;padding:7px 0;text-decoration:none;color:var(--muste);font-size:.94rem;
  line-height:1.35;border-bottom:1px solid transparent}
.toc a:hover{color:var(--krapp-syva);border-bottom-color:var(--villa-3)}
.toc .tn{display:block;font:500 .63rem/1.5 var(--mono);letter-spacing:.07em;
  color:var(--muste-2);text-transform:lowercase;overflow-wrap:anywhere}
@media (max-width:900px){.toc ol{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.toc ol{grid-template-columns:1fr}.toc{padding:16px 18px}}
.ogrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:26px 0}
.office{background:var(--villa-2);border:1px solid var(--villa-3);border-radius:var(--r);
  padding:20px 22px}
.office .orole{margin:0 0 7px;font:500 .71rem/1 var(--mono);letter-spacing:.13em;
  text-transform:uppercase;color:var(--krapp-syva)}
.office h3{margin:0 0 12px;font-size:1.06rem;line-height:1.3}
.ospec{margin:0;display:grid;gap:9px}
.ospec dt{font:500 .69rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;
  color:var(--muste-2);margin-bottom:3px}
.ospec dd{margin:0;font-size:.94rem;line-height:1.55}
.office .onote{margin:13px 0 0;font-size:.85rem;color:var(--muste-2);line-height:1.6}
@media (max-width:760px){.ogrid{grid-template-columns:1fr}
  .tline li{flex-direction:column;gap:8px}.tline .tw{flex:none}}
.tblwrap{overflow-x:auto;margin:26px 0}
.tscroll{display:none}
@media (max-width:700px){.tscroll{display:block;font:400 .78rem/1.5 var(--sans);
  color:var(--muste-2);margin:0 0 10px}}
.tcap{font:500 .74rem/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;
  color:var(--muste-2);margin-bottom:10px}
.spec{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;margin:24px 0}
.spec>div{background:var(--villa-2);padding:15px 18px;border-radius:var(--r)}
.spec dt{font:500 .71rem/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;
  color:var(--muste-2);margin-bottom:7px}
.spec dd{margin:0;font-size:1rem}
.gallery figcaption{font:400 .8rem/1.5 var(--mono);color:var(--muste-2);margin-top:7px}
.sources{margin-top:clamp(30px,4vw,50px);padding-top:24px;border-top:1px solid var(--villa-3)}
.sources h3{font:500 .74rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;
  color:var(--muste-2);margin-bottom:12px}
.sources ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:.9rem}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,38px)}
.facts .t-ey{display:flex;align-items:center;gap:8px;font:500 .74rem/1 var(--mono);
  letter-spacing:.14em;text-transform:uppercase;color:var(--krapp-syva);margin-bottom:11px}
.facts p{margin:0;color:var(--muste-2)}
.out{display:inline-flex;align-items:center;gap:9px;font:500 .84rem/1 var(--mono);
  color:var(--krapp-syva);text-decoration:none;border-bottom:2px solid var(--krapp);
  padding-bottom:7px}
.out:hover{color:var(--krapp)}
.hubintro{max-width:74ch}
.leafgrid{display:grid;grid-template-columns:1fr 320px;gap:clamp(26px,4vw,56px);
  align-items:start}
.leafside{position:sticky;top:88px;display:grid;gap:18px}
.sidecard{background:var(--villa-2);border:1px solid var(--villa-3);padding:20px;
  border-radius:var(--r)}
.sidecard h3{font:500 .73rem/1 var(--mono);letter-spacing:.15em;text-transform:uppercase;
  color:var(--krapp-syva);margin-bottom:12px}
.sidecard p{font-size:.93rem;color:var(--muste-2)}
.sidecard .btn{width:100%;margin-top:6px}
@media (max-width:940px){
  .facts,.spec{grid-template-columns:1fr}
  .leafgrid{grid-template-columns:1fr}
  .leafside{position:static}
}

/* --- money widgets ------------------------------------------------------ */
.quote{background:var(--villa);border:1px solid var(--villa-3);padding:18px 20px;
  margin:4px 0 18px;border-radius:var(--r)}
.qrow{display:flex;justify-content:space-between;gap:14px;font:500 .82rem/1 var(--mono);
  color:var(--muste-2);margin-bottom:10px}
.quote .total{margin:0;border-top:2px solid var(--muste);padding-top:12px}
.quote .help{margin:10px 0 0}
.lbl2{display:block;font:500 .74rem/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;
  color:var(--muste-2);margin-bottom:9px}
/* secondary ink is 8.25:1 on wool and 1.95:1 on the night wool the dark form is built from */
section.dark .lbl2{color:var(--okra-vaalea)}
.addons{display:grid;gap:2px}
.addon{display:flex;align-items:center;gap:12px;background:var(--villa);padding:13px 16px;
  border:1px solid var(--villa-3);cursor:pointer;border-radius:var(--r)}
.addon input{width:auto;flex:0 0 auto}
/* The add-on row is a LIGHT chip inside a DARK form, so it must not inherit the dark form's
   label colour. It did, and the five add-on names read at 1.89:1 on the flagship money widget. */
.addon .an{flex:1;color:var(--muste)}
.addon .ap{font:500 .84rem/1 var(--mono);color:var(--krapp-syva);white-space:nowrap}
.addon.off{opacity:.5;cursor:not-allowed}
.addon.off .ap{color:var(--muste-2);font-size:.76rem}

.wedmosaic{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.wedmosaic img{aspect-ratio:1/1;object-fit:cover;width:100%;border-radius:var(--r)}
.wedmosaic figure{margin:0}
.islgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.islcard{display:flex;flex-direction:column;background:var(--villa-2);
  border:1px solid var(--villa-3);text-decoration:none;color:var(--muste);overflow:hidden;
  border-radius:var(--r)}
.islcard img{aspect-ratio:4/3;object-fit:cover;width:100%}
.islcard .ib{padding:20px;display:flex;flex-direction:column;gap:9px;flex:1}
.islcard .ip{font-family:var(--disp);font-size:1.7rem;color:var(--krapp-syva);line-height:1}
.islcard .ip span{font:500 .62rem/1 var(--mono);color:var(--muste-2)}
.islcard .beaches{font:400 .8rem/1.5 var(--mono);color:var(--muste-2);margin-top:auto;
  padding-top:12px;border-top:1px solid var(--villa-3)}
.islcard:hover{border-color:var(--krapp)}
.legal{background:var(--villa-2);border-left:3px solid var(--krapp);padding:clamp(20px,3vw,32px);
  border-radius:var(--r)}
.legal h3{margin-bottom:12px}
.legal .heart{margin-bottom:10px}
.builderwrap{max-width:720px;margin:0 auto}
.wedcta{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:940px){.wedmosaic{grid-template-columns:repeat(3,1fr)}
  .islgrid{grid-template-columns:1fr}.wedcta{grid-template-columns:1fr}}
@media (max-width:560px){.wedmosaic{grid-template-columns:repeat(2,1fr)}}

.carhero{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,3.6vw,52px);
  align-items:center}
.carhero img{width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--villa-2);
  border-radius:var(--r)}
.fleetgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.fcard{display:flex;flex-direction:column;background:var(--villa-2);border:1px solid var(--villa-3);
  text-decoration:none;color:var(--muste);overflow:hidden;border-radius:var(--r)}
.fcard img{aspect-ratio:3/2;object-fit:cover;width:100%}
.fcard .fb{padding:16px 18px 20px;display:flex;flex-direction:column;gap:7px;flex:1}
.fcard h3{margin:0}
.fcard .kick{font-size:.92rem;color:var(--muste-2);margin:0}
.fcard .frow{margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;
  gap:10px;padding-top:12px;border-top:1px solid var(--villa-3);font:500 .78rem/1 var(--mono)}
.fcard .fp{font-family:var(--disp);font-size:1.34rem;color:var(--krapp-syva)}
.fcard:hover{border-color:var(--krapp)}
.fcard .scope{color:var(--muste-2);font-size:.72rem}
.fcard .per{font-size:.62rem;font-family:var(--mono);color:var(--muste-2)}
.fcard.feat{display:grid;grid-template-columns:1.15fr .85fr;align-items:stretch;
  margin-bottom:14px}
.fcard.feat img{height:100%;aspect-ratio:16/11;min-height:0}
.fcard.feat .fb{padding:clamp(22px,3vw,34px);gap:10px;justify-content:center}
.fcard.feat h3{font-size:clamp(1.5rem,2.4vw,2.05rem)}
.fcard.feat .fshort{color:var(--muste-2);margin:0;font-size:.97rem;max-width:52ch}
@media (max-width:760px){.fcard.feat{grid-template-columns:1fr}
  .fcard.feat img{min-height:0;aspect-ratio:3/2}}
.widgetsec{background:var(--villa-2)}
.widgetwrap{max-width:720px;margin:0 auto}
@media (max-width:940px){.carhero{grid-template-columns:1fr}.fleetgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fleetgrid{grid-template-columns:1fr}}

.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tcard{display:flex;flex-direction:column;background:var(--villa-2);border:1px solid var(--villa-3);
  text-decoration:none;color:var(--muste);overflow:hidden;border-radius:var(--r)}
.tcard img{aspect-ratio:3/2;object-fit:cover;width:100%}
.tcard .tb{padding:15px 17px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.tcard h3{margin:0;font-size:1.06rem;line-height:1.28}
.tcard .kick{font-size:.8rem;color:var(--muste-2);margin:0;font-family:var(--mono);
  letter-spacing:.04em;text-transform:uppercase}
.tcard .trow{margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;
  gap:10px;padding-top:12px;border-top:1px solid var(--villa-3);font:500 .78rem/1 var(--mono)}
.tcard .tp{font-family:var(--disp);font-size:1.3rem;color:var(--krapp-syva)}
.tcard .tp .per{font-size:.6rem;font-family:var(--mono);color:var(--muste-2)}
.tcard .tdur{color:var(--muste-2);font-size:.72rem}
.tcard:hover{border-color:var(--krapp)}
.rate{font-family:var(--mono);font-size:.74rem;color:var(--muste-2);display:inline-flex;
  align-items:center;gap:5px}
.rate b{font-family:var(--disp);font-size:.98rem;color:var(--muste);font-weight:400}

.tfeat{display:grid;grid-template-columns:1.1fr .9fr;background:var(--yo);color:var(--villa);
  border-radius:var(--r);overflow:hidden;align-items:stretch}
.tfeat img{width:100%;height:100%;object-fit:cover;min-height:280px}
.tfeat .fb{padding:clamp(26px,3.4vw,44px);display:flex;flex-direction:column;gap:12px;
  justify-content:center}
.tfeat h3{margin:0;font-size:clamp(1.5rem,2.5vw,2.1rem);color:var(--villa)}
.tfeat p{margin:0;color:color-mix(in srgb,var(--villa) 86%,transparent);max-width:50ch}
.tfeat .pin{font:500 .7rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;
  color:var(--okra-vaalea);display:flex;align-items:center;gap:7px}
.tfeat .fmeta{display:flex;gap:18px;flex-wrap:wrap;font:500 .76rem/1 var(--mono);
  color:var(--okra-vaalea);padding-top:6px}
@media (max-width:860px){.tfeat{grid-template-columns:1fr}.tfeat img{min-height:220px}}

/* The product photographs are 720px wide. Without this the leaf hero rendered at its natural
   size inside an 1180px wrap and read as a half-finished page. */
.tshot img{width:100%;aspect-ratio:2/1;object-fit:cover;background:var(--villa-3);
  border-radius:var(--r)}
@media (max-width:700px){.tshot img{aspect-ratio:3/2}}
.tleaf{display:grid;grid-template-columns:1fr 380px;gap:clamp(24px,3.4vw,48px);
  align-items:start}
.tbook{background:var(--villa-2);border:1px solid var(--villa-3);border-radius:var(--r);
  padding:22px 22px 24px;position:sticky;top:96px}
.tbook .tprice{font-family:var(--disp);font-size:2.2rem;color:var(--krapp-syva);line-height:1}
.tbook .tprice span{font-family:var(--mono);font-size:.68rem;color:var(--muste-2);
  display:block;margin-top:6px;letter-spacing:.05em}
.tbook .brow{display:flex;justify-content:space-between;gap:12px;padding:9px 0;
  border-bottom:1px solid var(--villa-3);font-size:.88rem}
.tbook .brow:last-of-type{border-bottom:0}
.tbook .brow b{font-weight:500}
.tbook .btn{width:100%;justify-content:center;margin-top:16px}
.tbook .alt{font-size:.82rem;color:var(--muste-2);margin:14px 0 0;text-align:center}
.shot .tbook{position:static}
@media (max-width:980px){.tleaf{grid-template-columns:1fr}.tbook{position:static}}

.thi{list-style:none;margin:0 0 1.05em;padding:0;display:grid;gap:9px}
.thi li{display:flex;gap:10px;align-items:flex-start;font-size:.98rem;margin:0}
.thi li svg{flex:0 0 auto;margin-top:4px}
.tformwrap{max-width:680px;margin:0 auto}
.catlab{font:500 .74rem/1 var(--mono);letter-spacing:.15em;text-transform:uppercase;
  color:var(--muste-2);margin:clamp(30px,3.4vw,46px) 0 14px;display:flex;align-items:baseline;
  gap:9px}
.catlab:first-of-type{margin-top:6px}
.catlab span{font-family:var(--disp);font-size:1rem;color:var(--krapp-syva);letter-spacing:0}

/* Five photographs into a three-column grid: the first spans two columns, so both rows
   fill completely. Six exist per product and the hero already used the first. */
.tgal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tgal figure{margin:0}
.tgal figure:first-child{grid-column:span 2}
.tgal img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover;background:var(--villa-3);
  border-radius:var(--r)}
@media (max-width:700px){.tgal{grid-template-columns:1fr 1fr}
  .tgal figure:first-child{grid-column:span 2}}
@media (max-width:900px){.tgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.tgrid{grid-template-columns:1fr}}

.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rcard{display:flex;flex-direction:column;background:var(--villa-2);border:1px solid var(--villa-3);
  text-decoration:none;color:var(--muste);overflow:hidden;border-radius:var(--r)}
.rcard img{aspect-ratio:3/2;object-fit:cover;width:100%}
.rcard .rb{padding:16px 18px 20px;display:flex;flex-direction:column;gap:7px;flex:1}
.rcard h3{margin:0;font-size:1.08rem}
.rcard p{margin:0;font-size:.93rem;color:var(--muste-2)}
.rcard .rrow{margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;
  gap:10px;padding-top:12px;border-top:1px solid var(--villa-3);font:500 .78rem/1 var(--mono)}
.rcard .rp{font-family:var(--disp);font-size:1.3rem;color:var(--krapp-syva)}
.rcard:hover{border-color:var(--krapp)}
.tshot img{width:100%;aspect-ratio:2/1;object-fit:cover;background:var(--villa-3);
  border-radius:var(--r)}
@media (max-width:700px){.tshot img{aspect-ratio:3/2}}
.sched{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,38px)}
.sched h3{font:500 .74rem/1 var(--mono);letter-spacing:.15em;text-transform:uppercase;
  color:var(--krapp-syva);margin:0 0 14px}
.sched dl{display:grid;gap:2px;margin:0}
.sched dl>div{display:flex;justify-content:space-between;gap:14px;background:var(--villa-2);
  padding:12px 16px;border-radius:var(--r)}
.sched dt{font:500 .78rem/1.5 var(--mono);color:var(--muste-2);margin:0}
.sched dd{margin:0;font-family:var(--mono);font-size:.85rem}
@media (max-width:760px){.sched{grid-template-columns:1fr}}
.tickets{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:24px}
/* A crumb trail under a photo hero needs the page gutter, or it sits on the edge. */
section.crumbbar{padding:20px 0 0}
/* The engine ships its own stylesheet under `.sbx`. It only needs room to breathe here. */
.enginesec{background:var(--villa-2)}
.enginesec .sbx{max-width:1000px;margin:0 auto}
@media (max-width:900px){.rgrid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.rgrid{grid-template-columns:1fr}}

.hgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hcard{display:flex;flex-direction:column;background:var(--villa-2);border:1px solid var(--villa-3);
  text-decoration:none;color:var(--muste);overflow:hidden;border-radius:var(--r)}
.hcard img{aspect-ratio:3/2;object-fit:cover;width:100%}
.hcard .hb{padding:15px 17px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.hcard h3{margin:0;font-size:1.04rem;line-height:1.3}
.hcard .kick{margin:0;font:500 .72rem/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;
  color:var(--muste-2)}
.hcard p.hl{margin:0;font-size:.9rem;color:var(--muste-2)}
.hcard .hrow{margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;
  gap:10px;padding-top:12px;border-top:1px solid var(--villa-3);font:500 .76rem/1 var(--mono)}
.hcard .hz{color:var(--muste-2);font-size:.72rem}
.hcard:hover{border-color:var(--krapp)}
.hcard .pin{margin-bottom:2px}
.hstar{font-family:var(--mono);font-size:.74rem;color:var(--muste-2);display:inline-flex;
  align-items:center;gap:5px}
.hstar b{font-family:var(--disp);font-size:1rem;color:var(--muste);font-weight:400}
.hshot img{width:100%;aspect-ratio:2/1;object-fit:cover;background:var(--villa-3);
  border-radius:var(--r)}
@media (max-width:700px){.hshot img{aspect-ratio:3/2}}
.hbook{background:var(--villa-2);border:1px solid var(--villa-3);border-radius:var(--r);
  padding:clamp(22px,3vw,32px);display:grid;gap:14px;max-width:760px;margin:0 auto;
  text-align:center}
.hbook p{margin:0;color:var(--muste-2)}
.hbook .btn{justify-self:center}
@media (max-width:900px){.hgrid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.hgrid{grid-template-columns:1fr}}

section.crumbbar{padding:20px 0 0}
.igrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.icard{display:flex;flex-direction:column;background:var(--villa-2);border:1px solid var(--villa-3);
  text-decoration:none;color:var(--muste);overflow:hidden;border-radius:var(--r)}
.icard img{aspect-ratio:3/2;object-fit:cover;width:100%}
.icard .nophoto{aspect-ratio:3/2;width:100%;background:var(--yo);display:flex;
  flex-direction:column;align-items:center;justify-content:center;gap:14px;overflow:hidden}
.icard .nophoto svg{width:130%;max-width:none;opacity:.7}
.icard .nophoto span{font:500 .72rem/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;
  color:var(--okra-vaalea)}
.icard .ib{padding:15px 17px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.icard h3{margin:0;font-size:1.04rem;line-height:1.3}
.icard .kick{margin:0;font:500 .72rem/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;
  color:var(--muste-2)}
.icard p.il{margin:0;font-size:.9rem;color:var(--muste-2)}
.icard .irow{margin-top:auto;padding-top:12px;border-top:1px solid var(--villa-3);
  font:500 .74rem/1.35 var(--mono);color:var(--muste-2)}
.icard:hover{border-color:var(--krapp)}
.ishot img{width:100%;aspect-ratio:2/1;object-fit:cover;background:var(--villa-3);
  border-radius:var(--r)}
@media (max-width:700px){.ishot img{aspect-ratio:3/2}}
.igal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.igal.two{grid-template-columns:1fr 1fr}
.igal.one{grid-template-columns:1fr}
.igal figure{margin:0}
.igal img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);display:block}
.igal.one img{aspect-ratio:2/1}
.credits{border-top:1px solid var(--villa-3);padding-top:18px;max-width:900px}
.credits h3{margin:0 0 6px;font-size:1rem}
.credits p.cnote{margin:0 0 10px;font-size:.86rem;color:var(--muste-2)}
.credits ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;
  gap:4px 22px;font:400 .8rem/1.5 var(--mono);color:var(--muste-2)}
.credits a{color:var(--muste-2)}
.credits a:hover{color:var(--krapp)}
@media (max-width:900px){.igrid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.igal{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.igrid,.igal,.igal.two,.credits ul{grid-template-columns:1fr}}

.bgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.bcard{display:flex;flex-direction:column;background:var(--villa-2);border:1px solid var(--villa-3);
  text-decoration:none;color:var(--muste);overflow:hidden;border-radius:var(--r)}
.bcard img{aspect-ratio:3/2;object-fit:cover;width:100%}
.bcard .bb{padding:14px 16px 17px;display:flex;flex-direction:column;gap:6px;flex:1}
.bcard h3{margin:0;font-size:1rem;line-height:1.3}
.bcard .kick{margin:0;font:500 .7rem/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;
  color:var(--muste-2)}
.bcard p.bl{margin:0;font-size:.87rem;color:var(--muste-2)}
.bcard .brow{margin-top:auto;padding-top:11px;border-top:1px solid var(--villa-3);
  font:500 .73rem/1.35 var(--mono);color:var(--krapp-syva)}
.bcard:hover{border-color:var(--krapp)}
.season{background:var(--villa-2);border-left:3px solid var(--krapp);border-radius:var(--r);
  padding:20px 24px;max-width:820px}
.season .sk{margin:0 0 6px;font:500 .72rem/1 var(--mono);letter-spacing:.13em;
  text-transform:uppercase;color:var(--krapp-syva)}
.season p{margin:0;font-size:1.02rem;line-height:1.62}
.bgal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.bgal.one{grid-template-columns:1fr}
.bgal figure{margin:0}
.bgal img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);display:block}
.bgal.one img{aspect-ratio:2/1}
@media (max-width:1040px){.bgrid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.bgal{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.bgrid,.bgal{grid-template-columns:1fr}}

.rlist{display:grid;gap:12px;max-width:1000px}
.rcard{display:grid;grid-template-columns:220px 1fr;gap:0;background:var(--villa-2);
  border:1px solid var(--villa-3);border-radius:var(--r);overflow:hidden}
.rcard img{width:100%;height:100%;min-height:150px;object-fit:cover;display:block}
.rcard .rb{padding:16px 20px 18px;display:flex;flex-direction:column;gap:6px}
.rcard h3{margin:0;font-size:1.06rem;line-height:1.3}
.rcard .rk{margin:0;font:500 .72rem/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;
  color:var(--muste-2)}
.rcard .rrow{margin-top:auto;padding-top:10px;display:flex;flex-wrap:wrap;gap:6px 18px;
  align-items:baseline;font:500 .76rem/1.4 var(--mono);color:var(--muste-2)}
.rcard .rrow b{font-family:var(--disp);font-size:1.02rem;color:var(--muste);font-weight:400}
.rcard .rn{color:var(--muste-2)}
.rgal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.rgal figure{margin:0}
.rgal img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);display:block}
.rgal figcaption{margin-top:6px;font:400 .74rem/1.4 var(--mono);color:var(--muste-2)}
@media (max-width:760px){.rgal{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.rcard{grid-template-columns:1fr}.rcard img{min-height:190px}
  .rgal{grid-template-columns:1fr}}

.ggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gcard{display:flex;flex-direction:column;background:var(--villa-2);border:1px solid var(--villa-3);
  text-decoration:none;color:var(--muste);overflow:hidden;border-radius:var(--r)}
.gcard img{aspect-ratio:3/2;object-fit:cover;width:100%}
.gcard .gb{padding:15px 17px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.gcard h3{margin:0;font-size:1.02rem;line-height:1.32}
.gcard .kick{margin:0;font:500 .7rem/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;
  color:var(--muste-2)}
.gcard p.gl{margin:0;font-size:.87rem;color:var(--muste-2);line-height:1.55}
.gcard .grow{margin-top:auto;padding-top:11px;border-top:1px solid var(--villa-3);
  font:500 .73rem/1.35 var(--mono);color:var(--krapp-syva)}
.gcard:hover{border-color:var(--krapp)}
.ggal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ggal figure{margin:0}
.ggal img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);display:block}
.ggal figcaption{margin:7px 2px 0;font:400 .78rem/1.45 var(--sans);color:var(--muste-2)}
.answer{background:var(--villa-2);border-left:3px solid var(--krapp);border-radius:var(--r);
  padding:20px 24px;max-width:820px}
.answer .sk{margin:0 0 6px;font:500 .72rem/1 var(--mono);letter-spacing:.13em;
  text-transform:uppercase;color:var(--krapp-syva)}
.answer p{margin:0;font-size:1.02rem;line-height:1.62}
.answer p + p{margin-top:11px}
@media (max-width:1040px){.ggrid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.ggal{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.ggrid,.ggal{grid-template-columns:1fr}}

.ccard{display:flex;flex-direction:column;background:var(--villa-2);border:1px solid var(--villa-3);
  text-decoration:none;color:var(--muste);overflow:hidden;border-radius:var(--r)}
.ccard img{aspect-ratio:3/2;object-fit:cover;width:100%}
.ccard .gb{padding:15px 17px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.ccard h3{margin:0;font-size:1.02rem;line-height:1.32}
.ccard .kick{margin:0;font:500 .7rem/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;
  color:var(--muste-2)}
.ccard p.gl{margin:0;font-size:.87rem;color:var(--muste-2);line-height:1.55}
.ccard .grow{margin-top:auto;padding-top:11px;border-top:1px solid var(--villa-3);
  font:500 .73rem/1.35 var(--mono);color:var(--krapp-syva)}
.ccard:hover{border-color:var(--krapp)}
.prose h3.psub{margin:30px 0 10px;font-size:1.06rem;line-height:1.35;color:var(--krapp-syva);
  padding-top:15px;border-top:1px solid var(--villa-3)}
.prose h3.psub:first-child{margin-top:6px}

.tpw{background:var(--villa-2);border:1px solid var(--villa-3);border-radius:var(--r);
  padding:18px 18px 12px;min-height:120px}
.tpw h3{margin:0 0 12px;font:500 .72rem/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;
  color:var(--krapp-syva)}
.tpnote{margin:14px 0 0;font:400 .84rem/1.6 var(--sans);color:var(--muste-2)}

.plainhero{background:var(--yo);color:var(--villa)}
.plainhero .hbody{max-width:820px;padding:76px 0 60px}
.plainhero .hey{margin:0 0 14px;font:500 .72rem/1 var(--mono);letter-spacing:.19em;
  text-transform:uppercase;color:var(--okra-vaalea)}
.plainhero h1{margin:0 0 18px;font-size:clamp(2rem,4.4vw,3.1rem);line-height:1.08;
  overflow-wrap:anywhere}
.plainhero h1 em{font-style:normal;color:var(--okra-vaalea)}
.plainhero .hlede{margin:0;font-size:1.06rem;line-height:1.65;max-width:60ch;
  color:color-mix(in srgb,var(--villa) 88%,transparent)}
@media (max-width:600px){.plainhero .hbody{padding:52px 0 42px}}
