:root{--forest:#10271e;--ink:#21382b;--paper:#f5f2e9;--gold:#ddc192;--muted:#656d60;--line:#d5d9cc;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--gutter:clamp(1.4rem,5.5vw,7rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.75 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:disabled{opacity:.32;cursor:default}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.045em}h2{font-size:clamp(3.15rem,5.8vw,6.4rem)}h3{font-size:2.1rem}em{font-weight:400}p+p{margin-top:1.1rem}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #bd8d46;outline-offset:5px}[hidden]{display:none!important}::selection{background:#ddc192;color:#10271e}.section-pad{padding:6.8rem var(--gutter)}.eyebrow,.chapter-kicker,.small-label{font:600 .75rem/1.6 var(--sans);letter-spacing:.17em;text-transform:uppercase}.section-top{display:flex;justify-content:space-between;gap:2rem}.small-label{color:var(--muted);font-size:.75rem}.skip-link{position:fixed;top:-100px;left:1rem;background:var(--paper);padding:.7rem 1rem;z-index:200}.skip-link:focus{top:1rem}.reading-progress{position:fixed;inset:0 auto auto 0;height:2px;background:var(--gold);width:100%;transform:scaleX(0);transform-origin:left;z-index:110}.site-header{position:absolute;z-index:50;top:0;left:0;width:100%;padding:1.5rem var(--gutter);color:var(--paper);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff24}.brand{font:500 2.35rem/1 var(--serif);letter-spacing:-.09em;white-space:nowrap}.brand span{font-style:italic;font-size:1.7rem;color:var(--gold);margin:0 .15rem}.site-header nav{display:flex;gap:2.5rem;align-items:center}.site-header nav a{font-size:.875rem}.site-header nav a:hover{color:var(--gold)}.nav-rsvp{border:1px solid #eee8d36b;padding:.55rem 1rem}.nav-rsvp span{margin-left:1.2rem}.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;min-height:850px;min-height:max(780px,100svh);color:var(--paper);background:#10271e;overflow:hidden;display:flex;align-items:center;padding:9rem var(--gutter) 8rem}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#07181087 0%,#07181018 60%,transparent),linear-gradient(0deg,#071810b3,transparent 35%,transparent 75%,#07181055);z-index:-2}.hero-copy{width:80%;position:relative;animation:arrive 1.2s ease both}.hero-copy>.eyebrow{color:var(--gold);margin-bottom:2rem}.hero h1{font-size:clamp(6rem,11.5vw,12.5rem);line-height:.87;letter-spacing:-.065em;text-shadow:0 6px 50px #09190f24}.hero-second{display:block;margin-top:.2em;white-space:nowrap}.hero-second i{font-size:.6em;color:var(--gold);margin-right:.06em}.hero-line{font-size:1rem;line-height:1.8;margin-top:2.1rem;color:#f3efe3d9}.hero-line em{font-family:var(--serif);font-size:1.6rem;color:var(--gold)}.hero-link{display:inline-flex;align-items:center;gap:2.5rem;font-size:.75rem;letter-spacing:.14em;margin-top:1.6rem;border-bottom:1px solid #f3e8cf80;padding-bottom:.6rem}.hero-link span{font-size:1.5rem}.hero-date{position:absolute;right:var(--gutter);bottom:9rem;text-align:right;text-shadow:0 2px 15px #000;background:#10271e42;padding:1rem 1.2rem;backdrop-filter:blur(4px);border-left:1px solid #ddc19288}.hero-date>span{font-size:.75rem;letter-spacing:.15em}.hero-date strong{display:block;font:400 2.6rem/1.2 var(--serif);letter-spacing:.015em;margin:.45rem 0}.hero-date p{font-size:.875rem;color:#ede8dc}.hero-bottom{position:absolute;bottom:1.8rem;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #f5efda44;padding-top:1.5rem;font-size:.75rem;letter-spacing:.13em}.hero-bottom a span{margin-left:2rem;font-size:1.1rem}
.intro{background:var(--paper)}.intro>.eyebrow{color:#767856;margin-bottom:3rem}.intro-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:start}.intro h2{font-size:clamp(3.5rem,5.2vw,6rem)}.intro h2 em{color:#7b815d}.intro-copy{max-width:34rem}.intro-copy p:not(.lead){color:var(--muted)}.lead{font-size:1.13rem;line-height:1.8;margin-bottom:1.6rem}.handwritten{display:block;font:italic 1.8rem/1.3 var(--serif);margin-top:2rem;color:#7b734d}.people{display:grid;grid-template-columns:1fr 1fr;gap:6%;border-top:1px solid var(--line);margin-top:4.4rem;padding-top:2.8rem}.people article{display:flex;gap:1.5rem}.person-number{font:italic 4.5rem/1 var(--serif);color:#a9ad92;min-width:3.8rem}.people h3{font-size:1.9rem;letter-spacing:-.035em;margin:.75rem 0}.people article > div > p:not(.eyebrow){font-size:.9rem;line-height:1.8;color:var(--muted)}
.story{background:#e8ecdf}.story-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin:3rem 0}.story-heading>p{max-width:23rem;color:#606b58;padding-bottom:.3rem}.story-heading h2 em{color:#71815c}.story-book{display:grid;grid-template-columns:33% 67%;border:1px solid #89947c59;box-shadow:0 20px 55px #10271e06}.story-index{background:#203a2b;color:var(--paper);padding:2.3rem 2.5rem;display:flex;flex-direction:column;align-items:start;overflow:hidden}.story-big-number{font:400 clamp(7rem,14vw,15rem)/1 var(--serif);letter-spacing:-.1em;color:#b0bc8b}.story-date{font-size:.75rem;letter-spacing:.17em;margin-top:.8rem;color:#d8e1c5}.story-tabs{display:flex;flex-direction:column;gap:0;margin:2.5rem 0;width:100%}.story-tabs button{display:flex;gap:1.4rem;padding:1rem 0;border:none;border-bottom:1px solid #f4f2e833;text-align:left;background:transparent;color:#c7d0bc;font-size:1rem}.story-tabs button span{font-size:.75rem;color:#aab48c}.story-tabs button[aria-selected=true]{color:#fff}.story-tabs button[aria-selected=true] span{color:var(--gold)}.story-tabs button[aria-selected=true]::after{content:'↗';margin-left:auto;color:var(--gold)}.story-footnote{font:italic 1.65rem/1.25 var(--serif);color:#d1d8c4;margin-top:auto}.story-pages{background:#f7f6ef;padding:3rem clamp(1.5rem,4vw,5rem);display:flex;flex-direction:column;justify-content:space-between;min-height:670px}.act-content h3{font-size:clamp(2rem,3vw,3.5rem);margin:1.4rem 0}.act-number{font-size:.75rem;letter-spacing:.12em;color:#777b5d;line-height:1.8}.act-number span{padding:0 .4rem}.act-content>p:not(.act-number){font-size:.94rem;color:#5d6758;line-height:1.85}.act-chapters{list-style:none;margin:1.7rem 0 0;padding:0}.act-chapters li{display:flex;align-items:baseline;gap:1rem;padding:.6rem 0;border-top:1px solid #dde0d4;line-height:1.45}.act-chapters li>span{font-size:.75rem;color:#737855}.act-chapters strong{font-size:.875rem;font-weight:500}.story-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem;font-size:.75rem;letter-spacing:.1em}.story-pagination>div{display:flex;gap:.5rem}.story-pagination button,.tree-paging button{width:45px;height:45px;border:1px solid #8a967e;background:transparent;border-radius:50%;font-size:1.4rem;line-height:1}.story-pagination button:hover:not(:disabled){background:var(--forest);color:var(--paper)}.story-act:not([hidden]){animation:arrive .45s ease both}
.tree-section{background:#071810;color:#f5f2e9;position:relative;padding:6rem 0 3rem}.tree-heading{text-align:center;padding:0 var(--gutter)}.tree-heading .eyebrow{color:#c7b58f}.tree-heading h2{margin:1.5rem 0;font-size:clamp(3.5rem,6.8vw,7rem)}.tree-heading h2 em{color:var(--gold)}.tree-heading>p:last-child{color:#b9c5b4;font-size:1rem}.tree-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;padding:2rem var(--gutter) .5rem}.tree-filters button{border:1px solid #74816c70;border-radius:2rem;color:#d5ddce;background:transparent;font-size:.875rem;padding:.45rem 1rem;min-height:44px}.tree-filters button>span{font-size:.75rem;opacity:.7;margin-left:.5rem}.tree-filters button.active{background:#d8c299;border-color:#d8c299;color:#12271a}.tree-stage{position:relative;width:100%;max-width:1536px;aspect-ratio:3/2;margin:0 auto;isolation:isolate}.tree-art{width:100%;height:100%;object-fit:cover;opacity:.88;mask-image:linear-gradient(transparent 0%,black 14%,black 86%,transparent 100%)}.tree-leaves{position:absolute;inset:0}.tree-leaf{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;align-items:center;gap:.55rem;max-width:160px;padding:.6rem .85rem;border:1px solid #d3c192b3;border-radius:2rem;background:#112419df;box-shadow:0 0 18px #dfb75c27;backdrop-filter:blur(8px);color:#fff4d8;font-size:.875rem;min-height:44px;transition:background .25s,box-shadow .25s;animation:leaf-appear .45s ease both}.leaf-heart{font-size:.75rem;color:#e5c879}.leaf-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-leaf:hover,.tree-leaf:focus-visible{background:#ded0a6;color:#17281b;box-shadow:0 0 30px #f7d07766;z-index:3}.tree-leaf:hover .leaf-heart{color:#435035}.tree-empty{position:absolute;left:15%;right:15%;bottom:6%;text-align:center;text-shadow:0 2px 10px #071810}.tree-empty p{font:italic 2.1rem/1.2 var(--serif);color:var(--gold)}.tree-empty span{display:block;font-size:.875rem;margin-top:.5rem}.tree-bottom{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:0 var(--gutter)}.tree-bottom>p{font-size:.875rem;color:#bec7b8}.tree-paging{display:flex;align-items:center;gap:1rem;font-size:.875rem}.tree-paging button{color:var(--gold)}.load-notice{text-align:center;padding:1rem var(--gutter);color:#d7d8c4;font-size:.875rem}.load-notice button{background:transparent;border:0;border-bottom:1px solid currentColor;color:var(--gold);padding:.25rem}
.button{display:inline-flex;justify-content:center;align-items:center;gap:1.5rem;min-height:50px;padding:.85rem 1.4rem;background:var(--forest);color:var(--paper);border:1px solid var(--forest);font:600 .75rem/1.5 var(--sans);letter-spacing:.09em;transition:background .2s,transform .2s}.button:hover{background:#345039;transform:translateY(-2px)}.button.light{background:var(--gold);border-color:var(--gold);color:#12281b}.button.light:hover{background:#f0d5a9}.text-button{padding:.5rem 0;background:transparent;border:0;border-bottom:1px solid currentColor;font-size:.75rem;letter-spacing:.09em;min-height:44px}.participate-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;margin-top:3.6rem}.participate h2 em{color:#86815f}.participate-layout>div>p{color:var(--muted);margin-top:2rem;font-size:.94rem}.contribution-list>button{background:transparent;border:0;border-top:1px solid var(--line);display:flex;gap:1.2rem;align-items:baseline;width:100%;padding:1.65rem .25rem;text-align:left;transition:padding .25s,background .25s}.contribution-list>button:last-child{border-bottom:1px solid var(--line)}.contribution-list>button:hover{background:#e9ebde;padding-left:1rem;padding-right:1rem}.list-number{font-size:.75rem;color:#85896c}.contribution-list strong{display:block;font:400 clamp(1.7rem,2.3vw,2.6rem)/1.15 var(--serif);letter-spacing:-.035em}.contribution-list small{display:block;font-size:.875rem;color:var(--muted);margin-top:.55rem}.list-arrow{font-size:1.5rem;margin-left:auto}.moderation-note{text-align:right;color:var(--muted);font-size:.75rem;margin-top:2.5rem}.gallery{border-top:1px solid var(--line);padding-top:3rem;padding-bottom:4rem}.gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:2rem}.gallery h2{font-size:clamp(2.5rem,4vw,4.5rem)}.gallery-empty{border:1px dashed #bdc6b3;padding:2.4rem;text-align:center;color:var(--muted);margin-top:2rem;font-size:.94rem}.guest-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:2rem}.guest-gallery:empty{display:none}.gallery-item{padding:0;text-align:left;background:#e6e9dc;border:0;overflow:hidden}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .4s}.gallery-item:hover img{transform:scale(1.025)}.gallery-caption{display:block;padding:1rem}.gallery-caption strong{display:block;font-weight:500}.gallery-caption>span{display:block;font-size:.875rem;color:var(--muted)}
.music{background:#ccd39c;color:#24371e;display:grid;grid-template-columns:1.3fr 1fr;gap:4rem;align-items:center;padding-top:5rem;padding-bottom:5rem}.music h2{font-size:clamp(3.2rem,5vw,5.4rem);margin-top:1.4rem}.music h2 em{color:#62733e}.music-right{text-align:right;position:relative}.music-symbol{font:400 6rem/1 var(--serif);color:#6d7e43}.music-right>p{font-family:var(--serif);font-size:1.9rem}.spotify-actions{display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:flex-end;margin-top:1.4rem}.spotify-status{font:400 .875rem/1.5 var(--sans)!important;margin-top:1rem;min-height:1.3rem}.event-title{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-top:3rem}.event-title h2{font-size:clamp(3rem,5vw,5.5rem)}.event-title h2 em{color:#7a815b}.countdown{display:flex;gap:1.5rem;text-align:center}.countdown strong{font:400 2.5rem/1.1 var(--serif);display:block}.countdown span{display:block;font-size:.75rem;letter-spacing:.13em;margin-top:.5rem}.giant-date{font:400 clamp(4rem,16.5vw,19rem)/1 var(--serif);letter-spacing:-.065em;white-space:nowrap;padding:1.2rem 0 2rem;border-bottom:1px solid var(--line);margin:2rem 0}.giant-date span{color:#a6ad87}.event-details-panel{display:grid;grid-template-columns:1fr 1fr;gap:2.8rem 5%;position:relative;padding-top:1.5rem}.event-place h3{font-size:3.1rem;margin:1.2rem 0}.event-times{display:flex;gap:3rem;margin:1.6rem 0}.event-times span{font-size:.75rem;letter-spacing:.13em;display:block}.event-times strong{font:400 2.25rem/1.5 var(--serif);display:block}.event-place address{font:400 .94rem/1.85 var(--sans);color:var(--muted)}.event-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1.7rem;grid-column:1;align-self:start}.event-actions-grid a{padding:1rem 0;border-bottom:1px solid #b7c1ab;display:flex;justify-content:space-between;align-items:center;gap:.5rem;min-height:64px}.event-actions-grid strong{font-size:.875rem;font-weight:500;line-height:1.5}.event-actions-grid i{font-style:normal;color:#647747}.event-actions-grid a:hover{color:#899252}.map-card{grid-column:2;grid-row:1/3;display:flex;flex-direction:column}.map-card iframe{width:100%;height:100%;min-height:290px;flex:1;border:0;filter:saturate(.65)}.copy-address{background:transparent;border:0;border-bottom:1px solid var(--line);font-size:.75rem;letter-spacing:.1em;text-align:left;padding:.9rem 0}.copy-status{min-height:1rem;font-size:.875rem;color:#667945}.event-notes{display:flex;gap:5rem;border-top:1px solid var(--line);padding-top:1.7rem;margin-top:2rem}.event-notes p{font-size:.875rem;color:var(--muted);margin:0}.event-notes strong{display:block;color:var(--ink);font-weight:500}
footer{background:var(--forest);color:var(--paper);padding:4rem var(--gutter) 2rem;text-align:center}.footer-names{font:400 clamp(2.7rem,8vw,9rem)/1.2 var(--serif);letter-spacing:-.045em;display:block;white-space:nowrap}.footer-names em{color:var(--gold)}.footer-bottom{border-top:1px solid #f3f0dc33;padding-top:1.6rem;margin-top:3rem;display:flex;justify-content:space-between;gap:1.5rem;color:#bbc6b2;font-size:.75rem;letter-spacing:.09em;flex-wrap:wrap}.mobile-quickbar{display:none}
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:1.5rem;background:#06150ecc;backdrop-filter:blur(10px);overflow:auto}.modal.open{display:flex}.modal-card{position:relative;background:var(--paper);color:var(--ink);width:min(100%,680px);max-height:calc(100dvh - 3rem);overflow:auto;padding:3rem;box-shadow:0 25px 80px #0003;animation:arrive .25s ease}.modal-card h2{font-size:2.6rem;line-height:1.08;margin:.8rem 0 1.2rem}.modal-card>div>p,.contribution-form>p{color:var(--muted);font-size:.94rem}.close{position:absolute;top:.5rem;right:.6rem;z-index:2;width:44px;height:44px;border:0;background:transparent;font-size:2rem}.contribution-form{display:none}.contribution-form.active{display:block}.contribution-form>span,.content-kind{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#7b7a53}.contribution-form label{display:block;margin-top:1.15rem}.contribution-form label>span{display:block;font-size:.875rem;margin-bottom:.35rem}.contribution-form input:not([type=checkbox]):not([type=file]),.contribution-form textarea,.contribution-form select{width:100%;border:1px solid #c9cebf;background:#fffdf7;padding:.7rem .8rem;border-radius:0;color:var(--ink);font-size:1rem}.contribution-form textarea{resize:vertical}.form-grid.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;left:-9999px}.upload-drop{border:1px dashed #9da68a;padding:1.2rem;position:relative;cursor:pointer}.upload-drop input{width:100%;font-size:.875rem}.upload-drop strong{display:block;font-weight:500;margin-top:.8rem}.upload-drop small{display:block;font-size:.75rem;margin:.4rem 0;color:var(--muted)}.selected-file{font-size:.875rem;overflow-wrap:anywhere}.check-label{display:flex!important;align-items:start;gap:.6rem}.check-label input{accent-color:var(--forest);width:18px;height:18px;flex-shrink:0;margin-top:.3rem}.check-label span{line-height:1.6}.form-status{font-size:.875rem!important;margin:1rem 0}.form-status.error{color:#a03724}.form-status.success{color:#3d6d33}.form-progress{height:3px;background:#d8ddca;margin-top:1rem}.form-progress span{display:block;height:100%;background:#7c9253;transition:width .2s}.contribution-form>.button{width:100%;margin-top:.5rem}.content-viewer img{width:100%;max-height:55vh;object-fit:contain;margin-bottom:1.5rem}.content-viewer blockquote{font:italic 2rem/1.45 var(--serif);margin:1.3rem 0;white-space:pre-wrap;overflow-wrap:anywhere}.content-viewer p{white-space:pre-wrap;overflow-wrap:anywhere}.content-viewer h2{overflow-wrap:anywhere}.reveal-ready{transition:opacity .8s ease,transform .8s ease}.reveal-ready:not(.reveal-visible){opacity:0;transform:translateY(22px)}
@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1800px){.hero-copy{max-width:1400px}.hero{min-height:1000px}}
@media(max-width:1000px){.site-header nav{gap:1.4rem}.section-pad{padding-top:5rem;padding-bottom:5rem}.intro-layout{gap:4%}.story-pages{padding:2rem}.story-index{padding:2rem 1.5rem}.story-tabs button{gap:.7rem}.story-book{grid-template-columns:30% 70%}.story-heading>p{font-size:.875rem}.tree-leaf{max-width:135px;font-size:.8rem}.hero-date{bottom:7rem}.event-title{align-items:start;flex-direction:column}.music{gap:2rem}.participate-layout{gap:4%}.footer-bottom{font-size:.7rem}}
@media(max-width:700px){html{scroll-padding-top:1rem}body{padding-bottom:58px}.section-pad{padding:3.8rem var(--gutter)}.section-top>.small-label{display:none}.site-header{padding:1.1rem var(--gutter)}.brand{font-size:2.2rem}.menu-toggle{display:block;border:1px solid #edead44d;background:transparent;color:var(--paper);width:44px;height:44px;font-size:1.3rem}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:1rem var(--gutter) 1.5rem;background:#10271ef7;backdrop-filter:blur(12px);border-bottom:1px solid #f0e7cf55}.site-header.open nav{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header nav a{padding:.9rem 0}.site-header nav .nav-rsvp{padding:.7rem 1rem;margin-top:.5rem}.hero{min-height:850px;min-height:max(760px,100svh);padding:9rem var(--gutter) 14rem;align-items:center}.hero-image{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#07181099,#07181028),linear-gradient(0deg,#071810d9,transparent 50%,#07181022)}.hero-copy{width:100%}.hero h1{font-size:clamp(4.5rem,16vw,7.5rem);line-height:.98}.hero-second{margin-top:.05em}.hero-copy>.eyebrow{font-size:.7rem;letter-spacing:.15em;margin-bottom:1.6rem}.hero-line{font-size:.94rem;margin-top:1.5rem}.hero-link{margin-top:1.1rem}.hero-date{left:var(--gutter);right:auto;bottom:5.7rem;text-align:left;display:grid;grid-template-columns:auto auto;align-items:center;gap:.2rem 1.5rem;background:transparent;backdrop-filter:none;border:0;border-left:1px solid #ddc192;padding:0 0 0 1rem}.hero-date>span{grid-column:1/-1;font-size:.65rem}.hero-date strong{font-size:2rem}.hero-date p{font-size:.75rem}.hero-bottom{font-size:.65rem;bottom:1.5rem;padding-top:1rem;align-items:center;letter-spacing:.08em}.hero-bottom>span{max-width:10rem}.hero-bottom a{font-size:.7rem;text-align:right}.hero-bottom a span{margin-left:.3rem}.intro>.eyebrow{margin-bottom:2rem}.intro-layout{grid-template-columns:1fr;gap:2rem}.intro h2{font-size:clamp(3rem,10.2vw,4.5rem)}.intro-copy{max-width:none}.lead{font-size:1.06rem}.handwritten{font-size:1.7rem}.people{grid-template-columns:1fr;gap:2.2rem;margin-top:2.5rem;padding-top:2rem}.people article{gap:1rem}.people h3{font-size:1.9rem}.person-number{font-size:3.8rem}.story-heading{display:block;margin:2rem 0}.story-heading>p{margin-top:1.2rem}.story-book{display:block}.story-index{position:relative;padding:1.5rem}.story-big-number{display:none}.story-date{margin-top:0}.story-tabs{flex-direction:row;gap:.8rem;margin:1rem 0 0}.story-tabs button{flex:1;display:block;padding:.6rem 0;font-size:.875rem;line-height:1.5}.story-tabs button span{display:block}.story-tabs button[aria-selected=true]{border-bottom:2px solid var(--gold)}.story-tabs button[aria-selected=true]::after{display:none}.story-footnote{display:none}.story-pages{padding:1.6rem;min-height:0}.act-content h3{font-size:2.25rem;margin:1.1rem 0}.act-number{font-size:.7rem}.act-content>p:not(.act-number){font-size:.94rem}.act-chapters strong{font-size:.875rem}.tree-section{padding-top:4rem;padding-bottom:2rem}.tree-heading h2{font-size:3.6rem}.tree-heading>p:last-child{font-size:.94rem}.tree-filters{gap:.4rem;padding:1.6rem var(--gutter) 1rem}.tree-filters button{font-size:.8rem;padding:.4rem .7rem}.tree-stage{aspect-ratio:auto;min-height:380px;padding:230px var(--gutter) 1rem}.tree-art{position:absolute;inset:0;height:350px;object-fit:cover;object-position:center;z-index:-1;mask-image:linear-gradient(transparent,black 8%,black 65%,transparent)}.tree-leaves{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:.6rem;inset:auto}.tree-leaf{position:relative;left:auto;top:auto;transform:none;max-width:none;width:100%;font-size:.875rem;padding:.65rem .7rem;justify-content:center}.tree-empty{position:relative;left:auto;right:auto;bottom:auto;padding:3rem 0 1rem}.tree-empty p{font-size:1.85rem}.tree-empty span{font-size:.8rem}.tree-bottom{flex-direction:column;gap:1.1rem}.tree-bottom>.button{width:100%;max-width:360px}.tree-bottom>p{font-size:.8rem}.participate-layout{grid-template-columns:1fr;gap:2rem;margin-top:2.4rem}.participate h2{font-size:3.7rem}.participate h2 br:nth-of-type(2){display:none}.participate-layout>div>p{margin-top:1.5rem}.contribution-list>button{padding:1.4rem 0;gap:.8rem}.contribution-list strong{font-size:1.9rem}.contribution-list small{font-size:.875rem}.moderation-note{text-align:left;line-height:1.8;margin-top:1.5rem}.gallery-heading{display:block}.gallery h2{font-size:2.8rem}.gallery-heading>.text-button{margin-top:1rem}.gallery-empty{padding:1.5rem}.guest-gallery{grid-template-columns:1fr 1fr;gap:.8rem}.gallery-caption{padding:.6rem;font-size:.875rem}.gallery-caption>span{font-size:.75rem}.music{grid-template-columns:1fr;gap:1.5rem}.music h2{font-size:3.4rem}.music-right{text-align:left}.music-symbol{position:absolute;right:0;top:0;font-size:3.5rem}.music-right>p{font-size:1.65rem;padding-right:3rem}.spotify-actions{justify-content:flex-start;gap:1rem}.event-title{margin-top:2.3rem;gap:2rem}.event-title h2{font-size:3.3rem}.countdown{gap:2rem}.countdown strong{font-size:2.5rem}.giant-date{font-size:17vw;letter-spacing:-.07em;padding:1rem 0 1.5rem;margin:1.4rem 0}.event-details-panel{grid-template-columns:1fr;gap:1.5rem;padding-top:.5rem}.map-card{grid-column:1;grid-row:auto}.map-card iframe{min-height:250px}.event-place h3{font-size:2.8rem}.event-times{gap:4rem}.event-actions-grid{gap:0 1rem}.event-actions-grid strong{font-size:.875rem}.event-notes{gap:1.5rem;justify-content:space-between}.event-notes p{font-size:.8rem;flex:1}.footer-names{font-size:clamp(2.6rem,9.5vw,4rem)}footer{padding:3rem var(--gutter) 2rem}.footer-bottom{flex-direction:column;gap:.8rem;align-items:center;margin-top:1.8rem;font-size:.65rem}.mobile-quickbar{display:flex;position:fixed;bottom:0;left:0;right:0;height:58px;z-index:60;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -4px 20px #061e1212;align-items:center;justify-content:space-around;padding:0 .5rem}.mobile-quickbar a{font-size:.75rem;line-height:1.3;padding:.8rem .6rem;text-align:center}.mobile-quickbar a:last-child{background:var(--forest);color:var(--paper)}.modal{padding:.65rem}.modal-card{padding:2.5rem 1.4rem 1.5rem;max-height:calc(100dvh - 1.3rem)}.modal-card h2{font-size:2.5rem}.form-grid.two-columns{grid-template-columns:1fr;gap:0}.content-viewer blockquote{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-ready:not(.reveal-visible){opacity:1;transform:none}}

@keyframes leaf-appear{from{opacity:0}to{opacity:1}}

/* Navigation and reading refinements: preserve the botanical visual identity. */
.site-header{position:fixed;transition:background .25s,box-shadow .25s}
.site-header.scrolled{background:#10271ef5;backdrop-filter:blur(12px);box-shadow:0 3px 20px #0718101a}
.site-header nav{gap:clamp(1rem,1.8vw,2.3rem)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.hero-secondary{border-color:#f2eadb99;background:#10271e55;color:var(--paper)}
.hero-secondary:hover{background:#10271ed9}
.hero-link{font-size:.875rem;letter-spacing:.09em;margin-top:1.2rem}
.hero{min-height:max(880px,100svh)}
.hero-copy{width:82%}
#evento{background:#e8ecdf}
.story-pages{min-height:610px}
.story-book{overflow-anchor:none}
.story-act,.story-tabs{scroll-margin-top:7rem}
.story-act:focus{outline:none}
.story-details{margin-top:1.3rem}
.story-details>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:fit-content;max-width:100%;min-height:48px;cursor:pointer;list-style:none;color:var(--forest);font-size:.875rem;font-weight:600;border-bottom:1px solid #8d9a7b;padding:.6rem 0}
.story-details>summary::-webkit-details-marker{display:none}
.story-details>summary:focus-visible{outline:3px solid #bd8d46;outline-offset:5px}
.details-mark{font-size:1.3rem;margin-left:1rem;transition:transform .2s}
.story-details[open] .details-mark{transform:rotate(45deg)}
.story-details .when-open{display:none}
.story-details[open] .when-open{display:inline}
.story-details[open] .when-closed{display:none}
.story-full{padding-top:1.4rem}
.story-full p{font-size:1rem;color:#5d6758;line-height:1.85}
.act-content>p:not(.act-number):not(.chapter-list-label){font-size:1rem}
.act-content>.chapter-list-label{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;margin-top:2.5rem;color:#747c64}
.act-chapters{margin-top:.6rem;display:flex;flex-direction:column;gap:.65rem}
.act-chapters li{border:0;padding:0}
.act-chapters strong{font-weight:400;color:#5d6758}
.story-pagination{flex-wrap:wrap}
.story-pagination button{width:auto;height:auto;min-height:44px;min-width:44px;border-radius:0;padding:.6rem .8rem;display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.4}
.tree-heading>.tree-instruction{font-size:1rem;color:#eee5d2;margin-top:1rem}
.tree-heading>.button{margin-top:1.3rem;font-size:.875rem}
.tree-heading>.tree-approval-note{font-size:.875rem;color:#b9c5b4;margin-top:1rem}
.gallery>.eyebrow{color:#737d61;margin-bottom:1.5rem}
.gallery-explanation{max-width:50rem;margin-top:1rem;color:var(--muted);font-size:1rem}
.gallery{padding-top:5rem}
.music-invitation{margin-top:1.5rem;max-width:32rem;font-size:1rem}
.music-invitation+.text-button{margin-top:1rem;font-size:.875rem}
.future-section{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:center}
.future-section h2{margin-top:1.5rem;font-size:clamp(3rem,5.3vw,5.8rem)}
.future-section h2 em{color:#7b815d}
.future-section h2+p{margin-top:1.5rem;max-width:32rem;color:var(--muted)}
.future-invite{border-left:1px solid var(--line);padding:2rem 0 2rem 3.5rem;text-align:center}
.future-date{font:400 clamp(2.7rem,4vw,4.5rem)/1.1 var(--serif);margin:1rem 0 1.8rem;white-space:nowrap}
.future-invite>p:last-child{font-size:.875rem;color:var(--muted);margin-top:1rem}
.mobile-quickbar button{background:none;border:0;font:inherit;color:inherit;cursor:pointer}
@media(min-width:701px) and (max-width:1000px){
 .site-header nav{gap:.9rem}.site-header nav a{font-size:.8rem}.brand{font-size:2rem}.nav-rsvp{padding:.5rem .6rem}.nav-rsvp span{margin-left:.2rem}
}
@media(max-width:900px){
 .site-header{padding:1rem var(--gutter)}.menu-toggle{display:block;border:1px solid #edead44d;background:transparent;color:var(--paper);width:44px;height:44px;font-size:1.3rem}
 .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 140px);overflow-y:auto;padding:1rem var(--gutter) 1.5rem;background:#10271ef7;backdrop-filter:blur(12px);border-bottom:1px solid #f0e7cf55}
 .site-header.open nav{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header nav a{padding:.8rem 0;font-size:1rem}.site-header nav .nav-rsvp{padding:.7rem 1rem;margin-top:.5rem}
}
@media(max-width:700px){
 html{scroll-padding-top:6rem}
 .hero{min-height:max(870px,100svh)}.hero-copy{width:100%}
 .hero-actions{gap:.7rem;margin-top:1.4rem;max-width:100%}.hero-actions .button{font-size:.75rem;padding:.8rem .9rem;min-height:48px;flex:1;white-space:normal}
 .hero-link{margin-top:1rem;font-size:.8rem}.hero-date{bottom:5.6rem}
 .story-pages{min-height:0}.story-act,.story-tabs{scroll-margin-top:6rem}
 .story-pagination{gap:1rem}.story-pagination>span{width:100%}.story-pagination>div{width:100%;justify-content:space-between}.story-pagination button{font-size:.875rem;padding:.55rem .6rem}
 .tree-heading>.tree-instruction{font-size:.94rem}.tree-heading>.button{max-width:100%;width:100%}
 .gallery{padding-top:3.8rem}
 .future-section{grid-template-columns:1fr;gap:2rem}.future-section h2{font-size:3.5rem}.future-invite{border-left:0;border-top:1px solid var(--line);padding:2rem 0 0}.future-date{font-size:3.2rem}
 .mobile-quickbar button{font-size:.75rem;line-height:1.3;padding:.8rem .6rem;text-align:center}
}
