/* ==========================================================
   ClinicaMOB v68 — PROFESSIONAL STYLE / FIT PASS ONLY
   Styling only. No routing, redirects, SEO, content, forms,
   tracking, page order, URLs, or functionality changed.
   ========================================================== */
:root{
  --max:1280px;
  --radius:14px;
  --line:#D6E0E4;
  --muted:#4D5A65;
  --soft:#F6F8F9;
  --shadow:0 6px 20px rgba(18,48,74,.07);
}

/* More disciplined type scale and vertical rhythm */
body{
  font-size:15.5px;
  line-height:1.52;
  letter-spacing:-.002em;
}
.container{width:min(calc(100% - 40px),var(--max));}
section{padding:44px 0;}
h1,h2,h3{letter-spacing:-.018em;}
h2{
  font-size:clamp(1.6rem,2.15vw,2.1rem);
  line-height:1.12;
  margin-bottom:.55em;
}
h3{
  font-size:1.08rem;
  line-height:1.24;
}
.lead{
  font-size:1rem;
  line-height:1.55;
  max-width:860px;
}
p{margin-top:.55em;margin-bottom:.78em;}
.small,.note,.source-note{line-height:1.42;}

/* Header remains exactly the proven v67 routing/navigation structure; visual sizing only */
.header-inner{min-height:78px;gap:14px;}
.brand img{max-width:225px !important;max-height:60px !important;}
.brandline{font-size:.66rem !important;}
.desktop-nav{gap:10px !important;font-size:.78rem !important;}
.desktop-cta{width:176px;min-width:176px;font-size:.79rem;padding:9px 11px !important;}

/* Hero: premium, compact, not oversized */
.hero{padding:50px 0 46px;}
.hero-grid{gap:36px;}
.hero h1,
body.home-compact .hero h1{
  font-size:clamp(2.25rem,3.5vw,3.55rem);
  line-height:1.04;
  max-width:720px;
  margin:.1em 0 .22em;
}
.hero p,
body.home-compact .hero p{font-size:1rem;line-height:1.5;}
.hero-card,
body.home-compact .hero-card{padding:22px;border-radius:14px;}
.hero-actions{margin-top:18px;gap:10px;}
.hero-actions .cta{min-height:44px;padding:10px 16px;}

/* Page headers */
.page-hero{padding:32px 0;}
.page-hero h1{
  font-size:clamp(1.95rem,3vw,2.75rem);
  line-height:1.08;
  max-width:1000px;
}
.page-hero .crumbs{font-size:.8rem;margin-bottom:8px;}

/* Cards: tighter, flatter, consistent and aligned */
.cards{gap:16px;align-items:stretch;}
.card{
  border-radius:14px;
  box-shadow:var(--shadow);
  min-width:0;
}
.card .pad,
body.home-compact .card-body{padding:17px;}
.card h2{
  font-size:1.2rem;
  line-height:1.18;
  margin:.08em 0 .48em;
}
.card h3{font-size:1.06rem;line-height:1.22;}
.card p{line-height:1.48;}
.card img{aspect-ratio:16/10;}

/* Exact 2- and 4-item card groups should fill one clean row on desktop. */
@media(min-width:1000px){
  .cards:has(> .card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));}
  .cards:has(> .card:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr));}
}

/* Repeated metric/status groups stay aligned */
.trustgrid{grid-template-columns:repeat(4,minmax(0,1fr));}
.trustitem{padding:16px 18px;}
.trustitem strong{font-size:.96rem;line-height:1.25;}
.data-grid{gap:12px;}
.data-card{padding:16px;border-radius:13px;}
.data-card strong{font-size:1.45rem;}
.market-stats{gap:12px;margin:20px 0;}
.stat{padding:16px;border-radius:12px;}
.stat strong{font-size:1.45rem;}
.lens-grid{gap:14px;}
.lens{padding:16px;border-radius:12px;}

