:root {
  --green-950: #086b9f;
  --green-900: #0d7fb8;
  --green-700: #2f5d24;
  --cream: #fbf5e7;
  --paper: #fffdf7;
  --yellow: #ffd21f;
  --amber: #e89a00;
  --orange: #f36c21;
  --ink: #18201b;
  --muted: #5f695f;
  --border: rgba(23, 58, 42, 0.16);
  --radius: 28px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "DM Sans", sans-serif;
  font-size: 1rem;
  line-height: 1.65;
}
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.skip-link { position: fixed; top: 0.75rem; left: 0.75rem; transform: translateY(-200%); z-index: 100; background: white; padding: .7rem 1rem; border-radius: 8px; }
.skip-link:focus { transform: translateY(0); }

.site-header {
  min-height: 92px;
  padding: 1rem clamp(1.25rem, 4vw, 4.5rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  background: var(--green-950);
  color: white;
  position: relative;
  z-index: 20;
}
.brand { text-decoration: none; display: inline-flex; align-items: center; gap: .85rem; line-height: 1; }
.brand-word { font-family: "Libre Franklin", sans-serif; font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 800; letter-spacing: -.08em; color: var(--yellow); }
.brand-flower { font-size: .85em; display: inline-block; transform: translateY(-.03em); margin: 0 .04em; }
.brand-sub { color: #dce8df; text-transform: uppercase; font-size: .68rem; letter-spacing: .2em; font-weight: 700; max-width: 5rem; line-height: 1.25; }
.site-nav { display: flex; align-items: center; gap: clamp(1rem, 2.5vw, 2.25rem); }
.site-nav a { text-decoration: none; font-size: .93rem; font-weight: 600; color: #e7eee9; }
.site-nav a:hover, .site-nav a:focus-visible { color: var(--yellow); }
.site-nav .nav-cta { border: 1px solid rgba(255,255,255,.45); border-radius: 999px; padding: .72rem 1.15rem; }
.menu-button { display: none; background: none; border: 0; padding: .6rem; }
.menu-button span:not(.sr-only) { display: block; width: 26px; height: 2px; background: white; margin: 5px 0; }

.hero {
  position: relative;
  min-height: min(770px, calc(100svh - 92px));
  color: white;
  display: grid;
  align-items: center;
  background-image: url("assets/sunflower-road.png");
  background-size: cover;
  background-position: center;
  isolation: isolate;
  overflow: hidden;
}
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,74,111,.94) 0%, rgba(8,107,159,.76) 35%, rgba(13,127,184,.1) 78%), linear-gradient(0deg, rgba(3,74,111,.3), transparent 42%); z-index: -1; }
.hero-content { width: min(760px, 92%); padding: clamp(4rem, 8vw, 8rem) clamp(1.25rem, 7vw, 8rem); }
.eyebrow { margin: 0 0 1rem; color: var(--yellow); text-transform: uppercase; letter-spacing: .19em; font-size: .78rem; font-weight: 800; }
.eyebrow.dark { color: var(--green-700); }
h1, h2, h3 { font-family: "Libre Franklin", sans-serif; line-height: 1.02; letter-spacing: -.045em; margin-top: 0; }
h1 { margin-bottom: 1.5rem; font-size: clamp(3.15rem, 8vw, 7rem); }
h1 span { color: var(--yellow); }
.hero-copy { max-width: 610px; color: #edf2ee; font-size: clamp(1.05rem, 1.5vw, 1.25rem); line-height: 1.65; }
.hero-actions { margin-top: 2.2rem; display: flex; flex-wrap: wrap; gap: .8rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: .8rem 1.35rem; border-radius: 999px; text-decoration: none; font-weight: 700; }
.button-primary { color: var(--green-950); background: var(--yellow); }
.button-primary:hover { background: white; }
.button-ghost { border: 1px solid rgba(255,255,255,.5); }
.button-ghost:hover { border-color: white; background: rgba(255,255,255,.1); }
.hero-note { position: absolute; right: clamp(1.5rem, 4vw, 4rem); bottom: 2rem; margin: 0; padding: .7rem 1rem; border-radius: 999px; background: rgba(3,74,111,.72); backdrop-filter: blur(8px); font-size: .88rem; }
.hero-note span { color: var(--yellow); margin-right: .35rem; }

.kind-choice {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(5rem, 8vw, 8rem) clamp(1.25rem, 7vw, 8rem);
  background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.96) 0 7%, transparent 19%),
    linear-gradient(145deg, #dff3fc 0%, #a9dcf2 52%, #f9bf5b 100%);
}
.kind-choice::before,
.kind-choice::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  filter: blur(4px);
  background: rgba(255,255,255,.48);
}
.kind-choice::before { width: 300px; height: 74px; top: 7%; right: -50px; }
.kind-choice::after { width: 230px; height: 58px; top: 13%; right: 110px; opacity: .52; }
.choice-cloud { position: absolute; z-index: -1; background: rgba(255,255,255,.46); border-radius: 50%; filter: blur(7px); }
.choice-cloud-one { width: 190px; height: 48px; left: -30px; top: 43%; }
.choice-cloud-two { width: 140px; height: 36px; right: 8%; bottom: 9%; opacity: .55; }
.choice-intro { max-width: 870px; margin: 0 auto 3rem; text-align: center; }
.choice-intro h2 { margin-bottom: 1.2rem; color: #084f78; font-size: clamp(2.55rem, 5.4vw, 5.35rem); }
.choice-intro > p:last-child { max-width: 660px; margin: 0 auto; color: #34515f; font-size: clamp(1.05rem, 1.5vw, 1.22rem); }
.kind-mark { display: inline-flex; align-items: center; color: #0b6d9f; white-space: nowrap; letter-spacing: -.08em; }
.kind-mark > span { display: inline-block; margin: 0 .045em; font-size: .8em; transform: translateY(-.04em); }
.kind-mark.small { color: inherit; font-size: 1em; }
.choice-poster {
  position: relative;
  overflow: hidden;
  max-width: 1180px;
  margin: 0 auto;
  border: 1px solid rgba(255,255,255,.75);
  border-radius: clamp(26px, 4vw, 46px);
  background: linear-gradient(135deg, rgba(255,253,247,.94), rgba(255,247,220,.89));
  box-shadow: 0 28px 80px rgba(21,91,118,.2);
}
.choice-poster::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: -3%;
  bottom: -28%;
  width: 48%;
  height: 74%;
  background: linear-gradient(90deg, rgba(255,247,220,.96) 0%, rgba(255,247,220,.2) 70%), url("assets/sunflower-road.png") center bottom / cover no-repeat;
  border-radius: 52% 0 0 0;
  opacity: .95;
}
.safety-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, 1fr); }
.safety-message { min-height: 238px; padding: clamp(1.4rem, 2.8vw, 2.4rem); border-right: 1px solid rgba(8,107,159,.16); display: flex; flex-direction: column; justify-content: space-between; }
.safety-message:last-child { border-right: 0; }
.safety-icon { width: 68px; height: 68px; display: grid; place-items: center; border-radius: 50%; color: #0a6f9f; background: #ffd62e; box-shadow: 0 9px 24px rgba(232,154,0,.2); }
.safety-icon svg { width: 39px; height: 39px; fill: none; stroke: currentColor; stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }
.safety-message h3 { max-width: 190px; margin: 1.2rem 0 0; color: #163a4b; font-size: clamp(1.3rem, 2vw, 1.8rem); letter-spacing: -.035em; }
.choice-callout { position: relative; z-index: 1; padding: clamp(2.5rem, 5vw, 4.5rem); background: linear-gradient(112deg, #f28a2c 0%, #ec6425 50%, rgba(219,78,22,.94) 100%); color: white; }
.choice-save { margin: 0 0 .35rem; font-family: "Libre Franklin", sans-serif; font-size: clamp(2rem, 4.5vw, 4.3rem); font-weight: 800; line-height: 1.05; letter-spacing: -.045em; }
.choice-tagline { margin: 0 0 2rem; color: #fff8dc; font-size: clamp(1.15rem, 2vw, 1.55rem); font-weight: 700; }
.choice-links { display: flex; flex-wrap: wrap; gap: .8rem; }
.button-story { background: #ffd62e; color: #084f78; }
.button-story:hover { background: white; }
.button-support { border: 1px solid rgba(255,255,255,.76); color: white; backdrop-filter: blur(4px); }
.button-support:hover { background: white; color: #b23c18; }

.statement { display: grid; grid-template-columns: auto minmax(250px, .9fr) minmax(300px, 1fr); gap: clamp(2rem, 5vw, 6rem); align-items: start; padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 7vw, 8rem); background: var(--cream); }
.section-number { color: var(--amber); font-weight: 800; font-size: .8rem; border-top: 2px solid var(--amber); padding-top: .4rem; }
.statement h2, .actions h2, .pledge h2, .legacy h2 { font-size: clamp(2.6rem, 5vw, 5rem); margin-bottom: 0; }
.statement-copy { max-width: 640px; font-size: 1.08rem; color: var(--muted); }
.statement-copy p:first-child { margin-top: 0; font-size: clamp(1.15rem, 2vw, 1.45rem); color: var(--ink); }

.legacy { background: var(--green-900); color: white; padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 7vw, 8rem); display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.legacy-card { position: relative; max-width: 760px; }
.legacy-card > p:not(.eyebrow):not(.script-line) { color: #dce8df; max-width: 660px; font-size: 1.1rem; }
.sunflower-seal { position: absolute; right: 0; top: -2rem; width: 104px; height: 104px; border: 1px solid rgba(255,210,31,.35); border-radius: 50%; display: grid; place-items: center; }
.sunflower-seal span { font-size: 3.4rem; }
.script-line { color: var(--yellow); font-size: clamp(1.35rem, 2.5vw, 2rem); font-weight: 700; font-style: italic; margin-top: 2rem; }
.legacy-quote { display: grid; gap: .5rem; border-left: 1px solid rgba(255,255,255,.22); padding-left: clamp(1.5rem, 4vw, 4rem); }
.legacy-quote span { font-family: "Libre Franklin", sans-serif; font-weight: 700; font-size: clamp(1.5rem, 3.5vw, 2.8rem); color: rgba(255,255,255,.4); transition: color .2s, transform .2s; }
.legacy-quote span:hover { color: var(--yellow); transform: translateX(.4rem); }

.actions { padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 7vw, 8rem); }
.actions-heading { max-width: 680px; margin-bottom: 3rem; }
.actions-heading > p:last-child { color: var(--muted); font-size: 1.1rem; }
.action-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.action-card { min-height: 310px; border: 1px solid var(--border); border-radius: var(--radius); padding: clamp(1.5rem, 3vw, 2.5rem); display: flex; flex-direction: column; justify-content: flex-end; background: white; }
.action-card.featured { background: var(--yellow); border-color: var(--yellow); transform: translateY(-1rem); }
.card-number { margin-bottom: auto; font-size: .8rem; font-weight: 800; color: var(--green-700); }
.action-card h3 { font-size: clamp(1.5rem, 2vw, 2.05rem); margin-bottom: .65rem; }
.action-card p { margin: 0; color: var(--muted); }
.action-card.featured p { color: #324031; }

.pledge { margin: 0 clamp(1.25rem, 4vw, 4rem) clamp(1.25rem, 4vw, 4rem); border-radius: var(--radius); padding: clamp(2.5rem, 6vw, 5rem); background: var(--orange); color: white; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3rem; }
.pledge h2 { margin-bottom: 1.25rem; }
.pledge p:not(.eyebrow) { max-width: 760px; font-size: 1.08rem; }
.pledge .eyebrow { color: #291306; }
.pledge-button { min-width: 240px; border: 0; border-radius: 999px; background: var(--green-950); color: white; min-height: 58px; padding: 1rem 1.4rem; font: 700 1rem "DM Sans", sans-serif; cursor: pointer; }
.pledge-button:hover { background: white; color: var(--green-950); }
.pledge-success { display: none; }
.pledge-button.is-complete .pledge-default { display: none; }
.pledge-button.is-complete .pledge-success { display: inline; }

footer { background: var(--green-950); color: #dce8df; padding: 3.5rem clamp(1.25rem, 7vw, 8rem) 2rem; display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: 2rem; align-items: center; }
.footer-brand { justify-self: start; }
.footer-links { display: flex; gap: 1rem; justify-content: flex-end; flex-wrap: wrap; }
.footer-links a:hover { color: var(--yellow); }
.copyright { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.12); padding-top: 1.2rem; margin: 0; font-size: .8rem; color: #9fb0a4; }

:focus-visible { outline: 3px solid var(--yellow); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

@media (max-width: 880px) {
  .menu-button { display: block; }
  .site-nav { position: absolute; inset: 100% 0 auto 0; background: var(--green-950); padding: 1rem 1.25rem 1.5rem; flex-direction: column; align-items: stretch; transform: scaleY(0); transform-origin: top; opacity: 0; pointer-events: none; transition: transform .18s, opacity .18s; }
  .site-nav.is-open { transform: scaleY(1); opacity: 1; pointer-events: auto; }
  .site-nav a { padding: .55rem; }
  .site-nav .nav-cta { text-align: center; margin-top: .5rem; }
  .statement { grid-template-columns: auto 1fr; }
  .statement-copy { grid-column: 2; }
  .legacy { grid-template-columns: 1fr; }
  .legacy-quote { border-left: 0; border-top: 1px solid rgba(255,255,255,.22); padding: 2rem 0 0; }
  .legacy-quote span { font-size: 1.6rem; }
  .safety-grid { grid-template-columns: repeat(2, 1fr); }
  .safety-message { min-height: 205px; }
  .safety-message:nth-child(2) { border-right: 0; }
  .safety-message:nth-child(-n+2) { border-bottom: 1px solid rgba(8,107,159,.16); }
  .choice-poster::after { width: 64%; opacity: .6; }
  .action-grid { grid-template-columns: 1fr; }
  .action-card, .action-card.featured { min-height: 230px; transform: none; }
  .pledge { grid-template-columns: 1fr; }
  .pledge-button { width: 100%; }
  footer { grid-template-columns: 1fr; text-align: left; }
  .footer-links { justify-content: flex-start; }
}

@media (max-width: 560px) {
  .site-header { min-height: 78px; }
  .brand-sub { display: none; }
  .hero { min-height: calc(100svh - 78px); background-position: 62% center; align-items: end; }
  .hero-content { padding: 4.5rem 1.25rem 7rem; width: 100%; }
  h1 { font-size: clamp(3rem, 15vw, 4.4rem); }
  .hero-note { left: 1.25rem; right: auto; bottom: 1.25rem; }
  .kind-choice { padding: 4.5rem 1rem; }
  .choice-intro { text-align: left; margin-bottom: 2rem; }
  .choice-intro h2 { font-size: clamp(2.45rem, 12vw, 3.65rem); }
  .choice-intro > p:last-child { margin-left: 0; }
  .choice-poster { border-radius: 26px; }
  .safety-grid { grid-template-columns: 1fr; }
  .safety-message { min-height: 0; padding: 1.25rem 1.3rem; border-right: 0; border-bottom: 1px solid rgba(8,107,159,.16); flex-direction: row; align-items: center; justify-content: flex-start; gap: 1.1rem; }
  .safety-message:nth-child(2) { border-bottom: 1px solid rgba(8,107,159,.16); }
  .safety-message:last-child { border-bottom: 0; }
  .safety-icon { flex: 0 0 auto; width: 54px; height: 54px; }
  .safety-icon svg { width: 31px; height: 31px; }
  .safety-message h3 { margin: 0; max-width: none; font-size: 1.35rem; }
  .choice-callout { padding: 2.25rem 1.3rem 2.5rem; }
  .choice-poster::after { width: 100%; height: 50%; right: -36%; bottom: -8%; opacity: .42; }
  .choice-links { align-items: stretch; flex-direction: column; }
  .choice-links .button { width: 100%; text-align: center; }
  .statement { grid-template-columns: 1fr; }
  .section-number, .statement-copy { grid-column: auto; }
  .sunflower-seal { width: 72px; height: 72px; top: -2.8rem; }
  .sunflower-seal span { font-size: 2.4rem; }
}

/* Natural sunflower panorama in the awareness section. */
.choice-sunflower-view { position: relative; z-index: 1; height: clamp(150px, 20vw, 235px); background: url("assets/sunflower-road.png") right 73% / cover no-repeat; }
.choice-poster::after { display: none; }
@media (max-width: 560px) { .choice-sunflower-view { height: 165px; background-size: auto 340px; background-position: right 78%; } }

/* Memorial pages and community awareness concepts. */
.site-nav { gap: clamp(.6rem, 1.35vw, 1.5rem); flex-wrap: wrap; }
.memory-section { padding: clamp(3.5rem,7vw,7rem) clamp(1.25rem,7vw,8rem); }
.memory-section h2 { font-size: clamp(2.4rem,4.8vw,4.6rem); max-width: 1000px; margin-bottom: 1.5rem; color: #084f78; }
.section-lead { max-width: 760px; color: #34515f; font-size: 1.2rem; }
.memory-hero { display: grid; grid-template-columns: 1.15fr .7fr; gap: clamp(2rem,7vw,7rem); padding: clamp(3.5rem,7vw,7rem) clamp(1.25rem,7vw,8rem); background: radial-gradient(ellipse at 20% 10%,#ffffffb0,transparent 55%),linear-gradient(145deg,#e2f3fc,#bce5f6 55%,#ffe5a8); align-items: center; }
.memory-hero h1 { font-size: clamp(2.7rem,5.8vw,5.6rem); color: #084f78; overflow-wrap: anywhere; }
.memory-hero h1 span { color: #946400; }
.memory-hero p:not(.eyebrow) { max-width: 680px; font-size: 1.15rem; }
.memory-hero figure { margin: 0; max-width: 370px; justify-self: center; }
.memory-hero img { display: block; width: 100%; height: auto; border-radius: 24px; box-shadow: 0 20px 55px #084f7826; }
.memory-hero figcaption { margin-top: .75rem; color: #34515f; font-size: .85rem; }
.memory-deck { font-weight: 700; font-size: clamp(1.3rem,2.4vw,1.9rem) !important; }
.narrow-copy { max-width: 1100px; margin: auto; }
.narrow-copy p { font-size: 1.12rem; }
blockquote { border-left: 4px solid #e8ab00; margin: 2.5rem 0 0; padding: .5rem 0 .5rem 1.5rem; font-size: clamp(1.5rem,3vw,2.3rem); font-weight: 700; color: #086b9f; line-height: 1.3; }
.gallery-section { background: #f7f0df; }
.draft-note { max-width: 850px; padding: 1.5rem; border: 1px dashed #9c7936; border-radius: 18px; background: #fffdf7; color: #554528; }
.draft-note p { margin-bottom: 0; }
.memory-chapters { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 2rem; }
.memory-chapters span { border-radius: 999px; padding: .7rem 1rem; background: #fffaf0; color: #6c501b; }
.sunset-section { background: linear-gradient(135deg,#fff2ca,#ffd36d 60%,#f5b17c); }
.sunset-section > p { max-width: 800px; font-size: 1.15rem; }
.crash-hero { grid-template-columns: 1.4fr .6fr; }
.family-account { padding: 2rem; border-radius: 24px; background: #fffdf7cf; }
.family-account a { font-weight: 700; color: #084f78; }
.crash-timeline { padding: 0 0 0 2rem; margin: 3rem 0 0; }
.crash-timeline li { padding: 0 0 2.4rem 1rem; border-left: 2px solid #eab62f; }
.crash-timeline li::marker { font-weight: 800; color: #086b9f; }
.crash-timeline h3 { font-size: clamp(1.4rem,2.5vw,2rem); line-height: 1.2; }
.awareness-ideas { background: #fff8e8; }
.ideas-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 3rem; }
.ideas-grid article { overflow: hidden; border: 1px solid #ddc98e; border-radius: 24px; background: #fffdf7; }
.ideas-grid img { display: block; width: 100%; height: auto; }
.idea-copy { padding: 1.6rem; }
.idea-copy h3 { font-size: 1.7rem; line-height: 1.15; }
.someone-panel { margin-top: 4rem; display: grid; grid-template-columns: minmax(0,.65fr) minmax(0,1fr); align-items: center; gap: clamp(2rem,6vw,6rem); }
.someone-panel img { width: 100%; height: auto; max-width: 380px; border-radius: 22px; }
@media(max-width:880px) { .memory-hero,.crash-hero { grid-template-columns: 1fr; }.memory-hero figure { max-width: 330px; }.ideas-grid { grid-template-columns: 1fr; }.someone-panel { grid-template-columns: 1fr; }.someone-panel img { max-width: 330px; }.memory-hero h1 { max-width: 700px; }.site-nav { flex-wrap: nowrap; } }

.collision-gallery {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:2.5rem}.collision-gallery figure{margin:0}.collision-gallery img{width:100%;height:auto;display:block;border-radius:18px}.collision-gallery figcaption{margin-top:.8rem;color:#554528;font-size:.94rem}.report-source{font-size:.9rem!important;color:#5f695f;margin-top:3rem}@media(max-width:700px){.collision-gallery{grid-template-columns:1fr}}

.photos-intro{padding:clamp(3rem,7vw,7rem) clamp(1.25rem,7vw,8rem) 3rem;background:linear-gradient(140deg,#edf8fd,#cbeafa 65%,#ffedbb)}.photos-intro h1{font-size:clamp(3rem,7vw,6.5rem);color:#084f78;margin-bottom:1.4rem}.photos-intro h1 span{color:#9b6c00}.photos-intro>p:not(.eyebrow){max-width:700px;font-size:1.2rem}.chapter-links{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:2rem}.chapter-links a{border:1px solid #086b9f55;border-radius:999px;padding:.6rem 1rem;text-decoration:none;color:#084f78;background:#ffffff80;font-weight:700}
.memory-player-section{padding:2rem clamp(1.25rem,7vw,8rem) 4rem;background:#edf7fc}.slideshow-frame{max-width:1150px;margin:auto;background:#08334d;border-radius:24px;overflow:hidden}.slideshow-frame>img{width:100%;height:clamp(340px,66vh,720px);display:block;object-fit:contain;background:#08334d}.slide-caption{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.3rem;color:white}.slide-caption>span:last-child{white-space:nowrap;color:#ffdb57}.slideshow-controls{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap;margin-top:1.1rem}.slideshow-controls button,.music-panel button{min-height:48px;border-radius:999px;padding:.7rem 1.2rem;border:1px solid #086b9f;background:white;color:#084f78;font:700 1rem 'DM Sans',sans-serif;cursor:pointer}#slide-play,.music-panel button{background:#ffd21f;border-color:#c58c00}.player-hint{text-align:center;color:#34515f}.music-panel{max-width:800px;margin:2.5rem auto 0;padding:1.5rem 2rem;border-radius:22px;background:#fff7df;border:1px solid #e3c96b}.music-panel h2{font-size:1.8rem;margin-bottom:.6rem;color:#084f78}.music-panel p{margin:.5rem 0 1rem}.music-panel iframe{display:block;width:100%;aspect-ratio:16/9;border:0;margin-top:1.5rem;border-radius:12px}.music-panel .music-fallback{font-size:.88rem;margin-top:1rem}.photo-chapter{padding:4rem clamp(1.25rem,7vw,8rem);background:#fffdf7}.photo-chapter:nth-of-type(even){background:#fbf5e7}.photo-chapter h2{font-size:clamp(2.3rem,4.3vw,4.2rem);color:#084f78;margin-bottom:2rem}.life-photo-grid{columns:3;column-gap:1.4rem}.life-photo-grid figure{break-inside:avoid;margin:0 0 1.7rem;display:inline-block;width:100%}.life-photo-grid img{display:block;width:100%;height:auto;border-radius:16px}.life-photo-grid figcaption{padding:.65rem .2rem;color:#495a62;font-size:.95rem}.photo-open{padding:0;border:0;display:block;width:100%;background:none;cursor:zoom-in}.story-teaser{margin:2rem 0}.homepage-memories{display:grid;grid-template-columns:1.2fr .7fr;gap:3rem;align-items:center;background:#e8f5fc}.homepage-memories img{width:100%;height:auto;max-height:470px;object-fit:contain;border-radius:20px}.video-chapter{text-align:center}.video-chapter video{display:block;max-height:70vh;max-width:100%;width:auto;margin:0 auto;border-radius:20px;background:#08334d}.video-chapter p:not(.eyebrow){color:#34515f}
#photo-dialog{border:0;border-radius:20px;padding:1.2rem;max-width:min(1000px,95vw);width:100%;max-height:95vh;background:#fffdf7}#photo-dialog::backdrop{background:#031f30df}#photo-close{display:block;margin:0 0 .75rem auto;padding:.6rem 1rem;border:1px solid #086b9f;border-radius:99px;background:white;color:#084f78;font-weight:700;cursor:pointer}#dialog-photo{display:block;width:100%;height:65vh;object-fit:contain}#dialog-caption{text-align:center}#photo-dialog .slideshow-controls{margin-bottom:.5rem}
@media(max-width:1050px)and(min-width:881px){.site-header{flex-wrap:wrap}.site-nav{justify-content:flex-start}}
@media(max-width:700px){.life-photo-grid{columns:2;column-gap:.8rem}.life-photo-grid figure{margin-bottom:1rem}.homepage-memories{grid-template-columns:1fr}.music-panel{padding:1.4rem}.slide-caption{font-size:.9rem}.memory-player-section{padding-left:.8rem;padding-right:.8rem}.slideshow-controls button{padding:.7rem .9rem}.slideshow-frame>img{height:55vh;min-height:310px}.photo-chapter{padding-top:3rem;padding-bottom:3rem}}
@media(max-width:390px){.life-photo-grid{columns:1}}

.life-photo-grid{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;align-items:start}.life-photo-grid figure{display:block;margin:0}.life-photo-grid img{height:auto;object-fit:contain}.life-photo-grid .photo-open{min-width:0}.story-teaser{margin-bottom:2rem}.car-before-section{background:#fff8e8}.car-before-photo{max-width:580px;margin:2rem auto 0}.car-before-photo img{width:100%;height:auto;display:block;border-radius:20px}.car-before-photo figcaption,.mission-photo-grid figcaption{margin-top:.8rem;color:#495a62}.visual-mission{background:linear-gradient(145deg,#e4f4fc,#fff1c7)}.visual-mission>p{max-width:850px}.mission-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin:2.5rem 0}.mission-photo-grid figure{margin:0}.mission-photo-grid img{display:block;width:100%;height:auto;border-radius:20px}@media(max-width:700px){.life-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.mission-photo-grid{grid-template-columns:1fr}}@media(max-width:390px){.life-photo-grid{grid-template-columns:1fr}}

.singing-memory{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.75fr);gap:clamp(2rem,6vw,6rem);align-items:center;background:radial-gradient(ellipse at 15% 0%,#ffffffb3,transparent 65%),linear-gradient(135deg,#dff3fc,#eaf6fc 58%,#ffedb9)}.singing-story h2{margin-bottom:1.5rem}.singing-story h3{font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.2;color:#946400;letter-spacing:-.02em}.singing-story p:not(.eyebrow){max-width:640px;font-size:1.12rem}.singing-play{border:0;cursor:pointer;font:700 1rem 'DM Sans',sans-serif;margin-top:1rem}.singing-film{margin:0;justify-self:center;max-width:390px;width:100%}.singing-film video{display:block;width:100%;height:auto;max-height:72vh;background:#08334d;border-radius:22px;box-shadow:0 18px 50px #084f7826}.singing-film figcaption{font-size:.9rem;line-height:1.5;color:#34515f;margin-top:1rem}.homepage-memories .button{margin:.4rem .4rem .4rem 0}@media(max-width:700px){.singing-memory{grid-template-columns:1fr}.singing-film{max-width:350px}.singing-film video{max-height:70vh}}
