:root {
  --cyan: #0096af;
  --cyan-soft: #d9f0f4;
  --red: #d81328;
  --ink: #10192d;
  --slate: #1e293b;
  --muted: #60708a;
  --line: #cbd6df;
  --paper: #f5f7f9;
  --white: #fff;
  --font: "Montserrat", "Avenir Next", Arial, sans-serif;
  --shell: min(1240px, calc(100vw - 64px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--white); color: var(--ink); font-family: var(--font); font-size: 15px; line-height: 1.6; margin: 0; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
::selection { background: var(--red); color: var(--white); }

.page-shell { margin: 0 auto; width: var(--shell); }
.sr-only { clip: rect(0, 0, 0, 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.skip-link { background: var(--ink); color: var(--white); left: 1rem; padding: .8rem 1rem; position: fixed; top: -5rem; z-index: 100; }
.skip-link:focus { top: 1rem; }

.site-header { align-items: center; background: rgba(255,255,255,.96); border-top: 5px solid var(--cyan); border-bottom: 1px solid rgba(16,25,45,.12); display: grid; grid-template-columns: 1fr auto 1fr; height: 92px; left: 0; padding: 0 max(32px, calc((100vw - 1240px) / 2)); position: sticky; right: 0; top: 0; transition: box-shadow .2s ease; z-index: 30; }
.site-header::after { background: var(--red); content: ""; height: 5px; position: absolute; right: 0; top: -5px; width: 18%; }
.site-header.is-scrolled { box-shadow: 0 10px 28px rgba(16,25,45,.12); }
.brand { display: flex; width: 210px; }
.brand-lockup { height: 60px; object-fit: contain; object-position: left center; width: 205px; }
.site-nav { align-items: center; display: flex; gap: clamp(.9rem, 1.5vw, 1.7rem); justify-content: center; }
.site-nav a, .locale-link { font-size: .66rem; font-weight: 800; letter-spacing: .085em; text-transform: uppercase; }
.site-nav a { position: relative; }
.site-nav a::after { background: var(--red); bottom: -.55rem; content: ""; height: 2px; left: 0; position: absolute; transform: scaleX(0); transform-origin: right; transition: transform .2s ease; width: 100%; }
.site-nav a:hover::after, .site-nav a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.header-actions { align-items: center; display: flex; justify-content: flex-end; }
.locale-link { color: var(--cyan); }
.locale-link span { color: var(--red); font-size: 1rem; }
.menu-toggle { background: transparent; border: 0; display: none; height: 40px; padding: 0; width: 40px; }
.menu-toggle span:not(.sr-only) { background: var(--ink); display: block; height: 2px; margin: 6px auto; transition: transform .2s ease; width: 23px; }
.menu-toggle[aria-expanded="true"] span:nth-of-type(2) { transform: translateY(4px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-of-type(3) { transform: translateY(-4px) rotate(-45deg); }
.mobile-nav { background: var(--ink); color: var(--white); display: grid; inset: 0; padding: 8.5rem 2rem 2rem; position: fixed; z-index: 25; }
.mobile-nav[hidden] { display: none; }
.mobile-nav a { border-bottom: 1px solid rgba(255,255,255,.16); font-size: clamp(1.5rem, 7vw, 2.6rem); font-weight: 900; letter-spacing: -.04em; padding: .35rem 0; text-transform: uppercase; }
.mobile-nav .mobile-nav__locale { color: #92e3ed; font-size: .7rem; letter-spacing: .12em; padding-top: 1rem; }

.hero-corporate { background: var(--white); min-height: min(850px, calc(100svh - 50px)); overflow: hidden; position: relative; }
.hero-corporate__layout { align-items: center; display: grid; gap: clamp(2.5rem, 7vw, 7rem); grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr); min-height: 730px; padding: 3rem 0 6rem; position: relative; z-index: 2; }
.hero-corporate__copy { max-width: 700px; }
.section-kicker { align-items: center; color: var(--cyan); display: flex; font-size: .65rem; font-weight: 800; gap: .65rem; letter-spacing: .11em; margin: 0 0 1.35rem; text-transform: uppercase; }
.section-kicker b { align-items: center; background: var(--ink); color: var(--white); display: inline-flex; font-size: .64rem; height: 25px; justify-content: center; letter-spacing: .03em; width: 30px; }
.section-kicker--light { color: #a8e9f1; }
.section-kicker--light b { background: var(--red); }
.hero-company { color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .055em; line-height: 1.7; margin: 0 0 1rem; max-width: 620px; text-transform: uppercase; }
.hero-company span { color: var(--red); margin: 0 .45rem; }
h1, h2, h3, p { margin-top: 0; }
.hero-corporate h1, .section-heading-corporate h2, .commitment-section h2, .impact-heading h2, .contact-banner h2, .subpage-hero h1 { font-size: clamp(2.7rem, 5.4vw, 5.8rem); font-weight: 900; letter-spacing: -.075em; line-height: .96; margin: 0; text-transform: uppercase; }
.hero-corporate h1 em, h2 em, .subpage-hero h1 em { color: var(--red); font-style: normal; }
.hero-lead { color: #40506a; font-size: 1rem; line-height: 1.75; margin: 1.8rem 0 0; max-width: 570px; }
.hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1.5rem; margin-top: 2rem; }
.button { align-items: center; border: 1px solid transparent; display: inline-flex; font-size: .68rem; font-weight: 800; gap: .8rem; justify-content: center; letter-spacing: .08em; min-height: 52px; padding: .9rem 1.1rem; text-transform: uppercase; transition: background .2s ease, color .2s ease, transform .2s ease; }
.button--cyan { background: var(--cyan); color: var(--white); }
.button--cyan:hover { background: var(--ink); }
.button--dark { background: var(--ink); color: var(--white); }
.button--dark:hover { background: var(--cyan); }
.button--outline { border-color: var(--ink); margin-top: 2rem; }
.button--outline:hover { background: var(--ink); color: var(--white); }
.text-cta { align-items: center; color: var(--ink); display: inline-flex; font-size: .7rem; font-weight: 800; gap: .7rem; letter-spacing: .07em; text-transform: uppercase; }
.text-cta span { color: var(--red); font-size: 1.2rem; transition: transform .2s ease; }
.text-cta:hover span { transform: translate(3px, -3px); }
.text-cta--light { color: var(--white); }
.brand-promise { color: var(--cyan); font-size: .65rem; font-weight: 700; letter-spacing: .11em; margin: 2.6rem 0 0; text-transform: uppercase; }
.brand-promise strong { color: var(--red); }
.brand-promise--art { max-width: 290px; }
.brand-promise--art img { height: auto; width: 100%; }
.hero-corporate__media { background: var(--ink); box-shadow: 18px 18px 0 var(--cyan); min-height: 480px; overflow: hidden; position: relative; }
.hero-corporate__media::after { border: 1px solid rgba(255,255,255,.18); content: ""; inset: 13px; pointer-events: none; position: absolute; z-index: 3; }
.film-topline { color: rgba(255,255,255,.84); display: flex; font-size: .57rem; font-weight: 800; justify-content: space-between; left: 27px; letter-spacing: .11em; position: absolute; right: 27px; top: 25px; z-index: 4; }
.hero-film { height: 100%; inset: 0; object-fit: cover; opacity: .82; position: absolute; width: 100%; }
.film-overlay { align-items: flex-end; background: linear-gradient(0deg, rgba(16,25,45,.86), transparent 64%); bottom: 0; display: flex; justify-content: space-between; left: 0; padding: 2rem 2rem 1.75rem; position: absolute; right: 0; z-index: 2; }
.film-overlay img { height: auto; max-height: 104px; object-fit: contain; width: 158px; }
.film-overlay span { color: var(--white); font-size: .62rem; font-weight: 800; letter-spacing: .11em; text-align: right; }
.film-control { align-items: center; background: transparent; border: 0; color: var(--white); display: inline-flex; font-size: .59rem; font-weight: 800; gap: .55rem; left: 27px; letter-spacing: .1em; padding: 0; position: absolute; text-transform: uppercase; top: 55px; z-index: 4; }
.film-control__icon { align-items: center; border: 1px solid var(--cyan); border-radius: 50%; display: inline-flex; font-size: .6rem; height: 26px; justify-content: center; width: 26px; }
.hero-guide-globe { opacity: .24; pointer-events: none; position: absolute; right: -15rem; top: -3rem; width: min(68vw, 860px); z-index: 0; }
.hero-corporate__footer { bottom: 1.8rem; color: #64738a; display: flex; font-size: .57rem; font-weight: 800; justify-content: space-between; left: 50%; letter-spacing: .11em; position: absolute; text-transform: uppercase; transform: translateX(-50%); width: var(--shell); z-index: 2; }
.hero-corporate__footer span:nth-child(2) { align-items: center; display: flex; gap: .8rem; }
.hero-corporate__footer i { background: var(--red); height: 2px; width: 54px; }

.section-space { padding: clamp(5rem, 8vw, 8.5rem) 0; }
.section-rule { display: flex; height: 4px; margin-bottom: 3rem; overflow: hidden; }
.section-rule span { background: var(--cyan); flex: 1; }
.section-rule i { background: var(--red); width: 20%; }
.section-heading-corporate { align-items: end; display: grid; gap: 3rem; grid-template-columns: minmax(0, 1fr) minmax(250px, .42fr); margin-bottom: 3.2rem; }
.section-heading-corporate > p { color: var(--muted); font-size: .94rem; line-height: 1.75; margin: 0; }
.section-heading-corporate h2 { font-size: clamp(2.25rem, 4.3vw, 4.7rem); }
.section-heading-corporate h2 em { color: var(--cyan); }
.section-heading-corporate--compact { margin-bottom: 3rem; }
.profile-section { background: var(--paper); }
.profile-grid { display: grid; gap: 1.25rem; grid-template-columns: 1fr 1fr; }
.profile-card { border: 1px solid var(--line); min-height: 350px; padding: clamp(1.7rem, 3vw, 2.7rem); position: relative; }
.profile-card::before { bottom: -1px; content: ""; height: 5px; left: -1px; position: absolute; right: -1px; }
.profile-card--cyan::before { background: var(--cyan); }
.profile-card--red::before { background: var(--red); }
.profile-card__icon { color: var(--red); display: block; font-size: 1.3rem; margin-bottom: 1.5rem; }
.profile-card--cyan .profile-card__icon { color: var(--cyan); }
.profile-card__eyebrow { color: var(--ink); font-size: .63rem; font-weight: 800; letter-spacing: .1em; margin-bottom: 1rem; text-transform: uppercase; }
.profile-card h3 { font-size: clamp(1.4rem, 2vw, 2rem); font-weight: 800; letter-spacing: -.04em; line-height: 1.15; margin-bottom: 1rem; max-width: 26rem; }
.profile-card p:last-child { color: var(--muted); font-size: .87rem; line-height: 1.75; margin-bottom: 0; max-width: 31rem; }

.services-section { background: var(--white); }
.scope-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.scope-card { border: 1px solid var(--line); margin: -1px 0 0 -1px; min-height: 310px; overflow: hidden; position: relative; }
.scope-card:nth-child(1), .scope-card:nth-child(6) { grid-column: span 2; }
.scope-card__visual { inset: 0; position: absolute; }
.scope-card__visual::after { background: linear-gradient(0deg, rgba(16,25,45,.92), rgba(16,25,45,.05) 72%); content: ""; inset: 0; position: absolute; }
.scope-card__visual img { height: 100%; object-fit: cover; width: 100%; }
.scope-card__body { bottom: 0; color: var(--white); left: 0; padding: 1.4rem; position: absolute; right: 0; z-index: 2; }
.scope-card__body b { color: #86ebf7; font-size: .65rem; letter-spacing: .08em; }
.scope-card__body h3 { font-size: clamp(1rem, 1.5vw, 1.25rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.2; margin: .55rem 0 .2rem; text-transform: uppercase; }
.scope-card__body p { color: rgba(255,255,255,.78); font-size: .65rem; font-weight: 600; letter-spacing: .02em; margin: 0; }
.scope-card--solution { background: var(--ink); }
.scope-card--solution { background-image: linear-gradient(0deg, rgba(16,25,45,.92), rgba(16,25,45,.12) 72%), url('/assets/images/services/turnkey-team.jpg'); background-position: center; background-size: cover; }
.scope-card--solution::before, .scope-card--solution::after { display: none; }
.scope-card__solution-mark { color: rgba(255,255,255,.14); font-size: clamp(4rem, 8vw, 8rem); font-weight: 900; letter-spacing: -.1em; line-height: 1; position: absolute; right: 1rem; top: 1rem; }
.scope-card--solution .scope-card__solution-mark { display: none; }

.commitment-section { background: var(--ink); color: var(--white); position: relative; }
.commitment-section::after { border: 1px solid rgba(168,200,208,.26); border-radius: 50%; content: ""; height: 650px; position: absolute; right: -270px; top: -200px; width: 650px; }
.commitment-layout { display: grid; gap: 5rem; grid-template-columns: minmax(260px, .84fr) minmax(400px, 1.16fr); position: relative; z-index: 1; }
.commitment-section h2 { color: var(--white); font-size: clamp(2.5rem, 4.6vw, 4.8rem); }
.commitment-section h2 em { color: #85eaf4; }
.commitment-intro { color: rgba(255,255,255,.68); margin: 1.8rem 0 0; max-width: 30rem; }
.commitment-list { border-top: 1px solid rgba(255,255,255,.25); list-style: none; margin: 0; padding: 0; }
.commitment-list li { border-bottom: 1px solid rgba(255,255,255,.25); display: grid; gap: 1.3rem; grid-template-columns: 2.3rem 1fr; padding: 1.35rem 0; }
.commitment-list li > span { color: var(--red); font-size: .7rem; font-weight: 800; padding-top: .25rem; }
.commitment-list h3 { font-size: 1rem; font-weight: 800; margin: 0 0 .25rem; text-transform: uppercase; }
.commitment-list p { color: rgba(255,255,255,.65); font-size: .84rem; margin: 0; }

.impact-section { background: var(--paper); }
.impact-heading { margin-bottom: 3rem; }
.impact-heading h2 { font-size: clamp(2.5rem, 4.7vw, 5rem); }
.impact-heading h2 em { color: var(--red); }
.impact-grid { border-top: 4px solid var(--cyan); display: grid; grid-template-columns: .75fr 1fr .65fr; min-height: 315px; }
.impact-stat, .impact-copy, .impact-guide-art { border-right: 1px solid var(--line); padding: clamp(1.5rem, 3.5vw, 3rem); }
.impact-guide-art { border-right: 0; display: grid; overflow: hidden; place-items: center; }
.impact-guide-art img { max-width: 300px; width: 100%; }
.impact-stat strong { color: var(--cyan); display: block; font-size: clamp(5rem, 10vw, 9rem); font-weight: 900; letter-spacing: -.1em; line-height: .85; }
.impact-stat strong span { color: var(--red); }
.impact-stat p { color: var(--muted); font-size: .74rem; font-weight: 700; line-height: 1.6; margin: 1.2rem 0 0; text-transform: uppercase; }
.impact-copy { align-items: flex-start; display: flex; flex-direction: column; justify-content: center; }
.impact-copy p { font-size: 1rem; line-height: 1.8; margin-bottom: 1.5rem; max-width: 34rem; }

.references-section { background: var(--white); }
.logo-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 1rem; }
.logo-grid figure { align-items: center; background: var(--ink); border: 1px solid var(--ink); display: flex; flex-direction: column; justify-content: center; margin: -1px 0 0 -1px; min-height: 175px; padding: 1.6rem; }
.logo-grid img { filter: grayscale(1) brightness(0) invert(1); max-height: 52px; max-width: 155px; object-fit: contain; transition: filter .25s ease, transform .25s ease; }
.logo-grid figure:hover img { filter: grayscale(1) brightness(0) invert(1); transform: scale(1.06); }
.logo-grid figcaption { color: rgba(255,255,255,.72); font-size: .58rem; font-weight: 700; letter-spacing: .06em; margin-top: 1rem; text-align: center; text-transform: uppercase; }
.logo-grid figure:has(img[src$="/epp.webp"]), .reference-page-grid figure:has(img[src$="/epp.webp"]) { background: var(--ink); border-color: var(--ink); }
.logo-grid figure:has(img[src$="/epp.webp"]) img, .reference-page-grid figure:has(img[src$="/epp.webp"]) img { filter: none; }
.logo-grid figure:has(img[src$="/epp.webp"]) figcaption, .reference-page-grid figure:has(img[src$="/epp.webp"]) figcaption { color: rgba(255,255,255,.72); }
.logo-grid figure:has(img[src$="/milli-saraylar.png"]), .reference-page-grid figure:has(img[src$="/milli-saraylar.png"]) { background: var(--ink); border-color: var(--ink); }
.logo-grid figure:has(img[src$="/milli-saraylar.png"]) img, .reference-page-grid figure:has(img[src$="/milli-saraylar.png"]) img { filter: none; }
.logo-grid figure:has(img[src$="/milli-saraylar.png"]) figcaption, .reference-page-grid figure:has(img[src$="/milli-saraylar.png"]) figcaption { color: rgba(255,255,255,.72); }

.insights-section { background: var(--slate); color: var(--white); }
.insights-section h2 { color: var(--white); }
.insights-section h2 em { color: #85eaf4; }
.insight-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; }
.insight-tile { border: 1px solid rgba(255,255,255,.25); display: flex; flex-direction: column; margin: -1px 0 0 -1px; min-height: 300px; padding: 1.8rem; transition: background .2s ease; }
.insight-tile:hover { background: var(--cyan); }
.insight-tile--feature { background: var(--cyan); }
.insight-tile span { color: #d3fbff; font-size: .62rem; font-weight: 800; letter-spacing: .1em; }
.insight-tile h3 { font-size: clamp(1.3rem, 2vw, 2rem); font-weight: 800; letter-spacing: -.045em; line-height: 1.15; margin: auto 0 1.8rem; }
.insight-tile i { border-top: 1px solid rgba(255,255,255,.5); font-size: .65rem; font-style: normal; font-weight: 800; letter-spacing: .07em; padding-top: .8rem; text-transform: uppercase; }

.contact-section { background: var(--white); }
.contact-banner { align-items: center; background: var(--cyan-soft); border-top: 5px solid var(--cyan); display: grid; gap: 3rem; grid-template-columns: 1.25fr .75fr; overflow: hidden; padding: clamp(2rem, 5vw, 4rem); position: relative; }
.contact-banner::after { background: var(--red); bottom: 0; content: ""; height: 10px; left: 0; position: absolute; width: 32%; }
.contact-banner h2 { font-size: clamp(2.3rem, 4.2vw, 4.2rem); }
.contact-banner h2 em { color: var(--cyan); }
.contact-banner p:not(.section-kicker) { color: var(--muted); margin: 1rem 0 0; max-width: 35rem; }
.contact-banner > img { justify-self: end; max-height: 220px; width: min(320px, 100%); }
.contact-grid { display: grid; gap: 4rem; grid-template-columns: .72fr 1.28fr; padding-top: 3.4rem; }
.contact-details { border-top: 3px solid var(--red); padding-top: 1.2rem; }
.contact-label { color: var(--cyan); font-size: .65rem; font-weight: 800; letter-spacing: .1em; margin-bottom: 1.2rem; }
.contact-details a { display: block; font-size: 1.1rem; font-weight: 800; letter-spacing: -.03em; margin-bottom: .45rem; }
.contact-details a:hover { color: var(--red); }
.contact-details p:last-child { color: var(--muted); font-size: .85rem; margin: 1.4rem 0 0; }
.contact-form { display: grid; gap: 1.25rem; }
.form-row { display: grid; gap: 1.25rem; grid-template-columns: 1fr 1fr; }
.contact-form label { color: var(--muted); display: grid; font-size: .65rem; font-weight: 800; gap: .4rem; letter-spacing: .07em; text-transform: uppercase; }
.contact-form input, .contact-form textarea { background: transparent; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; color: var(--ink); outline: 0; padding: .55rem 0; resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus { border-bottom-color: var(--cyan); }
.form-status { color: var(--muted); font-size: .72rem; margin: 0; }

.site-footer { background: var(--ink); border-top: 5px solid var(--red); color: var(--white); padding: 3rem 0 1.7rem; }
.footer-layout { align-items: center; display: grid; gap: 2rem; grid-template-columns: 210px 1fr auto; }
.footer-layout > img { filter: none; height: 55px; object-fit: contain; object-position: left; width: 205px; }
.footer-layout > .footer-slogan { height: auto; justify-self: start; max-width: 280px; width: 100%; }
.footer-layout > p { color: #9edce4; font-size: .63rem; font-weight: 700; letter-spacing: .09em; margin: 0; text-transform: uppercase; }
.footer-layout strong { color: #ff5f70; }
.footer-layout > div { display: flex; gap: 1rem; }
.footer-layout > div a { color: rgba(255,255,255,.7); font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.footer-layout > div a:hover { color: var(--white); }
.footer-layout small { color: rgba(255,255,255,.5); font-size: .6rem; grid-column: 1 / -1; }

/* Inner pages */
.subpage-hero { background: var(--paper); min-height: 400px; overflow: hidden; padding: 6.5rem 0 4rem; position: relative; }
.subpage-hero::after { border: 24px solid var(--cyan); border-radius: 50%; content: ""; height: 520px; position: absolute; right: -260px; top: -290px; width: 520px; }
.subpage-hero__content { max-width: 800px; position: relative; z-index: 1; }
.subpage-hero h1 { font-size: clamp(2.6rem, 5vw, 5.2rem); }
.subpage-hero > .page-shell p:last-child { color: var(--muted); font-size: 1rem; margin: 1.5rem 0 0; max-width: 43rem; }
.content-section { padding: clamp(4rem, 7vw, 7rem) 0; }
.content-section--paper { background: var(--paper); }
.article-list { border-top: 4px solid var(--cyan); }
.article-row { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 1.5rem; grid-template-columns: 100px 1fr auto; padding: 1.6rem 0; }
.article-row small { color: var(--red); font-size: .65rem; font-weight: 800; letter-spacing: .08em; }
.article-row h2 { font-size: clamp(1.35rem, 2.5vw, 2rem); font-weight: 800; letter-spacing: -.045em; margin: 0; }
.article-row > span { color: var(--cyan); font-size: 1.4rem; }
.contact-page-grid { display: grid; gap: 4rem; grid-template-columns: .72fr 1.28fr; }
.reference-page-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.reference-page-grid .logo-grid { display: contents; }
.reference-page-grid figure { align-items: center; background: var(--ink); border: 1px solid var(--ink); display: flex; flex-direction: column; justify-content: center; margin: -1px 0 0 -1px; min-height: 185px; padding: 1.5rem; }
.reference-page-grid figure img { filter: grayscale(1) brightness(0) invert(1); max-height: 56px; max-width: 160px; object-fit: contain; }
.reference-page-grid figcaption { color: rgba(255,255,255,.72); font-size: .6rem; font-weight: 700; letter-spacing: .07em; margin-top: 1rem; text-align: center; text-transform: uppercase; }
.content-intro { align-items: end; display: grid; gap: 3rem; grid-template-columns: 1fr .6fr; margin-bottom: 3rem; }
.content-intro h2 { font-size: clamp(2rem, 3.5vw, 3.5rem); font-weight: 900; letter-spacing: -.06em; line-height: 1; margin: 0; text-transform: uppercase; }
.content-intro p { color: var(--muted); margin: 0; }

.has-js [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.has-js [data-reveal].is-visible { opacity: 1; transform: none; }
:focus-visible { outline: 2px solid var(--red); outline-offset: 4px; }

@media (max-width: 980px) {
  :root { --shell: min(100% - 44px, 1240px); }
  .site-header { grid-template-columns: 1fr auto; padding: 0 22px; }
  .site-nav { display: none; }
  .menu-toggle { display: block; }
  .hero-corporate__layout { gap: 3rem; grid-template-columns: 1fr; padding: 3rem 0 7rem; }
  .hero-corporate__copy { max-width: 700px; }
  .hero-corporate__media { max-width: 650px; min-height: 440px; width: calc(100% - 20px); }
  .hero-corporate { min-height: auto; }
  .section-heading-corporate, .commitment-layout, .contact-grid { grid-template-columns: 1fr; }
  .section-heading-corporate { gap: 1.4rem; }
  .commitment-layout, .contact-grid { gap: 3rem; }
  .scope-grid { grid-template-columns: repeat(2, 1fr); }
  .scope-card:nth-child(1), .scope-card:nth-child(6) { grid-column: span 1; }
  .scope-card { min-height: 290px; }
  .impact-grid { grid-template-columns: .7fr 1.3fr; }
  .impact-guide-art { display: none; }
  .insight-grid { grid-template-columns: 1fr 1fr; }
  .insight-tile--feature { grid-column: span 2; }
  .footer-layout { grid-template-columns: 210px 1fr; }
  .footer-layout > div { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  :root { --shell: calc(100vw - 36px); }
  .site-header { height: 79px; padding: 0 18px; }
  .brand { width: 165px; }
  .brand-lockup { height: 51px; width: 160px; }
  .hero-corporate__layout { min-height: auto; padding: 2.6rem 0 6rem; }
  .hero-corporate h1, .section-heading-corporate h2, .commitment-section h2, .impact-heading h2, .contact-banner h2 { font-size: clamp(2.45rem, 12vw, 3.7rem); }
  .hero-company { font-size: .58rem; }
  .hero-lead { font-size: .9rem; }
  .hero-corporate__media { box-shadow: 10px 10px 0 var(--cyan); min-height: 360px; }
  .hero-guide-globe { opacity: .16; right: -15rem; top: 6rem; width: 620px; }
  .brand-promise--art { max-width: 255px; }
  .hero-corporate__footer > span:first-child, .hero-corporate__footer > span:last-child { display: none; }
  .hero-corporate__footer { justify-content: flex-end; }
  .profile-grid, .scope-grid, .logo-grid, .insight-grid, .reference-page-grid { grid-template-columns: 1fr; }
  .profile-card { min-height: auto; }
  .scope-card, .scope-card:nth-child(1), .scope-card:nth-child(6) { min-height: 255px; }
  .section-space, .content-section { padding: 4rem 0; }
  .section-rule { margin-bottom: 2rem; }
  .impact-grid { grid-template-columns: 1fr; }
  .impact-stat, .impact-copy { border-bottom: 1px solid var(--line); border-right: 0; }
  .impact-stat strong { font-size: 6rem; }
  .commitment-list li { gap: .7rem; grid-template-columns: 1.8rem 1fr; }
  .insight-tile--feature { grid-column: span 1; }
  .contact-banner { gap: 1.5rem; grid-template-columns: 1fr; }
  .contact-banner img { justify-self: start; max-height: 140px; }
  .form-row { grid-template-columns: 1fr; }
  .footer-layout { align-items: start; grid-template-columns: 1fr; }
  .footer-layout > div { flex-wrap: wrap; grid-column: auto; }
  .footer-layout small { grid-column: auto; }
  .article-row { gap: .8rem; grid-template-columns: 1fr auto; }
  .article-row small { grid-column: 1 / -1; }
  .article-row > span { grid-column: 2; grid-row: 2; }
  .content-intro { gap: 1.3rem; grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
  .hero-film { display: none; }
}
