:root{--terra:#b86145;--sand:#f4efe8;--graphite:#2d2d2d;--gray:#e8e6e2;--white:#fff;--line:rgba(45,45,45,.16);--max:1280px;--pad:clamp(1.25rem,5vw,5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sand);color:var(--graphite);font-family:"DM Sans",Arial,sans-serif;font-weight:300;line-height:1.6}body.menu-open{overflow:hidden}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:999;padding:.7rem 1rem;background:var(--graphite);color:#fff}.skip-link:focus{top:1rem}.eyebrow{margin:0 0 1.5rem;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:600}.site-header{position:fixed;z-index:20;inset:0 0 auto;background:rgba(244,239,232,.91);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:.3s}.site-header.scrolled{border-color:var(--line)}.nav-wrap{height:92px;max-width:1440px;margin:auto;padding:0 var(--pad);display:flex;align-items:center;gap:3rem}.brand{display:flex;align-items:center;gap:.8rem;line-height:1}.brand span{width:39px;height:39px;border:1px solid var(--terra);display:grid;place-items:center;color:var(--terra);font-family:Manrope,sans-serif;font-size:.82rem;letter-spacing:.08em}.brand strong{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;font-weight:500}.nav-wrap nav{display:flex;gap:2.2rem;margin-left:auto}.nav-wrap nav a{font-size:.81rem;position:relative}.nav-wrap nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-.45rem;height:1px;background:var(--terra);transition:.3s}.nav-wrap nav a:hover:after,.nav-wrap nav a.active:after{right:0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 1.55rem;background:var(--terra);color:#fff;border:1px solid var(--terra);font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;font-weight:500;transition:.25s}.button:hover{background:var(--graphite);border-color:var(--graphite);transform:translateY(-2px)}.button-small{min-height:44px;padding:0 1.2rem}.menu-toggle{display:none}.hero{min-height:780px;max-width:1440px;margin:auto;padding:152px var(--pad) 70px;display:grid;grid-template-columns:1.08fr .72fr;gap:clamp(3rem,7vw,8rem);align-items:center;position:relative}.hero-copy{max-width:700px}.hero h1{font-family:Manrope,sans-serif;font-weight:300;line-height:1.08;font-size:clamp(2.7rem,4.8vw,5rem);letter-spacing:-.045em;margin:0}.lead{max-width:610px;margin:2rem 0 2.4rem;font-size:1rem;color:#555;line-height:1.8}.actions{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.text-link{display:inline-flex;gap:.8rem;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--graphite);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:500}.text-link span{color:var(--terra)}.hero-visual{position:relative;align-self:stretch;min-height:560px}.hero-frame{height:100%;overflow:hidden}.hero-frame img{object-position:50% 38%}.image-note{position:absolute;left:-2.5rem;bottom:2rem;background:var(--graphite);color:#fff;padding:1.2rem 1.5rem;margin:0;font-family:Manrope;font-size:.83rem;letter-spacing:.03em}.hero-index{position:absolute;right:var(--pad);bottom:1rem;color:rgba(45,45,45,.12);font:300 5rem Manrope}.manifesto{background:var(--terra);color:#fff;padding:clamp(4rem,9vw,8rem) var(--pad);display:grid;grid-template-columns:1fr 3fr;gap:2rem;align-items:start}.manifesto p:last-child{max-width:1050px;margin:0;font:300 clamp(2rem,4.2vw,4.5rem)/1.15 Manrope;letter-spacing:-.04em}.specialties{background:#fff;padding:clamp(5rem,10vw,9rem) var(--pad)}.section-heading{max-width:var(--max);margin:0 auto clamp(5rem,9vw,9rem);display:grid;grid-template-columns:1.35fr .65fr;gap:4rem;align-items:end}.section-heading h2,.about h2,.contact h2{font:300 clamp(2.4rem,4.3vw,4.4rem)/1.12 Manrope;margin:0;letter-spacing:-.04em}.section-heading>p{margin:0;color:#666;max-width:450px}.practice{max-width:var(--max);margin:0 auto clamp(6rem,11vw,11rem);display:grid;grid-template-columns:1.15fr .85fr;min-height:480px;align-items:center}.practice-right{grid-template-columns:.85fr 1.15fr}.practice-right .practice-image{grid-column:2}.practice-right .practice-copy{grid-column:1;grid-row:1}.practice-image{height:540px;overflow:hidden}.practice-image img{width:190%;max-width:none}.crop-left img{object-position:left center}.crop-center img{object-position:center}.crop-right img{object-position:right center}.practice-copy{padding:clamp(2.5rem,6vw,6rem);position:relative}.practice-copy .number{font:300 4rem Manrope;color:rgba(184,97,69,.2);position:absolute;right:2rem;top:1.5rem}.practice h3{font:300 clamp(2rem,3vw,3.2rem)/1.1 Manrope;margin:0 0 1.8rem;letter-spacing:-.035em}.practice-copy>p:not(.eyebrow){color:#5a5a5a;margin:0 0 2rem;line-height:1.85}.practice-last{margin-bottom:0}.about{background:var(--gray);padding:clamp(5rem,10vw,10rem) var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:clamp(4rem,10vw,10rem)}.about-title,.about-body{max-width:620px}.about h2 em{color:var(--terra);font-style:normal}.about-body{padding-top:4rem}.about-body>p{color:#555}.about-intro{font:300 1.45rem/1.5 Manrope!important;color:var(--graphite)!important}.principles{margin-top:3rem;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}.principles span{padding:1.1rem 0;border-bottom:1px solid var(--line);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.principles span:nth-child(even){padding-left:1.2rem;border-left:1px solid var(--line)}.contact{background:var(--graphite);color:#fff;display:grid;grid-template-columns:1fr 1fr}.contact-info{padding:clamp(5rem,9vw,9rem) var(--pad)}.contact-info>p:not(.eyebrow){color:#c7c7c7;max-width:600px}.button-light{margin:2rem 0 4rem;background:var(--sand);border-color:var(--sand);color:var(--graphite)}address{font-style:normal;border-top:1px solid #555}address div{padding:1.4rem 0;border-bottom:1px solid #555;display:grid;grid-template-columns:120px 1fr;gap:.4rem 1rem}address span{grid-row:1/4;color:#a9a9a9;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}address strong,address a{font-weight:300;font-size:.88rem}address small{color:#aaa}.map{min-height:700px;position:relative;overflow:hidden;background:#d8d3cb;color:var(--graphite)}.map-grid{position:absolute;inset:-30%;transform:rotate(-16deg);background:repeating-linear-gradient(0deg,transparent 0 78px,rgba(45,45,45,.12) 79px 80px),repeating-linear-gradient(90deg,transparent 0 112px,rgba(45,45,45,.12) 113px 114px)}.map:before,.map:after{content:"";position:absolute;background:rgba(184,97,69,.28);width:120%;height:32px;left:-10%;top:37%;transform:rotate(-16deg)}.map:after{top:65%;height:18px;transform:rotate(20deg);background:rgba(255,255,255,.55)}.road{position:absolute;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.road-a{left:12%;top:33%;transform:rotate(-16deg)}.road-b{right:8%;bottom:29%;transform:rotate(20deg)}.pin{position:absolute;left:53%;top:48%;display:grid;justify-items:center;gap:.6rem}.pin i{font-style:normal;width:55px;height:55px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--terra);color:#fff;display:grid;place-items:center;box-shadow:0 8px 25px #777}.pin i:after{content:"AS";transform:rotate(45deg);font-size:.72rem}.pin b{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.map>a{position:absolute;right:2rem;bottom:2rem;background:var(--white);padding:1rem 1.3rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}footer{padding:4rem var(--pad) 2rem;background:#222;color:#fff;display:grid;grid-template-columns:1fr 1fr .6fr;gap:3rem;align-items:start}footer p{margin:0;color:#aaa;font-size:.85rem}footer>div{display:grid;gap:.6rem;font-size:.8rem}footer small{grid-column:1/-1;padding-top:2rem;border-top:1px solid #444;color:#777}.brand-footer span{border-color:#ddd;color:#ddd}.whatsapp-float{position:fixed;right:1.4rem;bottom:1.4rem;z-index:15;width:56px;height:56px;border-radius:50%;background:var(--terra);color:#fff;display:grid;place-items:center;box-shadow:0 8px 25px rgba(0,0,0,.2);transition:.2s}.whatsapp-float:hover{transform:translateY(-3px)}.whatsapp-float span{font-size:.7rem;font-weight:600;letter-spacing:.08em}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.nav-wrap nav,.nav-cta{display:none}.menu-toggle{display:grid;margin-left:auto;width:42px;height:42px;padding:10px;background:none;border:0;align-content:center;gap:5px}.menu-toggle span:not(.sr-only){height:1px;background:var(--graphite);transition:.25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-wrap nav.open{display:flex;position:fixed;inset:92px 0 auto;background:var(--sand);min-height:calc(100vh - 92px);padding:5rem var(--pad);flex-direction:column;gap:2rem}.nav-wrap nav.open a{font:300 2rem Manrope}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:2rem 0}.hero-visual{height:660px}.manifesto,.section-heading,.about{grid-template-columns:1fr}.practice,.practice-right{grid-template-columns:1fr}.practice-right .practice-image,.practice-right .practice-copy{grid-column:1}.practice-right .practice-image{grid-row:1}.practice-image{height:440px}.practice-copy{padding-left:0;padding-right:0}.about-body{padding-top:0}.contact{grid-template-columns:1fr}.map{min-height:520px}}
@media(max-width:640px){.nav-wrap{height:76px}.nav-wrap nav.open{inset:76px 0 auto;min-height:calc(100vh - 76px)}.hero{padding-top:116px}.hero h1{font-size:2.65rem}.hero-visual{height:500px}.image-note{left:0}.hero-index{display:none}.manifesto{padding-top:5rem;padding-bottom:5rem}.manifesto p:last-child{font-size:2rem}.section-heading{gap:1.5rem}.practice{margin-bottom:5rem}.practice-image{height:310px}.practice-image img{width:220%}.about{gap:2rem}.principles{grid-template-columns:1fr}.principles span:nth-child(even){padding-left:0;border-left:0}.contact-info{padding-top:5rem;padding-bottom:5rem}address div{grid-template-columns:1fr}address span{grid-row:auto;margin-bottom:.4rem}.map{min-height:410px}footer{grid-template-columns:1fr}footer small{grid-column:1}.whatsapp-float{width:50px;height:50px}.actions{align-items:flex-start;flex-direction:column;gap:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{transition-duration:.01ms!important}}
