/* Layout concept: one-page scroll site in the structure of The Atrium: hero, marquee, split concept,
   statement, three panels, full-bleed band, numbers, lifestyle, pinned hero photo, index list, gallery, location, price + CTA. */
:root {
  --ivory:#F8F0E5; --cream:#EFE3D1; --cream-md:#D9C7AD;
  --gold:#E0A93B; --gold-hi:#F7C45C; --gold-deep:#8A6414;
  --text:#3B2F25; --muted:#6A5A49; --dark:#1D1610; --dark-warm:#2A1F15; --on-dark:#F8F0E5; --on-dark-2:#E9DCC8;
  --display:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --body:'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  --ease-out:cubic-bezier(.16,1,.3,1); --ease-io:cubic-bezier(.77,0,.18,1);
  color-scheme: light;
}
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { background:var(--ivory); color:var(--text); font-family:var(--body); font-weight:300; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
img { display:block; }
.num, .stat-num, .lf-num b, .loc-dist b, .m-price { font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1; }

/* reveal */
.js .reveal { opacity:0; transform:translateY(28px); transition:opacity .85s ease, transform .85s ease; }
.js .reveal.in { opacity:1; transform:none; }
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}.d4{transition-delay:.48s}

@keyframes heroExpand { 0%{letter-spacing:-.04em;opacity:0} 25%{opacity:1} 100%{letter-spacing:.24em;opacity:1} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes fadeUp { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:none} }
@keyframes growDown { from{height:0} to{height:64px} }
@keyframes marqueeRun { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes scrollPulse { 0%,100%{opacity:.35;height:44px} 50%{opacity:1;height:56px} }
@keyframes draw { to{stroke-dashoffset:0} }
@keyframes heroZoom { to{scale:1} }
@keyframes statsExpand { from{letter-spacing:-.02em} to{letter-spacing:.14em} }

.label { display:block; font-size:11px; font-weight:500; letter-spacing:.34em; color:var(--gold-deep); text-transform:uppercase; margin-bottom:8px; }

/* progress + nav */
.scroll-progress { position:fixed; top:0; left:0; right:0; height:2px; z-index:400; background:linear-gradient(90deg,var(--cream-md),var(--gold-hi)); transform-origin:0 50%; transform:scaleX(0); pointer-events:none; }
.nav { position:fixed; top:0; left:0; right:0; z-index:300; padding:calc(26px + env(safe-area-inset-top,0px)) max(52px,env(safe-area-inset-right,0px)) 26px max(52px,env(safe-area-inset-left,0px));
  display:flex; justify-content:space-between; align-items:center; opacity:0; animation:fadeIn .8s ease 2.8s forwards;
  transition:background .4s,border-color .4s,backdrop-filter .4s; }
.nav-logo { display:flex; align-items:center; gap:13px; text-decoration:none; }
.nav-logo svg { width:28px; height:28px; color:var(--gold-deep); flex-shrink:0; }
.nav-logo-text { font-family:var(--display); font-weight:500; font-size:14px; letter-spacing:.22em; color:var(--gold-deep); text-transform:uppercase; }
.nav-right { display:flex; align-items:center; gap:28px; }
.nav-loc { font-size:10.5px; font-weight:500; letter-spacing:.3em; color:var(--muted); text-transform:uppercase; }
.nav-tel { position:relative; font-size:11.5px; font-weight:500; letter-spacing:.18em; color:var(--dark); text-decoration:none; white-space:nowrap; padding:6px 0; }
.nav-tel::after { content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--gold); transform:scaleX(0); transform-origin:100% 50%; transition:transform .5s var(--ease-out); }
.nav-tel:hover::after { transform:scaleX(1); transform-origin:0 50%; }
.nav-lang { display:flex; align-items:center; gap:10px; }
.lang-btn { background:none; border:0; padding:6px 2px; cursor:pointer; font-family:var(--body); font-size:11px; font-weight:500; letter-spacing:.2em; color:var(--muted); position:relative; transition:color .3s; }
.lang-btn::after { content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--gold); transform:scaleX(0); transition:transform .4s var(--ease-out); }
.lang-btn:hover { color:var(--dark); }
.lang-btn.is-active { color:var(--dark); }
.lang-btn.is-active::after { transform:scaleX(1); }
.lang-btn:focus-visible { outline:1px solid var(--gold); outline-offset:2px; }
.lang-sep { width:1px; height:12px; background:var(--cream-md); }

/* hero */
.hero { position:relative; height:94svh; min-height:640px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--cream); overflow:hidden; }
.hero-bg { position:absolute; inset:-6% 0; z-index:0; background:url(img/hero.jpg) 60% center/cover; scale:1.14; animation:heroZoom 9s cubic-bezier(.2,.6,.2,1) forwards; will-change:transform; }
.hero::before { content:''; position:absolute; inset:0; background:rgba(248,240,229,.66); z-index:1; pointer-events:none; }
.hero::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(circle at 75% 25%,rgba(247,196,92,.16) 0%,transparent 48%), radial-gradient(circle at 22% 78%,rgba(247,196,92,.1) 0%,transparent 38%); }
.hero-inner { text-align:center; display:flex; flex-direction:column; align-items:center; position:relative; z-index:2; padding:0 20px; will-change:transform,opacity; }
.hero-mark { width:54px; height:54px; color:var(--gold-deep); opacity:0; animation:fadeUp .9s ease .3s forwards; margin-bottom:30px; }
.hero-mark path, .manifesto-mark path, .f-brand-mark path { stroke-dasharray:1; stroke-dashoffset:1; }
.hero-mark path { animation:draw 1.6s var(--ease-io) .35s forwards; }
.hero-mark path + path { animation-delay:.8s; }
.hero-title { font-family:var(--display); font-weight:400; font-size:clamp(40px,7vw,96px); color:var(--dark); text-transform:uppercase; line-height:1; letter-spacing:-.04em; opacity:0; animation:heroExpand 2s cubic-bezier(.22,.1,.2,1) .7s forwards; }
.hero-divider { width:1px; height:0; background:linear-gradient(to bottom,var(--gold),transparent); margin:34px 0; opacity:0; animation:fadeIn .4s ease 2s forwards, growDown 1s ease 2s forwards; }
.hero-tagline { font-size:clamp(10.5px,1.1vw,13px); font-weight:500; letter-spacing:.34em; color:var(--text); text-transform:uppercase; opacity:0; animation:fadeIn 1s ease 2.2s forwards; max-width:560px; line-height:1.9; }
.hero-place { margin-top:16px; font-size:11px; font-weight:500; letter-spacing:.4em; color:var(--gold-deep); text-transform:uppercase; opacity:0; animation:fadeIn 1s ease 2.4s forwards; }
.hero-price { margin-top:26px; font-family:var(--display); font-weight:500; font-size:clamp(28px,3vw,40px); letter-spacing:.06em; color:var(--dark); opacity:0; animation:fadeIn 1s ease 2.6s forwards; }
.hero-price small { font-size:.62em; color:var(--gold-deep); margin-left:6px; }
.hero-scroll { position:absolute; bottom:34px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:10px; cursor:pointer; opacity:0; animation:fadeIn 1s ease 3.2s forwards; z-index:2; }
.hero-scroll-line { width:1px; background:var(--gold); animation:scrollPulse 2.2s ease-in-out 3.2s infinite; height:44px; }
.hero-scroll-txt { font-size:10px; font-weight:500; letter-spacing:.36em; color:var(--text); text-transform:uppercase; }

