/* =============================================================
   SAHA RITMI AKADEMI — Editorial Pitch Design System
   Warm cream paper, deep pitch-green ink, amber ball-leather accents.
   Bold display type, grid compositions, thick borders, big numerals.
   Fully responsive via clamp() and auto-fit grids.
   ============================================================= */

@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Inter:wght@400;500;600;700;800&family=Oswald:wght@500;600;700&display=swap');

/* ===================== TOKENS ===================== */
:root{
  /* Paper & ink */
  --paper:       #f7f4ec;
  --paper-2:     #f1ede2;
  --paper-3:     #e8e3d2;
  --card:        #ffffff;
  --ink:         #0d1a14;
  --ink-2:       #2b3b33;
  --ink-3:       #59675e;
  --ink-4:       #8b978e;
  --rule:        #d9d3bf;
  --rule-2:      #c7c0a6;

  /* Pitch green */
  --g-50:  #e7f3ea;
  --g-100: #c5e3cd;
  --g-200: #8ac69a;
  --g-300: #4ea968;
  --g-400: #1f8c46;
  --g-500: #0b7a3f;
  --g-600: #086832;
  --g-700: #065427;
  --g-800: #053d1c;
  --g-900: #02230f;

  /* Ball leather amber */
  --a-300: #f4c76a;
  --a-400: #ebac2e;
  --a-500: #d08d0d;
  --a-600: #a66b05;

  /* Whistle red */
  --r-500: #c8374a;

  /* Derived */
  --border:    #1e2b22;
  --border-2:  #0d1a14;
  --shadow-1:  0 1px 0 0 var(--border);
  --shadow-2:  0 6px 0 -2px var(--border);
  --shadow-3:  0 10px 0 -3px var(--border);

  /* Legacy alias (used by some inline styles) */
  --c-text-3: var(--ink-3);

  /* Spacing scale */
  --s1:.25rem; --s2:.5rem; --s3:.75rem; --s4:1rem;
  --s5:1.25rem; --s6:1.5rem; --s8:2rem; --s10:2.5rem;
  --s12:3rem; --s16:4rem; --s20:5rem; --s24:6rem; --s32:8rem;

  /* Radii */
  --r-sm:4px; --r-md:8px; --r-lg:14px; --r-xl:22px; --r-full:9999px;

  /* Motion */
  --ease: cubic-bezier(.2,.8,.2,1);
  --ease-o: cubic-bezier(.16,1,.3,1);
  --dur-f:160ms; --dur:320ms; --dur-s:560ms;

  /* Type */
  --ff:   "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ff-d: "Oswald", "Inter", sans-serif;
  --ff-n: "Archivo Black", "Oswald", sans-serif;

  /* Layout */
  --container: 1280px;
  --gutter: clamp(1rem, 3vw, 2rem);
}

/* ===================== RESET ===================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--ff);
  font-size:clamp(15px, 1vw + .5rem, 17px);
  line-height:1.65;
  color:var(--ink);
  background:var(--paper);
  background-image:
    radial-gradient(circle at 1px 1px, rgba(13,26,20,.055) 1px, transparent 0);
  background-size: 22px 22px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  min-height:100vh;
}
img,svg{display:block;max-width:100%}
a{color:var(--g-500);text-decoration:none;transition:color var(--dur-f) var(--ease)}
a:hover{color:var(--g-700)}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
ul{padding:0;margin:0;list-style:none}
p{margin:0 0 var(--s4);color:var(--ink-2)}
::selection{background:var(--g-500);color:#fff}

h1,h2,h3,h4{
  font-family:var(--ff-d);
  font-weight:700;
  color:var(--ink);
  line-height:1.05;
  letter-spacing:-.01em;
  text-transform:uppercase;
  margin:0 0 var(--s4);
}
h1{font-size:clamp(2.4rem, 6.5vw, 5.6rem);letter-spacing:-.02em}
h2{font-size:clamp(1.9rem, 4vw, 3.2rem)}
h3{font-size:clamp(1.2rem, 1.9vw, 1.55rem);letter-spacing:.01em}
h4{font-size:1rem;letter-spacing:.04em}

::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:var(--paper-2)}
::-webkit-scrollbar-thumb{background:var(--g-500);border:3px solid var(--paper-2);border-radius:10px}
::-webkit-scrollbar-thumb:hover{background:var(--g-700)}

/* ===================== LAYOUT ===================== */
.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--gutter);
  position:relative;
}
.container--narrow{max-width:840px}

.skip-link{
  position:absolute;left:-9999px;top:0;
  background:var(--ink);color:var(--paper);
  padding:var(--s3) var(--s5);font-weight:700;border-radius:0 0 var(--r-md) 0;
  z-index:9999;
}
.skip-link:focus{left:0}

/* ===================== HEADER ===================== */
.site-header{
  position:sticky;top:0;z-index:100;
  background:var(--paper);
  border-bottom:2px solid var(--ink);
}
.site-header::after{
  content:"";position:absolute;left:0;right:0;bottom:-7px;height:5px;
  background:
    repeating-linear-gradient(90deg, var(--ink) 0 12px, transparent 12px 24px);
  opacity:.18;
}
.site-header__inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--s6);
  padding-top:var(--s5);
  padding-bottom:var(--s5);
}
.site-logo{
  font-family:var(--ff-n);
  font-size:clamp(1.1rem, 1.6vw, 1.4rem);
  color:var(--ink);
  text-transform:uppercase;
  letter-spacing:.02em;
  line-height:1;
  display:inline-flex;align-items:center;gap:var(--s3);
  position:relative;
  padding:var(--s3) var(--s4);
  background:var(--paper);
  border:2px solid var(--ink);
  border-radius:var(--r-md);
  transition:transform var(--dur-f) var(--ease), background var(--dur-f) var(--ease), color var(--dur-f) var(--ease);
}
.site-logo:hover{background:var(--ink);color:var(--paper);transform:rotate(-1deg)}

