:root{--ivory:#f8f5ef;--paper:#f2eee6;--champagne:#e8ddcc;--gold:#b49a72;--espresso:#332b25;--taupe:#a69a8a;--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--nav:'Jost',Arial,sans-serif;--pad:clamp(24px,7vw,112px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:74px}body{margin:0;background:var(--ivory);color:var(--espresso);font-family:var(--sans);font-size:15px;font-weight:400;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.skip-link{position:absolute;left:-999px;top:10px;background:var(--ivory);padding:12px;z-index:99}.skip-link:focus{left:10px}.site-header{height:76px;padding:0 var(--pad);position:absolute;inset:0 0 auto;z-index:10;display:flex;align-items:center;justify-content:space-between;color:white;border-bottom:1px solid #ffffff2b}.wordmark{font:26px var(--serif);letter-spacing:.04em}.wordmark span{color:#e8ddcc;font-style:italic}.primary-nav{display:flex;align-items:center;gap:clamp(20px,3.2vw,50px);font:12px var(--nav);letter-spacing:.1em;text-transform:uppercase}.primary-nav a{transition:opacity .25s}.primary-nav a:hover{opacity:.62}.nav-rsvp{border:1px solid #ffffff9c;padding:9px 15px}.nav-rsvp span{margin-left:14px}.menu-toggle{display:none}
.hero{min-height:720px;height:100svh;max-height:1100px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;background:#494037 url('images/hero-tuscany.png') center 53%/cover no-repeat;color:white;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#17130f83 0%,#211a1442 32%,#1b17114a 65%,#17120e94 100%)}.hero-kicker,.hero-copy,.scroll-cue,.hero-index{position:absolute;z-index:1}.hero-kicker{top:104px;font:10px var(--nav);letter-spacing:.24em;text-transform:uppercase}.hero-copy{top:50%;transform:translateY(-43%);width:min(90%,800px)}.eyebrow{font:10px var(--nav);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.eyebrow.light{color:#efe4d2}.hero h1{font:clamp(76px,12vw,166px)/.76 var(--serif);font-weight:400;letter-spacing:-.035em;margin:38px 0 34px;text-shadow:0 2px 30px #120f0b35}.hero h1 i{font:italic .56em var(--serif);color:#e7d9c4}.hero-date{font:12px var(--nav);letter-spacing:.28em;margin:0}.hero-date span{color:#d6bd96;padding:0 7px}.hero-place{font:11px var(--nav);letter-spacing:.14em;text-transform:uppercase;margin:10px 0}.hero-place span{color:#d5bc97;padding:0 8px}.scroll-cue{bottom:38px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:13px;font:9px var(--nav);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}.scroll-cue i{height:1px;width:38px;background:#e8ddcc;display:inline-block}.hero-index{right:var(--pad);bottom:38px;font:10px var(--nav);letter-spacing:.15em}.hero-index span{color:#d7c4a8;margin:0 5px}
.section-pad{padding:clamp(80px,12vw,165px) var(--pad)}.intro{position:relative;padding-bottom:160px}.intro-label{display:flex;align-items:center;gap:22px;margin-bottom:60px}.rule{height:1px;width:88px;background:var(--champagne)}.number{font:11px var(--nav);color:var(--taupe)}.intro-grid{display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:clamp(50px,10vw,150px);max-width:1270px;margin:auto}.image-frame{position:relative}.intro-image img{display:block;width:100%;height:clamp(430px,56vw,690px);object-fit:cover;object-position:52% center}.image-caption{position:absolute;bottom:-28px;left:0;font:10px var(--nav);letter-spacing:.12em;text-transform:uppercase;color:var(--taupe)}.intro-copy{padding:20px 0}.intro-copy h2,.section-heading h2,.gallery-head h2,.venue-card h2,.rsvp-title h2{font:clamp(49px,6.2vw,88px)/.98 var(--serif);font-weight:400;letter-spacing:-.025em;margin:24px 0 30px}.intro-copy h2 em,.section-heading h2 em,.gallery-head h2 em,.venue-card h2 em,.rsvp-title h2 em{font-weight:400;color:var(--gold)}.intro-copy>p:not(.eyebrow):not(.signature){max-width:415px;color:#6d6258;line-height:1.95}.signature{font:italic 24px var(--serif);margin-top:36px}.intro-aside{position:absolute;right:var(--pad);bottom:50px;text-align:right;color:var(--taupe)}.intro-aside p{font:italic 22px/1.25 var(--serif);margin:9px 0}.intro-aside .eyebrow{font-size:8px}.asterisk{color:var(--gold);font-size:18px}
.weekend{background:#ede8de}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;max-width:1270px;margin:0 auto 72px}.section-heading h2{margin:20px 0 0}.section-heading>p{max-width:325px;color:#74695f;font-size:13px;line-height:1.9;margin:0 1vw 10px 0}.events-list{max-width:1270px;margin:auto;border-top:1px solid #cfc5b6}.event{display:grid;grid-template-columns:120px 1fr 270px;gap:35px;padding:34px 0 38px;border-bottom:1px solid #cfc5b6;align-items:center}.event-date{display:flex;flex-direction:column;align-items:center;font:9px var(--nav);letter-spacing:.16em;color:var(--taupe);line-height:1.3}.event-date strong{font:52px/.95 var(--serif);color:var(--espresso);font-weight:400;margin:6px 0}.event-main{padding-left:25px;border-left:1px solid #cfc5b6}.event-index{font:9px var(--nav);letter-spacing:.16em;color:var(--gold)}.event-main h3{font:32px var(--serif);font-weight:400;margin:5px 0}.event-main p{font-size:12px;color:#776d63;margin:0}.event-meta{display:flex;flex-direction:column;font:11px/1.8 var(--nav);color:#655b51}.event-meta span:first-child{color:var(--espresso);font-weight:500}.event-meta a{font-size:10px;color:#907754;text-transform:uppercase;letter-spacing:.1em;margin-top:5px;width:fit-content;border-bottom:1px solid #b49a72}
.gallery{padding-bottom:150px}.gallery-head{text-align:center;margin:0 auto 68px}.gallery-head h2{font-size:clamp(48px,6vw,78px);margin:19px 0 12px}.gallery-head>p{font-size:12px;color:#7a7067}.gallery-grid{max-width:1120px;margin:auto;display:grid;grid-template-columns:1.1fr .78fr 1fr;grid-template-rows:210px 230px 170px;gap:22px;align-items:stretch}.gallery-item{position:relative;border:0;padding:0;background:none;cursor:zoom-in;overflow:hidden;text-align:left}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.gallery-item:hover img{transform:scale(1.035);filter:brightness(.85)}.gallery-item span{position:absolute;bottom:13px;left:15px;color:white;font:9px var(--nav);letter-spacing:.11em;text-transform:uppercase;text-shadow:0 1px 7px #000}.g-one{grid-column:1;grid-row:1/3}.g-two{grid-column:2;grid-row:1/2}.g-three{grid-column:3;grid-row:1/3}.gallery-note{grid-column:2;grid-row:2/4;display:flex;flex-direction:column;justify-content:center;text-align:center;background:#e9dfd0;font:clamp(24px,3vw,39px)/1.18 var(--serif);color:var(--espresso)}.gallery-note em{color:var(--gold)}.gallery-note span{font-size:17px;color:var(--gold);margin-top:18px}.lightbox{padding:0;border:0;background:#171410ed;max-width:100vw;max-height:100vh;width:100vw;height:100vh}.lightbox::backdrop{background:#171410ed}.lightbox img{max-width:min(90vw,1400px);max-height:88vh;object-fit:contain;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.lightbox-close{position:absolute;right:32px;top:18px;border:0;background:none;color:white;font-size:40px;cursor:pointer;z-index:2}
.venue{min-height:710px;display:grid;grid-template-columns:1.35fr .85fr;background:#2e2924;color:var(--ivory)}.venue-photo{min-height:710px;overflow:hidden}.venue-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.76)}.venue-card{align-self:center;padding:70px clamp(35px,7vw,100px)}.venue-card .eyebrow{color:#d1b892}.venue-card h2{font-size:clamp(54px,6.5vw,90px);margin:25px 0 26px}.venue-card h2 em{color:#c9ae87}.venue-card>p{font:14px/1.8 var(--nav);letter-spacing:.06em}.venue-card .venue-small{font:11px/1.8 var(--sans);letter-spacing:0;color:#c4b9ab;max-width:300px;margin:27px 0}.text-link{display:inline-flex;gap:24px;align-items:center;margin-top:9px;padding-bottom:7px;border-bottom:1px solid #ae9571;font:10px var(--nav);letter-spacing:.12em;text-transform:uppercase}.text-link span{font-size:17px;color:#cfb58e}
.rsvp{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(50px,10vw,145px);max-width:1450px;margin:auto}.rsvp-title{position:relative}.rsvp-title h2{font-size:clamp(58px,7vw,96px);margin:25px 0}.rsvp-title>p{max-width:270px;color:#766b61;font-size:13px;line-height:1.9}.rsvp-flower{font-size:42px;color:var(--champagne);margin-top:57px}.rsvp-form{padding-top:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.rsvp-form label,.rsvp-form legend{display:block;font:10px var(--nav);letter-spacing:.12em;text-transform:uppercase;color:#776b5d}.rsvp-form input:not([type=checkbox]),.rsvp-form select,.rsvp-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #cfc4b5;border-radius:0;background:transparent;color:var(--espresso);padding:13px 0 12px;margin-bottom:29px;font:13px var(--sans);letter-spacing:0;outline:none}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{border-color:var(--gold);box-shadow:0 1px 0 var(--gold)}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#b6aca0}.rsvp-form fieldset{border:0;padding:0;margin:0 0 24px}.rsvp-form legend{margin-bottom:13px}.check-row{display:flex;flex-wrap:wrap;gap:10px 24px}.check-row label{display:flex;align-items:center;gap:8px;font:11px var(--sans);letter-spacing:0;text-transform:none;color:#655b52}.check-row input{accent-color:#8b7659;width:15px;height:15px}.rsvp-form .message-label textarea{resize:vertical;min-height:75px}.submit-button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 20px;background:var(--espresso);color:var(--ivory);border:1px solid var(--espresso);font:10px var(--nav);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s}.submit-button:hover{background:transparent;color:var(--espresso)}.submit-button span{font-size:18px}.submit-button:disabled{opacity:.6;cursor:wait}.form-status{min-height:25px;font-size:12px;color:#7c6548}.form-status.error{color:#9b4336}.privacy-note{font:9px var(--nav);color:#9a8f82}.honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.footer{min-height:360px;background:#2e2924;color:var(--ivory);display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;padding:56px 24px;text-align:center}.footer-monogram{font:54px var(--serif)}.footer-monogram i{font-size:.7em;color:#c8ae87}.footer>p{font:italic 27px var(--serif);margin:8px 0 20px}.footer>span{font:9px var(--nav);letter-spacing:.2em;color:#c9bda9}.back-top{position:absolute;right:var(--pad);top:50%;font:9px var(--nav);letter-spacing:.13em;text-transform:uppercase}.footer small{position:absolute;bottom:17px;color:#958a7c;font:9px var(--nav)}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:760px){:root{--pad:25px}.site-header{height:66px}.wordmark{font-size:24px}.menu-toggle{display:flex;flex-direction:column;gap:6px;justify-content:center;width:44px;height:44px;border:0;background:none;color:white;z-index:12}.menu-toggle span{display:block;width:23px;height:1px;background:white;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.primary-nav{position:absolute;top:0;left:0;right:0;background:#27221dee;padding:88px 28px 28px;display:flex;align-items:stretch;flex-direction:column;gap:0;transform:translateY(-120%);transition:transform .35s}.primary-nav.open{transform:translateY(0)}.primary-nav a{padding:15px 0;border-bottom:1px solid #ffffff24}.primary-nav .nav-rsvp{border:0;border-bottom:1px solid #ffffff24;padding:15px 0}.hero{height:94svh;min-height:640px;max-height:900px;background-position:57% center}.hero-kicker{top:95px;font-size:8px;letter-spacing:.17em}.hero-copy{top:46%;transform:translateY(-25%);width:94%}.hero h1{font-size:clamp(72px,17vw,114px);line-height:.8;margin:30px 0}.hero-date{font-size:10px}.hero-place{font-size:9px;letter-spacing:.1em}.scroll-cue{bottom:28px;left:var(--pad);transform:none;font-size:8px}.hero-index{bottom:28px;right:var(--pad);font-size:9px}.section-pad{padding-top:86px;padding-bottom:90px}.intro{padding-bottom:145px}.intro-label{margin-bottom:38px;gap:14px}.intro-grid{grid-template-columns:1fr;gap:48px}.intro-image{width:83%;margin-left:0}.intro-image img{height:clamp(360px,115vw,510px)}.intro-copy{padding-left:12%;}.intro-copy h2{font-size:clamp(54px,13vw,72px)}.intro-copy>p:not(.eyebrow):not(.signature){font-size:13px}.intro-aside{bottom:40px;right:var(--pad)}.intro-aside p{font-size:18px}.weekend{padding-top:90px}.section-heading{display:block;margin-bottom:42px}.section-heading h2{font-size:clamp(56px,13vw,76px)}.section-heading>p{margin:25px 0 0;max-width:300px}.event{grid-template-columns:74px 1fr;gap:18px;padding:25px 0}.event-date strong{font-size:43px}.event-date{font-size:8px}.event-main{padding-left:16px}.event-main h3{font-size:26px}.event-main p{font-size:11px;line-height:1.6}.event-meta{grid-column:2;padding-left:16px;font-size:10px}.gallery{padding-top:85px;padding-bottom:95px}.gallery-head{margin-bottom:42px}.gallery-head h2{font-size:clamp(44px,11vw,65px)}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:230px 170px 220px;gap:12px}.g-one{grid-column:1;grid-row:1/3}.g-two{grid-column:2;grid-row:1}.g-three{grid-column:2;grid-row:2/4}.gallery-note{grid-column:1;grid-row:3;font-size:25px}.gallery-item span{font-size:7px;left:9px;bottom:8px}.venue{grid-template-columns:1fr}.venue-photo{min-height:0;height:64vw;max-height:420px}.venue-card{padding:58px var(--pad) 68px}.venue-card h2{font-size:68px}.venue-card .venue-small{max-width:370px}.rsvp{grid-template-columns:1fr;gap:35px;padding-top:92px}.rsvp-title h2{font-size:clamp(63px,14vw,86px);margin:19px 0}.rsvp-title>p{max-width:310px}.rsvp-flower{position:absolute;right:3px;top:30px;font-size:30px;margin:0}.rsvp-form{padding-top:0}.form-row{grid-template-columns:1fr;gap:0}.rsvp-form input:not([type=checkbox]),.rsvp-form select,.rsvp-form textarea{margin-bottom:23px;padding-top:12px;padding-bottom:12px}.check-row{gap:13px;flex-direction:column}.footer{min-height:330px}.footer>p{font-size:24px}.back-top{top:auto;bottom:51px;right:25px}.footer small{bottom:17px}}
@media(max-width:390px){:root{--pad:21px}.hero h1{font-size:72px}.hero-copy{top:45%}.intro-copy{padding-left:6%}.gallery-grid{grid-template-rows:200px 150px 190px}.event{gap:13px}.event-main h3{font-size:24px}.check-row label{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
.demo-notice{display:flex;gap:10px;align-items:center;margin:0 0 28px;padding:12px 14px;border-left:2px solid var(--gold);background:#eee8dd;font:10px/1.5 var(--nav);letter-spacing:.04em;color:#655b52}.demo-notice span{font-size:9px;color:#a47c45}.demo-notice.is-live{border-color:#71856d;background:#e8eee5}.demo-notice.is-live span{color:#71856d}
