/* Photo-led layout shared by the production and local report pages. */
.dating-page { background:#fffdfc; }
.dating-page h2 { color:#153e33; }
.site-header { position:relative; max-width:1320px; min-height:86px; padding:10px 36px; background:#fffdfc; }
.wordmark-logo { width:184px; height:62px; }
.header-actions { display:flex; align-items:center; gap:18px; }
.icon { display:block; width:22px; height:22px; flex-shrink:0; }
.button .icon,.text-link .icon { width:19px; height:19px; }
.button { background:#194e3e; border-radius:7px; }
.menu-toggle { width:42px; height:42px; display:none; align-items:center; justify-content:center; padding:8px; background:transparent; color:#194e3e; border:0; border-radius:4px; cursor:pointer; }
.menu-close { display:none; }
.menu-toggle[aria-expanded="true"] .menu-open { display:none; }
.menu-toggle[aria-expanded="true"] .menu-close { display:block; }
.mobile-nav[hidden] { display:none; }
.mobile-nav { position:absolute; top:100%; left:0; right:0; z-index:10; background:#fffdfc; padding:12px 24px 22px; border-bottom:1px solid #dfcbc5; box-shadow:0 10px 16px #163b3020; }
.mobile-nav a { display:block; padding:12px 0; text-decoration:none; color:#153e33; }
.dating-hero { min-height:570px; height:min(740px,calc(100svh - 130px)); display:flex; align-items:center; padding:0; overflow:hidden; }
.hero-photo { height:100%; object-position:center 43%; z-index:-2; }
.dating-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(35,23,18,.55),rgba(35,23,18,.13) 53%,transparent 72%); }
.hero-content { height:auto; min-height:0; width:44%; max-width:500px; margin-left:max(48px,calc((100% - 1140px)/2)); padding:34px 0 52px; color:#fffaf5; background:transparent; }
.hero-content .eyebrow { padding:0; background:none; color:#fff2df; font-size:12px; line-height:1.5; margin-bottom:12px; text-shadow:0 1px 3px #241b17; }
.hero-content h1 { font-family:"Space Grotesk",Arial,sans-serif; font-size:20px; font-weight:500; line-height:1.3; margin-bottom:10px; color:#fff7eb; }
.hero-tagline { font-size:58px; line-height:1.04; margin-bottom:24px; }
.hero-description { max-width:330px; line-height:1.6; font-size:16px; margin-bottom:24px; text-shadow:0 1px 3px #241b1780; }
.hero-actions { gap:12px; }
.hero-secondary { border:1px solid #fff8f4ab; color:white; background:rgba(66,45,37,.12); }
.hero-secondary:hover { background:rgba(66,45,37,.3); }
.hero-signoff { position:relative; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px max(48px,calc((100% - 1140px)/2)); background:#fff7f3; color:#866157; font-size:13px; }
.handwritten { display:inline-flex; align-items:center; gap:10px; font-family:Georgia,serif; font-style:italic; font-size:23px; color:#9c4d4d; white-space:nowrap; }
.handwritten .icon { width:28px; height:28px; stroke:#ca9557; }
.section-inner { width:min(100% - 96px,1140px); }
.connection-section { padding-block:64px; }
.section-heading { max-width:720px; margin-bottom:28px; }
.section-heading h2 { font-size:42px; margin-bottom:18px; }
.section-heading > p:last-child { max-width:660px; margin:0; }
.eyebrow { color:#b34e61; font-size:12px; margin-bottom:14px; }
.connection-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.connection-grid .feature-card { display:flex; align-items:flex-start; gap:14px; padding:22px 16px; border:1px solid #f6e8e3; border-radius:8px; background:#fffaf8; }
.feature-icon { display:grid; place-items:center; width:50px; height:50px; border-radius:50%; flex-shrink:0; }
.feature-icon .icon { width:28px; height:28px; stroke-width:1.5; }
.rose { background:#f9d7d4; color:#9d3a49; }
.sage { background:#dde3d1; color:#284b3e; }
.apricot { background:#f6d7b0; color:#414f34; }
.pink { background:#ffd6d8; color:#b44a5c; }
.connection-grid h3 { font-size:15px; line-height:1.35; margin-bottom:8px; font-weight:700; }
.connection-grid p { min-height:0; font-size:13px; line-height:1.6; margin:0; }
.resonance-band { position:relative; isolation:isolate; background:#103d30; padding:0; color:white; overflow:hidden; }
.section-photo { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; }
.resonance-band::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#0a3028eb,#0a302880 48%,transparent 78%); }
.resonance-band .section-photo { object-position:center 58%; }
.resonance-layout { min-height:510px; display:flex; justify-content:space-between; align-items:center; gap:40px; position:relative; padding-block:54px; }
.resonance-copy { width:46%; max-width:430px; border:0; padding:0; }
.resonance-copy .eyebrow { color:#e6cbbb; }
.resonance-copy h2 { color:#fff6ec; font-size:48px; margin-bottom:15px; }
.resonance-copy p { color:#eee9dd; font-size:15px; line-height:1.6; }
.resonance-copy .resonance-lead { color:#f3eadd; font-size:24px; line-height:1.25; margin-bottom:16px; }
.button-light { background:#f9e5d9; color:#193e32; }
.button-light:hover { background:#fff3eb; }
.connection-note { align-self:flex-end; display:flex; gap:14px; align-items:center; background:#fff4ea; color:#244538; padding:15px 20px; border-radius:8px; font-size:12px; line-height:1.5; margin-bottom:35px; }
.connection-note .icon { width:28px; height:28px; }
.steps-section { padding-block:64px; }
.steps-section .section-heading { margin-bottom:35px; }
.steps-list { gap:46px; margin-bottom:26px; }
.steps-list li { position:relative; }
.steps-list li:not(:last-child)::after { content:"\203A"; position:absolute; right:-30px; top:18px; color:#52624c; font-size:28px; }
.steps-list li > .step-number { position:static; display:grid; place-items:center; width:52px; height:52px; margin:0 auto 16px; border-radius:50%; background:#f8dcdb; color:#a6374a; font-size:28px; }
.steps-list h3 { font-size:18px; font-weight:700; }
.steps-list p { font-size:14px; line-height:1.6; max-width:245px; margin-inline:auto; }
.questions-band { background:#fbf0ec; padding-block:52px; }
.questions-layout { display:block; max-width:900px; }
.questions-layout h2 { font-size:36px; margin-bottom:25px; }
.faq-list { padding:0 22px; background:#fffcfa; }
.faq-list details { border-color:#e9dbd4; }
.faq-list details:first-child { border-top:0; }
.faq-list details:last-child { border-bottom:0; }
.faq-list summary { font-size:16px; padding:20px 0; }
.faq-list summary::after { color:#194e3e; font-size:24px; }
.report-section { padding-block:20px; }
.report-disclosure { background:#fcf2ee; padding:18px 24px; }
.report-label { display:flex; align-items:center; gap:18px; }
.report-icon { display:grid; place-items:center; width:42px; height:42px; flex-shrink:0; border-radius:50%; background:#f9d8d6; color:#af3d50; }
.report-title { font-size:20px; font-weight:600; }
.report-toggle { color:#214c3c; font-size:28px; }
.join-band { position:relative; isolation:isolate; overflow:hidden; background:#f8d7c8; padding:0; text-align:left; }
.join-band .section-photo { object-position:center 45%; }
.join-band::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#fde1d5eb,#fde1d58c 42%,transparent 72%); }
.join-content { min-height:440px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding-block:45px; }
.join-band h2 { font-size:44px; margin-bottom:25px; }
.join-band .eyebrow { color:#963e47; }
.join-actions { flex-direction:column; align-items:flex-start; gap:16px; }
.join-actions .text-link { font-size:13px; color:#173e30; }
.site-footer { padding-block:32px 24px; background:#103b30; color:#f9eee3; }
.site-footer .footer-top { align-items:center; padding-bottom:25px; gap:40px; }
.site-footer .wordmark { margin-bottom:8px; }
.site-footer .wordmark-logo { width:185px; height:62px; }
.site-footer .wordmark-logo.footer-logo { width:160px; height:160px; }
.site-footer p { color:#d5ded1; font-size:13px; margin-bottom:10px; }
.site-footer a { font-size:13px; }
.footer-links { display:grid; grid-template-columns:repeat(3,auto); gap:15px 30px; padding:0 0 0 32px; border-left:1px solid #8a9b8970; }
.footer-bottom { color:#d5ded1; border-color:#8a9b8970; }
.footer-bottom a { display:flex; align-items:center; gap:8px; font-size:12px; }
.footer-bottom .icon { width:16px; height:16px; }
@media(max-width:1100px) {
 .section-inner { width:calc(100% - 64px); }
 .site-header { padding-inline:32px; }
 .desktop-nav { gap:18px; font-size:13px; }
 .hero-content { margin-left:32px; width:48%; }
 .hero-tagline { font-size:48px; }
 .connection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .connection-grid .feature-card { align-items:center; padding:20px; }
 .hero-signoff { padding-inline:32px; }
}
@media(max-width:900px) {
 .desktop-nav { display:none; }
 .menu-toggle { display:flex; }
 .header-actions { gap:10px; }
}
@media(max-width:760px) {
 .site-header { min-height:76px; padding:9px 18px; gap:10px; }
 .wordmark-logo { width:150px; height:51px; }
 .header-actions { gap:8px; }
 .button-small { font-size:12px; min-height:38px; padding:8px 12px; gap:8px; }
 .button-small .icon { width:16px; height:16px; }
 .menu-toggle { width:34px; height:38px; padding:6px; }
 .section-inner { width:calc(100% - 40px); }
 .dating-hero { display:block; height:auto; min-height:0; padding:0; }
 .hero-photo { height:100%; object-position:60% center; }
 .dating-hero::before { background:linear-gradient(90deg,#301b14b8,#301b1466 54%,#301b141a); }
 .hero-content { width:70%; max-width:330px; min-height:0; position:relative; margin:0; padding:30px 0 35px 24px; }
 .hero-content .eyebrow { font-size:10px; line-height:1.6; margin:0 0 12px; white-space:nowrap; }
 .hero-content h1 { font-size:16px; margin-bottom:7px; }
 .hero-tagline { font-size:36px; margin-bottom:17px; line-height:1.05; }
 .hero-tagline br { display:block; }
 .hero-description { max-width:240px; font-size:13px; line-height:1.55; margin-bottom:18px; }
 .hero-actions { flex-direction:column; align-items:flex-start; gap:10px; }
 .hero-actions .button { font-size:12px; min-height:42px; width:190px; max-width:100%; padding:10px 12px; gap:10px; }
 .hero-signoff { padding:14px 20px; min-height:62px; font-size:10px; gap:15px; }
 .handwritten { font-size:18px; white-space:normal; }
 .handwritten .icon { width:21px; height:21px; }
 .connection-section { padding-block:28px 30px; }
 .section-heading { margin-bottom:20px; }
 .section-heading h2 { font-size:29px; margin-bottom:12px; }
 .section-heading > p:last-child { font-size:14px; line-height:1.6; }
 .eyebrow { font-size:10px; margin-bottom:9px; }
 .connection-grid { gap:10px; }
 .connection-grid .feature-card { align-items:flex-start; gap:9px; padding:14px 10px; }
 .feature-icon { width:36px; height:36px; }
 .feature-icon .icon { width:23px; height:23px; }
 .connection-grid h3 { font-size:12px; line-height:1.3; margin-bottom:6px; overflow-wrap:anywhere; }
 .connection-grid p { font-size:11px; line-height:1.55; }
 .resonance-band { padding:0; }
 .resonance-band .section-photo { object-position:60% center; }
 .resonance-band::before { background:linear-gradient(90deg,#10382eed,#10382e85 57%,#10382e0a); }
 .resonance-layout { min-height:355px; padding-block:28px; width:calc(100% - 44px); gap:0; }
 .resonance-copy { width:60%; max-width:285px; border:0; padding:0; }
 .resonance-copy .eyebrow { font-size:9px; }
 .resonance-copy h2 { font-size:32px; margin-bottom:10px; }
 .resonance-copy .resonance-lead { font-size:19px; margin-bottom:12px; }
 .resonance-copy p { font-size:12px; line-height:1.5; margin-bottom:17px; }
 .resonance-copy .button { font-size:11px; min-height:39px; padding:10px 13px; gap:10px; }
 .connection-note { position:absolute; right:0; bottom:80px; width:120px; padding:9px; gap:6px; font-size:9px; margin:0; }
 .connection-note .icon { width:20px; height:20px; }
 .steps-section { padding-block:34px; }
 .steps-section .section-heading { margin-bottom:23px; }
 .steps-section h2 { font-size:27px; }
 .steps-section .section-heading p { font-size:12px; }
 .steps-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; text-align:left; margin-bottom:20px; }
 .steps-list li { padding:0; }
 .steps-list li > .step-number { width:38px; height:38px; font-size:24px; margin:0 0 12px; }
 .steps-list li:not(:last-child)::after { right:-11px; top:3px; font-size:23px; }
 .steps-list h3 { font-size:12px; line-height:1.35; margin-bottom:8px; }
 .steps-list p { font-size:11px; line-height:1.5; margin-bottom:0; }
 .steps-section > .button { min-height:43px; font-size:12px; }
 .questions-band { padding-block:26px; }
 .questions-layout h2 { font-size:27px; margin-bottom:17px; }
 .faq-list { padding:0 14px; }
 .faq-list summary { padding:16px 0; font-size:12px; gap:12px; }
 .faq-list p { font-size:12px; padding-right:0; }
 .faq-list summary::after { font-size:21px; }
 .report-section { padding-block:12px; }
 .report-disclosure { padding:15px 12px; }
 .report-label { gap:12px; }
 .report-icon { width:34px; height:34px; }
 .report-icon .icon { width:20px; height:20px; }
 .report-title { font-size:15px; line-height:1.35; }
 .report-disclosure > summary { gap:10px; }
 .join-band { padding:0; }
 .join-band .section-photo { object-position:57% center; }
 .join-band::before { background:linear-gradient(90deg,#fbe0d5e8,#fbe0d577 50%,transparent); }
 .join-content { min-height:300px; padding-block:28px; }
 .join-band .eyebrow { font-size:9px; max-width:180px; }
 .join-band h2 { font-size:29px; max-width:220px; margin-bottom:20px; }
 .join-actions { gap:14px; }
 .join-actions .button { min-height:42px; font-size:12px; padding:11px 16px; }
 .join-actions .text-link { font-size:11px; gap:5px; }
 .join-actions .text-link .icon { width:14px; height:14px; }
 .site-footer { padding-block:25px 20px; }
 .site-footer .footer-top { flex-direction:row; align-items:flex-start; gap:22px; padding-bottom:22px; }
 .site-footer .footer-top > div { flex:1; min-width:0; }
 .site-footer .wordmark-logo { width:150px; height:51px; }
 .site-footer .wordmark-logo.footer-logo { width:128px; height:128px; }
 .site-footer p,.site-footer a { font-size:10px; line-height:1.5; }
 .footer-links { grid-template-columns:1fr 1fr; gap:13px 12px; padding-left:16px; margin-top:10px; width:40%; }
 .footer-bottom { padding-top:16px; gap:15px; font-size:9px; }
 .footer-bottom a { font-size:9px; }
}
@media(max-width:380px) {
 .site-header { padding-inline:12px; }
 .wordmark-logo { width:133px; height:45px; }
 .header-actions { gap:4px; }
 .button-small { padding-inline:9px; }
 .hero-content { padding-left:20px; width:76%; }
 .hero-tagline { font-size:32px; }
 .hero-description { max-width:215px; }
 .section-inner { width:calc(100% - 32px); }
 .connection-grid .feature-card { flex-direction:column; padding:13px; gap:9px; }
 .connection-grid h3 { font-size:12px; }
 .resonance-copy { width:75%; }
 .connection-note { display:none; }
 .site-footer .footer-top { flex-direction:column; gap:12px; }
 .footer-links { width:100%; grid-template-columns:repeat(3,1fr); border-left:0; padding-left:0; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
