/* Platform Experience V3 — applications, manufacturing, quality and company */

.platform-experience {
  --platform-paper:#f3f5f4;
  --platform-fog:#e5eaea;
  --platform-ink:#071116;
  --platform-blue:#07549b;
  --platform-deep:#07365f;
  --platform-copper:#bd6c36;
  overflow-x:hidden;
}

.platform-experience .eyebrow { color:var(--platform-blue); font-weight:700; }
.platform-experience .content-section { padding:145px max(32px,calc((100vw - 1440px)/2)); }
.platform-experience .section-lead { margin-bottom:68px; grid-template-columns:1.12fr .88fr; gap:8vw; align-items:end; }
.platform-experience .section-lead h2 { max-width:900px; font-size:clamp(48px,5.2vw,78px); line-height:1.05; letter-spacing:-.06em; font-weight:590; }
.platform-experience .section-lead > p { margin-bottom:6px; font-size:14px; line-height:1.88; }

/* Shared 50/50 page thesis */
.platform-experience .sub-hero,
.platform-experience.page-applications .sub-hero,
.platform-experience.page-about .sub-hero {
  min-height:calc(100svh - 105px);
  padding:0;
  display:grid;
  grid-template-columns:minmax(500px,.9fr) minmax(540px,1.1fr);
  gap:0;
  align-items:stretch;
  color:#fff;
  background:var(--platform-deep);
  overflow:hidden;
}

.platform-experience.page-capabilities .sub-hero,
.platform-experience.page-quality .sub-hero { background:var(--platform-ink); }

