/* September 27: Figma direction, one action style, assembly motion. */
:root{--drawing-surface:#dedede;--pm-surface:#dedede;--pm-outline:#bfc4c7;--assembly-ease:cubic-bezier(.16,1,.3,1)}
/* The exported brand artwork is used as supplied. */
.header .brand{flex:none;gap:0}.header .brand img.wordmark{width:180px;height:auto;max-height:none;object-fit:contain}
.footer .brand img.full-brand{width:260px;height:auto;max-height:none;object-fit:contain}.footer .brand{display:block}
.footer{background:#f2f3f0;color:#131719;border-top:1px solid #cbd0d0}.footer a,.footer .contact-mail,.footer .footer-phone{color:#131719}.footer address,.footer-bottom{color:#62696c}.footer-bottom{border-color:#ccd0d0}
/* Light drawing grounds across cards, directions and the enlarged company scene. */
img.section-svg,.system-art,.service-art,.subsection-svg-card,.subsection-svg-icon,.start-section .input-icon,.service-card .art{background:var(--drawing-surface)!important;color:#131719}
.production-ui .subsection-svg-card{border:0}.production-ui .subsection-svg-card figcaption,.system-art figcaption,.service-art .art-label{color:#131719}
.subsection-svg-icon{width:72px;height:72px;flex-basis:72px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;padding:6px;margin-right:18px;box-sizing:border-box}
.subsection-svg-icon img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.start-section .input-icon{width:64px;height:64px;justify-content:center;padding:5px;box-sizing:border-box}
.start-section .input-list li{grid-template-columns:64px minmax(0,1fr)}
.start-section .input-list li>span:first-child{font-size:inherit}
.accordion summary:has(.subsection-svg-icon){font-weight:700;font-size:clamp(21px,1.8vw,28px)}
.subsection-svg-grid{align-items:stretch}.subsection-svg-card img{aspect-ratio:1/1;padding:24px!important}
.production-ui .service-art img.section-svg{height:clamp(480px,48vw,720px);aspect-ratio:auto;width:100%;padding:32px!important}
.service-art{border:0;border-radius:4px}.production-ui .service-art .art-label{z-index:4;font-size:12px;max-width:70%}
.system-grid{grid-template-columns:minmax(0,1.5fr) minmax(340px,.85fr);align-items:stretch;gap:24px}
.system-art{margin:0;border-radius:4px;min-height:550px;display:flex;align-items:center;position:relative}
.system-art img.section-svg{width:100%;height:100%;min-height:550px;aspect-ratio:auto;padding:15px 10px 50px!important}
.system-art figcaption{position:absolute;bottom:22px;left:24px;font-size:14px;z-index:3}
.system-board{background:#e2e6e7;align-self:stretch}.system-options{height:auto}.system-choice{min-height:160px}
.service-card .art{border-color:#ccc!important}.service-card .art img.section-svg{padding:20px!important}
.pm-art-frame.pm-art-seen>img{animation:none!important}.pm-art-frame.pm-art-seen::after{display:none!important}
.svg-assembly-overlay{position:absolute;pointer-events:none;z-index:1;box-sizing:border-box;overflow:visible}
.svg-assembly-hidden{visibility:hidden!important}
/* A single CTA component, including the mail action. */
.btn.action-btn,.production-ui .btn.action-btn,.header .btn.action-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:60px;height:60px;padding:0 22px;border:1px solid #fd5a00;border-radius:4px;background:#fd5a00;color:#fff;font:700 17px/1.2 'Vela Sans',sans-serif;letter-spacing:0;text-decoration:none;white-space:nowrap;box-sizing:border-box}
.btn.action-btn svg{flex:none;width:22px;height:22px}.btn.action-btn:hover,.production-ui .btn.action-btn:hover{background:#fd5a00;color:#fff;border-color:#fd5a00;box-shadow:none;transform:translateY(-2px)}
.btn.action-btn:focus-visible{outline:3px solid #1267fa;outline-offset:4px}
.contact-journey li{grid-template-columns:1fr}.contact-journey li>div{grid-column:1/-1}
/* Navigation floats above the video; the link rail contracts on scroll. */
.header{position:fixed;inset:0 0 auto;z-index:90;background:transparent;border:0;box-shadow:none;backdrop-filter:none;pointer-events:none}
.header::after{display:none}.header-inner{max-width:none;width:100%;padding:22px clamp(22px,3.6vw,64px);min-height:100px;box-sizing:border-box;justify-content:space-between;pointer-events:none}
.header-inner>*{pointer-events:auto}.header .brand{padding:10px 0;transition:filter .3s,opacity .3s}
.nav-shell{display:flex;gap:0;align-items:center;position:relative;isolation:isolate;border-radius:5px;background:#131719;color:white;padding:4px;box-shadow:none}
.desktop-nav{display:flex;gap:0;overflow:hidden;width:430px;opacity:1;visibility:visible;transition:width .55s var(--assembly-ease),opacity .25s,visibility .55s}
.production-ui .desktop-nav a{padding:16px 14px;color:white;font-size:15px;font-weight:600}.production-ui .desktop-nav a::after{bottom:8px;background:#fff;left:14px;width:calc(100% - 28px)}
.header .menu-toggle{order:0;display:grid;place-items:center;background:transparent;color:#fff;border:0;border-radius:3px;width:0;min-width:0;height:56px;padding:0;opacity:0;visibility:hidden;overflow:hidden;transition:width .55s var(--assembly-ease),opacity .25s}
.header .desktop-nav{order:1}.header .nav-shell>.action-btn{order:2}
.header.is-compact .desktop-nav{width:0;opacity:0;visibility:hidden}.header.is-compact .menu-toggle{width:56px;opacity:1;visibility:visible}
.header.is-menu-open .desktop-nav{width:430px;opacity:1;visibility:visible}.header.is-menu-open .menu-toggle{width:56px}
body:not(.home-page){padding-top:112px}.home-page .header:not(.is-below-hero) .wordmark{filter:invert(1)}
.header.is-below-hero .brand{background:#f2f3f0e8;padding:12px 16px;border-radius:4px;backdrop-filter:blur(10px)}
.header .mobile-nav{position:absolute;right:clamp(22px,3.6vw,64px);top:94px;width:min(440px,calc(100vw - 44px));padding:16px;background:#131719;color:#fff;border:1px solid #ffffff18;border-radius:5px;box-shadow:none;pointer-events:auto;transform-origin:top right;overflow:auto;max-height:calc(100svh - 112px)}
.header .mobile-nav[hidden]{display:none!important}.header .mobile-nav a{display:block;color:white;padding:18px 12px;font-size:24px;border-bottom:1px solid #ffffff22;line-height:1.15;text-decoration:none}
.header .mobile-nav a:last-child{border-bottom:0}.header .mobile-nav a:hover{color:#fff;background:#1267fa;border-radius:3px}
/* Full-height opening scene. The roles stay within the first screen. */
.home-page .hero-film-shell{max-width:none;width:100%;margin:0;padding:0;border-radius:0}
.home-page .hero-film{border-radius:0;height:100svh;min-height:600px;display:flex;flex-direction:column;isolation:isolate;overflow:hidden}
.home-page .hero-video,.home-page .hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-page .hero-shade{background:linear-gradient(90deg,rgba(8,14,18,.83),rgba(8,14,18,.42) 68%,rgba(8,14,18,.2)),linear-gradient(0deg,rgba(8,14,18,.55),transparent 60%)}
.home-page .hero-content{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;padding:130px clamp(24px,5vw,88px) 38px;max-width:none;min-height:0}
.home-page .hero-content h1{font-size:clamp(52px,min(7.3vw,10.5svh),116px);line-height:1.01;letter-spacing:-.065em;margin:26px 0 22px;max-width:1200px;font-weight:500}
.home-page .hero-content h1 span{color:#c8d6f0}.home-page .hero-content p{max-width:660px;font-size:clamp(18px,1.55vw,23px);line-height:1.45;margin:0 0 28px}
.home-page .hero-content .actions{margin:0;gap:28px}.home-page .hero-content .eyebrow{font-size:12px;letter-spacing:.11em}
.home-page .hero-roles{position:relative;flex:none;display:grid;grid-template-columns:repeat(4,1fr);background:#0b141b7a;border-top:1px solid #ffffff30;backdrop-filter:blur(9px);margin:0}
.home-page .hero-roles>a{padding:24px clamp(20px,3vw,52px);min-height:104px}.home-page .hero-roles small{font-size:13px}.home-page .hero-roles b{font-size:19px}
.home-page .film-control{top:auto;right:clamp(24px,3.6vw,64px);bottom:128px;z-index:5;background:#111a2099}
/* Drawings remain readable in the zoom view. */
dialog.pm-svg-dialog,.pm-svg-stage,.pm-svg-head,.pm-svg-bottom{background:var(--drawing-surface);color:#131719}
.pm-svg-head,.pm-svg-bottom{border-color:#bfc5c7}.pm-svg-kicker,.pm-svg-bottom p,.pm-svg-scale{color:#596369}
.pm-svg-close,.pm-svg-tools button{color:#131719;border-color:#a0aaaf}.pm-svg-close:hover,.pm-svg-tools button:hover:enabled{color:white}
.pm-svg-open{background:#f2f3f0ed;border-color:#b6c0c5;color:#131719}.pm-svg-open:hover{color:#fff}.pm-svg-open:focus-visible{outline-color:#1267fa}
@media(max-width:1150px){.header .desktop-nav{width:0;visibility:hidden;opacity:0}.header .menu-toggle{width:56px;visibility:visible;opacity:1}.header.is-menu-open .desktop-nav{width:0;visibility:hidden;opacity:0}.system-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr)}.home-page .hero-roles>a{padding:18px}.home-page .hero-roles b{font-size:17px}}
@media(max-width:760px){
 .header-inner{padding:16px 20px;min-height:86px}.header .brand img.wordmark{width:128px}.header .nav-shell>.action-btn{display:none}.header .menu-toggle{width:48px;height:48px}.header.is-compact .menu-toggle,.header.is-menu-open .menu-toggle{width:48px}.header .mobile-nav{right:20px;top:80px;width:calc(100vw - 40px)}
 .header.is-below-hero .brand{padding:10px}.home-page .hero-film{height:auto;min-height:100svh}.home-page .hero-content{padding:112px 24px 24px;min-height:calc(100svh - 188px);box-sizing:border-box}.home-page .hero-content h1{font-size:clamp(40px,8.8vw,67px);margin:26px 0 24px;letter-spacing:-.052em}.home-page .hero-content p{font-size:18px;max-width:480px}.home-page .hero-content .actions{align-items:flex-start;gap:22px}.home-page .hero-roles{grid-template-columns:repeat(2,1fr)}.home-page .hero-roles>a{min-height:94px;padding:16px 20px}.home-page .hero-roles small{font-size:11px}.home-page .hero-roles b{font-size:16px}.home-page .hero-roles .role-arrow{display:none}.home-page .film-control{bottom:206px;right:20px;padding:8px;min-height:40px}.home-page .film-control span{display:none}
 .system-grid{grid-template-columns:1fr}.system-art{min-height:380px}.system-art img.section-svg{min-height:380px;height:440px;padding:15px 4px 45px!important}.system-choice{min-height:130px}.production-ui .service-art img.section-svg{height:440px;padding:26px 4px!important}.production-ui .service-art .art-label{max-width:60%;font-size:10px}
 .btn.action-btn,.production-ui .btn.action-btn{font-size:16px;min-height:60px;height:60px;padding:0 20px}.subsection-svg-icon{width:62px;height:62px;flex-basis:62px;margin-right:12px}.start-section .input-list li{grid-template-columns:64px minmax(0,1fr);gap:16px}.footer .brand img.full-brand{width:230px}.footer-top{gap:40px}
}
@media(prefers-reduced-motion:reduce){.header *{transition:none!important}.svg-assembly-overlay{display:none!important}.svg-assembly-hidden{visibility:visible!important}}
html[data-reduced-motion="true"] .header *{transition:none!important}
.assembly-replay{position:absolute;z-index:4;top:16px;left:16px;border:1px solid #b6c0c5;background:#f2f3f0ed;color:#131719;border-radius:4px;padding:10px 12px;min-height:44px;font:500 12px/1.2 'Vela Sans',sans-serif;cursor:pointer}.assembly-replay:hover{background:#1267fa;border-color:#1267fa;color:white}.assembly-replay:focus-visible{outline:3px solid #1267fa;outline-offset:3px}
.service-art .assembly-replay{top:auto;bottom:16px}.subsection-svg-card .assembly-replay{top:auto;bottom:12px;left:auto;right:12px}.subsection-svg-card figcaption{padding-right:150px}
@media(max-width:600px){.pm-svg-open span{display:none}.pm-svg-open{padding:10px}.subsection-svg-card figcaption{padding-right:22px;padding-bottom:70px}.assembly-replay{font-size:11px}.system-art figcaption{font-size:12px}}
@media(prefers-reduced-motion:reduce){.assembly-replay{display:none}}html[data-reduced-motion="true"] .assembly-replay{display:none}