/* Nav */
.main-nav{display:flex;gap:var(--s2);align-items:center}
.main-nav__link{
  position:relative;
  padding:var(--s3) var(--s4);
  color:var(--ink-2);
  font-weight:700;
  font-size:.92rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  border:2px solid transparent;
  border-radius:var(--r-md);
  transition:color var(--dur-f) var(--ease), border-color var(--dur-f) var(--ease), background var(--dur-f) var(--ease);
}
.main-nav__link:hover{color:var(--ink);border-color:var(--ink)}
.main-nav__link.is-active,.main-nav__link.active{
  color:var(--paper);
  background:var(--g-500);
  border-color:var(--g-500);
}

/* Hamburger */
.nav-toggle{
  display:none;
  width:48px;height:48px;
  border:2px solid var(--ink);
  border-radius:var(--r-md);
  background:var(--paper);
  position:relative;
  transition:background var(--dur-f) var(--ease);
}
.nav-toggle:hover{background:var(--ink)}
.nav-toggle:hover .nav-toggle__bar,
.nav-toggle:hover .nav-toggle__bar::before,
.nav-toggle:hover .nav-toggle__bar::after{background:var(--paper)}
.nav-toggle__bar,
.nav-toggle__bar::before,
.nav-toggle__bar::after{
  content:"";position:absolute;left:50%;top:50%;
  width:22px;height:2.5px;background:var(--ink);
  transform:translate(-50%,-50%);
  transition:transform var(--dur) var(--ease), top var(--dur) var(--ease), background var(--dur-f) var(--ease);
}
.nav-toggle__bar::before{top:-7px}
.nav-toggle__bar::after{top:7px}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar{background:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar::before{top:0;transform:translate(-50%,-50%) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar::after{top:0;transform:translate(-50%,-50%) rotate(-45deg)}

/* ===================== BUTTONS ===================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s3);
  padding:var(--s4) var(--s8);
  font-family:var(--ff-d);
  font-size:1rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1;
  border:2px solid var(--ink);
  border-radius:var(--r-md);
  cursor:pointer;
  position:relative;
  transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background var(--dur-f) var(--ease), color var(--dur-f) var(--ease);
  box-shadow:var(--shadow-2);
}
.btn:hover{transform:translate(-2px,-2px);box-shadow:0 10px 0 -2px var(--border)}
.btn:active{transform:translate(0,0);box-shadow:var(--shadow-1)}

.btn--primary{
  background:var(--g-500);
  color:#fff;
}
.btn--primary:hover{background:var(--g-700)}

.btn--outline{
  background:var(--paper);
  color:var(--ink);
}
.btn--outline:hover{background:var(--ink);color:var(--paper)}

.btn--ghost{
  background:transparent;
  border-color:transparent;
  color:var(--ink-2);
  box-shadow:none;
}
.btn--ghost:hover{background:var(--paper-3);color:var(--ink);box-shadow:none;transform:none}

/* ===================== SECTIONS ===================== */
.section{
  padding:clamp(3.5rem, 8vw, 6.5rem) 0;
  position:relative;
}
.section--alt{
  background:var(--paper-2);
  border-top:2px solid var(--ink);
  border-bottom:2px solid var(--ink);
}
.section--lined::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:6px;
  background:repeating-linear-gradient(
    90deg,
    var(--ink) 0 14px,
    transparent 14px 28px
  );
  opacity:.1;
  pointer-events:none;
}
.section__header{
  max-width:860px;
  margin:0 auto clamp(2rem, 5vw, 4rem);
  text-align:center;
}
.section__header p{
  font-size:clamp(1rem, 1.2vw, 1.12rem);
  color:var(--ink-2);
}

.section-label{
  display:inline-flex;align-items:center;gap:var(--s3);
  font-family:var(--ff-d);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ink);
  padding:var(--s2) var(--s4);
  background:var(--paper);
  border:2px solid var(--ink);
  border-radius:var(--r-full);
  margin-bottom:var(--s5);
  line-height:1;
}
.section-label::before{
  content:"";
  width:10px;height:10px;
  background:var(--g-500);
  border-radius:50%;
  box-shadow:0 0 0 2px var(--paper), 0 0 0 4px var(--ink);
}

/* ===================== HERO ===================== */
.hero{
  position:relative;
  padding:clamp(3rem, 8vw, 7rem) 0 clamp(4rem, 9vw, 8rem);
  overflow:hidden;
  background:var(--paper);
}
.hero::before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(800px 500px at 90% 20%, rgba(11,122,63,.14), transparent 60%),
    radial-gradient(700px 500px at 10% 80%, rgba(235,172,46,.14), transparent 60%);
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;left:50%;top:62%;
  width:min(760px, 90vw);aspect-ratio:1;
  border:2px solid var(--ink);
  border-radius:50%;
  transform:translate(-50%,-50%);
  opacity:.08;
  pointer-events:none;
}
.hero__content{
  position:relative;z-index:2;
  max-width:980px;
  text-align:center;
  margin:0 auto;
}
.hero__title{
  font-size:clamp(2.6rem, 7.5vw, 6rem);
  line-height:.98;
  letter-spacing:-.025em;
  margin-bottom:var(--s6);
}
.hero__title span{
  display:inline-block;
  color:var(--g-500);
  font-style:italic;
  position:relative;
  padding:0 .15em;
}
.hero__title span::before{
  content:"";
  position:absolute;left:0;right:0;bottom:.02em;
  height:.22em;
  background:var(--a-400);
  opacity:.45;
  z-index:-1;
  border-radius:var(--r-sm);
}
.hero__text{
  font-size:clamp(1rem, 1.3vw, 1.22rem);
  color:var(--ink-2);
  max-width:720px;
  margin:0 auto var(--s8);
  line-height:1.65;
}
.hero__content > div{
  display:flex;
  gap:var(--s4);
  justify-content:center;
  flex-wrap:wrap;
}

