/* =====================================================
   Millpond Family Dental — "patients" page group
   (first-visit, emergency, membership-plan, financial,
    dental-appointment, technology). Loaded after inner.css.
   ===================================================== */

/* ---------- shared bits ---------- */
.pt-rule{border:0;border-top:1px solid #ddd;margin:26px 0 0}
.pt-body{padding:0 0 30px}
.pt-body h2{font-family:var(--roboto);font-weight:700;font-size:30px;line-height:1.2;color:var(--navy);margin:0 0 14px}
.pt-body p{font-size:17px;line-height:1.7;color:var(--ink)}
.pt-body .lead-title{text-align:center;font-size:36px;color:#444;margin:70px 0 20px}
.pt-section{margin:50px 0}
.pt-intro-center{text-align:center;max-width:900px;margin:0 auto}
.embed.pt-video{margin:70px auto 90px}
.info-band .btn svg{width:16px;height:16px}
.btn-pill-navy svg{width:18px;height:18px;margin-left:10px}
.photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:30px 0 0}
.photo-row a{display:block}
.photo-row img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px}

/* ---------- CTA pair band (financial, technology) ---------- */
.pt-cta-band{background:var(--blue-pale);padding:90px 0;margin-top:60px}
.pt-cta-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.pt-cta-pair .sidebar-card{display:flex;flex-direction:column;justify-content:center;border-radius:6px;border:0;padding:30px 20px}
.pt-cta-pair .cta-box{margin:0;padding:40px 30px;display:flex;flex-direction:column;justify-content:center;align-items:center}
.pt-cta-pair .cta-box h2{font-size:44px}
.pt-cta-pair .cta-box p{max-width:400px}
.pt-cta-pair .cta-box .btn-pill-navy{text-transform:uppercase;font-size:15px;padding:14px 32px}

/* ---------- Financial ---------- */
.pt-two{display:grid;grid-template-columns:1fr 450px;gap:30px;align-items:start;margin:70px 0 40px}
.pt-ins-box{background:var(--blue-pale);border-radius:16px;padding:40px 40px 34px;text-align:center}
.pt-ins-box img{margin:0 auto 26px;max-width:210px}
.pt-ins-box img.short{max-width:230px}
.pt-ins-box .more{font-family:var(--roboto);font-weight:700;font-style:italic;font-size:17px;color:var(--navy);margin:10px 0 0}
.pt-body .accordion{margin-bottom:60px}

/* ---------- Technology ---------- */
.card-grid .card.photo{padding:0;overflow:hidden;min-height:260px}
.card-grid .card.photo img{width:100%;height:100%;object-fit:cover}

