*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#122542;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}.shell{max-width:1200px;margin:auto;padding:0 24px}.skip-link{position:absolute;left:12px;top:-60px;background:#fff;z-index:40;padding:10px}.skip-link:focus{top:12px}.topbar{background:#091a32;color:#c8d9eb;font-size:.72rem;letter-spacing:.08em}.topbar-inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:15px}.topbar a{text-decoration:none;color:#a9efdf}.site-header{background:#fff;border-bottom:1px solid #e8edf5;position:relative;z-index:10}.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:25px}.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.15;white-space:nowrap}.wordmark strong{display:block;font-size:1.1rem;letter-spacing:-.02em;color:#0c2344}.wordmark small{display:block;margin-top:5px;font-size:.61rem;letter-spacing:.14em;color:#58718b}.logo-mark{display:grid;place-items:center;width:45px;height:45px;background:#0c2344;color:#80e4d6;border-radius:12px;font-size:1.5rem;font-weight:900}.site-nav{display:flex;align-items:center;gap:17px}.site-nav a{text-decoration:none;color:#2e435c;font-size:.8rem;font-weight:700;white-space:nowrap}.site-nav a:hover,.text-link:hover{color:#068c86}.nav-login{background:#0c2344;color:#fff!important;padding:12px 15px;border-radius:9px}.menu-toggle{display:none;border:1px solid #ccd8e4;background:#fff;padding:9px 13px;border-radius:9px;color:#0c2344;font-weight:700}.hero{display:grid;grid-template-columns:1.12fr .88fr;gap:38px;align-items:center;padding-top:92px;padding-bottom:108px;min-height:595px}.eyebrow{display:block;font-size:.73rem;font-weight:800;letter-spacing:.16em;color:#008d90;text-transform:uppercase}.hero h1,.page-banner h1{font-size:clamp(2.8rem,5vw,5.1rem);letter-spacing:-.065em;line-height:1.09;margin:18px 0 23px;font-weight:820}.hero h1 em{color:#0b9f9d;font-style:normal}.hero-copy>p{max-width:640px;font-size:1.13rem;color:#52647e}.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#0c2344;color:white;text-decoration:none;border:2px solid #0c2344;border-radius:10px;padding:12px 19px;font-weight:750;cursor:pointer;transition:transform .2s}.btn:hover{transform:translateY(-2px)}.btn-outline{color:#0c2344;background:#fff;border-color:#d6e0eb}.hero-points{display:flex;gap:17px;flex-wrap:wrap;margin-top:31px;color:#52627a;font-size:.79rem;font-weight:650}.hero-art{min-height:380px;position:relative;display:grid;place-items:center;isolation:isolate}.hero-art:before{content:"";position:absolute;inset:10px;background:radial-gradient(circle,#b1f0e8 0%,#e7f5fd 53%,transparent 73%);z-index:-2}.orbit{position:absolute;border:1px dashed #9bced3;border-radius:50%;width:85%;aspect-ratio:1/1;z-index:-1}.orbit-two{width:65%;transform:rotate(32deg)}.art-panel{width:min(355px,90%);padding:28px;background:#0d284a;box-shadow:0 25px 70px #102d4e33;border:1px solid #37516f;border-radius:22px;transform:rotate(-3deg);color:white}.art-label{font-size:.69rem;color:#8ee6d9;letter-spacing:.14em;font-weight:750}.code-line{display:flex;gap:12px;align-items:center;background:#17395b;padding:17px;border-radius:12px;margin-top:25px}.code-line i{width:9px;height:9px;border-radius:50%;background:#72e9b6}.code-line span{color:#67dbc9}.art-bars{height:80px;display:flex;gap:9px;align-items:flex-end;margin:25px 3px}.art-bars span{background:linear-gradient(#5ee1c7,#2e87b5);width:25%;border-radius:5px 5px 0 0}.art-bars span:nth-child(1){height:34%}.art-bars span:nth-child(2){height:70%}.art-bars span:nth-child(3){height:49%}.art-bars span:nth-child(4){height:95%}.art-bottom{display:flex;justify-content:space-between;color:#b7d7ed;font-size:.65rem;letter-spacing:.07em}.floating-chip{position:absolute;background:#fff;border:1px solid #dfedf2;color:#0c5864;border-radius:12px;padding:12px 14px;box-shadow:0 12px 35px #17345c20;font-size:.7rem;letter-spacing:.05em;font-weight:800}.chip-a{top:20px;right:0}.chip-b{bottom:30px;left:0}.section{padding-top:85px;padding-bottom:85px}.section-soft{background:#f4f8fc}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:30px}.section h2,.content-block h2{font-size:clamp(2rem,3.2vw,3rem);line-height:1.17;letter-spacing:-.045em;margin:12px 0}.section-heading p{max-width:350px;color:#66758d}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{background:#fff;border:1px solid #e2eaf4;border-radius:17px;padding:28px;text-decoration:none;transition:.2s;min-height:235px}.feature-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px #0c234413}.feature-icon{display:grid;place-items:center;background:#e6f8f5;color:#007e89;width:48px;height:48px;border-radius:14px;font-size:1.4rem}.feature-card h3{font-size:1.2rem;margin:19px 0 8px}.feature-card p{font-size:.93rem;color:#61728c;margin-bottom:18px}.feature-card>span{color:#078888;font-weight:750;font-size:.87rem}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.split-section p{color:#60718a;max-width:510px}.text-link{font-weight:800;text-decoration:none;color:#027e83}.quote-panel{background:#e9f8f5;padding:35px 44px;border-radius:20px}.quote-symbol{font-family:Georgia,serif;font-size:5rem;line-height:.7;color:#13a494}.quote-panel p{font-size:1.55rem;font-weight:750;line-height:1.4;color:#183651}.quote-panel small{font-size:.7rem;font-weight:800;letter-spacing:.12em;color:#478980}.section-dark{background:#0c2344;color:#fff}.section-dark .eyebrow{color:#87e7d5}.section-dark p{color:#bad0e5}.cta-row{display:flex;justify-content:space-between;align-items:center;gap:30px}.btn-light{background:white;border-color:white;color:#0c2344}.page-banner{background:linear-gradient(125deg,#e8f8f5,#f2f6fe);padding:64px 0 78px}.crumbs{display:flex;gap:9px;font-size:.82rem;margin-bottom:23px;color:#647c94}.crumbs a{text-decoration:none}.page-banner h1{font-size:clamp(2.5rem,4.5vw,4.2rem);max-width:850px}.page-banner p{color:#526780;max-width:720px;font-size:1.14rem}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:55px}.content-block>p{color:#52667f;font-size:1.09rem;max-width:750px}.notice{background:#eff7fc;border-left:4px solid #0b8b97;border-radius:7px;padding:16px 19px;margin-top:28px;color:#456276}.side-panel{border:1px solid #e2eaf3;padding:23px;border-radius:17px;align-self:start}.side-panel strong{display:block;margin-bottom:16px}.side-panel a{display:flex;justify-content:space-between;padding:10px 0;text-decoration:none;border-bottom:1px solid #e8eff6;font-size:.9rem}.side-panel a:last-child{border-bottom:0}.site-footer{background:#071a32;color:#c5d6e8;padding-top:65px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:35px;padding-bottom:55px}.footer-brand{font-size:1.2rem;color:#fff}.footer-grid p{max-width:300px}.footer-grid a{display:block;color:#c5d6e8;text-decoration:none;margin:10px 0;font-size:.88rem}.footer-grid h3{font-size:.91rem;color:#fff;margin:0 0 18px}.footer-bottom{border-top:1px solid #28405a;padding-top:18px;padding-bottom:20px;font-size:.75rem;color:#8fa7bf}.auth-card{max-width:600px;margin:3rem auto;padding:2rem;background:#fff;border:1px solid #d9e1eb;border-radius:16px}.auth-card h1{font-size:2rem}.auth-card label{display:block;margin:1rem 0;font-weight:650}.auth-card input,.auth-card textarea{display:block;width:100%;padding:12px;border:1px solid #8394a4;border-radius:8px;margin-top:7px}.auth-card code{display:block;word-break:break-all;padding:15px;background:#eef3f8}.auth-card .btn{cursor:pointer}@media(max-width:1140px){.site-nav{gap:10px}.site-nav a{font-size:.74rem}}@media(max-width:970px){.menu-toggle{display:block}.header-inner{flex-wrap:wrap}.site-nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;padding-bottom:20px}.site-nav.is-open{display:flex}.site-nav a{font-size:.95rem;padding:7px 0}.site-nav .nav-login{padding:10px}.hero{grid-template-columns:1fr}.hero-art{min-height:300px}.feature-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.topbar-inner{font-size:.62rem}.shell{padding-left:20px;padding-right:20px}.wordmark strong{font-size:.97rem}.wordmark small{font-size:.51rem}.hero{padding-top:50px;padding-bottom:60px;gap:20px}.hero-art{min-height:280px}.art-panel{width:75%;padding:20px}.chip-a{right:0}.chip-b{left:0}.hero-points{gap:10px}.section{padding-top:65px;padding-bottom:65px}.section-heading,.cta-row{display:block}.feature-grid,.split-section,.content-layout,.footer-grid{grid-template-columns:1fr}.feature-card{min-height:unset}.quote-panel{padding:30px}.page-banner{padding:50px 0}.side-panel{margin-top:15px}.btn{font-size:.88rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Professional public UI unification — post Phase 9 */
.course-banner{background:linear-gradient(112deg,#e7f6f5 0%,#f2f8ff 80%)}
.banner-highlights{display:flex;flex-wrap:wrap;gap:12px 25px;margin-top:30px;color:#235d68;font-size:.9rem;font-weight:700}
.courses-section .section-heading p{max-width:440px}
.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.course-card{border:1px solid #dce7f1;border-radius:19px;background:#fff;box-shadow:0 8px 30px #0c23440a;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.course-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px #0c23441c}
.course-card-art{min-height:150px;background:radial-gradient(circle at 82% 25%,#a3e9df,transparent 44%),linear-gradient(128deg,#123051,#1c6683);padding:19px;display:flex;align-items:flex-start;justify-content:space-between}
.course-type{color:#e2fcf9;border:1px solid #ffffff60;border-radius:99px;padding:5px 12px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.course-art-symbol{font-size:5rem;line-height:1;color:#9de7df77;align-self:center}
.course-card-body{padding:24px;display:flex;flex-direction:column;flex:1}
.course-meta{font-size:.72rem;letter-spacing:.055em;text-transform:uppercase;color:#55768b;font-weight:800}
.course-card h3{font-size:1.37rem;line-height:1.27;letter-spacing:-.025em;margin:12px 0}
.course-card h3 a{text-decoration:none;color:#0c2344}.course-card h3 a:hover{color:#008a8b}
.course-card p{color:#59708a;font-size:.94rem;margin:0 0 24px;flex:1}
.course-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:17px;border-top:1px solid #e5edf4}
.course-price{font-weight:800;color:#0b304b}.course-link{color:#00848b;font-weight:800;text-decoration:none;font-size:.86rem}
.course-help{margin-top:42px;padding:24px 29px;background:#eef8f7;border:1px solid #d5efeb;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.course-help p{color:#526b80;margin:5px 0 0}.course-help strong{font-size:1.16rem}
.course-detail-layout{max-width:860px}.course-detail-card{padding:35px;border:1px solid #dce7f1;border-radius:20px;box-shadow:0 8px 30px #0c234410}.course-detail-card h2{font-size:2rem;line-height:1.3}.course-detail-card h3{margin-top:27px}.course-detail-card p,.course-detail-card li{line-height:1.8;color:#526980}.course-detail-card a{color:#087e83;font-weight:750}
.empty-state{padding:42px;border:1px dashed #a6c6d0;background:#f6fafc;border-radius:15px;color:#476377}
.public-content{max-width:930px;margin:0 auto;min-height:35vh}.public-content h1{font-size:2.2rem;line-height:1.2;letter-spacing:-.035em}.public-content h2{font-size:1.5rem}.public-content a{color:#047e8b}.public-content .content-block{border:1px solid #dce7f1;border-radius:16px;padding:25px;margin:20px 0;background:#fff}.public-content .content-block h2{margin-top:0}.public-content .article-body{line-height:1.9;overflow-wrap:anywhere}.public-content img{height:auto;border-radius:14px}
.student-context{background:linear-gradient(115deg,#e9f7f5,#eef4fd);padding:34px 0;border-bottom:1px solid #d9e8f1}.student-context .shell{display:flex;justify-content:space-between;align-items:center;gap:25px}.student-context h1{margin:8px 0;font-size:clamp(1.5rem,3vw,2.5rem)}.student-context nav{display:flex;gap:16px;flex-wrap:wrap}.student-context nav a{color:#0b5970;text-decoration:none;font-weight:700;font-size:.87rem}.learn-container{max-width:1040px!important;margin:35px auto!important}
@media(max-width:1050px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.course-grid{grid-template-columns:1fr}.course-help{flex-direction:column;align-items:flex-start}.student-context .shell{display:block}.student-context nav{margin-top:18px}.course-detail-card{padding:23px}}

/* Phase 10: shared showcase design */
.showcase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px;margin:12px 0 32px}.showcase-card{background:#fff;border:1px solid #d8e4ef;border-radius:18px;padding:28px;box-shadow:0 9px 26px rgba(12,35,68,.035)}.showcase-card h2{font-size:1.5rem;line-height:1.25;margin:15px 0}.showcase-card h2 a{color:#0c2344;text-decoration:none}.showcase-card p{color:#53677d;line-height:1.7}.showcase-card .btn{margin-top:12px}.showcase-image{display:block;width:100%;max-height:360px;object-fit:cover;border-radius:12px;margin-bottom:18px}

/* CAPTCHA: responsive verification control for authentication forms */
.captcha-wrap{max-width:100%;margin:1rem 0;min-height:65px;overflow:visible}

.captcha-dev-note{padding:.75rem 1rem;border:1px solid #e6c976;border-radius:10px;color:#775816;background:#fff9e8;font-size:.875rem;margin:1rem 0}
