:root{--purple:#332043;--purple-2:#5a3b6d;--gold:#c79a45;--green:#37523d;--cream:#f8f1e5;--paper:#fffaf1;--ink:#2d2830;--serif:"Cormorant Garamond",Georgia,serif;--sans:Montserrat,Arial,sans-serif;--shadow:0 22px 55px rgba(43,30,48,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.75}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:#fff;padding:.6rem 1rem;color:#000}.skip-link:focus{top:1rem}.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}
.site-header{height:86px;position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.5rem,5vw,5.5rem);border-bottom:1px solid rgba(255,255,255,.22);color:#fff}.wordmark{display:flex;flex-direction:column;line-height:.8;text-decoration:none;color:inherit}.wordmark-main{font:600 clamp(1.45rem,2vw,1.8rem)/.9 var(--serif);letter-spacing:.02em}.wordmark-sub{font:600 .58rem/1 var(--sans);letter-spacing:.52em;text-transform:uppercase;margin-top:.55rem;color:#dfbd75}.site-nav{display:flex;align-items:center;gap:clamp(1.2rem,2.7vw,2.8rem)}.site-nav a{color:inherit;text-decoration:none;text-transform:uppercase;font-size:.68rem;font-weight:600;letter-spacing:.14em}.site-nav a:not(.nav-cta):after{content:"";display:block;width:0;height:1px;background:var(--gold);transition:.25s}.site-nav a:hover:after,.site-nav a:focus:after{width:100%}.nav-cta{border:1px solid rgba(255,255,255,.55);padding:.7rem 1rem}.nav-toggle{display:none;background:none;border:0;padding:.5rem}.nav-toggle span:not(.sr-only){display:block;width:25px;height:2px;background:#fff;margin:5px}
.hero{height:max(720px,100svh);min-height:650px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;text-align:center}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background:url(../images/rooted-noble-tree.png) center center/cover no-repeat;transform:scale(1.015);animation:quietZoom 16s ease-out both}.hero-shade{background:linear-gradient(180deg,rgba(35,20,43,.62) 0%,rgba(35,20,43,.18) 42%,rgba(26,25,24,.4) 100%)}.hero-content{z-index:1;max-width:960px;padding:7rem 1.5rem 4rem;text-shadow:0 2px 18px rgba(0,0,0,.26)}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.28em;font-size:.69rem;font-weight:600}.eyebrow{color:#f0d493}.hero h1{font:600 clamp(4rem,8.5vw,7.8rem)/.78 var(--serif);letter-spacing:-.045em;margin:1.7rem 0 2rem}.hero h1 em{font-weight:500;color:#f7e2ad}.hero-copy{max-width:650px;margin:0 auto 2.2rem;font:500 clamp(.94rem,1.6vw,1.08rem)/1.8 var(--sans)}.hero-actions{display:flex;gap:2rem;justify-content:center;align-items:center}.button{display:inline-block;padding:.92rem 1.5rem;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:600;transition:transform .2s,background .2s}.button:hover,.button:focus{transform:translateY(-2px)}.button-gold{background:var(--gold);color:#251c26}.text-link{color:#fff;text-decoration:none;font-size:.78rem;border-bottom:1px solid rgba(255,255,255,.5)}.scroll-cue{position:absolute;bottom:1.8rem;z-index:2;width:26px;height:42px;border:1px solid rgba(255,255,255,.6);border-radius:20px}.scroll-cue span{display:block;width:3px;height:8px;background:#fff;margin:8px auto;border-radius:3px;animation:scroll 2s infinite}
.section{padding:clamp(5.5rem,10vw,10rem) clamp(1.5rem,7vw,8rem)}.story{display:grid;grid-template-columns:minmax(180px,.65fr) 1.35fr;gap:clamp(3rem,8vw,8rem);align-items:center;max-width:1300px;margin:auto}.story-mark{aspect-ratio:1;max-width:350px;justify-self:center;border:1px solid rgba(199,154,69,.45);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:.8rem;color:var(--purple);font:600 clamp(3.7rem,7vw,6.5rem)/1 var(--serif);box-shadow:inset 0 0 0 13px var(--paper),inset 0 0 0 14px rgba(55,82,61,.18)}.story-mark i{height:80px;width:1px;background:var(--gold);transform:rotate(20deg)}.section-kicker{color:var(--gold);margin:0 0 1rem}.story h2,.section-heading h2,.projects h2,.contact h2{font:600 clamp(3rem,6vw,5rem)/.95 var(--serif);color:var(--purple);margin:.2rem 0 1.5rem;letter-spacing:-.03em}.story-copy{max-width:730px}.lead{font:500 clamp(1.25rem,2vw,1.55rem)/1.5 var(--serif);color:var(--green)}.story blockquote{margin:2.5rem 0 0;padding:1rem 0 1rem 1.8rem;border-left:2px solid var(--gold);font:500 italic clamp(1.5rem,2.5vw,2rem)/1.4 var(--serif);color:var(--purple)}
.services{background:var(--cream)}.section-heading{text-align:center;max-width:700px;margin:0 auto 3.5rem}.section-heading>p:last-child{max-width:580px;margin:auto}.service-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.service-card{background:rgba(255,250,241,.72);padding:clamp(2rem,4vw,3.5rem) clamp(1.5rem,3vw,2.5rem);border-top:3px solid var(--green);position:relative;min-height:370px;box-shadow:0 8px 28px rgba(51,32,67,.06);transition:.3s}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:var(--gold)}.service-number{position:absolute;right:1.5rem;top:1.2rem;color:rgba(55,82,61,.33);font:600 1rem var(--serif)}.line-icon{font:400 2rem var(--serif);color:var(--gold);margin:1rem 0 2rem}.service-card h3{font:600 2rem/1.1 var(--serif);color:var(--purple);margin:0 0 1rem}
.projects{background:var(--purple);color:rgba(255,255,255,.74);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(3rem,8vw,8rem)}.projects h2{color:#fff}.projects-intro{max-width:600px}.project-stage{min-height:370px;border:1px solid rgba(219,186,116,.4);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle,rgba(105,78,122,.56),transparent 68%);position:relative}.project-stage:before,.project-stage:after{content:"";position:absolute;width:42px;height:42px;border-color:var(--gold)}.project-stage:before{left:14px;top:14px;border-left:1px solid;border-top:1px solid}.project-stage:after{right:14px;bottom:14px;border-right:1px solid;border-bottom:1px solid}.project-stage p{font:600 clamp(2rem,4vw,3.3rem)/1 var(--serif);color:#fff;margin:.5rem}.project-stage span{text-transform:uppercase;font-size:.62rem;letter-spacing:.24em;color:#e4c782}.branch{width:55px;height:1px;background:var(--gold);position:relative;margin-bottom:1.8rem}.branch:after{content:"❦";position:absolute;color:var(--gold);left:18px;top:-20px;font-size:1.5rem}
.contact{padding:clamp(6rem,11vw,10rem) 1.5rem;text-align:center;background:var(--green);color:#fff;position:relative;overflow:hidden}.contact:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.contact-inner{position:relative}.contact h2{color:#fff;max-width:700px;margin:.4rem auto 1.3rem}.contact p:not(.section-kicker){margin:0 auto 2rem}.button-cream{background:var(--cream);color:var(--purple)}.contact small{display:block;margin:1rem auto 0;opacity:.68;font-size:.67rem}footer{background:#201729;color:rgba(255,255,255,.65);text-align:center;padding:4rem 1.5rem 2rem}.footer-mark{color:#fff;align-items:center;width:max-content;margin:auto}.footer-mark+.wordmark-sub{color:var(--gold)}footer>p{font:500 1.15rem var(--serif);letter-spacing:.04em}.copyright{font:400 .62rem var(--sans);text-transform:uppercase;letter-spacing:.13em;margin-top:2rem}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@keyframes quietZoom{from{transform:scale(1.05)}to{transform:scale(1.015)}}@keyframes scroll{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(15px)}}
@media(max-width:820px){.site-header{height:74px;padding:0 1.25rem}.nav-toggle{display:block;z-index:2}.site-nav{display:none;position:absolute;top:0;left:0;width:100%;padding:6rem 1.5rem 2rem;background:rgba(39,24,50,.98);flex-direction:column;align-items:flex-start}.site-nav.open{display:flex}.site-nav a{font-size:.8rem}.hero{min-height:680px}.hero-image{background-position:52% center}.hero h1{font-size:clamp(3.6rem,15vw,5.4rem)}.hero-actions{flex-direction:column;gap:1.1rem}.story,.projects{grid-template-columns:1fr}.story-mark{width:230px}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.projects-intro{text-align:center;margin:auto}.project-stage{min-height:300px}.contact small{max-width:360px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image,.scroll-cue span{animation:none}.reveal{opacity:1;transform:none;transition:none}}
