
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:5px}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1{font-size:clamp(3.4rem,7.6vw,7.8rem);line-height:1.01;letter-spacing:-.065em;font-weight:500}h2{font-size:clamp(2.4rem,4.5vw,4.8rem);line-height:1.08;letter-spacing:-.05em;font-weight:500}h3{font-size:1.5rem;line-height:1.2;letter-spacing:-.03em}section{padding:100px 0}.wrap{width:min(1240px,90%);margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:700;display:block;margin-bottom:24px}.muted{opacity:.65}.lead{font-size:1.15rem;max-width:540px;margin:28px 0}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}header{position:relative;z-index:10}.brand{font-size:1.6rem;font-weight:700;letter-spacing:-.06em}.navlinks{display:flex;align-items:center;gap:32px;font-size:.85rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--accent);color:var(--btnink);padding:16px 25px;border:1px solid var(--accent);font-weight:700;font-size:.88rem;transition:transform .2s,opacity .2s}.btn:hover{transform:translateY(-3px);opacity:.85}.btn.alt{background:transparent;color:var(--ink);border-color:var(--line)}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero{padding:70px 0 80px}.split{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.hero-img{height:620px}.sectionhead{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:48px}.sectionhead p{max-width:360px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{padding:32px;border:1px solid var(--line)}.card p{margin-top:18px;opacity:.7}.number{display:block;font-size:.75rem;letter-spacing:.12em;margin-bottom:45px}.band{background:var(--panel)}.list{list-style:none;padding:0;margin:28px 0}.list li{padding:16px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:24px}.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:grid;gap:7px;font-size:.8rem}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:0;background:var(--bg);color:var(--ink);padding:14px;min-width:0}textarea{min-height:120px;resize:vertical}.full{grid-column:1/-1}.form small{opacity:.65}.info{margin-top:30px}.info p{margin:12px 0}.footer{padding:35px 0;border-top:1px solid var(--line)}.footerrow{display:flex;justify-content:space-between;gap:20px;font-size:.78rem}.demo-label{padding:8px 5%;background:var(--panel);border-bottom:1px solid var(--line);font-size:.68rem;display:flex;justify-content:space-between;gap:20px}.gallery{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:18px}.gallery button{border:0;padding:0;background:none;overflow:hidden}.gallery img{height:300px;transition:transform .4s}.gallery button:hover img{transform:scale(1.04)}dialog{border:0;padding:20px;background:var(--bg);color:var(--ink);width:min(900px,94%)}dialog::backdrop{background:#000b}dialog img{max-height:70vh;object-fit:contain}dialog button{float:right;margin-bottom:12px}.mobile-toggle{display:none;background:transparent;border:1px solid var(--line);color:var(--ink);padding:8px 12px}.reveal{animation:enter .6s both}@keyframes enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.serif h1,.serif h2,.serif h3{font-family:Georgia,serif;letter-spacing:-.05em}.socials{display:flex;gap:16px;margin-top:28px}.socials button{background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink);padding:0}.status{font-size:.85rem;margin-top:16px}.skip{position:absolute;left:-10000px}.skip:focus{left:16px;top:16px;z-index:100;background:var(--accent);color:var(--btnink);padding:10px}.menu-tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}.menu-tabs button{background:none;color:var(--ink);border:1px solid var(--line);padding:10px 20px}.menu-tabs button[aria-pressed=true]{background:var(--accent);color:var(--btnink)}[hidden]{display:none!important}
@media(max-width:850px){section{padding:65px 0}.hero{padding:45px 0}.split{grid-template-columns:1fr;gap:38px}.hero-img{height:430px}.grid{grid-template-columns:1fr 1fr}.navlinks{display:none;position:absolute;left:5%;right:5%;top:88px;background:var(--bg);padding:22px;border:1px solid var(--line);flex-direction:column;align-items:stretch}.navlinks.open{display:flex}.mobile-toggle{display:block}.sectionhead{align-items:start;flex-direction:column;gap:24px}.gallery{grid-template-columns:1fr 1fr}.gallery button:first-child{grid-column:1/-1}.footerrow{flex-direction:column}h1{font-size:clamp(3.2rem,12vw,5.7rem)}}
@media(max-width:520px){.grid{grid-template-columns:1fr}.form{grid-template-columns:1fr}.full{grid-column:auto}.hero-img{height:350px}.gallery{gap:10px}.gallery img{height:220px}.demo-label{font-size:.61rem}.card{padding:25px}.nav{height:76px}.navlinks{top:76px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{--bg:#f2efe9;--ink:#403a32;--accent:#6d6052;--btnink:#fff;--panel:#e3ddd2;--line:#c4bcae}.norte .brand{letter-spacing:.24em;font-size:1.05rem;font-weight:400}.norte-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:end}.norte-heading .eyebrow{grid-column:1/-1;margin:0}.norte-heading>div{max-width:340px;justify-self:end;padding-bottom:15px}.norte h1{font-size:clamp(3.5rem,6.5vw,6.8rem)}.text-link{display:inline-block;margin-top:24px;border-bottom:1px solid var(--line);padding-bottom:5px;font-size:.85rem}.project-cover{margin-top:50px}.project-cover img{height:520px;filter:saturate(.65)}.project-cover>div{display:flex;justify-content:space-between;font-size:.65rem;letter-spacing:.12em;margin-top:16px}.norte .card{border-width:1px 0 0;padding-left:0}.norte .number{color:#8a7864}.norte h2 em{font-weight:400;color:#8a7864}@media(max-width:700px){.norte-heading{grid-template-columns:1fr;gap:26px}.norte-heading>div{justify-self:start}.project-cover img{height:360px}.project-cover>div{gap:20px}}