/* ================= ALINHADORES — página dedicada ================= */
.main-nav a.active{color:var(--gold-light);}
.main-nav a.active::after{width:100%;}

/* ---- Hero ---- */
.al-hero{
  position:relative;overflow:hidden;background:var(--brand);color:var(--cream);
  padding:150px 0 100px;
}
.al-hero .hero-bg::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 55% 70% at 80% 45%, rgba(200,210,164,.16), transparent 60%),
    radial-gradient(ellipse 50% 60% at 5% 100%, rgba(30,32,22,.35), transparent 70%);
}
.al-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,90px);align-items:center;}
.al-hero-copy{max-width:590px;}
.al-back{
  display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;color:rgba(246,245,239,.7);
  margin-bottom:26px;transition:color .3s var(--ease);
}
.al-back svg{transform:rotate(180deg);}
.al-back:hover{color:var(--cream);}
.al-hero .hero-title{font-size:clamp(2.1rem,3.6vw,3.15rem);}

.al-hero-visual{position:relative;justify-self:end;width:100%;max-width:470px;}
.al-arch-frame{
  position:relative;aspect-ratio:1/1;border-radius:50%;
  background:radial-gradient(circle at 50% 40%, rgba(246,245,239,.12), rgba(246,245,239,.03) 65%);
  border:1px solid rgba(200,210,164,.28);display:flex;align-items:center;justify-content:center;
}
.al-arch-frame::before{content:'';position:absolute;inset:-18px;border-radius:50%;border:1px dashed rgba(200,210,164,.22);animation:alSpin 60s linear infinite;}
@keyframes alSpin{to{transform:rotate(360deg);}}
.arch-illus{width:84%;height:auto;overflow:visible;}
.arch-illus .tray{animation:trayFloat 5s ease-in-out infinite;transform-origin:center;}
@keyframes trayFloat{0%,100%{transform:translateY(-3px);}50%{transform:translateY(1px);}}
.arch-illus .tray-shine{animation:trayShine 4.5s ease-in-out infinite;}
@keyframes trayShine{0%{stroke-dashoffset:0;}100%{stroke-dashoffset:-1240;}}
.arch-illus .sparkles path{animation:twinkle 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center;}
.arch-illus .sparkles path:nth-child(2){animation-delay:1s;}
.arch-illus .sparkles path:nth-child(3){animation-delay:2s;}
@keyframes twinkle{0%,100%{opacity:.3;transform:scale(.7);}50%{opacity:1;transform:scale(1);}}
.al-chip{
  position:absolute;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;
  background:rgba(246,245,239,.96);color:var(--brand-deep);font-size:.78rem;font-weight:700;
  box-shadow:0 18px 36px -18px rgba(0,0,0,.5);animation:bob 6s ease-in-out infinite;
}
.al-chip svg{color:var(--brand);}
.al-chip-1{left:-30px;top:18%;}
.al-chip-2{right:-16px;bottom:14%;animation-delay:1.5s;}

/* ---- O que são ---- */
.al-what{background:var(--cream);}
.al-what-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,6vw,80px);align-items:center;}
.al-what-copy h2{margin-bottom:20px;}
.al-what-copy .lead{font-size:1.08rem;color:var(--ink);margin-bottom:16px;}
.al-what-copy p{color:var(--ink-soft);}
.al-benefits{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.al-benefit{
  background:var(--white);border-radius:22px;padding:28px 24px;border:1px solid rgba(81,86,63,.08);
  box-shadow:0 18px 40px -30px rgba(42,45,32,.5);transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.al-benefit:hover{transform:translateY(-5px);box-shadow:0 26px 50px -30px rgba(42,45,32,.55);}
.al-b-icon{width:52px;height:52px;border-radius:50%;background:var(--brand-pale);color:var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.al-b-icon svg{width:24px;height:24px;}
.al-benefit h3{font-size:1.1rem;font-weight:500;margin-bottom:8px;color:var(--brand-deep);}
.al-benefit p{font-size:.88rem;color:var(--ink-soft);line-height:1.6;}

/* ---- Simulador ---- */
.al-sim{background:radial-gradient(ellipse 70% 60% at 70% 30%, rgba(200,210,164,.1), transparent 70%), var(--brand-darker);color:var(--cream);}
.al-sim-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,80px);align-items:center;}
.al-sim-copy h2{color:var(--cream);margin-bottom:18px;}
.al-sim-copy p{color:rgba(246,245,239,.74);}
.al-sim-note{margin-top:18px;font-size:.78rem;color:rgba(246,245,239,.5)!important;font-style:italic;}
.al-sim-box{
  background:rgba(246,245,239,.05);border:1px solid rgba(246,245,239,.12);border-radius:28px;padding:30px 30px 26px;
}
.al-sim-stage{background:var(--cream);border-radius:20px;padding:20px 10px 6px;overflow:hidden;}
.front-illus{width:100%;height:auto;display:block;}
.front-illus .ft{transition:transform .25s ease-out;}
.front-illus .ft-shine{stroke:#FFFFFF;stroke-width:3;stroke-linecap:round;opacity:.8;fill:none;}
.front-illus .ft-tray{transition:opacity .4s;}
.al-sim-controls{display:flex;align-items:center;gap:16px;margin-top:24px;}
.al-sim-label{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(246,245,239,.6);}
#alRange{
  -webkit-appearance:none;appearance:none;flex:1;height:4px;border-radius:4px;outline:none;cursor:pointer;
  background:linear-gradient(90deg,var(--gold) var(--p,0%),rgba(246,245,239,.18) var(--p,0%));
}
#alRange::-webkit-slider-thumb{
  -webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--cream);
  border:5px solid var(--gold);box-shadow:0 6px 16px -4px rgba(0,0,0,.5);cursor:grab;
}
#alRange::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--cream);border:5px solid var(--gold);cursor:grab;}
.al-sim-status{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:18px;flex-wrap:wrap;}
.al-sim-status strong{font-family:var(--font-display);font-weight:500;font-size:1.25rem;color:var(--cream);}
.al-sim-status span{font-size:.82rem;color:var(--gold);font-weight:700;}

