:root {
  --ink: #161a1d;
  --graphite: #20252a;
  --graphite-2: #292f35;
  --slate: #4d5963;
  --steel: #aeb7bd;
  --smoke: #d9d5ce;
  --paper: #f1eee8;
  --white: #fbfaf7;
  --heat: #f28c28;
  --heat-deep: #e1622d;
  --line: rgba(255, 255, 255, 0.16);
  --font-display: "Archivo", Arial, sans-serif;
  --font-condensed: "Barlow Condensed", Impact, sans-serif;
  --container: min(1160px, calc(100% - 64px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--graphite); }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font-display); font-size: 16px; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
.container { width: var(--container); margin-inline: auto; }
.noise { position: fixed; inset: 0; z-index: 10; opacity: .055; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }

.site-header { position: absolute; z-index: 5; top: 0; left: 0; width: 100%; height: 96px; display: flex; align-items: center; justify-content: space-between; padding: 0 max(32px, calc((100vw - 1160px) / 2)); color: var(--white); border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; gap: 9px; align-items: center; min-width: 182px; }
.brand-mark { width: 32px; height: 32px; object-fit: contain; filter: drop-shadow(0 0 10px rgba(242, 140, 40, .25)); }
.brand-text { display: flex; flex-direction: column; font-family: var(--font-condensed); font-size: 24px; font-weight: 700; line-height: .72; letter-spacing: .075em; }
.brand-text small { margin-top: 8px; font-family: var(--font-display); font-size: 7px; font-weight: 700; letter-spacing: .25em; opacity: .75; }
.site-nav { display: flex; align-items: center; gap: 30px; font-size: 12px; font-weight: 650; letter-spacing: .045em; }
.site-nav > a:not(.nav-cta) { opacity: .78; transition: opacity .2s ease; }
.site-nav > a:not(.nav-cta):hover { opacity: 1; }
.nav-cta { padding: 12px 17px; border: 1px solid rgba(255,255,255,.55); transition: background .2s ease, color .2s ease; }
.nav-cta:hover { color: var(--ink); background: var(--white); }
.nav-cta span { margin-left: 10px; color: var(--heat); }
.nav-toggle { display: none; padding: 8px; color: white; background: transparent; border: 0; }
.nav-toggle span { display: block; width: 25px; height: 1px; margin: 5px 0; background: currentColor; }

