:root{
  --bg:#f7f0e6;
  --bg-2:#efe3d1;
  --bg-3:#fff9f2;
  --paper:#fffaf4;
  --card:#fff7ef;
  --ink:#2a1d16;
  --muted:#6d5749;
  --line:rgba(70,40,20,.14);

  --red:#b8382f;
  --red-deep:#8f2b24;
  --cream:#ffe8bf;
  --gold:#d39a45;
  --green:#5d7b4c;
  --brown:#6a4631;
  --shadow:0 18px 40px rgba(53,27,14,.12);
  --shadow-soft:0 10px 22px rgba(53,27,14,.08);
  --radius:12px;
  --radius-sm:8px;
  --max:1180px;
  --nav-h:72px;
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
  scroll-padding-top:0;
}

#story{
  scroll-margin-top:calc(var(--nav-h) + 18px);
}

#menu{
  scroll-margin-top:calc(var(--nav-h) - 10px);
}

#why{
  scroll-margin-top:calc(var(--nav-h) - 10px);
}

#status{
  scroll-margin-top:calc(var(--nav-h) + 18px);
}

#support{
  scroll-margin-top:calc(var(--nav-h) + 8px);
}

body{
  margin:0;
  font-family:Georgia, "Times New Roman", serif;
  color:var(--ink);
  background:
    radial-gradient(circle at top left, rgba(211,154,69,.10), transparent 28%),
    radial-gradient(circle at top right, rgba(184,56,47,.08), transparent 26%),
    linear-gradient(180deg, var(--bg-3) 0%, var(--bg) 48%, var(--bg-2) 100%);
  line-height:1.55;
  overflow-x:hidden;
}

img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
button{font:inherit}

.site-shell{
  position:relative;
  min-height:100vh;
  overflow:hidden;
}

.flour{
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.32;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.92) 0 1px, transparent 2px),
    radial-gradient(circle at 84% 12%, rgba(255,255,255,.70) 0 1.4px, transparent 2.2px),
    radial-gradient(circle at 26% 78%, rgba(255,255,255,.70) 0 1px, transparent 2px),
    radial-gradient(circle at 65% 66%, rgba(255,255,255,.55) 0 1px, transparent 2px),
    radial-gradient(circle at 92% 52%, rgba(255,255,255,.7) 0 1px, transparent 2px),
    radial-gradient(circle at 48% 35%, rgba(255,255,255,.6) 0 1.2px, transparent 2.2px);
  background-size:260px 260px, 300px 300px, 220px 220px, 240px 240px, 280px 280px, 320px 320px;
  mix-blend-mode:screen;
}

.topbar{
  position:sticky;
  top:0;
  z-index:60;
  height:var(--nav-h);
  backdrop-filter:blur(12px);
  background:rgba(255,248,240,.74);
  border-bottom:1px solid rgba(95,55,30,.10);
}

