.wedding-root{--w-display:var(--font-display-editorial);--w-body:var(--font-body-wedding);--w-script:var(--font-display-script);background:var(--w-paper);color:var(--w-ink);min-height:100vh;font-family:var(--w-body), sans-serif}.wedding-root.fonts-editorial{--w-display:var(--font-display-editorial)}.wedding-root.fonts-luxury{--w-display:var(--font-display-luxury)}.wedding-root.fonts-modern{--w-display:var(--font-display-modern)}.wedding-root.fonts-scripted{--w-display:var(--font-display-script)}.wedding-root.fonts-formal{--w-display:var(--font-display-formal)}.wedding-root .w-display{font-family:var(--w-display), serif}.wedding-root .w-script{font-family:var(--w-script), cursive}.wedding-root.motion-soft .w-reveal{animation:.9s both w-rise}.wedding-root.motion-cinematic .w-reveal{animation:1.2s cubic-bezier(.22,1,.36,1) both w-rise}.wedding-root.radius-soft .w-media,.wedding-root.radius-soft .w-panel{border-radius:1.25rem;overflow:hidden}.wedding-root.section-ruled .w-section-title{border-bottom:1px solid var(--w-line);padding-bottom:.75rem}.wedding-root.section-panel .w-panel{background:color-mix(in oklab, var(--w-paper) 88%, var(--w-ink));border:1px solid var(--w-line)}.wedding-root.section-band .w-band{background:color-mix(in oklab, var(--w-ink) 6%, var(--w-paper))}@keyframes w-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.theme-ivory .hero-names{letter-spacing:-.04em;font-weight:500}.theme-atelier{letter-spacing:.01em}.theme-atelier .w-section-title{font-size:clamp(2rem,4vw,2.75rem);font-weight:400}.theme-nocturne .hero-names{font-size:clamp(3.5rem,10vw,7rem)}.theme-botanica .classic-frame{border-color:color-mix(in oklab, var(--w-accent) 35%, var(--w-line));padding:1.25rem}.theme-riviera .hero-grid{background:color-mix(in oklab, var(--w-accent) 8%, var(--w-paper))}.theme-gallery .mosaic{gap:.35rem}.theme-linen{background-image:radial-gradient(color-mix(in oklab, var(--w-ink) 4%, transparent) 1px, transparent 1px);background-size:18px 18px}.theme-coastal .hero-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in oklab, var(--w-paper) 88%, transparent)}.theme-estate .monogram-ring{border:1px solid #ffffff8c;border:1px solid lab(100% -.0000298023 .0000119209/.55)}.theme-sol .overlap-photo{box-shadow:0 24px 60px #2c211847}.hero-grid{min-height:92vh;display:grid}@media (min-width:900px){.hero-grid{grid-template-columns:1fr 1.15fr}.hero-grid.hero-flip{grid-template-columns:1.15fr 1fr}.hero-grid.hero-flip .hero-copy{order:2}}.hero-photo{background-position:50%;background-size:cover;min-height:50vh}@media (min-width:900px){.hero-photo{min-height:100%}}.layout-mosaic .mosaic{grid-template-columns:repeat(6,1fr);gap:.6rem;display:grid}.layout-mosaic .mosaic>:first-child{grid-area:span 2/span 4}.layout-mosaic .mosaic>:nth-child(2),.layout-mosaic .mosaic>:nth-child(3),.layout-mosaic .mosaic>:nth-child(n+4){grid-column:span 2}@media (max-width:700px){.layout-mosaic .mosaic{grid-template-columns:1fr 1fr}.layout-mosaic .mosaic>*{grid-area:span 1/span 1!important}}.classic-frame{border:1px solid var(--w-line);padding:1.5rem}.story-timeline{max-width:1100px;margin:0 auto;padding:1rem 0 2rem;position:relative}.story-timeline:before{content:"";background:linear-gradient(to bottom, transparent, var(--w-accent) 8%, var(--w-accent) 92%, transparent);opacity:.55;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.story-item{align-items:center;gap:1.5rem;margin-bottom:3.5rem;display:grid;position:relative}@media (min-width:860px){.story-item{grid-template-columns:1fr 1fr;gap:3.5rem;margin-bottom:4.5rem}.story-item.is-flip .story-copy{text-align:left;order:2;padding-left:1.5rem}.story-item.is-flip .story-media{order:1}.story-item:not(.is-flip) .story-copy{text-align:right;padding-right:1.5rem}}.story-dot{display:none}@media (min-width:860px){.story-dot{z-index:2;background:var(--w-paper);border:3px solid var(--w-accent);width:14px;height:14px;box-shadow:0 0 0 4px color-mix(in oklab, var(--w-paper) 80%, transparent);border-radius:999px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}.story-media{aspect-ratio:5/4;object-fit:cover;background:color-mix(in oklab, var(--w-ink) 8%, var(--w-paper));width:100%}.story-year{letter-spacing:.2em;text-transform:uppercase;color:var(--w-muted);font-size:.72rem}.person-avatar{aspect-ratio:4/5;background:radial-gradient(ellipse 70% 55% at 50% 38%, color-mix(in oklab, var(--w-paper) 70%, white) 0%, transparent 70%), linear-gradient(165deg, color-mix(in oklab, var(--w-accent) 22%, var(--w-paper)) 0%, color-mix(in oklab, var(--w-ink) 10%, var(--w-paper)) 48%, color-mix(in oklab, var(--w-accent) 28%, var(--w-paper)) 100%);width:100%;color:var(--w-ink);place-items:center;display:grid;position:relative;overflow:hidden}.person-avatar:before{content:"";border:1px solid color-mix(in oklab, var(--w-ink) 18%, transparent);pointer-events:none;position:absolute;inset:.85rem}.person-avatar:after{content:"";border:1px solid color-mix(in oklab, var(--w-accent) 45%, transparent);pointer-events:none;position:absolute;inset:1.15rem}.person-avatar-initials{z-index:1;font-family:var(--w-display), serif;letter-spacing:.08em;color:color-mix(in oklab, var(--w-ink) 82%, var(--w-accent));font-size:clamp(2.75rem,8vw,4.25rem);font-weight:400;line-height:1;position:relative}.person-avatar-mark{z-index:1;letter-spacing:.28em;text-transform:uppercase;color:color-mix(in oklab, var(--w-muted) 70%, var(--w-accent));font-size:.62rem;position:absolute;bottom:1.6rem;left:50%;transform:translate(-50%)}@media (max-width:859px){.story-timeline:before{left:12px}.story-item{padding-left:2rem}.story-item:before{content:"";background:var(--w-paper);border:3px solid var(--w-accent);border-radius:999px;width:12px;height:12px;position:absolute;top:1.25rem;left:6px}.story-dot{display:none}}.gallery-zoom-trigger{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='13' cy='13' r='8.5' fill='white' stroke='%231C1917' stroke-width='2'/%3E%3Cpath d='M13 9v8M9 13h8' stroke='%231C1917' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M19.5 19.5L27 27' stroke='%231C1917' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") 13 13,pointer}.gallery-zoom-dismiss{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='13' cy='13' r='8.5' fill='white' stroke='%231C1917' stroke-width='2'/%3E%3Cpath d='M9 13h8' stroke='%231C1917' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M19.5 19.5L27 27' stroke='%231C1917' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") 13 13,pointer}.gallery-zoom-badge{background:color-mix(in oklab, var(--w-paper) 92%, white);width:2.25rem;height:2.25rem;color:var(--w-ink);opacity:0;border-radius:999px;justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:inline-flex;position:absolute;bottom:.75rem;right:.75rem;transform:translateY(4px);box-shadow:0 6px 18px #0000002e}.gallery-zoom-trigger:hover .gallery-zoom-badge,.gallery-zoom-trigger:focus-visible .gallery-zoom-badge{opacity:1;transform:translateY(0)}.w-form{border:1px solid var(--w-line);background:color-mix(in oklab, var(--w-paper) 92%, var(--w-ink));color:var(--w-ink);padding:1.5rem}.wedding-root.radius-soft .w-form,.wedding-root.radius-soft .w-form-card{border-radius:1.25rem}.w-form-card{border:1px solid var(--w-line);background:var(--w-paper);padding:1rem 1.1rem}.w-label{font-size:.875rem;display:block}.w-label-text{color:var(--w-muted);letter-spacing:.04em;margin-bottom:.4rem;display:block}.w-input,.w-select,.w-textarea{border:1px solid var(--w-line);background:var(--w-paper);width:100%;color:var(--w-ink);outline:none;padding:.65rem .85rem;transition:border-color .15s,box-shadow .15s}.wedding-root.radius-soft .w-input,.wedding-root.radius-soft .w-select,.wedding-root.radius-soft .w-textarea{border-radius:.85rem}.w-input:focus,.w-select:focus,.w-textarea:focus{border-color:color-mix(in oklab, var(--w-accent) 55%, var(--w-line));box-shadow:0 0 0 3px color-mix(in oklab, var(--w-accent) 18%, transparent)}.w-input::placeholder,.w-textarea::placeholder{color:color-mix(in oklab, var(--w-muted) 75%, transparent)}.w-choice-row{flex-wrap:wrap;gap:.65rem;display:flex}.w-choice{border:1px solid var(--w-line);color:var(--w-ink);letter-spacing:.06em;text-transform:uppercase;background:0 0;padding:.55rem 1.1rem;font-size:.875rem;transition:background .15s,color .15s,border-color .15s}.wedding-root.radius-soft .w-choice{border-radius:999px}.w-choice[data-active=true]{background:var(--w-accent);border-color:var(--w-accent);color:var(--w-paper)}.w-check-grid{gap:.65rem;display:grid}@media (min-width:640px){.w-check-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.w-check-label,.w-radio-label{color:var(--w-ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.65rem;font-size:.875rem;display:inline-flex}.w-check,.w-radio{appearance:none;border:1.5px solid color-mix(in oklab, var(--w-ink) 35%, var(--w-line));background:var(--w-paper);flex-shrink:0;place-content:center;width:1.15rem;height:1.15rem;margin:0;transition:background .15s,border-color .15s,box-shadow .15s;display:grid}.w-check{border-radius:.2rem}.w-radio{border-radius:999px}.w-check:before,.w-radio:before{content:"";transition:transform .12s;transform:scale(0)}.w-check:before{border-left:2px solid var(--w-paper);border-bottom:2px solid var(--w-paper);transform-origin:50%;width:.55rem;height:.3rem;margin-top:-.1rem;transform:scale(0)rotate(-45deg)}.w-radio:before{background:var(--w-paper);border-radius:999px;width:.45rem;height:.45rem}.w-check:checked,.w-radio:checked{background:var(--w-accent);border-color:var(--w-accent)}.w-check:checked:before{transform:scale(1)rotate(-45deg)}.w-radio:checked:before{transform:scale(1)}.w-check:focus-visible,.w-radio:focus-visible{box-shadow:0 0 0 3px color-mix(in oklab, var(--w-accent) 22%, transparent);outline:none}.w-submit{border:1px solid var(--w-accent);background:var(--w-accent);color:var(--w-paper);letter-spacing:.14em;text-transform:uppercase;padding:.7rem 1.4rem;font-size:.8rem;transition:opacity .15s}.wedding-root.radius-soft .w-submit{border-radius:999px}.w-submit:disabled{opacity:.55}.w-form-legend{font-family:var(--w-display), serif;color:var(--w-ink);padding:0 .25rem;font-size:1.15rem}
