/* Existing Michiana palette, licensed Nexa heading asset, and local photography. */
.review-site { color:#17352d; background:#f7f6f1; font:18px/1.65 Manrope,Arial,sans-serif; }
.review-site h1,.review-site h2,.review-site h3,.site-header .brand { font-family:var(--mh-heading-font); font-weight:700; font-style:normal; letter-spacing:-.025em; }
.review-site h1 { font-size:clamp(2.5rem,4.5vw,4rem); line-height:1.08; margin:15px 0 24px; max-width:none; }
.review-site h2 { font-size:clamp(2rem,3vw,2.8rem); line-height:1.14; margin:12px 0 22px; }
.review-site h3 { font-size:1.45rem; line-height:1.25; margin:0 0 15px; }
.review-site p { margin:0 0 20px; }
.review-site a { text-underline-offset:4px; }
.review-site .eyebrow { color:#38502a; font:700 .85rem/1.5 Manrope,Arial,sans-serif; letter-spacing:.07em; margin-bottom:10px; }
.review-site .eyebrow:before { background:#f08900; }
.review-site .shell { width:min(1160px,calc(100% - 40px)); }
.skip-link { position:absolute; left:16px; top:-100px; z-index:100; padding:12px 18px; background:white; color:#17352d; font:700 18px/1.5 Arial,sans-serif; }
.skip-link:focus { top:12px; outline:3px solid #f08900; }
.site-header .nav { gap:20px; padding:22px 0; }
.site-header .brand { font-size:1.08rem; letter-spacing:-.04em; }
.site-header .navlinks { display:flex; gap:20px; font-size:1rem; line-height:1.4; }
.site-header .navlinks a { padding:10px 0; border-bottom:2px solid transparent; }
.site-header .navlinks a[aria-current=page] { border-color:#f08900; }
.site-header .navlinks a:hover { color:#38502a; border-color:#759801; }
.nav-toggle { background:#17352d; color:white; border:1px solid #17352d; border-radius:8px; padding:10px 14px; font:700 1rem/1.5 Manrope,Arial,sans-serif; cursor:pointer; }
.nav-toggle[hidden] { display:none!important; }
.review-site a:focus-visible,.review-site summary:focus-visible,.site-header a:focus-visible,.nav-toggle:focus-visible { outline:3px solid #f08900; outline-offset:4px; }
.review-site [id],#dental-main { scroll-margin-top:20px; }
.button-primary,.button-secondary,.button-light { display:inline-flex; justify-content:center; align-items:center; gap:8px; padding:14px 21px; border-radius:9px; border:2px solid #17352d; text-decoration:none; font:700 1rem/1.45 Manrope,Arial,sans-serif; min-height:50px; }
.button-primary { background:#17352d; color:white; }
.button-secondary { color:#17352d; background:transparent; }
.button-primary:hover { background:#2b4a37; }
.button-secondary:hover { background:#eaf0df; }
.button-light { background:#fff; color:#17352d; border-color:white; white-space:normal; }
.action-row { display:flex; gap:12px; flex-wrap:wrap; margin:27px 0 0; }
.text-link { color:#17352d; font-weight:700; display:inline-block; }
.page-hero { background:#f7f6f1; border-bottom:1px solid #d7ddcd; }
.hero-split { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:48px; padding:55px 0 64px; }
.hero-split.text-only { grid-template-columns:1fr; max-width:1160px; padding-top:50px; padding-bottom:55px; }
.hero-split.text-only > div { max-width:850px; }
.intro-copy { font-size:1.2rem; line-height:1.6; max-width:760px; }
.hero-photo { margin:0; }
.hero-photo img { width:100%; display:block; aspect-ratio:1.1; object-fit:cover; border-radius:14px; }
.hero-photo figcaption { color:#38502a; margin-top:12px; font-size:1rem; }
.content-section { padding:66px 0; }
.section-heading { max-width:850px; margin-bottom:30px; }
.soft-section { background:#edf1e6; border-block:1px solid #dbe2ce; }
.info-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.info-card { background:white; border:1px solid #ccd9b4; border-radius:12px; padding:26px; display:flex; flex-direction:column; align-items:flex-start; }
.info-card .text-link { margin-top:auto; padding-top:10px; }
.card-index { color:#527040; font-size:1rem; font-weight:700; margin-bottom:18px; }
.editorial-split { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.editorial-photo { width:100%; height:auto; max-height:460px; object-fit:cover; border-radius:14px; display:block; }
.two-column { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.path-panel,.alternative-card,.review-note { padding:28px; border:1px solid #ccd9b4; border-radius:12px; background:white; }
.review-note { background:#f7f8f2; }
.plain-checks { margin:0; padding:0; list-style:none; max-width:900px; }
.plain-checks li { position:relative; padding:16px 16px 16px 38px; border-bottom:1px solid #ccd9b4; }
.plain-checks li:before { content:'✓'; position:absolute; left:6px; color:#38502a; font-weight:700; }
.quiet-note { color:#38502a; font-size:1rem; line-height:1.65; margin:20px 0 0!important; }
.reading-width { max-width:850px; }
.source-note { margin-top:30px; padding-top:24px; border-top:1px solid #b9c8a8; font-size:1rem; }
.source-note h3 { font-size:1.15rem; margin-bottom:10px; }
.source-note ul { padding-left:22px; margin:10px 0 0; }
.source-note li { margin:8px 0; }
.source-note a { overflow-wrap:anywhere; }
.faq-stack { max-width:950px; }
.faq-stack details { border-bottom:1px solid #b9c8a8; padding:20px 0; }
.faq-stack summary { cursor:pointer; font-weight:700; padding-right:12px; }
.faq-stack p { margin:18px 0 0; }
.conversation { padding:55px 0; background:#17352d; color:white; }
.conversation-inner { display:flex; gap:40px; align-items:center; justify-content:space-between; }
.conversation-inner > div { max-width:780px; }
.conversation .eyebrow { color:#d9e4ce; }
.conversation h2 { margin-bottom:16px; }
.conversation p { margin-bottom:0; }
.conversation .button-light { flex:none; }
.carrier-route { display:grid; grid-template-columns:1fr auto; gap:35px; align-items:center; }
.contact-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.contact-options a { text-decoration:none; padding:25px; border:1px solid #ccd9b4; border-left:5px solid #f08900; border-radius:10px; background:white; }
.contact-options span,.contact-options small { display:block; font-size:1rem; }
.contact-options strong { display:block; font-family:var(--mh-heading-font); font-size:1.65rem; margin:10px 0; }
.review-site address { font-style:normal; margin-bottom:24px; }
.site-footer { background:#17352d; color:#fff; padding:45px 0 26px; }
.footer-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:36px; padding-bottom:28px; }
.footer-grid p { margin:18px 0; }
.footer-grid a { overflow-wrap:anywhere; }
.footer-links { display:grid; gap:8px; margin-top:18px; }
.disclosure { font-size:.95rem; line-height:1.65; border-top:1px solid #50634f; padding-top:24px; margin-top:12px!important; color:#e1e9da; }
.mutual-hero { padding:24px 0 45px; background:#edf1e6; border-bottom:1px solid #d0dabf; }
.breadcrumb { font-size:1rem; font-weight:700; display:inline-block; margin-bottom:30px; }
.mutual-intro { display:grid; grid-template-columns:.86fr 1.14fr; gap:35px; align-items:start; }
.mutual-intro h1 { font-size:clamp(2.6rem,4vw,3.75rem); }
.mutual-price-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.mutual-price { padding:25px; border:1px solid #b9cba0; border-top:5px solid #759801; border-radius:12px; background:white; display:flex; flex-direction:column; }
.mutual-price .eyebrow { font-size:.85rem; }
.mutual-price h2 { font-size:1.8rem; margin-top:4px; }
.sample-label { display:block; font-size:1rem; color:#38502a; }
.landing-price { display:block; font:700 clamp(2.6rem,4vw,3.4rem)/1.15 var(--mh-heading-font); letter-spacing:-.04em; margin:8px 0 20px; }
.landing-price small { display:block; font:700 1rem/1.5 Manrope,Arial,sans-serif; letter-spacing:0; }
.landing-limit { border-block:1px solid #dce4d2; padding:14px 0; margin-bottom:20px; }
.landing-limit strong { display:block; font:700 1.8rem/1.2 var(--mh-heading-font); }
.landing-limit span { display:block; font-size:1rem; }
.mutual-price .button-primary { margin-top:auto; padding-inline:12px; }
.sample-banner { font-size:1rem; line-height:1.65; background:#fff; padding:20px 24px; border-left:4px solid #f08900; margin-top:30px; }
.sample-banner strong { display:block; margin-bottom:6px; }
.accessible-table { overflow-x:auto; background:white; border:1px solid #b9c8a8; border-radius:12px; }
.accessible-table:focus-visible { outline:3px solid #f08900; outline-offset:3px; }
.accessible-table table { width:100%; border-collapse:collapse; min-width:660px; font-size:1.1rem; line-height:1.55; }
.accessible-table caption { padding:18px; text-align:left; font-size:1rem; }
.accessible-table th,.accessible-table td { padding:19px; vertical-align:top; text-align:left; border:1px solid #dce4d2; width:33.33%; }
.accessible-table thead th { background:#17352d; color:white; }
.accessible-table tbody th { background:#f7f8f2; }
.alternative-card h3 { font-size:2rem; margin-top:15px; }
.per-month { font:700 1rem/1.5 Manrope,Arial,sans-serif; }
.mutual-next { margin:24px 0; padding:25px; border:1px solid #ccd9b4; border-left:5px solid #759801; border-radius:10px; display:flex; justify-content:space-between; align-items:center; gap:25px; background:#edf1e6; }
.mutual-next p { margin:8px 0 0; line-height:1.6; }
.mutual-next .button-primary { flex:none; }
@media(min-width:1081px) { .site-header .nav-toggle { display:none; } }
@media(max-width:1080px) {
 .site-header .nav { flex-wrap:wrap; gap:12px; }
 .site-header .nav-toggle { margin-left:auto; }
 .site-header .navlinks { width:100%; flex-direction:column; align-items:stretch; gap:0; padding-top:8px; border-top:1px solid #ccd9b4; }
 .site-header .navlinks a { padding:13px; border-bottom:1px solid #dce4d2; }
 .site-header .nav-ready .navlinks[data-open=false] { display:none; }
 .mutual-intro { grid-template-columns:1fr; }
 .mutual-intro > div:first-child { max-width:850px; }
 .mutual-price .eyebrow { font-size:1rem; }
}
@media(max-width:780px) {
 .review-site { font-size:18px; }
 .hero-split,.editorial-split,.two-column,.carrier-route { grid-template-columns:1fr; gap:28px; }
 .hero-split { padding:32px 0 40px; }
 .hero-split.text-only { padding:30px 0 38px; }
 .hero-photo img { aspect-ratio:1.5; }
 .info-grid { grid-template-columns:1fr; }
 .content-section { padding:44px 0; }
 .conversation-inner,.mutual-next { display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
 .contact-options,.footer-grid { grid-template-columns:1fr; }
 .contact-options strong { font-size:1.8rem; }
 .landing-price { font-size:3rem; }
 .review-site .notice .shell { flex-wrap:wrap; gap:10px; }
 .footer-grid { gap:28px; }
}
@media(max-width:540px) {
 .mutual-price-grid { grid-template-columns:1fr; }
 .mutual-price { padding:25px; }
 .review-site .shell { width:calc(100% - 32px); }
 .site-header .brand { font-size:.98rem; gap:7px; }
 .site-header .logo { width:32px; height:32px; }
 .site-header .nav { padding:16px 0; }
 .nav-toggle { padding:8px 10px; }
 .sample-banner { padding:18px; }
 .intro-copy { font-size:1.15rem; }
 .action-row > a { width:100%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print { .site-header,.notice,.site-footer,.nav-toggle,.action-row,.conversation,.skip-link { display:none!important; } .review-site { color:#111; background:white; font-size:11pt; } .content-section { padding:20pt 0; } .hero-split,.mutual-intro { display:block; } .mutual-price-grid { grid-template-columns:1fr 1fr; } .mutual-price,.info-card { break-inside:avoid; } .accessible-table { overflow:visible; } .accessible-table table { min-width:0; } }

/* User-supplied static default for private review; scope/year require launch verification. */
footer .tpmo-disclaimer { color:#fff; font:400 1rem/1.65 Manrope,Arial,sans-serif; max-width:none; margin:20px 0 0; padding-top:20px; border-top:1px solid #70816e; }
footer .tpmo-disclaimer a { color:inherit; text-decoration:underline; text-underline-offset:3px; }

/* Existing Rooms photography, verified location mapping. */
.meeting-intro{font-size:18px;line-height:1.6;max-width:37rem;margin:1rem 0 1.5rem}.meeting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0}.meeting-card{margin:0;overflow:hidden;border-radius:16px;background:#fff;border:1px solid #dce5e0}.meeting-card img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.meeting-card figcaption{padding:18px 20px;font-size:21px;font-weight:700;color:#173f35}.meeting-locations .section-heading p:last-child{max-width:48rem;line-height:1.7}@media(max-width:700px){.meeting-grid{grid-template-columns:1fr;gap:20px}.meeting-intro{font-size:17px}}

/* User-owned, AI-retouched campus photo: owner-private review pending public clearance. */
.campus-local{background:#173f35 url('/assets/campus/touchdown-jesus-wide-bottles-removed.png') center 15%/cover no-repeat;border:0;padding:80px 0;position:relative}
.campus-local:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,43,33,.28),rgba(13,43,33,.02))}
.campus-local .shell{position:relative;display:flex;justify-content:flex-start}
.campus-copy{width:min(530px,48%);padding:38px;background:#f9faf5;border-radius:18px;box-shadow:0 12px 36px #102d2426}
.campus-copy .section-heading{margin-bottom:24px}.campus-copy h2{font-size:36px}.campus-description h3{font-size:21px}.campus-description p{line-height:1.75}
@media(max-width:700px){.campus-local{padding:300px 0 24px;background-position:65% top;background-size:auto 600px}.campus-local .shell{display:block}.campus-copy{width:100%;padding:25px;box-sizing:border-box}.campus-copy h2{font-size:30px}.campus-local:before{background:linear-gradient(180deg,transparent 0%,transparent 30%,#173f35 95%)}}

/* Cohesive fictional-person illustrations; originals and provenance retained. */
.concern-grid .info-card{overflow:hidden}.concern-photo{display:block;width:calc(100% + 52px);max-width:none;aspect-ratio:3/2;height:auto;object-fit:cover;flex-shrink:0;margin:-26px -26px 24px;border-radius:11px 11px 0 0}.concern-grid .info-card:nth-child(5) .concern-photo{object-position:40% center}.illustration-note{font-size:14px;line-height:1.6;color:#4a5c51;margin:18px 0 0}

/* Shared TPMO placement: readable on a contact sheet and in printed output. */
.contact-tpmo-disclaimer {
  color:#17352d;
  font:400 1rem/1.65 Manrope,Arial,sans-serif;
  margin:24px 0 0;
  padding-top:20px;
  border-top:1px solid #70816e;
}
.contact-tpmo-disclaimer a { color:inherit; text-decoration:underline; }
@media print {
  body footer, body .site-footer {
    display:block !important;
    background:#fff !important;
    color:#111 !important;
    margin:16pt 0 0 !important;
    padding:0 !important;
    border:0 !important;
  }
  body footer > .shell { padding:0 !important; }
  body footer > .shell > :not(.tpmo-disclaimer) { display:none !important; }
  body footer .tpmo-disclaimer, .contact-tpmo-disclaimer {
    display:block !important;
    color:#111 !important;
    background:#fff !important;
    font:400 11pt/1.5 Arial,sans-serif !important;
    margin:0 !important;
    padding-top:10pt !important;
    border-top:1px solid #555 !important;
    break-inside:avoid;
    page-break-inside:avoid;
  }
  body footer .tpmo-disclaimer a { color:#111 !important; }
}