.hero-img{
  width:100%;
  max-height:min(580px, 60vh);
  object-fit:cover;
  border:3px solid var(--ink);
  border-radius:var(--r-lg);
  box-shadow:12px 12px 0 0 var(--ink);
}

/* ===================== CARD GRID ===================== */
.card-grid{
  display:grid;
  gap:clamp(1.25rem, 2.5vw, 2rem);
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}
.card-grid--3{grid-template-columns:repeat(auto-fit, minmax(min(100%, 300px), 1fr))}

.card{
  position:relative;
  padding:clamp(1.5rem, 2.5vw, 2.25rem);
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:var(--r-lg);
  transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  box-shadow:6px 6px 0 0 var(--ink);
}
.card:hover{
  transform:translate(-4px,-4px);
  box-shadow:12px 12px 0 0 var(--ink);
}

.card__icon{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:64px;height:64px;padding:0 var(--s3);
  border-radius:var(--r-md);
  background:var(--g-500);
  color:#fff;
  font-family:var(--ff-n);
  font-size:1.25rem;font-weight:700;
  border:2px solid var(--ink);
  margin-bottom:var(--s5);
  box-shadow:4px 4px 0 0 var(--ink);
}
.card:nth-child(2) .card__icon{background:var(--a-400);color:var(--ink)}
.card:nth-child(3) .card__icon{background:var(--ink);color:var(--paper)}
.card__title{margin-bottom:var(--s3);color:var(--ink)}
.card__text{color:var(--ink-2);font-size:.96rem;margin:0}

/* ===================== PROGRAM SELECTOR ===================== */
.program-selector{
  max-width:900px;margin:0 auto;
  padding:clamp(1.5rem, 3vw, 2.5rem);
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:var(--r-xl);
  box-shadow:10px 10px 0 0 var(--ink);
}
.seg-control{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:var(--s2);
  padding:var(--s2);
  background:var(--paper-2);
  border:2px solid var(--ink);
  border-radius:var(--r-full);
  margin-bottom:var(--s6);
}
.seg-control__btn{
  padding:var(--s3) var(--s4);
  font-family:var(--ff-d);
  font-size:.88rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--ink-2);
  border-radius:var(--r-full);
  transition:color var(--dur-f) var(--ease), background var(--dur) var(--ease);
  line-height:1.2;
}
.seg-control__btn:hover{color:var(--ink)}
.seg-control__btn[aria-pressed="true"]{
  color:#fff;
  background:var(--g-500);
  box-shadow:0 3px 0 0 var(--g-800);
}

.freq-slider{
  display:flex;align-items:center;gap:var(--s5);
  padding:var(--s5) var(--s6);
  background:var(--paper-2);
  border:2px solid var(--ink);
  border-radius:var(--r-md);
  margin-bottom:var(--s6);
  flex-wrap:wrap;
}
.freq-slider label{
  font-weight:700;color:var(--ink);
  font-size:.88rem;text-transform:uppercase;letter-spacing:.08em;
}
.freq-slider input[type="range"]{
  flex:1;min-width:140px;
  -webkit-appearance:none;appearance:none;
  height:8px;
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:var(--r-full);
  outline:none;
}
.freq-slider input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:26px;height:26px;border-radius:50%;
  background:var(--g-500);
  border:2px solid var(--ink);
  cursor:grab;
  box-shadow:2px 2px 0 0 var(--ink);
}
.freq-slider input[type="range"]::-moz-range-thumb{
  width:26px;height:26px;border-radius:50%;
  background:var(--g-500);
  border:2px solid var(--ink);
  cursor:grab;
}
.freq-value{
  font-family:var(--ff-d);
  color:var(--ink);
  font-weight:700;
  font-size:1rem;
  padding:var(--s2) var(--s4);
  background:var(--a-400);
  border:2px solid var(--ink);
  border-radius:var(--r-full);
  white-space:nowrap;
}

.program-result{
  padding:var(--s6);
  background:var(--paper);
  border:2px solid var(--ink);
  border-radius:var(--r-lg);
  text-align:center;
  position:relative;
}
.program-result h3{color:var(--ink);margin-bottom:var(--s3)}
.program-result__price{
  font-family:var(--ff-n);
  font-size:clamp(1.6rem, 3.5vw, 2.4rem);
  color:var(--g-500);
  margin:var(--s3) 0;
  line-height:1;
}
.program-result__note{
  font-size:.85rem;color:var(--ink-3);margin:0;
}

/* ===================== MEDIA TEXT ===================== */
.media-text{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:clamp(2rem, 4vw, 4rem);
  align-items:center;
}
.media-text--reverse > div:first-child{order:2}
.media-text--reverse > div:last-child{order:1}
.content-img{
  width:100%;
  border:3px solid var(--ink);
  border-radius:var(--r-lg);
  box-shadow:10px 10px 0 0 var(--ink);
}

/* ===================== AUDIENCE ===================== */
.audience-card{
  padding:var(--s6) var(--s8);
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:var(--r-lg);
  position:relative;
  margin-bottom:var(--s5);
  transition:transform var(--dur) var(--ease);
}
.audience-card::before{
  content:"";
  position:absolute;left:-2px;top:var(--s6);bottom:var(--s6);
  width:6px;background:var(--g-500);
  border-radius:0 var(--r-sm) var(--r-sm) 0;
}
.audience-card:hover{transform:translateX(6px)}
.audience-card h3{color:var(--g-700);margin-bottom:var(--s3)}
.audience-card p{margin:0}

