/* Casa Branca Beach styles, shared by all pages */
:root{color-scheme:light;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0}
[hidden]{display:none!important}

/* Layout: full-bleed hero with parallax house photo, quiet white sections, copper and teal accents taken from the logo.
   Two views in one page: home, and an apartment page (#apartment-11) reached through a curtain transition. */
:root{
  --bg:#fbf9f5; --bg2:#f1ebe1; --ink:#33241b; --muted:#6d5d51; --line:#e2d8c9;
  --copper:#b4703a; --copper-ink:#96592a; --teal:#0a6478; --aqua:#4fc3d3; --on-teal:#ffffff;
  --shade:rgba(30,18,10,.55);
  --serif:'Cormorant Garamond','Iowan Old Style',Georgia,serif;
  --sans:'Jost','Helvetica Neue',Arial,sans-serif;
  --gutter:max(16px,env(safe-area-inset-left,0px));
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#101719; --bg2:#172124; --ink:#efe6da; --muted:#b3a698; --line:#2a373b;
  --copper:#d4915a; --copper-ink:#e0a373; --teal:#3aa9bf; --aqua:#4fc3d3; --on-teal:#0b1417; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#101719; --bg2:#172124; --ink:#efe6da; --muted:#b3a698; --line:#2a373b;
  --copper:#d4915a; --copper-ink:#e0a373; --teal:#3aa9bf; --aqua:#4fc3d3; --on-teal:#0b1417; color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:300 17px/1.65 var(--sans);margin:0;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0;text-wrap:balance}
h2{font-size:clamp(2.1rem,4.6vw,3.4rem)}
h3{font-size:1.6rem}
p{margin:0}
:focus-visible{outline:2px solid var(--aqua);outline-offset:3px}
.wrap{max-width:1180px;margin:0 auto;padding-left:var(--gutter);padding-right:max(16px,env(safe-area-inset-right,0px))}
.eyebrow{font:500 .74rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--copper-ink)}
.lead{font-size:1.12rem;color:var(--muted);max-width:60ch}
section{padding-block:clamp(64px,9vw,120px)}
.btn{display:inline-flex;align-items:center;gap:.6em;border:1px solid var(--teal);background:var(--teal);color:var(--on-teal);padding:.95em 1.7em;font:500 .8rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .3s,color .3s,transform .3s}
.btn:hover{background:transparent;color:var(--teal)}
.btn.ghost{background:transparent;color:var(--teal)}
.btn.ghost:hover{background:var(--teal);color:var(--on-teal)}
.link{font:500 .78rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--copper-ink);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.4em;background:none;border-top:0;border-left:0;border-right:0;cursor:pointer}

/* top bar */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bar-bg,transparent)}
.top{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:background .4s,box-shadow .4s,color .4s;color:#fff}
.top.solid{background:var(--bg);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;height:78px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;margin-right:auto;border:0;background:none;color:inherit;cursor:pointer;padding:0;text-align:left}
.brand img{width:52px;height:52px;border-radius:50%;box-shadow:0 2px 14px rgba(0,0,0,.25)}
.brand span{font:500 1.35rem/1 var(--serif);letter-spacing:.04em}
.nav{display:flex;gap:26px}
.nav a,.nav button{font:400 .78rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:inherit;opacity:.92;background:none;border:0;cursor:pointer;padding:6px 0;position:relative}
.nav a::after,.nav button::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s}
.nav a:hover::after,.nav button:hover::after{transform:scaleX(1)}
.lang{display:flex;gap:2px;font:500 .72rem/1 var(--sans);letter-spacing:.14em}
.lang button{background:none;border:0;color:inherit;padding:8px 7px;cursor:pointer;opacity:.6}
.lang button[aria-pressed="true"]{opacity:1;border-bottom:1px solid currentColor}
.burger{display:none;background:none;border:0;color:inherit;width:44px;height:44px;cursor:pointer;padding:0}
.burger i{display:block;height:1.5px;background:currentColor;margin:6px 10px}
@media (max-width:900px){
  .burger{display:block}
  .nav{position:fixed;inset:0;background:var(--bg);color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:30px;font-size:1.1rem;opacity:0;pointer-events:none;transition:opacity .35s}
  .nav.open{opacity:1;pointer-events:auto}
  .nav a,.nav button{font-size:.95rem}
  .top .wrap{height:68px}
  .brand img{width:44px;height:44px}
  .brand span{font-size:1.15rem}
  .lang,.burger{position:relative;z-index:2}
  .top.menu{color:var(--ink)}
}

