:root {
  --navy-950: #102f57;
  --navy-900: #173f72;
  --navy-800: #1d4d88;
  --blue: #275d9e;
  --blue-bright: #3975b9;
  --gold: #d9aa4b;
  --gold-dark: #aa7b23;
  --gold-pale: #f6ecd5;
  --gold-gradient: linear-gradient(135deg, #aa7b23 0%, #edca73 52%, #bd8a2b 100%);
  --ink: #18324f;
  --muted: #66778a;
  --line: #d9e1e9;
  --line-dark: rgba(255,255,255,.15);
  --paper: #f3f6f9;
  --white: #fff;
  --success: #187352;
  --shadow-sm: 0 12px 35px rgba(18, 55, 99, .09);
  --shadow-lg: 0 28px 80px rgba(13, 47, 87, .2);
  --radius: 18px;
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: clip; color: var(--ink); background: var(--white); font-family: Inter, "Segoe UI", Arial, sans-serif; line-height: 1.6; -webkit-font-smoothing: antialiased; }
body.nav-open { overflow: hidden; }
main { animation: pageCanvasIn .65s cubic-bezier(.22,1,.36,1) both; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img, svg { display: block; max-width: 100%; }
.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; clip: rect(0,0,0,0); white-space: nowrap; overflow: hidden; border: 0; }
.skip-link { position: fixed; z-index: 200; left: 1rem; top: -5rem; padding: .7rem 1rem; border-radius: 8px; background: var(--gold); color: var(--navy-950); font-weight: 800; }
.skip-link:focus { top: 1rem; }

[data-site-header] { position: sticky; top: 0; z-index: 60; animation: headerDrop .6s cubic-bezier(.22,1,.36,1) both; }
.site-header { position: relative; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(23,63,114,.12); backdrop-filter: blur(18px); transition: box-shadow .25s ease, background .25s ease; }
.site-header.is-scrolled { background: rgba(255,255,255,.985); box-shadow: 0 10px 35px rgba(6,24,44,.09); }
.scroll-progress { position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; pointer-events: none; background: var(--gold-gradient); transform: scaleX(0); transform-origin: left; transition: transform .1s linear; }
.nav-shell { min-height: 104px; display: flex; align-items: center; gap: 2rem; }
.brand { position: relative; width: 320px; flex: 0 0 auto; display: block; overflow: hidden; }
.brand::after { content: ""; position: absolute; inset: -35% auto -35% -28%; width: 16%; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(255,255,255,.78), transparent); transform: translateX(-220%) skewX(-18deg); transition: transform .75s cubic-bezier(.22,1,.36,1); }
.brand:hover::after { transform: translateX(900%) skewX(-18deg); }
.brand img { width: 100%; height: auto; animation: logoSettle .8s .12s cubic-bezier(.22,1,.36,1) both; transition: transform .35s cubic-bezier(.22,1,.36,1), filter .35s ease; transform-origin: left center; }
.brand:hover img { filter: saturate(1.08); transform: scale(1.022); }
.nav-links { margin-left: auto; display: flex; align-items: center; gap: .15rem; }
.nav-links a { position: relative; padding: .72rem .72rem; color: #354b62; font-size: .86rem; font-weight: 750; white-space: nowrap; }
.nav-links a::after { content: ""; position: absolute; left: .75rem; right: .75rem; bottom: .34rem; height: 2px; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .22s ease; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--navy-900); }
.nav-links a:hover::after, .nav-links a[aria-current="page"]::after { transform: scaleX(1); }
.nav-actions { display: flex; align-items: center; gap: .65rem; }
.menu-toggle { width: 44px; height: 44px; display: none; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--white); }
.menu-toggle span { width: 18px; height: 2px; display: block; background: var(--navy-900); transition: transform .2s ease; }
.menu-toggle span + span { margin-top: 5px; }
.menu-toggle.is-open span:first-child { transform: translateY(3.5px) rotate(45deg); }
.menu-toggle.is-open span:last-child { transform: translateY(-3.5px) rotate(-45deg); }

