:root{
  --bg:#f7f8fb;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#475569;

  --line:rgba(15,23,42,.10);

  --brand:#2563eb;
  --brand2:#1e40af;

  --soft:rgba(37,99,235,.08);
  --soft2:rgba(34,211,238,.08);

  --ok:#16a34a;

  --shadow: 0 10px 30px rgba(2,6,23,.06);
  --shadow-soft: 0 6px 18px rgba(2,6,23,.05);

  --radius:18px;
}

*{box-sizing:border-box;margin:0;padding:0;}
html,body{width:100%;overflow-x:hidden;}

body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.55;
}

a{color:var(--brand);text-decoration:none;}
a:hover{text-decoration:underline;}

:focus-visible{
  outline:3px solid rgba(37,99,235,.22);
  outline-offset:2px;
  border-radius:14px;
}

.container{
  width:100%;
  max-width:1140px;
  margin:0 auto;
  padding:0 22px;
}

.main{padding:22px 0 70px;}

.muted{color:var(--muted);}
strong{font-weight:900;}

/* ================= HEADER ================= */
.header{
  background:rgba(255,255,255,.88);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:100;
}

.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:104px;
}

.brand img{
  height: clamp(72px, 7vw, 118px);
  width:auto;
  display:block;
}

/* ================= NAV ================= */
.nav{
  display:flex;
  align-items:center;
  gap:16px;
}

.nav__link{
  font-weight:700;
  color:var(--muted);
  padding:10px 14px;
  border-radius:14px;
}

.nav__link.active{
  background:var(--soft);
  color:var(--text);
}

.nav__cta{margin-left:6px;}

.nav__link--laudo{
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(245,158,11,.26);
  background:rgba(245,158,11,.08);
  color:#7c2d12;
  font-weight:900;
  text-decoration:none !important;
}

.nav__link--laudo:hover{
  background:rgba(245,158,11,.13);
  border-color:rgba(245,158,11,.32);
  text-decoration:none !important;
}

.nav__link--laudo.active{
  background:rgba(245,158,11,.18);
  border-color:rgba(245,158,11,.36);
  color:#7c2d12;
}

/* ================= MENU MOBILE ================= */
.menuBtn{
  display:none;
  width:48px;
  height:42px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:10px;
  cursor:pointer;
}

.menuBtn span{
  display:block;
  height:2px;
  background:#0f172a;
  margin:5px 0;
  border-radius:2px;
}

/* ================= BUTTONS ================= */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  padding:12px 16px;
  font-weight:900;
  border:1px solid transparent;
  transition:.2s ease;
  text-decoration:none !important;
}

.btn-lg{
  padding:14px 18px;
  border-radius:18px;
}

.btn-primary{
  background:var(--brand);
  color:#fff;
  box-shadow: 0 12px 22px rgba(37,99,235,.16);
}

.btn-primary:hover{ background:var(--brand2); }

.btn-outline{
  background:#fff;
  border-color:rgba(15,23,42,.12);
  color:var(--text);
}

.btn-outline:hover{ background:rgba(15,23,42,.03); }

.btn-block{ width:100%; }

/* ================= TYPO ================= */
.h1{
  font-size:2.55rem;
  letter-spacing:-0.03em;
  line-height:1.1;
  margin:12px 0 10px;
}

.h1--tutor{ max-width:26ch; }

.h3{
  font-size:1.05rem;
  letter-spacing:-0.01em;
}

.subtitle{
  color:var(--muted);
  font-size:1.05rem;
  max-width:62ch;
}

.section{ margin-top:26px; }
.section--soft{ margin-top:26px; }

.sectionHead{ margin-bottom:14px; }

.section__title{
  font-size:1.6rem;
  letter-spacing:-0.02em;
  margin-bottom:10px;
}

.section__lead{
  color:var(--muted);
  max-width:78ch;
}

/* ================= CARDS / UI ================= */
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
}

.card.card--hover:hover,
.procCard:hover{
  outline:3px solid rgba(37,99,235,.10);
}

.cardPad{ padding:18px; }
.cardPad--lg{ padding:22px; }

.miniTitle{
  font-weight:1000;
  margin-bottom:10px;
}

.note{
  color:var(--muted);
  font-size:.95rem;
}

.softDivider{
  height:1px;
  background:var(--line);
  margin:16px 0;
}

