/* Inner pages, lightbox, mobile menu */
.logo{display:block;line-height:0}
.header .logo img{height:54px;width:auto;filter:none}
.nav-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer}
.nav-toggle span{display:block;width:26px;height:2px;background:#fff;margin:6px 0;transition:.2s}
.header.open .nav-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.header.open .nav-toggle span:nth-child(2){opacity:0}
.header.open .nav-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media(max-width:900px){
  .nav-toggle{display:block}
  .header .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 22px;box-shadow:0 18px 30px rgba(0,0,0,.25)}
  .header.open .nav{display:flex}
  .header.open .nav a:not(.pill){display:block;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.12);font-size:calc(17px*var(--sw-k,1))}
  .header.open .nav .pill{margin-top:16px;text-align:center}
  .header .logo img{height:44px}
}

/* page hero band */
.page-hero{background:var(--sec-bg,var(--navy));color:var(--sec-fg,#fff);padding:50px 0 70px}
.page-hero h1{font-size:calc(clamp(40px,6vw,68px)*var(--sw-k,1))}
.page-hero .eyebrow{margin-bottom:14px}

/* sections */
.pg{padding:80px 0;background:var(--sec-bg,transparent);color:var(--sec-fg,inherit)}
.pg.alt{background:var(--sec-bg,#fff);border-block:1px solid var(--line)}
.narrow{max-width:860px}
.pg-h{font-size:calc(clamp(28px,3.6vw,40px)*var(--sw-k,1));margin-bottom:18px;color:var(--sec-fg,var(--navy))}
.pg-h.year{margin:44px 0 22px}
.pg-h.year:first-child{margin-top:0}
.pg p{margin:0 0 1em;max-width:46em;font-size:calc(1em*var(--sw-k,1))}
.pg .lead{font-size:calc(19px*var(--sw-k,1));color:var(--sec-fg,var(--muted));margin-bottom:28px}
.kicker{display:block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--muted);margin-bottom:8px}
.pg h3{font-size:calc(24px*var(--sw-k,1));color:var(--sec-fg,var(--navy));margin-bottom:12px}

.people{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:20px}
.person-img{width:100%;max-width:340px;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);margin-bottom:22px;box-shadow:0 14px 34px rgba(11,18,80,.15)}
.kids{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:20px}
.kid img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r);box-shadow:0 10px 26px rgba(11,18,80,.12)}
.kid figcaption{text-align:center;font:700 22px Fraunces,Georgia,serif;margin-top:12px;color:var(--navy)}

.beliefs{display:grid;gap:10px;margin-top:16px}
.bel{background:#fff;border:1px solid var(--line);border-radius:12px}
.bel summary{cursor:pointer;list-style:none;padding:18px 22px;font:700 20px Fraunces,Georgia,serif;color:var(--navy);display:flex;justify-content:space-between;gap:12px}
.bel summary::-webkit-details-marker{display:none}
.bel summary::after{content:"+";font:500 26px/1 Inter,sans-serif;color:var(--muted)}
.bel[open] summary::after{content:"–"}
.bel-body{padding:0 22px 18px}
.bel-body p{margin-bottom:.9em;max-width:none}
.bel-body .refs{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}

.split{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:56px;align-items:start}
.split.rev{grid-template-columns:1fr minmax(220px,340px)}
.split.rev .split-img{order:2}
.split-img{width:100%;border-radius:var(--r);box-shadow:0 14px 34px rgba(11,18,80,.15)}
.split-img.logo-img{box-shadow:none;background:#fff;padding:16px;border:1px solid var(--line)}
.refs-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:20px}
.ref-img{width:140px;aspect-ratio:1;object-fit:cover;object-position:top;border-radius:50%;margin-bottom:16px;box-shadow:0 8px 22px rgba(11,18,80,.15)}

.give-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:10px}
.give-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 26px;display:flex;flex-direction:column;gap:4px;color:var(--ink)}
.give-card h3{color:var(--navy)}
.give-card .addr{font-weight:600}
.give-card .memo{color:var(--muted)}
.give-card .qr{width:150px;border-radius:8px;margin:6px 0 14px}
.give-card .btn{align-self:flex-start;margin-top:auto}

