/* Delaney Park Dentistry — demo redesign.
   Real brand from the clinic's own site (delaneyparkdentistry.com, read 8 Nov 2026):
   lime green #80B030 (logo oval), near-black green ink #1E2416, pale green #F2F7E6.
   Logo is a black-on-transparent mark, so it sits on white / pale fields only.
   Fonts: Fraunces serif headings (matches the arched serif logo lettering),
   Source Sans 3 body. Square corners throughout. Radius: 0. No shadows.
   Body copy in full ink — no muted grey. Tone steps separate sections.
   Type scale (5 sizes only): 48 / 32 / 20 / 16 / 14.
   Spacing scale: 4 / 8 / 16 / 24 / 32 / 48 / 64.
   Layout differs from Alfonso/Soni: photo-right hero, services as three wide
   tone-step rows (no cards, no icons), heritage band, form as a closing strip. */
:root{
  --green:#80B030; --green-dark:#5C7F1F; --green-pale:#F2F7E6; --green-deep:#22301A;
  --ink:#1E2416; --white:#ffffff; --cream:#FBFDF6;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Source Sans 3',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);line-height:1.6;background:var(--white)}
h1{font-family:'Fraunces',Georgia,serif;color:var(--ink);font-size:48px;line-height:1.05;letter-spacing:-0.01em}
h2{font-family:'Fraunces',Georgia,serif;color:var(--ink);font-size:32px;line-height:1.2;letter-spacing:-0.01em}
h3{font-family:'Fraunces',Georgia,serif;color:var(--ink);font-size:20px;line-height:1.3}
a{color:var(--green-dark);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
section[id]{scroll-margin-top:90px}

/* top bar: pale green contact line */
.topbar{background:var(--green-pale);color:var(--ink);font-size:14px;font-weight:700}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:8px;padding-bottom:8px;flex-wrap:wrap}
.topbar a{color:var(--ink)}
.tb-left{display:flex;gap:24px;flex-wrap:wrap}
.topbar .tb-right{font-weight:700}

/* header: white so the black logo lettering reads */
.site-header{background:var(--white);position:sticky;top:0;z-index:50}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:16px;padding-bottom:16px}
.brand img{height:64px;width:auto;display:block}
.main-nav{display:flex;gap:24px;align-items:center}
.main-nav a{color:var(--ink);font-weight:700;font-size:16px}
.main-nav a:hover{color:var(--green-dark);text-decoration:none}
.btn{display:inline-block;background:var(--green);color:#fff;font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:16px;padding:16px 24px;border:0;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--green-dark);text-decoration:none}
.btn.ghost{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff}

/* hero: pale green field, photo right on a white panel */
.hero{background:var(--green-pale);padding:64px 0}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero h1{margin:0 0 16px}
.hero .lede{font-size:20px;line-height:1.5;margin-bottom:24px;max-width:560px}
.stars{color:#C98A00;font-size:20px}
.rating-line{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ink);margin-bottom:24px;flex-wrap:wrap}
.rating-line a{font-weight:700}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap}
.hero-note{margin-top:16px;font-size:14px}
.hero-photo{background:var(--white);padding:24px 24px 16px}
.hero-photo img{width:100%;height:420px;object-fit:cover;object-position:top;display:block}
.photo-cap{font-size:14px;font-weight:700;margin-top:16px}

