@font-face{font-family:Montserrat;src:url('assets/Montserrat-Variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--paper:#f1f0ea;--ink:#202020;--orange:#f04e23;--muted:#62625e;--line:#d8d8d1;--gutter:clamp(24px,4.45vw,64px);--space:112px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,sans-serif;font-size:17px;line-height:1.65}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:800}h1{font-size:clamp(48px,5vw,72px);line-height:1.04;letter-spacing:-.04em}h2{font-size:48px;line-height:1.1;letter-spacing:-.035em}h3{font-size:23px;line-height:1.25;letter-spacing:-.025em}.container{width:calc(100% - var(--gutter)*2);max-width:1280px;margin-inline:auto}.section{padding-block:var(--space)}.white-section{background:white}.eyebrow{font-weight:600;font-size:12px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase}.orange-line{width:28px;height:2px;background:var(--orange);display:inline-block;vertical-align:middle;margin-right:12px}.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:16px;flex-shrink:0}.brand img{width:44px;height:44px;object-fit:contain}.brand span{font-size:14px;font-weight:800;letter-spacing:.1em}nav{display:flex;align-items:center;gap:32px}nav a{font-size:13px;font-weight:600;padding-block:12px}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.nav-contact{border-left:1px solid var(--line);padding-left:32px}.nav-contact span{margin-left:12px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:64px;padding-block:48px 64px;align-items:center}.hero-copy{padding-block:24px}.hero h1{margin-top:28px;margin-bottom:28px}.hero-lead{font-size:17px;max-width:52ch;margin-bottom:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:64px;border:2px solid transparent;border-radius:8px;padding:15px 26px;font-weight:800;font-size:20px;line-height:1.3;letter-spacing:.08em;transition:border-color .22s}.button.primary{background:var(--orange);color:white}.button:hover{border-color:#000}.button span{font-size:24px;font-weight:400;line-height:1}.text-link{font-size:14px;font-weight:600;display:inline-flex;gap:16px;align-items:center;min-height:44px}.hero-secondary{display:flex;width:fit-content;margin-top:12px}.hero-footnote{margin-top:44px;border-top:1px solid var(--line);padding-top:18px;display:flex;flex-wrap:wrap;gap:4px 20px;color:var(--muted);font-size:11px;font-weight:500}.hero-figure{position:relative;background:#e4e3de;border-radius:24px;overflow:hidden;align-self:stretch;min-height:630px}.hero-figure>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%}.hero-figure figcaption{position:absolute;left:24px;bottom:24px;border-radius:12px;background:white;padding:13px 18px;font-size:12px;line-height:1.5}.hero-figure figcaption strong{display:block;font-size:14px;font-weight:600}.hero-figure figcaption span{display:block;color:var(--muted)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:48px}.section-heading h2{margin-top:20px}.section-intro{max-width:31ch;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-card{border-radius:24px;background:var(--paper);overflow:hidden}.service-image{position:relative}.service-image>img{width:100%;aspect-ratio:4/3;object-fit:cover}.image-label{position:absolute;left:16px;bottom:16px;padding:5px 10px;background:rgba(255,255,255,.96);color:var(--ink);border-radius:4px;font-size:10px;font-weight:600}.service-copy{padding:30px 28px 34px}.service-copy p{font-size:15px;line-height:1.65;margin-top:18px}.skip-link{position:fixed;z-index:30;left:16px;top:8px;padding:10px 16px;background:white;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid #202020;outline-offset:5px;box-shadow:0 0 0 2px white}
@media(min-width:801px) and (max-width:1100px){.hero{gap:32px;grid-template-columns:1.15fr 1fr}.hero-figure{min-height:600px}.header-inner{gap:16px}nav{gap:20px}.nav-contact{padding-left:20px}.brand span{font-size:12px}.service-copy{padding:24px 20px}.service-copy h3{font-size:20px}.section-heading{gap:32px}.section-intro{max-width:25ch}}
@media(max-width:800px){:root{--gutter:24px;--space:64px}html{scroll-padding-top:88px}.header-inner{min-height:76px;flex-wrap:wrap;gap:0}.brand img{width:36px;height:36px}.brand{gap:12px}.brand span{font-size:12px}.menu-toggle{display:flex;align-items:center;gap:12px;background:transparent;border:0;padding:10px 0 10px 12px;font-size:13px;font-weight:600;min-height:44px}.menu-toggle span{font-size:24px;line-height:1}nav{display:none;width:100%;padding:12px 0 24px;align-items:stretch;gap:0;flex-direction:column}nav.is-open{display:flex}nav a{padding:14px 0;border-top:1px solid var(--line);font-size:16px}.nav-contact{border-left:0}.hero{display:flex;flex-direction:column;gap:28px;align-items:stretch;padding-block:38px 40px}.hero-copy{padding:0}.hero .eyebrow{font-size:10px}.orange-line{width:18px;margin-right:6px}.hero h1{font-size:40px;margin-block:22px}.hero-lead{font-size:16px;line-height:1.65;margin-bottom:24px;max-width:58ch}.hero-footnote{margin-top:24px;font-size:10px}.hero-figure{min-height:0;aspect-ratio:5/6}.hero-figure>img{object-position:center 63%}.hero-figure figcaption{left:16px;bottom:16px;padding:12px 16px}.button{font-size:20px;gap:16px;padding-inline:20px;letter-spacing:.08em;width:fit-content;max-width:100%}.hero-secondary{margin-top:8px}.section-heading{display:block;margin-bottom:32px}.section-heading h2{margin-top:16px}h2{font-size:32px}.section-intro{margin-top:20px;font-size:16px;max-width:45ch}.service-grid{grid-template-columns:1fr;gap:24px}.service-image>img{aspect-ratio:4/3}.service-copy{padding:26px 24px 30px}.service-copy p{font-size:16px}.service-copy h3{font-size:23px}}
.material-section{background:var(--ink);color:white}.material-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}.material-copy .eyebrow{color:#ddd}.material-copy h2{margin-block:24px 28px}.material-copy>p:not(.eyebrow){color:#e0e0da;max-width:37ch}.material-copy .text-link{margin-top:24px}.material-figure{position:relative}.material-figure img{width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:24px}.material-figure figcaption{font-size:10px;margin-top:12px;color:#c7c7c1;text-align:right}.material-section :focus-visible{outline-color:white;box-shadow:0 0 0 2px var(--ink)}.detail-explorer{display:grid;grid-template-columns:1.6fr 1fr;gap:0;border-radius:24px;background:white;overflow:hidden}.explorer-visual{position:relative;background:#e6e5e0;min-height:520px}.explorer-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.explorer-visual img.is-drawing{object-fit:contain;background:#f5f4ef}.explorer-counter{position:absolute;bottom:24px;left:24px;color:white;background:var(--ink);font-size:11px;letter-spacing:.15em;padding:8px 12px;border-radius:4px}.explorer-content{padding:36px;display:flex;flex-direction:column;justify-content:space-between;gap:64px}.detail-tabs{display:flex;align-items:stretch;border-bottom:1px solid var(--line);gap:24px}.detail-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:0 0 15px;font-size:13px;font-weight:600;min-height:44px;color:var(--muted)}.detail-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--orange)}.detail-category{font-size:10px;color:var(--muted);margin-bottom:18px}.explorer-content h3{font-size:26px;line-height:1.25;margin-bottom:20px}.explorer-content #detail-description{font-size:15px}.caption{font-size:11px!important;color:var(--muted);margin-top:28px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center}.about-figure{border-radius:24px;overflow:hidden;background:var(--paper)}.about-figure img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 63%}.about-copy h2{margin-block:24px 28px}.about-copy>p:not(.eyebrow){margin-top:18px;max-width:49ch}.about-copy .text-link{margin-top:24px}.about-signature{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.about-signature img{width:40px;height:40px;object-fit:contain}.about-signature strong,.about-signature span{display:block}.about-signature strong{font-size:14px;font-weight:600}.about-signature span{font-size:11px;color:var(--muted)}.process-section .section-intro{max-width:40ch}.process-list{list-style:none;padding:0;margin:64px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}.process-list li{border-top:1px solid #aaa9a2;padding-top:24px}.step-number{font-size:14px;font-weight:600;color:var(--muted)}.process-list h3{margin-top:32px;margin-bottom:16px}.process-list p{font-size:16px;max-width:34ch}.faq-layout{display:grid;grid-template-columns:.85fr 1.4fr;gap:64px}.faq-layout h2{margin-top:20px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;gap:24px;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font-size:16px;font-weight:600;padding:25px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{width:16px;height:16px;flex-shrink:0;position:relative}.faq-list summary>span::before,.faq-list summary>span::after{content:"";position:absolute;top:7px;width:16px;height:2px;background:currentColor}.faq-list summary>span::after{transform:rotate(90deg)}.faq-list details[open] summary>span::after{transform:rotate(0)}.faq-list details p{padding-bottom:25px;font-size:16px;max-width:59ch;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:96px;align-items:start}.contact-copy{padding-top:32px}.contact-copy h2{margin-top:28px;font-size:56px;line-height:1.06}.contact-copy>p:not(.eyebrow){margin-top:28px;max-width:38ch}.direct-contact{border-top:1px solid var(--line);margin-top:48px;padding-top:28px}.direct-contact .eyebrow{font-size:10px}.direct-contact>a{display:block;width:fit-content;max-width:100%;overflow-wrap:anywhere}.phone{font-size:22px;font-weight:600;margin-top:18px;min-height:44px}.phone span{margin-left:20px}.email{font-size:14px;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:flex!important;align-items:center}.contact-form{background:white;padding:40px;border-radius:24px}.form-heading h3{font-size:26px}.form-heading>p{font-size:11px;color:var(--muted);margin-top:10px}.form-grid{margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}.field{min-width:0}.field.full{grid-column:1/-1}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}.field label>span{font-size:10px;font-weight:400;color:var(--muted);margin-left:4px}.field input,.field textarea{width:100%;min-width:0;display:block;border:1px solid #a6a6a0;border-radius:6px;background:white;color:var(--ink);padding:12px;font-size:16px;line-height:1.5;min-height:50px}.field textarea{resize:vertical;min-height:132px}.field-help{font-size:11px;color:var(--muted);margin-top:8px}.form-note{font-size:12px;margin-block:24px 20px;max-width:55ch}.contact-form .button{font-size:20px;letter-spacing:.08em;width:100%;padding-inline:15px}.privacy-note{font-size:10px;line-height:1.7;color:var(--muted);margin-top:20px}.privacy-note a{text-decoration:underline;text-underline-offset:2px}.mail-result{background:var(--paper);padding:20px;border-radius:8px;margin-top:24px;font-size:14px;overflow-wrap:anywhere}.mail-result p{margin-top:10px}.result-link{display:block;text-decoration:underline;font-weight:600;padding-block:14px}.copy-button{background:white;border:1px solid var(--ink);color:var(--ink);padding:10px 12px;border-radius:4px;font-size:12px;font-weight:600;min-height:44px}.site-footer{background:white}.footer-top{display:flex;justify-content:space-between;gap:32px;align-items:center;padding-block:40px}.footer-top>p{font-size:16px;font-weight:500}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-block:20px;font-size:10px;color:var(--muted)}.footer-bottom>div{display:flex;gap:24px}.footer-bottom a{display:inline-flex;align-items:center;min-height:24px}.footer-bottom a:hover{text-decoration:underline}
@media(min-width:801px) and (max-width:1100px){.material-layout{gap:32px}.material-copy h2{font-size:40px}.explorer-content{padding:28px;gap:40px}.detail-explorer{grid-template-columns:1.3fr 1fr}.explorer-visual{min-height:520px}.detail-tabs{gap:18px}.about-layout,.contact-layout{gap:48px}.about-copy h2{font-size:38px}.contact-copy h2{font-size:44px}.contact-form{padding:28px}.form-grid{grid-template-columns:1fr}.faq-layout{gap:40px}.process-list{gap:32px}}
@media(max-width:800px){.material-layout,.about-layout,.faq-layout,.contact-layout{grid-template-columns:1fr;gap:32px}.material-copy h2{margin-block:20px 24px}.material-copy>p:not(.eyebrow){max-width:55ch;font-size:16px}.material-figure img{aspect-ratio:1.1}.material-figure figcaption{font-size:10px}.detail-explorer{grid-template-columns:1fr}.explorer-visual{min-height:0;aspect-ratio:4/3}.explorer-content{padding:24px;gap:30px}.detail-tabs{gap:30px}.explorer-content h3{font-size:24px}.explorer-content #detail-description{font-size:16px}.explorer-counter{left:16px;bottom:16px}.about-layout{gap:36px}.about-copy h2{margin-top:20px}.about-copy>p:not(.eyebrow){font-size:16px;max-width:55ch}.about-figure img{aspect-ratio:4/5}.about-signature{margin-top:24px}.process-list{grid-template-columns:1fr;gap:32px;margin-top:36px}.process-list li{display:grid;grid-template-columns:28px 1fr;gap:12px 20px;padding-top:24px}.step-number{padding-top:2px}.process-list h3{margin:0;font-size:23px}.process-list p{grid-column:2;font-size:16px;max-width:45ch}.faq-layout{gap:30px}.faq-list summary{font-size:15px;line-height:1.5;gap:20px;padding-block:22px}.faq-list details p{font-size:15px}.contact-copy{padding-top:0}.contact-copy h2{font-size:40px;margin-top:24px}.contact-copy>p:not(.eyebrow){font-size:16px;max-width:55ch}.direct-contact{margin-top:32px;padding-top:24px}.contact-form{padding:26px 24px;border-radius:16px}.form-grid{grid-template-columns:1fr;gap:20px}.form-heading h3{font-size:24px}.form-heading>p,.field-help{font-size:11px}.form-note{font-size:12px}.contact-form .button{font-size:20px;letter-spacing:.05em;padding-inline:12px;gap:12px}.footer-top{align-items:flex-start;gap:20px;flex-wrap:wrap;padding-block:32px}.footer-top>p{width:100%;order:3;font-size:14px}.footer-top .text-link{font-size:12px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:12px;font-size:10px}.site-header{position:relative}html{scroll-padding-top:24px}}
@media(max-width:370px){.button{gap:10px;padding-inline:14px;letter-spacing:.04em}.contact-form{padding:24px 18px}.contact-form .button{flex-wrap:wrap;gap:8px;font-size:20px;letter-spacing:.015em}.contact-form .button span{display:none}.detail-tabs{gap:24px}.hero h1{font-size:40px}.footer-top .text-link{padding-left:52px}}
/* Full-width environmental hero; the portrait and copy keep separate sightlines. */
.hero.hero-immersive{position:relative;display:flex;align-items:center;min-height:min(830px,calc(100svh - 88px));padding:64px 0 100px;isolation:isolate;gap:0;background:#f3f4f1;overflow:hidden}.hero-scene{position:absolute;inset:0;z-index:-2}.hero-scene picture,.hero-scene img{display:block;width:100%;height:100%}.hero-scene img{object-fit:cover;object-position:60% center}.hero-immersive::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(247,248,245,.62) 0%,rgba(247,248,245,.24) 35%,transparent 56%);pointer-events:none}.hero-immersive .hero-copy{padding:24px 0;max-width:52%;}.hero-immersive h1{font-size:clamp(56px,5.35vw,80px);line-height:1.04;letter-spacing:-.055em;margin-block:28px}.hero-immersive .hero-lead{font-size:18px;max-width:34ch;line-height:1.6;margin-bottom:30px}.hero-immersive .eyebrow{font-size:11px;letter-spacing:.09em}.hero-credential{display:flex;align-items:center;gap:14px;margin-top:36px}.hero-credential img{width:38px;height:38px;object-fit:contain}.hero-credential strong,.hero-credential span{display:block}.hero-credential strong{font-size:13px;font-weight:600}.hero-credential span{font-size:11px;color:#454541}.hero-bottom{position:absolute;bottom:26px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.hero-bottom>a{display:flex;align-items:center;gap:20px;min-height:44px;background:rgba(255,255,255,.94);padding:0 16px;border-radius:8px}.hero-bottom>a>span{font-size:20px}.hero-bottom>span{background:rgba(255,255,255,.94);padding:8px 12px;border-radius:4px}.accent{color:var(--orange)}
/* Light adaptation of the Dennis services gallery: shared heading axis,
   large image panels, captions outside the image, native horizontal scroll. */
.services{--service-inset:max(var(--gutter),calc((100vw - 1280px)/2));--service-width:min(73vw,1040px);--service-gap:24px;--service-end:max(var(--service-inset),calc(100vw - var(--service-inset) - var(--service-width)));overflow:hidden}.services .section-heading{margin-bottom:48px}.services-viewport{width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:var(--service-inset);scrollbar-width:none;overscroll-behavior-x:contain}.services-viewport::-webkit-scrollbar{display:none}.services-viewport:focus-visible{outline-offset:-4px}.services-track{display:grid;grid-auto-flow:column;grid-auto-columns:var(--service-width);gap:var(--service-gap);width:max-content;padding-inline:var(--service-inset) var(--service-end)}.service-slide{min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.service-scene{position:relative;isolation:isolate;min-height:430px;aspect-ratio:2.08;display:flex;align-items:flex-end;border-radius:24px;overflow:hidden;background:var(--paper);color:var(--ink)}.service-scene img{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover;object-position:center}.service-scene::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(248,249,245,.88),rgba(248,249,245,.64) 29%,rgba(248,249,245,.07) 69%)}.service-number{position:absolute;top:32px;left:36px;font-size:12px;font-weight:600;letter-spacing:.12em;display:flex;align-items:center;gap:12px}.service-number::before{content:"";width:20px;height:2px;background:var(--orange)}.service-scene h3{padding:36px;font-size:32px;font-weight:600;line-height:1.18;letter-spacing:-.035em;max-width:60%;}.service-scene-drawing img{object-fit:contain;object-position:right center;width:85%;left:auto}.service-description{padding:24px 28px 0;max-width:870px}.service-description p{font-size:16px;line-height:1.7;color:#494944}.service-description>span{display:block;margin-top:14px;font-size:12px;color:#63635d}.service-description small{display:block;margin-top:9px;font-size:10px;color:var(--muted)}.services-controls{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:32px}.gallery-arrow,.gallery-dots button{border:1px solid var(--line);background:var(--paper);color:var(--ink);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;padding:0;font-size:20px}.gallery-arrow:disabled{opacity:.4;cursor:default}.gallery-arrow:hover:not(:disabled){border-color:var(--ink)}.gallery-dots{display:flex;gap:6px}.gallery-dots button{width:44px;height:44px;background:transparent;border-color:transparent}.gallery-dots button>span{width:6px;height:6px;border-radius:6px;background:#a4a49d;transition:width .22s,background .22s}.gallery-dots button[aria-current=true]>span{width:26px;background:var(--orange)}.copy-fallback{display:block;width:100%;min-height:180px;max-width:100%;margin-top:12px}
@media(min-width:801px) and (max-width:1100px){.hero.hero-immersive{min-height:690px;padding-block:48px 88px}.hero-immersive .hero-copy{max-width:56%}.hero-immersive h1{font-size:clamp(48px,5.5vw,62px)}.hero-immersive .hero-lead{font-size:16px;max-width:32ch}.hero-scene img{object-position:62% center}.hero-immersive::after{background:linear-gradient(90deg,rgba(247,248,245,.82),rgba(247,248,245,.37) 37%,transparent 59%)}.hero-immersive .eyebrow{max-width:32ch;line-height:1.6}.service-scene{min-height:340px}.service-scene h3{font-size:28px;padding:30px}.service-number{left:30px;top:28px}}
@media(max-width:800px){.hero.hero-immersive{min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:0;background:#f6f7f4;overflow:hidden}.hero-immersive::after{display:none}.hero-immersive .hero-inner{order:0;position:relative;z-index:1}.hero-immersive .hero-copy{max-width:none;padding:36px 0 20px}.hero-immersive h1{font-size:40px;line-height:1.05;letter-spacing:-.045em;margin-block:20px}.hero-immersive .hero-lead{font-size:16px;max-width:40ch;margin-bottom:22px}.hero-immersive .eyebrow{font-size:10px;line-height:1.4;letter-spacing:.08em}.hero-immersive .hero-credential{margin-top:20px}.hero-scene{position:relative;order:1;inset:auto;z-index:0;width:100%;aspect-ratio:1;overflow:hidden}.hero-scene img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:72% center}.hero-scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#f6f7f4 0%,transparent 10%)}.hero-bottom{position:relative;order:2;bottom:auto;padding-block:18px;gap:12px;letter-spacing:0;font-size:9px}.hero-bottom>span{padding:0;background:transparent}.hero-bottom>a{min-height:40px;padding:0;background:transparent;gap:10px;text-transform:none;letter-spacing:0}.hero-immersive .button{width:fit-content}.services{--service-width:calc(100vw - 64px);--service-inset:24px;--service-gap:16px;--service-end:40px}.services .section-heading{margin-bottom:32px}.services .section-intro{max-width:35ch}.service-scene{min-height:360px;aspect-ratio:4/5}.service-scene img{object-position:60% center}.service-scene::after{background:linear-gradient(0deg,rgba(248,249,245,.98) 0%,rgba(248,249,245,.88) 21%,rgba(248,249,245,0) 62%)}.service-scene h3{padding:24px;font-size:26px;max-width:100%}.service-number{left:24px;top:24px;background:rgba(255,255,255,.94);padding:6px 9px;border-radius:4px}.service-scene-drawing img{width:100%;height:80%;top:10px;object-fit:contain;object-position:50% 50%}.service-description{padding:22px 4px 0}.service-description p{font-size:15px}.service-description>span{font-size:11px}.services-controls{margin-top:26px;gap:14px}}
/* Keep enlarged text readable without hiding or truncating the contents. */
h1,h2,h3,p,a,label,button,summary{overflow-wrap:anywhere} .container>*{min-width:0}.header-inner{flex-wrap:wrap}.brand{max-width:100%;min-width:0}.brand img{flex-shrink:0}.brand span{min-width:0;overflow-wrap:anywhere}nav{flex-wrap:wrap}.button{text-align:center;min-width:0;white-space:normal;flex-wrap:wrap}.button>span{flex-shrink:0}.hero-bottom{flex-wrap:wrap}.hero-bottom>*{max-width:100%;min-width:0}.hero-bottom>a{height:auto;padding-block:10px}.detail-tabs{flex-wrap:wrap}.detail-tabs button{min-width:0}.about-signature>div{min-width:0}.footer-top>*{min-width:0;max-width:100%}.footer-bottom>div{flex-wrap:wrap}.service-scene{height:auto}.service-scene h3{min-width:0}.contact-layout>*,.about-layout>*,.material-layout>*,.faq-layout>*{min-width:0}
@media(max-width:370px){.hero-immersive h1{font-size:36px}.hero-immersive .hero-copy{padding-top:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*:not(.motion-loop),*::before,*::after{animation:none!important;transition:none!important}}

/* Final mobile navigation: explicit brand color also overrides iOS button defaults. */
.menu-toggle{color:var(--orange);-webkit-appearance:none;appearance:none}
.menu-toggle .menu-icon{display:block;flex:none}
.menu-toggle .menu-icon-close{display:none}
.menu-toggle[aria-expanded="true"] .menu-icon-bars{display:none}
.menu-toggle[aria-expanded="true"] .menu-icon-close{display:block}
@media(max-width:800px){.menu-toggle{justify-content:center;min-width:44px;min-height:44px;padding:10px}}
