:root{
  --cream:#f7f1e7;
  --cream-2:#fffaf2;
  --ink:#2f352b;
  --olive:#5f6952;
  --olive-dark:#3f4d40;
  --terracotta:#a95533;
  --terracotta-dark:#873f27;
  --gold:#b58c35;
  --blush:#d7a28b;
  --line:#ded1bd;
  --muted:#746f67;
  --shadow:0 22px 55px rgba(65,49,32,.12);
  --radius:28px;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.65;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}.grain{position:fixed;inset:0;pointer-events:none;opacity:.08;z-index:100;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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E")}
.site-header{height:78px;position:sticky;top:0;z-index:90;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,76px);background:rgba(247,241,231,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(181,140,53,.12)}
.brand{text-decoration:none}.brand-monogram{font-family:var(--serif);font-size:31px;color:var(--gold);letter-spacing:-5px}.brand-monogram span{font-size:16px;margin:0 5px;color:var(--terracotta)}
.main-nav{display:flex;align-items:center;gap:30px}.main-nav a{text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.main-nav a:hover{color:var(--terracotta)}.main-nav .nav-cta{padding:10px 18px;border:1px solid var(--terracotta);border-radius:999px;color:var(--terracotta)}
.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px}
.section-shell{width:min(1180px,calc(100% - 42px));margin-inline:auto}.section-padding{padding:100px 0}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:800;color:var(--terracotta);margin:0 0 10px}.section-heading{text-align:center;width:min(680px,calc(100% - 40px));margin:0 auto 58px}.section-heading h2,.dresscode-copy h2,.location-copy h2,.practical-card h2,.faq h2{font-family:var(--serif);font-weight:400;font-size:clamp(42px,5vw,72px);line-height:1.04;margin:0 0 18px;color:var(--olive-dark)}.section-heading p{color:var(--muted);font-size:17px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 25px;border-radius:999px;text-decoration:none;border:1px solid transparent;font-weight:800;font-size:13px;letter-spacing:.04em;cursor:pointer;transition:.2s ease}.button-primary{background:var(--terracotta);color:#fff;box-shadow:0 12px 25px rgba(169,85,51,.18)}.button-primary:hover{background:var(--terracotta-dark);transform:translateY(-1px)}.button-secondary{border-color:var(--line);background:rgba(255,255,255,.4);color:var(--olive-dark)}
.hero{min-height:calc(100vh - 78px);display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:62px;padding:74px 0 88px;position:relative}.hero-copy{padding-left:24px}.hero-monogram{font-family:var(--serif);font-size:95px;line-height:.75;color:var(--gold);letter-spacing:-18px;margin:14px 0 28px}.hero-monogram span{font-size:66px;color:var(--gold)}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(55px,6vw,92px);line-height:.94;margin:0;color:var(--olive-dark);letter-spacing:-.04em}.hero h1 i{font-size:.5em;color:var(--gold);font-weight:400}.date{text-transform:uppercase;letter-spacing:.3em;color:var(--gold);font-family:var(--serif);font-size:18px;margin:25px 0 3px}.venue-line{font-weight:800;color:var(--olive);margin:0 0 20px}.hero-intro{max-width:570px;color:var(--muted);font-size:17px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.countdown{display:flex;gap:26px;margin-top:38px;padding-top:25px;border-top:1px solid var(--line);max-width:420px}.countdown div{display:grid}.countdown strong{font-family:var(--serif);font-size:31px;color:var(--olive-dark);line-height:1}.countdown span{text-transform:uppercase;font-size:9px;letter-spacing:.18em;color:var(--muted);margin-top:6px}.hero-photo{position:relative;padding:0 24px 38px 0}.hero-photo>img:first-child{width:100%;height:min(660px,68vh);object-fit:cover;object-position:center;border-radius:180px 18px 180px 18px;box-shadow:var(--shadow);filter:saturate(.92) contrast(.98)}.hero-floral{position:absolute!important;width:48%!important;height:auto!important;object-fit:contain!important;right:-9%!important;top:-7%!important;border-radius:0!important;box-shadow:none!important;mix-blend-mode:multiply;pointer-events:none}.hero-card{position:absolute;left:-24px;bottom:16px;background:var(--cream-2);border:1px solid var(--line);border-radius:18px;padding:16px 25px;font-family:var(--serif);color:var(--gold);letter-spacing:.25em;box-shadow:var(--shadow)}
.program{background:var(--cream-2);position:relative}.timeline{display:grid;grid-template-columns:repeat(5,1fr);position:relative;gap:18px}.timeline:before{content:"";position:absolute;left:8%;right:8%;top:34px;height:1px;background:var(--line)}.timeline-item{text-align:center;position:relative;padding:0 10px}.time-icon{width:70px;height:70px;border-radius:50%;background:var(--cream-2);border:1px solid var(--gold);display:grid;place-items:center;margin:0 auto 17px;color:var(--terracotta);font-size:23px;position:relative;z-index:2}.timeline time{font-family:var(--serif);color:var(--gold);font-size:18px}.timeline h3{font-family:var(--serif);font-weight:400;font-size:26px;margin:5px 0 5px;color:var(--olive-dark)}.timeline p{font-size:13px;color:var(--muted);margin:0}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.dresscode{position:relative;overflow:hidden}.dresscode:after{content:"";position:absolute;right:-120px;bottom:-200px;width:420px;height:620px;background:url('assets/floral-corner.webp') center/contain no-repeat;mix-blend-mode:multiply;opacity:.2;transform:rotate(160deg);pointer-events:none}.dresscode-visual{min-height:630px;position:relative}.dresscode-main{width:75%;height:560px;object-fit:cover;border-radius:180px 24px 24px 24px;box-shadow:var(--shadow)}.dresscode-detail{position:absolute;right:0;bottom:0;width:48%;height:330px;object-fit:cover;border:12px solid var(--cream);border-radius:20px;box-shadow:var(--shadow)}.dresscode-copy .lead{font-size:20px;color:var(--olive-dark)}.dresscode-copy p{color:var(--muted)}.palette{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0}.palette span{width:57px;height:57px;border-radius:50%;background:var(--swatch);position:relative;box-shadow:inset 0 0 0 5px rgba(255,255,255,.45)}.palette small{position:absolute;top:65px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.style-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:54px}.style-notes div{border-top:1px solid var(--line);padding-top:13px}.style-notes b,.style-notes span{display:block}.style-notes b{font-family:var(--serif);font-size:18px;font-weight:400}.style-notes span{font-size:11px;color:var(--muted)}
.location{background:var(--olive-dark);color:var(--cream)}.location-grid{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center}.location-copy h2{color:#fff}.location-subtitle{font-family:var(--serif);font-size:29px;color:#e2d3b6;margin-top:-7px}.address{font-size:18px}.route-note{margin:24px 0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:16px 18px;border-radius:16px}.route-note span{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:#d3b777;font-weight:800}.location .button-primary{background:#d57b55}.venue-card{background:#f4eee4;border-radius:var(--radius);min-height:420px;display:grid;place-items:center;position:relative;overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.18)}.venue-card img{width:min(66%,320px);position:relative;z-index:2}.venue-card-floral{position:absolute;inset:auto -5% -34% 25%;height:90%;background:url('assets/floral-corner.webp') center/contain no-repeat;mix-blend-mode:multiply;opacity:.42;transform:rotate(160deg)}
.stay{background:var(--cream-2)}.stay-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px}.stay-feature,.stay-list{border:1px solid var(--line);border-radius:var(--radius);padding:38px;background:rgba(255,255,255,.58)}.stay-feature{background:linear-gradient(145deg,rgba(169,85,51,.08),rgba(95,105,82,.05)),var(--cream)}.stay-icon{font-size:40px;color:var(--gold)}.stay h3{font-family:var(--serif);font-weight:400;font-size:32px;color:var(--olive-dark);margin:10px 0}.stay h4{text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:var(--terracotta)}.pill{display:inline-block;margin-top:12px;padding:8px 13px;border:1px solid var(--gold);border-radius:999px;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.link-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px}.link-columns a{display:block;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--olive-dark);font-size:14px}.link-columns a:hover{color:var(--terracotta)}
.practical-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:start}.practical-card,.faq{border-radius:var(--radius);position:relative}.practical-card{padding:44px 44px 0;background:#ede2d2;overflow:hidden}.practical-card h2,.faq h2{font-size:52px}.practical-card img{width:100%;height:280px;object-fit:cover;border-radius:22px 22px 0 0;margin-top:30px}.faq{padding:44px;border:1px solid var(--line);background:rgba(255,255,255,.46)}details{border-top:1px solid var(--line);padding:19px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-family:var(--serif);font-size:21px;color:var(--olive-dark)}details p{color:var(--muted);font-size:14px}
.rsvp{background:#f0e7d9}.rsvp-form{background:var(--cream-2);border:1px solid rgba(181,140,53,.25);border-radius:32px;box-shadow:var(--shadow);padding:12px 46px 44px}.form-section{padding:42px 0;border-bottom:1px solid var(--line)}.form-section-title{display:flex;gap:16px;align-items:flex-start;margin-bottom:28px}.form-section-title>span{width:38px;height:38px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-family:var(--serif)}.form-section-title h3{font-family:var(--serif);font-weight:400;color:var(--olive-dark);font-size:30px;margin:0;line-height:1}.form-section-title p{margin:5px 0 0;color:var(--muted);font-size:13px}.field-grid{display:grid;gap:18px}.field-grid.two{grid-template-columns:1fr 1fr}.field-grid label,.full-width{display:grid;gap:7px;font-size:12px;font-weight:800;color:var(--olive-dark)}input,select,textarea{width:100%;border:1px solid #d8cbb8;border-radius:12px;background:#fffaf3;color:var(--ink);padding:14px 14px;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(181,140,53,.12)}textarea{resize:vertical}.attendance-choice,.activities,.yes-no,.menu-choice{border:0;padding:0;margin:22px 0 0}.attendance-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}.attendance-choice legend,.yes-no legend,.menu-choice legend{font-size:12px;font-weight:800;color:var(--olive-dark);margin-bottom:8px}.choice-card{position:relative}.choice-card input,.activities input,.yes-no input,.menu-choice input{position:absolute;opacity:0;pointer-events:none}.choice-card span,.activities label span{display:block;border:1px solid var(--line);border-radius:15px;padding:16px 18px;cursor:pointer;background:#fff}.choice-card input:checked+span,.activities input:checked+span{border-color:var(--terracotta);box-shadow:inset 0 0 0 1px var(--terracotta);background:#fff9f4}.choice-card b,.choice-card small,.activities b,.activities small{display:block}.choice-card small,.activities small{font-weight:400;color:var(--muted);margin-top:3px}.activities{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:0}.activities label{position:relative}.activities label span{height:100%}.form-error{color:#a13828;font-size:12px;font-weight:700}.guest-rows{display:grid;gap:16px}.guest-row{background:#fbf6ee;border:1px solid var(--line);border-radius:18px;padding:22px}.guest-row h4{font-family:var(--serif);font-weight:400;font-size:21px;margin:0 0 15px;color:var(--terracotta)}.guest-grid{grid-template-columns:1fr 1fr 1.2fr;align-items:start}.menu-choice{display:flex;gap:6px;flex-wrap:wrap;margin:0}.menu-choice legend{width:100%}.menu-choice label,.yes-no label{position:relative}.menu-choice span,.yes-no span{display:inline-flex;min-width:64px;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:9px 12px;cursor:pointer;background:#fff;font-size:12px}.menu-choice input:checked+span,.yes-no input:checked+span{background:var(--terracotta);border-color:var(--terracotta);color:#fff}.yes-no{margin:0}.yes-no legend{min-height:44px}.full-width{margin-top:20px}.submit-row{display:flex;justify-content:space-between;align-items:center;padding-top:32px}.submit-row div{display:grid}.small-label{text-transform:uppercase;letter-spacing:.13em;font-size:9px;color:var(--muted)}.submit-row strong{font-family:var(--serif);font-weight:400;font-size:22px}.submit-button{border:0;padding-inline:34px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-footer{min-height:330px;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden;background:var(--cream-2)}.footer-monogram{font-family:var(--serif);font-size:70px;line-height:1;color:var(--gold);letter-spacing:-13px}.footer-monogram span{font-size:24px;margin:0 8px;color:var(--terracotta)}.site-footer p{font-family:var(--serif);font-size:22px;margin:10px 0 2px}.site-footer small{color:var(--muted);text-transform:uppercase;letter-spacing:.14em}.footer-floral{position:absolute;width:300px;mix-blend-mode:multiply;opacity:.65}.footer-floral.left{left:-70px;bottom:-40px;transform:rotate(25deg)}.footer-floral.right{right:-70px;bottom:-40px;transform:scaleX(-1) rotate(25deg)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.in-view{opacity:1;transform:none}.reveal-delay{transition-delay:.13s}
@media (max-width:950px){.menu-toggle{display:block;z-index:3}.main-nav{position:fixed;top:78px;left:0;right:0;padding:26px 24px 34px;background:var(--cream-2);border-bottom:1px solid var(--line);display:grid;gap:18px;transform:translateY(-140%);transition:.25s;z-index:2}.main-nav.open{transform:none}.hero{grid-template-columns:1fr;gap:38px;padding-top:48px}.hero-copy{padding-left:0}.hero-photo{width:min(760px,100%);margin-inline:auto}.split-grid,.location-grid,.stay-grid,.practical-grid{grid-template-columns:1fr}.dresscode-visual{min-height:520px}.dresscode-main{height:470px}.timeline{grid-template-columns:1fr 1fr 1fr}.timeline:before{display:none}.activities{grid-template-columns:1fr 1fr}.guest-grid{grid-template-columns:1fr 1fr}.guest-grid>label:last-child{grid-column:1/-1}.field-grid.two{grid-template-columns:1fr 1fr}}
@media (max-width:650px){.section-padding{padding:76px 0}.site-header{height:68px}.main-nav{top:68px}.hero{min-height:auto;padding:42px 0 72px}.hero h1{font-size:56px}.hero-monogram{font-size:73px}.hero-photo>img:first-child{height:460px;border-radius:110px 16px 110px 16px}.hero-card{left:3px;bottom:12px}.countdown{gap:18px}.timeline{grid-template-columns:1fr}.timeline-item{display:grid;grid-template-columns:64px 70px 1fr;grid-template-rows:auto auto;gap:0 10px;text-align:left;align-items:center;border-bottom:1px solid var(--line);padding:13px 0}.time-icon{grid-row:1/3;width:56px;height:56px;margin:0}.timeline time{grid-column:2;grid-row:1/3}.timeline h3{grid-column:3;margin:0}.timeline p{grid-column:3}.dresscode-main{width:86%;height:420px}.dresscode-detail{height:240px}.style-notes{grid-template-columns:1fr}.palette{margin-bottom:50px}.location-grid{gap:40px}.venue-card{min-height:310px}.stay-feature,.stay-list,.practical-card,.faq{padding:28px}.link-columns{grid-template-columns:1fr}.rsvp-form{padding:8px 20px 30px;width:min(100% - 22px,1180px)}.field-grid.two,.attendance-choice,.activities,.guest-grid{grid-template-columns:1fr}.guest-grid>label:last-child{grid-column:auto}.submit-row{align-items:stretch;gap:20px;flex-direction:column}.submit-button{width:100%}.yes-no legend{min-height:auto}.footer-floral{width:220px;opacity:.4}}

/* V2 image/logo refinements */
.brand{display:flex;align-items:center;height:100%}.brand-logo{width:58px;height:58px;object-fit:contain}.hero-monogram-img{width:132px;height:132px;object-fit:contain;margin:4px 0 10px;filter:drop-shadow(0 5px 10px rgba(181,140,53,.10))}.venue-card{padding:0;background:#1f2a22}.venue-card .venue-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;z-index:1}.stay-more-info{font-size:13px;color:var(--muted);border-left:2px solid var(--gold);padding-left:13px;margin-top:18px}.footer-monogram-img{display:block;width:118px;height:118px;object-fit:contain;margin:0 auto 4px}.form-status{min-height:1.5em;margin:14px 0 0;text-align:right;color:var(--olive-dark);font-size:13px;font-weight:700}.submit-button:disabled{opacity:.68;cursor:wait;transform:none!important}
@media (max-width:650px){.brand-logo{width:50px;height:50px}.hero-monogram-img{width:112px;height:112px}.footer-monogram-img{width:104px;height:104px}.form-status{text-align:center}}
