:root{--paper:#fbf3e4;--ink:#292824;--green:#6e8f5a;--orange:#ee9d4f;--blue:#5c86aa;--blush:#f5d9cb;--line:rgba(41,40,36,.13);--white:#fffdf9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}.container{width:min(1120px,calc(100% - 48px));margin:auto}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:40;background:var(--paper)}.brand{font:600 27px Fraunces,serif;letter-spacing:-.05em}.brand-flower{color:var(--orange);font-size:25px;margin-right:2px}.nav nav{display:flex;gap:28px;margin-left:auto;margin-right:30px}.nav nav a{font-size:14px;color:#6d6a63}.btn{display:inline-flex;gap:13px;align-items:center;justify-content:center;border:0;border-radius:99px;background:var(--ink);padding:15px 23px;color:var(--paper);font:600 14px Inter,sans-serif;cursor:pointer;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px);background:#4a4842}.btn-small{padding:11px 17px;font-size:13px}.btn-full{width:100%}.overline{font:600 11px 'DM Mono',monospace;letter-spacing:.13em;color:var(--green);margin:0 0 16px}.hero{display:grid;grid-template-columns:1.03fr .97fr;gap:65px;align-items:center;min-height:610px;padding:64px 0 82px}.hero h1,.closing h2{font:600 clamp(3.1rem,5.4vw,5rem)/.99 Fraunces,serif;letter-spacing:-.065em;margin:0;max-width:630px}.hero h1 em,.pricing h2 em,.closing em{font-weight:400;color:var(--orange)}.hero-text{max-width:495px;font-size:17px;line-height:1.65;color:#5e5b54;margin:27px 0}.hero-actions{display:flex;align-items:center;gap:25px}.text-link{font-size:14px;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:3px}.nav-auth{display:flex;align-items:center;gap:22px}.nav-auth button.text-link{background:none;border:0;border-bottom:1px solid var(--ink);cursor:pointer;font-family:inherit;padding:0 0 3px}.microcopy{font-size:12px;color:#938f86;margin-top:22px}.hero-art{height:460px;position:relative;background:#f3e2ce;border-radius:48% 52% 46% 54%/57% 44% 56% 43%;overflow:hidden}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb-one{background:#d9e5d4;width:230px;height:230px;top:-35px;right:-35px}.orb-two{background:#f7cdaa;width:125px;height:125px;bottom:12px;left:28px}.flower{position:absolute;width:285px;height:285px;left:50%;top:48%;transform:translate(-50%,-50%)}.flower i,.mini-flower i{position:absolute;background:var(--blush);border-radius:70% 30% 70% 30%;width:96px;height:155px;left:94px;top:4px;transform-origin:48px 138px;box-shadow:0 4px 15px #ad785138}.flower i:nth-child(2){transform:rotate(72deg)}.flower i:nth-child(3){transform:rotate(144deg)}.flower i:nth-child(4){transform:rotate(216deg)}.flower i:nth-child(5){transform:rotate(288deg)}.flower b,.mini-flower b{position:absolute;left:112px;top:112px;width:62px;height:62px;border-radius:50%;background:var(--orange);display:grid;place-items:center;font-size:23px;color:#fff;font-weight:400}.art-card{position:absolute;z-index:2;bottom:25px;right:20px;background:#fffdf9e8;backdrop-filter:blur(4px);padding:19px 22px;border-radius:5px;transform:rotate(-3deg);box-shadow:0 9px 24px #815e4022}.art-card span,.art-card small{display:block;font:10px 'DM Mono',monospace;color:#8e8a80}.art-card strong{display:block;font:500 21px/1.1 Fraunces,serif;margin:7px 0}.demo-band{background:var(--ink);color:var(--paper)}.demo-inner{height:96px;display:flex;align-items:center;justify-content:space-between}.demo-inner p{font:400 20px Fraunces,serif}.demo-inner a{font-size:14px;border-bottom:1px solid #aaa49a;padding-bottom:3px}.steps{padding:120px 0}.section-heading h2,.feature h2,.pricing h2{font:600 clamp(2.3rem,4vw,3.6rem)/1.03 Fraunces,serif;letter-spacing:-.055em;margin:0}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:60px}.step-grid article{border-top:1px solid var(--line);padding-top:20px}.step-grid span{font:12px 'DM Mono',monospace;color:var(--orange)}.step-grid h3{font:600 24px Fraunces,serif;margin:24px 0 12px}.step-grid p,.feature p{font-size:14px;line-height:1.65;color:#68645c;margin:0}.feature{padding-bottom:120px}.feature-card{display:grid;grid-template-columns:1fr 330px;align-items:center;min-height:350px;padding:55px 10%;background:#dce8d7;border-radius:6px;overflow:hidden}.feature h2{font-size:42px;max-width:470px}.feature h2+p{max-width:430px;margin-top:22px}.mini-flower{position:relative;width:250px;height:250px;justify-self:end}.mini-flower i{width:76px;height:131px;left:87px;top:3px;transform-origin:38px 114px;background:#fff4e9}.mini-flower i:nth-child(2){transform:rotate(72deg)}.mini-flower i:nth-child(3){transform:rotate(144deg)}.mini-flower i:nth-child(4){transform:rotate(216deg)}.mini-flower i:nth-child(5){transform:rotate(288deg)}.mini-flower b{left:94px;top:94px}.pricing{display:grid;grid-template-columns:1fr 440px;gap:80px;align-items:center;padding:30px 0 125px}.price-card{background:var(--white);padding:34px;border-radius:8px;box-shadow:0 20px 55px #6f574010}.price-label{font:600 11px 'DM Mono',monospace;letter-spacing:.12em;color:var(--green)}.price{font:500 46px Fraunces,serif;margin:16px 0 22px}.price small{font:400 13px Inter,sans-serif;color:#77736c}.price-card ul{list-style:none;border-top:1px solid var(--line);padding:18px 0 7px;margin:0 0 18px}.price-card li{font-size:14px;padding:8px 0}.price-card li:before{content:'✓';color:var(--green);margin-right:10px}.card-note{text-align:center;font-size:11px;color:#969188;margin:15px 0 0}.legal-page{padding:52px 0 90px;max-width:720px;width:min(720px,calc(100% - 48px));margin:0 auto}.legal-page h2{font:600 20px Fraunces,serif;margin:38px 0 12px}.legal-page p{font-size:14px;line-height:1.7;color:#5e5b54;margin:0 0 4px}.legal-list{margin:10px 0 0;padding-left:20px;font-size:14px;line-height:1.7;color:#5e5b54}.legal-list li{margin-bottom:6px}.legal-link{border-bottom:1px solid var(--ink);font-weight:600;color:var(--ink)}
.faq{padding:20px 0 90px}.faq-list{max-width:720px;margin-top:44px}.faq-item{border-top:1px solid var(--line);padding:22px 0}.faq-item summary{cursor:pointer;font:600 17px Fraunces,serif;list-style:none;position:relative;padding-right:30px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:'+';position:absolute;right:0;top:0;color:var(--orange);font:400 20px Inter,sans-serif}.faq-item[open] summary::after{content:'–'}.faq-item p{margin:12px 0 0;font-size:14px;line-height:1.65;color:#68645c;max-width:600px}
.closing{text-align:center;border-top:1px solid var(--line);padding:110px 0}.closing h2{font-size:50px;margin:0 auto 30px}.footer{border-top:1px solid var(--line);height:100px;display:flex;align-items:center;gap:28px;color:#87837a;font-size:12px}.footer .brand{color:var(--ink);margin-right:auto}
/* Builder */.app-shell{min-height:100vh}.app-header{border-bottom:1px solid var(--line);background:#fffaf1;position:sticky;top:0;z-index:40}.app-header .container{height:72px;display:flex;align-items:center;justify-content:space-between}.app-header a:not(.brand){font-size:13px;color:#68645d}.builder{padding:52px 0 80px;max-width:820px;width:min(820px,calc(100% - 48px));margin:0 auto}.page-title{font:600 40px/1 Fraunces,serif;letter-spacing:-.05em;margin:0 0 10px}.page-subtitle{margin:0 0 38px;color:#69655d;font-size:15px}.progress-steps{display:flex;gap:5px;margin-bottom:42px}.progress-steps i{height:4px;flex:1;background:#ded8ce;border-radius:9px}.progress-steps i.active{background:var(--green)}.form-card{background:var(--white);border:1px solid #e9e2d7;border-radius:10px;padding:36px}.form-section{display:none}.form-section.active{display:block}.form-section h2{font:600 28px Fraunces,serif;margin:0 0 8px}.form-section>p{font-size:14px;color:#716d65;margin:0 0 27px}.field{display:block;margin:0 0 18px}.field>span{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:600;margin-bottom:8px}.char-count{font:400 11px 'DM Mono',monospace;color:#a29d92}.field-error{color:#a15c47;font-size:12px;margin:6px 0 0}.field input,.field textarea,.field select{font:14px Inter,sans-serif;width:100%;border:1px solid #d8d0c5;border-radius:7px;background:#fff;padding:12px;color:var(--ink)}.field textarea{min-height:82px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid #b6cdab;border-color:var(--green)}.question-box{border:1px solid #e5ddd2;border-radius:9px;padding:18px;margin:13px 0}.question-box header{display:flex;align-items:center;justify-content:space-between;font:600 12px 'DM Mono',monospace;color:var(--green);margin-bottom:12px}.question-box .remove{border:0;background:none;color:#a2584a;font:600 12px Inter,sans-serif;cursor:pointer}.options-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.correct-choice{font-size:12px;color:#77736b;margin:12px 0 0}.correct-choice select{font:inherit;border:0;border-bottom:1px solid #aaa;background:transparent;padding:2px}.add-question{background:none;border:1px dashed #a7a096;color:#5d5a53;box-shadow:none;padding:10px 15px;font-size:13px}.form-nav{display:flex;justify-content:space-between;border-top:1px solid #e9e2d7;margin-top:28px;padding-top:22px}.form-nav .btn[hidden]{visibility:hidden}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gender-choice{border:1px solid #ddd5ca;border-radius:8px;padding:22px;text-align:center;cursor:pointer}.gender-choice input{position:absolute;opacity:0}.gender-choice strong{font:500 23px Fraunces,serif;display:block}.gender-choice span{font-size:13px;color:#77736d}.gender-choice:has(input:checked){border:2px solid var(--blue);background:#f1f7fb}.photo-preview{display:none;width:180px;margin-top:12px;border-radius:5px}.launch-summary{background:#f1f6ed;border-radius:8px;padding:18px 20px;font-size:14px;line-height:1.55}.summary-block{margin:0 0 16px}.summary-block:last-child{margin-bottom:0}.summary-block>p{margin:2px 0 0}.summary-label{display:block;font:600 11px 'DM Mono',monospace;letter-spacing:.06em;color:var(--green);text-transform:uppercase}.summary-q{margin:10px 0 0}.summary-q strong{font:600 14px Inter,sans-serif}.summary-q ul{list-style:none;margin:6px 0 0;padding:0}.summary-q li{padding:2px 0;color:#77736c;font-size:13px}.summary-q li.is-correct{color:var(--green);font-weight:600}.summary-photo{width:100px;border-radius:6px;margin-top:6px;display:block}.summary-note{font-size:12px;color:#8b8577;margin-top:4px}.payment-note{font-size:12px;color:#77736c;margin-top:20px}.link-result{display:none;margin-top:18px;padding:15px;background:#f1f6ed;border-radius:7px;font-size:13px;word-break:break-all}.account-pill{font-size:12px;color:#6b675e}.header-actions{display:flex;align-items:center;gap:22px}.header-actions a,.header-actions button{font-size:13px;color:#68645d;background:none;border:0;cursor:pointer;padding:0;font-family:inherit}.header-actions a:hover,.header-actions button:hover{color:var(--ink)}
.panel{padding:52px 0 80px;max-width:820px;width:min(820px,calc(100% - 48px));margin:0 auto}.panel-list{display:flex;flex-direction:column;gap:14px;margin-top:8px}.panel-empty{background:var(--white);border:1px dashed #d8d0c5;border-radius:10px;padding:30px;text-align:center;font-size:14px;color:#716d65}.panel-empty a{font-weight:600;color:var(--ink);border-bottom:1px solid var(--ink)}
.revelation-card{background:var(--white);border:1px solid #e9e2d7;border-radius:10px;padding:20px 22px}.revelation-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.revelation-card-top strong{font:600 18px Fraunces,serif}.revelation-date{font-size:12px;color:#938f86}.revelation-card-actions{display:flex;gap:10px;flex-wrap:wrap}.revelation-card-actions .btn{padding:9px 15px}
.badge{display:inline-block;margin-left:10px;font:600 11px 'DM Mono',monospace;letter-spacing:.04em;padding:3px 9px;border-radius:99px;vertical-align:middle}.badge-paid{background:#e5f0df;color:var(--green)}.badge-draft{background:#f1ece2;color:#8b8577}.pay-btn{margin-top:16px;background:var(--green)}.pay-btn:hover{background:#5c7a4b}.preview-note{font-size:12px;color:#a15c47;background:#f9e4dd;border-radius:7px;padding:10px 14px;margin:0 0 16px}
.share-link-box{display:flex;align-items:center;gap:10px;background:var(--white);border:1px solid #e5ddd2;border-radius:10px;padding:12px 12px 12px 18px;margin:6px 0 26px;width:100%}.share-link-box span{flex:1;font:13px 'DM Mono',monospace;color:#5d5a53;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
/* Reveal */.reveal-page{min-height:100vh;background:var(--paper)}.reveal-center{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:25px}.reveal-app{width:min(560px,100%);text-align:center}.screen{display:none;flex-direction:column;align-items:center;animation:rise .6s ease both}.screen.active{display:flex}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.reveal-title{font:600 clamp(2.2rem,6vw,3.25rem)/1.08 Fraunces,serif;letter-spacing:-.05em;margin:0 0 18px}.reveal-title em{font-weight:400;color:var(--orange)}.reveal-lede{font-size:16px;line-height:1.6;color:#5d5a53;margin:0 0 30px;max-width:470px}.blossom-wrap{width:220px;height:220px}.blossom-wrap svg{width:100%;height:100%;overflow:visible}.petal{transform-origin:100px 100px;opacity:0;transform:scale(.3);transition:.55s cubic-bezier(.2,1.4,.4,1)}.petal.bloomed{opacity:1;transform:scale(1)}.blossom-center{transition:fill .6s}.progress-caption{font-size:12px;color:#89847a;margin:8px 0 17px}.quiz-card{width:100%;background:var(--white);border-radius:16px;padding:28px;box-shadow:0 17px 40px #7f644415}.quiz-question{font:600 24px/1.25 Fraunces,serif;margin:0 0 20px}.options{display:flex;flex-direction:column;gap:9px}.option{border:1px solid #e7ded2;background:var(--paper);border-radius:10px;padding:13px;text-align:left;font:14px Inter,sans-serif;cursor:pointer}.option:hover{border-color:var(--orange)}.option.correct{background:#e5f0df;border-color:var(--green)}.option.wrong{background:#f9e4dd;border-color:#c76b56}.feedback{min-height:18px;font-size:13px;margin-top:13px;color:#a15c47}.reveal-word{font:600 clamp(3.1rem,14vw,6rem)/1 Fraunces,serif;color:var(--blue);letter-spacing:-.07em;margin:7px 0 15px}.final-photo-wrap{max-width:230px;margin:10px 0 21px;padding:9px 9px 24px;background:white;box-shadow:0 15px 35px #6c563b22;transform:rotate(-1.5deg)}.final-photo{display:block;width:100%;max-height:340px;object-fit:cover}.reveal-sign{font:italic 16px Fraunces,serif;color:#777269;margin:20px 0}.reveal-actions{display:flex;flex-direction:column;gap:10px}.btn-outline{background:transparent;color:var(--ink);border:1px solid #cfc6bb;box-shadow:none}.reveal-canvas{position:fixed;inset:0;pointer-events:none}.hidden{display:none!important}
/* Auth */.auth-page{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:40px 20px}.auth-card{width:min(420px,100%);background:var(--white);border:1px solid #e9e2d7;border-radius:10px;padding:36px}.auth-card h1{font:600 32px/1.1 Fraunces,serif;letter-spacing:-.05em;margin:0 0 10px}.auth-card .page-subtitle{margin:0 0 26px}.auth-tabs{display:flex;gap:4px;background:#f1ece2;border-radius:99px;padding:4px;margin-bottom:26px}.auth-tab{flex:1;border:0;background:none;border-radius:99px;padding:10px;font:600 13px Inter,sans-serif;color:#79756c;cursor:pointer;transition:background .2s,color .2s}.auth-tab.active{background:var(--ink);color:var(--paper)}.auth-message{min-height:18px;font-size:13px;color:#a15c47;margin:2px 0 4px}.auth-message:empty{margin:0}#auth-submit[disabled]{opacity:.6;cursor:default;transform:none}.forgot-link{display:block;width:100%;text-align:center;margin-top:16px;font-size:13px;color:#77736c;border-bottom:0;background:none;border:0;cursor:pointer;padding:0}.forgot-link:hover{color:var(--ink)}
.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--ink);margin-bottom:18px}.google-btn svg{flex-shrink:0}.auth-divider{display:flex;align-items:center;text-align:center;font-size:12px;color:#a29d92;margin:0 0 22px}.auth-divider:before,.auth-divider:after{content:'';flex:1;height:1px;background:var(--line)}.auth-divider span{padding:0 12px}
.btn[disabled]{opacity:.6;cursor:default;pointer-events:none}.auth-tab:focus-visible,.option:focus-visible,.gender-choice:has(input:focus-visible){outline:2px solid var(--green);outline-offset:2px}@media(max-width:700px){.container{width:min(100% - 32px,1120px)}.nav{height:70px}.nav nav{display:none}.nav-auth{gap:12px}.nav-auth .nav-guest,.nav-auth .nav-user{display:none}.hero{grid-template-columns:1fr;gap:35px;padding:54px 0}.hero-art{height:350px;max-width:440px;width:100%;justify-self:center}.hero h1{font-size:3.25rem}.demo-inner{height:auto;padding:24px 0;gap:20px}.demo-inner p{font-size:16px}.steps{padding:75px 0}.step-grid,.pricing{grid-template-columns:1fr;gap:35px}.step-grid{margin-top:40px}.feature{padding-bottom:75px}.feature-card{grid-template-columns:1fr;padding:35px}.mini-flower{display:none}.pricing{padding-bottom:80px}.closing{padding:75px 0}.closing h2{font-size:38px}.footer{height:auto;padding:25px 0;flex-wrap:wrap}.footer .brand{width:100%}.form-card{padding:23px 17px}.builder{padding-top:35px}.options-row{grid-template-columns:1fr}.app-header .container{height:62px}.page-title{font-size:33px}.auth-page{min-height:calc(100vh - 62px);padding:28px 16px}.auth-card{padding:26px 20px}}
.blog-list{margin-top:20px;display:flex;flex-direction:column;gap:18px}.blog-card{border:1px solid var(--line);border-radius:8px;padding:22px 24px;transition:transform .2s,box-shadow .2s}.blog-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px #6f574014}.blog-card h2{font:600 20px Fraunces,serif;margin:0 0 8px}.blog-card p{font-size:14px;line-height:1.6;color:#68645c;margin:0}