/* ---------- Book online ---------- */
.pt-book{border:1px solid #ddd;margin:20px auto 90px;max-width:1110px;background:#fff}
.pt-book iframe{display:block;width:100%;height:800px;border:0}

/* ---------- Membership ---------- */
.plan h3.label{color:#fff;font-family:var(--lato);font-weight:400}

/* ---------- Emergency page ---------- */
.band-green.pt-band h2{font-size:29px;letter-spacing:-.3px}
.emerg-hero.pt-blur{overflow:hidden;background:#3a3330}
.emerg-hero .pt-bg{position:absolute;inset:-24px;background:#3a3330 47% 100%/cover no-repeat;filter:blur(7px);z-index:0}
.emerg-hero.pt-blur::before{z-index:1;background:linear-gradient(180deg,rgba(39,40,42,.3) 30%,rgba(0,0,0,.8) 90%)}
.emerg-hero.pt-blur .container{z-index:2}
.emerg-hero .btn-red{text-transform:uppercase;font-size:18px}
.emerg-card .addr{font-size:17px;line-height:1.5;margin:0 0 22px;color:#444}
.emerg-card .btn-navy{margin:0 0 26px}
.emerg-card .price{font-weight:700;font-size:16px;margin:0}

.pt-common{background:#f1f1f1;padding:60px 0 60px;text-align:center;margin-top:30px}
.pt-common h2{font-family:var(--lato);font-weight:900;font-size:44px;letter-spacing:-1.5px;color:var(--navy);margin:0 0 20px}
.pt-common .sub{font-family:var(--inter);font-size:16px;color:#555;margin:0 0 44px}
.pt-common-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pt-ecard{background:#fff;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.06);padding:26px 24px 20px}
.pt-ecard img{width:240px;height:240px;margin:0 auto 40px}
.pt-ecard h3{font-family:var(--roboto);font-weight:700;font-size:20px;color:var(--navy);margin:0 0 14px}
.pt-ecard p{font-family:var(--roboto);font-size:16px;line-height:1.6;color:#444;margin:0}
.pt-tooth-rule{display:flex;align-items:center;gap:30px;margin:70px 0 0}
.pt-tooth-rule::before,.pt-tooth-rule::after{content:"";flex:1;border-top:4px dotted #d5d5d5}
.pt-tooth-rule svg{width:30px;height:32px;color:#111;flex:0 0 30px}

.pt-sameday{background:var(--blue-pale);border-radius:16px;padding:44px 32px 40px;margin:70px 0 40px}
.pt-sameday h2{display:flex;align-items:center;gap:16px;font-family:var(--lato);font-weight:900;font-size:44px;letter-spacing:-1.5px;color:#222;margin:0 0 30px}
.pt-sameday h2 svg{width:22px;height:22px;color:var(--navy);flex:0 0 22px}
.pt-sameday p{font-family:var(--roboto);font-size:17px;line-height:1.6;color:#222;margin:0 0 30px}
.pt-sameday ul{list-style:disc;padding-left:34px;margin:0 0 40px}
.pt-sameday li{font-family:var(--roboto);font-size:17px;line-height:1.6;color:#222}
.pt-sameday h3{font-family:var(--lato);font-weight:900;font-size:24px;letter-spacing:-.5px;color:var(--navy);margin:0 0 6px}
.pt-sameday h3+p{margin:0;font-family:var(--lato)}
.pt-cta-line{text-align:center;font-size:22px;color:#222;margin:0 0 20px}
.pt-btns{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin:0 0 60px}
.pt-btns a{min-width:240px;justify-content:center;font-size:15px;padding:16px 40px;text-transform:uppercase;gap:10px}
.pt-after h2{font-family:var(--lato);font-weight:900;font-size:36px;letter-spacing:-1px;color:var(--navy);margin:0 0 10px}
.pt-after>p{font-size:17px;color:#222;margin:0}
.pt-steps{background:#fff;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.08);padding:30px 24px 10px;margin:40px 0 80px;list-style:none;counter-reset:s}
.pt-steps li{position:relative;padding-left:36px;font-family:var(--roboto);font-size:16px;color:#333;margin:0 0 22px;counter-increment:s}
.pt-steps li::before{content:counter(s);position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--blue);color:var(--navy);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.pt-steps li a{color:#333;font-weight:400;text-decoration:none}

.pt-reviews{background:var(--navy);padding:60px 0 80px;color:#fff}
.pt-reviews h2{font-family:var(--lato);font-weight:900;font-size:36px;letter-spacing:-1px;text-align:center;color:#fff;margin:0 0 50px}
.pt-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;align-items:start}
.pt-review{background:#fff;border-radius:6px;padding:30px 40px 30px;color:#333}
.pt-review .stars{display:flex;justify-content:center;margin:0 0 30px;color:#f5c400}
.pt-review .stars svg{width:18px;height:18px}
.pt-review p{font-style:italic;font-size:15px;line-height:1.7;margin:0 0 20px;color:#333}
.pt-review .who{display:block;text-align:right;font-weight:700;font-size:17px;color:#222}

.pt-ready{text-align:center;padding:80px 0 40px}
.pt-ready h2{font-family:var(--roboto);font-weight:300;font-size:64px;color:var(--navy);margin:0 0 60px}
.pt-people{display:flex;justify-content:center;gap:60px;flex-wrap:wrap}
.pt-person{max-width:260px}
.pt-person img{width:170px;height:170px;border-radius:50%;object-fit:cover;object-position:top;margin:0 auto 20px}
.pt-person .name{display:block;font-weight:700;font-size:20px;color:#222}
.pt-person .name:hover{color:var(--blue)}
.pt-person .role{display:block;font-style:italic;color:#555;margin:0 0 20px;font-size:17px}
.pt-person p{font-size:16px;line-height:1.6;color:#333;margin:0}
.pt-pain{text-align:center;padding:60px 0 40px}
.pt-pain h2{font-family:var(--lato);font-weight:900;font-size:44px;letter-spacing:-1.5px;color:var(--navy);margin:0 0 20px}
.pt-pain p{font-size:22px;line-height:1.4;color:#222;max-width:520px;margin:0 auto 30px}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .pt-two{grid-template-columns:1fr}
  .pt-ins-box{max-width:520px}
  .pt-common-grid{gap:16px}
  .pt-ecard img{width:180px;height:180px}
}
@media (max-width:768px){
  .pt-body h2{font-size:26px}
  .pt-body .lead-title{font-size:28px}
  .photo-row{grid-template-columns:1fr 1fr}
  .pt-common-grid,.pt-review-grid,.pt-cta-pair{grid-template-columns:1fr}
  .pt-common h2,.pt-sameday h2,.pt-pain h2{font-size:30px;letter-spacing:-1px}
  .pt-after h2,.pt-reviews h2{font-size:28px}
  .pt-ready h2{font-size:40px}
  .pt-btns{gap:16px}
  .pt-btns a{width:100%}
  .pt-cta-pair .cta-box h2{font-size:32px}
  .pt-book iframe{height:700px}
  .pt-sameday{padding:30px 20px}
  .emerg-hero .btn-red{font-size:15px;padding:14px 26px}
  .info-band{grid-template-columns:1fr;padding:26px}
}

/* Emergency page emoji icons: cap at 96px */
img[src*="/images/pages/emoji-"]{width:96px;height:96px;max-width:96px}
