/* =========================================================================
   Lightwards — corporate site stylesheet (v2)
   -------------------------------------------------------------------------
   Design system: Swiss Modernism 2.0 × Trust & Authority
   - Strict grid, mathematical 8px spacing, single gold accent
   - Ink-black (#14161A) + gold (#C9A45C) + white
   - Large type, generous whitespace, no decorative noise
   ========================================================================= */

:root {
  /* ---- Color ---- */
  --c-ink:        #263D36;   /* pine green — headings, dark blocks     */
  --c-ink-2:      #324941;   /* raised dark surface                   */
  --c-body:       #4A5550;   /* body text on light                    */
  --c-body-dark:  rgba(255,255,255,.72); /* body text on dark          */
  --c-muted:      #7A857F;   /* meta / captions                       */
  --c-muted-dark: rgba(255,255,255,.5);
  --c-line:       #E4E7E1;   /* hairline borders on light             */
  --c-line-dark:  rgba(255,255,255,.12);
  --c-gold:       #D9693C;   /* the single accent (terracotta)        */
  --c-gold-soft:  #E7AE81;
  --c-gold-deep:  #B94C26;
  --c-gold-tint:  rgba(217,105,60,.10);
  --c-bg:         #FFFFFF;
  --c-bg-soft:    #F7F6F0;   /* warm off-white section                */
  --c-dark:       #263D36;
  --c-dark-2:     #1F332C;

  /* ---- Typography ----
     No external webfonts (keeps the site fast behind the GFW and
     dependency-free). System stack renders PingFang SC on macOS and
     Microsoft YaHei on Windows — both excellent for Chinese. */
  --font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text",
               "PingFang SC", "Noto Sans SC", "Helvetica Neue",
               "Microsoft YaHei", "Hiragino Sans GB", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;

  --fs-eyebrow: .75rem;
  --fs-small:   .875rem;
  --fs-body:    1rem;
  --fs-lead:    1.125rem;
  --fs-h3:      1.25rem;
  --fs-h2:      clamp(1.625rem, 2.6vw, 2.125rem);
  --fs-h1:      clamp(2.375rem, 5vw, 3.75rem);
  --fs-hero:    clamp(2.75rem, 6vw, 4.5rem);

  /* ---- Spacing (8px base unit) ---- */
  --sp-1: 8px;  --sp-2: 16px; --sp-3: 24px; --sp-4: 32px;
  --sp-5: 48px; --sp-6: 64px; --sp-7: 96px; --sp-8: 128px;

  /* ---- Geometry ---- */
  --container: 1200px;
  --gutter: 24px;
  --r-sm: 4px; --r-md: 6px;
  --nav-h: 68px;

  --shadow-card: 0 1px 2px rgba(20,22,26,.04), 0 8px 24px rgba(20,22,26,.06);
  --shadow-hover: 0 2px 4px rgba(20,22,26,.06), 0 16px 40px rgba(20,22,26,.10);
  --ease: cubic-bezier(.22, .61, .36, 1);
}

/* =========================== Reset / base =========================== */
*, *::before, *::after { box-sizing: border-box; }
html, body, h1, h2, h3, h4, p, ul, ol, dl, dd { margin: 0; }
ul, ol { padding: 0; list-style: none; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: 1.7;
  color: var(--c-body);
  background: var(--c-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; transition: color .2s var(--ease); }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
::selection { background: rgba(201,164,92,.28); color: var(--c-ink); }

h1, h2, h3, h4 {
  color: var(--c-ink);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .01em;
}
h1 { font-size: var(--fs-h1); letter-spacing: .02em; }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }
h4 { font-size: var(--fs-body); }

/* ========================= Utilities ========================= */
.container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.skip-link {
  position: absolute; top: -64px; left: var(--gutter); z-index: 200;
  background: var(--c-gold); color: var(--c-ink);
  padding: 10px 18px; font-size: var(--fs-small); font-weight: 600;
  transition: top .25s var(--ease);
}
.skip-link:focus { top: 12px; color: var(--c-ink); }