/* marquee */
.marquee-strip { background:var(--cream); border-top:1px solid var(--cream-md); border-bottom:1px solid var(--cream-md); overflow:hidden; padding:18px 0; }
.marquee-track { display:flex; width:max-content; animation:marqueeRun 40s linear infinite; }
.marquee-track:hover { animation-play-state:paused; }
.marquee-item { display:flex; align-items:center; gap:40px; padding:0 20px; white-space:nowrap; flex-shrink:0; }
.marquee-phrase { font-size:11px; font-weight:500; letter-spacing:.3em; color:var(--muted); text-transform:uppercase; }
.marquee-dot { width:4px; height:4px; background:var(--gold); border-radius:50%; flex-shrink:0; }

/* concept */
.concept { display:grid; grid-template-columns:1fr 1fr; min-height:80vh; overflow:hidden; }
.concept-photo { position:relative; overflow:hidden; min-height:560px; }
.concept-photo img { width:100%; height:100%; object-fit:cover; object-position:48% 40%; transition:transform .8s ease; }
.js .concept-photo.reveal { opacity:1; transform:none; }
.js .concept-photo img { clip-path:inset(0 100% 0 0); transform:scale(1.22); transition:clip-path 1.5s var(--ease-io), transform 2.2s var(--ease-out); }
.js .concept-photo.in img { clip-path:inset(0); transform:scale(1); }
.concept-body { padding:90px 64px; display:flex; flex-direction:column; justify-content:center; gap:22px; background:var(--ivory); }
.concept-h { font-family:var(--display); font-weight:400; font-size:clamp(40px,4.6vw,66px); line-height:1.05; color:var(--dark); letter-spacing:.01em; }
.concept-h em, .lf-h em, .loc-h em, .st-b em { font-style:italic; color:var(--gold-deep); }
.concept-p { font-size:16px; line-height:1.9; color:var(--muted); }
.concept-quote { font-family:var(--display); font-style:italic; font-weight:400; font-size:24px; line-height:1.35; color:var(--gold-deep); padding-left:22px; border-left:1px solid var(--gold); }
.concept-footer { display:flex; align-items:center; gap:22px; padding-top:28px; margin-top:6px; border-top:1px solid var(--cream-md); flex-wrap:wrap; }
.cf-place { font-size:11px; font-weight:500; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-deep); }
.cf-sep { height:1px; background:var(--gold); flex-shrink:0; width:44px; }
.js .cf-sep { width:0; transition:width 1.2s var(--ease-out) .9s; }
.js .concept-body.in .cf-sep { width:44px; }
.cf-style { font-family:var(--display); font-size:17px; font-style:italic; color:var(--muted); }

/* line-by-line headings */
.ln { display:block; overflow:hidden; padding-bottom:.1em; margin-bottom:-.1em; }
.js .ln > * { display:inline-block; transform:translateY(105%); transition:transform 1.1s var(--ease-out); }
.ln > * { display:inline-block; }
.js .in .ln > *, .js .ln.in > * { transform:none; }
.in .ln:nth-child(2) > * { transition-delay:.12s; } .in .ln:nth-child(3) > * { transition-delay:.24s; }
.concept-body .ln > * { transition-delay:.35s; }
.concept-body.in .ln:nth-child(2) > * { transition-delay:.47s; } .concept-body.in .ln:nth-child(3) > * { transition-delay:.59s; }

/* statement */
.statement { background:var(--ivory); padding:150px 60px; max-width:1200px; margin:0 auto; }
.st-line { font-family:var(--display); font-weight:400; line-height:1.12; }
.st-a { font-size:clamp(28px,3.4vw,48px); color:var(--muted); margin-bottom:34px; }
.st-b { font-size:clamp(38px,5.6vw,80px); color:var(--dark); }
.js .st-line .sw { opacity:.16; transition:opacity .25s linear; }
.js .st-line .sw.on { opacity:1; }
.st-photo { margin:90px 0 0; position:relative; overflow:hidden; }
.js .st-photo.reveal { opacity:1; transform:none; }
.st-photo img { width:100%; aspect-ratio:16/8; object-fit:cover; object-position:center 58%; }
.js .st-photo img { clip-path:inset(18% 22%); transform:scale(1.18); transition:clip-path 1.8s var(--ease-io), transform 2.4s var(--ease-out); }
.js .st-photo.in img { clip-path:inset(0); transform:scale(1); }
.st-photo figcaption, .lf-photo figcaption { margin-top:16px; font-size:11px; font-weight:500; letter-spacing:.3em; text-transform:uppercase; color:var(--muted); }
.js .st-photo figcaption, .js .lf-photo figcaption { opacity:0; transition:opacity 1s ease 1.2s; }
.js .st-photo.in figcaption, .js .lf-photo.in figcaption { opacity:1; }

