:root{color-scheme:light;--paper:#f3efe4;--white:#fffdf7;--ink:#2a2927;--moss:#43533e;--muted:#625e56;--line:#d5d7ca;--water:#72869c;--ochre:#926026;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0;touch-action:pan-y pinch-zoom}button,input,textarea,select{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a{color:var(--moss)}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--ochre);outline-offset:4px}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.2rem;border:1px solid var(--moss);background:var(--moss);color:white;border-radius:.3rem;cursor:pointer;text-decoration:none;text-align:center}button:disabled{cursor:wait;opacity:.7}button.secondary,.text-button{background:transparent;color:var(--moss)}.text-button{border-color:transparent;font-size:.85rem}.quiet-link{display:inline-flex;min-height:44px;align-items:center;text-underline-offset:.2rem}.skip{position:absolute;top:-6rem;left:1rem;z-index:30;padding:1rem;background:white}.skip:focus{top:1rem}.masthead{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1040px;margin:auto;padding:1.4rem max(1.1rem,env(safe-area-inset-left));border-bottom:1px solid var(--line)}.masthead>span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.brand{font:1.6rem/1.2 Georgia,serif;text-decoration:none;min-height:44px;display:flex;align-items:center;gap:.4rem}.brand span{font-style:italic;color:var(--ochre)}main{max-width:920px;margin:auto;padding:1.5rem max(1rem,env(safe-area-inset-left)) 0}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.12}h1{font-size:clamp(2.4rem,6vw,4rem);letter-spacing:-.04em;margin:.55rem 0 1.1rem;max-width:17ch}h2{font-size:clamp(1.8rem,4vw,2.6rem);margin:.6rem 0 1rem}h3{font-size:1.3rem;margin:0 0 .6rem}p{line-height:1.65;margin:.8rem 0;overflow-wrap:anywhere}.eyebrow{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--moss);font-weight:650}.card{background:var(--white);border:1px solid var(--line);border-radius:.4rem;padding:clamp(1.35rem,4vw,2.5rem);margin-bottom:1.25rem}.access{max-width:650px;margin:3rem auto}.access button{margin:.5rem .5rem .5rem 0}.small,small{font-size:.85rem;color:var(--muted);line-height:1.6}.feature{position:relative;overflow:hidden;background:linear-gradient(115deg,var(--white) 35%,#eef0e6);border-top:3px solid var(--moss)}.feature:after{content:"";position:absolute;right:-5rem;bottom:-9rem;width:20rem;height:20rem;border:1px solid #d2dbd0;border-radius:50%;pointer-events:none}.feature>p{max-width:42rem}.next{font-size:.88rem;color:var(--muted);margin:1.5rem 0 0}.welcome-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.9rem}.announcement{border-left:4px solid var(--water);padding:1rem 1.2rem;margin:0 0 1.3rem;background:#e9eef1;border-radius:.2rem}.announcement strong{font-size:.85rem}.announcement p{margin:.4rem 0}.modules{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:.4rem;background:var(--white);padding:.3rem;margin-bottom:1.3rem;gap:.2rem}.modules button{padding:.7rem .1rem;background:transparent;color:var(--moss);border:0;border-radius:.25rem;min-width:0;font-size:.85rem}.modules button[aria-current="page"]{background:var(--moss);color:white}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:1.8rem}.actions{display:flex;gap:.75rem;flex-wrap:wrap}.schedule-list{list-style:none;padding:0;margin:1.5rem 0}.schedule-list li{display:grid;grid-template-columns:7.5rem 1fr;gap:1.2rem;padding:1.25rem 0;border-top:1px solid var(--line)}.schedule-list time{font-size:.85rem;color:var(--moss);font-weight:650;padding-top:.2rem}.schedule-list p{margin:.25rem 0}.schedule-list h3{margin:0}label{display:block;margin:1.3rem 0 .5rem;font-size:.9rem;font-weight:600}input,textarea{width:100%;background:white;border:1px solid #a8b0a0;border-radius:.25rem;padding:.85rem;color:var(--ink);font-size:1rem}textarea{resize:vertical;min-height:10rem}#note-status:not(:empty){padding:.8rem;border-left:3px solid var(--moss)}.guide-footer{margin:1.5rem 0;display:block}.guide-footer>p{margin:.25rem 0;font-size:.82rem;color:var(--muted)}.signature{text-align:center;padding:2.5rem 1rem calc(2.5rem + env(safe-area-inset-bottom));font:italic 1.3rem Georgia,serif;color:var(--moss)}#person-choices{display:grid;gap:.5rem}#person-choices button{text-align:left;justify-content:flex-start}#photo-location{font-weight:600}@media(max-width:540px){.masthead{padding:1rem}.masthead>span{max-width:9ch;text-align:right;line-height:1.6}.brand{font-size:1.3rem}.welcome-row{align-items:flex-start}.welcome-row p{max-width:60%}.welcome-row button{padding:.6rem .2rem;text-align:right}.detail-grid{grid-template-columns:1fr}.schedule-list li{grid-template-columns:1fr;gap:.45rem}.card{padding:1.4rem}.access{margin:1.5rem auto}.modules button{font-size:.78rem}.feature h1{font-size:2.55rem}.actions>*{flex:1}.modules{gap:0;padding:.2rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.masthead,.modules,button,.feature,#module-note,.signature{display:none!important}.module[hidden]{display:block!important}.card{border:0;padding:0;break-inside:avoid}body{background:white}#guide[hidden] .module{display:none!important}}
/* Keep enlarged text inside its reading surface instead of clipping or disabling zoom. */
.masthead{flex-wrap:wrap}.masthead>*{min-width:0}h1,h2,h3{overflow-wrap:break-word;hyphens:none}.modules button{overflow-wrap:break-word;hyphens:none}.welcome-row>*{min-width:0}
/* Decorative marks remain behind content, including the primary action. */
.feature:after{z-index:0}.feature>*{position:relative;z-index:1}

/* Watercolor details and practical overview, shared with the invitation artwork. */
:root{--willow:#798d70;--paper-wash:#f8f5eb}
.card{border-radius:1.1rem;border-color:#d9d8c8;box-shadow:0 12px 32px rgb(60 68 49/.055)}
.access{display:grid;grid-template-columns:minmax(0,1fr) clamp(7rem,20vw,11rem);align-items:center;gap:1rem;max-width:690px;min-height:260px;overflow:hidden;background:radial-gradient(ellipse at 92% 4%,rgb(194 140 69/.15),transparent 36%),linear-gradient(138deg,#fffdf7 35%,#edf0e5)}
.access-copy{position:relative;z-index:1}.access-copy h1{margin:.5rem 0 .8rem;font-size:clamp(2.2rem,5vw,3.25rem)}
.access-watercolor{width:100%;height:auto;max-height:230px;object-fit:contain;opacity:.82;mix-blend-mode:multiply}
.access button{margin:.5rem .5rem .5rem 0}
.feature{border-top:0;background:linear-gradient(112deg,#fffdf7 36%,#edf0e5 100%)}
.feature{display:grid;grid-template-columns:minmax(0,1fr) clamp(7rem,20vw,11rem);gap:clamp(.5rem,2vw,1.5rem);align-items:center}
.feature-copy{min-width:0}.feature-portrait{display:block;width:100%;height:auto;max-height:17rem;object-fit:contain;align-self:end;mix-blend-mode:multiply}
.feature:after{border-color:#d2dbd0;opacity:.62}
.module-now{position:relative;overflow:hidden;background:linear-gradient(145deg,#fffdf7 42%,#f2f3e9)}
.now-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:9rem;border-bottom:1px solid var(--line);padding-bottom:1rem}
.now-heading>div{max-width:42rem}.now-heading h2{margin:.45rem 0 .7rem}.now-heading>div>p:last-child{max-width:36rem;margin:.4rem 0;color:var(--muted)}
.now-watercolor{width:clamp(6rem,17vw,10rem);max-height:11rem;object-fit:contain;align-self:flex-end;opacity:.73;mix-blend-mode:multiply}
.now-overview{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1rem,3vw,1.5rem);align-items:start;margin-top:1.5rem}
.now-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.now-overview:has(.garden-map-card[hidden]){grid-template-columns:minmax(0,1fr)}
.now-detail{min-width:0;padding:.9rem 1rem;border:1px solid #e1e1d6;border-radius:.55rem;background:rgb(255 253 247/.82)}
.now-detail p{margin:.2rem 0;line-height:1.5}.now-detail .eyebrow{font-size:.66rem;letter-spacing:.14em}.now-detail .detail-value{font:1.1rem/1.35 Georgia,"Times New Roman",serif;color:var(--ink)}
.garden-map-card{min-width:0;margin:0;padding:clamp(.55rem,1.5vw,.9rem);border:1px solid #d9dccf;border-radius:.75rem;background:#f8f5eb}
.garden-map-card h3{margin:.2rem .35rem .55rem;color:var(--moss)}
.garden-map-card img{display:block;width:100%;height:auto;border-radius:.4rem;background:#f8f5eb}
.garden-map-viewport{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#a1a994 #f8f5eb}.garden-map-viewport:focus-visible{outline:2px solid var(--moss);outline-offset:2px}.garden-map-pan-hint{display:none}
.garden-map-card figcaption{margin:.55rem .3rem .1rem;font-size:.78rem;line-height:1.5;color:var(--muted)}
.now-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.2rem}.now-actions button{min-height:44px}
#garden-map-status:not(:empty){margin:.5rem .3rem .1rem}
.home-panels{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(16rem,.7fr);gap:1rem;align-items:start}
.home-panels>.card{min-width:0;margin-bottom:1.25rem}
.home-panels.single{grid-template-columns:minmax(0,1fr)}
.home-panels #schedule-title{margin-bottom:.55rem}
.home-panels #schedule-date{font-family:Georgia,"Times New Roman",serif;color:var(--moss)}
.now-when{color:var(--moss);font-weight:600;white-space:pre-line}
.schedule-list li.untimed{grid-template-columns:1fr}
.schedule-list li.photo-feature{margin:.75rem -.65rem;padding:1rem .65rem;border:1px solid #e3d7a9;border-left:4px solid #a98231;border-radius:.45rem;background:linear-gradient(105deg,#faf4df,#fffdf7)}
.schedule-list li.photo-feature time{font-size:1.05rem;color:#55451f}
.photo-arrival-notice{padding:.9rem 1rem;border:1px solid #b88727;border-left:5px solid #9a6814;border-radius:.4rem;background:#fff0b8;color:#3f3015;font-weight:700}
.welcome-row #welcome{margin:.25rem 0 1rem;font:400 clamp(1.65rem,4vw,2.15rem)/1.2 Georgia,"Times New Roman",serif;letter-spacing:-.025em;color:var(--moss);overflow-wrap:break-word;hyphens:none}
.venue-pin-link{display:inline-block;white-space:pre-line;text-decoration-thickness:1px;text-underline-offset:.2rem}
.arrival-pin-link{display:inline-block;min-height:44px;font:inherit;line-height:1.4;white-space:pre-line}
.reception-assignment{margin:1.2rem 0 .4rem;padding:1rem 1.1rem;border:1px solid #c6cbb9;border-left:4px solid var(--ochre);border-radius:.45rem;background:linear-gradient(120deg,#fbf8ed,#f2f1e5)}
.reception-assignment p{margin:.2rem 0}.reception-assignment .reception-table{font:clamp(1.55rem,4vw,2.05rem)/1.2 Georgia,"Times New Roman",serif;color:var(--moss)}
.guestbook{background:linear-gradient(155deg,#fbf9f1,#f3f2e9);border-color:#d9d8c8;box-shadow:0 8px 20px rgb(60 68 49/.04)}
.guestbook h2{font-size:clamp(1.65rem,3vw,2.1rem)}
.guestbook textarea{min-height:8rem}
@media(max-width:700px){.now-details{grid-template-columns:1fr 1fr}.garden-map-viewport img{width:max(700px,100%);max-width:none}.garden-map-pan-hint{display:block;margin:.4rem .3rem 0;color:var(--muted)}}
@media(max-width:700px){.home-panels{grid-template-columns:minmax(0,1fr);gap:0}}
@media(max-width:540px){.access{grid-template-columns:5.5rem minmax(0,1fr);min-height:0;gap:.5rem;padding:1.2rem}.access-watercolor{max-height:9.5rem}.access-copy h1{font-size:2.35rem}.feature{grid-template-columns:1fr;gap:.2rem}.feature h1{font-size:2.1rem}.feature-portrait{width:7rem;max-height:10rem;justify-self:end;margin-top:0}.feature-copy button{max-width:100%;white-space:normal}.now-heading{display:grid;grid-template-columns:minmax(0,1fr) clamp(3rem,11vw,4.5rem);gap:.45rem;min-height:0;align-items:start}.now-watercolor{width:100%;max-height:8rem}.now-details{grid-template-columns:1fr}.garden-map-card{margin-inline:-1.4rem;padding:.4rem;border-right:0;border-left:0;border-radius:0}.garden-map-card figcaption{font-size:.75rem}.now-actions>*{flex:1}.modules button{font-size:.72rem}}
/* Echo the main site's paper navigation while keeping the private guide in normal flow. */
.masthead{display:flex;flex-wrap:nowrap;align-items:center;gap:.65rem;width:min(calc(100% - 2rem),720px);max-width:none;margin:1rem auto 0;padding:.4rem .55rem;border:1px solid rgb(42 41 39/.17);background:rgb(243 239 228/.86);backdrop-filter:blur(14px)}
.masthead a{display:inline-flex;flex:0 0 auto;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:.35rem .5rem;color:var(--ink);font:500 .65rem/1.15 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.13em;text-decoration:none;text-transform:uppercase;white-space:nowrap}
.masthead .brand{margin-right:auto;color:var(--ochre);font:italic 1.6rem/1 Georgia,"Times New Roman",serif;letter-spacing:-.07em;text-transform:none}
.masthead a:hover,.masthead a:focus-visible,.masthead a[aria-current="page"]{color:var(--moss)}
@media(max-width:600px){.masthead{gap:.1rem;width:calc(100% - 1rem);margin-top:.7rem;padding:.25rem;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}.masthead::-webkit-scrollbar{display:none}.masthead a{padding:.3rem .35rem;font-size:.6rem;letter-spacing:.06em}.masthead .brand{font-size:1.5rem}.welcome-row p{max-width:100%}}
@media(max-width:360px){.masthead{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.masthead .brand{grid-column:1/-1;justify-content:flex-start;padding:.15rem .35rem}.masthead a:not(.brand){min-width:0;padding:.25rem .1rem;font-size:.56rem;letter-spacing:.02em}}
