@font-face{font-family:Archivo;src:url('assets/archivo-medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('assets/space-grotesk-regular.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--forest:#294b37;--ink:#203d2c;--paper:#fff;--wash:#f1f5ed;--leaf:#779567;--muted:#536458;--rule:#28483230;--gutter:clamp(22px,5.5vw,88px)}
*{box-sizing:border-box}html{scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.7 'Space Grotesk',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,summary{cursor:pointer}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:Archivo,Arial,sans-serif;font-weight:500;line-height:1.13;letter-spacing:-.035em}em{font-family:Georgia,serif;font-weight:400}img{display:block;max-width:100%;height:auto}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--leaf);outline-offset:5px}::selection{background:#c6dac0;color:var(--ink)}.wrap{width:min(100%,1500px);padding-inline:var(--gutter);margin-inline:auto}.eyebrow{font-size:.8125rem;letter-spacing:.1em;line-height:1.5}.section-space{padding-block:100px}.skip-link{position:fixed;top:10px;left:10px;z-index:20;background:white;padding:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}.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{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:25px;flex-wrap:wrap}.wordmark{display:block;width:156px;flex-shrink:0}.wordmark img,.studio-logo img{width:100%;height:auto;object-fit:contain;filter:grayscale(1) brightness(1.8) contrast(10) invert(1);mix-blend-mode:multiply}.site-header nav{display:flex;gap:36px;flex-wrap:wrap;margin-left:auto;margin-right:40px}.site-header nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem}.site-header nav a:hover{color:#608151}.nav-contact{display:inline-flex;align-items:center;gap:30px;min-height:46px;border-bottom:1px solid var(--forest);font-size:.9375rem}.primary-link{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--forest);color:#fff;padding:15px 27px;min-height:52px;font-size:.9375rem;border-radius:3px;transition:background .2s,transform .2s}.primary-link:hover{background:#3e6042;transform:translateY(-2px)}.secondary-link,.text-link,.inline-link{display:inline-flex;align-items:center;gap:24px;min-height:44px;font-size:.9375rem}.text-link,.inline-link{border-bottom:1px solid var(--forest);padding-bottom:7px}.text-link{margin-top:26px}
.botanical-hero{position:relative;margin:8px 28px 0;background:var(--wash);overflow:hidden;isolation:isolate}.hero-topline{display:flex;justify-content:space-between;gap:30px;padding:30px 38px;color:var(--muted);position:relative;z-index:2}.botanical-stage{position:relative;display:grid;place-items:center;min-height:570px;padding:60px 20px 80px}.hero-copy{position:relative;z-index:2;text-align:center;max-width:850px}.hero-kicker{font-size:.8125rem;letter-spacing:.15em;margin-bottom:26px;color:var(--muted)}.hero h1{font-size:clamp(3.1rem,6.8vw,7.5rem);line-height:1.12;letter-spacing:-.045em}.hero h1 span,.hero h1 em{display:block}.hero h1 em{color:#486b44;letter-spacing:-.05em;line-height:1.18}.hero-description{font-size:1.0625rem;color:var(--muted);margin-top:27px;line-height:1.8}.hero-copy .primary-link{margin-top:30px}.botanical-layer{position:absolute;pointer-events:none;z-index:1;transform:translate3d(var(--px,0px),var(--py,0px),0);will-change:transform}.botanical-layer img{width:100%;height:auto}.branch-left{width:clamp(230px,27vw,410px);left:-8%;top:-10%}.branch-left img{transform:rotate(32deg)}.branch-right{width:clamp(210px,26vw,390px);right:-7%;bottom:-21%}.branch-right img{transform:rotate(-24deg) scaleX(-1)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 38px 25px;position:relative;z-index:3}.hero-bottom .eyebrow{color:var(--muted);font-size:.75rem}.parallax-toggle{background:transparent;border:0;border-bottom:1px solid var(--rule);color:var(--muted);min-height:44px;font-size:.8125rem;padding:5px}.parallax-toggle[hidden]{display:none}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;padding-top:24px;border-top:1px solid var(--rule);margin-bottom:45px}.section-heading h2{font-size:clamp(2.4rem,4vw,4rem)}.section-heading .eyebrow{color:var(--muted)}.work{padding-block:105px}.work .section-heading{border:0;padding:0}.work-showcases{display:grid;gap:65px}.work-showcases .project{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}.work-showcases .project+.project{border-top:1px solid var(--rule);padding-top:65px}.project-info{min-width:0}.project-meta{color:var(--muted);font-size:.8125rem;letter-spacing:.07em}.project h3{font-size:clamp(2rem,3.5vw,3.5rem);margin-top:15px}.project-description{margin-top:20px;max-width:450px;color:var(--muted)}.project-credit{font-size:.875rem;color:var(--muted);margin-top:20px}.project-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:24px 0 0}.project-tags li{font-size:.875rem;border:1px solid var(--rule);padding:4px 12px;border-radius:25px}.website-preview{position:relative;overflow:hidden;min-width:0;padding:clamp(18px,3vw,44px);padding-bottom:85px;background:#edf0e9}.website-preview>img{width:100%;height:auto;box-shadow:0 10px 24px #203d2c13;transition:transform .35s}.johnny-preview{background:#eff0e9}.preview-project{position:absolute;right:20px;bottom:20px;display:inline-flex;align-items:center;justify-content:center;gap:22px;max-width:calc(100% - 40px);min-height:44px;padding:10px 18px;background:var(--forest);color:white;border:0;border-radius:3px;font-size:.875rem}.project-live-link{font-size:.9375rem}.statement{background:var(--wash);padding-block:100px}.statement-grid{display:grid;grid-template-columns:1fr 2.5fr;gap:60px}.statement h2{font-size:clamp(2.5rem,5vw,5rem)}.statement h2 em{color:#486b44}.statement-grid>div>p{font-size:1.125rem;max-width:610px;margin-top:30px;color:var(--muted)}
.services{padding-bottom:65px}.service{border-bottom:1px solid var(--rule)}.service summary{list-style:none;display:grid;grid-template-columns:30px 1fr auto 38px;align-items:center;gap:22px;padding-block:32px}.service summary::-webkit-details-marker,.faq-item summary::-webkit-details-marker{display:none}.service-index{font-size:.875rem;color:var(--muted)}.service-name{font-family:Archivo,Arial,sans-serif;font-size:clamp(1.6rem,3.2vw,3.2rem);line-height:1.2;letter-spacing:-.03em}.service-hint{font-size:.8125rem;color:var(--muted)}.toggle{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--rule);border-radius:50%;flex-shrink:0}.toggle:after{content:'+';font-size:1.4rem}.service[open] .toggle,.faq-item[open] .toggle{background:var(--forest);color:#fff}.service[open] .toggle:after,.faq-item[open] .toggle:after{content:'−'}.service-content{padding:0 60px 35px;display:grid;grid-template-columns:1fr 1fr;gap:30px 8%;color:var(--muted)}.service-content p{max-width:520px}.service-content ul{list-style:none;margin:0;padding:0}.service-content li{margin-bottom:8px}.service-content li:before{content:'— ';color:var(--leaf)}.inline-link{justify-self:start;color:var(--ink)}.service-note{margin-top:25px;font-size:.9375rem;color:var(--muted)}.website-offer{align-items:start}.website-offer>div{min-width:0}.offer-label{font-size:.8125rem;letter-spacing:.07em;margin-bottom:16px}.offer-intro h3{font-size:clamp(1.75rem,3vw,2.8rem);color:var(--ink);margin-bottom:20px}.website-offer h4{color:var(--ink);font-size:1rem;margin-bottom:14px}.offer-timing,.offer-next{padding-top:24px;border-top:1px solid var(--rule)}.offer-next .inline-link{margin-top:20px}.service-preview-panel{display:none}
.faq{padding-block:10px 65px}.faq-item{border-bottom:1px solid var(--rule)}.faq-item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:24px;font-size:clamp(1.0625rem,1.8vw,1.35rem);line-height:1.4}.faq-answer{padding:0 62px 26px 0;max-width:52rem;color:var(--muted)}.approach{padding-top:40px}.process-sequence{position:relative;display:grid;gap:0;isolation:isolate;--process-progress:0}.process-sequence:before,.process-sequence:after{content:'';position:absolute;left:35px;top:38px;bottom:60px;width:1px;z-index:-1}.process-sequence:before{background:var(--rule)}.process-sequence:after{background:var(--forest);transform:scaleY(var(--process-progress));transform-origin:top}.process-sequence article{display:grid;grid-template-columns:72px 1fr 1fr;gap:clamp(22px,4vw,64px);align-items:start;padding:25px 0 55px}.step-number{display:grid;place-items:center;background:white;width:72px;min-height:78px;font:italic 3.4rem/1.2 Georgia,serif;color:#657c60}.process-sequence h3{font-size:clamp(1.7rem,3vw,3rem);margin-top:16px}.process-sequence p{color:var(--muted);margin-top:15px;max-width:35rem}.studio{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;border-top:1px solid var(--rule)}.studio h2{font-size:clamp(3rem,5vw,5rem);margin-top:30px}.studio-logo{max-width:220px;margin-top:40px}.studio-lead{font-size:1.55rem;line-height:1.45}.studio-copy>p+p{margin-top:25px;color:var(--muted)}.studio-location{font-size:.9375rem}
.project-start{padding-block:100px;background:var(--wash)}.start-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,125px)}.start-heading h2{font-size:clamp(3rem,5vw,5.5rem);margin-top:30px}.start-details{border-top:1px solid var(--rule);padding-top:22px}.start-intro{font-size:1.5rem;line-height:1.4}.enquiry-form{margin-top:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{min-width:0;margin-bottom:22px}.form-field label{display:block;margin-bottom:8px}.form-field label span{font-size:.875rem;color:var(--muted)}.form-field input,.form-field textarea{display:block;width:100%;min-width:0;background:#fff;color:var(--ink);border:1px solid #738471;border-radius:3px;padding:12px 14px;font-size:1rem;line-height:1.5}.form-field input{min-height:48px}.form-field textarea{resize:vertical;min-height:140px}.form-field input::placeholder{color:var(--muted)}.field-hint,.form-note,.form-alternative{font-size:.875rem;line-height:1.6;color:var(--muted)}.field-hint{margin-top:8px}.form-note a,.form-alternative a{text-decoration:underline;text-underline-offset:3px}.form-alternative{margin-top:20px;overflow-wrap:anywhere}.form-trap{display:none}.start-email{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:50px;margin-top:22px;padding:13px 24px;border:0;border-radius:3px;background:var(--forest);color:white}.contact{background:var(--forest);color:#fff;padding-block:60px}.contact-main{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-block:40px 55px}.contact-main h2{font-size:clamp(3rem,7.5vw,8rem)}.contact-main>span{font-size:clamp(3rem,8vw,9rem)}.contact-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #ffffff40;padding-top:28px}.email-wrap{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.email-link{font-size:clamp(1rem,1.6vw,1.4rem);border-bottom:1px solid #ffffff60;overflow-wrap:anywhere}.copy-email{background:transparent;color:white;border:1px solid #ffffff70;border-radius:3px;padding:8px 15px;font-size:.875rem;min-height:44px}.site-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;padding-block:24px;color:var(--muted);font-size:.875rem}.site-footer a{display:inline-flex;align-items:center;min-height:44px}
.project-dialog{width:min(1000px,94vw);max-height:90dvh;overflow:auto;overscroll-behavior:contain;background:#fff;color:var(--ink);border:1px solid var(--rule);padding:clamp(20px,4vw,50px)}.project-dialog::backdrop{background:#102619dd;backdrop-filter:blur(8px)}html:has(.project-dialog[open]){overflow:hidden}.dialog-close{display:block;margin:0 0 25px auto;background:none;color:var(--ink);border:1px solid var(--rule);padding:8px 18px;min-height:44px}.project-dialog h2{font-size:2rem;margin-bottom:25px}.project-dialog .website-preview{padding:18px}.project-dialog p{margin-top:20px}.project-dialog img{width:100%;height:auto}.thanks-page{min-height:75vh;display:flex;flex-direction:column;justify-content:center;padding-block:70px;max-width:1000px}.thanks-page h1{font-size:clamp(3rem,7vw,7rem);margin-block:24px}.thanks-page>p:not(.eyebrow){font-size:1.125rem;max-width:38rem;color:var(--muted)}.thanks-page .primary-link{align-self:flex-start;margin-top:32px}.thanks-page .text-link{align-self:flex-start}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}
@media(min-width:1100px) and (hover:hover) and (pointer:fine){.services-interactive{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:60px;align-items:start}.services-interactive .service summary{grid-template-columns:25px 1fr 36px;gap:18px}.services-interactive .service-hint{display:none}.services-interactive .service-name{font-size:clamp(1.7rem,2.4vw,2.6rem)}.services-interactive .service-content{padding-left:43px;padding-right:0;grid-template-columns:1fr}.service-preview-panel{display:flex;flex-direction:column;position:sticky;top:35px;background:var(--wash);padding:36px;min-height:400px}.service-preview-number{font:italic 5rem/1 Georgia,serif;color:#617f53;margin-bottom:32px}.service-preview-panel h3{font-size:2.5rem;margin-bottom:20px}.service-preview-panel p{color:var(--muted)}.service-preview-hint{font-size:.875rem;margin-top:30px;border-top:1px solid var(--rule);padding-top:20px}}
@media(max-width:1000px){.site-header nav{margin-right:0;gap:24px}.hero h1{font-size:7.5vw}.branch-left{left:-14%;width:32vw;top:0}.branch-right{right:-13%;width:32vw;bottom:-10%}.service-hint{display:none}.service summary{grid-template-columns:25px 1fr 36px}.contact-bottom{flex-direction:column}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:800px){.work-showcases .project{grid-template-columns:1fr;gap:26px}.work-showcases h3 br{display:none}.work-showcases{gap:45px}.work-showcases .project+.project{padding-top:45px}.section-space{padding-block:65px}.statement-grid,.studio,.start-grid{grid-template-columns:1fr;gap:35px}.statement,.project-start{padding-block:65px}.service-content{padding-left:0;padding-right:0}.process-sequence article{grid-template-columns:54px 1fr;gap:0 24px;padding:15px 0 40px}.step-number{grid-row:1/3;width:54px;min-height:65px;font-size:2.7rem}.process-sequence p{grid-column:2}.process-sequence:before,.process-sequence:after{left:26px;top:30px;bottom:65px}.studio h2 br{display:none}}
@media(max-width:600px){.site-header{gap:16px;padding-block:20px}.wordmark{width:124px}.site-header nav{order:3;width:100%;justify-content:center;gap:32px;margin:0;border-top:1px solid var(--rule);padding-top:8px}.nav-contact{font-size:.875rem;gap:14px;min-height:44px}.botanical-hero{margin:0 12px}.hero-topline{padding:22px 18px;gap:22px}.hero-topline .eyebrow{font-size:.75rem;max-width:145px}.hero-topline>p:last-child{text-align:right}.botanical-stage{min-height:490px;padding:65px 16px 75px}.hero-kicker{font-size:.75rem;letter-spacing:.07em;margin-bottom:24px}.hero h1{font-size:clamp(2.4rem,9.2vw,3.6rem);letter-spacing:-.055em}.hero-description{font-size:1rem;margin-top:25px}.hero-copy .primary-link{font-size:.875rem;padding:13px 18px;gap:20px;margin-top:26px}.branch-left{width:170px;left:-91px;top:-65px;opacity:.8}.branch-left img{transform:rotate(45deg)}.branch-right{width:170px;right:-85px;bottom:-40px;opacity:.8}.hero-bottom{padding:10px 18px 20px;flex-wrap:wrap;gap:10px 18px;justify-content:space-between}.hero-bottom>.eyebrow{display:none}.hero-bottom .secondary-link{font-size:.875rem;gap:15px}.parallax-toggle{font-size:.75rem}.section-heading{align-items:start;gap:20px;margin-bottom:30px}.section-heading h2{font-size:2.2rem}.section-heading .eyebrow{font-size:.75rem;max-width:125px;text-align:right}.work{padding-block:65px}.website-preview{padding:18px 18px 85px}.project h3{font-size:2.25rem}.statement h2{font-size:2.4rem}.statement-grid>div>p{font-size:1rem}.service summary{gap:12px;grid-template-columns:22px 1fr 32px;padding-block:25px}.service-name{font-size:clamp(1.4rem,5.5vw,1.85rem)}.toggle{width:32px;height:32px}.service-content{grid-template-columns:1fr;gap:25px}.faq-answer{padding-right:0}.faq-item summary{font-size:1.0625rem}.studio h2{font-size:2.8rem}.studio-logo{max-width:180px}.start-heading h2{font-size:2.8rem}.contact-main{gap:12px}.contact-main h2{font-size:9vw}.contact-main>span{font-size:12vw}.contact{padding-block:45px}.contact .eyebrow{font-size:.75rem}.email-link{font-size:1rem}.contact-bottom p{font-size:.9375rem}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:rise-in .85s ease-out both}.motion-entered{animation:rise-in .65s ease-out both}@keyframes rise-in{from{opacity:.3;transform:translateY(15px)}to{opacity:1;transform:none}}.website-preview:hover>img{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.botanical-layer{transform:none!important;will-change:auto}.process-sequence:after{transform:scaleY(1)}}

/* The vine grows upward within the empty outer margin as the page advances. */
.scroll-vine{position:fixed;right:5px;bottom:10vh;width:clamp(38px,3.8vw,62px);height:72vh;max-height:750px;z-index:4;pointer-events:none;user-select:none;opacity:.64;clip-path:inset(var(--vine-hidden,100%) 0 0 0)}
.scroll-vine img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:800px){.scroll-vine{width:21px;height:185px;bottom:28px;right:0;clip-path:none;opacity:.32}.botanical-layer{will-change:auto}}
@media(prefers-reduced-motion:reduce){.scroll-vine{clip-path:none;opacity:.35}}

/* Clearer service-business positioning within the botanical identity. */
.hero-copy{max-width:840px;padding-inline:12px}
.hero-kicker{max-width:37rem;margin-inline:auto;font-size:.8125rem;letter-spacing:.1em}
.hero-description{max-width:36rem;margin-inline:auto}
.hero h1{font-size:clamp(3rem,6.5vw,6.75rem)}
.hero-service-map{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 38px 24px;padding-top:24px;border-top:1px solid var(--rule)}
.hero-service-map a{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-height:64px;padding:5px 0}
.hero-service-map span{font-size:.75rem;letter-spacing:.075em;color:var(--muted)}
.hero-service-map strong{font-weight:400;font-size:1.0625rem;line-height:1.45}
.hero-service-map a:hover strong{text-decoration:underline;text-underline-offset:5px}
.section-intro{max-width:46rem;margin:-18px 0 35px;color:var(--muted);font-size:1.0625rem}
.statement-grid>div>.statement-audience{font-size:.9375rem;margin-top:20px}
.service-name{overflow-wrap:normal}.offer-label{line-height:1.5}
#service-pilots .offer-label{color:var(--forest);border-left:2px solid var(--leaf);padding-left:12px}
.site-footer>span{max-width:75%;line-height:1.6}
@media(min-width:1100px) and (hover:hover) and (pointer:fine){.services-interactive .service-name{font-size:clamp(1.6rem,2.15vw,2.35rem)}.service-preview-panel h3{font-size:clamp(1.8rem,2.7vw,2.5rem)}}
@media(max-width:800px){.hero-service-map{gap:18px;margin-inline:24px}.hero-service-map strong{font-size:.9375rem}.section-intro{margin-top:-10px}.hero h1{font-size:clamp(2.7rem,7.5vw,5rem)}}
@media(max-width:600px){.hero-kicker{font-size:.75rem;max-width:240px;letter-spacing:.07em}.hero h1{font-size:clamp(2.45rem,9vw,3.6rem)}.hero-copy{padding-inline:4px}.hero-description{font-size:1rem;max-width:29rem}.hero-service-map{grid-template-columns:1fr;margin:0 22px 18px;gap:0;padding-top:8px}.hero-service-map a{display:grid;grid-template-columns:1fr 1.2fr;gap:12px;min-height:65px;border-bottom:1px solid var(--rule)}.hero-service-map span{font-size:.75rem;letter-spacing:.03em}.hero-service-map strong{font-size:.9375rem}.botanical-stage{min-height:440px;padding:40px 18px 48px}.service-name{font-size:clamp(1.35rem,5vw,1.85rem)}.site-footer>span{max-width:100%}.hero-topline .eyebrow{font-size:.75rem}.hero-bottom .secondary-link{font-size:.875rem}.section-heading .eyebrow{max-width:140px}}

/* A concise introduction to the AI Front Desk offer. */
.front-desk-feature{background:var(--wash);padding-block:70px}
.front-desk-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(36px,7vw,100px);align-items:center}
.front-desk-grid>div{min-width:0}
.front-desk-feature .eyebrow{color:var(--muted);margin-bottom:22px}
.front-desk-feature h2{font-size:clamp(2.35rem,4vw,4rem)}
.front-desk-feature h2 em{color:#486b44}
.front-desk-copy p{max-width:34rem;color:var(--muted);font-size:1.0625rem}
.front-desk-copy p+p{margin-top:18px}
.front-desk-copy .primary-link{margin-top:28px}
@media(max-width:800px){.site-header nav{order:3;width:100%;justify-content:center;gap:24px;margin:0;border-top:1px solid var(--rule);padding-top:8px}.front-desk-grid{grid-template-columns:1fr;gap:28px}.front-desk-feature{padding-block:60px}}
@media(max-width:600px){.site-header nav{gap:12px}.site-header nav a{font-size:.875rem}.front-desk-feature h2{font-size:2.35rem}.front-desk-copy p{font-size:1rem}}
