/* Aurora Dental — bespoke. Gold on cream, hairlines, no border radius. */
.au-hero{min-height:min(78vh,660px);display:flex;align-items:center;text-align:center;background-color:#15130f;padding:90px 0;position:relative;overflow:hidden}
.au-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.au-hero::before{content:"";position:absolute;inset:0;background:rgba(12,11,9,.52);z-index:1}
.au-hero .container{position:relative;z-index:2;max-width:800px;transform:translateY(var(--py,0px))}
.au-kicker{display:inline-block;border:1px solid #c5a059;color:#e2c98c;background:rgba(0,0,0,.22);border-radius:2px;padding:6px 16px;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase}
.au-hero h1{color:#fff;font-size:clamp(2.1rem,5vw,3.4rem);font-weight:600;margin:20px 0 12px;letter-spacing:.02em;text-shadow:0 2px 26px rgba(0,0,0,.4)}
.au-hero p{color:#eee7d8;font-weight:300;font-size:1.12rem;max-width:58ch;margin:0 auto 26px}
.au-stats{background:#15130f;padding:34px 0}
.au-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}
.au-stats strong{display:block;color:#e2c98c;font-size:1.8rem;font-weight:600}
.au-stats span{color:rgba(255,255,255,.85);font-size:.88rem;font-weight:300}
.au-features{padding:72px 0;background:var(--bg,#f8f7f4)}
.au-features h2{font-size:1.7rem;font-weight:600;margin-bottom:30px}
.au-features-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.au-feature{border-top:2px solid var(--brand);padding:18px 4px 0}
.au-feature-icon{font-size:1.6rem}
.au-feature h3{margin:10px 0 6px;font-size:1.02rem;font-weight:600}
.au-feature p{color:#6f6a5f;font-size:.94rem;font-weight:300;margin:0}
.au-services{padding:64px 0}
.au-rule-head{display:flex;justify-content:space-between;align-items:baseline;border-top:3px solid var(--brand);padding-top:14px;margin-bottom:22px}
.au-rule-head h2{font-size:1.6rem;font-weight:600}
.au-rule-head a{color:var(--brand-deep,var(--brand));font-weight:600;font-size:.92rem}
.au-price-list{display:flex;flex-direction:column}
.au-price-row{display:flex;align-items:baseline;gap:12px;padding:15px 2px;border-bottom:1px solid #e4dfd2}
.au-price-name{font-weight:500}
.au-price-name em{font-style:normal;color:#6f6a5f;font-size:.84rem;margin-left:10px}
.au-price-dots{flex:1;border-bottom:1px dotted #c9c2b0;transform:translateY(-4px)}
.au-price-amount{color:var(--brand-deep,var(--brand));font-weight:700;white-space:nowrap}
.au-faq{padding:64px 0;background:var(--bg,#f8f7f4)}
.au-faq h2{font-size:1.6rem;font-weight:600;margin-bottom:22px}
.au-faq-item{border-bottom:1px solid #dcd6c6;padding:14px 2px}
.au-faq-item summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.au-faq-item summary::after{content:"+";color:var(--brand-deep,var(--brand));font-size:1.3rem;font-weight:300}
.au-faq-item[open] summary::after{content:"–"}
.au-faq-item p{color:#6f6a5f;font-weight:300;margin:10px 0 2px}
.au-hours{padding:56px 0}
.au-hours h2{font-size:1.5rem;font-weight:600;margin-bottom:18px}
.au-hours-list{margin:0}
.au-hours-list>div{display:flex;justify-content:space-between;padding:11px 2px;border-bottom:1px solid #e4dfd2}
.au-hours dt{font-weight:500}
.au-hours dd{margin:0;color:#6f6a5f}
.au-hours dd em{font-style:normal;color:var(--brand-deep,var(--brand));font-size:.85rem;margin-left:10px}
.au-cta{background:#15130f;padding:66px 0;text-align:center}
.au-cta h2{color:#fff;font-size:clamp(1.5rem,3vw,2rem);font-weight:600}
.au-cta p{color:rgba(255,255,255,.85);font-weight:300;margin:8px 0 22px}
.au-cta .btn{background:#fff;color:#1c1917;border-radius:2px;font-weight:600}
@media(max-width:820px){.au-stats-row{grid-template-columns:repeat(2,1fr)}.au-features-row{grid-template-columns:1fr}}

/* ── Motion — quiet reveal. Runtime: /assets/sites/sites.js ─────────────── */
::view-transition-old(root){animation:au-vt-out .42s ease both}
::view-transition-new(root){animation:au-vt-in .46s ease both}
@keyframes au-vt-out{to{opacity:0}}
@keyframes au-vt-in{from{opacity:0;transform:scale(1.014)}}

/* hero photo eases out of a slow Ken Burns settle */
body.motion .au-hero-bg{animation:au-zoom 3.4s cubic-bezier(.22,1,.36,1) both}
@keyframes au-zoom{from{transform:scale(1.07)}}

/* headline rises behind a curtain */
body.motion .au-hero h1[data-rv]{translate:0 30px;clip-path:inset(0 0 100% 0);transition:opacity .7s ease var(--d,0ms),translate .7s cubic-bezier(.22,1,.36,1) var(--d,0ms),clip-path .7s cubic-bezier(.22,1,.36,1) var(--d,0ms)}
body.motion .au-hero h1[data-rv].in{translate:0 0;clip-path:inset(-10% -5% -15% -5%)}

/* price list reads like print: the dotted leader draws, then the amount */
body.motion .au-price-row .au-price-dots{scale:0 1;transition:scale .55s ease .14s}
body.motion .au-price-row.in .au-price-dots{scale:1 1}
body.motion .au-price-row .au-price-amount{opacity:0;transition:opacity .4s ease .3s}
body.motion .au-price-row.in .au-price-amount{opacity:1}
.au-price-dots{transform-origin:left center}

/* FAQ answer eases open with the <details> disclosure */
@media (prefers-reduced-motion: no-preference){
  .au-faq-item[open] p{animation:au-faq-open .3s ease both}
  @keyframes au-faq-open{from{opacity:0;translate:0 -6px}}
}
@media(max-width:720px){
  body.motion .au-hero h1[data-rv]{translate:0 18px}
  body.motion .au-hero h1[data-rv].in{translate:0 0}
}
