/* House of Frequency — Main Stylesheet */
:root{--crimson:#6e1a1a;--crimson-deep:#3d0d0d;--cream:#f2e8d6;--ink:#0e0a07;--gold:#c9a84c;--warm:#1a1008;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--cream);font-family:'Cormorant Garamond',serif;overflow-x:hidden;cursor:none}
.cursor{position:fixed;width:8px;height:8px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .3s,height .3s;mix-blend-mode:difference}
.cursor-ring{position:fixed;width:36px;height:36px;border:1px solid rgba(201,168,76,.4);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .4s,height .4s,border-color .4s}

nav{position:fixed;top:0;left:0;right:0;z-index:500;padding:1.6rem 3rem;display:flex;justify-content:space-between;align-items:center}
.nav-wordmark{font-family:'Playfair Display',serif;font-size:.78rem;font-style:italic;letter-spacing:.15em;color:rgba(242,232,214,.5);transition:color .4s}
nav:hover .nav-wordmark{color:rgba(242,232,214,.85)}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-family:'Courier Prime',monospace;font-size:.52rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(242,232,214,.32);text-decoration:none;transition:color .3s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--gold);transition:width .4s}
.nav-links a:hover{color:rgba(242,232,214,.78)}
.nav-links a:hover::after{width:100%}

.hero{width:100%;height:100vh;position:relative;overflow:hidden;display:flex;align-items:flex-end}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.75) saturate(1.1) contrast(1.0);transform:scale(1.06);animation:heroZoom 18s ease-out forwards}
@keyframes heroZoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.hero-v1{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,rgba(14,10,7,.88) 0%,rgba(14,10,7,.15) 50%,transparent 100%);pointer-events:none}
.hero-v2{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(14,10,7,.2) 0%,transparent 20%,transparent 50%,rgba(14,10,7,.92) 100%);pointer-events:none}
.hero-content{position:relative;z-index:2;width:100%;padding:0 3rem 5rem;display:grid;grid-template-columns:1fr 1fr;align-items:flex-end;gap:3rem}
.hero-kicker{font-family:'Courier Prime',monospace;font-size:.55rem;letter-spacing:.45em;text-transform:uppercase;color:var(--gold);opacity:.7;display:block;margin-bottom:1.4rem;animation:fadeUp 1.2s ease .2s both}
.hero-title{font-family:'Playfair Display',serif;font-size:clamp(4rem,9vw,10.5rem);font-weight:900;line-height:.82;letter-spacing:-.03em;color:var(--cream);animation:fadeUp 1.2s ease .4s both}
.hero-title em{display:block;font-style:italic;color:rgba(242,232,214,.55)}
.hero-right{padding-bottom:.5rem;animation:fadeUp 1.2s ease .6s both}
.hero-desc{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-style:italic;line-height:1.8;color:rgba(242,232,214,.5);max-width:38ch;margin-bottom:2rem;border-left:1px solid rgba(201,168,76,.25);padding-left:1.5rem}
.hero-meta{display:flex;align-items:center;gap:1.5rem}
.hero-coords{font-family:'Courier Prime',monospace;font-size:.52rem;letter-spacing:.25em;color:rgba(242,232,214,.28)}
.hero-dot{width:3px;height:3px;border-radius:50%;background:var(--gold);opacity:.35}

