/* Páginas internas da Clínica Aurora — compartilham a identidade da home. */
body.site-page {
  width: 100%;
  min-height: 100svh;
  height: auto;
  overflow: hidden;
  padding: 24px;
  color: var(--text-heading);
  background:
    radial-gradient(circle at 12% 8%, rgba(224,204,169,.9), transparent 30%),
    radial-gradient(circle at 90% 88%, rgba(73,102,83,.72), transparent 32%),
    linear-gradient(145deg, #18221c 0%, #314638 48%, #ae9165 135%);
}

:root[data-theme="dark"] body.site-page {
  background:
    radial-gradient(circle at 10% 8%, rgba(217,160,102,.22), transparent 31%),
    radial-gradient(circle at 90% 88%, rgba(92,58,36,.42), transparent 34%),
    linear-gradient(145deg, #0d0a08 0%, #19110e 52%, #291a13 100%);
}

.site-frame {
  width: min(1440px, calc(100vw - 48px));
  height: calc(100svh - 48px);
  margin: 0 auto;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 30px;
  background: var(--page-bg);
  box-shadow: 0 34px 100px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.22);
  scroll-behavior: smooth;
}

.site-macbar {
  position: sticky;
  top: 0;
  z-index: 90;
  height: 46px;
  display: grid;
  grid-template-columns: 120px minmax(260px,580px) 120px;
  align-items: center;
  padding: 0 18px;
  border-bottom: 1px solid rgba(0,0,0,.1);
  background: color-mix(in srgb, var(--page-bg) 72%, #d8d8d8);
  backdrop-filter: blur(28px) saturate(170%);
}

:root[data-theme="dark"] .site-macbar {
  border-bottom-color: rgba(255,255,255,.08);
  background: rgba(24,19,16,.94);
}

.site-lights { display:flex; gap:8px; }
.site-lights i { width:12px; height:12px; border-radius:50%; }
.site-lights i:nth-child(1) { background:#ff5f57; }
.site-lights i:nth-child(2) { background:#febc2e; }
.site-lights i:nth-child(3) { background:#28c840; }
.site-address {
  justify-self:center;
  width:min(100%,580px);
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 18px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:9px;
  color:color-mix(in srgb,var(--text-heading) 72%,transparent);
  background:rgba(255,255,255,.62);
  font-size:12px;
}
:root[data-theme="dark"] .site-address { border-color:rgba(255,255,255,.08); background:rgba(255,255,255,.08); }
.site-address svg,.site-share svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2; }
.site-share { justify-self:end; color:var(--text-heading); opacity:.68; }

.site-nav {
  position: sticky;
  top: 46px;
  z-index: 80;
  min-height: 76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:12px clamp(26px,4vw,62px);
  border-bottom:1px solid var(--ios-hairline);
  background:var(--nav-bg);
  backdrop-filter:blur(24px) saturate(170%);
}
.site-brand { color:var(--nav-brand); font-size:21px; font-weight:800; letter-spacing:-.3px; }
.site-brand a { color:inherit; }
.site-navlinks { display:flex; align-items:center; gap:clamp(10px,1.4vw,22px); }
.site-navlink { position:relative; color:var(--text-heading); opacity:.72; font-size:13px; font-weight:600; white-space:nowrap; }
.site-navlink:hover,.site-navlink.active { opacity:1; }
.site-navlink.active::after { content:""; position:absolute; left:0; right:0; bottom:-8px; height:2px; border-radius:9px; background:var(--accent); }
.site-theme,.site-menu {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid var(--border);
  border-radius:50%;
  color:var(--text-heading);
  background:transparent;
  cursor:pointer;
}
.site-theme svg,.site-menu svg { width:17px; height:17px; }
.site-menu { display:none; }
.site-nav-cta { padding:11px 18px; border-radius:999px; font-size:13px; font-weight:800; gap:8px; }
.site-nav-cta svg { width:18px; height:18px; flex:0 0 18px; }

.inner-main { display:block; background:var(--page-bg); }
.inner-main section { margin:18px; padding:clamp(64px,8vw,108px) clamp(26px,7vw,108px); border:1px solid var(--ios-hairline); border-radius:32px; box-shadow:var(--ios-shadow); }
.inner-main .page-hero {
  min-height:520px;
  display:grid;
  align-items:center;
  background:url("assets/light-skin-gradient.webp") center/cover no-repeat;
}
:root[data-theme="dark"] .inner-main .page-hero {
  background:
    linear-gradient(180deg,rgba(12,8,7,.18),rgba(12,8,7,.38)),
    url("assets/dark-skin-gradient.webp") center/cover no-repeat;
}
.page-hero-copy { max-width:820px; display:flex; flex-direction:column; align-items:flex-start; gap:20px; }
.page-kicker,.content-kicker { color:var(--accent-dark); font-size:12px; font-weight:800; letter-spacing:2px; text-transform:uppercase; }
.page-hero h1 { max-width:900px; margin:0; font-size:clamp(48px,5.4vw,76px); line-height:1.02; letter-spacing:-2.5px; }
.page-hero p { max-width:680px; margin:0; color:var(--text-body); font-size:18px; line-height:1.7; }
:root[data-theme="dark"] .page-hero h1 { color:#fff8ef; text-shadow:0 3px 18px rgba(0,0,0,.48); }
:root[data-theme="dark"] .page-hero p,:root[data-theme="dark"] .page-hero .page-kicker { color:#fff8ef; text-shadow:0 2px 12px rgba(0,0,0,.7); }
.page-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:6px; }
.page-actions a { min-height:52px; padding:15px 26px; border-radius:999px; font-size:14px; font-weight:800; }

.content-section { background:linear-gradient(145deg,var(--ios-surface),color-mix(in srgb,var(--page-bg) 96%,var(--accent-2))); }
.content-head { max-width:760px; margin:0 auto 48px; text-align:center; }
.content-head h2 { margin:10px 0 14px; font-size:clamp(35px,4vw,50px); line-height:1.08; letter-spacing:-1.4px; }
.content-head p { margin:0; color:var(--text-body); font-size:16px; line-height:1.7; }
.site-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; max-width:1180px; margin:0 auto; }
.site-card {
  min-height:260px;
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:30px 28px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:24px;
  background:var(--ios-glass-strong);
  box-shadow:0 9px 24px rgba(62,49,35,.08),inset 0 1px 0 rgba(255,255,255,.48);
}
:root[data-theme="dark"] .site-card { border-color:rgba(255,255,255,.14); }
.site-card h2,.site-card h3 { margin:0; font-size:27px; line-height:1.15; }
.site-card p { margin:0; color:var(--text-body); font-size:14px; line-height:1.7; }
.site-card .card-link { margin-top:auto; color:var(--accent-dark); font-size:14px; font-weight:800; }
.mini-tag { align-self:flex-start; padding:6px 11px; border-radius:999px; color:var(--tag-text); background:var(--tag-bg); font-size:11px; font-weight:800; }

.split-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.85fr); gap:clamp(42px,7vw,96px); align-items:center; max-width:1180px; margin:0 auto; }
.split-copy { display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.split-copy h2 { margin:0; font-size:clamp(38px,4vw,52px); line-height:1.08; }
.split-copy p { margin:0; color:var(--text-body); font-size:16px; line-height:1.75; }
.feature-panel { min-height:410px; display:grid; place-items:center; padding:46px; border-radius:28px; color:#f3ede0; background:var(--panel-gradient); text-align:center; }
.feature-panel strong { max-width:460px; font-size:30px; line-height:1.4; }
.check-list { display:grid; gap:12px; padding:0; margin:4px 0 0; list-style:none; }
.check-list li { display:flex; gap:12px; align-items:flex-start; padding:14px 16px; border:1px solid var(--ios-hairline); border-radius:16px; color:var(--text-body); background:var(--ios-glass-strong); }
.check-list li::before { content:"✓"; color:var(--accent-dark); font-weight:900; }

.steps { counter-reset:steps; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; max-width:1180px; margin:0 auto; }
.step { position:relative; padding:28px 24px; border:1px solid var(--ios-hairline); border-radius:22px; background:var(--ios-glass-strong); }
.step::before { counter-increment:steps; content:"0" counter(steps); display:block; margin-bottom:24px; color:var(--accent-dark); font-size:13px; font-weight:900; letter-spacing:1px; }
.step h3 { margin:0 0 8px; font-size:19px; }
.step p { margin:0; color:var(--text-body); font-size:13px; line-height:1.65; }

.faq { max-width:900px; margin:0 auto; display:grid; gap:10px; }
.faq details { padding:20px 22px; border:1px solid var(--ios-hairline); border-radius:18px; background:var(--ios-glass-strong); }
.faq summary { cursor:pointer; font-size:15px; font-weight:800; }
.faq p { margin:12px 0 0; color:var(--text-body); font-size:14px; line-height:1.7; }

.article-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:48px; max-width:1080px; margin:0 auto; }
.article-body { max-width:760px; }
.article-body h2 { margin:42px 0 14px; font-size:30px; }
.article-body h2:first-child { margin-top:0; }
.article-body p,.article-body li { color:var(--text-body); font-size:16px; line-height:1.82; }
.article-aside { position:sticky; top:150px; align-self:start; padding:24px; border:1px solid var(--ios-hairline); border-radius:22px; background:var(--ios-glass-strong); }
.article-aside strong { display:block; margin-bottom:10px; font-size:20px; }
.article-aside p { margin:0 0 18px; color:var(--text-body); font-size:13px; line-height:1.6; }

.contact-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; max-width:1050px; margin:0 auto; }
.contact-card { min-height:150px; display:flex; flex-direction:column; justify-content:center; gap:7px; padding:24px; border:1px solid var(--ios-hairline); border-radius:22px; background:var(--ios-glass-strong); }
.contact-card strong { color:var(--accent-dark); font-size:13px; }
.contact-card span,.contact-card a { color:var(--text-body); font-size:15px; line-height:1.5; }
.map-placeholder { min-height:360px; display:grid; place-items:center; padding:42px; border:1px dashed var(--border); border-radius:28px; color:var(--text-body); background:color-mix(in srgb,var(--page-bg) 82%,var(--accent-2-tint)); text-align:center; }

.conversion-section { text-align:center; color:#f3ede0; background:linear-gradient(145deg,#405d4b,#22352a); }
.conversion-section h2 { max-width:760px; margin:0 auto 14px; font-size:clamp(38px,4vw,54px); line-height:1.08; }
.conversion-section p { max-width:660px; margin:0 auto 26px; color:#e6ded2; line-height:1.7; }
.conversion-section .btn-primary { margin:auto; padding:16px 28px; border-radius:999px; font-weight:800; }

.site-footer { margin:18px; padding:44px clamp(28px,5vw,74px); display:grid; grid-template-columns:1fr auto; gap:28px 50px; border-radius:28px; color:#f3ede0; background:linear-gradient(145deg,#283a2e,#17241c); }
.site-footer-brand { font-size:22px; }
.site-footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:14px 24px; }
.site-footer a { color:#f3ede0; opacity:.82; font-size:13px; }
.site-footer small { grid-column:1/-1; opacity:.58; }
.site-wa-float { position:fixed; z-index:100; right:34px; bottom:32px; width:56px; height:56px; display:grid; place-items:center; border-radius:50%; color:#102018; background:#9fbea8; box-shadow:0 14px 34px rgba(0,0,0,.28); }
.site-wa-float svg { width:27px; height:27px; }
.site-page .consent-settings { right:34px; bottom:100px; }
.medical-note { max-width:900px; margin:24px auto 0; color:var(--text-faint); font-size:12px; line-height:1.6; text-align:center; }

.case-grid { display:grid; gap:24px; max-width:1180px; margin:0 auto; }
.case-card { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:24px; padding:18px; border:1px solid var(--ios-hairline); border-radius:28px; background:var(--ios-glass-strong); }
.case-images { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.case-image { min-height:360px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; border-radius:20px; color:var(--text-body); background:linear-gradient(145deg,color-mix(in srgb,var(--accent-2-tint) 76%,var(--page-bg)),color-mix(in srgb,var(--page-bg) 88%,var(--accent-2))); }
.case-image span { color:var(--accent-dark); font-size:11px; font-weight:900; letter-spacing:2px; text-transform:uppercase; }
.case-image strong { font-size:14px; }
.case-details { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:14px; padding:18px 12px; }
.case-details h2 { margin:0; font-size:30px; line-height:1.15; }
.case-details p { margin:0; color:var(--text-body); font-size:14px; line-height:1.7; }
.case-meta { width:100%; display:grid; gap:8px; margin:4px 0; }
.case-meta div { display:flex; justify-content:space-between; gap:16px; padding:9px 0; border-bottom:1px solid var(--ios-hairline); color:var(--text-body); font-size:12px; }
.case-meta strong { color:var(--text-heading); text-align:right; }

@media (max-width:1120px) {
  .site-navlink:nth-of-type(3),.site-navlink:nth-of-type(4) { display:none; }
  .site-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .steps { grid-template-columns:repeat(2,1fr); }
}

@media (min-width:900px) {
  .native-mac body.site-page { padding:0; background:var(--page-bg); }
  .native-mac .site-frame { width:100vw; height:100svh; border:0; border-radius:0; box-shadow:none; }
  .native-mac .site-macbar { display:none; }
  .native-mac .site-nav { top:0; }
}

@media (max-width:899px) {
  body.site-page { padding:0; background:var(--page-bg); }
  .site-frame { width:100%; height:100svh; border:0; border-radius:0; box-shadow:none; }
  .site-macbar { display:none; }
  .site-nav { top:0; min-height:68px; padding:10px 16px; }
  .site-brand { font-size:17px; }
  .site-menu { display:grid; }
  .site-navlinks { position:absolute; top:calc(100% + 8px); right:12px; left:12px; display:none; flex-direction:column; align-items:stretch; gap:4px; padding:12px; border:1px solid var(--ios-hairline); border-radius:20px; background:var(--ios-glass-strong); backdrop-filter:blur(28px); box-shadow:var(--ios-shadow); }
  .site-navlinks.open { display:flex; }
  .site-navlink { display:block !important; padding:13px 14px; border-radius:12px; }
  .site-navlink.active { background:var(--ios-surface); }
  .site-navlink.active::after { display:none; }
  .site-nav-cta { justify-content:center; margin-top:4px; }
  .site-nav-controls { display:flex; gap:7px; }
  .inner-main section { margin:12px; padding:54px 22px; border-radius:28px; }
  .inner-main .page-hero { min-height:600px; background-position:center; }
  .page-hero h1 { font-size:43px; letter-spacing:-1.6px; }
  .page-hero p { font-size:15px; }
  .page-actions { width:100%; flex-direction:column; }
  .page-actions a { width:100%; justify-content:center; text-align:center; }
  .site-grid,.split-layout,.article-layout,.contact-cards { grid-template-columns:1fr; }
  .case-card { grid-template-columns:1fr; }
  .site-card { min-height:0; }
  .feature-panel { min-height:280px; }
  .article-aside { position:static; }
  .site-footer { grid-template-columns:1fr; padding:34px 24px; }
  .site-footer-links { justify-content:flex-start; }
  .site-wa-float { right:18px; bottom:18px; width:52px; height:52px; }
  .site-page .consent-settings { right:18px; bottom:82px; }
}

@media (max-width:560px) {
  .site-nav-cta .btn-label { display:none; }
  .site-nav-cta { width:36px; height:36px; padding:0; }
  .site-grid,.steps { grid-template-columns:1fr; }
  .content-head { margin-bottom:32px; }
  .content-head h2 { font-size:34px; }
  .page-hero h1 { font-size:39px; }
  .case-images { grid-template-columns:1fr; }
  .case-image { min-height:240px; }
}