/* panels */
.philosophy { display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; }
.phil-card { position:relative; height:65vh; min-height:460px; display:flex; flex-direction:column; justify-content:flex-end; padding:52px 44px; overflow:hidden; border-right:1px solid rgba(138,100,20,.2); background:var(--cream-md) center/cover; }
.phil-card:last-child { border-right:none; }
.phil-bg { position:absolute; inset:0; z-index:0; background:inherit; background-size:cover; }
.js .phil-bg { transform:scale(1.2); transition:transform 2.4s var(--ease-out); }
.js .phil-card.in .phil-bg { transform:scale(1); }
.js .phil-card.in:hover .phil-bg { transform:scale(1.05); transition-duration:1.4s; }
.phil-card::before { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:rgba(239,227,209,.36); transition:background .5s; }
.phil-card::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(to top,rgba(248,240,229,.9) 0%,rgba(248,240,229,.5) 38%,transparent 62%); }
.phil-card:hover::before { background:rgba(239,227,209,.18); }
.phil-brand { font-size:10.5px; font-weight:500; letter-spacing:.34em; color:var(--muted); text-transform:uppercase; margin-bottom:14px; position:relative; z-index:2; }
.phil-rule { height:1px; background:var(--gold); margin-bottom:18px; position:relative; z-index:2; width:38px; }
.js .phil-rule { width:0; transition:width 1s var(--ease-out) .6s; }
.js .phil-card.in .phil-rule { width:38px; }
.js .phil-card.in:hover .phil-rule { width:96px; transition-delay:0s; }
.phil-h { font-family:var(--display); font-weight:500; font-size:clamp(30px,3vw,46px); color:var(--dark); line-height:1.12; position:relative; z-index:2; transition:transform .6s var(--ease-out); }
.phil-card:hover .phil-h { transform:translateY(-6px); }

/* interlude */
.interlude { position:relative; height:78vh; min-height:500px; overflow:hidden; display:flex; align-items:center; }
.interlude-bg { position:absolute; inset:-14% 0; background:var(--dark) url(img/sun.jpg) center 40%/cover; will-change:transform; }
.interlude-overlay { position:absolute; inset:0; background:linear-gradient(105deg,rgba(29,22,16,.82) 0%,rgba(29,22,16,.4) 62%,rgba(29,22,16,.08) 100%); }
.interlude-content { position:relative; z-index:2; padding:0 max(72px,env(safe-area-inset-left,0px)); max-width:760px; }
.interlude-label { display:block; font-size:11px; font-weight:500; letter-spacing:.34em; color:var(--gold-hi); text-transform:uppercase; margin-bottom:28px; line-height:1.8; }
.interlude-q { font-family:var(--display); font-weight:400; font-size:clamp(36px,5vw,68px); color:var(--on-dark); line-height:1.12; margin-bottom:36px; }
.interlude-rule { height:1px; background:var(--gold-hi); width:52px; }
.js .interlude-rule { width:0; transition:width 1.2s var(--ease-out) .8s; }
.js .interlude-content.in .interlude-rule { width:52px; }
.interlude-content .ln > * { transition-delay:.25s; } .interlude-content.in .ln:nth-child(2) > * { transition-delay:.4s; }

/* stats */
.stats { padding:130px 60px; background:var(--ivory); }
.stats-head { text-align:center; margin-bottom:90px; }
.stats-title { font-family:var(--display); font-weight:400; font-size:clamp(34px,4vw,58px); letter-spacing:.14em; color:var(--dark); text-transform:uppercase; }
.stats-head.in .stats-title { animation:statsExpand 1.8s var(--ease-out) both; }
.stats-sub { display:block; font-family:var(--body); font-size:11px; font-weight:500; letter-spacing:.4em; color:var(--gold-deep); margin-top:14px; text-transform:uppercase; }
.stats-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; max-width:1200px; margin:0 auto; border-top:1px solid var(--cream-md); border-left:1px solid var(--cream-md); }
.stat { border-right:1px solid var(--cream-md); border-bottom:1px solid var(--cream-md); padding:54px 44px; }
.stat-a{grid-column:1;grid-row:1}.stat-b{grid-column:2;grid-row:1}.stat-c{grid-column:3;grid-row:1}.stat-d{grid-column:1;grid-row:2}.stat-e{grid-column:2/4;grid-row:2}
.stat-num { font-family:var(--display); font-weight:400; font-size:clamp(58px,7.5vw,108px); color:var(--dark); line-height:.9; letter-spacing:-.02em; }
.stat-a .stat-num { font-size:clamp(72px,9vw,130px); }
.stat-sup { white-space:nowrap; font-size:.3em; vertical-align:top; margin-top:.2em; color:var(--gold-deep); letter-spacing:.08em; display:inline-block; margin-left:.25em; }
.stat-lbl { margin-top:18px; font-size:11.5px; font-weight:500; letter-spacing:.2em; color:var(--muted); text-transform:uppercase; line-height:1.8; }