.marquee-strip{background:var(--crimson);padding:.85rem 0;overflow:hidden;border-top:1px solid rgba(201,168,76,.12);border-bottom:1px solid rgba(201,168,76,.12)}
.marquee-inner{display:flex;white-space:nowrap;animation:marquee 35s linear infinite}
.marquee-item{font-family:'Playfair Display',serif;font-size:.8rem;font-style:italic;color:rgba(242,232,214,.6);letter-spacing:.1em;padding:0 3rem;flex-shrink:0}
.marquee-item span{color:var(--gold);opacity:.5;margin:0 .8rem}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.s-label{font-family:'Courier Prime',monospace;font-size:.52rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);opacity:.45;display:flex;align-items:center;gap:1.2rem;margin-bottom:3rem}
.s-label::after{content:'';flex:0 0 50px;height:1px;background:var(--gold);opacity:.25}
.t-display{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,5vw,5.5rem);font-weight:900;line-height:.88;letter-spacing:-.025em;text-transform:uppercase;color:var(--cream)}
.t-display em{font-style:italic;display:block;opacity:.6}
.t-body{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-style:italic;line-height:1.9;color:rgba(242,232,214,.52);margin-top:1.4rem}
.t-body strong{color:var(--gold);font-weight:400}
.t-micro{font-family:'Courier Prime',monospace;font-size:.52rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(242,232,214,.28)}
.plh{font-family:'Playfair Display',serif;font-size:clamp(1.4rem,2.5vw,2.5rem);font-weight:900;text-transform:uppercase;line-height:.9;letter-spacing:-.015em;color:var(--cream)}
.plh em{font-style:italic;opacity:.7;display:block}
.ov{position:absolute;inset:0;pointer-events:none}
.ov-dark{background:linear-gradient(to top,rgba(14,10,7,.75) 0%,rgba(14,10,7,.02) 45%,transparent 100%)}
.ov-side{background:linear-gradient(to top,rgba(14,10,7,.7) 0%,transparent 55%)}
.ptxt{position:absolute;bottom:2.2rem;left:2.2rem;z-index:2}
.ptxt-r{position:absolute;bottom:2.2rem;right:2.2rem;z-index:2;text-align:right}
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s cubic-bezier(.25,.46,.45,.94),transform 1s cubic-bezier(.25,.46,.45,.94)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-d1{transition-delay:.12s}.reveal-d2{transition-delay:.24s}.reveal-d3{transition-delay:.36s}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

.p-tile{position:relative;overflow:hidden}
.p-tile img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.95) saturate(1.15) contrast(1.02);transition:transform 12s ease}
.p-tile:hover img{transform:scale(1.04)}

/* ══ FINCA ══ */
.finca-section{display:grid;grid-template-columns:1fr 1fr 1fr;min-height:90vh;border-top:1px solid rgba(242,232,214,.06)}
.finca-l{background:var(--crimson-deep);padding:6rem 4rem;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;border-right:1px solid rgba(242,232,214,.06)}
.finca-ghost{position:absolute;top:-2rem;right:-1rem;font-family:'Playfair Display',serif;font-size:18rem;font-weight:900;font-style:italic;line-height:.8;color:rgba(242,232,214,.03);pointer-events:none;letter-spacing:-.05em}
.finca-mid{background:var(--warm);padding:6rem 4rem;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(242,232,214,.06)}
.finca-mid p{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-style:italic;line-height:1.95;color:rgba(242,232,214,.52);margin-bottom:1.4rem}
.finca-cite{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;font-style:italic;color:var(--gold);line-height:1.3;border-top:1px solid rgba(201,168,76,.18);padding-top:1.4rem;margin-top:2rem;opacity:.85}

.finca-photo-col{position:relative;overflow:hidden;background:var(--ink)}
.finca-photo-col img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.92) contrast(1.05) saturate(.85);transition:transform 12s ease}
.finca-photo-col:hover img{transform:scale(1.04)}
.finca-photo-caption{position:absolute;bottom:0;left:0;right:0;padding:2rem;z-index:2;background:linear-gradient(to top,rgba(14,10,7,.75) 0%,transparent 100%)}

.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(242,232,214,.06);border-bottom:1px solid rgba(242,232,214,.06)}
.stat{padding:4rem 2.5rem;border-right:1px solid rgba(242,232,214,.06);display:flex;flex-direction:column;justify-content:space-between;min-height:220px;position:relative;overflow:hidden;transition:filter .4s}
.stat:nth-child(1){background:var(--crimson)}.stat:nth-child(2){background:#110b08}.stat:nth-child(3){background:var(--crimson-deep)}.stat:nth-child(4){background:var(--warm);border-right:none}
.stat:hover{filter:brightness(1.12)}
.stat-n{position:absolute;top:1rem;right:1rem;font-family:'Playfair Display',serif;font-size:7rem;font-weight:900;font-style:italic;line-height:.8;color:rgba(242,232,214,.07);pointer-events:none}
.stat-val{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,4vw,4.5rem);font-weight:900;font-style:italic;line-height:.85;color:var(--cream);position:relative;z-index:1}
.stat:nth-child(4) .stat-val{color:var(--gold)}
.stat-txt{font-family:'Courier Prime',monospace;font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(242,232,214,.35);line-height:1.7;position:relative;z-index:1}

