@font-face{font-family:Manrope;src:url('./assets/fonts/manrope-normal-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('./assets/fonts/manrope-normal-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('./assets/fonts/manrope-normal-700.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--grass:#6ac81c;--grass-deep:#58c10f;--grass-ink:#315f21;--water:#0088b4;--forest:#183c2a;--ink:#213b2d;--muted:#5d685e;--paper:#f8f7f1;--stone:#ebece2;--lawn:#eff1e7;--line:#d2d8cc;--water-dark:#086a82;--gutter:clamp(24px,5.8vw,92px);--body:Manrope,Arial,sans-serif;--display:var(--body)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;color:var(--ink);background:var(--paper);font:400 18px/1.75 var(--body);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-weight:600;line-height:1.1;letter-spacing:-.055em}h2{font-size:clamp(42px,4.8vw,72px)}h3{font-size:26px;letter-spacing:-.035em}h4{font-size:23px}.life-word{color:#476947}p{max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{border:0;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.55}a,button{touch-action:manipulation}a,button,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--water-dark);outline-offset:5px;box-shadow:0 0 0 2px var(--paper)}[hidden]{display:none!important}img{display:block;max-width:100%}.icon{display:inline-block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.wrap{max-width:1560px;padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:112px}.eyebrow{font-size:12px;line-height:1.6;letter-spacing:.13em;font-weight:600;text-transform:uppercase;color:#526a4b}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:60px;border:1px solid transparent;border-radius:100px;padding:8px 8px 8px 25px;font-size:15px;font-weight:600;line-height:1.5;text-align:left;transition:background 180ms,transform 180ms,box-shadow 180ms,border-color 180ms}.button>.icon:last-child{width:42px;height:42px;padding:11px;background:var(--forest);border-radius:50%;color:#fff;transition:transform 180ms}.button:not(:has(>.icon:last-child)){padding:16px 25px;justify-content:center}.primary{background:var(--grass);color:#17321f;border-color:var(--grass)}.secondary{border-color:#879980;color:var(--ink);background:transparent}.secondary>.icon:last-child{background:var(--forest)}.text-link{display:inline-flex;align-items:center;gap:22px;min-height:48px;font-size:15px;font-weight:600;background:none;padding:5px 0;border:0;border-bottom:1px solid #85937b;line-height:1.5}.text-link .icon{width:20px;height:20px;transition:transform 180ms}.button:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #12332425}.text-link:active{color:#48712e}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:50px;min-height:50px;border:1px solid #9ca994;border-radius:50%;background:transparent}.skip-link{position:fixed;top:-100px;left:20px;z-index:120;background:#fff;padding:13px 20px;border:2px solid var(--forest)}.skip-link:focus{top:10px}.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}
/* A quiet floating navigation shell; the brand retains its original colours. */
.header{position:fixed;top:24px;left:var(--gutter);right:var(--gutter);max-width:1376px;margin-inline:auto;z-index:40;border:1px solid #ffffff7a;background:#f8f7f1dc;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:100px;box-shadow:0 8px 30px #0e2a1b12;transition:background 220ms,box-shadow 220ms}.header[data-surface=light],.header[data-nav-state=open],.header[data-nav-state=closing]{background:#f8f7f1;box-shadow:0 8px 32px #163d2a13;border-color:#d9dfd2}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:38px;min-height:83px;padding:8px 12px 8px 28px}.brand{flex-shrink:0;display:block}.brand img{width:143px;height:auto;mix-blend-mode:multiply}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:35px;margin-left:auto}.desktop-nav a{font-size:14px;font-weight:600;min-height:48px;display:flex;align-items:center;position:relative}.desktop-nav a::after{content:'';height:3px;width:3px;border-radius:50%;background:var(--forest);position:absolute;bottom:4px;left:50%;opacity:0;transition:opacity 150ms}.desktop-nav a:hover::after,.desktop-nav a[aria-current]::after{opacity:1}.header-request{min-height:58px;font-size:14px;margin-left:15px}.menu-toggle{display:none;align-items:center;justify-content:center;gap:10px;min-height:48px;min-width:108px;padding:9px 15px;border-radius:99px;background:var(--forest);color:#fff;font-size:14px;font-weight:600}.menu-mark{width:25px;height:25px;fill:currentColor}.menu-label{min-width:38px;text-align:left}.menu-line{transform-origin:16px 16px;transition:transform 300ms,opacity 180ms}.menu-line-first{transform:translateY(-7px)}.menu-line-middle{transform:scaleX(.86);transform-origin:4px 16px}.menu-line-last{transform:translateY(7px)}.menu-toggle[aria-expanded=true] .menu-line-first{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-line-middle{opacity:0;transform:scaleX(.15)}.menu-toggle[aria-expanded=true] .menu-line-last{transform:rotate(-45deg)}.navigation-panel{position:absolute;top:calc(100% + 12px);left:0;right:0;border:1px solid var(--line);background:var(--paper);border-radius:26px;max-height:calc(100dvh - 130px);overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 40px #123a2920}.navigation-panel-inner{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding:30px}.navigation-intro{display:none}.panel-links{display:grid}.panel-links>a{min-height:64px;display:flex;align-items:center;gap:18px;font-size:25px;letter-spacing:-.035em;border-bottom:1px solid var(--line)}.nav-number{font-size:12px;letter-spacing:.05em;color:var(--muted)}.panel-links .icon{margin-left:auto;width:20px;height:20px}.panel-contact{align-self:center}.panel-contact>.eyebrow{margin-bottom:17px}.panel-contact .button{width:100%;font-size:14px}.panel-phone{display:flex;align-items:center;gap:14px;min-height:76px;font-size:14px;line-height:1.5;margin-top:15px}.panel-phone strong{display:block;font-size:18px}.panel-contact>p:last-child{font-size:14px;color:var(--muted)}.panel-grass{height:16px;position:absolute;bottom:0;left:28px;right:28px;background:url('./assets/grass-border.svg') repeat-x left bottom;background-size:240px 22px;pointer-events:none;opacity:.55;transform-origin:50% 100%}.header[data-nav-state=open] .navigation-panel{animation:nav-in 300ms ease-out}.header[data-nav-state=open] .panel-links>a{animation:nav-link-in 220ms ease-out both;animation-delay:calc(var(--nav-order,0)*20ms)}.panel-links>a:nth-child(2){--nav-order:1}.panel-links>a:nth-child(3){--nav-order:2}.panel-links>a:nth-child(4){--nav-order:3}.header[data-nav-state=open] .panel-grass{animation:grow 320ms ease-out}.header[data-nav-state=closing] .navigation-panel{animation:nav-out 280ms ease-in both}@keyframes nav-in{from{opacity:.2;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes nav-out{to{opacity:0;transform:translateY(-8px)}}@keyframes nav-link-in{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
/* Immersive hero. Copy has its own local contrast layer; the path stays luminous. */
.hero{position:relative;isolation:isolate;min-height:850px;min-height:max(850px,100svh);background:#28432d;color:#fff;overflow:hidden}.hero-background,.hero-shade{pointer-events:none;position:absolute;inset:0;z-index:-2}.hero-background img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.hero-shade{z-index:-1;background:linear-gradient(90deg,#10291de8 0%,#10291da6 29%,#122d1d38 57%,transparent 78%),linear-gradient(0deg,#0e241c7d,transparent 29%)}.hero-content{min-height:inherit;display:flex;flex-direction:column;justify-content:center;padding-top:178px;padding-bottom:105px;position:relative}.hero-copy{max-width:670px}.hero-copy>.eyebrow{display:flex;align-items:center;gap:12px;color:#f3f6e9;font-size:12px;letter-spacing:.18em;margin-bottom:30px}.location-dot{width:6px;height:6px;background:var(--grass);border-radius:50%;box-shadow:0 0 0 5px #6ac81c24}.hero h1{font-size:clamp(76px,7.2vw,113px);font-weight:700;line-height:1.015;letter-spacing:-.066em;max-width:700px}.hero h1>span{display:block}.hero h1>span:last-child{color:#d5e6b4}.hero-description{font-size:18px;line-height:1.75;max-width:435px;color:#f0f2e9;margin-top:30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:31px}.hero-actions .button{font-size:14px;gap:19px}.hero-secondary{color:white;border-color:#f3f5ea8a;background:#183c2a14}.hero-secondary>.icon:last-child{background:#f8f7f1;color:var(--forest)}.hero-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:65px;display:flex;justify-content:space-between;align-items:center;gap:24px}.hero-scroll{display:flex;align-items:center;gap:22px;font-size:12px;color:#f3f4ea;min-height:48px}.hero-scroll .icon{width:17px;height:17px;transform:rotate(90deg)}.hero-meta{display:flex;gap:25px;align-items:center}.inspiration-label{font-size:12px;letter-spacing:.08em;color:#f1f3e8}.hero-motion{display:flex;align-items:center;justify-content:center;gap:8px;background:#102b2599;border:1px solid #ffffff50;color:#fff;border-radius:99px;min-height:42px;padding:8px 13px;font-size:12px}.pause-mark{display:block;width:8px;height:10px;border-inline:2px solid currentColor}.hero-motion[aria-pressed=true] .pause-mark{border:0;border-left:7px solid currentColor;border-block:5px solid transparent;width:0;height:0}.hero-copy h1,.hero-description,.hero-actions{animation:hero-entry 650ms cubic-bezier(.2,.65,.2,1) both}.hero-description{animation-delay:70ms}.hero-actions{animation-delay:120ms}@keyframes hero-entry{from{opacity:.25;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.hero-grass,.footer-grass{position:absolute;left:var(--gutter);right:var(--gutter);bottom:38px;height:40px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;pointer-events:none;user-select:none;color:var(--grass);--breeze-angle:2deg;--breeze-return:-1deg;opacity:.55}.hero-tuft,.footer-tuft{height:var(--tuft-height);width:auto;max-width:90px;fill:currentColor;transform-origin:50% 100%;animation:grass-breeze var(--breeze-time,9s) ease-in-out var(--breeze-delay,0s) infinite alternate;animation-play-state:paused;overflow:visible}.tuft-back{fill:var(--grass-ink);opacity:.65}html[data-ambient=hero] .hero-tuft,html[data-ambient=footer] .footer-tuft{animation-play-state:running}@keyframes grass-breeze{0%,15%{transform:skewX(var(--breeze-return)) rotate(-.4deg)}70%,100%{transform:skewX(var(--breeze-angle)) rotate(.5deg)}}
/* Stone folds gently over the photograph, then flows as an ordinary page. */
.introduction{position:relative;z-index:1;margin-top:-38px;border-radius:38px 38px 0 0;background:var(--paper);padding-top:91px}.intro-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:11%;align-items:start}.intro-layout h2{font-size:clamp(38px,4.1vw,62px);margin-top:23px}.intro-detail>p{font-size:21px;line-height:1.65;letter-spacing:-.02em}.intro-detail>p+p{font-size:16px;line-height:1.8;color:var(--muted);margin-top:18px}.intro-detail .text-link{margin-top:20px}.intro-meta{display:flex;justify-content:space-between;gap:25px;margin-top:65px;padding-top:26px;padding-bottom:28px;position:relative;font-size:12px;letter-spacing:.065em;text-transform:uppercase;color:#52644d}.intro-meta::before{content:'';position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:var(--line)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:48px}.section-head .eyebrow{margin-bottom:22px}.section-head>p,.section-head>div:last-child:not(:first-child){max-width:430px;color:var(--muted);font-size:18px;line-height:1.8}.section-head>.text-link{flex-shrink:0}.featured{padding-top:85px;padding-bottom:114px}.featured-layout{display:grid;grid-template-columns:1.85fr 1fr;gap:6.3%;align-items:start}.featured-photo{display:block;position:relative;background:var(--stone);padding:0;width:100%;border-radius:24px;overflow:hidden;text-align:left}.featured-photo img{width:100%;height:auto;transition:transform 450ms}.photo-open{display:grid;place-items:center;width:51px;height:51px;background:var(--paper);color:var(--forest);position:absolute;right:22px;bottom:22px;border-radius:50%;box-shadow:0 3px 15px #0e251e25}.featured-caption{display:flex;justify-content:space-between;gap:25px;margin-top:24px}.featured-caption h3,.featured-detail h3{font-size:21px;font-weight:600;letter-spacing:-.035em}.featured-caption p,.featured-detail>p:not(.feature-note){font-size:14px;color:var(--muted);line-height:1.8;margin-top:7px}.featured-caption>span{font-size:12px;white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;padding-top:6px;color:var(--muted)}.feature-note{font-size:28px;letter-spacing:-.045em;line-height:1.35;padding:4px 0 37px}.detail-photo{max-width:345px;aspect-ratio:1.22}.detail-photo img{height:100%;object-fit:cover}.featured-detail h3{margin-top:24px}.featured-detail .text-link{margin-top:18px;font-size:13px}.featured-detail{padding-top:31px}
/* Six useful services, one clear choice, and an editorial image/text panel. */
.services{background:var(--stone);position:relative;overflow:hidden;border-radius:38px 38px 0 0}.services .section-head{margin-bottom:51px}.services-layout{display:grid;grid-template-columns:255px minmax(0,1fr);gap:42px;position:relative;align-items:start}.service-options-wrap{min-width:0}.service-selector{display:grid;counter-reset:services}.service-choice{counter-increment:services;position:relative;display:flex;align-items:center;gap:14px;min-height:79px;width:100%;padding:18px 12px 20px 0;background:transparent;border-bottom:1px solid #c4cebd;text-align:left;line-height:1.5;font-size:16px;font-weight:400;transition:background 180ms,color 180ms}.service-choice::before{content:'0' counter(services);font-size:12px;color:#5d7056;letter-spacing:.04em;flex-shrink:0}.service-choice>.icon:first-child{display:none}.service-choice>span:not(.grass-growth){flex:1}.service-choice[aria-selected=true]{font-weight:700;color:#224922}.selected-check{display:none;width:19px;height:19px}.service-choice[aria-selected=true] .selected-check{display:block}.grass-growth{position:absolute;left:27px;right:15px;bottom:0;height:11px;pointer-events:none;user-select:none;overflow:hidden}.grass-growth svg{width:100%;height:100%;display:block;fill:var(--grass-deep);transform:scaleY(0);transform-origin:50% 100%;opacity:.7;transition:transform 170ms ease-in}.service-choice[aria-selected=true] .grass-growth svg{transform:scaleY(1);transition:transform 300ms cubic-bezier(.2,.75,.25,1)}.service-choice:active{background:#e1e7d7}.help-choose{display:flex;align-items:center;gap:15px;min-height:76px;padding-block:20px;font-size:13px;font-weight:600;line-height:1.7;text-decoration:underline;text-underline-offset:5px}.help-choose>.icon{width:19px;height:19px}.service-panels{display:grid;min-width:0;align-items:stretch}.service-panel{grid-area:1/1;display:grid;grid-template-columns:.85fr 1fr;gap:34px;align-self:stretch;min-height:685px}.service-panel[hidden]{display:grid!important;visibility:hidden;pointer-events:none}.service-photo{position:relative;overflow:hidden;background:#d3ddc9;border-radius:22px;min-width:0;min-height:0}.service-photo img{width:100%;height:100%;object-fit:cover;object-position:var(--photo-position,50% 50%);transition:transform 400ms}.photo-label{position:absolute;bottom:16px;left:15px;right:15px;border-radius:99px;background:#183c2add;color:#f4f6eb;padding:9px 13px;text-align:center;font-size:12px;line-height:1.5;letter-spacing:.04em}.service-copy{padding:8px 0 10px;min-width:0}.service-copy .eyebrow{font-size:12px;margin-bottom:20px}.service-copy h3{font-size:34px;letter-spacing:-.045em;line-height:1.15;margin-bottom:22px}.service-copy>p:not(.eyebrow):not(.service-quote){font-size:17px;line-height:1.8;color:#51614c}.service-copy ul{list-style:none;margin:24px 0 28px;padding:0;display:grid;gap:11px}.service-copy li{display:flex;align-items:flex-start;gap:11px;font-size:14px;line-height:1.7}.service-copy li .icon{width:15px;height:15px;margin-top:5px;color:#527a39}.service-copy .button{font-size:13px;gap:16px;min-height:54px;padding-left:20px}.service-copy .button .icon{width:36px;height:36px;padding:9px}.service-quote{font-size:12px;line-height:1.7;color:var(--muted);margin-top:14px}.service-vine{position:absolute;right:-35px;top:40px;width:22px;height:550px;pointer-events:none;overflow:visible;opacity:.55}.vine-stem{fill:none;stroke:#609a35;stroke-width:1.4;stroke-dasharray:100;stroke-dashoffset:83.333;transition:stroke-dashoffset 360ms}.vine-leaf{fill:#78be37;opacity:0;transform:scale(.6);transform-origin:16px 300px;transition:opacity 240ms,transform 280ms}.vine-leaf.flourished{opacity:.65;transform:scale(1)}.services-finish{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:49px;font-size:12px;color:#52664b}.services-finish .icon{width:20px;height:20px}.finish-line{flex:1;height:1px;background:#c9d1c0}#panel-lighting .service-photo{background:#19392b}#panel-lighting .service-photo img{object-fit:contain}
/* Every portfolio frame remains complete, including newly revealed photographs. */
.photo-hint{display:flex;gap:10px;align-items:center;font-size:13px!important;color:#536d4b;margin-top:18px}.photo-hint>.icon{width:19px;height:19px}.work-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:42px;border-top:1px solid var(--line);padding-top:22px}.filters{display:flex;gap:5px;flex-wrap:wrap}.filter{display:flex;align-items:center;gap:7px;background:transparent;border:1px solid transparent;border-radius:99px;min-height:48px;padding:11px 16px;font-size:12px;font-weight:600;line-height:1.5;color:var(--muted)}.filter.active{background:var(--forest);color:#fff;border-color:var(--forest)}.filter>span{font-size:12px;background:#ffffff20;padding:0 6px;border-radius:10px}.filter:hover:not(.active){background:var(--stone)}#filter-count{font-size:12px;color:var(--muted);white-space:nowrap}.project-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:46px}.project-row{display:grid;grid-template-columns:var(--row-columns);gap:28px;align-items:start;min-width:0}.project-card{display:block;min-width:0;padding:0;background:none;text-align:left;border-radius:20px;scroll-margin-top:130px}.project-photo{position:relative;overflow:hidden;background:#e7eadd;border-radius:20px;aspect-ratio:var(--photo-ratio)}.project-photo img{width:100%;height:100%;object-fit:contain;transition:transform 350ms}.project-open{position:absolute;bottom:18px;right:18px;background:#f8f7f1ee;border-radius:50%;min-width:48px;min-height:48px;display:grid;place-items:center;color:var(--forest)}.project-open>.icon{width:21px;height:21px}.project-info{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-top:20px;min-height:85px}.project-info h3{font-size:20px;line-height:1.4;letter-spacing:-.025em}.project-info p{font-size:12px;color:var(--muted);line-height:1.7;margin-top:6px}.project-number{font-size:12px;line-height:1.8;color:#5b7152;font-variant-numeric:tabular-nums;padding-top:4px}.work-more{display:flex;flex-direction:column;align-items:center;gap:15px;margin-top:46px;padding-top:35px;border-top:1px solid var(--line)}.work-more .button{min-width:225px}.work-more p{font-size:12px;color:var(--muted)}.work-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:50px}.work-footer p{font-size:13px;color:var(--muted);max-width:430px}
/* A slower second half: place, people, process and a direct conversation. */
.about{background:#e9eee2;position:relative;overflow:hidden}.about-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:9%;align-items:center}.about-visual{position:relative;padding-bottom:31px}.about-photo{width:100%;height:540px;object-fit:cover;object-position:var(--photo-position,46% 52%);border-radius:22px 110px 22px 22px}.about-caption{display:flex;align-items:center;gap:10px;position:absolute;bottom:0;left:22px;right:22px;background:var(--paper);padding:18px 21px;border-radius:16px;box-shadow:0 8px 25px #153d2010;font-size:12px}.about-caption .icon{width:18px;height:18px}.about-botanical{position:absolute;right:-27px;top:-25px;width:69px;height:148px;fill:none;stroke:#668458;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;opacity:.6;transform:rotate(14deg);z-index:1}.about-copy>.eyebrow{margin-bottom:24px}.about h2{font-size:clamp(42px,4.6vw,68px);margin-bottom:28px}.about-copy>p:not(.eyebrow){font-size:18px;line-height:1.85;color:#52624c;margin-top:18px}.about-copy .text-link{margin-top:26px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:58px}.process-grid article{border-top:1px solid #9dab91;padding-top:25px}.step-number{display:block;font-size:12px;letter-spacing:.1em;color:#6a7e5e;margin-bottom:31px}.process-grid h3{font-size:24px;letter-spacing:-.035em;margin-bottom:17px}.process-grid p{font-size:17px;color:var(--muted);line-height:1.9}.contact{background:var(--forest);color:#f4f5e9;border-radius:38px 38px 0 0}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.contact-copy{padding-top:19px}.contact-copy>.eyebrow{color:#bed49d;margin-bottom:30px}.contact h2{font-size:clamp(50px,5.5vw,82px);margin-bottom:28px}.contact h2 .life-word{color:#c5d8a8}.contact-copy>p:not(.eyebrow){font-size:18px;color:#dce5d2;max-width:380px}.contact-links{margin-top:33px}.contact-links>a{display:flex;align-items:center;gap:17px;padding-block:23px;border-bottom:1px solid #547059;line-height:1.5}.contact-links>a>.icon:first-child{width:22px;height:22px;color:#b9d58d}.contact-links>a>.icon:last-child{margin-left:auto;width:20px;height:20px;color:#c0d4a5}.contact-links>a>span{min-width:0}.contact-links small{font-size:12px;display:block;color:#c4d5b6;margin-bottom:7px;letter-spacing:.04em}.contact-call strong{font-size:29px;font-weight:400;letter-spacing:-.025em}.contact-email strong{font-size:15px;font-weight:400;overflow-wrap:anywhere}.contact-links>p{display:flex;align-items:center;gap:12px;font-size:14px;margin-top:24px;color:#d8e3ce}.contact-links>p>.icon{width:20px;height:20px}.contact-note{display:flex;gap:15px;max-width:400px;margin-top:32px;padding:22px 0;border-top:1px solid #547059}.contact-note .icon{width:20px;height:20px;color:#bfd5a1;margin-top:4px}.contact-note p{font-size:14px;color:#d9e4d1;line-height:1.85}.request-card{background:var(--paper);color:var(--ink);padding:38px;border-radius:26px;scroll-margin-top:130px;min-width:0;box-shadow:0 18px 50px #0a231724}.form-heading>.eyebrow{font-size:12px;letter-spacing:.07em;margin-bottom:16px}.form-heading h3{font-size:35px;letter-spacing:-.045em}.form-heading>p:last-child{font-size:14px;color:var(--muted);margin-top:13px}#service-request-form{margin-top:29px}.form-field{margin-bottom:24px}.form-field label{display:block;font-size:14px;font-weight:600;line-height:1.7;margin-bottom:9px}.form-field label>span{font-size:12px;color:var(--muted);font-weight:400}.field-help{font-size:12px;line-height:1.7;color:var(--muted);margin-top:-4px;margin-bottom:9px}input:not([type=range]),select,textarea{display:block;width:100%;min-height:55px;padding:12px 14px;border:1px solid #a7b29d;border-radius:9px;background:#fdfdf9;color:var(--ink);font-size:17px;line-height:1.65}select{padding-right:34px}textarea{resize:vertical;min-height:116px;max-height:350px}input[aria-invalid=true]{border:2px solid #9c3e2e;background:#fffaf7}.field-error{font-size:13px;color:#983925;margin-top:7px;line-height:1.8}.select-wrap{position:relative;padding-bottom:9px}.select-wrap .grass-growth{left:7px;right:7px;height:11px;bottom:0}.select-wrap[data-known=true] .grass-growth svg{transform:scaleY(1)}.form-honesty{display:flex;align-items:flex-start;gap:11px;font-size:12px;line-height:1.8;color:var(--muted)}.form-honesty .icon{width:19px;height:19px;margin-top:3px}.form-submit{width:100%;margin-top:24px}.form-error-summary{background:#fff1e8;border:1px solid #b45e43;color:#8c3221;padding:12px 14px;border-radius:5px;font-size:14px;margin-top:15px}.request-ready{border-top:1px solid var(--line);padding-top:25px;margin-top:26px}.ready-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:17px}.ready-heading>.icon{width:25px;height:25px;margin-top:3px}.ready-heading p{font-size:13px;color:#67522e;line-height:1.8;margin-top:7px}.request-ready>p{font-size:15px;line-height:1.8;color:var(--muted)}.request-review{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.9;background:var(--lawn);border-left:2px solid var(--grass);padding:18px;margin-block:20px}.ready-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.ready-actions .button{font-size:13px}.ready-actions .text-link{font-size:13px}.copy-status{font-size:13px!important;margin-top:16px}.email-fallback{font-size:13px!important;margin-top:17px}.email-fallback a{text-decoration:underline;text-underline-offset:4px}.questions{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;align-items:start}.faq-heading>.eyebrow{margin-bottom:24px}.faq-heading h2{font-size:clamp(40px,4.2vw,64px)}.faq-heading .text-link{margin-top:27px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:23px;list-style:none;cursor:pointer;min-height:83px;padding-block:23px;font-size:16px;font-weight:600;line-height:1.7}summary::-webkit-details-marker{display:none}.faq-plus{width:19px;height:19px;transition:transform 180ms}details[open] .faq-plus{transform:rotate(45deg)}.faq-list details>p{color:var(--muted);font-size:16px;line-height:1.9;padding-bottom:25px;padding-right:20px}.faq-list a{text-decoration:underline;text-underline-offset:4px}.footer{background:#e8eddd;position:relative;border-top:1px solid var(--line);padding-block:65px 24px}.footer-grass{bottom:auto;top:-31px;height:32px;color:var(--grass-deep);opacity:.7}.footer-tuft{height:min(var(--tuft-height),31px)}.footer-main{display:flex;align-items:center;gap:40px;padding-bottom:36px}.footer-brand{flex-shrink:0}.footer-brand img{width:164px;height:auto;mix-blend-mode:multiply}.footer-main>p{font-size:12px;color:var(--muted);line-height:1.9}.footer-nav{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-left:auto}.footer-nav a{font-size:12px;font-weight:600;display:flex;align-items:center;min-height:48px}.back-top{margin-left:auto;flex-shrink:0}.footer-bottom{border-top:1px solid #c7d1bb;padding-top:19px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px;color:#526448}.footer-bottom>div{display:flex;align-items:center;gap:26px}.footer-bottom button{font-size:12px;background:none;min-height:48px;padding:5px 0;text-decoration:underline;text-underline-offset:4px}
/* Full-frame accessible viewer: deliberately still, independent of page motion. */
dialog{border:1px solid #8ea17e;background:var(--paper);color:var(--ink);padding:0;border-radius:20px;box-shadow:0 22px 100px #0b291d55}dialog::backdrop{background:#11271de0}.explorer{width:1240px;max-width:min(1240px,96vw);max-height:94dvh;overflow:auto}.explorer[open]{display:grid;grid-template-rows:auto auto minmax(200px,1fr) auto auto;height:min(940px,94dvh)}.explorer-head{position:sticky;top:0;z-index:5;background:var(--paper);display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px 22px;align-items:center;padding:20px 25px 16px;border-bottom:1px solid var(--line)}.explorer-head>div:first-child{grid-column:1;grid-row:1;min-width:0}.explorer-head h2{font-size:28px;line-height:1.2;letter-spacing:-.035em}.explorer-head .eyebrow{font-size:12px;margin-bottom:8px}.close-explorer{grid-column:3;grid-row:1;min-height:50px;font-size:14px;padding:10px 15px!important;gap:8px}.viewer-nav{grid-column:2;grid-row:1;display:flex;align-items:center;gap:12px}.viewer-nav .button{min-width:100px;min-height:50px;font-size:14px;gap:9px;padding:10px 14px}.viewer-count{font-size:14px;font-weight:600;white-space:nowrap;min-width:49px;text-align:center;font-variant-numeric:tabular-nums}.explorer-help{font-size:14px;line-height:1.7;color:var(--muted);padding:10px 25px 14px}[data-explorer-viewport]{position:relative;width:100%;height:100%;min-height:200px;overflow:hidden;touch-action:pan-y pinch-zoom;cursor:grab;background:#11251b;isolation:isolate}.explorer[data-zoomed=true] [data-explorer-viewport]{touch-action:pinch-zoom}[data-explorer][data-dragging] [data-explorer-viewport]{cursor:grabbing}[data-explorer-image]{position:absolute;left:0;top:0;max-width:none;object-fit:fill;user-select:none;pointer-events:none;transition:none;z-index:1}.viewer-loading{position:absolute;inset:0;display:grid;place-items:center;font-size:16px;color:#f4faef}.explorer-controls{display:flex;align-items:center;flex-wrap:wrap;gap:15px 25px;padding:15px 25px 0}.pan-controls{flex:1;min-width:220px}.pan-controls>label{font-size:13px;font-weight:600;display:block;margin-bottom:8px}.pan-controls>div{display:flex;align-items:center;gap:13px}.pan-controls .icon-button{width:48px;min-height:48px}.pan-controls input{width:100%;height:48px;accent-color:#417c25;min-width:60px}.zoom-controls{display:flex;gap:10px}.explorer-controls .button{font-size:14px;padding:11px 16px;min-height:48px;gap:9px}.explorer-status{font-size:13px;line-height:1.7;color:var(--muted);padding:12px 25px 16px}.explorer .button,.explorer .icon-button,.explorer .icon{animation:none!important;transition:background 150ms,border-color 150ms;transform:none!important;box-shadow:none!important}.explorer .button .icon{width:20px;height:20px;padding:0;border-radius:0;background:none;color:currentColor}.explorer .button:hover .icon{transform:none!important}.privacy-dialog{width:700px;max-width:94vw;max-height:88dvh;overflow:auto;padding:32px}.privacy-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.privacy-head h2{font-size:36px}.privacy-head .button{font-size:14px;padding:10px 15px;min-height:48px;gap:8px}.privacy-dialog>p{font-size:18px;line-height:1.85;color:var(--muted);margin-top:17px}.privacy-dialog a{text-decoration:underline;overflow-wrap:anywhere}.noscript-note{padding:25px var(--gutter);background:#d5edc0}.noscript-note a{text-decoration:underline}
@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #183c2a13}.primary:hover{background:var(--grass-deep);border-color:var(--grass-deep)}.secondary:hover{background:#e5ecd9;border-color:#516b40}.hero-secondary:hover{background:#f8f7f11f}.button:hover>.icon:last-child{transform:rotate(-8deg)}.text-link:hover .icon{transform:translate(2px,-2px)}.service-choice:hover{background:#f4f5ee77}.featured-photo:hover img{transform:scale(1.018)}.project-card:hover .project-photo{box-shadow:0 0 0 2px #6b8c51}.project-card:hover .project-open{background:var(--grass)}.service-panel:hover .service-photo img{transform:scale(1.012)}}
@media(max-width:1250px){.header-inner{gap:24px}.desktop-nav{gap:25px}.header-request{margin-left:0}.brand img{width:134px}.services-layout{grid-template-columns:220px minmax(0,1fr);gap:30px}.service-panel{gap:24px;grid-template-columns:.75fr 1fr;min-height:720px}.service-copy h3{font-size:30px}.service-copy>p:not(.eyebrow):not(.service-quote){font-size:16px}.service-copy li{font-size:13px}.work-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.contact-layout{gap:7%}.request-card{padding:30px}.footer-main{gap:28px}.footer-nav{gap:18px}.hero h1{font-size:93px}}
@media(max-width:1050px){:root{--gutter:40px}.header{top:20px}.desktop-nav,.header-request{display:none}.menu-toggle{display:flex}.header-inner{min-height:77px;padding:8px 13px 8px 23px}.brand img{width:130px}.section{padding-block:85px}.hero{min-height:860px;min-height:max(860px,100svh)}.hero-content{padding-top:165px;padding-bottom:130px}.hero h1{font-size:clamp(83px,9.5vw,100px)}.hero-copy{max-width:620px}.hero-shade{background:linear-gradient(90deg,#10291de8,#10291d85 45%,transparent 85%),linear-gradient(0deg,#0e241c7d,transparent 29%)}.intro-layout{gap:7%;grid-template-columns:1fr 1fr}.intro-layout h2{font-size:43px}.intro-detail>p{font-size:19px}.intro-meta{gap:20px;font-size:12px}.featured-layout{gap:5%;grid-template-columns:1.5fr 1fr}.feature-note{font-size:24px}.featured-caption{display:block}.featured-caption>span{display:block;margin-top:10px}.featured-detail{padding-top:15px}.featured-caption h3,.featured-detail h3{font-size:19px}.section-head{gap:45px}.section-head>p,.section-head>div:last-child:not(:first-child){max-width:350px;font-size:17px}.services-layout{display:block}.service-selector{grid-template-columns:repeat(3,1fr);gap:0 22px}.service-choice{min-height:85px;padding-right:7px;font-size:15px}.help-choose{min-height:75px}.service-panel{grid-template-columns:1fr 1fr;gap:40px;min-height:670px}.service-copy h3{font-size:36px}.service-copy>p:not(.eyebrow):not(.service-quote){font-size:18px}.service-copy li{font-size:16px}.service-copy .button{font-size:14px}.service-quote{font-size:12px}.service-vine{display:none}.about-layout{gap:7%}.about-photo{height:530px}.about h2{font-size:49px}.about-copy>p:not(.eyebrow){font-size:17px}.process-grid{gap:30px}.process-grid h3{font-size:22px}.process-grid p{font-size:16px}.contact-layout{gap:5%}.contact h2{font-size:61px}.contact-call strong{font-size:24px}.contact-email strong{font-size:14px}.contact-links>a{gap:12px}.contact-links>a>.icon:last-child{display:none}.contact-note p{font-size:13px}.request-card{padding:26px}.form-heading h3{font-size:30px}.questions{gap:7%;grid-template-columns:.85fr 1.15fr}.footer-main{flex-wrap:wrap}.footer-nav{order:3;margin-left:0;flex:1;gap:30px}.footer-main>p{margin-left:auto}.back-top{margin-left:auto}.explorer-head{column-gap:13px;padding-inline:20px}.explorer-head h2{font-size:25px}.viewer-nav{gap:8px}.viewer-nav .button{min-width:85px;font-size:12px;padding-inline:10px;gap:6px}.viewer-count{font-size:13px;min-width:44px}}
@media(max-width:700px){:root{--gutter:24px}html{scroll-padding-top:110px}body{font-size:18px}.header{top:16px;left:16px;right:16px}.header-inner{min-height:69px;padding:7px 9px 7px 20px;gap:15px}.brand img{width:116px}.menu-toggle{min-width:103px;min-height:49px;padding-inline:13px;font-size:14px}.menu-mark{width:24px;height:24px}.navigation-panel{top:calc(100% + 10px);max-height:calc(100dvh - 115px);border-radius:22px}.navigation-panel-inner{display:flex;flex-direction:column;gap:23px;padding:17px 22px 33px}.panel-links>a{min-height:62px;font-size:23px}.panel-contact>.eyebrow,.panel-contact>p:last-child{display:none}.panel-contact .button{font-size:15px;min-height:58px}.panel-phone{min-height:64px;margin-top:13px;justify-content:center}.panel-phone>span{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}.panel-phone strong{font-size:16px}.hero{min-height:850px;min-height:max(850px,100svh)}.hero-content{justify-content:flex-start;padding-top:170px;padding-bottom:185px}.hero-background img{object-position:62% 50%}.hero-shade{background:linear-gradient(90deg,#10291dd9 0%,#10291d86 40%,#10291d20 100%),linear-gradient(0deg,#10291d99,transparent 33%)}.hero-copy{max-width:520px}.hero-copy>.eyebrow{font-size:12px;letter-spacing:.13em;margin-bottom:28px;gap:10px}.hero h1{font-size:clamp(57px,12.9vw,86px);line-height:1.04;letter-spacing:-.063em;max-width:100%}.hero-description{font-size:18px;line-height:1.75;margin-top:25px;max-width:340px}.hero-actions{flex-direction:column;align-items:flex-start;gap:11px;margin-top:28px}.hero-actions .button{font-size:14px;min-height:58px;gap:26px;min-width:230px}.hero-actions .button .icon{width:40px;height:40px;padding:10px}.hero-bottom{bottom:67px;gap:15px;align-items:flex-end}.hero-scroll{max-width:140px;gap:15px;font-size:12px;line-height:1.7}.hero-scroll .icon{width:17px;height:17px}.hero-meta{flex-direction:column;align-items:flex-end;gap:9px}.inspiration-label{font-size:12px}.hero-motion{min-height:48px;font-size:12px;padding-inline:13px}.hero-grass,.footer-grass{--breeze-angle:1deg;--breeze-return:-.5deg;left:24px;right:24px}.hero-tuft,.footer-tuft{height:min(var(--tuft-height),27px)}.hero-tuft:nth-child(even),.hero-tuft:last-child,.footer-tuft:nth-child(even),.footer-tuft:last-child{display:none}.introduction{margin-top:-28px;border-radius:28px 28px 0 0;padding-top:60px}.intro-layout{display:block}.eyebrow{font-size:12px;letter-spacing:.11em}.intro-layout h2{font-size:clamp(35px,8.7vw,49px);line-height:1.16;margin-top:19px;letter-spacing:-.052em}.intro-detail{margin-top:29px}.intro-detail>p{font-size:20px;line-height:1.7}.intro-detail>p+p{font-size:18px;line-height:1.85;margin-top:18px}.intro-detail .text-link{margin-top:23px;font-size:15px}.intro-meta{display:grid;grid-template-columns:1fr;gap:10px;margin-top:38px;padding-top:22px;padding-bottom:0;font-size:12px}.section{padding-block:72px}h2{font-size:clamp(38px,9.6vw,56px);line-height:1.12}.section-head{display:block;margin-bottom:33px}.section-head .eyebrow{margin-bottom:19px}.section-head>p,.section-head>div:last-child:not(:first-child){max-width:none;font-size:18px;line-height:1.8;margin-top:24px}.section-head>.text-link{margin-top:24px;font-size:14px}.featured{padding-top:70px}.featured-layout{display:block}.featured-photo{border-radius:18px}.featured-caption{margin-top:18px}.featured-caption h3,.featured-detail h3{font-size:21px;line-height:1.4}.featured-caption p,.featured-detail>p:not(.feature-note){font-size:15px;line-height:1.8}.featured-caption>span{font-size:12px;margin-top:13px}.photo-open{width:48px;height:48px;right:13px;bottom:13px}.photo-open>.icon{width:20px;height:20px}.featured-detail{padding-top:40px;margin-left:13%}.feature-note{font-size:26px;padding:0 0 24px;line-height:1.4}.detail-photo{width:100%;max-width:none;aspect-ratio:1.15}.featured-detail h3{margin-top:21px}.featured-detail .text-link{font-size:14px;margin-top:15px}.services{border-radius:28px 28px 0 0}.services .section-head{margin-bottom:30px}.service-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.service-choice{min-height:103px;padding:14px 12px 20px;border:1px solid #bac9ad;border-radius:12px;background:#f4f5eb;align-items:flex-start;flex-direction:column;gap:8px;font-size:15px;line-height:1.5}.service-choice::before{font-size:12px}.service-choice>span:not(.grass-growth){flex:initial}.service-choice .selected-check{position:absolute;right:11px;top:14px;width:16px;height:16px}.service-choice[aria-selected=true]{background:#fafbf5;border-color:#69834f;box-shadow:inset 0 0 0 1px #69834f}.grass-growth{left:12px;right:12px;height:9px}.service-choice[aria-selected=true] .grass-growth svg{transition-duration:250ms}.help-choose{font-size:14px;min-height:80px;gap:18px}.service-panel,.service-panel[hidden]{display:flex!important;flex-direction:column;gap:27px;min-height:0}.service-photo{height:290px;min-height:290px;border-radius:18px}.service-photo img{object-position:var(--photo-position,50% 47%)}.photo-label{font-size:12px;bottom:14px;left:14px;right:14px;padding:10px 12px}.service-copy{padding:0 1px 10px}.service-copy .eyebrow{font-size:12px;margin-bottom:16px}.service-copy h3{font-size:34px;line-height:1.15;margin-bottom:20px}.service-copy>p:not(.eyebrow):not(.service-quote){font-size:18px;line-height:1.85}.service-copy ul{margin-block:24px 27px;gap:12px}.service-copy li{font-size:17px;line-height:1.8;gap:12px}.service-copy li>.icon{margin-top:7px;width:16px;height:16px}.service-copy .button{min-height:59px;font-size:15px;padding-left:23px}.service-copy .button .icon{width:41px;height:41px;padding:11px}.service-quote{font-size:13px;margin-top:15px}.services-finish{margin-top:31px;gap:12px;font-size:13px;line-height:1.8;justify-content:flex-start}.services-finish .finish-line{display:none}.photo-hint{font-size:14px!important;line-height:1.8}.work-toolbar{margin-bottom:29px;padding-top:19px;gap:15px}.filters{display:flex;gap:7px;width:100%;flex-wrap:wrap}.filter{font-size:12px;min-height:48px;padding:11px 14px;border-color:#c7d1bc}.filter.active{border-color:var(--forest)}#filter-count{font-size:12px}.project-grid{gap:31px}.project-row{grid-template-columns:minmax(0,1fr);gap:31px}.project-photo{border-radius:17px}.project-info{min-height:0;padding-top:16px;gap:15px}.project-info h3{font-size:20px;line-height:1.45}.project-info p{font-size:14px;line-height:1.75;margin-top:5px}.project-number{font-size:12px}.project-open{min-width:48px;min-height:48px;bottom:13px;right:13px}.project-card{scroll-margin-top:112px}.work-more{margin-top:32px;padding-top:29px;gap:15px}.work-more .button{width:100%;font-size:15px}.work-more p{font-size:13px}.work-footer{display:block;margin-top:32px}.work-footer p{font-size:14px;line-height:1.85}.work-footer .button{margin-top:23px;font-size:14px}.about-layout{display:flex;flex-direction:column;gap:39px}.about-visual{width:100%;padding-bottom:26px}.about-photo{height:370px;border-radius:18px 75px 18px 18px}.about-caption{font-size:12px;left:14px;right:14px;padding:16px;border-radius:13px;gap:8px}.about-caption>.icon{width:17px;height:17px}.about-botanical{width:54px;height:120px;right:-15px;top:-25px}.about-copy{width:100%}.about-copy>.eyebrow{margin-bottom:20px}.about h2{font-size:clamp(40px,10vw,56px);margin-bottom:25px}.about-copy>p:not(.eyebrow){font-size:18px;line-height:1.85;margin-top:18px}.about-copy .text-link{font-size:15px;margin-top:24px}.process-grid{grid-template-columns:1fr;gap:30px}.process-grid article{padding-top:23px}.step-number{font-size:12px;margin-bottom:20px}.process-grid h3{font-size:25px;margin-bottom:17px}.process-grid p{font-size:18px;line-height:1.85}.contact{border-radius:28px 28px 0 0}.contact-layout{display:flex;flex-direction:column;gap:36px}.contact-copy{padding:0;width:100%}.contact-copy>.eyebrow{margin-bottom:25px}.contact h2{font-size:clamp(49px,12.2vw,69px);line-height:1.08;margin-bottom:28px}.contact-copy>p:not(.eyebrow){font-size:18px;line-height:1.85;max-width:none}.contact-links{margin-top:26px}.contact-links>a{gap:14px;padding-block:22px}.contact-call strong{font-size:27px}.contact-email strong{font-size:15px}.contact-links small{font-size:12px}.contact-links>p{font-size:16px;margin-top:23px}.contact-note{margin-top:28px;padding:22px 0 0;max-width:none;gap:14px}.contact-note p{font-size:16px;line-height:1.85}.request-card{width:100%;padding:28px 21px;border-radius:22px;scroll-margin-top:105px}.form-heading>.eyebrow{font-size:12px;line-height:1.8;margin-bottom:16px}.form-heading h3{font-size:31px;line-height:1.15}.form-heading>p:last-child{font-size:16px;line-height:1.8}.form-field{margin-bottom:25px}.form-field label{font-size:16px;line-height:1.8}.form-field label>span{font-size:12px}.field-help{font-size:14px;line-height:1.8;margin-bottom:10px}.form-field input,.form-field textarea,.form-field select{font-size:18px;min-height:58px;padding:13px 12px}.form-field select{font-size:15px;padding-right:31px}.field-error{font-size:14px;line-height:1.8}.form-honesty{font-size:14px;line-height:1.85;gap:10px}.form-honesty .icon{width:20px;height:20px;margin-top:4px}.form-submit{font-size:15px;min-height:60px}.ready-heading{gap:12px}.ready-heading h4{font-size:23px}.ready-heading p{font-size:14px}.request-ready>p{font-size:17px;line-height:1.85}.request-review{padding:15px;font-size:14px;line-height:1.9}.ready-actions{gap:14px}.ready-actions .primary{width:100%;font-size:13px;min-height:58px}.ready-actions .secondary{font-size:14px;min-height:50px}.ready-actions .text-link{font-size:14px}.email-fallback,.copy-status{font-size:14px!important}.questions{display:flex;flex-direction:column;gap:34px}.faq-heading h2{font-size:clamp(40px,10vw,56px)}.faq-heading .text-link{font-size:15px;margin-top:24px}.faq-list{width:100%}.faq-list summary{font-size:18px;line-height:1.7;padding-block:23px;gap:18px;min-height:82px}.faq-list details>p{font-size:18px;line-height:1.85;padding-right:0;padding-bottom:25px}.footer{padding-top:48px;padding-bottom:25px}.footer-main{display:grid;grid-template-columns:1fr auto;gap:25px 16px;padding-bottom:28px}.footer-brand img{width:149px}.footer-main>p{margin:0;grid-column:1/-1;grid-row:2;font-size:14px;line-height:1.85}.footer-nav{grid-column:1/-1;grid-row:3;display:flex;gap:9px 25px;margin:0}.footer-nav a{font-size:14px;min-height:48px}.back-top{grid-column:2;grid-row:1}.footer-bottom{display:block;font-size:12px;padding-top:22px}.footer-bottom>div{gap:28px;margin-top:8px;flex-wrap:wrap}.footer-bottom button{font-size:12px;min-height:48px}.explorer-head{grid-template-columns:minmax(0,1fr) auto;gap:13px;padding:17px 16px 14px}.explorer-head h2{font-size:24px;line-height:1.2;letter-spacing:-.035em}.explorer-head .eyebrow{font-size:12px;letter-spacing:.055em;margin-bottom:8px}.explorer-head .close-explorer{grid-column:2;grid-row:1;align-self:start;font-size:14px;min-height:48px;padding:10px 11px!important}.viewer-nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1fr auto 1fr;gap:12px}.viewer-nav .button{min-height:48px;font-size:16px;min-width:0;padding-inline:10px;justify-content:center}.viewer-nav .button .icon{display:none}.viewer-count{font-size:13px;min-width:50px}.explorer-help{font-size:13px;padding:10px 16px 12px;line-height:1.65}.explorer-controls{gap:11px;padding:13px 16px 0}.explorer-controls .pan-controls{flex-basis:100%;min-width:0}.explorer-controls .zoom-controls{flex:1;gap:10px}.explorer-controls .zoom-controls .button{flex:1;font-size:13px;padding-inline:10px}.explorer-status{font-size:12px;line-height:1.65;padding:11px 16px 14px}.privacy-dialog{padding:25px 20px}.privacy-head{align-items:flex-start;gap:13px}.privacy-head h2{font-size:31px}.privacy-head .button{font-size:13px;padding:9px 10px;gap:6px}.privacy-head .icon{width:17px;height:17px}.privacy-dialog>p{font-size:18px;line-height:1.85}}
@media(max-width:370px){:root{--gutter:20px}.header{left:12px;right:12px;top:12px}.header-inner{padding-left:16px}.brand img{width:108px}.hero-content{padding-top:150px}.hero h1{font-size:56px}.hero-description{max-width:280px;font-size:18px}.hero{min-height:870px}.hero-actions .button{min-width:224px}.hero-bottom{gap:8px}.hero-scroll{max-width:118px;font-size:12px}.hero-meta{gap:8px}.hero-motion{padding-inline:11px}.intro-layout h2{font-size:33px}.service-choice{font-size:14px;padding-inline:10px;min-height:107px}.service-copy h3{font-size:31px}.request-card{padding-inline:17px}.form-heading h3{font-size:28px}.form-field label{font-size:15px}.form-field select{font-size:14px}.contact-email strong{font-size:14px}.contact-call strong{font-size:25px}.filter{font-size:12px;padding-inline:11px}.featured-detail{margin-left:10%}.explorer-head h2{font-size:22px}}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] *,html[data-motion=off] *::before,html[data-motion=off] *::after{transition:none!important;animation:none!important}html[data-motion=off] .hero-copy :is(h1,.hero-description,.hero-actions){opacity:1;transform:none}html[data-motion=off] :is(.button,.text-link,.featured-photo,.service-panel):hover :is(.icon,img),html[data-motion=off] .button:hover{transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-copy :is(h1,.hero-description,.hero-actions){opacity:1;transform:none}:is(.button,.text-link,.featured-photo,.service-panel):hover :is(.icon,img),.button:hover{transform:none}}

/* The hero is an authentic portfolio photograph and opens at full frame. */
.inspiration-label{display:inline-flex;align-items:center;gap:8px;min-height:48px;background:none;padding:5px 0;text-decoration:underline;text-underline-offset:4px}.inspiration-label .icon{width:14px;height:14px}.service-copy>p:not(.eyebrow):not(.service-quote),.process-grid p{font-size:18px}
@media(max-width:700px){.hero-meta{gap:0}.inspiration-label{max-width:165px;font-size:12px;line-height:1.5;text-align:right}.hero-bottom{bottom:63px}.hero-motion{min-height:48px}.service-copy>p:not(.eyebrow):not(.service-quote),.process-grid p{font-size:18px}}

/* Comfortable, consistent action text across viewport sizes. */
.desktop-nav a,.menu-toggle,.button,.header-request,.hero-actions .button,.panel-contact .button,.service-copy .button,.work-more .button,.work-footer .button,.form-submit,.ready-actions .button{font-size:16px}
.service-choice{font-size:16px}.filter{font-size:14px}.hero-motion{font-size:12px}.inspiration-label{font-size:12px}.hero-scroll{font-size:12px}
@media(max-width:700px){.hero-actions .button{min-width:246px}.hero-meta{gap:2px}.inspiration-label{max-width:176px}.hero-scroll{max-width:125px}.filter{font-size:14px;padding-inline:13px}.service-choice{font-size:16px;min-height:112px}.form-field select{font-size:16px}.panel-phone>span{font-size:14px}.photo-label{font-size:12px}.hero-copy>.eyebrow{font-size:12px}}
@media(max-width:370px){.hero-bottom{gap:9px}.hero-scroll{max-width:99px}.inspiration-label{max-width:150px}.hero-actions .button{min-width:246px}.service-choice{font-size:16px;min-height:121px}.filter{font-size:14px;padding-inline:12px}}
/* Official supplied artwork: preserve the complete file and its original ratio.
   This upload is a white-canvas JPEG, not a transparent file. Continuous white
   navigation/footer surfaces avoid a separate logo rectangle without changing
   any artwork pixels. Replace the source with approved alpha artwork when supplied. */
.header{background:#fff;border-color:#ffffffb8}
.header[data-surface=light],.header[data-nav-state=open],.header[data-nav-state=closing]{background:#fff;border-color:#dde5d6}
.header-inner{min-height:92px;padding:9px 12px 9px 24px;gap:30px}
.brand,.footer-brand{display:block;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;line-height:0}
.brand .official-logo,.footer-brand .official-logo{height:auto;aspect-ratio:1536/591;object-fit:contain;mix-blend-mode:normal;filter:none;border:0;border-radius:0;padding:0;background:transparent}
.brand .official-logo{width:184px}
h1,h2{font-weight:700;letter-spacing:-.045em}
.hero h1{letter-spacing:-.055em}
.footer{background:#fff;padding-top:78px}
.footer-main{gap:38px;min-height:132px;padding-bottom:42px}
.footer-brand .official-logo{width:246px}
@media(max-width:1200px) and (min-width:1051px){
 .header-inner{gap:22px}.brand .official-logo{width:166px}.desktop-nav{gap:26px}.header-request{margin-left:4px}
}
@media(max-width:1050px){
 .header-inner{min-height:88px;padding:10px 14px 10px 22px;gap:24px}
 .brand .official-logo{width:178px}
 .footer-main{gap:30px}
}
@media(max-width:700px){
 .header-inner{min-height:82px;padding:10px 10px 10px 16px;gap:20px}
 .brand .official-logo{width:156px}
 .menu-toggle{flex-shrink:0;min-width:106px}
 .navigation-panel{max-height:calc(100dvh - 140px)}
 .footer{padding-top:64px}
 .footer-main{gap:29px 20px;padding-bottom:36px;min-height:0}
 .footer-brand .official-logo{width:218px;max-width:100%}
 .back-top{align-self:center}
}
@media(max-width:370px){
 .header-inner{padding-left:13px;padding-right:9px;gap:16px}
 .brand .official-logo{width:140px}
 .menu-toggle{min-width:104px;padding-inline:12px}
 .footer-brand .official-logo{width:200px}
}
/* Hidden service panels share one constrained track from the first render. */
.service-panels{grid-template-columns:minmax(0,1fr)}
.service-panel,.service-copy,.service-photo{min-width:0;max-width:100%}
.service-panel{width:100%}
.service-photo img{min-width:0;max-width:100%}
/* Lighting is composed as a landscape photograph, with details below it. */
#panel-lighting{grid-template-columns:minmax(0,1fr);grid-template-rows:260px auto;gap:25px}
#panel-lighting .service-photo{height:260px;min-height:0}
#panel-lighting .service-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 49%}
#panel-lighting .service-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px;align-content:start;padding-top:0}
#panel-lighting .service-copy>.eyebrow,#panel-lighting .service-copy>h3,#panel-lighting .service-copy>p:not(.service-quote){grid-column:1}
#panel-lighting .service-copy>ul{grid-column:2;grid-row:1/5;margin:0}
#panel-lighting .service-copy>.button{grid-column:2;grid-row:5;justify-self:start;align-self:start;margin-top:18px}
#panel-lighting .service-copy>.service-quote{grid-column:1;grid-row:4;margin-top:16px}
@media(max-width:1050px) and (min-width:701px){
 #panel-lighting{grid-template-rows:250px auto}
 #panel-lighting .service-photo{height:250px}
 #panel-lighting .service-copy{column-gap:28px}
}
@media(max-width:700px){
 .service-panel{width:100%}
 .service-photo{width:100%;flex-shrink:0}
 .service-copy{width:100%}
 #panel-lighting{gap:27px}
 #panel-lighting .service-photo{height:auto;min-height:0;aspect-ratio:1536/967}
 #panel-lighting .service-photo img{width:100%;height:100%;object-fit:contain}
 #panel-lighting .service-copy{display:block}
 #panel-lighting .service-copy>ul{margin-block:24px 27px}
 #panel-lighting .service-copy>.button{margin-top:0}
 #panel-lighting .service-copy>.service-quote{margin-top:15px}
}
