/* Cap Cana Concours d'Élégance · the pages beside the invitation.
   Same identity as the main page (style.css); here only what these three pages add. */

.side main{display:block}
.side-foot{padding-top:clamp(64px,7vw,110px)}
.side-foot .foot-marks{margin-top:0}
.side-back{text-align:center;margin-top:48px;font-size:var(--t2)}

/* ───────────── Homes of Cap Cana ───────────── */
.h-intro{background:var(--night);color:var(--on-night);min-height:72svh;display:grid;align-content:end;padding:calc(var(--bar) + 80px) var(--m) clamp(56px,7vw,110px)}
.h-intro h1{font-size:var(--t5);color:#fff;max-width:12ch}
.h-lede{font-size:var(--t3);line-height:1.3;max-width:34ch;margin-top:28px}

.home{position:relative;min-height:100svh;display:grid;align-items:end;padding:calc(var(--bar) + 32px) var(--m) var(--m);background:var(--night);overflow:hidden}
.h-hero{position:absolute;inset:0;margin:0}
.h-hero img{width:100%;height:100%;object-fit:cover}
.motion .h-hero img.swap{animation:h-swap 700ms var(--ease-out)}
@keyframes h-swap{from{opacity:.25}to{opacity:1}}
.h-card{position:relative;width:min(560px,100%);background:var(--paper);color:var(--ink);padding:clamp(24px,2.6vw,40px)}
.h-card h2{font-size:var(--t4);max-width:14ch}
.h-sector{font-size:var(--t2);color:var(--muted);margin-top:10px}
.h-facts{font-size:var(--t1);font-weight:600;margin-top:18px;font-variant-numeric:tabular-nums}
.h-text{font-size:var(--t2);margin-top:12px;max-width:52ch}
.h-row{display:grid;grid-template-columns:1fr 168px;gap:16px;margin-top:22px;align-items:start}
.h-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.h-gallery button{display:block;padding:0;border:0;background:var(--surface);cursor:pointer;aspect-ratio:3/2;overflow:hidden;transition:opacity 180ms ease,transform 140ms var(--ease-out)}
.h-gallery button img{width:100%;height:100%;object-fit:cover}
.h-gallery button[aria-pressed="false"]{opacity:.62}
.h-gallery button:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.h-gallery button:hover{opacity:1}}
.h-map{position:relative;margin:0}
.h-map img{width:100%;height:auto}
.h-map i{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:var(--accent);border:3px solid var(--paper)}
.h-map figcaption{font-size:var(--t1);margin-top:6px;color:var(--muted)}
.h-card .btn{margin-top:24px}
.h-note{background:var(--bg);font-size:var(--t1);color:var(--muted);padding:40px var(--m);max-width:none}

@media (max-width:860px){
  .home{display:block;min-height:0;padding:0;background:var(--bg)}
  .h-hero{position:relative;height:62svh}
  .h-card{width:100%;padding:28px var(--m) 44px}
  .h-row{grid-template-columns:1fr}
  .h-map{max-width:320px}
  .h-card .btn{width:100%}
}

/* ───────────── Partners ───────────── */
.p-hero{position:relative;min-height:100svh;display:grid;align-items:end;background:var(--night);color:#fff;overflow:hidden}
.p-hero-img{position:absolute;inset:0;margin:0}
.p-hero-img img{width:100%;height:100%;object-fit:cover}
.p-hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(15,26,34,.55),rgba(15,26,34,0) 22%),linear-gradient(to top,rgba(15,26,34,.82),rgba(15,26,34,0) 62%)} /* taste-skill-ignore: scrim for legibility over a photograph */
.p-hero-text{position:relative;padding:0 var(--m) clamp(56px,7vw,110px)}
.p-hero h1{font-size:var(--t5);max-width:13ch}
.p-lede{font-size:var(--t3);line-height:1.3;max-width:36ch;margin-top:24px}

.p-why{background:var(--bg);padding:clamp(90px,10vw,160px) var(--m)}
.p-why h2,.p-tiers h2{font-size:var(--t4);max-width:18ch}
.p-why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3vw,56px);margin-top:clamp(40px,5vw,72px)}
.p-why-grid h3{font-size:var(--t3);letter-spacing:-.015em;line-height:1.15}
.p-why-grid p{margin-top:14px;max-width:40ch}

.p-who{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);align-items:center;background:var(--paper);padding:clamp(90px,10vw,160px) var(--m)}
.p-who-img{grid-column:1/7;margin:0}
.p-who-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.p-who-text{grid-column:8/13}
.p-who-text h2{font-size:var(--t4)}
.p-who-text p{margin-top:18px;max-width:46ch}
.p-who-text p:first-of-type{font-size:var(--t3);line-height:1.3;margin-top:28px}

