:root{--color-forest: #1f5a43;--color-deep-canopy: #163d31;--color-leaf: #718b45;--color-warm-ivory: #f7f4ed;--color-bark: #72563c;--color-heritage-gold: #d79a32;--color-water-glow: #2e9e9b;--color-charcoal: #202521;--color-paternal: #3f6fb0;--color-maternal: #c15b82;--gray-50: #fafaf8;--gray-100: #f3f2ee;--gray-200: #e7e5df;--gray-300: #d1cdc6;--gray-400: #a8a5a0;--gray-500: #6a6d67;--gray-600: #4b4a46;--gray-800: #1f2120;--gray-900: #121413;--bg-app: var(--color-warm-ivory);--bg-surface: #ffffff;--bg-surface-sunken: var(--gray-100);--bg-inverse: var(--color-deep-canopy);--text-primary: var(--color-charcoal);--text-secondary: var(--gray-500);--text-inverse: var(--color-warm-ivory);--text-on-forest: #ffffff;--border-subtle: var(--gray-200);--border-default: var(--gray-300);--color-danger: #b3432d;--color-success: var(--color-forest);--color-living: #3f8f5c;--lineage-1: var(--color-forest);--lineage-2: #3f6fb0;--lineage-3: #7a5aa6;--lineage-4: var(--color-heritage-gold);--lineage-5: var(--color-water-glow);--font-display: "Fraunces", "Playfair Display", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--fs-display: 3rem;--fs-heading-lg: 1.75rem;--fs-heading-md: 1.25rem;--fs-body: 1rem;--fs-caption: .75rem;--fs-small: .8125rem;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-pill: 999px;--radius-organic: 42% 58% 55% 45% / 48% 42% 58% 52%;--shadow-sm: 0 1px 2px rgba(22, 61, 49, .08);--shadow-md: 0 6px 20px rgba(22, 61, 49, .12);--shadow-lg: 0 16px 40px rgba(22, 61, 49, .16);--shadow-focus: 0 0 0 3px rgba(46, 158, 155, .35);--transition-fast: .12s ease;--transition-med: .2s ease}:root[data-theme=dark]{--bg-app: #12231c;--bg-surface: #17291f;--bg-surface-sunken: #0f1d17;--bg-inverse: var(--color-warm-ivory);--text-primary: #f2efe6;--text-secondary: #a8b3ac;--text-inverse: var(--color-charcoal);--border-subtle: #24382d;--border-default: #2e4536;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 6px 20px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .45)}:root{--paper: #fffdf8;--sage: #e9eedb;--hand: "Caveat", cursive}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-warm-ivory);color:var(--color-charcoal);font:400 17px/1.6 var(--font-body)}h1,h2,h3{font-family:var(--font-display);margin:0;line-height:1.12;letter-spacing:-.01em}a{color:inherit}img{max-width:100%}.skip{position:absolute;left:12px;top:-60px;z-index:50;background:var(--color-forest);color:#fff;padding:10px 16px;border-radius:8px;text-decoration:none;font-weight:600}.skip:focus{top:12px}a:focus-visible,summary:focus-visible{outline:3px solid var(--color-heritage-gold);outline-offset:3px;border-radius:6px}.wrap{max-width:1120px;margin:0 auto;padding:0 24px;position:relative}.page{position:relative;overflow-x:clip}.scape{position:absolute;inset:0 0 auto 0;height:860px;overflow:hidden;z-index:0;pointer-events:none;background:var(--sage)}.scape .land{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:72% 38%}.scape:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#f7f4edeb,#f7f4edb3 34%,#f7f4ed1f 66%,#f7f4ed00),linear-gradient(180deg,rgba(247,244,237,0) 52%,var(--color-warm-ivory) 100%)}.top{display:flex;align-items:center;justify-content:space-between;padding:22px 0;position:relative;z-index:3}.brand{display:flex;align-items:center;gap:10px;font:600 24px var(--font-display);text-decoration:none}.brand i{width:30px;height:30px;border-radius:50%;background:var(--color-forest);display:grid;place-items:center}.brand svg{width:16px;height:16px}nav{display:flex;align-items:center;padding:6px 8px 6px 22px;border-radius:999px;background:#fffdf8db;box-shadow:0 8px 22px -14px #20252166;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}nav a{font-weight:500;font-size:15px;text-decoration:none;margin-left:22px;color:#2c322d;white-space:nowrap}nav a:first-child{margin-left:0}nav a:hover{color:var(--color-forest)}.btn .short{display:none}.btn{display:inline-block;background:var(--color-forest);color:#fff;padding:13px 24px;border-radius:999px;font-weight:600;text-decoration:none;font-size:16px;border:1.5px solid var(--color-forest)}nav a.btn{color:#fff;margin-left:22px;padding:11px 20px;font-size:15px}.btn:hover{background:var(--color-deep-canopy)}.btn.ghost{background:#fffdf8b3;color:var(--color-forest)}.btn.ghost:hover{background:#1f5a431a}main{position:relative;z-index:1}.spine{position:absolute;top:70px;bottom:210px;left:50%;width:60px;transform:translate(-50%);pointer-events:none;z-index:1}.spine svg{width:100%;height:100%;overflow:visible}.spine path{fill:none;stroke:var(--color-heritage-gold);stroke-width:3.5;stroke-linecap:round;vector-effect:non-scaling-stroke}@supports (animation-timeline: scroll()){@media (prefers-reduced-motion: no-preference){.spine{animation:draw linear both;animation-timeline:scroll(root);animation-range:0% 85%}@keyframes draw{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}}}.copy,.art,.hub,.plans{position:relative;z-index:2}.plate{background:var(--color-warm-ivory);padding:14px 44px;border-radius:14px;display:inline-block}section{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center;padding:78px 0}section.flip .copy{order:2}.hero{grid-template-columns:1fr 1.12fr;padding-top:96px;padding-bottom:120px}.center{text-align:center;margin:0 auto;grid-column:1 / -1}.node{position:absolute;left:-48px;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--color-warm-ivory);border:4px solid var(--color-heritage-gold);z-index:3}.node.right{left:auto;right:-48px}.eyebrow{font:600 12px var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:#4a5f2c;margin-bottom:12px}h1{font-size:58px}h2{font-size:38px;margin-bottom:16px}.lead{font-size:20px;color:#2c322d;margin:22px 0 30px;max-width:30em}.copy p{color:#3d423e;max-width:28em}.center p{margin-left:auto;margin-right:auto}.cta-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.micro{font-size:14px;color:#3d423e;margin-top:14px}.card{background:var(--paper);border:1px solid var(--gray-200);border-radius:6px;box-shadow:0 1px #fff inset,0 14px 30px -14px #20252147}.tree{padding:34px 34px 26px}.tree svg{width:100%;height:auto;display:block}.tree .cap{font-size:13px;color:var(--text-secondary);text-align:center;margin-top:6px}.photo{transform:rotate(-2.5deg);padding:14px 14px 72px;background:#fff;max-width:360px;margin:0 auto;position:relative}.photo .img{height:250px;position:relative;overflow:hidden;border-radius:2px;background:radial-gradient(circle at 74% 26%,#f6d58f 0 9%,transparent 10%),linear-gradient(#cfe0d9 0,#cfe0d9 52%,#9fb77f 52%,#9fb77f 70%,#6f8f55 70%)}.photo .img:after{content:"";position:absolute;left:18%;bottom:30%;width:96px;height:78px;background:var(--color-bark);clip-path:polygon(0 100%,0 42%,50% 0,100% 42%,100% 100%)}.photo .tape{position:absolute;top:-12px;left:50%;width:92px;height:26px;margin-left:-46px;background:#d79a3273;transform:rotate(3deg)}.photo .hand{font:600 25px var(--hand);color:#3b3a36;position:absolute;left:22px;right:22px;bottom:14px}.stamp{position:absolute;right:-8px;bottom:-26px;transform:rotate(6deg);padding:12px 16px;max-width:200px}.stamp b{font:600 12px var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:#4a5f2c;display:block}.stamp span{font:500 20px var(--hand);color:#3b3a36}.hub{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0 0 20px}.recipe{transform:rotate(-1.5deg);padding:20px 20px 22px;background:repeating-linear-gradient(transparent 0 25px,#e9e3d3 25px,#e9e3d3 26px),var(--paper);background-position:0 50px,0 0}.recipe h3{font-size:21px;margin-bottom:2px}.recipe .by{font:500 19px var(--hand);color:var(--color-maternal)}.recipe ul{margin:12px 0 0;padding-left:18px;font-size:14px;line-height:26px;color:#3d423e}.invite{transform:rotate(1.2deg);padding:22px;text-align:center;border:1.5px solid var(--color-forest);outline:5px solid var(--paper);outline-offset:-9px}.invite small,.slip small{font:600 11px var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:#4a5f2c}.invite h3{font-size:24px;margin:10px 0 6px}.invite .when{font-size:14px;color:#3d423e}.invite .rsvp{display:inline-block;margin-top:14px;font:600 13px var(--font-body);color:var(--color-forest);border-bottom:2px solid var(--color-heritage-gold)}.slip{transform:rotate(-.8deg);padding:20px;border-top:6px dotted var(--color-heritage-gold)}.slip small{color:var(--text-secondary)}.slip h3{font-size:21px;margin:8px 0 14px}.bar{height:10px;border-radius:99px;background:var(--gray-200);overflow:hidden}.bar i{display:block;height:100%;width:64%;background:var(--color-forest)}.slip .nums{display:flex;justify-content:space-between;font-size:14px;margin-top:10px}.slip .nums b{font-family:var(--font-display);font-size:20px}.roles{display:grid;grid-template-columns:1fr 1fr;gap:14px;list-style:none;margin:0;padding:0}.role{padding:16px 18px;border-left:5px solid var(--color-forest)}.role:nth-child(2){border-color:var(--color-water-glow)}.role:nth-child(3){border-color:var(--color-heritage-gold)}.role:nth-child(4){border-color:var(--gray-500)}.role b{font:600 18px var(--font-display);display:block}.role span{font-size:14px;color:#3d423e}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0 0 40px}.plan{padding:24px}.plan.featured{border:2px solid var(--color-forest)}.plan .price{font:700 36px var(--font-display);margin:8px 0}.plan .price span{font:500 15px var(--font-body);color:var(--text-secondary)}.plan .note{font-size:14px;color:#4a5f2c}details{border-top:1px solid var(--gray-200);padding:14px 0;max-width:34em}summary{font-weight:600;cursor:pointer}details p{margin:8px 0 0;color:#3d423e}.band{background:var(--color-deep-canopy);color:var(--color-warm-ivory);text-align:center;padding:96px 24px 84px;position:relative;z-index:1;overflow:hidden}.band .tree-bg{position:absolute;left:50%;top:-40px;width:760px;margin-left:-380px;opacity:.12;pointer-events:none;max-width:none;-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 30%,transparent 75%)}.band>*:not(.tree-bg):not(.hills){position:relative}.band .hills{position:absolute;left:0;right:0;top:-1px;width:100%;height:70px;transform:scaleY(-1)}.band h2{font-size:44px;margin-bottom:12px}.band p{max-width:34em;margin:0 auto 28px;color:#d6dccf}.band .btn{background:var(--color-heritage-gold);border-color:var(--color-heritage-gold);color:var(--color-deep-canopy)}footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:30px 0 44px;font-size:14px;color:var(--text-secondary)}footer a{text-decoration:none}@media (max-width: 480px){.btn .long{display:none}.btn .short{display:inline}}@media (max-width: 420px){.hide-xs{display:none}nav a.btn{margin-left:0}}@media (max-width: 860px){.hide-sm{display:none}nav{padding:5px 6px 5px 16px}nav a{margin-left:12px}nav a.btn{padding:9px 16px;font-size:14px;margin-left:12px}.wrap{padding-left:44px}.top{margin-left:-28px;gap:10px}.brand{font-size:21px;gap:8px}.brand i{width:26px;height:26px}.spine{left:18px;transform:none;width:28px}section,.hero{grid-template-columns:1fr;gap:32px;padding:48px 0}.hero{padding-top:56px;padding-bottom:72px}section.flip .copy{order:0}.node,.node.right{left:-26px;right:auto;top:12px;margin-top:0}h1{font-size:40px}h2{font-size:30px}.lead{font-size:18px}.plate{padding:12px 18px}.hub,.plans,.roles{grid-template-columns:1fr}.photo{max-width:300px}.stamp{position:relative;right:auto;bottom:auto;margin:-20px 0 0 40px;display:inline-block}.scape{height:700px}.scape .land{object-position:64% 30%}.scape:after{background:linear-gradient(180deg,rgba(247,244,237,.78) 0%,rgba(247,244,237,.86) 55%,var(--color-warm-ivory) 100%)}.band .tree-bg{width:520px;margin-left:-260px}.band h2{font-size:32px}}.legal{max-width:46rem;margin:0 auto;padding:3rem 1.25rem 4rem;line-height:1.65}.legal h1{margin-bottom:.5rem}.legal h2{margin-top:2rem;font-size:1.25rem}.legal .legal__updated{color:var(--text-secondary);font-size:.9rem}
