:root{color:#f7f2ea;background:#050504;font-family:Arial,Helvetica Neue,Helvetica,Segoe UI,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{overflow-x:hidden;scroll-behavior:smooth}body{margin:0;min-width:300px;min-height:100vh;overflow-x:hidden;background:#050504}button{font:inherit}.body--locked{overflow:hidden}.skip-link{position:fixed;z-index:100;top:16px;left:16px;padding:10px 14px;border-radius:999px;color:#11100d;background:#f7f2ea;text-decoration:none;transform:translateY(-140%);transition:transform .18s ease}.skip-link:focus{transform:translateY(0)}.app-shell{position:relative;min-height:100vh;overflow:hidden;background:radial-gradient(circle at 74% 11%,rgba(106,74,166,.18),transparent 18%),radial-gradient(circle at 16% 28%,rgba(116,16,49,.16),transparent 20%),radial-gradient(circle at 54% 46%,rgba(37,91,68,.16),transparent 28%),linear-gradient(180deg,#050504,#0a0907 48%,#050504)}.app-shell:before{position:fixed;z-index:0;inset:0;background:linear-gradient(180deg,#0505048a,#050504d1 42%,#050504f0),url(/wedding-bg-19.jpg) center / cover no-repeat;content:"";filter:saturate(1.06) contrast(1.04);opacity:.72;pointer-events:none}.app-shell:after{position:fixed;z-index:0;inset:0;background:radial-gradient(circle at 20% 12%,rgba(126,22,48,.18),transparent 22%),radial-gradient(circle at 82% 20%,rgba(205,161,107,.12),transparent 18%),radial-gradient(circle at 50% 58%,rgba(19,52,39,.2),transparent 28%);content:"";pointer-events:none}.skip-link,.hero,.gallery-section,.site-footer{position:relative;z-index:1}.hero{position:relative;display:grid;min-height:100dvh;grid-template-columns:minmax(0,.92fr) minmax(340px,1.08fr);gap:clamp(28px,6vw,88px);align-items:center;width:min(1480px,calc(100% - 40px));margin:0 auto;padding:76px 0 70px}.hero__nav{position:absolute;z-index:4;top:24px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;color:#f7f2eac7;font-size:.76rem}.hero__brand{font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:900;letter-spacing:.08em}.hero__links{display:flex;gap:clamp(18px,3vw,44px);color:#f7f2ea80}.hero__content{position:relative;z-index:3;max-width:650px}.hero__pill,.section-kicker{display:inline-flex;align-items:center;min-height:25px;margin:0 0 14px;padding:0 10px;border:1px solid rgba(247,242,234,.16);border-radius:999px;color:#f7f2eaad;background:#ffffff0a;font-size:.66rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.hero__eyebrow{margin:0 0 8px;color:#cda16b;font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:.74rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase}.hero h1{max-width:8.2ch;margin:0;color:#f7f2ea;font-size:clamp(4.6rem,9.2vw,9.6rem);font-weight:900;letter-spacing:0;line-height:.84;text-shadow:0 22px 60px rgba(0,0,0,.55)}.hero h1 em{display:block;color:#f7f2eac2;font-family:Georgia,Times New Roman,serif;font-size:.72em;font-style:italic;font-weight:400}.hero__subtitle{max-width:520px;margin:24px 0 28px;color:#f7f2eaa3;font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.75}.hero__actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.hero__count{color:#f7f2ea8a;font-size:.82rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.hero__gallery{position:relative;z-index:2;display:grid;min-height:clamp(480px,56vw,720px);grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(8,1fr)}.hero__gallery:after{position:absolute;content:"";pointer-events:none}.hero__gallery:after{right:10%;bottom:4%;width:35%;height:26%;border-radius:24px;background:#7e1630;box-shadow:0 22px 80px #7e163057}.hero__photo{position:relative;z-index:1;display:block;width:100%;height:100%;min-height:0;border:9px solid rgba(247,242,234,.96);border-radius:24px;box-shadow:0 26px 90px #00000070,0 0 0 1px #ffffff14;object-fit:cover}.hero__photo:nth-child(1){grid-column:2 / 7;grid-row:1 / 6;transform:rotate(1.8deg)}.hero__photo:nth-child(2){z-index:2;grid-column:1 / 4;grid-row:5 / 9;transform:rotate(-3.6deg)}.hero__photo:nth-child(3){z-index:3;grid-column:5 / 8;grid-row:4 / 8;transform:rotate(3deg)}.hero__photo--loading{background:linear-gradient(115deg,transparent 0 34%,rgba(255,255,255,.18) 45%,transparent 58%),#201e1a;background-size:230% 100%;animation:heroShimmer 1.35s ease-in-out infinite}.botanical{position:absolute;z-index:2;width:260px;height:360px;pointer-events:none}.botanical:before,.botanical:after{position:absolute;content:""}.botanical:before{inset:32px 125px 8px auto;width:2px;border-radius:999px;background:linear-gradient(#d6af73,#315d47);transform:rotate(25deg)}.botanical:after{inset:0;background:radial-gradient(ellipse at 57% 8%,rgba(247,242,234,.78) 0 12px,transparent 13px),radial-gradient(ellipse at 50% 14%,rgba(126,22,48,.78) 0 11px,transparent 12px),radial-gradient(ellipse at 66% 27%,rgba(49,93,71,.68) 0 24px,transparent 25px),radial-gradient(ellipse at 42% 42%,rgba(49,93,71,.56) 0 22px,transparent 23px),radial-gradient(ellipse at 70% 55%,rgba(205,161,107,.54) 0 18px,transparent 19px),radial-gradient(ellipse at 36% 70%,rgba(126,22,48,.62) 0 12px,transparent 13px),radial-gradient(ellipse at 66% 78%,rgba(247,242,234,.46) 0 20px,transparent 21px);filter:drop-shadow(0 24px 26px rgba(0,0,0,.45))}.botanical--hero-left{bottom:8px;left:-70px;opacity:.88;transform:rotate(-19deg)}.botanical--hero-right{top:54px;right:-70px;opacity:.34;transform:rotate(152deg) scale(1.08)}.button{min-height:48px;border:0;border-radius:999px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0) scale(.98)}.button:focus-visible,.image-card:focus-visible,.lightbox__close:focus-visible,.lightbox__nav:focus-visible{outline:3px solid rgba(205,161,107,.45);outline-offset:4px}.button--primary{padding:0 26px;color:#11100d;background:#f7f2ea;box-shadow:0 18px 48px #f7f2ea2e}.button--primary:hover{background:#fff}.button--ghost{padding:0 18px;color:#f7f2ea;background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}.gallery-section{position:relative;overflow:hidden;width:min(1440px,calc(100% - 40px));margin:0 auto;padding:92px 0 110px}.gallery-section:before,.gallery-section:after{position:absolute;content:"";pointer-events:none}.gallery-section:before{top:8px;right:-80px;z-index:0;width:290px;height:390px;background:radial-gradient(ellipse at 52% 10%,rgba(247,242,234,.58) 0 13px,transparent 14px),radial-gradient(ellipse at 46% 30%,rgba(49,93,71,.58) 0 26px,transparent 27px),radial-gradient(ellipse at 67% 44%,rgba(49,93,71,.4) 0 26px,transparent 27px),radial-gradient(ellipse at 39% 61%,rgba(126,22,48,.44) 0 18px,transparent 19px),radial-gradient(ellipse at 68% 76%,rgba(205,161,107,.38) 0 18px,transparent 19px);opacity:.74;transform:rotate(24deg)}.gallery-section:after{inset:14% auto auto 5%;width:min(70vw,840px);height:min(70vw,840px);border-radius:50%;background:radial-gradient(circle,rgba(19,52,39,.22),transparent 62%);filter:blur(4px)}.section-heading{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,360px);gap:24px;align-items:end;margin-bottom:44px}.section-heading h2{grid-column:1;margin:0;color:#f7f2ea;font-size:clamp(2.8rem,6vw,6.2rem);font-weight:900;letter-spacing:0;line-height:.92}.section-heading p{grid-column:2;max-width:38ch;margin:0 0 8px;color:#f7f2ea8f;font-size:.95rem;line-height:1.7}.section-heading .section-kicker{grid-column:1 / -1;justify-self:start}.masonry-grid{position:relative;z-index:1;column-count:4;column-gap:18px}.image-card{position:relative;display:block;width:100%;margin:0 0 18px;padding:0;overflow:hidden;break-inside:avoid;border:1px solid rgba(247,242,234,.08);border-radius:18px;background:#11100d;box-shadow:0 24px 70px #00000057;cursor:pointer}.image-card:before,.image-card:after{position:absolute;z-index:2;content:"";pointer-events:none}.image-card:before{inset:0;background:linear-gradient(to top,rgba(0,0,0,.42),transparent 45%);opacity:.66}.image-card:after{inset:10px;border:1px solid rgba(247,242,234,.22);border-radius:12px;opacity:0;transition:opacity .25s ease}.image-card img{display:block;width:100%;height:auto;min-height:180px;object-fit:cover;transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .65s ease}.image-card:hover img{filter:saturate(1.08) contrast(1.04) brightness(1.04);transform:scale(1.045)}.image-card:hover:after,.image-card:hover .image-card__veil{opacity:1}.image-card__veil{position:absolute;z-index:3;inset:0;background:radial-gradient(circle at 50% 50%,transparent 34%,rgba(0,0,0,.36));opacity:0;transition:opacity .25s ease}.skeleton-card,.state-message{border:1px solid rgba(247,242,234,.08);border-radius:18px;background:#ffffff0a;box-shadow:0 24px 70px #0000003d}.skeleton-card{display:inline-block;width:100%;margin:0 0 18px;break-inside:avoid;background:linear-gradient(115deg,transparent 0 34%,rgba(255,255,255,.1) 45%,transparent 58%),#15130f;background-size:230% 100%;animation:heroShimmer 1.35s ease-in-out infinite}.state-message{position:relative;z-index:1;max-width:620px;margin:0;padding:34px 28px}.state-message h3{margin:0 0 8px;color:#f7f2ea;font-size:1.35rem}.state-message p{margin:0;color:#f7f2ea94;line-height:1.6}.site-footer{position:relative;display:flex;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:42px 0 54px;border-top:1px solid rgba(247,242,234,.1);justify-content:space-between;gap:20px;color:#f7f2ea7a;font-size:.92rem}.site-footer strong{color:#f7f2ea;font-size:1.35rem}.lightbox{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:24px;background:#030303f0;animation:lightboxFade .18s ease}.lightbox__figure{display:grid;margin:0;place-items:center}.lightbox__figure img{max-width:95vw;max-height:85vh;border-radius:16px;box-shadow:0 24px 80px #00000094;object-fit:contain;animation:imageFade .32s ease}.lightbox__close,.lightbox__nav{position:fixed;display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#f7f2ea;background:#ffffff1a;cursor:pointer;transition:transform .18s ease,background .18s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.lightbox__close:hover,.lightbox__nav:hover{background:#fff3;transform:scale(1.04)}.lightbox__close{top:22px;right:22px;font-size:1.4rem}.lightbox__nav{top:50%;font-size:2.5rem;transform:translateY(-50%)}.lightbox__nav:hover{transform:translateY(-50%) scale(1.04)}.lightbox__nav--prev{left:22px}.lightbox__nav--next{right:22px}.lightbox__toolbar{position:fixed;right:50%;bottom:24px;display:flex;align-items:center;gap:14px;padding:10px 12px 10px 18px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#f7f2ea;background:#ffffff1a;transform:translate(50%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.fade-in{animation:fadeIn .7s ease both}@keyframes fadeIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes heroShimmer{0%{background-position:130% 0}to{background-position:-130% 0}}@keyframes lightboxFade{0%{opacity:0}to{opacity:1}}@keyframes imageFade{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:1100px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:96px}.hero h1{max-width:9ch}.hero__gallery{min-height:560px}.section-heading{grid-template-columns:1fr}.section-heading p{grid-column:1}.masonry-grid{column-count:3}}@media(max-width:760px){.hero,.gallery-section,.site-footer{width:min(100% - 28px,1440px)}.hero{gap:26px;padding:78px 0 48px}.hero__nav{top:20px}.hero__links{display:none}.hero h1{max-width:8.5ch;font-size:clamp(3.55rem,18vw,5.4rem)}.hero__subtitle{margin:20px 0 24px}.hero__gallery{min-height:430px}.hero__photo{border-width:7px;border-radius:18px}.botanical{width:150px;height:230px}.botanical--hero-left{bottom:auto;top:316px;left:-58px;opacity:.56}.botanical--hero-right{top:72px;right:-74px;opacity:.52}.gallery-section{padding:62px 0 74px}.masonry-grid{column-count:2;column-gap:12px}.image-card,.skeleton-card{margin-bottom:12px;border-radius:14px}.image-card:after{inset:7px;border-radius:10px}.gallery-section:before{right:-150px;opacity:.42}.site-footer{flex-direction:column}.lightbox{padding:16px}.lightbox__figure img{max-height:78vh}.lightbox__close{top:14px;right:14px}.lightbox__nav{top:auto;bottom:86px;width:52px;height:52px;transform:none}.lightbox__nav:hover{transform:scale(1.04)}.lightbox__nav--prev{left:18px}.lightbox__nav--next{right:18px}.lightbox__toolbar{bottom:18px;width:calc(100% - 32px);justify-content:space-between}}@media(max-width:460px){.masonry-grid{column-count:1}.hero h1{font-size:clamp(3.05rem,17vw,3.9rem)}.hero__gallery{min-height:350px}.section-heading h2{font-size:clamp(2.65rem,13vw,3.6rem)}.lightbox__toolbar{border-radius:18px}.button--ghost{padding:0 14px}}@media(max-width:360px){.hero,.gallery-section,.site-footer{width:min(100% - 22px,1440px)}.hero h1{font-size:clamp(2.65rem,15.5vw,3.35rem)}.hero__eyebrow{font-size:.66rem;letter-spacing:.13em}}
