/* ===================================================
   A-Trio Consulting — Main Stylesheet
   =================================================== */

/* --- Design Tokens --- */
:root {
  --blue:      #b181cb;
  --blue-dark: #8A67A2;
  --blue-light:#ecdff6;
  --purple:    #5f90c2;
  --purple-dark:#4C729B;
  --purple-light:#d6e6f5;
  --green:     #2e9404;
  --green-light:#d4f0c7;
  --orange:    #d97706;
  --orange-light:#fdead0;

  --black:     #040508;
  --on-surface:#191c1d;
  --on-variant:#444748;
  --surface:   #f8f9fa;
  --surface-low:#f3f4f5;
  --surface-container:#edeeef;
  --surface-high:#e7e8e9;
  --surface-white:#ffffff;
  --outline:   #747878;
  --outline-variant:#c4c7c7;
  --error:     #ba1a1a;

  --ff-head: 'Montserrat', sans-serif;
  --ff-body: 'Open Sans', sans-serif;

  --r-sm:  0.125rem;
  --r:     0.25rem;
  --r-md:  0.375rem;
  --r-lg:  0.5rem;
  --r-xl:  0.75rem;
  --r-full:9999px;

  --shadow-soft: 0 10px 30px -10px rgba(177,129,203,.12);
  --shadow-md:   0 4px 20px rgba(0,0,0,.07);
  --shadow-lg:   0 10px 40px rgba(0,0,0,.11);
  --t:           .2s ease;
  --t-spring:    .3s cubic-bezier(.34,1.56,.64,1);
}

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

/* --- Container --- */
.container{max-width:1200px;margin:0 auto;padding:0 24px}

/* --- Section padding --- */
.section{padding:80px 0}
.section--light{background:var(--surface-low)}
.section--white{background:var(--surface-white)}

/* ===================================================
   NAVIGATION
   =================================================== */
.nav{
  position:fixed;top:0;left:0;width:100%;z-index:100;
  height:72px;
  background:rgba(248,249,250,.85);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:box-shadow var(--t);
}
.nav.scrolled{box-shadow:var(--shadow-md)}
.nav__inner{
  max-width:1200px;margin:0 auto;padding:0 24px;
  height:100%;display:flex;align-items:center;justify-content:space-between;
}
.nav__logo{
  align-self:flex-start;
  position:relative;z-index:2;
  padding-top:8px;
  display:block;
  line-height:0;
}
.nav__logo img{
  height:180px;width:auto;object-fit:contain;
  display:block;
  filter:drop-shadow(0 14px 22px rgba(20,30,45,.2));
  transition:height var(--t),filter var(--t);
}
.nav__links{display:flex;align-items:center;gap:32px}
.nav__link{
  font-family:var(--ff-body);font-size:.875rem;font-weight:600;
  color:var(--on-variant);letter-spacing:.01em;
  position:relative;padding-bottom:4px;
  transition:color var(--t);
}
.nav__link::after{
  content:'';position:absolute;bottom:0;left:0;width:0;height:2px;
  background:var(--blue);transition:width var(--t);
}
.nav__link:hover{color:var(--blue)}
.nav__link:hover::after,.nav__link.active::after{width:100%}
.nav__link.active{color:var(--blue)}
.nav__cta{
  background:var(--blue);color:#fff;
  padding:10px 24px;border-radius:var(--r);
  font-size:.875rem;font-weight:600;letter-spacing:.01em;
  transition:background var(--t),transform var(--t),box-shadow var(--t);
}
.nav__cta:hover{background:var(--blue-dark);box-shadow:var(--shadow-soft);transform:translateY(-1px)}
.nav__cta:active{transform:scale(.97)}
.nav__hamburger{
  display:none;flex-direction:column;gap:5px;
  padding:8px;color:var(--blue);
}
.nav__hamburger span{
  display:block;width:24px;height:2px;background:var(--blue);
  border-radius:2px;transition:var(--t);
}
.nav__mobile{
  display:none;position:fixed;top:72px;left:0;width:100%;
  background:var(--surface-white);border-bottom:1px solid var(--outline-variant);
  box-shadow:var(--shadow-md);z-index:99;padding:20px 24px;
  flex-direction:column;gap:16px;
}
.nav__mobile.open{display:flex}
.nav__mobile .nav__link{font-size:1rem;padding:8px 0;border-bottom:1px solid var(--outline-variant)}
.nav__mobile .nav__cta{text-align:center;margin-top:8px}

/* ===================================================
   HERO
   =================================================== */