/* Two-column content and sidebars */
.two{gap:30px;}
.content-grid{gap:30px;grid-template-columns:minmax(0,1fr) 300px;}
.callout{padding:19px;border-radius:14px;}
.callout h2,.callout h3{color:#fff;}

/* Fix dark-background contrast: text links must not use medium blue on navy. */
.band a:not(.cta),
.callout a:not(.cta),
.report-cover a:not(.cta){
  color:#C9F0EC;
  text-decoration:underline;
  text-underline-offset:2px;
}
.band a:not(.cta):hover,
.callout a:not(.cta):hover,
.report-cover a:not(.cta):hover{color:#fff;}
.band .lead{color:#E1EDF1;}

/* Buttons: less bulky, consistent */
.cta{
  border-radius:9px;
  padding:10px 15px;
  min-height:42px;
  font-size:.9rem;
  line-height:1.22;
  box-shadow:0 4px 12px rgba(18,48,74,.08);
}
.cta.teal{background:#246F6A;border-color:#246F6A;color:#fff;}
.cta.outline{background:#fff;color:var(--navy);}

/* Pills/chips: smaller and cleaner */
.pill{padding:5px 9px;font-size:.76rem;}
.section-nav{gap:7px;margin-top:14px;}
.section-nav a,.intent-cta{padding:6px 9px;font-size:.79rem;}
.tagrow{gap:6px;margin:9px 0;}
.tag{padding:5px 8px;font-size:.76rem;}

/* Forms: compact but still easy to use */
.form-shell{max-width:760px;}
.field{margin:14px 0;}
label,legend{font-size:.9rem;margin-bottom:6px;}
input,textarea,select{min-height:44px;padding:11px 12px;border-radius:9px;}
textarea{min-height:105px;}
.choices{gap:9px;}
.choice label{padding:11px;border-radius:10px;}
.form-actions{margin-top:18px;}

/* Homepage fast-search overrides (the original rules are inline after site.css). */
.fast-search-section{padding:30px 0 36px;}
.fast-search-head{max-width:860px;margin-bottom:17px;}
.fast-search-head h2{font-size:clamp(1.6rem,2.2vw,2.05rem);}
.fast-search-form{max-width:1160px;padding:19px;border-radius:14px;box-shadow:var(--shadow);}
.fast-grid{gap:11px 12px;}
.fast-search-form label{font-size:.84rem;margin-bottom:5px;}
.fast-search-form input,.fast-search-form select{min-height:42px;padding:9px 10px;}
.fast-submit{margin-top:14px;}
.fast-submit .cta{min-width:230px;font-size:.92rem;}
.fast-proof{max-width:1160px;margin-top:12px;gap:8px;}
.fast-proof div{padding:10px 12px;border-radius:10px;}
.fast-proof strong{font-size:.87rem;}
.fast-proof span{font-size:.78rem;line-height:1.35;}
.popular-searches{max-width:1160px;font-size:.82rem;}
.popular-searches a{margin:3px 2px;padding:5px 8px;font-size:.8rem;}
.fast-optional{margin-top:11px;padding-top:9px;}

/* Home-specific rhythm: keep sections compact throughout */
body.home-compact section{padding:40px 0;}
body.home-compact h2{font-size:clamp(1.55rem,2vw,2rem);}
body.home-compact h3{font-size:1.04rem;}
body.home-compact .cards{gap:14px;}
body.home-compact .card .pad{padding:16px;}
body.home-compact .callout{padding:18px;}
body.home-compact .trustitem{padding:14px 15px;}
body.home-compact .two{gap:26px;}
body.home-compact .checks{gap:7px 16px;}

/* Opportunity cards */
.opportunity-card .pad{padding:16px;}
.opportunity-card .checks{gap:6px 14px;}
.opportunity-monthly-price{font-size:.92rem;font-weight:700;line-height:1.4;}
.opportunity-courtesy{line-height:1.35;}

/* Broker block */
.broker-photo-caption{font-size:13px !important;line-height:1.3 !important;padding:9px 8px 10px !important;}
.portrait{border-radius:14px;}

/* Tables / inventory */
.index-table th,.index-table td,.cost-table th,.cost-table td{padding:9px 10px;}
.inventory-head>div,.inventory-row>div{padding:9px 10px;}
.inventory-head{font-size:.88rem;}
.inventory-row{font-size:.9rem;}

/* Footer */
.site-footer{padding:38px 0 20px;}
.footer-grid{gap:26px;}
.footer-title{font-size:1.08rem;}
.legal-small{margin-top:26px;}

/* Tablet: two columns instead of awkward 3+1 or squeezed four-across. */
@media(max-width:999px) and (min-width:641px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));}
  .data-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .trustgrid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .content-grid{grid-template-columns:1fr;}
}

/* Mobile remains readable and intentionally stacked. */
@media(max-width:640px){
  body{font-size:15px;line-height:1.5;}
  .container{width:min(calc(100% - 24px),var(--max));}
  section,body.home-compact section{padding:32px 0;}
  .hero,body.home-compact .hero{padding:30px 0;}
  .hero h1,body.home-compact .hero h1{font-size:clamp(2rem,9.5vw,2.55rem);}
  h2,body.home-compact h2{font-size:1.55rem;}
  .page-hero{padding:26px 0;}
  .page-hero h1{font-size:1.95rem;}
  .cards,.data-grid,.trustgrid,.market-stats,.lens-grid{grid-template-columns:1fr !important;}
  .card .pad,body.home-compact .card .pad{padding:15px;}
  .two{gap:22px;}
  .fast-search-section{padding:24px 0 28px;}
  .fast-search-form{padding:15px;}
  .fast-proof{grid-template-columns:1fr;}
}
