:root{--white: #ffffff;--blue: #0b5cab;--ink: #1b2127;--accent: #c2410c;--accent-dark: #9a3412;--navy: var(--ink);--muted: rgba(27, 33, 39, .74);--faint: rgba(27, 33, 39, .45);--line: rgba(27, 33, 39, .12);--field: rgba(27, 33, 39, .38);--tint: rgba(11, 92, 171, .045);--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--shadow-sm: 0 1px 2px rgba(27, 33, 39, .06), 0 2px 8px rgba(27, 33, 39, .05);--shadow-md: 0 8px 24px rgba(27, 33, 39, .1);--shadow-lg: 0 18px 48px rgba(27, 33, 39, .16);--ease: cubic-bezier(.2, .7, .2, 1);--header-h: 64px;--max: 1240px;--font: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif}@media(min-width:1200px){:root{--header-h: 76px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}@media(min-width:768px){body{font-size:17px}}@media(max-width:1199px){body.menu-open{overflow:hidden}}img{max-width:100%;height:auto;display:block}a{color:var(--accent);text-underline-offset:3px;transition:color .2s}a:hover{color:var(--accent-dark)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}::selection{background:var(--blue);color:var(--white)}h1,h2,h3{color:var(--blue);line-height:1.2;font-weight:700;margin:0 0 .6em;letter-spacing:-.015em;text-wrap:balance}h1{font-size:clamp(1.9rem,4.2vw,2.9rem)}h2{font-size:clamp(1.45rem,2.8vw,2.05rem)}h3{font-size:1.15rem;font-weight:600;letter-spacing:0}p{margin:0 0 1em;text-wrap:pretty}p,li,dd,address,blockquote{max-width:75ch}.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 16px}@media(min-width:768px){.container{padding:0 32px}}.narrow{max-width:880px}.prose{max-width:75ch}.prose h2{margin-top:1.6em}.prose>h2:first-child,.prose>.eyebrow+h2{margin-top:0}.intro{font-size:1.12em;color:var(--ink)}.center{text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:8px;z-index:100;background:var(--white);padding:8px 12px}main:focus{outline:none}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 12px;color:var(--blue);font-weight:600;font-size:.9rem;letter-spacing:.02em}.eyebrow:before{content:"";width:28px;height:2px;background:currentColor;border-radius:2px}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border-radius:var(--radius-sm);border:2px solid transparent;font:600 1rem/1.2 var(--font);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s,transform .2s var(--ease),box-shadow .2s}.btn:active{transform:translateY(1px)}.btn-lg{min-height:52px;padding:13px 26px;font-size:1.02rem}.btn-primary{background:var(--accent);color:var(--white);box-shadow:0 6px 16px -6px #c2410c8c}.btn-primary:hover{background:var(--accent-dark);color:var(--white);transform:translateY(-2px);box-shadow:0 10px 22px -8px #c2410ca6}.btn-outline{border-color:var(--accent);color:var(--accent);background:transparent}.btn-outline:hover{background:var(--accent);color:var(--white);transform:translateY(-2px)}.btn-light{border-color:#ffffffb3;color:var(--white);background:#ffffff0a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-light:hover{background:var(--white);border-color:var(--white);color:var(--navy);transform:translateY(-2px)}.btn-block{width:100%}.btn-row{display:flex;flex-wrap:wrap;gap:12px}.btn:disabled{opacity:.7;cursor:wait;transform:none}.arrow{transition:transform .25s var(--ease);flex:none}.btn:hover .arrow,a:hover>.arrow,.card:hover .arrow,.project-card:hover .arrow,.principal-row:hover .arrow,.resource-row:hover .arrow,.hero-card:hover .arrow{transform:translate(4px)}.text-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;text-decoration:none}.text-link:hover{text-decoration:underline}.site-header{position:sticky;top:0;z-index:50;background:#ffffffeb;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid transparent;transition:box-shadow .3s,border-color .3s}.site-header.is-scrolled{border-bottom-color:var(--line);box-shadow:0 6px 24px -12px #1b212740}.header-inner{display:flex;align-items:center;gap:16px;height:var(--header-h)}.logo{flex:none;display:block;transition:opacity .2s}.logo:hover{opacity:.85}.logo img{width:124px;height:auto}.main-nav{display:none}.header-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.btn-quote{padding:9px 16px;font-size:.95rem;min-height:44px}.menu-toggle{width:44px;height:44px;border:0;border-radius:var(--radius-sm);background:none;cursor:pointer;display:grid;place-items:center;color:var(--ink)}.menu-toggle:hover{background:var(--tint)}.burger{display:grid;gap:5px}.burger i{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;transition:transform .3s var(--ease),opacity .2s}.burger.is-open i:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger.is-open i:nth-child(2){opacity:0}.burger.is-open i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:380px){.header-inner{gap:8px}.header-actions{gap:2px}.logo img{width:96px}.btn-quote{padding:8px 10px;font-size:.85rem}}@media(max-width:339px){.header-inner{gap:6px}.logo img{width:80px}.btn-quote{padding:6px 8px;font-size:.78rem;min-height:40px}.menu-toggle{width:40px}}.mobile-menu{position:fixed;top:var(--header-h);left:0;right:0;bottom:0;z-index:49;background:var(--white);overflow-y:auto;padding:0 16px 40px;border-top:1px solid var(--line);clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .4s var(--ease),visibility 0s linear .4s}.mobile-menu.is-open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .45s var(--ease),visibility 0s}.mm-cta{position:sticky;top:0;z-index:1;padding:16px 0 12px;background:var(--white)}.mobile-menu>ul{list-style:none;margin:4px 0 0;padding:0}.mobile-menu>ul>li{border-bottom:1px solid var(--line);opacity:0;translate:0 10px;transition:opacity .3s ease,translate .3s var(--ease)}.mobile-menu.is-open>ul>li{opacity:1;translate:none;transition-delay:.12s}.mobile-menu.is-open>ul>li:nth-child(2){transition-delay:.16s}.mobile-menu.is-open>ul>li:nth-child(3){transition-delay:.2s}.mobile-menu.is-open>ul>li:nth-child(4){transition-delay:.24s}.mobile-menu.is-open>ul>li:nth-child(5){transition-delay:.28s}.mobile-menu.is-open>ul>li:nth-child(6){transition-delay:.32s}.mobile-menu.is-open>ul>li:nth-child(7){transition-delay:.36s}.mobile-menu.is-open>ul>li:nth-child(8){transition-delay:.4s}.mm-row{display:flex;align-items:center}.mm-top{flex:1;display:block;padding:14px 0;color:var(--ink);text-decoration:none;font-weight:600;font-size:1.05rem}.mm-top.active{color:var(--accent)}.mm-toggle{width:44px;height:44px;border:0;background:var(--tint);border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--ink);cursor:pointer}.mm-toggle .chev{transition:transform .3s var(--ease)}.mm-toggle.is-open .chev{transform:rotate(180deg)}.mm-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}.mm-sub.is-open{grid-template-rows:1fr}.mm-sub>ul{overflow:hidden;list-style:none;margin:0;padding:0}.mm-sub a{display:block;padding:10px 0 10px 14px;min-height:44px;color:var(--muted);text-decoration:none;border-left:2px solid var(--line)}.mm-sub a:hover,.mm-sub a.active{color:var(--accent);border-left-color:var(--accent)}.mm-sub ul li:last-child a{margin-bottom:12px}@media(min-width:1200px){.logo img{width:150px}.main-nav{display:block;margin-left:auto;height:100%}.header-actions{margin-left:12px}.menu-toggle,.mobile-menu{display:none!important}.main-nav>ul{display:flex;height:100%;list-style:none;margin:0;padding:0}.main-nav>ul>li{position:relative;display:flex}.main-nav>ul>li>a{position:relative;display:flex;align-items:center;gap:5px;padding:0 12px;color:var(--ink);text-decoration:none;font-weight:400;font-size:.95rem;white-space:nowrap}.main-nav>ul>li>a:after{content:"";position:absolute;left:12px;right:12px;bottom:18px;height:2px;background:var(--accent);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.main-nav>ul>li:hover>a,.main-nav>ul>li:focus-within>a{color:var(--accent)}.main-nav>ul>li:hover>a:after,.main-nav>ul>li:focus-within>a:after,.main-nav>ul>li>a.active:after{transform:scaleX(1)}.main-nav>ul>li>a.active{color:var(--accent)}.chev{transition:transform .3s var(--ease)}.has-dropdown:hover .chev,.has-dropdown:focus-within .chev{transform:rotate(180deg)}.dropdown{position:absolute;top:100%;left:-8px;width:400px;padding:10px;background:var(--white);border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow-lg);clip-path:inset(0 -40px 100% -40px);opacity:0;visibility:hidden;transform:translateY(-6px);transition:clip-path .35s var(--ease) .1s,opacity .25s ease .1s,transform .35s var(--ease) .1s,visibility 0s linear .45s}.has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown{clip-path:inset(0 -40px -60px -40px);opacity:1;visibility:visible;transform:none;transition:clip-path .4s var(--ease),opacity .2s ease,transform .4s var(--ease),visibility 0s}.has-dropdown.is-closed .dropdown{clip-path:inset(0 -40px 100% -40px);opacity:0;visibility:hidden;transform:translateY(-6px);transition:clip-path .3s var(--ease),opacity .25s ease,transform .3s var(--ease),visibility 0s linear .3s}.has-dropdown.is-closed .chev{transform:none}.has-dropdown.is-closed>a:after{transform:scaleX(0)}.has-dropdown.is-closed>a.active:after{transform:scaleX(1)}.dropdown ul{list-style:none;margin:0;padding:0}.dropdown li a{display:block;padding:10px 12px;border-radius:var(--radius-sm);text-decoration:none;color:var(--ink);transition:background-color .2s,transform .2s var(--ease)}.dropdown li a strong{display:block;font-weight:600;font-size:.95rem;transition:color .2s}.dropdown li a small{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:.82rem;line-height:1.4}.dropdown li a:hover,.dropdown li a.active{background:var(--tint);transform:translate(4px)}.dropdown li a:hover strong,.dropdown li a.active strong{color:var(--accent)}.dropdown-all{display:block;margin-top:6px;padding:10px 12px;border-top:1px solid var(--line);font-weight:600;font-size:.9rem;text-decoration:none}}.page-enter{animation:pageIn .45s var(--ease) both}.page-loading{min-height:70vh;position:relative}.page-loading span{position:fixed;top:var(--header-h);left:0;height:3px;width:40%;background:var(--blue);animation:loadBar 1s ease-in-out infinite}.page-header{position:relative;overflow:hidden;background:radial-gradient(900px 300px at 85% -10%,rgba(11,92,171,.12),transparent 70%),var(--tint);border-bottom:1px solid var(--line);padding:28px 0 40px}.page-header:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(11,92,171,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(11,92,171,.06) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(90deg,transparent 30%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 100%)}.page-header .container{position:relative;z-index:1}.page-header h1{margin-bottom:.35em;max-width:26ch;animation:fadeUp .6s var(--ease) both .05s}.page-header .lead{max-width:70ch;font-size:1.08em;color:var(--muted);animation:fadeUp .6s var(--ease) both .15s}.page-header .lead p:last-child{margin-bottom:0}@media(min-width:768px){.page-header{padding:36px 0 56px}}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;font-size:.88rem;color:var(--muted);animation:fadeUp .5s var(--ease) both}.breadcrumbs li+li:before{content:"›";margin-right:6px;color:var(--faint)}.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs a:hover{color:var(--accent);text-decoration:underline}.section{padding:56px 0}.section-tight{padding:40px 0}.section-alt{background:var(--tint)}@media(min-width:768px){.section{padding:88px 0}.section-tight{padding:56px 0}}.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:8px}.section-head h2{margin-bottom:0;max-width:28ch}.small-h{font-size:1.15rem;color:var(--muted);font-weight:600;margin-bottom:0}.split{display:grid;gap:40px;align-items:center}.split-media{min-width:0}.split-img{display:block;width:100%;border-radius:var(--radius);box-shadow:var(--shadow-md)}.split-img.contain{border:1px solid var(--line);box-shadow:none}@media(min-width:900px){.split{grid-template-columns:1.15fr 1fr;gap:64px}}.img-stack{position:relative;padding:0 0 40px}.img-stack:before{content:"";position:absolute;top:-16px;right:-16px;width:55%;height:60%;border-radius:var(--radius-lg);background:#0b5cab14}.img-main{position:relative;width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.img-inset{position:absolute;left:-12px;bottom:0;width:46%;border-radius:var(--radius);border:5px solid var(--white);box-shadow:var(--shadow-lg);transition:transform .5s var(--ease)}.img-stack:hover .img-inset{transform:translateY(-6px) rotate(-1deg)}@media(min-width:900px){.img-inset{left:-40px}}.hero{position:relative;overflow:hidden;color:var(--white);background:var(--navy);isolation:isolate}.hero-media{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2}.hero-bg{width:100%;height:100%;object-fit:cover;opacity:.6;animation:kenBurns 20s ease-out both}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#1b2127f5,#1b2127db 42%,#1b212773),linear-gradient(0deg,rgba(27,33,39,.9) 0%,transparent 35%)}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(90deg,transparent 40%,#000);-webkit-mask-image:linear-gradient(90deg,transparent 40%,#000)}.hero-inner{display:grid;gap:40px;align-items:end;padding-top:64px;padding-bottom:120px}@media(min-width:1000px){.hero-inner{grid-template-columns:1.5fr 1fr;padding-top:120px;padding-bottom:170px}}.hero-tag{display:inline-flex;align-items:center;gap:10px;margin-bottom:20px;padding:6px 14px;border-radius:999px;font-size:.88rem;font-weight:400;background:#ffffff14;border:1px solid rgba(255,255,255,.18);animation:fadeUp .7s var(--ease) both .1s}.dot{width:8px;height:8px;border-radius:50%;background:var(--white);box-shadow:0 0 #ffffffb3;animation:pulse 2.2s infinite}.hero h1{color:var(--white);max-width:18ch;font-size:clamp(2.1rem,5.4vw,3.6rem);line-height:1.08;animation:fadeUp .8s var(--ease) both .2s}.hero-sub{max-width:58ch;font-size:1.12em;color:#ffffffdb;margin-bottom:32px;animation:fadeUp .8s var(--ease) both .35s}.hero .btn-row{animation:fadeUp .8s var(--ease) both .5s}.hero-card{display:grid;gap:8px;padding:22px;border-radius:var(--radius-lg);color:var(--white);text-decoration:none;background:#ffffff14;border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:fadeUp .9s var(--ease) both .7s;transition:transform .3s var(--ease),background-color .3s,border-color .3s}.hero-card:hover{color:var(--white);transform:translateY(-4px);background:#ffffff21;border-color:#ffffff52}.hero-card-label{font-size:.8rem;font-weight:600;color:var(--white);letter-spacing:.03em}.hero-card strong{font-size:1.08rem;line-height:1.35}.hero-card>span:not(.hero-card-label):not(.hero-card-more){color:#fffc;font-size:.95rem}.hero-card-more{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-weight:600;font-size:.95rem}@media(max-width:999px){.hero-card{display:none}}.trust-bar{position:relative;z-index:2;margin-top:-72px}.trust-grid{display:grid;grid-template-columns:repeat(2,1fr);background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--line);overflow:hidden}.trust-grid>div{display:flex;flex-direction:column;gap:2px;padding:22px 20px;border-color:var(--line);border-style:solid;border-width:0}.trust-grid>div:nth-child(odd){border-right-width:1px}.trust-grid>div:nth-child(-n+2){border-bottom-width:1px}.trust-grid strong{color:var(--blue);font-size:clamp(1.6rem,3.5vw,2.3rem);line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.trust-grid>div>span{color:var(--muted);font-size:.9rem}@media(min-width:900px){.trust-grid{grid-template-columns:repeat(4,1fr)}.trust-grid>div{padding:30px 28px;border-width:0!important}.trust-grid>div+div{border-left-width:1px!important}}.card-grid{display:grid;gap:24px;margin-top:32px}@media(min-width:640px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1000px){.card-grid{grid-template-columns:repeat(3,1fr)}}.card{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}.card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent;color:var(--ink)}.card:hover:after{transform:scaleX(1)}.card-img{aspect-ratio:16 / 10;overflow:hidden;background:var(--tint)}.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.card:hover .card-img img{transform:scale(1.06)}.card-img.contain{display:grid;place-items:center;padding:32px;background:linear-gradient(180deg,var(--white),var(--tint));border-bottom:1px solid var(--line)}.card-img.contain img{object-fit:contain;max-height:80px;width:auto;height:auto}.card:hover .card-img.contain img{transform:scale(1.04)}.card-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}.card-body h2,.card-body h3{margin-bottom:.4em;font-size:1.15rem;font-weight:600;letter-spacing:0}.card-body p{color:var(--muted);font-size:.95em;flex:1}.card-more{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:600;font-size:.95rem}.feature-grid{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:20px}@media(min-width:640px){.feature-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1000px){.feature-grid{grid-template-columns:repeat(4,1fr)}}.feature{position:relative;padding:28px 24px;border-radius:var(--radius-lg);background:var(--white);border:1px solid var(--line);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}.feature:before{content:"";position:absolute;top:0;left:24px;right:24px;height:3px;border-radius:0 0 3px 3px;background:var(--blue);transform:scaleX(.25);transform-origin:left;transition:transform .45s var(--ease)}.feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.feature:hover:before{transform:scaleX(1)}.feature-num{display:block;font-size:2.2rem;font-weight:700;line-height:1;color:#0b5cab2e;margin-bottom:14px;font-variant-numeric:tabular-nums}.feature p{color:var(--muted);font-size:.95em;margin:0}.logo-grid{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}@media(min-width:640px){.logo-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:1000px){.logo-grid.cols-6{grid-template-columns:repeat(6,1fr)}.logo-grid.cols-7{grid-template-columns:repeat(7,1fr)}}.logo-grid li{display:flex}.logo-grid a{flex:1;display:grid;place-items:center;min-height:100px;padding:18px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}.logo-grid a:hover,.logo-grid a:focus-visible{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:transparent}.logo-grid picture{display:contents}.logo-grid img{max-height:52px;width:auto;max-width:100%;object-fit:contain;filter:grayscale(1) contrast(1.15);transition:filter .35s,transform .35s var(--ease)}.logo-grid a:hover img,.logo-grid a:focus-visible img{filter:none;transform:scale(1.06)}.logo-text{font-weight:700;color:var(--ink);font-size:1.3rem}.project-grid{display:grid;gap:24px;margin-top:32px}@media(min-width:768px){.project-grid{grid-template-columns:repeat(3,1fr)}}.project-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}.project-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);color:var(--ink)}.project-img{aspect-ratio:16 / 10;overflow:hidden}.project-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.project-card:hover .project-img img{transform:scale(1.06)}.project-card .project-body{flex:1;display:flex;flex-direction:column;align-items:flex-start;padding:18px 22px 22px}@media(min-width:768px)and (max-width:999px){.project-card .project-body{padding:16px 18px 20px}}.project-body p{color:var(--muted);margin:0;font-size:.95em}.project-body h3{margin-bottom:.35em}.project-sector{display:inline-block;margin-bottom:10px;padding:3px 10px;border-radius:999px;background:#0b5cab14;color:var(--blue);font-size:.8rem;font-weight:600}.project-list{display:grid;gap:20px}.project-row{display:grid;gap:18px;border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px;background:var(--white);transition:box-shadow .35s var(--ease),transform .35s var(--ease)}.project-row:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.project-media{min-width:0;border-radius:var(--radius);overflow:hidden}.project-media img{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover}.project-row .project-body{min-width:0;padding:0 4px 4px}.project-row h2{font-size:clamp(1.15rem,1rem + .55vw,1.4rem);line-height:1.3;margin:0 0 12px;overflow-wrap:break-word}.project-row .text-link{margin-top:2px}@media(min-width:640px){.project-row{grid-template-columns:minmax(200px,40%) minmax(0,1fr);align-items:center;gap:24px;padding:18px}.project-media img{aspect-ratio:4 / 3}.project-row .project-body{padding:0}}@media(min-width:1000px){.project-list{gap:24px}.project-row{grid-template-columns:400px minmax(0,1fr);gap:40px;padding:22px 40px 22px 22px}.project-media img{aspect-ratio:16 / 10}}.facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 18px;margin:0 0 16px}.facts dt{font-weight:600;color:var(--muted)}.facts dd{margin:0;overflow-wrap:break-word}@media(max-width:380px){.facts{gap:4px 12px}}.projects-promo{text-align:center;max-width:720px}.detail-layout{display:grid;gap:40px}@media(min-width:960px){.detail-layout{grid-template-columns:minmax(0,1fr) 350px;gap:64px}}.sidebar{display:grid;gap:20px;align-content:start}@media(min-width:960px){.sidebar{position:sticky;top:calc(var(--header-h) + 24px)}}.side-img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.side-img img{width:100%;transition:transform .8s var(--ease)}.side-img:hover img{transform:scale(1.04)}.side-img.contain{border:1px solid var(--line);padding:32px;box-shadow:none}.side-img.contain img{max-height:90px;width:auto;margin:0 auto}.side-logo{border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px;display:grid;gap:16px;place-items:center}.side-logo img{max-height:70px;width:auto}.side-box{border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;background:var(--tint)}.side-box ul{margin:0 0 16px;padding-left:18px}.side-box ul:last-child{margin-bottom:0}.side-box li{margin-bottom:4px}.side-h{font-size:1.05rem;margin-bottom:.5em}.supply-list{padding-left:0;list-style:none}.supply-list li{position:relative;padding-left:26px;margin-bottom:.7em}.supply-list li:before{content:"";position:absolute;left:0;top:.62em;width:10px;height:10px;border-radius:3px;background:var(--blue);transform:rotate(45deg) scale(.8)}.brand-tags{list-style:none;padding:0;margin:0 0 1em;display:flex;flex-wrap:wrap;gap:8px}.brand-tags li{border:1px solid rgba(11,92,171,.35);color:var(--blue);background:#0b5cab0d;border-radius:999px;padding:5px 14px;font-weight:600;font-size:.95em;transition:background-color .2s,color .2s,transform .2s var(--ease)}.brand-tags li:hover{background:var(--blue);color:var(--white);transform:translateY(-2px)}.highlight{border-left:3px solid var(--blue);padding:4px 0 4px 18px;background:linear-gradient(90deg,rgba(11,92,171,.05),transparent);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.link-list{padding-left:20px}.link-list li{margin-bottom:.5em}.faq{border-top:1px solid var(--line);interpolate-size:allow-keywords}.faq details{border-bottom:1px solid var(--line)}.faq summary{position:relative;cursor:pointer;font-weight:600;padding:18px 44px 18px 0;min-height:44px;list-style:none;transition:color .2s}.faq summary::-webkit-details-marker{display:none}.faq summary:hover{color:var(--accent)}.faq summary:before,.faq summary:after{content:"";position:absolute;right:8px;top:50%;width:14px;height:2px;background:var(--blue);transition:transform .3s var(--ease)}.faq summary:after{transform:rotate(90deg)}.faq details[open] summary:after{transform:rotate(0)}.faq details::details-content{block-size:0;overflow:hidden;transition:block-size .35s var(--ease),content-visibility .35s allow-discrete}.faq details[open]::details-content{block-size:auto}.faq details p{margin:0 0 18px;color:var(--muted)}.gallery{display:grid;gap:16px;margin-top:24px}.gallery img{border-radius:var(--radius);border:1px solid var(--line)}.steps{padding-left:22px;max-width:75ch}.steps li{margin-bottom:.8em}.principal-list{display:grid;gap:18px;margin-top:48px}@media(min-width:768px){.principal-list{grid-template-columns:repeat(2,1fr)}}.principal-row,.resource-row{display:block;border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;text-decoration:none;color:var(--ink);background:var(--white);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}.principal-row:hover,.resource-row:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:transparent;color:var(--ink)}.principal-row h2,.resource-row h2{font-size:1.2rem}.principal-row p,.resource-row p{color:var(--muted);font-size:.95em}.resource-list{display:grid;gap:18px;max-width:880px}.band{background:var(--tint);border-top:1px solid var(--line);padding:32px 0}.band-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.band-inner p{margin:0}.cta-band{position:relative;overflow:hidden;color:var(--white);padding:72px 0;text-align:center;background:radial-gradient(600px 300px at 15% 0%,rgba(11,92,171,.55),transparent 70%),radial-gradient(500px 260px at 90% 100%,rgba(11,92,171,.4),transparent 70%),var(--navy)}.cta-band:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:40px 40px}.cta-band .container{position:relative;z-index:1}.cta-band h2{color:var(--white);max-width:24ch;margin-left:auto;margin-right:auto}.cta-band p{max-width:62ch;margin:0 auto 28px;color:#ffffffd1}@media(min-width:768px){.cta-band{padding:96px 0}}.office-grid{display:grid;gap:24px;margin-top:24px}@media(min-width:768px){.office-grid{grid-template-columns:repeat(2,1fr)}}.office-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .35s var(--ease),transform .35s var(--ease)}.office-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.office-body{padding:22px;flex:1}.office-card address{font-style:normal;margin-bottom:12px}.office-card iframe{width:100%;height:240px;border:0;display:block;filter:saturate(.85)}.contact-lines{list-style:none;margin:0;padding:0}.contact-lines li{padding:3px 0}.contact-lines a{display:inline-block;min-height:44px;padding:10px 0}.enquiry-form{margin-top:20px;padding:24px;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:var(--white)}@media(min-width:768px){.enquiry-form{padding:36px}}.enquiry-form fieldset{border:0;margin:0 0 24px;padding:0}.enquiry-form legend{font-weight:700;color:var(--blue);font-size:1.1rem;margin-bottom:14px;padding:0}.form-grid{display:grid;gap:18px}@media(min-width:640px){.form-grid{grid-template-columns:1fr 1fr}.field.wide{grid-column:1 / -1}}.field label{display:block;font-weight:600;margin-bottom:6px;font-size:.95rem}.field input,.field select,.field textarea{width:100%;min-height:48px;padding:11px 14px;font:inherit;color:var(--ink);border:1px solid var(--field);border-radius:var(--radius-sm);background:var(--white);transition:border-color .2s,box-shadow .2s}.field textarea{resize:vertical}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--muted)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #c2410c26}.field input:user-invalid,.field select:user-invalid,.field textarea:user-invalid{border-color:var(--accent-dark)}.field input[type=file]{padding:10px;cursor:pointer}.field input[type=file]::file-selector-button{margin-right:12px;padding:6px 14px;border:0;border-radius:6px;background:var(--tint);color:var(--ink);font:600 .9rem var(--font);cursor:pointer}.field-error{color:var(--accent-dark);font-size:.9rem;margin:6px 0 0}.req{color:var(--ink)}.opt{color:var(--muted);font-weight:400;font-size:.88em}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.consent{display:flex;gap:12px;align-items:flex-start;margin:4px 0 24px;cursor:pointer}.consent input{width:22px;height:22px;margin-top:3px;flex:none;accent-color:var(--accent)}.form-error{color:var(--accent-dark);font-weight:600}.form-success{margin-top:20px;padding:36px;text-align:center;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);animation:fadeUp .5s var(--ease) both}.form-success svg{color:var(--blue);margin:0 auto 12px}.form-success .tick{stroke-dasharray:20;stroke-dashoffset:20;animation:draw .6s var(--ease) .2s forwards}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:var(--white);border-radius:50%;animation:spin .7s linear infinite}.site-footer{position:relative;background:var(--navy);color:#ffffffd1;font-size:.95rem}.site-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--blue)}.site-footer a{color:#ffffffd1;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100% / 0 1px no-repeat;transition:color .2s,background-size .3s var(--ease)}.site-footer a:hover{color:var(--white);background-size:100% 1px}.footer-grid{display:grid;padding-top:32px;padding-bottom:20px;grid-template-columns:minmax(0,1fr);grid-template-areas:"office" "products" "industries" "company"}.footer-grid>*{min-width:0}.footer-office{grid-area:office;padding-bottom:16px}.footer-products{grid-area:products}.footer-industries{grid-area:industries}.footer-company{grid-area:company}.footer-h{color:var(--white);font-size:1rem;margin:0 0 8px}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li a{display:inline-flex;align-items:center;min-height:40px;padding:6px 0;line-height:1.35}.site-footer address{font-style:normal;margin-bottom:6px;line-height:1.5}.site-footer a,.site-footer address{overflow-wrap:anywhere}.footer-contact{margin:0;display:flex;flex-wrap:wrap;column-gap:18px}.footer-line{display:inline-flex;align-items:center;min-height:40px}.footer-h-text{display:none}.footer-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:0;border:0;border-top:1px solid rgba(255,255,255,.12);background:none;color:var(--white);font:600 1rem/1.2 var(--font);text-align:left;cursor:pointer}.footer-company .footer-toggle{border-bottom:1px solid rgba(255,255,255,.12)}.footer-company.is-open .footer-toggle{border-bottom:0}.footer-chev{flex:none;transition:transform .3s var(--ease)}.footer-col.is-open .footer-chev{transform:rotate(180deg)}.footer-col .footer-h{margin:0}.footer-links{display:none;padding:0 0 10px 2px!important}.footer-col.is-open .footer-links{display:block;animation:fadeUp .3s var(--ease) both}.footer-company.is-open .footer-links{border-bottom:1px solid rgba(255,255,255,.12)}.footer-links li a{min-height:40px}@media(min-width:640px){.footer-grid{padding-top:40px;padding-bottom:28px;column-gap:40px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"office products" "office industries" "office company" "office .";grid-template-rows:auto auto auto 1fr}.footer-office{padding-bottom:0}}@media(min-width:1000px){.footer-grid{padding-top:56px;padding-bottom:44px;gap:36px 32px;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));grid-template-areas:"office products industries company";grid-template-rows:auto}.footer-h-text{display:inline}.footer-toggle{display:none}.footer-col .footer-h{margin:0 0 8px}.footer-links,.footer-col.is-open .footer-links{display:block;padding:0!important;border:0!important;animation:none}.footer-contact{display:block}.footer-line{display:table}}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:16px 0;font-size:.9rem;color:#ffffffa8}@media(max-width:999px){.footer-bottom .container{padding-right:82px}}picture{display:contents}.chip-list{list-style:none;padding:0;margin:0 0 1em;display:flex;flex-wrap:wrap;gap:8px}.chip-list li{padding:6px 14px;border-radius:999px;background:var(--tint);border:1px solid var(--line);font-size:.95em}.office-note{color:var(--muted);font-size:.95rem}.preview-bar{position:relative;z-index:60;padding:10px 16px;background:var(--ink);color:var(--white);font-size:.9rem;font-weight:600;text-align:center}.to-top{position:fixed;right:18px;bottom:18px;z-index:40;width:48px;height:48px;display:grid;place-items:center;border:0;border-radius:50%;cursor:pointer;background:var(--accent);color:var(--white);box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(16px) scale(.9);transition:opacity .3s,transform .3s var(--ease),visibility 0s linear .3s,background-color .2s}.to-top.is-shown{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .3s var(--ease),background-color .2s}.to-top:hover{background:var(--accent-dark);transform:translateY(-3px)}.reveal{opacity:0;translate:0 26px;transition:opacity .7s var(--ease),translate .7s var(--ease)}.reveal.is-visible{opacity:1;translate:none}.reveal.card,.reveal.project-card,.reveal.feature,.reveal.principal-row,.reveal.resource-row,.reveal.office-card,.reveal.project-row{transition:opacity .7s var(--ease),translate .7s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes pageIn{0%{opacity:0}to{opacity:1}}@keyframes menuIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}@keyframes kenBurns{0%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes pulse{0%{box-shadow:0 0 #ffffffb3}70%{box-shadow:0 0 0 10px #fff0}to{box-shadow:0 0 #fff0}}@keyframes marquee{to{transform:translate(-50%)}}@keyframes loadBar{0%{transform:translate(-100%)}to{transform:translate(260%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes draw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;translate:none}.marquee-track{animation:none}}
