:root{
  --font-heading: 'Plus Jakarta Sans', sans-serif;
  --font-body: 'Inter', sans-serif;

  --color-bg: #FAF6F0;
  --color-bg-alt: #F1E9DE;
  --color-surface: #FFFEFB;
  --color-surface-raised: #FFFFFF;
  --color-ink: #2A231D;
  --color-ink-soft: #5C5045;
  --color-ink-faint: #8A7D70;

  --color-primary: #C1592B;
  --color-primary-dark: #9C4620;
  --color-primary-tint: color-mix(in srgb, var(--color-primary) 14%, white);
  --color-secondary: #2F4538;
  --color-secondary-tint: color-mix(in srgb, var(--color-secondary) 12%, white);
  --color-accent: #E3A33D;
  --color-accent-tint: color-mix(in srgb, var(--color-accent) 18%, white);

  --color-line: rgba(42,35,29,0.12);
  --color-line-strong: rgba(42,35,29,0.22);

  --shadow-sm: 0 1px 2px rgba(42,35,29,0.06), 0 1px 1px rgba(42,35,29,0.05);
  --shadow-md: 0 6px 16px rgba(42,35,29,0.08), 0 2px 6px rgba(42,35,29,0.06);
  --shadow-lg: 0 24px 48px -12px rgba(42,35,29,0.20), 0 10px 20px -8px rgba(42,35,29,0.14);
  --shadow-inset: inset 0 1px 2px rgba(42,35,29,0.06);

  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-xl: 32px;
  --radius-full: 999px;

  --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem;
  --space-6: 1.5rem; --space-8: 2rem; --space-12: 3rem; --space-16: 4rem; --space-24: 6rem;

  --ease: cubic-bezier(.22,1,.36,1);
}

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; overflow-x: hidden; }
body{
  margin:0;
  font-family: var(--font-body);
  background: var(--color-bg);
  color: var(--color-ink);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img{ max-width:100%; height:auto; display:block; }
a{ color: inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family: inherit; cursor:pointer; border:none; background:none; }
input,select,textarea{ font-family: inherit; }

.text-display{
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: clamp(2.4rem, 4vw + 1rem, 4.4rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 var(--space-6);
  color: var(--color-ink);
}
.text-h2{
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(1.8rem, 2vw + 1.2rem, 2.6rem);
  line-height: 1.15;
  margin: 0 0 var(--space-4);
  color: var(--color-ink);
}
.text-h3{
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(1.15rem, .6vw + 1rem, 1.4rem);
  line-height: 1.3;
  margin: 0 0 var(--space-2);
  color: var(--color-ink);
}
.text-body{
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.75;
  color: var(--color-ink-soft);
  margin: 0 0 var(--space-4);
}
.text-caption{
  font-family: var(--font-body);
  font-weight: 600;
  font-size: .8rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin: 0 0 var(--space-3);
  display:block;
}

.surface{ background: var(--color-surface); }
.surface-raised{
  background: var(--color-surface-raised);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  border: 1px solid var(--color-line);
}
.surface-inset{
  background: var(--color-bg-alt);
}

.space-section{ padding-block: clamp(3.5rem, 6vw, 7rem); padding-inline: clamp(1.25rem, 5vw, 5rem); }
.space-card{ padding: var(--space-6); }

.action-primary{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family: var(--font-heading); font-weight:700; font-size:.95rem;
  color:#fff; background: var(--color-primary);
  padding-block: .85rem; padding-inline: 1.6rem;
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-sm);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
  min-height: 44px;
}
.action-primary:hover{ background: var(--color-primary-dark); transform: translateY(-2px); box-shadow: var(--shadow-md); }
.action-primary:active{ transform: translateY(0); }

.action-ghost{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family: var(--font-heading); font-weight:700; font-size:.95rem;
  color: var(--color-ink); background: transparent;
  padding-block: .8rem; padding-inline: 1.4rem;
  border-radius: var(--radius-full);
  border: 1.5px solid var(--color-line-strong);
  transition: border-color .25s var(--ease), background .25s var(--ease), transform .25s var(--ease);
  min-height: 44px;
}
.action-ghost:hover{ border-color: var(--color-primary); background: var(--color-primary-tint); transform: translateY(-2px); }


.site-header{
  position: fixed; inset-inline: 0; top:0; z-index: 500;
  padding-block: 1.1rem; padding-inline: clamp(1.25rem, 5vw, 3.5rem);
  transition: background .35s var(--ease), backdrop-filter .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
  border-bottom: 1px solid transparent;
}
.site-header.is-scrolled{
  background: rgba(250,246,240,0.72);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border-bottom: 1px solid rgba(42,35,29,0.08);
  box-shadow: 0 4px 20px rgba(42,35,29,0.05);
}
.nav-primary{
  max-width: 1280px; margin-inline:auto;
  display:flex; align-items:center; justify-content:space-between; gap: var(--space-6);
}
.nav-logo{ display:flex; align-items:center; }
.nav-links{ display:flex; align-items:center; gap: var(--space-8); }
.nav-links a{
  font-size:.95rem; font-weight:500; color: var(--color-ink-soft);
  position:relative; padding-block:.25rem;
  transition: color .25s var(--ease);
}
.nav-links a::after{
  content:''; position:absolute; inset-inline:0; bottom:-2px; height:2px;
  background: var(--color-primary); transform: scaleX(0); transform-origin:left;
  transition: transform .3s var(--ease);
}
.nav-links a:hover{ color: var(--color-ink); }
.nav-links a:hover::after{ transform: scaleX(1); }
.nav-links a[aria-current="page"]{ color: var(--color-primary); font-weight:700; }
.nav-links a[aria-current="page"]::after{ transform: scaleX(1); }

.nav-cta{ position:relative; }
.nav-cta-dot{
  width:8px; height:8px; border-radius:50%; background: var(--color-accent);
  box-shadow: 0 0 0 0 rgba(227,163,61,0.6);
  animation: pulseDot 2.2s infinite;
}
@keyframes pulseDot{
  0%{ box-shadow: 0 0 0 0 rgba(227,163,61,0.55); }
  70%{ box-shadow: 0 0 0 8px rgba(227,163,61,0); }
  100%{ box-shadow: 0 0 0 0 rgba(227,163,61,0); }
}

.nav-toggle{
  display:none; flex-direction:column; gap:5px; width:44px; height:44px;
  align-items:center; justify-content:center;
}
.nav-toggle span{
  display:block; width:22px; height:2px; background: var(--color-ink);
  transition: transform .3s var(--ease), opacity .3s var(--ease);
}


.mobile-overlay{
  position:fixed; inset:0; z-index:900;
  background: linear-gradient(160deg, var(--color-secondary) 0%, #223328 100%);
  display:flex; flex-direction:column;
  padding: clamp(1.5rem,5vw,3rem);
  transform: translateY(-100%);
  opacity:0;
  visibility:hidden;
  transition: transform .5s var(--ease), opacity .4s var(--ease), visibility 0s linear .5s;
}
.mobile-overlay[data-state="open"]{
  transform: translateY(0); opacity:1; visibility:visible;
  transition: transform .5s var(--ease), opacity .4s var(--ease), visibility 0s;
}
.mobile-overlay-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom: var(--space-16); }
.mobile-overlay-top img{ filter: brightness(0) invert(1); }
.mobile-close{
  width:44px; height:44px; border-radius:50%; color:#fff; font-size:1.3rem;
  display:flex; align-items:center; justify-content:center;
  border: 1px solid rgba(255,255,255,0.25);
  transition: background .25s var(--ease), transform .25s var(--ease);
}
.mobile-close:hover{ background: rgba(255,255,255,0.12); transform: rotate(90deg); }
.mobile-grid{
  flex:1; display:grid; grid-template-columns: 1fr 1fr; gap: var(--space-4);
  align-content:center;
}
.mobile-grid a{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap: var(--space-3);
  padding: var(--space-8) var(--space-4);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  color:#fff; text-align:center;
  transition: background .3s var(--ease), transform .3s var(--ease);
}
.mobile-grid a i{ font-size:1.6rem; color: var(--color-accent); }
.mobile-grid a span{ font-family: var(--font-heading); font-weight:700; font-size:.95rem; }
.mobile-grid a:hover{ background: rgba(255,255,255,0.14); transform: translateY(-4px); }


.hero-geo{ position:absolute; z-index:0; pointer-events:none; }
.hero-geo-circle{ width:280px; height:280px; border-radius:50%; border:1.5px solid var(--color-line-strong); top:120px; inset-inline-end:-60px; }
.hero-geo-square{ width:160px; height:160px; border:1.5px solid var(--color-line-strong); transform: rotate(18deg); top:60%; inset-inline-start:-40px; border-radius: var(--radius-md); }
.hero-geo-dots{
  width:220px; height:220px; top:10%; inset-inline-start:6%;
  background-image: radial-gradient(var(--color-line-strong) 1.6px, transparent 1.6px);
  background-size: 22px 22px;
  opacity:.6;
}

.hero{ position:relative; padding-top: clamp(7rem, 10vw, 10rem); overflow:hidden; }
.hero-inner{
  position:relative; z-index:1; max-width:1280px; margin-inline:auto;
  display:grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem,5vw,5rem); align-items:center;
}
.hero-eyebrow{ margin-bottom: var(--space-3); }
.hero-lead{ max-width: 46ch; font-size:1.05rem; }
.hero-actions{ display:flex; flex-wrap:wrap; gap: var(--space-4); margin-block: var(--space-6); }
.hero-note{
  font-size:.85rem; color: var(--color-ink-faint); display:flex; align-items:center; gap:.5rem;
  border-top: 1px solid var(--color-line); padding-top: var(--space-4); margin-top: var(--space-4);
}
.hero-note i{ color: var(--color-secondary); }

