@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{--ink:#0a0d0b;--paper:#e8ead9;--acid:#b9d86c;--forest:#101c15;--line:rgba(10,13,11,.25)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--ink);font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.topbar{position:fixed;z-index:30;top:0;left:0;right:0;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 3.2vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.2);transition:.35s;background:linear-gradient(#0007,transparent)}.topbar.scrolled{background:#0a0d0bf2;backdrop-filter:blur(14px)}.brand{display:flex;gap:12px;align-items:center;font-size:12px;font-weight:700;letter-spacing:.13em}.signal{font-size:27px}.desktop-nav{display:flex;gap:28px;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.desktop-nav a:hover{opacity:.6}.entity-link,.mobile-menu button,footer button{border:0;background:none;color:inherit;cursor:pointer;font:inherit;letter-spacing:.1em}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:22px}.mobile-menu{display:none}.hero{height:100svh;min-height:680px;position:relative;color:white;overflow:hidden;background:#09100c}.hero-slideshow{position:absolute;inset:0}.hero-slide{position:absolute;inset:0;background-position:center 58%;background-size:cover;background-repeat:no-repeat;opacity:0;transform:scale(1.015);transition:opacity 1.35s ease,transform 6s ease}.hero-slide.active{opacity:1;transform:scale(1)}.hero-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#0009 0%,#0001 60%),linear-gradient(0deg,#0009 0%,transparent 45%)}.hero-meta{position:absolute;z-index:2;top:105px;left:3.2vw;right:3.2vw;display:flex;justify-content:space-between;font:10px "IBM Plex Mono";letter-spacing:.12em}.hero-copy{position:absolute;z-index:2;left:3.2vw;right:3.2vw;bottom:4.5vh}.eyebrow,.section-index{font:10px "IBM Plex Mono";letter-spacing:.14em;text-transform:uppercase}.hero h1{font-size:clamp(64px,11vw,170px);line-height:.78;letter-spacing:-.07em;margin:16px 0 35px;font-weight:800}.hero-bottom{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #ffffff70;padding-top:18px}.hero-bottom p{max-width:460px;margin:0;font-size:14px;line-height:1.5}.round-arrow{border:1px solid #fff;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:24px}.paper{background:var(--paper)}.manifesto{padding:100px 3.2vw}.manifesto>h2,.products h2,.inventory h2,.services>h2,.architecture h2,.contact h2{font-size:clamp(58px,10vw,150px);line-height:.82;letter-spacing:-.075em;margin:60px 0;font-weight:800}.manifesto-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-left:35%;margin-bottom:80px}.manifesto-grid p{line-height:1.55}.manifesto-grid .lead{font-size:24px;margin:0}.editorial-photo{margin:0}.editorial-photo img{width:100%;height:75vh;object-fit:cover}.editorial-photo figcaption,.product-gallery figcaption{display:flex;justify-content:space-between;font:9px "IBM Plex Mono";letter-spacing:.1em;padding-top:10px}.split-story{display:grid;grid-template-columns:1.1fr .9fr;background:#111a13;color:#fff}.story-photo img{width:100%;height:100%;min-height:720px;object-fit:cover}.story-copy{padding:80px 6vw;display:flex;flex-direction:column;justify-content:center}.story-copy h3{font-size:clamp(55px,7vw,110px);line-height:.85;letter-spacing:-.06em;margin:35px 0}.story-copy p{max-width:480px;line-height:1.6}.microline{margin-top:80px;border-top:1px solid #ffffff50;padding-top:15px;display:flex;justify-content:space-between;font:9px "IBM Plex Mono"}.dark{background:#09100c;color:#f1f1e8}.products{padding:100px 3.2vw}.products-title{display:flex;align-items:end;justify-content:space-between}.products-title h2 span{color:var(--acid)}.products-title p{max-width:380px;line-height:1.6;margin-bottom:65px}.product-gallery{display:grid;grid-template-columns:1.35fr .65fr;gap:20px}.product-gallery figure{margin:0}.product-gallery img{width:100%;height:68vh;object-fit:cover}.product-gallery figure:last-child img{height:52vh;margin-top:16vh}.inventory{padding:100px 3.2vw}.inventory-head{display:grid;grid-template-columns:1.5fr .5fr;gap:5vw;align-items:end}.inventory-head p{line-height:1.6;margin-bottom:65px}.specimen{border-top:1px solid var(--line);display:grid;grid-template-columns:1.4fr .6fr;padding-top:25px;gap:35px}.specimen-image{position:relative}.specimen-image img{width:100%;height:70vh;object-fit:cover;filter:saturate(.72)}.crosshair{position:absolute;border:1px solid #fff;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;color:white}.c1{top:25%;left:30%}.c2{top:63%;left:67%}.specimen-data{padding:30px 0}.tag{font:10px "IBM Plex Mono";border:1px solid;padding:7px 10px}.specimen-data h3{font-size:48px;line-height:.9;letter-spacing:-.05em;margin:50px 0}.specimen dl,.tree-demo dl{border-top:1px solid var(--line)}.specimen dl div,.tree-demo dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0}.specimen dt,.tree-demo dt{font:9px "IBM Plex Mono"}.specimen dd,.tree-demo dd{margin:0;font-size:12px}.outline-btn,.solid-btn{margin-top:30px;border:1px solid;background:transparent;padding:14px 18px;font:10px "IBM Plex Mono";letter-spacing:.08em;cursor:pointer}.field-map{height:100vh;position:relative;color:#fff;overflow:hidden}.field-map>img{width:100%;height:100%;object-fit:cover;filter:brightness(.68) saturate(.8)}.field-overlay{position:absolute;inset:0;padding:80px 3.2vw;display:flex;flex-direction:column;justify-content:space-between}.field-overlay h2{font-size:clamp(55px,9vw,140px);line-height:.82;letter-spacing:-.07em;margin:0}.field-overlay svg{width:60%;height:160px;align-self:flex-end}.field-overlay path{fill:none;stroke:white;stroke-width:1}.field-overlay circle{fill:white}.services{padding:100px 3.2vw}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-grid article{padding:28px;min-height:260px;border-right:1px solid var(--line)}.service-grid article:last-child{border:0}.service-grid span{font:10px "IBM Plex Mono"}.service-grid h3{font-size:30px;margin-top:55px}.service-grid p{font-size:13px;line-height:1.6;max-width:300px}.service-images{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:80px}.service-images img{width:100%;height:65vh;object-fit:cover}.architecture{padding:100px 3.2vw}.architecture-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:center}.architecture-grid>img{width:100%;height:80vh;object-fit:cover}.architecture h2{font-size:clamp(60px,8vw,125px)}.architecture-grid p{max-width:380px;line-height:1.6}.wide-interior{margin:100px 0 0}.wide-interior img{width:100%;height:65vh;object-fit:cover}.contact{padding:100px 3.2vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact form{padding-top:80px}.contact label,#loginDialog label{display:block;font:9px "IBM Plex Mono";letter-spacing:.1em;margin-bottom:24px}.contact input,.contact textarea,#loginDialog input{display:block;width:100%;border:0;border-bottom:1px solid;background:transparent;padding:14px 0;outline:0;border-radius:0}.solid-btn{background:var(--ink);color:white;border-color:var(--ink)}.form-status{font-size:12px}footer{background:#050706;color:#eee;min-height:300px;padding:55px 3.2vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end}footer div{display:flex;gap:15px;align-items:center;font-size:24px;line-height:.9}footer p,footer button{font:10px "IBM Plex Mono";line-height:1.7}footer button{text-align:right}dialog{width:min(760px,92vw);border:1px solid #ffffff2e;background:#080c09;color:#fff;padding:55px;box-shadow:0 40px 120px #000b}dialog::backdrop{background:#000c;backdrop-filter:blur(10px)}dialog h2{font-size:clamp(50px,9vw,100px);letter-spacing:-.07em;margin:30px 0 10px}.dialog-close{position:absolute;right:22px;top:18px;background:none;border:0;color:white;font-size:35px;cursor:pointer}.login-mark{font-size:45px;margin-bottom:30px}#loginDialog form{margin-top:45px}#loginDialog input{color:#fff;border-color:#ffffff55}#loginDialog small{display:block;margin-top:20px;opacity:.55}.tree-demo{display:grid;grid-template-columns:1fr 1fr;gap:30px}.tree-demo img{width:100%;height:340px;object-fit:cover}
@media(max-width:850px){.desktop-nav{display:none}.menu-btn{display:block}.mobile-menu{position:fixed;z-index:29;inset:76px 0 auto;background:#090d0a;color:white;padding:30px 5vw;flex-direction:column;gap:24px;font-size:20px}.mobile-menu.open{display:flex}.mobile-menu button{text-align:left;padding:0}.hero{background-position:61% center}.hero h1{font-size:18vw}.manifesto,.products,.inventory,.services,.architecture,.contact{padding:80px 5vw}.manifesto-grid{grid-template-columns:1fr;margin-left:0}.split-story,.inventory-head,.specimen,.architecture-grid,.contact{grid-template-columns:1fr}.story-photo img{min-height:560px}.product-gallery{grid-template-columns:1fr}.product-gallery figure:last-child img{margin-top:0;height:60vh}.products-title{display:block}.service-grid{grid-template-columns:1fr}.service-grid article{border-right:0;border-bottom:1px solid var(--line)}.service-images{grid-template-columns:1fr}.field-overlay svg{width:100%}.architecture-grid>img{height:60vh}.contact form{padding-top:0}footer{grid-template-columns:1fr;gap:45px}footer button{text-align:left}.tree-demo{grid-template-columns:1fr}dialog{padding:40px 25px}}

.about-full{align-items:start}
.about-copy p{margin:0 0 1.25rem;line-height:1.65}
.about-copy strong{font-weight:600}

.slide-indicators{position:absolute;z-index:3;right:3.2vw;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:10px}.slide-indicators button{width:30px;padding:5px 0;border:0;border-right:1px solid rgba(255,255,255,.3);background:transparent;color:rgba(255,255,255,.55);font:10px 'IBM Plex Mono';cursor:pointer;transition:.3s}.slide-indicators button.active{color:#fff;border-right:3px solid #fff}@media(max-width:850px){.hero-slide{background-position:center center}.slide-indicators{right:5vw;top:auto;bottom:4.5vh;transform:none;flex-direction:row}.slide-indicators button{border-right:0;border-bottom:1px solid rgba(255,255,255,.3)}.slide-indicators button.active{border-right:0;border-bottom:3px solid #fff}}


/* Hero redesign — Hacienda La Señal */
.hero-redesign{height:100svh;min-height:650px;background:#071008}
.hero-redesign .hero-slide{background-position:center center;filter:saturate(1.08) contrast(1.04) brightness(.92)}
.hero-redesign .hero-aerial{background-position:center center}
.hero-redesign .hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.03) 38%,rgba(0,0,0,.18) 100%)}
.hero-topbar{height:100px;border-bottom:0;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent);padding:18px 3.2vw 0;align-items:flex-start}
.hero-topbar.scrolled{height:76px;padding-top:0;align-items:center;background:#0a0d0bf2}
.anniversary-brand{width:142px;height:76px;display:flex;align-items:center;justify-content:flex-start;overflow:visible}
.anniversary-brand img{display:block;width:138px;height:auto;max-height:76px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}
.hero-nav{position:absolute;left:50%;transform:translateX(-50%);top:36px;gap:52px;white-space:nowrap;font-size:10px;font-weight:600;letter-spacing:.19em}
.hero-nav a{position:relative;padding-bottom:13px}
.hero-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#fff}
.hero-social{display:flex;gap:25px;align-items:center;font-size:20px;font-weight:700;padding-top:10px}
.hero-center-logo{position:absolute;z-index:3;left:50%;top:48%;transform:translate(-50%,-50%);width:min(72vw,1120px)}
.hero-center-logo img{display:block;width:100%;height:auto;filter:drop-shadow(0 2px 10px rgba(0,0,0,.12))}
.hero-tagline{position:absolute;z-index:3;left:50%;top:68%;transform:translateX(-50%);margin:0;white-space:nowrap;font-size:12px;font-weight:600;letter-spacing:.52em;text-shadow:0 1px 5px #0008}
.hero-tagline i{font-style:normal;margin:0 17px;opacity:.9}
.hero-progress{position:absolute;z-index:3;left:3.2vw;bottom:5.2vh;display:flex;align-items:center;gap:6px;font:10px "IBM Plex Mono";letter-spacing:.12em}
.hero-progress strong{font-weight:500}.hero-progress span{opacity:.9}.hero-progress b{display:block;width:150px;height:1px;background:linear-gradient(90deg,#fff 0 35%,rgba(255,255,255,.38) 35%);margin-left:14px}
.hero-explore{position:absolute;z-index:3;left:50%;bottom:2.3vh;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;color:#fff}
.hero-explore em{font-style:normal;font-size:9px;font-weight:600;letter-spacing:.35em}
.hero-explore>i{display:block;width:1px;height:34px;background:#fff;margin-top:2px}
.mouse-icon{display:block;width:22px;height:35px;border:1.5px solid #fff;border-radius:13px;position:relative}.mouse-icon:after{content:"";position:absolute;width:2px;height:7px;border-radius:2px;background:#fff;left:50%;top:7px;transform:translateX(-50%)}
.hero-arrows{position:absolute;z-index:4;right:3.2vw;bottom:4.1vh;display:flex;gap:22px}.hero-arrows button{border:0;background:transparent;color:#fff;font-size:38px;font-weight:200;line-height:1;padding:0 4px;cursor:pointer}
.hero-redesign .slide-indicators{display:none}
@media(max-width:850px){
 .hero-topbar{height:82px;padding:10px 5vw 0}.hero-topbar.scrolled{height:70px;padding-top:0}.anniversary-brand{width:100px;height:62px}.anniversary-brand img{width:98px;max-height:60px}.hero-social{display:none}.hero-topbar .menu-btn{display:block;margin-top:10px}.hero-topbar.scrolled .menu-btn{margin-top:0}
 .hero-center-logo{width:90vw;top:47%}.hero-tagline{top:62%;font-size:8px;letter-spacing:.28em}.hero-tagline i{margin:0 7px}.hero-progress{left:5vw;bottom:4vh}.hero-progress b{width:70px}.hero-arrows{right:5vw;bottom:3.2vh}.hero-explore{bottom:1.7vh}.hero-explore>i{height:24px}
}

/* V4 — hero matched to approved reference */
.hero-redesign .hero-aerial{filter:none;background-position:center center}
.hero-redesign .hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,0) 55%,rgba(0,0,0,.13) 100%)}
.hero-topbar{height:112px;padding:28px 3.6vw 0;background:transparent;align-items:flex-start}
.anniversary-brand{width:150px;height:82px}
.anniversary-brand img{width:145px;max-height:82px;filter:none}
.hero-nav{top:55px;gap:66px;font-size:11px;letter-spacing:.18em}
.hero-nav a{padding-bottom:12px}
.hero-social{padding-top:17px;gap:24px;font-size:21px}
.hero-center-logo{top:47%;width:min(52vw,900px)}
.hero-center-logo img{filter:none}
.hero-tagline{top:65.7%;font-size:11px;letter-spacing:.52em;text-shadow:none}
.hero-tagline i{margin:0 18px}
.hero-progress{left:3.6vw;bottom:7.1vh;font-size:10px}
.hero-progress b{width:235px;margin-left:14px;background:linear-gradient(90deg,#fff 0 34%,rgba(255,255,255,.3) 34%)}
.hero-explore{bottom:1.7vh;gap:11px}
.hero-explore em{font-size:9px;letter-spacing:.34em}
.hero-explore>i{height:34px}
.hero-arrows{right:3.7vw;bottom:6.1vh;gap:24px}
.hero-arrows button{font-size:42px;font-family:Arial,sans-serif;font-weight:200}
@media(max-width:850px){
 .hero-topbar{height:86px;padding:14px 5vw 0}
 .anniversary-brand{width:105px;height:62px}.anniversary-brand img{width:102px;max-height:62px}
 .hero-center-logo{top:46%;width:88vw}
 .hero-tagline{top:61.5%;font-size:7px;letter-spacing:.22em}.hero-tagline i{margin:0 6px}
 .hero-progress{left:5vw;bottom:5vh}.hero-progress b{width:65px}
 .hero-arrows{right:5vw;bottom:4.3vh}
 .hero-explore{bottom:1.2vh}
}
