.home{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(165deg,#faf8f5,#f0ebe3,#e8e0d5);padding:2rem 1.25rem;text-align:center}.home__hero{max-width:640px}.home__eyebrow{font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;color:#8b7355;margin-bottom:1.25rem}.home__title{font-family:var(--font-serif);font-size:clamp(2rem,6vw,3.25rem);font-weight:400;line-height:1.2;color:#2c2c2c;margin-bottom:1.25rem}.home__title span{color:#c9a962;font-style:italic}.home__subtitle{font-size:1rem;color:#6b6b6b;line-height:1.7;margin-bottom:2.5rem}.home__actions{display:flex;flex-wrap:wrap;gap:.875rem;justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 1.75rem;font-size:.875rem;font-weight:500;letter-spacing:.04em;border-radius:999px;border:none;cursor:pointer;transition:all var(--transition)}.btn--primary{background:#2c2c2c;color:#faf8f5}.btn--primary:hover{background:#1a1a1a;transform:translateY(-1px)}.btn--ghost{background:transparent;color:#2c2c2c;border:1px solid #c9a962}.btn--ghost:hover{background:#c9a96215}.home__footer{position:absolute;bottom:1.5rem;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#a09080}.template-grid{display:grid;gap:1rem}.template-card{border:2px solid #e8e0d5;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .25s ease;background:#fff}.template-card:hover:not(.coming){border-color:#c9a962;box-shadow:0 4px 20px #c9a96226}.template-card.selected{border-color:#c9a962;box-shadow:0 0 0 3px #c9a96240}.template-card.coming{opacity:.65;cursor:default}.template-card__preview{height:120px;position:relative;display:flex;align-items:flex-end;padding:.75rem}.template-card__preview--cinema{background:linear-gradient(135deg,#1a1a1a,#3d3428,#c9a962)}.template-card__preview--eternal{background:linear-gradient(135deg,#2f3a2a,#8a9a7b)}.template-card__preview--elegance{background:linear-gradient(135deg,#f5f0e8,#e8d5c4)}.template-card__badge{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;background:#fff3;color:#fff;padding:.2rem .5rem;border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.template-card__preview--elegance .template-card__badge{color:#2c2c2c;background:#00000014}.template-card__body{padding:1rem}.template-card__body h3{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;margin-bottom:.15rem}.template-card__body .tagline{font-size:.75rem;color:#c9a962;letter-spacing:.05em;margin-bottom:.4rem}.template-card__body .desc{font-size:.8rem;color:#6b6b6b;margin-bottom:.85rem;line-height:1.5}.coming-soon{font-size:.75rem;color:#a09080;font-style:italic}.cinema{font-family:var(--font-sans);color:var(--inv-text, #2c2c2c);background:var(--inv-bg, #faf8f5);min-height:100%;overflow-x:hidden;position:relative}.cinema section{position:relative}.cinema__section{padding:4rem 1.25rem}.cinema__section-inner{max-width:560px;margin:0 auto}.cinema__eyebrow{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--inv-primary, #c9a962);margin-bottom:.75rem;text-align:center}.cinema__heading{font-family:var(--font-serif);font-size:clamp(1.75rem,5vw,2.5rem);font-weight:400;text-align:center;line-height:1.25;margin-bottom:1.5rem;color:var(--inv-text, #2c2c2c)}.cinema__divider{width:40px;height:1px;background:var(--inv-primary, #c9a962);margin:0 auto 1.5rem}.cinema-opening{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;background:#0d0d0d;overflow:hidden}.cinema-opening__bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;transform:scale(1.05);animation:slowZoom 20s ease-in-out infinite alternate}.cinema-opening__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--inv-overlay, rgba(0,0,0,.55))}.cinema-opening__content{position:relative;z-index:2;padding:2rem 1.5rem;max-width:420px}.cinema-opening__guest{font-size:.8rem;letter-spacing:.1em;margin-bottom:1.5rem;opacity:.9}.cinema-opening__guest strong{display:block;font-size:1.1rem;margin-top:.25rem;letter-spacing:.05em}.cinema-opening__line{font-family:var(--font-serif);font-size:.9rem;letter-spacing:.2em;text-transform:uppercase;opacity:.85;margin-bottom:.5rem}.cinema-opening__names{font-family:var(--font-serif);font-size:clamp(2rem,8vw,3rem);font-weight:400;line-height:1.15;margin:1rem 0}.cinema-opening__amp{font-size:1.25rem;opacity:.7;display:block;margin:.25rem 0}.cinema-opening__date{font-size:.8rem;letter-spacing:.15em;margin-bottom:2.5rem;opacity:.9}.cinema-opening__btn{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 2.25rem;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all .3s ease;border-radius:0}.cinema-opening__btn:hover{background:#ffffff1f;border-color:#fff}@keyframes slowZoom{0%{transform:scale(1.05)}to{transform:scale(1.15)}}.cinema-hero{min-height:100dvh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;position:relative;overflow:hidden}.cinema-hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;transform:scale(1.08);animation:slowZoom 25s ease-in-out infinite alternate}.cinema-hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#00000059,#00000080,#000000a6)}.cinema-hero__content{position:relative;z-index:2;padding:2rem 1.25rem}.cinema-hero__eyebrow{font-size:.7rem;letter-spacing:.35em;text-transform:uppercase;margin-bottom:1.25rem;opacity:.9}.cinema-hero__names{font-family:var(--font-serif);font-size:clamp(2.5rem,10vw,4rem);font-weight:400;line-height:1.1;margin-bottom:.5rem}.cinema-hero__amp{font-size:1.5rem;opacity:.7;display:block;margin:.35rem 0}.cinema-hero__date{font-size:.85rem;letter-spacing:.2em;margin-top:1.5rem;opacity:.9}.cinema-countdown{padding:3.5rem 1.25rem;text-align:center;background:var(--inv-secondary, #f5f0e8)}.cinema-countdown__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;max-width:400px;margin:0 auto}.cinema-countdown__item{background:var(--inv-bg, #faf8f5);padding:1rem .5rem;border-radius:8px}.cinema-countdown__num{font-family:var(--font-serif);font-size:1.75rem;font-weight:500;color:var(--inv-text, #2c2c2c);display:block}.cinema-countdown__label{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--inv-muted, #6b6b6b);margin-top:.25rem}.cinema-countdown__past{font-family:var(--font-serif);font-size:1.25rem;color:var(--inv-primary, #c9a962)}.cinema-couple{padding:4rem 1.25rem}.cinema-couple__person{text-align:center;margin-bottom:3rem}.cinema-couple__person:last-child{margin-bottom:0}.cinema-couple__photo{width:180px;height:240px;margin:0 auto 1.25rem;border-radius:4px;overflow:hidden;box-shadow:0 8px 30px #0000001a}.cinema-couple__photo img{width:100%;height:100%;object-fit:cover}.cinema-couple__name{font-family:var(--font-serif);font-size:1.75rem;font-weight:400;margin-bottom:.35rem}.cinema-couple__parents{font-size:.8rem;color:var(--inv-muted, #6b6b6b);line-height:1.6}.cinema-couple__ig{display:inline-block;margin-top:.75rem;font-size:.75rem;color:var(--inv-primary, #c9a962);letter-spacing:.05em}.cinema-story{padding:4rem 1.25rem;background:var(--inv-secondary, #f5f0e8)}.cinema-story__item{margin-bottom:2.5rem;text-align:center}.cinema-story__title{font-family:var(--font-serif);font-size:1.35rem;margin-bottom:.75rem}.cinema-story__text{font-size:.9rem;color:var(--inv-muted, #6b6b6b);line-height:1.7;max-width:400px;margin:0 auto 1rem}.cinema-story__photo{max-width:320px;margin:0 auto;border-radius:4px;overflow:hidden}.cinema-events{padding:4rem 1.25rem}.cinema-event{background:var(--inv-secondary, #f5f0e8);border-radius:8px;padding:1.5rem;margin-bottom:1rem;text-align:center}.cinema-event__title{font-family:var(--font-serif);font-size:1.35rem;margin-bottom:.5rem}.cinema-event__meta{font-size:.85rem;color:var(--inv-muted, #6b6b6b);margin-bottom:.35rem}.cinema-event__venue{font-size:.9rem;font-weight:500;margin-top:.75rem}.cinema-event__address{font-size:.8rem;color:var(--inv-muted, #6b6b6b);margin-top:.25rem}.cinema-event__maps{display:inline-block;margin-top:.85rem;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--inv-primary, #c9a962);border-bottom:1px solid currentColor;padding-bottom:2px}.cinema-gallery{padding:4rem 1.25rem;background:var(--inv-secondary, #f5f0e8)}.cinema-gallery__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;max-width:560px;margin:0 auto}.cinema-gallery__grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px;cursor:pointer;transition:transform .3s ease}.cinema-gallery__grid img:hover{transform:scale(1.02)}@media(min-width:480px){.cinema-gallery__grid{grid-template-columns:repeat(3,1fr)}}.cinema-quote{padding:4rem 1.5rem;text-align:center}.cinema-quote__text{font-family:var(--font-serif);font-size:clamp(1.1rem,3.5vw,1.4rem);font-style:italic;line-height:1.7;max-width:480px;margin:0 auto 1rem;color:var(--inv-text, #2c2c2c)}.cinema-quote__source{font-size:.75rem;letter-spacing:.1em;color:var(--inv-primary, #c9a962)}.cinema-form{max-width:400px;margin:0 auto}.cinema-form input,.cinema-form select,.cinema-form textarea{width:100%;padding:.75rem 1rem;border:1px solid #e0d8cc;border-radius:6px;background:#fff;margin-bottom:.75rem;font-size:.9rem}.cinema-form button[type=submit]{width:100%;padding:.9rem;background:var(--inv-text, #2c2c2c);color:#fff;border:none;border-radius:6px;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:opacity .2s}.cinema-form button[type=submit]:hover{opacity:.85}.cinema-closing{min-height:70dvh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;position:relative;overflow:hidden}.cinema-closing__bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center}.cinema-closing__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c}.cinema-closing__content{position:relative;z-index:2;padding:2rem 1.5rem}.cinema-closing__text{font-family:var(--font-serif);font-size:clamp(1.25rem,4vw,1.75rem);line-height:1.5;margin-bottom:1.5rem;max-width:360px;margin-left:auto;margin-right:auto}.cinema-closing__names{font-family:var(--font-serif);font-size:1.5rem;margin-bottom:.5rem}.cinema-closing__date{font-size:.8rem;letter-spacing:.15em;opacity:.85}.cinema-music{position:fixed;bottom:1.25rem;right:1.25rem;z-index:50;width:44px;height:44px;border-radius:50%;background:#0000008c;border:1px solid rgba(255,255,255,.25);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:1rem}.cinema-music:hover{background:#000000b3}.cinema-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000eb;display:flex;align-items:center;justify-content:center;padding:1rem}.cinema-lightbox img{max-width:100%;max-height:90dvh;object-fit:contain}.cinema-lightbox__close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem}.cinema-footer{padding:2rem 1.25rem;text-align:center;font-size:.7rem;color:var(--inv-muted, #6b6b6b);letter-spacing:.05em}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .85s ease,transform .85s ease}[data-reveal].is-visible{opacity:1;transform:translateY(0)}[data-reveal].is-visible .cinema-couple__person:nth-child(2){transition-delay:.12s}.cinema-sidenav{position:fixed;right:.75rem;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;gap:.55rem;padding:.5rem .35rem}.cinema-sidenav__dot{width:10px;height:10px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);background:transparent;cursor:pointer;position:relative;padding:0;transition:all .25s ease;box-shadow:0 0 0 1px #00000026}.cinema-sidenav__dot.is-active{background:var(--inv-primary, #c9a962);border-color:var(--inv-primary, #c9a962);transform:scale(1.25)}.cinema-sidenav__label{position:absolute;right:18px;top:50%;transform:translateY(-50%);white-space:nowrap;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--inv-text, #2c2c2c);background:#ffffffeb;padding:.2rem .45rem;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .2s ease;box-shadow:0 2px 8px #00000014}.cinema-sidenav__dot:hover .cinema-sidenav__label,.cinema-sidenav__dot:focus-visible .cinema-sidenav__label{opacity:1}@media(max-width:640px){.cinema-sidenav{right:.4rem}.cinema-sidenav__label{display:none}}.cinema-fab-rsvp{position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);z-index:45;padding:.7rem 1.5rem;border-radius:999px;border:none;background:var(--inv-text, #2c2c2c);color:#fff;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;box-shadow:0 8px 24px #00000040;transition:transform .2s ease,opacity .2s ease}.cinema-fab-rsvp:hover{transform:translate(-50%) translateY(-2px)}@media(min-width:768px){.cinema-fab-rsvp{display:none}}.cinema-opening__content{animation:fadeUpIn 1.1s ease both}.cinema-opening__btn{animation:fadeUpIn 1.1s ease .35s both}@keyframes fadeUpIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.cinema--opened .cinema-hero__content{animation:fadeUpIn 1s ease .15s both}.cinema-music.is-playing{animation:musicPulse 1.8s ease-in-out infinite}@keyframes musicPulse{0%,to{box-shadow:0 0 #c9a96259}50%{box-shadow:0 0 0 10px #c9a96200}}.cinema-gallery__grid img{transition:transform .4s ease,filter .4s ease}.cinema-gallery__grid img:active{transform:scale(.98)}.cinema-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;background:transparent}.cinema-progress__bar{height:100%;background:linear-gradient(90deg,var(--inv-primary, #c9a962),var(--inv-accent, #8b7355));transition:width .1s linear}.cinema-opening__seal{width:72px;height:72px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-family:var(--font-serif);font-size:1.1rem;letter-spacing:.05em;background:#ffffff14;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cinema-opening__hint{margin-top:1.5rem;font-size:.65rem;letter-spacing:.12em;opacity:.65;text-transform:uppercase}.cinema-opening__particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:1}.cinema-opening__particle{position:absolute;width:4px;height:4px;border-radius:50%;background:#ffffff73;left:calc(8% + (var(--i) * 7%));bottom:-10px;animation:floatUp 8s linear infinite;animation-delay:calc(var(--i) * .6s);opacity:0}@keyframes floatUp{0%{transform:translateY(0) scale(1);opacity:0}10%{opacity:.6}to{transform:translateY(-100vh) scale(.4);opacity:0}}.cinema-opening.is-opening .cinema-opening__content,.cinema-opening.is-opening .cinema-opening__overlay{animation:openFade .7s ease forwards}@keyframes openFade{to{opacity:0;transform:scale(1.04)}}.cinema-timeline{position:relative;padding:1rem 0 .5rem}.cinema-timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,var(--inv-primary, #c9a962),transparent);transform:translate(-50%)}.cinema-timeline__item{position:relative;width:100%;padding:0 0 2rem;display:flex}.cinema-timeline__item.is-left{justify-content:flex-start;padding-right:52%}.cinema-timeline__item.is-right{justify-content:flex-end;padding-left:52%}.cinema-timeline__dot{position:absolute;left:50%;top:.35rem;width:11px;height:11px;border-radius:50%;background:var(--inv-primary, #c9a962);border:2px solid var(--inv-bg, #faf8f5);transform:translate(-50%);z-index:1;box-shadow:0 0 0 3px #c9a96233}.cinema-timeline__card{background:var(--inv-bg, #faf8f5);border-radius:10px;padding:1.1rem;box-shadow:0 4px 20px #0000000d;text-align:center;width:100%}.cinema-story__year{font-size:.7rem;letter-spacing:.25em;color:var(--inv-primary, #c9a962);margin-bottom:.35rem}.cinema-story__title{font-family:var(--font-serif);font-size:1.2rem;margin-bottom:.5rem}.cinema-story__text{font-size:.85rem;color:var(--inv-muted, #6b6b6b);line-height:1.65;margin-bottom:.75rem}.cinema-story__photo{border-radius:6px;overflow:hidden}.cinema-story__photo img{width:100%;aspect-ratio:4/3;object-fit:cover}@media(max-width:560px){.cinema-timeline:before{left:12px}.cinema-timeline__item.is-left,.cinema-timeline__item.is-right{padding-left:2rem;padding-right:0;justify-content:flex-start}.cinema-timeline__dot{left:12px}}.cinema-event__actions{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;justify-content:center;margin-top:.85rem}.cinema-gallery__item{border:none;padding:0;background:none;cursor:pointer;border-radius:4px;overflow:hidden;display:block}.cinema-gallery__item img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .4s ease}.cinema-gallery__item:hover img{transform:scale(1.04)}.cinema-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:#fff;width:44px;height:44px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cinema-lightbox__nav.is-prev{left:.75rem}.cinema-lightbox__nav.is-next{right:.75rem}.cinema-lightbox__count{position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%);color:#ffffffbf;font-size:.75rem;letter-spacing:.1em}.cinema-share{position:fixed;bottom:1.25rem;left:1.25rem;z-index:45;display:flex;flex-direction:column;gap:.4rem}.cinema-share__btn{padding:.55rem .9rem;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:#ffffffeb;color:var(--inv-text, #2c2c2c);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;text-decoration:none;box-shadow:0 4px 16px #0000001a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center}.cinema-share__btn.is-wa{background:#25d366;color:#fff;border-color:transparent}@media(max-width:640px){.cinema-share{bottom:4.5rem;left:.75rem}.cinema-share__btn{font-size:.6rem;padding:.45rem .7rem}}.cinema-hero__scroll{margin-top:3rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;opacity:.75}.cinema-hero__scroll span{width:18px;height:28px;border:1.5px solid rgba(255,255,255,.6);border-radius:10px;position:relative}.cinema-hero__scroll span:after{content:"";position:absolute;top:5px;left:50%;width:3px;height:6px;background:#fff;border-radius:2px;transform:translate(-50%);animation:scrollDot 1.6s ease-in-out infinite}@keyframes scrollDot{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(10px)}}.cinema-gallery__hint{text-align:center;font-size:.72rem;color:var(--inv-muted, #6b6b6b);margin-top:.85rem;letter-spacing:.04em}.cinema-lightbox{touch-action:pan-y;-webkit-user-select:none;user-select:none}.cinema-opening__music-note{margin-top:.75rem;font-size:1.1rem;color:#ffffffb3;animation:musicPulse 1.8s ease-in-out infinite}.cinema-music{display:flex;align-items:center;gap:.35rem;padding:.55rem .85rem;min-width:auto;border-radius:999px;font-size:.75rem}.cinema-music__icon{font-size:.85rem;line-height:1}.cinema-music__label{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600}.cinema-event__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.cinema-event__maps.is-primary{background:var(--inv-primary, #c9a962);color:#fff;border-color:var(--inv-primary, #c9a962);font-weight:600}.cinema-event__maps.is-primary:hover{filter:brightness(1.05)}.preview-panel{height:100%;display:flex;flex-direction:column;background:#111}.preview-panel__bar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:#1a1a1a;color:#c9a962;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase}.preview-panel__theme{color:#888}.preview-panel__frame{flex:1;overflow:auto;display:flex;justify-content:center;padding:1rem;background:#0d0d0d}.preview-panel__scale{width:100%;max-width:430px;min-height:100%;border-radius:12px;overflow:hidden;box-shadow:0 8px 40px #00000080;background:#000}@media(min-width:1200px){.preview-panel__scale{max-width:390px}}.stepper{background:#fff;border-bottom:1px solid #e8e0d5;overflow-x:auto;-webkit-overflow-scrolling:touch}.stepper__list{display:flex;list-style:none;padding:.65rem 1rem;gap:0;min-width:max-content}.stepper__item{display:flex;align-items:center}.stepper__item button{display:flex;align-items:center;gap:.4rem;background:none;border:none;cursor:pointer;padding:.35rem .5rem;color:#a09080;font-size:.7rem;white-space:nowrap}.stepper__item.active button{color:#2c2c2c;font-weight:600}.stepper__item.done button{color:#c9a962}.stepper__num{width:22px;height:22px;border-radius:50%;border:1.5px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:.65rem}.stepper__item.active .stepper__num{background:#2c2c2c;border-color:#2c2c2c;color:#faf8f5}.stepper__item.done .stepper__num{background:#c9a962;border-color:#c9a962;color:#fff}.stepper__line{width:20px;height:1px;background:#e0d8cc;margin:0 .15rem}@media(max-width:600px){.stepper__label{display:none}.stepper__item.active .stepper__label{display:inline}}.builder{min-height:100dvh;display:flex;flex-direction:column;background:#f5f2ed}.builder__header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:#fff;border-bottom:1px solid #e8e0d5;position:sticky;top:0;z-index:50}.builder__brand{display:flex;align-items:center;gap:.6rem;cursor:pointer}.builder__logo{width:32px;height:32px;background:#2c2c2c;color:#c9a962;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;letter-spacing:.05em;border-radius:6px}.builder__brand-text{font-size:.85rem;font-weight:500;color:#2c2c2c}.builder__header-actions{display:flex;gap:.5rem}.btn--sm{padding:.45rem .9rem;font-size:.75rem}.builder__body{flex:1;display:grid;grid-template-columns:1fr;max-width:1600px;margin:0 auto;width:100%}@media(min-width:960px){.builder__body{grid-template-columns:minmax(360px,480px) 1fr}.builder__mobile-toggle{display:none!important}.hidden-mobile{display:block!important}}.builder__mobile-toggle{display:flex;background:#fff;border-bottom:1px solid #e8e0d5;padding:.35rem;gap:.25rem}.builder__mobile-toggle button{flex:1;padding:.6rem;border:none;background:transparent;font-size:.8rem;font-weight:500;color:#6b6b6b;border-radius:6px;cursor:pointer}.builder__mobile-toggle button.active{background:#2c2c2c;color:#faf8f5}.builder__form-col{display:flex;flex-direction:column;background:#fff;border-right:1px solid #e8e0d5;min-height:0}.builder__form-col.hidden-mobile{display:none}.builder__form-scroll{flex:1;overflow-y:auto;padding:1.25rem}.builder__nav{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.25rem;border-top:1px solid #e8e0d5;background:#fff;position:sticky;bottom:0}.builder__step-indicator{font-size:.75rem;color:#8b7355;letter-spacing:.05em}.builder__preview-col{background:#1a1a1a;min-height:60vh;position:relative;overflow:hidden}.builder__preview-col.hidden-mobile{display:none}.builder__preview-col.visible{display:block}.builder-step-preview-msg{text-align:center;padding:2rem 1rem;color:#6b6b6b}.builder-step-preview-msg .muted{font-size:.85rem;margin:.5rem 0 1.5rem}.form-section{margin-bottom:1.75rem}.form-section__title{font-family:var(--font-serif);font-size:1.35rem;font-weight:500;color:#2c2c2c;margin-bottom:.35rem}.form-section__desc{font-size:.8rem;color:#8b7355;margin-bottom:1.25rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.75rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#6b6b6b;margin-bottom:.35rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.65rem .85rem;border:1px solid #e0d8cc;border-radius:6px;background:#faf8f5;color:#2c2c2c;transition:border-color .25s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#c9a962;background:#fff}.form-group textarea{min-height:90px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-card{background:#faf8f5;border:1px solid #e8e0d5;border-radius:10px;padding:1rem;margin-bottom:.85rem;position:relative}.form-card__remove{position:absolute;top:.6rem;right:.6rem;background:transparent;border:none;color:#a08080;cursor:pointer;font-size:.85rem;padding:.25rem}.form-card__remove:hover{color:#c44}.btn-add{width:100%;padding:.75rem;border:1px dashed #c9a962;background:transparent;color:#8b7355;border-radius:8px;cursor:pointer;font-size:.85rem;transition:all .25s ease}.btn-add:hover{background:#c9a96212}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #f0ebe3}.toggle-row:last-child{border-bottom:none}.toggle{position:relative;width:44px;height:24px;background:#ddd;border-radius:999px;cursor:pointer;transition:background .25s ease;border:none}.toggle.on{background:#c9a962}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .25s ease}.toggle.on:after{transform:translate(20px)}.photo-upload{width:100%;aspect-ratio:3/4;max-width:160px;border:2px dashed #e0d8cc;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;background:#faf8f5;position:relative}.photo-upload img{width:100%;height:100%;object-fit:cover}.photo-upload span{font-size:.7rem;color:#8b7355;text-align:center;padding:.5rem}.photo-upload input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.builder-login{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:#faf8f5;padding:24px}.builder-login__card{width:100%;max-width:400px;background:#fff;border-radius:12px;padding:2rem;box-shadow:0 8px 30px #0000000f;display:flex;flex-direction:column;gap:10px}.builder-login__card h1{font-family:var(--font-serif, Georgia, serif);font-size:1.5rem;margin:0 0 4px;color:#2c2c2c}.builder-login__hint{font-size:13px;color:#6b6b6b;margin:0 0 8px;line-height:1.45}.builder-login__label{font-size:12px;font-weight:600;color:#5a5a5a;margin-top:4px}.builder-login__card input{padding:.7rem .8rem;border:1px solid #e5e0d8;border-radius:8px;font-size:14px;outline:none}.builder-login__card input:focus{border-color:#c9a962;box-shadow:0 0 0 3px #c9a96226}.builder-login__card button[type=submit]{margin-top:8px;padding:.75rem;border:none;border-radius:8px;background:#c9a962;color:#fff;font-weight:600;cursor:pointer;font-size:14px}.builder-login__card button[type=submit]:hover{background:#b8954a}.builder-login__error{color:#b91c1c;font-size:13px;margin:0}.builder-login__back{text-align:center;font-size:13px;color:#8b7355;text-decoration:none;margin-top:6px}.builder-login__back:hover{text-decoration:underline}.admin-login{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:#faf8f5;padding:24px}.admin-login__card{width:100%;max-width:380px;background:#fff;border-radius:12px;padding:2rem;box-shadow:0 8px 30px #0000000f;display:flex;flex-direction:column;gap:12px}.admin-login__card h1{font-family:var(--font-serif, Georgia, serif);font-size:1.5rem;margin:0}.admin-login__slug{font-size:13px;color:#8b7355;margin:0}.admin-login__hint{font-size:12px;color:#6b6b6b;margin:0}.admin-login__card input{padding:.65rem .75rem;border:1px solid #e5e0d8;border-radius:8px;font-size:14px}.admin-login__card button{padding:.7rem;border:none;border-radius:8px;background:#c9a962;color:#fff;font-weight:600;cursor:pointer}.admin-login__error{color:#b91c1c;font-size:13px;margin:0}.admin-login__back{text-align:center;font-size:13px;color:#8b7355;text-decoration:none}.admin-loading{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:#faf8f5;color:#6b6b6b}.admin{min-height:100dvh;background:#f5f2ed;color:#2c2c2c}.admin__header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:1.25rem 1.5rem;background:#fff;border-bottom:1px solid #ebe5db}.admin__header h1{font-size:1.25rem;margin:0 0 4px;font-family:var(--font-serif, Georgia, serif)}.admin__header p{margin:0;font-size:13px;color:#6b6b6b}.admin__header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin__mode{font-size:12px;padding:4px 10px;border-radius:999px;background:#f0f0f0}.admin__mode.cloud{background:#ecfdf5;color:#166534}.admin__mode.local{background:#fffbeb;color:#a16207}.admin__toast{position:fixed;bottom:24px;right:24px;background:#166534;color:#fff;padding:.75rem 1.25rem;border-radius:8px;z-index:50;font-size:14px}.admin__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;padding:1rem 1.5rem}.admin__stat{background:#fff;border-radius:10px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:2px}.admin__stat strong{font-size:1.4rem}.admin__stat span{font-size:12px;color:#6b6b6b}.admin__stat.good strong{color:#166534}.admin__stat.bad strong{color:#b91c1c}.admin__tabs{display:flex;gap:4px;padding:0 1.5rem;overflow-x:auto}.admin__tabs button{border:none;background:transparent;padding:.65rem 1rem;font-size:13px;cursor:pointer;border-bottom:2px solid transparent;color:#6b6b6b;white-space:nowrap}.admin__tabs button.active{color:#2c2c2c;border-bottom-color:#c9a962;font-weight:600}.admin__body{padding:1rem 1.5rem 3rem}.admin__panel{background:#fff;border-radius:12px;padding:1.25rem}.admin__panel h2{font-size:1.1rem;margin:0 0 1rem}.admin__panel-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;margin-bottom:1rem}.admin__panel-head h2{margin:0}.admin__actions-row{display:flex;flex-wrap:wrap;gap:8px}.btn-admin{border:1px solid #e5e0d8;background:#fff;padding:.45rem .85rem;border-radius:8px;font-size:13px;cursor:pointer;text-decoration:none;color:inherit;display:inline-flex;align-items:center}.btn-admin.primary{background:#c9a962;border-color:#c9a962;color:#fff;font-weight:600}.btn-admin.ghost{background:#faf8f5}.btn-admin.danger{color:#b91c1c;border-color:#fecaca;background:#fef2f2}.admin__warn{background:#fffbeb;border:1px solid #fde68a;color:#92400e;padding:.75rem 1rem;border-radius:8px;font-size:13px;margin-bottom:1rem}.admin__checklist{font-size:14px;line-height:1.7;color:#4b4b4b;padding-left:1.25rem}.admin__hint{font-size:13px;color:#6b6b6b;margin:-.5rem 0 1rem}.admin__empty{color:#9ca3af;font-size:14px;font-style:italic}.admin__bulk{margin-bottom:1rem;font-size:13px}.admin__bulk textarea{width:100%;margin:8px 0;padding:.6rem;border-radius:8px;border:1px solid #e5e0d8;font-family:inherit;font-size:13px}.admin__table-wrap{overflow-x:auto;margin-bottom:12px}.admin__table{width:100%;border-collapse:collapse;font-size:13px}.admin__table th,.admin__table td{border-bottom:1px solid #f0ebe3;padding:.5rem .4rem;text-align:left;vertical-align:middle}.admin__table th{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:#8b7355}.admin__table input,.admin__table select{width:100%;min-width:80px;padding:.35rem .4rem;border:1px solid #e8e0d5;border-radius:6px;font-size:13px;background:#faf8f5}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.badge.good{background:#dcfce7;color:#166534}.badge.bad{background:#fee2e2;color:#991b1b}.admin__wishes{display:flex;flex-direction:column;gap:10px}.admin__wish{background:#faf8f5;border-radius:8px;padding:.85rem 1rem}.admin__wish strong{font-size:14px}.admin__wish p{margin:6px 0;font-size:13px;color:#4b4b4b;line-height:1.5}.admin__wish time{font-size:11px;color:#9ca3af}:root{--font-serif: "Cormorant Garamond", "Playfair Display", Georgia, serif;--font-sans: "Inter", "Helvetica Neue", system-ui, sans-serif;--radius: 8px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow-md: 0 4px 16px rgba(0,0,0,.08);--shadow-lg: 0 12px 40px rgba(0,0,0,.12);--transition: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);line-height:1.6;color:#2c2c2c;background:#faf8f5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font-family:inherit;font-size:inherit}a{color:inherit;text-decoration:none}.font-serif{font-family:var(--font-serif)}.font-sans{font-family:var(--font-sans)}:focus-visible{outline:2px solid #c9a962;outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c9a96266;border-radius:3px}
