@import "tailwindcss";

:root {
  --ink: #0b1821;
  --navy: #07141d;
  --blue: #102733;
  --paper: #f4f1e9;
  --white: #ffffff;
  --gold: #c9a45c;
  --gold-light: #e0c383;
  --turquoise: #49c4ca;
  --muted: #607079;
  --line: rgba(11, 24, 33, 0.14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
.container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  height: 96px;
  background: rgba(244, 241, 233, 0.98);
  color: var(--ink);
  border-bottom: 1px solid rgba(11,24,33,.14);
}
.header-inner { height: 100%; display: flex; align-items: center; gap: 38px; }
.brand { display: inline-flex; align-items: center; min-width: 220px; background:white; padding:6px 10px; }
.brand img { display: block; width: 210px; height: 56px; object-fit: contain; }
.site-header .brand { min-width: 242px; padding:0; background:transparent; }
.site-header .brand img { width: 222px; height: 59px; }
.brand-large { pointer-events: none; width: min(380px, 100%); min-width:0; background:transparent; padding:0; }
.brand-large img { width: 100%; height: auto; object-fit: contain; }
.footer-brand { width:min(100%,340px);min-width:0;background:transparent;padding:0; }
.footer-brand img { width:100%;height:auto;object-fit:contain; }

.desktop-nav { display: flex; gap: 30px; margin-left: auto; align-items: center; }
.desktop-nav a { font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--ink); }
.desktop-nav a:hover { color: #8a6b32; }
.header-call {
  align-self: stretch; min-width: 200px; background: var(--gold); color: var(--ink);
  padding: 18px 22px; display: flex; flex-direction: column; justify-content: center;
  font-size: 14px; font-weight: 800; line-height: 1.25;
}
.header-call span { text-transform: uppercase; font-size: 9px; letter-spacing: .18em; margin-bottom: 4px; }
.mobile-menu { display: none; }

.hero { min-height: 760px; position: relative; display: flex; align-items: center; color: white; overflow: hidden; }
.hero-image, .cover-image { object-fit: cover; }
.hero-image { object-position: center 48%; }
.hero-shade {
  position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,14,21,.95) 0%, rgba(3,14,21,.78) 42%, rgba(3,14,21,.12) 78%);
  z-index: 1;
}
.hero-content { position: relative; z-index: 2; padding: 110px 0 140px; }
.eyebrow {
  color: #93763f; text-transform: uppercase; font-size: 11px; font-weight: 800;
  letter-spacing: .24em; margin: 0 0 24px;
}
.eyebrow.light { color: var(--gold-light); }
.hero h1, .page-hero h1 {
  margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(64px, 8vw, 116px);
  line-height: .91; font-weight: 400; letter-spacing: -.045em;
}
.hero-lead {
  max-width: 640px; font-size: 20px; line-height: 1.55; color: #d7e0e4; margin: 34px 0 38px;
}
.button-row { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.button {
  min-height: 62px; display: inline-flex; align-items: center; justify-content: center; gap: 32px;
  padding: 0 34px; font-weight: 800; font-size: 13px; letter-spacing: .09em; text-transform: uppercase;
  transition: .2s ease;
}
.button-gold { background: var(--gold); color: var(--ink); }
.button-gold:hover { background: var(--gold-light); transform: translateY(-2px); }
.button-ghost { border: 2px solid rgba(255,255,255,.55); color: white; }
.button-ghost:hover { border-color: white; background: rgba(255,255,255,.08); }
.hero .button-ghost { display:none; }
.hero-rail {
  position: absolute; z-index: 2; bottom: 0; left: 0; right: 0; min-height: 74px;
  border-top: 1px solid rgba(255,255,255,.18); display: grid; grid-template-columns: repeat(4,1fr);
  margin: 0 auto; padding-left: max(24px, calc((100vw - 1180px)/2));
  padding-right: max(24px, calc((100vw - 1180px)/2));
}
.hero-rail span {
  display: flex; align-items: center; text-transform: uppercase; font-size: 10px; letter-spacing: .18em;
  color: #cfdbdf; border-right: 1px solid rgba(255,255,255,.14); padding-left: 22px;
}
.hero-rail span:first-child { padding-left: 0; }

.trust-strip { background: var(--gold); color: var(--ink); }
.trust-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.trust-grid > div { min-height: 125px; padding: 27px 24px; border-right: 1px solid rgba(11,24,33,.22); display: flex; flex-direction: column; }
.trust-grid > div:first-child { padding-left: 0; }
.trust-grid strong { font-family: Georgia, serif; font-size: 29px; font-weight: 400; }
.trust-grid span { text-transform: uppercase; font-weight: 700; font-size: 9px; letter-spacing: .13em; margin-top: 6px; }

.section { padding: 118px 0; }
.split-heading { display: grid; grid-template-columns: 1.6fr .75fr; gap: 80px; align-items: end; margin-bottom: 58px; }
h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 5vw, 67px); font-weight: 400; line-height: 1.03; letter-spacing: -.035em; margin: 0; }
.section-lead { color: var(--muted); font-size: 18px; line-height: 1.7; margin: 0; }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.service-card { min-height: 365px; padding: 30px 28px; border-right: 1px solid var(--line); display: flex; flex-direction: column; }
.service-card:first-child { padding-left: 0; }.service-card:last-child { border-right: 0; padding-right: 0; }
.service-number { color: #a58448; font-size: 11px; letter-spacing: .18em; }
.service-card h3 { font-family: Georgia, serif; font-size: 27px; font-weight: 400; line-height: 1.15; margin: 46px 0 18px; }
.service-card p { color: var(--muted); font-size: 14px; margin: 0; }
.service-card a {
  min-height:46px;margin-top:auto;padding-top:15px;border-top:1px solid rgba(133,104,50,.28);
  text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.12em;color:#856832;
  display:flex;align-items:center;justify-content:space-between;
}

.nidec-feature { background: var(--navy); color: white; padding: 0; }
.nidec-grid { width: 100%; max-width: none; display: grid; grid-template-columns: 1fr 1fr; }
.nidec-visual { position: relative; min-height: 710px; }
.nidec-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(7,20,29,.25),transparent); }
.image-label {
  position: absolute; z-index: 2; left: 48px; bottom: 46px; background: var(--gold); color: var(--ink);
  padding: 14px 18px; text-transform: uppercase; font-size: 10px; font-weight: 800; letter-spacing: .16em;
}
.image-label:hover { background:var(--gold-light); }
.image-label:focus-visible { outline:3px solid white;outline-offset:4px; }
.nidec-copy { padding: 105px max(48px, calc((100vw - 1180px)/2)) 90px 7vw; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.nidec-brand-text-link {
  display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:12px;color:white;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(34px,3.5vw,50px);font-weight:400;line-height:1;letter-spacing:-.025em;
  padding-bottom:10px;margin-bottom:38px;border-bottom:1px solid rgba(255,255,255,.5);
}
.nidec-brand-text-link:hover { color:var(--gold-light);border-color:var(--gold-light); }
.nidec-brand-text-link:focus-visible { outline:3px solid var(--gold);outline-offset:6px; }
.nidec-click-hint {
  font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:800;line-height:1;
  letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;opacity:.72;
}
.nidec-copy h2 { font-size: clamp(45px, 5vw, 70px); }
.nidec-copy > p:not(.eyebrow) { color: #b9c6cb; max-width: 590px; font-size: 17px; margin: 28px 0 32px; }
.arrow-link {
  min-height:50px;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;
  border:1px solid currentColor;padding:0 18px;text-transform:uppercase;font-size:11px;
  font-weight:800;letter-spacing:.14em;transition:.2s ease;
}
.arrow-link:hover { color:#856832;background:rgba(201,164,92,.1);transform:translateY(-2px); }
.nidec-feature .arrow-link:hover,
.manufacturing-section .arrow-link:hover { color:var(--gold-light);background:rgba(255,255,255,.06); }

.island-section { background: white; }
.island-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; }
.island-list { border-top: 1px solid var(--line); }
.island-list > div { display: grid; grid-template-columns: 60px 1fr; gap: 20px; padding: 27px 0; border-bottom: 1px solid var(--line); }
.island-list span { color: #a58448; font-size: 11px; letter-spacing: .15em; }
.island-list p { margin: 0; color: var(--muted); font-size: 14px; }
.island-list strong { display: block; color: var(--ink); font-family: Georgia, serif; font-size: 23px; font-weight: 400; margin-bottom: 5px; }

.story-preview { background: var(--paper); }
.story-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; align-items: center; }
.story-grid .section-lead { max-width: 670px; margin: 28px 0 35px; }

.contact-band { background: #153541; color: white; padding: 90px 0; position: relative; overflow: hidden; }
.contact-band::after { content:""; position:absolute; width:420px;height:420px;border:1px solid rgba(73,196,202,.25);border-radius:50%;right:-120px;top:-190px;box-shadow:0 0 0 55px rgba(73,196,202,.05); }
.contact-band-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; position: relative; z-index: 1; }
.contact-band-inner > div:last-child > p { color: #c2d0d5; font-size: 17px; max-width: 540px; margin: 0 0 30px; }
.text-link-light { color: white; font-size: 13px; border-bottom: 1px solid rgba(255,255,255,.5); }

.footer { background: var(--navy); color: #b9c4c9; padding: 80px 0 24px; }
.footer-grid { display: grid; grid-template-columns: 1.7fr .65fr 1.2fr .8fr; gap: 60px; }
.footer-grid > div:first-child p { max-width: 320px; font-size: 13px; line-height: 1.7; margin-top: 24px; }
.footer h3 { color: var(--gold-light); text-transform: uppercase; font-size: 9px; letter-spacing: .18em; margin: 5px 0 24px; }
.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; gap: 10px; font-size: 13px; }
.footer a:hover { color: white; }
.footer-nidec-text-link {
  align-self:flex-start;display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:9px;color:white;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(22px,2vw,30px);line-height:1.05;letter-spacing:-.02em;
  padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.42);
}
.footer-nidec-text-link:hover { color:var(--gold-light)!important;border-color:var(--gold-light); }
.footer-nidec-text-link:focus-visible { outline:3px solid var(--gold);outline-offset:5px; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); margin-top: 64px; padding-top: 22px; display: flex; justify-content: space-between; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }

.page-hero { min-height: 520px; background: #dfe7e7; display: flex; align-items: flex-end; position: relative; overflow: hidden; }
.page-hero-image { color: white; min-height: 630px; }
.page-hero-inner { position: relative; z-index: 2; padding: 110px 0 85px; }
.page-hero h1 { font-size: clamp(58px, 7vw, 92px); max-width: 960px; }
.page-hero-inner > p:last-child { max-width: 690px; font-size: 19px; color: #41535d; margin: 28px 0 0; }
.page-hero-image .page-hero-inner > p:last-child { color: #d7e0e4; }
.content-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 100px; }
.content-grid h2 { position: sticky; top: 130px; }
.prose { font-size: 18px; color: var(--muted); }
.prose p:first-child { font-size: 23px; color: var(--ink); line-height: 1.6; }
.prose h3 { font-family: Georgia,serif; font-size: 32px; color: var(--ink); font-weight: 400; margin: 54px 0 10px; }
.prose ul { padding-left: 20px; }
.prose li { margin: 8px 0; }
.detail-list { border-top: 1px solid var(--line); }
.detail-item { display:grid;grid-template-columns:80px 1fr;gap:30px;padding:36px 0;border-bottom:1px solid var(--line); }
.detail-item > span { color:#9b7c42;font-size:11px;letter-spacing:.15em; }
.detail-item h3 { font-family:Georgia,serif;font-size:31px;font-weight:400;margin:0 0 10px; }
.detail-item p { color:var(--muted);margin:0; }
.detail-item ul { color:var(--muted); margin:14px 0 0; padding-left:18px; }

.history-section { background: white; }
.timeline { margin-top: 60px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.timeline article { padding:30px 25px; border-right:1px solid var(--line); }
.timeline article:first-child { padding-left:0; }.timeline article:last-child{border:0;}
.timeline strong { display:block;font-family:Georgia,serif;font-size:37px;font-weight:400;color:#9b7c42;margin-bottom:18px; }
.timeline h3 { font-family:Georgia,serif;font-size:23px;font-weight:400;margin:0 0 10px; }
.timeline p { color:var(--muted);font-size:14px;margin:0; }
.nidec-page-text-link {
  display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:12px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(32px,4vw,48px);line-height:1;letter-spacing:-.025em;
  padding-bottom:10px;margin-bottom:35px;border-bottom:1px solid rgba(11,24,33,.42);
}
.nidec-page-text-link:hover { color:#876a33;border-color:#876a33; }
.nidec-page-text-link:focus-visible { outline:3px solid var(--gold);outline-offset:6px; }
.source-links { display:flex;flex-wrap:wrap;gap:12px;margin-top:35px; }
.source-links a { border:1px solid var(--line);padding:12px 14px;text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:.12em;background:white; }

.manufacturing-section { background:var(--navy);color:white; }
.manufacturing-section .section-lead { color:#b9c6cb; }
.manufacturing-gallery { display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:18px;min-height:610px; }
.manufacturing-gallery figure { position:relative;margin:0;min-height:295px;overflow:hidden;background:#18313b; }
.manufacturing-gallery .manufacturing-main { grid-row:1 / 3; }
.manufacturing-gallery img { transition:transform .45s ease; }
.manufacturing-gallery figure:hover img { transform:scale(1.02); }
.manufacturing-gallery figure::after { content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,15,22,.7),transparent 48%); }
.manufacturing-gallery figcaption { position:absolute;z-index:2;left:24px;bottom:20px;color:white;text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:.15em; }

.equipment-section { background:#eef0eb; }
.equipment-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:22px; }
.equipment-card { background:white;border:1px solid rgba(11,24,33,.1);display:flex;flex-direction:column;min-height:490px; }
.equipment-image { position:relative;height:310px;background:white;border-bottom:1px solid var(--line); }
.equipment-image img { object-fit:contain;padding:22px; }
.equipment-card > div:last-child { padding:25px 26px 30px; }
.equipment-card h3 { font-family:Georgia,serif;font-size:25px;font-weight:400;line-height:1.15;margin:0 0 10px; }
.equipment-card p { color:var(--muted);font-size:14px;line-height:1.6;margin:0; }

.nidec-video-section { background:#102733;color:white; }
.nidec-video-section .section-lead { color:#bdc9cd; }
.video-grid { display:grid;grid-template-columns:1fr 1fr;gap:24px; }
.video-card { background:#07141d;border:1px solid rgba(255,255,255,.1); }
.video-card video { display:block;width:100%;aspect-ratio:16 / 9;background:black; }
.video-card > div { padding:24px 26px 29px; }
.video-card span { color:var(--gold-light);text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:.16em; }
.video-card h3 { font-family:Georgia,serif;font-size:27px;font-weight:400;line-height:1.2;margin:8px 0 0; }

.resource-section { background:white; }
.resource-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:22px; }
.resource-card { display:grid;grid-template-columns:120px 1fr;min-height:250px;border:1px solid var(--line);background:#f8f7f2;transition:transform .2s ease,box-shadow .2s ease;overflow:hidden; }
.resource-card:hover { transform:translateY(-3px);box-shadow:0 16px 34px rgba(11,24,33,.09); }
.resource-cover { position:relative;background:#e8e6de; }
.resource-cover img { object-fit:cover;object-position:top center; }
.resource-copy { padding:22px 19px;display:flex;flex-direction:column; }
.resource-copy > span { color:#9b7c42;text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:.14em; }
.resource-copy h3 { font-family:Georgia,serif;font-size:21px;font-weight:400;line-height:1.15;margin:10px 0 9px; }
.resource-copy p { color:var(--muted);font-size:12px;line-height:1.55;margin:0; }
.resource-request {
  align-self:flex-start;min-height:42px;margin-top:auto;padding:0 14px;border:1px solid currentColor;
  display:inline-flex;align-items:center;text-transform:uppercase;font-size:10px;font-weight:800;
  letter-spacing:.12em;color:#876b37;transition:.2s ease;
}
.resource-request:hover { color:var(--ink);background:rgba(201,164,92,.1); }
.resource-note { color:var(--muted);font-size:12px;margin:24px 0 0; }

.project-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:24px; }
.project-card { min-height:420px;background:var(--blue);color:white;position:relative;overflow:hidden;padding:34px;display:flex;flex-direction:column;justify-content:flex-end; }
.project-card .cover-image { opacity:.58;transition:.4s; }
.project-card:hover .cover-image { transform:scale(1.025);opacity:.68; }
.project-card::after { content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,15,22,.93),transparent 72%); }
.project-card > div { position:relative;z-index:2; }
.project-card span { color:var(--gold-light);font-size:10px;letter-spacing:.16em;text-transform:uppercase; }
.project-card h2 { font-size:40px;margin:9px 0 8px; }
.project-card p { color:#d1dcdf;margin:0;max-width:520px; }
.proof-note { background:#e5ddd0;padding:42px;margin-top:50px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center; }
.proof-note p { color:var(--muted);margin:0; }

.contact-grid { display:grid;grid-template-columns:.8fr 1.2fr;gap:100px; }
.contact-details { display:flex;flex-direction:column;gap:28px; }
.contact-details div { border-top:1px solid var(--line);padding-top:20px; }
.contact-details span { display:block;color:#92733b;text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:.15em;margin-bottom:8px; }
.contact-details a,.contact-details strong { font-family:Georgia,serif;font-size:24px;font-weight:400; }
.quote-form { background:white;padding:44px;box-shadow:0 18px 50px rgba(10,25,33,.08); }
.form-grid { display:grid;grid-template-columns:1fr 1fr;gap:20px; }
.field { display:flex;flex-direction:column;gap:7px; }
.field.full { grid-column:1/-1; }
.field label { text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:.14em;color:#5e6c73; }
.field input,.field select,.field textarea { width:100%;border:1px solid #cbd2d3;background:#fbfbf9;padding:13px 14px;font:inherit;color:var(--ink);border-radius:0; }
.field textarea { min-height:135px;resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { outline:2px solid var(--gold);outline-offset:1px; }
.form-note { color:var(--muted);font-size:12px;margin:18px 0 0; }
.dark-button { border:0;background:var(--ink);color:white;cursor:pointer;min-height:62px;padding:0 32px;text-transform:uppercase;font-weight:800;letter-spacing:.12em;font-size:11px; }
.dark-button:hover { background:#1c3845; }

@media (max-width: 1050px) {
  .desktop-nav { display:none; }
  .header-call { margin-left:auto; }
  .mobile-menu { display:block; position:relative; }
  .mobile-menu summary { list-style:none;width:44px;height:44px;border:1px solid rgba(11,24,33,.28);display:grid;place-content:center;gap:4px;cursor:pointer; }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu summary span { width:18px;height:1px;background:var(--ink);display:block; }
  .mobile-menu nav { position:absolute;right:0;top:56px;width:260px;background:var(--navy);padding:20px;box-shadow:0 20px 30px rgba(0,0,0,.35);display:flex;flex-direction:column; }
  .mobile-menu nav a {
    padding:12px;
    border-bottom:1px solid rgba(255,255,255,.14);
    color:var(--white);
    text-transform:uppercase;
    font-size:12px;
    font-weight:800;
    letter-spacing:.1em;
  }
  .mobile-menu nav a:hover,
  .mobile-menu nav a:focus-visible {
    color:var(--gold-light);
    background:rgba(255,255,255,.06);
    outline:none;
  }
  .mobile-menu nav a:last-child {
    color:var(--gold-light);
    border-bottom:0;
  }
  .service-grid { grid-template-columns:repeat(2,1fr); }
  .service-card { border-bottom:1px solid var(--line); }
  .nidec-copy { padding-left:50px; }
  .equipment-grid,.resource-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1.5fr 1fr 1fr; }
  .footer-nidec { grid-column:2; }
}

@media (max-width: 760px) {
  body { font-size:18px;line-height:1.68; }
  .container { width:min(100% - 38px,1180px); }
  .site-header { height:88px; }
  .header-inner { gap:14px; }
  .site-header .brand { min-width:218px;padding:0; }
  .site-header .brand img { width:208px;height:58px; }
  .header-call { display:none; }
  .brand { min-width:0; }
  .mobile-menu { margin-left:auto; }
  .mobile-menu summary { width:50px;height:50px;gap:5px; }
  .mobile-menu summary span { width:21px;height:2px; }
  .mobile-menu nav { width:min(320px,calc(100vw - 30px));padding:12px 18px; }
  .mobile-menu nav a { padding:17px 12px;font-size:14px;line-height:1.35; }
  .hero { min-height:740px; }
  .hero-content { padding:92px 0 138px; }
  .hero h1 { font-size:62px;line-height:.96; }
  .hero-lead { font-size:19px;line-height:1.62;margin:28px 0 34px; }
  .hero-shade { background:linear-gradient(90deg,rgba(3,14,21,.92),rgba(3,14,21,.5)); }
  .eyebrow { font-size:12px;line-height:1.45;letter-spacing:.19em;margin-bottom:20px; }
  .button { width:100%;min-height:66px;padding:0 24px;font-size:14px;line-height:1.25; }
  .hero-rail { grid-template-columns:1fr 1fr; padding:0 18px; min-height:96px; }
  .hero-rail span { padding:10px 8px;font-size:10px;line-height:1.35;letter-spacing:.12em; }
  .hero-rail span:nth-child(3) { padding-left:0; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .trust-grid > div { min-height:124px;border-bottom:1px solid rgba(11,24,33,.22);padding:25px 16px!important; }
  .trust-grid strong { font-size:31px; }
  .trust-grid span { font-size:10px;line-height:1.45; }
  .section { padding:86px 0; }
  h2 { font-size:clamp(42px,12vw,52px);line-height:1.07; }
  .section-lead { font-size:18px;line-height:1.72; }
  .split-heading,.island-grid,.story-grid,.content-grid,.contact-band-inner,.contact-grid { grid-template-columns:1fr;gap:45px; }
  .split-heading { margin-bottom:40px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card,.service-card:first-child,.service-card:last-child { min-height:330px;padding:32px 0;border-right:0; }
  .service-card h3 { margin:30px 0 18px;font-size:32px; }
  .service-card p { font-size:17px;line-height:1.7; }
  .service-card a { min-height:56px;padding-top:18px;font-size:12px; }
  .nidec-grid { grid-template-columns:1fr; }
  .nidec-visual { min-height:430px; }
  .nidec-copy { padding:75px 24px; }
  .nidec-copy h2 { font-size:46px;line-height:1.06; }
  .nidec-copy > p:not(.eyebrow) { font-size:18px;line-height:1.72; }
  .nidec-brand-text-link,.nidec-page-text-link { font-size:36px;line-height:1.08; }
  .nidec-click-hint { font-size:11px;line-height:1.25; }
  .arrow-link { min-height:60px;padding:0 20px;font-size:12px;line-height:1.3; }
  .island-list > div { grid-template-columns:48px 1fr;gap:15px;padding:30px 0; }
  .island-list span { font-size:12px; }
  .island-list strong { font-size:27px; }
  .island-list p { font-size:16px;line-height:1.68; }
  .story-grid > div:first-child { min-height:160px; }
  .brand-large { width:min(360px,100%); }
  .manufacturing-gallery { grid-template-columns:1fr;grid-template-rows:auto;min-height:0; }
  .manufacturing-gallery .manufacturing-main { grid-row:auto; }
  .manufacturing-gallery figure { min-height:300px; }
  .equipment-grid,.resource-grid,.video-grid { grid-template-columns:1fr; }
  .equipment-card p { font-size:16px;line-height:1.7; }
  .video-card span,.manufacturing-gallery figcaption { font-size:11px;line-height:1.45; }
  .resource-card { grid-template-columns:112px 1fr;min-height:280px; }
  .resource-copy { padding:24px 20px; }
  .resource-copy > span { font-size:10px; }
  .resource-copy h3 { font-size:24px; }
  .resource-copy p { font-size:15px;line-height:1.65; }
  .resource-request { min-height:52px;padding:0 15px;font-size:11px;line-height:1.25; }
  .resource-note,.form-note { font-size:14px;line-height:1.65; }
  .contact-band { padding:82px 0; }
  .contact-band-inner > div:last-child > p { font-size:18px;line-height:1.7; }
  .text-link-light { font-size:15px;line-height:1.55; }
  .footer { padding-top:72px; }
  .footer-grid { grid-template-columns:1fr;gap:38px; }
  .footer-grid > div:first-child p { font-size:16px;line-height:1.72; }
  .footer h3 { font-size:11px;line-height:1.4;margin-bottom:18px; }
  .footer-grid > div:not(:first-child) { gap:14px;font-size:16px;line-height:1.5; }
  .footer-nidec-text-link { font-size:29px; }
  .footer-nidec { grid-column:auto; }
  .footer-bottom { flex-direction:column;gap:10px;font-size:11px;line-height:1.6; }
  .page-hero,.page-hero-image { min-height:520px; }
  .page-hero-inner { padding:90px 0 65px; }
  .page-hero h1 { font-size:52px;line-height:1.02; }
  .page-hero-inner > p:last-child { font-size:19px;line-height:1.65; }
  .content-grid h2 { position:static; }
  .prose { font-size:18px;line-height:1.72; }
  .prose p:first-child { font-size:22px;line-height:1.58; }
  .prose h3 { font-size:34px;line-height:1.15; }
  .detail-item { grid-template-columns:1fr;gap:12px;padding:34px 0; }
  .detail-item > span { font-size:12px; }
  .detail-item h3 { font-size:31px;line-height:1.15; }
  .detail-item p,.detail-item li { font-size:17px;line-height:1.7; }
  .timeline { grid-template-columns:1fr; }
  .timeline article,.timeline article:first-child { padding:25px 0;border-right:0;border-bottom:1px solid var(--line); }
  .timeline h3 { font-size:27px; }
  .timeline p { font-size:16px;line-height:1.7; }
  .project-grid { grid-template-columns:1fr; }
  .project-card { min-height:370px;padding:25px; }
  .proof-note { grid-template-columns:1fr;padding:28px; }
  .proof-note p { font-size:17px;line-height:1.7; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .quote-form { padding:25px; }
  .contact-details span,.field label { font-size:11px;line-height:1.45; }
  .contact-details a,.contact-details strong { font-size:27px;line-height:1.35; }
  .field input,.field select,.field textarea { min-height:56px;padding:15px 14px;font-size:16px; }
  .field textarea { min-height:150px; }
  .dark-button { min-height:66px;font-size:13px; }
}

@media (max-width: 420px) {
  .site-header .brand { min-width:198px; }
  .site-header .brand img { width:190px;height:55px; }
  .hero h1 { font-size:56px; }
  .page-hero h1 { font-size:48px; }
  .hero-rail span { font-size:9px; }
  .resource-card { grid-template-columns:100px 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior:auto!important;transition:none!important; }
}