.platform-experience .sub-hero::after { height:0; }
.platform-experience .sub-hero > div:first-child,
.platform-experience.page-applications .sub-hero > div:first-child {
  position:relative;
  z-index:2;
  width:auto;
  padding:clamp(55px,5vw,78px) clamp(42px,5.5vw,88px) clamp(65px,6vw,92px) max(32px,calc((100vw - 1440px)/2));
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.platform-experience .sub-hero .breadcrumb,
.platform-experience .sub-hero .breadcrumb a { color:#b9c9d1; }
.platform-experience .sub-hero .breadcrumb { margin-bottom:45px; }
.platform-experience .sub-hero .eyebrow { margin-bottom:22px; color:#91c8ee; }
.platform-experience .sub-hero h1,
.platform-experience.page-about .sub-hero h1,
.platform-experience.page-applications .sub-hero h1 {
  max-width:720px;
  margin:0;
  font-size:clamp(60px,5.9vw,90px);
  line-height:.98;
  letter-spacing:-.072em;
  font-weight:600;
}
.platform-experience .sub-hero h1 span,
.platform-experience.page-about .sub-hero h1 span,
.platform-experience.page-applications .sub-hero h1 span { color:#93c9ee; white-space:normal; }
.platform-experience .sub-hero-lead { max-width:620px; margin-top:32px; color:#c0d0d7!important; font-size:15px; line-height:1.85; }
.platform-experience .sub-hero-actions { margin-top:36px; }
.platform-experience .sub-hero-actions .text-link { color:#fff; }

.platform-experience .sub-hero-media,
.platform-experience.page-applications .sub-hero-media,
.platform-experience.page-about .sub-hero-media {
  position:relative;
  inset:auto;
  min-height:650px;
  margin:0;
  display:block;
  overflow:hidden;
  border:0;
  border-left:7px solid var(--platform-copper);
  box-shadow:none;
  background:#cfd7d8;
}
.platform-experience .sub-hero-media::before { height:0; }
.platform-experience .sub-hero-media::after,
.platform-experience.page-applications .sub-hero-media::after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,transparent 58%,rgba(7,17,22,.38)); pointer-events:none; }
.platform-experience .sub-hero-media img,
.platform-experience.page-applications .sub-hero-media img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  object-position:center;
  filter:none;
  transition:transform .8s cubic-bezier(.22,1,.36,1),filter .45s ease;
}
.platform-experience.page-applications .sub-hero-media img { object-position:58% center; }
.platform-experience.page-about .sub-hero-media img { object-position:center 44%; }
.platform-experience .sub-hero-media-caption { z-index:2; right:28px; bottom:23px; left:28px; color:#fff; font-size:9px; letter-spacing:.06em; text-transform:none; text-shadow:0 1px 7px rgba(0,0,0,.4); }

.platform-experience .page-strip { min-height:72px; background:#fff; border-bottom:1px solid var(--line); }
.platform-experience .page-strip a { color:#64737a; font-size:11px; font-weight:650; }

/* Applications — large context panels */
.platform-experience.page-applications .application-cases { display:grid; gap:56px; border:0; }
.platform-experience.page-applications .application-case,
.platform-experience.page-applications .application-case:nth-child(even) {
  min-height:650px;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  grid-template-rows:auto 1fr auto;
  gap:0;
  color:var(--platform-ink);
  background:var(--platform-paper);
  box-shadow:none;
  clip-path:none;
  border:0;
  scroll-margin-top:120px;
}
.platform-experience .application-case-label { grid-column:2; grid-row:1; padding:50px 52px 0; }
.platform-experience .application-case-label p { margin:0 0 15px; color:var(--platform-blue); font-size:10px; font-weight:700; letter-spacing:.06em; }
.platform-experience .application-case-label h2 { margin:0; font-size:clamp(38px,4vw,58px); line-height:1; letter-spacing:-.05em; }
.platform-experience .application-case-media,
.platform-experience .application-case-media.is-product { grid-column:1; grid-row:1/4; min-height:650px; margin:0; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle,#fff 0,#e7eceb 65%,#cbd4d6 100%); }
.platform-experience .application-case-media img,
.platform-experience .application-case-media.is-product img { width:100%; height:650px; object-fit:cover; transition:transform .75s cubic-bezier(.22,1,.36,1),filter .4s ease; }
.platform-experience .application-case-media.is-product img { width:88%; height:560px; object-fit:contain; filter:drop-shadow(0 25px 22px rgba(7,17,22,.14)); }
.platform-experience .application-case-copy { grid-column:2; grid-row:2; padding:52px 52px 28px; align-self:center; }
.platform-experience .application-case-copy h3 { max-width:520px; margin:0 0 25px; font-size:clamp(29px,2.9vw,42px); line-height:1.18; letter-spacing:-.04em; }
.platform-experience .application-case-copy p { max-width:540px; color:var(--muted); font-size:14px; line-height:1.85; }
.platform-experience .application-case-copy .text-link { display:inline-block; margin-top:20px; }
.platform-experience .application-case .requirement-list { grid-column:2; grid-row:3; margin:0 52px 44px; padding:0; }
.platform-experience .application-case .requirement-list li { min-height:47px; color:#2a373d; font-size:12px; }

.platform-experience.page-applications .application-case:nth-child(even) .application-case-media { grid-column:2; }
.platform-experience.page-applications .application-case:nth-child(even) .application-case-label,
.platform-experience.page-applications .application-case:nth-child(even) .application-case-copy,
.platform-experience.page-applications .application-case:nth-child(even) .requirement-list { grid-column:1; }
.platform-experience.page-applications .application-case:nth-child(even) .application-case-label { padding-right:52px; padding-left:52px; }
.platform-experience.page-applications .application-case:nth-child(even) .application-case-copy { padding-right:52px; padding-left:52px; }
.platform-experience.page-applications .application-case:nth-child(even) .requirement-list { margin-right:52px; margin-left:52px; }

.platform-experience .application-decision { background:var(--platform-fog); }
.platform-experience .decision-matrix { gap:1px; }
.platform-experience .decision-matrix article { min-height:360px; padding:30px; }
.platform-experience .decision-matrix h3 { margin-top:95px; font-size:29px; }

/* Manufacturing — process is the structure */
.platform-experience.page-capabilities #engineering { color:#fff; background:var(--platform-ink); }
.platform-experience.page-capabilities #engineering .section-lead > p { color:#aebbc2; }
.platform-experience .process-line { margin-top:76px; border-top:4px solid var(--platform-copper); }
.platform-experience .process-line li { min-height:320px; padding:28px; border-color:#344047; }
.platform-experience .process-line span { color:#83b9e1; font-size:9px; }
.platform-experience .process-line strong { font-size:27px; }
.platform-experience .process-line p { max-width:230px; color:#9faeb5; font-size:12px; line-height:1.75; }

.platform-experience .capability-grid { grid-template-columns:repeat(3,1fr); gap:1px; background:#cbd2d4; }
.platform-experience .capability-item { min-height:370px; padding:32px; display:flex; flex-direction:column; background:#fff; border:0!important; }
.platform-experience .capability-item:nth-child(2),
.platform-experience .capability-item:nth-child(5) { background:var(--platform-fog); }
.platform-experience .capability-item small { color:var(--platform-blue); }
.platform-experience .capability-item h3 { margin:auto 0 20px; font-size:28px; }
.platform-experience .capability-item p { margin:0; font-size:13px; }

.platform-experience .equipment-section { background:var(--platform-fog); }
.platform-experience .process-gallery { gap:14px; }
.platform-experience .process-card { min-height:530px; }
.platform-experience .process-card img { height:530px; }
.platform-experience .process-card figcaption { min-height:175px; padding:68px 30px 27px; }
.platform-experience .process-card figcaption strong { font-size:28px; }
.platform-experience .capability-note { margin-top:60px; padding:34px; grid-template-columns:210px 1fr; }
.platform-experience .capability-outputs { background:#fff; }
.platform-experience .output-ledger > div { min-height:138px; }

/* Quality — gates, evidence and inspection */
.platform-experience .quality-system { color:#fff; background:var(--platform-deep); }
.platform-experience .quality-system .eyebrow { color:#91c8ee; }
.platform-experience .quality-system .section-lead > p { color:#bdd0d9; }
.platform-experience .gate-sequence { border-top:1px solid rgba(255,255,255,.68); }
.platform-experience .gate-sequence li { min-height:185px; padding:32px 0; grid-template-columns:110px 1fr 1.15fr 190px; gap:36px; transition:background .3s ease,padding .3s ease; }
.platform-experience .gate-main h3 { font-size:28px; }
.platform-experience .gate-copy { font-size:13px; }

.platform-experience .quality-photos { grid-template-columns:1.25fr .75fr .75fr; gap:14px; }
.platform-experience .quality-photo { overflow:hidden; }
.platform-experience .quality-photo img { height:400px; transition:transform .75s cubic-bezier(.22,1,.36,1),filter .4s ease; }
.platform-experience .quality-photo:first-child img { height:550px; }
.platform-experience .quality-photo figcaption { min-height:140px; padding:25px; }
.platform-experience .quality-photo strong { font-size:22px; }
.platform-experience #inspection { background:var(--platform-paper); }
.platform-experience .inspection-map { gap:1px; }
.platform-experience .inspection-map article { min-height:340px; padding:30px; }
.platform-experience .inspection-map h3 { margin-top:95px; font-size:27px; }
.platform-experience .inspection-track { min-height:420px; padding:30px; }
.platform-experience .inspection-track h3 { margin-top:75px; font-size:28px; }
.platform-experience .evidence-section { background:var(--platform-fog); }
.platform-experience .evidence-ledger > div { min-height:350px; }
.platform-experience .faq-list summary { min-height:105px; }

/* Company — people, manufacturing base and collaboration */
.platform-experience.page-about #company { background:#fff; }
.platform-experience .about-statement { max-width:1280px; font-size:clamp(46px,5.6vw,82px); line-height:1.15; }
.platform-experience .company-facts { margin-top:90px; color:#fff; background:var(--platform-deep); border-top:6px solid var(--platform-copper); border-bottom:0; }
.platform-experience .company-facts > div { min-height:190px; padding:30px 27px; border-color:rgba(255,255,255,.18); }
.platform-experience .company-facts strong { color:#fff; font-size:clamp(36px,3.6vw,54px); }
.platform-experience .company-facts span { color:#bed0d9; }
.platform-experience .company-profile { margin-top:110px; align-items:start; }
.platform-experience .company-profile h2 { font-size:clamp(43px,4.6vw,68px); }
.platform-experience .company-profile p { font-size:15px; }
.platform-experience .facility-gallery { margin-top:85px; grid-template-columns:1.45fr .55fr; gap:14px; }
.platform-experience .facility-gallery img { height:600px; transition:transform .75s cubic-bezier(.22,1,.36,1),filter .4s ease; }

.platform-experience.page-about #approach { background:var(--platform-paper); }
.platform-experience .principle-grid { margin-top:0; }
.platform-experience .principle { min-height:380px; padding:31px; display:flex; flex-direction:column; background:#fff; }
.platform-experience .principle h3 { margin:auto 0 18px; font-size:29px; }
.platform-experience .team-chain { margin-top:55px; }
.platform-experience .team-chain > div { min-height:230px; padding:25px; }
.platform-experience .market-section { background:var(--platform-ink); }
.platform-experience .event-gallery { gap:14px; }
.platform-experience .event-gallery img { height:520px; transition:transform .75s cubic-bezier(.22,1,.36,1),filter .4s ease; }
.platform-experience .company-qualifications { background:var(--platform-deep); }
.platform-experience .credential-grid { grid-template-columns:repeat(4,1fr); }
.platform-experience .credential-card { min-height:245px; padding:25px; }
.platform-experience .contact-band { gap:9vw; }
.platform-experience .contact-list a,
.platform-experience .contact-list p { min-height:82px; }

/* Motion is enabled only after the script has initialized. */
.platform-motion-ready [data-platform-reveal] { opacity:0; transform:translateY(30px); transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1); }
.platform-motion-ready [data-platform-reveal].is-visible { opacity:1; transform:translateY(0); }

@media (hover:hover) and (pointer:fine) {
  .platform-experience .sub-hero-media:hover img,
  .platform-experience .application-case:hover .application-case-media img,
  .platform-experience .process-card:hover img,
  .platform-experience .quality-photo:hover img,
  .platform-experience .facility-gallery figure:hover img,
  .platform-experience .event-gallery figure:hover img {
    transform:translate3d(var(--platform-x,0),var(--platform-y,0),0) scale(1.08);
    filter:saturate(1.05) contrast(1.02);
  }
  .platform-experience .application-case,
  .platform-experience .process-card,
  .platform-experience .quality-photo { transition:transform .35s ease,box-shadow .35s ease; }
  .platform-experience .application-case:hover,
  .platform-experience .process-card:hover,
  .platform-experience .quality-photo:hover { transform:translateY(-5px); box-shadow:0 22px 45px rgba(7,17,22,.12); }
  .platform-experience .gate-sequence li:hover { padding-right:22px; padding-left:22px; background:rgba(255,255,255,.06); }
}

@media (max-width:1100px) {
  .platform-experience .sub-hero,
  .platform-experience.page-applications .sub-hero,
  .platform-experience.page-about .sub-hero { grid-template-columns:1fr 1fr; }
  .platform-experience .sub-hero > div:first-child,
  .platform-experience.page-applications .sub-hero > div:first-child { padding-left:32px; }
  .platform-experience .application-case,
  .platform-experience.page-applications .application-case:nth-child(even) { grid-template-columns:1fr 1fr; }
  .platform-experience .gate-sequence li { grid-template-columns:80px 1fr 1fr; }
  .platform-experience .gate-sequence li > strong { grid-column:2/4; justify-self:start; }
}

@media (max-width:960px) {
  .platform-experience .section-lead { grid-template-columns:1fr; gap:28px; }
  .platform-experience .sub-hero,
  .platform-experience.page-applications .sub-hero,
  .platform-experience.page-about .sub-hero { min-height:0; grid-template-columns:1fr; }
  .platform-experience .sub-hero > div:first-child,
  .platform-experience.page-applications .sub-hero > div:first-child { min-height:580px; padding:70px 32px; }
  .platform-experience .sub-hero-media,
  .platform-experience.page-applications .sub-hero-media,
  .platform-experience.page-about .sub-hero-media { min-height:540px; border-top:7px solid var(--platform-copper); border-left:0; }
  .platform-experience .capability-grid { grid-template-columns:1fr 1fr; }
  .platform-experience .quality-photos { grid-template-columns:1fr 1fr; }
  .platform-experience .quality-photo:first-child { grid-column:1/3; }
  .platform-experience .credential-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:700px) {
  .platform-experience .content-section { padding:88px 16px; }
  .platform-experience .section-lead { margin-bottom:44px; }
  .platform-experience .section-lead h2 { font-size:37px; }
  .platform-experience .section-lead > p { font-size:13px; line-height:1.75; }
  .platform-experience .sub-hero,
  .platform-experience.page-applications .sub-hero,
  .platform-experience.page-about .sub-hero { display:flex; flex-direction:column; }
  .platform-experience .sub-hero > div:first-child,
  .platform-experience.page-applications .sub-hero > div:first-child { order:1; min-height:0; padding:46px 16px 40px; }
  .platform-experience .sub-hero .breadcrumb { margin-bottom:36px; }
  .platform-experience .sub-hero .eyebrow { margin-bottom:18px; }
  .platform-experience .sub-hero h1,
  .platform-experience.page-about .sub-hero h1,
  .platform-experience.page-applications .sub-hero h1 { font-size:48px; line-height:1.01; }
  .platform-experience .sub-hero-lead { margin-top:25px; font-size:14px; line-height:1.72; }
  .platform-experience .sub-hero-actions { margin-top:29px; }
  .platform-experience .sub-hero-media,
  .platform-experience.page-applications .sub-hero-media,
  .platform-experience.page-about .sub-hero-media { position:relative; inset:auto; order:2; width:calc(100% - 32px); min-height:320px; height:320px; margin:0 16px 18px; }
  .platform-experience .sub-hero-media img,
  .platform-experience.page-applications .sub-hero-media img { max-height:none; object-position:center; }
  .platform-experience.page-applications .sub-hero-media img { object-position:58% center; }
  .platform-experience .sub-hero-media-caption { right:14px; bottom:12px; left:14px; }
  .platform-experience .page-strip { min-height:60px; padding:0 16px; gap:24px; justify-content:flex-start; overflow-x:auto; }
  .platform-experience .page-strip a { flex:0 0 auto; }

  .platform-experience.page-applications .application-cases { gap:26px; }
  .platform-experience.page-applications .application-case,
  .platform-experience.page-applications .application-case:nth-child(even) { min-height:0; display:flex; flex-direction:column; color:var(--platform-ink); background:var(--platform-paper); }
  .platform-experience .application-case-label,
  .platform-experience.page-applications .application-case:nth-child(even) .application-case-label { order:1; padding:26px 22px 18px; }
  .platform-experience .application-case-label h2 { font-size:35px; }
  .platform-experience .application-case-media,
  .platform-experience .application-case-media.is-product,
  .platform-experience.page-applications .application-case:nth-child(even) .application-case-media { order:2; width:100%; min-height:300px; height:300px; }
  .platform-experience .application-case-media img,
  .platform-experience .application-case-media.is-product img { height:300px; }
  .platform-experience .application-case-media.is-product img { width:90%; height:270px; }
  .platform-experience .application-case-copy,
  .platform-experience.page-applications .application-case:nth-child(even) .application-case-copy { order:3; padding:28px 22px 20px; }
  .platform-experience .application-case-copy h3 { font-size:27px; }
  .platform-experience .application-case .requirement-list,
  .platform-experience.page-applications .application-case:nth-child(even) .requirement-list { order:4; margin:0 22px 28px; }
  .platform-experience .decision-matrix { grid-template-columns:1fr; }

  .platform-experience .process-line { grid-template-columns:1fr; }
  .platform-experience .process-line li { min-height:195px; border-left:1px solid #344047; }
  .platform-experience .capability-grid { grid-template-columns:1fr; }
  .platform-experience .capability-item { min-height:270px; padding:25px; }
  .platform-experience .process-gallery { grid-template-columns:1fr; }
  .platform-experience .process-card,.platform-experience .process-card img { min-height:360px; height:360px; }
  .platform-experience .process-card figcaption { min-height:150px; padding:58px 21px 22px; }
  .platform-experience .capability-note { grid-template-columns:1fr; gap:18px; padding:25px 22px; }

  .platform-experience .gate-sequence li { min-height:0; padding:27px 0; grid-template-columns:45px 1fr; gap:16px; }
  .platform-experience .gate-main,.platform-experience .gate-copy,.platform-experience .gate-sequence li > strong { grid-column:2; }
  .platform-experience .gate-main h3 { font-size:23px; }
  .platform-experience .quality-photos { grid-template-columns:1fr; }
  .platform-experience .quality-photo:first-child { grid-column:1; }
  .platform-experience .quality-photo img,.platform-experience .quality-photo:first-child img { height:290px; }
  .platform-experience .inspection-map { grid-template-columns:1fr; }
  .platform-experience .inspection-map article { min-height:260px; }
  .platform-experience .inspection-map h3 { margin-top:65px; }
  .platform-experience .inspection-track { min-height:0; }
  .platform-experience .inspection-track h3 { margin-top:45px; }
  .platform-experience .evidence-ledger { grid-template-columns:1fr; }

  .platform-experience .about-statement { font-size:39px; line-height:1.17; }
  .platform-experience .company-facts { margin-top:55px; grid-template-columns:1fr 1fr; }
  .platform-experience .company-facts > div { min-height:125px; padding:18px 15px; }
  .platform-experience .company-facts strong { font-size:29px; }
  .platform-experience .company-profile { margin-top:70px; grid-template-columns:1fr; gap:35px; }
  .platform-experience .company-profile h2 { font-size:36px; }
  .platform-experience .facility-gallery,.platform-experience .event-gallery { margin-top:50px; grid-template-columns:1fr; }
  .platform-experience .facility-gallery img,.platform-experience .event-gallery img { height:320px; }
  .platform-experience .principle-grid,.platform-experience .team-chain { grid-template-columns:1fr; }
  .platform-experience .principle { min-height:260px; }
  .platform-experience .credential-grid { grid-template-columns:1fr 1fr; }
  .platform-experience .credential-card { min-height:185px; padding:14px; }
  .platform-experience .contact-band { grid-template-columns:1fr; gap:45px; }
  .platform-experience .contact-list a,
  .platform-experience .contact-list p { min-height:92px; gap:18px; align-items:flex-start; padding:20px 0; flex-direction:column; justify-content:center; }
  .platform-experience .contact-list strong { overflow-wrap:anywhere; line-height:1.6; }
}

@media (prefers-reduced-motion:reduce) {
  .platform-experience *,.platform-experience *::before,.platform-experience *::after { transition:none!important; animation:none!important; }
  .platform-motion-ready [data-platform-reveal] { opacity:1; transform:none; }
}