.hero-cards{ position:relative; min-height:380px; }
.hero-card{
  position:absolute; width: min(300px, 90%); padding: var(--space-6);
  transition: transform .4s var(--ease), box-shadow .4s var(--ease);
}
.hero-card hgroup h3{ font-family: var(--font-heading); font-weight:700; font-size:1.1rem; margin:0 0 .2rem; }
.hero-card hgroup p{ font-size:.8rem; color: var(--color-ink-faint); margin:0 0 var(--space-3); }
.hero-card-icon{ position:absolute; top:var(--space-4); inset-inline-end:var(--space-4); font-size:1.4rem; color: var(--color-accent); opacity:.7; }
.hero-card-1{ top:0; inset-inline-start:0; transform: rotate(-6deg); z-index:3; }
.hero-card-2{ top:130px; inset-inline-end:0; transform: rotate(4deg); z-index:2; }
.hero-card-3{ top:270px; inset-inline-start:40px; transform: rotate(-3deg); z-index:1; }
.hero-card:hover{ transform: translateY(-8px) rotate(0deg) !important; box-shadow: var(--shadow-lg); z-index:5 !important; }


.section-head{ max-width:720px; margin: 0 auto var(--space-12); text-align:center; }
.section-head-left{ text-align:left; margin-inline:0; max-width:640px; }


