:root{
  --ink:#07090b;
  --ivory:#f3eee5;
  --muted:#a8a093;
  --gold:#d6a447;
  --line:rgba(243,238,229,.18);
  --pad:clamp(24px,5vw,86px);
  --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;background:var(--ink);color:var(--ivory);font-family:var(--sans);overflow-x:hidden}
body::selection{background:#c99d49;color:#08090b}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:200;top:12px;left:12px;padding:10px 14px;background:#fff;color:#000;transform:translateY(-150%);transition:.2s}
.skip-link:focus{transform:translateY(0)}
#veil{position:fixed;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;mix-blend-mode:screen;opacity:.44}
.grain{position:fixed;inset:-100%;z-index:4;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");animation:grain .24s steps(2) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(3%,-2%)}50%{transform:translate(-2%,3%)}75%{transform:translate(2%,2%)}100%{transform:translate(-3%,-3%)}}
.topbar{position:fixed;z-index:50;top:0;left:0;right:0;height:88px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--pad);border-bottom:1px solid transparent;transition:background .45s,border-color .45s,backdrop-filter .45s}
.topbar.scrolled{background:rgba(7,9,11,.66);backdrop-filter:blur(18px);border-color:var(--line)}
.brand{width:116px;opacity:.94}.brand img{width:100%;height:auto;filter:saturate(.9) brightness(1.02)}
.nav{display:flex;gap:34px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(243,238,229,.78)}
.nav a{position:relative;padding:10px 0}.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:var(--gold);transition:right .3s}.nav a:hover::after,.nav a:focus-visible::after{right:0}
.nav-cta{justify-self:end;border:1px solid rgba(243,238,229,.28);padding:12px 18px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;transition:.3s}.nav-cta:hover{background:var(--ivory);color:var(--ink)}
.hero{position:relative;min-height:100svh;display:grid;place-items:center;isolation:isolate;overflow:hidden}
.hero-media{position:absolute;inset:-6%;z-index:-3;background-image:url('/assets/images/hero-medellin.webp');background-size:cover;background-position:center;transform:scale(1.05);will-change:transform;animation:hero-breathe 16s ease-in-out infinite alternate}
@keyframes hero-breathe{from{transform:scale(1.05)}to{transform:scale(1.1)}}
.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(2,4,7,.34) 0%,rgba(2,4,7,.2) 42%,rgba(2,4,7,.72) 100%),radial-gradient(circle at 50% 45%,transparent 10%,rgba(0,0,0,.44) 80%)}
.hero-content{width:min(900px,88vw);display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:52px}
.eyebrow,.section-kicker{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:rgba(243,238,229,.68)}
.hero-logo{width:min(620px,82vw);margin:26px auto 8px;filter:drop-shadow(0 20px 45px rgba(0,0,0,.55))}
.hero-line{font-family:var(--serif);font-size:clamp(21px,2.4vw,36px);font-style:italic;color:#efe6d6;letter-spacing:.015em}
.hero-arrow{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:44px;font-size:9px;letter-spacing:.32em;color:rgba(243,238,229,.72)}
.hero-arrow i{display:block;width:1px;height:62px;background:linear-gradient(var(--gold),transparent);transform-origin:top;animation:pulse-line 2.4s ease-in-out infinite}
@keyframes pulse-line{0%,100%{transform:scaleY(.45);opacity:.35}50%{transform:scaleY(1);opacity:1}}
.hero-meta{position:absolute;bottom:28px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font-size:9px;letter-spacing:.2em;color:rgba(243,238,229,.48)}
.section-pad{padding:clamp(96px,12vw,180px) var(--pad)}
.manifesto{position:relative;background:#090b0e}
.manifesto-grid{display:grid;grid-template-columns:minmax(160px,.7fr) 2fr;gap:50px;align-items:start;max-width:1320px;margin:auto}
.manifesto-copy{max-width:960px}.display{font-family:var(--serif);font-weight:400;font-size:clamp(48px,7.2vw,112px);line-height:.92;letter-spacing:-.045em;margin:0}.display em{font-weight:400;color:var(--gold)}
.lede{max-width:680px;margin:42px 0 0 auto;color:#b9b1a5;font-family:var(--serif);font-size:clamp(20px,2.2vw,31px);line-height:1.45}
.signal-row{max-width:1320px;margin:110px auto 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}
.signal-row span{padding:22px 12px;font-size:9px;letter-spacing:.16em;text-align:center;color:#817a70;border-right:1px solid var(--line)}.signal-row span:last-child{border-right:0}
.frame-story{background:#090b0e}
.story-panel{min-height:92svh;display:grid;grid-template-columns:1.8fr .8fr;position:relative;overflow:hidden;border-top:1px solid var(--line)}
.story-image{min-height:92svh;background-image:linear-gradient(90deg,transparent 70%,rgba(7,9,11,.7)),var(--bg);background-size:cover;background-position:center;will-change:background-position}
.story-copy{align-self:end;padding:0 var(--pad) 12vh 5vw;max-width:560px}
.story-copy .num{font-family:var(--serif);font-size:15px;color:var(--gold)}
.story-copy h3{font-family:var(--serif);font-size:clamp(42px,5vw,78px);font-weight:400;line-height:1;margin:18px 0 24px}
.story-copy p:last-child{color:#a9a296;line-height:1.7;font-size:14px}
.story-residence{grid-template-columns:.85fr 1.8fr}.story-residence .story-image{order:2;background-image:linear-gradient(270deg,transparent 70%,rgba(7,9,11,.7)),var(--bg)}.story-residence .story-copy{order:1;padding-left:var(--pad);padding-right:5vw}
.ritual{background:#07090b;position:relative}
.ritual-head{display:grid;grid-template-columns:.7fr 2fr;max-width:1320px;margin:0 auto 84px}.ritual-head .display{font-size:clamp(54px,7vw,102px)}
.ritual-grid{display:grid;grid-template-columns:1fr .55fr 1.4fr;gap:clamp(18px,3vw,48px);align-items:center;max-width:1320px;margin:auto}
.portrait-card{margin:0;position:relative;overflow:hidden;transform-style:preserve-3d;perspective:900px}.portrait-card img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .9s;filter:saturate(.78) contrast(1.03)}.portrait-card.wide img{aspect-ratio:4/5}.portrait-card:hover img{transform:scale(1.035);filter:saturate(.95)}
.portrait-card figcaption{display:flex;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#938b80}.portrait-card figcaption span{color:var(--gold)}
.ritual-note{align-self:center}.ritual-note>p:first-child{font-family:var(--serif);font-size:clamp(24px,3vw,42px);line-height:1.2}.thin-rule{height:1px;background:var(--line);margin:34px 0}.micro{font-size:10px!important;letter-spacing:.1em;line-height:1.8!important;text-transform:uppercase;color:#777067!important}
.cinema{height:100svh;min-height:720px;position:relative;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.cinema-image{position:absolute;inset:-8%;z-index:-3;background-image:linear-gradient(rgba(2,4,7,.12),rgba(2,4,7,.74)),url('/assets/images/villa-night.webp');background-size:cover;background-position:center}
.cinema::after{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 75% 45%,transparent 0 12%,rgba(0,0,0,.16) 38%,rgba(0,0,0,.48) 100%)}
.cinema-copy{padding:0 var(--pad) 10vh;max-width:980px}.cinema blockquote{font-family:var(--serif);font-size:clamp(42px,6vw,96px);line-height:.98;letter-spacing:-.035em;margin:22px 0 0}
.orbital{position:absolute;right:8vw;top:20%;width:240px;height:240px;opacity:.65}.orbit,.core{position:absolute;border-radius:50%;inset:0}.orbit{border:1px solid rgba(214,164,71,.34);animation:orbit 11s linear infinite}.orbit-b{inset:24%;animation-direction:reverse;animation-duration:7s;border-color:rgba(243,238,229,.22)}.core{inset:44%;background:radial-gradient(circle,#f4d993 0,#b3781b 40%,transparent 72%);filter:blur(1px);box-shadow:0 0 45px rgba(208,151,44,.45)}.orbit::before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#dfb35b;left:50%;top:-4px;box-shadow:0 0 18px #dfb35b}@keyframes orbit{to{transform:rotate(360deg)}}
.access{min-height:92svh;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 50% 20%,#11151a 0,#07090b 50%)}.access-inner{max-width:980px}.access .display{font-size:clamp(58px,8vw,118px)}.access-copy{max-width:720px;margin:44px auto 42px;color:#9e968a;line-height:1.8;font-size:15px}.access-button{display:inline-flex;align-items:center;gap:80px;min-width:min(100%,520px);justify-content:space-between;border:1px solid rgba(214,164,71,.56);background:transparent;color:var(--ivory);padding:19px 20px 19px 24px;cursor:pointer;text-transform:uppercase;font-size:10px;letter-spacing:.16em;transition:.35s}.access-button:hover{background:var(--gold);color:#090a0c;border-color:var(--gold)}.access .micro{margin-top:24px}
.footer{min-height:220px;padding:50px var(--pad);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:end;color:#777067;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.footer div{width:110px}.footer p:nth-child(2){text-align:center}.footer p:last-child{text-align:right}
.request-dialog{border:0;padding:0;background:transparent;color:var(--ivory);width:min(640px,92vw)}.request-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(10px)}.request-card{position:relative;background:#0b0e12;border:1px solid rgba(214,164,71,.32);padding:clamp(32px,6vw,68px);box-shadow:0 30px 120px rgba(0,0,0,.65)}.request-card h2{font-family:var(--serif);font-size:clamp(44px,7vw,76px);font-weight:400;margin:15px 0 24px}.request-card>p:not(.section-kicker){color:#aaa196;line-height:1.7}.dialog-close{position:absolute;right:16px;top:12px;background:none;border:0;color:#aaa;font-size:34px;cursor:pointer}.request-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:34px 0}.request-fields span{padding:16px;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:.16em;color:#746d63}.dialog-ack{width:100%;border:1px solid var(--line);background:var(--ivory);color:#090b0e;padding:15px;text-transform:uppercase;font-size:10px;letter-spacing:.16em;cursor:pointer}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s cubic-bezier(.16,1,.3,1)}.reveal.in{opacity:1;transform:none}
@media(max-width:900px){.topbar{height:72px;grid-template-columns:1fr auto}.nav{display:none}.brand{width:96px}.nav-cta{font-size:9px;padding:10px 12px}.manifesto-grid,.ritual-head{grid-template-columns:1fr;gap:28px}.signal-row{grid-template-columns:1fr 1fr}.signal-row span:nth-child(2){border-right:0}.signal-row span:nth-child(-n+2){border-bottom:1px solid var(--line)}.story-panel,.story-residence{grid-template-columns:1fr;min-height:auto}.story-image,.story-residence .story-image{order:1;min-height:68svh;background-image:linear-gradient(180deg,transparent 58%,rgba(7,9,11,.88)),var(--bg)}.story-copy,.story-residence .story-copy{order:2;padding:42px var(--pad) 90px}.ritual-grid{grid-template-columns:1fr}.ritual-note{padding:30px 0}.portrait-card img,.portrait-card.wide img{aspect-ratio:4/5}.orbital{width:150px;height:150px;right:-20px;top:18%}.footer{grid-template-columns:1fr;text-align:left}.footer p:nth-child(2),.footer p:last-child{text-align:left}.hero-logo{width:min(530px,90vw)}}
@media(max-width:560px){.hero-content{width:90vw}.hero-logo{width:94vw}.hero-line{font-size:21px}.hero-meta{font-size:8px}.display{font-size:49px}.manifesto{padding-top:110px}.lede{font-size:20px;margin-top:32px}.signal-row{margin-top:70px}.story-image,.story-residence .story-image{min-height:58svh}.cinema{min-height:690px}.cinema blockquote{font-size:44px}.access .display{font-size:54px}.access-button{gap:20px;min-width:0;width:100%}.footer{padding-bottom:36px}.request-fields{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.grain,.hero-media,.hero-arrow i,.orbit{animation:none!important}.reveal{opacity:1;transform:none;transition:none}.portrait-card img{transition:none}#veil{display:none}}