/* ===================== STEPS ===================== */
.steps{
  counter-reset:step-counter;
  position:relative;
  display:flex;flex-direction:column;gap:clamp(1.5rem, 2.5vw, 2.25rem);
}
.steps::before{
  content:"";position:absolute;left:34px;top:40px;bottom:40px;width:3px;
  background:repeating-linear-gradient(180deg, var(--ink) 0 8px, transparent 8px 16px);
}
.step{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:var(--s6);
  align-items:flex-start;
  position:relative;
}
.step__num{
  width:72px;height:72px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--paper);
  border:3px solid var(--ink);
  font-family:var(--ff-n);
  font-size:1.8rem;
  color:var(--ink);
  counter-increment:step-counter;
  position:relative;z-index:1;
  box-shadow:4px 4px 0 0 var(--ink);
}
.step__num::after{content:counter(step-counter,decimal-leading-zero)}
.step:nth-child(even) .step__num{background:var(--g-500);color:#fff}
.step:nth-child(odd) .step__num{background:var(--a-400);color:var(--ink)}
.step__content{
  padding:var(--s5) var(--s6);
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:var(--r-lg);
  box-shadow:6px 6px 0 0 var(--ink);
  transition:transform var(--dur) var(--ease);
}
.step:hover .step__content{transform:translateX(6px)}
.step__content h3{color:var(--ink);margin-bottom:var(--s2)}
.step__content p{margin:0}

/* ===================== RULES ===================== */
.rules-block h3{color:var(--ink);margin-bottom:var(--s5);font-size:1.4rem}
.rules-list{display:grid;gap:var(--s3)}
.rules-list li{
  position:relative;
  padding:var(--s4) var(--s5) var(--s4) calc(var(--s12) + var(--s2));
  color:var(--ink-2);
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:var(--r-md);
  transition:transform var(--dur) var(--ease), background var(--dur) var(--ease);
  counter-increment:rule-counter;
  font-size:.94rem;
}
.rules-list{counter-reset:rule-counter}
.rules-list li::before{
  content:counter(rule-counter, decimal-leading-zero);
  position:absolute;left:var(--s4);top:50%;
  transform:translateY(-50%);
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  background:var(--g-500);color:#fff;
  font-family:var(--ff-n);font-size:.85rem;
  border:2px solid var(--ink);
  border-radius:50%;
}
.rules-list li:hover{transform:translateX(4px);background:var(--paper)}

/* ===================== PRICING ===================== */
.price-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap:clamp(1rem, 2vw, 1.5rem);
  margin-bottom:var(--s8);
}
.price-card{
  position:relative;
  padding:clamp(1.75rem, 3vw, 2.5rem) var(--s6);
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:var(--r-lg);
  transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  box-shadow:6px 6px 0 0 var(--ink);
  overflow:hidden;
}
.price-card::after{
  content:"";position:absolute;top:0;left:0;right:0;height:6px;
  background:var(--g-500);
}
.price-card:nth-child(2)::after{background:var(--a-400)}
.price-card:nth-child(3)::after{background:var(--ink)}
.price-card:nth-child(4)::after{background:var(--r-500)}
.price-card:hover{
  transform:translate(-4px,-4px);
  box-shadow:12px 12px 0 0 var(--ink);
}
.price-card__name{
  font-family:var(--ff-d);
  text-transform:uppercase;
  font-size:.85rem;letter-spacing:.14em;
  color:var(--ink-2);
  margin-bottom:var(--s3);
}
.price-card__range{
  font-family:var(--ff-n);
  font-size:clamp(1.4rem, 2.5vw, 1.85rem);
  color:var(--ink);
  display:flex;flex-direction:column;gap:var(--s1);
  margin-bottom:var(--s3);
  line-height:1.05;
}
.price-card__range small{
  font-family:var(--ff);
  font-size:.74rem;font-weight:600;
  color:var(--ink-3);text-transform:uppercase;
  letter-spacing:.1em;
}
.price-card__detail{color:var(--ink-2);font-size:.88rem;margin:0}

.price-disclaimer{
  padding:var(--s6);
  background:var(--a-400);
  color:var(--ink);
  border:2px solid var(--ink);
  border-radius:var(--r-md);
  font-size:.94rem;
  box-shadow:4px 4px 0 0 var(--ink);
}
.price-disclaimer strong{font-family:var(--ff-d);text-transform:uppercase;letter-spacing:.05em}
.price-disclaimer a{color:var(--g-700);text-decoration:underline;text-decoration-thickness:2px}

/* ===================== FAQ ===================== */
.faq-list{
  max-width:860px;margin:0 auto;
  display:grid;gap:var(--s4);
}
.faq-item{
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:var(--r-md);
  overflow:hidden;
  box-shadow:4px 4px 0 0 var(--ink);
  transition:transform var(--dur) var(--ease);
}
.faq-item:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 0 var(--ink)}
.faq-item__trigger{
  width:100%;
  display:flex;align-items:center;justify-content:space-between;gap:var(--s4);
  padding:var(--s5) var(--s6);
  text-align:left;
  color:var(--ink);
  font-family:var(--ff-d);
  font-size:1rem;font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
  line-height:1.35;
}
.faq-item__icon{
  flex:0 0 34px;width:34px;height:34px;
  border-radius:50%;
  background:var(--paper);
  border:2px solid var(--ink);
  position:relative;
  transition:transform var(--dur) var(--ease), background var(--dur) var(--ease);
}
.faq-item__icon::before,
.faq-item__icon::after{
  content:"";position:absolute;left:50%;top:50%;
  background:var(--ink);
  transform:translate(-50%,-50%);
}
.faq-item__icon::before{width:14px;height:2.5px}
.faq-item__icon::after{width:2.5px;height:14px;transition:transform var(--dur) var(--ease)}
.faq-item__trigger[aria-expanded="true"] .faq-item__icon{
  background:var(--g-500);transform:rotate(180deg);
}
.faq-item__trigger[aria-expanded="true"] .faq-item__icon::before,
.faq-item__trigger[aria-expanded="true"] .faq-item__icon::after{background:#fff}
.faq-item__trigger[aria-expanded="true"] .faq-item__icon::after{transform:translate(-50%,-50%) rotate(90deg)}

.faq-item__panel{
  max-height:0;overflow:hidden;
  transition:max-height var(--dur-s) var(--ease);
}
.faq-item__trigger[aria-expanded="true"] + .faq-item__panel{max-height:800px}
.faq-item__answer{
  padding:0 var(--s6) var(--s6);
  color:var(--ink-2);
  line-height:1.75;
  border-top:2px dashed var(--rule);
  margin-top:var(--s1);
  padding-top:var(--s5);
  font-size:.95rem;
}

/* ===================== CTA BANNER ===================== */
.cta-banner{
  position:relative;
  padding:clamp(3rem, 7vw, 6rem) 0;
  background:var(--ink);
  color:var(--paper);
  text-align:center;
  overflow:hidden;
  border-top:2px solid var(--ink);
  border-bottom:2px solid var(--ink);
}
.cta-banner::before{
  content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(255,255,255,.06) 1px, transparent 0);
  background-size:22px 22px;
  pointer-events:none;
}
.cta-banner::after{
  content:"";
  position:absolute;left:50%;bottom:-60%;
  width:min(780px, 90vw);aspect-ratio:1;
  border:2px solid var(--g-500);
  border-radius:50%;
  opacity:.35;
  transform:translateX(-50%);
  pointer-events:none;
}
.cta-banner > .container{position:relative;z-index:1}
.cta-banner h2{
  color:var(--paper);
  font-size:clamp(2rem, 4.5vw, 3.6rem);
  margin-bottom:var(--s5);
}
.cta-banner p{
  color:rgba(247,244,236,.78);
  max-width:640px;margin:0 auto var(--s8);
  font-size:clamp(1rem, 1.2vw, 1.12rem);
}
.cta-banner .btn--primary{border-color:var(--paper)}
.cta-banner .btn--primary:hover{background:var(--paper);color:var(--ink)}