.softNote{
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:.95rem;
}

/* ================= HOME HERO ================= */
.hero{
  position:relative;
  border-radius:var(--radius);
}

.hero__bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 420px at 15% 20%, rgba(37,99,235,.10), transparent 60%),
    radial-gradient(700px 380px at 85% 10%, rgba(34,211,238,.08), transparent 60%),
    linear-gradient(135deg,#f1f5ff,#fbfcfe);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.hero--tutor{ padding:0; }

.hero--tutor .container{
  position:relative;
  padding-top:26px;
  padding-bottom:26px;
}

.heroGrid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:22px;
  align-items:start;
}

.heroGrid--tutor{ padding:12px; }

.badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:7px 12px;
  border-radius:999px;
  font-weight:1000;
  font-size:.82rem;
}

.badge--soft{
  background:rgba(22,163,74,.08);
  color:#14532d;
  border:1px solid rgba(22,163,74,.20);
}

.badgeDot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--ok);
  box-shadow:0 0 0 6px rgba(22,163,74,.10);
}

.actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:16px;
}

.actions--tutor{ margin-top:18px; }

.trustRow{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:10px;
  margin-top:16px;
}

.trustPill{
  display:flex;
  gap:10px;
  align-items:flex-start;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  padding:12px;
}

.trustPill strong{ display:block; }

.trustPill small{
  color:var(--muted);
  display:block;
  margin-top:2px;
}

.trustIcon{
  font-size:18px;
  line-height:1;
  margin-top:2px;
}

.cardActions{
  display:grid;
  gap:10px;
  margin-top:12px;
}

.kv{
  display:grid;
  gap:10px;
  margin-top:12px;
}

.kvItem{
  display:grid;
  gap:4px;
  padding:12px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  background:rgba(255,255,255,.70);
}

.kvItem--soft{
  background:rgba(255,255,255,.70);
}

/* ================= GRID / SECTIONS ================= */
.grid{ display:grid; gap:12px; }
.grid--4{ grid-template-columns:repeat(4, 1fr); }

.cardIcon{
  width:42px;
  height:42px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(37,99,235,.08);
  font-size:18px;
  margin-bottom:10px;
}

.ctaBar{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(15,23,42,.08);
  border-radius:var(--radius);
  padding:14px 16px;
  box-shadow:var(--shadow-soft);
}

.ctaBar strong{ display:block; }
.ctaBar span{ display:block; margin-top:2px; }

.steps{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:12px;
}

.step{
  display:flex;
  gap:12px;
  align-items:flex-start;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(15,23,42,.08);
  border-radius:var(--radius);
  padding:16px;
  box-shadow:var(--shadow-soft);
}

.stepNum{
  width:36px;
  height:36px;
  border-radius:14px;
  background:rgba(37,99,235,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:1000;
}

.procGrid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
}

.procGrid--home{ grid-template-columns:repeat(4, 1fr); }

.procCard{ padding:18px; }

.procCard h3{
  font-size:1.05rem;
  margin-bottom:6px;
}

.procCard p{
  color:var(--muted);
  font-size:.95rem;
}

.linkHint{
  display:inline-block;
  margin-top:10px;
  font-weight:900;
}

.aboutGrid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:16px;
  align-items:start;
}

.faq{
  display:grid;
  gap:10px;
  margin-top:10px;
}

details{
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  background:rgba(255,255,255,.80);
  padding:12px 14px;
}

summary{
  cursor:pointer;
  font-weight:900;
  list-style:none;
}

summary::-webkit-details-marker{ display:none; }

details p{ margin-top:8px; }

.centerRow{
  margin-top:14px;
  display:flex;
  justify-content:center;
}

/* ================= BLOCO: CONTEÚDO INFORMATIVO ================= */
.infoGrid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
  align-items:stretch;
}

.infoCard{
  text-decoration:none;
  display:block;
  height:100%;
  transition: transform .12s ease, box-shadow .12s ease;
}

.infoCard:hover{
  transform:translateY(-2px);
  text-decoration:none;
}

.infoTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.infoIcon{
  width:42px;
  height:42px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.85);
  border:1px solid var(--line);
  font-size:1.2rem;
}

