:root{--sc-canvas:#fff;--sc-surface:#f5f6ee;--sc-ink:#253416;--sc-ink-soft:#536044;--sc-accent:#d5ef38;--sc-accent-ink:#253416;--sc-font-display:'Manrope',sans-serif;--sc-font-text:'Manrope',sans-serif;--gutter:clamp(1.3rem,4.4vw,5.5rem)}
*{box-sizing:border-box}body{margin:0}h1,h2,h3,p{margin:0}a{text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #466018;outline-offset:6px}button:active,.button:active{transform:scale(.97)}.skip-link{position:fixed;top:-100px;left:1rem;z-index:100;background:white;padding:1rem}.skip-link:focus{top:1rem}
.site-header{height:100px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:2rem;position:absolute;top:0;left:0;width:100%;z-index:60}.brand{width:155px;display:block}.brand img{width:100%;height:auto}.site-header nav{display:flex;gap:2rem;margin-left:auto;font-size:.9rem;font-weight:600}.site-header nav a{padding:12px 0}.header-contact{display:flex;align-items:center;gap:1.7rem;border-bottom:1px solid #334324;padding:9px 0;font-size:.9rem;font-weight:700}.header-contact span{font-size:1.6rem}
.hero{position:relative}.hero-stage{height:100svh;min-height:660px;position:relative;isolation:isolate;overflow:clip;background:#fff}.hero-backword{position:absolute;right:-3%;top:25%;color:#e8efcb;font-size:clamp(11rem,31vw,33rem);line-height:1;font-weight:800;letter-spacing:-.085em;transform:rotate(-12deg);z-index:-1}.hero-copy{position:absolute;top:24%;left:var(--gutter);z-index:12}.hero-copy h1{font-size:clamp(4.3rem,8.7vw,10rem);font-weight:800;letter-spacing:-.075em;line-height:1.02}.hero-copy h1 span{color:#658628}.hero-copy p{font-size:clamp(1rem,1.1vw,1.25rem);line-height:1.7;margin-top:2rem;max-width:26rem}.button{display:inline-flex;align-items:center;gap:3.5rem;background:#d5ef38;padding:1rem 1.5rem;border-radius:3rem;font-size:.94rem;font-weight:700;margin-top:1.6rem;transition:background .18s,transform .18s}.button span{font-size:1.6rem;line-height:1}.button:hover{background:#c2de23}.hero-bottom{position:absolute;bottom:2rem;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;font-size:.8rem}.hero-bottom span{font-size:.75rem;letter-spacing:.05em}.section-pad{padding:7rem var(--gutter)}h2{font-size:clamp(2.8rem,5.5vw,6.4rem);line-height:1.08;letter-spacing:-.06em;font-weight:800}.section-pad>p{max-width:38rem;margin-top:2rem}h2 span{color:#738251}.contact{background:#d5ef38}.contact>a{display:inline-block;font-size:1.8rem;margin-top:2rem;border-bottom:1px solid}
@media(max-width:700px){.site-header{height:80px;gap:1rem}.brand{width:122px}.site-header nav{display:none}.header-contact{font-size:.8rem;gap:1rem}.hero-stage{min-height:680px}.hero-copy{top:21%}.hero-copy h1{font-size:clamp(3.5rem,12vw,5rem)}.hero-copy p{font-size:1rem}.hero-backword{font-size:50vw;top:50%;right:0}.hero-bottom{display:block;font-size:.75rem}.hero-bottom span{display:none}.section-pad{padding:4rem var(--gutter)}}

@font-face{font-family:Manrope;src:url('assets/fonts/manrope-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-500.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-700.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-800.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}
.has-motion .hero:not(.motion-off) .hero-stage{position:sticky;top:0}
/* The scene: real alpha artwork in independent depth planes. */
.site-header{position:absolute}.hero-stage{perspective:1600px;min-height:620px}.scene{position:absolute;inset:0;pointer-events:none;transform-style:preserve-3d;z-index:5}.plane{position:absolute;will-change:transform;transform-style:preserve-3d}.plane img{width:100%;height:auto}.fruit-plane{width:clamp(500px,56vw,1000px);left:49%;top:9%;z-index:5;transform:rotate(13deg);filter:drop-shadow(12px 30px 24px #79621c18)}.hero-copy{z-index:10}.hero-copy h1{font-size:clamp(4.3rem,8.4vw,10rem);max-width:58vw}.hero-backword{top:15%;right:-3%;font-size:30vw;z-index:0;color:#eef3de;will-change:transform}.leaf-far{width:clamp(85px,11vw,180px);left:44%;top:11%;transform:rotate(-62deg);z-index:1;filter:blur(1px)}.leaf-near{width:clamp(180px,23vw,390px);right:-6%;bottom:-12%;transform:rotate(107deg);z-index:15;filter:blur(2px) drop-shadow(15px 25px 18px #42570e20)}.leaf-side{width:clamp(85px,12vw,185px);left:35%;bottom:-5%;transform:rotate(160deg);z-index:13}.scene-word{position:absolute;left:var(--gutter);top:25%;font-size:clamp(5rem,12vw,14rem);line-height:.98;font-weight:800;letter-spacing:-.075em;opacity:0;z-index:8;color:#253416;will-change:transform,opacity}.scene-word span{color:#668624}.hero-bottom{z-index:20}.motion-toggle{display:flex;align-items:center;gap:8px;background:#fff9;border:1px solid #53604430;border-radius:30px;padding:8px 14px;font-size:.75rem;transition:background .16s;min-height:40px}.motion-toggle:hover{background:#edf2d8}.motion-toggle[hidden]{display:none}.motion-toggle .pause-icon{font-size:1rem}.hero.motion-off{height:auto!important}.hero.motion-off .hero-stage{position:relative}.hero.motion-off .scene-word{display:none}.hero.motion-off .plane{will-change:auto}

/* A quiet, open ledger after the hero. */
.offer{background:#fff;position:relative;z-index:3;padding-top:6rem;padding-bottom:8rem}.offer-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:1.6rem 5rem;align-items:end;margin-bottom:4.5rem}.section-note{font-size:.75rem;letter-spacing:.085em;grid-column:1/-1;font-weight:700}.offer h2{font-size:clamp(3rem,5.2vw,6rem)}.offer-lede{max-width:29rem;font-size:clamp(1.1rem,1.4vw,1.4rem);line-height:1.65;padding-bottom:.4rem;color:#536044}.service{border-top:1px solid #25341635;display:grid;grid-template-columns:1.4fr 1fr 4rem;gap:3rem;align-items:center;padding:2.2rem 0;position:relative;isolation:isolate;transition:color .18s}.service:last-child{border-bottom:1px solid #25341635}.service::before{content:'';position:absolute;inset:0 calc(var(--gutter) * -1);background:#f1f7d8;z-index:-1;opacity:0;transition:opacity .18s}.service-name h3{font-size:clamp(2rem,3.6vw,4rem);line-height:1.15;font-weight:700;letter-spacing:-.055em}.service-name>span{display:block;font-size:.7rem;letter-spacing:.065em;color:#66764e;margin-top:.8rem}.service p{font-size:1rem;line-height:1.65;color:#536044}.service-arrow{height:56px;width:56px;border-radius:50%;border:1px solid #74816570;display:grid;place-items:center;font-size:1.9rem;transition:transform .2s,background .2s,border-color .2s}.service:focus-visible::before{opacity:1}.service:focus-visible .service-arrow{background:#d5ef38;border-color:#d5ef38}

/* Personal introduction: different scale, different composition. */
.about{background:#f5f6ef;display:grid;grid-template-columns:1.1fr 1fr;gap:3rem 10%;overflow:clip;padding-top:7rem;padding-bottom:6rem}.about-art{position:relative;min-height:530px;align-self:center}.about-disc{position:absolute;width:85%;aspect-ratio:1;border-radius:50%;background:#d8ec70;top:10%;left:2%}.about-mark{position:absolute;width:80%;height:auto;top:13%;left:9%;mix-blend-mode:multiply;transform:rotate(-14deg)}.art-caption{position:absolute;bottom:0;left:3%;font-size:.8rem;font-weight:700;line-height:1.45;letter-spacing:.035em;transform:rotate(-7deg)}.art-asterisk{position:absolute;right:-3%;top:5%;font-size:5.5rem;line-height:1;color:#6b8735;transform:rotate(14deg)}.about-copy h2{font-size:clamp(3.8rem,6.8vw,7rem);line-height:1.01}.about-copy h2>span{color:#758f45}.about-copy>p{font-size:1.04rem;line-height:1.8;max-width:33rem;margin-top:1.6rem;color:#536044}.text-link{display:inline-flex;gap:3rem;align-items:center;font-size:.95rem;font-weight:700;border-bottom:1px solid;padding:.5rem 0;margin-top:1.4rem}.text-link span{font-size:1.8rem}.manifesto{grid-column:1/-1;font-size:clamp(2.4rem,5.6vw,6rem);font-weight:700;line-height:1.2;letter-spacing:-.06em;padding:5rem 0 0;max-width:none!important;display:flex;flex-direction:column;align-items:center}.manifesto span{color:#253416;transition:color .2s}.has-motion .manifesto span{color:#a0a890}.has-motion .manifesto span.is-lit{color:#253416}.manifesto span:nth-child(2){transform:rotate(-3deg);margin:1rem 0}.manifesto span:last-child{font-style:italic;color:#728d35}

/* The close holds the invitation. */
.contact{padding-top:5.5rem;padding-bottom:1.5rem;position:relative;overflow:clip}.contact-prelude{font-size:1rem;max-width:30rem;margin-bottom:2.2rem}.contact h2{font-size:clamp(2.8rem,5.2vw,5.5rem);line-height:1.12}.contact h2>span{color:#5b6f25;font-weight:500;display:block}.contact h2>a{font-size:clamp(3.6rem,9.5vw,10.5rem);letter-spacing:-.075em;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:1rem;line-height:1.15;padding:1rem 0 1.7rem;border-bottom:1px solid #25341655}.contact-arrow{font-weight:400;display:inline-block;line-height:1;transition:transform .2s;will-change:transform}.contact-details{display:flex;gap:2rem;align-items:center;margin-top:1.8rem;flex-wrap:wrap;min-height:50px}.email{font-size:clamp(1.25rem,2.4vw,2rem);font-weight:500;letter-spacing:-.035em}.copy-email{display:inline-flex;gap:.7rem;font-size:.8rem;background:none;border:1px solid #52662480;border-radius:30px;padding:.6rem 1rem;min-height:44px}.copy-email[hidden]{display:none}.copy-status{font-size:.85rem}.contact footer{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-top:6rem;font-size:.75rem}.footer-logo{width:130px}.footer-logo img{width:100%;height:auto}.back-top{display:flex;align-items:center;gap:1rem;min-height:44px}.back-top span{font-size:1.4rem}
html:not(.sc-ready) [data-sc-in]{opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){.service:hover::before{opacity:1}.service:hover .service-arrow{background:#d5ef38;border-color:#d5ef38;transform:rotate(45deg)}.header-contact:hover span,.text-link:hover span{transform:translate(3px,-3px)}.contact h2>a:hover .contact-arrow{transform:translate(5px,-5px)}.copy-email:hover{background:#253416;color:#d5ef38}}
@media(min-width:1700px){.hero-copy{top:26%}.fruit-plane{left:50%;top:6%;width:min(57vw,1050px)}}
@media(max-width:1000px) and (min-width:701px){.hero-copy h1{font-size:8.2vw}.fruit-plane{top:24%;left:46%;width:65vw}.hero-copy{top:28%}.leaf-far{left:48%;top:19%}.service{gap:2rem;grid-template-columns:1.1fr 1fr 3rem}.service-arrow{width:44px;height:44px}.about{gap:3rem}.about-art{min-height:420px}.contact h2>a{font-size:9vw}}
@media(max-width:700px){
 .hero-stage{height:100svh;min-height:640px;perspective:1000px}.hero-copy{top:110px;left:var(--gutter)}.hero-copy h1{font-size:clamp(3.2rem,12.2vw,5.3rem);max-width:100%;line-height:1.02}.hero-copy p{margin-top:1.25rem;line-height:1.65;max-width:21rem;font-size:.94rem}.hero-copy .button{margin-top:1.1rem;font-size:.85rem;padding:.8rem 1.2rem;gap:2rem}.fruit-plane{left:21%;top:39%;width:95vw;max-width:550px}.hero-backword{font-size:48vw;top:53%;right:2%}.leaf-far{left:77%;top:13%;width:17vw;filter:blur(.5px);opacity:.8}.leaf-near{width:42vw;bottom:-7%;right:-12%}.leaf-side{width:25vw;left:-8%;bottom:16%;filter:blur(1px)}.scene-word{font-size:17vw;top:24%;line-height:1.02}.hero-bottom{left:var(--gutter);right:var(--gutter);bottom:1rem;display:flex;gap:.8rem;align-items:flex-end}.hero-bottom p{font-size:.7rem;max-width:12rem;background:#fffd;padding:.2rem 0}.hero-bottom .motion-label{display:inline;font-size:.7rem;letter-spacing:0}.hero-bottom .pause-icon{display:inline}.motion-toggle{gap:6px;padding:6px 10px;flex-shrink:0;min-height:40px;background:#ffffffdb}
 .offer{padding-top:4rem;padding-bottom:4rem}.offer-intro{display:block;margin-bottom:2.7rem}.section-note{font-size:.68rem;margin-bottom:1.5rem}.offer h2{font-size:clamp(2.8rem,10vw,4rem)}.offer-lede{font-size:1.03rem;margin-top:1.5rem;max-width:25rem}.service{grid-template-columns:1fr 44px;gap:1rem;padding:1.7rem 0}.service-name h3{font-size:2rem}.service-name>span{font-size:.65rem;margin-top:.5rem}.service p{grid-column:1;grid-row:2;font-size:.9rem}.service-arrow{grid-column:2;grid-row:1/3;width:44px;height:44px;font-size:1.65rem}
 .about{grid-template-columns:1fr;padding-top:2rem;padding-bottom:3.5rem;gap:2rem}.about-art{min-height:350px;width:min(100%,370px);justify-self:center}.about-disc{width:80%;top:10%;left:8%}.about-mark{width:76%;left:13%;top:13%}.art-caption{font-size:.7rem;bottom:4%}.art-asterisk{font-size:4rem;right:0}.about-copy h2{font-size:3.9rem}.about-copy>p{font-size:1rem}.manifesto{font-size:clamp(1.9rem,7.6vw,3.2rem);padding-top:1.7rem;letter-spacing:-.06em}.manifesto span:nth-child(2){margin:.65rem 0}
 .contact{padding-top:3.5rem;padding-bottom:1.2rem}.contact-prelude{font-size:.9rem;max-width:20rem;margin-bottom:1.8rem}.contact h2{font-size:1.9rem}.contact h2>a{font-size:clamp(2.4rem,9.8vw,4.4rem);gap:.35rem;padding:1rem 0 1.4rem;letter-spacing:-.075em}.contact-arrow{font-size:.9em}.contact-details{gap:1rem;align-items:center}.email{font-size:1.3rem}.copy-email{font-size:.72rem;padding:.5rem .8rem}.contact footer{margin-top:4rem;gap:1rem;flex-wrap:wrap}.footer-logo{width:105px}.contact footer p{font-size:.68rem}.back-top{font-size:.7rem}.copy-status:empty{display:none}
}
@media(max-width:700px) and (max-height:740px){.hero-copy{top:95px}.hero-copy h1{font-size:11vw}.hero-copy p{font-size:.86rem;margin-top:1rem}.fruit-plane{top:42%;left:34%;width:79vw}.hero-copy .button{padding:.7rem 1rem}.hero-bottom p{max-width:10rem}.leaf-side{bottom:9%}}
@media(prefers-reduced-motion:reduce){.hero{height:auto!important}.hero-stage{position:relative}.plane,.hero-copy,.hero-backword{transform:none!important;will-change:auto}.scene-word{display:none}.manifesto span{color:#253416!important}.motion-toggle{display:none}.service-arrow,.contact-arrow{transition:none}}
@media(max-width:360px){.brand{width:105px}.header-contact{font-size:.73rem}.hero-copy h1{font-size:11.8vw}.hero-bottom .motion-label{font-size:.65rem}.contact-details{gap:.5rem}}
.service-name>span,.section-note,.art-caption,.hero-bottom p,.hero-bottom .motion-label,.contact footer p,.back-top{font-size:max(.75rem,12px)}