/* ===================== FOOTER ===================== */
.site-footer{
  position:relative;
  background:var(--paper-2);
  border-top:2px solid var(--ink);
  padding:clamp(3rem, 6vw, 5rem) 0 var(--s6);
  color:var(--ink-2);
}
.site-footer::before{
  content:"";position:absolute;left:0;right:0;top:0;height:6px;
  background:repeating-linear-gradient(90deg, var(--g-500) 0 14px, var(--a-400) 14px 28px);
}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:clamp(2rem, 4vw, 3.5rem);
  margin-bottom:var(--s12);
}
.footer-brand .site-logo{margin-bottom:var(--s5)}
.footer-brand p{max-width:420px;color:var(--ink-3);font-size:.95rem;margin:0}
.footer-links h4{
  font-family:var(--ff-d);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.9rem;
  color:var(--ink);
  margin-bottom:var(--s5);
  padding-bottom:var(--s3);
  border-bottom:2px solid var(--ink);
  display:inline-block;
}
.footer-links ul{display:flex;flex-direction:column;gap:var(--s3)}
.footer-links a{
  color:var(--ink-2);
  font-size:.94rem;font-weight:500;
  position:relative;
  display:inline-block;
  padding:2px 0;
  background-image:linear-gradient(var(--g-500),var(--g-500));
  background-repeat:no-repeat;
  background-position:0 100%;
  background-size:0% 2px;
  transition:color var(--dur) var(--ease), background-size var(--dur) var(--ease);
}
.footer-links a:hover{color:var(--ink);background-size:100% 2px}
.footer-bottom{
  padding-top:var(--s6);
  border-top:2px dashed var(--rule-2);
  display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;
  color:var(--ink-3);font-size:.85rem;font-weight:500;
}

/* ===================== PAGE HEADER (sub-pages) ===================== */
.page-header{
  padding:clamp(3rem, 7vw, 6rem) 0 clamp(2rem, 5vw, 4rem);
  background:var(--paper);
  border-bottom:2px solid var(--ink);
  position:relative;
  text-align:center;
  overflow:hidden;
}
.page-header::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(800px 400px at 50% 0%, rgba(11,122,63,.12), transparent 60%);
  pointer-events:none;
}
.page-header::after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;height:6px;
  background:repeating-linear-gradient(90deg, var(--ink) 0 14px, transparent 14px 28px);
  opacity:.1;
}
.page-header > .container{position:relative;z-index:1}
.page-header h1{margin-bottom:var(--s4);font-size:clamp(2.2rem, 5vw, 4.2rem)}
.page-header p{max-width:680px;margin:0 auto;color:var(--ink-2);font-size:clamp(1rem, 1.2vw, 1.12rem)}

/* ===================== LEGAL CONTENT ===================== */
.legal-content{
  max-width:820px;margin:0 auto;
  padding:clamp(2.5rem, 5vw, 4rem) 0;
}
.legal-content > .container{padding:0}
.legal-content h2{
  font-size:clamp(1.4rem, 2.4vw, 1.8rem);
  margin:var(--s12) 0 var(--s4);
  padding-bottom:var(--s3);
  border-bottom:2px solid var(--ink);
  color:var(--ink);
}
.legal-content h2:first-of-type{margin-top:0}
.legal-content h3{
  font-size:clamp(1.1rem, 1.6vw, 1.25rem);
  margin-top:var(--s8);
  color:var(--g-700);
}
.legal-content p{color:var(--ink-2);line-height:1.85}
.legal-content ul{display:grid;gap:var(--s3);margin-bottom:var(--s6)}
.legal-content li{
  position:relative;
  padding:var(--s3) var(--s5) var(--s3) var(--s10);
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:var(--r-md);
  color:var(--ink-2);
}
.legal-content li::before{
  content:"";position:absolute;left:var(--s4);top:50%;
  width:12px;height:12px;background:var(--g-500);
  border:2px solid var(--ink);
  border-radius:50%;
  transform:translateY(-50%);
}
.legal-content a{
  color:var(--g-700);
  font-weight:600;
  border-bottom:2px solid var(--g-500);
}
.legal-content a:hover{background:var(--g-50)}

