.case-gallery-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:40px;margin-bottom:40px}.case-gallery-heading h2{margin:0;max-width:16ch}.case-gallery-heading p{font-size:16px;line-height:1.6;max-width:42ch;margin:0 0 4px;color:var(--muted,#606561)}.case-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.case-gallery-frame{margin:0;min-width:0}.case-gallery-frame:first-child{grid-column:1/-1}.case-gallery-open{display:block;position:relative;overflow:hidden;border-radius:12px;background:#dfe3de;color:white;isolation:isolate}.case-gallery-open>img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}.case-gallery-frame:first-child .case-gallery-open>img{aspect-ratio:2}.case-gallery-zoom{position:absolute;right:20px;bottom:20px;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:rgba(39,43,42,.82)}.case-gallery-zoom svg{width:24px;height:24px}.case-gallery-open:focus-visible{outline:2px solid var(--orange-ink,#b84608);outline-offset:4px}@media(hover:hover) and (prefers-reduced-motion:no-preference){.case-gallery-open:hover>img{transform:scale(1.025)}}.case-gallery-frame figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:18px 0 0;font-size:17px;line-height:1.5}.case-gallery-frame figcaption>span{font-weight:500}.case-gallery-frame figcaption small{font-size:13px;color:var(--muted,#606561);flex-shrink:0}.case-lightbox{box-sizing:border-box;position:fixed;inset:0;border:0;padding:76px 80px 24px;margin:auto;width:100vw;max-width:none;height:100dvh;max-height:none;background:#202423;color:#f3f3f0;overflow:hidden}.case-lightbox::backdrop{background:#202423}.case-lightbox-top{position:absolute;top:16px;left:28px;right:20px;display:flex;align-items:center;justify-content:space-between;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:15px}.case-lightbox button{display:grid;place-items:center;width:48px;height:48px;min-width:48px;min-height:48px;background:transparent;color:inherit;border:1px solid #626a65;border-radius:50%;padding:12px;cursor:pointer}.case-lightbox button svg{width:24px;height:24px}.case-lightbox button:disabled{opacity:.3;cursor:default}.case-lightbox button:focus-visible{outline:2px solid #ffa66e;outline-offset:4px}.case-lightbox figure{margin:0;display:flex;flex-direction:column;height:100%;gap:20px;touch-action:pan-y pinch-zoom}.case-lightbox figure img{display:block;width:100%;height:calc(100% - 70px);min-height:0;object-fit:contain}.case-lightbox figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:24px;line-height:1.4;font-size:17px}.case-lightbox figcaption small{font-size:13px;color:#ccd4cc}.case-lightbox-next,.case-lightbox-prev{position:absolute;top:calc(50% - 24px)}.case-lightbox-prev{left:16px}.case-lightbox-next{right:16px}.case-page>.case-narrative{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:clamp(28px,5vw,96px);padding-top:56px;padding-bottom:56px;align-items:start}.case-page>.case-narrative .section-heading{display:contents}.case-page>.case-narrative h2{grid-column:1;grid-row:1;font-size:clamp(28px,3vw,44px);margin:0;line-height:1.1}.case-page>.case-narrative .section-intro{grid-column:2;grid-row:1;max-width:60ch;margin:0;font-size:clamp(18px,1.5vw,22px);line-height:1.65;white-space:pre-line}@media(max-width:899px){.case-gallery-heading{display:block;margin-bottom:28px}.case-gallery-heading p{margin:20px 0 0;font-size:15px;max-width:37ch}.case-gallery .case-gallery-grid{display:flex}.case-gallery-grid>.case-gallery-frame:first-child{grid-column:auto}.case-gallery-grid .case-gallery-frame:first-child .case-gallery-open>img,.case-gallery-grid .case-gallery-open>img{aspect-ratio:1.25;transform:none}.case-gallery-frame figcaption{display:flex;flex-direction:column;gap:8px;padding-top:16px;font-size:17px}.case-gallery-frame figcaption small{font-size:12px}.case-gallery-zoom{width:44px;height:44px;right:12px;bottom:12px}.case-lightbox{padding:76px 16px 24px}.case-lightbox-top{left:20px;right:16px}.case-lightbox-next,.case-lightbox-prev{display:none!important}.case-lightbox figcaption{display:flex;flex-direction:column;gap:8px;font-size:17px}.case-lightbox figure{gap:20px}.case-lightbox figure img{height:calc(100% - 100px)}.case-page>.case-narrative{display:block;padding-top:32px;padding-bottom:32px}.case-page>.case-narrative .section-heading{display:block}.case-page>.case-narrative h2{font-size:30px;margin-bottom:24px}.case-page>.case-narrative .section-intro{font-size:18px;line-height:1.7}}@media(prefers-reduced-motion:reduce){.case-gallery-open>img{transition:none;transform:none!important}}@media print{.case-gallery-grid{display:grid!important;overflow:visible!important}.case-gallery-zoom,.case-lightbox{display:none!important}}.card-image:has(img[data-generated=true]),.editorial-media:has(img[data-generated=true]):not(.photo-panel-panorama>.editorial-media){position:relative}.measurement-consent{position:fixed;z-index:120;bottom:18px;left:18px;max-width:540px;background:#f4f5f1;color:#242c28;border:1px solid #b8c0b8;border-radius:12px;padding:20px;box-shadow:0 8px 32px #16201a20;display:flex;gap:12px;flex-wrap:wrap;font-size:14px}.measurement-consent p{flex-basis:100%;margin:0;line-height:1.6}.measurement-consent button{padding:10px 14px;border:1px solid #65726b;border-radius:7px;background:transparent;color:inherit;cursor:pointer}.measurement-consent button:first-of-type{background:#26302c;color:#fff}.measurement-consent a{align-self:center}.measurement-consent :focus-visible{outline:2px solid #b94d16;outline-offset:3px}@media(max-width:600px){.measurement-consent{left:12px;right:12px;bottom:12px;max-width:none}}@media(min-width:1200px){:root{--gutter:40px}}.photo-panel-panorama>.editorial-media:has(img[data-generated=true]):after{display:none}.landing-dropdown{position:relative;flex:none}.landing-dropdown>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font-size:14px;white-space:nowrap;padding:10px 0;line-height:inherit}.landing-dropdown>summary::-webkit-details-marker{display:none}.landing-dropdown>summary svg{transition:transform .2s}.landing-dropdown[open]>summary svg{transform:rotate(180deg)}.landing-dropdown>summary:hover{color:var(--accent)}.landing-dropdown>summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:3px}.nav-measure .landing-measure{padding-right:22px}.landing-dropdown-panel{position:absolute;right:0;top:calc(100% + 14px);width:350px;max-width:calc(100vw - 40px);padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 28px #202a2214}.desktop-nav .landing-dropdown-panel>a{display:grid;grid-template-columns:1fr 22px;align-items:center;gap:6px 18px;padding:18px;white-space:normal;border-radius:8px;color:var(--ink);font-size:16px;line-height:1.4;text-decoration:none}.landing-dropdown-panel>a>span{grid-column:1;grid-row:1}.landing-dropdown-panel>a>small{grid-column:1;grid-row:2;font-size:13px;line-height:1.65;color:var(--muted);font-weight:400}.landing-dropdown-panel>a>svg{grid-column:2;grid-row:1/3;color:var(--accent)}.desktop-nav .landing-dropdown-panel>a:hover,.menu-landings{background:var(--paper)}.menu-landings{padding:24px;margin:0 0 28px;border:1px solid var(--line);border-radius:12px}.menu-landings>h3{font-size:13px;font-weight:500;letter-spacing:0;color:var(--muted);margin:0 0 16px}.menu-landings nav{display:flex;flex-wrap:wrap;gap:16px 28px}.menu-landings a{display:flex;align-items:center;justify-content:space-between;gap:24px;text-decoration:none;font-size:22px;line-height:1.35;min-height:44px;color:var(--ink)}.menu-landings a svg,.menu-landings a:hover{color:var(--accent)}.footer-landings{margin-top:32px}.footer-landings>h3{margin-bottom:16px}.footer-landings a{line-height:1.7}@media(max-width:1199px){.landing-dropdown>summary{font-size:12px}}@media(max-width:639px){.menu-landings{padding:18px;margin-bottom:18px}.menu-landings>h3{margin-bottom:10px}.menu-landings a{font-size:20px;width:100%}.footer-landings{margin-top:24px}}@media(prefers-reduced-motion:reduce){.landing-dropdown>summary svg{transition:none}}body:has(.site-menu-screen) .measurement-consent{visibility:hidden;pointer-events:none}.related-reading nav{display:flex;flex-wrap:wrap;gap:18px 40px;margin-top:28px}.related-reading .text-link{max-width:38ch;line-height:1.5}.related-reading .text-link svg{flex-shrink:0}@media(max-width:639px){.related-reading nav{display:grid;gap:22px}.related-reading .text-link{justify-content:space-between;max-width:none}}.lead-form fieldset{display:grid;gap:24px;min-width:0}.lead-form .form-grid{row-gap:24px}.lead-form .form-grid label{margin:0;min-width:0}.lead-form .form-grid input,.lead-form .form-grid textarea{margin-top:9px}.lead-form .consent{margin:0;align-items:flex-start}.lead-form .consent input{flex:none;margin-top:3px}.lead-form fieldset>.button{justify-self:start;margin:0}.lead-form>p:empty{display:none}.attachment-picker{min-width:0;display:grid;justify-items:start;gap:10px}.lead-form .attachment-trigger{display:inline-flex;align-items:center;gap:10px;position:relative;cursor:pointer;font-size:14px;color:var(--ink);min-height:44px;margin:0;padding:0;border:0;background:transparent}.attachment-trigger span{text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line)}.attachment-trigger:hover span{text-decoration-color:currentColor}.attachment-trigger input[type=file]{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;padding:0!important;margin:0!important;border:0!important}.attachment-trigger:focus-within{outline:2px solid var(--accent,#ad4308);outline-offset:5px;border-radius:2px}.attachment-trigger:has(input:disabled){opacity:.5;cursor:default}.attachment-picker>small{font-size:12px;color:var(--muted);line-height:1.5}.attachment-list{display:grid;gap:6px;margin:0;padding:0;list-style:none;width:100%}.attachment-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:100%;font-size:13px}.attachment-list li>span{overflow-wrap:anywhere;min-width:0}.attachment-list button{display:grid;place-items:center;flex:none;min-width:44px;min-height:44px;padding:10px;border:0;background:transparent;color:inherit;cursor:pointer}.inquiry>div>h2{margin-top:0}.inquiry>div>p{margin-block:26px 22px}.inquiry .lead-form{min-width:0}@media(max-width:639px){.inquiry{gap:28px;padding:30px 22px!important}.inquiry>div>p{margin-block:20px}.lead-form fieldset{gap:22px}.lead-form .form-grid{row-gap:20px}.lead-form .form-grid input,.lead-form .form-grid textarea{font-size:16px;min-height:48px}.lead-form .consent{font-size:13px;line-height:1.65}.lead-form fieldset>.button{width:100%;justify-content:space-between;min-height:52px}.attachment-trigger{min-height:44px}.attachment-picker>small{font-size:12px}}.mobile-rail-controls .rail-autoplay{border:0;border-radius:6px;background:transparent;width:44px;height:44px;display:grid;place-items:center;color:inherit}.mobile-rail-controls .rail-autoplay:first-child svg{transform:none}@media(max-width:899px){.section,main{min-width:0}.section-heading{gap:20px}.section-heading>p{max-width:100%}.corporate-footer{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.mobile-contact-bar{padding-bottom:env(safe-area-inset-bottom)}.case-gallery-open:focus-visible,.showcase-surface:focus-visible{outline-offset:-4px}.table-scroll{overscroll-behavior-x:contain;max-width:100%}.company-story-body{min-width:0}.company-story-body p{overflow-wrap:break-word}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px}.mobile-rail-shell{isolation:isolate}.mobile-rail-track>*{contain:inline-size}.project-row .row-arrow{min-height:44px}.business-hero h1,.inner-hero h1{overflow-wrap:break-word}.inquiry>div{min-width:0}.business-hero-image,.inner-photo img{max-width:none}.mobile-rail-track .showcase-surface{min-height:440px}.mobile-rail-track .showcase-caption h3{font-size:clamp(25px,7vw,32px)}.mobile-rail-track .showcase-caption{padding-top:140px}.process-route-step .process-route-copy{min-width:0}}@media(max-width:374px){.corporate-header .brand img{max-width:145px}.mobile-rail-shell .mobile-rail-track{--mobile-card-width:calc(100% - 24px);gap:12px}.mobile-rail-track .image-card .card-copy{padding:20px}.mobile-rail-track .showcase-surface{min-height:420px;padding:22px}.business-hero h1,.company-hero h1,.inner-title h1{font-size:36px}.inquiry{padding-inline:20px!important}.catalog-filters{grid-template-columns:1fr}.catalog-filters>label:first-child{grid-column:auto}.mobile-rail-track .audience-media{min-height:280px}}@media(max-height:550px) and (max-width:899px){.business-hero{min-height:560px}.mobile-contact-bar{position:static}.corporate-footer{padding-bottom:40px}}