:root {
  --restore-green:#183f2b;
  --restore-green-deep:#102b1f;
  --restore-green-soft:#284b36;
  --restore-gold:#c99b5b;
  --restore-gold-dark:#7a4d13;
  --restore-cream:#fbf4e8;
  --restore-cream-soft:#fffaf1;
  --restore-ink:#183f2b;
  --restore-text:#3e4a46;
  --restore-line:rgba(24,63,43,.14);
  --restore-shadow:0 24px 72px rgba(24,63,43,.12);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--restore-text); font-family:Inter,system-ui,sans-serif; background:#fff; }
body.menu-open { overflow:hidden; }
img { display:block; max-width:100%; }
a { color:var(--restore-green); text-underline-offset:4px; }
a:focus-visible, button:focus-visible { outline:3px solid var(--restore-gold-dark); outline-offset:4px; border-radius:6px; }
.skip-link { position:absolute; left:18px; top:12px; transform:translateY(-150%); z-index:9999; padding:12px 16px; border-radius:999px; background:var(--restore-green); color:#fff; font-weight:900; }
.skip-link:focus { transform:translateY(0); }
.preflight-warning { padding:11px 18px; background:#7f1d1d; color:#fff; text-align:center; font-size:12px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.site-header { position:sticky; top:0; z-index:100; min-height:64px; display:flex; align-items:center; justify-content:space-between; padding:0 34px; background:rgba(255,248,238,.97); border-bottom:1px solid var(--restore-line); backdrop-filter:blur(10px); }
.logo { display:flex; align-items:center; gap:10px; min-width:260px; color:var(--restore-green); text-decoration:none; }
.logo img { width:40px; height:40px; border-radius:50%; object-fit:contain; }
.logo .name { display:block; font:900 20px/1 'Playfair Display',serif; }
.logo .tag { display:block; margin-top:3px; color:var(--restore-gold-dark); font-size:10px; font-weight:800; letter-spacing:3.4px; }
.primary-nav { display:flex; align-items:center; gap:22px; font-size:14px; font-weight:800; }
.primary-nav a { position:relative; color:var(--restore-green); text-decoration:none; white-space:nowrap; }
.primary-nav a:not(.give)::after { content:""; position:absolute; left:0; right:0; bottom:-8px; height:2px; background:var(--restore-gold); transform:scaleX(0); transition:transform .2s ease; }
.primary-nav a:hover::after, .primary-nav a:focus-visible::after, .primary-nav a[aria-current="page"]::after { transform:scaleX(1); }
.primary-nav a[aria-current="page"] { color:var(--restore-gold-dark); }
.primary-nav .give { padding:12px 16px; border-radius:4px; background:var(--restore-gold); color:var(--restore-green); }
.menu-toggle { display:none; min-width:48px; min-height:48px; padding:9px 13px; border:2px solid var(--restore-green); border-radius:8px; background:transparent; color:var(--restore-green); font:800 14px/1 inherit; cursor:pointer; }
.shell { width:min(1220px,calc(100% - 64px)); margin:0 auto; }
.narrow { width:min(860px,calc(100% - 48px)); margin:0 auto; }
.eyebrow { margin-bottom:17px; color:var(--restore-gold-dark); font-size:12px; font-weight:900; letter-spacing:.25em; text-transform:uppercase; }
h1,h2,h3 { margin:0; color:var(--restore-ink); font-family:'Playfair Display',serif; text-wrap:balance; }
.preflight-hero { position:relative; min-height:620px; display:flex; align-items:end; overflow:hidden; color:#fff; background:var(--restore-green-deep); }
.preflight-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.46; }
.preflight-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,30,21,.95),rgba(9,30,21,.62),rgba(9,30,21,.38)); }
.preflight-hero .shell { position:relative; z-index:2; padding:92px 0 78px; }
.preflight-hero h1 { max-width:900px; color:#fff; font-size:clamp(52px,7vw,88px); line-height:.98; }
.hero-copy { max-width:850px; margin-top:28px; font-size:18px; line-height:1.72; }
.hero-copy p { margin:0 0 12px; }
.button-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.button-row.centered { justify-content:center; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:13px 20px; border:2px solid transparent; border-radius:6px; font-size:14px; font-weight:900; line-height:1.2; text-align:center; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease; }
.btn:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(9,30,21,.18); }
.btn.primary,.btn.gold { background:var(--restore-gold); color:var(--restore-green-deep); }
.btn.light { background:#fff; color:var(--restore-green-deep); }
.btn.outline-light { border-color:rgba(255,255,255,.72); color:#fff; }
.placeholder-copy { max-width:780px; margin-top:24px; padding:18px 20px; border:1px dashed rgba(255,255,255,.56); border-radius:10px; background:rgba(255,255,255,.08); color:#fff; font-weight:800; }
.future-vision-label { position:absolute; z-index:3; top:20px; right:20px; padding:10px 13px; background:rgba(16,43,31,.95); color:#fff; font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.preflight-section { padding:96px 0; }
.preflight-section.cream { background:var(--restore-cream); }
.preflight-section.dark { background:var(--restore-green-deep); color:#fff; }
.preflight-section.dark h2, .preflight-section.dark h3 { color:#fff; }
.section-heading { max-width:900px; margin-bottom:42px; }
.section-heading h2 { font-size:clamp(40px,5vw,64px); line-height:1.03; }
.section-heading p { margin:18px 0 0; font-size:18px; line-height:1.7; }
.section-copy { margin-top:30px; font-size:17px; line-height:1.72; }
.section-copy p { margin:0 0 12px; }
.narrow-copy { max-width:900px; }
.card-kicker { display:block; margin-bottom:13px; color:var(--restore-gold-dark); font-size:11px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.distinction-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.distinction-card { min-height:250px; padding:34px; border:1px solid var(--restore-line); border-radius:18px; background:#fff; box-shadow:0 16px 44px rgba(24,63,43,.07); }
.distinction-card strong { display:block; margin-bottom:14px; color:var(--restore-green); font:900 clamp(42px,6vw,74px)/.95 'Playfair Display',serif; }
.distinction-card h3 { font-size:clamp(28px,3vw,40px); line-height:1.08; }
.distinction-card p { margin:16px 0 0; font-size:17px; line-height:1.65; }
.acquisition-card { border-top:7px solid var(--restore-gold); }
.placeholder-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.placeholder-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.placeholder-card { min-height:170px; padding:28px; border:1px dashed rgba(24,63,43,.38); border-radius:16px; background:#fff; box-shadow:0 12px 38px rgba(24,63,43,.06); }
.placeholder-card::before { content:attr(data-placeholder); display:block; color:var(--restore-gold-dark); font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.placeholder-card h3 { margin-top:14px; font-size:26px; }
.placeholder-card p { margin:12px 0 0; line-height:1.65; }
.phase-track { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border:1px solid var(--restore-line); background:#fff; }
.phase-track.four-steps { grid-template-columns:repeat(4,minmax(0,1fr)); }
.phase-step { min-height:190px; padding:25px 22px; border-right:1px solid var(--restore-line); }
.phase-step:last-child { border-right:0; }
.phase-step b { color:var(--restore-gold-dark); font-size:12px; letter-spacing:.12em; }
.phase-step h3 { margin-top:12px; font-size:24px; }
.phase-step p { margin:12px 0 0; line-height:1.6; }
.phase-note,.section-note { max-width:960px; margin:26px 0 0; padding-left:18px; border-left:4px solid var(--restore-gold); font-size:16px; line-height:1.7; }
.content-grid,.scope-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.content-card { padding:28px; border:1px solid var(--restore-line); border-radius:16px; background:#fff; box-shadow:0 12px 38px rgba(24,63,43,.06); }
.content-card h3 { font-size:25px; line-height:1.12; }
.content-card p { margin:13px 0 0; line-height:1.68; }
.content-card ul { margin:15px 0 0; padding-left:20px; line-height:1.75; }
.participation-grid .content-card:last-child { grid-column:2; }
.partner-feature { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:0; overflow:hidden; border-radius:22px; background:var(--restore-green); box-shadow:var(--restore-shadow); }
.partner-feature img { width:100%; height:100%; min-height:470px; object-fit:cover; }
.partner-feature-copy { display:flex; flex-direction:column; justify-content:center; padding:54px; color:#fff; }
.partner-feature-copy h2 { color:#fff; font-size:clamp(42px,5vw,63px); }
.partner-feature-copy .placeholder-copy { margin-bottom:0; }
.partner-feature-copy p { margin:18px 0 0; line-height:1.72; }
.partner-feature-copy .eyebrow,.preflight-hero .eyebrow,.cta-band .eyebrow,.preflight-section.dark .eyebrow { color:#e7bd7d; }
.confidence-grid .content-card { border-top:5px solid var(--restore-gold); }
.acquisition-callout { padding:42px; border-left:8px solid var(--restore-gold); border-radius:16px; background:#fff; box-shadow:var(--restore-shadow); }
.acquisition-callout h2 { font-size:clamp(34px,5vw,54px); line-height:1.06; }
.acquisition-callout p { margin:18px 0 0; font-size:17px; line-height:1.7; }
.definition-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.check-list { margin:0; padding:28px 30px 28px 52px; border:1px solid var(--restore-line); border-radius:16px; background:#fff; box-shadow:0 12px 38px rgba(24,63,43,.06); }
.check-list li { margin:0 0 14px; line-height:1.55; }
.partner-options { grid-template-columns:repeat(4,minmax(0,1fr)); }
.partnership-types { grid-template-columns:repeat(3,minmax(0,1fr)); }
.adopt-callout { display:grid; grid-template-columns:.8fr 1.2fr; gap:34px; margin-top:42px; padding:36px; border-radius:18px; background:var(--restore-green); color:#fff; box-shadow:var(--restore-shadow); }
.adopt-callout h3 { color:#fff; font-size:clamp(30px,4vw,48px); }
.adopt-callout p { margin:0 0 14px; line-height:1.7; }
.dark-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.dark-grid article { padding:30px; border:1px solid rgba(255,255,255,.18); border-radius:16px; background:rgba(255,255,255,.07); }
.dark-grid h3 { font-size:30px; }
.dark-grid p,.dark-grid li { line-height:1.66; }
.dark-grid ul { padding-left:20px; }
.promise-boundary { margin:24px 0 0; padding:22px 24px; border-left:5px solid var(--restore-gold); background:rgba(255,255,255,.08); line-height:1.7; }
.tax-copy { padding:34px; border:1px solid var(--restore-line); border-radius:16px; background:#fff; box-shadow:0 12px 38px rgba(24,63,43,.06); }
.tax-copy p { margin:0 0 14px; font-size:18px; line-height:1.75; }
.tax-copy p:last-child { margin-bottom:0; }
.process-list { display:grid; gap:12px; counter-reset:step; }
.process-list { margin:0; padding:0; list-style:none; }
.process-item { position:relative; min-height:92px; padding:22px 24px 22px 76px; border:1px solid var(--restore-line); border-radius:12px; background:#fff; }
.process-item::before { counter-increment:step; content:counter(step); position:absolute; left:22px; top:21px; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--restore-gold); color:var(--restore-green); font-weight:900; }
.process-item h3 { font-size:23px; }
.process-item p { margin:8px 0 0; line-height:1.6; }
.faq-shell { display:grid; gap:12px; }
.faq-shell details { padding:20px 22px; border:1px dashed rgba(24,63,43,.38); border-radius:10px; background:#fff; }
.faq-shell summary { color:var(--restore-green); font-weight:900; cursor:pointer; }
.faq-shell details[open] { border-style:solid; border-color:rgba(201,155,91,.7); }
.faq-shell details p { margin:14px 0 0; line-height:1.7; }
.cta-band { padding:82px 0; background:linear-gradient(135deg,var(--restore-green-deep),var(--restore-green-soft)); color:#fff; text-align:center; }
.cta-band h2 { color:#fff; font-size:clamp(42px,6vw,70px); }
.cta-band .placeholder-copy { margin:24px auto 0; }
.cta-band p { margin:22px auto 0; max-width:760px; font-size:18px; line-height:1.7; }
footer { padding:54px 24px; background:#0b2118; color:#fff; text-align:center; }
footer p { margin:0 0 10px; }
footer a { color:#e7bd7d; font-weight:800; }
@media (max-width:1200px) {
  .site-header { padding:0 20px; }
  .primary-nav { gap:13px; font-size:12.5px; }
  .logo { min-width:220px; }
}
@media (max-width:1100px) {
  body.menu-open::after { content:""; position:fixed; inset:0; z-index:80; background:rgba(10,33,24,.42); }
  .site-header { min-height:64px; flex-wrap:wrap; gap:8px 14px; padding:8px 16px; }
  .logo { min-width:0; flex:1 1 0; }
  .menu-toggle { display:inline-flex; align-items:center; justify-content:center; }
  .primary-nav { display:none; width:100%; flex-direction:column; align-items:stretch; gap:2px; padding:8px 0 10px; border-top:1px solid var(--restore-line); font-size:15px; }
  .primary-nav.is-open { display:flex; }
  .primary-nav a { display:flex; align-items:center; min-height:48px; padding:10px 12px; border-radius:6px; white-space:normal; }
  .primary-nav a::after { display:none; }
  .primary-nav .give { justify-content:center; margin-top:4px; }
  .placeholder-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .content-grid,.scope-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .partner-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .participation-grid .content-card:last-child { grid-column:auto; }
  .phase-track,.phase-track.four-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .phase-step { border-bottom:1px solid var(--restore-line); }
  .partner-feature { grid-template-columns:1fr; }
  .partner-feature img { min-height:360px; max-height:520px; }
  .adopt-callout { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .shell { width:min(100% - 36px,1220px); }
  .narrow { width:min(100% - 36px,860px); }
  .logo .name { font-size:16px; }
  .logo .tag { font-size:8px; letter-spacing:1.6px; }
  .preflight-hero { min-height:560px; }
  .preflight-hero .shell { padding:78px 0 62px; }
  .preflight-section { padding:68px 0; }
  .placeholder-grid, .placeholder-grid.two, .phase-track, .phase-track.four-steps, .content-grid, .scope-grid, .distinction-grid, .definition-grid, .partner-options, .partnership-types, .dark-grid { grid-template-columns:1fr; }
  .phase-step { border-right:0; }
  .partner-feature-copy { padding:34px 24px; }
  .future-vision-label { top:12px; right:12px; font-size:9px; }
  .distinction-card,.acquisition-callout { padding:28px 22px; }
  .button-row .btn { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
