/* ==========================================================================
   3A Dental: v1.4 layer. Tighter rhythm, prices, drawn icons, blog, depth.
   ========================================================================== */

/* ---------- Rhythm: two sections with the same background share one gap */
.section.bg-white + .section.bg-white,
.section.bg-white + .section-sm.bg-white,
.section-sm.bg-white + .section.bg-white,
.section.bg-cream + .section.bg-cream,
.section.bg-blush + .section.bg-blush,
.section.bg-deep + .section.bg-deep{padding-top:0}

/* ---------- Depth: dark bands float as rounded sheets on the cream page */
@media (min-width:700px){
  .a3s > .section.bg-ink:not(.cta-band){
    margin-inline:clamp(10px,1.4vw,22px);border-radius:clamp(26px,3vw,44px);overflow:hidden
  }
}
.hero{isolation:isolate}
.hero::before{
  content:"";position:absolute;z-index:-1;width:min(62vw,760px);aspect-ratio:1;right:-12%;top:-18%;
  background:radial-gradient(closest-side,rgba(255,148,187,.38),rgba(255,148,187,0) 70%);
  filter:blur(8px);animation:a3blob 18s ease-in-out infinite alternate
}
.hero::after{
  content:"";position:absolute;z-index:-1;width:min(40vw,480px);aspect-ratio:1;left:-10%;bottom:-20%;
  background:radial-gradient(closest-side,rgba(255,73,139,.14),rgba(255,73,139,0) 70%);
  animation:a3blob 22s ease-in-out infinite alternate-reverse
}
@keyframes a3blob{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-4%,6%) scale(1.08)}100%{transform:translate(3%,-3%) scale(.96)}}

/* ---------- Drawn line icons */
.a3-ico{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--pink-wash);color:var(--pink-deep);flex:none}
.a3-ico svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.js .a3-ico svg *{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.3s var(--ease)}
.js .a3-ico.drawn svg *{stroke-dashoffset:0}
.bg-ink .a3-ico{background:rgba(255,148,187,.12);color:var(--pink-soft)}
.a3-show-list .t .a3-ico{width:34px;height:34px;border-radius:10px;margin-right:.75rem;vertical-align:-7px}
.a3-show-list .a3-ico svg{width:19px;height:19px}
.step .a3-ico{margin-bottom:1rem}