.studio-tag{font-family:'Courier Prime',monospace;font-size:.52rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);opacity:.5;margin-bottom:2rem}
.studio-nm{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,4.5vw,4.5rem);font-weight:900;line-height:.88;letter-spacing:-.025em;text-transform:uppercase;color:var(--cream)}
.studio-nm em{font-style:italic;display:block;opacity:.5;font-size:.72em}
.sdiv{width:40px;height:1px;background:var(--gold);opacity:.3;margin:1.8rem 0}
.studio-txt p{font-family:'Cormorant Garamond',serif;font-size:1rem;font-style:italic;line-height:1.95;color:rgba(242,232,214,.5);margin-bottom:1.2rem}
.studio-txt p strong{color:var(--gold);font-weight:400}
.studio-txt p:last-child{margin-bottom:0}
.studio-feel{font-family:'Playfair Display',serif;font-size:1.15rem;font-style:italic;font-weight:700;color:rgba(242,232,214,.65);line-height:1.4;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(242,232,214,.07)}

.s-hero{width:100%;height:85vh;position:relative;overflow:hidden;border-top:1px solid rgba(242,232,214,.06)}
.s-hero img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.95) saturate(1.15) contrast(1.02);transition:transform 12s ease}
.s-hero:hover img{transform:scale(1.03)}
.s-hero-ov1{position:absolute;inset:0;background:linear-gradient(to top,rgba(14,10,7,.85) 0%,rgba(14,10,7,.05) 45%,transparent 100%);pointer-events:none}
.s-hero-ov2{position:absolute;inset:0;background:linear-gradient(to right,rgba(61,13,13,.15) 0%,transparent 50%);pointer-events:none}
.s-hero-txt{position:absolute;bottom:4rem;left:4rem;z-index:2}
.s-hero-tag{font-family:'Courier Prime',monospace;font-size:.52rem;letter-spacing:.45em;text-transform:uppercase;color:var(--gold);opacity:.6;display:block;margin-bottom:1rem}
.s-hero-title{font-family:'Playfair Display',serif;font-size:clamp(4rem,8vw,9rem);font-weight:900;line-height:.82;letter-spacing:-.03em;text-transform:uppercase;color:var(--cream)}
.s-hero-title em{font-style:italic;opacity:.55;display:block}

.s-full{width:100%;height:75vh;position:relative;overflow:hidden;border-top:1px solid rgba(242,232,214,.06)}
.s-full img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.92) saturate(1.15) contrast(1.02);transition:transform 12s ease}
.s-full:hover img{transform:scale(1.03)}

.two-col{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(242,232,214,.06)}
.two-col-rev{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(242,232,214,.06);direction:rtl}
.two-col-rev>*{direction:ltr}
.tc-warm{background:var(--warm);padding:6rem 4.5rem;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(242,232,214,.06)}
.tc-deep{background:var(--crimson-deep);padding:6rem 4.5rem;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(242,232,214,.06)}
.tc-dark{background:#0a0806;padding:6rem 4.5rem;display:flex;flex-direction:column;justify-content:center}
.tc-rev-deep{background:var(--crimson-deep);padding:6rem 4.5rem;display:flex;flex-direction:column;justify-content:center;border-left:1px solid rgba(242,232,214,.06)}

.tri-grid{display:grid;grid-template-columns:1fr 1fr 1fr;min-height:65vh;border-top:1px solid rgba(242,232,214,.06)}
.tri-cell{position:relative;overflow:hidden;border-right:1px solid rgba(242,232,214,.06)}
.tri-cell:last-child{border-right:none}
.tri-cell img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.95) saturate(1.15) contrast(1.02);transition:transform 10s ease}
.tri-cell:hover img{transform:scale(1.05)}
.tri-dark{background:var(--crimson-deep);padding:3rem;display:flex;flex-direction:column;justify-content:flex-end}
.tri-crimson{background:var(--crimson);padding:3rem;display:flex;flex-direction:column;justify-content:flex-end}

