:root{color-scheme:light;--ink: #16322f;--ink-soft: #37514c;--muted: #66766f;--surface: #fbfdfb;--surface-strong: #ffffff;--surface-muted: #f2faf6;--line: #dce8e2;--brand: #1f5e54;--brand-strong: #143f39;--mint: #dcece5;--sage: #7ea295;--gold: #d3a762;--rose: #b56f63;--text-inverse: #ffffff;--button-text: #ffffff;--brand-mark-text: #ffffff;--page-bg: linear-gradient(180deg, #f6faf7 0%, #fff 42%, #f5faf7 100%);--header-bg: rgb(251 253 251 / 92%);--control-bg: #ffffff;--hero-note-bg: rgb(255 255 255 / 88%);--hero-note-border: rgb(255 255 255 / 70%);--soft-border: #cfe4da;--field-border: #cbdad4;--field-bg: #ffffff;--focus-ring: rgb(211 167 98 / 34%);--notice-bg: #fff8eb;--map-bg: linear-gradient(135deg, rgb(220 236 229 / 86%), rgb(255 255 255 / 92%)), repeating-linear-gradient(45deg, #d8e6e0 0 1px, transparent 1px 22px);--footer-bg: var(--brand-strong);--footer-text: rgb(255 255 255 / 78%);--footer-heading: #ffffff;--footer-mark-bg: #ffffff;--footer-mark-ink: var(--brand-strong);--mobile-bar-bg: rgb(255 255 255 / 94%);--shadow: 0 20px 60px rgb(28 64 57 / 12%);--card-shadow: 0 12px 34px rgb(28 64 57 / 8%);--bar-shadow: 0 16px 42px rgb(22 50 47 / 16%);--radius: 8px;--container: min(1120px, calc(100vw - 32px) );font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{color-scheme:dark;--ink: #e8f4ef;--ink-soft: #c7dad2;--muted: #9eb4ab;--surface: #0d1715;--surface-strong: #14211e;--surface-muted: #192925;--line: #2a433c;--brand: #65c2ad;--brand-strong: #a6ead7;--mint: #1d372f;--sage: #8ab7a7;--gold: #e0b36d;--rose: #e0a095;--text-inverse: #08110f;--button-text: #08110f;--brand-mark-text: #08110f;--page-bg: linear-gradient(180deg, #091210 0%, #101c19 44%, #0b1412 100%);--header-bg: rgb(11 20 18 / 90%);--control-bg: #14211e;--hero-note-bg: rgb(13 23 21 / 88%);--hero-note-border: rgb(158 180 171 / 24%);--soft-border: #315149;--field-border: #395950;--field-bg: #101d1a;--focus-ring: rgb(224 179 109 / 34%);--notice-bg: #2d2519;--map-bg: linear-gradient(135deg, rgb(29 55 47 / 92%), rgb(20 33 30 / 92%)), repeating-linear-gradient(45deg, #315149 0 1px, transparent 1px 22px);--footer-bg: #07100e;--footer-text: rgb(232 244 239 / 76%);--footer-heading: #f5fffb;--footer-mark-bg: var(--brand);--footer-mark-ink: #07100e;--mobile-bar-bg: rgb(16 29 26 / 94%);--shadow: 0 20px 60px rgb(0 0 0 / 38%);--card-shadow: 0 12px 34px rgb(0 0 0 / 24%);--bar-shadow: 0 16px 42px rgb(0 0 0 / 34%)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ink: #e8f4ef;--ink-soft: #c7dad2;--muted: #9eb4ab;--surface: #0d1715;--surface-strong: #14211e;--surface-muted: #192925;--line: #2a433c;--brand: #65c2ad;--brand-strong: #a6ead7;--mint: #1d372f;--sage: #8ab7a7;--gold: #e0b36d;--rose: #e0a095;--text-inverse: #08110f;--button-text: #08110f;--brand-mark-text: #08110f;--page-bg: linear-gradient(180deg, #091210 0%, #101c19 44%, #0b1412 100%);--header-bg: rgb(11 20 18 / 90%);--control-bg: #14211e;--hero-note-bg: rgb(13 23 21 / 88%);--hero-note-border: rgb(158 180 171 / 24%);--soft-border: #315149;--field-border: #395950;--field-bg: #101d1a;--focus-ring: rgb(224 179 109 / 34%);--notice-bg: #2d2519;--map-bg: linear-gradient(135deg, rgb(29 55 47 / 92%), rgb(20 33 30 / 92%)), repeating-linear-gradient(45deg, #315149 0 1px, transparent 1px 22px);--footer-bg: #07100e;--footer-text: rgb(232 244 239 / 76%);--footer-heading: #f5fffb;--footer-mark-bg: var(--brand);--footer-mark-ink: #07100e;--mobile-bar-bg: rgb(16 29 26 / 94%);--shadow: 0 20px 60px rgb(0 0 0 / 38%);--card-shadow: 0 12px 34px rgb(0 0 0 / 24%);--bar-shadow: 0 16px 42px rgb(0 0 0 / 34%)}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--page-bg);color:var(--ink);font-size:16px;line-height:1.6;text-rendering:optimizeLegibility}img,svg,iframe{max-width:100%}img{display:block}a{color:inherit}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.skip-link{position:fixed;left:16px;top:12px;z-index:100;transform:translateY(-140%);background:var(--ink);color:var(--surface);padding:10px 14px;border-radius:var(--radius)}.skip-link:focus{transform:translateY(0)}.container{width:var(--container);margin-inline:auto}.site-header{position:sticky;top:0;z-index:50;background:var(--header-bg);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.header-inner{min-height:76px;display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:16px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;min-width:0}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:var(--brand-mark-text);font-weight:800;letter-spacing:0;box-shadow:0 10px 24px #1f5e5433;flex:0 0 auto}.brand-text{display:grid;line-height:1.15;min-width:0}.brand-text span{font-weight:800;letter-spacing:0;white-space:nowrap}.brand-text small{color:var(--muted);font-weight:650}.primary-nav{display:none;position:absolute;left:16px;right:16px;top:calc(100% + 8px);padding:10px;background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.primary-nav[data-open]{display:grid}.primary-nav a,.nav-group>button{min-height:48px;display:flex;align-items:center;padding:10px 12px;color:var(--ink-soft);text-decoration:none;border-radius:6px;font-weight:700}.nav-group>button{width:100%;border:0;background:transparent;cursor:pointer}.primary-nav a[aria-current=page],.primary-nav a:hover,.nav-group>button:hover,.nav-group[data-active=true]>button,.nav-group[data-open]>button{background:var(--mint);color:var(--brand-strong)}.nav-submenu{display:none;gap:2px;padding-left:12px}.nav-group[data-active=true] .nav-submenu,.nav-group[data-open] .nav-submenu{display:grid}.nav-submenu a{min-height:42px;font-size:.94rem}.nav-toggle{width:48px;height:48px;display:grid;place-items:center;gap:4px;border:1px solid var(--line);border-radius:var(--radius);background:var(--control-bg);cursor:pointer}.nav-toggle span:not(.sr-only){width:21px;height:2px;background:var(--brand-strong)}.theme-menu{position:relative;justify-self:end}.theme-button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--control-bg);color:var(--ink);cursor:pointer;font-size:1.25rem;line-height:1;padding:0}.theme-button:hover,.theme-button[aria-expanded=true]{background:var(--mint);color:var(--brand-strong)}.theme-options{position:absolute;top:calc(100% + 8px);right:0;z-index:70;min-width:132px;display:grid;gap:2px;padding:6px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-strong);box-shadow:var(--shadow)}.theme-options[hidden]{display:none}.theme-options button{width:100%;min-height:40px;border:0;border-radius:6px;background:transparent;color:var(--ink-soft);cursor:pointer;font-weight:800;padding:9px 12px;text-align:left}.theme-options button:hover,.theme-options button[aria-checked=true]{background:var(--mint);color:var(--brand-strong)}.header-cta,.button,.button-secondary,.button-ghost{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius);padding:12px 18px;font-weight:800;text-decoration:none;border:1px solid transparent;cursor:pointer}.header-cta,.button{background:var(--brand);color:var(--button-text);box-shadow:0 12px 24px #1f5e542e}.button-secondary{background:var(--surface-strong);color:var(--brand-strong);border-color:var(--line)}.button-ghost{background:transparent;color:var(--brand-strong);border-color:var(--line)}.section{padding:64px 0}.section-tight{padding:42px 0}.eyebrow{margin:0 0 10px;color:var(--rose);font-weight:850;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}h1,h2,h3{margin:0;color:var(--ink);line-height:1.08;letter-spacing:0}h1{font-size:clamp(2.45rem,7vw,4.9rem);max-width:11ch}h2{font-size:clamp(2rem,4.8vw,3.2rem)}h3{font-size:1.25rem}p{margin:0;color:var(--ink-soft)}.lead{font-size:1.08rem;color:var(--ink-soft);max-width:62ch}.hero{min-height:calc(100svh - 76px);display:grid;align-items:center;padding:42px 0 72px}.hero-grid{display:grid;gap:28px}.hero-copy{display:grid;gap:22px}.hero-actions,.split-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-media{position:relative;overflow:hidden;min-height:370px;border-radius:var(--radius);box-shadow:var(--shadow);background:var(--mint)}.hero-media img{width:100%;height:100%;min-height:370px;object-fit:cover}.hero-note{position:absolute;left:16px;right:16px;bottom:16px;display:grid;gap:4px;padding:16px;border-radius:var(--radius);background:var(--hero-note-bg);backdrop-filter:blur(10px);border:1px solid var(--hero-note-border)}.hero-note strong{font-size:1.05rem}.info-strip{display:grid;gap:1px;overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);background:var(--line)}.info-strip>div{background:var(--surface-strong);padding:18px}.info-strip strong{display:block;margin-bottom:4px}.section-head{display:grid;gap:14px;margin-bottom:28px}.grid{display:grid;gap:18px}.grid-2,.grid-3{grid-template-columns:1fr}.card{background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--card-shadow)}.card h3{margin-bottom:10px}.birthday-section{position:relative;overflow:hidden;background:linear-gradient(135deg,rgb(211 167 98 / 12%),transparent 42%),linear-gradient(180deg,var(--surface-muted),transparent);border-block:1px solid var(--line)}.birthday-section:before,.birthday-section:after{position:absolute;color:var(--rose);font-size:clamp(5rem,12vw,9rem);font-weight:850;line-height:1;opacity:.12;pointer-events:none}.birthday-section:before{content:"♥";top:22px;right:8vw}.birthday-section:after{content:"♡";left:6vw;bottom:12px}.birthday-panel{position:relative;display:grid;gap:24px;z-index:1}.birthday-feature{display:grid;gap:22px;align-items:stretch}.birthday-copy{align-self:center;margin-bottom:0}.birthday-photo{margin:0;overflow:hidden;border:1px solid var(--soft-border);border-radius:var(--radius);background:var(--surface-strong);box-shadow:var(--shadow)}.birthday-photo img{width:100%;height:100%;min-height:280px;aspect-ratio:4 / 3;object-fit:cover;object-position:center}.birthday-hearts{color:var(--rose);font-size:1.45rem;letter-spacing:.18em;line-height:1}.birthday-card{min-height:100%;display:grid;align-items:center;padding:22px;border:1px solid var(--soft-border);border-radius:var(--radius);background:var(--surface-strong);box-shadow:var(--card-shadow)}.birthday-card p{color:var(--ink);font-weight:750}.card ul,.check-list,.plain-list{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:10px}.card li,.check-list li,.plain-list li{position:relative;padding-left:26px;color:var(--ink-soft)}.card li:before,.check-list li:before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;border-radius:50%;background:var(--gold)}.plain-list li:before{content:""}.split{display:grid;gap:28px;align-items:center}.soft-panel{padding:24px;border-radius:var(--radius);background:var(--mint);border:1px solid var(--soft-border)}.stat-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.stat{padding:16px;background:var(--surface-strong);border-radius:var(--radius);border:1px solid var(--line)}.stat strong{display:block;font-size:1.6rem;line-height:1}.page-hero{padding:56px 0 34px}.page-hero .lead{margin-top:16px}.contact-grid{display:grid;gap:22px;align-items:start}.form{display:grid;gap:16px}.field{display:grid;gap:7px}.field label{font-weight:800}.field input,.field textarea{width:100%;min-height:50px;border:1px solid var(--field-border);border-radius:var(--radius);padding:12px 14px;background:var(--field-bg);color:var(--ink)}.field textarea{min-height:160px;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--brand);outline:3px solid var(--focus-ring)}.checkbox{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start}.checkbox input{width:20px;height:20px;margin-top:3px;accent-color:var(--brand)}.form-status{min-height:28px;color:var(--brand-strong);font-weight:750}.honeypot{position:absolute;left:-9999px}.map-consent{min-height:360px;display:grid;place-items:center;gap:16px;padding:24px;text-align:center;background:var(--map-bg);border:1px solid var(--line);border-radius:var(--radius)}.map-consent iframe{width:100%;height:420px;border:0;border-radius:var(--radius)}.legal-content{max-width:840px;display:grid;gap:24px}.legal-content section{display:grid;gap:10px}.notice{border-left:5px solid var(--gold);padding:16px;background:var(--notice-bg);border-radius:0 var(--radius) var(--radius) 0}.site-footer{padding:52px 0 92px;background:var(--footer-bg);color:var(--footer-heading)}.site-footer p,.site-footer a,.site-footer li,.site-footer small{color:var(--footer-text)}.site-footer h2{margin-bottom:12px;font-size:1rem;color:var(--footer-heading)}.footer-grid{display:grid;gap:28px}.footer-brand{margin-bottom:14px}.footer-brand .brand-mark{background:var(--footer-mark-bg);color:var(--footer-mark-ink)}.site-footer ul{margin:0;padding:0;list-style:none}.info-strip a,.site-footer a:not(.brand),.soft-panel a:not(.button-secondary):not(.button-ghost),.legal-content a{min-height:42px;display:inline-flex;align-items:center}.mobile-action-bar{position:fixed;left:10px;right:10px;bottom:10px;z-index:60;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:6px;border-radius:var(--radius);background:var(--mobile-bar-bg);border:1px solid var(--line);box-shadow:var(--bar-shadow);backdrop-filter:blur(16px)}.mobile-action-bar a{min-height:46px;display:grid;place-items:center;border-radius:6px;background:var(--brand);color:var(--button-text);text-decoration:none;font-weight:850}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:720px){:root{--container: min(1160px, calc(100vw - 48px) )}.section{padding:84px 0}.hero-grid,.split,.contact-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.86fr)}.grid-2,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.info-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.birthday-feature{grid-template-columns:minmax(0,1fr) minmax(300px,.74fr)}.birthday-photo img{min-height:360px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-action-bar{display:none}.site-footer{padding-bottom:52px}}@media(min-width:980px){.header-inner{grid-template-columns:auto 1fr auto auto}.nav-toggle{display:none}.primary-nav{position:static;display:flex;justify-content:center;align-items:center;gap:4px;padding:0;border:0;box-shadow:none;background:transparent}.primary-nav a,.nav-group>button{min-height:42px;padding:9px 12px}.nav-group{position:relative}.nav-submenu{position:absolute;top:calc(100% + 8px);left:50%;z-index:70;min-width:180px;padding:8px;transform:translate(-50%);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-strong);box-shadow:var(--shadow)}.nav-group[data-active=true] .nav-submenu{display:none}.nav-group:hover .nav-submenu,.nav-group:focus-within .nav-submenu,.nav-group[data-open] .nav-submenu{display:grid}.footer-grid{grid-template-columns:1.2fr 1fr 1fr 1fr .8fr}.hero{padding-top:24px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:26px}}@media(max-width:430px){:root{--container: min(100vw - 24px, 1120px)}.brand-text span{font-size:.95rem}.brand-text small{font-size:.74rem}.header-cta{display:none}h1{font-size:2.4rem}.hero-media,.hero-media img{min-height:320px}}