.services-grid{
  max-width:1280px; margin-inline:auto;
  display:grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6);
  container-type: inline-size;
}
.services-card{
  position:relative; padding: var(--space-8) var(--space-6);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), opacity .35s var(--ease);
  overflow:hidden;
}
.card-icon-wrap{
  width:52px; height:52px; border-radius: var(--radius-md);
  background: var(--color-primary-tint); color: var(--color-primary);
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom: var(--space-4);
  transition: background .3s var(--ease), color .3s var(--ease);
}
.services-card hgroup h3{ font-family: var(--font-heading); font-weight:700; font-size:1.15rem; margin:0 0 .2rem; }
.services-card hgroup p{ font-size:.85rem; color: var(--color-ink-faint); margin:0 0 var(--space-3); }
.services-card-reveal{
  font-size:.85rem; color: var(--color-secondary); font-weight:500;
  max-height:0; opacity:0; overflow:hidden; margin:0;
  transition: max-height .4s var(--ease), opacity .3s var(--ease), margin .4s var(--ease);
}
.services-card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.services-card:hover .card-icon-wrap{ background: var(--color-primary); color:#fff; }
.services-card:hover .services-card-reveal{ max-height:80px; opacity:1; margin-top: var(--space-3); }
.services-grid:has(.services-card:hover) .services-card:not(:hover){ opacity:.55; }


.benefits-layout{ max-width:1280px; margin-inline:auto; display:grid; grid-template-columns: .8fr 1.2fr; gap: var(--space-12); align-items:start; }
.benefits-grid{ display:grid; grid-template-columns: repeat(2,1fr); gap: var(--space-6); }
.benefits-card{ padding: var(--space-8) var(--space-6); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.benefits-icon{ font-size:1.6rem; color: var(--color-secondary); margin-bottom: var(--space-4); display:block; }
.benefits-card hgroup h3{ font-family: var(--font-heading); font-weight:700; font-size:1.1rem; margin:0 0 .2rem; }
.benefits-card hgroup p{ font-size:.85rem; color: var(--color-ink-faint); margin:0 0 var(--space-3); }
.benefits-card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-lg); }


