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

:root{
  --color-bg:#0a0d16;
  --color-bg-alt:#0f1428;
  --color-surface:#141a30;
  --color-surface-alt:#1a2140;
  --color-border: rgba(255,255,255,0.08);
  --color-text:#e7e9f4;
  --color-text-muted:#9aa3c2;
  --color-text-dim:#6b7395;
  --color-primary:#22d3ee;
  --color-primary-dark:#0e7490;
  --color-secondary:#a855f7;
  --color-accent:#f472b6;
  --color-warm:#fb923c;
  --gradient-primary: linear-gradient(135deg,#22d3ee 0%,#a855f7 100%);
  --gradient-warm: linear-gradient(135deg,#f472b6 0%,#fb923c 100%);
  --shadow-sm: 0 2px 8px rgba(0,0,0,.25);
  --shadow-md: 0 10px 30px rgba(0,0,0,.35), 0 2px 8px rgba(0,0,0,.25);
  --shadow-lg: 0 24px 60px rgba(0,0,0,.5), 0 8px 24px rgba(0,0,0,.3);
  --glow-primary: 0 0 40px rgba(34,211,238,.28);
  --glow-secondary: 0 0 40px rgba(168,85,247,.28);
  --glow-warm: 0 0 40px rgba(244,114,182,.25);
  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:28px;
  --radius-xl:40px;
  --radius-full:999px;
  --space-3xs:.25rem;
  --space-2xs:.5rem;
  --space-xs:.75rem;
  --space-sm:1.125rem;
  --space-md:1.75rem;
  --space-lg:clamp(2rem,4vw,3.25rem);
  --space-xl:clamp(3rem,6vw,5.5rem);
  --space-2xl:clamp(4.5rem,9vw,8rem);
  --container-w:1280px;
  --ease:cubic-bezier(.4,0,.2,1);
}

*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:'Albert Sans', sans-serif;
  background:var(--color-bg);
  color:var(--color-text);
  line-height:1.65;
  overflow-x:hidden;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; 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; color:inherit; }
input, textarea, select{ font-family:inherit; }
h1,h2,h3,h4{ font-weight:700; line-height:1.15; letter-spacing:-.01em; }

.page{
  transition: transform .5s var(--ease);
  transform-origin:left center;
  background:var(--color-bg);
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.page--pushed{ transform: translateX(-82%) scale(.95); }
main{ flex:1; }


.btn{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding: .95rem 1.9rem;
  border-radius: var(--radius-full);
  font-weight:600;
  font-size: .95rem;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease), color .3s var(--ease);
  white-space:nowrap;
}
.btn--sm{ padding:.7rem 1.3rem; font-size:.85rem; }
.btn--primary{
  background: var(--gradient-primary);
  color:#04101a;
  box-shadow: var(--glow-primary), var(--shadow-sm);
}
.btn--primary:hover{ transform: translateY(-3px); box-shadow: 0 0 55px rgba(34,211,238,.45), var(--shadow-md); }
.btn--secondary{
  background: rgba(168,85,247,.14);
  color:#e9d5ff;
  border:1px solid rgba(168,85,247,.4);
}
.btn--secondary:hover{ background: rgba(168,85,247,.24); box-shadow: var(--glow-secondary); transform: translateY(-3px); }
.btn--ghost{
  background: transparent;
  border:1px solid var(--color-border);
  color: var(--color-text);
}
.btn--ghost:hover{ border-color: rgba(34,211,238,.5); box-shadow: var(--glow-primary); transform: translateY(-3px); }
.btn--light{
  background:#fff;
  color:#0a0d16;
}
.btn--light:hover{ transform: translateY(-3px); box-shadow: 0 0 40px rgba(255,255,255,.35); }


.header{
  position:fixed;
  top:0; left:0; right:0;
  z-index:1000;
  background: rgba(10,13,22,.32);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom:1px solid rgba(255,255,255,.06);
  transition: background .45s var(--ease), box-shadow .45s var(--ease);
}
.header--solid{
  background: rgba(8,10,18,.92);
  box-shadow: 0 10px 40px rgba(0,0,0,.4);
}
.nav__container{
  max-width: var(--container-w);
  margin:0 auto;
  padding: .9rem clamp(1.25rem, 4vw, 2.5rem);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.nav__brand{ display:flex; align-items:center; gap:.6rem; font-weight:700; font-size:1.15rem; }
.nav__logo{ width:34px; height:34px; }
.nav__list{ display:none; align-items:center; gap:clamp(1rem,2vw,2rem); }
.nav__link{
  font-size:.95rem;
  font-weight:500;
  color: var(--color-text-muted);
  position:relative;
  padding:.4rem 0;
  transition: color .3s var(--ease);
}
.nav__link::after{
  content:'';
  position:absolute; left:0; bottom:0;
  width:0; height:2px;
  background: var(--gradient-primary);
  transition: width .3s var(--ease);
  border-radius:2px;
}
.nav__link:hover{ color:var(--color-text); }
.nav__link:hover::after{ width:100%; }
.nav__link--active{ color:var(--color-text); }
.nav__link--active::after{ width:100%; }
.nav__link--cta{
  background: var(--gradient-primary);
  color:#04101a !important;
  padding:.6rem 1.3rem;
  border-radius: var(--radius-full);
  box-shadow: var(--glow-primary);
}
.nav__link--cta::after{ display:none; }
.nav__toggle{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:.5rem;
  min-width:44px; min-height:44px;
  align-items:center; justify-content:center;
}
.nav__toggle-bar{
  width:24px; height:2px; background: var(--color-text);
  border-radius:2px;
  transition: transform .3s var(--ease), opacity .3s var(--ease);
}

@media (min-width: 1024px){
  .nav__list{ display:flex; }
  .nav__toggle{ display:none; }
}


.mobile-drawer{
  position:fixed;
  top:0; right:0;
  height:100vh;
  width:min(85vw, 320px);
  background: var(--color-surface);
  border-left:1px solid var(--color-border);
  z-index:1500;
  transform: translateX(100%);
  transition: transform .5s var(--ease);
  padding: clamp(2rem,6vw,3rem) 1.75rem;
  box-shadow: -20px 0 60px rgba(0,0,0,.5);
}
.mobile-drawer--open{ transform: translateX(0); }
.mobile-drawer__close{
  min-width:44px; min-height:44px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.2rem;
  margin-bottom:2rem;
  border-radius:50%;
  border:1px solid var(--color-border);
}
.mobile-drawer__list{ display:flex; flex-direction:column; gap:1.1rem; }
.mobile-drawer__link{
  display:block;
  font-size:1.15rem;
  font-weight:600;
  padding:.6rem 0;
  color: var(--color-text-muted);
  border-bottom:1px solid var(--color-border);
  min-height:44px;
}
.mobile-drawer__link--cta{ color: var(--color-primary); }
.mobile-overlay{
  position:fixed; inset:0;
  background: rgba(0,0,0,.55);
  z-index:1200;
  opacity:0; visibility:hidden;
  transition: opacity .4s var(--ease), visibility .4s var(--ease);
}
.mobile-overlay--visible{ opacity:1; visibility:visible; }

@media (min-width: 1024px){
  .mobile-drawer, .mobile-overlay{ display:none; }
}


.section-head{ max-width:720px; margin:0 auto var(--space-lg); text-align:center; }
.section-head__label{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color: var(--color-primary);
  margin-bottom: .9rem;
}
.section-head__title{ font-size: clamp(1.7rem, 3.6vw, 2.6rem); margin-bottom:.9rem; }
.section-head__text{ color: var(--color-text-muted); font-size:1.05rem; }


.hero{
  position:relative;
  padding: clamp(8rem,14vw,10.5rem) clamp(1.25rem,4vw,2.5rem) var(--space-2xl);
  overflow:hidden;
}
.hero__glow{ position:absolute; border-radius:50%; filter: blur(90px); opacity:.35; pointer-events:none; }
.hero__glow--1{ width:420px; height:420px; background:var(--color-primary); top:-120px; left:-100px; }
.hero__glow--2{ width:420px; height:420px; background:var(--color-secondary); bottom:-160px; right:-120px; }
.hero__container{
  position:relative;
  max-width: var(--container-w);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr;
  gap: var(--space-xl);
  align-items:center;
}
.hero__eyebrow{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.85rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color: var(--color-primary);
  margin-bottom:1.25rem;
}
.hero__title{
  font-size: clamp(2.3rem, 6vw, 3.9rem);
  margin-bottom: 1.4rem;
}
.hero__title-highlight{
  background: var(--gradient-primary);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hero__subtitle{
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  color: var(--color-text-muted);
  max-width:560px;
  margin-bottom: var(--space-md);
}
.hero__actions{ display:flex; flex-wrap:wrap; gap:1rem; margin-bottom: var(--space-md); }
.hero__meta{ display:flex; flex-wrap:wrap; gap:1.5rem; }
.hero__meta-item{ display:flex; align-items:center; gap:.5rem; font-size:.9rem; color:var(--color-text-dim); }
.hero__meta-item i{ color: var(--color-secondary); }

.hero__visual{ position:relative; display:flex; justify-content:center; }
.hero__circle{
  width: clamp(250px, 65vw, 420px);
  aspect-ratio:1;
  border-radius:50%;
  padding:8px;
  background: var(--gradient-primary);
  box-shadow: 0 0 70px rgba(34,211,238,.32), 0 0 140px rgba(168,85,247,.2);
  position:relative;
}
.hero__circle-img{
  width:100%; height:100%; object-fit:cover; border-radius:50%;
  border:6px solid var(--color-bg);
}
.hero__badge{
  position:absolute;
  display:flex; align-items:center; gap:.5rem;
  background: rgba(20,26,48,.85);
  backdrop-filter: blur(10px);
  border:1px solid var(--color-border);
  padding:.7rem 1.1rem;
  border-radius: var(--radius-full);
  font-size:.82rem; font-weight:600;
  box-shadow: var(--shadow-md);
}
.hero__badge--1{ top:6%; left:-4%; color:var(--color-primary); box-shadow: var(--glow-primary); }
.hero__badge--2{ bottom:8%; right:-4%; color:var(--color-accent); box-shadow: var(--glow-warm); }

.hero::after{
  content:'';
  position:absolute; left:0; right:0; bottom:0; height:220px;
  background: linear-gradient(to bottom, transparent, var(--color-bg-alt));
  pointer-events:none;
}

@media (min-width: 900px){
  .hero__container{ grid-template-columns: 1.1fr .9fr; }
  .hero__badge--1{ left:-8%; }
  .hero__badge--2{ right:-8%; }
}


.page-hero{
  position:relative;
  padding: clamp(8rem,13vw,10rem) clamp(1.25rem,4vw,2.5rem) var(--space-xl);
  background: radial-gradient(circle at 15% 10%, rgba(34,211,238,.14), transparent 55%),
              radial-gradient(circle at 85% 30%, rgba(168,85,247,.14), transparent 55%);
}
.page-hero__container{ max-width:820px; margin:0 auto; text-align:center; }
.page-hero__label{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.85rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color: var(--color-primary);
  margin-bottom:1.25rem;
}
.page-hero__title{ font-size: clamp(2rem, 4.6vw, 3.1rem); margin-bottom:1.1rem; }
.page-hero__text{ color: var(--color-text-muted); font-size:1.05rem; }
.page-hero::after{
  content:'';
  position:absolute; left:0; right:0; bottom:0; height:150px;
  background: linear-gradient(to bottom, transparent, var(--color-bg-alt));
  pointer-events:none;
}


.about-preview{ background: var(--color-bg-alt); padding: var(--space-2xl) clamp(1.25rem,4vw,2.5rem); }
.about-preview__container{ max-width:820px; margin:0 auto; text-align:center; }
.about-preview__label{
  display:inline-block; font-size:.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color: var(--color-secondary); margin-bottom:1rem;
}
.about-preview__title{ font-size: clamp(1.7rem,3.6vw,2.5rem); margin-bottom:1.5rem; }
.about-preview__text{ color: var(--color-text-muted); font-size:1.05rem; margin-bottom:1.5rem; }
.about-preview__text--accent{
  position:relative;
  padding:1.75rem 2rem;
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  border:1px solid var(--color-border);
  box-shadow: var(--shadow-md);
  color: var(--color-text);
}
.about-preview__link{
  display:inline-flex; align-items:center; gap:.5rem;
  color: var(--color-primary); font-weight:600;
  transition: gap .3s var(--ease);
}
.about-preview__link:hover{ gap:.9rem; }


.bento{ background: var(--color-bg-alt); padding: var(--space-2xl) clamp(1.25rem,4vw,2.5rem); }
.bento__container{ max-width: var(--container-w); margin:0 auto; }
.bento__grid{ display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: var(--space-md); }
.card{
  background: var(--color-surface);
  border:1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-md);
  grid-column: span 4;
  box-shadow: var(--shadow-sm);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
  position:relative;
  overflow:hidden;
}
.card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: rgba(34,211,238,.35); }
.card--span-2{ grid-column: span 4; }
.card--featured{ background: var(--color-surface-alt); }
.card__icon{
  width:52px; height:52px;
  display:flex; align-items:center; justify-content:center;
  border-radius: var(--radius-md);
  font-size:1.3rem;
  margin-bottom: 1.2rem;
}
.card__icon--primary{ background: rgba(34,211,238,.14); color:var(--color-primary); box-shadow: var(--glow-primary); }
.card__icon--secondary{ background: rgba(168,85,247,.14); color:var(--color-secondary); box-shadow: var(--glow-secondary); }
.card__icon--accent{ background: rgba(244,114,182,.14); color:var(--color-accent); box-shadow: var(--glow-warm); }
.card__icon--warm{ background: rgba(251,146,60,.14); color:var(--color-warm); }
.card__title{ font-size:1.25rem; margin-bottom:.7rem; }
.card__body{ color:var(--color-text-muted); font-size:.98rem; }
.card__image{ margin-top:1.5rem; border-radius: var(--radius-md); width:100%; height:220px; object-fit:cover; }

@media (min-width: 720px){
  .card--span-2{ grid-column: span 2; }
}


.lessons{ padding: var(--space-2xl) clamp(1.25rem,4vw,2.5rem); }
.lessons__container{ max-width: var(--container-w); margin:0 auto; }
.lessons__swiper{ padding-bottom: 2rem; }
.lessons__slide{
  background: var(--color-surface);
  border:1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-md);
  height:auto;
  min-height:220px;
  box-shadow: var(--shadow-sm);
}
.lessons__number{
  display:inline-block;
  font-size:.85rem; font-weight:700;
  color:#04101a;
  background: var(--gradient-primary);
  padding:.3rem .8rem;
  border-radius: var(--radius-full);
  margin-bottom:1.2rem;
}
.lessons__title{ font-size:1.15rem; margin-bottom:.7rem; }
.lessons__text{ color: var(--color-text-muted); font-size:.95rem; }
.lessons__nav{ display:flex; gap:1rem; justify-content:center; }
.lessons__arrow{
  width:48px; height:48px; border-radius:50%;
  border:1px solid var(--color-border);
  display:flex; align-items:center; justify-content:center;
  transition: background .3s var(--ease), box-shadow .3s var(--ease), transform .3s var(--ease);
}
.lessons__arrow:hover{ background: var(--gradient-primary); color:#04101a; box-shadow: var(--glow-primary); transform: translateY(-3px); }


.split{ padding: var(--space-2xl) clamp(1.25rem,4vw,2.5rem); background: var(--color-bg); }
.split--dark{ background: var(--color-bg-alt); }
.split__container{
  max-width: var(--container-w); margin:0 auto;
  display:grid; grid-template-columns:1fr; gap: var(--space-lg); align-items:center;
}
.split--reverse .split__container{ direction: rtl; }
.split--reverse .split__content, .split--reverse .split__visual{ direction: ltr; }
.split__image{ width:100%; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); aspect-ratio: 4/3; object-fit:cover; }
.split__title{ font-size: clamp(1.6rem,3.4vw,2.3rem); margin-bottom:1.2rem; }
.split__text{ color: var(--color-text-muted); margin-bottom:1.1rem; font-size:1.02rem; }
.split__link{ display:inline-flex; align-items:center; gap:.5rem; color:var(--color-primary); font-weight:600; margin-top:.5rem; transition: gap .3s var(--ease); }
.split__link:hover{ gap:.9rem; }

