/* Approved desktop/mobile direction: cream, navy, gold, and editorial type. */
:root{--navy:#14233e;--ink:var(--navy);--gold:#d4a72c;--cream:#f5f0e4;--soft:#f3f4f5;--muted:#4e5e70;--display-font:Georgia,'Times New Roman',serif}
.wrap{max-width:1400px;padding-left:56px;padding-right:56px}
.site-header{background:var(--cream);color:var(--navy);border-bottom:1px solid #14233e14}
.site-header .header-inner{min-height:116px;padding-top:20px;padding-bottom:20px;flex-wrap:nowrap;gap:32px}
.site-header .brand{display:flex;align-items:center;gap:18px;flex-shrink:0;font-weight:400;font-size:1.7rem;letter-spacing:.025em;white-space:nowrap}
.site-header .brand-mark{display:block;width:64px;height:64px;object-fit:contain}
.site-header .brand span{display:block;margin:0;vertical-align:baseline;background:none;height:auto;width:auto}
.site-header .brand .brand-divider{width:1px;height:44px;background:#ac8034}
.site-header .brand .brand-name{font-weight:400}
.site-header nav{display:flex;justify-content:flex-end;align-items:center;flex-wrap:nowrap;gap:26px;font-size:.9375rem;font-weight:500}
.site-header nav a{white-space:nowrap;padding:8px 0;min-height:44px;color:var(--navy)}
.site-header nav a[aria-current="page"]{color:var(--navy);border-bottom-color:#ac8034}
.site-header a:focus-visible,.menu-toggle:focus-visible{outline:3px solid var(--navy);outline-offset:5px}
.menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:88px;min-height:44px;padding:8px 0 8px 8px;border:0;color:var(--navy);background:transparent;font:500 1rem/1.4 var(--body-font);cursor:pointer}
.menu-icon{width:22px;height:16px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}
.menu-icon:after{content:'';position:absolute;left:0;right:0;top:5px;border-top:2px solid currentColor}
.menu-toggle[aria-expanded="true"] .menu-icon{border-bottom:0;border-top:0}
.menu-toggle[aria-expanded="true"] .menu-icon:before,.menu-toggle[aria-expanded="true"] .menu-icon:after{content:'';position:absolute;left:0;right:0;top:7px;border-top:2px solid currentColor;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-icon:after{transform:rotate(-45deg)}
.home-hero .hero-inner{padding-top:68px;padding-bottom:68px}
.home-hero .hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:72px;margin:0;align-items:center}
.home-hero .eyebrow{color:var(--gold);font-size:.875rem;letter-spacing:.19em;margin-bottom:28px;display:block}
.home-hero .eyebrow:before{display:none}
.home-hero h1{font:italic 400 clamp(3.6rem,6.4vw,6rem)/1.02 var(--display-font);letter-spacing:-.045em;text-transform:none;color:#fffdf6;margin:0 0 28px}
.home-hero .hero-introduction{font-size:1.1875rem;line-height:1.65;color:#e0e5ec;max-width:610px;margin:0 0 20px}
.home-hero .hero-roles{font-size:.9375rem;line-height:1.65;color:#e0e5ec;margin:0 0 28px;max-width:590px}
.hero-roles span{padding:0 4px;color:var(--gold)}
.hero-portrait{margin:0;align-self:center;min-width:0}
.hero-portrait img{display:block;width:100%;height:auto;aspect-ratio:1/1.06;object-fit:cover;object-position:center top;border:1px solid #ffffff18;border-radius:18px}
.hero-actions{gap:16px}
.button{border-radius:999px;padding:12px 28px;justify-content:center;min-height:48px;font-size:1rem}
.button.gold{background:var(--gold);color:#14233e}
.button.outline{border:2px solid #fffdf6;color:#fffdf6;background:transparent}
.button.outline:hover{background:#fffdf6;color:var(--navy)}
.section-heading{font-family:var(--display-font);font-weight:400;letter-spacing:-.035em;font-size:clamp(2.2rem,3.8vw,3.5rem);line-height:1.15}
.home-focus{background:var(--cream);border:0;padding:68px 0}
.home-focus .section-label{color:#69552e}
.focus-card,.record-detail,.resource-card{border-top-color:#b68a3e}
.page-banner h1{font-family:var(--display-font);font-weight:400;letter-spacing:-.025em}
.family-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}
.family-photo-pair .story-photo{width:100%;max-width:none}
.family-photo-pair img{aspect-ratio:4/5;object-fit:cover;border-radius:12px}
.family-photo-pair .picnic-photo img{object-position:center}
.family-photo-pair .couple-photo img{object-position:50% 60%}
.note{padding-left:56px;padding-right:56px}
.note-signature{display:block;width:200px;max-width:100%;height:auto;margin-top:20px;filter:brightness(0) saturate(100%);opacity:.85}
.story-photo img,.state-hero-photo img{border-radius:12px}
.signup-section,.video-updates,footer{background:var(--navy)}
@media(max-width:75em){.site-header .header-inner{gap:24px}.site-header .brand{font-size:1.45rem;gap:12px}.site-header .brand-mark{width:52px;height:52px}.site-header nav{gap:18px;font-size:.875rem}.home-hero .hero-grid{gap:48px}}
@media(max-width:65.625em){
 .wrap{padding-left:32px;padding-right:32px}
 .site-header .header-inner{min-height:88px;flex-wrap:wrap;justify-content:space-between;padding-top:14px;padding-bottom:14px;gap:12px 20px}
 .site-header .brand{font-size:1.4rem;gap:12px}
 .site-header .brand-mark{width:50px;height:50px}
 .site-header .brand .brand-divider{height:34px}
 .site-header nav{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:4px 28px;padding:12px 0 4px;border-top:1px solid #14233e25}
 .site-header nav a{justify-self:stretch;white-space:normal;font-size:1rem}
 .site-header.nav-ready nav:not(.is-open){display:none}
 .home-hero .hero-grid{gap:34px}
 .home-hero h1{font-size:clamp(3.4rem,6.5vw,4.8rem)}
 .home-hero .hero-introduction{font-size:1.0625rem}
 .note{padding-left:32px;padding-right:32px}
}
@media(max-width:47.5em){
 .wrap{padding-left:24px;padding-right:24px}
 .site-header .header-inner{min-height:80px;padding-top:12px;padding-bottom:12px;gap:12px}
 .site-header .brand{font-size:1.15rem;gap:10px}
 .site-header .brand-mark{width:42px;height:42px}
 .site-header .brand .brand-divider{height:29px}
 .menu-toggle{font-size:.9375rem;min-width:78px;gap:8px}
 .home-hero .hero-inner{padding-top:36px;padding-bottom:32px}
 .home-hero .hero-grid{grid-template-columns:minmax(0,1fr);gap:30px}
 .home-hero .eyebrow{font-size:.75rem;line-height:1.6;letter-spacing:.13em;margin-bottom:16px}
 .home-hero h1{font-size:clamp(3.1rem,12.8vw,4.7rem);line-height:1.04;margin-bottom:22px}
 .home-hero .hero-introduction{font-size:1.0625rem;line-height:1.65;margin-bottom:18px}
 .home-hero .hero-roles{font-size:.875rem;line-height:1.6;margin-bottom:24px}
 .home-hero .hero-actions{display:grid;grid-template-columns:1fr;gap:12px}
 .home-hero .hero-actions .button{width:100%;min-height:48px}
 .hero-portrait img{aspect-ratio:1/1;object-fit:cover;border-radius:14px}
 .home-focus{padding:44px 0}
 .section-heading{font-size:2.3rem}
 .family-photo-pair{gap:14px}
 .note{padding-left:24px;padding-right:24px}
}
@media(max-width:22em){.site-header .brand{font-size:1rem;gap:7px}.site-header .brand-mark{width:36px;height:36px}.menu-toggle{min-width:66px}.site-header nav{grid-template-columns:1fr}.site-header .header-inner{column-gap:6px}}