/* Shared eyebrow label — the "trust" signal used on every page */
.eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: var(--fs-eyebrow); font-weight: 600;
  letter-spacing: .28em; text-transform: uppercase;
  color: var(--c-gold);
}
.eyebrow::before {
  content: ""; width: 28px; height: 1px; background: var(--c-gold);
}

/* Buttons — gold primary (ink text on gold for max contrast) */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 14px 28px; font-size: var(--fs-body); font-weight: 600;
  letter-spacing: .04em; line-height: 1; border-radius: var(--r-sm);
  transition: background .2s var(--ease), color .2s var(--ease),
              border-color .2s var(--ease), transform .2s var(--ease);
}
.btn:active { transform: translateY(1px); }
.btn--primary { background: var(--c-gold); color: var(--c-ink); }
.btn--primary:hover { background: var(--c-gold-deep); color: #fff; }
.btn--ghost { border: 1px solid var(--c-line); color: var(--c-ink); background: transparent; }
.btn--ghost:hover { border-color: var(--c-ink); }
.btn--ghost-dark { border: 1px solid rgba(255,255,255,.28); color: #fff; }
.btn--ghost-dark:hover { border-color: var(--c-gold); color: var(--c-gold); }
.btn:focus-visible, a:focus-visible, button:focus-visible {
  outline: 2px solid var(--c-gold); outline-offset: 3px;
}

/* ========================= Header ========================= */
.site-header {
  position: fixed; inset: 0 0 auto 0; z-index: 100; height: var(--nav-h);
  background: rgba(20,22,26,.92);
  -webkit-backdrop-filter: saturate(160%) blur(12px);
  backdrop-filter: saturate(160%) blur(12px);
  border-bottom: 1px solid var(--c-line-dark);
  color: #fff;
}
.site-header__inner {
  display: flex; align-items: center; justify-content: space-between;
  height: var(--nav-h);
}
.brand { display: inline-flex; align-items: center; gap: 12px; color: #fff; }
.brand__mark { flex: none; }
.brand__mark svg { width: 34px; height: 34px; }
.brand__text { display: flex; flex-direction: column; line-height: 1.15; }
.brand__name {
  font-size: 1.0625rem; font-weight: 700; letter-spacing: .06em; color: #fff;
}
.brand__name-en {
  font-size: .625rem; font-weight: 500; color: var(--c-muted-dark);
  letter-spacing: .34em; text-transform: uppercase;
}

.site-nav { display: flex; align-items: center; height: 100%; }
.nav-list { display: flex; align-items: center; height: 100%; gap: 4px; }
.nav-list > li { height: 100%; }
.nav-list a {
  position: relative; display: inline-flex; align-items: center; height: 100%;
  padding: 0 18px; font-size: .9375rem; font-weight: 500;
  color: rgba(255,255,255,.72);
  transition: color .2s var(--ease);
}
.nav-list a:hover { color: #fff; }
.nav-list a.is-active { color: #fff; }
.nav-list a.is-active::after {
  content: ""; position: absolute; left: 18px; right: 18px; bottom: 0;
  height: 2px; background: var(--c-gold);
}
.nav-lang { margin-left: 14px; display: flex; align-items: center; }
.nav-lang a {
  height: auto; padding: 7px 16px; border: 1px solid rgba(255,255,255,.25);
  border-radius: 999px; font-size: .75rem; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase; color: #fff;
  transition: border-color .2s var(--ease), color .2s var(--ease),
              background .2s var(--ease);
}
.nav-lang a:hover { border-color: var(--c-gold); color: var(--c-gold); }
.nav-lang a.is-active::after { display: none; }

/* Mobile toggle */
.nav-toggle {
  display: none; flex-direction: column; gap: 5px; padding: 10px 4px;
}
.nav-toggle__bar { width: 22px; height: 2px; background: #fff; border-radius: 2px; }
@media (max-width: 820px) {
  .nav-toggle { display: inline-flex; }
  .nav-list {
    position: fixed; top: var(--nav-h); left: 0; right: 0; height: auto;
    flex-direction: column; align-items: stretch; gap: 0;
    background: var(--c-dark); border-bottom: 1px solid var(--c-line-dark);
    padding: var(--sp-2) var(--gutter) var(--sp-3);
    display: none;
  }
  .nav-list.is-open { display: flex; }
  .nav-list > li { height: auto; }
  .nav-list a { height: auto; padding: 14px 0; font-size: 1rem; }
  .nav-list a.is-active::after { left: 0; right: auto; width: 24px; bottom: 8px; }
  .nav-lang { margin: var(--sp-2) 0 0; }
  .nav-lang a { display: inline-flex; }
}

/* ========================= Hero (dark) ========================= */
.hero {
  position: relative; overflow: hidden;
  background: var(--c-dark);
  padding: calc(var(--nav-h) + var(--sp-8)) 0 var(--sp-8);
  color: #fff;
}
/* subtle golden glow — the "light" the brand is named after */
.hero__glow {
  position: absolute; pointer-events: none;
  top: -240px; right: -180px; width: 640px; height: 640px;
  background: radial-gradient(circle, rgba(201,164,92,.16) 0%, transparent 62%);
}
.hero__glow--low {
  top: auto; right: auto; bottom: -320px; left: -200px;
  width: 560px; height: 560px;
  background: radial-gradient(circle, rgba(201,164,92,.09) 0%, transparent 60%);
}
.hero__inner { position: relative; max-width: 820px; }
.hero__title {
  color: #fff; font-size: var(--fs-hero); font-weight: 700;
  letter-spacing: .02em; margin: var(--sp-3) 0 var(--sp-3);
}
.hero__subtitle {
  font-size: var(--fs-lead); line-height: 1.9; color: var(--c-body-dark);
  max-width: 56ch; margin-bottom: var(--sp-5);
}
.hero__cta { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.hero__meta {
  display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-5);
  margin-top: var(--sp-6); padding-top: var(--sp-5);
  border-top: 1px solid var(--c-line-dark);
  font-size: var(--fs-small); color: var(--c-muted-dark);
}
.hero__meta strong { color: #fff; font-weight: 600; }

/* ========================= Trust strip ========================= */
.trust {
  background: var(--c-bg-soft);
  border-bottom: 1px solid var(--c-line);
  padding: var(--sp-5) 0;
}
.trust__grid {
  display: grid; grid-template-columns: 1fr; gap: var(--sp-4);
}
@media (min-width: 760px) { .trust__grid { grid-template-columns: repeat(3, 1fr); } }
.trust__item { padding-left: var(--sp-3); border-left: 2px solid var(--c-gold); }
.trust__label {
  font-size: var(--fs-eyebrow); font-weight: 600; letter-spacing: .18em;
  text-transform: uppercase; color: var(--c-muted); margin-bottom: 6px;
}
.trust__value {
  font-size: 1.0625rem; font-weight: 600; color: var(--c-ink);
  word-break: break-all;
}

/* ========================= Sections ========================= */
.section { padding: var(--sp-7) 0; }
.section--soft { background: var(--c-bg-soft); }
.section--dark { background: var(--c-dark); color: var(--c-body-dark); }
.section--dark h2, .section--dark h3 { color: #fff; }

.section__head { max-width: 640px; margin-bottom: var(--sp-6); }
.section__title { margin: var(--sp-2) 0 var(--sp-3); }
.section__lead { font-size: var(--fs-lead); line-height: 1.9; color: var(--c-body); }

/* ========================= About / two-col ========================= */
.two-col {
  display: grid; grid-template-columns: 1fr; gap: var(--sp-6);
  align-items: start;
}
@media (min-width: 900px) { .two-col { grid-template-columns: 1.25fr .75fr; gap: var(--sp-7); } }

/* Stat card (about page, contact aside) */
.stat-card {
  background: var(--c-bg); border: 1px solid var(--c-line);
  border-radius: var(--r-md); padding: var(--sp-5);
  box-shadow: var(--shadow-card);
}
.stat-card__title {
  font-size: var(--fs-eyebrow); font-weight: 600; letter-spacing: .2em;
  text-transform: uppercase; color: var(--c-gold-deep);
  padding-bottom: var(--sp-3); margin-bottom: var(--sp-3);
  border-bottom: 1px solid var(--c-line);
}
.stat-row {
  display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-3);
  padding: 13px 0; border-bottom: 1px solid var(--c-line);
}
.stat-row:last-child { border-bottom: 0; padding-bottom: 0; }
.stat-row dt { font-size: var(--fs-small); color: var(--c-muted); flex: none; }
.stat-row dd {
  font-size: var(--fs-small); font-weight: 600; color: var(--c-ink);
  text-align: right; word-break: break-all;
}

/* ========================= Values (numbered cards) ========================= */
.values-grid {
  display: grid; grid-template-columns: 1fr; gap: 1px;
  background: var(--c-line); border: 1px solid var(--c-line);
}
@media (min-width: 640px) { .values-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .values-grid { grid-template-columns: repeat(4, 1fr); } }
.value-card {
  background: var(--c-bg);
  padding: var(--sp-5) var(--sp-4);
  display: flex; flex-direction: column;
  transition: background .25s var(--ease);
}
.value-card:hover { background: #fff; }
.value-card:hover .value-card__num { color: var(--c-gold); }
.value-card__num {
  font-size: 2.75rem; font-weight: 200; line-height: 1;
  color: var(--c-line); margin-bottom: var(--sp-3);
  font-variant-numeric: tabular-nums;
  transition: color .25s var(--ease);
}
.value-card h3 { margin-bottom: var(--sp-2); }
.value-card p { font-size: var(--fs-small); line-height: 1.8; }

/* ========================= Mission quote ========================= */
.mission {
  position: relative;
  padding: var(--sp-7) 0;
  background: var(--c-dark); color: #fff;
}
.mission__quote {
  font-size: clamp(1.375rem, 2.6vw, 1.875rem); font-weight: 600;
  line-height: 1.75; letter-spacing: .02em; color: #fff;
  max-width: 30ch;
}
.mission__mark {
  font-size: 5rem; line-height: .6; color: var(--c-gold);
  font-family: Georgia, serif; display: block; margin-bottom: var(--sp-3);
}
.mission__by {
  margin-top: var(--sp-4); font-size: var(--fs-small);
  color: var(--c-muted-dark); letter-spacing: .12em; text-transform: uppercase;
}

/* ========================= CTA band ========================= */
.cta-band { background: var(--c-gold); padding: var(--sp-6) 0; }
.cta-band__inner {
  display: grid; grid-template-columns: 1fr; gap: var(--sp-4);
  align-items: center;
}
@media (min-width: 860px) { .cta-band__inner { grid-template-columns: 1fr auto; gap: var(--sp-6); } }
.cta-band h2 { color: var(--c-ink); }
.cta-band p { color: rgba(20,22,26,.72); margin-top: var(--sp-1); max-width: 52ch; }
.cta-band .btn { background: var(--c-ink); color: #fff; }
.cta-band .btn:hover { background: var(--c-ink-2); color: var(--c-gold); }

/* ========================= Sub-page header ========================= */
.page-header {
  background: var(--c-dark); color: #fff;
  padding: calc(var(--nav-h) + var(--sp-7)) 0 var(--sp-7);
  position: relative; overflow: hidden;
}
.page-header .eyebrow { color: var(--c-gold); }
.page-header__title { color: #fff; margin: var(--sp-3) 0 var(--sp-2); }
.page-header__desc { color: var(--c-body-dark); font-size: var(--fs-lead); max-width: 60ch; }
.page-header__meta { margin-top: var(--sp-4); }
.badge {
  display: inline-block; padding: 6px 14px; border-radius: 999px;
  border: 1px solid var(--c-line-dark); color: var(--c-body-dark);
  font-size: var(--fs-small); letter-spacing: .04em;
}

/* ========================= Info cards ========================= */
.info-card {
  background: var(--c-bg); border: 1px solid var(--c-line);
  border-radius: var(--r-md); padding: var(--sp-5);
  margin-bottom: var(--sp-4); box-shadow: var(--shadow-card);
}
.info-card__title {
  font-size: 1.0625rem; margin-bottom: var(--sp-4);
  display: flex; align-items: center; gap: 12px;
}
.info-card__title::before {
  content: ""; width: 4px; height: 18px; background: var(--c-gold); flex: none;
}
.info-card--muted { background: var(--c-bg-soft); box-shadow: none; }

.info-row {
  display: grid; grid-template-columns: 1fr; gap: 4px;
  padding: var(--sp-3) 0; border-top: 1px solid var(--c-line);
}
.info-row:first-of-type { border-top: 0; padding-top: 0; }
.info-row dt { font-size: var(--fs-small); color: var(--c-muted); }
.info-row dd { color: var(--c-ink); font-weight: 500; word-break: break-word; }
.info-row a { color: var(--c-ink); border-bottom: 1px solid var(--c-gold); padding-bottom: 1px; }
.info-row a:hover { color: var(--c-gold-deep); }
@media (min-width: 680px) {
  .info-row { grid-template-columns: 220px 1fr; gap: var(--sp-4); align-items: baseline; }
}

/* ========================= Legal / privacy ========================= */
.legal { max-width: 780px; }
.legal__intro {
  background: var(--c-bg-soft); border-left: 3px solid var(--c-gold);
  padding: var(--sp-4) var(--sp-5); border-radius: 0 var(--r-md) var(--r-md) 0;
  margin-bottom: var(--sp-6); color: var(--c-body);
}
.legal__section { padding: var(--sp-5) 0; border-top: 1px solid var(--c-line); }
.legal__section:first-child { border-top: 0; }
.legal__section h2 {
  font-size: 1.125rem; margin-bottom: var(--sp-3);
  display: flex; align-items: baseline; gap: 14px;
}
.legal__section h2 .legal__idx {
  font-size: var(--fs-small); font-weight: 700; color: var(--c-gold);
  letter-spacing: .1em; flex: none;
}
.legal__section p { margin-bottom: var(--sp-3); }
.legal__section ul { display: grid; gap: 10px; }
.legal__section li {
  position: relative; padding-left: 20px; color: var(--c-body);
}
.legal__section li::before {
  content: ""; position: absolute; left: 2px; top: .68em;
  width: 5px; height: 5px; background: var(--c-gold); border-radius: 50%;
}
.legal__contact {
  margin-top: var(--sp-6); padding: var(--sp-4) var(--sp-5);
  border: 1px dashed var(--c-line); border-radius: var(--r-md);
  background: var(--c-bg-soft); color: var(--c-body); font-size: var(--fs-small);
}

/* ========================= Footer ========================= */
.site-footer { background: var(--c-dark); color: var(--c-body-dark); }
.site-footer__inner {
  display: grid; grid-template-columns: 1fr; gap: var(--sp-5);
  padding: var(--sp-7) 0 var(--sp-6);
}
@media (min-width: 680px) { .site-footer__inner { grid-template-columns: 1fr 1fr; } }
@media (min-width: 980px) { .site-footer__inner { grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: var(--sp-6); } }
.site-footer__brand h3 { color: #fff; font-size: 1.125rem; margin-bottom: 6px; }
.site-footer__brand p { font-size: var(--fs-small); line-height: 1.8; }
.site-footer__brand .slogan {
  margin-top: var(--sp-3); color: var(--c-gold); font-size: var(--fs-small);
  letter-spacing: .08em;
}
.site-footer h4 {
  color: #fff; font-size: var(--fs-eyebrow); font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase; margin-bottom: var(--sp-3);
}
.site-footer li { margin: 10px 0; font-size: var(--fs-small); }
.site-footer a { color: var(--c-body-dark); }
.site-footer a:hover { color: var(--c-gold); }
.site-footer__bar {
  border-top: 1px solid var(--c-line-dark);
  padding: var(--sp-4) 0;
}
.site-footer__bar-inner {
  display: flex; flex-wrap: wrap; gap: 10px var(--sp-4);
  justify-content: space-between; align-items: center;
  font-size: .8125rem; color: var(--c-muted-dark);
}
.site-footer__bar .code { font-family: var(--font-mono); letter-spacing: .04em; }

/* ========================= Reveal on scroll ========================= */
.reveal { opacity: 1; transform: none; }
.reveal.is-visible {
  opacity: 1; transform: none;
  transition: opacity .7s var(--ease), transform .7s var(--ease);
}
.reveal[data-delay="1"].is-visible { transition-delay: .08s; }
.reveal[data-delay="2"].is-visible { transition-delay: .16s; }
.reveal[data-delay="3"].is-visible { transition-delay: .24s; }

/* ========================= Reduced motion ========================= */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none !important; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}

/* ========================= Print ========================= */
@media print {
  .site-header, .site-footer, .cta-band, .nav-toggle, .skip-link, .hero__glow { display: none; }
  body { background: #fff; color: #000; }
  .hero, .page-header { background: #fff; color: #000; padding: var(--sp-5) 0; }
  .hero__title, .page-header__title { color: #000; }
}

/* Lightwards v3: warm paper, forest ink, and a directional brand mark. */
:root { --c-ink:#263d36; --c-body:#59635e; --c-muted:#69736c; --c-gold:#b94c26; --c-gold-deep:#963c1e; --c-bg:#faf9f5; --c-bg-soft:#f0f0e8; --c-dark:#263d36; --c-line:#dedfd5; --nav-h:88px; --r-md:8px; }
.site-header { background:rgba(250,249,245,.96); color:var(--c-ink); border-color:var(--c-line); }
.brand,.brand__name { color:var(--c-ink); }
.brand__mark svg { width:40px; height:40px; }
.brand__name { font-size:19px; letter-spacing:.12em; }
.brand__name-en { color:#637068; letter-spacing:.18em; font-size:10px; margin-top:6px; }
.nav-list a { color:var(--c-body); font-size:14px; }
.nav-list a:hover,.nav-list a.is-active { color:var(--c-ink); }
.nav-list a.is-active::after { bottom:23px; background:var(--c-ink); }
.nav-lang a { color:var(--c-ink); border-color:#c9cec4; border-radius:4px; }
.nav-toggle__bar { background:var(--c-ink); }
.hero { background:var(--c-bg); color:var(--c-ink); padding:calc(var(--nav-h) + 76px) 0 0; }
.hero__inner { max-width:var(--container); display:grid; grid-template-columns:1.15fr 1fr; gap:40px; align-items:center; }
.hero__title { color:var(--c-ink); font-size:clamp(44px,5.1vw,70px); letter-spacing:-.035em; line-height:1.25; margin:28px 0; font-weight:600; }
.hero__title span { color:var(--c-gold); }
.hero__subtitle { color:var(--c-body); max-width:29em; font-size:17px; margin-bottom:32px; }
.hero__cta { align-items:center; gap:30px; }
.btn { min-height:48px; padding:16px 24px; font-size:14px; }
.btn--primary { background:var(--c-ink); color:#fff; }
.btn--primary:hover { background:#3e574b; }
.hero__cta .btn span { margin-left:24px; }
.hero__link { font-size:14px; border-bottom:1px solid #a6afa3; padding:8px 0; }
.hero__link span { margin-left:14px; }
.hero__art { position:relative; padding:28px 0 22px; }
.hero__art svg { width:100%; max-width:460px; margin:auto; }
.art__label,.art__caption { display:block; font-family:var(--font-mono); font-size:10px; letter-spacing:.15em; color:#6b766a; }
.art__label { text-align:right; }
.art__caption { margin-top:10px; }
.hero__baseline { grid-column:1/-1; display:flex; justify-content:space-between; gap:16px; padding:25px 0; margin-top:30px; border-top:1px solid var(--c-line); font-size:11px; letter-spacing:.12em; color:#687368; }
.eyebrow { font-size:11px; letter-spacing:.15em; }
.eyebrow::before { width:18px; }
.section { padding:88px 0; }
.section__title { font-weight:600; }
.stat-card,.info-card { box-shadow:none; background:transparent; padding:32px; }
.values-grid { background:transparent; border:0; gap:28px; }
.value-card { background:transparent; border-top:1px solid #bfc8ba; padding:28px 0 0; }
.value-card:hover { background:transparent; }
.value-card__num { font-family:var(--font-mono); font-size:14px; color:var(--c-gold); margin-bottom:28px; }
.mission { padding:64px 0; }
.mission__quote { max-width:36ch; font-weight:400; }
.mission__mark { font-size:48px; color:#e7ae81; }
.cta-band { background:#e9eddf; }
.site-footer__inner { padding:64px var(--gutter); }
.site-footer__brand .slogan { color:#e7ae81; }
.page-header { background:#edf0e5; color:var(--c-ink); padding:calc(var(--nav-h) + 64px) 0 64px; }
.page-header__title { color:var(--c-ink); }
.page-header__desc,.badge { color:var(--c-body); }
.badge { border-color:#bfc8ba; }
@media(max-width:820px) { .nav-list { background:var(--c-bg); border-color:var(--c-line); } .nav-list a.is-active::after { bottom:7px; } .hero { padding-top:calc(var(--nav-h) + 48px); } .hero__inner { grid-template-columns:1fr; gap:24px; } .hero__art { max-width:360px; width:100%; margin:auto; padding-top:10px; } .hero__baseline { margin-top:0; } .section { padding:60px 0; } }
@media(max-width:480px) { :root { --gutter:22px; --nav-h:76px; } .hero__title { font-size:43px; } .hero__baseline { font-size:9px; letter-spacing:.04em; } .stat-card,.info-card { padding:24px; } .hero__art { max-width:290px; } .site-footer__inner { gap:28px; } }

.mission__quote { text-wrap:balance; max-width:42ch; }

/* ========================= 404 page ========================= */
.notfound {
  position: relative; overflow: hidden;
  background: var(--c-dark); color: #fff;
  padding: calc(var(--nav-h) + var(--sp-8)) 0 var(--sp-8);
  min-height: 78vh;
  display: flex; align-items: center;
}
.notfound__inner { position: relative; }
.notfound__title {
  color: #fff; font-size: var(--fs-hero); font-weight: 700;
  letter-spacing: .02em; margin: var(--sp-3) 0;
}
.notfound__desc {
  font-size: var(--fs-lead); line-height: 1.9; color: var(--c-body-dark);
  max-width: 52ch; margin-bottom: var(--sp-5);
}
.notfound__cta { display: flex; flex-wrap: wrap; gap: var(--sp-2); }

/* Contact CTA card lead paragraph */
.contact-cta__lead {
  font-size: var(--fs-small); line-height: 1.85;
  color: var(--c-body); margin-bottom: var(--sp-3);
}
