/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}.inline{display:inline}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@font-face{font-family:Great Vibes;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/great-vibes-latin-400-normal.woff2)format("woff2")}:root{--paper:#f3ede3;--light:#fbf8f2;--deep:#e5d8c8;--ink:#342d28;--soft:#74675e;--line:#43362c33;--sepia:#987e69;--serif:"Iowan Old Style", Baskerville, "Palatino Linotype", Georgia, serif;--script:"Snell Roundhand", "Segoe Script", "Apple Chancery", cursive;--home-script:"Great Vibes", "Snell Roundhand", cursive;--sans:var(--font-geist-sans), "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 12% 8%, #fff9, transparent 27%), repeating-linear-gradient(90deg, #493a2d05 0, #493a2d05 1px, transparent 1px, transparent 8px), var(--paper);color:var(--ink);font-family:var(--sans);margin:0}body:before{z-index:40;pointer-events:none;content:"";opacity:.1;mix-blend-mode:multiply;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'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button:disabled{cursor:not-allowed;opacity:.55}.site-header{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f5f0e8e8;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;min-height:76px;padding:0 3.5vw;display:grid;position:fixed;inset:0 0 auto}.header-actions{align-items:center;gap:.55rem;display:flex}.header-register{border:1px solid var(--line);color:var(--ink);letter-spacing:.11em;text-transform:uppercase;padding:.62rem .9rem;font-size:.63rem;font-weight:700;text-decoration:none}.registration-layout{grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,7vw,8rem);padding:clamp(5rem,9vw,9rem) 8vw;display:grid}.registration-copy>h2,.access-card h2{font-family:var(--serif);margin:0 0 1rem;font-size:clamp(2rem,3vw,3.4rem);font-weight:400}.registration-copy>p,.access-card p{color:var(--soft);line-height:1.75}.verification-banner{color:#314638;text-align:center;background:#eef3ea;border:1px solid #a7b6a3;margin:2rem 8vw 0;padding:1rem 1.25rem;line-height:1.6}.login-card,.access-card{border:1px solid var(--line);background:#ffffff6b;margin-top:2rem;padding:2rem}.login-card h3{font-family:var(--serif);margin:.3rem 0 1.4rem;font-size:1.6rem;font-weight:400}.login-card label{margin-top:1rem;display:block}.login-card .button{margin-top:1.4rem}.locked-input{color:var(--soft);cursor:not-allowed;background:#4c413012!important}.access-preview-active{min-height:100svh;position:relative;overflow:hidden}.access-preview-active .site-shell{filter:blur(10px)saturate(.78);pointer-events:none;transform-origin:50%;-webkit-user-select:none;user-select:none;min-height:100svh;transform:scale(1.018)}.access-preview-layer{z-index:100;background:#271f1a85;place-items:center;padding:2rem;display:grid;position:fixed;inset:0;overflow:auto}.access-preview-modal{text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fbf8f2f5;border:1px solid #ffffff94;border-radius:2px;width:min(610px,100%);max-height:calc(100svh - 2rem);padding:2.15rem 2.6rem 1.8rem;position:relative;overflow:auto;box-shadow:0 34px 90px #1d16125c}.access-preview-modal:before{content:"";pointer-events:none;border:1px solid #987e693d;position:absolute;inset:.65rem}.access-preview-modal>*{z-index:1;position:relative}.access-preview-monogram{font-family:var(--home-script);letter-spacing:-.22em;margin:0 auto .6rem;font-size:2.45rem;line-height:1}.access-preview-monogram span{position:relative;top:.2em}.access-preview-modal>.eyebrow{letter-spacing:.24em;margin-bottom:.65rem;font-size:.57rem}.access-preview-modal h1{max-width:390px;font-family:var(--serif);letter-spacing:-.035em;margin:0 auto .55rem;font-size:clamp(2rem,3vw,2.65rem);font-weight:400;line-height:1.05}.access-preview-intro{max-width:390px;color:var(--soft);font-family:var(--serif);margin:0 auto 1.35rem;font-size:.9rem;line-height:1.55}.access-preview-tabs{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;margin-bottom:1.15rem;display:grid}.access-preview-tabs button{color:var(--soft);cursor:pointer;letter-spacing:.15em;text-transform:uppercase;background:0 0;border:0;padding:.8rem 1rem;font-size:.62rem;font-weight:700;position:relative}.access-preview-tabs button:after{background:var(--ink);content:"";height:2px;transition:all .18s;position:absolute;bottom:-1px;left:50%;right:50%}.access-preview-tabs button.active{color:var(--ink)}.access-preview-tabs button.active:after{left:0;right:0}.access-preview-social-label{color:var(--soft);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .55rem;font-size:.56rem;font-weight:700}.access-preview-socials{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.access-preview-socials button{border:1px solid var(--line);min-height:44px;color:var(--ink);cursor:pointer;white-space:nowrap;background:#fffdf9;justify-content:center;align-items:center;gap:.45rem;padding:.65rem .5rem;font-size:.62rem;font-weight:600;display:flex}.google-mark,.apple-mark,.facebook-mark{flex:none;place-items:center;width:1.25rem;height:1.25rem;font-family:Arial,sans-serif;font-size:.9rem;font-weight:700;display:grid}.google-mark{color:#4285f4}.facebook-mark{color:#fff;background:#1877f2;border-radius:50%;font-size:1rem;line-height:1}.apple-mark{position:relative}.apple-mark:before{content:"";background:#111;border-radius:46% 47% 48% 48%/54% 55% 44% 46%;width:.79rem;height:.78rem;position:absolute;top:.29rem;left:.23rem}.apple-mark:after{content:"";background:#111;border-radius:90% 12% 85% 18%;width:.34rem;height:.23rem;position:absolute;top:.04rem;left:.67rem;transform:rotate(-31deg)}.access-preview-divider{color:#8b7d72;font-family:var(--serif);align-items:center;gap:.9rem;margin:1rem 0;font-size:.72rem;font-style:italic;display:flex}.access-preview-divider:before,.access-preview-divider:after{background:var(--line);content:"";flex:1;height:1px}.access-preview-form{text-align:left;gap:.85rem;display:grid}.access-preview-form label{gap:.35rem}.access-preview-form label>span{letter-spacing:.13em;font-size:.56rem}.access-preview-form input:not([type=checkbox]){border:1px solid var(--line);background:#fffdf9;min-height:43px;padding:.68rem .75rem;font-size:.78rem}.access-preview-password{position:relative}.access-preview-password input{padding-right:4.5rem!important}.access-preview-password button{color:var(--sepia);cursor:pointer;letter-spacing:.1em;text-transform:uppercase;background:0 0;border:0;padding:.25rem;font-size:.58rem;font-weight:700;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.access-preview-options{justify-content:space-between;align-items:center;gap:1rem;display:flex}.access-preview-options>button,.access-preview-back{border:0;border-bottom:1px solid var(--line);color:var(--soft);cursor:pointer;font-family:var(--serif);background:0 0;padding:0;font-size:.72rem}.access-preview-remember,.access-preview-consent{flex-direction:row;align-items:center;gap:.55rem!important}.access-preview-remember input,.access-preview-consent input{width:15px;height:15px;accent-color:var(--ink);flex:none;margin:0}.access-preview-remember span{color:var(--soft);font-family:var(--serif);text-transform:none;font-weight:400;letter-spacing:0!important;font-size:.72rem!important}.access-preview-submit{border:1px solid var(--ink);background:var(--ink);min-height:47px;color:var(--light);cursor:pointer;letter-spacing:.15em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-top:.15rem;padding:.8rem 1.05rem;font-size:.61rem;font-weight:700;display:flex}.access-preview-pair{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.access-preview-consent{align-items:flex-start;margin-top:.1rem}.access-preview-consent span{color:var(--soft);text-transform:none;font-weight:400;line-height:1.35;letter-spacing:0!important;font-size:.65rem!important}.access-preview-back{justify-self:center;margin-top:.45rem}.access-preview-note{color:#91847a;font-family:var(--serif);letter-spacing:.08em;margin:1.25rem 0 0;font-size:.63rem}.access-preview-status{color:var(--soft);font-family:var(--serif);background:#ffffff85;border:1px solid #987e6947;margin:1rem 0 0;padding:.75rem;font-size:.76rem;line-height:1.45}.access-preview-status.success{color:#35613a;background:#e8f1e5;border-color:#9ab290}.access-preview-status.error{color:#8a382f;background:#f8e8e5;border-color:#d5a39b}.access-preview-status.pending{color:#776353;background:#f4eee5;border-color:#cbbb9d}.access-preview-loading{width:min(360px,100%);padding:2.5rem}.access-preview-loading p{color:var(--soft);font-family:var(--serif);margin:.8rem 0 0}.mini-monogram,.footer-monogram{font-family:var(--home-script);letter-spacing:-.22em;font-size:1.7rem;line-height:1}.mini-monogram span,.footer-monogram span{position:relative;top:.22em}.main-nav{justify-content:center;gap:clamp(.55rem,1.45vw,1.55rem);display:flex}.header-profile{max-width:120px;color:var(--soft);font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.header-logout{cursor:pointer;background:0 0;border:0;padding:0}.main-nav a{color:var(--soft);font-family:var(--serif);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;padding:.5rem 0;font-size:.61rem;position:relative}.main-nav a:after{background:var(--ink);content:"";height:1px;transition:all .18s;position:absolute;bottom:0;left:50%;right:50%}.main-nav a:hover:after,.main-nav a:focus-visible:after,.main-nav a.active:after{left:0;right:0}.main-nav a.active{color:var(--ink)}.header-rsvp{border:1px solid var(--ink);letter-spacing:.14em;justify-self:end;padding:.65rem .75rem;font-size:.61rem;font-weight:700}.menu-button{display:none}.eyebrow{color:var(--sepia);letter-spacing:.22em;text-transform:uppercase;margin:0 0 1rem;font-size:.65rem;font-weight:700;line-height:1.5}.button{cursor:pointer;letter-spacing:.15em;text-transform:uppercase;border:0;justify-content:center;align-items:center;min-height:49px;padding:.85rem 1.25rem;font-size:.66rem;font-weight:700;transition:all .18s;display:inline-flex}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button-primary{background:var(--ink);color:var(--light);box-shadow:0 14px 34px #362c251c}.button-outline{border:1px solid var(--ink);background:0 0}.text-link{border-bottom:1px solid var(--line);font-family:var(--serif);padding:.65rem 0;font-size:.82rem}.wedding-icon{width:42px;height:42px;color:var(--sepia)}.wedding-icon.large{width:116px;height:116px}.hero{grid-template-columns:minmax(0,.95fr) minmax(410px,1.05fr);align-items:center;min-height:100svh;padding:130px 5vw 110px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";border:1px solid #765f4b18;border-radius:50%;width:34rem;height:34rem;position:absolute;top:11%;left:42%}.hero-copy{z-index:2;max-width:650px;padding:2rem 2vw;position:relative}.hero-copy>.eyebrow{margin-bottom:clamp(2.4rem,3vw,3rem)}.hero h1{font-family:var(--home-script);letter-spacing:-.07em;transform-origin:0;flex-direction:column;align-items:flex-start;margin:0;font-size:clamp(4.3rem,7.5vw,7.5rem);font-weight:400;line-height:.78;display:flex;transform:scaleX(1.32)}.hero h1 i{color:var(--sepia);font-family:var(--serif);margin:.05em 0 .04em 45%;font-size:.26em;font-weight:400}.hero h1 span:last-child{margin-left:10%}.full-names{color:var(--soft);font-family:var(--serif);letter-spacing:.29em;text-transform:uppercase;margin:1.8rem 0 0 .3rem;font-size:.75rem}.hero-intro{max-width:480px;color:var(--soft);font-family:var(--serif);margin:2rem 0 0;font-size:clamp(1.05rem,1.5vw,1.25rem);font-style:italic;line-height:1.65}.hero-actions{align-items:center;gap:2rem;margin-top:2.3rem;display:flex}.hero-photo{aspect-ratio:4/5;filter:drop-shadow(0 30px 40px #48372725);isolation:isolate;justify-self:center;width:min(74%,520px);margin:0;position:relative}.hero-photo:before{z-index:-1;content:"";border:1px solid #765f4b3d;border-radius:46% 54% 43% 57%/57% 42% 58% 43%;position:absolute;inset:-1.15rem -1.35rem -1.35rem -1rem;transform:rotate(-2deg)}.hero-photo:after{z-index:0;content:"";pointer-events:none;background:linear-gradient(#0000 55%,#1d181475);border-radius:52% 48% 44% 56%/58% 39% 61% 42%;position:absolute;inset:0}.hero-photo img{object-fit:cover;object-position:center 48%;filter:saturate(.88)contrast(.96)sepia(.06);border-radius:52% 48% 44% 56%/58% 39% 61% 42%;width:100%;height:100%;display:block}.hero-photo figcaption{z-index:1;width:clamp(205px,34%,255px);min-height:112px;color:var(--ink);text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#f5ede2ed;border:1px solid #765f4b42;border-radius:52% 48% 53% 47%/47% 56% 44% 53%;flex-direction:column;justify-content:center;align-items:center;gap:.38rem;padding:1.15rem 1.7rem 1.05rem;display:flex;position:absolute;bottom:-1.35rem;right:8%;transform:rotate(-1.5deg);box-shadow:0 18px 42px #3d30231c}.hero-photo figcaption span{font-family:var(--home-script);letter-spacing:-.025em;font-size:clamp(1.55rem,2.2vw,2rem);font-weight:400;line-height:1}.hero-photo figcaption i{background:var(--sepia);opacity:.6;width:42px;height:1px}.hero-photo figcaption strong{font-family:var(--serif);letter-spacing:.16em;text-transform:uppercase;font-size:.66rem;font-weight:600}.poster-top{font-family:var(--serif);letter-spacing:.18em;text-transform:uppercase;justify-content:space-between;font-size:.63rem;display:flex;position:absolute;top:1.6rem;left:1.8rem;right:1.8rem}.poster-date{flex-direction:column;align-items:center;margin-bottom:1.2rem;display:flex}.poster-date strong{font-family:var(--serif);font-size:8rem;font-weight:400;line-height:.85}.poster-date small{letter-spacing:.25em;text-transform:uppercase;font-size:.64rem}.poster-place{font-family:var(--serif);flex-direction:column;gap:.55rem;margin-top:1rem;display:flex}.poster-place span{color:var(--sepia);letter-spacing:.19em;text-transform:uppercase;font-size:.62rem}.poster-place strong{font-size:1.2rem;font-weight:400;line-height:1.4}.countdown{border-top:1px solid var(--line);display:flex;position:absolute;bottom:3.3rem;right:5vw}.countdown div{text-align:center;min-width:82px;padding:.8rem .5rem 0}.countdown strong{font-family:var(--serif);font-size:1.4rem;font-weight:400;display:block}.countdown span{color:var(--soft);letter-spacing:.15em;text-transform:uppercase;font-size:.56rem}.love-note{background:var(--ink);min-height:120px;color:var(--light);justify-content:center;align-items:center;gap:2rem;padding:2rem;display:flex}.love-note p{font-family:var(--serif);font-size:clamp(1.2rem,2.2vw,1.9rem);font-style:italic}.love-note span{color:#ccb59e}.section,.list-section{padding:clamp(5rem,9vw,9rem) 6vw}.section-heading{max-width:720px;margin-bottom:3.5rem}.section-heading h2{font-family:var(--serif);margin:0 0 1rem;font-size:clamp(2.4rem,4.6vw,4.7rem);font-weight:400;line-height:1.04}.section-heading>p:last-child{color:var(--soft);font-family:var(--serif);font-size:1.05rem;line-height:1.65}.stay-section-heading{max-width:none}.stay-section-heading>p:last-child{text-wrap:pretty;max-width:1120px}.directory .section-heading{max-width:none}.directory .section-heading h2{white-space:nowrap;width:fit-content;max-width:100%;font-size:clamp(2.25rem,4vw,4.7rem)}.directory-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.directory-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;min-height:325px;padding:1.45rem;transition:all .18s;display:flex;position:relative}.directory-card:hover{background:#faf7f0;transform:translateY(-4px);box-shadow:0 20px 50px #493a2d10}.card-topline{color:var(--soft);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;font-size:.58rem;display:flex}.directory-card .wedding-icon{width:56px;height:56px;margin:2rem 0 auto}.directory-card h3{font-family:var(--serif);margin:0 0 .65rem;font-size:1.55rem;font-weight:400}.directory-card p{color:var(--soft);font-family:var(--serif);margin:0;font-size:.9rem;line-height:1.5}.directory-card b{font-weight:400;position:absolute;bottom:1.2rem;right:1.4rem}.page-hero{isolation:isolate;border-bottom:1px solid var(--line);grid-template-columns:1.25fr .75fr;align-items:center;min-height:60svh;padding:150px 8vw 75px;display:grid;position:relative;overflow:hidden}.page-hero>*{z-index:1;position:relative}.page-hero-illustrated{background-image:var(--hero-image);background-repeat:no-repeat;background-position:var(--hero-position,center);background-size:cover}.page-hero-conferma{--hero-image:url(/backgrounds/invito.jpg);--hero-position:24vw 56%}.page-hero-chiesa{--hero-image:url(/backgrounds/chiesa_Ascoli.jpg);--hero-position:center 53%}.page-hero-ricevimento{--hero-image:url(/backgrounds/villabianca.jpeg);--hero-position:center 62%}.page-hero-ospitalita{--hero-image:url(/backgrounds/hospitality.jpeg);--hero-position:center 58%}.page-hero-trasferimenti{--hero-image:url(/backgrounds/trasporti.jpg);--hero-position:center 58%}.page-hero-pensiero{--hero-image:url(/backgrounds/dono.jpeg);--hero-position:center 54%}.page-hero-ricordo{--hero-image:url(/backgrounds/foto.jpeg);--hero-position:center 52%}.page-hero-illustrated:before{z-index:0;content:"";background:linear-gradient(90deg,#faf6eff7 0%,#faf6efe8 44%,#f4ebdeb3 72%,#ede0cf80 100%),linear-gradient(#f4ebde38,#e5d8c85c);position:absolute;inset:0}.page-hero-conferma:before{background:linear-gradient(90deg,#faf6eff7 0%,#faf6efe6 36%,#f4ebde6b 58%,#ede0cf29 100%),linear-gradient(#f4ebde2e,#e5d8c847)}.page-hero>div:first-child{max-width:850px}.page-hero h1{font-family:var(--serif);letter-spacing:-.045em;margin:0 0 1.5rem;font-size:clamp(3rem,6vw,6.4rem);font-weight:400;line-height:.95}.page-hero>div:first-child>p:last-child{max-width:670px;color:var(--soft);font-family:var(--serif);font-size:clamp(1.08rem,1.7vw,1.35rem);font-style:italic;line-height:1.65}.page-hero-ospitalita>div:first-child>p:last-child{width:min(1080px,84vw);max-width:none}.content-grid,.place-layout,.transfer-layout{grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,7vw,8rem);padding:clamp(5rem,9vw,9rem) 8vw;display:grid}.content-grid,.registration-layout,.place-layout,.list-section,.transfer-layout,.transfer-booking,.gift-layout,.memory-selector-section,.guest-memory-section,.photographer-intro,.official-gallery{width:100%;max-width:1440px;margin-left:auto;margin-right:auto}.editorial-copy h2,.place-layout h2,.transfer-layout h2,.centered-content h2,.memory-grid h2{font-family:var(--serif);margin:0 0 1.4rem;font-size:clamp(2.2rem,3.5vw,4rem);font-weight:400;line-height:1.07}.editorial-copy>p,.place-layout article>p,.transfer-layout article>p,.centered-content>p,.memory-grid p{color:var(--soft);font-family:var(--serif);font-size:1.04rem;line-height:1.75}.note-card{border-left:2px solid var(--sepia);background:#ede3d6;flex-direction:column;gap:.35rem;margin-top:2rem;padding:1.3rem;display:flex}.note-card strong{font-family:var(--serif);font-size:1.1rem}.note-card span{color:var(--soft);font-size:.83rem;line-height:1.5}.rsvp-form,.upload-card{border:1px solid var(--line);background:var(--light);padding:clamp(1.5rem,4vw,3.5rem)}.form-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.form-heading span{font-family:var(--serif);font-size:1.2rem}.form-heading button,.remove-guest{color:var(--sepia);cursor:pointer;letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;font-size:.66rem;font-weight:700}.form-heading button:disabled{cursor:not-allowed;opacity:.45}.guest-fields{border:0;border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1rem;margin:0 0 1.8rem;padding:2rem 0 0;display:grid;position:relative}.guest-fields legend{float:left;color:var(--soft);letter-spacing:.14em;text-transform:uppercase;padding:0;font-size:.6rem}.remove-guest{position:absolute;top:.7rem;right:0}label{flex-direction:column;gap:.5rem;display:flex}label>span{color:var(--soft);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:700}input{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);background:0 0;outline:none;padding:.85rem .2rem}input:focus{border-color:var(--ink)}.wide-field{grid-column:1/-1}.privacy-check{flex-direction:row;align-items:flex-start;gap:.75rem;margin:1.2rem 0}.privacy-check input{width:17px;height:17px;accent-color:var(--ink);flex:none;margin-top:1px}.privacy-check span{letter-spacing:0;text-transform:none;font-size:.72rem;font-weight:400;line-height:1.45}.submit-button{width:100%}.form-status{color:#9b4d41;min-height:1.2em;margin:1rem 0 0;font-size:.78rem;line-height:1.5}.form-status.success{color:#596b4e}.form-status.warning{color:#8a642d}.place-layout{grid-template-columns:1.15fr .85fr}.place-layout article>p{max-width:760px}.detail-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1rem;margin:2.5rem 0;padding:1.4rem 0;display:grid}.detail-row div{flex-direction:column;gap:.45rem;display:flex}.detail-row span{color:var(--soft);letter-spacing:.16em;text-transform:uppercase;font-size:.57rem}.detail-row strong{font-family:var(--serif);font-size:.95rem;font-weight:400}.detail-row .dress-code-note{border-top:1px solid var(--line);grid-column:1/-1;align-items:center;gap:.8rem;max-width:none;margin:.35rem 0 0;padding-top:1.15rem;display:flex}.detail-row .dress-code-note>span:last-child{flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;display:flex}.detail-row .dress-code-note .dress-code-mark{color:var(--sepia);font-family:var(--serif);font-size:1.35rem;line-height:1}.detail-row .dress-code-note strong{color:var(--ink);font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;font-size:.57rem;font-weight:700}.detail-row .dress-code-note span span{color:var(--ink);font-family:var(--serif);letter-spacing:0;text-transform:none;font-size:.94rem}.map-actions{flex-wrap:wrap;gap:.8rem;display:flex}.map-panel{border:1px solid var(--line);background:#e8dccd;min-height:480px;overflow:hidden}.map-panel iframe{filter:sepia(.28)saturate(.72)contrast(.95);border:0;width:100%;height:420px;display:block}.map-panel>div{color:var(--soft);font-family:var(--serif);align-items:center;gap:1rem;padding:1.2rem 1.4rem;font-size:.85rem;display:flex}.map-panel .wedding-icon{width:32px;height:32px;color:var(--sepia);flex:none}.stay-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.stay-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;min-height:340px;padding:2rem;display:flex}.stay-grid article>span{color:var(--soft);font-size:.62rem}.stay-grid .wedding-icon{width:62px;height:62px;margin:2.5rem 0 auto}.stay-grid h3{font-family:var(--serif);margin:0;font-size:1.8rem;font-weight:400}.stay-grid p{color:var(--soft);font-family:var(--serif)}.stay-grid small{color:var(--sepia);letter-spacing:.12em;text-transform:uppercase}.transfer-layout{grid-template-columns:1fr 1fr;align-items:center}.route-card{background:var(--ink);min-height:440px;color:var(--light);text-align:center;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex}.route-card span{font-family:var(--serif);font-size:1rem}.route-card i{background:#cdb49c;width:12%;height:1px}.route-card .wedding-icon{color:#d5bda5}.transfer-layout .button{margin-top:2rem}.route-button{width:100%;margin-top:1rem}.transfer-booking{grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,7vw,8rem);padding:0 8vw clamp(5rem,9vw,9rem);display:grid}.transfer-booking .section-heading{margin:0}.trip-options{border:1px solid var(--line);margin:1.8rem 0 1rem;padding:1.2rem}.trip-options legend{color:var(--soft);letter-spacing:.12em;text-transform:uppercase;padding:0 .5rem;font-size:.62rem;font-weight:700}.trip-options .privacy-check{margin:.8rem 0}.passenger-total{color:var(--soft);letter-spacing:.08em;text-align:right;text-transform:uppercase;margin:1rem 0 0;font-size:.72rem}.passenger-total strong{color:var(--ink);font-family:var(--serif);font-size:1.05rem;font-weight:400}.centered-content{text-align:center;max-width:860px;margin:0 auto;padding:clamp(6rem,12vw,11rem) 2rem}.centered-content .wedding-icon{margin-bottom:2rem}.centered-content>p{max-width:620px;margin-left:auto;margin-right:auto}.coming-badge{border:1px solid var(--line);color:var(--sepia);letter-spacing:.16em;text-transform:uppercase;margin-top:2rem;padding:.8rem 1.2rem;font-size:.62rem;font-weight:700;display:inline-block}.gift-layout{grid-template-columns:.82fr 1.18fr;align-items:center;gap:clamp(3rem,7vw,8rem);padding:clamp(5rem,9vw,9rem) 8vw;display:grid}.gift-copy .wedding-icon{margin-bottom:2rem}.gift-copy h2{font-family:var(--serif);margin:0 0 1.4rem;font-size:clamp(2.2rem,3.5vw,4rem);font-weight:400;line-height:1.07}.gift-copy>p:last-child{color:var(--soft);font-family:var(--serif);font-size:1.04rem;line-height:1.75}.iban-card{border:1px solid var(--line);background:var(--light);padding:clamp(2rem,5vw,4rem);position:relative;box-shadow:0 24px 60px #43362c14}.iban-card:before{content:"";pointer-events:none;border:1px solid #987e6938;position:absolute;inset:1rem}.iban-card>*{z-index:1;position:relative}.iban-card>div{border-top:1px solid var(--line);grid-template-columns:130px minmax(0,1fr);gap:1.5rem;padding:1.5rem 0;display:grid}.iban-card>div span{color:var(--soft);letter-spacing:.14em;text-transform:uppercase;font-size:.62rem;font-weight:700}.iban-card>div strong{font-family:var(--serif);overflow-wrap:anywhere;font-size:clamp(1.2rem,2vw,1.75rem);font-weight:400}.iban-card .iban-value{font-family:var(--sans);letter-spacing:.02em;white-space:nowrap;font-size:clamp(.88rem,1.25vw,1.08rem);font-weight:600}.iban-card .button{margin-top:1.5rem}.copy-status{min-height:1.2em;color:var(--sepia);margin:.8rem 0 0;font-size:.72rem}.memory-grid{grid-template-columns:1.08fr .92fr;gap:2rem;padding:clamp(4rem,8vw,8rem) 7vw;display:grid}.memory-selector-section{padding:clamp(3rem,6vw,5rem) 7vw 0}.memory-selector{border:1px solid var(--line);background:#f3eadf;border-radius:999px;grid-template-columns:1fr 1fr;max-width:860px;margin:0 auto;padding:.4rem;display:grid}.memory-selector button{min-height:58px;color:var(--ink);font:500 .78rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.8rem;padding:.8rem 1.5rem;transition:color .25s,background .25s,box-shadow .25s;display:flex}.memory-selector button span{border:1px solid;border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;font-size:.62rem;display:grid}.memory-selector button.active{background:var(--ink);color:var(--light);box-shadow:0 8px 24px #352d261f}.guest-memory-section{padding:2rem 7vw clamp(4rem,8vw,8rem)}.guest-memory-layout{grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);align-items:start;gap:clamp(1.5rem,4vw,4rem);display:grid}.guest-memory-section .upload-card{width:100%}.my-memories{border:1px solid var(--line);background:#f1e9de;min-width:0;padding:clamp(1.5rem,4vw,3.5rem)}.my-memories-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1rem;padding-bottom:1.2rem;display:flex}.my-memories-heading h2{font-family:var(--serif);margin:.15rem 0 0;font-size:clamp(2.2rem,3.5vw,3.8rem);font-weight:400;line-height:1}.my-memories-heading>span{color:var(--soft);letter-spacing:.11em;text-transform:uppercase;flex:none;font-size:.62rem;font-weight:700}.my-memories>p:not(.form-status){color:var(--soft);font-family:var(--serif);margin:0 0 1.8rem;line-height:1.65}.guest-memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.guest-memory-grid article{border:1px solid var(--line);background:var(--light);min-width:0;overflow:hidden}.guest-memory-preview{aspect-ratio:4/3;background:#ded2c3;place-items:center;display:grid;overflow:hidden}.guest-memory-preview img,.guest-memory-preview video{object-fit:cover;width:100%;height:100%;display:block}.guest-memory-preview video{background:#171411}.guest-memory-details{padding:1rem}.guest-memory-details strong,.guest-memory-details small{display:block}.guest-memory-details strong{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:400;overflow:hidden}.guest-memory-details small{color:var(--soft);margin:.35rem 0 1rem;font-size:.66rem;line-height:1.45}.guest-memory-details>p{color:var(--soft);font-family:var(--serif);margin:-.35rem 0 1rem;font-size:.82rem;line-height:1.5}.guest-memory-details>div{gap:1rem;display:flex}.guest-memory-details a,.guest-memory-details button{color:var(--sepia);cursor:pointer;font:700 .62rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;background:0 0;border:0;padding:0;text-decoration:none}.guest-memory-details a:hover,.guest-memory-details button:hover{text-underline-offset:.2em;text-decoration:underline}.guest-memory-details button.danger{color:#94463c}.guest-memory-details button:disabled{cursor:wait;opacity:.55}.my-memories-empty{border:1px dashed var(--line);min-height:230px;color:var(--soft);text-align:center;background:#f7f0e8b8;flex-direction:column;justify-content:center;align-items:center;gap:.65rem;padding:2rem;display:flex}.my-memories-empty .wedding-icon{width:42px;height:42px;color:var(--sepia);margin-bottom:.4rem}.my-memories-empty strong{color:var(--ink);font-family:var(--serif);font-size:1.3rem;font-weight:400}.my-memories-empty span:not(.loading-spinner){max-width:360px;font-family:var(--serif);font-size:.9rem;line-height:1.5}.photographer-intro{justify-content:space-between;align-items:flex-end;gap:2rem;padding:clamp(4rem,7vw,7rem) 7vw 3rem;display:flex}.photographer-intro>div{max-width:760px}.photographer-intro h2{font-family:var(--serif);margin:0 0 1rem;font-size:clamp(2.3rem,4vw,4.5rem);font-weight:400;line-height:1.05}.photographer-intro p:not(.eyebrow){color:var(--soft);font-family:var(--serif);font-size:1.05rem;line-height:1.7}.photographer-intro .button{flex:none}.card-label{color:var(--sepia);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:.8rem;margin-bottom:2.5rem;font-size:.61rem;font-weight:700;display:flex}.card-label span{border:1px solid var(--sepia);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.upload-card>.wedding-icon{margin-bottom:1rem}.drop-zone{border:1px dashed var(--sepia);text-align:center;cursor:pointer;background:#f3ece2;justify-content:center;align-items:center;min-height:165px;margin-top:1.5rem;padding:1.5rem}.drop-zone input{opacity:0;width:1px;height:1px;position:absolute}.drop-zone strong{font-family:var(--serif);font-size:1.15rem;font-weight:400}.drop-zone small{color:var(--soft);font-size:.68rem;line-height:1.45}.file-summary{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:1rem 0;font-size:.72rem;display:flex}.file-summary span{max-width:75%;color:var(--soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selected-media{margin:1rem 0 1.5rem}.selected-media-heading{justify-content:space-between;gap:.75rem 1.5rem;margin-bottom:.75rem;display:flex}.selected-media-heading strong{font-family:var(--serif);font-size:1rem;font-weight:400}.selected-media-heading span{color:var(--soft);text-align:right;font-size:.66rem;line-height:1.4}.selected-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.selected-media-grid>article:only-child{grid-column:1/-1}.selected-media-grid article{border:1px solid var(--line);background:#fff;min-width:0;transition:border-color .2s,box-shadow .2s;overflow:hidden}.selected-media-grid article.is-success{border-color:#729066;box-shadow:inset 0 0 0 1px #729066}.selected-media-grid article.is-error{border-color:#a9574d;box-shadow:inset 0 0 0 1px #a9574d}.selected-media-preview{aspect-ratio:4/3;background:#ded2c3;place-items:center;display:grid;overflow:hidden}.selected-media-preview img,.selected-media-preview video{object-fit:cover;width:100%;height:100%;display:block}.selected-media-preview video{background:#171411}.selected-media-details{justify-content:space-between;align-items:center;gap:.7rem;padding:.7rem;display:flex}.selected-media-details span{min-width:0;color:var(--soft);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.selected-media-details button{color:#94463c;cursor:pointer;font:700 .58rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;flex:none;padding:0}.selected-media-details button:disabled{cursor:wait;opacity:.5}.selected-media-fields{gap:.85rem;padding:0 .7rem .8rem;display:grid}.selected-media-fields label{gap:.25rem}.selected-media-fields label>span{font-size:.56rem}.selected-media-fields input,.selected-media-fields textarea{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);font:.74rem/1.45 var(--sans);resize:vertical;background:0 0;outline:none;padding:.55rem .1rem}.selected-media-fields textarea{min-height:4.4rem}.selected-media-fields input:focus,.selected-media-fields textarea:focus{border-color:var(--ink)}.selected-media-fields input:disabled,.selected-media-fields textarea:disabled{cursor:not-allowed;opacity:.65}.upload-file-status{border-top:1px solid;align-items:flex-start;gap:.6rem;min-height:3rem;padding:.7rem;font-size:.66rem;line-height:1.4;display:flex}.upload-file-status>span:first-child{border:1px solid;border-radius:50%;flex:none;place-items:center;width:1.2rem;height:1.2rem;font-weight:800;display:grid}.upload-file-status>strong{padding-top:.08rem;font-weight:600}.upload-file-status.success{color:#35613a;background:#e8f1e5}.upload-file-status.error{color:#8a382f;background:#f8e8e5}.upload-file-status.uploading{color:#776353;background:#f4eee5}.upload-file-status .loading-spinner{border-width:1px;width:.65rem;height:.65rem}.photographer-card{background:var(--ink);color:var(--light);flex-direction:column;padding:clamp(2rem,5vw,4rem);display:flex}.photographer-card .card-label,.photographer-card .eyebrow{color:#d3bba4}.photographer-card p{color:#c9bdb2}.lens{border:1px solid #d5bda555;border-radius:50%;justify-content:center;align-items:center;width:220px;height:220px;margin:1rem auto 3rem;display:flex;box-shadow:inset 0 0 0 26px #f3ede30d,inset 0 0 0 27px #d5bda530}.lens .wedding-icon{color:#d3bba4}.photographer-card .button{color:#f6eee5;border-color:#d5bda5;margin-top:auto}.photographer-card>small{color:#a99b90;text-align:center;margin-top:1rem}.photographer-access{color:#d3bba4;letter-spacing:.1em;text-align:center;text-transform:uppercase;margin-top:1.2rem;font-size:.65rem;font-weight:700}.disabled-link{cursor:default;opacity:.55;pointer-events:none}.official-gallery{border-top:1px solid var(--line)}.gallery-grid{grid-auto-flow:dense;grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.gallery-grid figure{aspect-ratio:4/3;background:#e8ddce;margin:0;position:relative;overflow:hidden}.gallery-grid figure>button{background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:relative}.gallery-grid figure>button:focus-visible{outline-offset:-5px;outline:3px solid #fff}.gallery-photo-trigger{cursor:zoom-in}.gallery-video-trigger{cursor:pointer}.gallery-grid img,.gallery-grid video{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .5s;display:block}.gallery-grid .gallery-item-photo:hover img{transform:scale(1.025)}.gallery-video-preview{background:#171411}.gallery-video-badge{color:#fff;letter-spacing:.1em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#1e1915c7;border:1px solid #ffffffb3;border-radius:999px;align-items:center;gap:.65rem;padding:.55rem .9rem .55rem .55rem;font-size:.62rem;font-weight:700;transition:background .2s,transform .2s;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gallery-video-play{color:#322a24;background:#fff;border-radius:50%;place-items:center;width:2rem;height:2rem;padding-left:.12rem;font-size:.7rem;line-height:1;display:grid}.gallery-video-trigger:hover .gallery-video-badge,.gallery-video-trigger:focus-visible .gallery-video-badge{background:#1e1915eb;transform:translate(-50%,-50%)scale(1.04)}.gallery-grid figcaption{color:#fff;pointer-events:none;background:linear-gradient(#0000,#241f1bc7);flex-direction:column;gap:.25rem;padding:3rem 1.2rem 1.2rem;display:flex;position:absolute;bottom:0;left:0;right:0}.gallery-grid figcaption:empty{display:none}.gallery-grid figcaption strong{font-family:var(--serif);font-size:1.1rem;font-weight:400}.gallery-grid figcaption span{opacity:.82;font-size:.72rem}.gallery-empty{border:1px solid var(--line);text-align:center;background:#eee4d6;padding:5rem 2rem}.gallery-empty h3{font-family:var(--serif);margin:1.5rem 0 .5rem;font-size:2rem;font-weight:400}.gallery-empty p{color:var(--soft);font-family:var(--serif)}.gallery-lightbox{z-index:1000;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#15120ff2;grid-template-columns:5rem minmax(0,1fr) 5rem;align-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.lightbox-content{flex-direction:column;justify-content:center;align-items:center;min-width:0;max-height:calc(100vh - 3rem);display:flex}.lightbox-content img,.lightbox-content video{object-fit:contain;max-width:100%;max-height:calc(100vh - 8.5rem);display:block;box-shadow:0 20px 70px #0008}.lightbox-content video{background:#000;width:min(100%,1100px)}.lightbox-caption{text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.45rem 1rem;max-width:860px;padding-top:1rem;display:flex}.lightbox-caption span{color:#d3bba4;letter-spacing:.12em;font-size:.7rem;font-weight:700}.lightbox-caption strong{font-family:var(--serif);font-size:1.2rem;font-weight:400}.lightbox-caption p{color:#d8d0c8;width:100%;margin:0;font-size:.82rem}.lightbox-close,.lightbox-arrow{color:#fff;cursor:pointer;background:#f7f0e814;border:0;transition:background .2s,transform .2s}.lightbox-close:hover,.lightbox-arrow:hover{background:#f7f0e82b}.lightbox-close{z-index:2;border-radius:50%;width:3rem;height:3rem;font-size:2rem;line-height:1;position:absolute;top:1rem;right:1rem}.lightbox-arrow{width:3.4rem;height:4.6rem;font-family:var(--serif);border-radius:999px;font-size:3rem;line-height:1}.lightbox-arrow:active{transform:scale(.94)}.lightbox-previous{justify-self:start}.lightbox-next{justify-self:end}.gallery-video-player{z-index:1100;background:#000;place-items:center;width:100vw;height:100dvh;display:grid;position:fixed;inset:0;overflow:hidden}.gallery-video-player video{object-fit:contain;background:#000;width:100vw;max-width:none;height:100dvh;max-height:none;display:block}.video-player-close{top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));background:#15120fb8}.upload-form{position:relative}.upload-overlay{z-index:5;color:var(--ink);text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#f7f0e8e8;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2rem;display:flex;position:absolute;inset:0}.upload-overlay strong{font-family:var(--serif);font-size:1.45rem;font-weight:400}.upload-overlay small{color:var(--soft)}.loading-spinner{vertical-align:-.15rem;border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:1rem;height:1rem;animation:.75s linear infinite loading-spin;display:inline-block}.loading-spinner-large{width:2.7rem;height:2.7rem;color:var(--sepia);border-width:3px}.submit-button:disabled{cursor:wait;opacity:.72}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation-duration:1.5s}}footer{border-top:1px solid var(--line);grid-template-columns:1fr auto auto auto;align-items:center;gap:2rem;min-height:130px;padding:2rem 5vw;display:grid}footer p{font-family:var(--serif)}footer small{color:var(--soft)}footer a{letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:700}.admin-page{background:var(--light);min-height:100vh;padding:clamp(2rem,5vw,5rem)}.admin-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:2rem;padding-bottom:2.5rem;display:flex}.admin-header h1{font-family:var(--serif);letter-spacing:-.04em;margin:0 0 .8rem;font-size:clamp(2.6rem,5vw,5.8rem);font-weight:400;line-height:.95}.admin-header p:last-child{color:var(--soft);font-family:var(--serif);margin:0;font-size:1.05rem}.admin-actions{flex:none;gap:.7rem;display:flex}.admin-export-panel{border:1px solid var(--line);background:#f1e9de;grid-template-columns:minmax(260px,.85fr) minmax(460px,1.15fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);margin:2rem 0;padding:clamp(1.5rem,3vw,2.4rem);display:grid}.admin-export-panel h2{font-family:var(--serif);margin:.2rem 0 .55rem;font-size:clamp(1.8rem,3vw,3rem);font-weight:400;line-height:1}.admin-export-panel p:last-child{max-width:620px;color:var(--soft);margin:0;line-height:1.55}.admin-export-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.admin-export-actions .button{text-align:center;justify-content:center;align-items:center;min-height:54px;padding-left:.8rem;padding-right:.8rem;display:flex}.admin-stats{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:2rem 0;display:grid}.admin-stats-six{grid-template-columns:repeat(3,1fr)}.admin-stats article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:145px;padding:1.4rem}.admin-stats span{color:var(--soft);letter-spacing:.12em;text-transform:uppercase;font-size:.63rem;font-weight:700;display:block}.admin-stats strong{font-family:var(--serif);margin-top:1.2rem;font-size:3.2rem;font-weight:400;display:block}.admin-filter{max-width:620px;margin:2.5rem 0 4rem}.admin-section{margin-top:4rem}.admin-section-title{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.4rem;display:flex}.admin-section-title h2{font-family:var(--serif);margin:0;font-size:clamp(2rem,3vw,3.6rem);font-weight:400}.admin-section-title>span{color:var(--soft);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem}.table-wrap{border:1px solid var(--line);overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%;font-size:.82rem}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:1rem}th{color:var(--soft);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;background:#ede4d8;font-size:.61rem}td strong{font-family:var(--serif);font-size:.95rem;font-weight:400}.admin-passenger-list{min-width:180px;margin:0;padding-left:1.15rem}.admin-passenger-list li+li{margin-top:.35rem}.presence-badge{color:var(--soft);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#eee9e1;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .55rem;font-size:.6rem;font-weight:700;display:inline-flex}.presence-badge:before{content:"";background:#a69d92;border-radius:50%;width:.46rem;height:.46rem}.presence-badge.online{color:#27633b;background:#e2efe5}.presence-badge.online:before{background:#36a45c;box-shadow:0 0 0 3px #36a45c24}.admin-cell-note{color:var(--soft);white-space:nowrap;margin-top:.35rem;font-size:.68rem;font-weight:400;display:block}.admin-row-actions{gap:.75rem;min-width:125px;display:flex}.admin-row-actions button{color:var(--sepia);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;padding:0;font-size:.62rem;font-weight:700}.admin-row-actions button:hover,.admin-row-actions button:focus-visible{text-underline-offset:.2em;text-decoration:underline}.admin-row-actions button.danger{color:#94463c}.admin-notice{background:#fff;border-left:3px solid;max-width:720px;margin:-2.5rem 0 2.5rem;padding:.85rem 1rem}.admin-notice.success{color:#27633b}.admin-notice.error{color:#94463c}.admin-dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1e18149e;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.admin-dialog{background:var(--light);border:1px solid #ffffff80;width:min(100%,650px);max-height:calc(100svh - 2rem);padding:clamp(1.7rem,4vw,3rem);overflow-y:auto;box-shadow:0 32px 90px #14100d57}.admin-dialog h2{font-family:var(--serif);margin:.25rem 0 .8rem;font-size:clamp(2rem,4vw,3.5rem);font-weight:400;line-height:1}.admin-dialog>p:not(.eyebrow),.admin-dialog form>p{color:var(--soft);line-height:1.55}.admin-dialog label{margin-top:1rem;display:block}.admin-form-pair{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.admin-dialog .admin-checkbox{flex-direction:row;align-items:center;gap:.7rem;display:flex}.admin-dialog .admin-checkbox input{width:auto}.admin-dialog-actions{justify-content:flex-end;gap:.75rem;margin-top:2rem;display:flex}.admin-dialog-error{margin:1rem 0 0;color:#94463c!important}.admin-danger-button{color:#fff;background:#94463c;border-color:#94463c}.admin-danger-button:hover{background:#7e372f}.admin-delete-dialog{width:min(100%,580px)}.admin-denied{text-align:center;place-content:center;min-height:100vh;padding:2rem;display:grid}.admin-denied h1{font-family:var(--serif);font-size:3rem;font-weight:400}.admin-login{background:#e9dfd1;place-items:center;min-height:100vh;padding:2rem;display:grid}.admin-login form{border:1px solid var(--line);background:var(--light);width:min(100%,520px);padding:clamp(2rem,6vw,4rem);box-shadow:0 28px 80px #352b2114}.admin-login h1{font-family:var(--serif);margin:0 0 1rem;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400;line-height:.98}.admin-login form>p:nth-of-type(2){color:var(--soft);font-family:var(--serif);margin-bottom:2rem;line-height:1.6}.admin-login label{margin-top:1.2rem}.admin-login .submit-button{margin-top:2rem}.photographer-workspace{grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:3rem;padding-top:3rem;display:grid}.photographer-workspace .rsvp-form{align-self:start;position:sticky;top:2rem}.photo-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.photo-admin-grid article{border:1px solid var(--line);background:#fff;overflow:hidden}.photo-admin-grid article>img{aspect-ratio:4/3;object-fit:cover;object-position:center;width:100%;height:auto;display:block}.photo-admin-grid img.is-hidden{filter:grayscale();opacity:.45}.photo-admin-grid article>div{padding:1rem}.photo-admin-grid strong,.photo-admin-grid small{display:block}.photo-admin-grid strong{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.photo-admin-grid small{color:var(--soft);margin:.35rem 0 1rem}.photo-admin-grid article>div>div{gap:1rem;display:flex}.photo-admin-grid button{color:var(--sepia);cursor:pointer;letter-spacing:.1em;text-transform:uppercase;background:0 0;border:0;padding:0;font-size:.65rem;font-weight:700}.photo-admin-grid button.danger{color:#9b4d41}.photographer-guest-section{border:1px solid var(--line);background:#f1e9de;margin-top:clamp(3rem,6vw,6rem);padding:clamp(1.5rem,3vw,3rem)}.photographer-notice{margin:0 0 1.5rem}.guest-photo-review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.guest-photo-review-grid article{border:1px solid var(--line);background:#fff;min-width:0;transition:border-color .2s,box-shadow .2s;overflow:hidden}.guest-photo-review-grid article.is-published{border-color:#75896b;box-shadow:inset 0 0 0 1px #75896b}.guest-photo-review-preview{aspect-ratio:4/3;background:#ded2c3;position:relative;overflow:hidden}.guest-photo-review-preview img,.guest-photo-review-preview video{object-fit:cover;width:100%;height:100%;display:block}.guest-photo-review-preview video{background:#171411}.guest-photo-review-preview span{color:#fff;letter-spacing:.09em;text-transform:uppercase;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1e1915c7;border:1px solid #ffffff80;padding:.4rem .55rem;font-size:.58rem;font-weight:700;position:absolute;top:.75rem;right:.75rem}.guest-photo-review-grid article.is-published .guest-photo-review-preview span{background:#365331db}.guest-photo-review-details{padding:1rem}.guest-photo-review-details>strong,.guest-photo-review-details>small,.guest-photo-review-details>em{display:block}.guest-photo-review-details>strong{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;font-size:1.08rem;font-weight:400;overflow:hidden}.guest-photo-review-details>small{color:var(--soft);margin:.35rem 0 .9rem;font-size:.66rem}.guest-photo-review-details>p{min-height:2.8rem;margin:0 0 .8rem;font-size:.75rem;line-height:1.4}.guest-photo-review-details>p.guest-photo-caption{border-left:2px solid var(--line);min-height:0;color:var(--soft);font-family:var(--serif);background:#f5efe7;padding:.7rem;font-size:.82rem}.guest-photo-review-details>p span{color:var(--soft);text-overflow:ellipsis;white-space:nowrap;margin-top:.2rem;font-size:.67rem;display:block;overflow:hidden}.guest-photo-review-details>em{color:#8a5f3d;min-height:2.7rem;margin:0 0 .8rem;font-size:.67rem;line-height:1.4}.guest-photo-review-details>div{flex-wrap:wrap;gap:1rem;display:flex}.guest-photo-review-details a,.guest-photo-review-details button{color:var(--sepia);cursor:pointer;font:700 .62rem/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;background:0 0;border:0;padding:0;text-decoration:none}.guest-photo-review-details a:hover,.guest-photo-review-details button:hover:not(:disabled){text-underline-offset:.2em;text-decoration:underline}.guest-photo-review-details button.danger{color:#94463c}.guest-photo-review-details button:disabled{cursor:not-allowed;opacity:.45}.admin-memory-section{border:1px solid var(--line);background:#f1e9de;padding:clamp(1.5rem,3vw,2.5rem)}.admin-section-intro{max-width:900px;color:var(--soft);font-family:var(--serif);margin:-.4rem 0 1.6rem;line-height:1.6}.guest-memory-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.guest-memory-admin-grid article{border:1px solid var(--line);background:#fff;min-width:0;overflow:hidden}.guest-memory-admin-preview{aspect-ratio:4/3;background:#ded2c3;place-items:center;display:grid;overflow:hidden}.guest-memory-admin-preview img,.guest-memory-admin-preview video{object-fit:cover;width:100%;height:100%;display:block}.guest-memory-admin-preview video{background:#171411}.guest-memory-admin-details{padding:1rem}.guest-memory-admin-details>strong,.guest-memory-admin-details>small{display:block}.guest-memory-admin-details>strong{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;font-size:1.08rem;font-weight:400;overflow:hidden}.guest-memory-admin-details>small{color:var(--soft);margin:.35rem 0 .8rem;font-size:.66rem}.guest-memory-admin-details>p{min-height:3.2rem;margin:0 0 1rem;font-size:.75rem;line-height:1.45}.guest-memory-admin-details>p.guest-memory-admin-caption{border-left:2px solid var(--line);min-height:0;color:var(--soft);font-family:var(--serif);background:#f5efe7;padding:.7rem;font-size:.82rem}.guest-memory-admin-details>p span,.guest-memory-admin-details>p em{color:var(--soft);margin-top:.25rem;font-size:.67rem;display:block}.guest-memory-admin-details>p em{color:#8a5f3d}.guest-memory-admin-details>div{flex-wrap:wrap;gap:1rem;display:flex}.guest-memory-admin-details a,.guest-memory-admin-details button{color:var(--sepia);cursor:pointer;font:700 .62rem/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;background:0 0;border:0;padding:0;text-decoration:none}.guest-memory-admin-details a:hover,.guest-memory-admin-details button:hover{text-underline-offset:.2em;text-decoration:underline}.guest-memory-admin-details button.danger{color:#94463c}.guest-memory-admin-details button:disabled{cursor:wait;opacity:.55}.admin-memory-empty{border:1px dashed var(--line);text-align:center;background:#ffffff8c;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:230px;display:flex}.admin-memory-empty>span{color:var(--sepia);font-family:var(--serif);font-size:2rem}.admin-memory-empty strong{font-family:var(--serif);font-size:1.35rem;font-weight:400}.admin-memory-empty p{color:var(--soft);font-family:var(--serif);margin:0}@media (width<=1100px){.directory-grid{grid-template-columns:repeat(2,1fr)}.main-nav{gap:.75rem}.main-nav a{font-size:.55rem}.guest-memory-layout{grid-template-columns:1fr}.guest-memory-section .upload-card{max-width:760px;margin:0 auto}.guest-memory-admin-grid,.guest-photo-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.site-header{grid-template-columns:auto minmax(44px,1fr) auto;grid-template-areas:"logo menu actions";gap:.45rem;padding:0 5vw}.mini-monogram{grid-area:logo;justify-self:start}.header-actions{grid-area:actions;justify-self:end;min-width:0}.header-profile{max-width:92px;font-size:.72rem;display:block}.header-logout{border:1px solid var(--line);min-height:34px;padding:.45rem .55rem}.header-rsvp{justify-self:end}.menu-button{background:0 0;border:0;flex-direction:column;grid-area:menu;justify-self:center;gap:4px;width:44px;padding:12px;display:flex}.menu-button span{background:var(--ink);width:100%;height:1px;display:block}.main-nav{border-bottom:1px solid var(--line);background:var(--light);flex-direction:column;align-items:center;gap:.4rem;padding:1.5rem;display:none;position:fixed;top:76px;left:0;right:0;box-shadow:0 20px 40px #342d2818}.main-nav.is-open{display:flex}.main-nav a{padding:.55rem;font-size:.69rem}.hero{grid-template-columns:1fr;padding:120px 6vw 100px}.hero-photo{width:min(82%,500px);margin-top:3.5rem}.countdown{bottom:1.5rem;left:50%;right:auto;transform:translate(-50%)}.page-hero{grid-template-columns:1fr;gap:2rem;padding:130px 6vw 60px}.page-hero-illustrated{--hero-mobile-height:clamp(280px, 66vw, 500px);background-image:none;flex-direction:column;gap:0;min-height:0;padding:76px 0 0;display:flex;position:relative}.page-hero-illustrated:before{z-index:0;width:100%;height:var(--hero-mobile-height);background-color:var(--deep);background-image:linear-gradient(180deg, #faf6ef05 0%, #ede0cf0f 72%, #ede0cf33 100%), var(--hero-image);content:"";filter:blur(7px)saturate(.94);transform-origin:50%;background-position:50%,50%;background-repeat:no-repeat;background-size:100% 100%,cover;flex:none;display:block;position:relative;inset:auto;transform:scale(1.04)}.page-hero-illustrated:after{z-index:0;height:var(--hero-mobile-height);background-image:linear-gradient(180deg, #faf6ef05 0%, #ede0cf0f 72%, #ede0cf33 100%), var(--hero-image);background-repeat:no-repeat;background-position:center, var(--hero-mobile-position,var(--hero-position,center));background-size:100% 100%, var(--hero-mobile-size,cover);content:"";pointer-events:none;position:absolute;top:76px;left:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 18% 82%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 18% 82%,#0000 100%)}.page-hero-illustrated>div:first-child{background:var(--light);width:100%;max-width:none;padding:clamp(2.3rem,7vw,3.5rem) 6vw clamp(3rem,8vw,4.25rem)}.page-hero-conferma{--hero-mobile-position:center center;--hero-mobile-size:auto 100%}.content-grid,.place-layout,.transfer-layout,.memory-grid,.transfer-booking,.registration-layout,.gift-layout{grid-template-columns:1fr;padding-left:6vw;padding-right:6vw}.photographer-intro{flex-direction:column;align-items:flex-start}.stay-grid{grid-template-columns:1fr}.photographer-card{min-height:650px}.admin-header{flex-direction:column;align-items:flex-start}.admin-export-panel{grid-template-columns:1fr}.admin-stats{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1fr 1fr}.photographer-workspace{grid-template-columns:1fr}.photographer-workspace .rsvp-form{position:static}.selected-media-grid{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}}@media (width<=560px){.access-preview-layer{align-items:start;padding:.8rem}.access-preview-modal{width:100%;margin:.5rem auto;padding:1.65rem 1.2rem 1.35rem}.access-preview-modal:before{inset:.4rem}.access-preview-monogram{font-size:2.1rem}.access-preview-modal h1{font-size:1.9rem}.access-preview-intro{margin-bottom:1rem;font-size:.82rem}.access-preview-socials{grid-template-columns:1fr;gap:.55rem}.access-preview-pair{grid-template-columns:1fr}.access-preview-options{flex-direction:column;align-items:flex-start;gap:.65rem}.header-rsvp{display:none}.header-profile{max-width:88px}.hero{padding-top:115px}.hero-copy{padding:1rem 0}.hero h1{font-size:4.1rem;transform:scaleX(1.16)}.hero-actions{flex-direction:column;align-items:stretch;gap:.8rem}.text-link{text-align:center}.hero-photo{aspect-ratio:4/5;width:90%}.hero-photo:before{inset:-.65rem -.7rem -.8rem -.55rem}.hero-photo img{object-position:center 48%}.hero-photo figcaption{width:190px;min-height:100px;padding:1rem 1.25rem .9rem;bottom:-1.6rem;right:4%}.hero-photo figcaption span{font-size:1.5rem}.hero-photo figcaption strong{letter-spacing:.13em;font-size:.58rem}.countdown div{min-width:70px}.directory-grid{grid-template-columns:1fr}.directory .section-heading h2{white-space:normal}.stay-section-heading h2{text-wrap:balance;font-size:clamp(2.4rem,12vw,3.1rem)}.stay-section-heading>p:last-child{text-wrap:pretty;max-width:34rem}.directory-card{min-height:280px}.page-hero-illustrated{--hero-mobile-height:clamp(260px, 75vw, 380px)}.page-hero h1{font-size:3.1rem}.guest-fields,.detail-row{grid-template-columns:1fr}.map-actions{display:grid}.map-actions .button{width:100%}.map-panel{min-height:400px}.map-panel iframe{height:340px}.iban-card>div{grid-template-columns:1fr;gap:.6rem}.iban-card .iban-value{overflow-wrap:anywhere;white-space:normal;font-size:.88rem}.iban-card .button{width:100%}.form-heading{flex-direction:column;align-items:flex-start;gap:.8rem}.route-card{min-height:320px;padding:1rem}.route-card span{font-size:.76rem}.route-card .wedding-icon{width:34px}.memory-grid,.memory-selector-section{padding-left:4vw;padding-right:4vw}.memory-selector{border-radius:28px;grid-template-columns:1fr}.memory-selector button{border-radius:22px}.guest-memory-section,.photographer-intro{padding-left:4vw;padding-right:4vw}.upload-card,.photographer-card,.my-memories{padding:1.5rem}.my-memories-heading{flex-direction:column;align-items:flex-start;gap:.55rem}.guest-memory-grid{grid-template-columns:1fr}.selected-media-heading{flex-direction:column;align-items:flex-start}.selected-media-heading span{text-align:left}.selected-media-grid{grid-template-columns:1fr}.lens{width:170px;height:170px}.admin-page{padding:1.4rem}.admin-actions{flex-direction:column;width:100%}.admin-export-actions,.admin-form-pair{grid-template-columns:1fr}.admin-dialog-actions{flex-direction:column-reverse;align-items:stretch}.admin-dialog-actions .button{width:100%}.admin-stats{grid-template-columns:1fr 1fr}.admin-stats article{min-height:120px;padding:1rem}.admin-stats strong{font-size:2.4rem}.admin-section-title{flex-direction:column;align-items:flex-start;gap:.5rem}.gallery-grid,.photo-admin-grid,.guest-memory-admin-grid,.guest-photo-review-grid{grid-template-columns:1fr}.gallery-grid figure{aspect-ratio:4/3}.gallery-lightbox{grid-template-columns:3.5rem minmax(0,1fr) 3.5rem;padding:.75rem}.lightbox-arrow{background:#15120f99;width:3rem;height:4rem}.lightbox-content img,.lightbox-content video{max-height:calc(100vh - 7.5rem)}.lightbox-caption{padding-left:.5rem;padding-right:.5rem}footer{text-align:center;grid-template-columns:1fr;gap:.7rem}.footer-monogram{justify-self:center}}