/* lifestyle */
.lifestyle { background:var(--ivory); padding:40px 60px 140px; }
.lifestyle-inner { max-width:1200px; margin:0 auto; }
.lf-head { margin-bottom:70px; }
.lf-h { font-family:var(--display); font-weight:400; font-size:clamp(38px,4.8vw,66px); line-height:1.06; color:var(--dark); margin-top:18px; }
.js .lf-h.reveal { transform:none; }
.lf-nums { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--cream-md); border-bottom:1px solid var(--cream-md); margin-bottom:70px; }
.lf-num { padding:44px 28px 40px; border-right:1px solid var(--cream-md); }
.lf-num:first-child { padding-left:0; } .lf-num:last-child { border-right:none; }
.lf-num b { display:block; font-family:var(--display); font-weight:400; font-size:clamp(56px,6vw,92px); line-height:.9; color:var(--dark); letter-spacing:-.01em; }
.lf-num span { display:block; margin-top:18px; font-size:11.5px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); line-height:1.8; }
.lf-body { display:grid; grid-template-columns:.9fr 1.1fr; gap:72px; align-items:start; }
.lf-photo { position:sticky; top:110px; margin:0; }
.js .lf-photo.reveal { opacity:1; transform:none; }
.lf-photo img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:30% center; }
.js .lf-photo img { clip-path:inset(100% 0 0 0); transform:scale(1.2); transition:clip-path 1.5s var(--ease-io), transform 2.2s var(--ease-out); }
.js .lf-photo.in img { clip-path:inset(0); transform:scale(1); }
.lf-list { list-style:none; display:grid; grid-template-columns:1fr; }
.lf-item { position:relative; display:grid; grid-template-columns:44px 1fr; align-items:baseline; padding:22px 0; border-bottom:1px solid var(--cream-md); }
.lf-item::after { content:''; position:absolute; left:0; bottom:-1px; height:1px; width:100%; background:var(--gold); transform:scaleX(0); transform-origin:0 50%; transition:transform .7s var(--ease-out); }
.lf-item:hover::after { transform:scaleX(1); }
.lf-n { font-size:11px; font-weight:500; letter-spacing:.26em; color:var(--gold-deep); }
.lf-t { font-family:var(--display); font-size:24px; font-weight:500; color:var(--dark); line-height:1.28; transition:transform .5s var(--ease-out), color .3s; }
.lf-item:hover .lf-t { transform:translateX(10px); color:var(--gold-deep); }
.lf-note { margin-top:26px; font-size:13px; line-height:1.7; color:var(--muted); }

/* heart */
.heart { position:relative; height:230vh; background:var(--ivory); }
.heart-sticky { position:sticky; top:0; height:100vh; overflow:hidden; display:flex; align-items:flex-end; }
.heart-media { position:absolute; inset:0; clip-path:inset(var(--ci,14%) var(--cx,22%) round var(--cr,4px)); will-change:clip-path; }
.heart-media img { width:100%; height:100%; object-fit:cover; transform:scale(var(--hs,1.18)); will-change:transform; }
.heart-shade { position:absolute; inset:0; pointer-events:none; background:linear-gradient(to top,rgba(29,22,16,.92) 0%,rgba(29,22,16,.64) 40%,rgba(29,22,16,.2) 70%,transparent 88%); opacity:var(--ho,0); }
.heart-text { position:relative; z-index:2; max-width:780px; padding:0 max(72px,env(safe-area-inset-left,0px)) 90px; opacity:var(--ho,0); transform:translateY(calc((1 - var(--ho,0)) * 40px)); }
.heart-label { display:block; font-size:11px; font-weight:500; letter-spacing:.36em; color:var(--gold-hi); text-transform:uppercase; margin-bottom:18px; }
.heart-h { font-family:var(--display); font-weight:400; text-transform:uppercase; font-size:clamp(54px,8vw,120px); line-height:1; color:var(--on-dark); letter-spacing:calc(var(--ho,0) * .2em - .02em); margin-bottom:26px; }
.heart-p { font-size:16px; line-height:1.85; color:rgba(248,240,229,.88); margin-bottom:14px; max-width:600px; }

/* amenities index */
.amenities { background:var(--cream); padding:130px 60px; }
.amenities-inner { max-width:1200px; margin:0 auto; }
.amenities-top { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; padding-bottom:60px; }
.amenities-h { font-family:var(--display); font-weight:400; font-size:clamp(38px,4.6vw,64px); color:var(--dark); line-height:1.08; margin-top:22px; }
.amenities-desc { font-size:16px; line-height:1.9; color:var(--muted); }
.am-index { position:relative; }
.am-row { position:relative; isolation:isolate; display:grid; grid-template-columns:72px minmax(0,1fr) minmax(0,1.3fr) 44px; align-items:center; gap:32px; padding:40px 28px; margin:0 -28px; }
.am-row::before { content:''; position:absolute; left:28px; right:28px; top:0; height:1px; background:var(--cream-md); }
.js .am-row::before { transform:scaleX(0); transform-origin:0 50%; transition:transform 1.3s var(--ease-io); }
.js .am-row.in::before { transform:scaleX(1); }
.am-row:last-child { box-shadow:inset 0 -1px 0 var(--cream-md); }
.am-row::after { content:''; position:absolute; inset:0; z-index:-1; background:var(--ivory); transform:scaleY(0); transform-origin:50% 100%; transition:transform .6s var(--ease-out); }
.am-row:hover::after { transform:scaleY(1); }
.js .am-row.reveal { transform:none; }
.am-num { font-size:11px; font-weight:500; letter-spacing:.28em; color:var(--gold-deep); }
.js .am-num { opacity:0; transition:opacity .8s ease .2s; } .js .am-row.in .am-num { opacity:1; }
.am-name { font-family:var(--display); font-weight:400; font-size:clamp(36px,4vw,58px); line-height:1.02; color:var(--dark); overflow:hidden; padding-bottom:.1em; margin-bottom:-.1em; }
.am-name span { display:inline-block; transition:transform 1.1s var(--ease-out) .15s, color .4s, letter-spacing .6s var(--ease-out); }
.js .am-name span { transform:translateY(105%); } .js .am-row.in .am-name span { transform:none; }
.am-row:hover .am-name span { color:var(--gold-deep); font-style:italic; letter-spacing:.02em; }
.am-items { list-style:none; display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.am-items li { font-family:var(--display); font-size:21px; font-weight:500; color:var(--text); position:relative; padding:6px 0 6px 22px; transition:opacity .7s ease, transform .9s var(--ease-out), color .3s; }
.js .am-items li { opacity:0; transform:translateY(12px); } .js .am-row.in .am-items li { opacity:1; transform:none; }
.am-items li::before { content:''; position:absolute; left:2px; top:50%; width:5px; height:5px; margin-top:-2.5px; border-radius:50%; background:var(--gold); }
.am-row.in .am-items li:nth-child(1){transition-delay:.35s,.35s,0s}.am-row.in .am-items li:nth-child(2){transition-delay:.45s,.45s,0s}.am-row.in .am-items li:nth-child(3){transition-delay:.55s,.55s,0s}.am-row.in .am-items li:nth-child(4){transition-delay:.65s,.65s,0s}
.am-row:hover .am-items li { color:var(--dark); }
.am-arr { width:26px; height:26px; justify-self:end; color:var(--gold-deep); opacity:.5; transition:opacity .4s, transform .5s var(--ease-out); }
.am-row:hover .am-arr { opacity:1; transform:rotate(45deg); }
.am-thumb { display:none; }

/* gallery */
.gallery { overflow:hidden; line-height:0; }
.gallery-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr; grid-auto-rows:62vh; gap:3px; min-height:420px; }
.gallery-grid .g-img:nth-child(4) { grid-column:1 / 2; }
.gallery-grid .g-img:nth-child(5) { grid-column:2 / 4; }
.gallery-grid .g-img:nth-child(6) { display:none; }
.g-img { position:relative; overflow:hidden; background:var(--cream-md); cursor:zoom-in; }
.g-inner { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.25,.1,.25,1); }
.js .g-inner { clip-path:inset(100% 0 0 0); transform:scale(1.25); transition:clip-path 1.4s var(--ease-io), transform 2s var(--ease-out); }
.js .g-img.in .g-inner { clip-path:inset(0); transform:scale(1); }
.js .g-img.in:hover .g-inner, .g-img:hover .g-inner { transform:scale(1.06); transition:transform .8s cubic-bezier(.25,.1,.25,1); }
.g-img:nth-child(2) .g-inner { transition-delay:.15s; } .g-img:nth-child(3) .g-inner { transition-delay:.3s; }
.g-scrim { position:absolute; inset:0; background:linear-gradient(to top,rgba(29,22,16,.6) 0%,transparent 55%); z-index:1; pointer-events:none; opacity:0; transition:opacity .5s; }
.g-img:hover .g-scrim { opacity:1; }
.g-label { position:absolute; bottom:28px; left:28px; right:28px; z-index:2; opacity:0; transform:translateY(8px); transition:opacity .4s,transform .4s; line-height:1.5; }
.g-img:hover .g-label { opacity:1; transform:none; }
.g-label-name { font-size:10px; font-weight:500; letter-spacing:.34em; color:rgba(248,240,229,.8); text-transform:uppercase; display:block; }
.g-label-desc { font-family:var(--display); font-size:24px; font-weight:400; color:var(--on-dark); display:block; margin-top:4px; }
.g-img:focus-visible { outline:1px solid var(--gold-hi); outline-offset:-6px; }
@media (hover:none) { .g-img .g-scrim { opacity:1; } .g-img .g-label { opacity:1; transform:none; } }

