:root{--ink:#201840;--sub:#544d6b;--purple:#5134bd;--line:#e3dcef;--pale:#f6f3ff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;color:var(--ink);font:16px/1.65 "Segoe UI",system-ui,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #057e9f;outline-offset:4px}.skip{position:absolute;top:-100px}.skip:focus{top:8px;z-index:5;background:white;padding:10px}.wrap{width:min(1190px,calc(100% - 44px));margin-inline:auto}header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}.nav{min-height:79px;display:flex;align-items:center;justify-content:space-between;gap:14px}.logo{display:block;width:148px;height:auto}nav,.actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap}nav a{font-size:14px;font-weight:650}nav a:hover,.textlink:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:var(--purple);color:white;padding:12px 17px;font-weight:700}.button:hover{background:#3d249a}.compact{font-size:14px}.hero{background:radial-gradient(ellipse at 86% 9%,#d9f6fc 0,transparent 44%),linear-gradient(125deg,#f9f6ff,#ebe4ff)}.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(25px,5vw,76px);align-items:center;padding-block:clamp(45px,7vw,96px)}h1,h2,h3,p,figure{margin:0}.eyebrow{color:#5036a7;font-size:12px;font-weight:750;letter-spacing:.09em}.eyebrow span{display:inline-block;width:9px;height:9px;background:#6844d2;border-radius:50%;margin-right:6px}h1{font-size:clamp(64px,9vw,130px);line-height:.91;letter-spacing:-.075em;margin:16px 0 19px}h1 span{color:#7449db}h1 small{display:block;font-size:clamp(26px,3.5vw,47px);line-height:1.08;letter-spacing:-.04em;margin-top:17px}.lead{max-width:470px;color:var(--sub);font-size:18px;margin-bottom:23px}.textlink{font-weight:700;color:#4b2fae}.screen-top,figcaption{display:flex;align-items:center;gap:14px;padding:10px 14px;font-size:13px}.screen-top b{letter-spacing:3px;color:#7657d0}.hero-screen{background:white;overflow:hidden;border:1px solid #d9ceef;border-radius:17px;box-shadow:0 22px 54px #35216c30}.hero-screen img{display:block;width:100%;height:auto}.hero-screen figcaption{border-top:1px solid var(--line);flex-wrap:wrap}.hero-screen figcaption span{color:#5438ad;font-size:11px;font-weight:800}.hero-screen figcaption a{margin-left:auto}.strip{border-top:1px solid #d8ccef;display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;padding-block:17px;color:#3e306d}.strip span{color:var(--sub)}.strip b{font-size:14px}.section{padding-block:clamp(50px,8vw,102px)}.section-head,.faq{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:22px}.section-head>p,.card-body>p:not(.eyebrow),.levels p:not(.eyebrow),details p{color:var(--sub)}h2{font-size:clamp(33px,5vw,63px);line-height:1.05;letter-spacing:-.052em;margin-top:9px}h3{font-size:22px;line-height:1.25}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}.card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:white;box-shadow:0 6px 20px #32214c0a}.card.featured{grid-column:1/-1;display:grid;grid-template-columns:1.6fr 1fr;align-items:center;background:#f7f3ff}.media{display:grid;place-items:center;background:#f2eff9;aspect-ratio:16/10;overflow:hidden;position:relative}.media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.card-body{padding:16px 18px}.featured .card-body{padding:clamp(18px,4vw,45px)}.featured h3{font-size:clamp(24px,3.3vw,40px)}.card h3,.card-body .textlink{margin-top:7px}.card-body p:not(.eyebrow){margin-top:7px}.card-body .textlink{display:inline-block}.tint{background:var(--pale)}.levels{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:25px}.levels article{padding:24px;border:1px solid var(--line);background:#fff;border-radius:15px}.levels h3{margin:6px 0}.levels ul{padding-left:20px}.faq{grid-template-columns:.8fr 1.2fr;align-items:start}details{border-bottom:1px solid var(--line);padding:14px 0}summary{cursor:pointer;font-weight:700}details p{padding-top:8px}.cta{background:linear-gradient(120deg,#281955,#4c319c);color:white;border-radius:22px;padding:clamp(24px,5vw,62px);display:grid;grid-template-columns:1.4fr 1fr;gap:20px;align-items:center}.cta .eyebrow{color:#ddd2ff}.cta p{margin:8px 0}.cta a:not(.button){text-decoration:underline}.white{background:white;color:#372279}.white:hover{background:#eae1ff}footer{margin-block:18px}dialog{padding:0;border:0;border-radius:14px;background:white;max-width:calc(100% - 24px);max-height:calc(100% - 24px)}dialog::backdrop{background:#161127de}dialog div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 12px}dialog button{border:0;background:#eee7ff;border-radius:8px;width:42px;height:42px;cursor:pointer}dialog img{display:block;max-width:100%;max-height:calc(100dvh - 85px);height:auto;width:auto;margin:auto}@media(max-width:850px){.hero-grid,.section-head,.faq{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-screen{max-width:680px}}@media(max-width:590px){.wrap{width:calc(100% - 30px)}nav{display:none}.logo{width:120px}.gallery,.card.featured,.levels,.cta{grid-template-columns:1fr}.actions{gap:12px}.strip{gap:7px 14px}.strip span{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Portfolio-led revision */
.hero{background:radial-gradient(ellipse at 88% 15%,#c9f5fa 0%,transparent 39%),linear-gradient(117deg,#fff 4%,#f0e9ff 90%)}
.hero-grid{padding-block:clamp(55px,8vw,110px);grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
.logo{width:166px}.hero-screen{border:5px solid white;box-shadow:0 28px 65px #39237132,0 0 0 1px #e3dcef}
.screen-top{background:#f7f3ff}.hero-screen figcaption{font-weight:650}
.project-band{background:#24174d;color:white}.project-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(22px,6vw,80px);padding-block:clamp(42px,7vw,80px);align-items:center}
.project-band .eyebrow{color:#c8bbff}.project-band p:not(.eyebrow){color:#e1d9f8;margin-top:15px;max-width:420px}
.project-steps{display:grid;gap:8px}.project-steps a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:13px 16px;background:#32225e;border:1px solid #624e8a;border-radius:12px}
.project-steps a:hover{background:#422c79}.project-steps b,.project-steps i{color:#a5ecf8;font-style:normal}.project-steps small{display:block;color:#dfd5fa}
.card{transition:box-shadow .2s,border-color .2s}.card:hover{border-color:#9d8ae0;box-shadow:0 12px 25px #32214c18}
.levels article{border-top:4px solid #7953dd}.levels article+article{border-top-color:#3499bb}.code{display:inline-block;border-radius:6px;background:#f3edff;color:#5036a7;padding:3px 7px;margin-top:7px;font-size:12px;font-weight:700}
.resources{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;margin-top:18px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:24px}.resources h3,.resources p+p{margin-top:8px}
@media(max-width:850px){.hero-grid,.project-layout,.resources{grid-template-columns:1fr}}
@media(max-width:590px){.logo{width:124px}}

.levels article{display:flex;flex-direction:column;align-items:flex-start}.kit{align-self:stretch;position:relative;display:block;margin:-6px 0 20px;padding:18px;border-radius:14px;background:radial-gradient(circle at 50% 0,#e3d9ff,#f4f0ff 70%);text-align:center}.kit img{display:block;width:100%;max-width:400px;height:auto;margin:auto;border-radius:10px;box-shadow:0 18px 40px #35216c40;transition:transform .35s ease,box-shadow .35s ease}.kit:hover img,.kit:focus-visible img{transform:translateY(-6px) scale(1.015);box-shadow:0 26px 52px #35216c55}.kit span{display:inline-block;margin-top:14px;border-radius:999px;background:var(--purple);color:#fff;padding:7px 15px;font-size:13px;font-weight:700}.code.alt{background:#e7f6fb;color:#0b6580}.tags{display:flex;flex-wrap:wrap;gap:6px}.levels ul{flex:1}.levels .textlink{margin-top:14px}@media(prefers-reduced-motion:reduce){.kit img{transition:none}}