.features-list, .faq-list{ max-width:900px; margin-inline:auto; display:flex; flex-direction:column; gap: var(--space-6); }
.features-list dt, .faq-list dt{ margin:0; }
.features-list dt h3, .faq-list dt h3{
  font-family: var(--font-heading); font-weight:700; font-size:1.15rem;
  padding-inline-start: var(--space-6); position:relative; margin:0 0 var(--space-2);
}
.features-list dt h3::before, .faq-list dt h3::before{
  content:''; position:absolute; inset-inline-start:0; top:.35em; width:12px; height:12px;
  background: var(--color-accent); border-radius: 3px;
}
.features-list dd, .faq-list dd{ margin:0 0 0 var(--space-6); padding-inline-start:0; }
.features-list dd p, .faq-list dd p{ color: var(--color-ink-soft); }


.how-layout{ max-width:1280px; margin-inline:auto; display:grid; grid-template-columns:.9fr 1.1fr; gap: var(--space-12); align-items:center; }
.how-image img{ border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }


.page-hero{ position:relative; padding-top: clamp(7rem,10vw,10rem); overflow:hidden; }
.page-hero-inner{ max-width:800px; margin-inline:auto; text-align:center; position:relative; z-index:1; }


.about-layout{ max-width:1200px; margin-inline:auto; display:grid; grid-template-columns:.8fr 1.2fr; gap: var(--space-12); align-items:center; }
.about-layout-reverse{ direction: rtl; }
.about-layout-reverse > *{ direction: ltr; }
.about-image img{ border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); aspect-ratio: 5/6; object-fit:cover; }
.about-copy hgroup h3{ font-family: var(--font-heading); font-weight:700; font-size:1.15rem; margin: var(--space-4) 0 .2rem; }
.about-copy hgroup p{ font-size:.85rem; color: var(--color-ink-faint); margin:0 0 var(--space-2); }