.infoCard .muted{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.infoCTA{ background:rgba(255,255,255,.92); }

/* ================= PROFISSIONAL ================= */
.proHero{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
  align-items:start;
  margin-top:6px;
}

.proHero__left{ padding:2px 0; }

.proIdentity{
  display:grid;
  grid-template-columns:156px 1fr;
  gap:20px;
  align-items:center;
  margin-top:14px;
  margin-bottom:2px;
}

.proIdentity__photoWrap{
  width:156px;
}

.proIdentity__photo{
  width:156px;
  height:156px;
  display:block;
  object-fit:cover;
  object-position:center 18%;
  border-radius:18px;
  box-shadow:0 12px 30px rgba(2,6,23,.12);
  border:1px solid rgba(15,23,42,.08);
  background:#fff;
}

.proIdentity__text{
  min-width:0;
}

.proIdentity__text .subtitle{
  margin:0;
  max-width:58ch;
}

.proBadges{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
  margin-top:14px;
}

.proBadge{
  display:flex;
  gap:10px;
  align-items:flex-start;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  padding:14px;
  box-shadow:var(--shadow-soft);
}

.proBadge small{ line-height:1.35; }

.proCard{
  background:rgba(255,255,255,.92);
  position:sticky;
  top:118px;
  box-shadow:var(--shadow);
}

.timeline{
  display:grid;
  gap:12px;
}

.tItem{
  display:grid;
  grid-template-columns:18px 1fr;
  gap:10px;
  align-items:start;
}

.tDot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--brand);
  margin-top:12px;
  box-shadow:0 0 0 6px rgba(37,99,235,.10);
}

.tCard{
  background:rgba(255,255,255,.90);
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  padding:14px;
  box-shadow:var(--shadow-soft);
}

.tCard strong{ display:block; }
.tCard span{ display:block; margin-top:2px; }

/* ================= COMPONENTES REUSÁVEIS ================= */
button.isActive,
.btn.isActive{
  background:var(--soft);
  border-color:var(--soft);
}

.tagPill{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--line);
  background:#fff;
  padding:6px 10px;
  border-radius:999px;
  font-weight:900;
  font-size:.72rem;
  color:var(--muted);
}

/* ================= PÁGINA: CONTATO ================= */
.contactGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  align-items:start;
}

.steps--oneLine{
  grid-template-columns:1fr;
  gap:10px;
}

.locGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  align-items:stretch;
}

.locActions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

.locMapCard{
  padding:0 !important;
  overflow:hidden;
}

.locMapCard iframe{ display:block; }

/* ================= FOOTER ================= */
.footer{
  background:#fff;
  border-top:1px solid var(--line);
  padding:26px 0;
  margin-top:34px;
}

.footer__inner{
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.footer__right{ text-align:right; }

.footer__inner--mega{ display:block; }

.footerGrid{
  display:grid;
  grid-template-columns:repeat(4, minmax(170px, 1fr));
  gap:22px;
  padding:18px 0;
}

.footerGroup{
  border:0;
  background:transparent;
  padding:0;
}

.footerGroup > summary{
  cursor:default;
  list-style:none;
  font-weight:900;
  margin-bottom:10px;
}

.footerGroup > summary::-webkit-details-marker{ display:none; }

.footerLink{
  display:block;
  font-size:.92rem;
  opacity:.88;
  margin:8px 0;
}

.footerLink:hover{
  opacity:1;
  text-decoration:underline;
}

.footerBottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 0 6px;
  border-top:1px solid var(--line);
}

.footerEmail{ font-size:.95rem; }

/* ================= WHATSAPP FLOAT ================= */
.waFloat{
  position:fixed;
  right:18px;
  bottom:18px;
  background:#25d366;
  color:#fff !important;
  padding:12px 16px;
  border-radius:999px;
  font-weight:1000;
  box-shadow:0 12px 22px rgba(0,0,0,.14);
  z-index:200;
}

.waFloat--premium{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 16px;
}

.waFloat__dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:rgba(255,255,255,.95);
  box-shadow:0 0 0 6px rgba(255,255,255,.18);
}

.waFloat__text{ font-weight:1000; }

/* ================= RESPONSIVE ================= */
@media (max-width:1200px){
  .infoGrid{ grid-template-columns:repeat(2, 1fr); }
}

