:root {
  color-scheme: dark;
  --bg: #07111c;
  --panel: #091725;
  --text: #f0f2ff;
  --muted: #b7c6d8;
  --orange: #ff5900;
  --orange-light: #ff792d;
  --border: #263d53;
  --ease: cubic-bezier(.22, 1, .36, 1);
  --heading: 'Plus Jakarta Sans', 'Segoe UI', sans-serif;
  --body: 'Inter', 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 28px; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--body); font-size: 18px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body, main { min-width: 0; }
img { display: block; max-width: 100%; height: auto; }
svg { display: block; }
button, a, summary { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
button, summary { font: inherit; }
button, a, summary { touch-action: manipulation; }
:focus-visible { outline: 2px solid var(--orange-light); outline-offset: 6px; }
::selection { background: #ff59004d; color: white; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { font-family: var(--heading); line-height: 1.15; }
h1 { font-size: clamp(44px, 4vw, 60px); font-weight: 800; letter-spacing: -.025em; }
h2 { font-size: clamp(40px, 3.9vw, 58px); font-weight: 700; letter-spacing: -.025em; }
h3 { font-size: 23px; font-weight: 700; letter-spacing: -.025em; }
p { color: var(--muted); }
.accent { color: var(--orange); }
.container { width: calc(100% - 56px); max-width: 1280px; margin-inline: auto; }
.grid-12 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 20px; }
.centered { text-align: center; }
.section { position: relative; padding-block: 90px; }
.section-heading h2 { margin-bottom: 28px; }
.section-heading > p:not(.eyebrow) { max-width: 740px; font-size: 21px; line-height: 1.6; }
.section-heading.centered > p:not(.eyebrow) { margin-inline: auto; }
.section-heading.centered h2 { max-width: 1120px; margin-inline: auto; }
.section-heading .subheading { color: #d6e5f8; font-size: 27px !important; margin-bottom: 20px; }
.eyebrow { color: #c6d8ee; text-transform: uppercase; letter-spacing: .27em; font-size: 13px; font-weight: 500; margin-bottom: 27px; line-height: 1.7; }
.eyebrow > span { color: var(--orange); margin-right: 12px; font-weight: 700; }
.icon { width: 32px; height: 32px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.svg-library { position: absolute; width: 0; height: 0; overflow: hidden; }
.skip-link { position: fixed; z-index: 50; left: 20px; top: 15px; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); padding: 12px 20px; background: var(--orange); color: white; border-radius: 6px; }
.skip-link:focus { width: auto; height: auto; clip-path: none; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 62px; padding: 18px 26px; border: 1px solid transparent; border-radius: 10px; background: linear-gradient(110deg, #ff6504, #ff5000); color: #07111c; font-weight: 600; font-size: 18px; line-height: 1.4; text-decoration: none; transition: background-color 180ms, box-shadow 180ms, transform 180ms var(--ease); }
.button .icon { width: 25px; height: 25px; transition: transform 180ms var(--ease); }
.button:active { transform: scale(.99); }
.button-link { border-radius: 0; background: none; padding: 10px 0; min-height: 44px; border-bottom: 1px solid var(--orange); color: var(--orange); }
@media (hover: hover) {
  .button:hover { background: var(--orange-light); box-shadow: 0 8px 28px #ff590026; }
  .button:hover .icon:last-child { transform: translateX(3px); }
  .button-link:hover { background: none; box-shadow: none; color: #ff914b; }
}

/* The approved composition stays still; only the foreground layers animate. */
.hero { position: relative; isolation: isolate; padding-top: 56px; padding-bottom: 25px; }
.hero-environment { position: absolute; z-index: -1; inset: 0 0 -150px; overflow: hidden; pointer-events: none; background: radial-gradient(ellipse at 67% 65%, #b241071a, transparent 40%), linear-gradient(0deg, var(--bg), #07111c00 65%), url('assets/hero-factory.webp') center top / cover no-repeat; }
.hero-environment::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #07111c9c, #07111c4d 55%, #07111c36), linear-gradient(0deg, var(--bg), transparent 60%); }
.brand-header img { width: 330px; }
.brand-header a { display: inline-block; }
.hero-grid { align-items: center; margin-top: 52.5px; padding-bottom: 48px; }
.hero-copy { grid-column: span 6; position: relative; z-index: 2; padding-bottom: 20px; }
.hero-copy .lead { max-width: 540px; margin-block: 28px 28px; font-size: 19px; line-height: 1.65; }
.hero-copy .eyebrow { font-size: 12px; }
.hero-copy .button { font-size: 16px; padding-inline: 23px; }
.hero-art { grid-column: span 6; aspect-ratio: 720 / 460; margin-inline: -6px -25px; }
.layered-art { position: relative; isolation: isolate; overflow: clip; }
.art-layer { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; pointer-events: none; }
.hero-art .layer-1 { z-index: 5; }
.hero-art .layer-2 { z-index: 4; }
.hero-art .layer-3 { z-index: 3; }
.hero-art .layer-4 { z-index: 2; }
.hero-art .layer-5 { z-index: 1; }
.hero-floor { position: absolute; top: 86%; left: -5%; width: 110%; height: 24%; object-fit: cover; opacity: .15; mask-image: radial-gradient(ellipse, #000 25%, transparent 70%); }
.hero-light { position: absolute; bottom: -4%; left: 15%; width: 65%; height: 20%; z-index: -1; background: radial-gradient(ellipse, #ff590026, transparent 65%); opacity: 0; }
.benefits { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding-block: 42px 46px; }
.benefit { display: flex; gap: 25px; align-items: center; padding: 5px 35px; }
.benefit:not(:last-child) { border-right: 1px solid var(--border); }
.benefit .icon { color: var(--orange); width: 44px; height: 44px; }
.benefit p { max-width: 230px; font-size: 17px; line-height: 1.55; }

.comparison { padding-top: 81px; padding-bottom: 90px; }
.comparison .section-heading > p:not(.eyebrow) { max-width: 790px; }
.comparison-question { font-size: 28px; margin-top: 34px; }
.comparison-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: center; margin-top: 32px; }
.comparison-side { display: grid; grid-template-columns: minmax(170px, .65fr) minmax(0, 1.35fr); align-items: center; gap: 10px; min-width: 0; }
.comparison-side.conversion { grid-template-columns: minmax(0, 1.35fr) minmax(170px, .65fr); }
.comparison-side h3 { font-size: 24px; margin-bottom: 25px; }
.comparison-side.traditional h3 { color: #c9d6fb; }
.comparison-image { width: 100%; mask-image: linear-gradient(0deg, transparent, black 12%, black 95%, transparent), linear-gradient(90deg, transparent, black 5%, black 95%, transparent); mask-composite: intersect; }
.icon-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 20px; }
.icon-list li { display: flex; align-items: center; gap: 15px; font-size: 16px; line-height: 1.5; color: var(--muted); }
.icon-list .icon { width: 50px; height: 50px; padding: 10px; border-radius: 50%; color: var(--orange); background: #ff59000a; border: 1px solid #ff590057; }
.traditional .icon-list .icon { color: #aabbe0; background: #b8cced12; border-color: #b8cced16; }
.comparison-cta { margin-top: 25px; }
.comparison-side.conversion { position: relative; }
.comparison-side.conversion::before { position: absolute; content: ''; pointer-events: none; inset: 20% 20% 0 0; background: radial-gradient(ellipse at 45% 80%, #ff590015, transparent 60%); z-index: -1; }

.specialization { padding-top: 99px; }
.b2b-intro { position: relative; min-height: 350px; }
.b2b-intro .section-heading { position: relative; z-index: 1; max-width: 980px; }
.b2b-intro .section-heading > p:not(.eyebrow) { max-width: 770px; }
.metal-art { position: absolute; right: -80px; top: -80px; width: 480px; z-index: 0; overflow: hidden; mask-image: linear-gradient(90deg, transparent, black 35%), linear-gradient(0deg, transparent, black 20%); mask-composite: intersect; }
.metal-art img { width: 100%; opacity: .8; }
.metal-shine { position: absolute; inset: -10% -20%; background: linear-gradient(110deg, transparent 44%, #b9dbff25 49%, transparent 54%); transform: translateX(-100%); opacity: 0; }
.pillars { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 36px; position: relative; z-index: 1; }
.feature { display: flex; align-items: flex-start; gap: 26px; padding-block: 30px; min-width: 0; }
.feature p { margin-top: 10px; font-size: 18px; line-height: 1.55; }
.feature-icon { flex-shrink: 0; color: var(--orange); }
.feature-icon .icon { width: 44px; height: 44px; }
.pillars .feature { padding: 32px 24px 35px 0; }
.pillars .feature:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
.pillars .feature-icon { padding: 25px; border: 1px solid #25394f; border-radius: 18px; background: #06132066; }
.pillars .feature-icon .icon { width: 48px; height: 48px; }
.pillars .feature > div:last-child { padding-top: 9px; }

.differences { padding-top: 99px; }
.differences-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 20px; }
.differences-grid > .section-heading { grid-column: 1 / 7; grid-row: 1; }
.differences h2 { font-size: clamp(38px, 3.4vw, 50px); }
.devices-art { grid-column: 7 / 13; grid-row: 1 / 3; align-self: center; position: relative; margin: -25px 0 0; mask-image: linear-gradient(0deg, transparent, black 18%, black 90%, transparent); }
.devices-art img { width: 100%; mask-image: linear-gradient(90deg, transparent, black 9%, black 95%, transparent); }
.difference-list { grid-column: 1 / 7; grid-row: 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 25px; margin-top: 35px; }
.difference-list .feature { gap: 17px; border-bottom: 1px solid var(--border); padding-block: 23px; }
.difference-list .feature:nth-last-child(-n+2) { border-bottom: 0; }
.difference-list .feature-icon .icon { width: 35px; height: 35px; }
.difference-list .feature h3 { font-size: 19px; }
.difference-list .feature p { font-size: 16px; margin-top: 7px; }

.portfolio .section-heading h2 { font-size: clamp(35px, 3.4vw, 50px); }
.portfolio-art { width: min(100%, 1440px); margin: 55px auto 0; aspect-ratio: 1440 / 590; }
.portfolio-floor { width: 100%; height: 100%; mask-image: linear-gradient(0deg, transparent, black 8%, black 10%, transparent 18%); }
.portfolio-art .layer-3 { z-index: 5; }
.portfolio-art .layer-2, .portfolio-art .layer-4 { z-index: 4; }
.portfolio-art .layer-1, .portfolio-art .layer-5 { z-index: 3; }

.engineering { padding-top: 60px; }
.engineering .section-heading h2 { font-size: 68px; }
.engineering .section-heading > p:not(.eyebrow) { max-width: 930px; }
.engineering-map { position: relative; height: 660px; margin-top: 44px; isolation: isolate; }
.engineering-core { position: absolute; width: 460px; height: 460px; left: calc(50% - 230px); top: 147px; z-index: 1; }
.engineering-core img { width: 100%; height: 100%; mask-image: radial-gradient(ellipse 60% 57% at 50% 44%, black 62%, transparent 94%); }
.core-highlight { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: #ffd39d; stroke-width: .5; opacity: 0; stroke-dasharray: 20 194; }
.engineering-card { position: absolute; z-index: 3; display: flex; align-items: center; gap: 21px; width: 282px; min-height: 98px; padding: 20px 24px; border: 1px solid #385271; border-radius: 12px; background: linear-gradient(135deg, #081321f5, #0b1725fa); }
.engineering-card > .icon { color: var(--orange); width: 38px; height: 38px; }
.engineering-card > p { font-size: 17px; line-height: 1.4; color: #f1f4ff; }
.engineering-card-1 { left: calc(50% - 141px); top: 0; }
.engineering-card-2 { right: 45px; top: 115px; }
.engineering-card-3 { right: 0; top: 295px; }
.engineering-card-4 { right: 30px; top: 500px; }
.engineering-card-5 { left: 30px; top: 500px; }
.engineering-card-6 { left: 0; top: 295px; }
.engineering-card-7 { left: 45px; top: 115px; }
.connections { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; overflow: visible; pointer-events: none; }
.connection-base { fill: none; stroke: url(#connection-color); stroke-width: 1.15; opacity: .55; }
.connection-signal { fill: none; stroke: #ffb051; stroke-width: 2; opacity: 0; }
.connection-dot { fill: #ff8c30; }
.engineering-cta { margin-top: 5px; }
.engineering-cta .button { min-width: 320px; }

.seo { border-top: 1px solid #20324888; }
.seo-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 20px; align-items: center; }
.seo-copy { grid-column: 1 / 7; }
.seo h2 { font-size: 65px; }
.seo-features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 30px; }
.seo-features .feature { display: block; padding: 24px; border: 1px solid var(--border); border-radius: 10px; }
.seo-features .feature-icon { margin-bottom: 10px; }
.seo-features .feature-icon .icon { width: 35px; height: 35px; }
.seo-features .feature h3 { font-size: 26px; }
.seo-features .feature p { font-size: 16px; }
.seo-complement { font-size: 18px; margin-top: 26px; }
.seo-art { grid-column: 7 / 13; aspect-ratio: 1; margin-right: 0; }
.seo-floor { width: 100%; height: 100%; mask-image: linear-gradient(0deg, transparent, black 9%, black 14%, transparent 22%); }
.seo-art::before { content: ''; position: absolute; inset: 10% 0; z-index: -1; background: radial-gradient(ellipse at 75% 60%, #16457745, transparent 65%), radial-gradient(ellipse at 10% 60%, #ff590019, transparent 60%); }
.seo-art .layer-1 { z-index: 1; }
.seo-art .layer-2 { z-index: 2; }
.seo-art .layer-3 { z-index: 3; }
.seo-art .layer-4 { z-index: 4; }
.seo-light { position: absolute; inset: 30% 30% 45% 35%; z-index: 5; pointer-events: none; background: linear-gradient(100deg, transparent, #ff7b2338, transparent); opacity: 0; }
.platforms { list-style: none; display: flex; align-items: center; gap: 0; margin: 32px 0 0; padding: 0; }
.platforms li { display: flex; align-items: center; gap: 9px; font-size: 16px; color: #bbcae8; padding-inline: 16px; border-right: 1px solid var(--border); }
.platforms li:first-child { padding-left: 0; }
.platforms li:last-child { padding-right: 0; border-right: 0; }
.platforms li > span { font-size: 29px; font-weight: 700; line-height: 1; }

.authority { padding-top: 99px; }
.authority-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 20px; align-items: center; }
.authority-copy { grid-column: 1 / 7; grid-row: 1; position: relative; z-index: 2; }
.authority-copy h2 { font-size: clamp(44px, 4.1vw, 63px); }
.authority-copy > p { max-width: 590px; margin-top: 25px; font-size: 21px; }
.authority-portrait { grid-column: 7 / 13; grid-row: 1 / 3; position: relative; isolation: isolate; width: 100%; justify-self: end; margin: 0; }
.authority-portrait > img { position: relative; width: 100%; mask-image: linear-gradient(0deg, transparent, #0006 9%, black 24%, black 78%, #0006 94%, transparent), linear-gradient(90deg, transparent, #0006 10%, black 28%, black 72%, #0006 90%, transparent); mask-composite: intersect; }
.authority-caption { grid-column: 1 / 7; grid-row: 2; margin-top: 22px; align-self: start; }
.authority-caption p { font-size: 16px; max-width: 580px; }
.authority-caption p strong { color: #e5ecf7; }

.process .section-heading { margin-bottom: 55px; }
.process-steps { list-style: none; padding: 0; margin: 0 0 55px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 28px; }
.process-step { position: relative; text-align: center; }
.step-number { display: grid; place-items: center; width: 66px; height: 66px; border: 1px solid var(--orange); border-radius: 50%; color: white; font-size: 24px; font-weight: 600; background: var(--bg); position: relative; z-index: 1; margin: 0 auto 24px; }
.process-step:not(:last-child)::after { content: ''; position: absolute; left: calc(50% + 42px); right: calc(-50% + 14px); height: 1px; top: 33px; background: #754424; }
.process-step.is-revealed:not(:last-child)::after { animation: step-line 500ms var(--ease) both; transform-origin: left; background: var(--orange); }
.step-content > .icon { margin: 0 auto 18px; color: var(--orange); width: 39px; height: 39px; }
.step-content h3 { font-size: 21px; margin-bottom: 10px; }
.step-content p { font-size: 17px; line-height: 1.55; }
.process-step.is-revealed .step-number { animation: step-number 700ms var(--ease) both; }
.testimonial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; margin-top: 40px; }
.testimonial { display: flex; flex-direction: column; padding: 32px; border: 1px solid var(--border); border-radius: 12px; background: #081522a8; }
.quote-mark { color: var(--orange); font: 800 66px/1 var(--heading); height: 65px; }
.testimonial blockquote { margin: 0; flex: 1; }
.testimonial blockquote p { color: #e8edf7; font-size: 18px; line-height: 1.65; }
.testimonial figcaption { margin-top: 30px; padding-top: 18px; position: relative; display: flex; flex-direction: column; font-size: 16px; }
.testimonial figcaption::before { content: ''; position: absolute; left: 0; top: 0; width: 30px; height: 2px; background: var(--orange); }
.testimonial figcaption > span { color: var(--muted); }

.contact { padding-top: 99px; }
.contact-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 20px; align-items: center; }
.contact-copy { grid-column: 1 / 7; z-index: 2; }
.contact-copy > p { max-width: 610px; margin-block: 30px; font-size: 22px; }
.contact-image { grid-column: 7 / 13; width: 100%; max-height: 700px; object-fit: cover; margin: -40px 0 0; mask-image: linear-gradient(90deg, transparent, black 20%), linear-gradient(0deg, transparent, black 18%, black 93%, transparent); mask-composite: intersect; }
.contact-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 45px; }
.contact-benefits .benefit { padding-left: 0; justify-content: center; }
.contact-benefits .benefit p { font-size: 23px; }
.faq .section-heading { margin-bottom: 38px; }
.faq .section-heading > p:not(.eyebrow) { max-width: 1080px; }
.faq-list { display: grid; gap: 10px; }
.faq-item { border: 1px solid var(--border); border-radius: 9px; background: #06152266; overflow: clip; }
.faq-item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 20px 26px; font-size: 18px; line-height: 1.5; min-height: 68px; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:hover { background: #18304822; }
.faq-item summary:focus-visible { outline-offset: -5px; border-radius: 8px; }
.faq-plus { flex-shrink: 0; width: 20px; height: 20px; position: relative; }
.faq-plus::before, .faq-plus::after { content: ''; position: absolute; background: var(--orange); width: 18px; height: 2px; left: 1px; top: 9px; }
.faq-plus::after { transform: rotate(90deg); transition: transform 180ms var(--ease), opacity 180ms; }
.faq-item[open] .faq-plus::after { transform: rotate(0deg); opacity: 0; }
.faq-answer { padding: 0 26px 24px; font-size: 18px; max-width: 1150px; }
.footer { position: relative; isolation: isolate; padding-block: 100px 65px; overflow: hidden; }
.footer-environment { position: absolute; z-index: -1; inset: -20px 0 0; background: linear-gradient(0deg, #07111c80, transparent 50%), linear-gradient(90deg, var(--bg) 15%, #07111cb0 55%, #07111c22), url('assets/factory.webp') right center / auto 130% no-repeat; mask-image: linear-gradient(0deg, black 85%, transparent); }
.footer-brand { display: inline-block; margin-bottom: 25px; }
.footer-brand img { width: 464px; }
.footer-tagline { color: #f1f4ff; font-size: 23px; font-weight: 650; margin-bottom: 10px; }
.footer-description { max-width: 650px; font-size: 17px; }
.copyright { font-size: 14px; margin-top: 50px; }
@keyframes step-line { from { transform: scaleX(.05); opacity: .4; } to { transform: scaleX(1); opacity: 1; } }
@keyframes step-number { 35% { box-shadow: 0 0 20px #ff590026; } }

@media (max-width: 1100px) {
  .hero-grid { margin-top: 37.5px; }
  .hero-copy .button { font-size: 15px; gap: 12px; }
  .comparison-content h3 { font-size: 19px; }
  .comparison-side { grid-template-columns: minmax(140px, .8fr) minmax(0, 1.2fr); }
  .comparison-side.conversion { grid-template-columns: minmax(0, 1.2fr) minmax(140px, .8fr); }
  .icon-list li { font-size: 14px; gap: 9px; }
  .icon-list .icon { width: 40px; height: 40px; padding: 8px; }
  .metal-art { right: -20px; width: 370px; }
  .engineering-card { width: 225px; gap: 14px; padding-inline: 18px; }
  .engineering-card > p { font-size: 15px; }
  .engineering-card-1 { left: calc(50% - 112.5px); }
  .engineering-core { width: 400px; height: 400px; left: calc(50% - 200px); top: 185px; }
  .engineering-card-2, .engineering-card-4 { right: 0; }
  .engineering-card-5, .engineering-card-7 { left: 0; }
  .platforms li { padding-inline: 9px; font-size: 14px; gap: 5px; }
  .platforms li > span { font-size: 22px; }
  .testimonial { padding: 26px; }
}

@media (max-width: 800px) {
  body { font-size: 16px; line-height: 1.55; }
  .container { width: calc(100% - 48px); }
  .section { padding-block: 36px; }
  h1 { font-size: clamp(32px, 7vw, 44px); line-height: 1.18; letter-spacing: -.025em; }
  h2 { font-size: clamp(31px, 6.8vw, 40px); line-height: 1.17; letter-spacing: -.025em; }
  h3 { font-size: 18px; line-height: 1.35; }
  .section-heading h2 { margin-bottom: 24px; }
  .section-heading > p:not(.eyebrow) { font-size: 16px; line-height: 1.55; }
  .section-heading.centered { text-align: left; }
  .section-heading .subheading { font-size: 20px !important; line-height: 1.4; }
  .eyebrow { font-size: 10px; letter-spacing: .16em; margin-bottom: 24px; }
  .desktop-break { display: none; }
  .button { width: 100%; min-height: 56px; padding: 17px 18px; font-size: 15px; gap: 13px; border-radius: 8px; }
  .button-link { justify-content: flex-start; background: none; border-radius: 0; font-size: 16px; width: auto; }
  .button .icon { width: 22px; height: 22px; }
  .hero { padding-top: 28px; padding-bottom: 0; }
  .hero-environment { inset: 60% 0 0; opacity: .8; mask-image: linear-gradient(0deg, transparent, black 20%, black 70%, transparent); }
  .brand-header img { width: 209px; }
  .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 30px; padding-bottom: 0; }
  .hero-copy, .hero-art { grid-column: 1; }
  .hero-copy { padding: 0; }
  .hero-copy .eyebrow { font-size: 10px; letter-spacing: .08em; }
  .hero-copy h1 .accent { display: inline-block; margin-bottom: 4px; }
  .hero-copy .lead { margin-block: 25px 28px; font-size: 16px; }
  .hero-copy .button { font-size: 14px; padding-inline: 14px; gap: 8px; }
  .hero-copy .button .icon { width: 18px; height: 18px; }
  .hero-art { aspect-ratio: 720 / 460; margin: 15px -15px 20px; }
  .hero-floor { opacity: .12; }
  .benefits { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-block: 30px 36px; }
  .benefit { padding: 0; gap: 24px; }
  .benefit:not(:last-child) { border: 0; }
  .benefit .icon { width: 31px; height: 31px; }
  .benefit p { font-size: 16px; max-width: none; }
  .comparison { padding-top: 29px; padding-bottom: 36px; }
  .comparison .eyebrow { font-size: 9px; letter-spacing: .06em; }
  .comparison-question { margin-top: 28px; font-size: 20px; }
  .comparison-grid { grid-template-columns: minmax(0, 1fr); gap: 42px; margin-top: 32px; }
  .comparison-side, .comparison-side.conversion { display: flex; flex-direction: column; gap: 20px; }
  .comparison-content { display: contents; }
  .comparison-side h3 { order: 0; align-self: stretch; font-size: 23px; margin-bottom: 0; }
  .comparison-image { order: 1; max-width: 320px; margin-inline: auto; }
  .icon-list { order: 2; align-self: stretch; gap: 18px; }
  .icon-list li { font-size: 16px; gap: 22px; }
  .icon-list .icon { width: 38px; height: 38px; }
  .comparison-cta { text-align: left; margin-top: 32px; }
  .specialization, .differences, .authority, .contact { padding-top: 43px; }
  .b2b-intro { min-height: 0; }
  .metal-art { position: relative; right: auto; top: auto; width: 100%; max-width: 380px; margin: 20px auto 24px; mask-image: radial-gradient(ellipse, black 40%, transparent 75%); }
  .metal-art img { opacity: 1; }
  .pillars { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .pillars .feature { padding: 26px 0; border-bottom: 1px solid var(--border); gap: 25px; }
  .pillars .feature:last-child { border-bottom: 0; }
  .pillars .feature-icon { padding: 0; border: 0; background: none; }
  .pillars .feature-icon .icon { width: 33px; height: 33px; }
  .pillars .feature > div:last-child { padding-top: 0; }
  .feature h3 { font-size: 18px; }
  .feature p { font-size: 16px; margin-top: 8px; line-height: 1.55; }
  .differences-grid { display: flex; flex-direction: column; }
  .differences h2, .portfolio .section-heading h2 { font-size: clamp(31px, 6.8vw, 40px); }
  .devices-art { width: 100%; max-width: 500px; margin: 30px auto 8px; }
  .difference-list { display: flex; flex-direction: column; margin-top: 0; }
  .difference-list .feature { padding-block: 26px; gap: 24px; }
  .difference-list .feature:nth-last-child(2) { border-bottom: 1px solid var(--border); }
  .difference-list .feature-icon .icon { width: 32px; height: 32px; }
  .difference-list .feature h3 { font-size: 18px; }
  .difference-list .feature p { font-size: 16px; }
  .portfolio-art { margin-top: 35px; width: 100%; }
  .engineering { padding-top: 36px; }
  .engineering .section-heading h2 { font-size: clamp(31px, 6.8vw, 40px); }
  .engineering-map { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; row-gap: 35px; height: auto; margin-top: 38px; }
  .engineering-card { position: relative; inset: auto; width: 100%; min-height: 108px; padding: 14px 12px; flex-direction: column; justify-content: center; gap: 9px; text-align: center; border-radius: 10px; }
  .engineering-card > .icon { width: 25px; height: 25px; }
  .engineering-card > p { font-size: 14px; line-height: 1.4; }
  .engineering-card-1 { grid-column: 1; grid-row: 1; }
  .engineering-card-2 { grid-column: 2; grid-row: 1; }
  .engineering-card-3 { grid-column: 1; grid-row: 2; }
  .engineering-card-4 { grid-column: 2; grid-row: 2; }
  .engineering-core { position: relative; inset: auto; grid-column: 1 / -1; grid-row: 3; width: min(100%, 320px); height: auto; aspect-ratio: 1; justify-self: center; margin-block: 3px -5px; }
  .engineering-card-5 { grid-column: 1; grid-row: 4; }
  .engineering-card-6 { grid-column: 2; grid-row: 4; }
  .engineering-card-7 { grid-column: 1 / -1; grid-row: 5; width: calc((100% - 22px) / 2); min-width: 155px; justify-self: center; }
  .engineering-cta { margin-top: 34px; }
  .engineering-cta .button { min-width: 0; }
  .seo { border-top: 0; }
  .seo-grid { display: flex; flex-direction: column; align-items: stretch; }
  .seo h2 { font-size: clamp(31px, 6.8vw, 40px); }
  .seo-features { display: flex; flex-direction: column; gap: 0; margin-top: 16px; }
  .seo-features .feature { display: flex; padding: 24px 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; }
  .seo-features .feature-icon { margin-bottom: 0; }
  .seo-features .feature-icon .icon { width: 32px; height: 32px; }
  .seo-features .feature h3 { font-size: 20px; }
  .seo-complement { font-size: 16px; margin-top: 24px; }
  .seo-art { width: 100%; max-width: 500px; margin: 20px auto 0; }
  .seo-copy { display: contents; }
  .platforms { order: 2; flex-wrap: wrap; gap: 12px 20px; justify-content: center; margin-top: 0; }
  .platforms li { padding-inline: 0; border: 0; font-size: 15px; }
  .platforms li > span { font-size: 22px; }
  .authority-grid { display: flex; flex-direction: column; align-items: stretch; }
  .authority-copy h2 { font-size: clamp(31px, 6.8vw, 40px); }
  .authority-copy > p { font-size: 16px; margin-top: 22px; }
  .authority-portrait { width: 100%; max-width: 630px; margin: 16px auto 0; }
  .authority-caption { margin-top: 0; }
  .authority-caption p { font-size: 16px; }
  .process .section-heading { margin-bottom: 35px; }
  .process-steps { display: flex; flex-direction: column; gap: 28px; margin-bottom: 35px; }
  .process-step { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 18px; text-align: left; min-height: 95px; padding-bottom: 12px; }
  .step-number { width: 40px; height: 40px; font-size: 16px; margin: 0; }
  .process-step:not(:last-child)::after { left: 20px; right: auto; width: 1px; height: calc(100% - 28px); top: 52px; }
  .process-step.is-revealed:not(:last-child)::after { animation: none; }
  .step-content > .icon { display: none; }
  .step-content h3 { font-size: 20px; margin-bottom: 7px; }
  .step-content p { font-size: 16px; }
  .testimonial-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 28px; }
  .testimonial { padding: 26px 24px; }
  .testimonial blockquote p { font-size: 16px; line-height: 1.55; }
  .testimonial figcaption { font-size: 14px; }
  .testimonial figcaption > strong { font-size: 16px; }
  .contact-grid { display: flex; flex-direction: column; align-items: stretch; }
  .contact-copy > p { font-size: 16px; margin-block: 24px 28px; }
  .contact-image { width: 100%; max-width: 350px; margin: 15px auto 0; }
  .contact-benefits { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 22px; }
  .contact-benefits .benefit { justify-content: flex-start; }
  .contact-benefits .benefit p { font-size: 16px; }
  .faq .section-heading { margin-bottom: 30px; }
  .faq-item summary { padding: 17px 14px; font-size: 15px; gap: 14px; min-height: 68px; }
  .faq-plus { width: 16px; height: 18px; }
  .faq-plus::before, .faq-plus::after { width: 14px; }
  .faq-answer { padding: 0 14px 20px; font-size: 15px; }
  .footer { padding-top: 95px; padding-bottom: 45px; }
  .footer-environment { inset: 0 0 auto; height: 280px; background-size: cover; background-position: center; opacity: .6; mask-image: linear-gradient(0deg, transparent, black 40%, transparent); }
  .footer .container { padding-top: 120px; }
  .footer-brand img { width: 253px; }
  .footer-tagline { font-size: 18px; }
  .footer-description { font-size: 16px; }
  .copyright { font-size: 12px; margin-top: 30px; }
}
@media (max-width: 360px) {
  .container { width: calc(100% - 40px); }
  .hero-copy .button { font-size: 13px; padding-inline: 12px; }
  .engineering-map { column-gap: 16px; }
  .engineering-card { padding-inline: 8px; }
  .engineering-card > p { font-size: 13px; }
  .engineering-card-7 { min-width: 145px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .button:active, .button:hover .icon:last-child { transform: none; }
}

/* Five true front-facing planes form the rotating portfolio. */
.portfolio-art { perspective: 1200px; }
.portfolio-card { position: absolute; left: 31%; top: 12%; width: 38%; height: auto; overflow: hidden; border: 1px solid #7497c180; border-radius: 10px; background: #06111d; transform-origin: center; backface-visibility: hidden; box-shadow: 0 12px 24px #0005; }
.portfolio-texture { width: 100%; height: auto; }
.portfolio-browser { display: flex; align-items: center; gap: 5px; height: 18px; padding-left: 9px; background: #07111c; }
.portfolio-browser i { width: 5px; height: 5px; background: #ff6058; border-radius: 50%; }
.portfolio-browser i:nth-child(2) { background: #fcbf3b; }
.portfolio-browser i:nth-child(3) { background: #29ca42; }
.portfolio-card[data-card="0"] { transform: translateX(-105%) rotateY(44deg) scale(.72); z-index: 1; }
.portfolio-card[data-card="1"] { transform: translateX(-60%) rotateY(35deg) scale(.86); z-index: 3; }
.portfolio-card[data-card="2"] { transform: translateX(0) rotateY(0) scale(1); z-index: 5; }
.portfolio-card[data-card="3"] { transform: translateX(60%) rotateY(-35deg) scale(.86); z-index: 3; }
.portfolio-card[data-card="4"] { transform: translateX(105%) rotateY(-44deg) scale(.72); z-index: 1; }
@media (max-width: 800px) { .portfolio-card { border-radius: 4px; } .portfolio-browser { height: 8px; gap: 3px; padding-left: 4px; } .portfolio-browser i { width: 2px; height: 2px; } }

.portfolio-art:not(.is-ready) .portfolio-card { visibility: hidden; }
.portfolio-art:not(.is-ready) .portfolio-floor { mask-image: none; }

.hero-art { perspective: 1400px; perspective-origin: 50% 50%; }
.hero-plane { position: absolute; left: 1%; top: 50%; width: 61.6%; aspect-ratio: var(--hero-ratio); background: #06111d; border: 1px solid #96aac577; border-radius: 8px; overflow: hidden; transform-origin: 50% 50%; backface-visibility: hidden; box-shadow: 0 16px 35px #0005; }
.hero-texture { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.hero-plane { transform: translateX(calc(var(--slot) * 20%)) translateY(-50%) rotateY(-12deg) rotateZ(0deg) scale(calc(1 - var(--slot) * .12)); z-index: calc(5 - var(--slot)); }
@media (max-width: 800px) { .hero-plane { border-radius: 4px; } }
