@font-face{font-family:'Lora';src:url('assets/fonts/lora-400-polish.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Lora';src:url('assets/fonts/lora-500-polish.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url('assets/fonts/manrope-400-polish.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url('assets/fonts/manrope-500-polish.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url('assets/fonts/manrope-600-polish.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Caveat';src:url('assets/fonts/caveat-400-polish.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--sienna:#99503f;--terracotta:#b76d5b;--olive:#676b53;--parchment:#e9dfcc;--cream:#f3ecdf;--paper:#e5dac5;--tobacco:#533c31;--burgundy:#713a42;--rose:#b9857f;--ink:#302a25;--rail:190px;--serif:'Lora',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--hand:'Caveat',cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--parchment);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.5}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E")}img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.72) sepia(.12) contrast(.94)}a{color:inherit}.skip-link{position:fixed;left:10px;top:-60px;z-index:100;background:#fff;padding:12px}.skip-link:focus{top:10px}.loader{position:fixed;z-index:99;inset:0;background:var(--sienna);color:var(--cream);display:grid;place-content:center;text-align:center;transition:opacity .8s,visibility .8s}.loader.is-hidden{opacity:0;visibility:hidden}.loader-leaf{font-size:46px;animation:pulse 1.6s infinite}.loader p{font:400 38px/1 var(--serif);letter-spacing:.38em;margin:20px 0}.loader span{font:400 10px var(--sans);letter-spacing:.35em;text-transform:uppercase}.rail{position:fixed;z-index:30;left:0;top:0;width:var(--rail);height:100vh;background:var(--sienna);color:#f1e7d5;padding:38px 24px 28px;display:flex;flex-direction:column;align-items:center;text-align:center}.rail-brand{font:400 28px var(--serif);letter-spacing:.3em;text-decoration:none}.rail-brand:before{content:'❧';display:block;font-size:26px;margin-bottom:16px}.rail nav{margin:auto 0;display:flex;flex-direction:column;gap:28px}.rail nav a{font:500 9px var(--sans);letter-spacing:.19em;text-transform:uppercase;text-decoration:none;position:relative}.rail nav a:after{content:"";position:absolute;left:50%;right:50%;bottom:-6px;height:1px;background:currentColor;transition:.3s}.rail nav a:hover:after,.rail nav a:focus:after{left:0;right:0}.rail-date{writing-mode:vertical-rl;font:500 8px var(--sans);letter-spacing:.25em}.menu-toggle{display:none}main,footer{margin-left:var(--rail)}section{position:relative}.eyebrow,.kicker{font:500 10px var(--sans);letter-spacing:.3em;text-transform:uppercase}.light{color:var(--cream)}.annotation,.signature{font:400 17px var(--hand);transform:rotate(-2deg)}.section-number{font:500 9px var(--sans);letter-spacing:.2em}.hero{min-height:100vh;display:grid;grid-template-columns:42% 58%;grid-template-rows:1fr}.hero-paper{z-index:2;padding:13vh 5vw;background:var(--cream);position:relative;clip-path:polygon(0 0,96% 0,100% 6%,97% 18%,100% 35%,96% 53%,100% 68%,97% 86%,100% 100%,0 100%)}.hero h1{font-weight:400;font-size:clamp(50px,6.3vw,110px);line-height:.78;color:var(--tobacco);margin:9vh 0 6vh;letter-spacing:-.04em}.hero h1 span{display:block}.hero h1 span:last-child{margin-left:8%}.hero h1 i{font-weight:400;font-size:.55em;margin-left:16%;display:block}.hero-meta{display:flex;gap:42px;font:500 10px var(--sans);letter-spacing:.24em}.hero-meta span+span{border-left:1px solid;padding-left:42px}.hero .annotation{margin-top:8vh}.botanical{position:absolute;right:1vw;bottom:0;width:110px;fill:none;stroke:var(--olive);stroke-width:1.2;opacity:.75}.hero-photo{margin:0}.hero-photo figcaption{position:absolute;bottom:18px;right:18px;color:#fff;font:9px var(--sans);letter-spacing:.18em}.hero-postcard{position:absolute;z-index:3;right:3vw;top:8vh;width:18vw;height:35vh;border:10px solid var(--paper);border-bottom-width:38px;transform:rotate(3deg);box-shadow:0 16px 40px #40291d55}.scroll-cue{position:absolute;z-index:4;right:4vw;bottom:5vh;color:white;font:500 9px var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none}.scroll-cue span{font-size:20px;margin-left:15px}.story{min-height:900px;padding:11vw 7vw;display:grid;grid-template-columns:1fr .85fr;grid-template-rows:auto 1fr;gap:3vw;background:var(--parchment)}.story>.section-number{position:absolute;top:50px;right:60px}.story-image{margin:0;height:620px;clip-path:polygon(0 3%,95% 0,100% 97%,4% 100%)}.paper-card{background:var(--cream);box-shadow:0 18px 35px #503b2b1c}.story-copy{padding:6vw 5vw;align-self:center;margin-left:-7vw;z-index:2;transform:rotate(1deg)}h2{font-weight:400;font-size:clamp(42px,5vw,72px);line-height:.95;margin:.35em 0;color:var(--tobacco)}.story-copy p:not(.kicker){max-width:600px}.signature{display:block;color:var(--burgundy);margin-top:25px}.story blockquote{grid-column:1/-1;font-size:34px;font-style:italic;text-align:center;color:var(--olive);margin:50px auto 0;max-width:700px}.countdown{min-height:690px;background:var(--olive);display:grid;grid-template-columns:45% 55%;padding:6vw}.count-photo{background:url('assets/images/siena-countdown-barn-dinner.webp') center 56%/cover;min-height:520px;clip-path:polygon(2% 0,100% 3%,97% 100%,0 96%)}.count-card{background:var(--cream);padding:7vw 5vw;align-self:center;margin-left:-5vw;z-index:2}.counter{display:flex;justify-content:space-between;border-top:1px solid #a69882;border-bottom:1px solid #a69882;padding:24px 0}.counter div{text-align:center}.counter strong{display:block;font:400 42px var(--serif);color:var(--burgundy)}.counter span,.count-location{font:500 8px var(--sans);text-transform:uppercase;letter-spacing:.2em}.count-location{margin-top:25px}.weekend{background:var(--sienna);color:var(--cream);padding:10vw 9vw;min-height:850px}.weekend header{max-width:680px}.weekend h2{color:var(--cream);font-size:78px}.weekend header>p:last-child{max-width:440px}.date-tabs{display:flex;margin-top:70px;border-bottom:1px solid #e7c8b255}.date-tabs button{flex:1;background:none;border:0;color:var(--cream);padding:25px;cursor:pointer;opacity:.5}.date-tabs button[aria-selected=true]{opacity:1;background:#73372d}.date-tabs b{font:400 60px var(--serif);display:block}.date-tabs span{font:500 9px var(--sans);text-transform:uppercase;letter-spacing:.22em}.schedule-panels{background:#73372d}.schedule-panels article{padding:4vw 7vw;display:grid;grid-template-columns:180px 1fr;gap:5vw;align-items:center}.schedule-panels article[hidden]{display:none}.day-mark{font:400 120px/1 var(--serif);color:#c9826555}.time{font:500 10px var(--sans);letter-spacing:.2em}.schedule-panels h3{font:400 42px var(--serif);margin:5px 0}.schedule-panels em{font-family:var(--hand);color:#d7b18f}.venue{min-height:950px;padding:10vw 6vw;background:var(--paper);display:grid;grid-template-columns:36% 64%;grid-template-rows:auto 1fr}.venue-title{padding-right:4vw}.venue-title h2{font-size:68px}.location{font:500 9px var(--sans);letter-spacing:.22em}.venue-main{margin:0;height:650px;clip-path:polygon(3% 0,98% 2%,100% 95%,95% 100%,0 97%,2% 40%)}.venue-note{position:absolute;left:13vw;bottom:6vw;width:360px;padding:40px;z-index:2;transform:rotate(-2deg)}.venue-note a,.travel-card a{font:600 9px var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid}.stamp{position:absolute;right:4vw;bottom:4vw;border:1px solid var(--burgundy);color:var(--burgundy);border-radius:50%;width:100px;height:100px;display:grid;place-content:center;text-align:center;font:500 9px/1.5 var(--sans);letter-spacing:.14em;transform:rotate(12deg)}.practical{padding:10vw 7vw;background:var(--cream);display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:0;align-items:stretch}.practical-intro{grid-column:1/-1;max-width:600px;margin-bottom:60px}.practical article{padding:55px 45px;min-height:370px}.practical article>span{font:500 9px var(--sans)}.practical h3{font:400 48px var(--serif);margin:35px 0 15px}.travel-card{background:var(--terracotta);color:var(--cream)}.stay-card{background:var(--olive);color:var(--cream);transform:translateY(45px)}.practical figure{margin:0;transform:translateY(-40px);min-height:430px}.details{display:grid;grid-template-columns:58% 42%;min-height:650px}.details article{padding:9vw 7vw}.dress{background:var(--parchment)}.dress p:not(.kicker){max-width:650px}.swatches{display:flex;margin-top:50px}.swatches i{width:58px;height:58px;border-radius:50%;margin-left:-8px;border:5px solid var(--parchment)}.swatches i:nth-child(1){background:#aa6048}.swatches i:nth-child(2){background:#77755a}.swatches i:nth-child(3){background:#684737}.swatches i:nth-child(4){background:#6e302f}.swatches i:nth-child(5){background:#e8deca}.gifts{background:var(--burgundy);color:var(--cream);position:relative}.gifts h2{color:var(--cream)}.gifts svg{position:absolute;width:100px;right:40px;bottom:20px;stroke:#d4b995;fill:none}.gallery{background:#c47a5e;padding:9vw 6vw}.gallery header{color:var(--cream);max-width:560px}.gallery h2{color:var(--cream)}.gallery-grid{display:grid;grid-template-columns:1.1fr .7fr 1fr;grid-template-rows:270px 370px;gap:20px;margin-top:60px}.gallery figure{margin:0;position:relative;overflow:hidden}.gallery figcaption{position:absolute;bottom:12px;left:15px;background:var(--cream);padding:5px 12px;font:15px var(--hand)}.g1{grid-row:1/3}.g2{transform:translateY(35px)}.g3{grid-row:1/3}.g4{transform:translateY(35px)}.gallery img{transition:transform 1s}.gallery figure:hover img{transform:scale(1.035)}.faq{display:grid;grid-template-columns:38% 62%;padding:10vw 7vw;background:var(--cream);gap:6vw}.faq-heading{position:sticky;top:80px;align-self:start}.accordion{border-top:1px solid #a99c87}.accordion details{border-bottom:1px solid #a99c87;padding:25px 0}.accordion summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font:400 25px var(--serif)}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{font:300 26px var(--sans);transition:.3s}.accordion details[open] summary span{transform:rotate(45deg)}.accordion p{max-width:600px}.rsvp{display:grid;grid-template-columns:48% 52%;background:var(--olive);padding:7vw}.rsvp-art{min-height:760px;position:relative;transform:rotate(-1deg)}.rsvp-art .annotation{position:absolute;bottom:30px;left:30px;background:var(--cream);padding:10px 18px}.rsvp-form{background:var(--cream);padding:6vw;margin:35px 0 35px -4vw;z-index:2}.rsvp-form label,.rsvp-form fieldset{display:block;border:0;padding:0;margin:26px 0;font:500 9px var(--sans);letter-spacing:.15em;text-transform:uppercase}.rsvp-form input[type=text],.rsvp-form input[type=email],.rsvp-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #8f826f;background:transparent;padding:12px 2px;font:18px var(--serif);outline:none}.rsvp-form input:focus,.rsvp-form textarea:focus{border-color:var(--sienna);box-shadow:0 2px 0 var(--sienna)}.radio{display:inline-flex!important;align-items:center;margin-right:25px!important}.radio input{accent-color:var(--sienna);margin-right:8px}.rsvp-form button{border:0;background:var(--sienna);color:#fff;padding:18px 25px;width:100%;font:600 9px var(--sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;display:flex;justify-content:space-between}.error{display:none;color:#9c2828;margin-top:5px;letter-spacing:0;text-transform:none}.invalid+.error,.attendance-error.visible{display:block}.invalid{border-color:#9c2828!important}.form-status{font-style:italic;color:var(--olive)}footer{background:var(--tobacco);color:var(--cream);padding:60px 7vw;display:flex;align-items:flex-end;justify-content:space-between}footer>div>span{font-size:36px;letter-spacing:.3em}footer p{font:500 9px/1.8 var(--sans);letter-spacing:.18em;text-transform:uppercase}footer a{font:500 9px var(--sans);letter-spacing:.15em;text-transform:uppercase}
body{font-family:var(--sans);font-size:16px;line-height:1.7}h1,h2,h3,blockquote,.rail-brand,.loader p,.counter strong,.date-tabs b,.day-mark,.accordion summary,footer>div>span{font-family:var(--serif)}h1,h2{font-weight:400}blockquote{font-style:normal;font-weight:400}img{filter:saturate(.82) contrast(.96)}
.hero{grid-template-columns:44% 56%}.hero-paper{padding-left:clamp(28px,3.6vw,70px);padding-right:clamp(38px,4.4vw,84px)}.hero h1{width:100%;max-width:100%;font-size:clamp(48px,4.8vw,92px);line-height:.86;letter-spacing:-.025em;overflow:visible}.hero h1 span{max-width:100%;white-space:nowrap}.hero h1 span:last-child{margin-left:3%}.hero h1 i{margin-left:13%}
.timeline{list-style:none;margin:0;padding:0;width:min(620px,100%)}.timeline li{display:grid;grid-template-columns:90px 1fr;gap:28px;align-items:center;border-bottom:1px solid #e7c8b233;padding:13px 0}.timeline time{font:600 10px var(--sans);letter-spacing:.18em}.timeline span{font:400 22px var(--serif)}.schedule-panels article{align-items:start}.swatches i:nth-child(4){background:var(--rose)}
@keyframes pulse{50%{opacity:.35;transform:translateY(-5px)}}
@media(max-width:1050px){:root{--rail:0px}.rail{width:100%;height:70px;padding:0 22px;flex-direction:row;justify-content:space-between}.rail-brand{font-size:21px}.rail-brand:before,.rail-date{display:none}.menu-toggle{display:flex;background:none;border:0;color:#fff;gap:4px;flex-direction:column}.menu-toggle span{width:24px;height:1px;background:#fff}.menu-toggle b{position:absolute;clip:rect(0 0 0 0)}.rail nav{position:absolute;inset:70px 0 auto;background:var(--sienna);padding:30px;display:none}.rail.open nav{display:flex}.hero{padding-top:70px;grid-template-columns:50% 50%}.hero-postcard{width:22vw}.story,.faq{padding-top:120px}.practical{grid-template-columns:1fr 1fr}.practical figure{grid-column:1/-1;height:360px}.rsvp{padding-top:100px}}
@media(max-width:720px){body{font-size:16px}.hero{display:block;min-height:1050px}.hero-paper{height:590px;padding:95px 25px 60px;clip-path:polygon(0 0,100% 0,100% 95%,86% 97%,68% 94%,46% 98%,26% 95%,0 98%)}.hero h1{font-size:58px;margin:70px 0 45px}.hero-meta{display:block}.hero-meta span{display:block;margin:12px 0}.hero-meta span+span{border-left:0;padding-left:0}.hero-photo{height:520px}.hero-postcard{width:145px;height:210px;right:20px;top:520px}.scroll-cue{bottom:20px}.story{display:block;padding:100px 24px}.story-image{height:440px}.story-copy{margin:-45px 12px 0;padding:40px 30px}.story blockquote{font-size:26px}.countdown{display:block;padding:70px 24px}.count-photo{min-height:330px}.count-card{margin:-35px 15px 0;padding:40px 25px}.counter strong{font-size:28px}.counter span{font-size:7px}.weekend{padding:90px 24px}.weekend h2{font-size:56px}.date-tabs button{padding:15px 5px}.date-tabs b{font-size:42px}.schedule-panels article{grid-template-columns:1fr;padding:35px}.day-mark{display:none}.venue{display:block;padding:90px 24px 170px}.venue-main{height:430px}.venue-note{left:40px;bottom:40px;width:calc(100% - 80px)}.practical{display:block;padding:90px 24px}.practical-intro{margin-bottom:30px}.practical article{min-height:0;padding:40px 30px}.stay-card{transform:none}.practical figure{height:360px;transform:none}.details{display:block}.details article{padding:80px 30px}.gallery{padding:90px 24px}.gallery-grid{display:block}.gallery figure{height:420px;margin:18px 0;transform:none}.faq{display:block;padding:90px 25px}.faq-heading{position:static;margin-bottom:50px}.rsvp{display:block;padding:70px 20px}.rsvp-art{min-height:400px}.rsvp-form{margin:-25px 12px 0;padding:45px 28px}.radio{display:flex!important}footer{display:block;padding:50px 25px}footer>*{margin:25px 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.loader{display:none}}
@media(max-width:1050px){.hero{grid-template-columns:50% 50%}}
@media(max-width:720px){.hero{display:block}.hero-paper{padding-left:25px;padding-right:32px}.hero h1{font-size:clamp(44px,12.5vw,54px);line-height:.88;letter-spacing:-.025em}.hero h1 span:last-child{margin-left:0}}
html,body{overflow-x:clip}.rsvp-form input[type=text],.rsvp-form input[type=email],.rsvp-form textarea{font-family:var(--sans);font-style:normal}.form-status,.schedule-panels em{font-style:normal}h3,.date-tabs b,.counter strong{font-weight:500}
.hero-photo img{object-position:center 48%}.hero-postcard img{object-position:center 48%}.story-image img{object-position:center 56%}.venue-main img{object-position:center 54%}.practical>figure img{object-position:center 45%}.gallery .g1 img{object-position:center 58%}.gallery .g2 img{object-position:center}.gallery .g3 img{object-position:center 46%}.gallery .g4 img{object-position:center 43%}.rsvp-art img{object-position:center 52%}
@media(max-width:720px){.hero-photo img{object-position:center 50%}.story-image img{object-position:center 52%}.count-photo{background-position:center 54%}.venue-main img{object-position:center 52%}.rsvp-art img{object-position:center 50%}}

/* Final quality and accessibility refinements */
section[id]{scroll-margin-top:20px}
.hero h1 i{font-style:normal}
.venue-title h2{max-width:100%;font-size:clamp(48px,4vw,68px)}
.accordion summary span{font-weight:400}
:where(a,button,input,textarea,summary):focus-visible{outline:2px solid currentColor;outline-offset:4px}
.rail :where(a,button):focus-visible,.weekend button:focus-visible,.rsvp-form button:focus-visible{outline-color:var(--cream)}
.menu-toggle{min-width:44px;min-height:44px;align-items:center;justify-content:center;cursor:pointer}
.date-tabs button,.rsvp-form button{transition:background-color .25s ease,color .25s ease,opacity .25s ease,transform .25s ease}
.date-tabs button:hover{opacity:.82}
.rsvp-form button:hover{background:#834130}
.rsvp-form button:active{transform:translateY(1px)}
.accordion summary{border-radius:2px}
.accordion summary:hover{color:var(--sienna)}
.radio{min-height:44px;cursor:pointer}
.radio input{width:18px;height:18px}
.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#72675c;opacity:1}

@media(max-width:1050px){
  section[id]{scroll-margin-top:78px}
  .rail{box-shadow:0 8px 28px #44291d2b}
  .rail nav{inset:70px 0 auto;max-height:calc(100vh - 70px);overflow-y:auto;gap:4px;padding:18px 22px 24px;border-top:1px solid #f1e7d533;box-shadow:0 18px 30px #44291d3b}
  .rail nav a{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:11px;letter-spacing:.16em}
  .menu-toggle span{transform-origin:center;transition:transform .25s ease,opacity .2s ease}
  .rail.open .menu-toggle span:nth-child(1){transform:translateY(5px) rotate(45deg)}
  .rail.open .menu-toggle span:nth-child(2){opacity:0}
  .rail.open .menu-toggle span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
}

@media(max-width:1200px){
  .venue{display:block;padding:clamp(88px,9vw,120px) clamp(32px,6vw,72px) 190px}
  .venue-title{width:100%;max-width:760px;padding-right:0}
  .venue-title h2{max-width:100%;margin-right:0;font-size:clamp(48px,7vw,68px);line-height:.96;overflow-wrap:normal;word-break:normal}
  .venue-main{position:relative;width:100%;height:auto;aspect-ratio:16/9;margin:32px 0 0;transform:none}
}

@media(max-width:720px){
  .hero-meta{font-size:9px;line-height:1.5}
  .counter{gap:8px}
  .counter div{min-width:0}
  .date-tabs button{min-height:96px}
  .date-tabs span{display:block;line-height:1.45}
  .timeline li{grid-template-columns:70px 1fr;gap:16px}
  .timeline span{font-size:20px;line-height:1.35}
  .venue-note{padding:32px}
  .rsvp-form button{min-height:52px}
}

@media(max-width:768px){
  .venue{padding:90px 24px 170px}
  .venue-title{max-width:none}
  .venue-title h2{font-size:clamp(42px,12vw,58px);line-height:.96}
  .venue-main{width:100%;height:auto;aspect-ratio:4/5;margin-top:32px;overflow:visible}
  .venue-main img{width:100%;height:100%;object-fit:cover}
}