.btn { position: relative; min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: .65rem; overflow: hidden; padding: .78rem 1.25rem; border: 1px solid transparent; border-radius: 6px; font-weight: 850; line-height: 1.1; transition: transform .25s ease, background .25s ease, color .25s ease, border .25s ease, box-shadow .25s ease; }
.btn:hover { transform: translateY(-2px); }
.btn::after { content: ""; position: absolute; inset: -50% -75%; pointer-events: none; background: linear-gradient(105deg, transparent 38%, rgba(255,255,255,.32) 50%, transparent 62%); transform: translateX(-50%); transition: transform .65s ease; }
.btn:hover::after { transform: translateX(50%); }
.btn--gold { color: var(--navy-950); background: var(--gold-gradient); box-shadow: 0 10px 28px rgba(170,123,35,.2); }
.btn--gold:hover { background: linear-gradient(135deg, #bd8a2b, #f2d585 52%, #c79432); box-shadow: 0 15px 34px rgba(170,123,35,.27); }
.btn--navy { color: var(--white); background: var(--navy-900); }
.btn--navy:hover { background: var(--blue); }
.btn--glass { color: var(--white); background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.4); backdrop-filter: blur(8px); }
.btn--ghost-dark { color: var(--navy-900); border-color: var(--line); background: transparent; }
.btn--outline-dark { color: var(--navy-900); border-color: var(--navy-900); background: transparent; }
.nav-cta { min-height: 42px; padding: .66rem .92rem; font-size: .78rem; }
.text-link { display: inline-flex; align-items: center; gap: .45rem; color: var(--blue); font-size: .84rem; font-weight: 850; }
.text-link span { transition: transform .2s ease; }
.text-link:hover span { transform: translateX(3px); }
.text-link--light { color: var(--gold); }

.kicker, .micro-label { display: inline-flex; align-items: center; gap: .55rem; color: var(--gold-dark); font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.kicker::before { content: ""; width: 28px; height: 1px; background: currentColor; }
.kicker--light { color: var(--gold); }
.micro-label { font-size: .65rem; letter-spacing: .11em; }
.micro-label::before { display: none; }
.section { padding: 6.5rem 0; }
.section--tint { background: var(--paper); }
.section--navy { color: var(--white); background: var(--navy-950); }
.section-heading { position: relative; margin-bottom: 2.8rem; }
.section-heading h2, .page-hero h1, .detail-hero h1, .industry-detail-hero h1 { margin: .65rem 0 0; font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.045em; line-height: 1.04; text-wrap: balance; }
.section-heading h2 { max-width: 750px; font-size: clamp(2.25rem, 4vw, 4rem); }
.section-heading p { max-width: 580px; margin: .8rem 0 0; color: var(--muted); font-size: 1.05rem; }
.section-heading--split { display: flex; align-items: end; justify-content: space-between; gap: 3rem; }
.section-heading--split > p { margin: 0 0 .35rem; }
.section-heading--light p { color: #b8c7d7; }
.section-heading--light h2 { color: var(--white); }
.section-heading::after { content: ""; position: absolute; left: 0; bottom: -1.15rem; width: 72px; height: 2px; background: var(--gold-gradient); transform: scaleX(0); transform-origin: left; transition: transform .8s .18s cubic-bezier(.22,1,.36,1); }
.section-heading.reveal.is-visible::after { transform: scaleX(1); }
.section-heading.reveal.is-visible h2 { animation: headingSettle .8s .08s cubic-bezier(.22,1,.36,1) both; }

.global-hero { position: relative; min-height: 560px; display: grid; align-items: stretch; overflow: hidden; color: var(--white); background: var(--navy-950); }
.global-hero__media { position: absolute; inset: 0; }
.global-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.74) contrast(1.05); animation: heroDrift 18s ease-in-out infinite alternate; }
.global-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,39,74,.98) 0%, rgba(11,39,74,.9) 42%, rgba(11,39,74,.4) 72%, rgba(11,39,74,.22) 100%), linear-gradient(0deg, rgba(11,39,74,.65), transparent 55%); }
.global-hero__grid { position: relative; z-index: 2; min-height: 560px; display: grid; grid-template-columns: 1.28fr .72fr; align-items: center; gap: 3rem; padding-block: 4rem; }
.global-hero__copy { max-width: 800px; }
.global-hero h1 { max-width: 800px; margin: .65rem 0 1.1rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.75rem, 4.7vw, 4.65rem); font-weight: 500; letter-spacing: -.058em; line-height: .98; }
.global-hero h1 span { display: block; white-space: nowrap; }
.global-hero__copy > p { max-width: 640px; margin: 0; color: #cbd7e3; font-size: clamp(1.02rem, 1.5vw, 1.2rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.hero-proof { align-self: end; justify-self: end; width: min(390px, 100%); padding: 1.5rem; border: 1px solid rgba(255,255,255,.22); border-radius: 14px; background: rgba(16,47,87,.76); backdrop-filter: blur(16px); }
.hero-proof__top { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1.2rem; border-bottom: 1px solid rgba(255,255,255,.16); }
.hero-proof__top strong { font-family: Georgia, serif; color: var(--gold); font-size: 2.2rem; font-weight: 500; line-height: 1; }
.hero-proof__top span { color: #adbdcc; font-size: .72rem; text-align: right; text-transform: uppercase; letter-spacing: .08em; }
.hero-proof ul { list-style: none; margin: 1.15rem 0 0; padding: 0; display: grid; gap: .65rem; }
.hero-proof li { display: flex; align-items: center; gap: .7rem; color: #eef3f7; font-size: .86rem; }
.hero-proof li::before { content: ""; width: 7px; height: 7px; border: 1px solid var(--gold); transform: rotate(45deg); }
.metric-strip { position: relative; z-index: 3; margin-top: -1px; color: var(--navy-900); background: var(--white); border-bottom: 1px solid var(--line); }
.metric-strip__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.metric { padding: 1.35rem 1.5rem; border-right: 1px solid var(--line); transition: background .25s ease, transform .25s ease; }
.metric:hover { z-index: 1; background: var(--gold-pale); transform: translateY(-3px); }
.metric:first-child { border-left: 1px solid var(--line); }
.metric strong { display: block; color: var(--blue); font-family: Georgia, serif; font-size: 2.2rem; line-height: 1; font-weight: 500; }
.metric strong.is-counting { animation: metricPulse .6s ease both; }
.metric span { color: var(--muted); font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

.ecosystem-section { position: relative; overflow: hidden; background: linear-gradient(180deg, #fff 0%, #f8fafc 55%, #fff 100%); }
.ecosystem-section::before, .ecosystem-section::after { content: ""; position: absolute; pointer-events: none; border-radius: 50%; }
.ecosystem-section::before { width: 520px; height: 520px; right: -260px; top: 2rem; background: radial-gradient(circle, rgba(217,170,75,.12), rgba(217,170,75,0) 68%); animation: ecosystemFloat 12s ease-in-out infinite; }
.ecosystem-section::after { width: 360px; height: 360px; left: -240px; bottom: 10%; border: 1px solid rgba(39,93,158,.12); animation: softPulse 7s ease-in-out infinite; }
.ecosystem-shell { position: relative; z-index: 1; }
.ecosystem-heading { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(300px, .72fr); align-items: start; gap: clamp(2rem, 6vw, 5.5rem); margin-bottom: 3.5rem; padding-bottom: 2.4rem; border-bottom: 1px solid var(--line); }
.ecosystem-heading::after { bottom: -1px; width: 180px; }
.ecosystem-heading > div { min-width: 0; }
.ecosystem-heading h2 { max-width: 790px; margin-top: .8rem; }
.ecosystem-heading > p { max-width: 470px; margin: 2.15rem 0 0; padding-left: 1.4rem; border-left: 2px solid var(--gold); color: var(--muted); font-size: 1.02rem; line-height: 1.75; }
.ecosystem-featured-heading { margin: 5.5rem 0 2.4rem; padding-top: 2.5rem; border-top: 1px solid var(--line); }
.ecosystem-featured-heading::after { bottom: -1.15rem; }
.ecosystem-featured-heading h2 { font-size: clamp(2rem, 3vw, 3rem); }

.solution-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; }
.solution-tile { position: relative; min-height: 360px; grid-column: span 4; overflow: hidden; border-radius: var(--radius); color: var(--white); background: var(--navy-900); transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease; transform-style: preserve-3d; }
.solution-tile:nth-child(1), .solution-tile:nth-child(6) { grid-column: span 6; }
.solution-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.solution-tile__wash { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,23,42,.95), rgba(4,23,42,.06) 72%); }
.solution-tile::after { content: ""; position: absolute; z-index: 2; inset: -45% auto -45% -38%; width: 24%; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(255,255,255,.32), transparent); transform: translateX(-280%) skewX(-18deg); transition: transform .95s cubic-bezier(.22,1,.36,1); }
.solution-tile__index { position: absolute; left: 1.3rem; top: 1.2rem; color: rgba(255,255,255,.7); font-size: .7rem; letter-spacing: .1em; }
.solution-tile__content { position: absolute; inset: auto 1.35rem 1.35rem; display: grid; }
.solution-tile__content strong { font-family: Georgia, serif; font-size: 1.65rem; font-weight: 500; line-height: 1.1; }
.solution-tile__content small { margin-top: .28rem; color: var(--gold); font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.solution-tile__content em { max-height: 0; overflow: hidden; margin-top: 0; opacity: 0; color: #cbd6e0; font-size: .85rem; font-style: normal; transition: max-height .35s ease, opacity .35s ease, margin .35s ease; }
.solution-tile > b { position: absolute; right: 1.2rem; top: 1.1rem; width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.38); border-radius: 50%; font-weight: 400; transition: transform .35s ease, color .35s ease, background .35s ease; }
.solution-tile:hover img { transform: translate3d(var(--media-x, 0), var(--media-y, 0), 0) scale(1.075); }
.solution-tile:hover::after { transform: translateX(760%) skewX(-18deg); }
.solution-tile.reveal.is-visible:hover { transform: perspective(1000px) translateY(-7px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)); box-shadow: var(--shadow-lg); }
.solution-tile:hover > b { color: var(--navy-950); background: var(--gold); transform: rotate(45deg); }
.solution-tile:hover .solution-tile__content em { max-height: 90px; margin-top: .7rem; opacity: 1; }

.global-band { overflow: hidden; color: var(--white); background: var(--navy-900); }
.global-band__grid { display: grid; grid-template-columns: 1fr 1fr; }
.global-band__content { padding: 3.75rem max(2.5rem, 5vw) 3.75rem max(20px, calc((100vw - var(--max))/2)); }
.global-band__content h2 { max-width: 620px; margin: .55rem 0 .75rem; font-family: Georgia, serif; font-size: clamp(2.15rem, 3.4vw, 3.4rem); font-weight: 500; line-height: 1.04; letter-spacing: -.04em; }
.global-band__content > p { max-width: 590px; color: #becbd7; }
.global-checks { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem .8rem; margin: 1.35rem 0; }
.global-checks span { display: flex; align-items: center; gap: .55rem; color: #e2e9ef; font-size: .82rem; }
.global-checks span::before { content: "✓"; color: var(--gold); font-weight: 900; }
.global-band__visual { position: relative; min-height: 500px; }
.global-band__visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; animation: bandImageDrift 14s ease-in-out infinite alternate; }
.global-band__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,35,63,.16), transparent 30%); }
.route-card { position: absolute; z-index: 2; left: 1.4rem; bottom: 1.4rem; right: 1.4rem; padding: 1rem; border-radius: 12px; background: rgba(255,255,255,.94); color: var(--navy-900); box-shadow: var(--shadow-lg); }
.route-card__line { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: .55rem; }
.route-card__line span { padding: .7rem; border-radius: 7px; background: var(--paper); font-size: .75rem; font-weight: 850; text-align: center; }
.route-card__line b { color: var(--gold-dark); animation: routeFlow 1.55s ease-in-out infinite; }

