/* Shared foundation for every Nordworks company page. */
@font-face{font-family:Geist;src:url('assets/nordworks-2026/Geist-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Geist;src:url('assets/nordworks-2026/Geist-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Geist;src:url('assets/nordworks-2026/Geist-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
:root{font-family:Geist,Arial,sans-serif;font-synthesis:none;color-scheme:light;background:#F3F3F0;color:#202126;--paper:#F3F3F0;--ink:#202126;--yellow:#FEF480;--muted:#505B5F;--line:#20212628}
*{box-sizing:border-box}body{margin:0}h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0}h1,h2,h3,h4{font-weight:500}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%;height:auto}p{line-height:1.8}a,button{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}main:focus{outline:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid #736B26;outline-offset:5px}section[id]{scroll-margin-top:30px}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--yellow);color:var(--ink);padding:14px 20px}.skip:focus{top:15px}.brand-logo{height:auto}.product-logo{display:inline-flex;align-items:center;gap:9px;font-size:23px;font-weight:600;letter-spacing:-.04em;color:#15313A}.product-logo img{width:34px}

/* A deliberately simple homepage: one introduction, services, own platform, contact. */
.page-index{background:#F3F3F0;color:#202126;color-scheme:light}.page-index main{background:#F3F3F0;color:#202126}.simple-hero{min-height:100vh;min-height:100svh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:165px 30px 84px;text-align:center}.simple-hero-copy{width:100%;max-width:830px}.simple-eyebrow{font-size:11px;letter-spacing:.12em;margin-bottom:27px;color:#545C5E}.simple-hero h1{font-size:clamp(48px,5.6vw,76px);font-weight:500;line-height:1.09;letter-spacing:-.045em;margin:0}.simple-hero-copy>p:not(.simple-eyebrow){font-size:18px;line-height:1.7;margin:28px auto 0;max-width:665px;color:#4D565A}.simple-button{display:block;width:fit-content;margin:31px auto 0;padding:15px 42px;background:#FEF480;color:#202126;font-size:14px;line-height:1.5;border:1px solid #FEF480;border-radius:3px}.simple-button:hover{background:#F2E76F;border-color:#F2E76F}.simple-link{display:inline-block;width:fit-content;font-size:14px;line-height:1.6;border-bottom:1px solid #626B6B;padding-bottom:3px;margin-top:25px;color:#202126}.simple-link:hover{border-color:#202126;color:#566159}.simple-wrap{width:calc(100% - 144px);max-width:1120px;margin-inline:auto}.simple-services{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:73px 0 105px;border-top:1px solid #20212628}.simple-services h2,.simple-platform h2,.simple-contact h2{font-size:35px;line-height:1.2;letter-spacing:-.025em;font-weight:500;margin-bottom:24px}.simple-services p,.simple-platform p{font-size:16px;line-height:1.85;color:#505B5F}.simple-services p+p{margin-top:23px}.simple-services ul{list-style:none;padding:0;margin:24px 0 0}.simple-services li{position:relative;padding:7px 0 7px 21px;font-size:15px;line-height:1.6}.simple-services li:before{content:"";position:absolute;left:0;top:17px;width:5px;height:5px;background:#202126}.simple-platform{background:#E8EBE5;padding-block:75px}.simple-platform-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.simple-platform .product-logo{font-size:39px;gap:13px;letter-spacing:-.04em}.simple-platform .product-logo img{width:58px}.simple-platform .platform-descriptor{font-size:10px;letter-spacing:.08em;margin:20px 0 0 7px;color:#59635F}.simple-platform h2{margin-bottom:23px}.simple-contact{text-align:center;padding-block:100px 98px}.simple-contact h2{margin-bottom:19px}.simple-contact p{font-size:16px;color:#556064}.simple-email{display:block;width:fit-content;margin:24px auto 0;font-size:29px;letter-spacing:-.025em;border-bottom:1px solid #A4AAA3;padding-bottom:6px}.simple-email:hover{color:#52605C}.simple-contact>span{display:block;margin-top:27px;font-size:13px;color:#626D6D}.simple-footer{width:calc(100% - 144px);max-width:1220px;margin:auto;border-top:1px solid #2021262A;padding-block:27px;display:flex;gap:30px;align-items:center;justify-content:space-between;font-size:12px;color:#636C6F}.simple-footer nav{display:flex;gap:26px}.simple-footer a:hover{color:#202126;text-decoration:none}.page-index a:focus-visible{outline:2px solid #736B26;outline-offset:5px}.page-index .simple-button:focus-visible{outline-color:#202126}.page-index .skip{background:#FEF480;color:#202126}
@media(max-width:1000px){.simple-wrap,.simple-footer{width:calc(100% - 88px)}.simple-services,.simple-platform-grid{gap:60px}.simple-services h2,.simple-platform h2,.simple-contact h2{font-size:31px}.simple-hero-copy>p:not(.simple-eyebrow){font-size:17px}}
@media(max-width:700px){.simple-wrap,.simple-footer{width:calc(100% - 44px)}.simple-hero{padding:145px 24px 68px}.simple-eyebrow{font-size:10px;margin-bottom:25px}.simple-hero h1{font-size:clamp(43px,8.5vw,58px);line-height:1.1}.simple-hero-copy>p:not(.simple-eyebrow){font-size:16px;max-width:470px;line-height:1.8;margin-top:26px}.simple-hero-copy>p br{display:none}.simple-button{font-size:14px;padding:14px 36px;margin-top:27px}.simple-link{font-size:13px}.simple-services{grid-template-columns:1fr;gap:51px;padding:55px 0 65px}.simple-services h2,.simple-platform h2,.simple-contact h2{font-size:30px;margin-bottom:22px}.simple-services p,.simple-platform p{font-size:15px;line-height:1.85}.simple-services li{font-size:14px}.simple-services ul{margin-top:22px}.simple-services li:before{top:16px}.simple-platform{padding-block:55px}.simple-platform-grid{grid-template-columns:1fr;gap:38px}.simple-platform .product-logo{font-size:31px;gap:10px}.simple-platform .product-logo img{width:47px}.simple-platform .platform-descriptor{font-size:9px;margin-top:14px}.simple-contact{padding-block:67px 65px}.simple-contact p{font-size:15px}.simple-email{font-size:25px}.simple-footer{flex-direction:column;align-items:flex-start;gap:18px;font-size:11px;padding-block:23px}.simple-footer nav{gap:25px}}
@media(max-width:460px){.simple-hero{padding-top:122px}.simple-hero h1{font-size:45px;letter-spacing:-.04em}.simple-hero-copy>p:not(.simple-eyebrow){font-size:15px;max-width:340px}}
@media(max-width:360px){.simple-wrap,.simple-footer{width:calc(100% - 36px)}.simple-hero{padding:154px 18px 55px}.simple-hero h1{font-size:39px}.simple-hero-copy>p:not(.simple-eyebrow){font-size:14px}.simple-email{font-size:23px}.simple-services h2,.simple-platform h2,.simple-contact h2{font-size:28px}}
@media(max-height:600px) and (min-width:701px){.simple-hero{padding-block:130px 55px}.simple-hero h1{font-size:49px}.simple-eyebrow{margin-bottom:17px}.simple-hero-copy>p:not(.simple-eyebrow){margin-top:20px;font-size:16px}.simple-button{margin-top:22px}.simple-hero-copy>.simple-link{margin-top:17px}}

/* Use the supplied Wellplanner lockup at its original proportions. */
.product-logo{max-width:100%;gap:0;line-height:0}
.product-logo .wellplanner-lockup{width:230px;height:auto;max-width:100%}
.simple-platform .product-logo .wellplanner-lockup{width:330px}
@media(max-width:700px){.simple-platform .product-logo .wellplanner-lockup{width:285px}}
/* Consistent navigation, including visible links on small screens. */
.simple-footer{margin-top:0;align-items:baseline;flex-wrap:wrap;font-size:12px;line-height:1.6}
.simple-footer nav{flex-wrap:wrap;gap:14px 23px}
.simple-footer>span{white-space:nowrap}
/* Inner pages follow the same type, spacing, colour and quiet structure. */
.page-intro{padding-block:110px 84px;text-align:center;max-width:800px}
.eyebrow{font-size:11px;letter-spacing:.1em;line-height:1.6;color:#545C5E;margin-bottom:25px}
.page-intro h1{font-size:clamp(40px,4.6vw,62px);line-height:1.12;letter-spacing:-.04em;text-wrap:balance}
.page-intro>p:last-child{max-width:680px;margin:26px auto 0;color:var(--muted);font-size:18px;line-height:1.8}
.content-row{display:grid;grid-template-columns:1fr 1.3fr;gap:90px;padding-block:64px;border-top:1px solid var(--line)}
.content-row>*,.simple-platform-grid>*,.demo-panel>*,.contact-grid>*,.brand-motion>*{min-width:0}
.content-row h2,.closing-contact h2,.workflow-section>h2,.palette-section h2,.brand-motion h2{font-size:32px;line-height:1.25;letter-spacing:-.025em}
.prose{font-size:16px;line-height:1.8;color:var(--muted)}
.prose p+p,.prose ul+p{margin-top:22px}.prose ul{margin:24px 0 0;padding-left:20px}.prose li{padding:5px 0}.prose li::marker{color:var(--ink)}
.action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 28px;border:1px solid transparent;border-radius:3px;font-size:14px;font-weight:400;line-height:1.6;max-width:100%;text-align:center;color:var(--ink)}
.action.primary{background:var(--yellow);border-color:var(--yellow)}.action.primary:hover{background:#F2E76F;border-color:#F2E76F}.action.secondary{padding:4px 0;min-height:36px;border:0;border-bottom:1px solid #626B6B;border-radius:0;background:none}.action.secondary:hover{color:#566159;border-color:var(--ink)}.action:disabled{cursor:wait;opacity:.6}
.prose .action{margin-top:26px}.page-actions{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:-44px;padding-bottom:70px}
.closing-contact{text-align:center;padding-block:75px 85px;border-top:1px solid var(--line)}.closing-contact p{margin:20px auto 0;color:var(--muted);max-width:570px;font-size:16px}.closing-contact .action{margin-top:26px}
.text-list{margin-top:30px}.text-list>div{padding-block:20px;border-top:1px solid var(--line)}.text-list dt{font-weight:500;color:var(--ink);margin-bottom:8px}.text-list dd{font-size:15px;line-height:1.85}
.reading{max-width:740px;padding:0 0 90px}.reading h2{font-size:26px;color:var(--ink);letter-spacing:-.02em;margin-bottom:20px;line-height:1.3}.reading p+h2{margin-top:45px}.reading>p{margin-top:25px;font-size:16px;color:var(--muted)}.reading p a,.form-note a{text-decoration:underline;text-underline-offset:4px}.page-login .reading,.page-404 .reading{text-align:center;min-height:230px}
/* Contact: readable labels and the existing enquiry form. */
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding-block:15px 90px}.contact-email{font-size:22px;letter-spacing:-.025em;text-decoration:underline;text-underline-offset:7px}.contact-email span{font-size:17px}.contact-grid aside>p{font-size:14px;color:var(--muted);margin-top:22px}.contact-context{margin-top:52px;max-width:290px}.contact-context h2{font-size:23px;line-height:1.4;letter-spacing:-.025em}.contact-context p{margin-top:16px;font-size:15px;color:var(--muted)}
#contact-form{display:flex;flex-direction:column;gap:23px}#contact-form label{display:flex;flex-direction:column;gap:9px;font-size:14px;line-height:1.6}#contact-form .optional{display:contents;color:var(--muted)}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-pair>label{min-width:0}input,select,textarea{width:100%;min-width:0;border:1px solid #A7AFAD;border-radius:3px;background:#FFFFFF;color:var(--ink);padding:13px 14px;font-size:16px;line-height:1.5}textarea{resize:vertical;min-height:154px}textarea::placeholder{color:#677173}#contact-form .honeypot{display:none}#contact-form .action{align-self:flex-start;gap:22px}.form-note{color:var(--muted);font-size:12px;line-height:1.8}#form-status{font-size:14px;line-height:1.7}#form-status:empty{display:none}#form-status[data-state="error"]{color:#922F29}#form-status[data-state="success"]{color:#275B3C}
/* The platform illustration remains clearly labelled and keyboard accessible. */
.workflow-section{padding-block:55px 70px;border-top:1px solid var(--line)}.workflow-section>p{margin:20px 0 32px;font-size:15px;color:var(--muted)}.product-demo{background:#FFFFFF;border:1px solid #D0D5CE;border-radius:3px;overflow:hidden}.demo-top{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;gap:22px;border-bottom:1px solid #D9DED7}.demo-label{font-size:9px;line-height:1.7;letter-spacing:.05em;color:#586466;text-align:right}.demo-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #D9DED7;background:#EEF0E9;padding-inline:20px}.demo-tabs button{min-width:0;border:0;border-bottom:2px solid transparent;background:none;color:#505B5F;padding:20px 10px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:13px;line-height:1.5}.demo-tabs button>span{font-size:10px}.demo-tabs button[aria-selected="true"]{border-color:#202126;color:#202126}.demo-tabs button:hover{background:#E4E8DD}.demo-tabs button:focus-visible{outline-offset:-5px}.demo-panel{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px;padding:45px;min-height:375px}.demo-copy .eyebrow{font-size:10px;margin-bottom:18px}.demo-copy h3{font-size:27px;line-height:1.25;letter-spacing:-.025em}.demo-copy>p{font-size:14px;color:var(--muted);margin-top:18px}.demo-steps{display:flex;flex-direction:column;gap:10px;margin-top:25px;font-size:12px;color:var(--muted)}.demo-steps b{font-weight:400;margin-right:10px;color:#465B35}.job-card{border:1px solid #D2D8CF;border-radius:3px;align-self:center}.job-card-top{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #E0E4DB;padding:17px 21px;font-size:9px;color:#596762;line-height:1.5}.job-card h4{font-size:19px;letter-spacing:-.02em;padding:23px 21px 12px}.job-row{display:flex;justify-content:space-between;gap:18px;margin-inline:21px;padding:14px 0;border-bottom:1px solid #E0E4DB;font-size:12px;line-height:1.6}.job-row span{color:var(--muted)}.job-row b{font-weight:400;text-align:right}.job-record{display:flex;align-items:center;gap:8px;margin:21px;padding:12px;background:#EEF1E7;color:#48563B;font-size:11px;line-height:1.6}.record-dot{width:5px;height:5px;flex-shrink:0;border-radius:50%;background:#61774E}
/* Brand previews show the approved colour variants within the same light page. */
.brand-examples{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-bottom:65px}.brand-examples figure{display:flex;flex-direction:column;justify-content:space-between;align-items:center;min-height:260px;border:1px solid var(--line);padding:53px 28px 27px}.brand-examples .brand-logo{width:300px;margin:0}.brand-examples figcaption{font-size:12px;margin-top:40px;line-height:1.6}.brand-dark{background:#202126;color:#FFFFFF}.brand-light{background:#F3F3F0;color:#202126}.palette-section{padding-block:60px;border-top:1px solid var(--line)}.swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:30px;gap:18px}.swatches>div{min-height:140px;display:flex;flex-direction:column;justify-content:space-between;background:var(--swatch);color:var(--swatch-text);padding:23px;border:1px solid var(--line);font-size:15px}.swatches code{font-size:13px;font-family:Geist,Arial,sans-serif}.brand-motion{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;gap:60px;padding-block:65px 90px;border-top:1px solid var(--line)}.brand-motion p{font-size:16px;margin-top:22px;color:var(--muted)}.brand-motion .action{margin-top:26px}.brand-motion video{width:100%;background:#202126;border-radius:3px}
@media(max-width:1000px){.content-row{gap:60px}.contact-grid{gap:50px}.contact-email{font-size:19px}.demo-panel{gap:35px;padding:30px}.simple-footer{gap:20px}.brand-motion{gap:40px}}
@media(max-width:700px){.page-intro{padding-block:75px 60px}.page-intro h1{font-size:40px}.page-intro>p:last-child{font-size:16px;margin-top:23px}.eyebrow{font-size:10px;margin-bottom:22px}.content-row{grid-template-columns:1fr;gap:24px;padding-block:44px}.content-row h2,.closing-contact h2,.workflow-section>h2,.palette-section h2,.brand-motion h2{font-size:29px}.prose{font-size:15px}.page-actions{margin-top:-25px;padding-bottom:45px;gap:18px 25px}.closing-contact{padding-block:55px 65px}.closing-contact p{font-size:15px}.reading{padding-bottom:65px}.reading>p{font-size:15px}.reading h2{font-size:25px}.contact-grid{grid-template-columns:1fr;gap:38px;padding-block:0 65px}.contact-email{font-size:23px}.contact-context{margin-top:28px;max-width:450px}.contact-context h2{font-size:22px}.contact-context p{margin-top:12px}.contact-grid aside>p{margin-top:17px}.form-pair{gap:16px}.workflow-section{padding-block:40px 50px}.demo-top{padding:22px;flex-wrap:wrap;gap:12px}.demo-label{text-align:left;font-size:8px}.demo-tabs{padding-inline:8px}.demo-tabs button{padding:16px 5px;gap:8px;font-size:12px;flex-direction:column}.demo-panel{grid-template-columns:1fr;gap:28px;padding:25px}.demo-copy h3{font-size:25px}.job-card{width:100%}.brand-examples{gap:18px;padding-bottom:45px}.brand-examples figure{min-height:200px;padding:30px 20px 20px}.brand-examples figcaption{font-size:11px;margin-top:28px}.palette-section{padding-block:45px}.swatches{grid-template-columns:1fr 1fr;gap:14px}.brand-motion{grid-template-columns:1fr;gap:30px;padding-block:45px 65px}.simple-footer{gap:18px;align-items:flex-start}}
@media(max-width:560px){.simple-hero{padding-top:172px}.page-intro{padding-top:60px}.simple-footer nav{gap:13px 20px}.brand-examples{grid-template-columns:1fr}.brand-examples figure{min-height:240px;padding:48px 25px 23px}.brand-examples .brand-logo{width:280px}}
@media(max-width:360px){.simple-hero{padding-top:157px}.page-intro h1{font-size:34px}.page-intro>p:last-child{font-size:15px}.content-row h2,.closing-contact h2{font-size:27px}.form-pair{grid-template-columns:1fr;gap:23px}.contact-email{font-size:21px}.demo-panel{padding:20px}.demo-tabs button{font-size:11px}.job-row{font-size:11px;gap:12px;margin-inline:15px}.job-card h4{padding-inline:15px}.job-record{margin:15px;font-size:10px}.swatches>div{padding:20px;font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}
/* Full-screen industry opening, followed by the shared light sections. */.page-index .visual-hero a:focus-visible{outline-color:#FEF480}
.visual-hero{position:relative;isolation:isolate;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:190px 30px 105px;background:#18242C;color:#FFFFFF;text-align:center;overflow:hidden}
.visual-hero-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 55%;filter:saturate(.65)}
.visual-hero-video{filter:none;object-position:center}
.hero-film-toggle{position:absolute;right:24px;bottom:29px;min-height:44px;padding:10px 14px;border:1px solid #FFFFFF55;border-radius:3px;background:#18242C99;color:#FFFFFF;font-size:11px}
.hero-film-toggle:hover{background:#18242CCC}
.hero-film-toggle:focus-visible{outline-color:#FEF480}
@media(max-width:700px){.visual-hero .hero-scroll{left:24px;transform:none}.hero-film-toggle{right:20px;bottom:22px}}
.visual-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,19,24,.62) 0%,rgba(11,19,24,.17) 28%,rgba(11,19,24,.48) 49%,rgba(11,19,24,.86) 83%,rgba(11,19,24,.95) 100%)}
.visual-hero-copy{width:100%;max-width:1040px}
.visual-hero h1{font-size:clamp(46px,4.7vw,68px);font-weight:500;line-height:1.12;letter-spacing:-.04em;margin:0;text-wrap:balance}
.visual-hero-copy>p{font-size:17px;line-height:1.8;color:#E2E7E8;max-width:690px;margin:25px auto 0;text-wrap:pretty}
.visual-hero .simple-button{font-size:14px;margin-top:29px;padding:14px 34px}
.hero-scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;padding:10px 4px;font-size:11px;line-height:1.6;color:#D3DBDD;white-space:nowrap}
.hero-scroll span{font-size:17px}.hero-scroll:hover{color:#FFFFFF}
.visual-hero+.simple-services{border-top:0;padding-top:90px}
@media(min-width:1700px){.visual-hero{padding-bottom:125px}.visual-hero h1{font-size:76px}.visual-hero-copy>p{font-size:19px;max-width:740px}}
@media(max-width:1000px){.visual-hero{padding-bottom:100px}.visual-hero h1{font-size:55px}.visual-hero-copy>p{font-size:16px;max-width:650px}}
@media(max-width:700px){.visual-hero{padding:190px 24px 96px}.visual-hero h1{font-size:clamp(37px,6.7vw,47px);letter-spacing:-.035em}.visual-hero-copy>p{font-size:15px;line-height:1.8;max-width:465px;margin-top:22px}.visual-hero .simple-button{margin-top:26px}.visual-hero-image{object-position:45% 50%}.hero-scroll{bottom:24px;font-size:10px}.visual-hero+.simple-services{padding-top:55px}}
@media(max-width:460px){.visual-hero{padding:190px 22px 94px}.visual-hero h1{font-size:37px;line-height:1.15}.visual-hero-copy>p{font-size:14px;max-width:345px}.visual-hero .simple-button{padding:13px 30px}}
@media(max-width:360px){.visual-hero{padding-inline:18px}.visual-hero h1{font-size:32px}.visual-hero-copy>p{font-size:14px}.hero-scroll{font-size:10px}}
@media(max-height:600px) and (min-width:701px){.visual-hero{padding:135px 28px 85px}.visual-hero h1{font-size:45px}.visual-hero-copy>p{font-size:15px;margin-top:18px}.visual-hero .simple-button{margin-top:22px}.hero-scroll{bottom:18px}}

/* Contact: introduction and direct email beside one clearly grouped form. */
.contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:80px;align-items:start;padding-block:80px 100px}
.contact-layout>*{min-width:0}
.contact-introduction{padding-top:12px}
.contact-introduction .eyebrow{margin-bottom:26px}
.contact-introduction h1{font-size:clamp(40px,4.4vw,60px);line-height:1.12;letter-spacing:-.04em;text-wrap:balance;max-width:440px}
.contact-lead{font-size:17px;line-height:1.8;color:var(--muted);margin-top:26px;max-width:390px}
.contact-direct{border-top:1px solid var(--line);margin-top:44px;padding-top:27px}
.contact-direct h2{font-size:14px;font-weight:400;color:var(--muted);margin-bottom:14px}
.contact-direct .contact-email{display:inline-flex;align-items:center;gap:24px;max-width:100%;font-size:clamp(21px,2.1vw,27px);line-height:1.5;text-decoration:none;border-bottom:1px solid #20212655;padding-bottom:5px}
.contact-direct .contact-email:hover{border-color:var(--ink)}
.contact-direct>p{font-size:13px;color:var(--muted);margin-top:21px}
.contact-introduction .contact-context{margin-top:40px;max-width:365px}
.contact-introduction .contact-context h2{font-size:17px;letter-spacing:-.01em;line-height:1.5}
.contact-introduction .contact-context p{font-size:14px;line-height:1.8;margin-top:10px}
.contact-form-panel{background:#FFFFFF;border:1px solid var(--line);border-radius:4px;padding:34px}
.contact-form-heading{margin-bottom:28px}
.contact-form-heading h2{font-size:26px;line-height:1.3;letter-spacing:-.025em}
.contact-form-heading p{font-size:14px;color:var(--muted);margin-top:8px}
.contact-form-panel #contact-form{gap:20px}
.contact-form-panel #contact-form label{font-size:13px;gap:8px}
.contact-form-panel input,.contact-form-panel select,.contact-form-panel textarea{background:#FAFAF8;border-color:#C6CBC6;padding:12px;transition:border-color .15s,background .15s}
.contact-form-panel input:hover,.contact-form-panel select:hover,.contact-form-panel textarea:hover{border-color:#838C87}
.contact-form-panel input:focus,.contact-form-panel select:focus,.contact-form-panel textarea:focus{background:#FFFFFF;border-color:#736B26;outline:2px solid #736B26;outline-offset:2px}
.contact-form-panel textarea{min-height:135px}
.contact-form-panel .form-pair{gap:16px}
.contact-form-footer{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:4px}
.contact-form-panel #contact-form .action{min-width:180px;justify-content:space-between}
.contact-form-footer .form-note{font-size:11px;line-height:1.7;max-width:355px}
.contact-form-panel #form-status:not(:empty){padding:13px 15px;background:var(--paper);border-left:2px solid currentColor}
@media(max-width:1000px){.contact-layout{gap:40px;padding-block:65px 80px}.contact-form-panel{padding:26px}.contact-form-panel .form-pair{grid-template-columns:1fr}.contact-introduction h1{font-size:46px}}
@media(max-width:700px){.contact-layout{grid-template-columns:1fr;gap:36px;padding-block:54px 65px}.contact-introduction{padding-top:0}.contact-introduction h1{font-size:43px;max-width:420px}.contact-lead{font-size:16px;max-width:460px;margin-top:22px}.contact-direct{margin-top:28px;padding-top:22px}.contact-direct .contact-email{font-size:25px}.contact-introduction .contact-context{margin-top:25px;max-width:460px}.contact-form-panel{padding:26px}.contact-form-panel .form-pair{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.contact-introduction h1{font-size:38px}.contact-form-panel{padding:22px 18px}.contact-form-panel .form-pair{grid-template-columns:1fr;gap:20px}.contact-form-heading h2{font-size:24px}.contact-direct .contact-email{font-size:23px;gap:18px}}

/* One header geometry for every company page, including the video overlay. */
.simple-header{position:relative;top:0;left:0;right:0;z-index:10;width:calc(100% - 144px);max-width:1220px;margin-inline:auto;padding-top:27px;display:flex;align-items:center;justify-content:space-between;gap:35px}
.simple-header .brand-logo{width:209px;height:auto;margin-left:-7px}
.simple-header nav{display:flex;align-items:center;gap:37px;font-size:15px;line-height:1.5}
.simple-header nav a{padding:10px 0;border:0;text-decoration:none;white-space:nowrap;color:#505B5F}
.simple-header nav a:hover{color:#202126}
.simple-header nav a[aria-current]{color:#202126;font-weight:500}
.page-index .simple-header{position:absolute;color:#FFFFFF}
.page-index .simple-header nav a{color:#DFE4E5}
.page-index .simple-header nav a:hover{color:#FFFFFF}
.page-index .simple-header a:focus-visible{outline-color:#FEF480}
@media(max-width:1000px){.simple-header{width:calc(100% - 88px)}.simple-header .brand-logo{width:202px}.simple-header nav{gap:25px;font-size:14px}}
@media(max-width:700px){.simple-header{width:calc(100% - 44px);gap:24px;flex-wrap:wrap}.simple-header .brand-logo{width:180px}.simple-header nav{gap:20px;font-size:13px}}
@media(max-width:560px){.simple-header{justify-content:center;gap:14px;padding-top:26px}.simple-header>a{flex-basis:100%;display:flex;justify-content:center}.simple-header .brand-logo{margin:0}.simple-header nav{gap:24px}}
@media(max-width:360px){.simple-header{width:calc(100% - 36px)}.simple-header .brand-logo{width:166px}.simple-header nav{gap:18px;font-size:12px}}
@media(max-height:600px) and (min-width:701px){.simple-header{padding-top:18px}}

/* Native modal navigation, enhanced only when dialog support is available. */
.menu-open,.menu-close{align-items:center;justify-content:center;gap:10px;min-width:44px;min-height:44px;padding:10px 0 10px 10px;border:0;background:none;color:inherit;font-size:13px;line-height:1.5}
.menu-open{display:none}
.menu-close{display:inline-flex}
.menu-open svg,.menu-close svg{flex-shrink:0}
.mobile-menu{position:fixed;inset:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;border:0;padding:26px 22px max(30px,env(safe-area-inset-bottom));background:var(--ink);color:#FFFFFF;color-scheme:dark;overflow:auto;overscroll-behavior:contain}
.mobile-menu:not([open]){display:none}
.mobile-menu[open]{display:flex;flex-direction:column}
.mobile-menu::backdrop{background:var(--ink)}
.mobile-menu a:focus-visible,.mobile-menu button:focus-visible{outline-color:var(--yellow);outline-offset:5px}
.mobile-menu-top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0}
.mobile-menu-top .brand-logo{width:180px;margin-left:-7px}
.mobile-menu-links{display:flex;flex-direction:column;gap:4px;padding-block:48px;flex:1;justify-content:center}
.mobile-menu-links a{display:block;width:fit-content;max-width:100%;padding-block:9px;font-size:clamp(36px,8vw,56px);line-height:1.2;letter-spacing:-.035em}
.mobile-menu-links a:hover,.mobile-menu-links a[aria-current]{color:var(--yellow)}
.mobile-menu-footer{border-top:1px solid #FFFFFF30;padding-top:23px;flex-shrink:0}
.mobile-menu-footer>a{display:inline-flex;align-items:center;gap:26px;min-height:44px;font-size:18px;line-height:1.5}
.mobile-menu-footer>a:hover{color:var(--yellow)}
.mobile-menu-footer p{font-size:12px;color:#B9BEBD;margin-top:8px}
html.mobile-menu-open,html.mobile-menu-open body{overflow:hidden}
@media(max-width:700px){.simple-header.has-mobile-menu{justify-content:space-between;flex-wrap:nowrap;gap:20px;padding-top:26px}.simple-header.has-mobile-menu>a{display:block;flex-basis:auto}.simple-header.has-mobile-menu .brand-logo{margin-left:-7px}.simple-header.has-mobile-menu>nav{display:none}.simple-header.has-mobile-menu .menu-open{display:inline-flex}}
@media(max-width:360px){.mobile-menu{padding-inline:18px}.mobile-menu-top .brand-logo{width:166px}.menu-open,.menu-close{gap:7px;font-size:12px}}
@media(max-height:600px){.mobile-menu-links{padding-block:24px;gap:0}.mobile-menu-links a{font-size:34px;padding-block:6px}}

/* Individual service links remain visible in the mobile menu. */
.mobile-menu-links{flex-shrink:0;padding-block:32px}
.mobile-service-links{display:flex;flex-direction:column;border-left:1px solid #FFFFFF35;margin:5px 0 16px 3px;padding-left:19px}
.mobile-menu-links .mobile-service-links a{font-size:17px;line-height:1.5;letter-spacing:-.01em;min-height:44px;padding-block:10px;color:#CFD3D2}
.mobile-menu-links .mobile-service-links a:hover,.mobile-menu-links .mobile-service-links a[aria-current]{color:var(--yellow)}
@media(max-height:600px){.mobile-menu-links{padding-block:20px}}

/* Service navigation: descriptive rows, quiet borders and a yellow overview link. */
.simple-header>nav{position:relative}
.service-menu summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 0;list-style:none;cursor:pointer;color:#505B5F}
.service-menu summary::-webkit-details-marker{display:none}
.service-menu summary:hover,.service-menu summary.is-current{color:var(--ink)}
.service-menu summary.is-current{font-weight:500}
.service-menu summary:focus-visible{outline:2px solid #736B26;outline-offset:5px}
.service-menu summary svg{transition:transform .18s}
.service-menu[open] summary svg{transform:rotate(180deg)}
.service-menu-panel{position:absolute;right:0;top:calc(100% + 14px);width:460px;max-width:calc(100vw - 44px);max-height:calc(100dvh - 125px);overflow:auto;overscroll-behavior:contain;background:#FAFAF7;color:var(--ink);border:1px solid #20212620;border-radius:6px;box-shadow:0 20px 60px #151B2424,0 3px 10px #151B240A}
.service-menu-label{padding:23px 26px 17px;font-size:10px;line-height:1.5;letter-spacing:.1em;color:#636C69}
.service-menu-items{padding:0 12px 12px}
.simple-header .service-menu-panel .service-menu-item{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:20px;padding:19px 14px;white-space:normal;color:var(--ink);border-radius:3px;transition:background .16s}
.simple-header .service-menu-panel .service-menu-item+.service-menu-item{border-top:1px solid #20212614}
.service-menu-item strong{display:block;font-size:18px;line-height:1.4;font-weight:500;letter-spacing:-.02em}
.service-menu-description{display:block;margin-top:5px;font-size:13px;line-height:1.6;color:#58635F;max-width:310px}
.service-menu-arrow{display:grid;place-items:center;width:32px;height:32px;font-size:22px;line-height:1;border-radius:50%;transition:background .16s}
.simple-header .service-menu-panel .service-menu-item:hover,.simple-header .service-menu-panel .service-menu-item[aria-current]{background:#EDEFE8;color:var(--ink)}
.service-menu-item:hover .service-menu-arrow,.service-menu-item[aria-current] .service-menu-arrow{background:var(--yellow)}
.simple-header .service-menu-panel .service-menu-all{display:flex;justify-content:space-between;align-items:center;min-height:58px;padding:16px 26px;gap:20px;background:var(--yellow);color:var(--ink);font-size:14px;line-height:1.5}
.simple-header .service-menu-panel .service-menu-all:hover{background:#F2E76F;color:var(--ink)}
.service-menu-all>span{font-size:23px;line-height:1}
.simple-header .service-menu-panel a:focus-visible{outline:2px solid #736B26;outline-offset:-3px}
.page-index .service-menu summary{color:#DFE4E5}
.page-index .service-menu summary:hover{color:#FFFFFF}
.page-index .service-menu summary:focus-visible{outline-color:var(--yellow)}
@media(prefers-reduced-motion:reduce){.service-menu summary svg,.service-menu-item,.service-menu-arrow{transition:none!important}}

/* Layered service studies, with a brief entrance followed by a still composition. */
.service-scene{width:300px;max-width:100%;aspect-ratio:9/4;margin:-3px auto 25px;pointer-events:none}
.service-scene svg{display:block;width:100%;height:auto;overflow:visible}
.service-scene.is-active .scene-back{animation:scene-layer-back 2s cubic-bezier(.2,.7,.2,1) both}
.service-scene.is-active .scene-front{animation:scene-layer-front 2.6s cubic-bezier(.2,.7,.2,1) both}
.service-scene.is-active .scene-route{stroke-dasharray:1;animation:scene-connection 3.3s ease-in-out both}
.service-scene.is-active .scene-accent{animation:scene-highlight 3.6s ease-in-out both}
.service-scene.is-active .scene-confirm{stroke-dasharray:1;animation:scene-connection 3.7s ease-in-out both}
.service-scene.is-active .scene-scan{animation:scene-scan 3.4s ease-in-out both}
.service-scene.is-active .scene-output{animation:scene-extract 3.2s ease-out both}
.service-scene.is-active .scene-offset{animation-delay:.2s}
.service-scene.is-active .scene-last{animation-delay:.4s}
@keyframes scene-layer-back{from{opacity:.25;transform:translate(-7px,5px)}to{opacity:1;transform:translate(0,0)}}
@keyframes scene-layer-front{from{opacity:.15;transform:translate(8px,8px)}to{opacity:1;transform:translate(0,0)}}
@keyframes scene-connection{0%,35%{stroke-dashoffset:1}100%{stroke-dashoffset:0}}
@keyframes scene-highlight{0%,35%{opacity:.2}100%{opacity:1}}
@keyframes scene-scan{0%{opacity:0;transform:translateY(-15px)}25%{opacity:1}80%{opacity:1;transform:translateY(40px)}100%{opacity:0;transform:translateY(40px)}}
@keyframes scene-extract{0%,35%{opacity:0;transform:translateX(-6px)}100%{opacity:1;transform:translateX(0)}}
@media(max-width:700px){.service-scene{width:255px;margin-bottom:23px}}
@media(prefers-reduced-motion:reduce){.service-scene.is-active *{animation:none!important}}

/* Three clear service introductions below the homepage film. */
.home-services{padding-block:82px 88px}
.home-services-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:42px}
.home-services-heading h2{font-size:35px;line-height:1.2;letter-spacing:-.025em}
.home-services-heading .simple-link{margin-top:0;white-space:nowrap}
.home-services-heading .simple-link span{margin-left:14px}
.home-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.home-service{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:32px 30px 0 0}
.home-service+.home-service{border-left:1px solid var(--line);padding-left:30px}
.home-service:last-child{padding-right:0}
.home-service h3{font-size:31px;line-height:1.2;letter-spacing:-.03em}
.home-service p{font-size:16px;line-height:1.8;color:var(--muted);margin-block:23px 30px;max-width:340px}
.home-service-link{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;width:100%;margin-top:auto;border-bottom:1px solid #20212655;font-size:13px;line-height:1.6;padding-bottom:8px}
.home-service-link span{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;font-size:20px;border-radius:50%}
.home-service-link:hover{border-color:var(--ink)}
.home-service-link:hover span{background:var(--yellow)}
@media(max-width:1000px){.home-services{padding-block:65px 70px}.home-service{padding-right:22px}.home-service+.home-service{padding-left:22px}.home-service h3{font-size:28px}.home-service-link{font-size:12px;gap:8px}}
@media(max-width:800px){.home-services-grid{grid-template-columns:1fr}.home-service,.home-service+.home-service,.home-service:last-child{padding:30px 0;border-left:0}.home-service+.home-service{border-top:1px solid var(--line)}.home-service:last-child{padding-bottom:0}.home-service h3{font-size:30px}.home-service h3 br{display:none}.home-service p{max-width:520px;margin-block:17px 18px}.home-service-link{width:fit-content;min-width:245px;font-size:14px;gap:24px}.home-services-heading{margin-bottom:29px}}
@media(max-width:700px){.home-services{padding-block:55px 60px}.home-services-heading h2{font-size:30px}.home-service p{font-size:15px}.home-services-heading{flex-wrap:wrap;gap:14px}.home-service h3{font-size:28px}}

/* Full-width ink footer with the same content alignment as the header. */
.footer-band{background:#202126;color:#F3F3F0}
.footer-band .simple-footer{border-top:0;padding-block:36px;color:#C4C8C7}
.footer-band .simple-footer a{color:#F3F3F0}
.footer-band .simple-footer a:hover{color:#FEF480}
.footer-band .simple-footer a:focus-visible{outline-color:#FEF480}
@media(max-width:700px){.footer-band .simple-footer{padding-block:29px}}

/* Keep short pages at least one screen tall, with the footer after the content. */
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body>main{flex:1 0 auto;width:100%;min-width:0}
body>.simple-header,body>.footer-band{flex:none}
.page-contact>main{display:flex;align-items:center}
