:root{--sp-ink:#18323b;--sp-muted:#5b7078;--sp-green:#17766d;--sp-mint:#e8f5f1;--sp-coral:#f27d62;--sp-cream:#fff9f1;--sp-blue:#4775d1;--sp-line:#dce7e5;--sp-white:#fff}.sp-shell{color:var(--sp-ink);font-family:Inter,sans-serif;background:linear-gradient(180deg,#f7fbfa 0,#fff 18rem);min-height:100vh}.sp-shell h1,.sp-shell h2,.sp-shell h3{font-family:Inter,sans-serif;font-weight:800;letter-spacing:-.035em}.sp-nav{max-width:1320px;margin:auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--sp-line)}.sp-brand{display:grid;grid-template-columns:42px auto;grid-template-rows:auto auto;text-decoration:none;color:var(--sp-ink);line-height:1.05}.sp-brand>span{grid-row:1/3;width:36px;height:36px;border-radius:12px;background:var(--sp-green);color:#fff;display:grid;place-items:center;font-weight:900}.sp-brand strong{font-size:1rem}.sp-brand small{color:var(--sp-muted);font-size:.68rem}.sp-nav>div{display:flex;gap:1.6rem}.sp-nav>div a{color:var(--sp-ink);text-decoration:none;font-weight:700;font-size:.88rem}.sp-hero,.sp-detail-hero,.sp-result-hero{max-width:1240px;margin:3.5rem auto;padding:4.5rem;border-radius:36px;background:linear-gradient(135deg,#e9f7f2,#f2f1ff 65%,#fff1ec);display:grid;grid-template-columns:1.5fr .75fr;gap:4rem;align-items:center;overflow:hidden}.sp-kicker,.sp-pagehead>span,.sp-heading span,.sp-process>div>span,.sp-ecosystem>div>span,.sp-detail-hero>div>span{display:inline-flex;color:var(--sp-green);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.sp-hero h1{font-size:clamp(2.6rem,5vw,5rem);line-height:1.02;margin:1rem 0 1.4rem}.sp-hero h1 em{color:var(--sp-green);font-style:normal}.sp-hero>div>p,.sp-detail-hero>div>p{font-size:1.12rem;line-height:1.75;color:var(--sp-muted);max-width:720px}.sp-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.7rem}.sp-btn{border:1px solid var(--sp-line);background:#fff;color:var(--sp-ink);padding:.82rem 1.15rem;border-radius:12px;text-decoration:none;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer}.sp-btn.primary{background:var(--sp-green);border-color:var(--sp-green);color:#fff;box-shadow:0 12px 30px rgba(23,118,109,.18)}.sp-btn.large{padding:1rem 1.4rem}.sp-trust{display:flex;gap:1.2rem;list-style:none;padding:0;margin:2rem 0 0;color:var(--sp-muted);font-size:.8rem}.sp-trust i{color:var(--sp-green)}.sp-hero-card{background:rgba(255,255,255,.8);padding:2rem;border:1px solid rgba(255,255,255,.9);border-radius:28px;box-shadow:0 22px 70px rgba(31,73,69,.12)}.sp-ring{width:145px;height:145px;border-radius:50%;margin:1.4rem auto;display:flex;flex-direction:column;align-items:center;justify-content:center;border:13px solid var(--sp-mint);outline:3px solid var(--sp-green)}.sp-ring b{font-size:2.6rem}.sp-ring span{font-size:.7rem}.sp-hero-card ol{list-style:none;padding:0;margin:0;display:grid;gap:.65rem}.sp-hero-card li{display:flex;align-items:center;gap:.7rem}.sp-hero-card li span{width:25px;height:25px;border-radius:8px;background:var(--sp-mint);display:grid;place-items:center;color:var(--sp-green);font-weight:900}.sp-section,.sp-process,.sp-ecosystem,.sp-pagehead,.sp-filter,.sp-grid-wide,.sp-detail-layout,.sp-roadmap-form,.sp-plan,.sp-challenge,.sp-method,.sp-disclaimer{max-width:1240px;margin:4rem auto}.sp-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:1.5rem}.sp-heading h2,.sp-pagehead h1{font-size:clamp(2rem,4vw,3.3rem);margin:.3rem 0}.sp-heading>a,.sp-arrow{color:var(--sp-green);font-weight:800;text-decoration:none}.sp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.sp-card{padding:1.6rem;background:#fff;border:1px solid var(--sp-line);border-radius:20px;display:flex;flex-direction:column;min-height:280px;transition:.2s}.sp-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(39,72,70,.1)}.sp-card>i{width:44px;height:44px;border-radius:13px;background:var(--sp-mint);color:var(--sp-green);display:grid;place-items:center;font-size:1.25rem;margin-bottom:1.2rem}.sp-card>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--sp-muted);font-weight:800}.sp-card h2,.sp-card h3{font-size:1.25rem;margin:.55rem 0}.sp-card h2 a,.sp-card h3 a{color:inherit;text-decoration:none}.sp-card p{color:var(--sp-muted);line-height:1.6}.sp-card .sp-arrow{margin-top:auto}.sp-process{background:var(--sp-ink);color:#fff;border-radius:30px;padding:3rem;display:grid;grid-template-columns:.7fr 1.3fr;gap:3rem}.sp-process>div p{color:#b9cacb}.sp-process ol{display:grid;grid-template-columns:1fr 1fr;gap:1rem;list-style:none;margin:0;padding:0}.sp-process li{border:1px solid rgba(255,255,255,.14);padding:1.2rem;border-radius:16px;display:grid}.sp-process li b{color:#7dd5c8}.sp-process li span{color:#b9cacb;font-size:.82rem}.sp-frameworks{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.sp-frameworks a,.sp-source-list a{padding:1.3rem;border:1px solid var(--sp-line);border-radius:16px;text-decoration:none;color:var(--sp-ink);display:flex;flex-direction:column}.sp-frameworks span,.sp-source-list span{color:var(--sp-muted);font-size:.82rem;margin:.5rem 0}.sp-frameworks small,.sp-source-list small{color:var(--sp-green)}.sp-ecosystem{padding:3rem;border-radius:28px;background:var(--sp-cream);display:grid;grid-template-columns:.7fr 1.3fr;gap:2rem}.sp-ecosystem>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.sp-ecosystem a,.sp-side a{background:#fff;padding:1rem;border-radius:13px;text-decoration:none;color:var(--sp-ink);display:flex;flex-direction:column}.sp-ecosystem small,.sp-side small{color:var(--sp-muted);font-size:.75rem}.sp-pagehead{text-align:center;max-width:850px}.sp-pagehead p{color:var(--sp-muted);font-size:1.05rem}.sp-filter,.sp-form-intro,.sp-roadmap-form{display:flex;gap:1rem;align-items:end;background:#fff;border:1px solid var(--sp-line);padding:1.2rem;border-radius:18px}.sp-filter label,.sp-roadmap-form label,.sp-form-intro label,.sp-challenge label{display:grid;gap:.4rem;font-size:.76rem;font-weight:800;flex:1}.sp-filter input,.sp-filter select,.sp-roadmap-form select,.sp-form-intro select,.sp-challenge select{border:1px solid var(--sp-line);padding:.8rem;border-radius:10px;background:#fff;color:var(--sp-ink)}.sp-crumb{max-width:1240px;margin:2rem auto;display:flex;gap:.5rem;align-items:center;font-size:.82rem}.sp-crumb a{color:var(--sp-green)}.sp-detail-hero{margin-top:1rem;padding:3.5rem}.sp-detail-hero h1{font-size:clamp(2.5rem,5vw,4.5rem)}.sp-detail-hero aside{background:#fff;padding:2rem;border-radius:22px}.sp-detail-hero aside>i{font-size:2.2rem;color:var(--sp-green)}.sp-detail-hero aside small{display:block;margin:.8rem 0;text-transform:uppercase;font-weight:800;color:var(--sp-muted)}.sp-detail-layout{display:grid;grid-template-columns:1fr 330px;gap:1.5rem;align-items:start}.sp-panel,.sp-side section{border:1px solid var(--sp-line);border-radius:22px;padding:2rem;margin-bottom:1.3rem;background:#fff}.sp-number{color:var(--sp-coral);font-weight:900}.sp-checklist{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.sp-checklist li{background:var(--sp-mint);padding:1rem;border-radius:12px}.sp-checklist i{color:var(--sp-green);margin-right:.4rem}.sp-skills article{padding:1rem 0;border-top:1px solid var(--sp-line)}.sp-skills article>div{display:flex;justify-content:space-between}.sp-skills h3{font-size:1rem}.sp-skills a{font-size:.72rem;color:var(--sp-green)}.sp-skills p{color:var(--sp-muted);margin:0}.sp-projects{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.sp-projects article{background:var(--sp-cream);padding:1.2rem;border-radius:14px}.sp-projects i{color:var(--sp-coral)}.sp-projects h3{font-size:1rem;margin:.5rem 0}.sp-projects p{font-size:.8rem;color:var(--sp-muted)}.sp-side{position:sticky;top:1rem}.sp-chip{display:inline-block;background:var(--sp-mint);padding:.4rem .7rem;border-radius:999px;margin:.2rem;font-size:.78rem}.sp-side section:last-child{display:grid;gap:.6rem}.sp-assessment{max-width:900px;margin:2rem auto}.sp-assessment fieldset{border:1px solid var(--sp-line);background:#fff;border-radius:20px;margin:1rem 0;padding:1.4rem}.sp-assessment legend{float:none;width:auto;display:flex;gap:1rem;align-items:center}.sp-assessment legend>b{width:36px;height:36px;background:var(--sp-mint);color:var(--sp-green);border-radius:10px;display:grid;place-items:center}.sp-assessment legend span{display:grid}.sp-assessment legend small{font-weight:400;color:var(--sp-muted);font-size:.78rem}.sp-levels{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.sp-levels label{cursor:pointer}.sp-levels input{position:absolute;opacity:0}.sp-levels span{height:100%;display:flex;align-items:center;padding:.8rem;border:1px solid var(--sp-line);border-radius:10px;font-size:.77rem}.sp-levels input:checked+span{border-color:var(--sp-green);background:var(--sp-mint);color:var(--sp-green);font-weight:800}.sp-assessment>.large{width:100%}.sp-result-hero{grid-template-columns:1fr 220px}.sp-result-hero>div>i{font-size:2rem;color:var(--sp-green)}.sp-score{width:180px;height:180px;border-radius:50%;background:conic-gradient(var(--sp-green) var(--score),#dce9e6 0);display:grid;place-content:center;text-align:center;position:relative}.sp-score:after{content:"";position:absolute;inset:13px;background:#fff;border-radius:50%}.sp-score b,.sp-score span{z-index:1}.sp-score b{font-size:2rem}.sp-score span{font-size:.7rem}.sp-result-grid{max-width:1000px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.sp-result-grid article{padding:1.3rem;border:1px solid var(--sp-line);border-radius:15px}.sp-result-grid article>div:first-child{display:flex;justify-content:space-between}.sp-result-grid h2{font-size:1rem}.sp-meter{height:8px;background:#e5eeec;border-radius:9px;overflow:hidden}.sp-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--sp-green),#6ccfc1)}.sp-result-grid p{font-size:.8rem;color:var(--sp-muted)}.sp-next{max-width:1000px;margin:2rem auto 4rem;padding:2rem;background:var(--sp-ink);color:#fff;border-radius:22px;display:flex;align-items:center;justify-content:space-between}.sp-next p{color:#b9cacb}.sp-roadmap-form{display:grid;grid-template-columns:repeat(4,1fr) auto}.sp-plan>header{display:flex;justify-content:space-between}.sp-note,.sp-proof{background:var(--sp-mint);padding:1rem;border-radius:13px}.sp-timeline{margin:2rem 0}.sp-timeline article{display:grid;grid-template-columns:55px 1fr;gap:1rem;padding-bottom:2rem}.sp-timeline article>b{width:42px;height:42px;border-radius:50%;background:var(--sp-green);color:#fff;display:grid;place-items:center}.sp-timeline article>div{border-left:2px solid var(--sp-line);padding-left:1.5rem}.sp-timeline span{color:var(--sp-coral);font-weight:800;font-size:.75rem}.sp-timeline ul{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;list-style:none}.sp-timeline li{background:var(--sp-mint);padding:.35rem .65rem;border-radius:999px;font-size:.75rem}.sp-proof{display:flex;gap:1rem}.sp-proof i{font-size:1.8rem;color:var(--sp-green)}.sp-challenge{display:grid;grid-template-columns:1fr 300px;gap:1rem}.sp-challenge>div{background:linear-gradient(135deg,var(--sp-ink),#265a5b);color:#fff;padding:3rem;border-radius:26px}.sp-challenge>div>span{color:#7dd5c8}.sp-challenge form{border:1px solid var(--sp-line);padding:1.5rem;border-radius:20px;display:grid;gap:1rem}.sp-method>section{display:grid;grid-template-columns:70px 1fr;gap:1rem;padding:2rem 0;border-top:1px solid var(--sp-line)}.sp-method>section>span{font-size:1.6rem;color:var(--sp-coral);font-weight:900}.sp-source-list{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.sp-disclaimer{display:flex;gap:1rem;padding:1.4rem;border:1px solid var(--sp-line);background:#f6faf9;border-radius:16px}.sp-disclaimer i{color:var(--sp-green)}.sp-disclaimer p{margin:.35rem 0 0;color:var(--sp-muted);font-size:.8rem;line-height:1.6}
@media(max-width:900px){.sp-nav{align-items:flex-start}.sp-nav>div{gap:.7rem;flex-wrap:wrap;justify-content:flex-end}.sp-hero,.sp-detail-hero,.sp-result-hero,.sp-process,.sp-ecosystem{grid-template-columns:1fr;padding:2rem;margin:2rem 1rem}.sp-grid{grid-template-columns:1fr 1fr}.sp-frameworks{grid-template-columns:1fr 1fr}.sp-detail-layout{grid-template-columns:1fr;margin:2rem 1rem}.sp-side{position:static}.sp-pagehead,.sp-filter,.sp-grid-wide,.sp-roadmap-form,.sp-plan,.sp-challenge,.sp-method,.sp-disclaimer,.sp-crumb{margin-left:1rem;margin-right:1rem}.sp-roadmap-form{grid-template-columns:1fr 1fr}.sp-levels{grid-template-columns:1fr 1fr}.sp-assessment{margin:1rem}.sp-result-grid{margin:1rem}.sp-challenge{grid-template-columns:1fr}}
@media(max-width:560px){.sp-nav{display:grid;gap:1rem}.sp-nav>div{justify-content:flex-start;font-size:.75rem}.sp-hero h1{font-size:2.45rem}.sp-grid,.sp-frameworks,.sp-ecosystem>div:last-child,.sp-process ol,.sp-projects,.sp-result-grid,.sp-source-list,.sp-checklist{grid-template-columns:1fr}.sp-trust{display:grid}.sp-heading{align-items:start;display:grid;gap:.5rem}.sp-filter,.sp-form-intro{align-items:stretch;display:grid}.sp-levels,.sp-roadmap-form{grid-template-columns:1fr}.sp-result-hero{justify-items:center}.sp-next{margin:1rem;display:grid;gap:1rem}.sp-detail-hero h1{font-size:2.5rem}}
@media print{.sp-nav,.sp-disclaimer,.sp-roadmap-form,header.site-header,footer{display:none!important}.sp-plan{margin:0}.sp-shell{background:#fff}}
.sp-ai-layout{max-width:1050px;margin:2rem auto 4rem;display:grid;grid-template-columns:1fr 320px;gap:1.2rem;align-items:start}.sp-smart-form,.sp-ai-explain,.sp-ai-result,.sp-document{background:#fff;border:1px solid var(--sp-line);border-radius:24px;padding:2rem}.sp-smart-form{display:grid;gap:1rem}.sp-smart-form label:not(.sp-checkbox){display:flex;flex-direction:column-reverse;gap:.45rem;font-weight:800;font-size:.8rem}.sp-smart-form textarea{border:1px solid var(--sp-line);border-radius:13px;padding:1rem;resize:vertical;color:var(--sp-ink);background:#fbfdfc}.sp-checkbox{display:flex;gap:.7rem;align-items:center;padding:1rem;background:var(--sp-mint);border-radius:12px;font-weight:800}.sp-checkbox input{width:18px;height:18px;accent-color:var(--sp-green)}.sp-form-privacy{font-size:.75rem;color:var(--sp-muted);margin:0}.sp-form-privacy i{color:var(--sp-green)}.sp-ai-explain>span{color:var(--sp-green);font-size:.72rem;font-weight:800;text-transform:uppercase}.sp-ai-explain ol{list-style:none;padding:0;margin:1.2rem 0;display:grid;gap:1.1rem}.sp-ai-explain li{display:flex;gap:.8rem}.sp-ai-explain li>b{width:30px;height:30px;display:grid;place-items:center;background:var(--sp-mint);color:var(--sp-green);border-radius:9px}.sp-ai-explain li div{display:grid}.sp-ai-explain small{color:var(--sp-muted)}.sp-ai-result{max-width:1050px;margin:0 auto 4rem;border-top:5px solid var(--sp-green);box-shadow:0 24px 70px rgba(31,73,69,.1)}.sp-ai-result>header,.sp-document>header{display:flex;justify-content:space-between;gap:1rem;align-items:start}.sp-ai-result>header span,.sp-document>header span{color:var(--sp-green);text-transform:uppercase;font-size:.7rem;font-weight:800}.sp-ai-result>header h2,.sp-document>header h2{font-size:2rem}.sp-ai-result>header small{color:var(--sp-muted);max-width:300px;text-align:right}.sp-ai-summary{font-size:1.05rem;line-height:1.7;background:var(--sp-mint);padding:1.2rem;border-radius:14px}.sp-ai-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.sp-ai-columns>div{padding:1.2rem;border:1px solid var(--sp-line);border-radius:14px}.sp-ai-columns li{margin:.65rem 0;color:var(--sp-muted)}.sp-evidence{margin-top:1.5rem}.sp-evidence>a{display:flex;flex-direction:column;text-decoration:none;color:var(--sp-ink);padding:.8rem 0;border-top:1px solid var(--sp-line)}.sp-evidence small{color:var(--sp-muted)}.sp-reference-search{max-width:760px;margin:2rem auto;display:flex;gap:.7rem;padding:.7rem;background:#fff;border:1px solid var(--sp-line);border-radius:15px}.sp-reference-search input{border:0;outline:0;flex:1;padding:.6rem;background:transparent}.sp-source-notice{max-width:760px;margin:1rem auto;color:var(--sp-muted);font-size:.8rem;text-align:center}.sp-reference-results{max-width:1000px;margin:2rem auto 4rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.sp-reference-results article{background:#fff;border:1px solid var(--sp-line);border-radius:17px;padding:1.4rem}.sp-reference-results span{color:var(--sp-coral);font-size:.7rem;text-transform:uppercase;font-weight:800}.sp-reference-results h2{font-size:1.15rem;margin:.5rem 0}.sp-reference-results p{color:var(--sp-muted);font-size:.85rem}.sp-reference-results a{color:var(--sp-green);font-weight:800;text-decoration:none;font-size:.8rem}.sp-pro-form{grid-template-columns:170px 1fr 1.4fr 1fr auto}.sp-pro-form textarea{min-height:90px}.sp-document{max-width:950px;margin:2rem auto 4rem}.sp-document section{padding:1rem 0;border-top:1px solid var(--sp-line)}.sp-document section h3{font-size:.8rem;color:var(--sp-green);text-transform:uppercase;letter-spacing:.08em}.sp-document section p{line-height:1.7}.sp-warning{background:#fff4ee;color:#824630;padding:1rem;border-radius:12px}.sp-warning i{margin-right:.5rem}
@media(max-width:900px){.sp-ai-layout{margin:1rem;grid-template-columns:1fr}.sp-ai-result,.sp-document,.sp-reference-results{margin-left:1rem;margin-right:1rem}.sp-pro-form{grid-template-columns:1fr 1fr}.sp-reference-results{grid-template-columns:1fr}}
@media(max-width:560px){.sp-ai-columns,.sp-pro-form{grid-template-columns:1fr}.sp-ai-result>header,.sp-document>header{display:grid}.sp-ai-result>header small{text-align:left}.sp-reference-search{margin:1rem;display:grid}}
.sp-portfolio-form{max-width:850px;margin:2rem auto 4rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:#fff;border:1px solid var(--sp-line);border-radius:22px;padding:2rem}.sp-portfolio-form label{display:grid;gap:.4rem;font-size:.78rem;font-weight:800}.sp-portfolio-form label:nth-child(n+3){grid-column:1/-1}.sp-portfolio-form input,.sp-portfolio-form select,.sp-portfolio-form textarea{border:1px solid var(--sp-line);padding:.85rem;border-radius:11px;background:#fbfdfc}.sp-portfolio-form small{color:var(--sp-muted);font-weight:400}.sp-portfolio-form button{grid-column:1/-1}.sp-portfolio-card a{color:var(--sp-green);overflow-wrap:anywhere}@media(max-width:560px){.sp-portfolio-form{grid-template-columns:1fr;margin:1rem}.sp-portfolio-form label{grid-column:1!important}}
