:root{color:#2b2926;background:#f4efe6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--paper: #fffaf1;--soft: #e7dfcf;--line: #d3c1ab;--ink: #2b2926;--muted: #756b63;--gold: #b8894a;--sage: #6f8368;--rose: #c4877d;--clay: #9a735f;--page-start: #fff8ef;--page-end: #e7dfcf;--hero-overlay-start: rgba(255, 248, 239, .9);--hero-overlay-end: rgba(255, 250, 241, .94);--hero-detail: rgba(255, 250, 241, .78);--stripe-a: #e7dfcf;--stripe-b: #fffaf1}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--page-end)}button,input,textarea{font:inherit}.page{min-height:100vh;overflow:hidden;background:radial-gradient(circle at top left,color-mix(in srgb,var(--gold) 18%,transparent),transparent 28rem),radial-gradient(circle at 92% 18%,color-mix(in srgb,var(--rose) 18%,transparent),transparent 24rem),radial-gradient(circle at 8% 74%,color-mix(in srgb,var(--sage) 16%,transparent),transparent 22rem),linear-gradient(180deg,var(--page-start) 0%,var(--page-end) 100%);transition:background .22s ease}.hero{position:relative;min-height:92vh;display:grid;place-items:center;padding:80px 24px 48px;border-bottom:1px solid var(--line);background:linear-gradient(var(--hero-overlay-start),var(--hero-overlay-end)),url("data:image/svg+xml,%3Csvg width='1200' height='900' viewBox='0 0 1200 900' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M175 625C312 445 394 372 553 404C708 435 756 331 866 251C966 178 1062 176 1125 213' stroke='%23D9C8A3' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M100 382C260 278 364 241 500 272C636 303 730 261 820 168' stroke='%237F8F7A' stroke-width='2' stroke-linecap='round' opacity='.55'/%3E%3Ccircle cx='225' cy='620' r='80' fill='%23F4EFE7'/%3E%3Ccircle cx='972' cy='260' r='126' fill='%23F7F3EE'/%3E%3C/svg%3E") center/cover}.hero__ornament{position:absolute;top:24px;right:24px;bottom:24px;left:24px;border:1px solid rgba(185,154,93,.35);pointer-events:none}.hero__content{width:min(880px,100%);text-align:center}.eyebrow{margin:0 0 14px;color:var(--clay);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:0;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(3.3rem,11vw,8.5rem);font-weight:400;line-height:.95;letter-spacing:0}h2{margin:0;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,5vw,4.2rem);font-weight:400;line-height:1.05;letter-spacing:0}h3{margin:0 0 8px;font-size:1.08rem}.hero__date{margin:24px 0 0;color:var(--sage);font-size:clamp(1.25rem,3vw,2rem);font-weight:700}.hero__lead{width:min(660px,100%);margin:22px auto 0;color:var(--muted);font-size:1.12rem;line-height:1.75}.hero__details{width:min(760px,100%);margin:44px auto 0;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--hero-detail);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero__details div{min-width:0;padding:22px 18px}.hero__details div+div{border-left:1px solid var(--line)}.hero__details span{display:block;margin-bottom:8px;color:var(--muted);font-size:.78rem;text-transform:uppercase}.hero__details strong{display:block;font-size:1rem}.section{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:96px 0}.section--soft{width:100%;padding:96px max(20px,calc((100vw - 1120px)/2));background:linear-gradient(135deg,color-mix(in srgb,var(--soft) 88%,white),var(--soft))}.intro,.location{display:grid;grid-template-columns:minmax(320px,1fr) minmax(260px,360px);gap:56px;align-items:center}.location{grid-template-columns:minmax(280px,.78fr) minmax(480px,640px)}.section__copy p,.location p,.timeline p{color:var(--muted);line-height:1.75}.section__copy p{max-width:620px;font-size:1.05rem}.section__header{margin-bottom:38px}.schedule__header{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(280px,1fr);gap:42px;align-items:end}.schedule__header p:not(.eyebrow){margin:0;color:var(--muted);font-size:1.05rem;line-height:1.7}.timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.timeline__item{position:relative;display:grid;grid-template-columns:78px 1fr;gap:14px;align-items:start;min-height:118px;padding:18px 20px;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 78%,white);background:linear-gradient(135deg,#fffaf1c7,#fffaf17a),radial-gradient(circle at 95% 8%,color-mix(in srgb,var(--rose) 18%,transparent),transparent 10rem);box-shadow:0 18px 38px #3a2d1c12}.timeline__item:before{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background:linear-gradient(180deg,var(--rose),var(--sage))}.timeline__item:nth-child(5){grid-column:1 / -1}.timeline__time{display:grid;gap:8px}.timeline__time span{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--clay);font-size:.68rem;font-weight:800;background:var(--paper)}.timeline time{color:var(--sage);font-size:clamp(1.28rem,2.3vw,1.8rem);font-weight:800;line-height:.95;white-space:nowrap}.timeline__item h3{margin:0 0 5px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.08rem,2vw,1.4rem);font-weight:400}.timeline__item strong{display:block;margin-bottom:7px;color:var(--clay);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.timeline__item p{margin:0;font-size:.94rem;line-height:1.55}.dress-code{text-align:center}.dress-code__copy{width:min(760px,100%);margin:0 auto}.dress-code__copy h2{margin-bottom:24px}.dress-code__copy p:not(.eyebrow):not(.dress-code__style){margin:22px auto 0;color:var(--ink);font-size:clamp(1rem,2.2vw,1.22rem);line-height:1.8}.dress-code__style{margin:0 0 34px;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-style:italic;font-weight:700}.dress-code__palette{display:flex;justify-content:center;gap:12px;margin:38px auto 48px}.dress-code__swatch{width:34px;height:34px;border:1px solid rgba(43,41,38,.16);border-radius:50%;box-shadow:0 10px 20px #3a2d1c14}.dress-code__swatch--ivory{background:#fffaf1}.dress-code__swatch--sage{background:var(--sage)}.dress-code__swatch--rose{background:var(--rose)}.dress-code__swatch--clay{background:var(--clay)}.dress-code__swatch--black{background:#20201f}.dress-code__gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}.dress-code__card{text-align:left}.dress-code__card:nth-child(2){margin-top:34px}.dress-code__card h3{margin:18px 0 8px}.dress-code__card p{margin:0;color:var(--muted);line-height:1.6}.dress-code__image{position:relative;min-height:330px;overflow:hidden;background:linear-gradient(145deg,#fffaf124,#20201f2e),linear-gradient(135deg,var(--paper),var(--soft));box-shadow:0 24px 46px #3a2d1c1f}.dress-code__image:before,.dress-code__image:after,.dress-code__image span{content:"";position:absolute;display:block}.dress-code__image:before{top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 0 34%,rgba(255,255,255,.22) 34% 48%,transparent 48%),radial-gradient(circle at 28% 24%,rgba(255,255,255,.42),transparent 9rem)}.dress-code__image:after{left:50%;bottom:42px;width:96px;height:190px;border-radius:52px 52px 18px 18px;transform:translate(-50%);background:#20201f;box-shadow:-74px 32px 0 -20px #fffaf1eb,76px 18px 0 -24px color-mix(in srgb,var(--rose) 86%,white)}.dress-code__image span{left:50%;top:52px;width:58px;height:58px;border-radius:50%;transform:translate(-50%);background:color-mix(in srgb,var(--gold) 34%,white)}.dress-code__card--1 .dress-code__image{background:linear-gradient(145deg,#fffaf12e,#c4877d2e),linear-gradient(135deg,#fffaf1,#ead9d1)}.dress-code__card--1 .dress-code__image:after{background:var(--rose);border-radius:70px 70px 26px 26px}.dress-code__card--2 .dress-code__image{background:linear-gradient(145deg,#fffaf12e,#6f836838),linear-gradient(135deg,#f7f0e3,#d8ddcb)}.dress-code__card--2 .dress-code__image:after{background:var(--sage)}.dress-code__card--3 .dress-code__image{background:linear-gradient(145deg,#fffaf11f,#20201f33),linear-gradient(135deg,#e7dfcf,#9f9282)}.dress-code__card--3 .dress-code__image:after{background:#20201f;border-radius:40px 40px 10px 10px}.photo{min-height:320px;display:grid;place-items:center;border:1px solid rgba(185,154,93,.28);background:linear-gradient(135deg,#ffffff1f,color-mix(in srgb,var(--rose) 18%,transparent)),repeating-linear-gradient(45deg,var(--stripe-a) 0,var(--stripe-a) 12px,var(--stripe-b) 12px,var(--stripe-b) 24px);box-shadow:0 20px 45px #3a2d1c14}.photo--portrait{min-height:440px;overflow:hidden;border-radius:180px 180px 10px 10px;background:var(--paper)}.photo--portrait img{width:100%;height:100%;min-height:440px;display:block;object-fit:cover}.photo__mark{width:min(72%,240px);min-height:78px;display:grid;place-items:center;padding:16px;border:1px solid var(--line);color:var(--muted);text-align:center;background:color-mix(in srgb,var(--paper) 78%,transparent)}.location__map{width:min(100%,640px);min-height:420px;justify-self:end;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 78%,white);background:#fffaf1d1;box-shadow:none}.location__map iframe{display:block;width:100%;height:420px;border:0}.location__map a{display:flex;min-height:54px;align-items:center;justify-content:center;padding:14px 18px;border-top:1px solid var(--line);color:var(--muted);font-weight:700;text-decoration:none;background:var(--paper)}.location__map a:hover{color:var(--sage)}.footer{padding:34px 20px;color:var(--muted);text-align:center;border-top:1px solid var(--line);background:var(--paper)}.footer p{margin:0}@media(max-width:760px){.hero{min-height:auto;place-items:start center;padding:72px 18px 28px}.hero__ornament{top:14px;right:14px;bottom:14px;left:14px}.hero__details,.intro,.location,.dress-code__gallery{grid-template-columns:1fr}.location__map{justify-self:stretch}.hero__details div+div{border-left:0;border-top:1px solid var(--line)}.hero__details{margin-top:32px}.section,.section--soft{width:100%;padding:72px 20px}.schedule__header,.timeline{grid-template-columns:1fr}.timeline__item{grid-template-columns:1fr;gap:12px;min-height:auto;padding:18px 18px 18px 22px}.timeline__item:nth-child(5){grid-column:auto}.timeline__time{grid-template-columns:auto 1fr;align-items:center}.photo{min-height:300px}.photo--portrait{min-height:340px;max-width:320px;margin:0 auto}.photo--portrait img{min-height:340px}.dress-code__card:nth-child(2){margin-top:0}.dress-code__image{min-height:280px}}@media(max-width:420px){.location__map iframe{height:280px}}
