@font-face{font-family:Gambarino;src:url('fonts/gambarino.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'General Sans';src:url('fonts/general-sans.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'General Sans';src:url('fonts/general-sans-medium.woff2') format('woff2');font-weight:500;font-display:swap}
:root{--gold:#b99a50;--ink:#25271d;--paper:#f8eed6;--light-gold:#dfc98e;--ease-out:cubic-bezier(.23,1,.32,1);--signup-height:215px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:16px;background:#fffdf7;color:var(--ink);font:18px/1.6 'General Sans',Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-underline-offset:4px}p{margin:0}img{display:block;max-width:100%}:focus-visible{outline:3px solid currentColor;outline-offset:5px}::selection{background:var(--ink);color:var(--paper)}main{position:relative;background:var(--gold);isolation:isolate}.brand{font:25px/1 Gambarino,Georgia,serif}
.panel{position:relative;background:var(--gold);min-height:100svh;overflow:hidden}.scene-track{position:relative;isolation:isolate}.hero-track{z-index:1;--track-height:200svh}.garden-track{z-index:2;--track-height:340svh}.place-track{z-index:3;--track-height:320svh}.evening-track{z-index:4;--track-height:340svh}.sunset-track{z-index:5;--track-height:235svh}.host-track{z-index:6;--track-height:200svh}
.choreographed .scene-track{height:var(--track-height)}.choreographed .scene-track+.scene-track{margin-top:-100svh}.choreographed .panel{position:sticky;top:0;height:100svh;min-height:0}.choreographed .final-section{margin-top:-100svh}
/* The title shares a baseline; the left invitation and right reply sit beneath it. */
.hero{height:100svh;min-height:720px;padding:0 5.5%}header{position:absolute;top:35px;left:5.5%;right:5.5%;display:flex;justify-content:flex-end;z-index:2;font-size:13px}header a{text-decoration:none;border-bottom:1px solid;padding-bottom:5px}.hero-sun{position:absolute;width:300px;height:104px;object-fit:contain;top:-16px;left:50%;margin-left:-150px}.hero h1{position:absolute;top:20%;left:5.5%;right:5.5%;display:flex;align-items:baseline;justify-content:space-between;gap:20%;font:400 clamp(90px,11.6vw,180px)/.92 Gambarino,Georgia,serif;letter-spacing:-.055em;margin:0;z-index:2;pointer-events:none}.hero h1 span{display:block}.hero-circle{position:absolute;width:clamp(170px,17vw,240px);height:auto;left:50%;top:46%;transform:translate(-50%,-50%)}.hero-bottom{position:absolute;top:46%;left:5.5%;right:5.5%;display:flex;align-items:flex-start;justify-content:space-between;gap:16%;z-index:3}.hero-intro{max-width:35%}.hero-promise{font:clamp(26px,2.6vw,38px)/1.15 Gambarino,Georgia,serif;letter-spacing:-.02em;margin-bottom:25px}.hero-description{font-size:16px;line-height:1.6}.signup-anchor{width:min(440px,calc(100vw - 48px));height:var(--signup-height);flex-shrink:0}.hero .signup-anchor{width:min(440px,40vw)}
/* All reading takes place above the dock, in the upper two thirds. */
.story-scene{background:var(--paper);padding:30px 8% 28svh}.story-inner{width:100%;height:67svh;max-width:1260px;margin:auto;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:8%;position:relative}.scene-copy{max-width:540px;position:relative;z-index:2}.display-copy{font:400 clamp(42px,5.4vw,78px)/1.16 Gambarino,Georgia,serif;letter-spacing:-.035em;margin:0 0 30px}.display-copy mark{display:inline-block;padding:0 .09em .03em;margin-top:.13em;color:var(--paper);background:var(--ink);line-height:1.07;box-decoration-break:clone}.scene-copy>p:not(.display-copy){font-size:17px;line-height:1.6;margin-top:22px}.garden-art{grid-column:2;grid-row:1;width:100%;max-width:390px;height:58svh;justify-self:center}.garden-art img{width:100%;height:100%;object-fit:contain}.scene-copy{grid-column:1;grid-row:1}.evening{background:var(--ink);color:var(--paper)}.evening .story-inner{grid-template-columns:.85fr 1.15fr}.evening .scene-copy{grid-column:2}.evening mark{background:var(--paper);color:var(--ink)}.night-art{grid-column:1;grid-row:1;width:100%;max-width:350px;justify-self:center}.night-art img{width:100%;height:auto;filter:invert(83%) sepia(34%) saturate(340%)}.scene-copy>p.possibilities{font-size:15px}
.place{padding:6svh 8% 28svh}.place-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin:0 auto 28px;max-width:1200px}.place-heading .display-copy{margin:0;font-size:clamp(38px,4.5vw,64px)}.place-heading>p:last-child{font-size:15px;line-height:1.6}.photo-window{overflow:hidden;position:relative}.house-window{width:100%;max-width:1200px;height:43svh;margin:auto}.house-window img{width:100%;height:130%;object-fit:cover;object-position:50% 52%;position:absolute;top:-15%;left:0}.sunset-panel{padding:0;background:var(--ink)}.sunset-window{width:100%;height:100%;min-height:100svh}.wide-sunset{width:100%;height:135%;position:absolute;top:-17.5%;object-fit:cover;object-position:45% 55%}.host-note{background:var(--paper);padding:12svh 16% 32svh;display:flex;align-items:center;justify-content:center}.host-note>p{font:clamp(30px,4.2vw,60px)/1.24 Gambarino,Georgia,serif;max-width:890px}.host-note span{display:block;font:14px/1.5 'General Sans',Arial,sans-serif;margin-top:32px}
/* The travelling reply settles here before the footer. */
.final-section{position:relative;z-index:7;background:var(--gold);text-align:center;padding:85px 30px 70px;min-height:100svh}.dates-simple>.display-copy{font-size:clamp(40px,5.2vw,74px);margin-bottom:65px}.date-lines{display:flex;align-items:flex-start;justify-content:center;gap:100px}.date-block{width:360px;max-width:100%}.date-lines strong{display:block;font-size:22px;font-weight:500}.date-lines>p span{display:block;font-size:14px;line-height:1.6;margin-top:15px}.mini-calendar{margin-top:28px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-days>div{padding:9px 0 11px;background:var(--light-gold)}.calendar-days span{font-size:12px;display:block}.calendar-days b{display:block;font:30px/1.2 Gambarino,Georgia,serif;margin-top:5px}.calendar-days .shared-weekend{background:var(--ink);color:var(--paper)}.calendar-days small{grid-column:3/6;font-size:12px;margin-top:6px}.final-section .signup-anchor{margin:75px auto 0}
.interest-layer{position:fixed;top:0;left:0;width:min(440px,calc(100vw - 48px));z-index:50;visibility:hidden}.interest-layer.ready{visibility:visible}.interest-dock{background:var(--paper);padding:23px 24px 18px;color:var(--ink);max-height:calc(100dvh - 28px);overflow:auto;overscroll-behavior:contain;box-shadow:0 8px 25px #25271d12}.interest-layer[data-placement=hero] .interest-dock,.interest-layer[data-placement=final] .interest-dock{box-shadow:none}.signup-context{text-align:center;font:31px/1.15 Gambarino,Georgia,serif;margin:0 0 19px}.signup-context span{display:block;font:13px/1.5 'General Sans',Arial,sans-serif;margin-top:9px}.email-row{display:flex;gap:8px;border-bottom:1px solid var(--ink);padding-bottom:8px}.email-row>input{min-width:0;flex:1;border:0;border-radius:0;background:transparent;padding:9px 4px;color:var(--ink);font-size:16px}.email-row>input::placeholder{color:var(--ink);opacity:.65}.button{background:var(--ink);color:var(--paper);border:0;border-radius:0;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;font-size:14px;white-space:nowrap;transition:transform 140ms var(--ease-out)}.button:active{transform:scale(.98)}.dock-consent{text-align:center;font-size:11px;line-height:1.5;margin-top:11px}.dock-title{font:29px/1.2 Gambarino,Georgia,serif;text-align:center;margin-bottom:10px;outline:none}.dock-note{text-align:center;font-size:13px;line-height:1.5;margin-bottom:22px}.expanded{padding:26px}.trip-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.trip-options label{display:flex;align-items:flex-start;gap:9px;padding:13px 10px;background:var(--light-gold);font-size:13px;line-height:1.5;cursor:pointer}.trip-options label:has(input:checked){background:var(--ink);color:var(--paper)}input[type=checkbox]{appearance:none;display:inline-grid;place-content:center;flex-shrink:0;color:inherit;border:1px solid currentColor;width:17px;height:17px;margin:2px 0 0;border-radius:0}input[type=checkbox]:checked::after{content:'';width:8px;height:4px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-1px) rotate(-45deg)}fieldset{border:0;padding:0;margin:0 0 20px}legend{font-size:13px;margin-bottom:10px}.stay-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px 10px}.stay-choices label{display:flex;align-items:flex-start;gap:8px;font-size:14px;cursor:pointer}.stay-choices small{display:block;font-size:11px}.stay-choices input{accent-color:var(--ink);margin:5px 0 0}.dock-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.text-button{font-size:13px;text-decoration:underline;text-underline-offset:4px;border:0;background:none;color:var(--ink);padding:11px 0}.dock-thanks{text-align:center}.dock-thanks>p:not(.dock-title){font-size:14px;line-height:1.6;margin-bottom:8px}.dock-reopen{display:block;margin:auto;border:0;background:var(--paper);color:var(--ink);padding:13px 20px;font-size:14px}.error{font-size:13px;color:#842a16;margin-top:12px}.honey,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;left:24px;top:-100px;background:var(--paper);padding:12px;z-index:100}.skip:focus{top:16px}
footer{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:36px 5.5%;background:var(--paper);font-size:13px}footer details{max-width:500px}footer summary{cursor:pointer}footer details p{margin-top:18px;font-size:13px;line-height:1.6}
@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-2px)}header a:hover,footer>a:hover{text-decoration:underline}}
@media(min-width:761px) and (max-height:800px){.hero{min-height:680px}.hero h1{top:22%;font-size:10.8vw}.hero-bottom{top:46%}.hero-circle{top:43%;width:170px}.hero-promise{font-size:28px}.hero-description{font-size:15px}.story-scene{padding-top:18px}.display-copy{font-size:clamp(42px,4.8vw,64px)}.scene-copy>p:not(.display-copy){font-size:15px;margin-top:16px}.garden-art{height:57svh}.host-note>p{font-size:42px}}
@media(max-width:1000px) and (min-width:761px){.hero-bottom{gap:9%}.hero .signup-anchor{width:38vw}.interest-layer{max-width:38vw}.hero-intro{max-width:38%}.hero-circle{width:145px}.hero-promise{font-size:27px}.signup-context{font-size:27px}.interest-dock{padding:20px}.display-copy{font-size:48px}}
@media(max-width:760px){body{padding:8px}.hero{min-height:800px;height:100svh;padding:0 24px}.hero h1{left:24px;right:24px;top:17%;font-size:12.6vw;gap:14px;letter-spacing:-.055em}.hero-sun{width:200px;height:72px;margin-left:-100px;top:-12px}.hero header{top:65px;left:24px;right:24px;font-size:11px}.hero-circle{top:34%;width:150px}.hero-bottom{top:48%;left:24px;right:24px;display:block}.hero-intro{max-width:100%;text-align:left}.hero-promise{font-size:28px;margin-bottom:17px}.hero-description{font-size:14px;line-height:1.5}.hero-description br:last-child{display:none}.hero .signup-anchor{width:min(440px,calc(100vw - 48px));margin-top:24px;margin-left:-8px}.story-scene{padding:16px 27px 28svh}.story-inner,.evening .story-inner{height:66svh;display:flex;flex-direction:column;justify-content:center;gap:18px}.garden-art{order:-1;flex-shrink:0;width:170px;height:230px;max-height:27svh}.scene-copy{max-width:520px}.display-copy{font-size:37px;line-height:1.18;margin-bottom:20px}.scene-copy>p:not(.display-copy){font-size:14px;line-height:1.5;margin-top:15px}.night-art{width:150px;flex-shrink:0}.scene-copy>p.possibilities{font-size:13px}.place{padding:5svh 24px 28svh}.place-heading{display:block;margin-bottom:20px}.place-heading .display-copy{font-size:36px}.place-heading>p:last-child{font-size:12px;margin-top:15px}.house-window{height:37svh;width:100%}.house-window img{object-position:51% 50%;height:130%}.host-note{padding:10svh 30px 34svh}.host-note>p{font-size:33px;line-height:1.25}.host-note span{font-size:12px;margin-top:24px}.final-section{padding:65px 24px 55px}.dates-simple>.display-copy{font-size:38px;margin-bottom:45px}.date-lines{display:block}.date-block{margin:auto}.date-lines>p{margin-top:40px}.date-lines strong{font-size:21px}.date-lines>p span{font-size:13px;margin-top:12px}.final-section .signup-anchor{margin-top:55px}.calendar-days b{font-size:27px}.calendar-days span,.calendar-days small{font-size:11px}.interest-dock{padding:18px 18px 14px}.signup-context{font-size:28px;margin-bottom:14px}.signup-context span{font-size:12px;margin-top:7px}.email-row .button{padding:10px 14px;font-size:13px}.dock-consent{font-size:10px}.dock-title{font-size:26px}.dock-note{font-size:12px}.expanded{padding:22px}.trip-options{grid-template-columns:1fr}.trip-options label{padding:11px;align-items:center}.dock-actions{gap:8px}.dock-actions .button{font-size:13px;padding:10px 13px}.dock-actions .text-button{font-size:12px}footer{flex-wrap:wrap;padding:30px 24px;gap:25px}.brand{font-size:23px}footer details{order:3;max-width:none;width:100%}.garden-track,.evening-track{--track-height:315svh}}
@media(max-width:390px){.hero-promise{font-size:25px}.hero h1{font-size:12.3vw}.hero-circle{width:135px}.display-copy{font-size:32px}.scene-copy>p:not(.display-copy){font-size:13px}.garden-art{height:200px}.interest-dock{padding:17px 15px 12px}.signup-context{font-size:25px}.signup-context span{font-size:11px}.dates-simple>.display-copy{font-size:33px}.hero-description{font-size:13px}}
@media(prefers-reduced-motion:reduce),(max-height:679px){html{scroll-behavior:auto}.panel{min-height:0;height:auto}.hero{height:auto;min-height:730px}.story-scene{padding:70px 8%}.story-inner,.evening .story-inner{height:auto;min-height:450px}.garden-art{height:400px;max-height:none}.place{padding:65px 8%}.house-window{height:420px}.sunset-window{min-height:70svh}.host-note{padding:90px 10%}.final-section{min-height:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.hero{min-height:820px}.garden-art{height:250px}.story-inner{gap:25px}.story-scene{padding:55px 27px}.house-window{height:350px}}

@media(min-width:761px) and (max-height:800px){.house-window{height:34svh}.final-section{padding-top:55px}.dates-simple>.display-copy{font-size:60px;margin-bottom:40px}}
.final-section mark{margin-left:.08em}

/* One visible headline grows from the invitation into the first story scene. */
.hero-promise{line-height:1.16;letter-spacing:-.035em}.hero-promise mark{display:inline-block;padding:0 .09em .03em;margin-top:.13em;color:var(--paper);background:var(--ink);line-height:1.07}
.travelling-tagline{display:none;position:fixed;left:0;top:0;z-index:20;pointer-events:none;transform-origin:0 0;white-space:nowrap;margin:0}
.tagline-shared .hero-promise{visibility:hidden}.tagline-shared:not(.tagline-landed) .garden-title{visibility:hidden}.tagline-shared:not(.tagline-landed)>.travelling-tagline{display:block}

/* Separate ink cutouts leave room for the invitation and the travelling signup. */
.hero-circle{width:clamp(220px,21vw,300px);top:39%}
.hero-intro{transform:translateY(-5svh)}
.garden-track .story-inner{height:65svh;padding-top:10svh;grid-template-columns:1.4fr .6fr;gap:7%}
.garden-art{width:100%;max-width:230px;height:43svh;max-height:460px}
.garden-sun{position:absolute;top:22px;left:50%;transform:translateX(-50%);width:230px;height:77px;object-fit:contain}
.garden-flowers img{position:absolute;object-fit:contain;pointer-events:none}
.flower-stem{width:70px;height:115px;left:5%;bottom:16%}
.flower-smile{width:60px;height:65px;left:25%;bottom:5%}
.flower-small{width:85px;height:130px;right:9%;bottom:13%}
.evening{background:linear-gradient(105deg,#30251e 0%,#453225 48%,#624930 100%)}
.place-heading{display:block;text-align:center;margin-bottom:25px}
.place-heading>p:last-child{margin-top:16px}
.house-window{height:35svh}
.host-note{gap:45px;padding-left:12%;padding-right:12%}
.host-flower{width:90px;height:auto;flex-shrink:0}
footer{padding-top:20px;padding-bottom:20px;align-items:center}
@media(min-width:761px) and (max-height:800px){
 .hero-circle{width:210px;top:39%}.hero-intro{transform:translateY(-4svh)}
 .garden-sun{width:180px;height:60px;top:16px}.garden-art{height:42svh}
 .garden-track .story-inner{padding-top:9svh}
 .house-window{height:30svh}.place{padding-top:4svh}.place-heading .display-copy{font-size:46px}.place-heading>p:last-child{margin-top:12px;font-size:13px}
}
@media(min-width:761px) and (max-width:1000px){.hero-circle{width:190px}.garden-track .display-copy{font-size:43px}.host-note{gap:25px}.host-flower{width:65px}}
@media(max-width:760px){
 .hero header{top:30px}.hero h1{top:13%}.hero-circle{width:185px;top:32%}
 .hero-bottom{top:46%}.hero-intro{transform:none}.hero-promise{margin-bottom:18px}
 .garden-track .story-inner{display:grid;grid-template-columns:minmax(0,1fr) 95px;gap:12px;height:65svh;padding-top:9svh;align-items:center}
 .garden-track .story-scene{padding-left:24px;padding-right:20px}
 .garden-track .scene-copy{grid-column:1;min-width:0}
 .garden-track .display-copy{font-size:30px;white-space:nowrap;margin-bottom:20px}
 .garden-track .scene-copy>p:not(.display-copy){font-size:13px;line-height:1.5;margin-top:16px}
 .garden-art{grid-column:2;order:0;width:95px;height:230px;max-height:none;align-self:center;transform-origin:center}
 .garden-sun{top:22px;width:165px;height:55px}
 .flower-stem{left:5%;bottom:8%;width:45px;height:75px}.flower-smile{left:40%;bottom:4%;width:40px;height:44px}.flower-small{right:5%;bottom:8%;width:50px;height:80px}
 .place-heading{margin-bottom:22px}.house-window{height:32svh}
 .sunset-panel{display:flex;align-items:flex-start;padding-top:8svh;background:#30251e}
 .sunset-window{height:auto;min-height:0;aspect-ratio:4/3;overflow:visible}
 .wide-sunset{position:static;top:auto;height:auto;object-fit:contain;width:100%}
 .host-note{gap:22px;flex-direction:column;align-items:flex-start;padding:9svh 30px 30svh}
 .host-flower{width:60px}.host-note>p{font-size:31px}
 footer{padding:16px 24px;gap:14px}footer details{font-size:11px}.brand{font-size:21px}
}
@media(prefers-reduced-motion:reduce),(max-height:679px){
 .garden-track .story-inner{height:auto;min-height:450px;padding-top:70px}.garden-track .story-scene{padding-bottom:130px}.garden-art{height:350px}
 .garden-sun{top:25px}.garden-flowers img{bottom:20px}.host-note{padding-top:80px;padding-bottom:80px}
}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.garden-art{height:230px}.garden-track .story-inner{min-height:460px}.hero-circle{top:32%}}
@media(max-width:760px){
 .hero-bottom{top:24%}.hero-promise{margin-bottom:85px}.hero-circle{left:74%;top:31%;width:170px}
 .garden-flowers .flower-stem{left:10%;bottom:1%;width:30px;height:45px}
 .garden-flowers .flower-smile{left:46%;bottom:1%;width:33px;height:35px}
 .garden-flowers .flower-small{right:9%;bottom:1%;width:35px;height:45px}
}
@media(max-width:360px){.hero-circle{width:145px;left:73%}.hero-promise{font-size:23px}.hero-description{font-size:13px}}

/* Photograph-led alternative, with the illustrated invitation retained at /rysunek. */
.photo-hero{background:#20301d;color:var(--paper)}
.hero-photograph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.photo-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#07130799,transparent 65%),linear-gradient(90deg,#07130766,transparent 65%);pointer-events:none}
.photo-hero h1{top:9%}.photo-hero header{z-index:4}
.photo-hero .hero-bottom{top:32%}.photo-hero .hero-intro{transform:none;max-width:32%}
.photo-hero .hero-description{max-width:330px;text-shadow:0 1px 8px #0008}
.photo-hero .signup-anchor{transform:translateY(29svh)}
.signup-anchor,.interest-layer{width:min(560px,calc(100vw - 48px))}
.hero .signup-anchor{width:min(560px,44vw)}
.interest-dock,.interest-layer[data-placement=hero] .interest-dock,.interest-layer[data-placement=final] .interest-dock{box-shadow:0 8px 26px #25271d25}
.email-row{border-bottom:0;padding-bottom:0;gap:14px}.email-row>input{background:#fffdf750;padding-left:13px}
.signup-context{margin-bottom:14px}.dock-consent{margin-top:10px;font-size:10px;opacity:.8}
.final-section{height:100svh;min-height:720px;padding:5svh 30px 90px}
.choreographed .final-section{height:100svh;min-height:0}
.dates-simple>.display-copy{font-size:clamp(40px,5vw,64px);line-height:1.15;margin-bottom:36px}
.date-lines{gap:70px}.date-lines strong{font-size:21px}.date-lines>p span{margin-top:12px}
.mini-calendar{margin-top:20px}.calendar-days{gap:6px}.calendar-days>div{border:1px solid #25271d25;padding:6px 0 8px}.calendar-days b{font-size:27px;margin-top:3px}.calendar-days .shared-weekend{border-color:var(--ink)}
.final-section .signup-anchor{position:absolute;top:72%;left:50%;transform:translateX(-50%);margin:0;height:0;pointer-events:none}
.final-footer{position:absolute;bottom:0;left:0;right:0;padding:20px 5.5%;background:transparent;justify-content:space-between;align-items:center}
.final-footer details{margin-left:auto;text-align:right;max-width:480px}
.final-footer details[open] p{position:absolute;right:5.5%;bottom:65px;width:min(420px,calc(100vw - 48px));padding:22px;background:var(--paper);box-shadow:0 8px 26px #25271d25;z-index:60;text-align:left}
@media(min-width:761px) and (max-width:1000px){.interest-layer{max-width:none}.hero .signup-anchor{width:44vw}.photo-hero .hero-intro{max-width:37%}}
@media(max-width:760px){
 .photo-hero .hero-photograph{height:72%;object-position:43% 65%}
 .photo-hero{background:var(--gold)}.photo-hero::after{height:72%;background:linear-gradient(180deg,#071307bb,transparent 72%)}
 .photo-hero h1{top:12%}.photo-hero .hero-bottom{top:23%;left:24px;right:24px}
 .photo-hero .hero-intro{max-width:100%}.photo-hero .hero-promise{margin-bottom:14px;font-size:27px}
 .photo-hero .hero-description{max-width:280px;font-size:13px;line-height:1.45}
 .photo-hero .signup-anchor{position:absolute;top:49svh;transform:none;margin-top:12px}
 .hero .signup-anchor{width:calc(100vw - 48px)}
 .interest-dock{padding:16px 18px 12px}.signup-context{font-size:26px;margin-bottom:12px}.signup-context span{font-size:11px;margin-top:6px}.dock-consent{font-size:10px;margin-top:8px}
 .final-section{padding:6svh 24px 70px;min-height:800px}.dates-simple>.display-copy{font-size:34px;margin-bottom:30px}
 .date-lines{display:grid;grid-template-columns:1fr;gap:23px}.date-block{max-width:310px}.date-lines>p{margin:0}.date-lines strong{font-size:18px}.date-lines>p span{font-size:12px;margin-top:6px}.date-lines>p span br{display:none}
 .mini-calendar{margin-top:16px}.calendar-days{gap:4px}.calendar-days span{font-size:10px}.calendar-days b{font-size:24px}.calendar-days small{font-size:10px}
 .final-footer{padding:16px 24px;flex-wrap:nowrap;gap:16px}.final-footer .brand{font-size:18px}.final-footer details{order:0;width:auto;font-size:11px}
}
@media(max-width:360px){.photo-hero .hero-promise{font-size:24px}.photo-hero .hero-description{font-size:12px}.dates-simple>.display-copy{font-size:30px}.date-lines{gap:15px}.final-section{padding-top:4svh}.dates-simple>.display-copy{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce),(max-height:679px){.final-section{height:auto;min-height:800px}.final-section .signup-anchor{top:72%}}
.final-footer details[open] p{bottom:36svh;max-height:38svh;overflow:auto}
@media(max-width:760px){.photo-hero::after{background:linear-gradient(180deg,#071307b3 0%,#07130766 48%,transparent 82%)}}
@media(min-width:761px){.hero:not(.photo-hero) .signup-anchor{transform:translateY(12svh)}}
@media(max-width:760px){.final-footer details[open] p{left:24px;right:24px;width:auto}}
@media(prefers-reduced-motion:reduce) and (min-height:680px){.final-section{height:100svh;min-height:0}}

/* The host's invitation is read line by line, then signed with the flower. */
.host-track{--track-height:330svh}
.host-note{display:grid;grid-template-columns:240px minmax(0,1fr);gap:50px;padding:6svh 9% 30svh;align-content:center;align-items:center}
.host-portrait{transform-origin:50% 100%;width:240px;align-self:center}
.host-flower{width:100%;height:auto}
.host-quote{margin:0;min-width:0}.host-quote blockquote{margin:0;font:clamp(32px,3.65vw,56px)/1.38 Gambarino,Georgia,serif;letter-spacing:-.025em}
.host-note .host-line{display:block;font:inherit;margin:0 0 .13em;white-space:nowrap}
.host-note .host-ink{display:inline-block;font:inherit;margin:0;padding:0 .09em .03em;background:var(--ink);color:var(--paper)}
.host-quote figcaption{font:14px/1.5 'General Sans',Arial,sans-serif;margin-top:25px}.host-quote figcaption span{font:12px/1.5 'General Sans',Arial,sans-serif;display:block;margin:2px 0 0;opacity:.7}
.final-section .date-lines{position:absolute;top:40%;left:24px;right:24px;margin:0}
.final-section .display-copy{margin-bottom:0}
.privacy-trigger{border:0;background:none;color:var(--ink);font:12px/1.5 'General Sans',Arial,sans-serif;padding:8px 0 8px 12px;opacity:.65;margin-left:auto}
.privacy-dialog{position:fixed;inset:0;margin:auto;width:min(480px,calc(100vw - 48px));max-height:calc(100dvh - 48px);padding:40px 30px 30px;border:0;background:var(--paper);color:var(--ink);text-align:left;box-shadow:0 18px 65px #0003;overflow:auto;overscroll-behavior:contain}
.privacy-dialog::backdrop{background:#171d1666}
.privacy-dialog h2{font:32px/1.15 Gambarino,Georgia,serif;margin:0 32px 24px 0;letter-spacing:-.02em}
.privacy-dialog p{font:14px/1.65 'General Sans',Arial,sans-serif;margin:0 0 16px}.privacy-dialog p:last-child{margin-bottom:0}
.privacy-close{position:absolute;right:8px;top:8px;width:44px;height:44px;border:0;background:none;color:var(--ink);font:30px/1 Arial,sans-serif}
@media(min-width:761px) and (max-width:1100px){.host-note{grid-template-columns:160px minmax(0,1fr);gap:30px;padding-left:7%;padding-right:7%}.host-portrait{width:160px}.host-quote blockquote{font-size:3.8vw}}
@media(max-width:760px){
 .host-note{grid-template-columns:90px minmax(0,1fr);gap:14px;padding:7svh 22px 30svh;align-content:center;align-items:center}
 .host-portrait{width:90px}.host-quote blockquote{font-size:clamp(17px,4.4vw,25px);line-height:1.5;letter-spacing:-.025em}.host-quote figcaption{font-size:12px;margin-top:18px}.host-quote figcaption span{font-size:10px}
 .final-section .date-lines{top:36%;left:24px;right:24px;gap:20px}
 .privacy-trigger{font-size:10px;padding-left:0}.privacy-dialog{padding:42px 24px 26px}.privacy-dialog h2{font-size:29px}
}
@media(max-width:360px){.host-note{grid-template-columns:70px minmax(0,1fr);gap:12px;padding-left:18px;padding-right:18px}.host-portrait{width:70px}.host-quote blockquote{font-size:17px}.final-section .date-lines{top:34%;gap:15px}}
@media(prefers-reduced-motion:reduce),(max-height:679px){.host-note{padding-top:70px;padding-bottom:70px}.final-section .date-lines{top:32%}}
.host-portrait .host-flower{width:300px;max-width:none;transform:translateX(-30px)}
@media(min-width:761px) and (max-width:1100px){.host-portrait .host-flower{width:200px;transform:translateX(-20px)}}
@media(max-width:760px){.host-portrait .host-flower{width:130px;transform:translateX(-20px)}.host-quote blockquote{font-size:clamp(18px,4.8vw,22px)}}
@media(max-width:360px){.host-portrait .host-flower{width:110px}.host-quote blockquote{font-size:18px}}

/* Photo invitation: the name spans the frame; a light selection stays legible on grass. */
.photo-hero h1{top:6%;left:3%;right:3%;font-size:17.5vw;gap:.12em;line-height:.94;letter-spacing:-.055em}
.photo-hero .hero-promise mark,.travelling-tagline.on-photo mark{background:var(--paper);color:var(--ink);text-shadow:none}
.photo-hero .hero-bottom{top:36%}
.photo-hero .signup-anchor{transform:translateY(25svh)}
@media(max-width:760px){
 .photo-hero h1{top:6%;left:20px;right:20px;font-size:16.2vw;gap:.1em}
 .photo-hero .hero-bottom{top:20%;left:24px;right:24px}
 .photo-hero .signup-anchor{top:52svh;transform:none}
 .photo-hero .hero-promise{font-size:29px;margin-bottom:18px}
}
@media(max-width:360px){.photo-hero .hero-promise{font-size:26px}}
@media(max-width:760px){.photo-hero h1{font-size:15.8vw;gap:.2em}}

/* The invitation sits level with the reply; the name becomes a quiet corner signature. */
.photo-hero .hero-bottom{top:61%;left:3%;right:5.5%}
.photo-hero .signup-anchor{transform:none}
.photo-hero .hero-intro{max-width:34%}.photo-hero .hero-description{max-width:330px}
.wordmark-chlopaki{position:relative}.brand-smile{position:absolute;width:.32em;height:.25em;right:.05em;bottom:-.25em}
.travelling-brand{position:fixed;left:0;top:0;z-index:60;display:flex;align-items:baseline;justify-content:space-between;gap:.12em;font:400 17.5vw/.94 Gambarino,Georgia,serif;letter-spacing:-.055em;transform-origin:0 0;text-decoration:none;visibility:hidden;white-space:nowrap}
.travelling-brand::before{content:'';position:absolute;inset:-.15em -.2em -.3em;z-index:-1;background:var(--paper);opacity:0}
.travelling-brand.brand-docked::before{opacity:.96}.brand-shared .photo-hero h1{opacity:0}
.journey-meta{position:fixed;z-index:60;top:12px;right:24px;background:var(--paper);color:var(--ink);padding:8px 13px;font-size:11px;line-height:1.4;text-align:right;text-decoration:none;opacity:0;visibility:hidden}.journey-meta span{display:block}.journey-meta span:last-child{font-size:10px;opacity:.7}
.garden-sun{width:460px;height:154px;top:22px}.garden-track .story-inner{padding-top:18svh}
.night-art{position:relative;isolation:isolate}.night-art::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 8%,#67401b99 100%);mask:url('istota.png') center/contain no-repeat;-webkit-mask:url('istota.png') center/contain no-repeat;mix-blend-mode:multiply;pointer-events:none}
.host-track{--track-height:300svh}.host-portrait{align-self:start;padding-top:2px}.host-portrait .host-flower{width:240px;transform:none}
.choreographed .final-section{margin-top:0}.final-section{padding-top:12svh}
@media(min-width:761px) and (max-height:800px){.garden-sun{width:360px;height:120px;top:18px}.garden-track .story-inner{padding-top:18svh}.final-section{padding-top:11svh}}
@media(min-width:761px) and (max-width:1100px){.host-portrait .host-flower{width:160px}}
@media(max-width:760px){
 .photo-hero .hero-photograph,.photo-hero::after{height:55%}
 .photo-hero .hero-bottom{top:57%;left:24px;right:24px}.photo-hero .hero-intro{max-width:100%;color:var(--ink)}
 .photo-hero .hero-description{font-size:12px;line-height:1.45;text-shadow:none;max-width:320px}
 .photo-hero .hero-promise{font-size:25px;margin-bottom:12px}.photo-hero .hero-promise mark{background:var(--ink);color:var(--paper)}
 .photo-hero .signup-anchor{position:static;margin-top:18px;transform:none}
 .travelling-brand{gap:.2em}.journey-meta{top:12px;right:16px;padding:7px 9px;font-size:10px}.journey-meta span:last-child{font-size:9px}
 .garden-sun{width:320px;height:107px;top:60px}.garden-track .story-inner{padding-top:22svh}
 .host-portrait .host-flower{width:105px;transform:translateX(-8px)}
 .final-section{padding-top:11svh}
}
@media(max-width:360px){.photo-hero .hero-promise{font-size:23px}.photo-hero .hero-description{font-size:11px}.host-portrait .host-flower{width:85px}.garden-sun{width:280px;height:94px}}
@media(prefers-reduced-motion:reduce),(max-height:679px){.host-portrait{align-self:start}.final-section{padding-top:11svh}}

/* A broad, low-opacity shade supports the copy over bright flowers in the photo. */
@media(min-width:761px){
 .photo-hero .hero-intro{position:relative;isolation:isolate}
 .photo-hero .hero-intro::before{content:'';position:absolute;inset:-24px -32px;z-index:-1;border-radius:50%;background:rgba(7,18,9,.30);filter:blur(30px);pointer-events:none}
}

/* Shared ink connects scenes, without putting plates behind the corner signature. */
.travelling-brand::before{display:none}.journey-meta{background:none}
.photo-hero .brand-smile{display:none}
.travelling-brand .brand-smile{opacity:0;left:calc(100% + .18em);right:auto;top:.1em;bottom:auto;width:.55em;height:.5em;transition:opacity .2s}
.travelling-brand.brand-docked .brand-smile{opacity:1}
.shared-art{position:fixed;left:0;top:0;z-index:35;background:currentColor;pointer-events:none;visibility:hidden}
.travelling-sun,.place-sun{mask:url('art/sun.png') center/contain no-repeat}
.travelling-flower,.final-flower{mask:url('art/flower.png') center/contain no-repeat}
.art-shared .garden-sun{visibility:hidden}.art-shared .place-sun{visibility:hidden}
.place-sun{position:absolute;top:22px;left:50%;transform:translateX(-50%);width:460px;height:154px;background:var(--paper)}
.place{padding-top:190px}.place-heading{margin-bottom:24px}.house-window{height:30svh}
.sunset-title{position:absolute;top:34%;left:8%;right:8%;text-align:center;color:var(--paper);font-size:clamp(52px,7.5vw,108px);text-shadow:0 3px 40px #0009}
.final-flower{position:absolute;top:7svh;left:50%;transform:translateX(-50%);width:80px;height:85px;background:var(--paper)}
.final-section{padding-top:19svh}
.final-section .date-lines{top:46%;left:50%;right:auto;transform:translateX(-50%);width:min(560px,44vw);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:26px;align-items:start;text-align:center}
.final-section .date-block{width:100%;max-width:none}.final-section .date-lines strong{font-size:18px;white-space:nowrap}.final-section .date-lines>p{margin:0}.final-section .date-lines>p span{font-size:13px}
@media(min-width:761px) and (max-height:800px){.place-sun{width:360px;height:120px;top:18px}.place{padding-top:150px}.place-heading .display-copy{font-size:40px}.place-heading>p:last-child{margin-top:10px}.house-window{height:26svh}.final-flower{width:65px;height:70px;top:7svh}.final-section{padding-top:19svh}}
@media(max-width:760px){
 .place-sun{width:320px;height:107px;top:60px}.place{padding-top:180px}.place-heading{margin-bottom:16px}.place-heading .display-copy{font-size:32px}.place-heading>p:last-child{margin-top:10px}.house-window{height:23svh}
 .sunset-title{top:52%;left:24px;right:24px;font-size:42px;text-shadow:none}
 .final-flower{top:8svh;width:55px;height:58px}.final-section{padding-top:17svh}
 .final-section .date-lines{width:calc(100% - 32px);grid-template-columns:1fr;gap:20px;top:36%}.final-section .date-block{max-width:none}.final-section .date-lines>p span{font-size:12px}
}
@media(max-width:360px){.place-sun{width:280px;height:94px}.place{padding-top:164px}.place-heading .display-copy{font-size:30px}.house-window{height:20svh}.final-section .date-lines{gap:15px}.sunset-title{font-size:38px}}
@media(prefers-reduced-motion:reduce),(max-height:679px){.shared-art{display:none}.sunset-title{opacity:1}.final-section{padding-top:145px}.final-flower{top:60px}.final-section .date-lines{top:38%}}

.place-sun,.final-flower{background:var(--ink)}

/* A compact three-line quotation alongside the original flower. */
@media(min-width:761px){.host-note{grid-template-columns:200px minmax(0,760px);gap:36px;justify-content:center;padding-left:6%;padding-right:6%}.host-portrait,.host-portrait .host-flower{width:200px}.host-quote blockquote{font-size:clamp(28px,3.35vw,50px)}}
@media(min-width:761px) and (max-width:1100px){.host-note{grid-template-columns:140px minmax(0,1fr);gap:26px}.host-portrait,.host-portrait .host-flower{width:140px}.host-quote blockquote{font-size:3.3vw}}
@media(max-width:760px){.host-note .host-line:last-child{white-space:normal}}

.wp-site-blocks{padding:0}.wp-site-blocks > *{margin-block:0}
/* Expanded signup must sit above the travelling wordmark, and native hidden stays authoritative. */
.interest-layer[data-expanded="true"]{z-index:100}
[hidden]{display:none!important}
/* Without pinned scenes, keep the final title and calendar in normal flow. */
@media(prefers-reduced-motion:reduce),(max-height:679px){
 .final-section,.choreographed .final-section{height:auto;min-height:100svh;padding-top:145px;padding-bottom:300px}
 .final-section .date-lines{position:relative;top:auto;left:auto;right:auto;transform:none;margin:40px auto 0}
 .final-section .signup-anchor{top:auto;bottom:230px}
}

/* Shorter reading track: the final invitation arrives without the long hold. */
.host-track{--track-height:200svh}