.featured-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.page-hero { position: relative; overflow: hidden; color: var(--white); background: var(--navy-950); }
.page-hero--image::before { content: ""; position: absolute; inset: -3%; background: var(--hero-image) var(--hero-position, center)/cover no-repeat; opacity: .72; filter: blur(2px) saturate(.82) contrast(1.04); animation: pageHeroDrift 16s ease-in-out infinite alternate; }
.page-hero--image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,20,38,.97) 0%, rgba(8,31,57,.91) 40%, rgba(12,44,79,.68) 66%, rgba(8,31,57,.34) 100%), linear-gradient(0deg, rgba(4,20,38,.46), transparent 68%); }
.page-hero--products { --hero-position: center; }
.page-hero--industries { --hero-position: center 48%; }
.page-hero--why-us { --hero-position: center 52%; }
.page-hero--contact { --hero-position: center 48%; }
.page-hero__inner { position: relative; z-index: 2; min-height: 440px; display: flex; flex-direction: column; justify-content: center; padding-block: 5rem; }
.page-hero--image .page-hero__inner { text-shadow: 0 2px 20px rgba(0,0,0,.38); }
.page-hero h1 { max-width: 900px; font-size: clamp(3rem, 5.6vw, 5.5rem); }
.page-hero p { max-width: 720px; margin: 1.2rem 0 0; color: #e2eaf1; font-size: 1.1rem; }
.breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; margin-bottom: 1.2rem; color: #b6c5d4; font-size: .75rem; font-weight: 750; }
.breadcrumbs a:hover { color: var(--gold); }
.breadcrumbs b { color: var(--gold); }
.breadcrumbs--dark { color: var(--muted); }
.breadcrumbs--dark b { color: var(--gold-dark); }

.catalog-toolbar { position: sticky; z-index: 25; top: 104px; padding: 1rem 0; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(14px); animation: toolbarDrop .55s .2s cubic-bezier(.22,1,.36,1) both; }
.catalog-toolbar__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.search-field { position: relative; width: min(520px, 100%); }
.search-field input { width: 100%; min-height: 52px; padding: .8rem 1rem .8rem 3rem; border: 1px solid var(--line); border-radius: 7px; color: var(--ink); background: var(--paper); outline: none; }
.search-field input:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(209,161,67,.15); }
.search-field span { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: var(--muted); }
.result-count { color: var(--muted); font-size: .8rem; font-weight: 800; white-space: nowrap; }
.filter-row { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .8rem; }
.filter-chip { padding: .46rem .72rem; border: 1px solid var(--line); border-radius: 999px; color: #526579; background: var(--white); font-size: .72rem; font-weight: 800; transition: color .24s ease, background .24s ease, border-color .24s ease, transform .24s ease, box-shadow .24s ease; }
.filter-chip:hover, .filter-chip.is-active { color: var(--white); border-color: var(--navy-900); background: var(--navy-900); }
.filter-chip:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(16,47,87,.12); }
.filter-chip.is-active { animation: chipSet .35s cubic-bezier(.22,1,.36,1) both; }
.filter-chip:nth-child(1) { animation-delay: .03s; }
.filter-chip:nth-child(2) { animation-delay: .06s; }
.filter-chip:nth-child(3) { animation-delay: .09s; }
.filter-chip:nth-child(4) { animation-delay: .12s; }
.filter-chip:nth-child(5) { animation-delay: .15s; }
.filter-chip:nth-child(6) { animation-delay: .18s; }
.filter-chip:nth-child(7) { animation-delay: .21s; }
.filter-chip:nth-child(8) { animation-delay: .24s; }
.catalog-section { padding: 3rem 0 6.5rem; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.15rem; }
.product-card { position: relative; min-width: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease; transform-style: preserve-3d; }
.product-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.product-card__image { position: relative; height: 230px; overflow: hidden; background: var(--navy-900); }
.product-card__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,24,44,.42), transparent 55%); }
.product-card__image::before, .stage-item__media::before { content: ""; position: absolute; z-index: 2; inset: -55% auto -55% -40%; width: 28%; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent); transform: translateX(-240%) skewX(-18deg); transition: transform .85s cubic-bezier(.22,1,.36,1); }
.product-card:hover .product-card__image::before, .stage-item:hover .stage-item__media::before { transform: translateX(720%) skewX(-18deg); }
.product-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.product-card:hover .product-card__image img { transform: translate3d(var(--media-x, 0), var(--media-y, 0), 0) scale(1.075); }
.product-card__body { flex: 1; padding: 1.35rem; display: flex; flex-direction: column; }
.product-card h3 { margin: .45rem 0 .55rem; font-family: Georgia, serif; font-size: 1.45rem; font-weight: 500; line-height: 1.12; }
.product-card h3 a:hover { color: var(--blue); }
.product-card p { flex: 1; margin: 0 0 1.1rem; color: var(--muted); font-size: .88rem; }
.stage-counts { display: flex; gap: .35rem; flex-wrap: wrap; margin-top: auto; }
.stage-counts span { padding: .3rem .45rem; border-radius: 4px; color: #53667a; background: var(--paper); font-size: .64rem; font-weight: 800; }
.card-actions { margin-top: 1rem; padding-top: 1rem; display: flex; align-items: center; justify-content: space-between; gap: .8rem; border-top: 1px solid var(--line); }
.add-button { display: inline-flex; align-items: center; gap: .45rem; padding: .42rem .55rem; border: 0; border-radius: 5px; color: var(--muted); background: transparent; font-size: .7rem; font-weight: 850; }
.add-button b { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: var(--navy-900); }
.add-button:hover { color: var(--navy-900); }
.product-card--compact .product-card__image { height: 180px; }
.product-card--compact h3 { min-height: 3.2rem; }
.product-card--compact .card-actions { display: none; }
.empty-state { grid-column: 1/-1; padding: 5rem 1rem; text-align: center; border: 1px dashed #b9c5d0; border-radius: var(--radius); color: var(--muted); }
.empty-state > span { font-size: 2rem; }
.empty-state h3 { margin: .7rem 0 .2rem; color: var(--ink); }
.empty-state p { margin: 0; }

.detail-hero { position: relative; min-height: 650px; display: flex; align-items: center; overflow: hidden; color: var(--white); background: var(--navy-950); }
.detail-hero__image { position: absolute; inset: 0; }
.detail-hero__image img { width: 100%; height: 100%; object-fit: cover; animation: heroDrift 18s ease-in-out infinite alternate; }
.detail-hero__image span { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,20,38,.98), rgba(4,20,38,.92) 47%, rgba(4,20,38,.25)); }
.detail-hero__content { position: relative; z-index: 2; padding-block: 6rem; }
.detail-hero h1 { max-width: 850px; font-size: clamp(3rem, 5.5vw, 5.8rem); }
.detail-hero__content > p { max-width: 680px; color: #c6d3df; font-size: 1.12rem; }
.detail-stats { max-width: 720px; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 2rem; border-block: 1px solid rgba(255,255,255,.17); }
.detail-stats span { padding: 1rem 1rem 1rem 0; color: #aebdcb; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; }
.detail-stats b { display: block; color: var(--gold); font-family: Georgia, serif; font-size: 2rem; font-weight: 500; }
.stage-tabs { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 1.5rem; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.stage-tab { min-height: 78px; display: flex; align-items: center; gap: .7rem; padding: 1rem; border: 0; border-right: 1px solid var(--line); color: #4e6174; background: var(--white); font-weight: 850; text-align: left; }
.stage-tab:last-child { border-right: 0; }
.stage-tab span { color: var(--gold-dark); font-size: .67rem; }
.stage-tab b { margin-left: auto; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--paper); }
.stage-tab.is-active { color: var(--white); background: linear-gradient(115deg, var(--navy-950), var(--navy-800), var(--navy-950)); background-size: 220% 100%; animation: activeTabGlow 4.5s ease-in-out infinite; }
.stage-tab.is-active b { color: var(--navy-900); background: var(--gold); }
.stage-panel { min-height: 360px; padding: 1.5rem; border-radius: 12px; background: var(--paper); }
.stage-panel.is-changing { animation: panelIn .42s cubic-bezier(.22,1,.36,1) both; }
.stage-panel__head { display: flex; justify-content: space-between; gap: 1rem; align-items: end; margin-bottom: 1.2rem; }
.stage-panel__head h3 { margin: .3rem 0 0; font-family: Georgia, serif; font-size: 1.7rem; font-weight: 500; }
.stage-panel__head > span { color: var(--muted); font-size: .76rem; font-weight: 800; }
.stage-item-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.stage-item { min-width: 0; min-height: 420px; display: flex; flex-direction: column; overflow: hidden; padding: 0; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: var(--white); box-shadow: 0 10px 28px rgba(18,55,99,.06); text-align: left; transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease; transform-style: preserve-3d; }
.stage-panel.is-changing .stage-item { animation: stageItemIn .4s cubic-bezier(.22,1,.36,1) both; animation-delay: var(--item-delay, 0ms); }
.stage-item__media { position: relative; height: 210px; flex: 0 0 auto; overflow: hidden; background: var(--navy-900); }
.stage-item__media::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(0deg, rgba(4,20,38,.68), transparent 62%); }
.stage-item__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .65s cubic-bezier(.22,1,.36,1), filter .65s ease; }
.stage-item__body { flex: 1; display: flex; flex-direction: column; padding: 1.2rem; }
.stage-item strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; font-weight: 500; line-height: 1.16; }
.stage-item__description { display: block; margin-top: .68rem; color: var(--muted); font-size: .88rem; line-height: 1.58; }
.stage-item em { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: auto; padding-top: 1rem; color: var(--blue); font-size: .75rem; font-style: normal; font-weight: 850; }
.stage-item em b { color: var(--gold-dark); font-size: 1rem; transition: transform .3s ease; }
.stage-item:hover { border-color: rgba(170,123,35,.5); box-shadow: var(--shadow-lg); transform: perspective(1000px) translateY(-7px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)); }
.stage-item:hover .stage-item__media img { filter: saturate(1.08); transform: translate3d(var(--media-x, 0), var(--media-y, 0), 0) scale(1.08); }
.stage-item--button:hover em b { transform: translate(3px, -3px); }
.stage-item--button { width: 100%; cursor: pointer; }
.stage-item--button:focus-visible { outline: 3px solid rgba(217,170,75,.42); outline-offset: 3px; }
.spec-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.spec-layout h2, .international-cta h2 { margin: .6rem 0 .8rem; font-family: Georgia, serif; font-size: clamp(2.4rem, 4vw, 4rem); font-weight: 500; line-height: 1.05; letter-spacing: -.04em; }
.spec-layout p, .international-cta p { max-width: 600px; color: var(--muted); }
.spec-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.spec-grid span { min-height: 80px; display: flex; align-items: end; padding: 1rem; border-radius: 8px; color: var(--navy-900); background: var(--white); border-left: 3px solid var(--gold); font-weight: 850; }

