@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Manrope:wght@400;500;600&family=Noto+Sans+JP:wght@400;500;700&display=swap");

:root {
  color: #111;
  background: #f3f2ef;
  font-family: "DM Sans", "Noto Sans JP", sans-serif;
  font-synthesis: none;
  --ink: #111;
  --paper: #f3f2ef;
  --muted: #777;
  --line: rgba(17, 17, 17, .15);
  --radius: 26px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); }
body.has-ambient-bg { background:#101010; }
body.company-page::after,
body.service-page::after,
body.news-page::after,
body.contact-page::after { content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:var(--page-bg-fade, var(--company-bg-fade, 0)); background:#fff; transition:opacity .18s linear; }
body.company-page.is-white-bg .shell::before,
body.service-page.is-white-bg .shell::before,
body.news-page.is-white-bg .shell::before,
body.contact-page.is-white-bg .shell::before { content:""; position:fixed; inset:-18%; z-index:0; pointer-events:none; opacity:.94; background:radial-gradient(ellipse at 8% 18%,rgba(176,190,210,.24) 0 8%,rgba(255,255,255,.86) 17%,transparent 36%),radial-gradient(ellipse at 28% 62%,rgba(154,170,192,.2) 0 7%,rgba(255,255,255,.78) 18%,transparent 38%),radial-gradient(ellipse at 48% 22%,rgba(226,233,242,.72) 0 6%,rgba(164,180,204,.16) 18%,transparent 36%),radial-gradient(ellipse at 72% 58%,rgba(160,176,198,.18) 0 7%,rgba(255,255,255,.82) 18%,transparent 38%),radial-gradient(ellipse at 92% 26%,rgba(210,220,234,.58) 0 6%,rgba(150,166,190,.14) 17%,transparent 36%),linear-gradient(118deg,rgba(245,248,252,.9),rgba(255,255,255,.98) 42%,rgba(237,242,248,.72) 58%,rgba(255,255,255,.98)); background-size:135% 135%,145% 145%,150% 150%,145% 145%,150% 150%,100% 100%; mix-blend-mode:multiply; animation:white-ambient-silk 14s cubic-bezier(.45,0,.25,1) infinite alternate; }
body.company-page.is-white-bg .shell::after,
body.service-page.is-white-bg .shell::after,
body.news-page.is-white-bg .shell::after,
body.contact-page.is-white-bg .shell::after { content:""; position:fixed; inset:-18%; z-index:0; pointer-events:none; opacity:.72; background:linear-gradient(72deg,transparent 0%,rgba(255,255,255,.95) 18%,rgba(188,202,222,.22) 31%,rgba(255,255,255,.88) 43%,transparent 62%),linear-gradient(106deg,transparent 8%,rgba(152,168,190,.15) 25%,rgba(255,255,255,.82) 35%,transparent 52%),linear-gradient(38deg,transparent 18%,rgba(174,190,212,.13) 34%,rgba(255,255,255,.78) 45%,transparent 62%); background-size:190% 190%,220% 220%,210% 210%; mix-blend-mode:normal; animation:white-ambient-lustre 13s cubic-bezier(.45,0,.25,1) infinite alternate; }
body.company-page.is-white-bg-complete .membrane-canvas,
body.service-page.is-white-bg-complete .membrane-canvas,
body.news-page.is-white-bg-complete .membrane-canvas,
body.contact-page.is-white-bg-complete .membrane-canvas { opacity:0; }
a { color: inherit; text-decoration: none; }

body::before {
  content: "";
  position: fixed; inset: 0; z-index: 20; pointer-events: none;
  opacity: .16; mix-blend-mode: multiply;
  background-image: radial-gradient(rgba(0,0,0,.25) .45px, transparent .65px), radial-gradient(rgba(0,0,0,.16) .45px, transparent .65px);
  background-position: 0 0, 4px 5px;
  background-size: 7px 7px, 9px 9px;
}

.shell { position:relative; z-index:1; max-width: 1440px; margin: auto; padding: 0 22px 22px; }
.nav {
  width: 100vw; margin-left: calc(50% - 50vw);
  display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 10;
  padding: 28px max(22px, calc((100vw - 1396px) / 2)) 18px; border: 0; border-radius: 0; background: transparent;
  box-shadow: none;
  transition: background .35s ease, border-color .35s ease, color .35s ease, box-shadow .35s ease, opacity .35s ease, transform .35s ease;
}
.nav.on-dark { color:#fff; background:transparent; border-color:transparent; box-shadow:none; }
.nav.is-hidden { opacity:0; transform:translateY(-18px); pointer-events:none; }
.nav.on-dark .logo-black { opacity:0; }
.nav.on-dark .logo-white { opacity:1; }
.nav.on-dark .links a { color:#999; }
.nav.on-dark .links a:hover,.nav.on-dark .links a[aria-current="page"] { color:#fff; }
.logo { position:relative; z-index:1; display:block; width:188px; height:39px; }
.logo img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:left center; transition:opacity .35s ease; }
.logo-white { opacity:0; }
.links { position:absolute; z-index:1; right:max(22px,calc((100vw - 1396px) / 2)); top:calc(50% + 5px); display:flex; gap:4px; align-items:center; padding:7px; border:1px solid rgba(255,255,255,.72); border-radius:999px; background:rgba(205,205,205,.18); box-shadow:inset 0 1px 0 rgba(255,255,255,.88),inset 0 -10px 20px rgba(17,17,17,.035),0 12px 30px rgba(17,17,17,.08); transform:translateY(-50%); font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; backdrop-filter:blur(22px) saturate(142%); -webkit-backdrop-filter:blur(22px) saturate(142%); }
.links a { min-width:102px; padding:13px 17px; border-radius:999px; color:#222; text-align:center; transition:background .25s ease,color .25s ease; }
.links a:hover,.links a[aria-current="page"] { background:rgba(17,17,17,.1); color:#000; }
.nav.on-dark .links { border-color:rgba(255,255,255,.36); background:rgba(255,255,255,.045); box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -8px 18px rgba(255,255,255,.018),0 12px 32px rgba(0,0,0,.18); }
.nav.on-dark .links a { color:#d5d5d5; }
.nav.on-dark .links a:hover,.nav.on-dark .links a[aria-current="page"] { background:rgba(255,255,255,.14); color:#fff; }
.about-copy a,
.service-stack-copy span,
.news-view-all,
.contact-promo-copy a,
.button {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  backdrop-filter:blur(18px) saturate(150%);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.58),inset 0 -12px 24px rgba(17,17,17,.035),0 14px 32px rgba(17,17,17,.1);
}
.about-copy a::before,
.service-stack-copy span::before,
.news-view-all::before,
.contact-promo-copy a::before,
.button::before {
  content:"";
  position:absolute;
  inset:1px;
  z-index:-1;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.46),rgba(255,255,255,.06) 52%,rgba(255,255,255,.18));
  opacity:.86;
  pointer-events:none;
}
.about-copy a::after,
.service-stack-copy span::after,
.news-view-all::after,
.contact-promo-copy a::after,
.button::after {
  content:"";
  position:absolute;
  top:-42%;
  left:13%;
  z-index:-1;
  width:46%;
  height:120%;
  border-radius:999px;
  background:rgba(255,255,255,.34);
  filter:blur(16px);
  transform:rotate(20deg);
  opacity:.46;
  pointer-events:none;
  transition:transform .32s ease,opacity .32s ease;
}
.about-copy a:hover::after,
.service-stack-card:hover .service-stack-copy span::after,
.service-stack-copy span:hover::after,
.news-view-all:hover::after,
.contact-promo-copy a:hover::after,
.button:hover::after {
  opacity:.72;
  transform:translateX(34%) rotate(20deg);
}

.hero-scroll-stage { width:100vw; height:235vh; margin:-85px calc(50% - 50vw) 0; }
.hero { width:100%; height:100vh; min-height:690px; display:grid; grid-template-rows:1fr auto; overflow:hidden; color:#fff; background:transparent; position:sticky; top:0; isolation:isolate; }
.hero::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(90deg,rgba(10,10,10,.88) 0%,rgba(10,10,10,.48) 40%,rgba(10,10,10,0) 100%); }
.membrane-canvas { position:fixed; inset:0; z-index:0; width:100%; height:100%; opacity:1; pointer-events:none; }
.dark-texture::before {
  content:""; position:absolute; inset:0; opacity:.7;
  background: radial-gradient(circle at 74% 40%,rgba(255,255,255,.12),transparent 15%), radial-gradient(circle at 70% 40%,transparent 0 19%,rgba(255,255,255,.09) 19.2% 19.6%,transparent 19.8% 27%,rgba(255,255,255,.06) 27.2% 27.5%,transparent 27.7%), repeating-linear-gradient(115deg,transparent 0 38px,rgba(255,255,255,.035) 39px 40px);
}
.hero-main { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:flex-end; padding:clamp(32px,6vw,84px); transition:opacity .65s ease, transform .8s cubic-bezier(.22,1,.36,1); }
.hero-scroll-message { position:absolute; z-index:2; inset:0; overflow:hidden; opacity:0; transition:opacity .65s ease; pointer-events:none; }
.hero-scroll-message-inner { position:absolute; right:clamp(32px,8vw,132px); top:0; width:min(52vw,780px); transform:translate3d(0,var(--message-y, 78vh),0); will-change:transform; backface-visibility:hidden; }
.hero-scroll-message h2 { margin:24px 0 32px; font-size:clamp(1.75rem,2.8vw,3.25rem); font-weight:500; line-height:1.4; letter-spacing:-.065em; }
.hero-scroll-message p { margin:0 0 24px; color:#c0c0c0; font-size:clamp(.86rem,.98vw,1rem); line-height:1.95; letter-spacing:.018em; }
.hero.is-message .hero-main { opacity:0; transform:translateY(-38px); pointer-events:none; }
.hero.is-message .hero-scroll-message { opacity:1; }
.hero.is-message .scroll-cue { opacity:0; }
.eyebrow { display:flex; align-items:center; gap:10px; font-size:.68rem; text-transform:uppercase; letter-spacing:.2em; color:#999; }
.eyebrow::before { content:""; width:28px; height:1px; background:currentColor; }
.hero-main > .eyebrow { animation:word-in .64s cubic-bezier(.22,1,.36,1) .38s both; }
h1 { font-size:clamp(3.4rem,8vw,7.8rem); line-height:.9; margin:28px 0; letter-spacing:-.095em; font-weight:500; }
.hero h1 { max-width:1100px; font-family:"Manrope", "DM Sans", sans-serif; font-size:clamp(3rem,6.2vw,6rem); font-weight:500; line-height:1.06; letter-spacing:.015em; margin:34px 0 34px; animation:copy-reveal 1.1s cubic-bezier(.22,1,.36,1) .65s both; }
.hero-word { display:block; min-height:1.08em; overflow:hidden; }
.hero-word-inner { display:block; animation:word-in .64s cubic-bezier(.22,1,.36,1) both; }
.hero-word-inner.is-leaving { animation:word-out .42s cubic-bezier(.64,0,.78,0) both; }
.hero-copy { font-size:clamp(.96rem,1.5vw,1.28rem); letter-spacing:.06em; line-height:1.7; animation:copy-reveal .9s cubic-bezier(.22,1,.36,1) .86s both; }
.hero-bottom { position:relative; z-index:1; min-height:64px; color:#999; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }
.scroll-cue { position:absolute; left:50%; top:50%; display:flex; flex-direction:column; align-items:center; gap:4px; transform:translate(-50%,-50%); transition:opacity .4s ease; }
.scroll-cue i { font-style:normal; animation:scroll-down 1.8s ease-in-out infinite; }

@keyframes scroll-down {
  0%,100% { transform:translateY(-2px); opacity:.35; }
  50% { transform:translateY(5px); opacity:1; }
}
@keyframes window-drift {
  from { transform:translate3d(-2%,-1%,0) scale(1); }
  to { transform:translate3d(2%,1.5%,0) scale(1.04); }
}
@keyframes white-ambient-drift {
  from { background-position:0% 0%,100% 0%,50% 100%,100% 100%,0 0; }
  to { background-position:8% 6%,92% 8%,46% 88%,88% 92%,0 0; }
}
@keyframes white-ambient-float {
  from { transform:translate3d(-1.5%,-1%,0) scale(1); }
  to { transform:translate3d(1.5%,1.2%,0) scale(1.03); }
}
@keyframes white-ambient-silk {
  from { background-position:0% 18%,8% 18%,96% 24%; transform:translate3d(-1%,-.6%,0) scale(1); }
  to { background-position:100% 70%,16% 28%,84% 34%; transform:translate3d(1%,.8%,0) scale(1.012); }
}
@keyframes white-ambient-lustre {
  from { transform:translate3d(-6%,-2%,0) rotate(-2deg) scale(1); }
  to { transform:translate3d(6%,2%,0) rotate(2deg) scale(1.025); }
}
@keyframes copy-reveal {
  from { opacity:0; transform:translateY(28px); clip-path:inset(0 0 100% 0); }
  to { opacity:1; transform:translateY(0); clip-path:inset(0 0 0 0); }
}
@keyframes word-in {
  from { opacity:0; transform:translateY(78%); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes word-out {
  from { opacity:1; transform:translateY(0); }
  to { opacity:0; transform:translateY(-70%); }
}
@media (prefers-reduced-motion: reduce) {
  .hero h1,.hero-copy,.hero-word-inner,.scroll-cue i { animation:none; }
}

.intro { display:grid; grid-template-columns:1fr 2fr; gap:40px; padding:140px 2vw; }
.section-title { font-size:clamp(2.8rem,6vw,6.3rem); line-height:.95; letter-spacing:-.09em; margin:18px 0; font-weight:500; }
.intro-text { max-width:760px; font-size:clamp(1.3rem,2.2vw,2.1rem); font-weight:700; line-height:1.7; letter-spacing:-.04em; }
.intro-text small { display:block; color:var(--muted); font-size:.84rem; font-weight:400; line-height:1.9; letter-spacing:.02em; margin-top:35px; max-width:630px; }

.mission-story { position:relative; display:grid; grid-template-columns:minmax(210px,.65fr) minmax(560px,1.35fr); gap:7vw; margin:0 calc(50% - 50vw); padding:150px max(2vw, calc((100vw - 1396px) / 2)); background:var(--paper); }
.mission-label { position:relative; align-self:start; margin-top:16px; color:#777; font-size:.92rem; letter-spacing:.18em; }
.mission-label::before { width:42px; }
.story-content { max-width:760px; }
.story-content h2 { margin:25px 0 45px; font-size:clamp(1.8rem,2.8vw,3.25rem); font-weight:500; line-height:1.5; letter-spacing:-.07em; }
.story-copy { max-width:720px; color:#555; font-size:.9rem; line-height:2.2; }
.story-copy p { margin:0 0 28px; }

.about-section { position:relative; display:grid; grid-template-columns:minmax(300px,.92fr) minmax(480px,1.08fr); gap:8vw; margin:0 calc(50% - 50vw); padding:142px max(4vw,calc((100vw - 1320px) / 2)); overflow:hidden; background:#fff; }
.about-section::before,
.news-section::before { content:""; position:absolute; inset:-18%; z-index:0; pointer-events:none; opacity:.94; background:radial-gradient(ellipse at 8% 18%,rgba(176,190,210,.24) 0 8%,rgba(255,255,255,.86) 17%,transparent 36%),radial-gradient(ellipse at 28% 62%,rgba(154,170,192,.2) 0 7%,rgba(255,255,255,.78) 18%,transparent 38%),radial-gradient(ellipse at 48% 22%,rgba(226,233,242,.72) 0 6%,rgba(164,180,204,.16) 18%,transparent 36%),radial-gradient(ellipse at 72% 58%,rgba(160,176,198,.18) 0 7%,rgba(255,255,255,.82) 18%,transparent 38%),radial-gradient(ellipse at 92% 26%,rgba(210,220,234,.58) 0 6%,rgba(150,166,190,.14) 17%,transparent 36%),linear-gradient(118deg,rgba(245,248,252,.9),rgba(255,255,255,.98) 42%,rgba(237,242,248,.72) 58%,rgba(255,255,255,.98)); background-size:135% 135%,145% 145%,150% 150%,145% 145%,150% 150%,100% 100%; mix-blend-mode:multiply; animation:white-ambient-silk 14s cubic-bezier(.45,0,.25,1) infinite alternate; }
.about-section::after,
.news-section::after { content:""; position:absolute; inset:-18%; z-index:0; pointer-events:none; opacity:.72; background:linear-gradient(72deg,transparent 0%,rgba(255,255,255,.95) 18%,rgba(188,202,222,.22) 31%,rgba(255,255,255,.88) 43%,transparent 62%),linear-gradient(106deg,transparent 8%,rgba(152,168,190,.15) 25%,rgba(255,255,255,.82) 35%,transparent 52%),linear-gradient(38deg,transparent 18%,rgba(174,190,212,.13) 34%,rgba(255,255,255,.78) 45%,transparent 62%); background-size:190% 190%,220% 220%,210% 210%; mix-blend-mode:normal; animation:white-ambient-lustre 13s cubic-bezier(.45,0,.25,1) infinite alternate; }
.about-section > *,
.news-section > * { position:relative; z-index:1; }
.about-lead h2 { margin:20px 0 0; font-size:clamp(3.5rem,6.5vw,6.5rem); font-weight:400; letter-spacing:-.1em; line-height:.92; }
.about-lead p { margin:14px 0 0; color:#999; font-size:.82rem; letter-spacing:.16em; }
.about-copy { align-self:center; max-width:690px; }
.about-copy h3 { margin:0; font-size:clamp(1.55rem,2.45vw,2.7rem); font-weight:500; line-height:1.5; letter-spacing:-.055em; }
.about-copy p { margin:32px 0 0; color:#666; font-size:.96rem; line-height:2; }
.about-copy a { display:flex; align-items:center; justify-content:space-between; gap:28px; width:max-content; margin-top:38px; padding:15px 22px; border:0; border-radius:999px; background:rgba(0,0,0,.9); color:#fff; font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; transition:background-color .28s ease,box-shadow .28s ease,transform .28s ease; }
.about-copy a:hover { background:#000; color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.34),inset 0 -12px 24px rgba(255,255,255,.035),0 18px 38px rgba(17,17,17,.22); transform:translateY(-2px); }

.services-list { position:relative; display:block; margin:0 calc(50% - 50vw); padding:140px max(4vw,calc((100vw - 1320px) / 2)) 130px; border-top:1px solid rgba(255,255,255,.08); color:#fff; background:rgba(0,0,0,.5); }
.services-lead { position:sticky; top:112px; z-index:4; width:max-content; margin-bottom:84px; pointer-events:none; transform:translate3d(0,var(--services-lead-exit-y,0),0); }
.services-lead h2 { margin:20px 0 0; font-size:clamp(3.5rem,6.5vw,6.5rem); font-weight:400; letter-spacing:-.1em; line-height:.92; }
.services-lead p { margin:14px 0 48px; color:#999; font-size:.82rem; letter-spacing:.16em; }
.services-stack { display:grid; gap:44px; padding-bottom:40px; }
.service-stack-card { position:sticky; top:320px; display:grid; grid-template-columns:minmax(260px,.88fr) minmax(420px,1.12fr); aspect-ratio:3.17/1; overflow:hidden; border-radius:24px; background:#1b1b1b; color:#fff; box-shadow:0 24px 48px rgba(17,17,17,.24); }
.service-stack-card:nth-child(2),
.service-stack-card:nth-child(3) { top:320px; }
.service-stack-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(28px,4vw,56px); }
.service-stack-copy h3 { margin:0 0 28px; font-size:clamp(2rem,3.4vw,3.6rem); font-weight:400; letter-spacing:-.07em; }
.service-stack-copy p { margin:0; color:#b8b8b8; font-size:.9rem; line-height:1.95; }
.service-stack-copy span { display:inline-flex; align-items:center; gap:20px; width:max-content; margin-top:auto; padding:13px 20px; border:1px solid rgba(255,255,255,.52); border-radius:999px; background:rgba(255,255,255,.08); color:#fff; font-size:.7rem; letter-spacing:.14em; line-height:1; text-transform:uppercase; transition:background-color .28s ease,border-color .28s ease,box-shadow .28s ease,transform .28s ease; }
.service-stack-copy span i { position:relative; z-index:1; font-style:normal; font-size:1rem; line-height:.7; transition:transform .28s ease; }
.service-stack-card:hover .service-stack-copy span,
.service-stack-copy span:hover { border-color:rgba(255,255,255,.82); background:rgba(255,255,255,.16); box-shadow:inset 0 1px 0 rgba(255,255,255,.46),inset 0 -12px 24px rgba(255,255,255,.04),0 18px 38px rgba(0,0,0,.22); transform:translateY(-2px); }
.service-stack-card:hover .service-stack-copy span i,
.service-stack-copy span:hover i { transform:translateX(6px); }
.service-stack-card img { display:block; width:100%; height:100%; object-fit:cover; background:#f4f2ef; }
.services-rows { display:grid; gap:14px; align-self:center; }
.services-thumbnails { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-self:center; }
.service-thumbnail-link { display:block; border-radius:20px; overflow:hidden; box-shadow:0 12px 28px rgba(17,17,17,.1); transition:transform .3s ease,box-shadow .3s ease; }
.service-thumbnail-link:hover { transform:translateY(-6px); box-shadow:0 18px 34px rgba(17,17,17,.14); }
.service-thumbnail { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.service-row { display:grid; grid-template-columns:1fr; gap:20px; align-items:center; min-height:180px; padding:34px 4px; border-radius:0; background:transparent; transition:padding .3s ease, opacity .3s ease; }
.service-row-with-thumb { grid-template-columns:280px 1fr; column-gap:40px; }
.service-thumb { width:280px; aspect-ratio:16/9; object-fit:cover; border-radius:20px; box-shadow:0 14px 32px rgba(17,17,17,.16),0 3px 8px rgba(17,17,17,.08); }
.service-row:hover { padding-left:14px; opacity:.72; }
.service-row h3 { margin:0 0 13px; font-size:clamp(1.9rem,3.2vw,3.8rem); font-weight:400; letter-spacing:-.035em; line-height:1; }
.service-row p { max-width:580px; margin:0; color:#777; font-size:.9rem; line-height:1.9; }

.news-section { position:relative; z-index:5; width:100vw; min-height:590px; margin:0 calc(50% - 50vw); overflow:hidden; color:#111; background:#fff; }
.news-inner { position:relative; width:min(1320px,90vw); margin:0 auto; padding:108px 0 92px; }
.news-lead { margin-bottom:84px; }
.news-lead h2 { margin:20px 0 0; font-size:clamp(3rem,5.4vw,5.4rem); font-weight:400; letter-spacing:-.1em; line-height:.92; }
.news-lead p { margin:14px 0 0; color:#999; font-size:.82rem; letter-spacing:.16em; }
.news-table { width:100%; }
.news-row { display:grid; grid-template-columns:minmax(320px,1fr) minmax(120px,max-content); gap:24px; align-items:center; min-height:88px; padding:0 24px; border-radius:18px; color:#333; background:#f4f4f4; box-shadow:0 10px 28px rgba(17,17,17,.09),0 2px 6px rgba(17,17,17,.04); font-size:.94rem; transition:background-color .28s ease,color .28s ease,box-shadow .28s ease,transform .28s ease; }
.news-row:hover { color:#111; background:#eeeeee; box-shadow:0 16px 34px rgba(17,17,17,.13),0 3px 8px rgba(17,17,17,.06); transform:translateY(-2px); }
.news-head { min-height:48px; color:#888; font-size:.68rem; text-transform:uppercase; }
.news-row strong { font-weight:400; }
.news-row time { justify-self:end; color:#999; text-align:right; }
.news-view-all { display:flex; align-items:center; gap:20px; width:max-content; margin:92px 0 0 auto; padding:15px 22px; border:0; border-radius:999px; background:rgba(0,0,0,.9); color:#fff; font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; transition:background-color .28s ease,box-shadow .28s ease,transform .28s ease; }
.news-view-all:hover { background:#000; box-shadow:inset 0 1px 0 rgba(255,255,255,.34),inset 0 -12px 24px rgba(255,255,255,.035),0 18px 38px rgba(17,17,17,.22); transform:translateY(-2px); }
.news-view-all span { font-size:1rem; line-height:.7; }
.about-copy a span,
.news-view-all span,
.contact-promo-copy a span,
.button span { transition:transform .28s ease; }
.about-copy a:hover span,
.news-view-all:hover span,
.contact-promo-copy a:hover span,
.button:hover span { transform:translateX(6px); }
.contact-promo { position:relative; z-index:8; display:grid; grid-template-columns:1fr 1fr; gap:18px; width:min(1320px,90vw); margin:100px auto 40px; color:#fff; }
.contact-promo-panel { position:relative; min-height:390px; overflow:hidden; border-radius:28px; background:#fff; color:#111; box-shadow:0 24px 72px rgba(0,0,0,.18); }
.contact-promo-panel::before { content:""; position:absolute; inset:0; opacity:.5; pointer-events:none; background:radial-gradient(circle at 82% 14%,rgba(17,17,17,.09),transparent 20%),radial-gradient(rgba(17,17,17,.12) .45px,transparent .75px); background-size:auto,18px 18px; }
.contact-promo-panel:nth-child(2) { color:#fff; background:#000; box-shadow:0 24px 72px rgba(0,0,0,.28); }
.contact-promo-panel:nth-child(2)::before { opacity:.7; background:radial-gradient(circle at 78% 10%,rgba(255,255,255,.12),transparent 20%),radial-gradient(rgba(255,255,255,.16) .55px,transparent .8px); background-size:auto,18px 18px; }
.contact-promo-visual { display:none; }
.contact-promo-copy { position:relative; z-index:1; display:flex; min-height:390px; flex-direction:column; justify-content:center; padding:56px clamp(30px,4.5vw,70px); }
.contact-promo-kicker { display:block; margin:0 0 18px; color:#777; font-size:.78rem; letter-spacing:.16em; }
.contact-promo-panel:nth-child(2) .contact-promo-kicker { color:#9f9f9f; }
.contact-promo-copy h2 { margin:0; font-size:clamp(2.7rem,4.6vw,5rem); font-weight:400; letter-spacing:-.04em; }
.contact-promo-copy p { max-width:470px; margin:28px 0 0; color:#555; font-size:.95rem; line-height:1.95; }
.contact-promo-panel:nth-child(2) .contact-promo-copy p { color:#bcbcbc; }
.contact-promo-copy a { display:flex; align-items:center; justify-content:space-between; gap:26px; width:max-content; margin-top:52px; padding:14px 22px; border:0; border-radius:999px; background:rgba(0,0,0,.9); color:#fff; font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; transition:box-shadow .28s ease,transform .28s ease,background-color .28s ease; }
.contact-promo-copy a:hover { background:#000; box-shadow:inset 0 1px 0 rgba(255,255,255,.34),inset 0 -12px 24px rgba(255,255,255,.035),0 18px 38px rgba(17,17,17,.22); transform:translateY(-2px); }
.contact-promo-panel:nth-child(2) .contact-promo-copy a { border:0; background:rgba(255,255,255,.12); color:#fff; }
.contact-promo-panel:nth-child(2) .contact-promo-copy a:hover { background:rgba(255,255,255,.16); box-shadow:inset 0 1px 0 rgba(255,255,255,.48),inset 0 -12px 24px rgba(255,255,255,.04),0 18px 38px rgba(0,0,0,.22); }

.service-preview { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.service-card { position:relative; min-height:470px; border-radius:var(--radius); padding:34px; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; transition:transform .35s ease; }
.service-card:hover { transform:translateY(-7px); }
.service-card.dark { color:#fff; background:#101010; }
.service-card.light { background:#dddcd8; border:1px solid rgba(17,17,17,.1); }
.service-card::before { content:""; position:absolute; inset:0; background:repeating-radial-gradient(circle at 80% 30%,transparent 0 16px,rgba(150,150,150,.18) 17px 18px); opacity:.65; }
.service-card>* { position:relative; }
.service-card h3 { font-size:clamp(2.4rem,5vw,5.2rem); font-weight:500; letter-spacing:-.1em; margin:0; }
.service-card p { color:#888; max-width:340px; font-size:.9rem; line-height:1.8; }
.arrow { display:grid; place-items:center; width:52px; height:52px; border-radius:50%; border:1px solid rgba(150,150,150,.35); font-size:1.3rem; }

.cta { margin:140px 0 40px; padding:60px; border-radius:var(--radius); background:#111; color:#fff; display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.cta h2 { font-weight:400; font-size:clamp(2.2rem,4.8vw,4.8rem); letter-spacing:-.08em; margin:0; }
.button { display:inline-flex; gap:18px; align-items:center; padding:15px 22px; border-radius:999px; border:1px solid rgba(150,150,150,.4); background:rgba(255,255,255,.12); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; white-space:nowrap; transition:border-color .28s ease,box-shadow .28s ease,transform .28s ease; }
.button:hover { transform:translateY(-2px); }
.button.light { border:0; background:rgba(0,0,0,.9); color:#fff; }

.page-head { padding:130px 2vw 85px; border-bottom:1px solid var(--line); }
.page-head h1 { color:#111; margin:23px 0 12px; }
.page-head p { color:#777; max-width:600px; line-height:1.9; }
.content { padding:90px 2vw 120px; }
.company-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:8vw; }
.company-grid h2,.contact-grid h2 { font-size:clamp(1.9rem,3.4vw,3.8rem); font-weight:400; letter-spacing:-.07em; margin:0; }
.mvv-section { position:relative; z-index:2; margin:0 calc(50% - 50vw); padding:154px max(4vw,calc((100vw - 1320px) / 2)) 132px; color:#fff; background:transparent; }
.mvv-section > * { position:relative; z-index:1; }
.mvv-heading { max-width:980px; margin:0 0 56px; }
.mvv-heading h2 { margin:24px 0 0; font-size:clamp(2.7rem,5.4vw,6.2rem); font-weight:400; line-height:.94; letter-spacing:-.08em; }
body.company-page .mvv-heading { color:#111; }
body.company-page .mvv-heading .eyebrow { color:#777; }
.mvv-unified-card { display:grid; grid-template-columns:1fr 1fr; gap:18px; color:#fff; }
.mvv-block { position:relative; min-height:390px; overflow:hidden; border:0; border-radius:28px; padding:52px; background:#0b0b0b; box-shadow:0 24px 70px rgba(0,0,0,.32); backdrop-filter:none; -webkit-backdrop-filter:none; }
.mvv-block::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.7; background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.12),transparent 24%),radial-gradient(rgba(255,255,255,.16) .55px,transparent .8px); background-size:auto,18px 18px; }
.mvv-block::after { content:""; position:absolute; inset:-30%; pointer-events:none; opacity:.18; background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.16),transparent 18%),radial-gradient(circle at 72% 62%,rgba(255,255,255,.1),transparent 22%); filter:blur(24px); animation:window-drift 12s ease-in-out infinite alternate; }
.mvv-block > * { position:relative; z-index:1; }
.mvv-block span { display:block; margin-bottom:34px; color:#999; font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; }
.mvv-block h3 { margin:0; font-size:clamp(1.8rem,3.2vw,3.7rem); font-weight:500; line-height:1.35; letter-spacing:-.07em; }
.mvv-block p { max-width:560px; margin:38px 0 0; color:#bcbcbc; font-size:.92rem; line-height:1.95; }
.value-panel { position:relative; overflow:hidden; margin-top:18px; padding:44px 52px 48px; border:0; border-radius:28px; color:#fff; background:#0b0b0b; box-shadow:0 24px 70px rgba(0,0,0,.32); backdrop-filter:none; -webkit-backdrop-filter:none; }
.value-panel::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.68; background:radial-gradient(circle at 80% 8%,rgba(255,255,255,.12),transparent 24%),radial-gradient(rgba(255,255,255,.16) .55px,transparent .8px); background-size:auto,18px 18px; }
.value-panel::after { content:""; position:absolute; inset:-30%; pointer-events:none; opacity:.16; background:radial-gradient(circle at 22% 28%,rgba(255,255,255,.14),transparent 18%),radial-gradient(circle at 72% 62%,rgba(255,255,255,.09),transparent 22%); filter:blur(24px); animation:window-drift 13s ease-in-out infinite alternate-reverse; }
.value-panel > * { position:relative; z-index:1; }
.value-panel-head { margin-bottom:18px; }
.value-panel-head span { display:block; margin-bottom:34px; color:#999; font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; }
.value-panel-head p { margin:0 0 8px; color:#aaa; font-size:.82rem; letter-spacing:.12em; }
.value-list article { display:grid; grid-template-columns:240px 1fr; gap:28px; align-items:baseline; padding:19px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.value-list article:last-child { border-bottom:0; padding-bottom:0; }
.value-list div { display:flex; align-items:baseline; gap:18px; }
.value-list strong { font-size:1.18rem; letter-spacing:.04em; }
.value-list span { color:#aaa; font-size:1rem; font-weight:700; }
.value-list p { margin:0; color:#d0d0d0; font-size:.94rem; line-height:1.75; }
.company-profile-section { position:relative; z-index:2; margin:0 calc(50% - 50vw); padding:118px max(4vw,calc((100vw - 1320px) / 2)) 132px; color:#111; background:transparent; }
.company-profile-section .eyebrow { margin-bottom:24px; }
.company-profile-section h2 { font-size:clamp(3rem,5.5vw,6rem); line-height:.92; }
.profile { margin:0; }
.profile-row { display:grid; grid-template-columns:180px 1fr; padding:20px 0; border-bottom:1px solid var(--line); font-size:.9rem; line-height:1.9; }
.profile-row dt { color:#888; }
.profile-row dd { margin:0; }
.services-page { display:grid; gap:18px; position:relative; z-index:2; margin:0 calc(50% - 50vw); padding:120px max(4vw,calc((100vw - 1320px) / 2)) 132px; }
.service-page-stack { gap:28px; padding-bottom:0; }
.service-page-stack .service-stack-card,
.service-page-stack .service-stack-card:nth-child(2),
.service-page-stack .service-stack-card:nth-child(3) { position:relative; top:auto; }
.service-large { min-height:520px; display:grid; grid-template-columns:1fr 1fr; gap:30px; padding:52px; border-radius:28px; overflow:hidden; position:relative; box-shadow:0 24px 70px rgba(0,0,0,.32); backdrop-filter:blur(18px) saturate(130%); -webkit-backdrop-filter:blur(18px) saturate(130%); }
.service-large>* { position:relative; }
.service-large h2 { font-size:clamp(2.6rem,5.8vw,6.2rem); letter-spacing:-.09em; margin:0; font-weight:400; align-self:end; }
.service-large .service-info { align-self:end; max-width:450px; line-height:1.9; }
.service-large.dark { background:rgba(0,0,0,.92); color:#fff; }
.service-large.light { background:rgba(255,255,255,.92); color:#111; }
.service-large::before { content:""; position:absolute; inset:0; opacity:.62; background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.14),transparent 22%),radial-gradient(currentColor .45px,transparent .75px); background-size:auto,18px 18px; }
.service-large.light::before { color:rgba(17,17,17,.12); opacity:.45; }
.service-large.dark::before { color:rgba(255,255,255,.18); }
.service-large.dark .service-info p { color:#d0d0d0; }
.service-large.light .service-info p { color:#333; }
.service-large.dark .mini { color:#aaa; }
.service-large.light .mini { color:#666; }
.contact-grid { display:grid; grid-template-columns:minmax(0,680px); justify-content:center; gap:8vw; align-items:start; }
.contact-box { padding:34px; border:1px solid var(--line); border-radius:var(--radius); background:#e8e7e3; }
.contact-box p { color:#777; line-height:1.9; }
.contact-box .button { margin-top:22px; background:rgba(17,17,17,.82); color:#fff; }
.contact-note { margin-top:12px; font-size:.82rem; letter-spacing:.04em; }
.contact-form { display:grid; grid-template-columns:1fr; gap:18px; margin-top:30px; }
.contact-form label { display:grid; gap:8px; color:#555; font-size:.74rem; letter-spacing:.1em; }
.contact-form label > span { display:inline-flex; align-items:flex-start; width:max-content; gap:4px; text-transform:uppercase; }
.contact-form label:has([required]) > span::after { content:"*"; color:#ff5f5f; font-size:1rem; font-weight:700; line-height:1; }
.contact-form input,
.contact-form select,
.contact-form textarea { width:100%; border:0; border-radius:16px; padding:15px 16px; color:#111; background:rgba(255,255,255,.76); box-shadow:inset 0 1px 0 rgba(255,255,255,.8),inset 0 -10px 20px rgba(17,17,17,.035); font:inherit; font-size:.92rem; letter-spacing:0; outline:none; transition:background-color .25s ease, box-shadow .25s ease; }
.contact-form textarea { resize:vertical; min-height:160px; line-height:1.8; }
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus { background:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 0 0 3px rgba(17,17,17,.12); }
.contact-form label.is-invalid input,
.contact-form label.is-invalid select,
.contact-form label.is-invalid textarea { box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 0 0 3px rgba(255,94,94,.24); }
.field-error { min-height:1.25em; color:#ff9b9b; font-size:.7rem; line-height:1.35; letter-spacing:.04em; }
.contact-form-full,
.contact-form .button { grid-column:1 / -1; }
.contact-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
.form-status { grid-column:1 / -1; min-height:1.6em; margin:0; color:#bcbcbc; font-size:.78rem; line-height:1.7; }
.form-status.is-success { color:#c7f5d2; }
.form-status.is-error { color:#ff9b9b; }
.submit-wrap { position:relative; grid-column:1 / -1; }
.submit-wrap:has(.button:disabled):hover::after { content:attr(data-tooltip); position:absolute; left:50%; bottom:calc(100% + 12px); z-index:8; width:max-content; max-width:min(360px,86vw); padding:10px 14px; border-radius:12px; color:#111; background:rgba(255,255,255,.94); box-shadow:0 14px 34px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.9); font-size:.76rem; line-height:1.55; letter-spacing:.04em; text-align:center; transform:translateX(-50%); pointer-events:none; }
.submit-wrap:has(.button:disabled):hover::before { content:""; position:absolute; left:50%; bottom:calc(100% + 5px); z-index:8; width:12px; height:12px; background:rgba(255,255,255,.94); transform:translateX(-50%) rotate(45deg); pointer-events:none; }
.contact-form .button { width:100%; justify-content:center; border:0; cursor:pointer; font-family:inherit; }
.contact-form .button:disabled { opacity:.38; cursor:not-allowed; transform:none; }
.contact-form .button:disabled::after { opacity:.18; transform:rotate(20deg); }
.contact-form .button:disabled:hover { transform:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.58),inset 0 -12px 24px rgba(17,17,17,.035),0 14px 32px rgba(17,17,17,.1); }
.mini { color:#888; font-size:.78rem; line-height:1.8; }

body.has-ambient-bg .page-head { border-bottom-color:transparent; color:#fff; }
body.has-ambient-bg .page-head h1 { color:#fff; }
body.has-ambient-bg .page-head p { color:#bdbdbd; }
body.has-ambient-bg .page-head { display:flex; min-height:calc(100vh - 85px); flex-direction:column; justify-content:flex-end; padding-top:160px; padding-bottom:188px; }
body.has-ambient-bg .content:not(.company-profile-section) { color:#fff; }
body.has-ambient-bg .content:not(.company-profile-section) .profile-row { border-bottom-color:rgba(255,255,255,.14); }
body.has-ambient-bg .content:not(.company-profile-section) .profile-row dt { color:#9b9b9b; }
body.has-ambient-bg .content:not(.company-profile-section) .profile-row dd { color:#e8e8e8; }
body.has-ambient-bg .content:not(.company-profile-section) .mini { color:#a5a5a5; }
body.has-ambient-bg .contact-grid { position:relative; z-index:2; width:100vw; margin:0 calc(50% - 50vw); padding:120px max(4vw,calc((100vw - 1320px) / 2)) 132px; }
body.has-ambient-bg .contact-grid h2 { color:#fff; }
body.has-ambient-bg .contact-box { border:0; background:rgba(0,0,0,.9); color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -16px 28px rgba(255,255,255,.025),0 24px 70px rgba(0,0,0,.36); backdrop-filter:blur(14px) saturate(132%); -webkit-backdrop-filter:blur(14px) saturate(132%); }
body.has-ambient-bg .contact-box p { color:#bcbcbc; }
body.has-ambient-bg .contact-note { color:#ffb0b0; }
body.has-ambient-bg .contact-form label { color:#aaa; }
body.has-ambient-bg .contact-box .button { border:0; background:rgba(255,255,255,.12); color:#fff; }
body.has-ambient-bg .contact-box .button:hover { background:rgba(255,255,255,.16); box-shadow:inset 0 1px 0 rgba(255,255,255,.48),inset 0 -12px 24px rgba(255,255,255,.04),0 18px 38px rgba(0,0,0,.22); }
body.has-ambient-bg .contact-box .button:disabled,
body.has-ambient-bg .contact-box .button:disabled:hover { background:rgba(255,255,255,.08); box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -12px 24px rgba(255,255,255,.02),0 10px 24px rgba(0,0,0,.14); }
body.has-ambient-bg.is-white-bg .content:not(.company-profile-section) { color:#111; }
body.has-ambient-bg.is-white-bg .contact-box { border:0; background:rgba(0,0,0,.9); color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -16px 28px rgba(255,255,255,.025),0 24px 70px rgba(0,0,0,.36); }
body.has-ambient-bg.is-white-bg .contact-box p { color:#bcbcbc; }
body.has-ambient-bg.is-white-bg .contact-note { color:#c34040; }
body.has-ambient-bg.is-white-bg .contact-form label { color:#aaa; }
body.has-ambient-bg.is-white-bg .contact-form input,
body.has-ambient-bg.is-white-bg .contact-form select,
body.has-ambient-bg.is-white-bg .contact-form textarea { background:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.96),inset 0 -12px 22px rgba(17,17,17,.035),0 1px 0 rgba(17,17,17,.05),0 10px 26px rgba(17,17,17,.07); }
body.has-ambient-bg.is-white-bg .contact-form input:focus,
body.has-ambient-bg.is-white-bg .contact-form select:focus,
body.has-ambient-bg.is-white-bg .contact-form textarea:focus { box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 0 0 3px rgba(17,17,17,.14),0 12px 28px rgba(17,17,17,.09); }
body.has-ambient-bg.is-white-bg .contact-box .button { background:rgba(0,0,0,.9); color:#fff; }
body.has-ambient-bg.is-white-bg .contact-box .button:hover { background:#000; box-shadow:inset 0 1px 0 rgba(255,255,255,.34),inset 0 -12px 24px rgba(255,255,255,.035),0 18px 38px rgba(17,17,17,.22); }
body.has-ambient-bg.is-white-bg .contact-box .button:disabled,
body.has-ambient-bg.is-white-bg .contact-box .button:disabled:hover { background:rgba(0,0,0,.72); box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 24px rgba(17,17,17,.1); }
body.has-ambient-bg.is-white-bg .form-status { color:#bcbcbc; }
body.has-ambient-bg.is-white-bg .form-status.is-success { color:#177245; }
body.has-ambient-bg.is-white-bg .form-status.is-error,
body.has-ambient-bg.is-white-bg .field-error { color:#c34040; }
body.has-ambient-bg.is-white-bg .news-archive .news-row { box-shadow:inset 0 1px 0 rgba(255,255,255,.96),inset 0 -16px 28px rgba(17,17,17,.03),0 22px 58px rgba(17,17,17,.12); }
body.has-ambient-bg.is-white-bg .news-archive .news-row:hover { box-shadow:inset 0 1px 0 rgba(255,255,255,.96),inset 0 -16px 28px rgba(17,17,17,.03),0 26px 64px rgba(17,17,17,.16); }

.site-footer { position:relative; z-index:5; display:flex; height:250px; flex-direction:column; margin:0 calc(50% - 50vw) -22px; padding:60px max(22px,calc((100vw - 1320px) / 2)) 30px; overflow:hidden; color:#fff; background:#000; }
.site-footer::before { content:"MEDICALS"; position:absolute; right:-.04em; bottom:-.2em; z-index:0; color:rgba(255,255,255,.09); font-family:"Manrope","DM Sans",sans-serif; font-size:clamp(6rem,17vw,15rem); font-weight:500; line-height:.82; letter-spacing:-.08em; white-space:nowrap; pointer-events:none; }
.footer-main,.footer-bottom { position:relative; z-index:1; }
.footer-main { display:flex; align-items:center; justify-content:space-between; gap:48px; padding-bottom:56px; }
.footer-logo { display:block; width:210px; max-width:100%; }
.footer-logo img { display:block; width:100%; height:auto; }
.footer-nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px 28px; }
.footer-nav a { width:max-content; color:#d8d8d8; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; transition:color .25s ease, transform .25s ease; }
.footer-nav a:hover { color:#fff; transform:translateY(-2px); }
.footer-bottom { display:flex; justify-content:space-between; gap:24px; margin-top:auto; color:#8f8f8f; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; }

@media(max-width:760px) {
  .shell{padding:0 12px 12px}.logo{width:155px;height:32px}.links{gap:12px}.links a:not(.nav-contact){display:none}.hero-scroll-stage{height:275vh}.hero{min-height:680px}.hero-main{padding:28px}.hero-scroll-message-inner{left:28px;right:28px;width:auto}.hero-scroll-message h2{font-size:1.9rem}.hero-scroll-message p{font-size:.84rem;line-height:1.86}.intro,.mission-story,.services-list,.company-grid,.contact-grid{grid-template-columns:1fr;padding:92px 4px;gap:35px}.mission-story{margin:0 calc(50% - 50vw);padding:92px 16px}.mission-label{margin-top:0}.story-content{margin:0}.story-content h2{font-size:2rem}.story-copy{font-size:.88rem}.services-list{padding-top:82px}.service-row{grid-template-columns:1fr;gap:10px;min-height:150px}.service-row-with-thumb{grid-template-columns:165px 1fr;column-gap:18px}.service-thumb{width:165px;border-radius:20px}.service-preview{grid-template-columns:1fr}.service-card{min-height:350px}
  .cta{margin:90px 0 30px;padding:34px;align-items:flex-start;flex-direction:column}.contact-promo{grid-template-columns:1fr;min-height:0;margin:72px auto 24px;gap:14px}.contact-promo-panel{min-height:330px}.contact-promo-visual{min-height:230px}.contact-promo-copy{min-height:330px;padding:34px}.contact-promo-copy p{margin-top:18px}.contact-promo-copy a{margin-top:32px}.page-head{padding:100px 4px 55px}.content{padding:56px 4px 90px}
  .profile-row{grid-template-columns:1fr;gap:4px}.services-page{padding:84px 16px 96px}.service-large{min-height:440px;grid-template-columns:1fr;padding:30px}.service-large h2{align-self:start}.about-section{grid-template-columns:1fr;gap:40px;padding:88px 16px}.about-copy h3{font-size:1.8rem}.about-copy p{font-size:.9rem}.services-lead{position:relative;top:auto}.services-stack{gap:20px;padding-bottom:0}.service-stack-card,.service-stack-card:nth-child(2),.service-stack-card:nth-child(3){position:relative;top:auto;grid-template-columns:1fr;min-height:0;aspect-ratio:auto}.service-stack-copy{padding:26px}.service-stack-card img{aspect-ratio:16/9;height:auto}.news-section{min-height:520px}.news-inner{padding:78px 0 72px}.news-inner h2{margin-bottom:58px}.news-row{grid-template-columns:1fr;gap:7px;padding:16px 0}.news-head{display:none}.news-view-all{margin-top:52px}
  .contact-form{grid-template-columns:1fr}
  .mvv-section{padding:118px 16px 92px}.mvv-heading{gap:28px;margin-bottom:36px}.mvv-unified-card{grid-template-columns:1fr;gap:14px}.mvv-block{min-height:0;padding:32px}.value-panel{padding:32px 24px 34px}.value-panel-head p{margin-top:16px}.value-list article{grid-template-columns:1fr;gap:10px;padding:18px 0}.value-list div{gap:12px;flex-wrap:wrap}.company-profile-section{grid-template-columns:1fr;padding:84px 16px 96px}
}

/* ---- News archive / Privacy / 404 / footer additions ---- */
.footer-links { display:flex; align-items:center; gap:28px; }
.footer-links a { transition:color .25s ease; }
.footer-links a:hover { color:#fff; }

.news-archive { max-width:1100px; }
.news-archive .news-table { display:grid; gap:14px; }
body.has-ambient-bg .news-archive { position:relative; z-index:2; width:100vw; max-width:none; margin:0 calc(50% - 50vw); padding:120px max(4vw,calc((100vw - 1320px) / 2)) 132px; }
body.has-ambient-bg .news-archive .news-table { gap:18px; }
body.has-ambient-bg .news-archive .news-row { min-height:118px; padding:0 34px; border-radius:24px; color:#111; background:rgba(255,255,255,.88); box-shadow:inset 0 1px 0 rgba(255,255,255,.92),inset 0 -16px 28px rgba(17,17,17,.035),0 24px 70px rgba(0,0,0,.28); backdrop-filter:blur(14px) saturate(132%); -webkit-backdrop-filter:blur(14px) saturate(132%); }
body.has-ambient-bg .news-archive .news-row:hover { color:#111; background:rgba(255,255,255,.94); box-shadow:inset 0 1px 0 rgba(255,255,255,.96),inset 0 -16px 28px rgba(17,17,17,.03),0 28px 78px rgba(0,0,0,.36); }
body.has-ambient-bg .news-archive .news-row time { color:#777; }

.policy { max-width:760px; font-size:.92rem; line-height:2; color:#444; }
.policy-intro { margin:0 0 56px; }
.policy h2 { margin:56px 0 18px; font-size:1.05rem; font-weight:700; letter-spacing:.02em; color:#111; }
.policy p { margin:0 0 18px; }
.policy ul { margin:0 0 18px; padding-left:1.4em; }
.policy li { margin:6px 0; }
.policy-date { margin-top:72px; }
body.has-ambient-bg .policy { position:relative; z-index:2; width:min(860px,90vw); max-width:none; margin:0 auto 96px; padding:78px clamp(26px,5vw,72px) 86px; border-radius:28px; color:#d2d2d2; background:rgba(0,0,0,.9); box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -16px 28px rgba(255,255,255,.025),0 24px 70px rgba(0,0,0,.36); text-align:left; backdrop-filter:blur(14px) saturate(132%); -webkit-backdrop-filter:blur(14px) saturate(132%); }
body.has-ambient-bg .policy h2 { color:#fff; }
body.has-ambient-bg .policy p { color:#cfcfcf; }
body.has-ambient-bg .policy ul { padding-left:1.4em; list-style-position:outside; color:#cfcfcf; }
body.has-ambient-bg .policy .mini { color:#9f9f9f; }

.not-found { display:flex; flex-direction:column; align-items:flex-start; gap:6px; min-height:62vh; justify-content:center; padding:120px 2vw 80px; }
.not-found h1 { margin:22px 0 14px; }
.not-found p { margin:0 0 38px; color:#777; line-height:1.9; }
.not-found .button { background:rgba(17,17,17,.82); color:#fff; border-color:rgba(17,17,17,.72); }

@media(max-width:760px) {
  .site-footer{height:180px;margin-bottom:-12px;padding:42px 16px 22px}
  body.has-ambient-bg .page-head{min-height:calc(100vh - 70px);padding-top:130px;padding-bottom:118px}
  .footer-main{flex-direction:column;gap:34px;padding-bottom:42px}
  .footer-logo{width:170px}
  .footer-nav{justify-content:flex-start}
  .footer-bottom{flex-direction:column;gap:12px;align-items:flex-start}
  .footer-links{flex-direction:column;gap:8px;align-items:flex-start}
  .policy h2{margin-top:44px}
  .not-found{padding:90px 4px 60px}
  body.has-ambient-bg .news-archive{padding:84px 16px 96px}
  body.has-ambient-bg .news-archive .news-row{min-height:96px;padding:22px}
  body.has-ambient-bg .contact-grid{padding:84px 16px 96px}
  body.has-ambient-bg .policy{width:auto;margin:0 16px 64px;padding:44px 24px 54px}
}
