/* ===== Park One Dental — professional polish layer =====
   Keeps the brand (navy / blue / sunshine yellow, Nunito Sans + Atkinson).
   Removes the novelty: tilts, hard drop-shadows, lopsided corners, bobbing and spinning decor. */
:root{--r:18px;--ease:cubic-bezier(.22,.61,.36,1);--ease-out:cubic-bezier(.16,1,.3,1);
 --soft:0 1px 2px rgba(16,40,94,.05),0 12px 32px -14px rgba(16,40,94,.22);
 --lift:0 2px 4px rgba(16,40,94,.05),0 28px 48px -24px rgba(16,40,94,.38)}
html{scroll-padding-top:96px}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{letter-spacing:-.025em;text-wrap:balance}
p{text-wrap:pretty}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:8px}
.skip{position:fixed;left:16px;top:-72px;z-index:1200;background:var(--navy);color:#fff;padding:12px 18px;border-radius:12px;font:800 14px "Nunito Sans",sans-serif;text-decoration:none;transition:top .2s}
.skip:focus{top:12px}

/* load: soft fade instead of a yellow wipe */
.page-curtain{background:var(--bg);transform:none!important;opacity:1;transition:opacity .6s var(--ease) .05s}
body.ready .page-curtain{opacity:0;transform:none}

/* contact info reads cleaner in Nunito (Atkinson slashes its zeros) */
.topline,.topline *,.address,.contact-row,.hours,.hours *,.location-card .contact-row,footer,footer *,.visit-detail span,.visit-detail strong{font-family:"Nunito Sans",sans-serif}
.topline{font-size:13px;letter-spacing:.01em}
.topline .wrap{min-height:36px}

/* header */
header{transition:box-shadow .3s var(--ease),background-color .3s}
.nav{min-height:80px;transition:min-height .3s var(--ease)}
header.scrolled .nav{min-height:66px}
header.scrolled{box-shadow:0 12px 30px -18px rgba(16,40,94,.4)}
.smile-mark{transform:none!important;transition:none;box-shadow:inset 0 -3px 0 rgba(0,0,0,.06)}
nav>a:not(.btn),.nav-group summary{transition:color .2s}
nav>a:not(.btn):hover,.nav-group summary:hover{color:var(--blue)}
.nav-panel{border-radius:var(--r);box-shadow:var(--lift);animation:pop .28s var(--ease-out) both}
@keyframes pop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* buttons: soft depth, no hard offsets */
.btn{box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 10px 22px -10px rgba(36,86,220,.65)!important;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .25s,color .25s,border-color .25s;min-height:50px;font-weight:800;letter-spacing:.005em}
.btn:before{display:none}
.btn:hover{transform:translateY(-2px)!important;box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 16px 28px -12px rgba(36,86,220,.75)!important}
.btn:active{transform:translateY(0)!important}
.btn.alt{box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 10px 22px -10px rgba(200,150,20,.8)!important}
.btn.alt:hover{box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 16px 28px -12px rgba(200,150,20,.9)!important}
.btn.ghost{box-shadow:none!important;border-width:1.5px}
.btn.ghost:hover{background:color-mix(in srgb,var(--blue) 8%,var(--paper))}

/* hero */
.hero{padding:clamp(48px,6vw,84px) 0 clamp(48px,6vw,72px)}
.hero:before{animation:none;opacity:.75}
.hello{transform:none;font-size:13px;padding:8px 15px 8px 13px;letter-spacing:.01em}
h1{font-size:clamp(2.7rem,6.2vw,5.4rem);line-height:1.02;font-weight:900}
h2{font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.05}
.hero-copy>p{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.6}
.photo-shell{transform:none;background:#fff;padding:10px;box-shadow:var(--lift);border:1px solid var(--line)}
.photo-shell img{filter:none}
.orbit{box-shadow:var(--soft);border:1px solid var(--line);border-radius:12px;font-weight:800;font-size:13px;padding:10px 14px;animation:none;transform:none!important;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(8px)}
.spark{display:none}

/* marquee → calm strip */
.marquee{transform:none;margin:0;border:0;border-block:1px solid color-mix(in srgb,var(--navy) 14%,transparent);background:var(--navy);color:#e8efff;padding:14px 0}
.marquee-track{animation-duration:60s!important}
.marquee-track span{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}
.marquee-track span:after{color:var(--yellow)}

/* section rhythm */
section{padding:clamp(64px,8vw,108px) 0}
.kicker{letter-spacing:.14em;text-transform:uppercase;font-size:12px}
.section-top{align-items:end}

/* cards: one consistent radius, soft hover */
.service-card,.service-card:nth-child(n),.doctor,.review-card,.review-card:nth-child(n),.about-card,.about-card:nth-child(n),.blog-card,.health-group,.resource-card,.location-card,.guide-panel,.visit-detail,.step,.gallery-case,.office-photo{border-radius:var(--r)!important}
.visit-box{border-radius:28px}
.doctor{border-radius:var(--r)!important}
.service-card{transform:none!important;box-shadow:var(--soft);background:var(--paper);transition:translate .35s var(--ease),box-shadow .35s var(--ease),border-color .35s!important}
.service-card:before{opacity:.55;transition:transform .6s var(--ease-out),opacity .3s}
.service-card:hover,.doctor:hover,.review-card:hover,.resource-card:hover,.blog-card:hover,.gallery-case:hover,.visit-detail:hover{transform:none!important;translate:0 -5px;box-shadow:var(--lift)!important;border-color:color-mix(in srgb,var(--blue) 35%,var(--line))}
.service-card:hover:before{transform:scale(1.25);opacity:.8}
.step:hover{transform:none!important;translate:4px 0}
.doctor,.review-card,.resource-card,.blog-card,.visit-detail,.gallery-case{transition:translate .35s var(--ease),box-shadow .35s var(--ease),border-color .35s!important}
.review-card{background:var(--paper);box-shadow:var(--soft)}
.review-card:before{opacity:.5}
.plan{animation:none!important;box-shadow:var(--soft);border-radius:999px}
.friendly-photo:before{border-radius:var(--r)}
.friendly-photo img{border-radius:var(--r)!important}
.friendly-photo .scribble{display:none}
.case-shot img{transition:transform 1.1s var(--ease-out)}
.office-photo img,.gallery-case .case-shot img{transition:transform 1.1s var(--ease-out)}
.office-photo:hover img,.gallery-case:hover .case-shot img{transform:scale(1.04)}
.stars{letter-spacing:.06em}
.mobile-cta{box-shadow:0 -12px 28px -16px rgba(16,40,94,.4);backdrop-filter:blur(14px)}

/* footer + sub-pages */
.page-intro:after{opacity:.5}
.subpage-index a,.service-links a,.health-links a,.detail-aside a{transition:background-color .25s,color .25s,translate .25s var(--ease)}
.subpage-index a:hover,.service-links a:hover{translate:4px 0}
[data-page].active{animation:pageIn .6s var(--ease-out) both}
@keyframes pageIn{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}

/* reveal: calmer, staggered via --rd */
.reveal{transform:translate3d(0,22px,0);transition:opacity .8s var(--ease-out) var(--rd,0ms),transform .8s var(--ease-out) var(--rd,0ms)}
.reveal.in{transform:none}

/* spotlight (pointer devices) */
@media(hover:hover) and (pointer:fine){
 .service-card .glow,.review-card .glow{display:none}
 .service-card{--mx:50%;--my:50%}
 .service-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(360px circle at var(--mx) var(--my),rgba(36,86,220,.08),transparent 60%);opacity:0;transition:opacity .35s;pointer-events:none}
 .service-card:hover:after{opacity:1}
}
@media(max-width:700px){h1{font-size:clamp(2.4rem,11vw,3.2rem)}.hero{padding-top:36px}.nav{min-height:68px}}
@media print{.topline,.progress,.mobile-cta,.page-curtain,.marquee{display:none!important}header{position:static}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}.page-curtain{display:none}}
/* second pass: remaining tilts + spinning decor */
.photo-shell{animation:shellIn .9s .2s var(--ease-out) both!important;transform:none!important;border-radius:46% 46% 22px 22px}
@keyframes shellIn{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
.orbit.one,.orbit.two{transform:none!important}
.rating-lockup{transform:none!important}
.friendly-photo:before{transform:none!important;border-radius:var(--r)!important;background:color-mix(in srgb,var(--yellow) 85%,var(--bg))}
.friendly-photo img{box-shadow:var(--lift)}
.patient-info:before,.page-intro:after,.visit-box:after{animation:none!important;opacity:.4}
.team:after{opacity:.55}
h1{font-size:clamp(2.5rem,5.5vw,4.7rem);max-width:15ch}
.hero-copy>p{max-width:34ch}
@media(max-width:700px){h1{font-size:clamp(2.3rem,11vw,3.1rem)}}
/* footer: fix cramped brand column */
.footer-grid{grid-template-columns:minmax(240px,340px) 1fr;gap:32px 64px}
.footer-grid>div:first-child{line-height:1.7}
.footer-links{gap:12px 24px}
@media(max-width:1000px){.footer-grid{grid-template-columns:1fr}}
.reassurance span,.reassurance span *{font-family:"Nunito Sans",sans-serif}
@media(max-width:700px){.brand>span:last-child{display:inline!important;font-size:19px}.smile-mark{width:34px;height:34px}}