.sc-hero{width:100%;height:100vh;position:relative;overflow:hidden;border-top:1px solid rgba(242,232,214,.06)}
.sc-hero img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.95) saturate(1.1) contrast(1.0);transition:transform 14s ease}
.sc-hero:hover img{transform:scale(1.03)}
.sc-hero-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(14,10,7,.8) 0%,rgba(14,10,7,.02) 42%,transparent 100%);pointer-events:none}
.sc-hero-ov2{position:absolute;inset:0;background:linear-gradient(135deg,rgba(14,10,7,.15) 0%,transparent 50%);pointer-events:none}

.yurt-hero{width:100%;height:85vh;position:relative;overflow:hidden;border-top:1px solid rgba(242,232,214,.06)}
.yurt-hero img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.92) saturate(1.15) contrast(1.02);transition:transform 12s ease}
.yurt-hero:hover img{transform:scale(1.03)}
.yurt-hero-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(14,10,7,.78) 0%,rgba(14,10,7,.02) 48%,transparent 100%);pointer-events:none}
.yurt-hero-ov2{position:absolute;inset:0;background:linear-gradient(to right,rgba(61,13,13,.15) 0%,transparent 50%);pointer-events:none}
.yurt-info{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(242,232,214,.06)}
.yurt-text{background:var(--crimson);padding:6rem 4.5rem;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(242,232,214,.06)}
.yurt-body{background:var(--crimson-deep);padding:6rem 4.5rem;display:flex;flex-direction:column;justify-content:center}

.manifesto{min-height:65vh;background:var(--crimson);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:6rem 4rem;border-top:1px solid rgba(242,232,214,.06)}
.manifesto::before{content:'HOF';position:absolute;font-family:'Playfair Display',serif;font-size:28vw;font-weight:900;font-style:italic;color:rgba(242,232,214,.04);line-height:1;pointer-events:none;letter-spacing:-.05em;white-space:nowrap}
.manifesto-inner{text-align:center;position:relative;z-index:1;max-width:900px}
.manifesto-text{font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,5.5rem);font-weight:900;font-style:italic;line-height:1;color:var(--cream);margin-bottom:2rem}
.manifesto-text em{display:block;opacity:.55;font-size:.72em}
.manifesto-sub{font-family:'Courier Prime',monospace;font-size:.52rem;letter-spacing:.4em;text-transform:uppercase;color:rgba(242,232,214,.22)}

