/* Phone-only layer. Tablet and desktop retain the approved composition. */
@media(max-width:767px){
 :root{--pad:24px}
 #journey .stage header{top:24px;right:auto}
 #journey .stage header .brand{font-size:48px}
 #journey .hero-navigation{display:none!important}
 .mobile-menu-trigger{position:absolute;right:var(--pad);top:25px;z-index:20;min-height:44px;padding:8px 0 8px 18px;color:inherit;border:0;background:none;font:inherit;font-size:15px}
 .mobile-primary{position:absolute;left:var(--pad);bottom:100px;z-index:18;border:0;border-bottom:1px solid #ffffff75;background:none;color:#fff;font:inherit;font-size:16px;min-height:44px;padding:10px 0;text-align:left}
 body.ending .mobile-primary{color:#211509;border-color:#21150970}
 #journey .chapter:not(.chapter-three){left:var(--pad);right:var(--pad);top:auto;bottom:190px}
 #journey .headline{font-size:clamp(44px,12vw,66px);line-height:1.02;letter-spacing:-.045em}
 #journey .chapter .eyebrow{margin-bottom:18px;font-size:13px;letter-spacing:.015em}
 #journey .chapter:not(.chapter-three) p{font-size:16px;line-height:1.5;max-width:30ch;margin-top:20px}
 #journey .chapter-three{top:36%;bottom:auto}
 #journey .sgi-wordmark{font-size:clamp(32px,8.5vw,52px)}
 #journey .stage footer{bottom:30px;padding-top:14px;font-size:12px}
 #journey .scroll-prompt,#journey .footer-note{display:none}
 #journey .progress{gap:10px}.track{width:58px}
 #journey .scene-playback{bottom:20px;right:var(--pad);background:none;border:0;border-radius:0;padding:10px 0;font-size:13px}
 .mobile-menu{width:calc(100% - 24px);max-width:480px;max-height:calc(100dvh - 32px);inset:auto 0 12px;margin:0 auto;padding:24px;border:1px solid #ffffff25;border-radius:22px;background:#141516;color:#eeede8;overflow:auto}
 .mobile-menu::backdrop{background:#0008;backdrop-filter:blur(6px)}
 .mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;font-size:12px;color:#aaa}
 .mobile-menu button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;min-height:44px}
 .mobile-menu-head button{font-size:14px;color:#eee}
 .mobile-menu nav{display:grid}.mobile-menu nav button{display:flex;align-items:center;justify-content:space-between;text-align:left;padding:18px 0;border-top:1px solid #ffffff20;font-size:23px;letter-spacing:-.025em}
 .mobile-menu nav button span{font-size:18px;color:var(--orange)}
 .mobile-menu p{margin:26px 0 0;color:#a5a6a2;font-size:14px;line-height:1.6}
 .mobile-menu button:focus-visible,.mobile-menu-trigger:focus-visible,.mobile-primary:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
 #cad-journey{height:230svh}.cad-stage{height:100dvh}
 #cad-journey .cad-copy{top:9%;left:var(--pad);right:var(--pad);width:auto;max-height:none;overflow:visible}
 #cad-journey .cad-copy .eyebrow{font-size:11px;letter-spacing:.07em}
 #cad-journey .cad-copy h3{font-size:clamp(26px,7.3vw,36px);line-height:1.15;max-width:20ch;margin:14px 0}
 #cad-journey .cad-copy p{display:none}
 #cad-journey .cad-film{inset:33% 0 16%}
 #cad-journey .cad-bottom{bottom:26px;padding-top:14px;font-size:12px}
 #cad-journey .cad-bottom>span{display:none}
 #cad-journey .scene-playback{bottom:16px;background:none;border:0;padding:10px 0}
 #cad-journey .cad-finale{font-size:12px;bottom:14%;padding:0 24px;line-height:1.6}
 #offerings{padding:0 var(--pad) 40px}
 #offerings .offerings-label{position:relative;top:auto;min-height:0;padding:32px 0 18px;font-size:11px}
 #offerings .section-heading{padding:12px 0 32px}
 #offerings .section-heading h2{font-size:36px;line-height:1.08}
 #offerings .section-heading p{font-size:16px;line-height:1.5;margin-top:18px}
 #offerings .offering,#offerings .offering.mobile-stack{position:relative;top:auto;min-height:0;padding-bottom:28px}
 #offerings .offering-panel{display:flex;flex-direction:column;min-height:0;border-radius:12px;transform:none!important;opacity:1!important;will-change:auto}
 #offerings .offering-image{order:0;height:280px;min-height:0;aspect-ratio:auto}
 #offerings .offering-image img{object-fit:cover;object-position:center}
 #offerings .offering:first-of-type .offering-image{height:auto;aspect-ratio:16/9}
 #offerings .offering:first-of-type .offering-image img{object-fit:contain}
 #offerings .offering-copy{order:1;display:flex;padding:22px;gap:18px}
 #offerings .offering-kicker{font-size:11px}
 #offerings .offering-copy h3{font-size:30px;line-height:1.08;margin:0 0 14px;letter-spacing:-.035em}
 #offerings .offering-copy p{font-size:15px;line-height:1.55;margin:0}
 #offerings .offering-actions{margin-top:0}#offerings .explore-more{min-height:44px;font-size:14px}
 #catalogue-index{padding:44px var(--pad)}.directory-heading h2{font-size:44px;margin:22px 0 18px}.directory-intro p{font-size:16px}
 .category-directory button{min-height:72px;padding:16px 0;gap:12px}.directory-name{font-size:20px}.directory-number{font-size:11px}.directory-foot{font-size:14px}
 #catalogue-dialog .catalogue-shell{padding:16px 20px 36px}.catalogue-toolbar{font-size:11px}
 #catalogue-dialog .catalogue-title{font-size:34px;line-height:1.08}.catalogue-intro{font-size:15px;line-height:1.5}
 #catalogue-dialog .category-grid{gap:12px}.category-tile{min-height:180px;padding:20px}.category-tile .row-description{display:none}.category-tile .row-name{font-size:27px}
 #catalogue-dialog .product-grid{grid-template-columns:1fr;gap:16px}
 #catalogue-dialog .product-grid .product-result{grid-template-columns:94px minmax(0,1fr) 16px;gap:14px;padding:14px;align-items:center;border-radius:10px}
 #catalogue-dialog .product-grid .product-result .row-media{grid-column:auto;width:94px;height:108px;padding:7px;border-radius:6px}
 #catalogue-dialog .product-grid .product-result .row-copy{padding:0}.product-grid .product-result .row-description{display:none}
 #catalogue-dialog .product-grid .product-result .row-name{font-size:20px;line-height:1.2}.product-grid .product-result .row-arrow{padding:0}
 #catalogue-dialog .product-gallery{height:34dvh;min-height:220px}.product-story .catalogue-title{margin-top:20px}.product-description{font-size:16px;line-height:1.65}
 #catalogue-dialog .search-field{font-size:22px;padding:16px 12px}
 #contact-scroll{height:auto!important}#contact{position:relative;top:auto;min-height:0;padding:24px var(--pad)}
 #contact .contact-head{padding:16px 0;font-size:12px}
 #contact>.contact-content{flex:none;padding:52px 0 36px}
 #contact .contact-content h2{font-size:clamp(38px,10.5vw,56px);line-height:1.06;margin:0 0 24px}
 #contact .contact-content p{font-size:16px;line-height:1.6;margin:0 auto 26px;max-width:30ch}
 #contact .contact-cta{min-width:0;padding:16px 22px;min-height:52px;font-size:16px}
 #contact>.contact-details{margin:0;padding:28px 0;gap:26px;border-top:1px solid #0002}
 #contact .contact-details a{font-size:20px;line-height:1.6}#contact .contact-details span{font-size:12px}
 #contact>.contact-background{opacity:.12;mask-image:linear-gradient(transparent,#000 40%,transparent);inset:0;width:100%;height:100%}
 #contact .policy-links{margin-top:8px;gap:20px;font-size:12px}#contact .contact-footer{font-size:12px;padding:18px 0}
 .rfq.account .rfq-inner{padding:22px}.rfq.account h2{font-size:34px}
 .rfq:not(.account){width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.rfq-item{gap:16px}.rfq-item h3{font-size:20px}
}
@media(max-width:767px) and (max-height:620px){
 #journey .chapter:not(.chapter-three){bottom:150px}#journey .headline{font-size:40px}#journey .chapter:not(.chapter-three) p{display:none}
 #journey .chapter .eyebrow{margin-bottom:12px}.mobile-primary{bottom:82px}
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){#cad-journey{height:auto}.cad-stage{height:auto}#cad-journey .cad-film{inset:0;height:60svh}#cad-journey .cad-copy{position:relative;inset:auto}}