/* ---- Como funciona ---- */
.al-how{background:var(--cream-2);}
.al-steps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;position:relative;margin:0;padding:0;}
.al-steps::before{
  content:'';position:absolute;top:58px;left:9%;right:9%;height:1px;
  background:repeating-linear-gradient(90deg,var(--brand-light) 0 6px,transparent 6px 12px);opacity:.6;
}
.al-step{position:relative;background:var(--white);border-radius:22px;padding:26px 22px 28px;border:1px solid rgba(81,86,63,.08);text-align:left;}
.al-step-num{position:absolute;top:20px;right:22px;font-family:var(--font-display);font-size:.9rem;color:var(--gold-deep);}
.al-step-icon{
  width:64px;height:64px;border-radius:50%;background:var(--brand);color:var(--cream);display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;position:relative;z-index:1;box-shadow:0 0 0 8px var(--cream-2);
}
.al-step-icon svg{width:28px;height:28px;}
.al-step h3{font-size:1.04rem;font-weight:500;margin-bottom:10px;color:var(--brand-deep);}
.al-step p{font-size:.85rem;line-height:1.62;color:var(--ink-soft);}

/* ---- Rotina ---- */
.al-routine{background:var(--cream);}
.al-routine-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,80px);align-items:center;}
.al-routine-photo{border-radius:999px 999px 28px 28px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 34px 70px -34px rgba(42,45,32,.55);max-width:430px;}
.al-routine-photo img{width:100%;height:100%;object-fit:cover;}
.al-routine-copy h2{margin-bottom:26px;}
.al-routine-list{list-style:none;padding:0;margin:0;display:grid;gap:18px;}
.al-routine-list li{display:flex;gap:18px;align-items:flex-start;padding:18px 20px;border-radius:18px;background:var(--white);border:1px solid rgba(81,86,63,.08);}
.al-routine-list li > span{flex:0 0 46px;height:46px;border-radius:14px;background:var(--brand-pale);color:var(--brand);display:flex;align-items:center;justify-content:center;}
.al-routine-list li > span svg{width:22px;height:22px;}
.al-routine-list strong{display:block;font-size:.98rem;color:var(--brand-deep);margin-bottom:3px;}
.al-routine-list p{font-size:.86rem;color:var(--ink-soft);margin:0;}

/* ---- Indicações + comparativo ---- */
.al-for{background:var(--brand-pale);}
.al-for-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:start;}
.al-for h2{margin-bottom:26px;}
.al-ind-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;}
.al-ind-list li{display:flex;gap:12px;align-items:flex-start;}
.al-ind-list li > svg{flex-shrink:0;margin-top:3px;color:var(--brand);width:18px;height:18px;}
.al-ind-list strong{display:block;font-size:.94rem;color:var(--brand-deep);}
.al-ind-list span{font-size:.84rem;color:var(--ink-soft);line-height:1.5;}
.al-compare{background:var(--white);border-radius:26px;padding:32px 30px;box-shadow:0 26px 60px -36px rgba(42,45,32,.55);}
.al-compare h3{font-size:1.3rem;font-weight:500;margin-bottom:18px;color:var(--brand-deep);}
.al-compare table{width:100%;border-collapse:collapse;font-size:.86rem;}
.al-compare th{text-align:left;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);padding:0 8px 12px;}
.al-compare td{padding:13px 8px;border-top:1px solid rgba(81,86,63,.1);color:var(--ink-soft);}
.al-compare td:first-child{font-weight:700;color:var(--brand-deep);}
.al-compare td.yes{color:var(--brand);font-weight:700;}
.al-compare-note{margin-top:16px;font-size:.8rem;color:var(--ink-soft);font-style:italic;}

