/*
Theme Name: Sara B. Boren DDS
Theme URI: https://www.norwalkdds.com/
Author: OpenAI for Sara B. Boren DDS
Description: A custom one-page WordPress theme for Sara B. Boren, DDS, FAGD, emphasizing advanced education, comprehensive dentistry, the Kois Center, and independent dental care.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: sara-boren-dds
*/

:root{
  --black:#111111;
  --white:#ffffff;
  --ivory:#f7f4ee;
  --gold:#b08a4a;
  --gold-dark:#92703a;
  --gray:#6a6a6a;
  --line:#ded8cc;
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--black);background:var(--white);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.sbb-container{width:min(calc(100% - 40px),var(--max));margin:0 auto}
.sbb-eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--gold-dark)}
.sbb-site h1,.sbb-site h2,.sbb-site h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;margin:0}
.sbb-site h1{font-size:clamp(3rem,6vw,6.3rem);letter-spacing:-.03em}
.sbb-site h2{font-size:clamp(2.4rem,4.5vw,4.5rem);letter-spacing:-.025em}
.sbb-site h3{font-size:clamp(1.45rem,2.4vw,2.1rem)}
.sbb-site p{margin:0 0 1.25rem;font-size:1.05rem;color:#303030}
.sbb-lead{font-size:1.24rem!important;line-height:1.7;color:#2d2d2d!important}
.sbb-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border:1px solid var(--black);font-size:.83rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:.2s ease;background:var(--black);color:#fff}
.sbb-btn:hover,.sbb-btn:focus{transform:translateY(-1px);background:#2a2a2a;color:#fff}
.sbb-btn-outline{background:transparent;color:var(--black)}
.sbb-btn-outline:hover,.sbb-btn-outline:focus{background:var(--black);color:#fff}
.sbb-gold-rule{width:54px;height:2px;background:var(--gold);margin:18px 0 24px}

.site-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #ece8e0}
.admin-bar .site-header{top:32px}
.sbb-nav{height:116px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.sbb-brand{display:flex;align-items:center;gap:16px;min-width:0}
.sbb-brand img,.sbb-brand .custom-logo{height:104px;width:auto;max-width:340px;object-fit:contain;mix-blend-mode:multiply;display:block}
.sbb-brand-text{font-family:Georgia,'Times New Roman',serif;font-size:1.5rem}
.sbb-navlinks{display:flex;align-items:center;gap:26px;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.sbb-navlinks a{position:relative}
.sbb-navlinks a:not(.sbb-nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--gold);transition:.2s}
.sbb-navlinks a:not(.sbb-nav-cta):hover:after{right:0}
.sbb-nav-cta{padding:12px 18px;background:var(--black);color:#fff;border:1px solid var(--black)}
.sbb-nav-cta:hover,.sbb-nav-cta:focus{color:#fff;background:#2a2a2a}
.sbb-menu{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}

.sbb-hero{background:var(--ivory);min-height:760px;display:grid;align-items:stretch}
.sbb-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;min-height:760px}
.sbb-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:80px 60px 80px 0}
.sbb-hero-copy .sbb-sub{font-size:1.18rem;max-width:660px;margin:26px 0 34px;color:#434343}
.sbb-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.sbb-hero-meta{display:flex;gap:24px;flex-wrap:wrap;margin-top:46px;padding-top:22px;border-top:1px solid #d8d1c5;font-size:.95rem;color:#4f4f4f}
.sbb-hero-image{position:relative;overflow:hidden;background:#ddd;align-self:center;height:620px;width:88%;justify-self:end}
.sbb-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.sbb-hero-image:after{content:"";position:absolute;inset:auto 0 0 0;height:110px;background:linear-gradient(to top,rgba(0,0,0,.28),transparent)}

.sbb-section{padding:110px 0}
.sbb-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}
.sbb-intro h2{max-width:520px}
.sbb-intro-copy{max-width:700px}
.sbb-quote-line{font-family:Georgia,'Times New Roman',serif;font-size:1.85rem;line-height:1.35;margin-top:30px;padding-left:22px;border-left:2px solid var(--gold)}

.sbb-bio{background:#111;color:#fff}
.sbb-bio p{color:#d8d8d8}
.sbb-bio .sbb-eyebrow{color:#d1ae70}
.sbb-bio-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}
.sbb-bio-side{position:sticky;top:150px}
.sbb-credential-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.sbb-chip{border:1px solid #666;padding:8px 11px;font-size:.77rem;letter-spacing:.1em;text-transform:uppercase;color:#eee}
.sbb-bio-copy .sbb-large-callout{font-family:Georgia,serif;font-size:2rem;line-height:1.35;color:#fff;margin:24px 0 34px}

.sbb-credentials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}
.sbb-card{border:1px solid var(--line);padding:34px;min-height:320px;background:#fff;display:flex;flex-direction:column}
.sbb-card .sbb-num{font-family:Georgia,serif;font-size:2.2rem;color:var(--gold);margin-bottom:20px}
.sbb-card p{margin-top:15px}
.sbb-card strong{display:block;margin-top:auto;padding-top:22px;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:#333}

.sbb-kois{background:var(--ivory)}
.sbb-kois-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center}
.sbb-risk-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}
.sbb-risk{background:#fff;border:1px solid var(--line);padding:22px}
.sbb-risk b{font-family:Georgia,serif;font-size:1.2rem;display:block;margin-bottom:6px}
.sbb-kois-callout{border-left:3px solid var(--gold);padding:4px 0 4px 24px;font-family:Georgia,serif;font-size:1.65rem;line-height:1.35}

.sbb-patient-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:40px}
.sbb-patient{padding:34px;border:1px solid var(--line);background:#fff}
.sbb-patient h3{margin-bottom:12px}
.sbb-patient p{font-size:1rem;color:#575757}
.sbb-patient-wide{grid-column:1/-1}

.sbb-independent{background:#111;color:#fff;text-align:center;padding:120px 0}
.sbb-independent .sbb-eyebrow{color:#d5b57a}
.sbb-independent h2{max-width:980px;margin:0 auto}
.sbb-independent .sbb-statement{max-width:900px;margin:40px auto 26px;font-family:Georgia,serif;font-size:clamp(2rem,4vw,4rem);line-height:1.2;color:#fff}
.sbb-independent .sbb-statement span{color:#d2ad6b}
.sbb-independent p{color:#d7d7d7;max-width:830px;margin:0 auto 18px}
.sbb-insurance{margin-top:45px;padding-top:36px;border-top:1px solid #3d3d3d}

.sbb-philosophy{background:var(--ivory)}
.sbb-philosophy-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}
.sbb-philosophy-copy .sbb-big{font-family:Georgia,serif;font-size:2.2rem;line-height:1.3;margin-bottom:26px}

.sbb-cta{padding:120px 0;background:#fff;text-align:center}
.sbb-cta p{max-width:700px;margin:20px auto 30px}
.sbb-cta-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

.site-footer{background:#000;color:#fff;padding:52px 0}
.site-footer p{color:#bbb;margin:0}
.sbb-footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:flex-end}
.sbb-footer-logo img{height:104px;width:auto;object-fit:contain;display:block}
.sbb-footer-right{text-align:right;font-size:.9rem;color:#aaa}
.sbb-footer-right a{color:#aaa}
.sbb-footer-right a:hover{color:#fff}

/* Basic content styles for ordinary WordPress pages/posts if used later. */
.sbb-content{width:min(calc(100% - 40px),860px);margin:0 auto;padding:80px 0}
.sbb-content h1,.sbb-content h2,.sbb-content h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}
.sbb-content a{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}

@media (max-width:900px){
  .sbb-navlinks{display:none}
  .sbb-nav{height:88px}
  .sbb-brand img,.sbb-brand .custom-logo{height:72px;max-width:260px}
  .sbb-hero-grid,.sbb-intro,.sbb-bio-grid,.sbb-kois-grid,.sbb-philosophy-grid{grid-template-columns:1fr}
  .sbb-hero{min-height:auto}
  .sbb-hero-grid{min-height:auto}
  .sbb-hero-copy{padding:70px 0 48px}
  .sbb-hero-image{height:520px;width:76%;justify-self:center}
  .sbb-bio-side{position:static}
  .sbb-credentials-grid{grid-template-columns:1fr}
  .sbb-patient-grid{grid-template-columns:1fr}
  .sbb-patient-wide{grid-column:auto}
  .sbb-section{padding:82px 0}
}

@media (max-width:782px){.admin-bar .site-header{top:46px}}

@media (max-width:560px){
  .sbb-container{width:min(calc(100% - 28px),var(--max))}
  .sbb-site h1{font-size:3.4rem}
  .sbb-hero-image{height:430px;width:88%;justify-self:center}
  .sbb-risk-grid{grid-template-columns:1fr}
  .sbb-footer-grid{flex-direction:column;align-items:flex-start}
  .sbb-footer-right{text-align:left}
  .sbb-btn{width:100%}
}