@media (max-width:980px){
  .menuBtn{ display:block; }

  .nav{
    position:absolute;
    left:0;
    right:0;
    top:104px;
    background:#fff;
    border-bottom:1px solid var(--line);
    padding:14px 18px 18px;
    display:none;
    flex-direction:column;
    gap:10px;
    box-shadow:0 18px 40px rgba(2,6,23,.10);
  }

  .nav.open{ display:flex; }
  .nav__cta{ width:100%; }

  .heroGrid{ grid-template-columns:1fr; }
  .trustRow{ grid-template-columns:1fr; }

  .grid--4{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:1fr; }
  .procGrid{ grid-template-columns:1fr; }
  .procGrid--home{ grid-template-columns:1fr; }
  .aboutGrid{ grid-template-columns:1fr; }
  .infoGrid{ grid-template-columns:1fr; }

  .proHero{ grid-template-columns:1fr; }
  .proBadges{ grid-template-columns:1fr; }

  .proIdentity{
    grid-template-columns:140px 1fr;
    gap:16px;
    align-items:start;
  }

  .proIdentity__photoWrap{ width:140px; }

  .proIdentity__photo{
    width:140px;
    height:140px;
  }

  .proCard{
    position:static;
    top:auto;
  }

  .contactGrid{ grid-template-columns:1fr; }
  .locGrid{ grid-template-columns:1fr; }

  .footer__right{ text-align:left; }

  .footerGrid{
    grid-template-columns:repeat(2, minmax(170px, 1fr));
    gap:16px;
  }

  .brand img{ height:clamp(66px, 10vw, 92px); }
  .h1{ font-size:2.05rem; }
  .h1--tutor{ max-width:22ch; }
}

@media (max-width:640px){
  .proIdentity{
    grid-template-columns:1fr;
    gap:14px;
  }

  .proIdentity__photoWrap{ width:132px; }

  .proIdentity__photo{
    width:132px;
    height:132px;
  }
}

@media (max-width:560px){
  .footerGrid{ grid-template-columns:1fr; }

  .footerBottom{
    flex-direction:column;
    align-items:flex-start;
  }

  .footerGroup{
    border:1px solid rgba(15,23,42,.08);
    background:rgba(255,255,255,.65);
    border-radius:16px;
    padding:12px 12px;
  }

  .footerGroup > summary{
    cursor:pointer;
    margin-bottom:8px;
  }

  .footerGroup[open]{
    box-shadow:var(--shadow-soft);
  }
}