/* ---- Especialista ---- */
.al-doc{background:var(--cream);}
.al-doc-card{display:grid;grid-template-columns:.75fr 1.25fr;border-radius:28px;overflow:hidden;color:var(--cream);box-shadow:0 40px 80px -40px rgba(20,22,14,.7);}
.al-doc-photo{min-height:420px;position:relative;}
.al-doc-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;}
.al-doc-copy{padding:clamp(34px,5vw,64px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;}
.al-doc-copy h2{color:var(--cream);margin-bottom:10px;}
.al-doc-cro{font-size:.78rem;font-weight:700;letter-spacing:.04em;color:var(--gold);margin-bottom:20px;}
.al-doc-copy p{color:rgba(246,245,239,.8);margin-bottom:28px;max-width:540px;}

/* ---- FAQ ---- */
.al-faq{background:var(--cream-2);}
.al-faq-wrap{max-width:860px;}
.al-faq-list{display:grid;gap:12px;}
.al-faq-item{background:var(--white);border-radius:18px;border:1px solid rgba(81,86,63,.08);overflow:hidden;}
.al-faq-item summary{
  list-style:none;cursor:pointer;padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:16px;
  font-weight:700;font-size:1rem;color:var(--brand-deep);
}
.al-faq-item summary::-webkit-details-marker{display:none;}
.al-faq-plus{flex:0 0 30px;height:30px;border-radius:50%;background:var(--brand-pale);position:relative;transition:background .3s var(--ease),transform .3s var(--ease);}
.al-faq-plus::before,.al-faq-plus::after{content:'';position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--brand);transform:translate(-50%,-50%);border-radius:2px;}
.al-faq-plus::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s var(--ease);}
.al-faq-item[open] .al-faq-plus{background:var(--brand);}
.al-faq-item[open] .al-faq-plus::before,.al-faq-item[open] .al-faq-plus::after{background:var(--cream);}
.al-faq-item[open] .al-faq-plus::after{transform:translate(-50%,-50%) rotate(0deg);}
.al-faq-item p{padding:0 26px 24px;color:var(--ink-soft);font-size:.94rem;line-height:1.7;}

/* ---- CTA ---- */
.al-cta{background:var(--brand);color:var(--cream);padding:90px 0;text-align:center;position:relative;overflow:hidden;}
.al-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 50% 0%, rgba(200,210,164,.16), transparent 70%);}
.al-cta-inner{position:relative;display:flex;flex-direction:column;align-items:center;}
.al-cta-logo{width:150px;height:auto;margin-bottom:26px;}
.al-cta h2{color:var(--cream);margin-bottom:12px;}
.al-cta p{color:rgba(246,245,239,.75);margin-bottom:30px;max-width:520px;}

/* ---- Responsive ---- */
@media(max-width:1080px){
  .al-hero-inner,.al-what-grid,.al-sim-grid,.al-routine-grid,.al-for-grid{grid-template-columns:1fr;}
  .al-hero-visual{justify-self:center;max-width:420px;}
  .al-steps{grid-template-columns:repeat(2,1fr);}
  .al-steps::before{display:none;}
  .al-routine-photo{justify-self:center;width:100%;}
  .al-doc-card{grid-template-columns:1fr;}
  .al-doc-photo{min-height:380px;}
}
@media(max-width:760px){
  .al-hero{padding:116px 0 70px;}
  .al-chip-1{left:0;top:4%;}
  .al-chip-2{right:0;bottom:4%;}
  .al-benefits{grid-template-columns:1fr;}
  .al-steps{grid-template-columns:1fr;}
  .al-ind-list{grid-template-columns:1fr;}
  .al-sim-box{padding:18px 16px;}
  .al-compare{padding:24px 18px;}
  .al-compare table{font-size:.8rem;}
  .al-doc-photo{min-height:340px;}
}

/* ---- Tab behaviour: the aligners "page" lives inside index.html ---- */
.al-page{display:none;}
body.show-aligners .al-page{display:block;animation:alPageIn .5s var(--ease) both;}
@keyframes alPageIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
body.show-aligners > section,
body.show-aligners > .marquee,
body.show-aligners > .marquee-strip,
body.show-aligners > .service-modal{display:none !important;}
body.show-aligners .main-nav a[data-al-link]{color:var(--gold-light);}
body.show-aligners .main-nav a[data-al-link]::after{width:100%;}