/* ---------- Prices */
.a3-prices{margin-top:clamp(8px,1vw,14px)}
.a3-price-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:clamp(20px,2.4vw,30px)}
.a3-price-tabs button{font:600 .86rem/1 var(--body);padding:.75rem 1.15rem;border-radius:999px;border:1px solid var(--grey-line);background:var(--white);color:var(--charcoal);cursor:pointer;transition:all .25s var(--ease)}
.a3-price-tabs button:hover{border-color:var(--pink-soft);color:var(--pink-deep)}
.a3-price-tabs button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.a3-price-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:clamp(12px,1.4vw,18px)}
.a3-price{position:relative;display:flex;flex-direction:column;gap:.55rem;background:var(--white);border:1px solid var(--grey-line);border-radius:var(--r-lg);padding:clamp(20px,2.2vw,28px);transition:transform .45s var(--ease),box-shadow .45s var(--ease),opacity .35s,border-color .3s}
.a3-price:hover{transform:translateY(-4px);box-shadow:var(--shadow-m);border-color:#f6d3df}
.a3-price.is-out{display:none}
.a3-price h3{font-size:1.12rem;line-height:1.3;margin:.5rem 0 0}
.a3-price .amt{font-family:var(--display);font-size:clamp(1.7rem,2.6vw,2.15rem);line-height:1.05;color:var(--ink);margin:0;font-variant-numeric:tabular-nums}
.a3-price .amt small{font-family:var(--body);font-size:.78rem;font-weight:600;letter-spacing:.04em;color:var(--text-muted);margin-left:.35rem}
.a3-price .inc{font-size:.9rem;line-height:1.55;color:var(--text-muted);margin:0}
.a3-price .link-arrow{margin-top:auto;padding-top:.6rem;align-self:flex-start}
.a3-price.feature{background:var(--ink);border-color:var(--ink);color:#ded8d6}
.a3-price.feature h3,.a3-price.feature .amt{color:#fff}
.a3-price.feature .inc{color:#b9b2b0}
.a3-price.feature .a3-ico{background:rgba(255,148,187,.14);color:var(--pink-soft)}
.a3-price .flag{position:absolute;top:18px;right:18px;font:600 .66rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;background:var(--pink);color:#fff;padding:.42rem .6rem;border-radius:999px}
.a3-price-note{margin-top:clamp(18px,2vw,26px);font-size:.92rem;color:var(--text-muted);max-width:70ch}
.bg-ink .a3-price-note{color:#b9b2b0}
.a3-price-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.2vw,16px)}
@media (max-width:900px){.a3-price-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){.a3-price-strip{grid-template-columns:1fr}}
table.t td.p{white-space:nowrap;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}

/* ---------- Blog list */
.a3-blog-grid,.a3-post-list .wp-block-post-template{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:clamp(16px,2vw,26px)}
.a3-post-list .wp-block-post-template > li{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--grey-line);border-radius:var(--r-lg);overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.a3-post-list .wp-block-post-template > li:hover{transform:translateY(-5px);box-shadow:var(--shadow-m)}
.a3-post-list .wp-block-post-featured-image{margin:0;aspect-ratio:16/10;overflow:hidden;background:var(--cream-deep)}
.a3-post-list .wp-block-post-featured-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.a3-post-list li:hover .wp-block-post-featured-image img{transform:scale(1.05)}
.a3-post-list .wp-block-post-date,.a3-post-list .wp-block-post-terms{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pink-deep);font-weight:600;margin:1.2rem 1.4rem 0}
.a3-post-list .wp-block-post-title{font-size:1.28rem;line-height:1.25;margin:.55rem 1.4rem 0}
.a3-post-list .wp-block-post-title a{color:var(--ink);text-decoration:none}
.a3-post-list .wp-block-post-excerpt{margin:.6rem 1.4rem 1.5rem;font-size:.95rem;color:var(--text-muted)}
.a3-post-list .wp-block-post-excerpt__more-text{margin-top:.7rem}
.a3-post-list .wp-block-query-pagination{margin-top:2rem;display:flex;gap:1rem}

/* ---------- Single post */
.a3-post-hero{margin:clamp(22px,3vw,36px) 0 0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/9;background:var(--cream-deep)}
.a3-post-hero img{width:100%;height:100%;object-fit:cover}
.a3-byline{display:flex;align-items:center;gap:.8rem;margin-top:1.1rem;font-size:.9rem;color:var(--text-muted)}
.a3-byline img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.a3-byline strong{color:var(--ink);display:block;font-size:.95rem}
.a3-author{display:flex;gap:1.1rem;align-items:flex-start;margin-top:clamp(34px,4vw,52px);padding:clamp(20px,2.4vw,28px);background:var(--white);border:1px solid var(--grey-line);border-radius:var(--r-lg)}
.a3-author img{width:76px;height:76px;border-radius:50%;object-fit:cover;flex:none}
.a3-author h4{margin:0 0 .3rem;font-size:1.08rem}
.a3-author p{margin:0;font-size:.95rem;color:var(--text-muted)}
.a3-post-cta{margin-top:clamp(26px,3vw,40px);padding:clamp(24px,3vw,36px);border-radius:var(--r-lg);background:var(--ink);color:#ded8d6}
.a3-post-cta h3{color:#fff;margin:0 0 .4rem}
.a3-post-cta p{margin:0 0 1.1rem;color:#b9b2b0}
.a3-prose .a3-callout{background:var(--pink-wash);border-radius:var(--r);padding:1.1rem 1.3rem;color:var(--ink)}
.a3-readtime{margin-left:.6rem;padding-left:.6rem;border-left:1px solid var(--grey-mid)}

/* ---------- 3D: extra models share the implant explorer layout */
.a3-3d[data-a3-3d="tooth"] .a3-3d-stage,.a3-3d[data-a3-3d="aligner"] .a3-3d-stage{background:radial-gradient(120% 90% at 50% 20%,#fff 0%,#f6eeeb 60%,#efe3df 100%)}
.a3-3d-range{display:flex;align-items:center;gap:.8rem;margin-top:.9rem;font-size:.85rem;color:var(--text-muted)}
.a3-3d-range input{flex:1;accent-color:var(--pink)}

@media (prefers-reduced-motion:reduce){
  .hero::before,.hero::after{animation:none}
  .js .a3-ico svg *{stroke-dashoffset:0;transition:none}
  .a3-price,.a3-post-list li{transition:none}
}

/* ---------- Fixes after first review */
.a3-price.feature .link-arrow{color:#fff;border-color:rgba(255,148,187,.6)}
.section-head h2 + .lede{margin-top:.75rem}
.phero h1 + .lede,.phero .wp-block-heading + .lede{margin-top:1rem}
.a3-price-note .link-arrow{font-size:.95rem}

.a3-3d-toggle{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted);margin-top:.9rem;margin-left:1rem;cursor:pointer}
.a3-3d-toggle input{accent-color:var(--pink);width:16px;height:16px}
.a3-post-head .crumbs{margin-bottom:1.2rem}
.a3-post-head .wp-block-post-title{margin-top:.4rem}
.a3-post-list h3.wp-block-post-title{font-size:1.22rem}
