/* Shared palette, typography, navigation and theme controls. No external fonts. */
:root{
  color-scheme: light;
  --paper: #f7f5ed; --ink: #173d31; --muted: #58665c; --line: #d9ded2;
  --green: #173f32; --gold: #dcc388; --em: #41705b; --accent: #a6643c;
  --focus: #a56812; --soft-border: #c4cdc0;
  --action: #173d31; --action-text: #fff; --action-hover: #295940;
  --secondary: #667365; --tab-border: #d0d7c9; --hover-surface: #e8ecdf;
  --panel: #e9eddf; --panel-text: #4a5f4d; --panel-line: #cdd5c3;
  --feature-line: #b7c3b0; --feature-number: #53634d;
  --invitation: #f7f5ed; --input: #fff; --input-border: #b9c5b3;
  --placeholder: #6e766b; --note: #687365;
  --moon-display: block; --sun-display: none;
  --serif: Georgia,"Times New Roman",serif;
  --sans: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
:root[data-theme="dark"]{
  color-scheme: dark;
  --paper: #0e211b; --ink: #f3f1e4; --muted: #b2bfb2; --line: #3b5445;
  --green: #142e24; --gold: #dcc388; --em: #a9c5aa; --accent: #d9b77d;
  --focus: #e3c080; --soft-border: #68866d;
  --action: #c3d8b5; --action-text: #10251d; --action-hover: #d7e5cb;
  --secondary: #b2bfb2; --tab-border: #68866d; --hover-surface: #294533;
  --panel: #1b3329; --panel-text: #c5d2bc; --panel-line: #465f4e;
  --feature-line: #516b56; --feature-number: #acbda3;
  --invitation: #1b3329; --input: #10251d; --input-border: #68866d;
  --placeholder: #b2bfb2; --note: #b2bfb2;
  --moon-display: none; --sun-display: block;
}
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]){
  color-scheme: dark;
  --paper: #0e211b; --ink: #f3f1e4; --muted: #b2bfb2; --line: #3b5445;
  --green: #142e24; --gold: #dcc388; --em: #a9c5aa; --accent: #d9b77d;
  --focus: #e3c080; --soft-border: #68866d;
  --action: #c3d8b5; --action-text: #10251d; --action-hover: #d7e5cb;
  --secondary: #b2bfb2; --tab-border: #68866d; --hover-surface: #294533;
  --panel: #1b3329; --panel-text: #c5d2bc; --panel-line: #465f4e;
  --feature-line: #516b56; --feature-number: #acbda3;
  --invitation: #1b3329; --input: #10251d; --input-border: #68866d;
  --placeholder: #b2bfb2; --note: #b2bfb2;
  --moon-display: none; --sun-display: block;
  }
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
img{display:block;max-width:100%;height:auto}
button,input{font:inherit}
button,a,input{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:5px}
button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
p,h1,h2,h3,figure{margin:0}
h1,h2,h3{font-weight:400}
h1,h2{font-family:var(--serif);line-height:1.08;letter-spacing:-.045em}
h1 em,h2 em{font-weight:400}
.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}
.skip-link{position:fixed;top:12px;left:16px;z-index:100;padding:12px 18px;background:var(--action);color:var(--action-text);transform:translateY(-180%)}
.skip-link:focus{transform:none}
.site-header{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}
.wordmark{display:inline-flex;align-items:center;gap:8px;font-weight:750;font-size:1.5rem;letter-spacing:-1px;white-space:nowrap;min-height:44px}
.wordmark>span:first-child{font-size:1.8125rem;line-height:1}
.wordmark .wordmark-period{color:var(--accent);margin-left:-8px}
.wordmark:hover{text-decoration:none}
.site-header nav{display:flex;align-items:center;gap:32px;font-size:0.875rem;font-weight:600}
.site-header nav>a{display:inline-flex;align-items:center;min-height:44px}
.site-header .nav-download{border:1px solid var(--soft-border);border-radius:999px;padding:10px 20px;gap:20px}
.eyebrow{font:600 .75rem/1.5 var(--sans);letter-spacing:.14em}
.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:13px 24px;border-radius:999px;font-size:0.9375rem;font-weight:600}
.button:hover{text-decoration:none}
.button-dark{background:var(--action);color:var(--action-text)}
.button-dark:hover{background:var(--action-hover)}
h2{font-size:clamp(2.375rem,3.8vw,3.375rem)}
.store-row{display:flex;justify-content:center;align-items:start;flex-wrap:wrap;gap:24px;margin-top:27px}
.store-option{display:flex;flex-direction:column;align-items:center;gap:4px}
.store-badge{display:flex;align-items:center;min-height:52px}
.store-badge img{height:44px;width:auto;max-width:none}
.store-badge[aria-disabled=true]{cursor:default}
.store-option small{font-size:0.75rem;color:var(--note)}
.site-footer{border-top:1px solid var(--line);padding-block:32px 24px}
.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px}
.footer-top>p{font-family:var(--serif);font-style:italic;font-size:1.25rem}
.footer-bottom{margin-top:24px;color:var(--muted);font-size:0.8125rem}
.footer-bottom nav{display:flex;gap:24px;flex-wrap:wrap}
.footer-bottom nav a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:1050px){
.wrap{width:calc(100% - 64px)}
}
@media(max-width:760px){
.wrap{width:calc(100% - 40px)}
.site-header{min-height:80px;gap:16px}
.wordmark{font-size:1.3125rem}
.wordmark>span:first-child{font-size:1.625rem}
.site-header nav{gap:18px;font-size:0.8125rem}
.site-header .nav-sharing{display:none}
.site-header .nav-download{padding:8px 13px;gap:10px}
h2{font-size:2.5rem}
.store-row{gap:18px}
.store-badge img{height:40px}
.store-option small{font-size:0.75rem}
.footer-top,.footer-bottom{align-items:start;flex-direction:column;gap:12px}
.footer-top>p{font-size:1.125rem}
.footer-bottom{margin-top:18px;gap:4px}
.footer-bottom nav{gap:20px;font-size:0.75rem}
.site-footer{padding-top:24px}
}
@media(max-width:359px){
.site-header nav>a:first-child{display:none}
.store-row{gap:14px}
.store-badge img{height:40px}
.footer-bottom nav{gap:16px}
}
@media(prefers-reduced-motion:no-preference){
html{scroll-behavior:smooth}
.button{transition:background-color .16s ease,color .16s ease}
}
.site-header nav>a{white-space:nowrap}
.footer-bottom,.footer-bottom nav,.site-header nav{font-size:.875rem}
@media(max-width:480px){
.site-header nav>a:first-child{display:none}
}
@media(max-width:760px){
.footer-bottom nav{column-gap:18px}
}
.store-badge{padding-block:10px;min-height:60px}
.site-header{flex-wrap:wrap;padding-block:16px}
.site-header nav{margin-left:auto}
.theme-toggle{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;padding:0;border:1px solid var(--soft-border);border-radius:50%;background:transparent;color:var(--ink)}
.theme-toggle:disabled{visibility:hidden}
.theme-toggle:hover{background:var(--hover-surface)}
.theme-moon{display:var(--moon-display)}
.theme-sun{display:var(--sun-display)}
@media(max-width:760px){
.site-header nav{gap:12px}
}
@media(max-width:480px){
.site-header{gap:8px}
.site-header nav{gap:8px}
.site-header .nav-download{padding-inline:11px}
.site-header .nav-download>span{display:none}
}
@media(max-width:359px){
.site-header{gap:6px}
.site-header .wordmark{font-size:1.125rem}
.site-header .wordmark>span:first-child{font-size:1.5rem}
.site-header nav{gap:6px}
.site-header .nav-download{padding-inline:8px}
}