/* trust strip: deep green band */
.trust{background:var(--green-deep);color:#fff;padding:32px 0}
.trust .wrap{display:grid;grid-template-columns:1.2fr 1fr 1.4fr 1.4fr;gap:24px}
.trust .num{font-family:'Fraunces',Georgia,serif;font-size:32px;font-weight:700;color:#BFE07A;line-height:1.2}
.trust .lbl{font-size:16px;color:#fff}

/* sections */
.section{padding:64px 0}
.section.tint{background:var(--green-pale)}
.section.deep{background:var(--green-deep);color:#fff}
.section.deep h2{color:#fff}
.section.deep p{color:#fff}
.section.deep a{color:#BFE07A}
.section h2{margin-bottom:16px}
.section .sub{max-width:640px;margin-bottom:32px}

/* services: three wide rows, tone steps, no cards, no icons */
.svc-row{display:grid;grid-template-columns:.85fr 1.15fr;gap:32px;padding:32px 0}
.svc-row.tint{background:var(--green-pale);padding:32px;margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}
.svc-head h3{margin-bottom:8px}
.svc-list{list-style:none}
.svc-list li{padding:8px 0;font-size:16px}
.svc-list li strong{color:var(--ink)}

/* practice: deep green heritage band */
.practice-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:48px;align-items:start}
.practice-grid p{margin-bottom:16px}
.practice-facts p{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:baseline;padding:16px 0}
.fact-num{font-family:'Fraunces',Georgia,serif;font-size:32px;font-weight:700;color:#BFE07A}
.fact-lbl{font-size:16px;color:#fff}

/* doctor: white, photo left on pale panel */
.doctor-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}
.doctor-photo{background:var(--green-pale);padding:24px}
.doctor-photo img{width:100%;height:480px;object-fit:cover;object-position:top;display:block}
.doctor-copy h2{margin-bottom:8px}
.doctor-copy .cred{font-family:'Fraunces',Georgia,serif;font-weight:700;color:var(--green-dark);font-size:20px;margin-bottom:16px}
.doctor-quote{font-family:'Fraunces',Georgia,serif;font-size:20px;line-height:1.5;margin-bottom:16px}
.doctor-copy p{margin-bottom:16px}
.doctor-copy ul{list-style:none;margin-top:24px}
.doctor-copy li{padding:8px 0 8px 32px;position:relative;font-weight:700}
.doctor-copy li::before{content:"✓";position:absolute;left:0;top:8px;color:var(--green-dark);font-weight:700}

/* reviews: aggregate only, no invented quotes */
.rev-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:16px;flex-wrap:wrap}
.rev-head h2{margin-bottom:8px}
.rev-head .agg{font-size:20px;font-weight:700;color:var(--ink)}
.rev-head .agg a{font-size:16px}
.rev-note{font-size:16px;max-width:640px}

/* visit */
.visit-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.visit-info h2{margin-bottom:16px}
.visit-info .vrow{margin-bottom:24px}
.visit-info .vrow .k{font-family:'Fraunces',Georgia,serif;font-size:14px;font-weight:700;color:var(--green-dark)}
.visit-info .vrow .v{font-size:20px;font-weight:700;color:var(--ink)}
.visit-info .vrow .v a{color:var(--ink)}
.hours-table{border-collapse:collapse;font-size:16px}
.hours-table td{padding:8px 24px 8px 0}
.hours-table td:last-child{font-weight:700;color:var(--ink)}
.map-frame{border:0;width:100%;height:360px;display:block;background:var(--green-pale)}

/* booking strip: deep green, form right */
.book-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.book-grid h2{margin-bottom:16px}
.book-grid form label{display:block;font-size:14px;font-weight:700;color:#fff;margin:16px 0 8px}
.book-grid form label:first-child{margin-top:0}
.book-grid form input{width:100%;padding:16px;border:1px solid #4a5a3a;font:inherit;font-size:16px;background:#fff;color:var(--ink)}
.book-grid form input:focus{outline:2px solid var(--green)}
.book-grid form .btn{width:100%;margin-top:24px;padding:16px}

/* footer: deep green, logo on a white square panel */
.site-footer{background:var(--green-deep);color:#fff;padding:48px 0 32px}
.site-footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1.2fr .9fr;gap:32px}
.footer-mark{background:var(--white);display:inline-block;padding:8px;margin-bottom:16px}
.footer-mark img{height:80px;width:auto;display:block}
.site-footer h4{color:#fff;font-family:'Fraunces',Georgia,serif;font-size:16px;margin-bottom:16px}
.site-footer a{color:#fff}
.site-footer a:hover{color:#BFE07A}
.site-footer .fcol{min-width:180px}
.site-footer .fcol p{font-size:16px}
.site-footer .legal{background:#182414;margin-top:32px;padding:16px 0;font-size:14px;color:#fff}
.site-footer .legal .wrap{display:block}

/* mobile menu: hidden on desktop, hamburger dropdown on phones */
.mobile-menu{display:none}

@media (max-width:900px){
  .mobile-menu{display:block;position:relative}
  .mobile-menu summary{list-style:none;cursor:pointer;color:var(--ink);font-weight:700;font-size:15px;font-family:'Fraunces',Georgia,serif;padding:10px 14px;border:1px solid var(--ink)}
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu .mobile-links{position:absolute;right:0;top:calc(100% + 10px);background:var(--white);border:1px solid var(--ink);padding:8px;min-width:200px}
  .mobile-menu .mobile-links a{display:block;color:var(--ink);font-weight:700;font-size:15px;padding:10px 12px}
  .mobile-menu .mobile-links a:hover{background:var(--green-pale);color:var(--green-dark);text-decoration:none}
  .site-header .wrap{gap:12px}
  .site-header .btn{padding:10px 14px;font-size:14px}
  .hero-grid,.doctor-grid,.visit-grid,.book-grid,.practice-grid{grid-template-columns:1fr;gap:32px}
  .svc-row{grid-template-columns:1fr;gap:16px}
  .site-footer .wrap{grid-template-columns:1fr}
  .trust .wrap{grid-template-columns:repeat(2,1fr)}
  .main-nav{display:none}
  .hero h1{font-size:34px}
  .hero-photo img{height:340px}
  .doctor-photo img{height:360px}
}