.hero{
  min-height:100vh;padding-top:72px;
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
  background:var(--surface);
}
.hero__blob{
  position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;pointer-events:none;
}
.hero__blob--1{width:500px;height:500px;background:var(--blue-light);top:-100px;right:-100px}
.hero__blob--2{width:400px;height:400px;background:var(--purple-light);bottom:-80px;left:-80px}
.hero__inner{position:relative;z-index:1;text-align:center;max-width:900px;margin:0 auto;padding:80px 24px}
.hero__badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 18px;border-radius:var(--r-full);
  background:var(--surface-low);border:1px solid rgba(177,129,203,.3);
  font-size:.8125rem;font-weight:600;color:var(--blue);letter-spacing:.01em;
  margin-bottom:28px;
}
.hero__badge-dot{width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero__title{
  font-family:var(--ff-head);font-size:clamp(2rem,5vw,3.25rem);
  font-weight:700;line-height:1.15;letter-spacing:-.02em;
  color:var(--on-surface);margin-bottom:24px;
}
.hero__title span{color:var(--blue)}
.hero__subtitle{
  font-size:1.125rem;line-height:1.7;
  color:var(--on-variant);max-width:600px;margin:0 auto 40px;
}
.hero__ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:56px}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 36px;border-radius:var(--r);
  font-size:.875rem;font-weight:600;letter-spacing:.01em;
  transition:var(--t);
}
.btn--primary{background:var(--blue);color:#fff;box-shadow:0 4px 14px rgba(177,129,203,.35)}
.btn--primary:hover{background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 8px 20px rgba(177,129,203,.4)}
.btn--primary:active{transform:scale(.97)}
.btn--outline-purple{background:transparent;color:var(--purple);border:2px solid var(--purple)}
.btn--outline-purple:hover{background:var(--purple);color:#fff}
.btn--outline-blue{background:transparent;color:var(--blue);border:2px solid var(--blue)}
.btn--outline-blue:hover{background:var(--blue);color:#fff}
.btn--purple{background:var(--purple);color:#fff}
.btn--purple:hover{background:var(--purple-dark);transform:translateY(-1px)}
.btn--green{background:var(--green);color:#fff}
.btn--green:hover{opacity:.9}
.btn--sm{padding:10px 20px;font-size:.8125rem}
.btn--full{width:100%;justify-content:center}

.hero__stats{
  display:flex;gap:0;justify-content:center;
  border:1px solid var(--outline-variant);border-radius:var(--r-lg);
  background:var(--surface-white);overflow:hidden;
  max-width:500px;margin:0 auto;
  box-shadow:var(--shadow-soft);
}
.hero__stat{
  flex:1;padding:20px;text-align:center;
  border-right:1px solid var(--outline-variant);
}
.hero__stat:last-child{border-right:none}
.hero__stat-num{
  display:block;font-family:var(--ff-head);
  font-size:1.5rem;font-weight:700;color:var(--blue);
}
.hero__stat-label{font-size:.75rem;color:var(--on-variant);font-weight:600;letter-spacing:.01em}

/* ===================================================
   LOGO TICKER
   =================================================== */
.logo-ticker{
  padding:32px 0;
  background:var(--surface-white);
  border-top:1px solid var(--outline-variant);
  border-bottom:1px solid var(--outline-variant);
  overflow:hidden;position:relative;
}
.logo-ticker__label{
  text-align:center;
  font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;
  color:var(--outline);margin-bottom:24px;
}
.logo-ticker__track-wrap{
  overflow:hidden;position:relative;
}
.logo-ticker__track-wrap::before,
.logo-ticker__track-wrap::after{
  content:'';position:absolute;top:0;height:100%;width:120px;z-index:2;pointer-events:none;
}
.logo-ticker__track-wrap::before{left:0;background:linear-gradient(to right,var(--surface-white),transparent)}
.logo-ticker__track-wrap::after{right:0;background:linear-gradient(to left,var(--surface-white),transparent)}
.logo-ticker__track{
  display:flex;align-items:center;gap:80px;
  width:max-content;
  animation:logoTicker 18s linear infinite;
}
.logo-ticker__track:hover{animation-play-state:paused}
.logo-ticker__item{
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.logo-ticker__item img{
  height:60px;width:auto;max-width:140px;
  object-fit:contain;
  filter:color-invert(100%);opacity:.5;
  transition:filter var(--t),opacity var(--t);
}
.logo-ticker__item:hover img{filter:grayscale(0%);opacity:1}
@keyframes logoTicker{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
@media(max-width:768px){
  .logo-ticker__track-wrap::before,
  .logo-ticker__track-wrap::after{width:48px}
  .logo-ticker__track{gap:56px;animation-duration:12s}
}

/* ===================================================
   TESTIMONIALS
   =================================================== */
.testimonials{padding:100px 0;background:var(--surface-low)}
.testimonials__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.testimonial-card{
  background:var(--surface-white);
  border:1px solid var(--outline-variant);
  border-radius:var(--r-xl);padding:36px 32px;
  display:flex;flex-direction:column;
  transition:box-shadow var(--t),transform var(--t-spring);
}
.testimonial-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.testimonial-card__quote{
  font-family:Georgia,'Times New Roman',serif;
  font-size:4rem;line-height:.8;
  color:var(--blue);opacity:.25;
  margin-bottom:18px;user-select:none;
}
.testimonial-card__stars{
  display:flex;gap:3px;margin-bottom:16px;
}
.testimonial-card__star{
  color:#f59e0b;font-size:1.25rem;
  font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24;
}
.testimonial-card__text{
  font-size:.9375rem;color:var(--on-variant);line-height:1.8;
  flex:1;margin-bottom:28px;
}
.testimonial-card__author{
  display:flex;align-items:center;gap:14px;
  padding-top:24px;border-top:1px solid var(--outline-variant);
}
.testimonial-card__avatar{
  width:46px;height:46px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--ff-head);font-weight:700;font-size:1rem;color:#fff;
}
.testimonial-card__avatar--blue{background:var(--blue)}
.testimonial-card__avatar--purple{background:var(--purple)}
.testimonial-card__avatar--green{background:var(--green)}
.testimonial-card__name{font-weight:700;font-size:.9375rem;color:var(--on-surface)}
.testimonial-card__role{font-size:.8125rem;color:var(--on-variant);margin-top:2px}
@media(max-width:1024px){
  .testimonials__grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .testimonials{padding:64px 0}
}

/* ===================================================
   ABOUT
   =================================================== */
.about{padding:100px 0}
.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.about__img-wrap{position:relative}
.about__img{
  width:100%;aspect-ratio:1;object-fit:cover;object-position:top center;
  border-radius:var(--r-xl);border:8px solid var(--surface-white);
  box-shadow:var(--shadow-lg);
}
.about__badge-card{
  position:absolute;bottom:-24px;right:-24px;
  background:var(--surface-white);padding:20px 24px;border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:14px;
}
.about__badge-icon{
  width:48px;height:48px;border-radius:50%;
  background:rgba(177,129,203,.1);display:flex;align-items:center;justify-content:center;
  color:var(--blue);flex-shrink:0;
}
.about__badge-title{font-family:var(--ff-head);font-size:1rem;font-weight:600;color:var(--blue)}
.about__badge-sub{font-size:.75rem;color:var(--on-variant);font-weight:600}
.about__eyebrow{
  font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;
  color:var(--purple);margin-bottom:12px;
}
.about__title{
  font-family:var(--ff-head);font-size:2rem;font-weight:600;
  color:var(--on-surface);margin-bottom:20px;line-height:1.3;
}
.about__text{color:var(--on-variant);font-size:1rem;line-height:1.75;margin-bottom:24px}
.about__skills{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}
.about__skill{
  background:var(--surface-white);border:1px solid var(--outline-variant);
  border-radius:var(--r-lg);padding:16px;
}
.about__skill-icon{color:var(--blue);font-size:1.5rem;margin-bottom:6px}
.about__skill-icon--purple{color:var(--purple)}
.about__skill-label{font-size:.875rem;font-weight:600}

/* ===================================================
   SERVICES
   =================================================== */
.services{padding:100px 0;background:var(--surface)}
.section-header{text-align:center;margin-bottom:56px}
.section-header__title{
  font-family:var(--ff-head);font-size:clamp(1.5rem,3vw,2rem);
  font-weight:600;color:var(--on-surface);margin-bottom:12px;
}
.section-header__sub{font-size:1rem;color:var(--on-variant);max-width:560px;margin:0 auto}
.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service-card{
  background:var(--surface-white);border:1px solid var(--outline-variant);
  border-radius:var(--r-xl);padding:40px 32px;
  display:flex;flex-direction:column;
  transition:transform var(--t-spring),box-shadow var(--t);
}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.service-card__icon{
  width:56px;height:56px;border-radius:var(--r-lg);
  display:flex;align-items:center;justify-content:center;
  font-size:1.75rem;margin-bottom:24px;
  transition:transform var(--t-spring);
}
.service-card:hover .service-card__icon{transform:scale(1.15) rotate(5deg)}
.service-card__icon--blue{background:rgba(177,129,203,.1);color:var(--blue)}
.service-card__icon--purple{background:rgba(95,144,194,.1);color:var(--purple)}
.service-card__title{
  font-family:var(--ff-head);font-size:1.25rem;font-weight:600;
  margin-bottom:14px;
}
.service-card__text{font-size:.9375rem;color:var(--on-variant);line-height:1.7;margin-bottom:24px;flex:1}
.service-card__list{display:flex;flex-direction:column;gap:10px}
.service-card__list li{
  display:flex;align-items:center;gap:10px;
  font-size:.875rem;color:var(--on-variant);font-weight:600;
}
.service-card__list li span{color:var(--blue);font-size:1rem}

/* ===================================================
   FREE TOOLS
   =================================================== */
.tools__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.tool-card{
  position:relative;
  background:var(--surface-white);border:1px solid var(--outline-variant);
  border-radius:var(--r-xl);padding:40px 32px;
  display:flex;flex-direction:column;
  transition:transform var(--t-spring),box-shadow var(--t);
}
.tool-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.tool-card__badge{
  align-self:flex-start;display:inline-block;
  padding:5px 14px;border-radius:var(--r-full);
  background:rgba(177,129,203,.1);color:var(--blue);
  font-size:.75rem;font-weight:700;letter-spacing:.03em;
  margin-bottom:20px;
}
.tool-card__badge--purple{background:rgba(95,144,194,.12);color:var(--purple)}
.tool-card__icon{
  width:56px;height:56px;border-radius:var(--r-lg);
  display:flex;align-items:center;justify-content:center;
  font-size:1.75rem;margin-bottom:24px;
  transition:transform var(--t-spring);
}
.tool-card:hover .tool-card__icon{transform:scale(1.15) rotate(5deg)}
.tool-card__icon--blue{background:rgba(177,129,203,.1);color:var(--blue)}
.tool-card__icon--purple{background:rgba(95,144,194,.1);color:var(--purple)}
.tool-card__title{
  font-family:var(--ff-head);font-size:1.25rem;font-weight:600;
  margin-bottom:14px;
}
.tool-card__text{font-size:.9375rem;color:var(--on-variant);line-height:1.7;margin-bottom:28px;flex:1}

/* ===================================================
   LEAD MAGNET
   =================================================== */
.lead-magnet{padding:100px 0}
.lead-magnet__card{
  border-radius:var(--r-xl);overflow:hidden;
  background:linear-gradient(135deg,var(--blue) 0%,var(--purple) 100%);
  padding:72px;position:relative;
}
.lead-magnet__blob{
  position:absolute;top:-60px;right:-60px;
  width:240px;height:240px;border-radius:50%;
  background:rgba(255,255,255,.08);pointer-events:none;
}
.lead-magnet__grid{
  display:grid;grid-template-columns:1fr 420px;gap:64px;
  align-items:center;position:relative;z-index:1;
}
.lead-magnet__badge{
  display:inline-block;padding:5px 14px;border-radius:var(--r-full);
  background:rgba(255,255,255,.2);
  font-size:.75rem;font-weight:600;color:#fff;letter-spacing:.08em;text-transform:uppercase;
  margin-bottom:20px;
}
.lead-magnet__title{
  font-family:var(--ff-head);font-size:clamp(1.5rem,2.5vw,2rem);
  font-weight:600;color:#fff;margin-bottom:16px;line-height:1.3;
}
.lead-magnet__text{font-size:1.0625rem;color:rgba(255,255,255,.88);line-height:1.7;margin-bottom:28px}
.lead-magnet__toc{display:flex;flex-direction:column;gap:10px}
.lead-magnet__toc-item{
  display:flex;align-items:center;gap:10px;
  font-size:.875rem;color:rgba(255,255,255,.9);font-weight:600;
}
.lead-magnet__toc-item span{color:rgba(255,255,255,.7);font-size:1rem}
.lead-magnet__form-card{
  background:var(--surface-white);border-radius:var(--r-xl);
  padding:40px;box-shadow:var(--shadow-lg);
}
.lead-magnet__form-title{
  font-family:var(--ff-head);font-size:1.25rem;font-weight:600;
  text-align:center;margin-bottom:24px;
}

/* ===================================================
   FORMS (shared)
   =================================================== */
.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.form-group:last-of-type{margin-bottom:0}
.form-label{font-size:.875rem;font-weight:600;color:var(--on-surface);letter-spacing:.01em}
.form-input,.form-select,.form-textarea{
  width:100%;padding:12px 16px;
  background:var(--surface-low);border:1.5px solid transparent;
  border-radius:var(--r-lg);font-size:.9375rem;color:var(--on-surface);
  transition:border-color var(--t),box-shadow var(--t);
  outline:none;appearance:none;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{
  border-color:var(--blue);box-shadow:0 0 0 3px rgba(177,129,203,.15);
  background:var(--surface-white);
}
.form-input::placeholder,.form-textarea::placeholder{color:var(--outline)}
.form-textarea{resize:vertical;min-height:120px}
.form-select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23444748' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
  padding-right:42px;cursor:pointer;
}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-note{font-size:.75rem;color:var(--on-variant);text-align:center;margin-top:10px}
.honeypot{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}

/* ===================================================
   COVERAGE
   =================================================== */
.coverage{padding:100px 0;background:var(--surface-white)}
.coverage__grid{display:grid;grid-template-columns:400px 1fr;gap:64px;align-items:center}
.coverage__title{
  font-family:var(--ff-head);font-size:2rem;font-weight:600;
  color:var(--blue);margin-bottom:16px;line-height:1.3;
}
.coverage__text{color:var(--on-variant);font-size:.9375rem;line-height:1.75;margin-bottom:32px}
.coverage__locations{display:flex;flex-direction:column;gap:14px}
.coverage__location{display:flex;align-items:center;gap:14px}
.coverage__loc-icon{
  width:40px;height:40px;border-radius:50%;
  background:rgba(177,129,203,.1);display:flex;align-items:center;justify-content:center;
  color:var(--blue);flex-shrink:0;
}
.coverage__loc-label{font-size:.875rem;font-weight:600}
.coverage__map{
  border-radius:var(--r-xl);overflow:hidden;
  border:1px solid var(--outline-variant);
  height:450px;box-shadow:var(--shadow-soft);
}
.coverage__map iframe{width:100%;height:100%;border:none;display:block}

/* ===================================================
   CONTACT
   =================================================== */
.contact{padding:100px 0}
.contact__card{
  background:var(--surface-white);border-radius:var(--r-xl);
  border:1px solid var(--outline-variant);overflow:hidden;
  box-shadow:var(--shadow-soft);
  display:grid;grid-template-columns:400px 1fr;
}
.contact__info{background:var(--blue);padding:56px 48px;color:#fff}
.contact__info-title{
  font-family:var(--ff-head);font-size:1.75rem;font-weight:600;
  margin-bottom:16px;
}
.contact__info-sub{font-size:.9375rem;opacity:.82;line-height:1.7;margin-bottom:48px}
.contact__info-items{display:flex;flex-direction:column;gap:28px}
.contact__info-item{display:flex;gap:16px;align-items:flex-start}
.contact__info-item-icon{color:var(--purple-light);font-size:1.5rem;margin-top:2px;flex-shrink:0}
.contact__info-item-label{font-size:.875rem;font-weight:700;margin-bottom:4px}
.contact__info-item-val{font-size:.9375rem;opacity:.82}
.contact__info-item-val a{color:inherit;opacity:.82;transition:opacity var(--t)}
.contact__info-item-val a:hover{opacity:1}
.contact__form-wrap{padding:56px 48px}
.contact__form-title{
  font-family:var(--ff-head);font-size:1.5rem;font-weight:600;
  margin-bottom:8px;
}
.contact__form-sub{font-size:.875rem;color:var(--on-variant);margin-bottom:32px}

/* ===================================================
   FOOTER
   =================================================== */
.footer{background:var(--surface-white);border-top:1px solid var(--outline-variant);padding:64px 0 32px}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer__brand-logo{height:90px;width:auto;object-fit:contain;margin-bottom:16px}
.footer__brand-text{font-size:.875rem;color:var(--on-variant);line-height:1.75;max-width:320px}
.footer__socials{display:flex;align-items:center;gap:12px;margin-top:18px}
.footer__social-link{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;
  background:var(--surface-low);border:1px solid var(--outline-variant);
  color:var(--on-variant);font-size:1rem;
  transition:background var(--t),color var(--t),transform var(--t),border-color var(--t);
}
.footer__social-link:hover{background:var(--blue);border-color:var(--blue);color:#fff;transform:translateY(-2px)}
.footer__col-title{
  font-size:.8125rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;color:var(--on-surface);margin-bottom:20px;
}
.footer__links{display:flex;flex-direction:column;gap:12px}
.footer__link{font-size:.875rem;color:var(--on-variant);transition:color var(--t)}
.footer__link:hover{color:var(--blue)}
.footer__email-link{cursor:pointer}
.footer__contact-item{display:flex;align-items:flex-start;gap:10px}
.footer__contact-icon{font-size:1rem;line-height:1.5;color:var(--blue);flex-shrink:0;margin-top:1px}
.footer__contact-item .footer__link{line-height:1.5}
.footer__link-sep{
  border-top:1px dashed var(--outline-variant);
  margin:10px 0 2px;
  pointer-events:none;
}
.footer__divider{border:none;border-top:1px solid var(--outline-variant);margin-bottom:24px}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.footer__copy{font-size:.8125rem;color:var(--on-variant)}
.footer__legal-links{display:flex;align-items:center;gap:10px}
.footer__legal-link{font-size:.8125rem!important}
.footer__sep{font-size:.75rem;color:var(--outline-variant)}
.footer__powered{
  font-size:.75rem;color:var(--on-variant);
  text-align:center;margin-top:14px;
  padding-top:12px;
  border-top:1px dashed var(--outline-variant);
  opacity:.72;
}
.footer__powered-link{
  color:var(--blue);font-weight:600;
  text-decoration:underline;text-underline-offset:2px;
  transition:opacity var(--t);
}
.footer__powered-link:hover{opacity:.75}

/* ===================================================
   LEGAL PAGES (Privacy Policy & Terms of Use)
   =================================================== */
.legal-page{padding:120px 0 80px}
.legal-page__header{
  max-width:760px;margin:0 auto 48px;
  padding-bottom:28px;
  border-bottom:1px solid var(--outline-variant);
}
.legal-page__eyebrow{
  font-size:.75rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;color:var(--blue);margin-bottom:10px;
}
.legal-page__title{
  font-family:var(--ff-head);
  font-size:clamp(1.5rem,3vw,2.25rem);
  font-weight:700;color:var(--on-surface);margin-bottom:10px;
}
.legal-page__meta{font-size:.875rem;color:var(--on-variant)}
.legal-page__content{max-width:760px;margin:0 auto}
.legal-page__intro{
  font-size:1rem;color:var(--on-variant);line-height:1.8;
  padding:20px 24px;background:var(--surface-low);
  border-left:3px solid var(--blue);border-radius:var(--r-md);
  margin-bottom:40px;
}
.legal-section{margin-bottom:40px}
.legal-section__title{
  font-family:var(--ff-head);font-size:1.0625rem;font-weight:600;
  color:var(--on-surface);margin-bottom:14px;
  display:flex;align-items:center;gap:10px;
}
.legal-section__title::before{
  content:'';display:inline-block;
  width:3px;height:1.1em;
  background:var(--blue);border-radius:2px;flex-shrink:0;
}
.legal-section p,.legal-section li{
  font-size:.9375rem;color:var(--on-variant);
  line-height:1.85;margin-bottom:12px;
}
.legal-section ul,.legal-section ol{
  padding-left:22px;margin-bottom:12px;
}
.legal-section ul{list-style:disc}
.legal-section ol{list-style:decimal}
.legal-section li{margin-bottom:8px}
.legal-section a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.legal-section a:hover{opacity:.78}
.legal-section strong{color:var(--on-surface);font-weight:600}
.legal-contact-box{
  background:var(--surface-low);border:1px solid var(--outline-variant);
  border-radius:var(--r-xl);padding:28px 32px;margin-top:48px;
}
.legal-contact-box__title{
  font-family:var(--ff-head);font-size:1rem;font-weight:600;
  margin-bottom:14px;color:var(--on-surface);
}
.legal-contact-box p{font-size:.9375rem;color:var(--on-variant);line-height:1.75;margin-bottom:8px}
.legal-contact-box a{color:var(--blue)}
@media(max-width:768px){
  .legal-page{padding:96px 0 64px}
  .legal-page__header,.legal-page__content{padding:0 4px}
  .footer__bottom{flex-direction:column;text-align:center}
  .footer__legal-links{justify-content:center}
}

/* ===================================================
   TOAST NOTIFICATIONS
   =================================================== */
.toast-container{
  position:fixed;bottom:24px;right:24px;z-index:9999;
  display:flex;flex-direction:column;gap:12px;
}
.toast{
  display:flex;align-items:center;gap:12px;
  min-width:280px;max-width:380px;padding:14px 18px;
  border-radius:var(--r-lg);box-shadow:var(--shadow-lg);
  background:var(--surface-white);border:1px solid var(--outline-variant);
  animation:slideIn .3s ease forwards;
}
.toast.fade-out{animation:slideOut .3s ease forwards}
@keyframes slideIn{from{transform:translateX(120%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes slideOut{from{transform:translateX(0);opacity:1}to{transform:translateX(120%);opacity:0}}
.toast--success{border-left:4px solid var(--green)}
.toast--error{border-left:4px solid var(--error)}
.toast--info{border-left:4px solid var(--blue)}
.toast__icon{font-size:1.25rem;flex-shrink:0}
.toast__icon--success{color:var(--green)}
.toast__icon--error{color:var(--error)}
.toast__icon--info{color:var(--blue)}
.toast__text{font-size:.875rem;font-weight:600;flex:1}

/* ===================================================
   SCROLL REVEAL
   =================================================== */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}

/* ===================================================
   BOOKING PAGE
   =================================================== */
.booking-hero{
  padding:120px 0 48px;
  background:var(--surface-low);text-align:center;
}
.booking-hero__title{
  font-family:var(--ff-head);font-size:clamp(1.75rem,4vw,2.75rem);
  font-weight:700;letter-spacing:-.02em;color:var(--on-surface);
  margin-bottom:14px;
}
.booking-hero__sub{font-size:1.0625rem;color:var(--on-variant);max-width:560px;margin:0 auto}

.booking-wrapper{
  max-width:900px;margin:0 auto;padding:0 24px;
  position:relative;
}
.booking-card{
  background:var(--surface-white);border-radius:var(--r-xl);
  border:1px solid var(--outline-variant);
  box-shadow:var(--shadow-lg);padding:48px;
  margin:-24px auto 80px;
  position:relative;z-index:2;
}

/* Steps progress */
.steps-progress{
  display:flex;align-items:center;justify-content:center;
  max-width:360px;margin:0 auto 48px;position:relative;
}
.steps-track{
  position:absolute;top:16px;left:0;width:100%;height:2px;
  background:var(--surface-high);z-index:0;
}
.steps-fill{
  position:absolute;top:16px;left:0;height:2px;
  background:var(--on-surface);z-index:1;
  transition:width .5s ease;
}
.step-node{
  position:relative;z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  flex:1;
}
.step-node__circle{
  width:32px;height:32px;border-radius:50%;
  border:2px solid var(--surface-high);
  background:var(--surface-white);
  display:flex;align-items:center;justify-content:center;
  font-size:.75rem;font-weight:700;color:var(--on-variant);
  transition:border-color var(--t),background var(--t),color var(--t);
}
.step-node.active .step-node__circle,.step-node.done .step-node__circle{
  border-color:var(--on-surface);background:var(--on-surface);color:#fff;
}
.step-node__label{
  font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--on-variant);
}
.step-node.active .step-node__label{color:var(--on-surface)}
.step-node.done .step-node__label{color:var(--green)}

/* Booking step containers */
.step{display:none}
.step.active{display:block}
.step__title{
  font-family:var(--ff-head);font-size:1.25rem;font-weight:600;
  text-align:center;margin-bottom:8px;
}
.step__sub{font-size:.875rem;color:var(--on-variant);text-align:center;margin-bottom:32px}

/* Qualifying step radio */
.qualify-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.radio-option{
  display:flex;align-items:flex-start;gap:14px;
  padding:20px;border-radius:var(--r-lg);
  border:2px solid var(--outline-variant);
  cursor:pointer;transition:border-color var(--t),background var(--t);
}
.radio-option:hover{border-color:var(--blue)}
.radio-option input[type="radio"]{
  appearance:none;width:18px;height:18px;border-radius:50%;
  border:2px solid var(--outline);flex-shrink:0;margin-top:2px;
  transition:border-color var(--t),background var(--t);
  position:relative;cursor:pointer;
}
.radio-option input[type="radio"]:checked{
  border-color:var(--blue);background:var(--blue);
}
.radio-option input[type="radio"]:checked::after{
  content:'';position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:6px;height:6px;border-radius:50%;background:#fff;
}
.radio-option.selected{border-color:var(--blue);background:rgba(177,129,203,.04)}
.radio-label{font-size:.9375rem;font-weight:600}
.radio-desc{font-size:.8125rem;color:var(--on-variant);margin-top:4px}

/* Calendar */
.calendar-wrapper{
  background:var(--surface-low);border-radius:var(--r-lg);
  padding:24px;overflow-x:auto;margin-bottom:20px;
}
.calendar-grid{
  display:grid;grid-template-columns:repeat(5,1fr);
  gap:12px;min-width:600px;
}
.cal-day-header{
  text-align:center;padding:12px 8px;
  background:var(--surface-container);border-radius:var(--r-lg);
}
.cal-day-name{font-size:.75rem;font-weight:700;color:var(--blue);text-transform:uppercase}
.cal-day-date{font-size:.8125rem;color:var(--on-variant);margin-top:2px}
.cal-slots{display:flex;flex-direction:column;gap:8px}
.cal-slot{
  width:100%;padding:10px;border-radius:var(--r-md);
  border:1.5px solid var(--outline-variant);
  background:var(--surface-white);
  font-size:.8125rem;font-weight:600;color:var(--on-surface);
  text-align:center;cursor:pointer;
  transition:border-color var(--t),background var(--t),color var(--t),transform var(--t);
}
.cal-slot:hover:not(.cal-slot--taken):not(.cal-slot--selected){
  border-color:var(--blue);transform:scale(1.02);
}
.cal-slot--taken{
  background:var(--surface-high);color:var(--outline);
  cursor:not-allowed;border-color:var(--outline-variant);
  font-weight:400;font-style:italic;
}
.cal-slot--selected{
  background:var(--on-surface);color:#fff;border-color:var(--on-surface);
}

.booking-policy{
  display:flex;align-items:flex-start;gap:12px;
  background:rgba(177,129,203,.06);border:1px solid rgba(177,129,203,.2);
  border-radius:var(--r-lg);padding:16px;
  font-size:.875rem;color:var(--on-variant);line-height:1.6;
}
.booking-policy span{color:var(--blue);flex-shrink:0;margin-top:2px}

/* Step nav buttons */
.step-nav{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:32px;margin-top:32px;border-top:1px solid var(--outline-variant);
}
.step-nav--right{justify-content:flex-end}
.btn-back{
  display:flex;align-items:center;gap:8px;
  font-size:.875rem;font-weight:600;color:var(--on-variant);
  transition:color var(--t);background:none;border:none;cursor:pointer;
  padding:10px 0;
}
.btn-back:hover{color:var(--on-surface)}

/* Booking summary */
.booking-summary{
  background:var(--surface-low);border-radius:var(--r-lg);padding:20px;
  margin-bottom:24px;display:flex;align-items:center;gap:16px;
}
.booking-summary__icon{color:var(--blue);font-size:1.5rem}
.booking-summary__label{font-size:.8125rem;color:var(--on-variant);font-weight:600}
.booking-summary__val{font-size:1rem;font-weight:700;color:var(--on-surface)}

/* Booking success */
.booking-success{
  text-align:center;padding:40px 0;
  display:none;
}
.booking-success.show{display:block}
.booking-success__icon{
  width:72px;height:72px;border-radius:50%;
  background:var(--green-light);display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;color:var(--green);font-size:2rem;
}
.booking-success__title{
  font-family:var(--ff-head);font-size:1.5rem;font-weight:600;
  margin-bottom:12px;
}
.booking-success__text{color:var(--on-variant);font-size:.9375rem;line-height:1.7;max-width:440px;margin:0 auto 28px}

/* ===================================================
   TOOL PAGES (shared) — Financial Health Scan & SARS Calculator
   =================================================== */
.tool-hero{
  padding:120px 0 48px;
  background:var(--surface-low);text-align:center;
}
.tool-hero__badge{
  display:inline-block;padding:5px 14px;border-radius:var(--r-full);
  background:rgba(177,129,203,.1);color:var(--blue);
  font-size:.75rem;font-weight:700;letter-spacing:.03em;
  margin-bottom:16px;
}
.tool-hero__title{
  font-family:var(--ff-head);font-size:clamp(1.75rem,4vw,2.75rem);
  font-weight:700;letter-spacing:-.02em;color:var(--on-surface);
  margin-bottom:14px;
}
.tool-hero__sub{font-size:1.0625rem;color:var(--on-variant);max-width:640px;margin:0 auto;line-height:1.7}

.tool-wrapper{max-width:760px;margin:0 auto;padding:0 24px;position:relative}
.tool-card-box{
  background:var(--surface-white);border-radius:var(--r-xl);
  border:1px solid var(--outline-variant);
  box-shadow:var(--shadow-lg);padding:48px;
  margin:-24px auto 80px;position:relative;z-index:2;
}

/* Quiz progress */
.quiz-progress{margin-bottom:36px}
.quiz-progress__bar{
  width:100%;height:8px;border-radius:var(--r-full);
  background:var(--surface-high);overflow:hidden;margin-bottom:10px;
}
.quiz-progress__fill{
  height:100%;border-radius:var(--r-full);
  background:linear-gradient(90deg,var(--blue),var(--purple));
  transition:width .4s ease;
}
.quiz-progress__text{
  font-size:.75rem;font-weight:700;color:var(--on-variant);
  text-align:center;text-transform:uppercase;letter-spacing:.08em;
}

/* Quiz question & options */
.quiz-question__title{
  font-family:var(--ff-head);font-size:1.375rem;font-weight:600;
  text-align:center;margin-bottom:32px;line-height:1.4;
}
.quiz-options{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}
.quiz-option{
  display:flex;align-items:center;gap:14px;
  padding:18px 20px;border-radius:var(--r-lg);
  border:2px solid var(--outline-variant);
  cursor:pointer;transition:border-color var(--t),background var(--t);
}
.quiz-option:hover{border-color:var(--blue)}
.quiz-option.selected{border-color:var(--blue);background:rgba(177,129,203,.05)}
.quiz-option__radio{
  width:20px;height:20px;border-radius:50%;
  border:2px solid var(--outline);flex-shrink:0;position:relative;
}
.quiz-option.selected .quiz-option__radio{border-color:var(--blue)}
.quiz-option.selected .quiz-option__radio::after{
  content:'';position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:10px;height:10px;border-radius:50%;background:var(--blue);
}
.quiz-option__label{font-size:.9375rem;font-weight:600;color:var(--on-surface)}

/* Score result */
.score-result{text-align:center;padding:8px 0 24px}
.score-result__ring{
  width:160px;height:160px;border-radius:50%;
  margin:0 auto 20px;display:flex;align-items:center;justify-content:center;
  flex-direction:column;position:relative;
  background:conic-gradient(var(--surface-high) 0 100%);
}
.score-result__ring::before{
  content:'';position:absolute;inset:10px;border-radius:50%;background:var(--surface-white);
}
.score-result__num{position:relative;z-index:1;font-family:var(--ff-head);font-size:2.5rem;font-weight:700;color:var(--on-surface)}
.score-result__label{position:relative;z-index:1;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--on-variant)}
.score-result__category{
  display:inline-block;padding:6px 18px;border-radius:var(--r-full);
  font-size:.875rem;font-weight:700;margin-bottom:4px;
}

/* Insight list (shared with SARS calculator dynamic text) */
.insight-list{display:flex;flex-direction:column;gap:14px;margin:32px 0}
.insight-item{
  display:flex;gap:14px;align-items:flex-start;
  padding:16px 18px;background:var(--surface-low);
  border-radius:var(--r-lg);border-left:3px solid var(--blue);
}
.insight-item__icon{color:var(--blue);flex-shrink:0;margin-top:2px}
.insight-item p{font-size:.875rem;color:var(--on-variant);line-height:1.7}

.tool-cta-row{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:8px}

/* SARS Calculator specific */
.calc-form{display:flex;flex-direction:column;gap:20px}
.calc-radio-row{display:flex;flex-direction:column;gap:10px}
.calc-result-panel{
  border-radius:var(--r-xl);padding:32px;margin-top:32px;
  border:2px solid var(--outline-variant);background:var(--surface-low);
  transition:border-color var(--t),background var(--t);
}
.calc-result-panel--ontime{border-color:var(--green);background:var(--green-light)}
.calc-result-panel--close{border-color:var(--orange);background:var(--orange-light)}
.calc-result-panel--late{border-color:var(--error);background:#fbe4e4}
.calc-status-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 16px;border-radius:var(--r-full);
  font-size:.8125rem;font-weight:700;margin-bottom:20px;
  background:var(--surface-white);
}
.calc-status-badge--ontime{color:var(--green)}
.calc-status-badge--close{color:var(--orange)}
.calc-status-badge--late{color:var(--error)}
.calc-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.calc-result-row{
  background:var(--surface-white);border-radius:var(--r-lg);
  padding:16px 18px;
}
.calc-result-row__label{font-size:.75rem;font-weight:700;color:var(--on-variant);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.calc-result-row__val{font-size:1.125rem;font-weight:700;color:var(--on-surface)}
.calc-result-row--total{grid-column:1/-1;background:var(--on-surface)}
.calc-result-row--total .calc-result-row__label{color:rgba(255,255,255,.7)}
.calc-result-row--total .calc-result-row__val{color:#fff;font-size:1.5rem}

/* ===================================================
   RESPONSIVE
   =================================================== */
@media(max-width:1024px){
  .nav__logo img{height:130px}
  .about__grid{grid-template-columns:1fr;gap:48px}
  .about__badge-card{display:none}
  .about__img{aspect-ratio:4/3;max-width:500px}
  .coverage__grid{grid-template-columns:1fr;gap:40px}
  .contact__card{grid-template-columns:1fr}
  .contact__info{padding:40px 36px}
  .contact__form-wrap{padding:40px 36px}
  .footer__grid{grid-template-columns:1fr 1fr;gap:32px}
  .footer__grid > :first-child{grid-column:1/-1}
  .lead-magnet__grid{grid-template-columns:1fr;gap:40px}
  .lead-magnet__card{padding:48px 36px}
  .services__grid{grid-template-columns:1fr 1fr}
  .tools__grid{grid-template-columns:1fr}
  .qualify-grid{grid-template-columns:1fr}
  .booking-card{padding:32px 24px}
  .form-grid-2{grid-template-columns:1fr}
  .tool-card-box{padding:32px 24px}
  .calc-result-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .nav__logo{padding-top:6px}
  .nav__logo img{height:96px}
  .nav__links{display:none}
  .nav__hamburger{display:flex}
  .services__grid{grid-template-columns:1fr}
  .hero__stats{flex-direction:column;max-width:280px}
  .hero__stat{border-right:none;border-bottom:1px solid var(--outline-variant)}
  .hero__stat:last-child{border-bottom:none}
  .hero__ctas{flex-direction:column;align-items:stretch}
  .hero__ctas .btn{text-align:center;justify-content:center}
  .calendar-grid{grid-template-columns:1fr}
  .cal-day-header{display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px}
  .cal-slots{flex-direction:row;flex-wrap:wrap}
  .cal-slot{flex:0 0 calc(50% - 4px)}
  .steps-progress{max-width:280px}
  .booking-card{margin:0;border-radius:0;border-left:none;border-right:none}
  .section{padding:64px 0}
  .booking-hero{padding:100px 0 32px}
  .tool-hero{padding:100px 0 32px}
  .tool-card-box{margin:0;border-radius:0;border-left:none;border-right:none}
  .tool-cta-row{flex-direction:column;align-items:stretch}
  .tool-cta-row .btn{justify-content:center}
}
@media(max-width:480px){
  .lead-magnet__card{padding:32px 20px}
  .contact__info{padding:32px 24px}
  .contact__form-wrap{padding:32px 24px}
  .footer__grid{grid-template-columns:1fr}
  .footer__bottom{flex-direction:column;text-align:center}
  .cal-slot{flex:0 0 100%}
}

/* ===================================================
   UTILITY
   =================================================== */
.material-symbols-outlined{
  font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;
  vertical-align:middle;line-height:1;
}
.material-symbols-outlined.filled{font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.text-blue{color:var(--blue)}
.text-purple{color:var(--purple)}
.text-green{color:var(--green)}

/* ===================================================
   CURSOR EFFECTS
   =================================================== */
/* Applied by JS only on fine-pointer (mouse) devices */
.has-custom-cursor,
.has-custom-cursor * {
  cursor: none !important;
}
/* Ensure select/textarea still feel right */
.has-custom-cursor input,
.has-custom-cursor textarea,
.has-custom-cursor select {
  cursor: none !important;
}

/* ===================================================
   SCROLL-TO-TOP  (styled by JS inline — helper overrides)
   =================================================== */
#atrio-scroll-top:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

/* ===================================================
   HERO STAT COUNTER — ensure no layout shift during count
   =================================================== */
.hero__stat-num {
  min-width: 3ch;
  display: inline-block;
}

/* Loading spinner */
.spinner{
  width:18px;height:18px;border:2.5px solid rgba(255,255,255,.4);
  border-top-color:#fff;border-radius:50%;
  animation:spin .7s linear infinite;display:inline-block;vertical-align:middle;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===================================================
   POPIA COOKIE CONSENT BANNER
   =================================================== */
.consent-banner{
  position:fixed;bottom:0;left:0;width:100%;z-index:1000;
  background:var(--surface-white);box-shadow:0 -4px 24px rgba(0,0,0,.12);
  padding:16px 24px;
  transform:translateY(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);
  border-top:3px solid var(--blue);
}
.consent-banner.open{transform:translateY(0)}
.consent-banner__inner{
  max-width:1200px;margin:0 auto;
  display:flex;flex-wrap:wrap;align-items:center;gap:16px;
}
.consent-banner__text{flex:1 1 360px;font-size:.8125rem;line-height:1.6;color:var(--on-variant);margin:0}
.consent-banner__link{color:var(--blue-dark);text-decoration:underline;font-weight:600}
.consent-banner__link:hover{color:var(--blue)}
.consent-banner__actions{display:flex;gap:10px;flex-shrink:0}
.consent-banner__btn{white-space:nowrap}
@media(max-width:640px){
  .consent-banner{padding:14px 16px}
  .consent-banner__inner{flex-direction:column;align-items:stretch;gap:12px}
  .consent-banner__actions{justify-content:center}
}