.contact{display:grid;grid-template-columns:1fr 1.4fr;min-height:90vh;border-top:1px solid rgba(242,232,214,.06)}
.contact-l{background:var(--ink);padding:6rem 4rem;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid rgba(242,232,214,.06);position:relative;overflow:hidden}
.contact-l::before{content:'';position:absolute;bottom:-10rem;left:-10rem;width:40rem;height:40rem;border-radius:50%;border:1px solid rgba(201,168,76,.05)}
.contact-l::after{content:'';position:absolute;bottom:-6rem;left:-6rem;width:28rem;height:28rem;border-radius:50%;border:1px solid rgba(201,168,76,.04)}
.contact-kicker{font-family:'Courier Prime',monospace;font-size:.52rem;letter-spacing:.45em;text-transform:uppercase;color:var(--gold);opacity:.45;display:block;margin-bottom:1.5rem}
.contact-h{font-family:'Playfair Display',serif;font-size:clamp(3rem,5.5vw,6rem);font-weight:900;line-height:.85;letter-spacing:-.03em;color:var(--cream);margin-bottom:2.5rem}
.contact-h em{font-style:italic;display:block;opacity:.5}
.contact-desc{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-style:italic;line-height:1.85;color:rgba(242,232,214,.42);max-width:36ch;position:relative;z-index:1}
.contact-info{position:relative;z-index:1}
.c-row{margin-bottom:1.4rem;padding-bottom:1.4rem;border-bottom:1px solid rgba(242,232,214,.06)}
.c-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.c-label{font-family:'Courier Prime',monospace;font-size:.48rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(242,232,214,.22);display:block;margin-bottom:.3rem}
.c-val{font-family:'Cormorant Garamond',serif;font-size:1rem;font-style:italic;color:rgba(242,232,214,.58)}
.contact-r{background:var(--warm);padding:6rem 4rem;display:flex;flex-direction:column;justify-content:center}
.form{display:flex;flex-direction:column}
.form-grid{display:grid;grid-template-columns:1fr 1fr}
.f{background:transparent;border:1px solid rgba(242,232,214,.07);border-right:none;border-bottom:none;padding:1.6rem 1.8rem;display:flex;flex-direction:column;gap:.4rem;transition:background .3s,border-color .3s}
.f:last-child,.f.full{border-right:1px solid rgba(242,232,214,.07)}
.f.full{grid-column:1/-1}
.f:focus-within{background:rgba(242,232,214,.03);border-color:rgba(201,168,76,.2)}
.f-l{font-family:'Courier Prime',monospace;font-size:.46rem;letter-spacing:.32em;text-transform:uppercase;color:rgba(242,232,214,.22)}
.f input,.f textarea,.f select{background:transparent;border:none;outline:none;font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-style:italic;color:var(--cream);width:100%;resize:none;appearance:none}
.f input::placeholder,.f textarea::placeholder{color:rgba(242,232,214,.18)}
.f select option{background:var(--ink)}
.f textarea{min-height:100px}
.form-top{border:1px solid rgba(242,232,214,.07);border-bottom:none}
.form-mid{border:1px solid rgba(242,232,214,.07);border-bottom:none}
.form-submit{border:1px solid rgba(242,232,214,.07);background:var(--crimson);padding:1.6rem 1.8rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;transition:all .4s}
.form-submit::before{content:'';position:absolute;inset:0;background:var(--gold);transform:translateX(-100%);transition:transform .5s cubic-bezier(.77,0,.175,1)}
.form-submit:hover::before{transform:translateX(0)}
.form-submit:hover .fs-text,.form-submit:hover .fs-arrow{color:var(--ink)}
.fs-text{font-family:'Playfair Display',serif;font-size:1.05rem;font-style:italic;color:var(--cream);position:relative;z-index:1;transition:color .4s}
.fs-arrow{font-family:'Courier Prime',monospace;font-size:.75rem;color:rgba(242,232,214,.45);position:relative;z-index:1;transition:color .4s,transform .4s}
.form-submit:hover .fs-arrow{transform:translateX(6px)}

footer{background:var(--crimson-deep);padding:2.5rem 3rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(242,232,214,.06)}
.f-brand{font-family:'Playfair Display',serif;font-size:.9rem;font-style:italic;font-weight:700;color:rgba(242,232,214,.5)}
.f-copy{font-family:'Courier Prime',monospace;font-size:.48rem;letter-spacing:.22em;color:rgba(242,232,214,.2)}
.f-loc{font-family:'Courier Prime',monospace;font-size:.48rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(201,168,76,.3)}

@media(max-width:900px){
  nav{padding:1rem 1.5rem}.nav-links{display:none}
  body{cursor:auto}.cursor,.cursor-ring{display:none}
  .hero-content{grid-template-columns:1fr;padding:0 1.5rem 3.5rem}.hero-right{display:none}
  .finca-section{grid-template-columns:1fr}
  .two-col,.two-col-rev,.yurt-info,.contact{grid-template-columns:1fr}
  .two-col-rev{direction:ltr}
  .tri-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .form-grid{grid-template-columns:1fr}
  footer{flex-direction:column;gap:.6rem;text-align:center}
  .s-hero,.sc-hero,.yurt-hero{height:60vh}
  .tc-warm,.tc-deep,.tc-dark,.tc-rev-deep,.yurt-text,.yurt-body,.finca-l,.finca-mid{padding:4rem 2rem}
}
