:root{--bg:#120c17;--panel:#1b1221;--ink:#fff9f3;--muted:#b9aebd;--rose:#ea8ca7;--rose2:#f3b1bc;--line:rgba(255,255,255,.11);--green:#7ee6a6}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;line-height:1.55;overflow-x:hidden}
button,input{font:inherit}
button,a{touch-action:manipulation}
a{color:inherit}
.grain{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.05;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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E")}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:absolute;z-index:10;width:100%}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:600;letter-spacing:.22em;font-size:14px}
.brand-mark{display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);border-radius:50%;width:34px;height:34px;font-family:"Playfair Display",serif;font-style:italic;font-size:18px;letter-spacing:0}
.header-right{display:flex;align-items:center;gap:28px;font-size:12px}
.status{color:#d9ccd9}.status i,.phone-top i{width:7px;height:7px;background:var(--green);display:inline-block;border-radius:50%;box-shadow:0 0 12px var(--green);margin-right:7px}
.instagram{text-decoration:none;color:var(--rose2)}
.hero{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:130px 8vw 70px;position:relative;background:radial-gradient(circle at 70% 45%,rgba(164,67,111,.2),transparent 34%),linear-gradient(140deg,#120c17 35%,#1a0d18)}
.hero-copy{position:relative;z-index:2;max-width:680px}
.eyebrow{display:flex;align-items:center;gap:14px;color:var(--rose2);font-size:11px;letter-spacing:.2em;margin-bottom:28px}
.eyebrow b{border:1px solid rgba(234,140,167,.45);border-radius:100px;padding:4px 8px;font-size:9px}
h1,h2,h3,p{margin-top:0}
h1{font:600 clamp(50px,6vw,92px)/.98 "Playfair Display",serif;letter-spacing:-.045em;margin-bottom:28px}
h1 em{color:var(--rose);font-weight:600}
.lede{color:var(--muted);font-size:clamp(16px,1.4vw,20px);max-width:590px;margin-bottom:38px}
.hero-actions{display:flex;align-items:center;gap:25px}
.primary{border:0;border-radius:100px;padding:16px 25px;background:var(--rose);color:#24111a;font-weight:600;cursor:pointer;box-shadow:0 10px 35px rgba(234,140,167,.22);transition:.2s transform,.2s background}
.primary:hover{transform:translateY(-2px);background:#f3a2b9}
.primary span{margin-left:25px}
.microcopy{color:#8e818f;font-size:11px;line-height:1.5}.microcopy strong{color:#d8cbd6}
.trust-row{display:flex;gap:25px;margin-top:45px;color:#8e818f;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.portrait-wrap{position:relative;max-width:490px;justify-self:center;width:100%}
.portrait-card{position:relative;border-radius:240px 240px 32px 32px;overflow:hidden;aspect-ratio:.76;border:1px solid rgba(255,255,255,.13);box-shadow:0 40px 100px rgba(0,0,0,.45)}
.portrait-card img{width:100%;height:100%;object-fit:cover;object-position:center 25%;filter:saturate(.86) contrast(1.02)}
.portrait-shade{position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(13,7,15,.92))}
.portrait-caption{position:absolute;bottom:25px;left:30px;right:30px;display:flex;align-items:center;justify-content:space-between}
.portrait-caption strong{display:block;font:600 30px "Playfair Display",serif}.portrait-caption span{font-size:11px;color:#c8b8c5;text-transform:uppercase;letter-spacing:.14em}
.online-dot{height:12px;width:12px;border-radius:50%;background:var(--green);box-shadow:0 0 0 7px rgba(126,230,166,.12),0 0 20px var(--green)}
.floating-note{position:absolute;background:rgba(36,23,41,.82);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(18px);border-radius:16px;color:#e9dfe6;font:italic 15px "Playfair Display",serif;padding:14px 18px;box-shadow:0 14px 50px rgba(0,0,0,.3)}
.note-one{left:-65px;top:27%}.note-two{right:-55px;bottom:20%;font:500 10px "DM Sans";text-transform:uppercase;letter-spacing:.08em}
.promise{padding:120px 8vw;background:#f4ebe3;color:#251b27}
.promise>p{color:#9a6375;font-size:11px;text-transform:uppercase;letter-spacing:.17em}
.promise>h2{font:600 clamp(33px,4vw,58px)/1.1 "Playfair Display",serif;max-width:1000px;letter-spacing:-.025em}
.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:75px}
.promise article{border-top:1px solid rgba(37,27,39,.2);padding-top:22px}.promise article>span{font-size:10px;color:#a7808d}.promise h3{font:600 24px "Playfair Display",serif;margin:18px 0 10px}.promise article p{color:#695c6a;font-size:14px}
.chat-section{min-height:100vh;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;padding:120px 10vw;align-items:center;background:radial-gradient(circle at 65% 40%,rgba(166,68,112,.2),transparent 35%)}
.section-label{font-size:10px;color:var(--rose2);letter-spacing:.18em}.chat-intro h2{font:600 clamp(40px,5vw,70px)/1.05 "Playfair Display",serif;margin:18px 0}.chat-intro p{color:var(--muted);max-width:380px}
.phone{width:min(100%,470px);height:650px;justify-self:center;border:1px solid rgba(255,255,255,.16);border-radius:36px;background:rgba(28,18,33,.88);box-shadow:0 35px 100px rgba(0,0,0,.45);display:flex;flex-direction:column;overflow:hidden;backdrop-filter:blur(18px)}
.phone-top{height:88px;padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.phone-top img{width:48px;height:48px;border-radius:50%;object-fit:cover}.phone-top div{flex:1}.phone-top strong{display:block}.phone-top span{color:#9f909f;font-size:11px}.phone-top i{width:6px;height:6px}.phone-top button{background:none;border:0;color:#a99ba8;cursor:pointer;letter-spacing:3px}
.messages{padding:22px 18px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin}
.day-label{text-align:center;font-size:9px;color:#766a78;text-transform:uppercase;letter-spacing:.14em;margin-bottom:7px}
.bubble{padding:12px 15px;border-radius:17px;max-width:82%;font-size:14px;line-height:1.45;animation:pop .22s ease-out}.bubble.amara{align-self:flex-start;background:#2a1d30;border-bottom-left-radius:5px}.bubble.user{align-self:flex-end;background:var(--rose);color:#25121a;border-bottom-right-radius:5px}
@keyframes pop{from{opacity:0;transform:translateY(6px)}}
.typing{height:24px;margin:0 19px 8px;display:flex;gap:4px;align-items:center}.typing span{height:5px;width:5px;border-radius:50%;background:#a78e9e;animation:dot 1s infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes dot{50%{transform:translateY(-4px);opacity:.5}}
.composer{margin:0 15px 8px;padding:7px 7px 7px 17px;background:#25192b;border:1px solid var(--line);border-radius:100px;display:flex}.composer input{flex:1;background:none;border:0;outline:0;color:white;min-width:0}.composer input::placeholder{color:#756978}.composer button{height:38px;width:38px;border-radius:50%;border:0;background:var(--rose);font-size:20px;cursor:pointer}
.chat-meta{display:flex;justify-content:space-between;color:#6f6371;font-size:9px;padding:0 23px 14px}
footer{padding:70px 7vw 30px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr auto;gap:35px;align-items:start;color:#958895;font-size:12px}footer p{max-width:450px}footer nav{display:flex;gap:20px}footer nav a{text-decoration:none}footer small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px}
.modal{position:fixed;z-index:50;inset:0;background:rgba(8,4,10,.8);backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px}.hidden{display:none!important}.modal-card{position:relative;background:#211627;border:1px solid rgba(255,255,255,.14);border-radius:26px;padding:38px;width:min(100%,430px);text-align:center;box-shadow:0 30px 100px rgba(0,0,0,.6)}.modal-icon{width:64px;height:64px;border:1px solid var(--rose);color:var(--rose2);border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;font:600 20px "Playfair Display"}.modal-card h2{font:600 32px "Playfair Display";margin-bottom:12px}.modal-card p{color:#b6a8b5;font-size:14px}.full{width:100%;margin:14px 0}.age-card>a{display:block;font-size:12px;color:#8e808d;text-decoration:none;margin:8px}.age-card small{display:block;color:#716571;font-size:9px;margin-top:22px}.spark{color:var(--rose);font-size:35px}.modal-close{position:absolute;right:18px;top:14px;border:0;background:none;color:#948694;font-size:26px;cursor:pointer}.checkout-note{font-size:10px;color:#756a77}
.toast{position:fixed;z-index:60;bottom:25px;left:50%;transform:translateX(-50%);background:#f4ebe3;color:#2a1a27;padding:12px 18px;border-radius:100px;font-size:12px;box-shadow:0 15px 50px rgba(0,0,0,.35)}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding:130px 6vw 80px;gap:70px}.hero-copy{text-align:center;margin:auto}.hero-actions,.trust-row{justify-content:center}.portrait-wrap{max-width:430px}.promise{padding:90px 7vw}.promise-grid{grid-template-columns:1fr;gap:30px}.chat-section{grid-template-columns:1fr;padding:90px 5vw}.chat-intro{text-align:center}.chat-intro p{margin-left:auto;margin-right:auto}footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:560px){.site-header{height:70px;padding:0 18px}.header-right .status{display:none}.hero{padding:105px 20px 60px}.hero-actions{flex-direction:column}.trust-row{gap:10px;flex-wrap:wrap}.portrait-wrap{width:88%}.floating-note{display:none}.promise{padding:70px 22px}.chat-section{padding:70px 12px}.phone{height:620px;border-radius:27px}.chat-intro{padding:0 15px}footer{grid-template-columns:1fr;padding:55px 25px 25px}footer nav{grid-row:auto}}
