/* Round 03: separate pages, service illustrations, horizontal contact entrance. */
.desktop-nav{box-shadow:0 7px 24px #173e321b,0 2px 5px #173e320c;background:#f5f3ebf5;backdrop-filter:blur(12px)}
.desktop-nav a[aria-current=page]{text-decoration:underline;text-decoration-color:#7b9844;text-decoration-thickness:2px;text-underline-offset:7px}
.subpage .site-header{background:linear-gradient(#f3f1e7 55%,#f3f1e700)}
.page-main{max-width:1440px;margin:auto;padding:170px 6vw 100px}
.page-intro{max-width:940px}.page-intro .lead{max-width:710px}.page-main h1{font-size:clamp(46px,5.3vw,78px)}
.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:50px 0 80px}.people-grid article{background:#fff;border-radius:24px;padding:26px}.people-grid .portrait-placeholder{height:270px;aspect-ratio:auto;margin-bottom:25px}.people-grid h2{font-size:29px}.people-grid p{font-size:13px;color:var(--muted);margin:10px 0 20px}.people-grid a{display:block;font-size:17px;margin-top:8px;overflow-wrap:anywhere}
.about-copy,.contact-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin:70px 0}.about-copy h2,.contact-info-grid h2{font-size:38px}.region-card,.form-preview{background:#dfe6d2;padding:38px;border-radius:24px}.region-card .pill,.form-preview .pill{margin-top:28px}.form-preview h2{font-size:38px}.form-preview p{max-width:700px}
.service-page-intro{display:grid;grid-template-columns:1.7fr 1fr;gap:35px;align-items:center;margin-bottom:40px}.service-page-intro h1{font-size:clamp(46px,4.7vw,70px)}.service-page-intro .lead{margin-bottom:15px}.service-intro-art{border-radius:50%;background:#dfe6d2;aspect-ratio:1;display:grid;place-items:center;--art-fill:#f3f1e7}.service-intro-art svg{width:100%}
.illustrated-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:45px 0}.illustrated-service{display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:#fff;--art-fill:#ffffff80;transition:box-shadow .3s,transform .3s}.service-artwork{height:210px;display:grid;place-items:center;overflow:hidden;background:var(--card-color);color:var(--card-ink,var(--green))}.peach{--card-color:#ecd9c6}.sky{--card-color:#d9e9ef}.sage{--card-color:#e0e6ce}.forest{--card-color:#173e32;--card-ink:#eef1de;--art-fill:#355647}.service-art{width:100%;height:100%;max-height:250px;overflow:visible}.service-caption{padding:28px;display:flex;flex:1;flex-direction:column}.service-caption h2,.service-caption h3{font-size:28px;letter-spacing:-.04em}.service-caption p{font-size:15px;line-height:1.65;color:var(--muted);margin:18px 0 27px}.service-more{margin-top:auto;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600}.service-more b{font-weight:400;font-size:23px}.illustrated-service:hover,.illustrated-service:focus-visible{transform:translateY(-4px);box-shadow:0 18px 40px #173e3210}.art-orbit{stroke-dasharray:3 10;opacity:.4}.art-object,.art-module{transition:transform .6s;transform-box:fill-box;transform-origin:center}.illustrated-service:hover .art-object,.illustrated-service:focus-visible .art-object{transform:translateY(-7px)}.illustrated-service:hover .art-module,.illustrated-service:focus-visible .art-module{animation:module-settle .75s both}.illustrated-service .m1{animation-delay:.13s!important}.illustrated-service .m2{animation-delay:.26s!important}.illustrated-service:hover .art-trace,.illustrated-service:focus-visible .art-trace{stroke-dasharray:450;animation:trace-line 1.2s both}.illustrated-service:hover .art-packet,.illustrated-service:focus-visible .art-packet{animation:packet-pulse 1s 2}
@keyframes module-settle{from{transform:translateX(22px);opacity:.4}to{transform:translateX(0);opacity:1}}@keyframes trace-line{from{stroke-dashoffset:450}to{stroke-dashoffset:0}}@keyframes packet-pulse{50%{opacity:.3}}
.featured-services.illustrated-grid{grid-template-columns:1fr 1fr}.featured-services .illustrated-service{display:grid;grid-template-columns:.8fr 1fr}.featured-services .service-artwork{height:100%;min-height:280px}.featured-services .service-caption{padding:30px}.featured-services .service-caption p{font-size:15px}.service-advice{display:flex;justify-content:space-between;align-items:center;gap:50px;padding:45px 0;margin-top:65px;border-top:1px solid var(--line)}.service-advice h2{font-size:45px}.service-advice p{max-width:630px}.service-advice .pill{flex-shrink:0}
.back-link{display:inline-block;margin-bottom:35px;font-size:13px}.detail-intro{display:grid;grid-template-columns:1.8fr 1fr;align-items:center;gap:40px;background:var(--card-color);color:var(--card-ink,var(--green));padding:50px;border-radius:28px;--art-fill:#ffffff30}.detail-intro h1{font-size:clamp(38px,4.2vw,62px)}.detail-copy{max-width:760px;margin:65px auto}.detail-copy p,.detail-copy li{font-size:18px;line-height:1.8}.detail-copy h2{font-size:32px;margin:45px 0 20px}.detail-copy ul{padding-left:22px}.detail-copy li{padding:5px 0}.detail-cta{max-width:760px;margin:auto}
.project-scroll{height:580vh}.project-sticky{overflow:hidden}.project-contact-panel{position:absolute;inset:0 0 0 34%;background:var(--cream);color:var(--green);z-index:5;display:flex;align-items:center;padding:105px 5vw 35px;transform:translateX(var(--panel-x,105%));box-shadow:-25px 0 90px #061e2428;will-change:transform}.project-contact-panel>div{max-width:740px}.project-contact-panel h2{font-size:clamp(40px,4.3vw,62px)}.project-contact-panel>div>p{max-width:480px}.panel-people{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:30px 0}.panel-people h3{font-size:19px;margin-bottom:14px}.panel-people a{display:block;font-size:13px;margin:8px 0;overflow-wrap:anywhere}.panel-people a:last-child{font-size:11px}.project-contact-panel .panel-small{font-size:11px;color:var(--muted);margin-top:18px}.project-contact-panel:focus-within{transform:none}.project-heading,.project-steps{transition:opacity .35s}.contact-arrived .project-steps{opacity:0}.contact-arrived .project-heading{opacity:.25}
@media(max-width:1000px){.illustrated-grid{grid-template-columns:1fr 1fr}.featured-services .illustrated-service{display:flex}.featured-services .service-artwork{min-height:0;height:195px}.service-page-intro{grid-template-columns:1.7fr 1fr}.project-contact-panel{inset:0 0 0 20%;padding-left:40px;padding-right:40px}.panel-people{gap:16px}.detail-intro{padding:35px}}
@media(max-width:640px){.page-main{padding:130px 24px 65px}.page-main h1{font-size:44px}.people-grid{grid-template-columns:1fr;margin:35px 0 50px;gap:22px}.people-grid h2{font-size:25px}.people-grid a{font-size:14px}.people-grid .portrait-placeholder{height:220px}.about-copy,.contact-info-grid{grid-template-columns:1fr;gap:35px}.region-card,.form-preview{padding:28px}.service-page-intro{display:block}.service-page-intro h1{font-size:43px}.service-intro-art{display:none}.illustrated-grid,.featured-services.illustrated-grid{grid-template-columns:1fr;gap:20px}.service-artwork{height:190px}.service-caption{padding:26px}.service-caption h2{font-size:28px}.service-advice{display:block;padding:30px 0}.service-advice .pill{margin-top:25px}.detail-intro{grid-template-columns:1fr;padding:26px;gap:15px}.detail-intro svg{height:165px}.detail-copy{margin:40px 0}.detail-copy p,.detail-copy li{font-size:16px}.project-scroll{height:580vh}.project-contact-panel{inset:0;padding:105px 25px 30px;align-items:flex-start}.project-contact-panel h2{font-size:43px}.project-contact-panel .eyebrow{margin-bottom:20px}.project-contact-panel>div>p{font-size:15px}.panel-people{grid-template-columns:1fr;gap:22px;margin:25px 0}.panel-people h3{font-size:19px;margin-bottom:10px}.panel-people a{font-size:14px;margin:5px 0}.panel-people a:last-child{font-size:12px}.project-contact-panel .pill{padding:14px 21px}.project-contact-panel .panel-small{font-size:10px}.contact-arrived .project-heading{opacity:0}}
@media(prefers-reduced-motion:reduce){.project-scroll{height:auto}.project-sticky{overflow:visible}.project-contact-panel{position:relative;inset:auto;transform:none!important;grid-column:1/-1;padding:40px;border-radius:20px;margin-top:25px}.contact-arrived .project-steps,.contact-arrived .project-heading{opacity:1}.illustrated-service:hover,.illustrated-service:focus-visible{transform:none}.art-object,.art-module{transform:none!important}}
.no-webgl .project-contact-panel{position:relative;inset:auto;transform:none!important;grid-column:1/-1;padding:40px;margin-top:25px}.no-webgl .project-sticky{overflow:visible}
@media(max-width:640px) and (max-height:760px){.project-contact-panel{padding-top:95px;padding-bottom:15px}.project-contact-panel h2{font-size:34px}.project-contact-panel .eyebrow{margin-bottom:13px}.project-contact-panel>div>p{margin-top:12px;font-size:13px}.panel-people{gap:17px;margin:18px 0}.panel-people h3{font-size:17px}.project-contact-panel .panel-small{font-size:10px}}