/* ===================== SITEMAP ===================== */
.sitemap-list{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap:var(--s4);
}
.sitemap-list a{
  display:block;
  padding:var(--s4) var(--s5);
  color:var(--ink);
  font-weight:600;
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:var(--r-md);
  box-shadow:4px 4px 0 0 var(--ink);
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), color var(--dur) var(--ease);
}
.sitemap-list a::before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;
  width:0;
  background:var(--g-500);
  transition:width var(--dur-s) var(--ease-o);
  z-index:-1;
}
.sitemap-list a:hover{
  color:#fff;
  transform:translate(-3px,-3px);
  box-shadow:7px 7px 0 0 var(--ink);
}
.sitemap-list a:hover::before{width:100%}

/* ===================== ABOUT ===================== */
.about-grid{
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:clamp(2rem, 4vw, 4rem);
  align-items:center;
  margin-bottom:clamp(2.5rem, 5vw, 4rem);
}
.about-values{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap:clamp(1rem, 2vw, 1.5rem);
}
.about-value{
  padding:var(--s8) var(--s6);
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:var(--r-lg);
  box-shadow:6px 6px 0 0 var(--ink);
  transition:transform var(--dur) var(--ease);
  position:relative;
}
.about-value::before{
  content:"";
  position:absolute;top:-2px;left:24px;
  width:44px;height:6px;
  background:var(--g-500);
}
.about-value:nth-child(2)::before{background:var(--a-400)}
.about-value:nth-child(3)::before{background:var(--r-500)}
.about-value:nth-child(4)::before{background:var(--ink)}
.about-value:hover{transform:translate(-3px,-3px);box-shadow:10px 10px 0 0 var(--ink)}
.about-value h3{color:var(--ink);font-size:1.15rem;margin-bottom:var(--s3)}
.about-value p{color:var(--ink-2);font-size:.94rem;margin:0}

/* ===================== CONTACT ===================== */
.contact-hero{
  position:relative;
  padding:clamp(3rem, 6vw, 5rem) 0 clamp(2.5rem, 5vw, 4rem);
  background:var(--paper);
  border-bottom:2px solid var(--ink);
  overflow:hidden;
}
.contact-hero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(700px 400px at 50% 0%, rgba(11,122,63,.12), transparent 60%);
}
.contact-hero__inner{
  position:relative;z-index:1;
  text-align:center;
  max-width:780px;margin:0 auto var(--s10);
}
.contact-hero__text{
  font-size:clamp(1rem, 1.2vw, 1.12rem);
  color:var(--ink-2);
  margin-bottom:0;
}
.contact-hero__cards{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap:clamp(1rem, 2vw, 1.5rem);
}
.contact-card{
  padding:var(--s8) var(--s6);
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:var(--r-lg);
  text-align:center;
  box-shadow:6px 6px 0 0 var(--ink);
  transition:transform var(--dur) var(--ease);
}
.contact-card:hover{transform:translate(-3px,-3px);box-shadow:10px 10px 0 0 var(--ink)}
.contact-card__icon{
  width:64px;height:64px;border-radius:50%;
  background:var(--g-500);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto var(--s4);
  color:#fff;
  border:2px solid var(--ink);
  box-shadow:3px 3px 0 0 var(--ink);
}
.contact-card__icon svg{width:28px;height:28px;stroke:currentColor}
.contact-card:nth-child(2) .contact-card__icon{background:var(--a-400);color:var(--ink)}
.contact-card:nth-child(3) .contact-card__icon{background:var(--ink);color:var(--paper)}
.contact-card__body h3{font-size:1.05rem;color:var(--ink);margin-bottom:var(--s2)}
.contact-card__body p{font-size:.92rem;color:var(--ink-2);margin:0}
.contact-card__body a{color:var(--g-700);font-weight:600}

.contact-form-section{padding:clamp(3rem, 6vw, 5rem) 0}
.contact-form-wrap{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:clamp(2rem, 4vw, 3.5rem);
  align-items:start;
}
.contact-form-left{
  padding:clamp(1.75rem, 3vw, 2.75rem);
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:var(--r-xl);
  box-shadow:10px 10px 0 0 var(--ink);
}
.contact-form-right{position:sticky;top:120px}
.contact-form-img{
  width:100%;
  border:3px solid var(--ink);
  border-radius:var(--r-lg);
  box-shadow:8px 8px 0 0 var(--ink);
}

.contact-extra{padding:clamp(3rem, 6vw, 5rem) 0}
.contact-extra__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap:var(--s6);
}
.contact-extra__block{
  padding:var(--s8) var(--s6);
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:var(--r-lg);
  box-shadow:4px 4px 0 0 var(--ink);
}
.contact-extra__block h3{color:var(--g-700);font-size:1.1rem;margin-bottom:var(--s3)}
.contact-extra__block p{margin:0}