.programs-layout{ max-width:1200px; margin-inline:auto; display:grid; grid-template-columns:.8fr 1.2fr; gap: var(--space-12); align-items:start; }
.programs-image img{ border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); position:sticky; top:120px; }
.accordion{ display:flex; flex-direction:column; gap: var(--space-4); }
.accordion-item{ background: var(--color-surface-raised); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); border:1px solid var(--color-line); overflow:hidden; }
.accordion-trigger{
  width:100%; display:flex; align-items:center; gap: var(--space-4);
  padding: var(--space-6); text-align:start; background:transparent;
  transition: background .25s var(--ease);
}
.accordion-trigger:hover{ background: var(--color-primary-tint); }
.accordion-index{ font-family: var(--font-heading); font-weight:800; font-size:1.3rem; color: var(--color-accent); min-width:2.4ch; }
.accordion-trigger hgroup{ flex:1; }
.accordion-trigger hgroup h3{ font-family: var(--font-heading); font-weight:700; font-size:1.05rem; margin:0 0 .15rem; }
.accordion-trigger hgroup p{ font-size:.8rem; color: var(--color-ink-faint); margin:0; }
.accordion-chevron{ transition: transform .35s var(--ease); color: var(--color-ink-faint); }
.accordion-item[data-open="true"] .accordion-chevron{ transform: rotate(180deg); color: var(--color-primary); }
.accordion-panel{ max-height:0; overflow:hidden; transition: max-height .4s var(--ease); padding-inline: var(--space-6); }
.accordion-item[data-open="true"] .accordion-panel{ max-height: 300px; padding-block-end: var(--space-6); }


.certificate-layout{ max-width:1200px; margin-inline:auto; display:grid; grid-template-columns:.9fr 1.1fr; gap: var(--space-12); align-items:center; }
.certificate-image img{ border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }


.contact-layout{ max-width:1280px; margin-inline:auto; display:grid; grid-template-columns:.85fr 1.15fr; gap: var(--space-8); align-items:start; }
.contact-info{ display:flex; flex-direction:column; gap: var(--space-6); }
.contact-info-card{ padding: var(--space-8); }
.contact-info-card address{ font-style:normal; display:flex; flex-direction:column; gap: var(--space-3); }
.contact-info-card address p{ display:flex; align-items:center; gap: var(--space-3); margin:0; color: var(--color-ink-soft); }
.contact-info-card address i{ color: var(--color-primary); width:18px; }
.hours-list{ display:flex; flex-direction:column; gap: var(--space-3); margin: var(--space-4) 0; }
.hours-row{ display:flex; justify-content:space-between; gap: var(--space-4); border-bottom:1px solid var(--color-line); padding-bottom: var(--space-2); }
.hours-row dt{ font-weight:600; color: var(--color-ink); }
.hours-row dd{ margin:0; color: var(--color-ink-soft); text-align:end; font-size:.9rem; }
.contact-map-card iframe{ border-radius: var(--radius-md); margin-top: var(--space-3); }

