
html{font-size:16px !important;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{font-size:16px !important;margin:0;font-family:'Sora',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif !important;}
*,*::before,*::after{box-sizing:border-box;}
img{max-width:100%;height:auto;}


/* Local Sora font */
@font-face{
  font-family: 'Sora';
  src: url('assets/fonts/Sora-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* Hard reset to avoid Hostinger/WordPress/global CSS scaling */
html{
  font-size: 16px !important;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body{
  font-size: 16px !important;
}
*, *::before, *::after{box-sizing:border-box;}
img{max-width:100%; height:auto;}


:root{
  --sage-1: #2f5a3a;
  --sage-2: #95A78D;
  --sage-3: #c8d2c4;
  --sage-grad: linear-gradient(135deg, var(--sage-1) 0%, var(--sage-2) 45%, var(--sage-3) 100%);

  --sage:#95A78D;
  --sage-dark:#7C8F74;
  --ink:#222;
  --muted:#6a6a6a;
  --bg:#ffffff;
  --radius:22px;
  --shadow: 0 14px 35px rgba(0,0,0,.12);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--ink);
  background: var(--bg);
}

a{color:inherit;text-decoration:none}
.container{width:min(1120px, 92%); margin:0 auto}

/* Topbar */
.topbar{position:sticky; top:0; z-index:30; background: rgba(255,255,255,.9); backdrop-filter: blur(10px)}
.topbar__inner{display:flex; align-items:center; justify-content:space-between; padding: 16px 0; gap: 14px}
.mark__logo{width:72px; height:72px}
.nav{display:flex; gap: 26px; align-items:center}
.nav__link{font-size:.78rem; letter-spacing:.18em; color:#2c2c2c; font-weight:600}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight:600;
  border: 1px solid transparent;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn:hover{transform: translateY(-1px)}
.btn--sage{background: var(--sage-grad); color:#fff; box-shadow: 0 10px 26px rgba(149,167,141,.35)}
.btn--wide{padding: 14px 26px}

.menuBtn{display:none; background:transparent; border:0; padding:10px; border-radius:12px}
.menuBtn span{display:block; width:22px; height:2px; background: #2c2c2c; margin:5px 0; border-radius:10px}
.mobileMenu{
  border-top: 1px solid rgba(0,0,0,.06);
  padding: 14px 4%;
  display:grid;
  gap:10px;
  background: rgba(255,255,255,.96);
}

/* Hero */
.hero{padding: 46px 0 26px}
.hero__grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 30px;
  align-items:center;
}
h1{
  margin:0 0 16px;
  font-size: clamp(2.2rem, 3.6vw, 3.25rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.hero__copy p{
  margin: 0 0 22px;
  max-width: 520px;
  color: var(--muted);
  font-size: 1.02rem;
  line-height:1.55;
}

.photoCard{
  position: relative;
  border-radius: 26px;
  overflow:hidden;
  box-shadow: var(--shadow);
}
.photoCard img{width:100%; height:auto; display:block}

.tag{
  position:absolute;
  right: 16px; bottom: 16px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.06);
  padding: 10px 14px;
  border-radius: 999px;
  font-size: .78rem;
  color:#3a3a3a;
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
}

/* About */
.about{padding: 10px 0 36px}
.about__grid{
  display:grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 34px;
  align-items:center;
}
.photoCard--small{border-radius: 28px}
.eyebrow{
  font-size:.84rem;
  color:#7a7a7a;
  margin: 0 0 10px;
}
.about__right p{
  margin: 0 0 12px;
  color: #6b6b6b;
  line-height: 1.65;
  font-size: .98rem;
}

/* TCC section */
.tcc{
  position:relative;
  background: var(--sage);
  color:#fff;
  padding: 58px 0 62px;
  overflow:hidden;
}
.tcc__bg{
  position:absolute; inset:0;
  background-image: url("assets/pattern.png");
  background-size: cover;
  opacity: .28;
  mix-blend-mode: soft-light;
}
.tcc .container{position:relative}
.tcc__title{margin:0; text-align:center; font-size: 1.55rem; letter-spacing:.02em}
.tcc__subtitle{margin-top:8px; text-align:center; font-size:.92rem; opacity:.9}
.cards{
  margin-top: 28px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
  align-items:stretch;
}
.tccCard{
  background: rgba(255,255,255,.92);
  color:#2b2b2b;
  border-radius: 18px;
  padding: 18px 18px 16px;
  box-shadow: 0 14px 28px rgba(0,0,0,.15);
  border: 1px solid rgba(0,0,0,.06);
}
.tccCard__icon{
  width: 38px; height: 38px;
  display:grid; place-items:center;
  border-radius: 12px;
  background: rgba(255,255,255,.45);
  border: 1px solid rgba(149,167,141,.30);
  color: var(--sage-dark);
  margin-bottom: 10px;
}
.tccCard__icon svg{width:20px; height:20px}
.tccCard h3{margin: 6px 0 8px; font-size: 1.05rem}
.tccCard p{margin:0; color:#6b6b6b; font-size:.92rem; line-height:1.55}
.tcc__foot{
  margin-top: 16px;
  text-align:center;
  font-size:.84rem;
  opacity:.9;
}

/* Specs */
.specs{padding: 42px 0 66px}
.specs__title{margin:0; text-align:center; font-size: 1.35rem}
.specs__subtitle{margin-top:8px; text-align:center; color:#7a7a7a; font-size:.92rem}
.chips{
  margin-top: 18px;
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  justify-content:center;
}
.chip{
  padding: 10px 18px;
  border-radius: 999px;
  background: rgba(149,167,141,.18);
  color:#3a3a3a;
  font-size:.9rem;
  border: 1px solid rgba(149,167,141,.25);
}
.contactPills{
  margin-top: 26px;
  display:flex;
  gap: 14px;
  justify-content:center;
  flex-wrap:wrap;
}
.pillLink{
  padding: 14px 26px;
  border-radius: 999px;
  background: rgba(149,167,141,.16);
  border: 1px solid rgba(149,167,141,.22);
  color:#3a3a3a;
  min-width: 240px;
  text-align:center;
}

/* Footer */
.footer{
  border-top: 1px solid rgba(0,0,0,.06);
  padding: 22px 0;
  color:#6f6f6f;
}
.footer__inner{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap}
.footer__right{display:flex; gap:10px; align-items:center}

/* Reveal animation */
.reveal{opacity:0; transform: translateY(14px); transition: opacity .55s ease, transform .55s ease}
.reveal.is-visible{opacity:1; transform: translateY(0)}

/* Responsive */
@media (max-width: 980px){
  .hero__grid{grid-template-columns: 1fr; gap:18px}
  .about__grid{grid-template-columns: 1fr; gap:18px}
  .cards{grid-template-columns: 1fr; gap:14px}
  .nav{display:none}
  .menuBtn{display:block}
}

/* About title */
.aboutTitle{
  margin: 0 0 12px;
  font-size: 1.7rem;
  line-height:1.15;
  letter-spacing: -0.01em;
}
.about__right{padding-top: 12px}
@media (max-width: 980px){
  .aboutTitle{font-size: 1.5rem}
  .about__right{padding-top: 0}
}

/* Maybe section (Talvez você esteja vivendo isso) */
.maybe{
  padding: 38px 0 28px;
}
.maybe__head{
  text-align:left;
  max-width: 780px;
  margin: 0 auto 18px;
}
.maybe__title{
  margin: 0 0 8px;
  font-size: 1.35rem;
  letter-spacing: -0.01em;
}
.maybe__subtitle{
  margin: 0;
  color: #7a7a7a;
  font-size: .95rem;
  line-height: 1.6;
}
.maybeGrid{
  margin-top: 18px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}
.maybeCard{
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  padding: 16px 16px 14px;
  box-shadow: 0 12px 28px rgba(0,0,0,.08);
}
.maybeIcon{
  width: 40px; height: 40px;
  display:grid; place-items:center;
  border-radius: 14px;
  background: rgba(149,167,141,.18);
  border: 1px solid rgba(149,167,141,.25);
  color: #5f7458;
  margin-bottom: 10px;
}
.maybeIcon svg{width:22px; height:22px}
.maybeCard h3{
  margin: 6px 0 8px;
  font-size: 1.02rem;
  letter-spacing: -0.01em;
}
.maybeCard p{
  margin:0;
  color:#6b6b6b;
  font-size:.92rem;
  line-height:1.55;
}
@media (max-width: 980px){
  .maybeGrid{grid-template-columns: 1fr; gap: 12px}
  .maybe{padding: 28px 0 18px}
  .maybe__head{margin-bottom: 12px}
}

/* Mobile menu refinement (avoid giant pill bar) */
.mobileMenu a{
  display:block;
  padding: 10px 0;
  font-weight: 600;
  color:#2c2c2c;
}
.mobileMenu a[href*="wa.me"]{
  margin-top: 6px;
  padding: 12px 16px;
  border-radius: 999px;
  background: rgba(149,167,141,.18);
  border: 1px solid rgba(149,167,141,.28);
  text-align:center;
}

/* Ensure [hidden] works even if mobileMenu has display set */
.mobileMenu[hidden]{display:none !important;}

/* Alternating sections */
.section--light{ background: #fff; }
.section--green{ background: var(--sage-grad); color:#fff; position:relative; overflow:hidden; }
.section--green .container{position:relative}

/* Maybe green background */
.maybe{padding: 54px 0 56px;}
.maybeBg{
  position:absolute; inset:0;
  background-image: url("assets/pattern.png");
  background-size: cover;
  opacity: .22;
  mix-blend-mode: soft-light;
}
.section--green .maybe__subtitle{color: rgba(255,255,255,.88)}
.section--green .maybeCard{background: rgba(255,255,255,.92);}
.section--green .maybeCard p{color:#6b6b6b}
.section--green .maybeCard h3{color:#2b2b2b}

/* How section */
.how{padding: 56px 0 64px;}
.how__head{max-width: 820px; margin:0 auto 20px;}
.how__title{margin:0 0 8px; font-size:1.55rem;}
.how__subtitle{margin:0; color:#7a7a7a; line-height:1.6;}
.howGrid{
  margin-top: 22px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}
.howCard{
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  padding: 16px 16px 14px;
  box-shadow: 0 12px 28px rgba(0,0,0,.08);
}
.howIcon{
  width: 40px; height: 40px;
  display:grid; place-items:center;
  border-radius: 14px;
  background: rgba(149,167,141,.18);
  border: 1px solid rgba(149,167,141,.25);
  color: #5f7458;
  margin-bottom: 10px;
}
.howIcon svg{width:22px;height:22px}
.howCard h3{margin: 6px 0 8px; font-size: 1.02rem; letter-spacing:-.01em;}
.howCard p{margin:0; color:#6b6b6b; font-size:.92rem; line-height:1.55}
.howCallout{
  margin-top: 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(149,167,141,.12);
  border: 1px solid rgba(149,167,141,.22);
}
.howCallout__text{display:flex; flex-direction:column; gap:6px}
.howCallout__text strong{font-size: 1.05rem;}
.howCallout__text span{color:#6b6b6b}

/* FAQ green */
.faqBlock{padding: 56px 0 64px;}
.faqBg{
  position:absolute; inset:0;
  background-image: url("assets/pattern.png");
  background-size: cover;
  opacity: .18;
  mix-blend-mode: soft-light;
}
.faqHead{max-width: 820px; margin:0 auto 18px;}
.faqTitle{margin:0 0 8px; font-size:1.55rem;}
.faqSubtitle{margin:0; color: rgba(255,255,255,.88);}

.faq{max-width: 920px; margin: 18px auto 0; display:grid; gap:12px;}
.faq details{
  background: rgba(255,255,255,.92);
  color:#2b2b2b;
  border-radius: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 12px 28px rgba(0,0,0,.10);
}
.faq summary{
  cursor:pointer;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  list-style:none;
}
.faq summary::-webkit-details-marker{display:none}
.faq details p{margin: 10px 0 0; color:#6b6b6b; font-weight:500}
.chev{transition: transform .18s ease}
details[open] .chev{transform: rotate(180deg)}
.faqCta{margin-top: 18px; text-align:center;}
.btn--light{
  background: rgba(255,255,255,.92);
  color: #2b2b2b;
  border: 1px solid rgba(255,255,255,.18);
}

/* Responsive */
@media (max-width: 980px){
  .howGrid{grid-template-columns: 1fr; gap: 12px}
  .howCallout{flex-direction:column; align-items:flex-start}
}

/* Bloco 2 centralizado */
.maybe__head{ text-align:center; }

/* Contact page */
.contactPage{padding: 56px 0 74px;}
.contactTitle{margin: 0 0 10px; font-size: clamp(2rem, 3.2vw, 2.6rem); letter-spacing:-.02em;}
.contactSubtitle{margin: 0 0 22px; color:#6b6b6b; max-width: 720px; line-height:1.6;}
.contactGrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
  max-width: 920px;
}
.contactCard{
  display:block;
  padding: 18px 18px 16px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 12px 28px rgba(0,0,0,.08);
}
.contactCard__label{font-size:.85rem; color:#7a7a7a; margin-bottom:8px; font-weight:600;}
.contactCard__value{font-size:1.05rem; font-weight:700; color:#2b2b2b;}
.contactCta{margin-top: 18px; display:flex; gap: 10px; flex-wrap:wrap; align-items:center;}
@media (max-width: 980px){
  .contactGrid{grid-template-columns: 1fr;}
}

/* Green gradient overrides */
.section--green{background: var(--sage-grad) !important;}

/* Wave transition */
.hero{position:relative;}
.wave{
  position:absolute;
  left:0; right:0;
  bottom:-1px;
  height: 140px;
  pointer-events:none;
  z-index: 2;
}
.wave svg{width:100%; height:100%; display:block;}
/* Pull next section up a bit so it hugs the wave */
.maybe{margin-top:-18px;}
@media (max-width: 980px){
  .wave{height: 110px;}
}


.maybe .container, .tcc .container{position:relative; z-index: 2;}



/* Logo watermark on green blocks (detalhe no fundo) */
.maybe, .tcc{position: relative;}

/* Bloco 2 (primeiro banner verde) - esquerda */
.maybe::after{
  content:"";
  position:absolute;
  left:-190px;
  top:-120px;
  width: 620px;
  height: 620px;
  background: url("assets/logo.png") no-repeat center / contain;
  opacity: .08;
  filter: invert(1);
  transform: rotate(10deg);
  pointer-events:none;
  z-index: 1;
}

/* Bloco 4 (segundo banner verde) - direita */
.tcc::after{
  content:"";
  position:absolute;
  right:-180px;
  top:-120px;
  width: 620px;
  height: 620px;
  background: url("assets/logo.png") no-repeat center / contain;
  opacity: .08;
  filter: invert(1);
  transform: rotate(-10deg);
  pointer-events:none;
  z-index: 1;
}

@media (max-width: 980px){
  .maybe::after{
    left:-240px;
    top:-160px;
    width: 520px;
    height: 520px;
    opacity: .06;
  }
  .tcc::after{
    right:-240px;
    top:-160px;
    width: 520px;
    height: 520px;
    opacity: .06;
  }
}

/* keep content above watermark */
.maybe .container, .tcc .container{position:relative; z-index: 2;}


/* Increase spacing before Especialidades */
.specs{padding-top: 74px !important;}
.about{padding-bottom: 84px !important;}
@media (max-width: 980px){
  .specs{padding-top: 56px !important;}
  .about{padding-bottom: 60px !important;}
}

/* Remove outline/border on primary buttons */
.btn--sage{
  border: none !important;
  outline: none !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.14);
}
.btn--sage:focus, .btn--sage:focus-visible{
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(255,255,255,.18), 0 12px 28px rgba(0,0,0,.14);
}

/* Hero image without moldura branca */
.photoCard{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  filter: drop-shadow(0 18px 40px rgba(0,0,0,.22));
}
.hero__img{
  background: transparent !important;
  border: none !important;
}

/* About photo (PNG sem moldura branca) */
.about__img{background: transparent !important; border:none !important;}


/* Header name next to logo */
.mark__name{
  font-weight: 700;
  letter-spacing: -.01em;
  margin-left: 12px;
  color: #2b2b2b;
  white-space: nowrap;
}
@media (max-width: 980px){
  .mark__name{display:none;}
}

/* Hero badge on top of photo */
.photoCard{position:relative;}
.heroBadge{
  position:absolute;
  top: 14px;
  left: 14px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(0,0,0,.08);
  font-weight: 500;
  font-size: .78rem;
  letter-spacing: .02em;
  color: #2b2b2b;
  backdrop-filter: blur(10px);
}

/* Contact image */
.contactPhotoWrap{margin: 18px 0 10px; max-width: 520px;}
.contactPhoto{
  width: 100%;
  height: auto;
  display:block;
  border-radius: 22px;
  background: transparent;
  filter: drop-shadow(0 18px 40px rgba(0,0,0,.18));
}
.contactText{margin: 10px 0 0; color:#6b6b6b; max-width: 720px; line-height:1.7;}

/* Specs boxed */
.specsBox{
  margin: 0 auto;
  max-width: 980px;
  padding: 26px 22px 26px;
  border-radius: 24px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 18px 44px rgba(0,0,0,.10);
  backdrop-filter: blur(10px);
}


/* Header name close to logo + Inter font */
.mark__name{
  margin-left: 8px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
}

/* Bring Especialidades up */
.about{padding-bottom: 56px !important;}
.specs{padding-top: 48px !important;}

/* Hero title: Adelia + gradient verde */
.hero h1, .hero__title{
  font-family: 'Adelia', 'Sora', sans-serif;
  font-weight: 400;
  background: var(--sage-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Hero title casing + proportion */
.hero h1, .hero__title{
  text-transform: none !important;
  letter-spacing: -0.02em;
  line-height: 1.08;
  font-size: clamp(2.2rem, 4.1vw, 3.2rem);
}
@media (max-width: 980px){
  .hero h1, .hero__title{
    font-size: clamp(2rem, 8vw, 2.6rem);
    line-height: 1.12;
  }
}

/* Fix hero title clipping */
.hero{overflow: visible !important;}
.hero__content{padding-top: 14px;}
.hero h1, .hero__title{
  padding-top: 6px;
  padding-bottom: 6px;
  overflow: visible;
}

/* Contact layout: media left, info right */
.contactLayout{display:grid; grid-template-columns: 1fr 1fr; gap: 22px; align-items:start;}
.contactCol--info{justify-self: end; width:100%;}
@media (max-width: 980px){
  .contactLayout{grid-template-columns: 1fr;}
  .contactCol--info{justify-self: stretch;}
}

/* Bring Especialidades up (50px) */
.specs{padding-top: calc(48px - 50px) !important;}
.specs{padding-top: 16px !important;}

/* Center title in Como funciona */
.how__head{text-align:center;}
.how__head .how__subtitle{margin-left:auto; margin-right:auto;}

/* Bring Especialidades up (70px) */
.specs{margin-top:-70px !important;}
@media (max-width: 980px){
  .specs{margin-top:-40px !important;}
}

/* Contact: all info on right */
.contactLayout--side{
  display:grid;
  grid-template-columns: minmax(320px, 480px) 1fr;
  gap: 26px;
  align-items:start;
}
.contactLayout--side .contactCol--info{max-width: 620px;}
.contactLayout--side .contactTitle{margin-top: 4px;}
@media (max-width: 980px){
  .contactLayout--side{grid-template-columns: 1fr;}
  .contactLayout--side .contactCol--info{max-width: none;}
}

/* Hero title: ensure no clipping */
.hero, .hero *{overflow: visible !important;}
.hero__content, .hero__grid, .hero__inner{overflow: visible !important;}
.hero h1, .hero__title{
  display:block;
  max-width: 22ch;
  padding: 10px 0;
  line-height: 1.12;
}

/* Mark (logo + name as one unit) */
.mark{
  display:flex;
  align-items:center;
  gap: 10px;
}
.mark__name{
  display:inline-block !important;
  margin-left: 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  color:#2b2b2b !important;
  letter-spacing: -.01em;
}

/* Contact page: push info column down */
.contactLayout--side .contactCol--info{
  padding-top: 200px;
}
@media (max-width: 980px){
  .contactLayout--side .contactCol--info{
    padding-top: 18px; /* no big gap on mobile */
  }
}

/* Contact title: Adelia + green gradient + sentence case */
.contactTitle{
  font-family: 'Adelia', 'Sora', sans-serif;
  font-weight: 400;
  text-transform: none !important;
  background: var(--sage-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: -0.02em;
}

/* Match bloco 1 title style on Contact title */
.contactTitle{
  font-family: 'Adelia', 'Sora', sans-serif;
  font-weight: 400;
  background: var(--sage-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-transform: none !important;
}

/* Force Sora everywhere */
:root, body, button, input, textarea, select{
  font-family: 'Sora', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
}
h1,h2,h3,h4,h5,h6,.mark__name,.contactTitle{
  font-family: 'Sora', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
}

/* Gradient titles using Sora */
.hero h1, .hero__title, .contactTitle{
  font-family: 'Sora', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 600;
  background: var(--sage-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Footer credit */
.siteCredit{
  margin-top: 10px;
  font-size: .86rem;
  color: rgba(255,255,255,.85);
  text-align: center;
}
.section--green .siteCredit{color: rgba(255,255,255,.85);}
.siteCredit__link{font-weight:700;}

/* Contact: remove any bullet/dot artifacts next to CTA button */
.contactPage .contactCta,
.contactPage .contactCta *{
  list-style: none !important;
}
.contactPage .btn--sage::before,
.contactPage .btn--sage::after{
  content: none !important;
  display: none !important;
}
.contactPage .btn--sage{
  background-image: none !important;
}

:root,button,input,textarea,select{font-family:'Sora',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif !important;}
.contactPage .btn--sage{background:var(--sage-grad) !important;background-image:var(--sage-grad) !important;color:#fff !important;border:none !important;}
.contactPage .contactCta, .contactPage .contactCta *{list-style:none !important;}
.contactPage .btn--sage::before,.contactPage .btn--sage::after{content:none !important;display:none !important;}
.footerLinks{margin-top:10px;text-align:center;font-size:.9rem;}
.footerLinks a{color:rgba(255,255,255,.9);text-decoration:none;font-weight:600;}
.footerLinks a:hover{text-decoration:underline;}
.footerLinks__sep{margin:0 10px;color:rgba(255,255,255,.65);}
.siteCredit{margin-top:10px;font-size:.86rem;color:rgba(255,255,255,.85);text-align:center;}
.siteCredit__link{font-weight:700;}

.legalPage{padding:64px 0 78px;}
.legalTitle{margin:0 0 6px;font-size:clamp(2rem,3.2vw,2.8rem);letter-spacing:-.02em;}
.legalUpdated{margin:0 0 18px;color:#6b6b6b;font-size:.95rem;}
.legalContent{max-width:920px;color:#2b2b2b;line-height:1.8;}
.legalContent h2{margin:22px 0 10px;font-size:1.2rem;letter-spacing:-.01em;}
.legalContent ul{padding-left:18px;margin:10px 0 0;}
.legalContent a{color:inherit;text-decoration:underline;}
.legalCtas{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap;}

.dot{margin:0 10px;color:rgba(255,255,255,.65);} 

.footer__right span{margin:0 10px;opacity:.7;}

/* Cookie banner */
.cookieBanner{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;display:block;}
.cookieBanner.is-visible{display:block;}
.cookieCard{max-width:980px;margin:0 auto;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.08);border-radius:18px;box-shadow:0 18px 45px rgba(0,0,0,.12);padding:16px;}
.cookieRow{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.cookieText{flex:1 1 420px;color:#2b2b2b;line-height:1.45;font-size:.95rem;}
.cookieText strong{font-weight:800;}
.cookieText a{color:inherit;text-decoration:underline;font-weight:700;}
.cookieActions{display:flex;gap:10px;flex:0 0 auto;}
.btn--ghost{background:transparent !important;border:1px solid rgba(0,0,0,.18) !important;color:#2b2b2b !important;}
@media (max-width:520px){.cookieActions{width:100%;}.cookieActions .btn{flex:1;}.cookieCard{padding:14px;}}

.cookieBanner.is-hidden{display:none !important;}

#cookieReject::before,#cookieReject::after,#cookieAccept::before,#cookieAccept::after{content:none !important;display:none !important;}



/* Cookie banner fix (desktop + mobile) */
.cookieBanner{
  position: fixed !important;
  left: 16px !important;
  right: 16px !important;
  bottom: 16px !important;
  z-index: 99999 !important;
  display: block !important;
  pointer-events: none;
}
.cookieBanner.is-hidden{display:none !important;}
.cookieCard{
  pointer-events: auto;
  max-width: 980px;
  margin: 0 auto;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(0,0,0,.12);
  padding: 16px;
}
.cookieRow{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.cookieText{flex:1 1 520px;color:#2b2b2b;line-height:1.45;font-size:.95rem;}
.cookieText strong{font-weight:800;}
.cookieText a{color:inherit;text-decoration:underline;font-weight:700;}
.cookieActions{display:flex;gap:10px;align-items:center;}
.btn--ghost{background:transparent !important;border:1px solid rgba(0,0,0,.18) !important;color:#2b2b2b !important;}
#cookieReject::before,#cookieReject::after,#cookieAccept::before,#cookieAccept::after{content:none !important;display:none !important;}
@media (max-width:520px){
  .cookieActions{width:100%;}
  .cookieActions .btn{flex:1;}
}


/* Hide cookie banner on desktop */
@media (min-width: 981px){
  .cookieBanner{display:none !important;}
}