/* lightbox */
.lb { position:fixed; inset:0; z-index:500; display:flex; align-items:center; justify-content:center; background:rgba(29,22,16,.95); opacity:0; visibility:hidden; transition:opacity .5s ease, visibility 0s linear .5s; }
.lb.open { opacity:1; visibility:visible; transition:opacity .5s ease, visibility 0s; }
.lb-fig { margin:0; max-width:88vw; max-height:86vh; text-align:center; transform:scale(.94); transition:transform .7s var(--ease-out); }
.lb.open .lb-fig { transform:none; }
.lb-img { display:block; max-width:88vw; max-height:78vh; object-fit:contain; margin:0 auto; transition:opacity .35s ease; }
.lb-img.swap { opacity:0; }
.lb-cap { margin-top:18px; font-family:var(--display); font-size:22px; color:var(--on-dark); }
.lb-close,.lb-nav { position:absolute; background:none; border:0; cursor:pointer; color:var(--gold-hi); font-family:var(--display); line-height:1; transition:color .25s,transform .3s var(--ease-out); }
.lb-close { top:calc(22px + env(safe-area-inset-top,0px)); right:28px; font-size:42px; }
.lb-close:hover { color:var(--on-dark); transform:rotate(90deg); }
.lb-nav { top:50%; font-size:30px; padding:20px; margin-top:-35px; }
.lb-prev { left:12px; } .lb-next { right:12px; }
.lb-prev:hover { transform:translateX(-4px); color:var(--on-dark); } .lb-next:hover { transform:translateX(4px); color:var(--on-dark); }

/* location */
.location { background:var(--ivory); padding:130px 60px; }
.location-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:center; }
.js .loc-text.reveal { transform:none; }
.loc-h { font-family:var(--display); font-weight:400; font-size:clamp(40px,4.6vw,64px); line-height:1.06; color:var(--dark); margin:18px 0 40px; }
.loc-dist { display:flex; align-items:flex-end; gap:16px; padding:26px 0; border-top:1px solid var(--cream-md); border-bottom:1px solid var(--cream-md); }
.loc-dist b { font-family:var(--display); font-weight:400; font-size:clamp(72px,8vw,116px); line-height:.82; color:var(--dark); }
.loc-dist span { font-size:11.5px; font-weight:500; letter-spacing:.24em; text-transform:uppercase; color:var(--muted); line-height:1.7; padding-bottom:6px; }
.loc-addr { font-style:normal; margin:28px 0 36px; font-family:var(--display); font-size:23px; font-weight:500; line-height:1.5; color:var(--text); }
.loc-btns { display:flex; flex-wrap:wrap; gap:14px; }
.loc-btn { position:relative; overflow:hidden; isolation:isolate; display:inline-flex; align-items:center; gap:14px; padding:16px 26px; border:1px solid var(--gold); font-size:11px; font-weight:500; letter-spacing:.24em; text-transform:uppercase; color:var(--dark); text-decoration:none; transition:color .45s; }
.loc-btn::before { content:''; position:absolute; inset:0; z-index:-1; background:var(--dark); transform:scaleY(0); transform-origin:50% 100%; transition:transform .55s var(--ease-out); }
.loc-btn:hover { color:var(--on-dark); } .loc-btn:hover::before { transform:scaleY(1); }
.loc-btn i { width:18px; height:1px; background:currentColor; transition:width .45s var(--ease-out); } .loc-btn:hover i { width:32px; }
.loc-btn--ghost { border-color:var(--cream-md); color:var(--gold-deep); }
.loc-photo { position:relative; aspect-ratio:5/4; min-height:420px; overflow:hidden; background:var(--cream-md); margin:0; }
.js .loc-photo.reveal { transform:none; }
.loc-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 60%; }
.loc-photo::after { content:''; position:absolute; inset:0; z-index:3; pointer-events:none; background:var(--cream-md); transform-origin:100% 50%; transform:scaleX(0); }
.js .loc-photo::after { transform:scaleX(1); transition:transform 1.4s var(--ease-io) .2s; } .js .loc-photo.in::after { transform:scaleX(0); }
.loc-photo figcaption { position:absolute; left:0; bottom:0; z-index:2; padding:16px 22px; background:rgba(248,240,229,.94); font-size:11px; font-weight:500; letter-spacing:.24em; text-transform:uppercase; color:var(--dark); }

