* { box-sizing: border-box; }
body { margin: 0px; --ink: #23394b; --paper: #faf9f5; --accent: #dae6ec; --dark: #23394b; --muted: #6b8392; --line: #cfd6d8; background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; font-size: 17px; line-height: 1.85; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 5px; }
a:focus-visible, summary:focus-visible { outline: rgb(82, 109, 126) solid 3px; outline-offset: 6px; }
img { display: block; width: 100%; height: 100%; object-fit: cover; }
p { margin: 0px 0px 24px; max-width: 62ch; }
h1, h2, h3 { margin: 0px 0px 32px; font-weight: 400; line-height: 1.1; }
h1, h2 { font-family: Georgia, serif; letter-spacing: -0.045em; }
h1 { font-size: clamp(62px, 7.4vw, 108px); }
h2 { font-size: clamp(44px, 4.8vw, 70px); }
h3 { font-size: 24px; letter-spacing: -0.025em; line-height: 1.35; }
em { color: var(--muted); }
section { padding: 112px 6vw; position: relative; }
section > div { min-width: 0px; }
.eyebrow { font-size: 11px; letter-spacing: 2px; font-weight: 600; line-height: 1.8; margin-bottom: 32px; }
.lead { font-family: Georgia, serif; font-size: 25px; line-height: 1.6; }
.section-intro { max-width: 46ch; }
.brand-image { width: 300px; height: auto; }
.site-header nav { display: flex; gap: 29px; font-size: 13px; }
.header-contact { display: flex; flex-direction: column; white-space: nowrap; line-height: 1.5; }
.header-contact small { font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; }
.header-contact a { font-size: 20px; }
.menu { display: none; }
.skip { position: absolute; top: -100px; }
.skip:focus { top: 10px; background: white; padding: 16px; z-index: 20; }
.call { display: inline-flex; align-items: center; gap: 24px; background: var(--accent); color: var(--ink); padding: 20px 26px; border: 1px solid rgb(204, 219, 227); border-radius: 60px; font-size: 23px; font-weight: 600; line-height: 1.3; white-space: nowrap; }
.call:hover { background: rgb(198, 217, 228); text-decoration: none; }
.call span { font-size: 10px; font-weight: 500; letter-spacing: 1.1px; text-transform: uppercase; max-width: 88px; white-space: normal; }
.call-note { font-size: 12px; line-height: 1.65; margin-top: 18px; max-width: 35ch; color: rgb(83, 107, 122); }
.serif-note { font-family: Georgia, serif; font-size: 30px; letter-spacing: -1px; line-height: 1.35; margin-bottom: 25px; }
.intro { font-size: 16px; line-height: 1.8; margin-bottom: 22px; }
.points { list-style: none; padding: 0px; margin: 0px 0px 31px; font-size: 13px; line-height: 1.9; }
.points li::before { content: "+"; padding-right: 12px; color: var(--muted); }
.hero-photo { height: 530px; border-radius: 50% 50% 44% 44%; object-position: 55% center; }
.organic-note { position: relative; align-self: stretch; padding-top: 140px; font-family: Georgia, serif; font-size: 24px; line-height: 1.6; }
.detail-photo { position: absolute; bottom: 0px; left: 20px; width: 145px; height: 215px; border-radius: 90px; border: 8px solid var(--paper); }
.proof { display: grid; grid-template-columns: 1fr 1.1fr; column-gap: 100px; background: rgb(238, 242, 243); }
.proof > .eyebrow { grid-column: 1 / -1; }
.proof-notes { grid-column: 1 / -1; display: flex; justify-content: space-between; border-top: 1px solid rgb(199, 210, 216); margin-top: 50px; padding-top: 28px; font-size: 13px; }
.proof-notes p { margin: 0px; }
.problems .section-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; margin-bottom: 55px; }
.problem-layout { display: grid; grid-template-columns: 1.15fr 0.8fr 1fr; gap: 45px; align-items: start; }
.picture:first-child img { height: 470px; border-radius: 220px 220px 90px 90px; }
.picture:nth-child(2) { padding-top: 135px; }
.picture:nth-child(2) img { height: 330px; border-radius: 180px; }
.picture > p { font-size: 11px; line-height: 1.65; margin: 20px 0px 0px; color: rgb(83, 107, 122); }
.problem-copy { padding-top: 30px; }
.problem-copy h3 { font-size: 22px; margin-bottom: 14px; }
.problem-copy p { font-size: 15px; line-height: 1.9; margin-bottom: 34px; }
.evidence { display: grid; grid-template-columns: 1fr 1.05fr; gap: 110px; align-items: center; padding-bottom: 150px; }
.evidence-photo { height: 620px; border-radius: 300px; }
.evidence-detail { position: absolute; bottom: 85px; right: 5%; width: 215px; height: 260px; border-radius: 120px; border: 12px solid var(--paper); }
.services { display: grid; grid-template-columns: 0.85fr 1.25fr; gap: 100px; background: rgb(238, 242, 243); }
.services .section-heading { position: sticky; top: 45px; align-self: start; }
.number { font-family: Georgia, serif; font-size: 18px; color: var(--muted); margin: 0px; }
.reviews { text-align: center; padding: 105px 20%; }
.reviews > .eyebrow { margin: auto; }
.reviews blockquote { font-family: Georgia, serif; font-size: 45px; line-height: 1.45; letter-spacing: -0.03em; margin: 35px 0px; border: 0px; padding: 0px; }
.reviews blockquote p { max-width: none; margin: 0px; }
.review-credit { margin: 0px auto 6px; font-size: 15px; }
.review-source { margin: auto; font-size: 12px; color: rgb(82, 109, 126); }
.process { display: grid; grid-template-columns: 1fr 1.1fr; gap: 35px 100px; background: var(--dark); color: var(--paper); border-radius: 0px 140px 0px 0px; }
.process > .eyebrow { grid-column: 1 / -1; }
.process em, .steps .number { color: rgb(176, 198, 212); }
.process-intro { max-width: 36ch; color: rgb(211, 220, 226); font-size: 16px; }
.steps > article { grid-template-columns: 65px 1fr; border-color: rgb(93, 114, 131); }
.steps .number { font-size: 30px; }
.steps > article > p:last-child { color: rgb(224, 230, 233); }
.why .section-intro { max-width: 65ch; }
.why-items, .information-items { display: grid; grid-template-columns: repeat(3, 1fr); gap: 65px; margin-top: 60px; }
.why-items > article { border-top: 1px solid var(--line); padding-top: 30px; }
.why-items h3, .information-items h3 { font-family: Georgia, serif; font-size: 29px; line-height: 1.35; margin-bottom: 22px; }
.why-items p, .information-items p:not(.eyebrow) { font-size: 16px; line-height: 1.9; }
.information { background: rgb(238, 242, 243); }
.information-items h3 { min-height: 115px; }
.coverage { margin: 70px 6vw 0px; border-radius: 50% 50% 0px 0px; padding: 155px 18% 105px; background: var(--accent); text-align: center; }
.coverage p { margin-left: auto; margin-right: auto; }
.districts { display: flex; flex-wrap: wrap; gap: 14px 26px; justify-content: center; margin: 35px 0px; }
.districts p { font-size: 12px; white-space: nowrap; margin: 0px; }
.coverage .call { border-color: rgb(169, 191, 206); background: transparent; }
.faq { display: grid; grid-template-columns: 1fr 1.15fr; gap: 90px; }
.faq details { padding: 26px 0px; border-top: 1px solid var(--line); }
.faq summary { font-size: 18px; line-height: 1.65; cursor: pointer; padding-right: 15px; }
.faq details p { margin: 22px 0px 0px; font-size: 16px; line-height: 1.85; }
.final-cta { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 75px; align-items: center; background: rgb(228, 237, 241); }
.final-cta > .eyebrow { grid-column: 1 / -1; }
.final-cta h2 { margin: 0px; grid-row: 2 / 4; }
.final-cta > .wp-block-buttons { align-self: end; }
.final-cta > p:last-child { grid-column: 2; font-size: 15px; max-width: 47ch; margin: 5px 0px 0px; }
.premium-footer { padding: 80px 6vw 30px; background: rgb(35, 57, 75); color: rgb(242, 245, 246); }
.footer-top { display: grid; grid-template-columns: 1.3fr 0.7fr 0.7fr 1fr; gap: 60px; }
.footer-brand img { width: 310px; height: auto; max-width: 100%; margin-bottom: 28px; }
.footer-brand p { font-size: 14px; color: rgb(200, 214, 223); max-width: 33ch; }
.footer-heading { font-family: Arial, sans-serif; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; font-weight: 500; margin: 0px 0px 25px; color: rgb(167, 192, 209); }
.footer-links { display: flex; flex-direction: column; gap: 14px; font-size: 14px; }
.footer-phone { font-family: Georgia, serif; white-space: nowrap; font-size: 26px; line-height: 1.4; display: block; margin-bottom: 20px; }
.footer-contact p { font-size: 13px; color: rgb(200, 214, 223); line-height: 1.8; }
.footer-bottom { margin-top: 65px; padding-top: 28px; border-top: 1px solid rgb(84, 105, 121); display: flex; justify-content: space-between; gap: 25px; color: rgb(185, 203, 214); font-size: 11px; letter-spacing: 0.3px; }
.footer-bottom p { margin: 0px; }
.mobile-call { display: none; }
.wp-block-image, .wp-block-button { display: contents; }
.wp-block-buttons { display: block; }
.wp-block-button__link.call { font-family: inherit; }
.wp-block-group { box-sizing: border-box; }
body .is-layout-flow > * + * { margin-block-start: 0px; }
body .wp-block-group p:last-child { margin-bottom: 0px; }
.wp-block-image img.hero-photo { height: 530px; }
.wp-block-image img.detail-photo { height: 215px; }
.wp-block-image img.evidence-photo { height: 620px; }
.wp-block-image img.evidence-detail { height: 260px; }
.hero-b > .eyebrow { max-width: none; margin-left: auto; margin-right: auto; }
.site-header { position: sticky; top: 0px; z-index: 100; background: var(--paper); height: 115px; padding: 25px 6vw; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
body.admin-bar .site-header { top: 32px; }
html { scroll-padding-top: 140px; scroll-behavior: smooth; }
.hero-b { padding: 55px 7vw 60px; text-align: left; }
.editorial-hero { max-width: 1260px; margin: auto; grid-template-columns: 1.15fr 0.85fr; gap: 75px; align-items: center; display: grid; text-align: left; }
.hero-copy > .eyebrow { font-size: 10px; letter-spacing: 1.6px; max-width: none; margin-bottom: 20px; }
.hero-b h1 { font-size: clamp(48px, 4.9vw, 72px); line-height: 1.08; margin: 0px 0px 25px; }
.hero-copy .intro { font-size: 17px; max-width: 46ch; margin-bottom: 22px; }
.hero-copy .points { margin-bottom: 27px; font-size: 14px; }
.hero-copy .call-note { margin-top: 15px; }
.hero-visual { position: relative; }
.hero-visual .wp-block-image img.hero-photo { height: 440px; width: 100%; border-radius: 48% 48% 40% 40%; object-position: 55% 48%; }
.hero-image-caption { font-size: 11px; letter-spacing: 0.5px; text-align: center; margin: 17px 0px 0px; color: rgb(82, 109, 126); }
.service-list > article, .steps > article { display: block; grid-template-columns: 48px 1fr; border-top: 1px solid rgb(189, 203, 211); padding: 32px 0px; }
.service-list > article > p:last-child, .steps > article > p:last-child { margin: 0px; grid-column: 2; line-height: 1.9; font-size: 16px; }
.service-list h3, .steps h3 { margin: 0px 0px 17px; }
@media (max-width: 1100px){.site-header nav { gap: 18px; font-size: 12px; }
.brand-image { width: 250px; }
.editorial-hero { gap: 30px; grid-template-columns: 1fr 1.1fr 0.5fr; }
.hero-copy .call { font-size: 20px; padding: 18px; }
.organic-note { font-size: 21px; }
.detail-photo { width: 115px; left: 0px; }
.proof, .services, .process, .faq, .evidence { column-gap: 55px; }
.problem-layout { gap: 25px; }
.footer-top { gap: 30px; }
.footer-phone { font-size: 22px; }}
@media (max-width: 800px){body { font-size: 16px; }
section { padding: 75px 7vw; }
h1 { font-size: 54px; }
h2 { font-size: 43px; line-height: 1.12; margin-bottom: 28px; }
h3 { font-size: 23px; }
.eyebrow { font-size: 10px; letter-spacing: 1.6px; margin-bottom: 26px; }
.lead { font-size: 23px; }
.site-header { height: 90px; padding: 20px 7vw; }
.brand-image { width: 240px; max-width: 67vw; }
.site-header nav, .header-contact { display: none; }
.menu { display: block; font-size: 13px; position: relative; }
.menu[open] { position: absolute; right: 7vw; top: 30px; min-width: 170px; z-index: 20; background: var(--paper); border: 1px solid var(--line); padding: 10px; }
.menu a { display: block; padding: 10px; }
.call { font-size: 21px; padding: 18px 23px; gap: 17px; }
.call span { font-size: 9px; }
.hero-copy { align-self: flex-start; }
.serif-note { font-size: 28px; line-height: 1.4; }
.hero-photo { height: 430px; width: 92%; align-self: flex-end; }
.organic-note { font-size: 23px; padding: 15px 140px 0px 0px; align-self: stretch; min-height: 180px; }
.detail-photo { left: auto; right: 0px; bottom: 0px; width: 118px; height: 180px; }
.proof, .services, .process, .evidence, .faq, .final-cta { display: block; }
.proof-notes { flex-direction: column; gap: 14px; padding-top: 25px; margin-top: 35px; }
.problems .section-heading { display: block; margin-bottom: 40px; }
.problem-layout { grid-template-columns: 1fr 1fr; gap: 22px; }
.picture:first-child img { height: 290px; }
.picture:nth-child(2) { padding-top: 90px; }
.picture:nth-child(2) img { height: 235px; }
.picture > p { font-size: 10px; margin-top: 16px; }
.problem-copy { grid-column: 1 / -1; padding-top: 15px; }
.problem-copy p { font-size: 16px; line-height: 1.85; margin-bottom: 30px; }
.evidence { padding-bottom: 110px; }
.evidence-photo { height: 430px; margin-top: 45px; }
.evidence-detail { width: 145px; height: 185px; bottom: 50px; border-width: 9px; }
.services .section-heading { position: static; margin-bottom: 45px; }
.service-list > article { grid-template-columns: 35px 1fr; padding: 28px 0px; }
.reviews { padding: 80px 8vw; }
.reviews blockquote { font-size: 33px; line-height: 1.5; margin: 32px 0px; }
.process { border-radius: 0px 70px 0px 0px; }
.process-intro { margin-bottom: 40px; }
.steps > article { grid-template-columns: 48px 1fr; }
.steps .number { font-size: 26px; }
.why-items, .information-items { grid-template-columns: 1fr; gap: 35px; margin-top: 40px; }
.information-items article { border-top: 1px solid rgb(199, 210, 216); padding-top: 30px; }
.information-items h3 { min-height: 0px; font-size: 30px; margin-bottom: 23px; }
.coverage { margin: 30px 0px 0px; padding: 105px 7vw 75px; border-radius: 100px 100px 0px 0px; }
.districts { gap: 14px 22px; margin: 30px 0px; }
.faq > div:first-child { margin-bottom: 40px; }
.final-cta h2 { margin-bottom: 35px; }
.final-cta > p:last-child { margin-top: 22px; }
.premium-footer { padding: 60px 7vw 115px; }
.footer-top { grid-template-columns: 1fr 1fr; gap: 40px 24px; }
.footer-brand, .footer-contact { grid-column: 1 / -1; }
.footer-brand img { width: 290px; }
.footer-phone { font-size: 31px; }
.footer-bottom { margin-top: 40px; padding-top: 24px; flex-direction: column; gap: 15px; line-height: 1.8; }
.mobile-call { display: block; position: fixed; bottom: 12px; left: 4%; width: 92%; padding: 16px 12px; background: var(--ink); color: white; border: 1px solid rgb(110, 138, 157); border-radius: 40px; text-align: center; line-height: 1.4; font-size: 15px; font-weight: 600; box-shadow: rgba(35, 57, 75, 0.2) 0px 5px 25px; z-index: 30; }
.wp-block-image img.hero-photo { height: 430px; }
.wp-block-image img.detail-photo { height: 180px; }
.wp-block-image img.evidence-photo { height: 430px; }
.wp-block-image img.evidence-detail { height: 185px; }
html { scroll-padding-top: 110px; }
.hero-b { padding: 35px 7vw 45px; }
.editorial-hero { display: flex; gap: 28px; flex-direction: column; }
.hero-b h1 { font-size: clamp(39px, 10.7vw, 54px); margin-bottom: 20px; }
.hero-copy > .eyebrow { font-size: 9px; letter-spacing: 1.2px; margin-bottom: 17px; }
.hero-copy .intro { font-size: 16px; margin-bottom: 18px; }
.hero-copy .points { font-size: 13px; margin-bottom: 22px; }
.hero-copy .call-note { font-size: 11px; }
.hero-visual { width: 100%; max-width: 430px; align-self: center; }
.hero-visual .wp-block-image img.hero-photo { height: 300px; width: 100%; border-radius: 46% 46% 35% 35%; }
.hero-image-caption { margin-top: 13px; font-size: 10px; }}
@media (prefers-reduced-motion: reduce){html { scroll-behavior: auto; }}
@media (max-width: 782px){body.admin-bar .site-header { top: 46px; }}
@media (max-width: 600px){body.admin-bar .site-header { top: 0px; }}
@media (max-width: 1100px) and (min-width: 801px){.editorial-hero { gap: 40px; }
.hero-b h1 { font-size: 52px; }
.hero-visual .wp-block-image img.hero-photo { height: 410px; }}