/* ========================================================================
   SmileCraft v1.7 — September 2026 client-review direction
   Warm • personal • doctor-led • motion-aware • Gutenberg editable
   ======================================================================== */
:root {
  --sc17-cream: #F6F0E5;
  --sc17-pale-blue: #E5EAF0;
  --sc17-blue: #4A6480;
  --sc17-blue-2: #617387;
  --sc17-gold: #BC9C65;
  --sc17-white: #FFFFFF;
  --sc17-ink: #263746;
  --sc17-muted: #68727A;
  --sc17-line: #A9B8C4;
  --sc17-radius: 28px;
  --sc17-shadow: 0 24px 60px rgba(38,55,70,.10);
}

html { scroll-behavior: smooth; }
body {
  background: var(--sc17-cream) !important;
  color: var(--sc17-ink) !important;
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
body, p, li, input, textarea, select, button { font-family: "Plus Jakarta Sans", system-ui, sans-serif; }
h1, h2, h3, h4, h5, h6, .sc17-editorial {
  font-family: "Newsreader", Georgia, serif !important;
  color: var(--sc17-ink);
  letter-spacing: -.025em;
}
body a { color: var(--sc17-blue); }
body a:hover { color: var(--sc17-gold); }

/* ---------- global header ---------- */
.sc-announcement {
  background: var(--sc17-blue) !important;
  color: #fff !important;
  border: 0 !important;
}
.sc-announcement-inner {
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 8px 28px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 18px !important;
  font-size: 12px !important;
  letter-spacing: .035em !important;
}
.sc-announcement a, .sc-announcement strong { color: #fff !important; }
.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  background: rgba(246,240,229,.94) !important;
  border-bottom: 1px solid rgba(169,184,196,.42) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: box-shadow .28s ease, background .28s ease !important;
}
.admin-bar .site-header { top: 32px !important; }
.site-header.scrolled { box-shadow: 0 14px 34px rgba(38,55,70,.09) !important; }
.sc-header-inner {
  max-width: 1240px !important;
  min-height: 80px !important;
  padding: 10px 28px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 30px !important;
}
.sc-brand { display: flex !important; align-items: center !important; gap: 10px !important; }
.sc-brand-symbol {
  width: 34px !important; height: 34px !important; border-radius: 50% !important;
  background: radial-gradient(circle at 35% 30%, #fff 0 14%, var(--sc17-gold) 15% 35%, var(--sc17-blue) 36% 100%) !important;
  box-shadow: inset 0 0 0 4px rgba(255,255,255,.72) !important;
  flex: 0 0 34px !important;
}
.sc-brand-copy { gap: 0 !important; }
.sc-brand-title { margin: 0 !important; line-height: 1 !important; font-family: "Newsreader", serif !important; font-weight: 700 !important; font-size: 25px !important; }
.sc-brand-title a { color: var(--sc17-ink) !important; text-decoration: none !important; }
.sc-brand-title span { color: var(--sc17-gold) !important; }
.sc-brand-tag { margin: 2px 0 0 !important; color: var(--sc17-blue) !important; text-transform: uppercase !important; letter-spacing: .17em !important; font-size: 8px !important; font-weight: 700 !important; }
.main-nav { justify-self: center !important; }
.main-nav .wp-block-navigation__container { gap: 3px !important; }
.main-nav .wp-block-navigation-item__content {
  color: var(--sc17-ink) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  text-decoration: none !important;
  border-radius: 999px !important;
  padding: 9px 11px !important;
  transition: background .2s ease, color .2s ease !important;
}
.main-nav .wp-block-navigation-item__content:hover,
.main-nav .current-menu-item > .wp-block-navigation-item__content { background: rgba(229,234,240,.9) !important; color: var(--sc17-blue) !important; }
.main-nav .wp-block-navigation__submenu-container {
  background: rgba(255,255,255,.98) !important;
  border: 1px solid rgba(169,184,196,.38) !important;
  border-radius: 18px !important;
  padding: 9px !important;
  min-width: 255px !important;
  box-shadow: 0 22px 55px rgba(38,55,70,.14) !important;
  transform: translateY(8px) !important;
}
.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { border-radius: 11px !important; padding: 10px 12px !important; }
.sc-header-actions { display: flex !important; gap: 10px !important; align-items: center !important; }
.sc-header-phone { margin: 0 !important; white-space: nowrap !important; font-size: 12px !important; font-weight: 700 !important; }
.sc-header-phone a { color: var(--sc17-blue) !important; text-decoration: none !important; }
.sc-header-cta .wp-block-button__link {
  background: var(--sc17-gold) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 11px 17px !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  box-shadow: none !important;
}
.sc-header-cta .wp-block-button__link:hover { background: var(--sc17-blue) !important; transform: translateY(-1px); }

/* ---------- global section system ---------- */
.sc17-section { margin: 0 !important; padding: clamp(70px,8vw,118px) 28px !important; position: relative; overflow: clip; }
.sc17-section > * { max-width: 1180px; margin-left: auto !important; margin-right: auto !important; }
.sc17-kicker {
  margin: 0 0 14px !important; color: var(--sc17-gold) !important; font-size: 11px !important; line-height: 1.2 !important;
  font-weight: 800 !important; letter-spacing: .16em !important; text-transform: uppercase !important;
}
.sc17-display { font-size: clamp(47px,6.1vw,88px) !important; line-height: .95 !important; font-weight: 500 !important; margin: 0 0 24px !important; max-width: 920px !important; }
.sc17-display em { color: var(--sc17-gold); font-weight: 400; }
.sc17-title { font-size: clamp(36px,4.4vw,62px) !important; line-height: 1.02 !important; font-weight: 500 !important; margin: 0 0 20px !important; }
.sc17-subtitle { font-size: clamp(20px,2vw,27px) !important; line-height: 1.25 !important; font-weight: 500 !important; }
.sc17-lead { font-size: clamp(17px,1.6vw,21px) !important; line-height: 1.7 !important; color: var(--sc17-muted) !important; max-width: 700px !important; }
.sc17-copy { color: var(--sc17-muted) !important; line-height: 1.75 !important; font-size: 15px !important; }
.sc17-copy strong { color: var(--sc17-ink) !important; }
.sc17-btns { display: flex !important; flex-wrap: wrap !important; gap: 12px !important; margin-top: 30px !important; }
.sc17-btns .wp-block-button__link, .sc17-primary .wp-block-button__link {
  background: var(--sc17-blue) !important; color: #fff !important; border-radius: 999px !important;
  padding: 14px 22px !important; font-weight: 750 !important; font-size: 13px !important; transition: transform .2s ease, background .2s ease !important;
}
.sc17-btns .is-style-outline .wp-block-button__link, .sc17-btns .sc17-outline .wp-block-button__link {
  background: transparent !important; color: var(--sc17-blue) !important; border: 1px solid var(--sc17-line) !important;
}
.sc17-btns .wp-block-button__link:hover { transform: translateY(-2px); background: var(--sc17-gold) !important; color: #fff !important; }
.sc17-section-head { max-width: 800px !important; text-align: center; margin-bottom: 46px !important; }
.sc17-section-head .sc17-lead { margin-left: auto !important; margin-right: auto !important; }
.sc17-photo, .sc17-pathway-media, .sc17-case-photo {
  overflow: hidden !important; border-radius: var(--sc17-radius) !important; box-shadow: var(--sc17-shadow) !important; background: var(--sc17-pale-blue) !important;
}
.sc17-photo img, .sc17-pathway-media img, .sc17-case-photo img { display:block; width:100%; height:100%; object-fit:cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.sc17-photo:hover img, .sc17-pathway:hover .sc17-pathway-media img, .sc17-case-photo:hover img { transform: scale(1.035); }

/* ---------- home hero ---------- */
.sc17-hero {
  min-height: min(850px, calc(100vh - 110px));
  display: flex; align-items: center;
  background:
    radial-gradient(circle at 12% 86%, rgba(229,234,240,.92), transparent 34%),
    radial-gradient(circle at 92% 15%, rgba(188,156,101,.17), transparent 35%),
    var(--sc17-cream) !important;
}
.sc17-hero-grid { max-width: 1240px !important; display:grid !important; grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr) !important; gap: clamp(40px,6vw,84px) !important; align-items:center !important; }
.sc17-hero-copy { max-width: 690px !important; }
.sc17-hero .sc17-lead { max-width: 610px !important; }
.sc17-hero-media { position:relative; }
.sc17-hero-media::before {
  content:""; position:absolute; inset:-22px 30% 45% -25px; border:1px solid rgba(188,156,101,.55); border-radius:999px; pointer-events:none;
}
.sc-media-loop { position:relative; border-radius: 34px; overflow:hidden; box-shadow: var(--sc17-shadow); background:var(--sc17-blue); aspect-ratio:16/9; }
.sc-media-loop video, .sc-media-loop .sc-media-loop-poster { width:100%; height:100%; object-fit:cover; display:block; }
.sc-media-loop .sc-media-loop-poster { display:none; }
.sc17-hero-note { margin: 13px 0 0 !important; font-size: 11px !important; color: var(--sc17-muted) !important; text-align:center; letter-spacing:.02em; }

/* ---------- doctor ---------- */
.sc17-doctor { background: var(--sc17-white) !important; }
.sc17-doctor-grid { display:grid !important; grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr) !important; gap: clamp(42px,7vw,92px) !important; align-items:center !important; }
.sc17-doctor-photo { aspect-ratio: 4/5; }
.sc17-credential-row { display:flex !important; gap:10px !important; flex-wrap:wrap !important; margin-top:24px !important; }
.sc17-chip { margin:0 !important; padding:9px 12px !important; border-radius:999px !important; border:1px solid rgba(169,184,196,.52) !important; color:var(--sc17-blue) !important; font-size:11px !important; font-weight:750 !important; background:#fff !important; }

/* ---------- difference / values ---------- */
.sc17-values { background: var(--sc17-pale-blue) !important; }
.sc17-values-grid { display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:18px !important; }
.sc17-value-card { background:rgba(255,255,255,.78) !important; border:1px solid rgba(255,255,255,.88) !important; border-radius:25px !important; padding:34px !important; min-height:280px; box-shadow:0 18px 46px rgba(38,55,70,.06); }
.sc17-value-number { margin:0 0 52px !important; color:var(--sc17-gold) !important; font-family:"Newsreader",serif !important; font-size:22px !important; }
.sc17-value-card h3 { font-size:30px !important; line-height:1.05 !important; margin:0 0 14px !important; font-weight:550 !important; }
.sc17-value-card p:last-child { margin-bottom:0 !important; color:var(--sc17-muted) !important; line-height:1.65 !important; }

/* ---------- treatment pathways ---------- */
.sc17-treatments { background:var(--sc17-cream) !important; }
.sc17-pathways { display:grid !important; gap:26px !important; }
.sc17-pathway {
  display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; align-items:stretch !important;
  background:#fff !important; border-radius:30px !important; overflow:hidden !important; border:1px solid rgba(169,184,196,.32) !important;
  box-shadow:0 20px 55px rgba(38,55,70,.06);
}
.sc17-pathway:nth-child(even) .sc17-pathway-media { order:2; }
.sc17-pathway-media { min-height:330px; border-radius:0 !important; box-shadow:none !important; }
.sc17-pathway-copy { padding:clamp(34px,5vw,64px) !important; align-self:center !important; }
.sc17-pathway-copy h3 { font-size:clamp(30px,3vw,43px) !important; line-height:1.05 !important; font-weight:500 !important; margin:0 0 14px !important; }
.sc17-pathway-copy p { color:var(--sc17-muted) !important; line-height:1.7 !important; }
.sc17-text-link { display:inline-flex !important; align-items:center !important; gap:8px !important; margin-top:14px !important; color:var(--sc17-blue) !important; font-weight:800 !important; text-decoration:none !important; }
.sc17-text-link::after { content:"→"; transition:transform .2s ease; }
.sc17-text-link:hover::after { transform:translateX(4px); }
.sc17-airway-callout { margin-top:28px !important; background:var(--sc17-blue) !important; color:#fff !important; border-radius:30px !important; padding:clamp(34px,5vw,60px) !important; display:grid !important; grid-template-columns:1.1fr .9fr !important; gap:50px !important; align-items:end !important; }
.sc17-airway-callout h3, .sc17-airway-callout p { color:#fff !important; }
.sc17-airway-callout h3 { font-size:clamp(34px,4vw,54px) !important; font-weight:500 !important; line-height:1.03 !important; margin:0 !important; }
.sc17-airway-callout p { margin:0 !important; opacity:.86; line-height:1.7; }
.sc17-airway-callout a { color:#fff !important; }

/* ---------- before/after ---------- */
.sc17-gallery { background:#fff !important; }
.sc17-case-pair { background:var(--sc17-cream) !important; border-radius:30px !important; padding:20px !important; border:1px solid rgba(169,184,196,.34) !important; box-shadow:0 20px 56px rgba(38,55,70,.07); }
.sc17-case-grid { display:grid !important; grid-template-columns:1fr 1fr !important; gap:14px !important; }
.sc17-case-item { position:relative; }
.sc17-case-photo { aspect-ratio: 1.17/1; border-radius:21px !important; box-shadow:none !important; }
.sc17-case-label { position:absolute; left:16px; top:16px; z-index:2; margin:0 !important; padding:7px 10px !important; border-radius:999px !important; background:rgba(38,55,70,.86) !important; color:#fff !important; font-size:10px !important; font-weight:800 !important; letter-spacing:.12em !important; }
.sc17-case-caption { margin:18px 4px 2px !important; text-align:center; color:var(--sc17-muted) !important; font-size:13px !important; }

/* ---------- summary/CTA sections ---------- */
.sc17-summary { background:var(--sc17-pale-blue) !important; }
.sc17-summary-grid { display:grid !important; grid-template-columns:repeat(2,1fr) !important; gap:18px !important; }
.sc17-summary-card { padding:clamp(32px,4vw,50px) !important; border-radius:28px !important; background:#fff !important; border:1px solid rgba(169,184,196,.34) !important; }
.sc17-summary-card.sc17-dark { background:var(--sc17-ink) !important; }
.sc17-summary-card.sc17-dark h2, .sc17-summary-card.sc17-dark p, .sc17-summary-card.sc17-dark a { color:#fff !important; }
.sc17-summary-card h2 { font-size:clamp(34px,4vw,52px) !important; font-weight:500 !important; line-height:1.03 !important; margin:0 0 16px !important; }
.sc17-summary-card p { color:var(--sc17-muted) !important; line-height:1.72 !important; }
.sc17-contact-bar { background:var(--sc17-gold) !important; color:#fff !important; }
.sc17-contact-bar .sc17-title, .sc17-contact-bar p, .sc17-contact-bar a { color:#fff !important; }
.sc17-contact-inner { display:grid !important; grid-template-columns:1.25fr .75fr !important; gap:50px !important; align-items:center !important; }
.sc17-contact-details { display:grid !important; gap:9px !important; justify-self:end; }
.sc17-contact-details p { margin:0 !important; }

/* ---------- interior page heroes ---------- */
.sc17-page-hero { padding-top:clamp(86px,9vw,132px) !important; padding-bottom:clamp(64px,7vw,96px) !important; background:linear-gradient(135deg,var(--sc17-cream),var(--sc17-pale-blue)) !important; }
.sc17-page-hero .sc17-display { max-width:1000px !important; }
.sc17-split { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; gap:clamp(40px,6vw,80px) !important; align-items:center !important; }
.sc17-content-card { background:#fff !important; border:1px solid rgba(169,184,196,.34) !important; border-radius:26px !important; padding:clamp(28px,4vw,46px) !important; }
.sc17-content-card h3 { font-size:30px !important; font-weight:550 !important; margin-top:0 !important; }
.sc17-list { padding-left:20px !important; color:var(--sc17-muted) !important; line-height:1.75 !important; }
.sc17-list li + li { margin-top:7px !important; }
.sc17-detail-grid { display:grid !important; grid-template-columns:repeat(2,1fr) !important; gap:20px !important; }
.sc17-detail-card { background:#fff !important; padding:32px !important; border-radius:24px !important; border:1px solid rgba(169,184,196,.34) !important; }
.sc17-detail-card h3 { margin-top:0 !important; font-size:31px !important; font-weight:550 !important; }

/* ---------- form slots ---------- */
.sc17-form-section { background:var(--sc17-white) !important; }
.sc-form-slot-shell { max-width:900px !important; margin:0 auto !important; }
.sc-form-slot-placeholder {
  background:linear-gradient(180deg,#fff,var(--sc17-cream)) !important;
  border:1px dashed var(--sc17-line) !important;
  border-radius:28px !important;
  min-height:360px !important;
  display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important;
  text-align:center !important; padding:48px 28px !important; box-shadow:0 18px 48px rgba(38,55,70,.05) !important;
}
.sc-form-slot-kicker { color:var(--sc17-gold) !important; }
.sc-form-slot-placeholder h3 { font-size:36px !important; font-weight:500 !important; }
.sc-form-slot-placeholder p, .sc-form-slot-placeholder small { color:var(--sc17-muted) !important; }
.sc-form-slot-symbol { color:var(--sc17-blue) !important; border-color:var(--sc17-line) !important; }
.sc-form-slot-steps { background:var(--sc17-blue) !important; border-radius:22px 22px 0 0 !important; }
.sc-form-slot-steps span { color:#fff !important; }
.sc-form-slot-steps b { background:var(--sc17-gold) !important; }

/* ---------- motion ---------- */
.sc17-animate, .sc17-animate-text, .sc17-value-card, .sc17-pathway, .sc17-case-pair, .sc17-summary-card {
  opacity:0; transform:translateY(28px); transition:opacity .72s ease, transform .8s cubic-bezier(.2,.7,.2,1);
}
.sc17-animate-text { transform:translateY(32px); clip-path:inset(0 0 16% 0); }
.sc17-value-card:nth-child(2), .sc17-pathway:nth-child(2), .sc17-summary-card:nth-child(2) { transition-delay:.09s; }
.sc17-value-card:nth-child(3), .sc17-pathway:nth-child(3) { transition-delay:.18s; }
.sc17-pathway:nth-child(4) { transition-delay:.09s; }
.sc17-animate.is-inview, .sc17-animate-text.is-inview, .sc17-value-card.is-inview, .sc17-pathway.is-inview, .sc17-case-pair.is-inview, .sc17-summary-card.is-inview { opacity:1; transform:none; clip-path:inset(0 0 0 0); }

/* ---------- footer ---------- */
.site-footer { background:var(--sc17-ink) !important; color:rgba(255,255,255,.78) !important; padding:72px 28px 28px !important; }
.sc-footer-grid { max-width:1180px !important; margin:0 auto !important; display:grid !important; grid-template-columns:1.35fr .85fr .85fr .95fr !important; gap:40px !important; }
.site-footer h3, .site-footer h4 { color:#fff !important; font-weight:500 !important; }
.site-footer h3 { font-size:30px !important; }
.site-footer h4 { font-size:19px !important; }
.site-footer p, .site-footer li { color:rgba(255,255,255,.72) !important; font-size:13px !important; line-height:1.7 !important; }
.site-footer a { color:rgba(255,255,255,.84) !important; text-decoration:none !important; }
.site-footer a:hover { color:var(--sc17-gold) !important; }
.sc-footer-cta .wp-block-button__link { background:var(--sc17-gold) !important; color:#fff !important; border-radius:999px !important; font-size:12px !important; }
.sc-footer-bottom { max-width:1180px !important; margin:52px auto 0 !important; }
.sc-footer-bottom .wp-block-separator { border-color:rgba(255,255,255,.18) !important; }
.sc-footer-legal { display:flex !important; flex-wrap:wrap !important; gap:14px !important; }

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
  .sc-header-inner { gap:16px !important; }
  .sc-header-phone { display:none !important; }
  .main-nav .wp-block-navigation-item__content { font-size:12px !important; padding:8px 8px !important; }
}
@media (max-width: 980px) {
  .admin-bar .site-header { top:46px !important; }
  .sc-announcement-right { display:none !important; }
  .sc-announcement-inner { justify-content:center !important; text-align:center !important; }
  .sc-header-inner { grid-template-columns:auto 1fr auto !important; }
  .main-nav { justify-self:end !important; order:3; }
  .sc-header-actions { order:2; justify-self:end !important; }
  .main-nav .wp-block-navigation__responsive-container-open { display:flex !important; color:var(--sc17-ink) !important; }
  .main-nav .wp-block-navigation__container { display:none !important; }
  .main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { display:flex !important; }
  .main-nav .wp-block-navigation__responsive-container.is-menu-open {
    background:var(--sc17-cream) !important; color:var(--sc17-ink) !important; padding:34px !important;
  }
  .main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top:70px !important; }
  .main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family:"Newsreader",serif !important; font-size:31px !important; font-weight:500 !important; padding:7px 0 !important; }
  .main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { box-shadow:none !important; border:0 !important; background:transparent !important; padding:4px 0 8px 18px !important; transform:none !important; }
  .main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-family:"Plus Jakarta Sans",sans-serif !important; font-size:14px !important; }
  .sc17-hero { min-height:auto; }
  .sc17-hero-grid, .sc17-doctor-grid, .sc17-split { grid-template-columns:1fr !important; }
  .sc17-hero-media { max-width:720px; }
  .sc17-values-grid { grid-template-columns:1fr !important; }
  .sc17-value-card { min-height:auto; }
  .sc17-value-number { margin-bottom:28px !important; }
  .sc17-pathway { grid-template-columns:1fr !important; }
  .sc17-pathway:nth-child(even) .sc17-pathway-media { order:0; }
  .sc17-pathway-media { min-height:300px; }
  .sc17-airway-callout, .sc17-contact-inner { grid-template-columns:1fr !important; }
  .sc17-contact-details { justify-self:start; }
  .sc-footer-grid { grid-template-columns:repeat(2,1fr) !important; }
}
@media (max-width: 720px) {
  .sc17-section { padding:64px 20px !important; }
  .sc17-display { font-size:clamp(43px,13vw,64px) !important; }
  .sc17-title { font-size:clamp(34px,10vw,49px) !important; }
  .sc17-hero-grid { gap:38px !important; }
  .sc17-case-grid, .sc17-summary-grid, .sc17-detail-grid { grid-template-columns:1fr !important; }
  .sc17-case-photo { aspect-ratio:1.2/1; }
  .sc17-pathway-copy { padding:30px 25px !important; }
  .sc17-pathway-media { min-height:240px; }
  .sc17-airway-callout { gap:24px !important; padding:32px 25px !important; }
  .sc-header-inner { min-height:70px !important; padding:8px 18px !important; grid-template-columns:auto auto !important; justify-content:space-between !important; }
  .sc-header-actions { display:none !important; }
  .main-nav { grid-column:2; grid-row:1; }
  .sc-brand-title { font-size:23px !important; }
  .sc-brand-symbol { width:30px !important; height:30px !important; flex-basis:30px !important; }
  .sc-announcement-inner { padding:7px 16px !important; font-size:10px !important; }
  .sc-footer-grid { grid-template-columns:1fr !important; gap:26px !important; }
  .site-footer { padding:60px 20px 24px !important; }
  .sc-footer-bottom { margin-top:38px !important; }
}
@media (max-width: 420px) {
  .sc17-section { padding-left:17px !important; padding-right:17px !important; }
  .sc17-btns { display:grid !important; }
  .sc17-btns .wp-block-button, .sc17-btns .wp-block-button__link { width:100% !important; text-align:center !important; }
  .sc17-case-pair { padding:12px !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  /* Respect reduced motion for public visitors, but do not disable motion while
     a logged-in site owner is reviewing the build. WordPress adds .logged-in
     to the frontend body for authenticated users. */
  body:not(.logged-in) *, body:not(.logged-in) *::before, body:not(.logged-in) *::after {
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  body:not(.logged-in) .sc17-animate,
  body:not(.logged-in) .sc17-animate-text,
  body:not(.logged-in) .sc17-value-card,
  body:not(.logged-in) .sc17-pathway,
  body:not(.logged-in) .sc17-case-pair,
  body:not(.logged-in) .sc17-summary-card {
    opacity:1 !important; transform:none !important; clip-path:none !important;
  }
  /* Reduced-motion visitors receive the poster. Logged-in reviewers keep the
     actual loop visible so the editor and frontend match during QA. */
  body:not(.logged-in) .sc-media-loop video { display:none !important; }
  body:not(.logged-in) .sc-media-loop .sc-media-loop-poster { display:block !important; }
}

/* Gutenberg: never hide editable content behind entrance animation. */
.editor-styles-wrapper .sc17-animate,
.editor-styles-wrapper .sc17-animate-text,
.editor-styles-wrapper .sc17-value-card,
.editor-styles-wrapper .sc17-pathway,
.editor-styles-wrapper .sc17-case-pair,
.editor-styles-wrapper .sc17-summary-card { opacity:1 !important; transform:none !important; clip-path:none !important; }
.editor-styles-wrapper .sc17-section { overflow:visible !important; }
.editor-styles-wrapper .sc17-hero { min-height:auto !important; }
.editor-styles-wrapper .sc-media-loop video { display:block !important; }
.editor-styles-wrapper .sc-media-loop .sc-media-loop-poster { display:none !important; }

/* ========================================================================
   SmileCraft v1.8 — client-review polish pass
   Fixes alignment rhythm, mobile before/after pairing and makes motion visible.
   ======================================================================== */

/* Keep one consistent content rail across the whole experience. */
.sc17-section {
  box-sizing: border-box;
}
.sc17-section > * {
  width: min(100%, 1180px);
  box-sizing: border-box;
}

/* Interior heroes: the old max-width + auto-margin combination centered each
   child independently, which made kicker, title and lead look misaligned.
   Use one intentional editorial grid instead. */
.sc17-page-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1.28fr) minmax(300px, .72fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: clamp(46px, 7vw, 112px) !important;
  row-gap: 14px !important;
  align-items: end !important;
}
.sc17-page-hero > .sc17-kicker {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.sc17-page-hero > .sc17-display {
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  max-width: 900px !important;
  margin: 0 !important;
}
.sc17-page-hero > .sc17-lead {
  grid-column: 2 !important;
  grid-row: 2 !important;
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 0 8px !important;
  justify-self: start !important;
}

/* General section rhythm: reduce "floating island" feeling and line things up. */
.sc17-section-head {
  width: min(100%, 820px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.sc17-section-head .sc17-title {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.sc17-doctor-grid,
.sc17-split,
.sc17-pathways,
.sc17-case-pair,
.sc17-summary-grid,
.sc17-contact-inner,
.sc17-values-grid,
.sc17-detail-grid {
  width: min(100%, 1100px) !important;
}

/* Home hero: balance copy and loop better and avoid a visually undersized media card. */
.sc17-hero-grid {
  width: min(100%, 1180px) !important;
  grid-template-columns: minmax(0, .94fr) minmax(440px, 1.06fr) !important;
}
.sc17-hero-copy { max-width: 610px !important; }
.sc17-hero-media { width: 100% !important; max-width: 620px !important; justify-self: end !important; }
.sc-media-loop {
  min-height: 330px;
  border: 1px solid rgba(255,255,255,.74);
  box-shadow: 0 28px 72px rgba(38,55,70,.13) !important;
}

/* Doctor intro: make the photo feel anchored rather than floating. */
.sc17-doctor-photo { min-height: 520px; }
.sc17-doctor-grid > .sc17-animate:last-child { max-width: 600px; }

/* Values: less card-template feeling, stronger editorial rhythm. */
.sc17-value-card {
  min-height: 250px !important;
  transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, border-color .35s ease !important;
}
.sc17-value-card:hover {
  transform: translateY(-7px) !important;
  box-shadow: 0 28px 58px rgba(38,55,70,.10) !important;
  border-color: rgba(188,156,101,.40) !important;
}
.sc17-value-number { margin-bottom: 38px !important; }

/* Treatment pathways: tighter, more confident cards with matched image/copy height. */
.sc17-pathways { gap: 18px !important; }
.sc17-pathway { min-height: 285px; }
.sc17-pathway-media { min-height: 285px !important; }
.sc17-pathway-copy { padding: clamp(30px, 4vw, 52px) !important; }
.sc17-pathway-copy h3 { max-width: 460px; }
.sc17-pathway-copy p { max-width: 520px; }
.sc17-pathway:hover {
  box-shadow: 0 30px 70px rgba(38,55,70,.10) !important;
}
.sc17-airway-callout { width: min(100%, 1100px) !important; }

/* Before / after must remain explicitly side-by-side even on phones, per client review. */
.sc17-case-grid {
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 12px !important;
}
.sc17-case-photo { aspect-ratio: 1.24 / 1 !important; }
.sc17-case-pair { width: min(100%, 980px) !important; }
.sc17-case-pair:hover { box-shadow: 0 28px 68px rgba(38,55,70,.10) !important; }

/* Interior split sections: remove awkward gaps and make media/copy feel connected. */
.sc17-split { gap: clamp(46px, 6vw, 82px) !important; }
.sc17-split > .sc17-photo { min-height: 390px; }
.sc17-content-card,
.sc17-detail-card,
.sc17-summary-card {
  box-shadow: 0 18px 48px rgba(38,55,70,.045);
}
.sc17-detail-card {
  min-height: 190px;
  transition: transform .3s ease, box-shadow .3s ease;
}
.sc17-detail-card:hover { transform: translateY(-5px); box-shadow: 0 24px 54px rgba(38,55,70,.08); }

/* Form pages: keep placeholder cards intentional, not like unfinished empty boxes. */
.sc17-form-section .sc17-section-head { margin-bottom: 34px !important; }
.sc-form-slot-shell { width: min(100%, 820px) !important; }
.sc-form-slot-placeholder { min-height: 320px !important; }
.sc-form-slot-placeholder h3 { margin: 18px 0 10px !important; }

/* Header: clearer dropdown affordance and steadier desktop spacing. */
.main-nav .wp-block-navigation-submenu > .wp-block-navigation-item__content::after {
  content: "⌄";
  display: inline-block;
  margin-left: 5px;
  font-size: 11px;
  line-height: 1;
  transform: translateY(-1px);
  color: var(--sc17-gold);
}
.main-nav .wp-block-navigation__submenu-container {
  opacity: 0;
  transform: translateY(10px) !important;
  transition: opacity .18s ease, transform .22s ease !important;
}
.main-nav .wp-block-navigation-submenu:hover > .wp-block-navigation__submenu-container,
.main-nav .wp-block-navigation-submenu:focus-within > .wp-block-navigation__submenu-container {
  opacity: 1;
  transform: translateY(4px) !important;
}

/* Motion system: hide only after JS marks the page motion-ready. This prevents
   content flashing or getting permanently hidden if JS/cache/plugins interfere. */
.sc18-reveal,
.sc18-reveal-media,
.sc18-reveal-left,
.sc18-reveal-right,
.sc18-reveal-scale {
  opacity: 1;
  transform: none;
  filter: none;
  clip-path: inset(0 0 0 0 round 0);
}
html.sc18-motion-ready .sc18-reveal,
html.sc18-motion-ready .sc18-reveal-media,
html.sc18-motion-ready .sc18-reveal-left,
html.sc18-motion-ready .sc18-reveal-right,
html.sc18-motion-ready .sc18-reveal-scale {
  opacity: 0;
  will-change: opacity, transform, filter, clip-path;
  transition-property: opacity, transform, filter, clip-path;
  transition-duration: .78s, .88s, .78s, .92s;
  transition-timing-function: ease, cubic-bezier(.16,.78,.24,1), ease, cubic-bezier(.16,.78,.24,1);
  transition-delay: var(--sc18-delay, 0ms);
}
html.sc18-motion-ready .sc18-reveal { transform: translate3d(0, 26px, 0); filter: blur(2px); }
html.sc18-motion-ready .sc18-reveal-left { transform: translate3d(-30px, 16px, 0); }
html.sc18-motion-ready .sc18-reveal-right { transform: translate3d(30px, 16px, 0); }
html.sc18-motion-ready .sc18-reveal-scale { transform: scale(.965) translateY(16px); }
html.sc18-motion-ready .sc18-reveal-media {
  transform: scale(1.025);
  clip-path: inset(0 0 12% 0 round 26px);
}
html.sc18-motion-ready .sc18-is-visible {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  clip-path: inset(0 0 0 0 round 0) !important;
}

/* More tactile image/card motion without becoming distracting. */
.sc17-pathway,
.sc17-case-pair,
.sc17-summary-card,
.sc17-detail-card,
.sc17-value-card,
.sc-media-loop {
  transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease !important;
}
.sc17-pathway:hover,
.sc17-summary-card:hover { transform: translateY(-5px); }
.sc17-text-link { position: relative; }
.sc17-text-link::before {
  content: "";
  position: absolute;
  left: 0; right: 18px; bottom: -3px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}
.sc17-text-link:hover::before { transform: scaleX(1); }

/* Gentle hero life after entrance; not used when reduced-motion is requested. */
@keyframes sc18HeroFloat {
  0%, 100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(0,-8px,0); }
}
@keyframes sc18RingDrift {
  0%,100% { transform: translate3d(0,0,0) scale(1); opacity:.55; }
  50% { transform: translate3d(8px,-6px,0) scale(1.035); opacity:.8; }
}
.sc18-motion-ready .sc17-hero-media.sc18-is-visible { animation: sc18HeroFloat 7s ease-in-out 1.4s infinite; }
.sc18-motion-ready .sc17-hero-media::before { animation: sc18RingDrift 8s ease-in-out infinite; }

/* Tablet + mobile cleanup. */
@media (max-width: 980px) {
  .sc17-page-hero {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    gap: 12px !important;
  }
  .sc17-page-hero > .sc17-kicker,
  .sc17-page-hero > .sc17-display,
  .sc17-page-hero > .sc17-lead {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: 780px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .sc17-page-hero > .sc17-lead { margin-top: 12px !important; }
  .sc17-hero-grid { grid-template-columns: 1fr !important; }
  .sc17-hero-copy { max-width: 740px !important; }
  .sc17-hero-media { justify-self: start !important; max-width: 760px !important; }
  .sc-media-loop { min-height: 0; }
  .sc17-doctor-photo { min-height: 0; }
  .sc17-pathway { min-height: 0; }
  .sc17-pathway-media { min-height: 300px !important; }
  .main-nav .wp-block-navigation-submenu > .wp-block-navigation-item__content::after { display:none; }
  .main-nav .wp-block-navigation__submenu-container { opacity:1; }
}

@media (max-width: 720px) {
  .sc17-section { padding-top: 58px !important; padding-bottom: 58px !important; }
  .sc17-page-hero { padding-top: 72px !important; padding-bottom: 62px !important; }
  .sc17-page-hero > .sc17-display { font-size: clamp(46px, 12.5vw, 62px) !important; }
  .sc17-page-hero > .sc17-lead { font-size: 16px !important; line-height: 1.65 !important; }
  .sc17-section-head { margin-bottom: 34px !important; }
  .sc17-hero-media::before { inset:-10px 25% 55% -8px; }
  .sc17-pathway-media { min-height: 235px !important; }
  .sc17-pathway-copy { padding: 28px 24px 30px !important; }
  .sc17-case-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 7px !important; }
  .sc17-case-pair { padding: 9px !important; border-radius: 20px !important; }
  .sc17-case-photo { aspect-ratio: .88 / 1 !important; border-radius: 14px !important; }
  .sc17-case-label { left: 8px; top: 8px; padding: 5px 7px !important; font-size: 8px !important; }
  .sc17-case-caption { font-size: 11px !important; margin-top: 10px !important; }
  .sc17-summary-grid { gap: 12px !important; }
  .sc17-detail-card { min-height: 0; }
  .sc17-contact-inner { gap: 26px !important; }
}

@media (max-width: 480px) {
  .sc17-page-hero > .sc17-display { font-size: clamp(42px, 12vw, 54px) !important; }
  .sc17-kicker { font-size: 9px !important; letter-spacing: .14em !important; }
  .sc17-case-photo { aspect-ratio: .82 / 1 !important; }
  .site-footer h3 { font-size: 27px !important; }
}

@media (prefers-reduced-motion: reduce) {
  html.sc18-motion-ready .sc18-reveal,
  html.sc18-motion-ready .sc18-reveal-media,
  html.sc18-motion-ready .sc18-reveal-left,
  html.sc18-motion-ready .sc18-reveal-right,
  html.sc18-motion-ready .sc18-reveal-scale {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
    transition: none !important;
  }
  .sc18-motion-ready .sc17-hero-media.sc18-is-visible,
  .sc18-motion-ready .sc17-hero-media::before { animation: none !important; }
}

/* Editor: all new motion targets remain fully visible and easy to select. */
.editor-styles-wrapper .sc18-reveal,
.editor-styles-wrapper .sc18-reveal-media,
.editor-styles-wrapper .sc18-reveal-left,
.editor-styles-wrapper .sc18-reveal-right,
.editor-styles-wrapper .sc18-reveal-scale {
  opacity:1 !important;
  transform:none !important;
  filter:none !important;
  clip-path:none !important;
}

/* v1.8 supersedes the older v1.7 always-hidden entrance state. */
.sc17-animate,
.sc17-animate-text,
.sc17-value-card,
.sc17-pathway,
.sc17-case-pair,
.sc17-summary-card {
  opacity: 1;
  transform: none;
  clip-path: none;
}

/* Small alignment details found in the client-review screenshots. */
.sc17-gallery > .sc17-btns,
.sc17-gallery > .sc17-content-card {
  width: min(100%, 980px) !important;
}
.sc17-gallery > .sc17-content-card { margin-top: 18px !important; }
.sc17-gallery > .sc17-btns { margin-top: 22px !important; }


/* v2.1 frontend QA parity: the editor and logged-in frontend must show the same hero video. */
body.logged-in .sc-media-loop video { display:block !important; visibility:visible !important; opacity:1 !important; }
body.logged-in .sc-media-loop .sc-media-loop-poster { display:none !important; }
