
:root{--paper:#f5f3eb;--white:#fffefa;--ink:#203b2e;--green:#426b4f;--deep:#193c2f;--moss:#8ca36d;--sage:#d8dfca;--sand:#e7dfc9;--muted:#657167;--serif:'General Sans',Arial,sans-serif;--sans:'General Sans',Arial,sans-serif;--gutter:clamp(22px,6vw,96px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--green);color:var(--white)}.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}.section-wrap{padding-left:var(--gutter);padding-right:var(--gutter)}.site-header{height:92px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:5;inset:0 0 auto;color:var(--ink)}.brand{display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.05;font-weight:800;letter-spacing:-.04em;text-transform:lowercase}.brand-mark{width:33px;height:33px;border:1.6px solid var(--green);border-radius:50%;display:grid;place-items:center;position:relative}.brand-mark:before,.brand-mark:after,.brand-mark i{content:"";display:block;width:16px;height:8px;border:1.3px solid var(--green);border-radius:100% 0 100% 0;position:absolute;transform:rotate(-32deg)}.brand-mark:after{transform:rotate(28deg) translateY(-4px)}.brand-mark i{transform:rotate(88deg) translate(-1px,-5px)}.nav{display:flex;align-items:center;gap:clamp(18px,2.8vw,45px);font-size:13px;font-weight:600}.nav>a:not(.nav-cta){transition:color .18s ease}.nav>a:not(.nav-cta):hover{color:var(--moss)}.nav-cta{padding:13px 17px;background:var(--green);color:white;border-radius:2px;transition:background .2s,transform .2s}.nav-cta:hover,.button:hover{background:var(--deep);transform:translateY(-2px)}.nav-cta span{padding-left:9px}.menu-toggle{display:none}
.hero{position:relative;min-height:850px;padding-top:150px;padding-bottom:80px;display:grid;grid-template-columns:.92fr 1.08fr;gap:4vw;align-items:center;overflow:hidden}.hero-copy{position:relative;z-index:2;padding-bottom:60px}.intro{font-size:12px;font-weight:700;letter-spacing:.03em;color:var(--green);margin:0 0 22px}.hero h1{font-size:clamp(56px,7.1vw,108px);line-height:.98;letter-spacing:-.075em;font-weight:600;margin:0;max-width:none;text-wrap:balance}.hero h1 span{display:block;overflow:hidden}.hero h1 span b{display:inline-block;font-weight:inherit;animation:rise .95s var(--ease) both}.hero h1 span:nth-child(2) b{animation-delay:.1s}.hero h1 span:nth-child(3) b{animation-delay:.2s}@keyframes rise{from{transform:translateY(110%)}to{transform:translateY(0)}}.hero-bottom{margin-top:34px;max-width:405px;animation:fade-in .7s .3s both}.hero-bottom p{font-size:16px;line-height:1.7;margin:0 0 25px;color:#4f5d50}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:16px 20px;background:var(--green);color:var(--white);border:0;border-radius:2px;font-weight:700;font-size:13px;cursor:pointer;transition:background .2s,transform .2s}.button span{font-size:17px}.hero-art{height:610px;position:relative;margin:10px calc(var(--gutter)*-1) 0 0;animation:fade-in 1.2s .12s both}.hero-art>img{object-position:center}.hero-art:after{content:"";position:absolute;inset:0;background:rgba(20,49,36,.025);pointer-events:none}.hero-note{position:absolute;z-index:1;left:-35px;bottom:72px;background:var(--white);padding:20px 24px;display:flex;align-items:center;gap:15px;font-size:12px;line-height:1.55;font-weight:600}.note-sun{font-size:35px;color:#a0a956}.art-caption{position:absolute;right:var(--gutter);bottom:18px;color:white;font-size:11px;text-shadow:0 1px 6px #172b20}.scroll-cue{position:absolute;left:var(--gutter);bottom:29px;display:flex;align-items:center;gap:13px;font-size:11px;color:var(--muted)}.scroll-cue span{display:block;width:40px;height:1px;background:var(--moss)}@keyframes fade-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.services{padding-top:145px;padding-bottom:155px;display:grid;grid-template-columns:.72fr 1.28fr;gap:10vw}.section-heading{position:sticky;align-self:start;top:90px}.section-heading h2,.work h2,.process h2,.about h2,.review-heading h2,.contact h2{font-size:clamp(42px,5vw,72px);line-height:1.04;letter-spacing:-.065em;font-weight:600;margin:0;text-wrap:balance}.heading-note{max-width:265px;color:var(--muted);font-size:14px;margin-top:22px}.service-list{padding-top:48px}.service-row{display:grid;grid-template-columns:36px 1fr .86fr 20px;align-items:center;gap:12px;min-height:105px;padding:18px 12px;background:var(--white);transition:padding .25s var(--ease),color .2s}.service-row:nth-child(even){background:#ecebdd}.service-row:hover{padding-left:9px;color:var(--green)}.service-symbol{font-family:var(--serif);font-size:24px;color:var(--moss)}.service-name{font-size:16px;font-weight:700}.service-desc{font-size:12px;line-height:1.55;color:var(--muted)}.row-arrow{font-size:17px;transition:transform .25s}.service-row:hover .row-arrow{transform:translate(3px,-3px)}
.season-band{background:var(--deep);color:var(--white);display:grid;grid-template-columns:1.08fr .92fr;min-height:580px}.season-art{min-height:580px;overflow:hidden}.season-art img{transition:transform 1.2s var(--ease)}.season-band:hover .season-art img{transform:scale(1.035)}.season-copy{padding:clamp(45px,8vw,120px);display:flex;flex-direction:column;justify-content:center}.season-quote{font:500 clamp(28px,3vw,44px)/1.34 var(--serif);letter-spacing:-.025em;margin:10px 0 35px;max-width:520px}.text-link{font-weight:600;font-size:13px;text-decoration:underline;text-decoration-color:#82957e;text-underline-offset:7px;width:max-content}.text-link span{padding-left:15px;color:#c1cf9c}
.work{padding-top:150px;padding-bottom:155px}.work-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:47px}.work-heading>p{max-width:265px;margin:0 5vw 8px 20px;color:var(--muted);font-size:13px}.project-grid{display:grid;grid-template-columns:1.16fr .84fr;gap:clamp(22px,5vw,78px);align-items:start}.project-small{margin-top:125px}.project-image{height:440px;position:relative;overflow:hidden;background:var(--sage)}.project-small .project-image{height:345px}.project-image img{transition:transform .8s var(--ease)}.project:hover .project-image img{transform:scale(1.04)}.project-index{position:absolute;top:17px;left:17px;background:var(--white);padding:8px 12px;font-size:10px;font-weight:700}.project-meta{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-top:13px}.project-meta h3{font:500 24px var(--serif);margin:0}.project-meta p{font-size:11px;color:var(--muted);margin:0;text-align:right}.sample-note{font-size:11px;line-height:1.55;color:var(--muted);margin:20px 0 0}
.process{background:#e9e8dc;padding:130px 0 145px}.process-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.process-heading>p:last-child{color:var(--muted);font-size:14px;max-width:270px;margin-top:25px}.process-list{list-style:none;margin:0;padding:0}.process-list li{display:grid;grid-template-columns:1fr 32px;gap:16px;align-items:start;padding:25px 18px;background:#f2f1e8}.process-list li:nth-child(even){background:#dfe2d3}.process-no{font-size:11px;color:var(--green);font-weight:700;padding-top:4px}.process-list h3{margin:0 0 5px;font-size:17px;letter-spacing:-.03em}.process-list p{margin:0;color:var(--muted);font-size:13px;max-width:420px}.process-mark{text-align:right;color:var(--moss);font:24px var(--serif)}
.about{padding-top:145px;padding-bottom:155px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(55px,9vw,140px);align-items:center}.about-art{height:540px;overflow:hidden}.about-copy h2{margin-bottom:36px}.about-copy ul{list-style:none;margin:0;padding:0}.about-copy li{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:14px 4px;background:var(--white);font-size:13px;line-height:1.55}.about-copy li:nth-child(even){background:#ecebdd}.about-copy li .list-mark{width:7px;height:7px;border-radius:50%;background:var(--moss);margin:7px 0 0 5px}
.reviews{background:var(--sand);padding-top:112px;padding-bottom:110px;display:grid;grid-template-columns:.82fr 1.18fr;gap:10vw}.review-heading h2{font-size:clamp(40px,4.4vw,62px)}.review-content blockquote{font:500 clamp(25px,2.7vw,38px)/1.4 var(--serif);letter-spacing:-.02em;margin:0;max-width:680px}.review-byline{font-size:12px;color:var(--muted);margin-top:20px}.review-controls{display:flex;align-items:center;gap:16px;margin-top:38px}.review-arrow{width:41px;height:41px;border:0;background:#d4c9a9;color:var(--ink);cursor:pointer;transition:background .18s,color .18s}.review-arrow:hover:not(:disabled){background:var(--green);color:white}.review-arrow:disabled{opacity:.4;cursor:default}.review-count{font-size:11px;color:var(--muted)}
.contact{background:var(--green);color:var(--white);padding:125px 0 130px}.contact-inner{display:grid;grid-template-columns:1fr .88fr;gap:12vw}.contact h2{font-size:clamp(52px,6vw,84px)}.contact-copy>p{max-width:390px;color:#e0e5d8;font-size:14px;margin:24px 0 37px}.contact-details{display:grid;grid-template-columns:105px 1fr;gap:9px 12px;font-size:12px}.contact-details>span{color:#cad5c1}.contact-details p{margin:0}.contact-details a{text-decoration:underline;text-decoration-color:#b6c8a9;text-underline-offset:3px}.contact-form{background:var(--white);color:var(--ink);padding:clamp(25px,4vw,54px);display:flex;flex-direction:column;align-items:stretch}.contact-form label{font-size:11px;font-weight:700;margin:0 0 7px}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #d3d6ca;background:transparent;padding:9px 0 12px;outline:none;margin-bottom:24px;color:var(--ink);resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--green)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#929b8f;font-size:12px}.button-light{background:var(--deep);align-self:flex-start}.form-hint,.form-status{font-size:10px;line-height:1.5;color:var(--muted);margin:16px 0 0}.form-status{color:var(--green);min-height:1.5em}
.footer{min-height:125px;display:flex;align-items:center;gap:40px;flex-wrap:wrap}.footer>p{font-size:11px;color:var(--muted);margin:0 auto 0 0}.back-top,.copyright{font-size:10px;color:var(--muted)}.copyright{flex-basis:100%;margin-top:-30px;text-align:right}.menu-open .nav{display:flex}
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .75s var(--ease),transform .75s var(--ease)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}
@media(max-width:900px){:root{--gutter:34px}.site-header{height:78px}.hero{min-height:760px;grid-template-columns:.95fr 1.05fr;gap:2vw;padding-top:130px}.hero h1{font-size:clamp(56px,8vw,80px)}.hero-art{height:520px}.hero-note{left:-25px}.services{gap:6vw;padding-top:115px;padding-bottom:120px}.service-row{grid-template-columns:28px 1fr 20px;gap:10px}.service-desc{grid-column:2;grid-row:2;margin-top:-12px}.row-arrow{grid-column:3;grid-row:1}.season-band{min-height:480px}.season-art{min-height:480px}.season-copy{padding:45px}.project-image{height:350px}.project-small .project-image{height:290px}.process-inner{gap:6vw}.about{gap:6vw}.about-art{height:450px}.contact-inner{gap:7vw}}
@media(max-width:640px){:root{--gutter:22px}.site-header{height:72px;background:var(--paper)}.brand{font-size:12px}.brand-mark{width:29px;height:29px}.menu-toggle{display:flex;width:42px;height:42px;padding:12px 8px;background:transparent;border:0;flex-direction:column;justify-content:center;gap:5px;z-index:7}.menu-toggle>span:not(.sr-only){height:1px;background:var(--ink);width:25px;transition:transform .2s}.menu-open .menu-toggle>span:first-child{transform:translateY(3px) rotate(45deg)}.menu-open .menu-toggle>span:nth-child(2){transform:translateY(-3px) rotate(-45deg)}.nav{display:none;position:absolute;top:72px;left:0;right:0;padding:24px var(--gutter) 30px;background:var(--paper);flex-direction:column;align-items:stretch;gap:0;box-shadow:0 14px 20px #203b2e12}.nav>a{padding:13px 0;border-bottom:1px solid #dfe0d5}.nav>a.nav-cta{margin-top:17px;text-align:center;padding:13px;border:0}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-top:119px;padding-bottom:75px;gap:0}.hero-copy{padding:0}.intro{font-size:10px;margin-bottom:17px}.hero h1{font-size:clamp(47px,12.6vw,74px);line-height:1.01;max-width:none;letter-spacing:-.07em}.hero h1 span{display:inline}.hero h1 span:not(:last-child)::after{content:" ";white-space:pre}.hero-bottom{margin-top:19px;max-width:none}.hero-bottom p{font-size:14px;margin-bottom:19px;max-width:390px}.hero-bottom .button{width:100%}.hero-art{height:auto;aspect-ratio:1/1.04;margin:32px calc(var(--gutter)*-1) 0}.hero-note{left:var(--gutter);bottom:25px;padding:13px 15px;font-size:10px}.note-sun{font-size:25px}.art-caption{right:var(--gutter);bottom:10px;font-size:9px}.scroll-cue{display:none}.services{display:block;padding-top:84px;padding-bottom:95px}.section-heading{position:static}.section-heading h2,.work h2,.process h2,.about h2,.review-heading h2{font-size:46px}.heading-note{font-size:13px;max-width:310px}.service-list{padding-top:35px}.service-row{min-height:88px;padding:14px 0;grid-template-columns:26px 1fr 20px}.service-symbol{font-size:20px}.service-name{font-size:14px}.service-desc{font-size:10px}.season-band{display:flex;flex-direction:column-reverse}.season-art{min-height:0;aspect-ratio:1/1}.season-copy{padding:55px var(--gutter) 45px}.season-quote{font-size:29px}.work{padding-top:95px;padding-bottom:100px}.work-heading{display:block;margin-bottom:29px}.work-heading>p{margin:19px 0 0;font-size:12px}.project-grid{grid-template-columns:1fr;gap:36px}.project-small{margin-top:0}.project-image,.project-small .project-image{height:auto;aspect-ratio:1.08/1}.project-meta{align-items:flex-start;display:block}.project-meta h3{font-size:21px}.project-meta p{text-align:left;margin-top:3px}.sample-note{font-size:10px}.process{padding:91px 0 100px}.process-inner{display:block}.process-heading>p:last-child{font-size:13px}.process-list{margin-top:32px}.process-list li{grid-template-columns:1fr 20px;gap:10px;padding:21px 12px}.process-list h3{font-size:14px}.process-list p{font-size:11px}.process-mark{font-size:19px}.about{display:flex;flex-direction:column-reverse;gap:32px;padding-top:90px;padding-bottom:95px}.about-art{height:auto;aspect-ratio:1/1;width:100%}.about-copy{width:100%}.about-copy h2{font-size:43px;margin-bottom:25px}.about-copy li{font-size:11px}.reviews{padding-top:78px;padding-bottom:80px;display:block}.review-content{margin-top:33px}.review-content blockquote{font-size:27px}.contact{padding:85px 0 90px}.contact-inner{display:block}.contact h2{font-size:54px}.contact-copy>p{font-size:13px}.contact-details{margin-bottom:34px;grid-template-columns:95px 1fr}.contact-form{padding:25px 20px}.button-light{align-self:stretch}.form-hint{font-size:9px}.footer{padding-top:24px;padding-bottom:20px;min-height:auto;gap:17px}.footer>p{flex-basis:calc(100% - 70px);font-size:10px}.back-top{margin-left:auto}.copyright{margin-top:0;text-align:left;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}