.industry-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.industry-card { position: relative; min-height: 400px; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--white); box-shadow: 0 8px 26px rgba(16,47,87,.06); transition: transform .35s cubic-bezier(.22,1,.36,1), background .3s ease, color .3s ease, box-shadow .3s ease, border-color .3s ease; transform-style: preserve-3d; }
.industry-card:hover { color: var(--white); background: var(--navy-900); border-color: var(--navy-900); box-shadow: var(--shadow-lg); }
.industry-card__media { position: relative; height: 176px; flex: 0 0 auto; overflow: hidden; background: var(--navy-900); }
.industry-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,30,55,.36), transparent 58%); }
.industry-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .75s cubic-bezier(.22,1,.36,1), filter .5s ease; }
.industry-card:hover .industry-card__media img { filter: saturate(1.08) contrast(1.02); transform: translate3d(var(--media-x, 0), var(--media-y, 0), 0) scale(1.09); }
.industry-card__body { position: relative; z-index: 2; min-height: 224px; flex: 1; display: flex; flex-direction: column; padding: 1.25rem; }
.industry-card .micro-label { margin-bottom: .65rem; color: var(--gold-dark); }
.industry-card:hover .micro-label { color: var(--gold); }
.industry-card h3 { margin: 0 0 .55rem; font-family: Georgia, serif; font-size: 1.42rem; font-weight: 500; line-height: 1.1; }
.industry-card p { margin: 0; color: var(--muted); font-size: .82rem; }
.industry-card:hover p { color: #bdcad6; }
.industry-card__footer { margin-top: auto; padding-top: .8rem; display: flex; justify-content: space-between; border-top: 1px solid var(--line); color: var(--blue); font-size: .7rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.industry-card:hover .industry-card__footer { color: var(--gold); border-color: rgba(255,255,255,.15); }
.industry-card__footer b { font-size: 1rem; transition: transform .3s ease; }
.industry-card:hover .industry-card__footer b { transform: translate(3px, -3px); }
.industry-detail-hero { position: relative; overflow: hidden; padding: 6rem 0; background: linear-gradient(135deg, #eef2f5, #fff); }
.industry-detail-hero::after { content: ""; position: absolute; width: 560px; height: 560px; left: -320px; bottom: -360px; border: 1px solid rgba(170,123,35,.18); border-radius: 50%; }
.industry-detail-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 4.5rem; align-items: center; }
.industry-detail-hero h1 { max-width: 700px; font-size: clamp(3rem, 5.4vw, 5.6rem); color: var(--navy-900); }
.industry-detail-copy > p { max-width: 650px; color: var(--muted); font-size: 1.08rem; }
.industry-detail-photo { position: relative; height: 500px; margin: 0; overflow: hidden; border-radius: 18px; background: var(--navy-900); box-shadow: var(--shadow-lg); }
.industry-detail-photo::before { content: ""; position: absolute; z-index: 2; inset: 0; border: 1px solid rgba(255,255,255,.18); border-radius: inherit; pointer-events: none; }
.industry-detail-photo::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(0deg, rgba(5,26,48,.94) 0%, rgba(5,26,48,.18) 55%, transparent 76%); }
.industry-detail-photo img { width: 100%; height: 100%; object-fit: cover; animation: ambientZoom 15s ease-in-out infinite alternate; }
.industry-detail-photo figcaption { position: absolute; z-index: 3; left: 1.5rem; right: 1.5rem; bottom: 1.5rem; color: var(--white); }
.industry-detail-photo figcaption span { display: block; margin-bottom: .45rem; color: var(--gold); font-size: .7rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.industry-detail-photo figcaption p { margin: 0; color: #e3ebf2; font-size: .9rem; }
.industry-profile { background: var(--white); }
.industry-profile__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 5rem; align-items: center; }
.industry-profile h2 { max-width: 720px; margin: .65rem 0 1rem; font-family: Georgia, serif; font-size: clamp(2.45rem, 4vw, 4rem); font-weight: 500; line-height: 1.04; letter-spacing: -.04em; }
.industry-profile__grid > div > p { max-width: 760px; margin: 0; color: var(--muted); font-size: 1.02rem; }
.industry-profile__note { position: relative; overflow: hidden; padding: 2rem; border-radius: 16px; color: var(--white); background: var(--navy-900); box-shadow: var(--shadow-lg); }
.industry-profile__note::after { content: ""; position: absolute; width: 230px; height: 230px; right: -120px; top: -130px; border: 1px solid rgba(217,170,75,.38); border-radius: 50%; }
.industry-profile__note > span { color: var(--gold); font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.industry-profile__note ul { list-style: none; margin: 1.35rem 0 0; padding: 0; display: grid; gap: .75rem; }
.industry-profile__note li { display: grid; grid-template-columns: 12px 1fr; gap: .7rem; align-items: start; color: #d2dde7; font-size: .88rem; }
.industry-profile__note li::before { content: ""; width: 7px; height: 7px; margin-top: .55rem; border: 1px solid var(--gold); transform: rotate(45deg); }
.application-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
.application-card { position: relative; min-height: 420px; overflow: hidden; display: flex; flex-direction: column; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); background: rgba(255,255,255,.025); transition: transform .35s cubic-bezier(.22,1,.36,1), background .35s ease; transform-style: preserve-3d; }
.application-card::after { content: ""; position: absolute; width: 160px; height: 160px; right: -90px; bottom: -105px; border: 1px solid rgba(217,170,75,.2); border-radius: 50%; transition: transform .55s ease, opacity .55s ease; }
.application-card:hover { z-index: 2; background: rgba(255,255,255,.075); }
.application-card:hover::after { opacity: .85; transform: scale(1.35); }
.application-card__media { position: relative; height: 190px; flex: 0 0 auto; margin: 0; overflow: hidden; background: #0a294b; }
.application-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,26,48,.38), transparent 56%); }
.application-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.22,1,.36,1), filter .55s ease; }
.application-card:hover .application-card__media img { filter: saturate(1.08) contrast(1.03); transform: translate3d(var(--media-x, 0), var(--media-y, 0), 0) scale(1.08); }
.application-card__body { position: relative; z-index: 2; flex: 1; padding: 1.2rem 1.3rem 1.35rem; }
.application-card__body > span { color: var(--gold); font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.application-card h3 { max-width: 300px; margin: .48rem 0 .48rem; font-family: Georgia, serif; font-size: 1.45rem; font-weight: 500; line-height: 1.12; }
.application-card p { margin: 0; color: #aebfd0; font-size: .82rem; }
.international-cta { display: flex; align-items: center; justify-content: space-between; gap: 3rem; }

.about-story { display: grid; grid-template-columns: .9fr 1.1fr; gap: 5rem; align-items: start; }
.about-story__visual { position: sticky; top: 130px; min-height: 560px; overflow: hidden; border-radius: 16px; background: var(--navy-900); }
.about-story__visual img { width: 100%; height: 560px; padding: 1.2rem 1.2rem 7.5rem; object-fit: contain; background: var(--white); animation: ambientZoom 16s ease-in-out infinite alternate; }
.about-story__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,26,48,.96) 0, rgba(5,26,48,.9) 18%, rgba(5,26,48,.18) 42%, transparent 62%); }
.about-story__visual span { position: absolute; z-index: 2; left: 1.5rem; right: 1.5rem; bottom: 1.5rem; color: var(--white); font-family: Georgia, serif; font-size: 1.55rem; line-height: 1.2; }
.about-story__copy h2 { margin: .7rem 0 1rem; font-family: Georgia, serif; font-size: clamp(2.5rem, 4vw, 4.2rem); font-weight: 500; line-height: 1.04; letter-spacing: -.04em; }
.about-story__copy > p { color: var(--muted); font-size: 1.03rem; }
.model-note { margin-top: 2rem; padding: 1.4rem; border-left: 3px solid var(--gold); background: var(--paper); }
.model-note strong { display: block; color: var(--navy-900); }
.model-note p { margin: .3rem 0 0; color: var(--muted); }
.scope-list { margin-top: 2rem; display: grid; gap: .7rem; }
.scope-list div { display: grid; grid-template-columns: 40px 1fr; gap: 1rem; align-items: start; padding: 1rem 0; border-top: 1px solid var(--line); }
.scope-list b { color: var(--gold-dark); }
.scope-list h3 { margin: 0 0 .25rem; }
.scope-list p { margin: 0; color: var(--muted); font-size: .88rem; }
.about-capability-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.about-capability-card { position: relative; min-height: 300px; overflow: hidden; padding: 1.7rem; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 14px; background: var(--white); box-shadow: var(--shadow-sm); text-align: center; transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease; }
.about-capability-card::after { content: ""; position: absolute; inset: auto -25% -70% 45%; height: 230px; border-radius: 50%; background: radial-gradient(circle, rgba(217,170,75,.2), transparent 68%); transition: transform .6s ease; }
.about-capability-card:hover { border-color: rgba(170,123,35,.45); box-shadow: var(--shadow-lg); transform: translateY(-7px); }
.about-capability-card:hover::after { transform: scale(1.35) translate(-8%, -8%); }
.about-capability-card > span { position: relative; z-index: 1; display: block; color: var(--gold-dark); font-size: .92rem; font-weight: 900; letter-spacing: .07em; line-height: 1.35; text-align: center; text-transform: uppercase; }
.about-capability-card h3 { position: relative; z-index: 1; max-width: 420px; margin: 1.15rem auto .7rem; color: var(--navy-900); font-family: Georgia, serif; font-size: 1.65rem; font-weight: 500; line-height: 1.1; text-align: center; }
.about-capability-card p { position: relative; z-index: 1; max-width: 480px; margin: 0 auto; color: var(--muted); font-size: .92rem; text-align: center; }
.about-reach { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 5rem; }
.about-reach h2 { margin: .65rem 0 1rem; font-family: Georgia, serif; font-size: clamp(2.5rem, 4vw, 4.2rem); font-weight: 500; line-height: 1.04; letter-spacing: -.04em; }
.about-reach > div > p { color: var(--muted); font-size: 1rem; }
.about-reach .btn { margin-top: 1rem; }
.about-promise { position: relative; overflow: hidden; padding: 2.2rem; border-radius: 16px; color: var(--white); background: var(--navy-900); box-shadow: var(--shadow-lg); }
.about-promise::after { content: ""; position: absolute; width: 230px; height: 230px; right: -100px; top: -110px; border: 1px solid rgba(217,170,75,.35); border-radius: 50%; animation: softPulse 4.5s ease-in-out infinite; }
.about-promise > span { color: var(--gold); font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.about-promise h3 { margin: 2rem 0 .8rem; font-family: Georgia, serif; font-size: 2rem; font-weight: 500; line-height: 1.12; }
.about-promise p { color: #c6d2de; }
.about-promise > div { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem; }
.about-promise strong { padding: .45rem .65rem; border-radius: 999px; color: #e5edf4; background: rgba(255,255,255,.08); font-size: .7rem; }
.principle-grid, .value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.principle-card, .value-card { position: relative; overflow: hidden; padding: 1.5rem; border: 1px solid var(--line-dark); border-radius: 12px; background: rgba(255,255,255,.05); transition: transform .35s ease, border-color .35s ease, background .35s ease; }
.principle-card:hover, .value-card:hover { border-color: rgba(217,170,75,.45); background: rgba(255,255,255,.09); transform: translateY(-6px); }
.principle-card span, .value-card span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; color: var(--navy-900); background: var(--gold); font-size: .72rem; font-weight: 900; }
.principle-card h3, .value-card h3 { margin: 2rem 0 .55rem; font-family: Georgia, serif; font-size: 1.5rem; font-weight: 500; }
.principle-card p, .value-card p { margin: 0; color: #b9c7d5; font-size: .88rem; }

.why-intro { display: grid; grid-template-columns: .8fr 1.2fr; gap: 5rem; align-items: start; }
.why-intro h2 { margin: .65rem 0 0; font-family: Georgia, serif; font-size: clamp(2.5rem, 4vw, 4.2rem); font-weight: 500; line-height: 1.05; letter-spacing: -.04em; }
.why-intro__copy > p { margin-top: 0; color: var(--muted); font-size: 1.05rem; }
.why-point { position: relative; padding: 1.2rem 0 1.2rem 1.5rem; border-top: 1px solid var(--line); }
.why-point::before { content: ""; position: absolute; left: 0; top: 1.55rem; width: 7px; height: 7px; border: 1px solid var(--gold-dark); transform: rotate(45deg); transition: background .3s ease, transform .3s ease; }
.why-point:hover::before { background: var(--gold); transform: rotate(135deg) scale(1.15); }
.why-point h3 { margin: 0 0 .3rem; }
.why-point p { margin: 0; color: var(--muted); font-size: .88rem; }
.vision-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.2rem; }
.vision-card { position: relative; min-height: 300px; overflow: hidden; padding: 1.75rem; border-radius: 16px; color: var(--white); background: var(--navy-900); box-shadow: var(--shadow-lg); transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease; }
.vision-card--gold { color: var(--navy-950); background: var(--gold-gradient); }
.vision-card::after { content: ""; position: absolute; width: 280px; height: 280px; right: -130px; bottom: -150px; border: 1px solid rgba(255,255,255,.26); border-radius: 50%; transition: transform .7s ease; }
.vision-card:hover { transform: translateY(-8px); box-shadow: 0 34px 90px rgba(13,47,87,.26); }
.vision-card:hover::after { transform: scale(1.35); }
.vision-card > span { color: var(--gold); font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.vision-card--gold > span { color: var(--navy-900); }
.vision-card h3 { max-width: 570px; margin: 2.35rem 0 .85rem; font-family: Georgia, serif; font-size: clamp(1.65rem, 2.4vw, 2.2rem); font-weight: 500; line-height: 1.1; }
.vision-card p { max-width: 600px; margin: 0; color: #c7d4df; font-size: .92rem; }
.vision-card--gold p { color: #294665; }
.reason-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.reason-card { position: relative; min-height: 240px; overflow: hidden; padding: 1.6rem; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 14px; background: var(--white); text-align: center; transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .35s ease, box-shadow .35s ease; }
.reason-card:hover { border-color: rgba(170,123,35,.45); box-shadow: var(--shadow-lg); transform: translateY(-7px); }
.reason-card h3 { max-width: 300px; margin: 0 auto .7rem; font-family: Georgia, serif; font-size: 1.5rem; font-weight: 500; line-height: 1.12; }
.reason-card p { max-width: 320px; margin: 0 auto; color: var(--muted); font-size: .9rem; }
.product-card::before, .industry-card::before, .application-card::before, .reason-card::before { content: ""; position: absolute; z-index: 3; inset: 0; pointer-events: none; opacity: 0; background: radial-gradient(300px circle at var(--spot-x, 50%) var(--spot-y, 50%), rgba(217,170,75,.2), transparent 62%); transition: opacity .35s ease; }
.product-card:hover::before, .industry-card:hover::before, .application-card:hover::before, .reason-card:hover::before { opacity: 1; }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.process-card { min-height: 280px; padding: 1.4rem; border-top: 1px solid rgba(255,255,255,.3); transition: background .35s ease, transform .35s ease, border-color .35s ease; }
.process-card::before { content: ""; width: 34px; height: 2px; display: block; margin-bottom: 4rem; background: var(--gold-gradient); transition: width .4s ease; }
.process-card:hover { border-color: var(--gold); background: rgba(255,255,255,.05); transform: translateY(-5px); }
.process-card:hover::before { width: 70px; }
.process-card h3 { margin: 0 0 .5rem; font-family: Georgia, serif; font-size: 1.4rem; font-weight: 500; }
.process-card p { margin: 0; color: #b9c7d4; font-size: .86rem; }
.why-closing { position: relative; overflow: hidden; min-height: 300px; padding: 3.2rem; display: flex; align-items: center; justify-content: space-between; gap: 3rem; border-radius: 18px; color: var(--white); background: linear-gradient(125deg, var(--navy-950), var(--navy-800)); box-shadow: var(--shadow-lg); }
.why-closing::after { content: ""; position: absolute; width: 360px; height: 360px; right: -150px; top: -210px; border: 1px solid rgba(217,170,75,.4); border-radius: 50%; animation: softPulse 4.5s ease-in-out infinite; }
.why-closing > * { position: relative; z-index: 1; }
.why-closing h2 { max-width: 720px; margin: .6rem 0 .8rem; font-family: Georgia, serif; font-size: clamp(2.2rem, 4vw, 3.8rem); font-weight: 500; line-height: 1.04; letter-spacing: -.04em; }
.why-closing p { max-width: 720px; margin: 0; color: #c4d1dc; }
.why-closing .btn { flex: 0 0 auto; }

.contact-section { padding: 5rem 0 7rem; background: var(--paper); }
.contact-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 1.5rem; align-items: start; }
.enquiry-card, .contact-side { padding: 2rem; border-radius: 16px; background: var(--white); box-shadow: var(--shadow-sm); }
.enquiry-card h2, .contact-side h2 { margin: .6rem 0 1.4rem; font-family: Georgia, serif; font-size: 2.5rem; font-weight: 500; line-height: 1.05; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.field { display: grid; gap: .42rem; }
.field--wide { grid-column: 1/-1; }
.field--compact { grid-column: span 1; }
.field label { color: var(--navy-900); font-size: .75rem; font-weight: 850; }
.field input, .field select, .field textarea { width: 100%; padding: .82rem .9rem; border: 1px solid var(--line); border-radius: 7px; color: var(--ink); background: #fbfcfd; outline: none; }
.field textarea { min-height: 120px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(209,161,67,.14); }
.phone-field { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: .5rem; }
.phone-field > * { min-width: 0; }
.field-hint { color: var(--muted); font-size: .7rem; }
.form-disclaimer { margin: 1rem 0 0; color: var(--muted); font-size: .72rem; }
.form-submit { margin-top: 1rem; }
.form-submit:disabled { opacity: .65; cursor: wait; transform: none; }
.form-status { min-height: 1.4em; margin: .75rem 0 0; color: var(--navy-900); font-size: .9rem; font-weight: 700; }
[hidden] { display: none !important; }
.contact-side { position: sticky; top: 132px; color: var(--white); background: linear-gradient(145deg, var(--navy-950), var(--navy-800), var(--navy-950)); background-size: 220% 220%; }
.contact-side.reveal.is-visible { animation: contactGlow 11s ease-in-out infinite; }
.contact-side > p { color: #bcc9d5; }
.contact-detail { padding: 1rem 0; border-top: 1px solid rgba(255,255,255,.15); }
.contact-detail span { display: block; color: var(--gold); font-size: .65rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.contact-detail strong { display: block; margin-top: .25rem; font-size: .88rem; }
.contact-detail a { color: var(--white); overflow-wrap: anywhere; }
.contact-detail a:hover { color: var(--gold); }
.contact-social { padding: 1rem 0; border-top: 1px solid rgba(255,255,255,.15); }
.contact-social > span, .footer-social > span { display: block; margin-bottom: .65rem; color: var(--gold); font-size: .65rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.contact-notice { margin-top: 1.2rem; padding: 1rem; border-radius: 8px; color: #c7d2dd; background: rgba(255,255,255,.07); font-size: .75rem; }

.site-footer { position: relative; overflow: hidden; padding: 4.5rem 0 1.4rem; color: #aebdcb; background: #041425; }
.site-footer::before { content: ""; position: absolute; left: -35%; top: 0; width: 35%; height: 2px; background: linear-gradient(90deg, transparent, var(--gold), transparent); animation: footerSweep 6s ease-in-out infinite; }
.footer-main { position: relative; z-index: 1; display: grid; grid-template-columns: 1.35fr .7fr .95fr 1.1fr; gap: 3rem; }
.footer-brand img { width: 350px; margin-bottom: 1rem; padding: .55rem; border-radius: 6px; background: var(--white); transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease; }
.footer-brand img:hover { transform: translateY(-4px) scale(1.015); box-shadow: 0 18px 42px rgba(0,0,0,.2); }
.footer-brand p { max-width: 450px; }
.site-footer h2 { margin: 0 0 1rem; color: var(--white); font-size: .74rem; letter-spacing: .11em; text-transform: uppercase; }
.footer-office h2 { color: var(--gold); }
.site-footer p { margin: 0 0 1rem; font-size: .83rem; }
.footer-social { margin: 1.2rem 0 1.3rem; }
.social-links { display: flex; flex-wrap: wrap; gap: .78rem; }
.social-link { --social-brand: #d9aa4b; --social-brand-rgb: 217,170,75; position: relative; isolation: isolate; width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid transparent; border-radius: 50%; color: var(--white); background: linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.035)) padding-box, linear-gradient(145deg, rgba(255,255,255,.62), rgba(217,170,75,.7), rgba(255,255,255,.12)) border-box; box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 10px 24px rgba(0,0,0,.22); transition: color .32s ease, transform .32s cubic-bezier(.22,1,.36,1), box-shadow .32s ease; }
.social-link::before { content: ""; position: absolute; z-index: -1; inset: 4px; border-radius: 50%; background: radial-gradient(circle at 30% 22%, rgba(255,255,255,.28), transparent 34%), linear-gradient(145deg, rgba(var(--social-brand-rgb),.46), rgba(5,26,48,.9) 76%); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); transition: background .32s ease, transform .32s cubic-bezier(.22,1,.36,1); }
.social-link::after { content: ""; position: absolute; z-index: -2; inset: -4px; border: 1px solid rgba(217,170,75,.42); border-radius: 50%; opacity: .45; transform: scale(.86); transition: opacity .32s ease, transform .32s cubic-bezier(.22,1,.36,1), box-shadow .32s ease; }
.social-link svg { position: relative; z-index: 1; width: 20px; height: 20px; overflow: visible; fill: currentColor; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 2px 4px rgba(0,0,0,.28)); transition: transform .32s cubic-bezier(.22,1,.36,1), filter .32s ease; }
.social-link svg rect, .social-link svg circle, .social-link svg path { vector-effect: non-scaling-stroke; }
.social-link[data-platform="linkedin"] svg path, .social-link[data-platform="linkedin"] svg rect, .social-link[data-platform="linkedin"] svg circle { stroke: none; }
.social-link[data-platform="whatsapp"] svg, .social-link[data-platform="email"] svg { fill: none; }
.social-link .social-icon-dot { fill: currentColor; stroke: none; }
.social-link[data-platform="linkedin"] { --social-brand: #0a66c2; --social-brand-rgb: 10,102,194; }
.social-link[data-platform="whatsapp"] { --social-brand: #25d366; --social-brand-rgb: 37,211,102; }
.social-link[data-platform="email"] { --social-brand: #d9aa4b; --social-brand-rgb: 217,170,75; }
a.social-link:hover { color: var(--white); transform: translateY(-4px) scale(1.055); box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 15px 32px rgba(var(--social-brand-rgb),.32); }
a.social-link:hover::before { background: radial-gradient(circle at 30% 22%, rgba(255,255,255,.42), transparent 35%), linear-gradient(145deg, var(--social-brand), rgba(5,26,48,.72)); transform: scale(1.03); }
a.social-link:hover::after { opacity: 1; transform: scale(1); box-shadow: 0 0 18px rgba(var(--social-brand-rgb),.24); }
a.social-link:hover svg { filter: drop-shadow(0 3px 7px rgba(0,0,0,.24)); transform: scale(1.1); }
.footer-links { display: grid; gap: .55rem; }
.footer-links a { display: inline-flex; align-items: center; gap: 0; width: fit-content; font-size: .83rem; transition: color .25s ease, gap .25s ease, transform .25s ease; }
.footer-links a::before { content: ""; width: 0; height: 1px; background: var(--gold); transition: width .25s ease; }
.footer-links a:hover { gap: .45rem; color: var(--gold); transform: translateX(3px); }
.footer-links a:hover::before { width: 13px; }
.footer-contact { display: grid; gap: .8rem; margin: 0 0 1.1rem; }
.footer-contact > div { display: grid; gap: .24rem; }
.footer-contact span { color: var(--gold); font-size: .64rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.footer-contact a { width: fit-content; max-width: 100%; color: var(--white); font-size: .78rem; overflow-wrap: anywhere; transition: color .2s ease, transform .2s ease; }
.footer-contact a:hover { color: var(--gold); }
.footer-bottom { margin-top: 3.5rem; padding-top: 1.2rem; display: flex; justify-content: flex-start; gap: 1rem; border-top: 1px solid rgba(255,255,255,.1); font-size: .68rem; }

.icon-button { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--navy-900); background: var(--white); font-size: 1.2rem; }
.material-dialog, .enquiry-dialog { width: min(680px, calc(100% - 2rem)); padding: 2rem; border: 0; border-radius: 16px; color: var(--ink); box-shadow: 0 35px 100px rgba(0,0,0,.3); }
.material-dialog::backdrop, .enquiry-dialog::backdrop { background: rgba(3,16,29,.72); backdrop-filter: blur(4px); }
.material-dialog__close, .enquiry-dialog__close { position: absolute; right: 1rem; top: 1rem; }
.material-dialog h2, .enquiry-dialog h2 { margin: .5rem 2rem .7rem 0; font-family: Georgia, serif; font-size: 2.25rem; font-weight: 500; line-height: 1.08; }
.material-dialog > p, .enquiry-dialog > p { color: var(--muted); }
.material-output-list { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin: 1.2rem 0 1.5rem; }
.material-output-list span { padding: .7rem; border-radius: 6px; background: var(--paper); font-size: .78rem; font-weight: 750; }
.enquiry-preview { max-height: 280px; overflow-y: auto; white-space: pre-wrap; padding: 1rem; border-radius: 8px; color: #354b61; background: var(--paper); font: .76rem/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; }
.dialog-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.toast { position: fixed; z-index: 150; left: 50%; bottom: 1.5rem; max-width: calc(100% - 2rem); padding: .78rem 1rem; border-radius: 6px; color: var(--white); background: var(--navy-900); box-shadow: var(--shadow-lg); transform: translate(-50%, 150%); transition: transform .25s ease; font-size: .8rem; font-weight: 800; text-align: center; }
.toast.is-visible { transform: translate(-50%, 0); }

.motion-ready .global-hero__copy > *, .motion-ready .hero-proof, .motion-ready .hero-proof li, .motion-ready .page-hero__inner > *, .motion-ready .detail-hero__content > *, .motion-ready .industry-detail-hero__grid > * { opacity: 0; }
.reveal { opacity: 0; filter: blur(3px); transform: translate(var(--reveal-x, 0), var(--reveal-exit-y, var(--reveal-y, 26px))) scale(var(--reveal-scale, .982)); transition: opacity .78s cubic-bezier(.22,1,.36,1), transform .78s cubic-bezier(.22,1,.36,1), filter .78s ease; transition-delay: 0ms; will-change: opacity, transform, filter; }
.reveal.is-visible, .motion-ready .reveal.is-visible { opacity: 1; filter: blur(0); transform: translate(0, 0) scale(1); transition-delay: var(--reveal-delay, 0ms); }
.product-card.reveal.is-visible:hover, .industry-card.reveal.is-visible:hover, .application-card.reveal.is-visible:hover { transform: perspective(1000px) translateY(-7px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) scale(1.006); }
.reason-card.reveal.is-visible:hover, .about-capability-card.reveal.is-visible:hover, .vision-card.reveal.is-visible:hover, .principle-card.reveal.is-visible:hover, .process-card.reveal.is-visible:hover { transform: perspective(1000px) translateY(-7px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) scale(1.006); }
.why-point.reveal.is-visible:hover { transform: perspective(1000px) translateX(5px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)); }
.about-capability-card::before, .vision-card::before, .principle-card::after, .why-point::after { content: ""; position: absolute; z-index: 3; inset: 0; pointer-events: none; opacity: 0; background: radial-gradient(320px circle at var(--spot-x, 50%) var(--spot-y, 50%), rgba(217,170,75,.2), transparent 64%); transition: opacity .35s ease; }
.about-capability-card:hover::before, .vision-card:hover::before, .principle-card:hover::after, .why-point:hover::after { opacity: 1; }
.reveal .kicker::before { transform: scaleX(0); transform-origin: left; transition: transform .6s .18s cubic-bezier(.22,1,.36,1); }
.reveal.is-visible .kicker::before { transform: scaleX(1); }

@keyframes pageCanvasIn { from { opacity: .5; } to { opacity: 1; } }
@keyframes headerDrop { from { opacity: 0; transform: translateY(-18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes logoSettle { from { opacity: 0; transform: translateX(-16px) scale(.96); } to { opacity: 1; transform: translateX(0) scale(1); } }
@keyframes heroRise { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
@keyframes headingSettle { from { opacity: .55; transform: translateY(10px); letter-spacing: -.02em; } to { opacity: 1; transform: translateY(0); letter-spacing: -.045em; } }
@keyframes heroProofIn { from { opacity: 0; transform: translate(24px, 18px); } to { opacity: 1; transform: translate(0, 0); } }
@keyframes proofItemIn { from { opacity: 0; transform: translateX(16px); } to { opacity: 1; transform: translateX(0); } }
@keyframes heroDrift { from { transform: scale(1.015) translateX(0); } to { transform: scale(1.07) translateX(-1%); } }
@keyframes pageHeroDrift { from { transform: scale(1.01) translate3d(0,0,0); } to { transform: scale(1.075) translate3d(-.8%, -.5%, 0); } }
@keyframes metricPulse { 0% { opacity: .4; transform: translateY(8px) scale(.92); } 70% { opacity: 1; transform: translateY(-1px) scale(1.035); } 100% { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes routeFlow { 0%, 100% { opacity: .55; translate: 0 0; } 50% { opacity: 1; translate: 5px 0; } }
@keyframes chipSet { from { transform: scale(.92); } to { transform: scale(1); } }
@keyframes panelIn { from { opacity: .3; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes stageItemIn { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes ambientZoom { from { transform: scale(1.01); } to { transform: scale(1.07); } }
@keyframes bandImageDrift { from { transform: scale(1.003) translate3d(0,0,0); } to { transform: scale(1.028) translate3d(-.4%, -.3%, 0); } }
@keyframes softPulse { 0%, 100% { opacity: .55; transform: scale(.96); } 50% { opacity: 1; transform: scale(1.06); } }
@keyframes activeTabGlow { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
@keyframes ecosystemFloat { 0%, 100% { transform: translate3d(0, -12px, 0) scale(.96); opacity: .7; } 50% { transform: translate3d(-35px, 24px, 0) scale(1.06); opacity: 1; } }
@keyframes toolbarDrop { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes contactGlow { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
@keyframes footerSweep { 0% { transform: translateX(0); opacity: 0; } 20% { opacity: 1; } 70%, 100% { transform: translateX(390%); opacity: 0; } }

@media (max-width: 1100px) {
  .nav-shell { min-height: 92px; gap: 1rem; }
  .brand { width: 260px; }
  .catalog-toolbar { top: 92px; }
  .nav-links a { padding-inline: .48rem; font-size: .79rem; }
  .nav-cta { display: none; }
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .stage-item-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .featured-grid { grid-template-columns: repeat(2, 1fr); }
  .industry-grid { grid-template-columns: repeat(3, 1fr); }
  .reason-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-main { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-main > div:last-child { grid-column: 2 / -1; }
}

@media (max-width: 860px) {
  .nav-shell { min-height: 84px; }
  .brand { width: 230px; }
  .menu-toggle { display: grid; }
  .nav-links { position: fixed; z-index: 70; inset: 84px 16px auto; max-height: calc(100vh - 100px); display: none; overflow-y: auto; padding: .8rem; border-radius: 12px; background: var(--white); box-shadow: var(--shadow-lg); }
  .catalog-toolbar { top: 84px; }
  .nav-links.is-open { display: grid; }
  .nav-links a { padding: .9rem; border-bottom: 1px solid var(--line); font-size: .95rem; }
  .nav-links a:last-child { border-bottom: 0; }
  .nav-links a::after { display: none; }
  .global-hero__grid { grid-template-columns: 1fr; min-height: 560px; }
  .hero-proof { display: none; }
  .metric-strip__grid { grid-template-columns: repeat(2, 1fr); }
  .metric:nth-child(3) { border-left: 1px solid var(--line); }
  .metric:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .solution-tile, .solution-tile:nth-child(1), .solution-tile:nth-child(6) { grid-column: span 6; }
  .global-band__grid, .about-story, .about-reach, .industry-detail-hero__grid, .contact-layout, .spec-layout, .why-intro { grid-template-columns: 1fr; }
  .ecosystem-heading { grid-template-columns: 1fr; gap: 1.4rem; }
  .ecosystem-heading > p { max-width: 680px; margin: 0; }
  .global-band__content { padding: 3.5rem 20px; }
  .global-band__visual { min-height: 360px; }
  .section-heading--split { display: block; }
  .section-heading--split > p { margin-top: 1rem; }
  .industry-grid { grid-template-columns: repeat(2, 1fr); }
  .industry-profile__grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .application-grid { grid-template-columns: repeat(2, 1fr); }
  .about-story__visual, .contact-side { position: static; }
  .vision-grid { grid-template-columns: 1fr; }
  .principle-grid, .value-grid { grid-template-columns: repeat(2, 1fr); }
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-main > div:last-child { grid-column: auto; }
}

@media (max-width: 620px) {
  .container { width: min(calc(100% - 28px), var(--max)); }
  [data-site-header] { animation: none; transition: transform .35s cubic-bezier(.22,1,.36,1); will-change: transform; }
  [data-site-header].is-mobile-hidden { pointer-events: none; transform: translateY(calc(-100% - 3px)); }
  .catalog-toolbar { transition: top .35s cubic-bezier(.22,1,.36,1); }
  [data-site-header].is-mobile-hidden + main .catalog-toolbar { top: 0; }
  .nav-shell { min-height: 78px; justify-content: space-between; gap: .75rem; }
  .brand { width: min(200px, calc(100% - 62px)); flex: 0 1 auto; }
  .nav-actions { flex: 0 0 auto; margin-left: auto; }
  .menu-toggle { width: 44px; height: 44px; flex: 0 0 auto; margin-left: auto; border-color: rgba(170,123,35,.38); background: linear-gradient(145deg, #fff, #f4f7fa); box-shadow: 0 8px 20px rgba(16,47,87,.12), inset 0 1px 0 #fff; }
  .menu-toggle span { width: 19px; background: var(--navy-900); }
  .nav-links { inset: 78px 12px auto; }
  .section { padding: 4.5rem 0; }
  .ecosystem-heading { margin-bottom: 2.5rem; padding-bottom: 1.8rem; }
  .ecosystem-heading > p { padding-left: 1rem; font-size: .95rem; }
  .ecosystem-featured-heading { margin-top: 4rem; padding-top: 2rem; }
  .global-hero, .global-hero__grid { min-height: 530px; }
  .global-hero__grid { padding-block: 3.25rem; }
  .global-hero h1 { font-size: clamp(1.9rem, 8.7vw, 3.2rem); }
  .global-hero__media::after { background: linear-gradient(90deg, rgba(4,20,38,.96), rgba(4,20,38,.72)), linear-gradient(0deg, rgba(4,20,38,.7), transparent); }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .btn { width: 100%; }
  .metric { padding: 1rem; }
  .metric strong { font-size: 1.8rem; }
  .solution-grid { display: grid; grid-template-columns: 1fr; }
  .solution-tile, .solution-tile:nth-child(1), .solution-tile:nth-child(6) { min-height: 310px; grid-column: auto; }
  .global-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
  .global-checks span { align-items: flex-start; font-size: .75rem; }
  .global-band__visual { min-height: 320px; }
  .route-card { left: .6rem; right: .6rem; bottom: .6rem; padding: .55rem; }
  .route-card__line { grid-template-columns: 1fr auto 1fr auto 1fr; gap: .25rem; }
  .route-card__line span { padding: .45rem .2rem; font-size: .61rem; line-height: 1.25; }
  .route-card__line b { font-size: .7rem; text-align: center; }
  .featured-grid, .product-grid, .industry-grid, .principle-grid, .value-grid, .process-grid, .footer-main, .form-grid, .about-capability-grid, .reason-grid { grid-template-columns: 1fr; }
  .page-hero__inner { min-height: 390px; padding-block: 4rem; }
  .page-hero h1 { font-size: clamp(2.8rem, 13vw, 4.1rem); }
  .catalog-toolbar { top: 78px; }
  .catalog-toolbar__top { align-items: stretch; flex-direction: column; }
  .result-count { padding-left: .2rem; }
  .filter-row { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .3rem; scrollbar-width: none; }
  .filter-row::-webkit-scrollbar { display: none; }
  .filter-chip { white-space: nowrap; }
  .product-card__image { height: 210px; }
  .detail-hero { min-height: 680px; }
  .detail-hero h1 { font-size: clamp(2.85rem, 13vw, 4.5rem); }
  .detail-stats { grid-template-columns: 1fr; }
  .detail-stats span { display: grid; grid-template-columns: 50px 1fr; align-items: center; border-bottom: 1px solid rgba(255,255,255,.12); }
  .stage-tabs { grid-template-columns: 1fr; }
  .stage-tab { min-height: 62px; border-right: 0; border-bottom: 1px solid var(--line); }
  .stage-item-grid, .spec-grid, .application-grid, .material-output-list { grid-template-columns: 1fr; }
  .stage-panel { padding: 1rem; }
  .stage-panel__head { align-items: start; flex-direction: column; }
  .industry-detail-hero { padding: 4.5rem 0; }
  .industry-detail-hero h1 { font-size: clamp(2.8rem, 13vw, 4.4rem); }
  .industry-detail-photo { height: 420px; }
  .industry-card { min-height: 390px; }
  .international-cta { align-items: stretch; flex-direction: column; }
  .about-story__visual, .about-story__visual img { min-height: 430px; height: 430px; }
  .process-card { min-height: 220px; }
  .process-card::before { margin-bottom: 2.5rem; }
  .vision-card { min-height: 280px; padding: 1.4rem; }
  .vision-card h3 { margin-top: 1.8rem; }
  .about-reach { gap: 2.5rem; }
  .about-promise, .why-closing { padding: 1.5rem; }
  .why-closing { min-height: 360px; align-items: stretch; flex-direction: column; justify-content: center; }
  .why-closing .btn { width: 100%; }
  .field--wide { grid-column: auto; }
  .enquiry-card, .contact-side { padding: 1.2rem; }
  .footer-main > div:last-child { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
  .material-dialog, .enquiry-dialog { padding: 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; filter: none; transform: none; }
  .global-hero__copy > *, .page-hero__inner > *, .detail-hero__content > *, .industry-detail-hero__grid > * { opacity: 1; transform: none; }
}
