
/* Editorial visual theme — shared by the general and profession pages. */
:root {
  --paper:#fcfbf8; --white:#ffffff; --ink:#202027; --muted:#66636d;
  --violet:#6742a4; --deep:#20182d; --lavender:#eee6fa; --line:#e8e4ed;
  --radius:28px;
}
body { background:var(--paper); -webkit-font-smoothing:antialiased; }
.wrap { width:min(1220px,calc(100% - 80px)); }
.top { min-height:88px; border-bottom-color:#e9e4ee; }
.brand { font-size:1.02rem; letter-spacing:-.045em; }
.mark { width:36px; height:36px; border-radius:12px; background:#f0e8fc; color:var(--violet); border:1px solid #dfcff2; }
.top nav { gap:32px; font-weight:550; }
.button { min-height:52px; border-radius:13px; font-size:.91rem; letter-spacing:-.015em; padding:13px 20px; }
.button--small { min-height:44px; font-size:.8rem; padding:9px 15px; background:transparent; }
.button--primary { background:var(--violet); border-color:var(--violet); box-shadow:0 7px 17px #6742a41d; }
.button--primary:hover { background:#503081; border-color:#503081; box-shadow:0 9px 24px #6742a429; }
.button--light { background:#ede1ff; color:#332044; }
.button span { display:inline-grid; place-items:center; width:23px; height:23px; border-radius:50%; background:#ffffff1c; }
.hero { grid-template-columns:1fr 1fr; padding-block:66px 62px; gap:clamp(35px,5.5vw,84px); }
.hero-copy { gap:22px; }
.eyebrow { font-size:.66rem; letter-spacing:.17em; font-weight:760; }
.eyebrow span { width:6px; height:6px; background:#956bc5; }
.hero h1 { font-family:var(--body); font-weight:620; font-size:clamp(3.05rem,4.65vw,4.65rem); line-height:1.035; letter-spacing:-.066em; text-wrap:balance; }
.hero h1 em { font-family:var(--display); font-weight:400; letter-spacing:-.06em; line-height:1.03; }
.hero .lead { max-width:480px; font-size:1.025rem; line-height:1.7; }
.hero-actions { gap:20px; }
.text-link { font-size:.87rem; font-weight:650; }
.hero-art { min-height:520px; border-radius:32px; background:radial-gradient(ellipse at 65% 33%,#54416f 0%,#342740 48%,#211b2b 100%); border-color:#362c43; box-shadow:0 24px 50px #35244213; }
.hero-art::after { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; box-shadow:inset 0 0 0 1px #fff1; }
.hero-art__top { inset:23px 25px auto; color:#d0c3df; font-size:.55rem; letter-spacing:.16em; }
.hero-art__top i { background:#c9afea; box-shadow:0 0 0 4px #c9afea12; }
.hero-glow { background:conic-gradient(from 160deg,transparent,#ba9edf40,transparent 40%,#f9edd62b,transparent); opacity:.65; }
.hero-orbit { width:88%; height:80%; right:0; top:10%; border-color:#b4a0c13b; box-shadow:0 0 0 24px rgba(255,255,255,.025),0 0 0 49px rgba(255,255,255,.015); transform:rotate(-30deg); }
.hero-spark { color:#cfb6eb; }
.hero-spark--two { color:#e3d1f3; }
.hero-spark--three { color:#dfc9f4; }
.post-preview { top:13%; right:10%; height:73%; width:59%; border:5px solid #fff7f1; border-radius:14px; transform:perspective(900px) rotateY(-8deg) rotateZ(7deg); box-shadow:0 26px 42px #0a05175c; }
.post-preview__copy { top:8%; }
.post-preview__copy strong { font-size:clamp(1.65rem,2.8vw,2.75rem); line-height:1.03; letter-spacing:-.06em; }
.post-preview__copy small { color:#fff7ed; letter-spacing:.14em; font-size:.52rem; }
.prompt-note { bottom:13%; left:6%; width:67%; max-width:320px; border-radius:15px; padding:16px; background:#fffcf7; box-shadow:0 15px 25px #10091b36; font-size:.76rem; }
.prompt-note__icon { border:1px solid #e4d3f6; background:#eee4fa; color:#6d439c; }
.prompt-note b { font-size:.71rem; color:#392c47; margin-bottom:5px; }
.prompt-note p { line-height:1.45; color:#65596e; }
.hero-art figcaption { color:#d4c5df; font-size:.61rem; bottom:13px; right:20px; }
.format-band { border-color:#e9e4ee; background:#f6f3f8; }
.formats { min-height:69px; }
.formats span { border-color:transparent !important; font-size:.8rem; color:#655c6f; font-weight:600; }
.formats i { display:grid; place-items:center; width:29px; height:29px; border-radius:8px; background:#eae1f2; color:#72538f; font-size:1.04rem; }
.section { padding-block:98px; }
h2 { font-size:clamp(2.8rem,4.8vw,4.35rem); line-height:1.02; }
.section-head { margin-bottom:24px; grid-template-columns:1.3fr .7fr; gap:60px; }
.section-head > p { max-width:350px; font-size:.94rem; line-height:1.7; }
.demo { grid-template-columns:.95fr 1.05fr; border:1px solid #e1d9e8; border-radius:28px; box-shadow:0 14px 38px #39274608; }
.demo-text { padding:48px; }
.tabs { background:#f3eff7; padding:5px; border-radius:11px; display:inline-flex; width:fit-content; gap:2px; }
.tabs button { min-height:43px; border-radius:8px; padding-inline:13px; border-color:transparent; color:#796a86; background:transparent; }
.tabs button[aria-selected=true] { background:#fff; color:#5a3488; border-color:#e4dbea; box-shadow:0 2px 5px #3927460c; }
.tabs button:hover { background:#fff9; }
.demo .overline { color:#9277a9; font-size:.61rem; }
.demo h3 { font-size:2rem; margin-block:12px; font-weight:650; }
.demo [role=tabpanel] > p:not(.overline) { font-size:.93rem; line-height:1.7; }
.demo blockquote { margin-block:22px; border-left:2px solid #c8b1de; background:#f7f3fb; padding:15px 16px; line-height:1.65; color:#665370; font-size:.86rem; }
.demo-disclosure { color:#8a7c92; font-size:.68rem; }
.demo-stage { min-height:520px; background:radial-gradient(ellipse at 45% 20%,#fdfaff 0%,#e8dfee 72%); padding:34px; }
.visual { width:min(100%,320px); }
.slide { border-radius:15px; box-shadow:0 12px 25px #30213e22; }
.slide-controls { gap:17px; margin-top:17px; font-size:.73rem; color:#66536f; }
.slide-controls button { border-radius:50%; width:42px; height:42px; border-color:#d8cce2; }
.video-demo { width:min(100%,255px); }
.video-demo video { border:5px solid #fff; border-radius:20px; box-shadow:0 14px 30px #2d1f3b26; }
.visual figcaption { font-size:.65rem; color:#82708e; }
.how { background:#f4f0f7; border-color:#e8e0ee; }
.how-grid { gap:80px; }
.steps li { padding-block:25px; border-color:#e1d8e8; gap:18px; }
.steps li > span { background:#e7ddef; border-radius:50%; width:35px; height:35px; color:#795b92; }
.steps h3 { font-size:1.06rem; font-weight:650; margin-bottom:8px; }
.steps p { line-height:1.65; font-size:.88rem; max-width:365px; }
.chat { box-shadow:0 20px 40px #38264012; border-radius:21px; }
.chat-head { padding:17px 19px; }
.chat--whats .chat-head { background:#315145; }
.chat--whats .chat-messages { padding:21px 17px; gap:13px; }
.chat figcaption { font-size:.65rem; line-height:1.5; }
.bubble { padding:12px 14px; line-height:1.6; font-size:.78rem; }
.for-who,.faq { gap:95px; }
.audiences > div { padding-block:23px; }
.audiences b { font-size:.99rem; font-weight:650; margin-bottom:8px; }
.audiences p { font-size:.9rem; line-height:1.7; }
.offer { padding:58px; background:radial-gradient(ellipse at 96% 4%,#58406c,transparent 65%),#211a2b; border-radius:30px; }
.offer p:not(.eyebrow) { color:#cbbbd6; font-size:.95rem; }
.offer .eyebrow { color:#c1a8d9; }
.offer h2 em { color:#dac2f1; }
.offer .button { min-height:55px; padding-inline:25px; }
.faq-list { border-color:#e4dce9; }
summary { min-height:69px; font-size:.94rem; font-weight:620; }
summary::after { display:grid; place-items:center; width:26px; height:26px; flex:none; background:#eee7f5; border-radius:50%; font-size:1.06rem; }
details p { line-height:1.75; font-size:.89rem; }
.footer { background:#f4f1f6; }
.footer .wrap { padding-block:26px; }
.footer .brand { font-size:.9rem; }
@media(min-width:1100px) { .hero-art { min-height:545px; } }
@media(max-width:1000px) {
 .wrap { width:calc(100% - 48px); }
 .hero { gap:34px; }
 .hero-art { min-height:470px; }
 .demo-text { padding:30px; }
 .demo-stage { padding:25px; }
 .how-grid { gap:35px; }
}
@media(max-width:760px) {
 .wrap { width:calc(100% - 36px); }
 .top { min-height:68px; gap:10px; }
 .top .brand { font-size:.83rem; gap:7px; }
 .top .mark { width:29px; height:29px; border-radius:10px; }
 .top .button { min-height:42px; padding:8px 10px; font-size:.73rem; gap:5px; }
 .top .button span { width:17px; height:17px; }
 .hero { grid-template-columns:1fr; padding-block:31px 29px; gap:27px; }
 .hero-copy { gap:16px; }
 .hero .eyebrow { font-size:.58rem; letter-spacing:.13em; }
 .hero h1 { font-size:clamp(2.25rem,9.7vw,4rem); font-weight:600; letter-spacing:-.064em; line-height:1.04; }
 .hero .lead { font-size:.91rem; line-height:1.7; }
 .hero-actions { gap:10px 17px; }
 .hero-actions .button { min-height:50px; font-size:.84rem; padding-inline:17px; }
 .text-link { font-size:.81rem; }
 .hero-art { min-height:0; aspect-ratio:1.05; border-radius:24px; }
 .hero-art__top { inset:16px 17px auto; font-size:.48rem; }
 .post-preview { top:14%; width:60%; right:9%; height:72%; }
 .post-preview__copy strong { font-size:clamp(1.3rem,5.5vw,2.2rem); }
 .post-preview__copy small { font-size:.43rem; }
 .prompt-note { width:72%; max-width:none; left:5%; bottom:12%; padding:11px; font-size:.67rem; gap:8px; }
 .prompt-note b { font-size:.65rem; }
 .prompt-note__icon { width:25px; height:25px; }
 .hero-art figcaption { font-size:.54rem; right:14px; bottom:10px; }
 .formats { min-height:0; }
 .formats span { min-height:46px; border-right:1px solid #e8e1ed !important; font-size:.72rem; }
 .formats i { width:23px; height:23px; font-size:.9rem; border-radius:6px; }
 .section { padding-block:54px; }
 h2 { font-size:clamp(2.45rem,9vw,3.3rem); }
 .section-head { grid-template-columns:1fr; gap:14px; }
 .section-head > p { font-size:.89rem; line-height:1.7; }
 .demo { grid-template-columns:1fr; border-radius:22px; }
 .demo .tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:10px 10px 0; padding:4px; width:auto; border-radius:11px; }
 .demo .tabs button { min-height:43px; font-size:.78rem; padding:7px 4px; }
 .demo-stage { padding:24px 18px 19px; min-height:0; margin-top:12px; }
 .demo-stage .visual { width:min(100%,290px); }
 .demo-stage .video-demo { width:min(100%,215px); }
 .demo [role=tabpanel] { padding:20px 20px 0; }
 .demo h3 { font-size:1.5rem; }
 .demo [role=tabpanel] > p:not(.overline) { font-size:.86rem; }
 .demo blockquote { margin-block:15px; padding:12px; font-size:.79rem; }
 .demo-disclosure { padding:0 20px 20px; font-size:.65rem; }
 .how-grid,.for-who,.faq { grid-template-columns:1fr; gap:26px; }
 .steps li { padding-block:20px; }
 .steps p { font-size:.86rem; }
 .chat { border-radius:17px; }
 .offer { padding:29px 25px; border-radius:24px; gap:25px; }
 .offer h2 { font-size:2.65rem; }
 .offer .button { min-height:51px; }
 .offer p:not(.eyebrow) { font-size:.89rem; line-height:1.7; }
 .mobile-buy { background:#fffc; backdrop-filter:blur(16px); border-color:#e7deee; }
 .mobile-buy .button { border-radius:11px; font-size:.85rem; min-height:47px; }
 .footer .wrap { gap:15px; }
}
@media(max-width:360px) {
 .wrap { width:calc(100% - 28px); }
 .top .brand { font-size:.75rem; }
 .top .button { font-size:.68rem; padding-inline:8px; }
 .hero-actions { gap:9px; }
 .hero-actions .button { padding-inline:12px; font-size:.77rem; }
 .hero h1 { font-size:2.15rem; }
 .prompt-note { font-size:.61rem; }
}
@media(prefers-reduced-motion:reduce) {
 .hero-glow,.hero-post-stack,.prompt-note,.hero-spark { animation:none; }
}