/* ===================== FORMS ===================== */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);margin-bottom:var(--s5)}
.form-group{margin-bottom:var(--s5);position:relative}
.form-group label{
  display:block;margin-bottom:var(--s2);
  font-size:.85rem;font-weight:700;
  color:var(--ink);text-transform:uppercase;letter-spacing:.08em;
}
.form-group .required{color:var(--r-500)}
.form-input,.form-textarea{
  width:100%;
  padding:var(--s4) var(--s5);
  background:var(--paper);
  border:2px solid var(--ink);
  border-radius:var(--r-md);
  color:var(--ink);
  font-family:inherit;font-size:1rem;
  transition:background var(--dur) var(--ease), transform var(--dur-f) var(--ease);
}
.form-input:focus,.form-textarea:focus{
  outline:none;
  background:#fff;
  box-shadow:4px 4px 0 0 var(--g-500);
}
.form-textarea{min-height:160px;resize:vertical;line-height:1.6}
.form-input::placeholder,.form-textarea::placeholder{color:var(--ink-4)}
.field-line{display:none}
.form-checkbox{
  display:flex;align-items:flex-start;gap:var(--s3);
  color:var(--ink-2);font-size:.9rem;
  cursor:pointer;
  padding:var(--s3) 0;
}
.form-checkbox input{
  accent-color:var(--g-500);
  width:20px;height:20px;margin-top:1px;flex-shrink:0;
}
.hp-field{position:absolute !important;left:-9999px !important;width:1px;height:1px;opacity:0}
.form-message{
  padding:var(--s4) var(--s5);
  border:2px solid var(--ink);
  border-radius:var(--r-md);
  margin-top:var(--s5);
  font-size:.92rem;font-weight:600;
}
.form-message--success{background:var(--g-100);color:var(--g-800)}
.form-message--error{background:#fde0e4;color:var(--r-500)}
.contact-submit-btn,
#contact-form .btn{width:100%;padding:var(--s5) var(--s8);font-size:1.05rem}

/* ===================== STANDALONE FORM ===================== */
.form-standalone{
  position:relative;
  padding:clamp(3rem, 7vw, 6rem) 0;
  background:var(--paper-2);
  border-top:2px solid var(--ink);
  border-bottom:2px solid var(--ink);
  overflow:hidden;
}
.form-standalone::before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(700px 400px at 15% 0%, rgba(11,122,63,.1), transparent 60%),
    radial-gradient(700px 400px at 85% 100%, rgba(235,172,46,.1), transparent 60%);
  pointer-events:none;
}
.form-standalone::after{
  content:"";
  position:absolute;left:0;right:0;top:6px;height:6px;
  background:repeating-linear-gradient(90deg, var(--ink) 0 14px, transparent 14px 28px);
  opacity:.12;
  pointer-events:none;
}
.form-standalone > .container{position:relative;z-index:1}
.form-standalone__head{
  max-width:680px;
  margin:0 auto clamp(2rem, 4vw, 3rem);
  text-align:center;
}
.form-standalone__head h2{margin-bottom:var(--s4)}
.form-standalone__head p{color:var(--ink-2);margin:0;font-size:clamp(1rem, 1.2vw, 1.1rem)}
.form-standalone__card{
  max-width:720px;
  margin:0 auto;
  padding:clamp(1.75rem, 3.5vw, 3rem);
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:var(--r-xl);
  box-shadow:12px 12px 0 0 var(--ink);
  position:relative;
}
.form-standalone__card::before{
  content:"";
  position:absolute;top:-2px;left:clamp(1.5rem, 4vw, 3rem);
  width:72px;height:6px;
  background:var(--g-500);
}
.form-standalone__card::after{
  content:"";
  position:absolute;top:-2px;left:calc(clamp(1.5rem, 4vw, 3rem) + 80px);
  width:40px;height:6px;
  background:var(--a-400);
}
.form-standalone .form-message{display:none}
.form-standalone .form-message.form-message--success,
.form-standalone .form-message.form-message--error{display:block}

@media (max-width: 720px){
  .form-standalone__card{box-shadow:7px 7px 0 0 var(--ink)}
}

/* ===================== ERROR PAGE ===================== */
.error-page{
  min-height:70vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;
  padding:clamp(3rem,7vw,5rem) var(--gutter);
  position:relative;
  overflow:hidden;
}
.error-page::before{
  content:"";position:absolute;
  width:min(620px, 90vw);aspect-ratio:1;
  border:2px solid var(--ink);
  border-radius:50%;
  opacity:.1;pointer-events:none;
}
.error-page__code{
  font-family:var(--ff-n);
  font-size:clamp(5rem, 18vw, 12rem);
  line-height:.85;
  color:var(--g-500);
  margin-bottom:var(--s5);
  letter-spacing:-.04em;
  position:relative;
  text-shadow:
    6px 6px 0 var(--ink);
}
.error-page h1{font-size:clamp(1.6rem, 3.5vw, 2.4rem);margin-bottom:var(--s4)}
.error-page p{max-width:560px;margin:0 auto var(--s8);color:var(--ink-2)}

/* ===================== COOKIE BANNER & MODAL ===================== */
.cookie-banner{
  position:fixed;
  left:var(--s5);right:var(--s5);bottom:var(--s5);
  z-index:9998;
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:var(--r-lg);
  box-shadow:8px 8px 0 0 var(--ink);
  padding:var(--s5) var(--s6);
  transform:translateY(calc(100% + 24px));
  opacity:0;
  transition:transform var(--dur-s) var(--ease-o), opacity var(--dur) var(--ease);
}
.cookie-banner.is-visible,.cookie-banner.visible{transform:translateY(0);opacity:1}
.cookie-banner__inner{
  display:flex;align-items:center;gap:var(--s5);
  max-width:var(--container);margin:0 auto;flex-wrap:wrap;
}
.cookie-banner__text{flex:1;min-width:260px;color:var(--ink-2);font-size:.92rem}
.cookie-banner__text a{color:var(--g-700);font-weight:600;border-bottom:2px solid var(--g-500)}
.cookie-banner__actions{display:flex;gap:var(--s3);flex-wrap:wrap}
.cookie-banner__actions .btn{padding:var(--s3) var(--s5);font-size:.85rem}

.cookie-modal-overlay{
  position:fixed;inset:0;z-index:9999;
  background:rgba(13,26,20,.55);
  backdrop-filter:blur(6px);
  display:none;
  align-items:center;justify-content:center;
  padding:var(--s5);
  opacity:0;transition:opacity var(--dur) var(--ease);
}
.cookie-modal-overlay.is-visible,.cookie-modal-overlay.visible{display:flex;opacity:1}
.cookie-modal{
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:var(--r-xl);
  box-shadow:12px 12px 0 0 var(--ink);
  max-width:580px;width:100%;
  padding:clamp(1.5rem, 3vw, 2.5rem);
  max-height:86vh;overflow:auto;
}
.cookie-modal h3{margin-bottom:var(--s3)}
.cookie-option{
  display:flex;gap:var(--s5);justify-content:space-between;align-items:center;
  padding:var(--s5) 0;
  border-bottom:2px dashed var(--rule);
}
.cookie-option:last-of-type{border-bottom:none}
.cookie-option__info{flex:1}
.cookie-option__info h4{color:var(--ink);margin-bottom:var(--s1);font-size:1rem}
.cookie-option__info p{font-size:.85rem;color:var(--ink-3);margin:0}
.cookie-modal__actions{
  display:flex;gap:var(--s3);justify-content:flex-end;flex-wrap:wrap;
  margin-top:var(--s6);padding-top:var(--s6);border-top:2px solid var(--ink);
}