@media (max-width:520px){
  .h1{ font-size:1.85rem; }
  .btn-lg{ width:100%; }
  .ctaBar{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* ==========================================================
   ENDOANIMAL 2 — REFINAMENTO VISUAL 2026
   Camada compartilhada: mantém o HTML e o SEO históricos.
   ========================================================== */
:root{
  --bg:#f4f8fa;
  --card:#ffffff;
  --text:#09263a;
  --muted:#526b7a;
  --line:rgba(8,47,73,.11);
  --brand:#087f8c;
  --brand2:#065f6a;
  --brand-dark:#082f49;
  --accent:#21a65b;
  --accent-soft:#eaf8ef;
  --soft:rgba(8,127,140,.09);
  --soft2:rgba(33,166,91,.08);
  --shadow:0 24px 70px rgba(8,47,73,.10);
  --shadow-soft:0 12px 36px rgba(8,47,73,.075);
  --radius:22px;
}

html{scroll-behavior:smooth;scroll-padding-top:110px}
body{
  min-height:100vh;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:16px;
  background:
    radial-gradient(900px 460px at -10% 8%,rgba(8,127,140,.07),transparent 62%),
    radial-gradient(700px 400px at 108% 22%,rgba(33,166,91,.06),transparent 65%),
    var(--bg);
  color:var(--text);
  line-height:1.65;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

::selection{background:rgba(8,127,140,.20);color:var(--brand-dark)}
img{max-width:100%;height:auto}
a{color:var(--brand);text-underline-offset:3px}
a:hover{color:var(--brand2)}

.skipLink{
  position:fixed;
  z-index:1000;
  left:16px;
  top:12px;
  transform:translateY(-160%);
  padding:10px 16px;
  border-radius:12px;
  background:#fff;
  color:var(--brand-dark);
  box-shadow:var(--shadow);
  font-weight:800;
}
.skipLink:focus{transform:none}

.utilityBar{
  color:rgba(255,255,255,.88);
  background:linear-gradient(90deg,#082f49,#075d68);
  font-size:.78rem;
  font-weight:650;
  letter-spacing:.015em;
}
.utilityBar__inner{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.utilityBar__links{display:flex;align-items:center;gap:20px}
.utilityBar a{color:#fff;font-weight:800}

.header{
  background:rgba(255,255,255,.92);
  border-color:rgba(8,47,73,.08);
  backdrop-filter:saturate(150%) blur(16px);
  -webkit-backdrop-filter:saturate(150%) blur(16px);
  transition:box-shadow .2s ease,background .2s ease;
}
.header.is-scrolled{background:rgba(255,255,255,.97);box-shadow:0 14px 36px rgba(8,47,73,.09)}
.header__inner{min-height:92px}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{
  width:250px;
  height:auto;
  max-height:none;
  object-fit:contain;
  image-rendering:auto;
}
.nav{gap:4px}
.nav__link{
  position:relative;
  padding:10px 12px;
  border-radius:12px;
  color:#385363;
  font-size:.93rem;
  font-weight:760;
  transition:color .18s ease,background .18s ease;
}
.nav__link:hover{color:var(--brand-dark);background:var(--soft);text-decoration:none}
.nav__link.active{background:var(--soft);color:var(--brand-dark)}
.nav__link.active::after{
  content:"";
  position:absolute;
  left:15px;
  right:15px;
  bottom:4px;
  height:2px;
  border-radius:2px;
  background:var(--brand);
}
.nav__link--laudo{
  border-color:rgba(8,127,140,.20);
  background:rgba(8,127,140,.07);
  color:var(--brand-dark);
}
.nav__link--laudo:hover,.nav__link--laudo.active{
  border-color:rgba(8,127,140,.28);
  background:rgba(8,127,140,.12);
  color:var(--brand-dark);
}
.nav__link--panel{
  color:var(--brand-dark);
  border:1px solid rgba(8,47,73,.12);
  background:#fff;
}
.nav__link--panel:hover{border-color:rgba(8,127,140,.28)}

.main{padding:30px 0 86px}
.container{max-width:1200px;padding-left:28px;padding-right:28px}
.section{margin-top:44px}
.section--soft{margin-top:44px}
.sectionHead{margin-bottom:20px}
.section__title,.h2{
  color:var(--brand-dark);
  font-size:clamp(1.55rem,2.3vw,2rem);
  line-height:1.18;
  letter-spacing:-.035em;
}
.section__lead{font-size:1.03rem;line-height:1.7}
.h1{
  max-width:24ch;
  margin:14px 0 16px;
  color:var(--brand-dark);
  font-size:clamp(2.25rem,4.6vw,4rem);
  line-height:1.04;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.subtitle{font-size:clamp(1.02rem,1.35vw,1.17rem);line-height:1.72}

.btn{
  min-height:48px;
  padding:12px 19px;
  border-radius:14px;
  font-size:.93rem;
  font-weight:820;
  letter-spacing:-.01em;
  box-shadow:none;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}
.btn:hover{transform:translateY(-2px);text-decoration:none}
.btn-primary{
  color:#fff;
  background:linear-gradient(135deg,var(--brand),#0794a1);
  box-shadow:0 12px 26px rgba(8,127,140,.22);
}
.btn-primary:hover{color:#fff;background:linear-gradient(135deg,var(--brand2),var(--brand));box-shadow:0 16px 32px rgba(8,127,140,.27)}
.btn-outline{color:var(--brand-dark);border-color:rgba(8,47,73,.15);background:rgba(255,255,255,.86)}
.btn-outline:hover{color:var(--brand-dark);border-color:rgba(8,127,140,.30);background:#fff;box-shadow:0 10px 24px rgba(8,47,73,.08)}

.badge{
  padding:8px 13px;
  color:#126338;
  background:var(--accent-soft);
  border:1px solid rgba(33,166,91,.20);
  letter-spacing:.025em;
  text-transform:uppercase;
  font-size:.73rem;
}
.badgeDot{width:8px;height:8px;background:var(--accent);box-shadow:0 0 0 5px rgba(33,166,91,.11)}

.card{
  border-color:rgba(8,47,73,.095);
  box-shadow:var(--shadow-soft);
  background:rgba(255,255,255,.94);
}
.cardPad{padding:22px}
.cardPad--lg{padding:28px}
.card.card--hover,.procCard{
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.card.card--hover:hover,.procCard:hover{
  transform:translateY(-5px);
  outline:0;
  border-color:rgba(8,127,140,.22);
  box-shadow:0 22px 48px rgba(8,47,73,.11);
}

.hero{margin-top:-4px}
.hero__bg{
  overflow:hidden;
  border-color:rgba(8,127,140,.13);
  border-radius:30px;
  background:
    radial-gradient(700px 400px at 88% 2%,rgba(33,166,91,.15),transparent 65%),
    radial-gradient(760px 460px at 5% 35%,rgba(8,127,140,.17),transparent 65%),
    linear-gradient(145deg,#f7fcfd,#eef8f5);
  box-shadow:0 30px 80px rgba(8,47,73,.11);
}
.hero__bg::before,.hero__bg::after{
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(8,127,140,.12);
}
.hero__bg::before{width:320px;height:320px;right:-130px;top:-140px}
.hero__bg::after{width:180px;height:180px;right:18%;bottom:-120px}
.hero--tutor .container{padding-top:48px;padding-bottom:48px}
.heroGrid{grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:42px;align-items:center}
.heroGrid--tutor{padding:10px 18px}
.heroLeft{position:relative;z-index:1}
.heroCard{
  position:relative;
  z-index:1;
  overflow:hidden;
  border-color:rgba(8,127,140,.13);
  background:rgba(255,255,255,.90);
  box-shadow:0 28px 64px rgba(8,47,73,.13);
}
.heroCard::before{
  content:"";
  display:block;
  height:5px;
  margin:-28px -28px 24px;
  background:linear-gradient(90deg,var(--brand),var(--accent));
}
.heroQuickRow .pill{
  flex:1 1 175px;
  min-height:68px;
  border-color:rgba(8,47,73,.09)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.68)!important;
  box-shadow:0 8px 22px rgba(8,47,73,.055);
}
.heroMetaLinks a{font-weight:750}

.grid{gap:18px}
.grid--2,.grid--3,.grid--4{align-items:stretch}
.cardIcon,.trustIcon{
  display:inline-grid;
  width:42px;
  height:42px;
  place-items:center;
  border-radius:13px;
  background:linear-gradient(145deg,var(--soft),var(--accent-soft));
  font-size:1.15rem;
}
.procCard{overflow:hidden}
.procCard::before{
  content:"";
  display:block;
  width:44px;
  height:4px;
  margin-bottom:17px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--brand),var(--accent));
}

.step{position:relative;border-color:rgba(8,47,73,.09);background:rgba(255,255,255,.88)}
.stepNum{background:linear-gradient(145deg,var(--brand),#0794a1);box-shadow:0 8px 18px rgba(8,127,140,.22)}
.cleanList li{padding-top:8px;padding-bottom:8px}
.cleanList li::marker{color:var(--accent)}
.faq details{
  border-color:rgba(8,47,73,.10);
  background:rgba(255,255,255,.88);
  transition:border-color .18s ease,box-shadow .18s ease;
}
.faq details[open]{border-color:rgba(8,127,140,.23);box-shadow:0 12px 28px rgba(8,47,73,.07)}
.faq summary{color:var(--brand-dark)}

.ctaBar{
  overflow:hidden;
  position:relative;
  padding:24px 26px;
  border:1px solid rgba(8,127,140,.18);
  border-radius:22px;
  background:linear-gradient(120deg,rgba(8,127,140,.10),rgba(33,166,91,.10));
  box-shadow:var(--shadow-soft);
}
.ctaBar::after{
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  right:-55px;
  bottom:-72px;
  border:18px solid rgba(8,127,140,.055);
  border-radius:50%;
}
.ctaBar>*{position:relative;z-index:1}

.proHero{gap:28px}
.proIdentity{
  padding:18px;
  border:1px solid rgba(8,127,140,.12);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(234,248,239,.72));
}
.proIdentity__photo{
  border:5px solid #fff;
  box-shadow:0 16px 40px rgba(8,47,73,.16);
}
.proBadge{border-color:rgba(8,47,73,.09);background:rgba(255,255,255,.88)}
.tDot{background:var(--accent);box-shadow:0 0 0 6px rgba(33,166,91,.11)}
.tCard{border-color:rgba(8,47,73,.09);background:rgba(255,255,255,.91)}

.contactGrid,.locGrid{gap:18px}
.locMapCard iframe{min-height:350px;filter:saturate(.88) contrast(1.03)}
.kv{gap:10px}
.kvItem--soft{border-color:rgba(8,47,73,.08);background:linear-gradient(135deg,rgba(8,127,140,.055),rgba(33,166,91,.045))}

.footer{
  position:relative;
  overflow:hidden;
  margin-top:0;
  padding:50px 0 24px;
  color:rgba(255,255,255,.78);
  border:0;
  background:
    radial-gradient(500px 260px at 90% 0,rgba(33,166,91,.16),transparent 70%),
    linear-gradient(145deg,#082f49,#062536);
}
.footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.6),transparent 70%);
}
.footer .container{position:relative}
.footerIntro{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:0 0 28px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.footerIntro strong{display:block;color:#fff;font-size:1.45rem;letter-spacing:-.03em}
.footerIntro span{display:block;max-width:620px;margin-top:4px}
.footerCta{color:#fff;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.10)}
.footerCta:hover{color:var(--brand-dark);background:#fff}
.footerGrid{padding:30px 0 24px}
.footerGroup>summary{color:#fff}
.footerLink,.footerEmail{color:rgba(255,255,255,.75)}
.footerLink:hover,.footerEmail:hover{color:#fff}
.footerBottom{border-color:rgba(255,255,255,.12)}

.waFloat{
  right:22px;
  bottom:22px;
  padding:13px 18px;
  border:1px solid rgba(255,255,255,.45);
  box-shadow:0 16px 34px rgba(5,46,22,.24);
  transition:transform .18s ease,box-shadow .18s ease;
}
.waFloat:hover{transform:translateY(-3px);box-shadow:0 20px 42px rgba(5,46,22,.30);text-decoration:none}

@media (max-width:1080px){
  .brand img{width:215px}
  .nav__link{padding:9px 8px;font-size:.86rem}
}

@media (max-width:980px){
  .utilityBar__inner{justify-content:center;text-align:center}
  .utilityBar__links{display:none}
  .header__inner{min-height:78px}
  .brand img{width:205px;max-height:none}
  .menuBtn{border-color:rgba(8,47,73,.13);background:#fff}
  .menuBtn span{background:var(--brand-dark)}
  .nav{
    top:78px;
    padding:16px 28px 24px;
    background:rgba(255,255,255,.99);
    box-shadow:0 28px 60px rgba(8,47,73,.15);
  }
  .nav__link{width:100%;padding:12px 14px}
  .nav__link.active::after{display:none}
  .heroGrid{gap:24px}
  .hero--tutor .container{padding-top:36px;padding-bottom:36px}
  .h1{max-width:28ch}
}

@media (max-width:640px){
  .utilityBar{font-size:.72rem}
  .container{padding-left:18px;padding-right:18px}
  .main{padding-top:20px;padding-bottom:62px}
  .section,.section--soft{margin-top:34px}
  .header__inner{min-height:72px}
  .brand img{width:180px;max-height:none}
  .nav{top:72px;padding-left:18px;padding-right:18px}
  .hero__bg{border-radius:22px}
  .hero--tutor .container{padding-top:28px;padding-bottom:28px}
  .heroGrid--tutor{padding:4px}
  .h1{font-size:clamp(2rem,10vw,2.65rem)}
  .heroQuickRow .pill{flex-basis:100%}
  .cardPad{padding:18px}
  .cardPad--lg{padding:21px}
  .heroCard::before{margin:-21px -21px 20px}
  .btn{width:100%}
  .actions{display:grid;grid-template-columns:1fr}
  .ctaBar{padding:21px;gap:18px}
  .footer{padding-top:38px}
  .footerIntro{align-items:flex-start;flex-direction:column}
  .footerCta{width:100%}
  .footerGroup{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.055)}
  .footerGroup[open]{box-shadow:none}
  .waFloat{right:14px;bottom:14px;padding:12px 14px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

@media print{
  .utilityBar,.header,.waFloat,.footer,.actions,.ctaBar{display:none!important}
  body{background:#fff;color:#000}
  .main{padding:0}
  .card{box-shadow:none}
}
