:root{
  --ink:#17343c;
  --muted:#5d7175;
  --paper:#f6f1e7;
  --panel:#fffdf8;
  --accent:#1b6870;
  --accent-deep:#124b53;
  --accent-pressed:#0e3f46;
  --sand:#e4d6c1;
  --earth:#8a6848;
  --sea-mist:#e5efec;
  --sun-wash:#f2e4cf;
  --line:#d1d9d4;
}
body{
  font-size:17px;
  line-height:1.68;
  color:var(--ink);
  background:
    radial-gradient(circle at 12% 8%,rgba(229,239,236,.9),transparent 28rem),
    radial-gradient(circle at 88% 20%,rgba(242,228,207,.36),transparent 24rem),
    linear-gradient(180deg,#faf6ee 0%,var(--paper) 46%,#f1eadf 100%);
}
p,li{max-width:72ch}
.site-header{
  background:rgba(250,246,238,.95);
  border-bottom:1px solid rgba(18,75,83,.16);
  box-shadow:0 8px 26px rgba(23,52,60,.055);
}
.brand{
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.08rem;
  letter-spacing:.015em;
}
.sww-brand-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  flex:0 1 auto;
  min-width:0;
  max-width:270px;
  color:var(--ink);
  text-decoration:none;
}
.sww-header-logo{
  display:block;
  flex:0 0 auto;
  width:52px;
  height:52px;
  object-fit:contain;
  border-radius:12px;
}
.sww-brand-name{
  display:block;
  max-width:190px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:.95rem;
  font-weight:700;
  line-height:1.08;
  letter-spacing:.005em;
}
.nav{gap:20px}
.nav a{position:relative;font-size:1rem}
.nav a:not(.nav-action):after{
  content:'';
  position:absolute;
  left:0;right:100%;bottom:-5px;
  height:1px;background:var(--accent);
  transition:right .18s ease;
}
.nav a:not(.nav-action):hover:after,.nav a[aria-current='page']:after{right:0}
.nav .support-action{
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  padding:7px 12px 8px;
  border:1px solid rgba(27,104,112,.30);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,253,248,.90),rgba(229,239,236,.72));
  color:var(--accent-deep);
  font-weight:750;
  box-shadow:0 3px 10px rgba(23,52,60,.055),inset 0 1px 0 rgba(255,255,255,.75);
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.nav .support-action:before{
  content:'〰';
  display:inline-block;
  color:var(--accent);
  font-size:1.02rem;
  line-height:1;
  transform:translateY(-1px);
}
.nav .support-action:hover{
  background:linear-gradient(180deg,rgba(255,253,248,.98),rgba(229,239,236,.92));
  border-color:rgba(27,104,112,.46);
  box-shadow:0 5px 14px rgba(23,52,60,.09),inset 0 1px 0 rgba(255,255,255,.82);
  transform:translateY(-1px);
}
.nav .support-action:active{transform:translateY(0)}
.eyebrow{color:var(--accent-deep);letter-spacing:.145em}
h1,h2,h3{color:#17343c}
.lead{color:#28474e;font-size:1.22rem;line-height:1.62}
.button{
  min-height:48px;
  padding:13px 21px;
  border-width:1px;
  font-weight:750;
  transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease;
}
.button:hover{transform:translateY(-1px)}
.button:active{transform:translateY(1px)}
.button.primary{
  background:linear-gradient(180deg,#247984 0%,var(--accent) 48%,var(--accent-deep) 100%);
  border-color:#103f46;
  box-shadow:0 2px 0 #0e3d43,0 9px 20px rgba(18,75,83,.2);
  text-shadow:0 1px 0 rgba(0,0,0,.12);
}
.button.primary:hover{box-shadow:0 2px 0 #0e3d43,0 12px 24px rgba(18,75,83,.24)}
.button.primary:active{
  background:linear-gradient(180deg,var(--accent-deep),var(--accent-pressed));
  box-shadow:0 1px 0 #0b3439,0 4px 10px rgba(18,75,83,.18);
}
.button.ghost{
  background:rgba(255,253,248,.78);
  border-color:rgba(18,75,83,.28);
  box-shadow:0 3px 10px rgba(23,52,60,.055);
}
.hero{padding-top:72px}
.hero-copy{position:relative}
.hero-copy:before{
  content:'';
  display:block;
  width:72px;height:3px;
  margin-bottom:22px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--accent),#ad8255);
}
.hero-memory-line{border-left:3px solid #ad8255;padding-left:17px;color:#29464c}
.hero-media img,.visual-band img,.about-photo img{
  border-radius:28px;
  box-shadow:0 20px 46px rgba(23,52,60,.16);
}
.launch-story-card,.simple-path-card,.support-panel,.support-choice,.quote-card,.story-card{
  border-color:rgba(27,104,112,.18);
  box-shadow:0 11px 30px rgba(23,52,60,.07),0 1px 0 rgba(255,255,255,.72) inset;
}
.launch-story-card{transition:transform .18s ease,box-shadow .18s ease}
.launch-story-card:hover{transform:translateY(-2px);box-shadow:0 17px 36px rgba(23,52,60,.105)}
.launch-story-copy p{font-size:1.02rem}
.memory-invitation,.soft-panel,.story-emotional-end{background:linear-gradient(145deg,var(--sea-mist),#f5f7f3)}
.quiet-support-row,.book-milestone{border-top-color:rgba(27,104,112,.2)}
.quiet-support-row{background:linear-gradient(90deg,rgba(242,228,207,.62),transparent);border-radius:22px;padding-left:28px;padding-right:28px}
.zelle-support-block{margin-top:18px;padding-top:4px}
.zelle-qr-action{
  width:min(100%,340px);
  margin:18px 0;
  padding:18px;
  text-align:center;
  border:1px solid rgba(18,75,83,.18);
  border-radius:22px;
  background:rgba(255,253,248,.92);
  box-shadow:0 10px 24px rgba(23,52,60,.07);
}
.zelle-qr-action[hidden]{display:none}
.zelle-qr-label{margin:0 0 12px;font-weight:800;color:var(--accent-deep)}
.zelle-qr-placeholder{
  display:grid;
  place-items:center;
  width:min(280px,100%);
  aspect-ratio:1/1;
  margin:0 auto;
  border:2px dashed rgba(18,75,83,.24);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(229,239,236,.8),rgba(255,253,248,.96));
  color:rgba(18,75,83,.55);
  font-size:2rem;
  font-weight:800;
  letter-spacing:.08em;
}
.zelle-qr-image{
  display:block;
  width:min(280px,100%);
  height:auto;
  margin:0 auto;
  border-radius:14px;
  background:#fff;
}
.zelle-qr-note{margin:12px auto 0}
footer{border-top-color:rgba(27,104,112,.18)}
footer strong{font-family:Georgia,'Times New Roman',serif;font-size:1.08rem}
footer a{padding:4px 0}
.sww-footer-brand{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin:0 0 8px;
  padding:0;
  text-decoration:none;
}
.sww-footer-logo{
  display:block;
  width:48px;
  height:48px;
  object-fit:contain;
  border-radius:11px;
}
.story-reading{box-shadow:0 22px 52px rgba(23,52,60,.08)}
.story-body p{color:#203c43;font-size:1.22rem;line-height:1.82}
input,textarea{font-size:1rem}
input:focus,textarea:focus,button:focus-visible,a:focus-visible{
  outline:3px solid rgba(27,104,112,.3);
  outline-offset:3px;
}
@media(max-width:760px){
  body{font-size:17px;line-height:1.7}
  .site-header{padding-top:9px;padding-bottom:9px}
  .brand{max-width:none;line-height:1.2;font-size:1rem}
  .sww-brand-link{gap:8px;max-width:205px}
  .sww-header-logo{width:44px;height:44px;border-radius:10px}
  .sww-brand-name{max-width:145px;font-size:.84rem;line-height:1.05}
  .sww-footer-logo{width:44px;height:44px}
  .menu-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;font-weight:800}
  .nav.open{gap:8px;padding-top:12px}
  .nav.open a{display:block;min-height:44px;padding:11px 4px;font-size:1.02rem}
  .hero{padding-top:46px;gap:26px}
  .hero-copy:before{margin-bottom:16px;width:54px}
  h1{line-height:1.04}
  h2{line-height:1.1}
  .section,.page{padding-left:18px;padding-right:18px}
  .quiet-support-row{padding-left:20px;padding-right:20px}
  .button{min-height:50px;font-size:1rem}
  .actions .button{width:100%}
  .zelle-qr-action{width:100%;padding:16px;margin:16px 0}
  .zelle-qr-image,.zelle-qr-placeholder{width:min(260px,100%)}
  .launch-story-copy{padding:22px}
  .story-body p{font-size:1.16rem;line-height:1.78}
  .launch-story-card:hover{transform:none}

  /* Soft-opening mobile menu polish: same links and behavior, cleaner presentation. */
  .menu-button{
    min-width:88px;
    padding:10px 18px;
    border-color:rgba(18,75,83,.22);
    background:rgba(255,253,248,.92);
    box-shadow:0 4px 14px rgba(23,52,60,.07);
  }
  .nav.open{
    top:66px;
    right:14px;
    min-width:min(78vw,310px);
    gap:4px;
    padding:12px;
    border:1px solid rgba(18,75,83,.16);
    border-radius:22px;
    background:rgba(255,253,248,.98);
    box-shadow:0 18px 42px rgba(23,52,60,.16);
    backdrop-filter:blur(12px);
  }
  .nav.open a{
    min-height:46px;
    padding:11px 14px;
    border-radius:14px;
    font-size:1rem;
    line-height:1.35;
  }
  .nav.open a:not(.nav-action):after{display:none}
  .nav.open a:not(.nav-action):active{background:var(--sea-mist)}
  .nav.open .crew-action{
    margin-top:4px;
    padding:12px 16px;
    border-radius:16px;
    box-shadow:0 7px 16px rgba(18,75,83,.18);
  }
  .nav.open .support-action{
    display:flex;
    align-items:center;
    gap:.5rem;
    margin-top:2px;
    padding:11px 14px;
    border-radius:16px;
    background:linear-gradient(180deg,rgba(255,253,248,.96),rgba(229,239,236,.76));
    box-shadow:none;
  }
}
@media(max-width:390px){
  .sww-brand-link{gap:7px;max-width:175px}
  .sww-header-logo{width:40px;height:40px}
  .sww-brand-name{max-width:122px;font-size:.77rem}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition:none!important}
}
