:root{--paper:#e9f1ef;--ink:#102924;--dark:#101916;--green:#3cc48f;--muted:#52675f;--line:#bdcec7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'DM Sans',Arial,sans-serif}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #278368;outline-offset:5px}h1,h2{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;text-transform:uppercase;font-weight:700;letter-spacing:-.018em;line-height:.98}h2{font-size:clamp(42px,5vw,70px)}h3{font-size:24px;line-height:1.25;font-weight:500}.wrap{width:min(1344px,calc(100% - 96px));margin:auto}.eyebrow{font-size:10px;line-height:1.6;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:#27775e}.preview-note{padding:7px 20px;background:#d8e7e1;color:#35574a;text-align:center;font-size:10px;letter-spacing:.12em}.preview-note span{letter-spacing:.02em}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}header{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:10}header nav.wrap{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;font-size:14px;font-weight:700;letter-spacing:.035em;line-height:1.2}.brand svg{width:49px;height:43px;flex:none;fill:var(--green)}.brand small{display:block;font-size:9px;letter-spacing:.24em;margin-top:5px}.navlinks{display:flex;gap:32px;font-size:12px;font-weight:600}.navcta,.textlink{font-weight:600;font-size:12px;border-bottom:1px solid currentColor;padding:8px 0;display:inline-block}.navcta:hover,.textlink:hover{color:#278368}.menu-toggle{display:none;background:none;border:0;color:var(--ink)}#mobile-menu{padding:10px 24px 22px;border-top:1px solid var(--line)}#mobile-menu a{display:block;padding:10px 0}#mobile-menu[hidden]{display:none}.hero{padding-top:35px;padding-bottom:25px}.hero-top{display:flex;justify-content:space-between;margin-bottom:30px;gap:20px}.hero-grid{display:grid;grid-template-columns:1.03fr 1fr;gap:60px;align-items:center}.hero h1{font-size:clamp(64px,6.5vw,94px)}.hero h1 span{color:#2c8b6a}.hero-description{font-size:18px;line-height:1.5;max-width:490px;margin-top:25px}.hero-secondary{font-size:14px;color:var(--muted);max-width:425px;margin:16px 0 26px}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--ink);color:var(--paper);padding:15px 23px;border:1px solid var(--ink);font-size:13px;font-weight:600;min-height:52px;cursor:pointer}.btn:hover{background:#296850}.hero-image>img{height:490px;object-position:48% 50%}.hero-image figcaption{display:flex;justify-content:space-between;gap:15px;font-size:9px;margin-top:12px}.hero-bottom{margin-top:35px;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:25px;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.section{padding:86px 0}.dark{background:var(--dark);color:var(--paper)}.dark .eyebrow{color:var(--green)}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:end;margin-bottom:38px}.section-heading .eyebrow{margin-bottom:18px}.section-heading>p{font-size:15px;max-width:440px;color:var(--muted)}.dark .section-heading>p{color:#b0c2b9}.work{padding:64px 0 72px}.photo-grid{display:grid;grid-template-columns:1.2fr .85fr 1fr;gap:22px;align-items:start}.photo-grid figure:nth-child(2){padding-top:42px}.photo-grid figure:nth-child(3){padding-top:16px}.photo-link{display:block;height:274px;overflow:hidden;cursor:zoom-in}.photo-grid figure:nth-child(2) .photo-link{height:310px}.photo-link img{transition:transform .3s}.photo-link:hover img{transform:scale(1.025)}figcaption{font-size:10px;line-height:1.5;color:var(--muted);margin-top:12px}.dark figcaption{color:#aebfb7}.photo-grid figcaption{display:flex;flex-wrap:wrap;gap:5px 14px;justify-content:space-between;font-size:9px}.film{margin-top:60px;padding-top:42px;border-top:1px solid #3b5147;display:grid;grid-template-columns:.72fr 1.4fr;gap:70px;align-items:center}.film h3{font-family:'Barlow Condensed',sans-serif;font-size:48px;text-transform:uppercase;line-height:1.02;margin:18px 0}.film p:not(.eyebrow){font-size:14px;color:#b0c2b9;margin:20px 0 15px;max-width:260px}.film video{display:block;aspect-ratio:16/9;width:100%;background:#0c1210;object-fit:cover}.film figcaption{display:flex;justify-content:space-between;gap:15px}.case-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:65px;align-items:center}.case-grid figure img{height:440px;object-position:50% 50%}.case-copy h3{margin:16px 0 20px;font-size:26px}.case-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);margin:15px 0;max-width:410px}.case-copy .delivery{padding-top:16px;border-top:1px solid var(--line);font-size:12px!important}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.service-grid article{border-top:1px solid #3b5147;padding-top:24px}.service-grid h3{margin:20px 0 16px}.service-grid p{color:#b0c2b9;font-size:14px}.recurring{border-top:1px solid #3b5147;margin-top:44px;padding-top:28px;display:grid;grid-template-columns:1fr 1.45fr .8fr;align-items:center;gap:38px}.recurring h3{font-size:23px}.recurring p{font-size:13px;color:#b0c2b9}.recurring a{justify-self:end}.compact-heading{display:flex;gap:30px;align-items:end;justify-content:space-between;margin-bottom:28px}.compact-heading h2{font-size:42px;margin-top:12px}.other-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.other-grid img{height:175px}.other-grid h3{font-size:16px;margin-top:14px;display:flex;justify-content:space-between}.other{border-bottom:1px solid var(--line);padding:58px 0}.about-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:85px;align-items:center;max-width:1100px}.portrait{height:500px;object-position:50% 25%}.about h2{margin:16px 0 25px}.about p:not(.eyebrow){margin:15px 0;color:var(--muted);font-size:15px}.about .location{font-size:12px!important}.review{margin-top:27px;padding-top:22px;border-top:1px solid var(--line)}blockquote{margin:14px 0;font-size:21px;line-height:1.4;max-width:480px}.review a{font-size:11px;text-decoration:underline;text-underline-offset:4px}.contact{background:#cfe2d9}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact h2{font-size:76px;margin:18px 0 24px}.contact-grid>div>p:not(.eyebrow){font-size:15px;max-width:400px}.contact-details{display:grid;gap:8px;margin-top:28px;font-size:18px}.contact-grid .preview-disclosure{font-size:11px!important;margin-top:30px;max-width:340px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:11px;font-weight:600;margin-bottom:18px}label span{font-weight:400}input,select,textarea{display:block;width:100%;border:1px solid #90aa9f;background:#e9f1ef;color:var(--ink);padding:11px 12px;margin-top:7px;border-radius:0;min-width:0;font-size:15px}textarea{resize:vertical}.contact button:disabled{opacity:.65;cursor:not-allowed}.form-note{font-size:11px;margin-top:10px}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:28px;padding-bottom:28px;font-size:11px}footer p{font-size:10px;margin-top:4px;color:var(--muted)}dialog{border:0;background:#101916;color:#e9f1ef;padding:50px 20px 20px;max-width:min(1050px,94vw);max-height:94vh}dialog::backdrop{background:#000c}dialog img{height:auto;max-height:75vh;object-fit:contain}dialog p{font-size:12px;margin-top:12px}dialog button{position:absolute;right:14px;top:4px;color:white;background:none;border:0;font-size:30px;cursor:pointer}
@media(min-width:1600px){.hero-image>img{height:550px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.hero-grid{gap:32px}.hero h1{font-size:70px}.hero-image>img{height:460px}.section-heading{gap:50px}.film{gap:40px}.case-grid{gap:35px}.contact-grid{gap:50px}.about-grid{gap:48px}.navlinks{gap:20px}.hero-top{font-size:9px}.photo-grid figcaption span{display:block}.photo-link{height:230px}}
@media(max-width:700px){html{scroll-padding-top:88px}.wrap{width:calc(100% - 40px)}.preview-note{font-size:8px;padding:7px 10px}.preview-note span{display:none}header nav.wrap{height:74px;gap:14px}.brand{font-size:11px;gap:8px}.brand svg{width:36px;height:33px}.brand small{font-size:7px}.navlinks,header .navcta{display:none}.menu-toggle{display:block;font-size:12px;min-height:44px;padding:8px 0 8px 16px}.hero{padding-top:26px}.hero-top{display:block;font-size:9px;margin-bottom:22px}.hero-top span:last-child{display:block;margin-top:8px;font-size:8px;letter-spacing:.08em;color:var(--muted)}.hero-grid{grid-template-columns:1fr;gap:28px}.hero h1{font-size:clamp(53px,13.4vw,82px)}.hero-description{font-size:17px;margin-top:21px;max-width:450px}.hero-secondary{font-size:13px;margin:15px 0 22px;max-width:400px}.actions{gap:23px}.btn{font-size:12px;padding:13px 18px;min-height:48px}.hero-image>img{height:330px;object-position:48% 50%}.hero-image figcaption{font-size:8px}.hero-bottom{margin-top:24px;display:block;font-size:8px;line-height:1.7}.hero-bottom span{display:block}.hero-bottom span+span{margin-top:7px}.section,.work{padding:50px 0}.section-heading{grid-template-columns:1fr;gap:23px;margin-bottom:27px}.section-heading .eyebrow{margin-bottom:14px}h2{font-size:47px}.section-heading>p{font-size:14px}.photo-grid{grid-template-columns:1fr 1fr;gap:24px 14px}.photo-grid figure:first-child{grid-column:1/-1}.photo-grid figure:nth-child(2),.photo-grid figure:nth-child(3){padding-top:0}.photo-link,.photo-grid figure:nth-child(2) .photo-link{height:218px}.photo-grid figure:first-child .photo-link{height:240px}.photo-grid figcaption{font-size:8px;display:block;line-height:1.7}.photo-grid figcaption span{display:block}.film{grid-template-columns:1fr;margin-top:35px;padding-top:32px;gap:22px}.film h3{font-size:41px;margin:13px 0}.film p:not(.eyebrow){max-width:340px;margin:14px 0 8px}.film figcaption{font-size:8px;flex-wrap:wrap}.case-grid{grid-template-columns:1fr;gap:27px}.case-grid figure img{height:300px}.case-copy h3{font-size:24px}.case-copy .eyebrow{font-size:9px}.service-grid{grid-template-columns:1fr;gap:28px}.service-grid h3{margin:13px 0}.recurring{grid-template-columns:1fr;gap:15px;margin-top:30px;padding-top:26px}.recurring a{justify-self:start}.compact-heading{display:block}.compact-heading h2{font-size:38px;max-width:280px}.compact-heading>a{margin-top:16px}.other-grid{grid-template-columns:1fr;gap:20px}.other-grid>a{display:grid;grid-template-columns:130px 1fr;gap:20px;align-items:center}.other-grid img{height:94px}.other-grid h3{margin-top:0;font-size:15px;gap:12px}.about-grid{grid-template-columns:1fr;gap:27px}.portrait{height:340px;max-width:340px;object-position:50% 32%}.about h2{margin-bottom:20px}.about p:not(.eyebrow){font-size:14px}blockquote{font-size:21px}.contact-grid{grid-template-columns:1fr;gap:32px}.contact h2{font-size:63px}.contact-grid>div>p:not(.eyebrow){font-size:14px}.contact-details{font-size:17px}.field-pair{gap:14px}.contact-grid .preview-disclosure{margin-top:22px}.contact label{font-size:10px}footer{align-items:start;font-size:10px}footer p{max-width:235px;font-size:9px}footer>a{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.case-grid{grid-template-columns:.9fr 1fr;max-width:1100px;margin:auto;gap:85px}.case-grid figure{max-width:420px}.case-grid figure img{height:auto;aspect-ratio:2/3;object-fit:contain}.case-grid figcaption{font-size:9px}@media(max-width:700px){.case-grid{grid-template-columns:1fr;gap:27px}.case-grid figure{max-width:100%}.case-grid figure img{height:auto;max-height:520px;width:100%;object-fit:contain;background:#dce8e2}}

.film-frame{position:relative}.film-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:14px;border:1px solid #e9f1ef60;background:#102924e8;color:#fff;padding:15px 19px;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.film-play span{color:#3cc48f}.film-play small{font-size:10px;color:#bdcec7}.film-play[hidden]{display:none}.film-play:hover{background:#102924}@media(max-width:700px){.film-play{padding:11px 14px;gap:11px;font-size:11px}}

.photo-grid figure:nth-child(2) img{object-position:75% 50%}

.restored-photography{margin-top:42px;padding-top:30px;border-top:1px solid #3b5147}.restored-photography>p{max-width:800px;margin-bottom:25px;font-size:14px;color:#b0c2b9}.restored-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:22px}.restored-grid .photo-link{height:250px}.restored-grid figcaption{font-size:9px}.other-grid article{min-width:0}.other-grid article>a{display:block}.other-grid h3>a{display:flex;justify-content:space-between;width:100%}.card-links{display:flex;gap:20px;margin-top:10px;font-size:11px}.card-links a{border-bottom:1px solid currentColor;padding-bottom:3px}.other-grid h3{font-size:16px}.restored-grid img{object-position:50% 50%}
@media(max-width:1000px){.restored-grid .photo-link{height:205px}}
@media(max-width:700px){.restored-photography{margin-top:30px;padding-top:25px}.restored-photography>p{font-size:13px;margin-bottom:22px}.restored-grid{grid-template-columns:1fr;gap:24px}.restored-grid .photo-link{height:auto;aspect-ratio:3/2}.restored-grid figcaption{font-size:9px}.other-grid article{display:grid;grid-template-columns:130px 1fr;gap:20px;align-items:center}.other-grid article>a img{height:104px}.other-grid h3{font-size:15px;margin-top:0}.card-links{flex-wrap:wrap;gap:7px 15px;font-size:10px;margin-top:9px}}

.nav-cases{position:relative}.nav-cases summary{cursor:pointer;list-style:none;padding:10px 0}.nav-cases summary:after{content:' ▾';font-size:10px}.case-menu{position:absolute;top:100%;left:-20px;min-width:255px;padding:12px 18px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 28px #10292415}.case-menu a{display:block;padding:9px 0}.navlinks{align-items:center}.mobile-cases summary{cursor:pointer;padding:10px 0;font-size:16px}.mobile-cases>div{padding:0 0 8px 16px;border-left:1px solid var(--line);margin-left:3px}.mobile-cases a{font-size:13px}.reviews-section{padding-top:60px;border-top:1px solid var(--line)}.all-reviews{justify-self:end;align-self:end}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.review-card{border-top:2px solid #3cc48f;padding:26px 24px;background:#dce9e3;display:flex;flex-direction:column;min-height:255px}.review-stars{color:#207456;letter-spacing:.14em;font-size:15px}.review-text{font-size:21px;line-height:1.4;margin:20px 0 24px;flex:1}.review-author{display:flex;align-items:center;gap:12px;font-size:12px}.review-author a{text-decoration:underline;text-underline-offset:3px}.review-initial{border:1px solid #96afa3;border-radius:50%;width:35px;height:35px;display:flex;align-items:center;justify-content:center;font-size:11px;flex:none}.review-date,.review-source{font-size:10px;color:var(--muted)}.review-date{margin-top:3px}.review-source{margin-top:22px}.privacy-copy{font-size:11px;line-height:1.6;margin-top:15px}.privacy-copy a,.measurement-choice a{text-decoration:underline;text-underline-offset:3px}.footer-links{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.footer-links button{border:0;background:none;color:inherit;padding:8px 0;font-size:11px;cursor:pointer}.measurement-choice{position:static;background:#dce9e3;border-top:1px solid #a9c1b5;border-bottom:1px solid #a9c1b5;padding:24px 0;scroll-margin-top:100px}.measurement-choice[hidden]{display:none}.consent-layout{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.measurement-choice h2{font-family:'DM Sans',Arial,sans-serif;text-transform:none;font-size:17px;letter-spacing:0;line-height:1.3;margin:0 0 8px}.measurement-choice p{font-size:12px;max-width:770px}.measurement-choice .consent-preview{font-size:10px;color:#52675f;margin-top:7px}.consent-status:empty{display:none}.consent-status{margin-top:8px}.measurement-actions{display:flex;gap:10px;flex-wrap:wrap}.measurement-actions button{min-height:44px;padding:10px 16px;border:1px solid #102924;background:#102924;color:#e9f1ef;font-size:12px;cursor:pointer}.measurement-actions button:last-child{background:transparent;color:#102924}summary:focus-visible{outline:3px solid #278368;outline-offset:5px}
@media(max-width:1000px){.navlinks{gap:19px}.consent-layout{gap:20px}.review-card{padding:22px 18px}.review-text{font-size:19px}}
@media(max-width:850px){header .navlinks,header .navcta{display:none}.menu-toggle{display:block}.reviews-grid{grid-template-columns:1fr}.review-card{min-height:0;padding:23px}.reviews-section .section-heading{grid-template-columns:1fr;gap:16px}.all-reviews{justify-self:start}.consent-layout{grid-template-columns:1fr;gap:15px}.measurement-choice{padding:22px 0}.footer-links{gap:8px 18px}.review-text{font-size:21px}.review-source{font-size:10px}}
@media(max-width:700px){footer{flex-direction:column;gap:12px}.footer-links{width:100%;justify-content:space-between}.measurement-actions{gap:12px}.measurement-actions button{font-size:11px}.measurement-choice p{font-size:11px}.reviews-section{padding-top:45px}}

/* Production inquiry and inline consent integration. */
fieldset{padding:0;margin:0;border:0;min-width:0}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-status{font-size:12px!important;margin-top:14px}.form-status.error{color:#8b2525}[data-turnstile]{margin:18px 0}.measurement-choice{display:grid;grid-template-columns:1fr auto;gap:40px;padding:24px max(24px,calc((100vw - 1240px)/2));align-items:center}.measurement-choice[hidden]{display:none}.measurement-choice>div:first-child{max-width:770px}.measurement-choice strong{font-size:17px}.measurement-choice p+p{margin-top:8px}@media(max-width:850px){.measurement-choice{grid-template-columns:1fr;gap:15px;padding:22px 24px}}

/* Compact secondary services: text links only. */
.secondary-services{padding:28px 0 30px;border-bottom:1px solid var(--line);background:#3cc48f;color:#101916}
.secondary-services-inner{display:flex;align-items:center;justify-content:space-between;gap:20px 36px}
.secondary-services h2{font-size:27px;line-height:1.1;max-width:240px;flex-shrink:0}
.secondary-service-links{display:flex;flex-wrap:wrap;gap:4px 24px;align-items:center}
.secondary-service-links a{display:inline-flex;align-items:center;gap:8px;min-height:36px;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.secondary-service-links a:link,.secondary-service-links a:visited,.secondary-service-links a:hover,.secondary-service-links a:focus-visible{color:#101916}
.secondary-service-links a:hover{ text-decoration-thickness:2px }
.secondary-service-links a:focus-visible{outline:3px solid #101916;outline-offset:3px;text-decoration-thickness:2px}
@media(max-width:1050px){.secondary-services-inner{align-items:flex-start;flex-direction:column;gap:12px}.secondary-services h2{max-width:none;font-size:25px}}

/* Filled inquiry fields with a complete boundary and clear focus. */
.contact input,.contact select,.contact textarea{background:#bdd5c9;border:1px solid #557565;color:#102924;min-height:48px;border-radius:2px;padding:12px 13px}
.contact input::placeholder,.contact textarea::placeholder{color:#405b50;opacity:1}
.contact input:focus-visible,.contact select:focus-visible,.contact textarea:focus-visible{outline:3px solid #145a43;outline-offset:2px;border-color:#145a43}

/* Approved header wordmark sizing and brand green. */
header .brand small{font-size:11px;color:#3cc48f}@media(max-width:700px){header .brand small{font-size:9px}}
