:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#071325;color:#f4f7fd;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100svh;background:radial-gradient(ellipse 75% 45% at 50% 2%,#14355a 0%,transparent 80%),#071325}main{width:min(100% - 36px,440px);margin:auto;padding:34px 0 22px}.profile{text-align:center;margin-bottom:27px}.portrait{width:100px;height:100px;border-radius:50%;padding:4px;background:linear-gradient(135deg,#c8e6ff,#359ef5 50%,#1a344d);margin:0 auto 15px;box-shadow:0 0 35px #459aff1c}.portrait img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.name{font-size:15px;letter-spacing:.04em;color:#c0cfe2;margin:0 0 8px}h1{font-size:31px;line-height:1.12;letter-spacing:-1px;margin:0;font-weight:750}h1 span{color:#88c7ff}.subtitle{margin:10px 0 0;color:#b4c5d9;font-size:16px}nav{display:grid;gap:15px}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #a0d5ff;outline-offset:6px}.course{display:block;border:1px solid #315778;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,#152d49,#10233c);box-shadow:0 14px 45px #0004;transition:transform .18s,border-color .18s}.course-visual{position:relative;overflow:hidden;background:#0a1b30;aspect-ratio:1.88}.course-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%}.tag{position:absolute;top:14px;left:15px;background:#051326e8;border:1px solid #507fa4;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:700;letter-spacing:1.7px}.course-copy{padding:23px 24px 24px}h2{margin:0;font-size:25px;line-height:1.17;letter-spacing:-.5px}.course-copy p{font-size:16px;line-height:1.5;color:#bfcee0;margin:12px 0 20px}.button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;background:#81c6ff;color:#08213d;font-size:16px;font-weight:700;padding:14px 17px;border-radius:11px;box-shadow:inset 0 1px #fff8}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.support{display:flex;align-items:center;gap:13px;min-height:96px;padding:19px 17px;background:#102238;border:1px solid #2b435d;border-radius:17px;transition:border-color .18s}.support-icon{display:flex;align-items:center;justify-content:center;background:#163e38;color:#88e0b0;width:43px;height:43px;border-radius:13px;flex-shrink:0}.support-icon svg{width:28px;height:28px}.support-copy{display:grid;gap:6px}.support-copy strong{font-size:18px}.support-copy>span{font-size:13px;line-height:1.4;color:#bccbdd}.arrow{margin-left:auto;width:18px;color:#8da6c1}footer{text-align:center;font-size:12px;line-height:1.6;color:#90a4be;padding-top:25px}footer span{padding:0 5px}@media(hover:hover){.course:hover{transform:translateY(-2px);border-color:#82beef}.support:hover{border-color:#79c7a2}}@media(min-width:700px){main{padding-top:42px;padding-bottom:30px}}@media(max-width:360px){main{width:calc(100% - 26px);padding-top:24px}h1{font-size:27px}.course-copy{padding:20px}.support{padding:16px 13px;gap:10px}.support-copy strong{font-size:17px}.support-copy>span{font-size:12px}.button{font-size:14px}.wide-only{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* A discreet photograph behind the centered profile and cards. */
body{position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 0%,#102437 0%,#080f19 65%)}
.photo-background{position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(180deg,transparent 0%,#080f19 95%),url('/assets/andre-laser.webp');background-size:cover;background-position:center,72% top;opacity:.16}
main{padding-top:32px;padding-bottom:24px}
.profile{margin-bottom:25px}.portrait{width:104px;height:104px;padding:3px;background:linear-gradient(145deg,#87caff,#294a66);box-shadow:0 8px 30px #0005}
.course{background:linear-gradient(145deg,rgba(22,38,56,.96),rgba(12,25,39,.97));border-color:#344b60;box-shadow:0 16px 45px #0005}
.support{background:rgba(16,29,43,.94);border-color:#2c4054;min-height:92px}
.immersion .support-icon{background:#2e2b26;color:#e0c398}
.immersion{border-color:#4c453a}
.button{background:linear-gradient(110deg,#a2d9ff,#80beef)}
@media(min-width:700px){main{padding-top:40px}.photo-background{background-size:cover;background-position:center,center 25%;opacity:.13}}
@media(max-width:360px){main{padding-top:26px}.support-copy strong{font-size:16px}}

.profile .subtitle{line-height:1.55;font-size:15px;margin-top:13px;color:#bdcddd}
