@font-face{font-family:Manrope;src:url("assets/fonts/manrope-latin.woff2") format("woff2");font-style:normal;font-weight:400 800;font-display:swap}
@font-face{font-family:Poppins;src:url("assets/fonts/poppins-regular-latin.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url("assets/fonts/poppins-semibold-latin.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
:root{--paper:#fff;--ink:#555;--muted:#737373;--blue:#009fe3;--line:#e8e8e8;--width:1160px;--header:76px;--section-gap:300px;--photo:grayscale(1) contrast(.86) brightness(1.07)}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:var(--header)}body{margin:0;background:white;color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none;text-underline-offset:5px}a:hover{text-decoration:underline}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:default;opacity:.3}img{display:block;max-width:100%;height:auto}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display);font-weight:800;letter-spacing:-.045em;line-height:1.09}h1 span,h2 span{color:var(--blue)}h2{font-size:clamp(36px,4vw,56px);margin:0}h3{letter-spacing:-.035em}:focus-visible{outline:2px solid var(--blue);outline-offset:5px}::selection{background:#e5e5e5}.wrap{width:min(var(--width),calc(100% - 96px));margin-inline:auto}.home-page main{display:grid;row-gap:var(--section-gap)}.section{position:relative;margin:0;min-width:0}.eyebrow{font-family:var(--font-display);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 24px}
.header{width:100%;min-height:var(--header);padding:12px max(48px,calc((100% - var(--width))/2));display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30;background:#ffffffed;backdrop-filter:blur(14px)}.brand{width:120px;flex-shrink:0}.header nav{display:flex;align-items:center;gap:30px;font-family:var(--font-display);font-size:12px;font-weight:700}.header nav a{padding:10px 0;color:#666}.header nav a:hover{color:#444}.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;min-height:680px;height:calc(100svh - var(--header));max-height:1080px;display:flex;align-items:center;overflow:clip}.hero-content{position:relative;z-index:2;padding:30px 0 70px;pointer-events:none}.hero-logo{width:min(44%,490px);margin-bottom:38px}.hero h1{font-size:clamp(38px,4.4vw,64px);margin:0}.hero-stage{position:absolute;inset:0 0 0 26%;z-index:-1}.stage-image{height:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent 10%,black 64%,black 88%,transparent),linear-gradient(180deg,transparent,black 20%,black 67%,transparent 96%);mask-composite:intersect}.stage-image img{width:100%;height:100%;object-fit:cover;object-position:60% 45%;filter:var(--photo)}.hero-stage figcaption{position:absolute;right:max(48px,calc((100vw - var(--width))/2));bottom:55px;font-size:9px;color:var(--muted)}
/* Compact, square controls with a clipped corner echo the MEHRL wordmark. */
.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:17px;min-height:38px;padding:9px 17px;border:0;border-radius:0;background:#f0f0f0;color:#555;font-family:var(--font-display);font-size:11px;font-weight:800;line-height:1.4;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,7px 100%,0 calc(100% - 7px));transition:background .2s}.button:hover{background:#e4e4e4;text-decoration:none}.button:focus-visible{outline:0;background:#ddd;box-shadow:inset 0 0 0 2px var(--blue)}.button>span{color:var(--blue);font-size:17px}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:600;padding:8px 0;color:#666}.text-link>span:not(.sr-only){color:var(--blue);font-size:16px}.section-heading{text-align:center;margin:0 auto 32px}.section-heading>p{font-size:13px;color:var(--muted);margin:28px auto 0}.anchor-alias{position:absolute;top:0}
/* Static first: every scene remains available without JavaScript or motion. */
.sequence{position:relative}.sequence-pin{padding:35px 0}.sequence-stage{position:relative;min-width:0;overflow:clip}.scene{position:relative;min-width:0}.sequence-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:25px}.sequence-controls button{position:relative;min-height:42px;padding:13px 0 8px;border:0;background:none;color:var(--muted);font-family:var(--font-display);font-size:11px;font-weight:700;line-height:1.5}.sequence-controls button:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--line)}.sequence-controls button[aria-current="true"]{color:#555}.sequence-controls button[aria-current="true"]:before{background:var(--blue)}
.sequence.is-scroll{height:var(--sequence-height)}.is-scroll .sequence-pin{height:calc(100svh - var(--header));position:sticky;top:var(--header);display:flex;flex-direction:column;padding:28px 0 25px;isolation:isolate;background:white}.is-scroll .section-heading{flex:none;margin-bottom:15px}.is-scroll .sequence-stage{flex:1;min-height:0}.is-scroll .scene{position:absolute;inset:0;opacity:var(--scene-opacity,0);visibility:var(--scene-visibility,hidden);transform:translate3d(var(--scene-x,0px),var(--scene-y,0px),0) scale(var(--scene-scale,1));transform-origin:center;pointer-events:none}.is-scroll .scene.is-current{pointer-events:auto}.is-scroll .sequence-controls,.is-scroll .project-navigation{flex:none}.sequence.is-in-view .scene{will-change:transform,opacity}
.service-panel{min-height:560px;display:flex;align-items:center;isolation:isolate;overflow:clip}.service-visual{position:absolute;inset:0 0 0 22%;z-index:-1;mask-image:linear-gradient(90deg,transparent 6%,black 46%,black 85%,transparent),linear-gradient(180deg,transparent,black 19%,black 68%,transparent);mask-composite:intersect}.service-visual img{height:100%;width:100%;object-fit:cover;filter:var(--photo);transform:scale(1.025)}.service-copy{padding:60px 0;pointer-events:none}.service-copy h3{font-size:clamp(42px,5vw,70px);max-width:460px;margin-bottom:24px;overflow-wrap:break-word}.service-copy>p:not(.eyebrow){font-size:15px;max-width:280px;color:var(--muted);margin:0}.is-scroll .service-panel{min-height:0}.services-section .sequence-controls{justify-content:space-between;gap:24px}
.craft-stage{isolation:isolate}.craft-photo{position:absolute;inset:0 0 0 28%;z-index:-1;mask-image:linear-gradient(90deg,transparent,black 42%,black 85%,transparent),linear-gradient(transparent,black 18%,black 70%,transparent);mask-composite:intersect}.craft-photo img{width:100%;height:100%;object-fit:cover;filter:var(--photo)}.craft-photo figcaption{position:absolute;bottom:36px;right:10%;font-size:9px;color:var(--muted)}.craft-step{min-height:450px;display:flex;align-items:center;padding:70px 0}.craft-step h3{font-size:clamp(40px,4.8vw,68px);max-width:500px;margin-bottom:26px}.craft-step p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:300px;margin-bottom:0}.is-scroll .craft-step{min-height:0}
.project{display:flex;flex-direction:column;margin:0 auto 85px;width:min(var(--width),calc(100% - 96px))}.reference-image{display:block;overflow:hidden;min-height:0;mask-image:linear-gradient(transparent,black 7%,black 72%,transparent)}.reference-image img{width:100%;height:520px;object-fit:cover;filter:var(--photo)}.project-copy{width:100%;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:18px 0 0}.project h3{font-size:clamp(27px,3vw,39px);margin:0 0 8px}.project-location{font-size:11px;line-height:1.5;color:var(--muted);margin:0}.project-copy .button{flex-shrink:0}.is-scroll .project{width:100%;margin:0;padding-top:5px}.is-scroll .reference-image{width:min(var(--width),calc(100% - 96px));margin:auto;flex:1}.is-scroll .reference-image img{height:100%}.is-scroll .project-copy{width:min(var(--width),calc(100% - 96px));flex:none;min-height:96px}.project-navigation{display:flex;align-items:center;justify-content:space-between;margin-top:20px}.all-projects{border:0;background:none;min-height:38px;font-size:10px;color:var(--muted);padding:10px 0}.sequence-arrows{display:flex;align-items:center;gap:20px}.sequence-arrows button{border:0;min-width:38px;min-height:38px;background:#f2f2f2;color:#666;font-size:21px;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px))}.sequence-arrows button:hover:not(:disabled){background:#e5e5e5}.sequence-status{font-family:var(--font-display);font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted)}.project-index{position:absolute;bottom:84px;left:0;right:0;z-index:5;background:#fffffff7;padding:25px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px 24px;border-top:1px solid var(--line)}.project-index :is(button,a){border:0;background:none;min-height:38px;font-size:12px;text-align:left;color:#666;padding:8px 0}.project-index :is(button,a)[aria-current="true"]{text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:7px}
.person{display:flex;align-items:center;justify-content:center;gap:80px;margin:80px auto;min-height:450px}.portrait{width:340px;max-width:48%;aspect-ratio:4/5;overflow:hidden;mask-image:linear-gradient(transparent,black 7%,black 76%,transparent)}.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:var(--photo)}.person h3{font-size:clamp(38px,4.3vw,62px);margin:0;line-height:1.1}.person h3 span{display:block;font-family:var(--font-body);font-weight:400;font-size:14px;letter-spacing:0;color:var(--muted);margin-top:19px}.person-introduction h3{font-size:clamp(55px,6.5vw,90px);margin:0 0 28px}.person-role{font-size:14px;color:var(--muted);margin:0}.person-text{text-align:center}.is-scroll .person{margin:0;min-height:0}.is-scroll .portrait{height:min(100%,550px);width:auto;max-width:46%}.team-controls{gap:65px}
.contact{padding:100px 0 90px;min-height:650px;display:flex;align-items:center}.contact>.wrap{width:100%}.contact .section-heading{margin-bottom:36px}.contact h2{font-size:clamp(46px,6vw,82px)}.contact-actions{display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap}.contact-phone{font-family:var(--font-display);font-size:16px;font-weight:700;color:#666}.contact-phone span{color:var(--blue);margin-left:10px}.contact-address{text-align:center;margin:42px auto 0}.contact-address address{font-style:normal;font-size:11px;line-height:1.9;color:var(--muted)}.contact-address address strong{color:#666;font-weight:600}.directions{font-size:10px;margin-top:7px}.footer{padding:28px 0;display:flex;align-items:center;gap:28px;border-top:1px solid var(--line)}.footer-brand{width:85px;flex-shrink:0}.footer p{font-size:11px;color:var(--muted);margin:0}.footer nav{margin-left:auto;display:flex;gap:24px;font-size:10px;color:var(--muted)}.footer nav a{padding:10px 0}
.skip-link{position:fixed;top:-100px;left:20px;z-index:40;padding:10px 20px;background:white;border:1px solid var(--blue)}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.project-intro{text-align:center;margin:70px auto 46px;max-width:860px}.project-intro>.text-link{margin-bottom:42px}.project-intro h1{font-size:clamp(38px,5vw,66px);margin-bottom:30px}.project-facts{font-size:12px;line-height:1.8;margin:0 0 22px}.project-facts>div{display:flex;justify-content:center;gap:8px;margin:3px 0}.project-facts dt{font-weight:600;color:#666}.project-facts dt:after{content:":"}.project-facts dd{margin:0;color:var(--muted)}.project-kind{font-size:13px;color:var(--muted)}.project-description{max-width:680px;margin:30px auto 0;font-size:16px;color:var(--muted)}.project-gallery{display:grid;gap:40px}.project-gallery figure{margin:0;scroll-margin-top:100px}.project-gallery img{width:100%;height:auto;max-height:780px;object-fit:contain;filter:none}.project-scope{display:grid;grid-template-columns:1fr 1.35fr;gap:60px;margin:70px 0}.project-scope h2{font-size:31px}.project-scope p{font-size:15px;color:var(--muted)}.project-end{margin-top:80px;padding:50px 0 80px;text-align:center}.project-end h2{font-size:32px}.project-end .text-link{margin:20px}
@media(max-width:1000px){.wrap,.project,.is-scroll .reference-image,.is-scroll .project-copy{width:calc(100% - 64px)}.header{padding-inline:32px}.header nav{gap:24px}.hero h1{font-size:45px}.hero-logo{width:430px;max-width:50%}.hero-stage{left:23%}.hero-stage figcaption{right:32px}.sequence-controls{gap:22px}.sequence-controls button{font-size:10px}.service-copy h3{max-width:360px}.service-copy>p:not(.eyebrow){font-size:13px;max-width:240px}.person{gap:40px}.person h3{font-size:42px}}
@media(max-width:700px){:root{--header:70px}.wrap,.project,.is-scroll .reference-image,.is-scroll .project-copy{width:calc(100% - 40px)}.header{padding:12px 20px;flex-wrap:wrap;gap:14px}.brand{width:110px}.header nav{width:100%;display:flex;flex-wrap:wrap;gap:4px 24px;font-size:13px}.js .menu-toggle{display:flex;align-items:center;gap:14px;border:0;background:none;padding:7px 0 7px 14px;min-height:42px;font-size:12px;cursor:pointer}.menu-toggle span{display:block;width:19px;height:8px;border-block:1px solid #777}.menu-toggle[aria-expanded="true"] span{transform:rotate(-45deg)}.js .header nav{display:none}.js .header nav.is-open{display:flex}.hero{min-height:690px;height:calc(100svh - var(--header));max-height:950px;display:block;padding-top:50px}.hero-content{padding:0}.hero-content>.eyebrow{margin-bottom:23px;font-size:9px}.hero-logo{width:360px;max-width:100%;margin-bottom:26px}.hero h1{font-size:clamp(31px,7.8vw,48px)}.hero-stage{inset:260px 0 0;z-index:-1}.stage-image{mask-image:linear-gradient(transparent,black 28%,black 65%,transparent 98%)}.stage-image img{object-position:60% 46%}.hero-stage figcaption{right:20px;bottom:20px;font-size:8px}.section-heading h2{font-size:34px}.section-heading{margin-bottom:24px}.sequence-pin{padding:20px 0}.is-scroll .sequence-pin{padding:23px 0 18px}.is-scroll .section-heading{margin-bottom:12px}.sequence-controls,.services-section .sequence-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 19px;margin-top:18px}.sequence-controls button{font-size:10px;min-height:39px;padding:11px 0 6px;text-align:left}.service-panel{min-height:520px;align-items:flex-end}.service-visual{inset:0 0 115px;mask-image:linear-gradient(transparent,black 15%,black 46%,transparent 97%)}.service-copy{padding:260px 0 28px}.service-copy .eyebrow{font-size:9px;margin-bottom:17px}.service-copy h3{font-size:40px;max-width:100%;margin-bottom:18px}.service-copy>p:not(.eyebrow){max-width:100%;font-size:12px;min-height:41px}.is-scroll .service-copy{padding:0 0 10px}.is-scroll .service-visual{bottom:100px}.craft-photo{inset:0 0 120px;mask-image:linear-gradient(transparent,black 17%,black 47%,transparent 97%)}.craft-photo figcaption{right:20px;top:16px;bottom:auto;font-size:8px}.craft-step{min-height:430px;align-items:flex-end;padding:230px 0 28px}.craft-step h3{font-size:38px;margin-bottom:20px}.craft-step p:not(.eyebrow){font-size:12px;max-width:280px;min-height:41px}.craft-step .eyebrow{font-size:9px;margin-bottom:16px}.is-scroll .craft-step{padding:0 0 20px}.project{margin-bottom:80px}.reference-image img{height:340px}.project-copy{display:block;padding-top:12px}.project h3{font-size:29px;margin-bottom:9px;max-width:100%}.project-location{font-size:10px;margin-bottom:15px}.project-copy .button{font-size:10px;min-height:35px;padding:8px 14px}.is-scroll .project-copy{min-height:138px}.is-scroll .project{padding-top:0}.is-scroll .reference-image{width:100%}.project-navigation{margin-top:15px}.sequence-arrows{gap:14px}.sequence-arrows button{min-width:36px;min-height:36px;font-size:20px}.project-index{bottom:72px;padding:15px;grid-template-columns:1fr 1fr;gap:6px 16px}.project-index :is(button,a){font-size:10px;min-height:40px;padding:7px 0}.person{flex-direction:column;gap:24px;min-height:470px;text-align:center;margin:70px 0}.portrait{width:260px;max-width:80%;aspect-ratio:4/5}.person h3{font-size:35px}.person h3 span{font-size:12px;margin-top:11px}.is-scroll .person{padding:5px 0 16px}.is-scroll .portrait{height:auto;flex:1;min-height:0;width:auto;max-width:84%;aspect-ratio:4/5}.is-scroll .person figcaption{flex:none}.person-introduction h3{font-size:60px}.person-introduction .eyebrow{font-size:9px;margin-bottom:22px}.person-role{font-size:13px}.contact{padding:80px 20px;min-height:630px}.contact h2{font-size:53px}.contact .section-heading>p{font-size:12px;max-width:300px;margin-top:28px}.contact-actions{flex-direction:column;gap:25px}.contact-phone{font-size:16px}.contact-address{margin-top:40px}.contact-address address{font-size:10px}.footer{flex-wrap:wrap;justify-content:space-between;gap:16px}.footer nav{margin:0;width:100%;gap:22px;flex-wrap:wrap;font-size:10px}.footer p{font-size:10px}.footer-brand{width:78px}.project-intro{margin-top:40px}.project-intro>.text-link{margin-bottom:28px}.project-intro h1{font-size:35px;overflow-wrap:anywhere}.project-description{font-size:14px}.project-facts{font-size:11px}.project-facts>div{display:block}.project-facts dt,.project-facts dd{display:inline}.project-facts dt:after{content:": "}.project-scope{grid-template-columns:1fr;gap:20px;margin:45px 0}.project-scope h2{font-size:28px;margin:0}.project-scope p{font-size:14px;margin:0}.project-end{margin-top:55px;padding:32px 0 55px}.project-end h2{font-size:28px}.project-end .text-link{margin:20px 8px 0}}
@media(max-width:370px){.hero{padding-top:42px}.hero-stage{top:245px}.hero h1{font-size:30px}.hero-logo{margin-bottom:27px}.section-heading h2{font-size:30px}.service-copy h3{font-size:34px}.service-copy>p:not(.eyebrow){font-size:11px}.sequence-controls,.services-section .sequence-controls{gap:8px 12px}.sequence-controls button{font-size:9px}.craft-step h3{font-size:34px}.project h3{font-size:26px}.project-location{font-size:9px}.person h3{font-size:30px}.person-introduction h3{font-size:52px}}
@media(prefers-reduced-motion:no-preference){.hero-content{opacity:var(--hero-opacity,1);transform:translateY(var(--hero-y,0px))}.stage-image img{transform:translateY(var(--hero-photo-y,0px)) scale(1.04)}.sequence-pin>.section-heading{opacity:var(--heading-opacity,1);transform:translateY(var(--heading-y,0px))}.craft-photo{transform:scale(var(--craft-scale,1))}.contact>.wrap{opacity:var(--contact-opacity,1);transform:translateY(var(--contact-y,0px))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.sequence.is-scroll{height:auto}.is-scroll .sequence-pin{position:static;height:auto;display:block}.is-scroll .sequence-stage{height:auto}.is-scroll .scene{position:relative;opacity:1;visibility:visible;transform:none;pointer-events:auto}.is-scroll .service-panel{min-height:520px}.is-scroll .reference-image img{height:400px}.is-scroll .person{min-height:450px;margin:70px 0}.is-scroll .portrait{height:auto;width:300px}.is-scroll .craft-step{min-height:430px}}

/* Photos share the content bounds, including during scroll transforms. */
:root{--content-gutter:96px}
.hero-stage,.service-stage,.craft-stage,.project-stage{width:min(var(--width),calc(100% - var(--content-gutter)));margin-inline:auto;overflow:clip}
.hero-stage{left:0;right:0}
.hero-stage figcaption{right:0}
.service-stage .service-copy,.craft-stage .craft-step>.wrap,.project-stage .project,.project-stage .reference-image,.project-stage .project-copy{width:100%}
@media(max-width:1000px){:root{--content-gutter:64px}}
@media(max-width:700px){:root{--content-gutter:40px}}

/* Each chapter has its own scroll choreography; all movement stays in its frame. */
.service-visual{inset:0;mask-image:linear-gradient(90deg,transparent 10%,black 60%,black 93%,transparent),linear-gradient(180deg,transparent,black 9%,black 85%,transparent)}
.service-visual img,.reference-image img,.portrait img,.closing-visual img{filter:grayscale(1) contrast(1.03) brightness(1.01)}
.is-scroll .service-visual img{transform:scale(var(--image-zoom,1));transform-origin:70% 50%}
.is-scroll .service-copy{transform:translateY(var(--copy-y,0px));opacity:var(--copy-opacity,1)}
.reference-image{mask-image:linear-gradient(180deg,transparent,black 4%,black 90%,transparent)}
.is-scroll .project-copy{padding-top:20px}
.is-scroll .person .portrait{clip-path:inset(var(--portrait-cut,0%) 0 0);transform:translateY(var(--portrait-y,0px))}
.is-scroll .person figcaption,.is-scroll .person-introduction{transform:translateY(var(--copy-y,0px));opacity:var(--copy-opacity,1)}
.craft-stage{display:flex;flex-direction:column;justify-content:center;gap:64px;padding:30px 0;overflow:visible}
.craft-step,.is-scroll .craft-step{position:relative;inset:auto;display:block;min-height:0;padding:0;text-align:center;opacity:1;visibility:visible;transform:none;pointer-events:auto}
.craft-step>.wrap{max-width:100%}
.craft-step .eyebrow{margin-bottom:8px;color:var(--blue);font-size:11px}
.craft-step h3{font-size:clamp(34px,4vw,56px);max-width:none;margin:0 0 12px}
.craft-step p:not(.eyebrow){max-width:none;font-size:13px;margin:0}
.process-arrow{position:absolute;top:calc(100% + 9px);left:calc(50% - 10px);width:20px;height:48px;stroke:var(--blue);stroke-width:2;overflow:visible}
.arrow-trail{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--arrow-progress,1))}
.arrow-head{opacity:var(--arrow-progress,1)}
.is-scroll .craft-step>.wrap{opacity:var(--step-opacity,1);transform:translateY(var(--step-y,0px))}
.system .sequence-controls{gap:60px}
.contact{padding:20px 0 90px;min-height:0;display:block}
.contact>.wrap{width:min(var(--width),calc(100% - var(--content-gutter)))}
.closing-stage{position:relative;isolation:isolate;min-height:690px;display:flex;align-items:center;overflow:clip}
.closing-copy{position:relative;z-index:1;width:650px;max-width:100%;padding:60px 0 70px}
.closing-copy>.eyebrow{margin-bottom:28px}
.contact h2{font-size:clamp(90px,10vw,144px);line-height:.95;letter-spacing:-.065em;margin:0}
.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:48px;max-width:620px}
.contact-action{display:flex;flex-direction:column;gap:20px;justify-content:space-between;padding:24px;min-height:180px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,10px 100%,0 calc(100% - 10px));font-family:var(--font-display);transition:background .2s}
.contact-call{background:#eee;color:#555}.contact-mail{background:var(--blue);color:#292929}
.contact-call:hover{background:#e3e3e3}.contact-mail:hover{background:#1aa9e6}.contact-action:hover{text-decoration:none}
.contact-action:focus-visible{outline:0;box-shadow:inset 0 0 0 3px #555}
.contact-label{display:flex;justify-content:space-between;gap:10px;font-size:13px;font-weight:700}.contact-label>span{font-size:20px;line-height:1}
.contact-number{font-size:32px;line-height:1.15;font-weight:800;letter-spacing:-.025em}.contact-email{font-size:23px;line-height:1.35;font-weight:700;overflow-wrap:anywhere}
.closing-visual{position:absolute;z-index:-1;inset:0 0 0 24%;mask-image:linear-gradient(90deg,transparent,black 42%,black 90%,transparent),linear-gradient(180deg,transparent,black 15%,black 80%,transparent);mask-composite:intersect}
.closing-visual img{width:100%;height:100%;object-fit:cover;object-position:62% center}
.contact-address{display:flex;justify-content:space-between;text-align:left;gap:40px;margin:45px 0 0;padding-top:30px;border-top:1px solid var(--line)}
.contact-address address,.contact-address>p{font-size:13px;line-height:1.9;margin:0;color:var(--muted)}.directions{font-size:12px}
@media(max-width:700px){
 .service-visual,.is-scroll .service-visual{inset:0 0 150px;mask-image:linear-gradient(180deg,transparent,black 8%,black 78%,transparent)}
 .service-copy h3{margin-bottom:14px}.is-scroll .service-copy{padding-bottom:5px}
 .craft-stage{gap:58px;padding:18px 0}.craft-step h3{font-size:clamp(28px,8vw,38px);margin-bottom:10px}.craft-step p:not(.eyebrow){font-size:11px;min-height:0;max-width:290px;margin:auto}.craft-step .eyebrow{font-size:10px;margin-bottom:7px}
 .process-arrow{height:40px;top:calc(100% + 8px)}.system .sequence-controls{gap:16px}
 .contact{padding:0 0 70px}.closing-stage{display:block;min-height:0}.closing-copy{padding:24px 0 0}.contact h2{font-size:clamp(86px,26vw,110px)}
 .contact-actions{gap:12px;margin-top:38px}.contact-action{padding:18px 14px;min-height:157px;gap:24px}.contact-label{font-size:10px;gap:4px}.contact-label>span{font-size:16px}.contact-number{font-size:clamp(21px,5.6vw,28px)}.contact-email{font-size:clamp(13px,3.7vw,18px)}
 .closing-visual{position:relative;inset:auto;width:100%;height:340px;margin-top:22px;mask-image:linear-gradient(180deg,transparent,black 18%,black 80%,transparent)}
 .contact-address{margin-top:28px;flex-direction:column;gap:24px}.contact-address address,.contact-address>p{font-size:12px}
}
@media(max-height:740px) and (min-height:600px){.is-scroll .craft-stage{gap:38px;padding:12px 0}.is-scroll .craft-step h3{font-size:32px}.is-scroll .craft-step p:not(.eyebrow){font-size:11px}.is-scroll .process-arrow{height:26px;top:calc(100% + 5px)}}
.header.wrap{width:100%}
@media(max-width:370px){.contact-actions{grid-template-columns:1fr}.contact-action{min-height:128px;padding:20px;gap:15px}.contact-number{font-size:28px}.contact-email{font-size:21px}.contact-label{font-size:12px}}

/* Project chapters rise over one another on a single, generously sized stage. */
.services-section.is-scroll .service-panel{background:white}
.projects .project{position:relative;min-height:640px;isolation:isolate;background:white;overflow:clip}
.projects .reference-image,.projects.is-scroll .reference-image{position:absolute;inset:0;width:100%;height:100%;margin:0;mask-image:linear-gradient(90deg,transparent 8%,black 62%,black 95%,transparent),linear-gradient(180deg,transparent,black 10%,black 90%,transparent);mask-composite:intersect;flex:none}
.projects .reference-image img{height:100%;width:100%;object-fit:cover;object-position:center;filter:grayscale(1) contrast(.98)}
.projects .project-copy,.projects.is-scroll .project-copy{position:absolute;left:0;right:0;bottom:38px;z-index:2;min-height:0;padding:0;display:block;pointer-events:none}
.projects .project-copy>div{max-width:430px}
.projects .project h3{font-size:clamp(32px,3.4vw,46px);line-height:1.12;text-wrap:balance}
.projects .project-location{margin-top:15px;font-size:12px}
.projects .project-copy .button{pointer-events:auto;margin-top:24px}
.projects.is-scroll .project{position:absolute;inset:0;min-height:0;padding:0;transform-origin:center top}
.projects.is-scroll .section-heading{position:absolute;left:0;right:0;top:66px;z-index:20;text-align:left;pointer-events:none}
.projects.is-scroll .section-heading h2{font-size:clamp(66px,7.4vw,104px);line-height:.97;letter-spacing:-.06em}
.projects.is-scroll .section-heading h2 span{display:block}
.projects.is-scroll .project-copy{opacity:var(--project-copy-opacity,1)}
.projects .project-index{z-index:25}
.projects.is-scroll .project-stage{overflow:clip;isolation:isolate}
.projects .reference-image:focus-visible{outline-offset:-3px}
.is-scroll .person .portrait{clip-path:none;transform:translateY(var(--portrait-y,0px))}
.is-scroll .person .portrait img{transform:scale(var(--image-zoom,1));transform-origin:center 35%}
.team .portrait{mask-image:linear-gradient(black 88%,transparent)}
.contact h2{font-size:clamp(64px,6.9vw,94px);line-height:1.04;letter-spacing:-.055em}
@media(min-width:701px){
 .team.is-scroll .team-stage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;align-items:center;overflow:clip}
 .team.is-scroll .person{position:relative;inset:auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:24px;height:100%;max-height:550px;min-height:0;padding:0 0 14px;opacity:var(--person-opacity,1);visibility:visible;transform:translateY(var(--person-y,0px)) scale(var(--person-scale,1));pointer-events:auto;text-align:center}
 .team.is-scroll .portrait{width:100%;height:auto;max-width:100%;flex:1;min-height:0;aspect-ratio:auto;transform:none}
 .team.is-scroll .portrait img{object-fit:cover;object-position:50% 0%;transform:none}
 .team.is-scroll .person figcaption{min-height:85px;opacity:1;transform:none}
 .team.is-scroll .person h3{font-size:clamp(26px,2.7vw,38px)}
 .team.is-scroll .person h3 span{font-size:13px;margin-top:13px}
 .team.is-scroll .person-text{justify-content:center}
 .team.is-scroll .person-introduction{opacity:1;transform:none}
 .team.is-scroll .person-introduction h3{font-size:clamp(40px,4.3vw,62px)}
 .team.is-scroll .person-introduction .eyebrow{color:var(--blue)}
}
@media(max-width:1000px) and (min-width:701px){.team.is-scroll .team-stage{gap:24px}.projects .project-copy>div{max-width:340px}}
@media(max-width:700px){
 .projects .project{min-height:600px}
 .projects .reference-image,.projects.is-scroll .reference-image{mask-image:linear-gradient(180deg,transparent 12%,black 32%,black 58%,transparent 82%)}
 .projects.is-scroll .section-heading{top:30px}
 .projects.is-scroll .section-heading h2{font-size:clamp(50px,15vw,72px)}
 .projects .reference-image img{object-position:60% center}
 .projects .project-copy,.projects.is-scroll .project-copy{bottom:10px}
 .projects .project-copy>div{max-width:100%}
 .projects .project h3{font-size:30px;max-width:100%;text-wrap:balance}
 .projects .project-location{font-size:10px;margin-top:10px;margin-bottom:0}
 .projects .project-copy .button{margin-top:16px}
 .contact h2{font-size:clamp(45px,12.4vw,66px)}
}
@media(max-height:740px) and (min-height:600px){.projects.is-scroll .section-heading{top:30px}.projects.is-scroll .section-heading h2{font-size:58px}.projects .project h3{font-size:29px}.projects .project-copy .button{margin-top:14px}}

/* Address and company details remain readable at the end of the page. */
.contact-address{display:grid;grid-template-columns:1.25fr 1fr;gap:90px;margin-top:65px;padding-top:52px}
.contact-address .eyebrow{font-size:11px;margin:0 0 22px}
.visit-address address{font-family:var(--font-display);font-style:normal;font-size:clamp(25px,2.7vw,36px);line-height:1.35;letter-spacing:-.025em;color:var(--ink)}
.visit-address address strong{display:block;font-size:19px;font-weight:800;color:var(--ink);margin-bottom:18px;letter-spacing:0}
.visit-address .directions{font-family:var(--font-display);font-weight:800;font-size:23px;margin-top:23px;min-height:48px;gap:35px}
.visit-address .directions>span:not(.sr-only){font-size:30px}
.company-details dl,.legal-content dl{margin:0}
.company-details dl>div{margin-bottom:20px}
.company-details dt,.legal-content dt{font-size:12px;color:var(--muted);margin-bottom:5px}
.company-details dd{font-family:var(--font-display);font-size:22px;font-weight:700;line-height:1.4;margin:0;color:var(--ink)}
.company-details>.text-link{font-size:15px}
.company-details .service-region{font-size:14px;line-height:1.8;color:var(--muted);margin:30px 0 0}
.footer nav{font-size:12px}
.legal-content{padding:65px 0 90px}
.legal-intro{margin-bottom:65px}.legal-intro .eyebrow{margin-bottom:20px}.legal-intro h1{font-size:clamp(52px,7vw,90px);margin:0}
.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 90px}
.legal-grid section{min-width:0}.legal-grid h2{font-size:28px;line-height:1.2;margin-bottom:30px}
.legal-grid p,.legal-grid address{font-size:16px;line-height:1.9;font-style:normal;margin:0 0 24px;overflow-wrap:anywhere}
.legal-grid .legal-company{font-family:var(--font-display);font-size:24px;font-weight:800;margin-bottom:16px}
.legal-grid dl>div{margin-bottom:22px}.legal-grid dd{font-size:17px;margin:0;line-height:1.6}
.legal-grid p a{text-decoration:underline;text-decoration-color:#bbb}.legal-back{font-size:15px;margin-top:65px}
@media(min-width:701px){.team.is-scroll .person-introduction h3{font-size:clamp(26px,2.7vw,38px);line-height:1.1;margin:0}}
@media(max-width:700px){.contact-address{grid-template-columns:1fr;gap:46px;margin-top:28px;padding-top:36px}.visit-address address{font-size:27px}.visit-address address strong{font-size:18px}.company-details dd{font-size:21px}.contact-address .eyebrow{font-size:10px}.legal-content{padding:40px 0 65px}.legal-intro{margin-bottom:45px}.legal-grid{grid-template-columns:1fr;gap:40px}.legal-grid h2{font-size:25px;margin-bottom:23px}.legal-grid p,.legal-grid address,.legal-grid dd{font-size:15px}.legal-grid .legal-company{font-size:22px}}

/* Material knowledge and project stories share the quiet, bounded layout. */
.material-section{display:grid;grid-template-columns:1.05fr 1fr;gap:100px;align-items:center;min-height:500px;padding-block:50px;margin-inline:auto}
.material-section h2{font-size:clamp(45px,5vw,72px)}
.material-intro{font-size:16px;max-width:390px;margin:30px 0}
.material-principles p{font-family:var(--font-display);font-weight:700;font-size:clamp(23px,2.6vw,36px);letter-spacing:-.035em;line-height:1.3;margin:0;padding:28px 0}
.material-principles p+p{border-top:1px solid var(--line)}
.material-principles p>span{display:block;font-size:11px;color:var(--blue);letter-spacing:.1em;margin-bottom:12px}
.material-principles>div{padding:24px 0}.material-principles>div+div{border-top:1px solid var(--line)}
.material-principles>div>p{padding:0;border:0}
.material-principles .material-benefit{font-family:var(--font-body);font-size:13px;font-weight:400;letter-spacing:0;line-height:1.8;margin:13px 0 0;max-width:370px;color:var(--muted)}
.project-detail .project-intro{text-align:left;max-width:none;margin:45px 0 55px}
.project-kicker{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:42px}
.project-kicker .eyebrow{margin:0}.project-kicker .text-link{margin:0}
.project-detail .project-intro h1{font-size:clamp(48px,6.5vw,90px);max-width:1000px;margin-bottom:28px;overflow-wrap:normal;hyphens:auto}
.project-detail .project-description{font-size:17px;max-width:720px;margin:0 0 36px;line-height:1.8}
.project-detail .project-facts{display:flex;gap:32px 65px;flex-wrap:wrap;margin:0;font-size:13px}
.project-detail .project-facts>div{display:block;margin:0;max-width:330px}
.project-detail .project-facts dt{font-size:10px;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-bottom:7px;color:var(--muted)}
.project-detail .project-facts dt:after{content:none}.project-detail .project-facts dd{margin:0;color:var(--ink)}
.project-shot{margin:0;min-width:0}
.project-shot>a{display:block;position:relative;overflow:clip;cursor:zoom-in}
.project-shot img{width:100%;height:auto;max-height:850px;object-fit:contain;filter:none}
.project-shot .image-expand{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:40px;height:40px;background:#fffffff0;color:var(--blue);font-size:23px;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%);transition:background .2s}
.project-shot a:hover .image-expand{background:#fff}
.project-shot figcaption{display:flex;gap:20px;font-size:11px;color:var(--muted);margin-top:15px;line-height:1.6}
.project-shot figcaption>span{white-space:nowrap;font-family:var(--font-display);font-size:10px;color:var(--blue);font-weight:700}
.project-detail .project-scope{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;margin:120px 0}
.project-detail .project-scope h2{font-size:clamp(35px,4vw,56px);margin:0}
.project-detail .project-scope p{font-size:16px;line-height:1.9;margin:0}
.project-detail .project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:80px 32px;margin:0}
.project-detail .project-gallery .project-shot{margin:0}
.project-detail .project-gallery .project-shot:nth-child(3n){grid-column:1/-1}
.project-detail .project-gallery img{height:auto;max-height:850px;object-fit:contain;filter:none}
.project-related{margin:50px 0 0}
.project-detail .project-end,.knowledge-content .project-end{text-align:left;margin:160px 0 100px;padding:0;border:0}
.project-detail .project-end h2,.knowledge-content .project-end h2{font-size:clamp(46px,6vw,80px);margin:0 0 30px}
.project-pagination{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line);padding:40px 0 70px}
.project-pagination a{min-width:0}.project-pagination a:last-child{text-align:right}
.project-pagination .eyebrow{display:block;margin:0 0 15px;font-size:10px}
.project-neighbor{font-family:var(--font-display);font-weight:800;font-size:clamp(21px,2.5vw,34px);line-height:1.2;letter-spacing:-.035em;hyphens:auto;overflow-wrap:anywhere}
.gallery-dialog{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:26px max(24px,calc((100vw - 1160px)/2));border:0;background:#fff;color:var(--ink)}
.gallery-dialog[open]{display:flex;flex-direction:column;gap:20px}.gallery-dialog::backdrop{background:#fff}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}
.gallery-toolbar h2{font-size:16px;letter-spacing:-.02em}.gallery-dialog button{border:0;background:none;min-width:44px;min-height:44px;padding:8px;color:var(--ink)}
.gallery-close{font-size:12px;white-space:nowrap}.gallery-close span{color:var(--blue);font-size:24px;margin-left:12px}
.gallery-view{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}
.gallery-full{width:100%;height:100%;max-height:100%;object-fit:contain}
.gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px}.gallery-caption{margin:0;text-align:center;font-size:12px}
.gallery-bottom button{color:var(--blue);font-size:26px}.gallery-open{overflow:hidden}
.knowledge-content{padding:55px 0 0}
.knowledge-intro>.text-link{margin-bottom:55px}.knowledge-intro h1{font-size:clamp(49px,7vw,96px);margin-bottom:35px}
.knowledge-intro>p:last-child{font-size:19px;max-width:610px;line-height:1.8;margin:0}
.knowledge-approach{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-block:150px}
.knowledge-approach p{font-size:16px;line-height:1.9;max-width:480px}
.knowledge-heading{max-width:740px;margin-bottom:65px}.knowledge-heading>p:last-child{font-size:16px;line-height:1.9;margin:30px 0 0;max-width:630px}
.knowledge-points{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.knowledge-points article{min-width:0}.knowledge-points .eyebrow{color:var(--blue)}
.knowledge-points h3{font-size:28px;margin-bottom:20px}.knowledge-points p:last-child{font-size:14px;line-height:1.9;margin:0}
.knowledge-sources{margin-top:60px;color:var(--muted);font-size:12px;max-width:740px}.knowledge-sources summary{cursor:pointer;padding:12px 0}.knowledge-sources p{margin:14px 0}.knowledge-sources a{display:block;text-decoration:underline;padding:8px 0}
@media(prefers-reduced-motion:no-preference){
 [data-reveal].reveal-ready{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1)}
 [data-reveal].reveal-ready.is-revealed{opacity:1;transform:none}
}
@media(max-width:1000px){.header nav{gap:18px;font-size:11px}.material-section{gap:55px}.project-detail .project-scope,.knowledge-approach{gap:40px}.knowledge-points{gap:25px}}
@media(max-width:700px){
 .header nav{font-size:13px;gap:4px 24px}
 .material-section{grid-template-columns:1fr;gap:42px;padding:20px 0;min-height:0}.material-section h2{font-size:45px}.material-intro{font-size:14px;margin:24px 0}.material-principles p{font-size:26px;padding:20px 0}
 .project-detail .project-intro{margin:30px 0 35px}.project-kicker{margin-bottom:34px;align-items:flex-start}.project-kicker .eyebrow{font-size:9px;padding-top:10px}
 .project-detail .project-intro h1{font-size:clamp(37px,10vw,58px);margin-bottom:25px}.project-detail .project-description{font-size:14px;margin-bottom:26px}
 .project-detail .project-facts{gap:16px 26px;font-size:12px}.project-detail .project-facts dt,.project-detail .project-facts dd{display:block}.project-detail .project-facts dt{font-size:9px;margin-bottom:4px}
 .project-shot figcaption{font-size:10px;gap:12px}.project-shot .image-expand{right:10px;bottom:10px;width:35px;height:35px}
 .project-detail .project-scope{grid-template-columns:1fr;gap:25px;margin:80px 0}.project-detail .project-scope h2{font-size:36px}.project-detail .project-scope p{font-size:14px}
 .project-detail .project-gallery{grid-template-columns:1fr;gap:48px}.project-detail .project-gallery .project-shot:nth-child(3n){grid-column:auto}
 .project-detail .project-end,.knowledge-content .project-end{margin:100px 0 70px}.project-detail .project-end h2,.knowledge-content .project-end h2{font-size:clamp(40px,10vw,58px)}
 .project-pagination{gap:25px;padding:30px 0 50px}.project-pagination .eyebrow{font-size:8px}.project-neighbor{font-size:21px}
 .gallery-dialog{padding:12px 20px;gap:14px}.gallery-toolbar h2{font-size:13px}.gallery-close{font-size:10px}.gallery-caption{font-size:10px}.gallery-close span{margin-left:6px}
 .knowledge-content{padding-top:35px}.knowledge-intro>.text-link{margin-bottom:35px}.knowledge-intro h1{font-size:clamp(43px,11vw,65px)}.knowledge-intro>p:last-child{font-size:16px}
 .knowledge-approach{grid-template-columns:1fr;gap:28px;margin-block:100px}.knowledge-approach p{font-size:14px}.knowledge-heading{margin-bottom:45px}.knowledge-heading>p:last-child{font-size:14px}
 .knowledge-points{grid-template-columns:1fr;gap:50px}.knowledge-points h3{font-size:29px}.knowledge-points .eyebrow{margin-bottom:17px}
}

/* Reversible typography experiment: ?schrift=original restores the previous families. */
@font-face{font-family:DINish;src:url("assets/fonts/dinish-regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:DINish;src:url("assets/fonts/dinish-bold.woff2") format("woff2");font-style:normal;font-weight:600 800;font-display:swap}
:root{--font-display:Manrope,Arial,sans-serif;--font-body:Poppins,Arial,sans-serif}
@font-face{font-family:Oxanium;src:url("assets/fonts/oxanium-latin.woff2") format("woff2");font-style:normal;font-weight:200 800;font-display:swap}
html[data-typography="oxanium"]{--font-display:Oxanium,Arial,sans-serif;--font-body:Oxanium,Arial,sans-serif}
@font-face{font-family:Tomorrow;src:url("assets/fonts/tomorrow-400-latin.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Tomorrow;src:url("assets/fonts/tomorrow-500-latin.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Tomorrow;src:url("assets/fonts/tomorrow-600-latin.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Tomorrow;src:url("assets/fonts/tomorrow-700-latin.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Tomorrow;src:url("assets/fonts/tomorrow-800-latin.woff2") format("woff2");font-style:normal;font-weight:800;font-display:swap}
html[data-typography="tomorrow"]{--font-display:Tomorrow,Arial,sans-serif;--font-body:Tomorrow,Arial,sans-serif}
@font-face{font-family:Orbitron;src:url("assets/fonts/orbitron-latin.woff2") format("woff2");font-style:normal;font-weight:400 900;font-display:swap}
html[data-typography="technical"]{--font-display:Orbitron,Arial,sans-serif;--font-body:Orbitron,Arial,sans-serif}
html:is([data-typography="technical"],[data-typography="oxanium"],[data-typography="tomorrow"]) body{font-weight:500}
html:is([data-typography="technical"],[data-typography="oxanium"],[data-typography="tomorrow"]) :is(h1,h2,h3){letter-spacing:-.035em;font-weight:700}
html:is([data-typography="technical"],[data-typography="oxanium"],[data-typography="tomorrow"]) .material-benefit{font-weight:600}
.material-section.material-campaign{display:block;padding-block:35px;min-height:0}
.material-campaign .material-heading{text-align:center;max-width:1100px;margin:0 auto 45px}
.material-campaign h2{font-size:clamp(46px,6.2vw,84px);line-height:1.06;letter-spacing:-.045em}
.material-campaign .material-heading .eyebrow{margin-bottom:22px}
.gummi-illustration{margin:0 auto;width:100%;max-width:1050px}
.gummi-visual{width:100%}
.gummi-visual img{display:block;max-width:100%;width:100%;height:auto;filter:none}
.gummi-illustration figcaption{font-size:12px;line-height:1.6;text-align:center;color:var(--muted);margin:18px auto 0;max-width:670px}
.material-campaign .material-summary{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;margin-top:70px}
.material-summary h3{font-size:clamp(30px,3.3vw,46px);margin:0 0 20px}
.material-summary .material-intro{font-size:16px;margin:0 0 25px;max-width:460px}
.material-summary .material-principles>div{padding:16px 0}
.material-summary .material-principles>div:first-child{padding-top:0}
.material-summary .material-principles p{font-size:24px}
.material-summary .material-principles .material-benefit{font-size:13px}
@media(max-width:700px){
 .material-campaign .material-heading{margin-bottom:30px;text-align:left}
 html:is([data-typography="technical"],[data-typography="oxanium"],[data-typography="tomorrow"]) .legal-intro h1{font-size:clamp(44px,11vw,70px)}
 html:is([data-typography="technical"],[data-typography="tomorrow"]) .projects .project h3{hyphens:auto}
 html:is([data-typography="technical"],[data-typography="tomorrow"]) .knowledge-heading h2{font-size:clamp(28px,7.5vw,42px);hyphens:auto}
 html[data-typography="technical"] .knowledge-content .project-end h2{font-size:clamp(32px,9vw,52px);hyphens:auto}
 .material-campaign h2{font-size:clamp(38px,9.5vw,58px);hyphens:none;overflow-wrap:normal}
 .material-campaign h2 br{display:none}
 .gummi-illustration figcaption{font-size:11px;margin-top:14px}
 .material-campaign .material-summary{grid-template-columns:1fr;gap:30px;margin-top:40px}
 .material-summary h3{font-size:30px}.material-summary .material-intro{font-size:15px}
 .material-summary .material-principles p{font-size:23px}
 .material-summary .material-principles .material-benefit{font-size:13px}
}

/* Approved Oxanium rollout and compact system introduction. */
.gummi-visual{position:relative;container-type:inline-size}
.gummi-label{position:absolute;top:59%;height:15%;display:flex;align-items:center;justify-content:center;background:#fff;font-family:Oxanium,Arial,sans-serif;font-size:3.4cqw;font-weight:600;line-height:1;letter-spacing:-.025em;white-space:nowrap}
.gummi-label-closed{left:11.7%;width:21%;color:#e30613}
.gummi-label-open{left:61%;width:23.1%;color:var(--blue)}
.material-campaign .material-summary{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:40px;text-align:center}
.material-summary .material-intro{font-size:clamp(18px,2vw,23px);font-weight:600;line-height:1.5;margin:0;max-width:none}
.material-summary .text-link{font-size:13px}
@media(max-width:700px){.material-campaign .material-summary{margin-top:28px;gap:14px}.material-summary .material-intro{font-size:18px}}

/* Project selection opens detail pages directly, independent of the scroll timeline. */
.project-index a{display:flex;align-items:center;justify-content:space-between;gap:12px;line-height:1.4}
.project-index a span{color:var(--blue)}
.projects .project-copy h3 a{pointer-events:auto}

.privacy-copy{max-width:850px}.privacy-copy section{margin:0 0 52px}.privacy-copy h2{font-size:clamp(23px,4vw,30px);line-height:1.25;margin:0 0 22px}.privacy-copy p{font-size:16px;line-height:1.85;margin:0 0 20px;overflow-wrap:anywhere}.privacy-copy a{text-decoration:underline;text-underline-offset:3px}.privacy-copy strong{font-weight:700}
@media(max-width:700px){.privacy-copy p{font-size:15px}.privacy-copy section{margin-bottom:38px}}
