:root{
  --bg:#fcfbff;
  --surface:#ffffff;
  --surface-2:#f6f2ff;
  --surface-3:#faf8ff;
  --text:#18122f;
  --muted:#6f6788;
  --border:#e9e3f5;
  --primary:#6f3df4;
  --primary-2:#8d6bff;
  --green:#17a673;
  --shadow:0 20px 48px rgba(111,61,244,.08);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:16px/1.65 Inter,system-ui,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}
pre{white-space:pre-wrap;font:14px/1.7 ui-monospace,SFMono-Regular,monospace}
.container{width:min(1180px,calc(100% - 48px));margin:0 auto}
.site-header{position:sticky;top:0;background:rgba(252,251,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(233,227,245,.9);z-index:20}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0}
.nav nav{display:flex;gap:30px;color:var(--muted);font-weight:500}
.nav nav a:hover{color:var(--text)}
.brand{font-size:28px;font-weight:800;letter-spacing:-.045em}
.brand span{color:var(--primary)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border-radius:999px;border:1px solid var(--border);font-weight:700;transition:.2s transform,.2s box-shadow,.2s background,.2s border-color;background:#fff}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;border:none;box-shadow:0 14px 30px rgba(111,61,244,.18)}
.btn-secondary{background:#fff;color:var(--text)}
.btn-wide{min-width:210px}
.hero,.page-hero{padding:84px 0 46px}
.hero-grid,.split,.builder-grid,.footer-grid,.grid-2,.trust-grid,.faq-layout{display:grid;gap:32px}
.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center}
.split,.grid-2,.faq-layout{grid-template-columns:1fr 1fr}
.trust-grid{grid-template-columns:1.1fr .9fr;align-items:start}
.builder-grid{grid-template-columns:1fr 420px;align-items:start}
.eyebrow,.badge,.trust-pill{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:#f1eaff;color:#5d32d6;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.badge{background:#edf7f2;color:#107653}
.trust-pill{background:#fff;color:var(--muted);border:1px solid var(--border);text-transform:none;font-size:14px;letter-spacing:0;font-weight:500;padding:9px 14px;gap:10px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--green);display:inline-block}
h1,h2,h3,h4{line-height:1.04;letter-spacing:-.05em;margin:0 0 16px}
h1{font-size:clamp(3rem,7vw,5.7rem)}
h2{font-size:clamp(2.1rem,4.6vw,3.7rem)}
h3{font-size:1.38rem}
.lead{font-size:1.22rem;color:var(--muted);max-width:760px}
.center{text-align:center}.narrow{max-width:820px;margin-inline:auto}
.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}.center-actions{justify-content:center}
.mini-stats{display:flex;gap:16px;flex-wrap:wrap;margin-top:26px}
.mini-stats div{background:#fff;padding:15px 18px;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}
.mini-stats strong{display:block;font-size:1.25rem}
.hero-card,.card,.step,.faq-box,.preview-panel,.unlock-card,.auth-card,.panel,.stat-card,.feature-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.hero-premium{background:linear-gradient(180deg,#fcfbff 0%,#fbf9ff 100%)}
.hero-copy{padding-right:18px}
.premium-hero-card{padding:28px;background:linear-gradient(180deg,#ffffff,#faf7ff)}
.builder-window{padding:10px}
.window-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;color:var(--muted);font-size:14px}
.window-dots{display:flex;gap:8px}
.window-dots span{display:block;width:10px;height:10px;border-radius:50%;background:#f3d0d0}.window-dots span:nth-child(2){background:#d9f0d9}.window-dots span:nth-child(3){background:#ddd0fb}
.window-label{font-weight:500}
.builder-stephead{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.builder-stephead small{display:block;color:var(--muted);margin-bottom:2px}
.step-badge{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:#efe7ff;color:#5d32d6;font-weight:800}
.builder-question-box{border:1px solid var(--border);border-radius:18px;padding:18px;background:#fff}
.builder-question-box label{display:block;font-weight:700;margin-bottom:14px}
.choice{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;margin-bottom:12px;color:#373049;background:#fff}
.choice:last-child{margin-bottom:0}
.choice.selected{border-color:#8f66ff;box-shadow:0 0 0 2px rgba(111,61,244,.06)}
.radio{width:18px;height:18px;border-radius:50%;border:2px solid #d6c8fb;display:inline-block;position:relative;flex:0 0 auto}.selected .radio{border-color:var(--primary)}.selected .radio:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--primary)}
.mini-preview{background:#faf8ff;border:1px solid var(--border);padding:18px;border-radius:18px}
.live-preview{margin-top:18px}.preview-title{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}
.section{padding:48px 0 88px}
.section.soft{background:linear-gradient(180deg,#fbf9ff 0%,#fcfbff 100%)}
.section-head{margin-bottom:30px}.section-head.centered{text-align:center}
.feature-grid,.card-grid,.steps-grid,.stats-grid,.trust-points{display:grid;gap:22px}
.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.feature-card{padding:24px 22px;min-height:210px}
.feature-icon{width:54px;height:54px;border-radius:16px;background:#f1eaff;color:#6b3cf5;display:grid;place-items:center;font-size:22px;margin-bottom:22px;font-weight:700}
.feature-icon.small{width:46px;height:46px;font-size:18px;margin-bottom:0}
.card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.premium-card{padding:22px;min-height:250px}
.card-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.card-mark{color:#b4adc7;font-size:18px}
.card p,.step p,.faq-box p,.panel p,.footnote,.site-footer p,.prose,.feature-card p,.trust-item p,.subtle{color:var(--muted)}
.steps-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.step{padding:28px;text-align:center}
.step strong{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:18px;background:#f1eaff;color:#5d32d6;margin-bottom:18px;font-size:22px}
.section-process .step h3{font-size:1.6rem}
.checklist{list-style:none;padding:0;margin:0}
.checklist li{padding-left:28px;position:relative;margin:0 0 10px}.checklist li:before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:800}
.trust-points{grid-template-columns:1fr 1fr}.trust-item{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start}
.faq-layout{grid-template-columns:1fr}.faq-list{width:min(760px,100%);margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);overflow:hidden}
.faq-list.large{width:min(900px,100%)}
.faq-row{display:flex;align-items:center;justify-content:space-between;padding:22px 28px;border-bottom:1px solid var(--border);font-size:1.08rem}
.faq-row:last-child{border-bottom:none}
.cta-box{text-align:center}
.site-footer{padding:44px 0 40px;border-top:1px solid var(--border);margin-top:20px;background:#fcfbff}
.footer-grid{grid-template-columns:1.3fr .8fr .8fr;gap:28px}
.footer-grid-4{grid-template-columns:1.3fr .8fr .8fr .8fr}
.footer-grid a,.footer-plain{display:block;margin:0 0 10px;color:var(--muted)}
.footer-plain{padding-top:2px}
.footnote{padding-top:22px;margin-top:22px;border-top:1px solid var(--border)}
.search-form{display:flex;gap:12px;max-width:780px;margin-top:20px}.search-form input{flex:1}
.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}label{font-weight:700}input,textarea,select{width:100%;padding:13px 14px;border:1px solid var(--border);border-radius:16px;background:#fff;color:var(--text);font:inherit}textarea{min-height:120px;resize:vertical}
.builder-form,.form-stack{padding:24px;border-radius:var(--radius);background:#fff;border:1px solid var(--border);box-shadow:var(--shadow)}
.preview-panel{padding:22px;position:sticky;top:100px}.preview-header{font-weight:800;margin-bottom:12px}
.locked{position:relative;overflow:hidden}.blurred-overlay{position:absolute;inset:auto 0 0 0;padding:22px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.96) 35%,#fff 100%);font-weight:800;color:#5d32d6;text-align:center}
.unlock-card{padding:24px}.text-link{color:#5d32d6;font-weight:800}
.flash{width:min(1120px,calc(100% - 32px));margin:16px auto;padding:14px 16px;border-radius:16px}.flash.success{background:#eafaf4;color:#0d6e4c}.flash.error{background:#fff0f2;color:#a82845}.flash.inline{margin:0 0 16px}
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:32px}.auth-card{width:min(760px,calc(100% - 32px));padding:30px}.install-card{width:min(920px,calc(100% - 32px))}
.admin-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh;background:#f8f6ff}.admin-sidebar{background:#181328;color:#fff;padding:28px;display:flex;flex-direction:column;gap:28px}.admin-brand{color:#fff}.admin-nav{display:flex;flex-direction:column;gap:12px}.admin-nav a{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.04)}.admin-main{padding:30px}
.panel{padding:24px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.row-actions{display:flex;gap:10px;align-items:center}.row-actions form{margin:0}.row-actions button{background:none;border:none;color:#a82845;font:inherit;cursor:pointer;padding:0}.checkbox{display:flex;align-items:center;gap:10px}
.prose{max-width:760px}
@media (max-width: 1040px){.hero-grid,.split,.builder-grid,.footer-grid,.grid-2,.trust-grid,.feature-grid,.card-grid,.steps-grid,.admin-shell,.trust-points{grid-template-columns:1fr 1fr}.nav nav{gap:18px}.preview-panel{position:static}}
@media (max-width: 760px){
  .container{width:min(100% - 28px,1180px)}
  .nav nav{display:none}
  .hero-grid,.split,.builder-grid,.footer-grid,.grid-2,.feature-grid,.card-grid,.steps-grid,.admin-shell,.trust-grid,.trust-points{grid-template-columns:1fr}
  .site-header{position:static}
  .hero,.page-hero{padding:54px 0 24px}
  .actions{flex-direction:column;align-items:stretch}
  .btn-wide{min-width:0}
  .section{padding:34px 0 56px}
  .faq-row{padding:18px 20px}
  .admin-sidebar{padding:20px}
  .search-form{flex-direction:column}
}


/* upgrade patch */
.visual-cards .premium-card{min-height:340px;transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;overflow:hidden}
.visual-cards .premium-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(111,61,244,.12);border-color:#d9cdfa}
.doc-thumb{height:120px;border-radius:18px;background:linear-gradient(180deg,#f3eeff,#faf8ff);display:grid;place-items:center;margin:-4px -4px 18px;position:relative;overflow:hidden}
.doc-thumb.large{height:190px}
.tone-1 .doc-thumb{background:linear-gradient(180deg,#efe7ff,#faf8ff)}
.tone-2 .doc-thumb{background:linear-gradient(180deg,#eef8f0,#fafdfa)}
.tone-3 .doc-thumb{background:linear-gradient(180deg,#f4fbf8,#fbfffd)}
.tone-4 .doc-thumb{background:linear-gradient(180deg,#fbf2e9,#fffaf6)}
.doc-sheet{width:84px;height:100px;border-radius:16px;background:#fff;box-shadow:0 14px 26px rgba(24,18,47,.08);display:flex;flex-direction:column;align-items:center;padding:12px 10px;gap:8px}
.doc-avatar{width:24px;height:24px;border-radius:50%;border:2px solid #a39abf;display:block}
.doc-line{display:block;height:4px;border-radius:999px;background:#cfc7e4;width:100%}
.doc-line.short{width:56%}
.doc-line.lower{margin-top:auto}
.inline-actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px}
.btn-small{padding:10px 16px;font-size:.95rem}
.search-inline{max-width:720px}
.letter-types-hero{padding-bottom:24px}
.letter-types-page .card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.template-card-hover .template-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(24,18,47,.28);opacity:0;transition:opacity .22s ease}
.template-card-hover:hover .template-overlay{opacity:1}
.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#50b45b;color:#fff;font-size:.8rem;font-weight:700}
.float-scene{position:relative}
.floating-doc{position:absolute;width:88px;height:110px;border-radius:18px;background:#fff;border:1px solid #eee6ff;box-shadow:0 18px 36px rgba(111,61,244,.1);opacity:.8}
.floating-doc:before,.floating-doc:after{content:"";position:absolute;left:18px;right:18px;height:5px;border-radius:999px;background:#d5c8fa}
.floating-doc:before{top:28px}.floating-doc:after{top:42px}
.doc-a{right:-18px;top:28px;transform:rotate(9deg);animation:floaty 5s ease-in-out infinite}
.doc-b{left:-18px;bottom:18px;transform:rotate(-8deg);animation:floaty 6s ease-in-out infinite reverse}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(8deg)}50%{transform:translateY(-10px) rotate(10deg)}}
.feature-grid-rich .feature-card{min-height:200px}
.compact-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:20px}
.compact-stats .stat{text-align:center}
.wow-steps .step{position:relative;padding-top:24px}
.wow-steps .step-visual{min-height:320px}
.step-art{height:86px;margin:12px auto 18px;width:120px;position:relative}
.step-art span{position:absolute;display:block;border-radius:14px;background:#fff;border:1px solid #e8defc;box-shadow:0 10px 20px rgba(111,61,244,.08)}
.art-select span:nth-child(1){inset:0;background:#f7f3ff}
.art-select span:nth-child(2){left:18px;right:18px;top:16px;height:14px}
.art-select span:nth-child(3){left:18px;right:30px;top:40px;height:14px;border-color:#8f66ff;box-shadow:0 0 0 2px rgba(111,61,244,.06)}
.art-form span:nth-child(1){inset:8px 14px 8px 14px;background:#faf8ff}
.art-form span:nth-child(2){left:28px;right:28px;top:22px;height:10px}
.art-form span:nth-child(3){left:28px;right:36px;top:44px;height:10px}
.art-preview span:nth-child(1){inset:0;background:#faf8ff}
.art-preview span:nth-child(2){left:18px;right:18px;top:18px;height:10px}
.art-preview span:nth-child(3){left:18px;right:42px;top:40px;height:10px;background:#e5dbff}
.art-send span:nth-child(1){left:12px;right:12px;top:14px;bottom:14px;background:#faf8ff}
.art-send span:nth-child(2){width:38px;height:38px;border-radius:50%;left:41px;top:8px;background:#efe7ff;border-color:#dccbff}
.art-send span:nth-child(3){left:30px;right:30px;bottom:18px;height:10px;background:#e5dbff}
.premium-footer .cta-box{display:none}
.site-footer .footer-brand{font-size:22px}
@media (max-width:1040px){.letter-types-page .card-grid,.compact-stats{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.letter-types-page .card-grid,.compact-stats{grid-template-columns:1fr}.floating-doc{display:none}.wow-steps .step-visual{min-height:0}.doc-thumb.large{height:150px}}

/* template intelligence + builder polish */
.feature-card,.wow-steps .step,.visual-cards .premium-card,.choice-card,.doc-preview-panel,.paper-preview{transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease}
.feature-card:hover,.wow-steps .step:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(111,61,244,.10);border-color:#d9cdfa}
.interactive-faq .faq-item .faq-answer{display:none;padding:0 28px 22px;color:var(--muted)}
.interactive-faq .faq-item.active .faq-answer{display:block}
.interactive-faq .faq-item.active .faq-row span{transform:rotate(45deg)}
.interactive-faq .faq-row{width:100%;background:none;border:none;cursor:pointer}
.interactive-faq .faq-row span{transition:transform .2s ease}
.builder-progress-wrap{margin-bottom:24px}
.builder-progress-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:10px;color:var(--muted);font-size:.95rem}
.builder-progress-top strong{display:block;color:var(--text);font-size:1rem;margin-top:4px}
.progress-track{height:8px;border-radius:999px;background:#eee8fb;overflow:hidden}
.progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#8d6bff);border-radius:999px}
.polished-builder-grid{grid-template-columns:minmax(0,1.55fr) minmax(340px,.85fr);align-items:start}
.polished-builder{padding:28px}
.step-heading-block{margin-bottom:18px}
.step-heading-block h2{font-size:2rem;margin-bottom:8px}
.choice-stack{display:grid;gap:12px}
.choice-card{display:grid;grid-template-columns:22px 1fr;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--border);border-radius:18px;background:#fff;cursor:pointer}
.choice-card:hover{transform:translateY(-2px);border-color:#cebdfd;box-shadow:0 16px 28px rgba(111,61,244,.08)}
.choice-card.selected{border-color:var(--primary);box-shadow:0 0 0 3px rgba(111,61,244,.08)}
.choice-card input{display:none}
.choice-indicator{width:18px;height:18px;border:2px solid #c7b9f6;border-radius:50%;position:relative}
.choice-card.selected .choice-indicator:after{content:'';position:absolute;inset:3px;border-radius:50%;background:var(--primary)}
.has-error input,.has-error textarea,.has-error select{border-color:#cf4c66}
.error-text{color:#cf4c66}
.spaced-actions{justify-content:space-between;margin-top:12px}
.doc-preview-panel{background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);padding:18px}
.sticky-preview{position:sticky;top:96px}
.paper-preview{background:#fff;border:1px solid #ede7fb;border-radius:22px;min-height:520px;padding:26px;box-shadow:0 18px 38px rgba(24,18,47,.06)}
.paper-preview pre{white-space:pre-wrap;font-family:Georgia,serif;font-size:.98rem;line-height:1.78;margin:0;color:#2a2141}
.faded-paper{position:relative;overflow:hidden}
.preview-split{grid-template-columns:minmax(0,1.25fr) 360px}
.premium-unlock-card{border:1px solid var(--border);border-radius:28px;background:#fff;box-shadow:var(--shadow)}
.unlock-price{font-size:2rem;font-weight:800;margin:18px 0;color:var(--primary)}
.unlock-price small{font-size:.95rem;color:var(--muted);font-weight:600}
.unlock-actions{display:grid;gap:10px}
.btn-block{display:flex;justify-content:center;width:100%}
@media (max-width:1040px){.polished-builder-grid,.preview-split{grid-template-columns:1fr}.sticky-preview{position:static}.paper-preview{min-height:360px}}


/* Stage 2 polish */
.feature-card,.step,.visual-card,.template-card-hover,.wizard-radio-card{transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease}
.feature-card:hover,.step:hover,.visual-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(111,61,244,.12);border-color:#d8cbfb}
.interactive-faq .faq-row{align-items:center}
.interactive-faq .faq-answer{max-height:0;overflow:hidden;display:block!important;padding:0 28px;color:var(--muted);transition:max-height .25s ease,padding .25s ease}
.interactive-faq .faq-item.active .faq-answer{max-height:220px;padding:0 28px 22px}
.interactive-faq .faq-row span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#f5efff;color:#6f3df4;font-weight:700}
.builder-page{padding:48px 0 88px;background:linear-gradient(180deg,#fcfbff 0%,#faf8ff 100%)}
.wizard-shell{background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);padding:28px}
.wizard-topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:10px;color:var(--muted);font-size:14px}
.wizard-step-label{font-weight:700;color:var(--text)}
.wizard-track{margin-bottom:30px}
.lovable-builder-grid{grid-template-columns:minmax(0,1fr) 360px;gap:28px}
.lovable-form{padding:0;border:none;box-shadow:none;background:transparent}
.wizard-heading h1{font-size:2rem;margin-bottom:8px}
.wizard-heading p{color:var(--muted);margin:0 0 18px}
.wizard-radio-stack{display:grid;gap:14px}
.wizard-radio-card{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border:1px solid var(--border);border-radius:16px;background:#fff;cursor:pointer}
.wizard-radio-card:hover{transform:translateY(-2px);border-color:#cdbcfb;box-shadow:0 14px 34px rgba(111,61,244,.08)}
.wizard-radio-card.selected{border-color:#8f66ff;box-shadow:0 0 0 3px rgba(111,61,244,.08),0 18px 40px rgba(111,61,244,.1)}
.wizard-radio-card input{display:none}
.wizard-radio-indicator{width:18px;height:18px;border-radius:999px;border:2px solid #d5c6ff;position:relative;flex:0 0 auto;margin-top:2px}
.wizard-radio-card.selected .wizard-radio-indicator{border-color:#6f3df4}
.wizard-radio-card.selected .wizard-radio-indicator:after{content:'';position:absolute;inset:3px;background:#6f3df4;border-radius:999px}
.wizard-radio-text strong{display:block;font-size:1rem;letter-spacing:-.01em}
.wizard-preview-panel{padding:20px;border-radius:24px;background:linear-gradient(180deg,#fff 0%,#faf8ff 100%)}
.wizard-paper{min-height:560px;background:#fff;border-radius:22px;border:1px solid var(--border);box-shadow:0 18px 40px rgba(24,18,47,.08);padding:26px}
.wizard-paper pre{font-size:13px;line-height:1.85;color:#423a59}
.paper-meta{display:flex;justify-content:flex-end;gap:8px;flex-direction:column;align-items:flex-end;font-size:12px;color:#7a7292;margin-bottom:18px}
.type-radio .form-group,.lovable-form .form-group{margin-bottom:18px}
.lovable-form input,.lovable-form select,.lovable-form textarea{padding:16px 18px;border-radius:16px;border:1px solid var(--border);background:#fff;font-size:15px;width:100%;outline:none;transition:border-color .18s ease, box-shadow .18s ease}
.lovable-form input:focus,.lovable-form select:focus,.lovable-form textarea:focus{border-color:#8f66ff;box-shadow:0 0 0 4px rgba(111,61,244,.08)}
.lovable-form textarea{min-height:120px}
.wizard-actions{margin-top:28px}
.step-art{height:72px;border-radius:18px;border:1px solid var(--border);background:linear-gradient(180deg,#faf7ff,#fff);margin-bottom:18px;position:relative;overflow:hidden}
.step-art span{position:absolute;display:block;border-radius:10px;background:#efe6ff;border:1px solid #dbcffd}
.art-select span:nth-child(1){left:18px;top:18px;width:80px;height:10px}
.art-select span:nth-child(2){left:18px;top:36px;width:120px;height:10px}
.art-select span:nth-child(3){right:18px;top:18px;width:36px;height:36px;border-radius:12px}
.art-form span:nth-child(1){left:18px;top:18px;width:120px;height:12px}
.art-form span:nth-child(2){left:18px;top:38px;width:160px;height:12px}
.art-form span:nth-child(3){right:18px;bottom:14px;width:60px;height:28px;border-radius:999px;background:#6f3df4}
.art-preview span:nth-child(1){left:18px;top:14px;width:80px;height:8px}
.art-preview span:nth-child(2){left:18px;top:28px;width:140px;height:8px}
.art-preview span:nth-child(3){left:18px;top:42px;width:110px;height:8px}
.art-send span:nth-child(1){left:24px;top:18px;width:44px;height:44px;border-radius:999px;background:#efe6ff}
.art-send span:nth-child(2){left:78px;top:22px;width:88px;height:10px}
.art-send span:nth-child(3){left:78px;top:40px;width:66px;height:10px}
.letter-types-page .card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.search-inline{display:flex;gap:12px;align-items:center;max-width:720px}
.search-inline input{flex:1;padding:15px 18px;border:1px solid var(--border);border-radius:16px}
.card-actions.inline-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}
.text-link{font-weight:700;color:#6f3df4}
@media (max-width: 960px){
  .lovable-builder-grid,.builder-grid{grid-template-columns:1fr}
  .wizard-paper{min-height:380px}
  .letter-types-page .card-grid,.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 640px){
  .wizard-shell{padding:18px}
  .search-inline{flex-direction:column;align-items:stretch}
  .letter-types-page .card-grid,.feature-grid{grid-template-columns:1fr}
  .wizard-topbar{flex-direction:column;align-items:flex-start}
}

/* route + UI hardening pass */
.float-scene{perspective:1400px;pointer-events:none}
.tilted-scene{transform:rotate(-6deg) translateY(6px);transform-origin:center right}
.hero-window-card{animation:heroFloat 6s ease-in-out infinite;box-shadow:0 28px 64px rgba(44,24,99,.14)}
.floating-doc{pointer-events:none}
.doc-a{animation:heroChipA 6.4s ease-in-out infinite}
.doc-b{animation:heroChipB 7.2s ease-in-out infinite}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes heroChipA{0%,100%{transform:translateY(0) rotate(8deg)}50%{transform:translateY(-8px) rotate(10deg)}}
@keyframes heroChipB{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(8px) rotate(-10deg)}}
.compact-stats .stat{padding:18px 10px}
.compact-stats .stat strong,.compact-stats .stat span{display:block}
.compact-stats .stat span{margin-top:4px}
.interactive-card:hover .feature-icon,.step:hover .step-art{transform:scale(1.04)}
.feature-icon,.step-art{transition:transform .22s ease}
.template-overlay{color:#fff;text-decoration:none}
.template-overlay .btn{pointer-events:none}
.template-page-card .template-meta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;color:var(--muted);font-size:.92rem}
.template-page-card .template-meta-row span{padding:7px 10px;background:#f7f3ff;border:1px solid var(--border);border-radius:999px}
.templates-page-premium .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1040px){.templates-page-premium .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.templates-page-premium .card-grid{grid-template-columns:1fr}}
.visual-card h3{margin-bottom:10px}
.visual-card p{min-height:52px}
.search-inline input{min-width:0}
.card-actions.inline-actions .btn-small,.btn-small{padding:11px 14px;font-size:.92rem}
.template-card-hover .doc-thumb{cursor:pointer}
.page-hero.centered,.centered{text-align:center}
.faq-row strong{text-align:left}
.hero-card .choice{pointer-events:none}


/* preview page upgrade */
.compact-hero{padding:44px 0 18px}
.preview-hero .lead{max-width:760px}
.preview-page-section{padding-top:18px}
.preview-mini-stats.compact-row{margin-top:18px}
.preview-mini-stats.compact-row div{padding:12px 14px;border-radius:16px}
.preview-mini-stats.compact-row span{display:block;color:var(--muted);font-size:.9rem;line-height:1.35}
.preview-upgraded{align-items:start}
.upgraded-preview-panel{padding:18px 18px 0}
.locked-preview-sheet{position:relative;overflow:hidden;min-height:620px;background:linear-gradient(180deg,#fff 0%,#fbf9ff 100%)}
.locked-preview-sheet pre{filter:blur(6px);transform:scale(1.01);user-select:none;pointer-events:none;color:#6d6486}
.no-select{-webkit-user-select:none;user-select:none}
.paper-watermark{position:absolute;right:22px;top:18px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#d5c7ff}
.preview-lock-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:28px;text-align:center;background:radial-gradient(circle at center, rgba(255,255,255,.68) 0%, rgba(255,255,255,.83) 42%, rgba(255,255,255,.94) 100%)}
.overlay-chip{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:#efe7ff;color:#6336e8;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}
.overlay-lock-icon{width:66px;height:66px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-size:28px;box-shadow:0 18px 35px rgba(111,61,244,.2);margin-bottom:14px;animation:floatLock 3.8s ease-in-out infinite}
.preview-lock-overlay h3{font-size:1.6rem;margin:0 0 10px}
.preview-lock-overlay p{max-width:420px;color:var(--muted);margin:0 0 18px}
.overlay-pulse-line{width:180px;height:10px;border-radius:999px;background:linear-gradient(90deg,rgba(111,61,244,.06),rgba(111,61,244,.42),rgba(111,61,244,.06));background-size:220% 100%;animation:shimmerLine 2.8s linear infinite}
@keyframes shimmerLine{0%{background-position:100% 0}100%{background-position:-100% 0}}
@keyframes floatLock{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.upgraded-unlock-card{padding:24px;position:sticky;top:98px;background:linear-gradient(180deg,#fff 0%,#faf8ff 100%)}
.upgraded-unlock-card h3{margin-top:10px}
.unlock-visual-note{display:flex;gap:12px;align-items:center;padding:14px 16px;margin:18px 0;border:1px solid #e7ddff;border-radius:18px;background:#faf7ff;color:#4d4367}
.unlock-spark{width:12px;height:12px;border-radius:999px;background:linear-gradient(135deg,#7a4dff,#b296ff);box-shadow:0 0 0 8px rgba(122,77,255,.09);flex:0 0 auto}
@media (max-width:1040px){.upgraded-unlock-card{position:static}.locked-preview-sheet{min-height:460px}}