@media (min-width: 900px){
  .split__container{ grid-template-columns: 1fr 1fr; }
}


.audit-teaser{ padding: var(--space-2xl) clamp(1.25rem,4vw,2.5rem); background: var(--color-bg-alt); }
.audit-teaser__container{
  max-width: var(--container-w); margin:0 auto;
  display:grid; grid-template-columns:1fr; gap: var(--space-lg); align-items:center;
  background: var(--color-surface);
  border:1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--space-lg);
  box-shadow: var(--shadow-md);
}
.audit-teaser__title{ font-size: clamp(1.5rem,3vw,2.1rem); margin-bottom:1rem; }
.audit-teaser__body{ color: var(--color-text-muted); margin-bottom:1.5rem; }
.audit-teaser__image{ width:100%; border-radius: var(--radius-lg); aspect-ratio:4/3; object-fit:cover; box-shadow: var(--shadow-md); }

@media (min-width: 900px){
  .audit-teaser__container{ grid-template-columns:1.1fr .9fr; }
}


.fit-preview{ padding: var(--space-2xl) clamp(1.25rem,4vw,2.5rem); }
.fit-preview__container{ max-width: var(--container-w); margin:0 auto; text-align:center; }
.fit-preview__grid{ display:grid; grid-template-columns:1fr; gap: var(--space-md); margin-bottom: var(--space-lg); text-align:left; }
.fit-preview__item{
  background: var(--color-surface); border:1px solid var(--color-border); border-radius: var(--radius-lg);
  padding: var(--space-md); transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.fit-preview__item:hover{ transform: translateY(-5px); box-shadow: var(--shadow-md); }
.fit-preview__icon{ font-size:1.6rem; color: var(--color-secondary); margin-bottom:1rem; }
.fit-preview__title{ font-size:1.1rem; margin-bottom:.5rem; }
.fit-preview__text{ color: var(--color-text-muted); font-size:.95rem; }
.fit-preview__link{ display:inline-flex; align-items:center; gap:.5rem; color:var(--color-primary); font-weight:600; }

@media (min-width: 700px){
  .fit-preview__grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px){
  .fit-preview__grid{ grid-template-columns: repeat(4, 1fr); }
}


.cta-banner{
  padding: var(--space-2xl) clamp(1.25rem,4vw,2.5rem);
  background: var(--gradient-primary);
  position:relative;
  overflow:hidden;
}
.cta-banner__container{ max-width:720px; margin:0 auto; text-align:center; }
.cta-banner__title{ font-size: clamp(1.6rem,3.4vw,2.4rem); color:#04101a; margin-bottom:1rem; }
.cta-banner__text{ color: rgba(4,16,26,.75); margin-bottom:1.6rem; font-size:1.05rem; }


.approach{ padding: var(--space-2xl) clamp(1.25rem,4vw,2.5rem); }
.approach__container{ max-width: var(--container-w); margin:0 auto; display:grid; grid-template-columns:1fr; gap: var(--space-md); }
.approach__item{
  background: var(--color-surface); border:1px solid var(--color-border); border-radius: var(--radius-lg);
  padding: var(--space-md); position:relative;
}
.approach__number{
  font-size:2.2rem; font-weight:800;
  background: var(--gradient-primary); -webkit-background-clip:text; background-clip:text; color:transparent;
  margin-bottom:.6rem;
}
.approach__title{ font-size:1.25rem; margin-bottom:.7rem; }
.approach__text{ color: var(--color-text-muted); }

@media (min-width: 700px){
  .approach__container{ grid-template-columns: repeat(2, 1fr); }
}


.team{ padding: var(--space-2xl) clamp(1.25rem,4vw,2.5rem); background: var(--color-bg-alt); }
.team__container{ max-width: var(--container-w); margin:0 auto; }
.team__grid{ display:grid; grid-template-columns:1fr; gap: var(--space-md); }
.team__card{
  background: var(--color-surface); border:1px solid var(--color-border); border-radius: var(--radius-lg);
  overflow:hidden; box-shadow: var(--shadow-sm); transition: box-shadow .3s var(--ease);
}
.team__card:hover{ box-shadow: var(--shadow-md); }
.team__toggle{
  width:100%; display:flex; flex-direction:column; align-items:center; text-align:center;
  padding: var(--space-md); gap:.3rem; min-height:44px;
}
.team__photo{
  width:96px; height:96px; border-radius:50%; object-fit:cover;
  margin-bottom: .8rem; border:3px solid var(--color-bg);
  box-shadow: 0 0 0 2px rgba(34,211,238,.4);
}
.team__name{ font-size:1.15rem; font-weight:700; }
.team__role{ font-size:.9rem; color: var(--color-text-muted); }
.team__chevron{ margin-top:.8rem; transition: transform .35s var(--ease); color: var(--color-primary); }
.team__toggle[aria-expanded="true"] .team__chevron{ transform: rotate(180deg); }
.team__bio{
  max-height:0; overflow:hidden; transition: max-height .5s var(--ease), padding .5s var(--ease);
  padding: 0 var(--space-md);
}
.team__bio p{ color: var(--color-text-muted); padding-bottom: var(--space-md); }
.team__card--open .team__bio{ max-height:400px; }

@media (min-width: 900px){
  .team__grid{ grid-template-columns: repeat(3, 1fr); }
}


.checklist{ padding: var(--space-2xl) clamp(1.25rem,4vw,2.5rem); background: var(--color-bg-alt); }
.checklist__container{ max-width: var(--container-w); margin:0 auto; }
.checklist__grid{ display:grid; grid-template-columns:1fr; gap: var(--space-md); }
.checklist__item{
  background: var(--color-surface); border:1px solid var(--color-border); border-radius: var(--radius-lg);
  padding: var(--space-md);
}
.checklist__icon{ font-size:1.4rem; color: var(--color-primary); margin-bottom: .9rem; }
.checklist__title{ font-size:1.1rem; margin-bottom:.5rem; }
.checklist__text{ color: var(--color-text-muted); font-size:.95rem; }

@media (min-width: 700px){
  .checklist__grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px){
  .checklist__grid{ grid-template-columns: repeat(3, 1fr); }
}


.audit-detail{ padding: var(--space-2xl) clamp(1.25rem,4vw,2.5rem); }
.audit-detail__container{
  max-width: var(--container-w); margin:0 auto;
  display:grid; grid-template-columns:1fr; gap: var(--space-lg); align-items:center;
}
.audit-detail__image{ width:100%; border-radius: var(--radius-lg); aspect-ratio:4/3; object-fit:cover; box-shadow: var(--shadow-lg); }
.audit-detail__title{ font-size: clamp(1.5rem,3vw,2.1rem); margin-bottom:1.1rem; }
.audit-detail__text{ color: var(--color-text-muted); margin-bottom:1rem; }

@media (min-width: 900px){
  .audit-detail__container{ grid-template-columns: 1fr 1fr; }
}


.fit-detail{ padding: var(--space-2xl) clamp(1.25rem,4vw,2.5rem); }
.fit-detail--alt{ background: var(--color-bg-alt); }
.fit-detail__container{ max-width: var(--container-w); margin:0 auto; }
.fit-detail__title{ font-size: clamp(1.5rem,3vw,2.1rem); margin-bottom: var(--space-md); text-align:center; }
.fit-detail__grid{ display:grid; grid-template-columns:1fr; gap: var(--space-md); }
.fit-detail__item{
  display:flex; gap:1rem; align-items:flex-start;
  background: var(--color-surface); border:1px solid var(--color-border); border-radius: var(--radius-lg);
  padding: var(--space-md);
}
.fit-detail__icon{ font-size:1.4rem; flex-shrink:0; margin-top:.15rem; }
.fit-detail__icon--positive{ color: var(--color-primary); }
.fit-detail__icon--negative{ color: var(--color-accent); }

@media (min-width: 700px){
  .fit-detail__grid{ grid-template-columns: repeat(2, 1fr); }
  .fit-detail__grid--two{ grid-template-columns: repeat(2, 1fr); }
}


.contact-section{ padding: var(--space-2xl) clamp(1.25rem,4vw,2.5rem); }
.contact-section__container{ max-width: var(--container-w); margin:0 auto; display:grid; grid-template-columns:1fr; gap: var(--space-lg); }
.contact-section__heading{ font-size:1.4rem; margin-bottom: var(--space-md); }
.contact-info__list{ display:flex; flex-direction:column; gap: var(--space-md); }
.contact-info__item{ display:flex; gap:1rem; align-items:flex-start; }
.contact-info__icon{ font-size:1.3rem; color: var(--color-primary); margin-top:.2rem; }
.contact-info__item p{ color: var(--color-text-muted); }
.contact-info__link{ color: var(--color-primary); }

.contact-form{ display:flex; flex-direction:column; gap: var(--space-sm); }
.contact-form__row{ display:flex; flex-direction:column; gap:.5rem; }
.contact-form__row--checkbox{ flex-direction:row; align-items:flex-start; gap:.7rem; }
.contact-form__row--checkbox input{ width:22px; height:22px; margin-top:.15rem; accent-color: var(--color-primary); }
.contact-form__label{ font-size:.9rem; color: var(--color-text-muted); font-weight:600; }
.contact-form__input{
  padding: .9rem 1.1rem;
  border-radius: var(--radius-md);
  background: var(--color-surface);
  border:1px solid var(--color-border);
  color: var(--color-text);
  min-height:44px;
  transition: border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.contact-form__input:focus{ outline:none; border-color: var(--color-primary); box-shadow: var(--glow-primary); }
.contact-form__textarea{ resize:vertical; min-height:140px; }
.contact-form__submit{ margin-top:.5rem; align-self:flex-start; }

@media (min-width: 900px){
  .contact-section__container{ grid-template-columns: .85fr 1.15fr; }
}


.map-section{ padding: 0 clamp(1.25rem,4vw,2.5rem) var(--space-xl); }
.map-section__container{ max-width: var(--container-w); margin:0 auto; }
.map-section__heading{ font-size:1.4rem; margin-bottom: var(--space-md); }
.map-section__frame{ border-radius: var(--radius-lg); overflow:hidden; height:380px; box-shadow: var(--shadow-md); border:1px solid var(--color-border); }


.service-area{ padding: var(--space-2xl) clamp(1.25rem,4vw,2.5rem); background: var(--color-bg-alt); }
.service-area__container{
  max-width: var(--container-w); margin:0 auto;
  display:grid; grid-template-columns:1fr; gap: var(--space-lg); align-items:center;
}
.service-area__image{ width:100%; border-radius: var(--radius-lg); aspect-ratio:4/3; object-fit:cover; box-shadow: var(--shadow-lg); }
.service-area__title{ font-size: clamp(1.5rem,3vw,2.1rem); margin-bottom:1.1rem; }
.service-area__text{ color: var(--color-text-muted); margin-bottom:1rem; }

@media (min-width: 900px){
  .service-area__container{ grid-template-columns: 1fr 1.1fr; }
}


.thanks-hero{
  background: var(--gradient-primary);
  padding: clamp(8rem,14vw,10rem) clamp(1.25rem,4vw,2.5rem) var(--space-2xl);
  text-align:center;
}
.thanks-hero__container{ max-width:640px; margin:0 auto; }
.thanks-hero__icon{ font-size:3rem; color:#fff; margin-bottom:1.2rem; }
.thanks-hero__title{ font-size: clamp(2rem,4.5vw,3rem); color:#fff; margin-bottom:1rem; }
.thanks-hero__text{ color: rgba(255,255,255,.85); font-size:1.1rem; }
.thanks-next{ padding: var(--space-2xl) clamp(1.25rem,4vw,2.5rem); background:#fff; color:#0a0d16; text-align:center; }
.thanks-next__container{ max-width:640px; margin:0 auto; }
.thanks-next__title{ font-size:1.6rem; margin-bottom:1rem; }
.thanks-next__text{ color:#3a3f52; margin-bottom:1.6rem; }
.thanks-next a{ color: var(--color-primary-dark); }


.legal{ padding: clamp(8rem,13vw,10rem) clamp(1.25rem,4vw,2.5rem) var(--space-2xl); }
.legal__container{ max-width:860px; margin:0 auto; }
.legal__title{ font-size: clamp(1.9rem,4vw,2.6rem); margin-bottom:.6rem; }
.legal__updated{ color: var(--color-text-dim); margin-bottom: var(--space-md); font-size:.9rem; }
.legal__intro{ color: var(--color-text-muted); margin-bottom: var(--space-lg); }
.legal__heading{ font-size:1.3rem; margin-top: var(--space-lg); margin-bottom:.9rem; color: var(--color-primary); }
.legal p{ color: var(--color-text-muted); margin-bottom:1rem; }
.legal__deflist{ margin-bottom: var(--space-md); }
.legal__deflist dt{ font-weight:700; color: var(--color-text); margin-top:1rem; }
.legal__deflist dd{ color: var(--color-text-muted); margin:0 0 .3rem 0; }
.legal__table{
  width:100%; border-collapse:collapse; margin: var(--space-md) 0 var(--space-lg);
  background: var(--color-surface); border-radius: var(--radius-md); overflow:hidden;
}
.legal__table th, .legal__table td{
  padding: .9rem 1rem; text-align:left; border-bottom:1px solid var(--color-border); font-size:.92rem; color: var(--color-text-muted);
}
.legal__table th{ background: var(--color-surface-alt); color: var(--color-text); font-weight:700; }
.legal__table tr:last-child td{ border-bottom:none; }


.footer{ background: var(--color-bg-alt); position:relative; margin-top:auto; }
.footer__accent-bar{ height:5px; background: var(--gradient-primary); }
.footer__container{
  max-width: var(--container-w); margin:0 auto;
  padding: var(--space-xl) clamp(1.25rem,4vw,2.5rem) var(--space-lg);
  display:grid; grid-template-columns:1fr; gap: var(--space-lg);
}
.footer__brand{ display:flex; align-items:center; gap:.6rem; font-weight:700; font-size:1.2rem; margin-bottom:1rem; }
.footer__logo{ width:32px; height:32px; }
.footer__desc{ color: var(--color-text-muted); font-size:.92rem; max-width:320px; }
.footer__heading{ font-size:1rem; margin-bottom:1rem; color: var(--color-text); }
.footer__list{ display:flex; flex-direction:column; gap:.7rem; }
.footer__list--contact li{ display:flex; align-items:flex-start; gap:.6rem; color: var(--color-text-muted); font-size:.92rem; }
.footer__list--contact i{ color: var(--color-primary); margin-top:.15rem; }
.footer__link{ color: var(--color-text-muted); font-size:.92rem; transition: color .3s var(--ease); }
.footer__link:hover{ color: var(--color-primary); }
.footer__bottom{ border-top:1px solid var(--color-border); padding: 1.25rem clamp(1.25rem,4vw,2.5rem); text-align:center; color: var(--color-text-dim); font-size:.85rem; }

@media (min-width: 700px){
  .footer__container{ grid-template-columns: 1.2fr .8fr .8fr 1fr; }
}


.cookie-consent{ position:fixed; bottom: clamp(1rem,3vw,1.75rem); right: clamp(1rem,3vw,1.75rem); z-index:2000; }
.cookie-consent__bell{
  width:56px; height:56px; border-radius:50%;
  background: var(--color-surface); border:1px solid var(--color-border);
  display:flex; align-items:center; justify-content:center;
  font-size:1.25rem; color: var(--color-primary);
  box-shadow: var(--shadow-md), var(--glow-primary);
  position:relative;
  transition: transform .3s var(--ease);
}
.cookie-consent__bell:hover{ transform: scale(1.08); }
.cookie-consent__badge{
  position:absolute; top:-3px; right:-3px;
  width:14px; height:14px; border-radius:50%;
  background: var(--gradient-warm);
  display:none;
  box-shadow: 0 0 10px rgba(244,114,182,.7);
}
.cookie-consent__badge--visible{ display:block; }
.cookie-consent__panel{
  position:absolute; bottom:70px; right:0;
  width: min(90vw, 380px);
  background: var(--color-surface);
  border:1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-md);
  box-shadow: var(--shadow-lg);
  opacity:0; visibility:hidden; transform: translateY(20px);
  transition: opacity .35s var(--ease), transform .35s var(--ease), visibility .35s var(--ease);
  max-height:80vh; overflow-y:auto;
}
.cookie-consent__panel--open{ opacity:1; visibility:visible; transform: translateY(0); }
.cookie-consent__header{ display:flex; justify-content:space-between; align-items:center; margin-bottom:.9rem; }
.cookie-consent__header h3{ font-size:1.05rem; }
.cookie-consent__close{ font-size:1.1rem; min-width:32px; min-height:32px; }
.cookie-consent__text{ font-size:.85rem; color: var(--color-text-muted); margin-bottom:1rem; }
.cookie-consent__text a{ color: var(--color-primary); }
.cookie-consent__option{ display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:.8rem 0; border-top:1px solid var(--color-border); }
.cookie-consent__option strong{ font-size:.9rem; }
.cookie-consent__option p{ font-size:.78rem; color: var(--color-text-dim); margin:.2rem 0 0; }
.cookie-consent__switch{ position:relative; width:44px; height:24px; flex-shrink:0; }
.cookie-consent__switch input{ opacity:0; width:0; height:0; }
.cookie-consent__slider{
  position:absolute; inset:0; background: var(--color-surface-alt); border-radius: var(--radius-full);
  transition: background .3s var(--ease); border:1px solid var(--color-border);
}
.cookie-consent__slider::before{
  content:''; position:absolute; width:18px; height:18px; left:2px; top:2px;
  background:#fff; border-radius:50%; transition: transform .3s var(--ease);
}
.cookie-consent__switch input:checked + .cookie-consent__slider{ background: var(--gradient-primary); }
.cookie-consent__switch input:checked + .cookie-consent__slider::before{ transform: translateX(20px); }
.cookie-consent__switch--disabled{ opacity:.6; }
.cookie-consent__actions{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1rem; }


[data-aos]{ pointer-events:auto; }


.gradient-text{ background: var(--gradient-primary); -webkit-background-clip:text; background-clip:text; color:transparent; }