/* Toggle */
.toggle{position:relative;flex:0 0 auto}
.toggle input{position:absolute;opacity:0;pointer-events:none}
.toggle__track{
  display:block;
  width:52px;height:30px;
  background:var(--paper-3);
  border:2px solid var(--ink);
  border-radius:var(--r-full);
  position:relative;cursor:pointer;
  transition:background var(--dur) var(--ease);
}
.toggle__track::after{
  content:"";position:absolute;left:2px;top:50%;
  width:20px;height:20px;border-radius:50%;
  background:var(--card);
  border:2px solid var(--ink);
  transform:translateY(-50%);
  transition:left var(--dur) var(--ease), background var(--dur) var(--ease);
}
.toggle input:checked + .toggle__track{background:var(--g-500)}
.toggle input:checked + .toggle__track::after{left:24px;background:#fff}
.toggle input:disabled + .toggle__track{opacity:.6;cursor:not-allowed}

/* ===================== UTILITIES ===================== */
.text-muted{color:var(--ink-3)}
.text-secondary{color:var(--ink-2)}

/* ===================== ANIMATIONS ===================== */
.fade-in{
  opacity:0;transform:translateY(24px);
  transition:opacity 700ms var(--ease-o), transform 700ms var(--ease-o);
}
.fade-in.is-visible,.fade-in.visible{opacity:1;transform:translateY(0)}
.fade-in-delay-1{transition-delay:100ms}
.fade-in-delay-2{transition-delay:220ms}
.fade-in-delay-3{transition-delay:340ms}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  .fade-in{opacity:1;transform:none}
  .btn:hover,.card:hover,.price-card:hover,.faq-item:hover,
  .step:hover .step__content,.contact-card:hover,.about-value:hover{transform:none}
}

/* ===================== RESPONSIVE ===================== */
@media (max-width: 1024px){
  .contact-form-wrap{grid-template-columns:1fr;gap:var(--s8)}
  .contact-form-right{position:static}
  .about-grid{grid-template-columns:1fr;gap:var(--s8)}
}
@media (max-width: 860px){
  .media-text{grid-template-columns:1fr;gap:var(--s8)}
  .media-text--reverse > div:first-child,
  .media-text--reverse > div:last-child{order:initial}
  .footer-grid{grid-template-columns:1fr 1fr;gap:var(--s8)}
  .hero-img{box-shadow:8px 8px 0 0 var(--ink)}
  .form-row{grid-template-columns:1fr;gap:var(--s4)}
}
@media (max-width: 720px){
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
  .main-nav{
    position:absolute;left:var(--gutter);right:var(--gutter);top:calc(100% + 10px);
    flex-direction:column;align-items:stretch;
    background:var(--card);
    border:2px solid var(--ink);
    border-radius:var(--r-lg);
    box-shadow:8px 8px 0 0 var(--ink);
    padding:var(--s4);gap:var(--s2);
    transform:translateY(-10px) scale(.98);opacity:0;pointer-events:none;
    transform-origin:top right;
    transition:transform var(--dur) var(--ease), opacity var(--dur) var(--ease);
  }
  .main-nav.is-open,.main-nav.open{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}
  .main-nav__link{padding:var(--s4);text-align:left}

  .section__header{margin-bottom:var(--s10)}

  .step{grid-template-columns:56px 1fr;gap:var(--s4)}
  .step__num{width:56px;height:56px;font-size:1.3rem}
  .steps::before{left:27px}

  .rules-list li{padding:var(--s4) var(--s5) var(--s4) calc(var(--s8) + var(--s8))}
  .rules-list li::before{width:36px;height:36px}

  .footer-grid{grid-template-columns:1fr;gap:var(--s8)}
  .footer-bottom{justify-content:center;text-align:center}

  .cookie-banner{left:var(--s4);right:var(--s4);bottom:var(--s4);padding:var(--s5)}
  .cookie-banner__actions{width:100%}
  .cookie-banner__actions .btn{flex:1 1 auto}

  .seg-control{grid-template-columns:1fr;gap:var(--s2)}

  .card{box-shadow:5px 5px 0 0 var(--ink)}
  .card:hover,.price-card:hover,.faq-item:hover{transform:translate(-2px,-2px)}
}
@media (max-width: 480px){
  :root{--gutter:1rem}
  .btn{padding:var(--s3) var(--s5);font-size:.92rem}
  .site-header .site-header__inner{padding-top:var(--s4);padding-bottom:var(--s4);padding-left:var(--s5);padding-right:var(--s5)}
  .site-logo{padding:var(--s2) var(--s3);font-size:1rem}
  .hero__title{font-size:clamp(2rem, 9vw, 2.8rem)}
  .program-selector{padding:var(--s5)}
  .freq-slider{padding:var(--s4)}
  .legal-content li{padding-left:calc(var(--s6) + var(--s4))}
}

/* ===================== FOCUS ===================== */
:focus-visible{
  outline:3px solid var(--g-500);
  outline-offset:3px;
  border-radius:var(--r-sm);
}
.btn:focus-visible{outline-offset:5px}

/* ===================== PRINT ===================== */
@media print{
  body{background:#fff}
  .site-header,.site-footer,.cookie-banner,.cookie-modal-overlay,.cta-banner,.nav-toggle{display:none}
  .card,.price-card,.faq-item{box-shadow:none;break-inside:avoid}
}
