*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:#fafafe;color:#0a0a0f;font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'DM Serif Display',Georgia,serif;font-weight:600;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2rem,5vw,3.4rem)}
h2{font-size:clamp(1.55rem,3vw,2.2rem)}
h3{font-size:1.15rem}
p{margin:0 0 1em}
a{color:#7c3aed;text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1140px;margin:0 auto;padding:0 24px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.85em 1.6em;border-radius:12px;font-weight:600;border:1.5px solid transparent;cursor:pointer;font-family:inherit;font-size:1rem;transition:transform .15s,background .15s,box-shadow .15s;text-decoration:none}
.btn-primary{background:#7c3aed;color:#fff;box-shadow:0 4px 14px #7c3aed40}
.btn-primary:hover{transform:translateY(-1px);text-decoration:none;box-shadow:0 8px 24px #7c3aed50}
.btn-outline{border-color:#ddd6fe;background:transparent;color:#0a0a0f}
.btn-outline:hover{border-color:#7c3aed;text-decoration:none;background:#7c3aed10}
.btn-lg{padding:1em 2em;font-size:1.05rem}
.kicker{display:inline-block;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#7c3aed;margin-bottom:.5em;font-weight:600}
.muted{color:#5a5772}.small{font-size:.92rem}
header.site{padding:22px 0;border-bottom:1px solid #e8e6f3;position:sticky;top:0;background:#fafafecc;backdrop-filter:blur(12px);z-index:50}
header.site .container{display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{font-family:'DM Serif Display',Georgia,serif;font-size:1.5rem;font-weight:600;color:#0a0a0f;display:inline-flex;align-items:center;gap:8px}
.brand::before{content:"";width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#a855f7)}
.brand:hover{text-decoration:none}
nav.main{display:flex;gap:24px;font-size:.95rem;align-items:center}
nav.main a{color:#5a5772}
nav.main a:hover{color:#0a0a0f;text-decoration:none}
@media (max-width:780px){nav.main a:not(.btn){display:none}}
.hero-tag{display:inline-flex;align-items:center;gap:.6em;background:#ffffff;border:1px solid #ddd6fe;padding:.5em 1.1em;border-radius:999px;font-size:.85rem;color:#7c3aed;margin-bottom:1.4em;font-weight:500}
.hero-tag .pulse{width:8px;height:8px;border-radius:50%;background:#7c3aed;box-shadow:0 0 0 0 #7c3aed60;animation:p 2s infinite}
@keyframes p{0%{box-shadow:0 0 0 0 #7c3aed60}70%{box-shadow:0 0 0 12px transparent}100%{box-shadow:0 0 0 0 transparent}}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:1.8em}
.hero-stats{display:flex;gap:36px;flex-wrap:wrap;margin-top:2.6em;padding-top:1.8em;border-top:1px solid #e8e6f3}
.hero-stats .stat .num{font-family:'DM Serif Display',Georgia,serif;font-size:1.8rem;background:linear-gradient(135deg,#7c3aed,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-stats .stat .lbl{color:#5a5772;font-size:.86rem}
section{padding:90px 0}
.tile{background:#ffffff;border:1px solid #e8e6f3;border-radius:18px;padding:30px}
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.tile.tile-hero{grid-column:span 7;background:linear-gradient(135deg,#7c3aed15,#ffffff);border-color:#ddd6fe}
.tile.t-2,.tile.t-3,.tile.t-4{grid-column:span 4}
.tile.t-5{grid-column:span 12;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;border:none}
.tile.t-5 h3,.tile.t-5 .muted{color:#fff}
.tile.t-5 .btn-primary{background:#fff;color:#7c3aed}
@media (max-width:780px){.bento .tile{grid-column:span 12}}
.tnum{font-family:'DM Serif Display',Georgia,serif;font-size:1.6rem;background:linear-gradient(135deg,#7c3aed,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;margin-bottom:.4em;font-weight:700}
.profiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:2em}
@media (max-width:780px){.profiles{grid-template-columns:1fr}}
.profile-card{background:#ffffff;border:1px solid #e8e6f3;border-radius:18px;padding:24px;position:relative;transition:transform .2s,border-color .2s}
.profile-card:hover{transform:translateY(-3px);border-color:#ddd6fe}
.profile-card .pa{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#a855f7);margin-bottom:14px;box-shadow:0 4px 14px #7c3aed40}
.profile-card .pn{font-weight:600;font-size:1.05rem}
.profile-card .pm{color:#5a5772;font-size:.9rem;margin-bottom:10px}
.profile-card .pt{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.profile-card .pt span{background:#7c3aed15;border:1px solid #ddd6fe;border-radius:99px;padding:.25em .85em;font-size:.78rem;color:#7c3aed}
.profile-card .ms{font-size:.78rem;color:#7c3aed}
.values{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:2em}
@media (max-width:780px){.values{grid-template-columns:1fr}}
.values .v{background:#ffffff;border:1px solid #e8e6f3;border-radius:18px;padding:28px}
.values .v h3{margin-bottom:.5em}
.check{list-style:none;padding:0;margin:1em 0}
.check li{padding:.6em 0 .6em 1.8em;position:relative}
.check li::before{content:"";position:absolute;left:0;top:1.1em;width:14px;height:14px;border-radius:50%;background:#7c3aed25;border:2px solid #7c3aed}
.faq{margin-top:1.5em}
.faq details{background:#ffffff;border:1px solid #e8e6f3;border-radius:14px;padding:20px 24px;margin-bottom:10px;transition:border-color .2s}
.faq details[open]{border-color:#ddd6fe}
.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:#7c3aed;font-weight:400;font-size:1.4em;line-height:1;transition:transform .2s}
.faq details[open] summary::after{content:"–";transform:rotate(180deg)}
footer.site{padding:50px 0 40px;border-top:1px solid #e8e6f3;color:#5a5772;font-size:.92rem;background:#ffffff}
footer.site .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}
footer.site nav{display:flex;gap:18px;flex-wrap:wrap}
footer.site a{color:#5a5772}
footer.site a:hover{color:#7c3aed}
form.box{background:#ffffff;border:1px solid #e8e6f3;border-radius:20px;padding:32px;max-width:480px;margin:30px auto;box-shadow:0 8px 32px #7c3aed10}
form.box label{display:block;font-size:.92rem;color:#5a5772;margin:14px 0 6px}
form.box input,form.box select{width:100%;padding:.85em 1em;border:1px solid #e8e6f3;border-radius:12px;font:inherit;background:#fafafe;color:#0a0a0f;transition:border-color .15s}
form.box input:focus,form.box select:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 4px #7c3aed20}
form.box input[type="checkbox"]{width:auto;margin:0}
form.box .row{display:flex;gap:12px}
.form-msg{margin-top:14px;padding:12px 16px;border-radius:12px;font-size:.92rem}
.form-msg.err{background:#fee;color:#c00;border:1px solid #fcc}
.form-msg.ok{background:#7c3aed15;color:#7c3aed;border:1px solid #ddd6fe}
.doc{max-width:780px;margin:60px auto}
.doc h1{margin-bottom:.6em}
.doc h2{margin-top:1.5em}
.doc-meta{color:#5a5772;margin-bottom:2em;font-size:.95rem}
.cta-card{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;border-radius:24px;padding:60px 32px;text-align:center}
.cta-card h2{color:#fff;margin-bottom:.5em}
.cta-card .muted{color:#ffffffcc}
.cta-card .btn-primary{background:#fff;color:#7c3aed}

.hero{padding:120px 0 90px;text-align:center}
.hero h1{margin:0 auto .5em}
.hero .lead{max-width:680px;margin:0 auto 1.6em;color:#5a5772;font-size:1.1rem}
.hero-cta{justify-content:center}
.hero-stats{justify-content:center;border-top:none;padding-top:1em}
.hero-portrait{margin:60px auto 0;max-width:560px;aspect-ratio:16/9;border-radius:24px;background:linear-gradient(135deg,#a855f7,#7c3aed);box-shadow:0 24px 60px #7c3aed40;position:relative;overflow:hidden}
.hero-portrait::before{content:"";position:absolute;top:50%;left:50%;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,#fff40,transparent 70%);transform:translate(-50%,-50%)}