:root{--cream:#fdf8f3;--ivory:#fffaf5;--blush:#f8e6e2;--rose:#e8b9b3;--rose-d:#c98f88;--sage:#e4ede0;--sage-d:#9db79a;--lav:#ebe5f2;--sky:#e1ecf1;--ink:#4b3b3b;--muted:#8b7a78;--line:#eadcd4;--gold:#b48a63;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Jost",system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body{background:var(--cream)}body{color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.6;overflow-x:hidden}::selection{background:var(--rose);color:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:var(--sans);color:inherit}img{display:block;max-width:100%}em{font-style:italic;color:var(--rose-d)}.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}section[id]{scroll-margin-top:76px}.section{padding:clamp(64px,9vw,112px) 0}.tint-sage{background:var(--sage)}.tint-blush{background:var(--blush)}.tint-lav{background:var(--lav)}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.05;letter-spacing:-.01em}h1{font-size:clamp(44px,6.6vw,84px)}h2{font-size:clamp(34px,4.6vw,56px)}h3{font-size:24px}.lead{font-size:16.5px;line-height:1.8;color:var(--muted);max-width:520px;font-weight:300}.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.28em;color:var(--gold);margin-bottom:18px;font-weight:500}.rule{width:28px;height:1px;background:var(--gold);display:inline-block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 30px;background:var(--ink);color:var(--cream);border:1px solid var(--ink);border-radius:999px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s,transform .25s,border-color .25s}.btn:hover{background:var(--rose-d);border-color:var(--rose-d);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--ink)}.btn-ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--cream)}.btn-sm{padding:10px 20px;font-size:11.5px}.btn-block{width:100%}.announce{display:block;text-align:center;padding:10px 16px;background:linear-gradient(90deg,var(--rose),#e6d3ee,var(--rose));font-size:12.5px;letter-spacing:.06em;color:var(--ink)}.announce b{font-weight:500}.announce:hover{text-decoration:underline}.masthead{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px clamp(20px,4vw,48px);background:#fdf8f3e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.logo-mark{width:38px;height:38px;border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;font-size:19px;color:var(--gold);background:var(--ivory);flex:none}.brand-text{display:flex;flex-direction:column;line-height:1.05}.brand-name{font-family:var(--serif);font-size:24px;font-weight:500}.brand-tag{font-size:8.5px;letter-spacing:.3em;color:var(--muted);margin-top:3px}.dnav{display:flex;gap:clamp(16px,2.4vw,34px);font-size:12px;letter-spacing:.14em;text-transform:uppercase}.dnav a{position:relative;padding:6px 0;color:var(--muted);transition:color .2s}.dnav a:hover,.dnav a.active{color:var(--ink)}.dnav a.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rose-d)}.burger{display:none;flex-direction:column;gap:5px;background:transparent;border:1px solid var(--line);border-radius:50%;width:42px;height:42px;align-items:center;justify-content:center;cursor:pointer}.burger span{width:16px;height:1.5px;background:var(--ink);display:block}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#fdf8f3fa;display:none;align-items:center;justify-content:center}.menu-overlay.open{display:flex}.menu-links{display:flex;flex-direction:column;gap:22px;text-align:center;font-family:var(--serif);font-size:42px}.menu-close-btn{position:absolute;top:20px;right:22px;background:transparent;border:1px solid var(--line);border-radius:999px;font-size:11px;letter-spacing:.2em;padding:10px 16px;cursor:pointer}.hero{padding:clamp(40px,7vw,88px) 0 clamp(56px,8vw,100px);background:radial-gradient(ellipse at 85% 20%,var(--lav),transparent 55%),radial-gradient(ellipse at 5% 90%,var(--blush),transparent 55%),var(--cream)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,80px);align-items:center}.hero h1{margin-bottom:24px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.hero-facts{display:flex;gap:clamp(20px,4vw,44px);margin-top:44px;padding-top:26px;border-top:1px solid var(--line)}.hero-facts div{display:flex;flex-direction:column}.hero-facts strong{font-family:var(--serif);font-size:32px;font-weight:500;line-height:1}.hero-facts span{font-size:11px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;margin-top:6px}.hero-visual{display:flex;justify-content:center}.arch{position:relative;width:min(100%,420px);aspect-ratio:4/5.2;border-radius:999px 999px 24px 24px;overflow:hidden;background:var(--blush);box-shadow:0 30px 60px -30px #78504659}.arch:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(255,255,255,.8);border-radius:999px 999px 16px 16px;z-index:3;pointer-events:none}.arch-photo,.couple-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.arch-photo{z-index:2}.arch-stamp{position:absolute;z-index:4;left:50%;bottom:22px;transform:translate(-50%);background:#fffaf5eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;padding:10px 24px;display:flex;align-items:baseline;gap:10px;white-space:nowrap}.arch-stamp span{font-size:10px;letter-spacing:.24em;color:var(--muted)}.arch-stamp strong{font-family:var(--serif);font-size:26px;font-weight:500;color:var(--rose-d);line-height:1}.booking{padding:clamp(56px,8vw,96px) 0;background:var(--cream)}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}.booking-copy h2{margin-bottom:18px}.check-list{list-style:none;margin:26px 0 32px;display:flex;flex-direction:column;gap:12px}.check-list li{position:relative;padding-left:30px;font-size:15px;color:var(--ink)}.check-list li:before{content:"";position:absolute;left:0;top:6px;width:14px;height:14px;border-radius:50%;background:var(--rose);box-shadow:0 0 0 4px var(--blush)}.poster{position:relative;max-width:440px;width:100%;margin:0 auto;padding:54px 34px 38px;text-align:center;border-radius:999px 999px 28px 28px;background:linear-gradient(165deg,#fcebe7,#efe6f4 55%,#e2edf1);box-shadow:0 34px 70px -34px #78504666;transform:rotate(1.2deg)}.poster:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid var(--rose);border-radius:999px 999px 18px 18px;pointer-events:none;opacity:.7}.poster-kicker{font-size:11px;letter-spacing:.34em;color:var(--gold);font-weight:500;margin-top:30px}.poster-year{font-family:var(--serif);font-size:clamp(84px,13vw,132px);line-height:.9;font-weight:500;color:var(--ink);margin:8px 0 0}.poster-sub{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--rose-d);margin-bottom:20px}.poster-ribbon{display:inline-block;background:var(--ink);color:var(--cream);font-size:10.5px;letter-spacing:.2em;padding:8px 18px;border-radius:999px;text-transform:uppercase}.poster-rows{margin:24px 0 18px;display:flex;flex-direction:column;gap:2px}.poster-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 6px;border-bottom:1px dashed rgba(75,59,59,.2)}.poster-row:last-child{border-bottom:0}.poster-row .n{font-size:11px;letter-spacing:.2em;text-transform:uppercase}.poster-row .p{display:flex;align-items:baseline;gap:10px}.poster-row s{font-size:13px;color:var(--muted)}.poster-row b{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--ink)}.spots{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:6px}.spot{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--rose-d);background:var(--rose)}.spot.taken{background:transparent;opacity:.5}.spots-text{font-size:11px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;margin-top:12px}.section-head{margin-bottom:clamp(32px,5vw,56px)}.section-head.center{text-align:center;display:flex;flex-direction:column;align-items:center}.section-head.center .lead{margin-top:16px}.section-head.center .eyebrow{justify-content:center}.section-head.split{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px}.services-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}.svc{flex:0 1 calc(33.333% - 14px);min-width:270px;background:var(--ivory);border:1px solid var(--line);border-radius:22px;padding:30px 26px;transition:transform .3s,box-shadow .3s,border-color .3s}.svc:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px #78504666;border-color:var(--rose)}.svc-icon{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px;background:var(--blush)}.svc:nth-child(4n+2) .svc-icon{background:var(--sage)}.svc:nth-child(4n+3) .svc-icon{background:var(--lav)}.svc:nth-child(4n+4) .svc-icon{background:var(--sky)}.svc-icon svg{width:26px;height:26px;stroke:var(--ink);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.svc h3{margin-bottom:10px}.svc p{font-size:14.5px;color:var(--muted);line-height:1.7;font-weight:300}.tabs{display:flex;flex-wrap:wrap;gap:8px}.tabs.center{justify-content:center;margin-bottom:36px}.tab{background:transparent;border:1px solid rgba(75,59,59,.25);border-radius:999px;padding:10px 20px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.tab:hover{border-color:var(--ink)}.tab.active{background:var(--ink);color:var(--cream);border-color:var(--ink)}.film-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px}.fcard{cursor:pointer}.fthumb{position:relative;aspect-ratio:16/10;border-radius:18px;overflow:hidden;background:#d9cfc6}.fthumb-img{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.fcard:hover .fthumb-img{transform:scale(1.05)}.fplay{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:60px;height:60px;border-radius:50%;background:#fffaf5e6;display:flex;align-items:center;justify-content:center;transition:transform .3s}.fcard:hover .fplay{transform:scale(1.1)}.fplay:after{content:"";border-left:15px solid var(--ink);border-top:9px solid transparent;border-bottom:9px solid transparent;margin-left:4px}.fmeta{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.fmeta .muted{color:var(--muted)}.empty-reel{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:clamp(40px,7vw,80px) 24px;border:1px dashed rgba(75,59,59,.3);border-radius:24px;background:#fffaf58c}.empty-reel .fplay{position:relative;inset:auto;margin:0 0 6px;background:var(--blush)}.empty-reel p{max-width:420px;color:var(--muted);font-weight:300;margin-bottom:6px}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:28px}.step{text-align:center;padding:0 8px}.step-n{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;border:1px solid var(--rose);font-family:var(--serif);font-size:22px;color:var(--rose-d);margin-bottom:18px;background:var(--ivory)}.step h3{margin-bottom:8px}.step p{font-size:14.5px;color:var(--muted);font-weight:300}.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;align-items:stretch}.tier{position:relative;background:var(--ivory);border:1px solid var(--line);border-radius:24px;padding:32px 28px;display:flex;flex-direction:column;gap:14px}.tier.popular{border-color:var(--rose-d);box-shadow:0 26px 50px -30px #a0645a80}.tier-flag{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--rose-d);color:#fff;font-size:10px;letter-spacing:.2em;padding:6px 16px;border-radius:999px;text-transform:uppercase;white-space:nowrap}.tier-name{font-size:12px;letter-spacing:.22em;color:var(--gold);font-weight:500}.tier-price{display:flex;align-items:baseline;align-content:flex-start;gap:4px 12px;flex-wrap:wrap;min-height:74px}.tier-price b{font-family:var(--serif);font-size:44px;font-weight:500;line-height:1}.tier-price s{font-size:16px;color:var(--muted)}.tier-price.early b{color:var(--rose-d)}.tier-early{font-size:11px;letter-spacing:.14em;color:var(--rose-d);text-transform:uppercase}.tier-desc{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--ink);line-height:1.3}.tier-feats{list-style:none;display:flex;flex-direction:column;gap:9px;padding-top:16px;margin-top:auto;border-top:1px solid var(--line)}.tier-feats li{position:relative;padding-left:24px;font-size:14px;color:var(--ink);font-weight:300}.tier-feats li:before{content:"";position:absolute;left:2px;top:7px;width:6px;height:6px;border-radius:50%;background:var(--rose-d)}.price-badge{display:block;width:max-content;max-width:100%;margin:0 auto 26px;background:var(--ink);color:var(--cream);padding:9px 22px;border-radius:999px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;text-align:center}.price-note{text-align:center;font-size:13px;color:var(--muted);margin-top:24px}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,80px);align-items:center}.about-arch{aspect-ratio:4/5;max-width:340px;margin:0 auto;border-radius:999px 999px 24px 24px;background:linear-gradient(170deg,var(--blush),var(--lav) 60%,var(--sage));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;position:relative}.about-arch:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(255,255,255,.85);border-radius:999px 999px 16px 16px}.about-arch svg{width:70%}.about-arch-text{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--ink)}.about-quote{font-family:var(--serif);font-size:clamp(26px,3.2vw,40px);line-height:1.25;font-weight:500}.about-body{margin-top:22px;color:var(--muted);font-weight:300;max-width:480px;font-size:15.5px}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(32px,6vw,80px);align-items:start}.contact-grid h2{margin-bottom:18px}.contact-list{margin-top:34px;display:flex;flex-direction:column;gap:18px}.contact-list div{display:flex;flex-direction:column;gap:2px}.contact-list span{font-size:10.5px;letter-spacing:.24em;color:var(--gold);font-weight:500}.contact-list a,.contact-list b{font-family:var(--serif);font-size:24px;font-weight:500}.contact-list a:hover{color:var(--rose-d)}.form-card{background:var(--ivory);border-radius:28px;padding:clamp(24px,4vw,40px);display:flex;flex-direction:column;gap:18px;box-shadow:0 30px 60px -36px #64507866}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-card label{display:flex;flex-direction:column;gap:7px}.form-card label span{font-size:10px;letter-spacing:.22em;color:var(--muted);font-weight:500}.form-card input,.form-card select,.form-card textarea{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:13px 15px;font-size:15px;transition:border-color .2s,box-shadow .2s;width:100%}.form-card textarea{resize:vertical}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:none;border-color:var(--rose-d);box-shadow:0 0 0 3px var(--blush)}.form-note{font-size:12px;color:var(--muted);text-align:center}.site-footer{background:var(--ink);color:var(--cream);padding:48px 0 32px}.footer-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;padding-bottom:28px;border-bottom:1px solid rgba(253,248,243,.15)}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand .logo-mark{background:transparent;color:var(--rose);border-color:var(--rose)}.footer-name{font-family:var(--serif);font-size:26px}.footer-nav{display:flex;flex-wrap:wrap;gap:24px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.footer-nav a:hover{color:var(--rose)}.footer-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:10.5px;letter-spacing:.2em;color:#fdf8f38c;padding-top:22px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#281e1ee0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(16px,4vw,56px)}.lightbox[hidden]{display:none}.lightbox-inner{width:100%;max-width:1080px}.lightbox-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px;color:var(--cream)}.lightbox-title{font-family:var(--serif);font-size:clamp(24px,3vw,36px);line-height:1}.lightbox-meta{font-size:10.5px;letter-spacing:.22em;opacity:.65;margin-top:6px}.close-btn{background:transparent;border:1px solid rgba(253,248,243,.5);border-radius:999px;color:var(--cream);font-size:11px;letter-spacing:.2em;padding:10px 18px;cursor:pointer;transition:background .2s,color .2s}.close-btn:hover{background:var(--cream);color:var(--ink)}.lb-video-wrap{position:relative;aspect-ratio:16/9;border-radius:16px;background:#000;overflow:hidden}.lb-video-wrap iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}html.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}html.js .reveal.in{opacity:1;transform:none}@media (max-width:900px){.dnav,.nav-cta{display:none}.burger{display:flex}.hero-grid,.booking-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-visual{order:-1}.arch{width:min(100%,340px)}.booking-grid .poster{order:-1}.form-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js .reveal{opacity:1;transform:none;transition:none}}.tiers.single{grid-template-columns:minmax(0,420px);justify-content:center}.plan-panel{background:var(--ivory);border:1px solid var(--line);border-radius:28px;padding:clamp(22px,4vw,44px);box-shadow:0 30px 60px -40px #78504659;max-width:900px;margin:0 auto}.plan-head{margin-bottom:24px}.plan-head h3{font-size:clamp(26px,3vw,34px);margin-bottom:6px}.plan-head p{color:var(--muted);font-weight:300;font-size:15px}.mode-note{font-size:11.5px;letter-spacing:.04em;color:var(--muted);margin-top:14px;text-align:center}.mode-note b{color:var(--rose-d);font-weight:500}.progress{display:flex;gap:8px;margin-bottom:22px}.progress span{flex:1;height:4px;border-radius:99px;background:var(--line);transition:background .3s}.progress span.on{background:var(--rose-d)}.quiz-q{font-family:var(--serif);font-size:clamp(26px,3.2vw,36px);line-height:1.1;margin-bottom:22px}.opt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.opt{text-align:left;background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:18px;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:border-color .2s,background .2s,transform .2s}.opt:hover{border-color:var(--rose);transform:translateY(-2px)}.opt.selected{border-color:var(--rose-d);background:var(--blush)}.opt b{font-weight:500;font-size:16px}.opt small{color:var(--muted);font-size:12.5px}.quiz-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.result{display:flex;flex-direction:column;gap:18px}.result-tier{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.result-tier .name{font-size:12px;letter-spacing:.24em;color:var(--gold);font-weight:500}.result-tier .price{font-family:var(--serif);font-size:46px;line-height:1;color:var(--rose-d)}.result-tier s{color:var(--muted)}.result ul{list-style:none;display:flex;flex-direction:column;gap:8px}.result li{position:relative;padding-left:22px;font-size:14.5px}.result li:before{content:"";position:absolute;left:2px;top:8px;width:6px;height:6px;border-radius:50%;background:var(--rose-d)}.ai-note{font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.35;padding:16px 20px;background:var(--lav);border-radius:16px}.addon-chips{display:flex;flex-wrap:wrap;gap:8px}.addon-chip{font-size:12px;letter-spacing:.08em;padding:8px 14px;border-radius:999px;border:1px solid var(--rose);background:var(--blush)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:14px}.field{display:flex;flex-direction:column;gap:7px}.field span{font-size:10px;letter-spacing:.22em;color:var(--muted);font-weight:500}.field input,.field select,.field textarea,.vibe-input{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:13px 15px;font-size:15px;width:100%;transition:border-color .2s,box-shadow .2s}.field input:focus,.field select:focus,.field textarea:focus,.vibe-input:focus{outline:none;border-color:var(--rose-d);box-shadow:0 0 0 3px var(--blush)}.timeline{list-style:none;position:relative;margin:8px 0 4px;padding-left:26px}.timeline:before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:1px;background:var(--rose)}.tl-item{position:relative;padding:0 0 18px}.tl-item:before{content:"";position:absolute;left:-24px;top:7px;width:11px;height:11px;border-radius:50%;background:var(--rose-d);box-shadow:0 0 0 4px var(--blush)}.tl-time{font-size:11px;letter-spacing:.2em;color:var(--gold);font-weight:500}.tl-title{font-family:var(--serif);font-size:22px;line-height:1.1}.tl-notes{font-size:14px;color:var(--muted);font-weight:300}.plan-cols{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:start}.sub-h{font-family:var(--serif);font-weight:500;font-size:22px;margin-bottom:12px}.shot{padding:10px 0;border-bottom:1px dashed var(--line);font-size:14px}.shot b{display:block;font-size:10.5px;letter-spacing:.18em;color:var(--gold);font-weight:500;text-transform:uppercase}.tips{margin-top:18px;padding:16px 20px;background:var(--sage);border-radius:16px;font-size:14px}.tips li{margin-left:18px;margin-bottom:6px}.result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.vibe-row{display:flex;gap:10px;flex-wrap:wrap}.vibe-input{flex:1 1 260px}.example-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}.example-chip{font-size:12px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--cream);cursor:pointer;transition:border-color .2s}.example-chip:hover{border-color:var(--rose-d)}.swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0}.swatch{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--ivory)}.swatch i{display:block;height:84px}.swatch span{display:block;padding:8px 10px;font-size:11.5px;line-height:1.3}.swatch span em{display:block;font-style:normal;color:var(--muted);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}.vibe-name{font-family:var(--serif);font-size:clamp(30px,4vw,42px);line-height:1}.vibe-lines p{font-size:15px;margin-top:8px;color:var(--ink);font-weight:300}.vibe-lines p b{font-weight:500}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(253,248,243,.4);border-top-color:var(--cream);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-3px;margin-right:8px}.spinner.dark{border-color:var(--line);border-top-color:var(--rose-d)}@keyframes spin{to{transform:rotate(360deg)}}.err{color:#b0524a;font-size:13.5px;margin-top:10px}.chat-fab{position:fixed;right:20px;bottom:20px;z-index:120;display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:999px;border:0;background:var(--ink);color:var(--cream);font-size:13px;letter-spacing:.08em;cursor:pointer;box-shadow:0 14px 30px -10px #4b3b3b8c;transition:transform .2s,background .2s}.chat-fab:hover{transform:translateY(-2px);background:var(--rose-d)}.chat-fab i{width:9px;height:9px;border-radius:50%;background:var(--sage-d);display:block}.chat-panel{position:fixed;right:20px;bottom:20px;z-index:130;width:min(390px,calc(100vw - 24px));height:min(580px,calc(100vh - 40px));background:var(--ivory);border-radius:24px;box-shadow:0 30px 70px -20px #4b3b3b80;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line)}.chat-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:linear-gradient(120deg,var(--blush),var(--lav))}.chat-head b{font-family:var(--serif);font-size:22px;font-weight:500;display:block;line-height:1}.chat-head small{font-size:11px;color:var(--muted);letter-spacing:.06em}.chat-x{background:transparent;border:0;font-size:20px;cursor:pointer;color:var(--ink);width:32px;height:32px;border-radius:50%}.chat-x:hover{background:#fff9}.chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.msg{max-width:86%;padding:11px 15px;border-radius:18px;font-size:14.5px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.msg.bot{background:var(--cream);border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:6px}.msg.user{background:var(--ink);color:var(--cream);align-self:flex-end;border-bottom-right-radius:6px}.msg.sys{align-self:center;font-size:12px;color:var(--muted);background:var(--sage);border-radius:99px;padding:6px 14px}.typing{display:flex;gap:4px;padding:14px 16px}.typing i{width:7px;height:7px;border-radius:50%;background:var(--rose-d);opacity:.4;animation:bounce 1.1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}.chat-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 8px}.chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--ivory)}.chat-form input{flex:1;border:1px solid var(--line);background:var(--cream);border-radius:999px;padding:11px 16px;font-size:14.5px}.chat-form input:focus{outline:none;border-color:var(--rose-d)}.chat-send{border:0;background:var(--ink);color:var(--cream);width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:18px}.chat-send:disabled{opacity:.4;cursor:default}.admin{max-width:900px;margin:0 auto;padding:40px 20px 80px}.admin h1{font-size:44px;margin-bottom:6px}.admin-card{background:var(--ivory);border:1px solid var(--line);border-radius:20px;padding:22px;margin-top:16px}.admin-card h3{font-size:26px}.badge{display:inline-block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:4px 10px;border-radius:99px;margin-right:8px;vertical-align:middle}.badge.hot{background:#f3c6c0}.badge.warm{background:#f6e3c2}.badge.cold{background:var(--lav)}.admin pre{white-space:pre-wrap;font-family:var(--sans);font-size:14px;background:var(--cream);border-radius:12px;padding:14px;margin-top:10px}.admin-meta{font-size:13px;color:var(--muted);margin:6px 0}.success{text-align:center;padding:30px 10px}.success h3{font-size:34px;margin-bottom:8px}@media (max-width:700px){.plan-cols{grid-template-columns:1fr}.swatches{grid-template-columns:repeat(3,1fr)}}