.dl-list{display:grid;gap:14px;margin-top:10px}
.dl-item{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 24px;color:var(--ink)}
.dl-item h3{margin:0;color:var(--navy)}
.dl-item.col{flex-direction:column;align-items:flex-start}
.dl-item audio{width:100%}
.btn-n{border:1.5px solid var(--navy);color:var(--navy)}
.player{width:100%;border-radius:var(--r);background:#000;box-shadow:0 16px 40px rgba(11,18,80,.2);aspect-ratio:16/9}
.actions.center{justify-content:center;margin-top:26px}
.letters{margin-bottom:10px}
.letters .card{gap:60px}
.letters .card span{margin-top:-30px}

@media(max-width:900px){
  .pg{padding:56px 0}
  .people,.refs-grid,.give-grid,.split,.split.rev{grid-template-columns:1fr;gap:34px}
  .split.rev .split-img{order:0}
  .kids{grid-template-columns:repeat(2,1fr)}
  .page-hero{padding:34px 0 50px}
}

/* lightbox (video + letters) */
.sw-lb{position:fixed;inset:0;z-index:100000;background:rgba(8,12,50,.82);display:flex;align-items:center;justify-content:center;padding:24px;animation:swfade .18s ease}
@keyframes swfade{from{opacity:0}to{opacity:1}}
.sw-lb-box{background:#fff;color:var(--ink);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;width:min(960px,100%);max-height:100%;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.sw-lb-box.video{background:#000;width:min(1000px,100%)}
.sw-lb-bar{display:flex;align-items:center;gap:10px;padding:12px 14px 12px 20px;background:var(--navy);color:#fff}
.sw-lb-title{flex:1;font:600 17px Fraunces,Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sw-lb-bar a,.sw-lb-bar button{background:var(--yellow);color:var(--navy);border:0;border-radius:999px;padding:9px 18px;font:600 14px Inter,sans-serif;cursor:pointer;text-decoration:none;white-space:nowrap}
.sw-lb-bar .x{background:rgba(255,255,255,.14);color:#fff;width:38px;height:38px;padding:0;font-size:22px;line-height:1}
.sw-lb-body{overflow:auto;background:#e9e6dc;flex:1;min-height:200px}
.sw-lb-box.video .sw-lb-body{background:#000;overflow:hidden}
.sw-lb-body iframe,.sw-lb-body video{display:block;width:100%;border:0;aspect-ratio:16/9;background:#000}
.sw-lb-body iframe.doc{aspect-ratio:auto;height:78vh;background:#fff}
.sw-page{display:block;margin:14px auto;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.16);position:relative;max-width:100%}
.sw-page canvas{display:block;width:100%;height:100%}
.sw-note{padding:18px 22px;color:var(--muted)}
body.sw-lb-open{overflow:hidden}
@media(max-width:700px){.sw-lb{padding:0}.sw-lb-box{border-radius:0;height:100%;width:100%}.sw-lb-bar a{padding:9px 14px}}
/* Phone: show the whole family photo (Mike on the left, Ashlie on the right) above the headline. */
@media(max-width:700px){
  .hero{display:block;min-height:0;background:var(--sec-bg,#0b1250)}
  .hero-bg{position:relative;inset:auto;width:100%;aspect-ratio:4/3;background-position:62% 22%;background-size:cover}
  .hero::after{inset:auto;top:0;left:0;right:0;aspect-ratio:4/3;background:linear-gradient(180deg,rgba(11,18,80,.55) 0%,rgba(11,18,80,0) 28%,rgba(11,18,80,0) 62%,var(--sec-bg,#0b1250) 100%)}
  .hero-inner{padding:6px 20px 48px}
}