.p-tiers{background:var(--bg);padding:clamp(90px,10vw,160px) var(--m)}
.p-tiers-lede{font-size:var(--t3);line-height:1.3;margin-top:18px}
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--g);margin-top:clamp(40px,5vw,72px);align-items:stretch}
.tier{display:flex;flex-direction:column;background:var(--paper);padding:clamp(24px,2.6vw,40px)}
.tier-1{background:var(--night);color:var(--on-night)}
.tier h3{font-size:var(--t3);letter-spacing:-.015em;line-height:1.15}
.tier-1 h3{color:#fff}
.tier-one{margin-top:10px;font-style:italic}
.tier ul{margin-top:24px;display:grid;gap:12px;flex:1}
.tier ul li{position:relative;padding-left:22px;font-size:var(--t2);line-height:1.35}
.tier ul li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;background:var(--accent)}
.tier-1 ul li::before{background:var(--t-lad)}
.tier-price{margin-top:32px;font-weight:600;font-size:var(--t2)}

.p-write{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);background:var(--night);color:var(--on-night);padding:clamp(90px,10vw,160px) var(--m)}
.p-write-head{grid-column:1/5;align-self:start}
.p-write-head h2{font-size:var(--t4);color:#fff}
.p-write-head p{font-size:var(--t3);line-height:1.3;margin-top:20px;max-width:24ch}
.p-write-head .p-alt{font-size:var(--t2);max-width:30ch}
.p-form,.p-write .thanks{grid-column:5/13;background:var(--bg);color:var(--ink);padding:clamp(28px,3.6vw,56px)}
.p-form fieldset{border:0;padding:0;min-width:0;margin-bottom:28px}
.p-form legend{font-size:var(--t3);font-weight:600;letter-spacing:-.01em;line-height:1.2;padding:0;margin-bottom:6px}
.f textarea{font:inherit;font-size:var(--t2);color:var(--ink);background:transparent;border:0;border-bottom:2px solid var(--ink);border-radius:0;padding:8px 0 6px;width:100%;resize:vertical;min-height:110px}
.f textarea:focus{outline:none;border-bottom:3px solid var(--accent)}

@media (max-width:1100px){
  .p-why-grid,.tiers{grid-template-columns:1fr}
  .tiers{max-width:640px}
}
@media (max-width:860px){
  .p-who-img,.p-who-text,.p-write-head,.p-form,.p-write .thanks{grid-column:1/-1}
  .p-who-text{margin-top:40px}
  .p-form,.p-write .thanks{margin-top:40px}
  .p-form .f{grid-column:span 6}
}

/* ───────────── Where to stay ───────────── */
.s-hero{position:relative;min-height:88svh;display:grid;align-items:end;background:var(--night);color:#fff;overflow:hidden}
.s-hero-img{position:absolute;inset:0;margin:0}
.s-hero-img img{width:100%;height:100%;object-fit:cover}
.s-hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(15,26,34,.55),rgba(15,26,34,0) 22%),linear-gradient(to top,rgba(15,26,34,.8),rgba(15,26,34,0) 60%)} /* taste-skill-ignore: scrim for legibility over a photograph */
.s-hero-text{position:relative;padding:0 var(--m) clamp(56px,7vw,110px)}
.s-hero h1{font-size:var(--t5);max-width:12ch}
.s-lede{font-size:var(--t3);line-height:1.3;max-width:38ch;margin-top:24px}

.s-map{background:var(--bg);padding:clamp(72px,8vw,120px) var(--m) 0}
.s-map-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);align-items:start}
.s-map-row .s-strip{grid-column:1/9}
.s-map-row .s-strip-2{grid-column:9/13}
.s-strip{position:relative;margin:0}
.s-strip img{width:100%;height:auto}
.s-strip i{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:var(--accent);border:3px solid var(--bg)}
.s-strip b{position:absolute;transform:translate(12px,-50%);font-size:var(--t1);font-weight:600;white-space:nowrap;background:var(--bg);padding:2px 6px}
.s-strip b.l{transform:translate(calc(-100% - 12px),-50%)}
.s-strip figcaption{font-size:var(--t1);color:var(--muted);margin-top:8px}

.stays{background:var(--bg);padding:clamp(48px,6vw,96px) var(--m) clamp(90px,10vw,160px);display:grid;gap:clamp(72px,8vw,128px)}
.stay{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);align-items:center}
.stay-img{grid-column:1/8;margin:0}
.stay-img img{width:100%;aspect-ratio:3/2;object-fit:cover}
.stay-text{grid-column:9/13}
.stay:nth-child(even) .stay-img{grid-column:6/13;grid-row:1}
.stay:nth-child(even) .stay-text{grid-column:1/5;grid-row:1}
.stay h2{font-size:var(--t4)}
.stay-one{font-size:var(--t3);line-height:1.3;margin-top:14px}
.stay-dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin-top:24px;font-size:var(--t1)}
.stay-dl dt{font-weight:600}
.stay-dl dd{margin:0}
.stay-fact{margin-top:20px;max-width:44ch}
.s-note{font-size:var(--t1);color:var(--muted);max-width:70ch}

@media (max-width:860px){
  .s-map-row .s-strip,.s-map-row .s-strip-2{grid-column:1/-1}
  .s-map-row .s-strip-2{margin-top:32px;max-width:420px}
  .stay-img,.stay-text,.stay:nth-child(even) .stay-img,.stay:nth-child(even) .stay-text{grid-column:1/-1;grid-row:auto}
  .stay-text{margin-top:24px}
}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.p-why-img{margin:0 0 22px}
.p-why-img img{width:100%;aspect-ratio:16/10;object-fit:cover}
