/* Refinement of the original charcoal/lime identity. */
html{scroll-padding-top:100px}section[id],article[id]{scroll-margin-top:100px}a,button,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #82a600;outline-offset:5px}.contact :focus-visible,.work :focus-visible,.site-header :focus-visible{outline-color:var(--lime)}.brand small,.eyebrow,.btn,.contact label,.form-note,.footer-legal,.values span{font-size:.875rem}.brand small{letter-spacing:.025em}.hero{height:auto;min-height:760px;background:var(--ink);padding:160px 0 90px}.hero-content{margin:0 auto}.hero-content h1{font-size:clamp(3rem,5.1vw,4.8rem);letter-spacing:-.045em;line-height:1.08;max-width:650px}.hero-lead{max-width:550px}.hero-photo{left:57%;transform:none;background:none}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{background:linear-gradient(90deg,var(--ink) 0%,var(--ink) 43%,rgba(23,28,32,.65) 57%,transparent 75%)}.hero-actions{flex-wrap:wrap;max-width:590px}.hero-direct{display:flex;flex-wrap:wrap;gap:24px;margin-top:24px;font-size:1rem}.hero-direct a{text-underline-offset:5px}.hero-proof{display:none}.section{padding-top:88px;padding-bottom:88px}.intro h2,.section-head h2,.about h2,.contact h2{font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.1}.intro{gap:70px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{min-height:385px;padding:28px}.service-card h3{font-size:1.9rem;line-height:1.1;margin-top:32px}.service-card p{font-size:1rem}.secondary-services{align-items:baseline;gap:35px;font-size:1rem}.secondary-services strong{flex-shrink:0}.secondary-services p{margin:0}.project-index{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:45px}.project-index a{border:1px solid #6f777c;padding:10px 16px;text-decoration:none;font-size:.95rem}.project-index a:hover{background:var(--lime);color:var(--ink)}.project-story{padding:60px 0;border-top:1px solid #51595e}.story-heading{max-width:850px;margin-bottom:30px}.story-heading h3{font-size:clamp(1.8rem,3vw,2.75rem);letter-spacing:-.035em;line-height:1.15;margin-bottom:20px}.story-heading>p:last-child,.story-copy p{color:#c8cdcf}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.story-grid figure,.detail-gallery figure{margin:0;min-width:0}.story-grid img,.detail-gallery img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.story-copy{align-self:center}.story-copy h4{font-size:1.1rem;margin:26px 0 8px;color:var(--lime)}figcaption{padding:12px 0;color:#c8cdcf;font-size:.9rem}.project-details{margin-top:25px;border-top:1px solid #51595e;border-bottom:1px solid #51595e}.project-details summary{cursor:pointer;padding:20px 8px;font-weight:700}.detail-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:12px}.detail-gallery.two{grid-template-columns:1fr 1fr}.detail-gallery.two img{max-height:580px;object-fit:contain;background:#182025}.project-note{color:#c8cdcf;font-size:.95rem;max-width:850px;margin:20px 0 0}.about-visual{min-height:480px}.contact-chip{text-decoration:none;display:inline-block;font-size:1rem;min-height:48px}.email-link{overflow-wrap:anywhere;text-underline-offset:5px}.availability{font-size:.95rem!important}.contact form h3{font-size:1.65rem;margin:0}.contact .form-note{color:#bbc3c8;margin:0;letter-spacing:0;text-transform:none}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.contact .submit{text-align:center;white-space:normal;line-height:1.4;padding:14px 20px}.contact label{text-transform:none;letter-spacing:0}.contact textarea{resize:vertical}.form-status:empty{display:none}.mobile-bar a{display:flex;align-items:center;justify-content:center;min-height:46px}.mobile-bar a:not(:last-child){background:transparent}.mobile-bar{padding-bottom:max(8px,env(safe-area-inset-bottom))}.service-page{padding-top:78px}.service-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}.service-hero h1{font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.08;letter-spacing:-.045em}.service-hero figure{margin:0}.service-hero img{width:100%;aspect-ratio:3/4;object-fit:cover}.service-hero figcaption{color:#536067}.breadcrumbs{font-size:.9rem;margin-bottom:32px}.service-body{max-width:900px;padding-top:0}.service-body h2{font-size:2.1rem;line-height:1.2;letter-spacing:-.03em}.service-body h3{font-size:1.3rem;line-height:1.3}.service-body section{margin:45px 0}.service-body li{margin:10px 0}.service-body details{border-top:1px solid var(--line);padding:20px 0}.service-body summary{font-weight:700;cursor:pointer}.service-body details p{margin:15px 0 0}.service-callout{background:var(--charcoal);color:#fff;padding:32px}.service-callout .btn{margin:6px 12px 6px 0}.service-related{display:flex;flex-wrap:wrap;gap:20px}.legal-content h1{font-size:3.5rem;line-height:1.1}.legal-content h2{font-size:1.7rem;line-height:1.2}
@media(max-width:1100px){.site-header nav{gap:16px}.nav-wrap{gap:20px}.nav-cta{padding:0 10px;font-size:.75rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:260px}.hero-content h1{max-width:57%}.hero-lead{max-width:52%}.hero-actions{max-width:55%}.hero-direct{max-width:55%}}
@media(max-width:900px){.hero{padding:125px 0 40px;min-height:0;display:flex;flex-direction:column}.hero-content{width:calc(100% - 36px);order:0}.hero-content h1,.hero-lead,.hero-actions,.hero-direct{max-width:none}.hero-content h1{font-size:clamp(2.6rem,7.5vw,4rem)}.hero-photo{position:relative;inset:auto;order:1;width:calc(100% - 36px);height:320px;margin-top:35px}.hero-photo img{object-position:center 62%}.hero-shade{display:none}.hero-actions{margin-top:24px}.hero-direct{gap:20px}.hero-actions .btn{font-size:.8rem}.section{padding:60px 18px}.intro{gap:24px}.story-grid,.service-hero{grid-template-columns:1fr;gap:25px}.story-grid>figure img{max-height:600px;object-fit:contain;background:#182025}.detail-gallery{grid-template-columns:1fr 1fr}.story-copy{padding-bottom:8px}.story-copy h4:first-child{margin-top:0}.project-story{padding:40px 0}.service-hero img{max-height:430px;object-fit:contain}.service-body{padding-top:0}.mobile-bar a{font-size:.8rem}.contact{padding-bottom:70px}.section-head{margin-bottom:30px}}
@media(max-width:560px){.brand strong{font-size:.85rem}.brand small{font-size:.875rem}.nav-wrap{gap:10px}.hero-actions{gap:10px}.hero-photo{height:280px}.hero-direct{font-size:.95rem;gap:16px}.service-card{padding:24px}.secondary-services{display:block}.secondary-services p{margin-top:14px}.detail-gallery,.detail-gallery.two{grid-template-columns:1fr}.project-index{gap:8px}.project-index a{font-size:.875rem}.values{gap:20px}.about-visual{min-height:350px}.contact .form-actions{display:grid}.contact .submit{width:100%}.service-callout{padding:24px}.service-callout .btn{width:100%;margin:8px 0}.legal-page .nav-wrap{flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.legal-page{padding-top:130px}}
.site-header{position:sticky;inset:auto;top:0}.site-header nav{top:100%}.hero{padding-top:82px}.service-page,.legal-page{padding-top:0}h1,h2,h3,h4,.btn,summary{overflow-wrap:anywhere}main,section,article,form,.field-row>*{min-width:0}.mobile-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-bar a{overflow-wrap:anywhere;line-height:1.4}.brand-mark{flex-shrink:0}.contact input,.contact select,.contact textarea{min-width:0}.submit:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:900px){.hero{padding-top:47px}.site-header nav{max-height:70vh;overflow:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Final spacing and photographic proportions. */
section[id],article[id]{scroll-margin-top:12px}
.service-hero{align-items:start;padding-top:48px;padding-bottom:60px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.service-hero>div{padding-top:12px}.service-hero img{height:auto;max-height:560px;object-fit:contain}.service-hero .breadcrumbs{margin-bottom:24px}
.story-grid img{max-height:560px;object-fit:contain}.case-study{grid-template-columns:1fr 2fr;gap:32px;margin-top:30px;padding-top:32px}
.project-story{padding:38px 0}.detail-gallery.two img{max-height:480px}.story-copy h4{margin-top:18px}
@media(max-width:900px){.service-hero{grid-template-columns:minmax(0,1fr);padding-top:30px;padding-bottom:40px}.service-hero img{max-height:400px}.service-hero>div{padding-top:0}.hero{height:auto}.case-study{grid-template-columns:1fr}.story-grid img{max-height:420px}.project-story{padding:30px 0}.mobile-bar a{font-size:clamp(12px,3.3vw,16px);overflow-wrap:normal}.hero-content h1{font-size:clamp(2.3rem,9.5vw,4rem);overflow-wrap:normal}.service-hero h1{font-size:clamp(2rem,8.5vw,4rem);overflow-wrap:normal}}
