/* UI UX Pro Max review: web reflow, readable type, clear states and form feedback. */
:root{--space-xs:8px;--space-sm:16px;--space-md:24px;--space-lg:32px;--space-xl:48px;--space-section:96px;--ink:#27222f;--ink-muted:#706877;--focus:#795b8d;--danger:#a72b46;--danger-surface:#fff1f3;--control-border:#a78bb8;--ease-ui:cubic-bezier(.2,.65,.3,1);--duration-ui:180ms}
body{font-size:16px}h1,h2,h3,p,li,label,a{overflow-wrap:break-word}h1,h2,h3{text-wrap:balance}.grid>*{min-width:0}.wrap{max-width:1320px}.hero{overflow:visible;column-gap:32px;min-height:690px}.hero .hero-copy{grid-column:1;grid-row:1;min-width:0}.hero h1{font-size:clamp(56px,6.25vw,88px)}.hero h1 .serif{white-space:normal}.character-stage{position:relative;grid-column:2;grid-row:1;top:auto;right:auto;width:100%;min-width:0}.hero-note{font-size:11px;letter-spacing:.55px;max-width:450px;line-height:1.7}.character-label{font-size:10px;letter-spacing:.5px;position:static;justify-content:center;margin-top:10px;line-height:1.7}.hero-caption{font-size:10px;letter-spacing:.5px;flex-wrap:wrap}.hero-caption>a{min-height:32px;align-items:center}.hero-caption>span:last-child{max-width:none;font-size:10px}.technology-strip small{font-size:10px;letter-spacing:.6px;max-width:150px}.eyebrow{font-size:12px;letter-spacing:1.1px}.card p,.split p,.process-grid p,.learning-banner p,.project-copy p{font-size:16px;line-height:1.7}.chip,.mini-label,.course-number{font-size:12px;letter-spacing:.25px;line-height:1.6}.chips{gap:8px 12px;align-items:baseline}.chip{max-width:100%;overflow-wrap:anywhere}.notice{font-size:13px;line-height:1.75}.card,.form-panel{border-radius:16px}.service-card{border-radius:0}.service-card h3{line-height:1.3}.service-card p{max-width:350px}.service-card .chips{margin-bottom:4px}.service-card{min-height:250px}.course-top{align-items:flex-start}.course-number{max-width:140px;text-align:right}.course-card{min-height:395px}.article-card{border-radius:0;min-height:465px}.article-card h3{line-height:1.3}.article-card .mini-label,.project-copy .mini-label{font-size:12px;letter-spacing:.7px}.article-card:hover .article-cover img{transform:scale(1.025)}.process-grid h3{line-height:1.25}.process-grid .num{font-size:12px}.check-list li{font-size:16px;line-height:1.65}.quote footer{font-size:12px;line-height:1.7}.faq summary{font-size:20px;min-height:32px;align-items:center;line-height:1.45}.faq details p{font-size:16px;line-height:1.75}.breadcrumbs{font-size:12px;line-height:1.7;letter-spacing:0}.breadcrumbs a{display:inline-block;min-height:24px;padding:4px 0}.page-head .eyebrow{font-size:12px}.page-head p{font-size:17px}.btn,.btn.text,.nav .btn,.hero .btn,.course-card .btn.text,.form-actions .btn{font-size:14px;min-height:44px;line-height:1.35}.btn.text{display:inline-flex;align-items:center;min-width:44px}.btn,.filter{touch-action:manipulation;transition:background var(--duration-ui) var(--ease-ui),color var(--duration-ui) var(--ease-ui),border-color var(--duration-ui) var(--ease-ui),box-shadow var(--duration-ui) var(--ease-ui)}.btn:active{background:#50345f;box-shadow:none}.btn.text:active{background:#eee7f4;color:#4f3560}.btn.secondary:active{background:#e5d9ef;color:#513260}.filter{min-height:44px;font-size:14px;padding:11px 19px;line-height:1.35}.filter:active{background:#e0d0eb}.filter.active:active{background:#634578}.search{font-size:16px;min-height:48px}.navlinks a{min-height:32px;font-size:14px}.menu{min-width:44px;min-height:44px;display:none;align-items:center;justify-content:center;border-radius:9px}.menu svg{width:24px;height:24px;stroke-width:1.5}.menu:active{background:#eee5f4}.logo small{font-size:9px;letter-spacing:1.4px}.header:focus-within{background:#fafaf8}.form-panel label{font-size:14px;letter-spacing:0}.form-panel input:not([type=checkbox]),.form-panel select,.form-panel textarea{font-size:16px;line-height:1.5;border-color:var(--control-border);min-height:50px}.form-panel textarea{min-height:170px}.form-mark{font-size:12px;letter-spacing:.6px}.form-panel .consent{font-size:13px;line-height:1.7;cursor:pointer;min-height:44px;align-items:flex-start}.consent input[type=checkbox]{margin:3px 6px 0 0;width:20px;height:20px}.form-note{font-size:13px;line-height:1.7}.form-actions .mini-label{font-size:12px}.field-error{color:var(--danger);font-size:13px;line-height:1.55;margin:9px 0 0}.field-error[hidden]{display:none}.form-panel [aria-invalid=true]{border-color:var(--danger);background:#fff8f9}.error-summary{grid-column:1/-1;background:var(--danger-surface);border:1px solid #cc8c9a;border-radius:10px;padding:20px;color:var(--danger)}.error-summary p{color:var(--danger);font-size:16px;margin:0 0 12px}.error-summary ul{padding:0 0 0 19px;margin:0}.error-summary li{margin:7px 0;font-size:14px;line-height:1.55}.error-summary a{text-decoration:underline;text-underline-offset:3px}.error-summary a:focus-visible{outline-color:var(--danger)}.error-summary:focus{outline:2px solid var(--danger);outline-offset:4px}.success{font-size:14px;line-height:1.7}.results-count{font-size:13px;line-height:1.7;margin:0 0 22px;color:var(--ink-muted)}.filters{margin-bottom:20px;align-items:center}.detail-side p{font-size:15px;line-height:1.75}.detail-side .chip{font-size:12px}.prose{max-width:70ch}.prose p{font-size:17px;line-height:1.85}.prose h2{line-height:1.2}.footer h4{font-size:12px;letter-spacing:.7px}.footer p,.footer li,.footer-top p,.footer-top li{font-size:14px;line-height:1.7}.footer li{margin-bottom:6px}.footer li a{display:inline-flex;align-items:center;min-height:32px;padding:4px 0}.footer-bottom{font-size:12px;line-height:1.7;flex-wrap:wrap}.footer-bottom a{display:inline-block;min-height:24px;padding:4px 0}.backtop{font-size:12px;min-height:44px;min-width:44px;padding:8px 0}.cta p{font-size:16px}.map p{font-size:14px;line-height:1.75}.map a{font-size:14px;display:inline-flex;align-items:center;min-height:44px}.signature-art .art-index{font-size:10px;letter-spacing:.7px}.signature-art .orbit-control{font-size:11px;min-height:44px;padding:12px 5px;letter-spacing:.6px}a,button{cursor:pointer}:focus-visible{outline:2px solid var(--focus);outline-offset:5px}input,select,textarea,[tabindex]{scroll-margin-top:140px}html{scroll-padding-top:130px}
@media(max-width:1000px){.hero{grid-template-columns:1fr 1fr;column-gap:24px}.hero h1{font-size:clamp(58px,7vw,78px)}.hero .lead{font-size:16px}.section{padding:80px 0}.hero-copy{padding:24px 0}.character-stage{right:auto;top:auto;width:100%}.hero-caption>span:last-child{font-size:10px;max-width:none}.service-grid{column-gap:32px}.hero .eyebrow{font-size:11px;letter-spacing:.7px}.footer-top{column-gap:32px}.course-top{flex-wrap:wrap}.course-number{max-width:none;text-align:left}}
@media(max-width:700px){.wrap{padding-left:24px;padding-right:24px}.menu{display:inline-flex}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:32px;padding-bottom:20px;min-height:0}.hero .hero-copy{padding:0;max-width:none}.hero h1{font-size:clamp(52px,12vw,74px);line-height:1.07;letter-spacing:-.05em}.hero .eyebrow{font-size:11px;letter-spacing:.55px}.hero .lead{font-size:16px;line-height:1.7;max-width:none}.hero .hero-note{font-size:11px;letter-spacing:.2px}.hero .actions{gap:16px 24px}.hero .btn{font-size:14px;min-height:48px;padding:15px 22px}.hero .btn.text{padding:12px 0}.character-stage{width:100%;margin:16px auto 0;max-width:480px}.character-label{font-size:11px;position:static;letter-spacing:.25px;margin-top:0}.hero-caption{gap:12px;font-size:11px;padding-top:16px;padding-bottom:16px}.hero-caption>a{font-size:11px;min-height:44px}.hero-caption>span:last-child{font-size:10px;max-width:none;text-align:left}.technology-strip small{font-size:11px;max-width:none;width:100%;letter-spacing:.5px}.technology-strip span{font-size:18px}.eyebrow{font-size:11px;letter-spacing:.8px}.section{padding:64px 0}.section-top h2,.learning-banner h2,.split h2{font-size:40px;line-height:1.12}.section-top .btn.text{font-size:14px;min-height:44px}.service-card{min-height:0;padding:28px 32px 28px 0}.service-card h3{font-size:23px}.service-card p,.card p,.split p,.process-grid p,.project-copy p{font-size:16px;line-height:1.7}.service-card .chips{margin-top:12px}.chip,.mini-label,.project-copy .mini-label,.article-card .mini-label{font-size:12px}.check-list li{font-size:16px;padding:20px 0}.process-grid{gap:32px 24px}.process-grid h3{font-size:26px;margin-top:24px}.process-grid p{font-size:15px}.process-grid .num{font-size:12px}.course-card{min-height:0}.course-top{flex-wrap:nowrap}.course-number{font-size:11px;text-align:right;max-width:170px}.course-card .btn{font-size:14px;min-height:44px}.article-card{min-height:0}.article-card h3{font-size:26px}.article-card .mini-label:last-child{padding-top:20px}.article-cover{height:auto;aspect-ratio:16/10}.faq summary{font-size:19px;line-height:1.5;min-height:44px}.faq p,.faq details p{font-size:16px}.page-head p{font-size:16px;line-height:1.75}.page-head .eyebrow{font-size:11px}.breadcrumbs{font-size:12px}.form-panel{padding:24px;gap:24px}.form-mark{font-size:11px;letter-spacing:.2px}.form-panel label{font-size:14px}.form-note{font-size:13px}.form-actions{gap:16px}.form-actions .btn{font-size:14px;min-height:48px}.filter{font-size:14px;min-height:44px;padding:10px 17px}.filters{gap:8px}.search{font-size:16px}.notice{font-size:13px;line-height:1.75}.signature-split h2{font-size:39px}.signature-scene{height:350px}.signature-art .orbit-label{font-size:11px;right:18px}.signature-art .art-index{font-size:10px}.quote p{font-size:32px}.quote footer{font-size:13px}.prose p{font-size:16px}.detail-side p{font-size:16px}.footer-top{gap:32px}.footer-top p,.footer-top li{font-size:14px}.footer h4{font-size:12px}.footer li a{min-height:44px}.footer-bottom{font-size:12px}.footer-bottom a{min-height:32px}.footer-bottom .backtop{font-size:12px}.navlinks{max-height:calc(100dvh - 76px);overflow-y:auto;gap:8px;padding:20px 24px}.navlinks a{font-size:17px;min-height:44px;display:flex;align-items:center;width:100%;padding:8px 0}.cta p{font-size:16px}.cta .btn{font-size:14px;min-height:48px}.logo small{font-size:8px;letter-spacing:.7px}.map p,.map a{font-size:14px}input,select,textarea,[tabindex]{scroll-margin-top:110px}}
@media(max-width:370px){.hero h1{font-size:49px}.wrap{padding-left:20px;padding-right:20px}.hero .actions{gap:12px 18px}.hero .btn{font-size:13px;padding:14px 18px}.hero .btn.text{padding:12px 0}.section-top h2,.learning-banner h2{font-size:37px}.course-number{font-size:11px}.form-panel{padding:20px}.signature-scene{height:310px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.motion .reveal{opacity:1;transform:none}}