.topbar-inner{
  width:min(var(--max), calc(100% - 28px));
  margin:0 auto;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.brand{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.brand-mark{
  width:42px;
  height:42px;
  border-radius:12px;
  flex:0 0 auto;
  background:linear-gradient(180deg, #c9d8b2, #a6bf89);
  border:2px solid rgba(255,255,255,.68);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 6px 14px rgba(0,0,0,.10);
}

.brand-text{min-width:0}

.eyebrow{
  font-family:Arial, Helvetica, sans-serif;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.72rem;
  color:var(--red);
  font-weight:700;
}

.brand-title{
  font-size:1rem;
  font-weight:700;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.nav{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.nav a{
  font-family:Arial, Helvetica, sans-serif;
  font-size:.95rem;
  color:var(--muted);
  padding:10px 12px;
  border-radius:8px;
  transition:.2s ease;
}

.nav a:hover,
.nav a:focus-visible{
  background:rgba(184,56,47,.08);
  color:var(--ink);
  outline:none;
}

.cta-chip{
  background:linear-gradient(180deg, #c3453b, var(--red));
  color:#fffaf4 !important;
  border:1px solid transparent;
  border-radius:4px !important;
  box-shadow:0 10px 20px rgba(184,56,47,.22);
}

.cta-chip:hover,
.cta-chip:focus-visible{
  background:rgba(184,56,47,.08) !important;
  color:var(--red) !important;
  border:1px solid rgba(184,56,47,.72) !important;
  box-shadow:0 10px 20px rgba(184,56,47,.12);
}

.hero{
  position:relative;
  padding:58px 0 32px;
}

.hero-inner{
  width:min(var(--max), calc(100% - 28px));
  margin:0 auto;
  display:grid;
  grid-template-columns:1.16fr .84fr;
  gap:34px;
  align-items:center;
}

.hero-copy{
  position:relative;
  z-index:2;
}

h1{
  margin:0 0 14px;
  font-size:clamp(2.3rem, 5vw, 5rem);
  line-height:.95;
  letter-spacing:-.04em;
  max-width:14ch;
}

.headline-accent{
  display:block;
  color:var(--red);
}

.hero-sub{
  font-size:clamp(1.04rem, 1.6vw, 1.26rem);
  color:var(--muted);
  margin:0 0 28px;
  text-align:left;
  hyphens:none;
}

.hero-sub-shaped{
  --line-gap:10px;
  --line-1:626px;
  --line-2:624px;
  --line-3:608px;
  --line-4:611px;
  --line-5:628px;
  --line-6:360px;

  max-width:none;
  line-height:1;
}

.hero-sub-shaped .hero-line{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  box-sizing:border-box;
  margin:0;
  padding:0;
  width:100%;
  line-height:1.18;
}

.hero-sub-shaped .hero-line + .hero-line{
  margin-top:var(--line-gap);
}

.hero-sub-shaped .hero-line > span{
  display:block;
  white-space:nowrap;
  flex:0 0 auto;
}

.hero-sub-shaped .hero-line-1{ width:var(--line-1); }
.hero-sub-shaped .hero-line-2{ width:var(--line-2); }
.hero-sub-shaped .hero-line-3{ width:var(--line-3); }
.hero-sub-shaped .hero-line-4{ width:var(--line-4); }
.hero-sub-shaped .hero-line-5{ width:var(--line-5); }

.hero-sub-shaped .hero-line-6{
  width:var(--line-6);
  justify-content:flex-start;
  gap:.38em;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-bottom:26px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  padding:0 22px;
  border:none;
  border-radius:4px;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  font-family:Arial, Helvetica, sans-serif;
  font-weight:700;
  letter-spacing:.01em;
}

.btn:hover{transform:translateY(-2px)}

.btn:focus-visible{
  outline:3px solid rgba(211,154,69,.35);
  outline-offset:2px;
}

.btn-primary{
  background:linear-gradient(180deg, #c9463d, var(--red));
  color:#fffaf4;
  border:1px solid transparent;
  box-shadow:0 14px 28px rgba(184,56,47,.25);
}

.btn-primary:hover,
.btn-primary:focus-visible{
  background:rgba(184,56,47,.08);
  color:var(--red);
  border-color:rgba(184,56,47,.72);
  box-shadow:0 10px 20px rgba(184,56,47,.12);
}

.btn-secondary{
  background:rgba(255,248,240,.88);
  color:var(--red);
  border:1px solid rgba(184,56,47,.42);
  box-shadow:var(--shadow-soft);
}

.btn-secondary:hover,
.btn-secondary:focus-visible{
  background:linear-gradient(180deg, #c9463d, var(--red));
  color:#fffaf4;
  border-color:transparent;
  box-shadow:0 14px 28px rgba(184,56,47,.20);
}

.hero-notes{
  height:56px;
}

.hero-visual{
  position:relative;
  min-height:560px;
  display:grid;
  place-items:center;
  overflow:visible;
}

.pizza-scene{
  position:relative;
  width:min(100%, 720px);
  aspect-ratio:1 / 1;
  z-index:2;
  display:grid;
  place-items:center;
  overflow:visible;
}

.hero-pizza-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  transform:translate(-25px, -36px) rotate(-6deg) scale(1.46);
  transform-origin:center center;
  user-select:none;
  -webkit-user-drag:none;
  pointer-events:none;
}

.floating-card{
  --label-offset:33.333%;
  position:absolute;
  padding:14px 16px;
  min-width:165px;
  border-radius:4px;
  background:
    linear-gradient(135deg,
      rgba(255,250,244,.40) 0%,
      rgba(255,250,244,.30) 52%,
      rgba(255,250,244,.10) 100%);
  border:1px solid rgba(106,70,49,.12);
  box-shadow:var(--shadow);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  z-index:3;
}

.callout-point{
  --label-offset:25px;
  top:80%;
  left:calc(0% + 15px);
  width:345px;
}

.callout-droop{
  --label-offset:155px;
  top:calc(56% - 25px);
  left:calc(14% + 35px);
  width:420px;
}

.callout-crust{
  --label-offset:335px;
  top:calc(6% - 120px);
  right:calc(9% - 15px);
  width:520px;
}

.floating-label{
  display:block;
  width:max-content;
  margin-left:var(--label-offset);
  margin-bottom:6px;
  font-family:Arial, Helvetica, sans-serif;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--red);
  font-weight:700;
}

.floating-copy{
  font-size:.98rem;
  line-height:1.3;
}

.section{
  padding:34px 0;
}

.offer-section{
  padding:34px 0;
}

.wrap{
  width:min(var(--max), calc(100% - 28px));
  margin:0 auto;
}

.intro-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:stretch;
}

.card{
  background:linear-gradient(180deg, rgba(255,251,245,.96), rgba(255,246,237,.94));
  border:1px solid var(--line);
  border-radius:1px;
  box-shadow:
    0 1px 0 rgba(70,42,24,.20),
    0 2px 0 rgba(70,42,24,.10),
    0 8px 10px rgba(35,20,10,.16),
    0 18px 22px rgba(35,20,10,.10);
  padding:28px;
}

.card h2,
.card h3{
  margin:0 0 12px;
  line-height:1;
}

.section-title{
  font-size:clamp(1.8rem, 3vw, 3rem);
  margin:0 0 12px;
  line-height:.98;
  letter-spacing:-.03em;
}

.lead{
  font-size:1.06rem;
  color:var(--muted);
  margin:0;
  max-width:64ch;
}

.story-copy p{
  margin:0 0 16px;
  color:var(--muted);
  font-size:1.12rem;
  line-height:1.72;
}

.story-copy p:first-of-type{
  margin-top:34px;
}

.story-copy p:last-child{
  margin-bottom:0;
}

.mini-status{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px 26px;
  margin-top:18px;
  position:relative;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.mini-tile{
  position:relative;
  padding:4px 0 0;
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
  min-height:118px;
}

.mini-tile strong{
  display:block;
  font-size:1.3rem;
  line-height:.95;
  margin-bottom:10px;
  color:var(--red);
}

.mini-tile span{
  display:block;
  color:var(--muted);
  font-family:Arial, Helvetica, sans-serif;
  font-size:.95rem;
  line-height:1.45;
  max-width:24ch;
}

.offer-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:stretch;
}

.offer-card{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:332px;
  padding:40px 34px 32px;
}

.offer-card > *{
  position:relative;
  z-index:1;
}

.offer-title{
  max-width:none;
  margin:0 auto 24px;
  text-align:center;
  font-size:clamp(2.15rem, 3.8vw, 3.35rem);
  line-height:.96;
  letter-spacing:-.03em;
}

.offer-left .offer-title{
  max-width:14.5ch;
  font-size:clamp(2.05rem, 3.55vw, 3.15rem);
}

.offer-right .offer-title{
  max-width:16ch;
}

.offer-card .lead{
  max-width:44ch;
  margin:0 auto;
  font-size:1.14rem;
  line-height:1.78;
}

.offer-left{
  background:
    linear-gradient(180deg, rgba(255,252,247,.98), rgba(255,247,238,.96));
}

.offer-right{
  background:
    linear-gradient(180deg, rgba(244,233,217,.98), rgba(239,227,209,.96));
}

.offer-right .lead{
  margin-top:14px;
}

.offer-left::before,
.offer-right::before{
  content:"";
  position:absolute;
  width:346px;
  height:346px;
  top:22px;
  left:50%;
  transform:translateX(-50%);
  border-radius:50%;
  pointer-events:none;
  z-index:0;
}

.offer-left::before{
  background:
    conic-gradient(
      from 0deg,
      rgba(239,227,209,.72) 0deg 45deg,
      transparent 45deg 360deg
    );
}

.offer-right::before{
  background:
    conic-gradient(
      from 0deg,
      transparent 0deg 45deg,
      rgba(255,252,247,.42) 45deg 360deg
    );
}

/* Milestones */

.milestones-shell{
  padding:18px 28px 30px;
}

.milestones-grid{
  display:grid;
  grid-template-columns:minmax(0,45%) minmax(0,55%);
  gap:22px;
  align-items:start;
}

.milestones-list-side{
  min-width:0;
  padding-top:12px;
  padding-left:12px;
}

.milestones-intro{
  height:44px;
  margin-top:4px;
}

.milestones-list{
  display:grid;
  gap:12px;
  margin-top:22px;
}

.milestone-button{
  width:100%;
  border:1px solid rgba(106,70,49,.10);
  background:rgba(255,255,255,.44);
  border-radius:4px;
  padding:16px 16px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

.milestone-button:hover,
.milestone-button:focus-visible,
.milestone-button.active{
  border-color:rgba(184,56,47,.20);
  box-shadow:0 10px 18px rgba(53,27,14,.08);
  background:rgba(255,255,255,.62);
  outline:none;
  transform:translateY(-1px);
}

.milestone-mark{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:4px;
  font-family:Arial, Helvetica, sans-serif;
  font-size:1rem;
  font-weight:700;
  color:#fff;
  background:linear-gradient(180deg, #d7aa5a, #b47b32);
  box-shadow:0 8px 16px rgba(180,123,50,.22);
}

.milestone-button.is-active .milestone-mark{
  background:linear-gradient(180deg, #c38a42, #9e6829);
}

.milestone-button.is-pending .milestone-mark{
  background:linear-gradient(180deg, #b7afa7, #93877c);
}

.milestone-copy{
  min-width:0;
}

.milestone-copy strong{
  display:block;
  margin-bottom:4px;
  font-size:1rem;
  line-height:1.12;
}

.milestone-copy span{
  display:block;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.5;
}

.milestone-state{
  align-self:start;
  font-family:Arial, Helvetica, sans-serif;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
  color:var(--green);
  padding-top:2px;
}

.milestone-button.is-active .milestone-state{
  color:#9a6527;
}

.milestone-button.is-pending .milestone-state{
  color:#7d736a;
}

.milestones-detail-side{
  min-width:0;
}

.milestone-panel{
  min-height:100%;
  padding-left:26px;
  padding-top:6px;
  border-left:1px solid rgba(106,70,49,.10);
}

.milestone-panel-state{
  min-height:18px;
  margin:0 0 10px;
  font-family:Arial, Helvetica, sans-serif;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:transparent;
}

.milestone-panel-state[data-state="done"]{
  color:var(--green);
}

.milestone-panel-state[data-state="active"]{
  color:#9a6527;
}

.milestone-panel-state[data-state="pending"]{
  color:#7d736a;
}

.milestone-panel-title{
  margin:0;
  font-size:clamp(2.05rem, 2.95vw, 2.9rem);
  line-height:.96;
  letter-spacing:-.025em;
}

.milestone-panel-body{
  display:grid;
  gap:22px;
  padding-top:45px !important;
}

.milestone-panel-body p{
  margin:0;
  color:var(--muted);
  font-size:1.6rem;
  line-height:1.68;
  max-width:41ch;
}

.milestone-detail-source{
  display:none;
}

/* Family section */

.family-band{
  position:relative;
  padding:18px 0 54px;
}

.family-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:stretch;
}

.family-column{
  position:relative;
  min-height:100%;
  padding:28px 30px 26px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  border-radius:1px;
  overflow:hidden;
}

.family-column::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.34;
  background-image:
    radial-gradient(circle at 4% 8%, rgba(88,58,36,.18) 0 1px, transparent 1.3px),
    radial-gradient(circle at 96% 10%, rgba(88,58,36,.16) 0 1px, transparent 1.2px),
    radial-gradient(circle at 8% 94%, rgba(88,58,36,.14) 0 1px, transparent 1.2px),
    radial-gradient(circle at 94% 92%, rgba(88,58,36,.16) 0 1px, transparent 1.3px),
    radial-gradient(circle at 18% 22%, rgba(88,58,36,.07) 0 0.7px, transparent 1px),
    radial-gradient(circle at 36% 68%, rgba(88,58,36,.07) 0 0.7px, transparent 1px),
    radial-gradient(circle at 62% 31%, rgba(88,58,36,.07) 0 0.7px, transparent 1px),
    radial-gradient(circle at 79% 56%, rgba(88,58,36,.07) 0 0.7px, transparent 1px),
    radial-gradient(circle at 52% 84%, rgba(88,58,36,.07) 0 0.7px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0) 24%, rgba(60,38,22,.035) 100%);
  background-size:
    90px 90px,
    96px 96px,
    104px 104px,
    92px 92px,
    22px 22px,
    24px 24px,
    26px 26px,
    20px 20px,
    24px 24px,
    100% 100%;
  mix-blend-mode:multiply;
}

.family-column::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.30;
  background:
    linear-gradient(90deg, rgba(72,45,25,.12), transparent 12px, transparent calc(100% - 12px), rgba(72,45,25,.10)),
    linear-gradient(180deg, rgba(72,45,25,.10), transparent 12px, transparent calc(100% - 12px), rgba(72,45,25,.12));
  mix-blend-mode:multiply;
}

.family-column > *{
  position:relative;
  z-index:1;
}

.family-led-card{
  background:
    linear-gradient(180deg, rgba(241,228,206,.992), rgba(231,214,187,.972));
  transform:rotate(-0.45deg);
  box-shadow:
    0 1px 0 rgba(73,44,24,.22),
    0 2px 0 rgba(73,44,24,.12),
    10px 10px 10px rgba(35,20,10,.16),
    18px 18px 18px rgba(35,20,10,.08);
}

.family-fed-card{
  background:
    linear-gradient(180deg, rgba(255,253,249,.995), rgba(248,242,233,.975));
  transform:rotate(0.35deg);
  box-shadow:
    0 1px 0 rgba(73,44,24,.16),
    0 2px 0 rgba(73,44,24,.08),
    -10px 10px 10px rgba(35,20,10,.14),
    -18px 18px 18px rgba(35,20,10,.07);
}

.family-column .section-title{
  margin:0 0 28px;
  line-height:.94;
}

.family-lines{
  display:grid;
  gap:18px;
  margin-top:2px;
}

.family-lines p{
  margin:0;
  max-width:34ch;
  color:#5f4b3e;
  font-size:1.34rem;
  line-height:1.38;
}

.family-led-card .family-lines p{
  font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;
}

.family-fed-card .section-title,
.family-fed-card .family-lines p{
  font-family:"Courier Prime","Courier New",monospace;
}

.family-led-card .section-title{
  font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;
  text-align:center;
  transform:rotate(-0.6deg);
}

.family-led-card .family-lines{
  padding-left:34px;
  padding-right:28px;
}

.family-led-card .family-lines p:nth-child(1){
  transform:rotate(-0.35deg) translateX(-1px);
}

.family-led-card .family-lines p:nth-child(2){
  transform:rotate(0.25deg) translateX(1px);
}

.family-led-card .family-lines p:nth-child(3){
  transform:rotate(-0.2deg) translateX(0);
}

.family-led-card .family-lines p:nth-child(4){
  transform:rotate(0.3deg) translateX(1px);
}

.family-fed-card .section-title,
.family-fed-card .family-lines,
.family-fed-card .family-lines p{
  text-align:center;
}

/* Support */

.support-card{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  text-align:left;
  padding:30px 34px 28px;
  background:
    linear-gradient(135deg, rgba(93,123,76,.08), rgba(211,154,69,.12)),
    linear-gradient(180deg, rgba(255,251,245,.98), rgba(255,244,233,.96));
}

.support-card > *{
  position:relative;
  z-index:1;
}

.support-card::before{
  content:"";
  position:absolute;
  top:50%;
  right:2.5%;
  width:340px;
  height:340px;
  transform:translateY(-50%);
  pointer-events:none;
  opacity:.10;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  z-index:0;
  background-image:url("data:image/svg+xml;utf8,\
  <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 320'>\
    <g fill='none' stroke='%23d39a45' stroke-width='8' stroke-linecap='round' stroke-linejoin='round'>\
      <path d='M94 88 L132 66 L188 66 L226 88 L262 114 L236 152 L212 138 L212 252 L108 252 L108 138 L84 152 L58 114 Z' fill='%23fff4df' opacity='0.92'/>\
      <path d='M132 66 q28 22 56 0'/>\
      <path d='M126 114 h68' opacity='0.55'/>\
      <path d='M126 148 h68' opacity='0.55'/>\
    </g>\
  </svg>");
}

.support-title{
  margin:0 0 18px;
  max-width:none;
  white-space:nowrap;
}

.support-card p{
  color:var(--muted);
  max-width:none;
  width:100%;
  margin:0 0 16px;
  font-size:1.24rem;
  line-height:1.76;
}

.support-card p:last-child{
  margin-bottom:0;
}

/* Footer */

.footer{
  padding:0 0 24px;
}

.footer-inner{
  width:min(var(--max), calc(100% - 28px));
  margin:0 auto;
  padding:8px 18px;
  border-radius:12px;
  border:1px solid rgba(106,70,49,.10);
  background:rgba(255,250,244,.72);
  box-shadow:var(--shadow-soft);
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px minmax(0,1fr);
  gap:14px;
  align-items:center;
  color:var(--muted);
  font-family:Arial, Helvetica, sans-serif;
  font-size:.93rem;
}

.footer-left{
  display:flex;
  align-items:center;
  gap:10px;
  justify-self:start;
  white-space:nowrap;
  min-width:0;
  font-size:1.34rem;
  line-height:1.08;
}

.footer-center{
  display:flex;
  justify-content:center;
  align-items:center;
  white-space:nowrap;
  line-height:1.08;
}

.footer-right{
  justify-self:end;
  text-align:right;
  color:var(--muted);
  line-height:1.45;
  max-width:34ch;
}

.footer-link{
  appearance:none;
  border:none;
  background:none;
  padding:0;
  margin:0;
  color:var(--muted);
  font:inherit;
  cursor:pointer;
  transition:color .18s ease, text-shadow .18s ease;
}

.footer-link:hover,
.footer-link:focus-visible{
  color:var(--red);
  outline:none;
}

.footer-link-accent{
  color:var(--red);
  text-decoration:none;
}

.footer-link-accent:hover,
.footer-link-accent:focus-visible{
  color:var(--red-deep);
  text-shadow:0 2px 10px rgba(184,56,47,.18);
  outline:none;
}

.footer-link-copyright{
  font-weight:700;
  font-family:Georgia, "Times New Roman", serif;
  font-size:1.40rem;
  line-height:1.08;
}

.footer-sep{
  color:rgba(106,70,49,.55);
}

.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .7s ease, transform .7s ease;
}

.reveal.in{
  opacity:1;
  transform:none;
}

.status-list-top{
  margin-top:20px;
}

.progress-copy{
  font-size:1rem;
}

/* Modals */

.modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(40,40,44,.42);
  backdrop-filter:blur(3px);
  z-index:190;
}

.site-modal{
  position:fixed;
  inset:0;
  display:grid;
  place-items:center;
  padding:16px;
  z-index:200;
}

.site-modal[hidden],
.modal-overlay[hidden]{
  display:none !important;
}

.site-modal-panel{
  position:relative;
  width:min(760px, 100%);
  max-height:min(92vh, 900px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  background:
    linear-gradient(180deg, rgba(255,251,245,.98), rgba(255,244,233,.96));
  border:1px solid rgba(106,70,49,.12);
  border-radius:16px;
  box-shadow:0 24px 60px rgba(20,12,8,.22);
}

.site-modal-panel-contact{
  width:min(760px, 100%);
  height:min(92vh, 860px);
  max-height:min(92vh, 860px);
}

.site-modal-panel-contact::before{
  content:"";
  position:absolute;
  top:18px;
  left:18px;
  width:84px;
  height:176px;
  pointer-events:none;
  opacity:.15;
  z-index:0;
  background-repeat:no-repeat;
  background-position:center top;
  background-size:contain;
  background-image:url("data:image/svg+xml;utf8,\
  <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 220'>\
    <g fill='none' stroke='%235d7b4c' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'>\
      <path d='M58 198 C30 164 20 126 24 82 C28 40 50 24 68 40 C84 24 106 36 110 80 C114 126 94 164 58 198 Z' fill='%235d7b4c' opacity='0.9'/>\
      <path d='M58 190 C56 146 58 104 69 44' stroke='%23fffaf4' opacity='0.65'/>\
    </g>\
  </svg>");
}

.site-modal-panel-confirm{
  width:min(420px, 100%);
}

.site-modal-x{
  position:absolute;
  top:12px;
  right:12px;
  width:38px;
  height:38px;
  border:none;
  border-radius:4px;
  background:rgba(255,255,255,.62);
  color:var(--ink);
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
  z-index:2;
  transition:background .18s ease, transform .18s ease;
}

.site-modal-x:hover,
.site-modal-x:focus-visible{
  background:rgba(255,255,255,.9);
  transform:translateY(-1px);
  outline:none;
}

.site-modal-body{
  padding:28px 28px 18px;
  overflow:auto;
}

.site-modal-panel-contact .site-modal-body{
  flex:1 1 auto;
  padding:18px 24px 10px;
  overflow:hidden;
}

.site-modal-body h2{
  margin:0 0 6px;
  font-size:clamp(2rem, 4vw, 2.7rem);
  line-height:.96;
  letter-spacing:-.03em;
}

.site-modal-panel-contact .site-modal-body h2{
  text-align:center;
  padding-left:84px;
  padding-right:42px;
}

.site-modal-body h3{
  margin:22px 0 10px;
  font-size:1.12rem;
  line-height:1.15;
}

.site-modal-body p{
  margin:0 0 14px;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.7;
}

.modal-updated{
  font-family:Arial, Helvetica, sans-serif;
  font-size:.9rem !important;
  color:#8a7466 !important;
  margin-bottom:16px !important;
}

.site-modal-panel-contact .modal-updated{
  text-align:center;
  padding-left:84px;
  padding-right:42px;
  margin-bottom:10px !important;
}

.site-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:14px 28px 22px;
  border-top:1px solid rgba(106,70,49,.10);
  background:rgba(255,250,244,.82);
}

.site-modal-panel-contact .site-modal-actions{
  flex:0 0 auto;
  padding:10px 24px 14px;
}

.btn-modal-close{
  min-height:40px;
  padding:0 16px;
  background:rgba(184,56,47,.08);
  color:var(--red);
  border:1px solid rgba(184,56,47,.42);
  box-shadow:none;
}

.btn-modal-close:hover,
.btn-modal-close:focus-visible{
  background:linear-gradient(180deg, #c9463d, var(--red));
  color:#fffaf4;
  border-color:transparent;
}

.btn-modal-submit{
  min-height:40px;
  padding:0 16px;
  box-shadow:none;
}

.btn-modal-submit:hover,
.btn-modal-submit:focus-visible{
  color:var(--red);
}

.inline-modal-link{
  appearance:none;
  border:none;
  background:none;
  padding:0;
  margin:0;
  color:var(--red);
  font:inherit;
  cursor:pointer;
  text-decoration:none;
}

.inline-modal-link:hover,
.inline-modal-link:focus-visible{
  color:var(--red-deep);
  outline:none;
}

.contact-form{
  height:100%;
  display:grid;
  grid-template-columns:96px 1fr;
  column-gap:16px;
  row-gap:12px;
  align-content:start;
}

.contact-form label{
  display:grid;
  gap:6px;
  grid-column:1 / -1;
}

.contact-form > label:first-child{
  grid-column:2 / 3;
}

.contact-form label span{
  font-family:Arial, Helvetica, sans-serif;
  font-size:.92rem;
  font-weight:700;
  color:var(--ink);
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form select,
.contact-form textarea{
  width:100%;
  border:1px solid rgba(106,70,49,.16);
  border-radius:10px;
  padding:11px 14px;
  background:rgba(255,255,255,.75);
  color:var(--ink);
  font:inherit;
}

.contact-form textarea{
  resize:none;
  min-height:120px;
  height:120px;
}

.contact-form input:focus-visible,
.contact-form select:focus-visible,
.contact-form textarea:focus-visible{
  outline:3px solid rgba(211,154,69,.28);
  outline-offset:1px;
}

.contact-checkbox{
  display:flex !important;
  align-items:flex-start;
  gap:10px;
}

.contact-checkbox input{
  margin-top:3px;
}

.contact-checkbox span{
  font-weight:400 !important;
  color:var(--muted) !important;
  font-size:.98rem !important;
}

.contact-verification{
  margin-top:0;
}

.turnstile-placeholder{
  min-height:52px;
  border:1px dashed rgba(106,70,49,.24);
  border-radius:10px;
  display:grid;
  place-items:center;
  color:#8a7466;
  font-family:Arial, Helvetica, sans-serif;
  font-size:.9rem;
  background:rgba(255,255,255,.42);
}

.contact-form-errors{
  min-height:18px;
  color:var(--red-deep);
  font-family:Arial, Helvetica, sans-serif;
  font-size:.92rem;
}

@media (max-width: 1080px){
  .hero-inner,
  .intro-grid,
  .offer-grid,
  .milestones-grid,
  .family-grid{
    grid-template-columns:1fr;
  }

  .hero-visual{
    min-height:480px;
    order:-1;
  }

  .offer-card{
    min-height:0;
    padding:24px 20px;
  }

  .offer-title,
  .offer-left .offer-title,
  .offer-right .offer-title{
    max-width:none;
    margin-bottom:18px;
  }

  .offer-card .lead{
    max-width:none;
    font-size:1.23rem;
    line-height:1.66;
  }

  .milestone-panel{
    padding-left:0;
    padding-top:22px;
    border-left:none;
    border-top:1px solid rgba(106,70,49,.10);
  }

  .milestones-list-side{
    padding-top:0;
    padding-left:0;
  }
}

@media (max-width: 760px){
  :root{ --nav-h:64px; }

  .topbar-inner{
    width:min(var(--max), calc(100% - 20px));
  }

  .nav{display:none}

  .hero,
  .section{
    padding:24px 0;
  }

    .hero-sub-shaped{
    --line-gap:0;
  }

.hero-sub-shaped{
  --line-gap:0;
  --line-1:100%;
  --line-2:100%;
  --line-3:100%;
  --line-4:100%;
  --line-5:100%;
  --line-6:100%;
}

.hero-sub-shaped .hero-line{
  width:100% !important;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:.35em;
  line-height:1.45;
  margin-top:0 !important;
}

.hero-sub-shaped .hero-line > span{
  white-space:normal;
}
  .wrap,
  .hero-inner{
    width:min(var(--max), calc(100% - 20px));
  }

  .card{
    padding:20px;
  }

  .milestones-shell{
    padding:22px 20px;
  }

  .mini-status{grid-template-columns:1fr}

  .floating-card{
    position:relative;
    inset:auto !important;
    width:100%;
    transform:none !important;
  }

  .hero-visual{min-height:auto}

  .pizza-scene{
    width:min(100%, 440px);
    display:grid;
    gap:12px;
  }

  .hero-pizza-image{
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    transform:none;
    margin-bottom:8px;
  }

  .hero-actions{flex-direction:column}
  .btn{width:100%}

  .footer-inner{
    width:min(var(--max), calc(100% - 20px));
    padding:14px;
    grid-template-columns:1fr;
    gap:10px;
    text-align:center;
    justify-items:center;
  }

  .footer-left,
  .footer-center,
  .footer-right{
    text-align:center;
    justify-self:center;
    white-space:normal;
  }

  .footer-left{
    flex-wrap:wrap;
    justify-content:center;
    font-size:1.08rem;
  }

  .footer-link-copyright{
    font-size:1.18rem;
  }

  .footer-right{
    max-width:34ch;
  }

  .site-modal{
    padding:12px;
  }

  .site-modal-panel{
    max-height:88vh;
    border-radius:14px;
  }

  .site-modal-panel-contact{
    height:auto;
    max-height:88vh;
  }

  .site-modal-body{
    padding:24px 20px 16px;
  }

  .site-modal-actions{
    padding:14px 20px 20px;
    flex-wrap:wrap;
  }

  .site-modal-actions .btn{
    width:100%;
  }

  .site-modal-panel-contact::before{
    width:58px;
    height:120px;
    top:16px;
    left:16px;
    opacity:.13;
  }

  .site-modal-panel-contact .site-modal-body{
    padding:18px 18px 10px;
    overflow:auto;
  }

  .site-modal-panel-contact .site-modal-actions{
    padding:10px 18px 16px;
  }

  .site-modal-panel-contact .site-modal-body h2,
  .site-modal-panel-contact .modal-updated{
    padding-left:58px;
    padding-right:34px;
  }

  .contact-form{
    grid-template-columns:1fr;
    row-gap:12px;
  }

  .contact-form > label:first-child{
    grid-column:auto;
  }

  .contact-form textarea{
    height:140px;
  }

  .offer-card{
    min-height:0;
    padding:24px 20px;
  }

  .offer-title,
  .offer-left .offer-title,
  .offer-right .offer-title{
    max-width:none;
    margin-bottom:18px;
  }

  .offer-card .lead{
    max-width:none;
    font-size:1.03rem;
    line-height:1.66;
  }

  .milestone-button{
    grid-template-columns:30px 1fr;
    align-items:start;
  }

  .milestone-state{
    grid-column:2;
    padding-top:0;
  }

  .milestone-panel-title{
    font-size:clamp(1.8rem, 6vw, 2.25rem);
    margin:0;
  }

  .milestone-panel-body{
    display:grid;
    gap:18px;
    padding-top:45px !important;
  }

  .milestone-panel-body p{
    margin:0;
    color:var(--muted);
    font-size:1.12rem;
    line-height:1.62;
    max-width:none;
  }

  .family-column{
  padding:22px 20px 20px;
  transform:none;
  box-shadow:
    0 1px 0 rgba(73,44,24,.14),
    0 2px 0 rgba(73,44,24,.08),
    0 8px 10px rgba(35,20,10,.10),
    0 14px 18px rgba(35,20,10,.06);
}

  .family-column .section-title{
    margin:0 0 24px;
  }

  .family-lines{
    gap:12px;
  }

  .family-lines p{
    font-size:1.12rem;
    line-height:1.36;
    max-width:none;
  }

  .family-led-card .section-title{
    transform:rotate(-0.4deg) translateX(0);
  }

  .family-led-card .family-lines p:nth-child(1),
  .family-led-card .family-lines p:nth-child(2),
  .family-led-card .family-lines p:nth-child(3),
  .family-led-card .family-lines p:nth-child(4){
    transform:none;
  }

  .support-card{
    padding:22px 20px 20px;
  }

  .support-card::before{
    width:200px;
    height:200px;
    right:-14px;
    top:auto;
    bottom:8px;
    transform:none;
    opacity:.08;
  }

  .support-title{
    margin:0 0 14px;
    max-width:none;
    white-space:normal;
  }

  .support-card p{
    font-size:1.2rem;
    line-height:1.68;
    max-width:none;
  }
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *, *::before, *::after{
    animation:none !important;
    transition:none !important;
  }
}