.hero { position: relative; min-height: 750px; overflow: hidden; display: flex; align-items: center; color: var(--white); background: #13171a; }
.hero-image { position: absolute; inset: 0; z-index: 0; background-image: linear-gradient(90deg, #14181c 0%, rgba(20,24,28,.9) 23%, rgba(20,24,28,.27) 64%, rgba(20,24,28,.14)), linear-gradient(0deg, rgba(0,0,0,.5), transparent 45%), url("/manus-storage/async-images/EPEILBMdqfRt2yIVCC65nh/image-1.webp"); background-position: center; background-size: cover; filter: saturate(.84) contrast(1.1); transform: scale(1.01); }
.hero-glow { position: absolute; z-index: 1; width: 480px; height: 480px; right: -80px; bottom: -220px; border-radius: 50%; background: radial-gradient(circle, rgba(242,140,40,.31), rgba(242,140,40,0) 66%); filter: blur(2px); }
.hero-content { position: relative; z-index: 2; padding-top: 75px; }
.eyebrow { display: flex; gap: 10px; align-items: center; margin: 0 0 22px; color: rgba(255,255,255,.72); font-family: var(--font-condensed); font-size: 13px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow.orange { color: var(--heat-deep); }
.dot { width: 7px; height: 7px; background: var(--heat); border-radius: 50%; box-shadow: 0 0 0 5px rgba(242,140,40,.14); }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 830px; margin-bottom: 25px; font-size: clamp(48px, 6vw, 88px); font-weight: 680; line-height: .99; letter-spacing: -.055em; }
h1 em, h2 em { color: var(--heat); font-style: normal; }
.hero-copy { max-width: 510px; margin-bottom: 34px; color: rgba(255,255,255,.77); font-size: 17px; line-height: 1.7; }
.hero-actions { display: flex; align-items: center; gap: 27px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 52px; padding: 0 20px; border: 1px solid transparent; font-size: 12px; font-weight: 700; letter-spacing: .035em; transition: transform .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: #171b1f; background: var(--heat); }
.button-primary:hover { background: #ffa146; }
.button span { font-size: 20px; line-height: 0; }
.text-link, .inline-link, .card-link { display: inline-flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.text-link { color: rgba(255,255,255,.85); }
.text-link span, .inline-link span, .card-link span { color: var(--heat); font-size: 18px; }
.hero-rail { position: absolute; z-index: 2; right: max(32px, calc((100vw - 1160px) / 2)); bottom: 44px; display: flex; align-items: center; gap: 15px; color: rgba(255,255,255,.64); font-family: var(--font-condensed); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.hero-rail i { width: 24px; height: 1px; background: rgba(255,255,255,.42); }
.scroll-cue { position: absolute; z-index: 2; bottom: 38px; left: max(32px, calc((100vw - 1160px) / 2)); display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; }
.scroll-cue span { width: 1px; height: 15px; background: var(--white); position: relative; }
.scroll-cue span:after { content: ""; position: absolute; bottom: 0; left: -2px; width: 5px; height: 5px; border-right: 1px solid white; border-bottom: 1px solid white; transform: rotate(45deg); }

.intro { display: grid; grid-template-columns: 1.15fr .85fr; gap: 100px; padding-top: 148px; padding-bottom: 122px; }
h2 { margin-bottom: 0; font-size: clamp(38px, 4.3vw, 62px); font-weight: 650; line-height: 1.04; letter-spacing: -.05em; }
.section-intro h2 { max-width: 680px; }
.intro-copy { padding-top: 47px; }
.intro-copy > p { max-width: 430px; margin-bottom: 22px; color: var(--slate); font-size: 16px; line-height: 1.8; }
.inline-link { color: var(--ink); border-bottom: 1px solid var(--ink); padding-bottom: 5px; }

.solution-band { display: grid; grid-template-columns: 1fr 1fr; color: var(--white); }
.solution-card { position: relative; min-height: 570px; overflow: hidden; padding: 59px max(34px, calc((100vw - 1160px) / 2)); padding-right: max(34px, calc((100vw - 1160px) / 2)); }
.solution-card > * { position: relative; z-index: 1; }
.solution-card h3 { max-width: 430px; margin: 34px 0 17px; font-size: clamp(28px, 2.8vw, 43px); line-height: 1.05; letter-spacing: -.045em; }
.solution-card p:not(.card-kicker) { max-width: 405px; color: rgba(255,255,255,.68); font-size: 15px; line-height: 1.7; }
.card-number { color: rgba(255,255,255,.35); font-family: var(--font-condensed); font-size: 14px; letter-spacing: .18em; }
.card-kicker { margin-top: 76px; color: var(--heat); font-family: var(--font-condensed); font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.mpm-card { padding-left: max(34px, calc((100vw - 1160px) / 2)); background-color: #272c31; background-image: linear-gradient(135deg, transparent 40%, rgba(255,255,255,.05) 40.5%, transparent 41%), linear-gradient(45deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: auto, 20px 20px; }
.mpm-card:after { content: "MPM"; position: absolute; right: -16px; bottom: -50px; color: rgba(255,255,255,.035); font-size: 260px; font-weight: 800; letter-spacing: -.12em; }
.solution-card ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; max-width: 400px; padding: 0; margin: 36px 0 0; list-style: none; color: rgba(255,255,255,.65); font-size: 11px; line-height: 1.35; }
.solution-card li { padding-top: 10px; border-top: 1px solid rgba(255,255,255,.27); }
.shield-card { padding-left: 62px; background: #1a1e22; }
.shield-card:before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 68% 63%, rgba(242,140,40,.19), transparent 26%), linear-gradient(120deg, transparent 20%, rgba(255,255,255,.025)); }
.shield-orbit { position: absolute; z-index: 0; right: -42px; bottom: -36px; width: 360px; height: 360px; border-radius: 50%; border: 1px solid rgba(242,140,40,.5); transform: rotate(-22deg); }
.shield-orbit span { position: absolute; inset: 23px; border: 1px solid rgba(255,255,255,.19); border-radius: 50%; }
.shield-orbit span:nth-child(2) { inset: 50px; border-color: rgba(242,140,40,.35); }
.shield-orbit span:nth-child(3) { inset: 86px; border-color: rgba(255,255,255,.35); }
.card-link { margin-top: 35px; color: var(--white); }

.approach-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; padding-top: 152px; padding-bottom: 150px; }
.approach-heading h2 { max-width: 530px; }
.approach-list { border-top: 1px solid #bbc0c0; }
.approach-item { display: grid; grid-template-columns: 65px 1fr; gap: 20px; padding: 26px 0 28px; border-bottom: 1px solid #bbc0c0; }
.approach-item > span { color: var(--heat-deep); font-family: var(--font-condensed); font-size: 14px; font-weight: 600; letter-spacing: .15em; }
.approach-item h3 { margin-bottom: 7px; font-size: 21px; letter-spacing: -.035em; }
.approach-item p { margin-bottom: 0; color: var(--slate); font-size: 14px; line-height: 1.67; }

.materials-section { position: relative; overflow: hidden; padding: 120px 0 124px; color: var(--white); background: #1c2024; }
.materials-section:before { content: ""; position: absolute; inset: 0; opacity: .45; background-image: linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px); background-size: 94px 94px; mask-image: linear-gradient(90deg, black, transparent 84%); }
.materials-header, .material-rack, .bracket-callout { position: relative; z-index: 1; }
.materials-header { display: grid; grid-template-columns: .9fr 1.1fr; column-gap: 65px; align-items: end; }
.materials-header .eyebrow { grid-column: 1 / -1; }
.materials-header p:last-child { max-width: 470px; margin: 0 0 7px; color: rgba(255,255,255,.68); font-size: 15px; line-height: 1.72; }
.material-rack { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 60px; }
.material-card { position: relative; min-height: 380px; padding: 24px 24px 26px; overflow: hidden; background: #2a2f34; border: 1px solid rgba(255,255,255,.1); }
.material-card:hover .material-surface { transform: scale(1.08); }
.material-index { position: relative; z-index: 1; display: grid; place-items: center; width: 30px; height: 30px; color: rgba(255,255,255,.75); border: 1px solid rgba(255,255,255,.35); border-radius: 50%; font-family: var(--font-condensed); font-size: 14px; }
.material-surface { position: absolute; z-index: 0; inset: 0; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.silica-surface { background: linear-gradient(145deg, rgba(255,255,255,.12), transparent 38%), repeating-linear-gradient(45deg, rgba(255,255,255,.065) 0 1px, transparent 1px 7px), repeating-linear-gradient(-45deg, rgba(242,140,40,.07) 0 1px, transparent 1px 8px), #52504b; }
.wool-surface { background: radial-gradient(ellipse at 35% 25%, rgba(255,255,255,.28), transparent 27%), repeating-radial-gradient(ellipse at 55% 55%, rgba(255,255,255,.09) 0 1px, transparent 2px 7px), linear-gradient(135deg, #9f9182, #554e48); }
.foil-surface { background: linear-gradient(115deg, transparent 0 26%, rgba(255,255,255,.65) 34%, rgba(255,255,255,.1) 41%, transparent 49% 64%, rgba(255,255,255,.34) 72%, transparent 78%), repeating-linear-gradient(0deg, rgba(255,255,255,.09) 0 1px, transparent 1px 6px), #7d858a; }
.material-card h3, .material-card p, .material-tag { position: relative; z-index: 1; }
.material-card h3 { margin-top: 165px; margin-bottom: 8px; font-size: 29px; letter-spacing: -.04em; }
.material-card p { min-height: 68px; margin-bottom: 20px; color: rgba(255,255,255,.71); font-size: 13px; line-height: 1.6; }
.material-tag { display: inline-block; padding: 6px 8px; color: var(--heat); border: 1px solid rgba(242,140,40,.54); font-family: var(--font-condensed); font-size: 11px; letter-spacing: .09em; text-transform: uppercase; }
.bracket-callout { display: grid; grid-template-columns: 76px .93fr 1.07fr; gap: 26px; align-items: center; margin-top: 76px; padding: 29px 32px; border-top: 1px solid rgba(242,140,40,.8); background: rgba(0,0,0,.17); }
.bracket-icon { position: relative; width: 50px; height: 50px; border: 1px solid var(--heat); border-radius: 50%; }
.bracket-icon i { position: absolute; width: 24px; height: 1px; left: 12px; background: var(--heat); transform-origin: left; }
.bracket-icon i:nth-child(1) { top: 16px; transform: rotate(0); }.bracket-icon i:nth-child(2) { top: 25px; transform: rotate(42deg); }.bracket-icon i:nth-child(3) { top: 34px; transform: rotate(-42deg); }
.bracket-callout .eyebrow { margin-bottom: 7px; font-size: 10px; }
.bracket-callout h3 { margin-bottom: 0; font-size: 23px; letter-spacing: -.035em; }
.bracket-callout > p { margin: 0; color: rgba(255,255,255,.7); font-size: 13px; line-height: 1.65; }

.application-section { padding: 143px 0 151px; }
.applications-intro { max-width: 810px; }
.applications-intro h2 { margin-bottom: 60px; }
.benefit-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #bcc0bd; }
.benefit { min-height: 227px; padding: 25px 22px 15px 0; border-bottom: 1px solid #bcc0bd; border-right: 1px solid #bcc0bd; }
.benefit:not(:first-child) { padding-left: 21px; }.benefit:last-child { border-right: 0; }
.benefit > span { color: var(--heat-deep); font-size: 28px; }.benefit h3 { margin: 42px 0 8px; font-size: 18px; letter-spacing: -.03em; }.benefit p { margin-bottom: 0; color: var(--slate); font-size: 13px; line-height: 1.62; }

.proof-section { padding: 102px 0 107px; color: var(--white); background: var(--graphite); }.proof-layout { display: grid; grid-template-columns: .95fr 1.05fr; gap: 80px; }.proof-heading h2 { max-width: 455px; }.proof-statements { border-top: 1px solid rgba(255,255,255,.36); }.proof-statements p { display: grid; grid-template-columns: 53px 1fr; gap: 12px; margin: 0; padding: 24px 0; color: rgba(255,255,255,.76); border-bottom: 1px solid rgba(255,255,255,.25); font-size: 15px; line-height: 1.5; }.proof-statements b { color: var(--heat); font-family: var(--font-condensed); font-size: 15px; letter-spacing: .12em; }

.enquiry-section { position: relative; padding: 131px 0 125px; overflow: hidden; background: #e0dcd4; }.enquiry-section:after { content: "G"; position: absolute; z-index: 0; right: -32px; bottom: -162px; color: rgba(32,37,42,.03); font-size: 600px; font-weight: 800; letter-spacing: -.15em; }.enquiry-top-line { position: absolute; top: 0; left: 0; width: 100%; height: 8px; background: linear-gradient(90deg, var(--heat), var(--heat) 58%, #c9c4bc 58%); }.enquiry-layout { position: relative; z-index: 1; display: grid; grid-template-columns: .93fr 1.07fr; gap: 95px; }.enquiry-copy h2 { max-width: 560px; }.enquiry-copy > p:not(.eyebrow) { max-width: 470px; margin: 25px 0 35px; color: var(--slate); line-height: 1.75; }.enquiry-meta { display: grid; grid-template-columns: 1fr 1fr; max-width: 500px; border-top: 1px solid #adb0ae; }.enquiry-meta div { padding: 15px 16px 0 0; }.enquiry-meta div + div { padding-left: 16px; border-left: 1px solid #adb0ae; }.enquiry-meta span { display: block; margin-bottom: 6px; color: var(--heat-deep); font-family: var(--font-condensed); font-size: 11px; letter-spacing: .11em; }.enquiry-meta strong { font-size: 12px; line-height: 1.4; }.enquiry-form { padding: 0 0 0 36px; border-left: 1px solid #aab0af; }.form-row { margin-bottom: 20px; }.form-row label { display: block; margin-bottom: 6px; color: #32383e; font-family: var(--font-condensed); font-size: 13px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }.form-row sup { color: var(--heat-deep); }input, textarea { display: block; width: 100%; padding: 11px 0; color: var(--ink); outline: 0; border: 0; border-bottom: 1px solid #8e9696; background: transparent; font-size: 15px; transition: border-color .2s ease; }input:focus, textarea:focus { border-color: var(--heat-deep); }textarea { resize: vertical; min-height: 100px; }input::placeholder, textarea::placeholder { color: #7b8386; }.form-row.split { display: grid; grid-template-columns: 1.2fr .8fr; gap: 22px; }.form-submit { width: 100%; margin-top: 7px; }.form-status { min-height: 23px; margin: 14px 0 0; color: #324d42; font-size: 13px; line-height: 1.5; }.form-status.is-error { color: #9b3123; }.visually-hidden { position: absolute!important; width: 1px!important; height: 1px!important; overflow: hidden!important; clip: rect(1px,1px,1px,1px)!important; white-space: nowrap!important; }

.site-footer { display: grid; grid-template-columns: 1fr 1fr auto; gap: 30px; align-items: center; min-height: 127px; color: rgba(255,255,255,.7); background: var(--graphite); }.site-footer:before { content:""; position:absolute; left:0; right:0; height:127px; z-index:-1; background:var(--graphite); }.footer-brand { color: white; }.site-footer p { margin: 0; font-size: 12px; }.back-top { font-size: 12px; font-weight: 700; }.back-top span { color: var(--heat); margin-left: 8px; }
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 900px) { :root { --container: min(100% - 48px, 720px); }.site-header { padding-inline: 24px; height: 82px; }.site-nav { gap: 17px; }.hero { min-height: 690px; }.hero-rail { display: none; }.solution-card { min-height: 525px; padding-inline: 32px; }.mpm-card { padding-left: 32px; }.shield-card { padding-left: 32px; }.approach-section, .enquiry-layout { gap: 54px; }.materials-header { gap: 35px; }.benefit-grid { grid-template-columns: 1fr 1fr; }.benefit:nth-child(2) { border-right: 0; }.benefit:nth-child(n+3) { border-bottom: 0; }.benefit:nth-child(3) { padding-left: 0; }.site-footer { grid-template-columns: 1fr auto; }.site-footer p { grid-column: 1 / -1; grid-row: 2; margin-top: -25px; } }
@media (max-width: 650px) { :root { --container: calc(100% - 40px); }.site-header { position: absolute; height: 73px; padding-inline: 20px; }.site-header .brand { min-width: 0; }.site-nav { position: absolute; top: 72px; left: 0; right: 0; display: none; padding: 19px 20px 23px; align-items: stretch; background: rgba(24,28,32,.98); border-top: 1px solid rgba(255,255,255,.1); flex-direction: column; }.site-nav.is-open { display: flex; }.nav-toggle { display: block; }.nav-cta { display: inline-flex; justify-content: space-between; }.hero { min-height: 690px; }.hero-image { background-position: 61% center; background-image: linear-gradient(90deg, rgba(20,24,28,.95) 0%, rgba(20,24,28,.86) 58%, rgba(20,24,28,.38)), linear-gradient(0deg, rgba(0,0,0,.5), transparent 45%), url("/manus-storage/async-images/EPEILBMdqfRt2yIVCC65nh/image-1.webp"); }.hero-content { padding-top: 90px; }.eyebrow { font-size: 11px; }.hero-copy { font-size: 15px; }.hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }.scroll-cue { left: 20px; bottom: 25px; }.intro, .approach-section, .materials-header, .proof-layout, .enquiry-layout { display: block; }.intro { padding-top: 82px; padding-bottom: 77px; }.intro-copy { padding-top: 26px; }.solution-band { display: block; }.solution-card { min-height: 465px; padding: 37px 26px; }.card-kicker { margin-top: 58px; }.solution-card h3 { font-size: 34px; }.shield-card { padding-left: 26px; }.approach-section { padding-top: 85px; padding-bottom: 85px; }.approach-list { margin-top: 47px; }.materials-section { padding: 81px 0; }.materials-header p:last-child { margin-top: 24px; }.material-rack { grid-template-columns: 1fr; margin-top: 37px; }.material-card { min-height: 340px; }.material-card h3 { margin-top: 135px; }.bracket-callout { grid-template-columns: 53px 1fr; gap: 18px; margin-top: 44px; padding: 24px 20px; }.bracket-callout > p { grid-column: 1 / -1; }.application-section { padding: 84px 0; }.applications-intro h2 { margin-bottom: 36px; }.benefit-grid { display: block; }.benefit, .benefit:not(:first-child), .benefit:nth-child(3) { min-height: auto; padding: 20px 0; border-right: 0; }.benefit h3 { margin-top: 17px; }.proof-section { padding: 78px 0; }.proof-statements { margin-top: 41px; }.enquiry-section { padding: 82px 0 76px; }.enquiry-copy > p:not(.eyebrow) { margin: 22px 0 29px; }.enquiry-meta { margin-bottom: 48px; }.enquiry-form { padding: 0; border-left: 0; }.form-row.split { grid-template-columns: 1fr; gap: 20px; }.site-footer { display: flex; min-height: 130px; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; padding-top: 28px; padding-bottom: 22px; }.site-footer:before { height: 100%; }.site-footer p { width: 100%; margin-top: 0; order: 3; }.footer-brand .brand-mark { width: 27px; height: 27px; }.footer-brand .brand-text { font-size: 21px; }.back-top { padding-top: 7px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.reveal { opacity: 1; transform: none; transition: none; }* { transition-duration: .01ms !important; animation-duration: .01ms !important; } }


/* Four-mode solution navigator */
.solutions-section { position: relative; overflow: hidden; padding: 120px 0 126px; color: var(--white); background: #1c2024; }
.solutions-section:before { content: ""; position: absolute; inset: 0; opacity: .42; background-image: linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px); background-size: 94px 94px; mask-image: linear-gradient(90deg, black, transparent 86%); }
.solutions-heading, .solution-tabs, .tab-panels { position: relative; z-index: 1; }
.solutions-heading { display: flex; align-items: end; justify-content: space-between; gap: 48px; }
.solutions-heading h2 { max-width: 620px; }
.solution-tabs { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 62px; border-top: 1px solid rgba(255,255,255,.28); border-bottom: 1px solid rgba(255,255,255,.28); }
.solution-tab { display: flex; align-items: center; gap: 14px; min-height: 66px; padding: 0 18px 0 0; color: rgba(255,255,255,.53); text-align: left; background: transparent; border: 0; border-bottom: 3px solid transparent; font-family: var(--font-condensed); font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; transition: color .2s ease, border-color .2s ease; }
.solution-tab + .solution-tab { padding-left: 18px; border-left: 1px solid rgba(255,255,255,.18); }
.solution-tab:hover, .solution-tab:focus-visible { color: var(--white); outline: none; }
.solution-tab.is-active { color: var(--heat); border-bottom-color: var(--heat); }
.solution-tab:focus-visible { box-shadow: inset 0 -4px 0 rgba(242,140,40,.45); }
.solution-tab span { color: inherit; }
.tab-panels { margin-top: 34px; }
.solution-panel { display: grid; grid-template-columns: 1.02fr .98fr; min-height: 430px; background: #272c31; border: 1px solid rgba(255,255,255,.1); }
.solution-panel[hidden] { display: none; }
.solution-panel-copy { padding: 54px 58px; }
.solution-panel-copy .card-kicker { margin-top: 0; }
.solution-panel-copy h3 { max-width: 560px; margin: 30px 0 17px; font-size: clamp(32px, 4vw, 57px); line-height: 1; letter-spacing: -.055em; }
.solution-panel-copy h3 em { color: var(--heat); font-style: normal; }
.solution-panel-copy > p:not(.card-kicker) { max-width: 500px; color: rgba(255,255,255,.7); font-size: 15px; line-height: 1.75; }
.solution-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; max-width: 530px; margin-top: 44px; }
.solution-metrics span { padding: 11px 10px 0 0; color: rgba(255,255,255,.67); border-top: 1px solid rgba(255,255,255,.28); font-family: var(--font-condensed); font-size: 11px; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
.panel-visual { position: relative; display: grid; place-items: center; overflow: hidden; background: #171b1e; }
.panel-visual:before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 50%, rgba(242,140,40,.16), transparent 34%); }
.panel-visual strong { position: absolute; z-index: 1; right: 34px; bottom: 27px; color: rgba(255,255,255,.74); font-family: var(--font-condensed); font-size: 11px; letter-spacing: .18em; line-height: 1.05; text-align: right; }
.panel-visual .shield-orbit { right: auto; bottom: auto; width: 330px; height: 330px; }
.panel-visual-nvh { background: #20262b; }
.panel-visual-nvh:before { background: radial-gradient(circle at 48% 52%, rgba(113,154,176,.24), transparent 40%); }
.wave-grid { position: relative; width: 350px; height: 250px; transform: rotate(-17deg); }
.wave-grid i { position: absolute; left: 0; right: 0; height: 48px; border: 1px solid rgba(156,205,222,.5); border-left: 0; border-right: 0; border-radius: 50%; transform: skewX(-20deg); }
.wave-grid i:nth-child(1) { top: 0; opacity: .26; }.wave-grid i:nth-child(2) { top: 35px; opacity: .4; }.wave-grid i:nth-child(3) { top: 70px; opacity: .8; border-color: var(--heat); }.wave-grid i:nth-child(4) { top: 105px; opacity: .4; }.wave-grid i:nth-child(5) { top: 140px; opacity: .26; }
.panel-visual-combined { background: linear-gradient(135deg, #171b1e 0 50%, #272c31 50%); }
.panel-visual-combined:before { background: radial-gradient(circle at 51% 50%, rgba(242,140,40,.23), transparent 34%); }
.combined-core { position: relative; width: 250px; height: 250px; border: 1px solid rgba(242,140,40,.68); border-radius: 50%; transform: rotate(20deg); }
.combined-core:before, .combined-core:after { content: ""; position: absolute; inset: 29px; border: 1px solid rgba(255,255,255,.36); border-radius: 50%; }
.combined-core:after { inset: 59px; border-color: var(--heat); }.combined-core span { position: absolute; left: 50%; top: -20px; width: 1px; height: 290px; background: rgba(255,255,255,.22); }.combined-core span:nth-child(2) { transform: rotate(90deg); }
.applications-panel { grid-template-columns: .74fr 1.26fr; }
.applications-panel .solution-panel-copy { padding-right: 22px; }
.application-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; background: #171b1e; }
.application-card { padding: 25px 28px; border-bottom: 1px solid rgba(255,255,255,.16); }.application-card:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.16); }.application-card:nth-child(n+3) { border-bottom: 0; }
.application-card span { color: var(--heat); font-family: var(--font-condensed); font-size: 12px; letter-spacing: .14em; }.application-card h4 { margin: 34px 0 8px; color: var(--white); font-size: 18px; letter-spacing: -.03em; }.application-card p { margin: 0; color: rgba(255,255,255,.62); font-size: 13px; line-height: 1.6; }

@media (max-width: 900px) {
  .solutions-heading { display: block; }
  .solutions-heading h2 { margin-top: 28px; }
  .solution-panel, .applications-panel { grid-template-columns: 1fr; }
  .panel-visual { min-height: 280px; }
  .application-grid { min-height: 350px; }
}
@media (max-width: 650px) {
  .solutions-section { padding: 82px 0; }
  .solution-tabs { grid-template-columns: 1fr 1fr; margin-top: 39px; }
  .solution-tab { min-height: 58px; padding: 0 10px 0 0; font-size: 11px; }
  .solution-tab + .solution-tab { padding-left: 10px; }.solution-tab:nth-child(3) { border-left: 0; padding-left: 0; }.solution-tab:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.18); }
  .tab-panels { margin-top: 20px; }
  .solution-panel-copy { padding: 34px 25px 31px; }
  .solution-panel-copy h3 { margin-top: 24px; font-size: 37px; }
  .solution-panel-copy > p:not(.card-kicker) { font-size: 14px; }
  .solution-metrics { grid-template-columns: 1fr; gap: 9px; margin-top: 30px; }.solution-metrics span { padding-top: 9px; }
  .panel-visual { min-height: 250px; }.panel-visual .shield-orbit { width: 250px; height: 250px; }.wave-grid { transform: scale(.76) rotate(-17deg); }.combined-core { transform: scale(.78) rotate(20deg); }
  .application-grid { display: block; }.application-card, .application-card:nth-child(odd), .application-card:nth-child(n+3) { min-height: 155px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }.application-card:last-child { border-bottom: 0; }.application-card h4 { margin-top: 18px; }
}

/* Promo film */
.film-section { padding: 110px 0 118px; color: var(--white); background: #13171a; border-top: 1px solid rgba(255,255,255,.08); }
.film-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 64px; align-items: center; }
.film-copy h2 { margin: 0 0 24px; }
.film-copy > p:not(.eyebrow) { max-width: 400px; margin: 0 0 30px; color: rgba(255,255,255,.7); line-height: 1.75; }
.film-points { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.22); }
.film-points li { display: grid; grid-template-columns: 38px 1fr; gap: 10px; padding: 15px 0; color: rgba(255,255,255,.82); border-bottom: 1px solid rgba(255,255,255,.16); font-size: 15px; line-height: 1.4; }
.film-points b { color: var(--heat); font-family: var(--font-condensed); font-size: 15px; letter-spacing: .12em; }
.film-frame { position: relative; margin: 0; background: #000; border: 1px solid rgba(255,255,255,.14); box-shadow: 0 30px 80px rgba(0,0,0,.5), 0 0 0 1px rgba(242,140,40,.06); }
.film-frame:before { content: ""; position: absolute; z-index: 1; top: -1px; left: -1px; width: 88px; height: 5px; background: var(--heat); }
.film-frame video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #000; }
.film-frame figcaption { padding: 12px 16px; color: rgba(255,255,255,.55); font-family: var(--font-condensed); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; border-top: 1px solid rgba(255,255,255,.1); }
@media (max-width: 900px) {
  .film-section { padding: 76px 0 84px; }
  .film-layout { grid-template-columns: 1fr; gap: 36px; }
  .film-copy > p:not(.eyebrow) { max-width: none; }
}
.film-section-alt { background: #181d21; border-top: 1px solid rgba(255,255,255,.06); }
.film-layout-flip { grid-template-columns: 1.28fr .72fr; }
@media (max-width: 900px) {
  .film-layout-flip { grid-template-columns: 1fr; }
  .film-layout-flip .film-copy { order: -1; }
}

/* Splash (intro film) overlay */
.splash { display: none; position: fixed; inset: 0; z-index: 1000; background: #000; opacity: 1; transition: opacity .7s ease; }
.splash-on .splash { display: block; }
.splash-on body { overflow: hidden; }
.splash.is-leaving { opacity: 0; pointer-events: none; }
.splash-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #000; opacity: 0; transition: opacity .5s ease; }
.splash-video.is-current { opacity: 1; }
.splash-bar { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px max(20px, 3vw) 26px; background: linear-gradient(to top, rgba(0,0,0,.65), rgba(0,0,0,0)); }
.splash-sound, .splash-skip { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 18px; color: var(--white); background: rgba(19,23,26,.62); border: 1px solid rgba(255,255,255,.4); font-family: var(--font-condensed); font-size: 14px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; backdrop-filter: blur(6px); }
.splash-sound:hover, .splash-skip:hover, .splash-sound:focus-visible, .splash-skip:focus-visible { color: #171b1f; background: var(--heat); border-color: var(--heat); outline: none; }
.splash-sound.is-pulsing { animation: splashPulse 1.8s ease-in-out infinite; }
@keyframes splashPulse { 0%,100% { box-shadow: 0 0 0 0 rgba(242,140,40,.0); } 50% { box-shadow: 0 0 0 7px rgba(242,140,40,.28); } }
.splash-sound-icon { width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9v6h4l5 4V5L7 9H3zm13.5 3a4.5 4.5 0 0 0-2.5-4v8a4.5 4.5 0 0 0 2.5-4z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9v6h4l5 4V5L7 9H3zm13.5 3a4.5 4.5 0 0 0-2.5-4v8a4.5 4.5 0 0 0 2.5-4z'/%3E%3C/svg%3E") center/contain no-repeat; }
.splash-count { color: rgba(255,255,255,.75); font-family: var(--font-condensed); font-size: 14px; letter-spacing: .2em; }
.splash-progress { position: absolute; z-index: 3; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255,255,255,.14); }
.splash-progress i { display: block; width: 0; height: 100%; background: var(--heat); }
@media (max-width: 600px) {
  .splash-count { display: none; }
  .splash-sound, .splash-skip { padding: 0 14px; font-size: 13px; letter-spacing: .1em; }
}