/* manifesto + price */
.manifesto { padding:130px 60px; text-align:center; position:relative; overflow:hidden; background:var(--dark-warm) url(img/columns.jpg) center/cover; }
.manifesto::before { content:''; position:absolute; inset:0; background:rgba(29,22,16,.9); z-index:1; pointer-events:none; }
.manifesto::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:radial-gradient(circle at 18% 48%,rgba(247,196,92,.12) 0%,transparent 48%), radial-gradient(circle at 82% 52%,rgba(247,196,92,.08) 0%,transparent 40%); }
.manifesto-inner { position:relative; z-index:2; max-width:880px; margin:0 auto; }
.manifesto-mark { color:var(--gold-hi); opacity:.75; margin-bottom:46px; }
.manifesto-mark svg { width:46px; height:46px; margin:0 auto; }
.manifesto-mark.in path, .f-brand-mark.in path { animation:draw 1.6s var(--ease-io) .2s forwards; } .manifesto-mark.in path + path, .f-brand-mark.in path + path { animation-delay:.6s; }
.manifesto-q { font-family:var(--display); font-weight:400; font-style:italic; font-size:clamp(32px,4.6vw,60px); color:var(--on-dark); line-height:1.25; margin-bottom:56px; text-wrap:balance; }
.js .manifesto-q .w { display:inline-block; opacity:0; filter:blur(8px); transform:translateY(14px); transition:opacity .9s ease, filter .9s ease, transform 1.1s var(--ease-out); }
.js .manifesto-q.in .w { opacity:1; filter:none; transform:none; }
.js .manifesto-q.reveal { transform:none; }
.manifesto-tags { display:flex; justify-content:center; align-items:center; gap:20px; flex-wrap:wrap; }
.m-tag { font-size:11px; font-weight:500; letter-spacing:.3em; color:var(--gold-hi); text-transform:uppercase; }
.m-sep { width:4px; height:4px; background:var(--gold-hi); opacity:.5; border-radius:50%; flex-shrink:0; }
.m-note { margin:50px auto 0; max-width:620px; font-size:15px; line-height:1.85; color:rgba(248,240,229,.78); }
.m-price { margin-top:46px; font-family:var(--display); font-weight:400; font-size:clamp(60px,9vw,128px); line-height:1; letter-spacing:.01em; color:var(--gold-hi); background:linear-gradient(135deg,#F7C45C 0%,#F8F0E5 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.m-price small { font-size:.5em; margin-left:.2em; }
.m-price-lbl { display:block; font-family:var(--body); font-size:11px; font-weight:500; letter-spacing:.36em; text-transform:uppercase; color:var(--gold-hi); margin-top:14px; }
.m-cta { display:inline-flex; align-items:center; gap:18px; margin-top:38px; padding:18px 34px; border:1px solid rgba(247,196,92,.7); font-size:11.5px; font-weight:500; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-hi); text-decoration:none; position:relative; overflow:hidden; isolation:isolate; transition:color .45s,border-color .45s; }
.m-cta::before { content:''; position:absolute; inset:0; z-index:-1; background:var(--gold-hi); transform:scaleY(0); transform-origin:50% 100%; transition:transform .55s var(--ease-out); }
.m-cta:hover { color:var(--dark); border-color:var(--gold-hi); } .m-cta:hover::before { transform:scaleY(1); }
.m-cta i { width:26px; height:1px; background:currentColor; transition:width .45s var(--ease-out); } .m-cta:hover i { width:44px; }
.m-agency { margin-top:22px; font-size:11px; font-weight:500; letter-spacing:.3em; text-transform:uppercase; color:rgba(248,240,229,.6); }

/* footer */
footer { background:var(--dark); padding:96px 60px 52px; }
.footer-inner { max-width:1200px; margin:0 auto; }
.footer-top { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:60px; padding-bottom:56px; margin-bottom:40px; border-bottom:1px solid rgba(247,196,92,.2); }
.f-brand-mark { margin-bottom:22px; } .f-brand-mark svg { width:38px; height:38px; color:var(--gold-hi); }
.f-brand-name { font-family:var(--display); font-weight:400; font-size:28px; letter-spacing:.18em; color:var(--on-dark); text-transform:uppercase; display:block; }
.f-brand-type { font-size:11px; font-weight:500; letter-spacing:.26em; color:rgba(248,240,229,.55); text-transform:uppercase; display:block; margin-top:8px; line-height:1.7; }
.f-tagline { font-family:var(--display); font-size:21px; font-style:italic; color:var(--gold-hi); margin-top:28px; line-height:1.4; }
.f-col h4 { font-size:11px; font-weight:500; letter-spacing:.3em; color:var(--gold-hi); text-transform:uppercase; margin-bottom:22px; padding-bottom:14px; border-bottom:1px solid rgba(247,196,92,.22); }
.f-col p, .f-col address { font-size:15px; line-height:1.85; color:rgba(248,240,229,.72); font-style:normal; }
.f-tel { display:inline-block; margin-top:18px; font-family:var(--display); font-size:30px; color:var(--on-dark); text-decoration:none; transition:color .3s; } .f-tel:hover { color:var(--gold-hi); }
.f-map-link { display:inline-block; margin-top:10px; color:var(--gold-hi); text-decoration:none; font-size:13px; letter-spacing:.08em; transition:color .3s; } .f-map-link:hover { color:var(--on-dark); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.footer-bottom span { font-size:12px; color:rgba(248,240,229,.5); letter-spacing:.06em; }

/* cursor (mouse only) */
.cursor { display:none; }
@media (hover:hover) and (pointer:fine) {
  .cursor { display:flex; align-items:center; justify-content:center; position:fixed; top:0; left:0; z-index:450; width:34px; height:34px; margin:-17px 0 0 -17px; border:1px solid var(--gold); border-radius:50%; pointer-events:none; opacity:0; transition:width .45s var(--ease-out),height .45s var(--ease-out),margin .45s var(--ease-out),background .35s,opacity .3s,border-color .3s; }
  .cursor.on { opacity:.9; }
  .cursor.link { width:54px; height:54px; margin:-27px 0 0 -27px; background:rgba(224,169,59,.14); }
  .cursor.view { width:96px; height:96px; margin:-48px 0 0 -48px; background:rgba(248,240,229,.94); border-color:transparent; }
  .cursor-txt { font-size:9px; font-weight:500; letter-spacing:.28em; text-transform:uppercase; color:var(--gold-deep); opacity:0; transition:opacity .3s; }
  .cursor.view .cursor-txt { opacity:1; }
  .gallery .g-img { cursor:none; }
}

/* tablet */
@media (max-width:1080px), (hover:none) {
  .am-row { grid-template-columns:48px minmax(0,1fr) 210px; grid-template-areas:"num name thumb" "num items thumb"; align-items:start; gap:14px 24px; padding:32px 0; margin:0; }
  .am-row::before { left:0; right:0; } .am-row::after { display:none; }
  .am-num { grid-area:num; padding-top:10px; } .am-name { grid-area:name; align-self:end; } .am-items { grid-area:items; align-self:start; }
  .am-items li { font-size:19px; } .am-arr { display:none; }
  .am-thumb { display:block; grid-area:thumb; align-self:center; aspect-ratio:4/3; overflow:hidden; }
  .am-thumb img { width:100%; height:100%; object-fit:cover; }
  .js .am-thumb img { clip-path:inset(0 0 0 100%); transform:scale(1.2); transition:clip-path 1.3s var(--ease-io) .2s, transform 1.9s var(--ease-out) .2s; }
  .js .am-row.in .am-thumb img { clip-path:inset(0); transform:scale(1); }
  .am-row.is-active .am-name span { color:var(--gold-deep); font-style:italic; }
}
@media (max-width:1080px) {
  .concept { grid-template-columns:1fr; } .concept-photo { min-height:55vw; max-height:70vh; } .concept-body { padding:64px 44px; }
  .amenities-top { grid-template-columns:1fr; gap:36px; }
  .philosophy { grid-template-columns:1fr; } .phil-card { height:380px; min-height:380px; }
  .stats-grid { grid-template-columns:1fr 1fr; }
  .stat-a { grid-column:1 / -1; grid-row:1; } .stat-b { grid-column:1; grid-row:2; } .stat-c { grid-column:2; grid-row:2; } .stat-d { grid-column:1; grid-row:3; } .stat-e { grid-column:2; grid-row:3; }
  .gallery-grid { grid-template-columns:1fr 1fr; grid-auto-rows:50vw; }
  .gallery-grid .g-img:nth-child(n) { grid-column:auto; display:block; }
  .gallery-grid .g-img:nth-child(1) { grid-column:1 / -1; }
  .footer-top { grid-template-columns:1fr; gap:40px; }
  .interlude-content { padding:0 44px; }
  .statement { padding:110px 44px; } .lifestyle { padding:20px 44px 110px; } .lf-body { gap:44px; } .st-photo { margin-top:64px; }
  .lf-nums { grid-template-columns:1fr 1fr; } .lf-num:nth-child(2) { border-right:none; } .lf-num:nth-child(-n+2) { border-bottom:1px solid var(--cream-md); } .lf-num:nth-child(3) { padding-left:0; }
  .heart-text { padding:0 44px 70px; }
  .location { padding:100px 44px; } .location-inner { grid-template-columns:1fr; gap:50px; } .loc-photo { aspect-ratio:16/10; min-height:340px; }
}
@media (max-width:680px) {
  .nav { padding:calc(18px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) 18px max(20px,env(safe-area-inset-left,0px)); }
  .nav-loc { display:none; } .nav-logo-text { font-size:12px; letter-spacing:.16em; } .nav-tel { font-size:10px; letter-spacing:.08em; } .nav-right { gap:14px; } .lang-btn { font-size:10px; letter-spacing:.12em; }
  .hero { min-height:600px; } .hero-tagline { letter-spacing:.22em; }
  .concept-body, .stats, .amenities, .manifesto, footer { padding-left:max(24px,env(safe-area-inset-left,0px)); padding-right:max(24px,env(safe-area-inset-right,0px)); }
  .stats, .amenities, .manifesto, footer { padding-top:80px; padding-bottom:80px; } .concept-body { padding-top:52px; padding-bottom:52px; }
  .stats-grid { grid-template-columns:1fr; } .stat-a,.stat-b,.stat-c,.stat-d,.stat-e { grid-column:1; grid-row:auto; } .stat { padding:40px 28px; }
  .gallery-grid { grid-template-columns:1fr; grid-auto-rows:80vw; } .gallery-grid .g-img:nth-child(n) { grid-column:1; }
  .manifesto-q { font-size:clamp(26px,6.4vw,38px); } .footer-bottom { flex-direction:column; text-align:center; }
  .interlude { height:78vw; min-height:380px; } .interlude-content { padding:0 24px; } .interlude-q { font-size:clamp(28px,7vw,42px); }
  .statement { padding:90px 24px; } .lifestyle { padding:10px 24px 90px; } .lf-head, .lf-nums { margin-bottom:48px; }
  .lf-num { padding:30px 16px 26px; } .lf-num:nth-child(odd) { padding-left:0; } .lf-num span { font-size:10px; letter-spacing:.14em; }
  .lf-body { grid-template-columns:1fr; gap:36px; } .lf-photo { position:relative; top:auto; } .lf-photo img { aspect-ratio:4/3; } .lf-t { font-size:21px; }
  .st-photo { margin:48px -24px 0; } .st-photo img { aspect-ratio:4/3; } .st-photo figcaption { padding:0 24px; }
  .heart { height:190vh; } .heart-text { padding:0 24px 54px; } .heart-p { font-size:14.5px; }
  .am-row { grid-template-columns:34px minmax(0,1fr); grid-template-areas:"thumb thumb" "num name" "items items"; gap:12px 10px; padding:28px 0 30px; }
  .am-thumb { aspect-ratio:16/10; margin-bottom:10px; } .am-num { padding-top:0; align-self:center; } .am-name { font-size:38px; }
  .am-items li { padding:7px 0 7px 20px; }
  .location { padding:80px 24px; } .loc-btns { flex-direction:column; } .loc-btn { justify-content:space-between; } .loc-photo { margin:0 -24px; aspect-ratio:4/5; min-height:0; } .loc-addr { font-size:20px; }
  .m-cta { flex-direction:column; gap:10px; padding:18px 26px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; animation-delay:0s !important; transition-duration:.01ms !important; transition-delay:0s !important; }
  .hero-bg { scale:1; } .cursor { display:none !important; } .marquee-track { animation:none !important; } .heart { height:auto; } .heart-sticky { position:relative; height:90vh; }
}

/* WordPress admin bar */
.admin-bar .nav { top:32px; } .admin-bar .scroll-progress { top:32px; }
@media (max-width:782px) { .admin-bar .nav, .admin-bar .scroll-progress { top:46px; } }

/* map (Leaflet + OpenStreetMap) */
.loc-leaflet { position:absolute; inset:0; z-index:1; background:var(--cream); }
.loc-leaflet[hidden] { display:none; }
.loc-leaflet .leaflet-tile-pane { filter:grayscale(1) sepia(.32) brightness(1.06) contrast(.82); transition:filter .8s ease; }
.loc-photo:hover .loc-leaflet .leaflet-tile-pane { filter:grayscale(.55) sepia(.25) brightness(1.04) contrast(.88); }
.loc-leaflet.leaflet-container { font-family:var(--body); }
.loc-photo .leaflet-control-zoom { border:0 !important; box-shadow:none !important; margin:18px !important; }
.loc-photo .leaflet-control-zoom a { width:38px !important; height:38px !important; line-height:36px !important; background:rgba(248,240,229,.94) !important; color:var(--gold-deep) !important; border:1px solid var(--cream-md) !important; border-radius:0 !important; font-family:var(--display); font-size:22px !important; transition:background .3s,color .3s; }
.loc-photo .leaflet-control-zoom a + a { border-top:0 !important; }
.loc-photo .leaflet-control-zoom a:hover { background:var(--dark) !important; color:var(--on-dark) !important; }
.loc-photo .leaflet-control-attribution { background:rgba(248,240,229,.85) !important; color:var(--muted) !important; font-size:9px !important; padding:2px 8px !important; }
.loc-photo .leaflet-control-attribution a { color:var(--gold-deep) !important; }
.chalet-pin { position:relative; width:0; height:0; }
.chalet-pin-mark { position:absolute; left:-22px; top:-22px; width:44px; height:44px; background:var(--dark); display:flex; align-items:center; justify-content:center; box-shadow:0 14px 30px -10px rgba(29,22,16,.55); transform:rotate(45deg) scale(0); transition:transform .9s cubic-bezier(.2,1.4,.3,1) .4s; }
.loc-photo.in .chalet-pin-mark { transform:rotate(45deg) scale(1); }
.chalet-pin-mark svg { width:24px; height:24px; transform:rotate(-45deg); color:var(--gold-hi); }
.chalet-pin-pulse { position:absolute; left:-22px; top:-22px; width:44px; height:44px; border:1px solid var(--gold); transform:rotate(45deg); animation:pinPulse 2.6s ease-out 1.4s infinite; opacity:0; }
@keyframes pinPulse { 0%{opacity:.9;transform:rotate(45deg) scale(1)} 100%{opacity:0;transform:rotate(45deg) scale(2.6)} }
.chalet-pin-label { position:absolute; left:38px; top:-17px; white-space:nowrap; background:rgba(248,240,229,.96); padding:8px 14px 7px; font-family:var(--display); font-size:17px; font-weight:500; color:var(--dark); letter-spacing:.14em; text-transform:uppercase; box-shadow:0 10px 24px -14px rgba(29,22,16,.5); opacity:0; transform:translateX(-10px); transition:opacity .7s ease 1.1s, transform .9s var(--ease-out) 1.1s; }
.chalet-pin-label small { display:block; font-family:var(--body); font-size:9px; font-weight:500; letter-spacing:.2em; color:var(--muted); margin-top:2px; }
.loc-photo.in .chalet-pin-label { opacity:1; transform:none; }
.leaflet-div-icon.chalet-icon { background:none; border:0; }
.loc-cover { display:none; }
@media (hover:none) {
  .loc-cover { display:flex; align-items:flex-end; justify-content:center; position:absolute; inset:0; z-index:2; padding-bottom:18px; background:transparent; border:0; cursor:pointer; }
  .loc-cover span { font-family:var(--body); font-size:10px; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--dark); background:rgba(248,240,229,.94); padding:10px 16px; }
  .loc-photo.active .loc-cover { display:none; }
}
@media (max-width:680px) {
  .chalet-pin-label { left:0; top:36px; transform:translate(-50%,-8px); text-align:center; font-size:15px; padding:7px 12px 6px; }
  .loc-photo.in .chalet-pin-label { transform:translate(-50%,0); }
}