/* hero */
.hero{position:relative;min-height:min(86vh,820px);color:#fff;display:flex;align-items:flex-end;overflow:hidden;padding:0}
.hero .bg{position:absolute;inset:-8% 0 -8%;background:url(img/hero.webp) center 40%/cover;will-change:transform}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,12,6,.45) 0%,rgba(20,12,6,0) 30%,rgba(20,12,6,0) 48%,rgba(20,12,6,.62) 100%)}
.hero .wrap{position:relative;z-index:2;padding-bottom:clamp(28px,5vw,56px);padding-top:140px;width:100%}
.hero h1{font-size:clamp(3rem,8.6vw,6.8rem);font-weight:400;letter-spacing:.01em;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.hero .sub{font-size:1.15rem;max-width:44ch;margin-top:14px;text-shadow:0 1px 14px rgba(0,0,0,.45)}
.hero .eyebrow{color:#fff;opacity:.95;display:block;margin-bottom:18px}
.finder{margin-top:34px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:0;background:var(--bg);color:var(--ink);max-width:860px;box-shadow:0 18px 50px rgba(0,0,0,.28)}
.finder label{display:block;padding:14px 20px;border-right:1px solid var(--line);font:500 .66rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.finder input,.finder select{display:block;width:100%;margin-top:8px;border:0;background:transparent;color:var(--ink);font:400 1rem/1.2 var(--sans);padding:0;min-width:0}
.finder .btn{border-radius:0;justify-content:center}
.finder-note{margin-top:12px;font-size:.92rem;max-width:60ch;min-height:1.5em}
.hero .finder-note{text-shadow:0 1px 10px rgba(0,0,0,.5)}
@media (max-width:760px){
  .finder{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .finder label{min-width:0}
  .finder label:nth-child(2){border-right:0}
  .finder label:nth-child(3){grid-column:1/-1;border-top:1px solid var(--line);border-right:0}
  .finder .btn{grid-column:1/-1}
}

/* intro */
.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,90px);align-items:center}
.intro h2{margin:18px 0 22px}
.facts{display:grid;gap:0;border-top:1px solid var(--line)}
.facts div{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}
.facts b{font:500 1.5rem/1 var(--serif)}
.facts span{color:var(--muted);text-align:right}
@media (max-width:860px){.intro{grid-template-columns:1fr}}

/* apartments */
.apts{background:var(--bg2)}
.head{display:grid;gap:16px;margin-bottom:clamp(32px,5vw,56px)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.card{background:var(--bg);padding:26px 24px 24px;display:flex;flex-direction:column;gap:10px;min-width:0;position:relative;transition:transform .4s,box-shadow .4s}
.card .n{font:500 .72rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--copper-ink)}
.card h3{font-size:1.7rem}
.card .t{color:var(--muted)}
.card .p{font:500 1.5rem/1 var(--serif);margin-top:auto;padding-top:14px;color:var(--teal)}
.card .p small{font:300 .85rem var(--sans);color:var(--muted)}
.card.soon .s{font-size:.84rem;color:var(--muted)}
.card.feat{grid-column:span 2;padding:0;flex-direction:row;overflow:hidden;cursor:pointer;border:0;text-align:left;color:inherit;font:inherit}
.card.feat:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(40,25,10,.16)}
.card.feat .ph{flex:1 1 55%;min-height:260px;overflow:hidden}
.card.feat .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s}
.card.feat:hover .ph img{transform:scale(1.05)}
.card.feat .tx{flex:1 1 45%;padding:26px 24px;display:flex;flex-direction:column;gap:10px}
.card.pic{padding:0;border:0;text-align:left;cursor:pointer;color:inherit;font:inherit;overflow:hidden}
.card.pic:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(40,25,10,.16)}
.card.pic .ph{aspect-ratio:16/10;overflow:hidden}
.card.pic .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s}
.card.pic:hover .ph img{transform:scale(1.05)}
.card.pic .in{padding:20px 24px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
@media (max-width:640px){.card.feat{grid-column:auto;flex-direction:column}.card.feat .ph{min-height:200px;flex:none;aspect-ratio:16/10}}

/* parallax band */
.band{position:relative;height:clamp(320px,52vw,560px);overflow:hidden;padding:0;color:#fff;display:flex;align-items:center}
.band .bg{position:absolute;inset:-14% 0;background-size:cover;background-position:center;will-change:transform}
.band::after{content:"";position:absolute;inset:0;background:var(--shade)}
.band .wrap{position:relative;z-index:2}
.band blockquote{margin:0;font:italic 400 clamp(1.8rem,4.4vw,3.2rem)/1.2 var(--serif);max-width:20ch;text-wrap:balance}

/* service */
.cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:34px 40px;margin-top:10px}
.tip{border-top:1px solid var(--line);padding-top:18px;min-width:0}
.tip h3{font-size:1.45rem;margin-bottom:8px}
.tip p{color:var(--muted);font-size:.98rem}
.sub-h{font:500 .74rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--copper-ink);margin:56px 0 22px}
.sub-h:first-of-type{margin-top:36px}
.tip .tg{display:block;font:500 .68rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--copper-ink);margin-bottom:10px}
.salon{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;background:var(--bg2);padding:clamp(24px,4vw,44px)}
.salon .plate{background:#fff;padding:22px;display:grid;place-items:center}
.salon .plate img{width:100%;max-width:190px;height:auto}
.salon h3{font-size:clamp(1.7rem,3vw,2.2rem);margin-bottom:12px}
.salon p{color:var(--muted);max-width:56ch}
.salon .off{margin-top:16px;color:var(--ink);font-weight:400;border-left:2px solid var(--copper);padding-left:14px}
.salon .meta{margin:20px 0 0;display:flex;flex-wrap:wrap;gap:8px 28px;font-size:.98rem}
.salon .meta b{font-weight:500}
.salon .acts{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:700px){.salon{grid-template-columns:1fr}.salon .plate{max-width:240px}}
.note{margin-top:34px;color:var(--muted);font-size:.95rem}

/* contact */
.contact{background:var(--bg2)}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px)}
.cgrid dl{margin:26px 0 0;display:grid;gap:22px}
.cgrid dt{font:500 .68rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--copper-ink);margin-bottom:8px}
.cgrid dd{margin:0;font-size:1.1rem}
.phone{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.phone b{font:500 1.9rem/1 var(--serif);letter-spacing:.02em}
.copy{font:500 .7rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:9px 12px;cursor:pointer}
.mapcard{background:linear-gradient(135deg,var(--teal),#063c49);color:#fff;padding:36px;display:flex;flex-direction:column;justify-content:space-between;gap:30px;min-height:300px}
.mapcard h3{font-size:2rem}
.mapcard .btn{background:#fff;color:#063c49;border-color:#fff;align-self:flex-start}
.mapcard .btn:hover{background:transparent;color:#fff}
@media (max-width:820px){.cgrid{grid-template-columns:1fr}}

/* apartment view */
.apt-head{padding-top:130px;padding-bottom:30px}
.back{margin-bottom:26px}
.apt-head h1{font-size:clamp(2.6rem,6vw,4.6rem);margin:14px 0 12px}
.stage{position:relative;aspect-ratio:16/9;background:var(--bg2);overflow:hidden}
.stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}
.stage img.on{opacity:1}
.arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:rgba(251,249,245,.9);color:#33241b;cursor:pointer;font-size:1.3rem;z-index:3}
.arrow.l{left:max(14px,env(safe-area-inset-left,0px))}.arrow.r{right:max(14px,env(safe-area-inset-right,0px))}
.cap{position:absolute;left:0;bottom:0;z-index:3;background:rgba(251,249,245,.92);color:#33241b;padding:10px 18px;font:400 .88rem/1 var(--sans);letter-spacing:.04em}
.thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin-top:8px}
.thumbs button{padding:0;border:0;background:none;cursor:pointer;opacity:.55;transition:opacity .3s;aspect-ratio:16/10;overflow:hidden}
.thumbs button[aria-current="true"],.thumbs button:hover{opacity:1}
.thumbs img{width:100%;height:100%;object-fit:cover}
.detail{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(32px,6vw,90px);padding-top:clamp(40px,6vw,72px)}
.detail h2{font-size:clamp(1.9rem,3.6vw,2.6rem);margin-bottom:18px}
.am{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.am li{padding:13px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:baseline}
.am li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--copper);flex:none;transform:translateY(-2px)}
.pricebox{border:1px solid var(--line);padding:30px;background:var(--bg2);align-self:start;position:sticky;top:100px;display:grid;gap:16px}
.pricebox .big{font:500 2.6rem/1 var(--serif);color:var(--teal)}
.pricebox small{color:var(--muted);font-size:.9rem;line-height:1.5}
.spec{display:grid;gap:0;margin:0}
.spec div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.96rem}
.spec dt{color:var(--muted)}.spec dd{margin:0;text-align:right}
@media (max-width:860px){.detail{grid-template-columns:1fr}.pricebox{position:static}.am{grid-template-columns:1fr}}

/* views and transition */
.view[hidden]{display:none!important}
.curtain{position:fixed;inset:0;z-index:80;background:var(--teal);transform:translateY(100%);pointer-events:none;display:grid;place-items:center}
.curtain img{width:96px;height:96px;border-radius:50%;opacity:0;transition:opacity .3s}
.curtain.in{transform:translateY(0);transition:transform .55s cubic-bezier(.7,0,.2,1)}
.curtain.in img{opacity:1}
.curtain.out{transform:translateY(-100%);transition:transform .6s cubic-bezier(.7,0,.2,1)}
.curtain.reset{transition:none;transform:translateY(100%)}
.curtain.in-static{transition:none;transform:translateY(0)}
.curtain.in-static img{opacity:1;transition:none}
.pre{opacity:0;transform:translateY(26px)}
.rv{transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv,.curtain.in,.curtain.out,.stage img,.card,.btn{transition:none!important}
  .pre{opacity:1;transform:none}
}

/* multi-page additions */
.nav a[aria-current="page"]::after{transform:scaleX(1)}
.crumbs{display:flex;flex-wrap:wrap;gap:6px 10px;font:400 .74rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.crumbs a{color:var(--copper-ink);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.pagehead{padding-top:130px;padding-bottom:clamp(28px,4vw,48px)}
.pagehead h1{font-size:clamp(2.6rem,6vw,4.6rem);margin:18px 0 14px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(24px,4vw,40px)}
.chip{border:1px solid var(--line);background:transparent;color:var(--ink);padding:.75em 1.2em;font:400 .76rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;display:inline-flex;gap:.7em;align-items:center;transition:background .3s,color .3s}
.chip:hover{border-color:var(--teal)}
.chip[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:var(--on-teal)}
.chip .count{opacity:.65;font-size:.9em}
a.card{text-decoration:none}
.card.pic.static{cursor:default}
.card.pic.static:hover{transform:none;box-shadow:none}
.card .ph.soonph{display:grid;place-items:center;align-content:center;gap:10px;background:var(--bg2);aspect-ratio:16/10}
.card.pic .ph.soonph img{width:56px;height:56px;object-fit:contain;border-radius:50%;opacity:.45}
.soonph span{font-size:.84rem;color:var(--muted)}
.grid.three{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
a.tip{text-decoration:none;color:inherit;display:block;transition:transform .4s}
a.tip:hover{transform:translateY(-3px)}
a.tip:hover h3{color:var(--teal)}
.tip .tg{display:block;font:500 .68rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--copper-ink);margin-bottom:10px}
.cta{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.entries{border-bottom:1px solid var(--line)}
.entry{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:12px 40px;padding:34px 0;border-top:1px solid var(--line)}
.entry.wide{grid-template-columns:1fr}
.entry .meta{display:flex;flex-direction:column;gap:8px}
.entry.wide .meta{flex-direction:row;gap:14px}
.entry .cat,.entry .tg{font:500 .68rem/1.3 var(--sans);letter-spacing:.22em;text-transform:uppercase}
.entry .cat{color:var(--copper-ink)}
.entry .tg{color:var(--muted)}
.entry h3{font-size:1.9rem;margin-bottom:10px}
.entry p{color:var(--muted);max-width:62ch}
.entry .salon p{color:var(--muted)}
.entry .salon .meta{flex-direction:row}
.entry .salon h3{font-size:clamp(1.7rem,3vw,2.2rem)}
@media (max-width:700px){.entry{grid-template-columns:1fr}}
.foot{background:var(--bg2);padding-block:clamp(48px,7vw,80px) 28px;border-top:1px solid var(--line)}
.foot .cols4{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px}
.foot h4{font:500 .7rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--copper-ink);margin:0 0 16px}
.foot a{display:block;text-decoration:none;padding:5px 0;color:var(--ink)}
.foot a:hover{color:var(--teal)}
.foot p{color:var(--muted);font-size:.95rem;max-width:42ch}
.foot .fbrand{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:0}
.foot .fbrand img{width:52px;height:52px;border-radius:50%}
.foot .fbrand span{font:500 1.35rem/1 var(--serif);letter-spacing:.04em}
.foot .legal{border-top:1px solid var(--line);margin-top:40px;padding-top:20px;font-size:.85rem;color:var(--muted);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media (max-width:760px){.foot .cols4{grid-template-columns:1fr 1fr}.foot .cols4>div:first-child{grid-column:1/-1}}

/* tips: entry photos */
.entry .body.has{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:12px 32px;align-items:start}
.entry .media{display:grid;gap:6px;aspect-ratio:4/3;overflow:hidden;background:var(--bg2)}
.entry .media.m2{grid-template-columns:2fr 1fr}
.entry .media img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:700px){.entry .body.has{grid-template-columns:1fr}}
/* salon showcase */
.salonsec{background:#1a110c;color:#f1e6d6;padding:clamp(56px,8vw,110px) 0;margin-top:clamp(40px,6vw,80px);--gold:#d8b26a}
.salonsec .sgrid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,72px);align-items:center}
.salonsec .eyebrow{color:var(--gold)}
.salonsec h2{color:#fbf1e1;margin:16px 0 18px}
.salonsec .lead,.salonsec .serv{color:#cdbba3}
.salonsec .serv{margin-top:10px}
.salonsec .off{margin-top:18px;color:#fbf1e1;border-left:2px solid var(--gold);padding-left:14px}
.salonsec .smeta{margin-top:20px;display:flex;flex-wrap:wrap;gap:6px 26px;color:#cdbba3;font-size:.98rem}
.salonsec .smeta b{font-weight:500;color:#f1e6d6}
.salonsec .acts{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}
.salonsec .btn{background:var(--gold);border-color:var(--gold);color:#1a110c}
.salonsec .btn:hover{background:transparent;color:var(--gold)}
.salonsec .btn.ghost{background:transparent;color:var(--gold)}
.salonsec .btn.ghost:hover{background:var(--gold);color:#1a110c}
.car{position:relative;outline-offset:6px}
.car:focus-visible{outline:2px solid var(--gold)}
.cview{overflow:hidden;aspect-ratio:1/1;background:#0f0a07;box-shadow:0 30px 60px -30px rgba(0,0,0,.7);outline:1px solid rgba(216,178,106,.35);outline-offset:-1px}
.ctrack{display:flex;height:100%;transition:transform .8s cubic-bezier(.65,0,.25,1)}
.cslide{flex:0 0 100%;min-width:0;height:100%;display:grid;place-items:center}
.cslide img{width:100%;height:100%;object-fit:cover;display:block}
.cslide.flyer{background:#f6e7e4}
.cslide.flyer img{object-fit:contain}
.cbtn{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:1px solid rgba(216,178,106,.6);background:rgba(26,17,12,.62);color:#f1e6d6;display:grid;place-items:center;cursor:pointer;transition:background .25s,color .25s}
.cbtn:hover{background:var(--gold);color:#1a110c}
.cbtn.prev{left:12px}.cbtn.next{right:12px}
.cdots{display:flex;justify-content:center;gap:4px;margin-top:6px}
.cdots button{width:32px;height:32px;border:0;background:none;cursor:pointer;display:grid;place-items:center;padding:0}
.cdots button::before{content:"";width:22px;height:2px;background:rgba(241,230,214,.35);transition:background .3s,width .3s}
.cdots button[aria-current="true"]::before{background:var(--gold);width:34px}
@media (max-width:860px){.salonsec .sgrid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.ctrack{transition:none}}
.blogtease{padding:clamp(40px,6vw,72px) 0}
.blogtease .bt{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:clamp(28px,4vw,44px)}
.blogtease h3{font-size:clamp(1.6rem,3vw,2.1rem);margin-bottom:6px}
.blogtease p{color:var(--muted);max-width:52ch}

.entry .media img[src$="ex-island.webp"]{object-position:50% 30%}
.foot .legal a{color:inherit;text-decoration:underline;text-underline-offset:3px}.foot .legal a:hover{color:var(--copper-ink)}.bkline{margin:14px 0 24px}

.infosec{padding:clamp(48px,7vw,96px) 0}
.infosec .head{margin-bottom:clamp(28px,4vw,48px)}
.igrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px)}
.igrid h3{font-size:1.7rem;margin-bottom:16px}
.irows{margin:0}.irows>div{padding:12px 0;border-top:1px solid var(--line)}
.irows dt{font:500 .68rem/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--copper-ink);margin-bottom:5px}
.irows dd{margin:0;color:var(--muted);font-size:.97rem}
.ilist{list-style:none;margin:0;padding:0}
.ilist li{position:relative;padding:11px 0 11px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:.97rem}
.ilist li::before{content:"";position:absolute;left:0;top:1.3em;width:6px;height:6px;border-radius:50%;background:var(--copper)}
.inear{list-style:none;margin:0;padding:0}
.inear li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.97rem}
.inear b{font-weight:500;color:var(--ink);white-space:nowrap}
@media (max-width:960px){.igrid{grid-template-columns:1fr}}

.dronesec{padding:clamp(48px,7vw,96px) 0;background:var(--bg2)}
.dronesec .head{margin-bottom:clamp(24px,4vw,40px)}
.vid{aspect-ratio:16/9;background:#000;box-shadow:0 30px 60px -34px rgba(0,0,0,.6)}
.vid video{width:100%;height:100%;display:block;object-fit:cover}

.anav{display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap}
.anav.tp{margin-bottom:22px}
.anav.bt{margin-top:clamp(32px,5vw,56px)}
.anav a{font:500 .76rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--copper-ink);text-decoration:none;padding:.9em 1.2em;border:1px solid var(--line);transition:background .25s,color .25s,border-color .25s}
.anav a:hover{background:var(--teal);border-color:var(--teal);color:var(--on-teal)}
.anav .pn{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:520px){.anav .pn{width:100%}.anav .pn a{flex:1;text-align:center}.anav .back{width:100%;text-align:center}}
.anav{align-items:flex-start}.anav a{display:block}

.vid{position:relative;overflow:hidden}
.vid video{transition:transform 1.8s cubic-bezier(.2,.7,.2,1)}
.vid:hover video{transform:scale(1.07)}
.vo{position:absolute;inset:0 0 56px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:rgba(8,14,16,0);color:#fff;pointer-events:none;transition:background .6s ease}
.vo span{font:italic 500 clamp(2.2rem,6vw,4.4rem)/1 var(--serif,'Cormorant Garamond',serif);letter-spacing:.04em;opacity:0;transform:translateY(14px) scale(.96);transition:opacity .6s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.vo i{display:block;width:0;height:1px;background:rgba(255,255,255,.85);transition:width .9s cubic-bezier(.2,.7,.2,1) .1s}
.vid:hover .vo{background:rgba(8,14,16,.42)}
.vid:hover .vo span{opacity:1;transform:none}
.vid:hover .vo i{width:clamp(80px,12vw,160px)}
@media (hover:none){.vo{display:none}}
@media (prefers-reduced-motion:reduce){.vid video,.vo,.vo span,.vo i{transition:none}.vid:hover video{transform:none}}

.formsec{padding:clamp(48px,7vw,96px) 0 clamp(24px,4vw,48px)}
.formsec .head{margin-bottom:clamp(24px,4vw,40px)}
.cform{max-width:780px;display:grid;gap:18px}
.cform .r2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cform .r3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cform label{display:grid;gap:7px;min-width:0}
.cform label>span{font:500 .68rem/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--copper-ink)}
.cform input,.cform select,.cform textarea{width:100%;font:400 1rem/1.4 var(--sans);color:var(--ink);background:var(--bg);border:1px solid var(--line);padding:.85em 1em;border-radius:0;transition:border-color .2s}
.cform textarea{resize:vertical;min-height:130px}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal)}
.cform .chk{display:flex;align-items:flex-start;gap:12px;color:var(--muted);font-size:.95rem}
.cform .chk input{width:20px;height:20px;margin-top:2px;flex:none}
.cform .chk span{font:400 .95rem/1.5 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted)}
.cform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cform .frow{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.fmsg{margin:0;color:var(--muted);font-size:.97rem}.fmsg.good{color:var(--teal)}.fmsg.bad{color:#b3412f}
.cform .btn:disabled{opacity:.6;cursor:wait}
a.mail{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
@media (max-width:640px){.cform .r2,.cform .r3{grid-template-columns:1fr}}

/* hero request form: dark glass over the photo, fades in */
.hero .finder{background:rgba(16,11,8,.46);color:#fff;border:1px solid rgba(255,255,255,.26);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);box-shadow:0 24px 60px rgba(0,0,0,.35);animation:finderIn 1.1s cubic-bezier(.2,.7,.2,1) .7s both}
.hero .finder label{color:rgba(255,255,255,.78);border-color:rgba(255,255,255,.2);transition:background .3s}
.hero .finder label:focus-within,.hero .finder label:hover{background:rgba(255,255,255,.09)}
.hero .finder input,.hero .finder select{color:#fff;color-scheme:dark}
.hero .finder option{color:#222;background:#fff}
.hero .finder input::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.85;cursor:pointer}
.hero .finder .btn{background:var(--copper);border-color:var(--copper);color:#fff}
.hero .finder .btn:hover{background:#fff;border-color:#fff;color:var(--ink)}
@keyframes finderIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.hero .finder{animation:none}}
