/* =========================================================================
   Razor's Edge PT — design system + homepage styles
   Predominantly black/charcoal, warm-white text, restrained grey borders.
   ========================================================================= */

/* ---- Fonts (self-hosted Inter + Inter Tight; latin + latin-ext) -------- */
@font-face { font-family:"Inter"; font-style:normal; font-weight:400; font-display:swap;
  src:url("/assets/fonts/inter-400.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Inter"; font-style:normal; font-weight:400; font-display:swap;
  src:url("/assets/fonts/inter-latin-ext-400.woff2") format("woff2");
  unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"Inter"; font-style:normal; font-weight:500; font-display:swap;
  src:url("/assets/fonts/inter-500.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Inter"; font-style:normal; font-weight:500; font-display:swap;
  src:url("/assets/fonts/inter-latin-ext-500.woff2") format("woff2");
  unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"Inter"; font-style:normal; font-weight:600; font-display:swap;
  src:url("/assets/fonts/inter-600.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Inter"; font-style:normal; font-weight:600; font-display:swap;
  src:url("/assets/fonts/inter-latin-ext-600.woff2") format("woff2");
  unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"Inter"; font-style:normal; font-weight:700; font-display:swap;
  src:url("/assets/fonts/inter-700.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Inter"; font-style:normal; font-weight:700; font-display:swap;
  src:url("/assets/fonts/inter-latin-ext-700.woff2") format("woff2");
  unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; }

@font-face { font-family:"Inter Tight"; font-style:normal; font-weight:500; font-display:swap;
  src:url("/assets/fonts/inter-tight-500.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Inter Tight"; font-style:normal; font-weight:500; font-display:swap;
  src:url("/assets/fonts/inter-tight-latin-ext-500.woff2") format("woff2");
  unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"Inter Tight"; font-style:normal; font-weight:600; font-display:swap;
  src:url("/assets/fonts/inter-tight-600.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Inter Tight"; font-style:normal; font-weight:600; font-display:swap;
  src:url("/assets/fonts/inter-tight-latin-ext-600.woff2") format("woff2");
  unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"Inter Tight"; font-style:normal; font-weight:700; font-display:swap;
  src:url("/assets/fonts/inter-tight-700.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Inter Tight"; font-style:normal; font-weight:700; font-display:swap;
  src:url("/assets/fonts/inter-tight-latin-ext-700.woff2") format("woff2");
  unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; }

/* ---- Tokens ------------------------------------------------------------ */
:root {
  /* colour */
  --ink-900:#0A0A0B;   /* page background */
  --ink-850:#0E0E10;
  --ink-800:#121214;   /* alternating sections */
  --ink-700:#17171A;   /* cards */
  --ink-650:#1C1C20;   /* raised cards */
  --line:#2A2A2E;      /* restrained borders */
  --line-soft:#202024;
  --text:#F5F3EF;      /* warm white */
  --muted:#A6A6AC;     /* secondary text */
  --muted-dim:#7E7E85;
  --accent:#F7F5F0;    /* primary button bg (warm white) */
  --focus:#9DB4FF;     /* focus ring */

  /* type */
  --font-head:"Inter Tight", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  /* fluid type scale */
  --fs-xs:0.8125rem;
  --fs-sm:0.9375rem;
  --fs-base:1.0625rem;
  --fs-md:clamp(1.125rem, 1.05rem + 0.4vw, 1.3rem);
  --fs-lg:clamp(1.35rem, 1.2rem + 0.8vw, 1.7rem);
  --fs-xl:clamp(1.7rem, 1.4rem + 1.6vw, 2.4rem);
  --fs-2xl:clamp(2.1rem, 1.6rem + 2.6vw, 3.4rem);
  --fs-3xl:clamp(2.6rem, 1.9rem + 3.6vw, 4.5rem);

  /* spacing (base-4) */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px;
  --s-6:32px; --s-7:48px; --s-8:64px; --s-9:96px; --s-10:128px;
  --section:clamp(64px, 9vw, 128px);

  /* layout */
  --container:1200px;
  --container-narrow:760px;
  --gutter:clamp(1rem, 5vw, 2rem);
  --radius:14px;
  --radius-sm:10px;
  --radius-pill:999px;
}

/* ---- Reset / base ------------------------------------------------------ */
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body {
  margin:0;
  background:var(--ink-900);
  color:var(--text);
  font-family:var(--font-body);
  font-size:var(--fs-base);
  line-height:1.65;
  font-feature-settings:"cv11","ss01";
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,picture,video { max-width:100%; display:block; }
.media-img { width:100%; height:auto; }
a { color:inherit; }
h1,h2,h3,h4 { font-family:var(--font-head); font-weight:700; line-height:1.1; letter-spacing:-0.02em; margin:0 0 var(--s-4); }
h1 { font-size:var(--fs-3xl); }
h2 { font-size:var(--fs-2xl); }
h3 { font-size:var(--fs-lg); letter-spacing:-0.015em; }
p { margin:0 0 var(--s-4); }
ul { margin:0; padding:0; list-style:none; }

/* ---- Accessibility helpers -------------------------------------------- */
.visually-hidden {
  position:absolute !important; 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; left:var(--s-4); top:-60px; z-index:200;
  background:var(--accent); color:var(--ink-900); padding:var(--s-3) var(--s-5);
  border-radius:var(--radius-sm); font-weight:600; transition:top .2s ease;
}
.skip-link:focus { top:var(--s-4); }
:focus-visible { outline:3px solid var(--focus); outline-offset:3px; border-radius:4px; }

/* ---- Layout ------------------------------------------------------------ */
.container { width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }
.section { padding-block:var(--section); }
.section--tint { background:var(--ink-800); }
.section__head { max-width:var(--container-narrow); margin-bottom:var(--s-7); }
.eyebrow {
  font-family:var(--font-head); font-size:var(--fs-xs); font-weight:600;
  letter-spacing:0.16em; text-transform:uppercase; color:var(--muted);
  margin:0 0 var(--s-3);
}
.lede { font-size:var(--fs-md); color:var(--muted); max-width:62ch; }

/* ---- Buttons ----------------------------------------------------------- */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:var(--s-2);
  font-family:var(--font-head); font-weight:600; font-size:var(--fs-sm);
  letter-spacing:0.01em; text-decoration:none; cursor:pointer;
  padding:0.85em 1.4em; min-height:48px; border-radius:var(--radius-pill);
  border:1px solid transparent; transition:transform .15s ease, background-color .15s ease, border-color .15s ease, color .15s ease;
}
.btn-primary { background:var(--accent); color:#0A0A0B; }
.btn-primary:hover { transform:translateY(-1px); background:#ffffff; }
.btn-secondary { background:transparent; color:var(--text); border-color:var(--line); }
.btn-secondary:hover { border-color:#3a3a40; background:rgba(255,255,255,.03); transform:translateY(-1px); }

/* ---- Header / navigation ---------------------------------------------- */
.site-header {
  position:sticky; top:0; z-index:100;
  background:color-mix(in srgb, var(--ink-900) 82%, transparent);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid transparent; transition:border-color .25s ease, background-color .25s ease;
}
.site-header.is-scrolled { border-bottom-color:var(--line-soft); background:color-mix(in srgb, var(--ink-900) 92%, transparent); }
.site-header__inner { display:flex; align-items:center; justify-content:space-between; gap:var(--s-5); min-height:72px; }

.brand { display:inline-flex; align-items:center; gap:var(--s-3); text-decoration:none; color:var(--text); }
.brand__logo {
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--accent); border-radius:9px; padding:6px 9px;
}
.brand__logo img { height:24px; width:auto; display:block; }
.brand__logo--footer { padding:8px 11px; }
.brand__logo--footer img { height:30px; }
.brand__text { display:flex; flex-direction:column; line-height:1.05; }
.brand__name { font-family:var(--font-head); font-weight:700; font-size:1.02rem; letter-spacing:-0.01em; }
.brand__sub { font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); }

.nav__list { display:flex; align-items:center; gap:var(--s-5); }
.nav__link {
  text-decoration:none; color:var(--muted); font-size:var(--fs-sm); font-weight:500;
  padding:var(--s-2) 0; transition:color .15s ease;
}
.nav__link:hover, .nav__link[aria-current="page"] { color:var(--text); }
.nav--desktop { display:flex; align-items:center; gap:var(--s-6); }

.nav-toggle {
  display:none; width:48px; height:48px; align-items:center; justify-content:center;
  background:transparent; border:1px solid var(--line); border-radius:10px; cursor:pointer;
}
.nav-toggle__bars, .nav-toggle__bars::before, .nav-toggle__bars::after {
  content:""; display:block; width:20px; height:2px; background:var(--text); border-radius:2px;
  transition:transform .2s ease, opacity .2s ease;
}
.nav-toggle__bars { position:relative; }
.nav-toggle__bars::before { position:absolute; top:-6px; }
.nav-toggle__bars::after { position:absolute; top:6px; }
[aria-expanded="true"] .nav-toggle__bars { background:transparent; }
[aria-expanded="true"] .nav-toggle__bars::before { transform:translateY(6px) rotate(45deg); }
[aria-expanded="true"] .nav-toggle__bars::after { transform:translateY(-6px) rotate(-45deg); }

.nav--mobile { display:none; border-top:1px solid var(--line-soft); background:var(--ink-850); }
.nav--mobile .nav__list { flex-direction:column; align-items:stretch; gap:0; padding:var(--s-4) 0; }
.nav--mobile .nav__link { display:block; padding:var(--s-4) var(--gutter); font-size:var(--fs-md); color:var(--text); border-bottom:1px solid var(--line-soft); }
.nav--mobile .nav__cta { margin:var(--s-4) var(--gutter); }

@media (max-width:879px) {
  .nav--desktop { display:none; }
  .nav-toggle { display:inline-flex; }
  .nav--mobile { display:block; }
  .nav--mobile[hidden] { display:none; }
  body.nav-open { overflow:hidden; }
}

/* ---- Hero -------------------------------------------------------------- */
.hero { position:relative; overflow:hidden; border-bottom:1px solid var(--line-soft); }
.hero__grid {
  display:grid; gap:var(--s-7); align-items:center;
  grid-template-columns:1.1fr 0.9fr;
  padding-block:clamp(48px, 7vw, 104px);
}
.hero__eyebrow { color:var(--muted); }
.hero__title { font-size:var(--fs-3xl); margin-bottom:var(--s-5); }
.hero__sub { font-size:var(--fs-md); color:var(--muted); max-width:48ch; margin-bottom:var(--s-6); }
.hero__actions { display:flex; flex-wrap:wrap; gap:var(--s-4); margin-bottom:var(--s-5); }
.hero__meta { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s-4); color:var(--muted); font-size:var(--fs-sm); }
.hero__price { color:var(--text); font-weight:600; }
.hero__price b { font-family:var(--font-head); font-size:1.15rem; }
.hero__avail { display:inline-flex; align-items:center; gap:var(--s-2); }
.hero__avail::before { content:""; width:8px; height:8px; border-radius:50%; background:#7CCB9A; box-shadow:0 0 0 4px rgba(124,203,154,.18); }

.hero__media { position:relative; }
.hero__media picture { display:block; border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); }
.hero__media img { width:100%; height:clamp(360px, 52vw, 620px); object-fit:cover; object-position:50% 22%; }
.hero__media::after {
  content:""; position:absolute; inset:0; border-radius:var(--radius); pointer-events:none;
  background:linear-gradient(180deg, rgba(10,10,11,0) 55%, rgba(10,10,11,.5) 100%);
}

@media (max-width:879px) {
  .hero__grid { grid-template-columns:1fr; }
  .hero__media { order:-1; }
  .hero__media img { height:clamp(300px, 70vw, 460px); }
}

/* ---- Credibility strip ------------------------------------------------- */
.cred { border-bottom:1px solid var(--line-soft); background:var(--ink-850); }
.cred__list { display:flex; flex-wrap:wrap; gap:var(--s-4) var(--s-7); align-items:center; justify-content:space-between; padding-block:var(--s-6); }
.cred__item { display:flex; align-items:center; gap:var(--s-3); color:var(--muted); font-size:var(--fs-sm); }
.cred__item b { color:var(--text); font-family:var(--font-head); font-weight:600; }
.cred__dot { width:5px; height:5px; border-radius:50%; background:var(--line); flex:none; }

/* ---- Generic grids ----------------------------------------------------- */
.grid { display:grid; gap:var(--s-5); }
.grid--2 { grid-template-columns:repeat(2, 1fr); }
.grid--3 { grid-template-columns:repeat(3, 1fr); }
.grid--4 { grid-template-columns:repeat(4, 1fr); }
@media (max-width:880px){ .grid--3,.grid--4 { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .grid--2,.grid--3,.grid--4 { grid-template-columns:1fr; } }

/* ---- Result cards ------------------------------------------------------ */
.results__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s-4); align-items:start; }
@media (max-width:980px){ .results__grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .results__grid { grid-template-columns:1fr; } }
.result-card { margin:0; background:var(--ink-700); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.result-card__media { background:var(--ink-650); }
.result-card__img { width:100%; height:auto; }
.result-card__cap { display:flex; flex-direction:column; gap:2px; padding:var(--s-4); }
.result-card__name { font-family:var(--font-head); font-weight:600; }
.result-card__detail { color:var(--muted); font-size:var(--fs-sm); }

/* ---- Pathways / offer cards ------------------------------------------- */
.offer-card { background:var(--ink-700); border:1px solid var(--line); border-radius:var(--radius); padding:var(--s-6); height:100%; display:flex; flex-direction:column; gap:var(--s-3); }
.offer-card__title { margin:0; }
.offer-card__price { font-family:var(--font-head); color:var(--text); font-weight:600; margin:0; }
.offer-card__lede { color:var(--muted); margin:0; }
.offer-card__list { display:flex; flex-direction:column; gap:var(--s-2); margin:var(--s-2) 0 var(--s-4); }
.offer-card__list li { position:relative; padding-left:1.6em; color:var(--muted); }
.offer-card__list li::before { content:""; position:absolute; left:0; top:0.62em; width:8px; height:8px; border:1.5px solid var(--focus); border-top:0; border-right:0; transform:rotate(-45deg); }
.offer-card .btn { margin-top:auto; align-self:flex-start; }

/* ---- Steps ------------------------------------------------------------- */
.steps { counter-reset:step; }
.step { background:var(--ink-700); border:1px solid var(--line); border-radius:var(--radius); padding:var(--s-6); }
.step__n { counter-increment:step; font-family:var(--font-head); font-weight:700; font-size:1.4rem; color:var(--focus); }
.step__n::before { content:"0" counter(step); }
.step h3 { margin:var(--s-3) 0 var(--s-2); font-size:var(--fs-md); }
.step p { color:var(--muted); margin:0; }

/* ---- Includes list ----------------------------------------------------- */
.includes { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--s-3) var(--s-7); }
@media (max-width:640px){ .includes { grid-template-columns:1fr; } }
.includes li { position:relative; padding-left:1.8em; color:var(--muted); padding-block:var(--s-2); border-bottom:1px solid var(--line-soft); }
.includes li::before { content:""; position:absolute; left:0; top:1em; width:9px; height:9px; border:1.5px solid var(--focus); border-top:0; border-right:0; transform:rotate(-45deg); }
.includes li b { color:var(--text); font-weight:600; }

/* ---- Split (media + text) --------------------------------------------- */
.split { display:grid; grid-template-columns:1fr 1fr; gap:var(--s-8); align-items:center; }
.split--reverse .split__media { order:2; }
@media (max-width:880px){ .split { grid-template-columns:1fr; } .split--reverse .split__media { order:0; } }
.split__media picture, .split__media video { border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); width:100%; }

/* ---- GoodLift video --------------------------------------------------- */
.goodlift__video { width:100%; max-width:360px; height:auto; margin-inline:auto; border-radius:var(--radius); border:1px solid var(--line); background:#000; object-fit:cover; }
.tagpill { display:inline-flex; align-items:center; gap:var(--s-2); border:1px solid var(--line); border-radius:var(--radius-pill); padding:var(--s-2) var(--s-4); color:var(--muted); font-size:var(--fs-xs); }

/* ---- Testimonials ------------------------------------------------------ */
.testimonials__grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:var(--s-5); align-items:start; }
@media (max-width:980px){ .testimonials__grid { grid-template-columns:1fr; } }
.testimonial { margin:0; background:var(--ink-700); border:1px solid var(--line); border-radius:var(--radius); padding:var(--s-6); }
.testimonial__quote { font-size:var(--fs-md); line-height:1.55; margin:0 0 var(--s-4); }
.testimonial__quote::before { content:"\201C"; color:var(--focus); font-family:var(--font-head); font-size:2.4rem; line-height:0; vertical-align:-0.35em; margin-right:.1em; }
.testimonial__by { display:flex; flex-direction:column; gap:2px; }
.testimonial__name { font-family:var(--font-head); font-weight:600; }
.testimonial__detail { color:var(--muted); font-size:var(--fs-sm); }
.testimonial--featured { display:flex; flex-direction:column; gap:var(--s-5); }
.testimonial--featured .testimonial__media picture { border-radius:var(--radius-sm); overflow:hidden; border:1px solid var(--line); }

/* ---- FAQ (native details) --------------------------------------------- */
.faq { max-width:var(--container-narrow); }
.faq__item { border-bottom:1px solid var(--line); }
.faq__item summary {
  cursor:pointer; list-style:none; padding:var(--s-5) 0; font-family:var(--font-head);
  font-weight:600; font-size:var(--fs-md); display:flex; justify-content:space-between; gap:var(--s-4); align-items:center;
}
.faq__item summary::-webkit-details-marker { display:none; }
.faq__item summary::after { content:"+"; color:var(--focus); font-size:1.5rem; line-height:1; transition:transform .2s ease; }
.faq__item[open] summary::after { transform:rotate(45deg); }
.faq__item p { color:var(--muted); margin:0 0 var(--s-5); max-width:64ch; }

/* ---- Preview blocks ---------------------------------------------------- */
.preview { background:var(--ink-700); border:1px solid var(--line); border-radius:var(--radius); padding:var(--s-7); }
.preview h2 { font-size:var(--fs-xl); }
.preview p { color:var(--muted); }

/* ---- CTA band ---------------------------------------------------------- */
.cta-band { background:var(--ink-850); border-block:1px solid var(--line-soft); }
.cta-band__inner { text-align:center; padding-block:var(--section); max-width:var(--container-narrow); }
.cta-band__title { font-size:var(--fs-2xl); margin-bottom:var(--s-4); }
.cta-band__text { color:var(--muted); font-size:var(--fs-md); margin-bottom:var(--s-3); }
.cta-band__avail { color:var(--muted); font-size:var(--fs-sm); margin-bottom:var(--s-6); }
.cta-band__actions { display:flex; flex-wrap:wrap; gap:var(--s-4); justify-content:center; }

/* ---- Footer ------------------------------------------------------------ */
.site-footer { background:var(--ink-850); border-top:1px solid var(--line); padding-block:var(--s-8) var(--s-6); }
.site-footer__grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:var(--s-7); }
@media (max-width:880px){ .site-footer__grid { grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .site-footer__grid { grid-template-columns:1fr; } }
.site-footer__name { font-family:var(--font-head); font-weight:600; margin:var(--s-4) 0 var(--s-2); }
.site-footer__tag { color:var(--muted); font-size:var(--fs-sm); }
.site-footer__h { font-family:var(--font-head); font-size:var(--fs-xs); letter-spacing:0.14em; text-transform:uppercase; color:var(--muted-dim); margin:0 0 var(--s-4); }
.site-footer__col a { color:var(--muted); text-decoration:none; font-size:var(--fs-sm); }
.site-footer__col a:hover { color:var(--text); }
.site-footer__col li { padding-block:var(--s-1); }
.site-footer__addr, .site-footer__areas { color:var(--muted); font-size:var(--fs-sm); }
.site-footer__areas { margin-top:var(--s-3); }
.site-footer__legal { margin-top:var(--s-4); display:flex; flex-wrap:wrap; gap:var(--s-4); }
.site-footer__base { display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--s-3); margin-top:var(--s-8); padding-top:var(--s-5); border-top:1px solid var(--line-soft); color:var(--muted-dim); font-size:var(--fs-xs); }

/* ---- Breadcrumbs ------------------------------------------------------- */
.breadcrumbs { border-bottom:1px solid var(--line-soft); }
.breadcrumbs__list { display:flex; flex-wrap:wrap; gap:var(--s-2); padding-block:var(--s-4); font-size:var(--fs-sm); color:var(--muted); }
.breadcrumbs__item + .breadcrumbs__item::before { content:"/"; margin-right:var(--s-2); color:var(--line); }
.breadcrumbs a { color:var(--muted); text-decoration:none; }
.breadcrumbs a:hover { color:var(--text); }

/* ---- Motion ------------------------------------------------------------ */
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