.contact-form-wrap{ padding: var(--space-8); }
.field-group{ margin-bottom: var(--space-6); display:flex; flex-direction:column; gap:.4rem; }
.field-group label{ font-weight:600; font-size:.9rem; }
.field-group input[type="text"],
.field-group input[type="email"],
.field-group select,
.field-group textarea{
  padding: .8rem 1rem; border-radius: var(--radius-md); border:1.5px solid var(--color-line-strong);
  background: var(--color-bg); font-size:.95rem; color: var(--color-ink);
  transition: border-color .25s var(--ease), box-shadow .25s var(--ease);
  min-height:44px;
}
.field-group textarea{ min-height:120px; resize:vertical; }
.field-group input:focus, .field-group select:focus, .field-group textarea:focus{
  outline:none; border-color: var(--color-primary); box-shadow: 0 0 0 4px var(--color-primary-tint);
}
.field-group:has(input:invalid:not(:placeholder-shown)) input{ border-color:#B3402C; }
.field-hint{ font-size:.78rem; color: var(--color-ink-faint); }
.field-group-checkbox{ flex-direction:row; align-items:flex-start; gap: var(--space-3); }
.field-group-checkbox input{ width:20px; height:20px; margin-top:.15rem; accent-color: var(--color-primary); }
.field-group-checkbox label{ font-weight:400; font-size:.85rem; color: var(--color-ink-soft); }
.form-alert{ min-height:1.2rem; color:#B3402C; font-size:.85rem; margin-bottom: var(--space-2); }
.form-submit{ width:100%; justify-content:center; }


.site-footer{ background: var(--color-secondary); color: rgba(255,255,255,0.9); margin-top:auto; }
.footer-stats{ border-bottom: 1px solid rgba(255,255,255,0.12); }
.footer-stats-inner{
  max-width:1280px; margin-inline:auto; padding-block: var(--space-8); padding-inline: clamp(1.25rem,5vw,3.5rem);
  display:grid; grid-template-columns: repeat(4,1fr); gap: var(--space-6); text-align:center;
}
.stat-item{ display:flex; flex-direction:column; gap:.3rem; }
.stat-number{ font-family: var(--font-heading); font-weight:800; font-size:2.2rem; color: var(--color-accent); }
.stat-label{ font-size:.8rem; color: rgba(255,255,255,0.75); }
.footer-main{ padding-block: var(--space-16); }
.footer-grid{ max-width:1280px; margin-inline:auto; display:grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: var(--space-8); }
.footer-brand img{ filter: brightness(0) invert(1); margin-bottom: var(--space-4); }
.footer-brand p{ color: rgba(255,255,255,0.7); font-size:.9rem; line-height:1.7; }
.footer-col h3{ color:#fff; font-size:1rem; margin-bottom: var(--space-4); }
.footer-col ul{ display:flex; flex-direction:column; gap: var(--space-3); }
.footer-col a{ color: rgba(255,255,255,0.7); font-size:.9rem; transition: color .25s var(--ease); }
.footer-col a:hover{ color: var(--color-accent); }
.footer-col address{ font-style:normal; color: rgba(255,255,255,0.7); font-size:.9rem; line-height:1.9; }
.footer-col address a{ color: rgba(255,255,255,0.7); }
.footer-bottom{
  border-top: 1px solid rgba(255,255,255,0.12);
  padding-block: var(--space-6); padding-inline: clamp(1.25rem,5vw,3.5rem);
  display:flex; flex-wrap:wrap; justify-content:space-between; gap: var(--space-3);
  max-width:1280px; margin-inline:auto;
}
.footer-bottom small{ color: rgba(255,255,255,0.55); font-size:.78rem; }


.legal-page{ max-width:900px; margin-inline:auto; padding-top: clamp(7rem,9vw,9rem); }
.legal-head{ text-align:center; margin-bottom: var(--space-12); }
.legal-card{ padding: var(--space-8); margin-bottom: var(--space-6); }
.legal-card:last-child{ margin-bottom:0; }
.legal-card h2{ font-family: var(--font-heading); font-weight:700; font-size:1.2rem; margin:0 0 var(--space-3); color: var(--color-secondary); }


.thanks-hero{
  min-height:100vh; display:flex; align-items:center; justify-content:center; position:relative;
  background: linear-gradient(150deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  color:#fff; overflow:hidden; padding-block: 8rem;
}
.thanks-geo{ position:absolute; border-radius:50%; border:1.5px solid rgba(255,255,255,0.2); }
.thanks-geo-circle{ width:400px; height:400px; top:-100px; inset-inline-end:-120px; }
.thanks-geo-square{ width:200px; height:200px; bottom:-60px; inset-inline-start:-60px; border-radius: var(--radius-lg); transform:rotate(20deg); }
.thanks-content{ max-width:640px; text-align:center; position:relative; z-index:1; padding-inline: var(--space-6); }
.thanks-icon{ font-size:3rem; color:#fff; margin-bottom: var(--space-6); }
.thanks-title{ color:#fff; }
.thanks-text{ color: rgba(255,255,255,0.9); font-size:1.05rem; }
.thanks-btn{ color:#fff; border-color: rgba(255,255,255,0.6); margin-top: var(--space-4); }
.thanks-btn:hover{ background: rgba(255,255,255,0.15); border-color:#fff; }


.cookie-card{
  position:fixed; top: var(--space-6); left: var(--space-6); z-index:1000;
  width: min(320px, calc(100vw - 2.5rem));
  background: var(--color-surface-raised); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg); border:1px solid var(--color-line);
  padding: var(--space-6);
  transform: translateX(-140%);
  opacity:0;
  transition: transform .5s var(--ease), opacity .5s var(--ease);
}
.cookie-card[data-state="visible"]{ transform: translateX(0); opacity:1; }
.cookie-card-icon{ width:38px; height:38px; border-radius:50%; background: var(--color-secondary-tint); color: var(--color-secondary); display:flex; align-items:center; justify-content:center; margin-bottom: var(--space-3); }
.cookie-card-text{ font-size:.85rem; color: var(--color-ink-soft); margin:0 0 .3rem; line-height:1.5; }
.cookie-card-sub{ color: var(--color-ink-faint); font-size:.78rem; }
.cookie-card-actions{ display:flex; gap: var(--space-2); margin-top: var(--space-4); }
.cookie-card-actions button{ flex:1; font-size:.82rem; padding-block:.6rem; padding-inline:.8rem; }

.cookie-modal{
  position:fixed; inset:0; z-index:1100; background: rgba(42,35,29,0.5);
  display:flex; align-items:center; justify-content:center; padding: var(--space-6);
  opacity:0; visibility:hidden; transition: opacity .3s var(--ease), visibility 0s linear .3s;
}
.cookie-modal[data-state="open"]{ opacity:1; visibility:visible; transition: opacity .3s var(--ease); }
.cookie-modal-panel{ max-width:520px; width:100%; padding: var(--space-8); position:relative; }
.cookie-modal-close{ position:absolute; top: var(--space-4); right: var(--space-4); color: var(--color-ink); border-color: var(--color-line); }
.cookie-modal-options{ display:flex; flex-direction:column; gap: var(--space-4); margin-block: var(--space-6); }
.cookie-option{ display:flex; align-items:flex-start; justify-content:space-between; gap: var(--space-4); border:1px solid var(--color-line); border-radius: var(--radius-md); padding: var(--space-4); }
.cookie-option strong{ display:block; margin-bottom:.2rem; }
.cookie-option input{ width:20px; height:20px; margin-top:.2rem; accent-color: var(--color-primary); }
.cookie-modal-actions{ display:flex; gap: var(--space-3); }
.cookie-modal-actions button{ flex:1; }


@media (max-width: 980px){
  .hero-inner, .benefits-layout, .how-layout, .about-layout, .about-layout-reverse, .programs-layout, .certificate-layout, .contact-layout{
    grid-template-columns: 1fr;
  }
  .about-layout-reverse{ direction: ltr; }
  .hero-cards{ margin-top: var(--space-8); min-height:320px; }
  .services-grid{ grid-template-columns: repeat(2,1fr); }
  .benefits-grid{ grid-template-columns: 1fr; }
  .footer-grid{ grid-template-columns: 1fr 1fr; }
  .footer-stats-inner{ grid-template-columns: repeat(2,1fr); }
  .programs-image img{ position:static; }
}

@media (max-width: 760px){
  .nav-links, .nav-cta{ display:none; }
  .nav-toggle{ display:flex; }
  .services-grid{ grid-template-columns: 1fr; }
  .footer-grid{ grid-template-columns: 1fr; }
  .footer-stats-inner{ grid-template-columns: repeat(2,1fr); }
  .footer-bottom{ flex-direction:column; }
  .cookie-card{ width: calc(100vw - 2rem); left: 1rem; top: 1rem; }
}

@media (max-width: 480px){
  .footer-stats-inner{ grid-template-columns: 1fr 1fr; gap: var(--space-4); }
  .stat-number{ font-size:1.7rem; }
}