:root {
  --bg: #0c0d13;
  --bg-soft: #141620;
  --surface: #1d1e29;
  --ink: #f4f0ee;
  --muted: #b3afbf;
  --border: rgba(246,241,239,.15);
  --orange: #ff6b35;
  --orange-bright: #ff784b;
  --lavender: #b8a0fa;
  --dark: #11111c;
  --heading: 'Barlow Condensed', Impact, 'Arial Narrow', sans-serif;
  --body: 'DM Sans', Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin:0; color: var(--ink); background:var(--bg); font: 400 15px/1.65 var(--body); overflow-x:hidden; }
::selection { background:var(--orange); color:var(--dark); }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
img { display:block; max-width:100%; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline: 3px solid var(--lavender); outline-offset:3px; }
.container { width:min(1180px, calc(100% - 64px)); margin-inline:auto; }
.section-pad { padding-block:110px; }
.skip-link { position:absolute; left:15px; top:-60px; z-index:200; background:var(--orange);color:#000;padding:10px 16px; }
.skip-link:focus { top:15px; }
.grain { position:fixed; inset:0; pointer-events:none; opacity:.105; z-index:50; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.64' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E"); }
.site-header { position:sticky; top:0; z-index:70; min-height:79px; background:rgba(12,13,19,.93); backdrop-filter:blur(18px); border-bottom:1px solid var(--border); }
.header-inner { display:flex; align-items:center; justify-content:space-between; min-height:79px; gap:30px; }
.wordmark { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; }
.mark { color:var(--orange);width:41px; height:41px; display:inline-flex; align-items:center; justify-content:center; }
.mark svg { width:100%;height:100%; }
.wordmark-text { font:800 23px/1 var(--heading); letter-spacing:.4px; }
.wordmark-text b { display:block; color:var(--lavender); font:700 12px/1.5 var(--body); letter-spacing:4.15px; }
.main-nav { display:flex; align-items:center; gap:34px; }
.main-nav > a:not(.nav-cta) { font-size:13px; font-weight:700; color:#e6e0e6; transition:color .2s; }
.main-nav > a:hover { color:var(--orange); }
.nav-cta { display:inline-flex; align-items:center; gap:22px; padding:12px 18px; color:#0c0d13; background:var(--lavender); font-weight:800; font-size:13px; transition:transform .2s,background .2s; }
.nav-cta:hover { transform:translateY(-2px); background:#d0c1ff; }
.menu-toggle { display:none; background:none; border:0; color:var(--ink); padding:9px; cursor:pointer; }
.menu-toggle span { display:block; width:24px; height:2px; background:currentColor; margin:5px 0; }
.hero { position:relative; overflow:hidden; padding-top:85px; padding-bottom:34px; isolation:isolate; }
.hero-glow { pointer-events:none; position:absolute; width:700px; height:900px; right:-180px; top:-190px; z-index:-1; background:radial-gradient(circle,rgba(128,86,203,.24) 0%,rgba(62,43,92,.16) 37%,transparent 72%); }
.hero-grid { display:grid; grid-template-columns:1.04fr .96fr; align-items:center; min-height:620px; gap:36px; }
.hero-content { position:relative; z-index:2; padding:20px 0 30px; }
.eyebrow { display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:10px; font-weight:800; letter-spacing:2px; color:var(--lavender); }
.eyebrow-dot { width:7px; height:7px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 5px rgba(255,107,53,.13); }
.eyebrow-line { display:block; width:26px; height:1px; background:var(--muted); }
h1,h2,h3,h4,p { margin-top:0; }
.hero h1 { margin:27px 0 25px; font:900 clamp(77px,8.5vw,124px)/.84 var(--heading); letter-spacing:-1.6px; text-transform:uppercase; }
.hero h1 em { color:var(--orange); font-style:normal; }
.hero h1 .stroked { color:transparent; -webkit-text-stroke:1.7px var(--ink); }
.hero-lead { max-width:480px; color:#d0ccd3; font-size:17px; line-height:1.75; }
.hero-actions { display:flex;flex-wrap:wrap; gap:12px; margin-top:30px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:28px; min-height:52px; border:1px solid transparent; padding:13px 23px; font:800 13px/1.4 var(--body); cursor:pointer; transition:transform .2s,background .2s,border-color .2s; }
.btn span { font-size:19px; font-weight:400; }
.btn:hover { transform:translateY(-3px); }
.btn-accent { background:var(--orange); color:#141017; }
.btn-accent:hover { background:#ff8f64; }
.btn-outline { border-color:#64606b; color:var(--ink); background:transparent; }
.btn-outline:hover { border-color:var(--lavender); }
.hero-signature { display:flex;align-items:center;gap:16px; margin-top:45px; font-size:10px; letter-spacing:2px; color:var(--muted); }
.hero-signature strong { color:var(--lavender); letter-spacing:3px; }
.signature-rule { width:45px; height:1px; background:var(--orange); }
.hero-art { position:relative; align-self:center; padding:18px 24px 36px; min-width:0; }
.hero-art-bg { position:absolute;inset:42px 0 10px 6px;transform:rotate(-7deg);background:#2d243e; border:1px solid rgba(184,160,250,.18); }
.poster-frame { position:relative; width:min(480px,100%); margin-inline:auto; border:10px solid #1c1c28; transform:rotate(3deg); box-shadow:0 28px 75px rgba(0,0,0,.55); overflow:hidden; }
.poster-frame img { width:100%;aspect-ratio:1122/1402;object-fit:cover; }
.art-sticker { position:absolute;right:-2px;bottom:57px; width:124px;height:124px; background:var(--orange); color:#181019; border-radius:50%; display:flex;flex-direction:column;align-items:center;justify-content:center; transform:rotate(14deg); box-shadow:0 13px 25px rgba(0,0,0,.3); }
.art-sticker span { font:900 37px/.9 var(--heading); }
.art-sticker small { margin-top:5px; font:800 9px/1.2 var(--body);text-align:center;letter-spacing:1px; }
.hero-slash { position:absolute;top:12px;right:-34px; transform:rotate(90deg) translateX(100%); transform-origin:right top; white-space:nowrap; font-size:9px;letter-spacing:3px;color:rgba(255,255,255,.42); }
.hero-bottom { display:flex;justify-content:space-between;gap:15px; padding-top:18px; border-top:1px solid var(--border); color:#c3bece; font-size:9px; letter-spacing:2.3px;font-weight:800; }
.hero-bottom span:last-child { color:var(--lavender); }
.ticker { overflow:hidden; padding:15px 0; background:var(--lavender);color:#171524;transform:rotate(-1deg) scale(1.02);position:relative; z-index:1; }
.ticker-track { display:flex;gap:32px;align-items:center;justify-content:center;white-space:nowrap;font:900 23px/1 var(--heading);letter-spacing:2px; }
.ticker-track i { font-style:normal;color:var(--orange);font-size:20px; }
.section-overline { color:var(--orange); font:800 11px/1.3 var(--body);letter-spacing:2.2px;white-space:nowrap; }
.section-heading { font:900 clamp(48px,6.3vw,81px)/.95 var(--heading);letter-spacing:.1px;text-transform:uppercase;margin:0 0 26px; }
.section-heading > span { color:var(--lavender); }
.intro { background:#0f1018; }
.intro-grid { display:grid;grid-template-columns:1fr 2.2fr;gap:50px; align-items:start; }
.intro-grid > div:last-child { max-width:790px; }
.intro-grid p { max-width:730px; color:#bbb7c3; }
.intro-grid .text-large { font-size:20px;color:#f1edf0;line-height:1.6; }
.intro-grid .text-large strong { color:var(--orange); }
.text-link { display:inline-flex;gap:40px;align-items:center; margin-top:16px; padding-bottom:8px;border-bottom:1px solid var(--orange);font-size:13px;font-weight:800;color:var(--orange); }
.text-link span { font-size:18px; }
.feature-strip { display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border:1px solid var(--border); }
.feature-strip article { padding:28px 26px 26px;min-height:200px; }
.feature-strip article + article { border-left:1px solid var(--border); }
.feature-number { color:var(--orange);font:900 15px var(--heading); }
.feature-strip h3 { font:900 29px/1 var(--heading); margin:25px 0 8px; }
.feature-strip p { color:var(--muted);font-size:13px;margin:0;line-height:1.55; }
.method { background:var(--lavender);color:#171525; }
.section-top { display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px; }
.method .section-overline { color:#4f397a; }
.section-top-note { color:#40395d;font-size:10px;font-weight:900;letter-spacing:2px; }
.method .section-heading > span { color:#fffaf6;-webkit-text-stroke:.5px #fffaf6; }
.steps { display:grid; grid-template-columns:repeat(4,1fr);gap:12px;margin-top:46px; }
.step { position:relative; background:rgba(255,255,255,.54); min-height:270px; padding:24px; border-top:5px solid #21172f; }
.step:not(:last-child)::after { content:'↗'; position:absolute;right:-19px;top:35px;font-size:25px;z-index:1; }
.step-top { display:flex;align-items:flex-start;justify-content:space-between; gap:10px; }
.step-top span { font:900 47px/1 var(--heading);color:#4a2f6d; }
.step-top svg { width:58px;height:58px;fill:none;stroke:#3b2c59;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round; }
.step h3 { font:900 36px/.9 var(--heading);margin:30px 0 13px; }
.step p { max-width:190px;line-height:1.5;color:#3c354a;margin:0;font-size:13px; }
.method-note { display:flex;align-items:center;gap:22px;border-top:1px solid rgba(20,15,35,.22);padding-top:25px;margin-top:37px; }
.method-note .asterisk { color:#e65d29;font-size:38px; }
.method-note p { font-size:16px;font-weight:700;flex:1;margin:0;line-height:1.45; }
.method-note > span:last-child { font-size:10px;letter-spacing:1.5px;font-weight:900; }
.universe { background:var(--bg); }
.universe-header { display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:43px; }
.universe-header .section-overline { margin-bottom:20px; }
.universe-header .section-heading { margin-bottom:0; }
.universe-header p { max-width:300px;color:var(--muted);font-size:14px;margin:0 0 4px; }
.gallery-grid { display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:18px; }
.gallery-item { min-width:0;margin:0;position:relative;background:#171823;overflow:hidden;border:1px solid var(--border); }
.gallery-item img { width:100%;height:420px;object-fit:cover;transition:transform .45s ease; }
.gallery-item:hover img { transform:scale(1.035); }
.gallery-logo img { object-fit:contain; padding:17px; }
.gallery-shirt img { object-fit:contain;background:#dedbdb; }
.gallery-item figcaption { display:flex;flex-direction:column;gap:5px;padding:16px 20px 20px;background:#171823; }
.gallery-item figcaption span { color:var(--orange);font-size:9px;font-weight:900;letter-spacing:2px; }
.gallery-item figcaption strong { font-size:13px;color:#f9f5f4; }
.application { background:#13131e;position:relative;isolation:isolate; }
.application::before { content:'';position:absolute;z-index:-1;left:-220px;top:50px;width:700px;height:700px;background:radial-gradient(circle,rgba(109,77,155,.20),transparent 68%); }
.application-shell { display:grid;grid-template-columns:.82fr 1.18fr; gap:72px;align-items:start; }
.application-aside { position:sticky;top:120px; padding-top:21px; }
.application-aside .section-heading { font-size:clamp(60px,6.5vw,96px);margin-top:28px; }
.application-aside > p { max-width:380px;color:#d0c8d4;font-size:17px; }
.application-quote { position:relative;margin-top:90px; padding:24px 15px 24px 31px; border-left:3px solid var(--orange); }
.application-quote > span { position:absolute;left:28px;top:-13px;font:900 83px/.9 var(--heading);color:var(--orange); }
.application-quote p { margin:28px 0 15px;font:700 italic 31px/1.13 var(--heading);max-width:350px; }
.application-quote small { font:800 9px/1 var(--body);letter-spacing:1.7px;color:var(--lavender); }
.application-explain { display:flex;align-items:start;gap:15px;margin-top:90px;max-width:370px; }
.application-explain > span { font-size:30px; color:var(--lavender); }
.application-explain p { color:var(--muted);font-size:12px; margin:0;line-height:1.7; }
.form-panel { border:1px solid rgba(184,160,250,.22);background:#1d1e2b; padding:38px 42px 43px;box-shadow:0 25px 80px rgba(0,0,0,.17); }
.form-label { color:var(--orange); font-size:10px;font-weight:900;letter-spacing:2px; }
.form-intro h3 { font:800 42px/1 var(--heading);margin:13px 0 8px; }
.form-intro p { color:var(--muted);font-size:12px;margin:0; }
.form-section-heading { display:flex;align-items:center;gap:12px; border-bottom:1px solid var(--border);margin:36px 0 18px;padding-bottom:11px; }
.form-section-heading > span { display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--orange);color:var(--orange);border-radius:50%;font:800 11px var(--body); }
.form-section-heading h4 { margin:0;font-size:11px;letter-spacing:1.3px;font-weight:900; }
.fields-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr));gap:17px 15px; }
.field { display:flex;flex-direction:column;gap:7px;color:#eee9ee;font-size:12px;font-weight:700;min-width:0; }
.field > strong,.check-line strong { color:var(--orange); }
.field .optional { color:#9d99aa;font-weight:500; }
.field.full { grid-column:1/-1; }
.field input,.field select,.field textarea { appearance:none;width:100%; min-width:0; background:#11131e;border:1px solid #414050;border-radius:0;color:#f8f4f4; padding:13px 14px; font:500 13px/1.4 var(--body);min-height:46px;transition:border-color .2s,background .2s; }
.field select { background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m5 9 7 7 7-7' fill='none' stroke='%23e8dfec' stroke-width='2'/%3E%3C/svg%3E");background-size:16px;background-repeat:no-repeat;background-position:right 15px center;padding-right:38px;cursor:pointer; }
.field select option { background:#151521; color:#fff; }
.field textarea { resize:vertical;min-height:116px; }
.field input::placeholder,.field textarea::placeholder { color:#828091; }
.field input:focus,.field select:focus,.field textarea:focus { outline:0;background:#151625;border-color:var(--lavender);box-shadow:0 0 0 1px var(--lavender); }
.field-helper { display:flex;justify-content:space-between;gap:8px;color:#9893a7;font-size:10px;font-weight:500; }
.form-consent { margin-top:28px;background:#151622;padding:18px; }
.check-line { display:flex;align-items:flex-start;gap:11px;font-size:11px;color:#d0ccdc;line-height:1.6;cursor:pointer; }
.check-line input { margin:3px 0 0;flex:none;width:18px;height:18px;accent-color:var(--orange);cursor:pointer; }
.submit-btn { margin-top:21px;width:100%;justify-content:space-between; font-size:13px;min-height:58px; }
.submit-note { font-size:10px;color:#9f9bad;line-height:1.6;display:flex;gap:7px;margin:12px 0 0; }
.submit-note span { color:#75c1a0; }
.honeypot { position:absolute!important;left:-9999px!important;top:-9999px!important;opacity:0!important;pointer-events:none!important; }
.final-cta { background:var(--orange);color:#161018;padding:67px 0;overflow:hidden; }
.final-cta-inner { display:flex;align-items:center;justify-content:space-between;gap:30px; }
.final-cta .asterisk { font-size:73px;line-height:1; }
.final-cta h2 { flex:1;font:900 clamp(37px,5.2vw,68px)/.91 var(--heading);margin:0; }
.btn-dark { background:#161018;color:#fff;border-color:#161018; }
.btn-dark:hover { background:#392434; }
.site-footer { padding:32px 0; }
.footer-grid { display:flex;align-items:center;justify-content:space-between;gap:22px; }
.footer-grid p { margin:0;font-size:11px;color:var(--muted); }
.footer-grid > span { color:#858093;font-size:10px;letter-spacing:1.5px; }
.thankyou-body { min-height:100vh;background: radial-gradient(circle at 72% 26%,rgba(184,160,250,.17),transparent 41%),#0c0d13; }
.thankyou { display:flex;flex-direction:column;min-height:100vh;width:min(820px,calc(100% - 40px));margin:auto;padding:38px 0 30px; }
.thankyou > .wordmark { align-self:flex-start; }
.thankyou-card { margin:auto 0; padding:65px 65px 70px; background:#1b1c2a;border:1px solid rgba(184,160,250,.25); }
.thankyou-symbol { display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:var(--orange);color:#161018;font-size:46px;font-weight:900;margin-bottom:28px; }
.thankyou-card h1 { font:900 clamp(68px,11vw,118px)/.87 var(--heading);margin:25px 0 30px; }
.thankyou-card h1 span { color:var(--lavender); }
.thankyou-card p { max-width:535px;color:#dfd8e2;font-size:17px; }
.thankyou-card .thankyou-hint { color:var(--muted);font-size:12px;margin-bottom:30px; }
.thankyou > small { color:var(--muted);letter-spacing:2px;text-align:center; }
@media (max-width:1100px) {
  .hero h1 { font-size:clamp(69px,8vw,100px); }
  .gallery-item img { height:340px; }
  .application-shell { gap:42px; }
  .form-panel { padding:30px; }
  .main-nav { gap:21px; }
}
@media (max-width:850px) {
  .container { width:min(690px,calc(100% - 42px)); }
  .section-pad { padding-block:76px; }
  .header-inner { min-height:72px; }
  .site-header { min-height:72px; }
  .menu-toggle { display:block; }
  .main-nav { display:none;position:absolute;top:72px;left:0;right:0;padding:23px 21px 30px;background:#161721;border-bottom:1px solid var(--border);box-shadow:0 23px 40px rgba(0,0,0,.45);flex-direction:column;align-items:stretch;gap:0; }
  .main-nav.open { display:flex; }
  .main-nav > a:not(.nav-cta) { padding:13px 0;border-bottom:1px solid var(--border);font-size:14px; }
  .main-nav .nav-cta { margin-top:18px;justify-content:space-between; }
  .hero { padding-top:44px;padding-bottom:25px; }
  .hero-grid { grid-template-columns:1fr; gap:20px; }
  .hero-content { padding-bottom:0; }
  .hero h1 { font-size:clamp(75px,15vw,118px); }
  .hero-art { max-width:555px;width:100%;margin:auto; }
  .poster-frame { width:75%; }
  .hero-bottom { margin-top:30px; }
  .intro-grid { grid-template-columns:1fr;gap:30px; }
  .feature-strip { grid-template-columns:1fr 1fr; margin-top:45px; }
  .feature-strip article:nth-child(3) { border-left:0; }
  .feature-strip article:nth-child(n+3) { border-top:1px solid var(--border); }
  .steps { grid-template-columns:repeat(2,1fr); }
  .step:nth-child(2)::after { display:none; }
  .universe-header { align-items:start; flex-direction:column; gap:18px; }
  .gallery-grid { grid-template-columns:1fr 1fr; }
  .gallery-large { grid-row:span 2; }
  .gallery-large img { height:690px; }
  .gallery-logo img,.gallery-shirt img { height:270px; }
  .application-shell { grid-template-columns:1fr;gap:35px; }
  .application-aside { position:static; }
  .application-quote,.application-explain { display:none; }
  .application-aside .section-heading { margin-bottom:20px; }
  .application-aside > p { max-width:550px; }
  .final-cta .asterisk { display:none; }
}
@media (max-width:560px) {
  .container { width:calc(100% - 32px); }
  .section-pad { padding-block:65px; }
  .wordmark-text { font-size:21px; }
  .wordmark-text b { font-size:10px;letter-spacing:3.6px; }
  .mark { width:34px;height:34px; }
  .hero h1 { font-size:clamp(66px,16vw,92px); margin:22px 0; }
  .eyebrow { font-size:9px;letter-spacing:1px; }
  .hero-lead { font-size:15px; }
  .hero-actions { display:flex;flex-direction:column; }
  .hero-actions .btn { justify-content:space-between;width:100%; }
  .hero-signature { margin-top:27px; }
  .hero-art { padding:35px 12px; }
  .poster-frame { width:86%;border-width:6px; }
  .art-sticker { width:89px;height:89px;right:3px;bottom:45px; }
  .art-sticker span { font-size:29px; }
  .art-sticker small { font-size:7px; }
  .hero-slash { display:none; }
  .hero-bottom { display:block; }
  .hero-bottom > span:last-child { display:block;margin-top:7px; }
  .ticker-track { justify-content:start;gap:21px;font-size:20px; }
  .section-heading { font-size:clamp(46px,12vw,67px); }
  .intro-grid .text-large { font-size:17px; }
  .feature-strip article { padding:22px 18px;min-height:185px; }
  .feature-strip h3 { font-size:24px;margin-top:18px; }
  .section-top-note { display:none; }
  .steps { gap:9px; }
  .step { min-height:240px;padding:17px; }
  .step:nth-child(1)::after,.step:nth-child(3)::after { display:none; }
  .step-top span { font-size:37px; }
  .step-top svg { width:41px;height:41px; }
  .step h3 { font-size:28px;margin:30px 0 10px; }
  .step p { font-size:12px; }
  .method-note { gap:10px; }
  .method-note p { font-size:13px; }
  .method-note > span:last-child { display:none; }
  .gallery-grid { grid-template-columns:1fr 1fr;gap:10px; }
  .gallery-large { grid-column:span 2; grid-row:auto; }
  .gallery-large img { height:auto;max-height:620px; object-fit:contain; }
  .gallery-logo img,.gallery-shirt img { height:190px; }
  .gallery-item figcaption { padding:12px; }
  .gallery-item figcaption strong { font-size:11px;line-height:1.35; }
  .gallery-item figcaption span { font-size:8px; }
  .form-panel { padding:25px 18px 30px; }
  .form-intro h3 { font-size:34px; }
  .fields-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .form-consent { padding:13px; }
  .final-cta-inner { flex-direction:column;align-items:start; }
  .final-cta h2 { font-size:55px; }
  .footer-grid { flex-direction:column;align-items:flex-start;gap:17px; }
  .thankyou-card { padding:40px 24px 46px; }
  .thankyou-card h1 { font-size:70px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:0s!important;animation-duration:0s!important; } }
/* PRIVATE WORKFLOW • DARKLIGHT ACADEMY */
.form-feedback{font-size:13px;margin-top:14px;min-height:24px}.form-feedback.error,.feedback{color:#ff9c8b}
.portal-page{background:#090a11;min-height:100vh;color:#f6f4f4}.portal-header{max-width:1200px;margin:auto;padding:25px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #2e3044}.portal-header a{text-decoration:none}.portal-back{font-size:12px;color:#e6d9ea;font-weight:700}.portal-main{width:calc(100% - 48px);max-width:1200px;margin:65px auto 110px}.portal-main.narrow,.portal-card.narrow{max-width:770px}.portal-kicker{color:#b2a1d1;font-size:12px;letter-spacing:.24em;font-weight:700}.portal-title{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-weight:900;font-size:clamp(70px,10vw,140px);line-height:.85;letter-spacing:-.035em;margin:22px 0 50px}.portal-title em{font-style:normal;color:#ff702f}.portal-card{background:linear-gradient(139deg,#1d1d31,#111320);border:1px solid #37364b;border-radius:12px;padding:42px 44px;margin-bottom:30px;box-shadow:0 20px 55px #0004}.portal-card h2,.dash-top h2{font-family:'Barlow Condensed',sans-serif;font-size:40px;margin:8px 0 16px}.portal-card p{max-width:680px;line-height:1.65}.muted{color:#b9b7c7}.success-mark{width:50px;height:50px;border-radius:50%;background:#9df0c1;color:#102921;font-size:30px;text-align:center;font-weight:900;line-height:50px}.receipt-number{font-family:'Barlow Condensed',sans-serif;color:#ffc4aa;font-size:42px;font-weight:800;letter-spacing:.08em;margin:18px 0}.portal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.portal-btn{display:inline-flex;align-items:center;justify-content:center;background:#ff733d;border:1px solid #ff733d;color:#190d10;border-radius:5px;padding:13px 17px;font-size:13px;font-weight:800;cursor:pointer;text-decoration:none;letter-spacing:.01em;transition:filter .15s}.portal-btn:hover{filter:brightness(1.12)}.portal-btn.outline{border-color:#696782;background:transparent;color:#f6f3fa}.portal-btn:disabled{opacity:.5;cursor:not-allowed}.portal-tip{background:#171c2d;border-left:3px solid #a08bce;padding:18px 20px;margin-top:23px;color:#dbd8e5;line-height:1.65;font-size:13px}.portal-tip strong{color:#ff9f79;margin-right:12px}.status-big{display:inline-block;border:1px solid #a58ec7;border-radius:5px;padding:9px 16px;margin:7px 0 12px;font-weight:900;color:#d8bdf3}.text-mini{border:0;background:transparent;color:#d5b5ff;cursor:pointer;text-decoration:underline;margin:18px 0}.login-form{display:grid;max-width:400px;gap:12px}.login-form input,.dashboard-filter input,.dashboard-filter select,.candidate-detail select,.candidate-detail textarea{display:block;box-sizing:border-box;width:100%;border:1px solid #54516a;color:#fff;border-radius:5px;background:#111423;padding:13px;font-size:14px}.login-form label,.candidate-detail label{font-size:13px;color:#e1dbea;font-weight:700}.dash-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:0 0 22px}.dash-top h2{margin:0}.dash-top .portal-actions{margin:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.metric{background:#1e1e31;border:1px solid #3a3850;padding:18px;border-radius:7px}.metric span{display:block;font-size:12px;color:#bdb6d3}.metric strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:46px;line-height:1;margin-top:7px}.dashboard-filter{display:flex;gap:10px;margin:25px 0}.dashboard-filter input{flex:2}.dashboard-filter select{flex:1}.dashboard-layout{display:grid;grid-template-columns:minmax(250px,350px) 1fr;gap:17px}.candidate-list,.candidate-detail{background:#141522;border:1px solid #3b3a50;border-radius:7px;overflow:auto;max-height:900px}.candidate-list{padding:10px}.candidate-row{display:block;text-align:left;color:#fff;background:transparent;border:1px solid transparent;width:100%;border-radius:5px;padding:15px;cursor:pointer;margin-bottom:5px}.candidate-row:hover,.candidate-row.selected{background:#252437;border-color:#5c4c7a}.candidate-number{font-size:11px;color:#f7aa86;font-weight:800;letter-spacing:.12em}.candidate-row strong{display:block;font-size:18px;margin:6px 0}.candidate-row small{color:#a9a5b6;display:block}.candidate-state{display:inline-block;color:#d9d1ea;background:#3c3455;border-radius:3px;padding:5px 8px;font-size:9px;letter-spacing:.1em;margin-top:9px;font-weight:700}.candidate-state.validee{color:#b6f5d5;background:#174e36}.candidate-state.refusee{color:#ffc2bb;background:#572c34}.candidate-detail{padding:28px;min-height:400px}.empty-detail{color:#a9a5b6;padding:30px}.detail-top{border-bottom:1px solid #37374a;padding-bottom:20px}.detail-top h2{font-family:'Barlow Condensed',sans-serif;font-size:50px;margin:4px 0}.detail-top p{color:#b8b3c5;margin:0}.detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0 25px}.detail-field{border-bottom:1px solid #353549;padding-bottom:10px;overflow-wrap:anywhere}.detail-field span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#9c96b1;display:block;margin-bottom:5px}.detail-field strong{font-size:13px;line-height:1.5}.candidate-detail form{display:grid;gap:16px}.candidate-detail form h3{font-size:22px;margin:15px 0 0}.candidate-detail form label{display:grid;gap:8px}.candidate-detail .inline-check{display:flex;align-items:center;gap:10px}.candidate-detail .inline-check input{width:16px;height:16px}.service-warning{padding:14px 18px;margin-top:18px;background:#392d24;border:1px solid #b87c4d;color:#ffdabb;border-radius:6px;font-size:13px;line-height:1.5}.feedback{min-height:1em;font-size:13px}
@media(max-width:800px){.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-layout{grid-template-columns:1fr}.candidate-list{max-height:320px}.dashboard-filter{flex-direction:column}.portal-card{padding:30px 21px}.portal-main{margin-top:45px}.detail-fields{grid-template-columns:1fr}.portal-header{padding:18px 15px}}
@media(max-width:480px){.portal-main{width:calc(100% - 26px)}.portal-title{font-size:68px}.portal-card h2{font-size:32px}.receipt-number{font-size:31px}.portal-btn{width:100%}.metrics{gap:6px}.metric{padding:12px}.metric strong{font-size:36px}.dash-top h2{font-size:32px}.dash-top .portal-actions{width:100%}}

/* MOBILE-FIRST INSCRIPTION V3 · simple, progressive, accessible */
[hidden]{display:none!important}
.form-progress{display:flex;align-items:center;gap:7px;margin:26px 0 15px;padding:12px 0;border-bottom:1px solid rgba(184,160,250,.22)}
.progress-item{min-width:0;flex:1;display:flex;align-items:center;gap:7px;opacity:.49;color:#cbbddb;font-weight:800}
.progress-item>span{flex:0 0 28px;height:28px;border-radius:50%;border:1px solid #9285a6;display:flex;align-items:center;justify-content:center;font-size:12px}
.progress-item small{font:700 11px/1.25 var(--body)}
.progress-item.active{opacity:1;color:#fff}
.progress-item.active>span{background:var(--orange);color:#0c0d13;border-color:var(--orange)}
.progress-item.completed{opacity:.83;color:#b7f0d8}
.progress-item.completed>span{border-color:#74c89d}
.form-stage{padding-top:4px}
.form-stage-actions{display:flex;gap:12px;margin-top:23px}
.form-stage-actions .btn{flex:1;min-width:0;white-space:normal;line-height:1.4}
.form-next{width:100%;margin-top:23px;justify-content:space-between}
.review-explain{color:#c9c3d1;font-size:14px}
.review-details{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:18px 0 24px}
.review-details>div{padding:10px 13px;background:#151624;border:1px solid rgba(184,160,250,.2);border-radius:5px;min-width:0;overflow-wrap:anywhere}
.review-details dt{color:#c0a6db;font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:800}
.review-details dd{margin:3px 0 0;font-size:13px;color:#f6f0f7;font-weight:600;line-height:1.4}
.trainer-contact-preview{padding:16px;background:linear-gradient(135deg,#313047,#1c2435);border:1px solid #7b658d;border-left:4px solid var(--orange);border-radius:7px}
.trainer-contact-preview small{display:block;font-size:9px;letter-spacing:1.2px;color:#ddc4f1;font-weight:800}
.trainer-contact-preview strong{display:block;color:#fff;font-size:clamp(22px,4vw,29px);line-height:1.2;margin:10px 0}
.trainer-contact-preview p{color:#d8cfdf;font-size:12px;line-height:1.6;margin:0}
.menu-toggle{min-width:44px;min-height:44px;justify-content:center;flex-direction:column;align-items:center;border:1px solid rgba(184,160,250,.35);border-radius:5px;position:relative;z-index:72}
.menu-toggle span{transition:transform .2s,opacity .2s;transform-origin:center}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:850px){
 .menu-toggle{display:flex}
 .main-nav.open{display:flex;max-height:calc(100dvh - 72px);overflow-y:auto;z-index:71}
 .main-nav a{min-height:48px;display:flex;align-items:center;touch-action:manipulation}
}
@media(max-width:560px){
 .form-progress{gap:3px}
 .progress-item{gap:4px;flex-direction:column;text-align:center}
 .progress-item small{font-size:9px;line-height:1.3}
 .form-stage-actions{flex-direction:column-reverse}
 .form-stage-actions .btn{width:100%;min-height:50px}
 .review-details{grid-template-columns:1fr}
 .form-panel{padding:23px 18px}
 .field input,.field select,.field textarea{font-size:16px}
 .menu-toggle{flex-shrink:0}
}

.whatsapp-delivery{background:#102d27;border:1px solid #4ca98c;border-radius:9px;padding:22px;margin-top:23px;color:#e7fff6}
.whatsapp-delivery-head{font-size:18px;display:flex;gap:8px;align-items:center}
.whatsapp-delivery>p{line-height:1.55;font-size:14px}
.whatsapp-delivery .whatsapp-btn{background:#25d366;border-color:#25d366;color:#082114;margin:7px 0 12px;min-height:48px}
.whatsapp-delivery .whatsapp-small{font-size:12px;color:#c4ddcf;margin:5px 0 0}
