@font-face{font-family:Heebo;src:url(assets/Heebo.woff2) format("woff2");font-weight:100 900;font-display:swap}
/* =============================================================================
   Sunrise (28 September 2026). After the RedSun reference, as designed in the
   Figma page "Website" (figma.com/design/WYzvWZUmQBEUHVrVss0NZN): a near-black
   canvas, an orange accent with a soft glow, pill buttons, cards lit from below,
   sans headlines and a glowing horizon under the hero. Loaded last; the base
   styles and every behaviour stay as they were.
   Orange buttons keep dark text: white on this orange is 2.9:1, dark ink 6.5:1.
   ============================================================================= */
:root{
  --bg:#08090d;--surface-1:#0c1218;--surface-2:#13161c;--surface-3:#1c1f26;
  --accent:#f66f14;--accentText:#1a0b02;
  --sans:"Heebo","Assistant",Arial,sans-serif;--rubik:"Heebo","Assistant",sans-serif;
  --sun-glow:0 0 30px rgba(242,147,84,.5);
  --sun-inner:inset 0 -9px 24px rgba(246,112,20,.16);
  --sun-line:rgba(247,114,24,.2);
}
body{background:var(--bg);font-family:var(--sans)}

/* Header */
.pub-top{background:rgba(6,9,16,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06)}
.pub-brand b{font-family:var(--sans);font-weight:600}

/* Buttons: orange glowing pill and translucent pill */
.pub-cta,.pub-btn-primary,.primary-btn{border-radius:15px;background:#f66f14 radial-gradient(circle at 50% 100%,rgba(255,173,117,.9),rgba(246,111,20,0) 79%);border:1px solid #ba530e;box-shadow:var(--sun-glow);color:#1a0b02;font-family:var(--sans);font-weight:700}
.pub-cta:hover,.pub-btn-primary:hover,.primary-btn:hover{filter:none;background-color:#ff8a3d}
.pub-btn-ghost,.ghost-btn{border-radius:15px;background:rgba(33,33,33,.3);border:1px solid var(--sun-line);box-shadow:var(--sun-inner);color:var(--text);font-family:var(--sans)}
.pub-btn-ghost:hover,.ghost-btn:hover{border-color:rgba(247,114,24,.45);color:var(--text)}

/* Hero: centred copy, then the horizon and the course rising from it */
.pub-hero{display:block;position:relative;text-align:center;max-width:none;margin:0;padding:76px 24px 0;overflow:hidden}
.pub-hero-copy{position:relative;z-index:2;max-width:760px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.pub-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:24px;padding:7px 16px 7px 14px;border-radius:999px;background:var(--surface-2);border:1px solid rgba(255,255,255,.08);font-family:var(--sans);font-size:14px;letter-spacing:0;text-transform:none;color:var(--text-dim)}
.pub-eyebrow::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:#f66f14;box-shadow:0 0 12px #f66f14}
.pub-hero h1{font-family:var(--sans);font-weight:500;font-size:clamp(40px,5.2vw,72px);line-height:1.15;letter-spacing:0;margin:0 0 32px}
.pub-hero .pub-lede{margin-inline:auto;max-width:620px;font-size:18px}
.pub-hero .guide-list{display:inline-block;text-align:start;margin-inline:auto}
.guide-choice{justify-content:center}
.guide-choice legend{width:100%;text-align:center;font-family:var(--sans);font-weight:600}
.pub-hero .pub-disclaimer{max-width:640px;margin-inline:auto}
.pub-hero .guide-form,.pub-hero .guide-done{text-align:start;width:100%;max-width:560px;margin-inline:auto}
.sun-stage{position:relative;height:400px;margin:36px auto 0;pointer-events:none}
.sun-beams{position:absolute;inset:-420px -10% 0;background:linear-gradient(118deg,transparent 22%,rgba(255,255,255,.025) 24%,transparent 30%),linear-gradient(62deg,transparent 64%,rgba(255,255,255,.02) 66%,transparent 72%);filter:blur(6px)}
.sun-glow{position:absolute;left:50%;top:155px;width:min(780px,105vw);height:270px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(183,64,19,.32),rgba(107,34,10,.13) 48%,transparent 100%);filter:blur(28px)}
.sun-horizon{position:absolute;left:50%;top:90px;width:min(1080px,150vw);aspect-ratio:1;transform:translateX(-50%);border-radius:50%}
/* A metal ring with a dark centre and an asymmetric lit edge. The base state
   is fully visible; the optional entrance is owned by the homepage script. */
.sun-orbit{--sun-band:clamp(36px,6.7vw,72px);position:absolute;inset:0;border-radius:inherit;transform-origin:50% 50%;filter:drop-shadow(0 -3px 12px rgba(238,131,67,.13))}
.sun-orbit::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(closest-side,transparent calc(100% - var(--sun-band)),rgba(175,197,226,.65) calc(100% - var(--sun-band) + 1px),rgba(3,7,13,.72) calc(100% - var(--sun-band) + 6px),transparent calc(100% - var(--sun-band) + 20px),transparent calc(100% - 12px),rgba(255,235,206,.3) calc(100% - 3px),rgba(255,255,255,.8) 100%),conic-gradient(from 0deg,#d57d37 0deg,#ecab61 14deg,#f3c080 22deg,#db803b 33deg,#a84128 48deg,#6b2525 61deg,#222a35 78deg,#0b1018 100deg,#07090d 180deg,#0b1018 248deg,#23303e 285deg,#71302c 307deg,#b64a29 328deg,#d57d37 360deg);-webkit-mask-image:radial-gradient(closest-side,transparent calc(100% - var(--sun-band) - 1px),#000 calc(100% - var(--sun-band)),#000 calc(100% - 1px),transparent 100%);mask-image:radial-gradient(closest-side,transparent calc(100% - var(--sun-band) - 1px),#000 calc(100% - var(--sun-band)),#000 calc(100% - 1px),transparent 100%)}
/* A narrow white specular lip blooms into the air around the upper-right rim. */
.sun-orbit::after{content:"";position:absolute;inset:-26px;border-radius:inherit;background:conic-gradient(from 0deg,rgba(255,220,172,.18),rgba(255,241,217,.85) 12deg,#fffaf0 21deg,rgba(255,240,215,.76) 29deg,rgba(249,166,97,.22) 42deg,transparent 58deg,transparent 314deg,rgba(202,204,219,.06) 332deg,rgba(255,220,172,.18) 360deg);-webkit-mask-image:radial-gradient(closest-side,transparent calc(100% - 47px),rgba(0,0,0,.08) calc(100% - 38px),rgba(0,0,0,.24) calc(100% - 29px),#000 calc(100% - 26.5px),rgba(0,0,0,.9) calc(100% - 25.5px),rgba(0,0,0,.24) calc(100% - 21px),rgba(0,0,0,.07) calc(100% - 10px),transparent 100%);mask-image:radial-gradient(closest-side,transparent calc(100% - 47px),rgba(0,0,0,.08) calc(100% - 38px),rgba(0,0,0,.24) calc(100% - 29px),#000 calc(100% - 26.5px),rgba(0,0,0,.9) calc(100% - 25.5px),rgba(0,0,0,.24) calc(100% - 21px),rgba(0,0,0,.07) calc(100% - 10px),transparent 100%)}
.sun-preview{position:relative;z-index:2;max-width:1140px;margin:-100px auto 0;border-radius:12px 12px 0 0;border:1px solid rgba(209,170,215,.22);border-bottom:0;overflow:hidden;background:var(--surface-1);box-shadow:inset 0 24px 48px rgba(199,211,234,.05),0 -10px 60px rgba(0,0,0,.6)}
.sun-preview img{display:block;width:100%;height:auto;-webkit-mask-image:linear-gradient(to bottom,#000 50%,transparent 96%);mask-image:linear-gradient(to bottom,#000 50%,transparent 96%)}

/* Sections */
.pub-section{border-top:0;padding-block:88px 32px}
.pub-section-head{flex-direction:column;align-items:flex-start;gap:10px}
.pub-num{font-family:var(--sans);font-weight:600;font-size:14px;letter-spacing:0;color:#f66f14}
.pub-section h2{font-family:var(--sans);font-weight:500;font-size:clamp(30px,4vw,44px);letter-spacing:0}
.pub-callout{border-inline-start-color:#f66f14}
.pub-grid{gap:20px}
.pub-card{border-radius:24px;background:rgba(33,33,33,.3);border:1px solid rgba(255,255,255,.06);box-shadow:var(--sun-inner);padding:28px 24px}
.pub-card b{font-family:var(--sans);font-weight:600;font-size:20px}
.pub-steps li{border-radius:16px}
.pub-steps b{font-family:var(--sans);font-weight:600}
.pub-faq summary{font-family:var(--sans);font-weight:600}
.pub-faq{border-bottom-color:rgba(255,255,255,.08)}

/* About: the portrait moves here, in a glowing frame */
.sun-story{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}
.sun-story .pub-hero-portrait{position:static;order:2;max-width:300px;width:100%}
.sun-story .pub-prose{order:1}
.sun-story .pub-hero-portrait img{width:100%;height:auto;border-radius:24px;border:1px solid rgba(247,114,24,.25);box-shadow:0 0 60px rgba(246,111,20,.22)}

/* Contact: a box lit from one corner */
#contact{position:relative;margin:64px auto;padding:48px 56px;max-width:1144px;border-radius:16px;border:1px solid #363636;background:radial-gradient(circle at 0% 100%,rgba(246,111,20,.9) 0%,rgba(246,111,20,0) 42%),rgba(0,0,0,.2);box-shadow:inset 0 -20px 78px rgba(104,52,17,.37),inset 0 0 29px rgba(255,255,255,.08)}

.pub-foot{border-top:1px solid rgba(255,255,255,.06)}

@media (max-width:760px){
  .pub-hero{padding-top:48px}
  .sun-stage{height:200px;margin-top:32px}
  .sun-preview{margin-top:-110px;border-radius:10px 10px 0 0}
  .sun-story{grid-template-columns:1fr}
  .sun-story .pub-hero-portrait{max-width:320px}
  #contact{margin:32px 16px;padding:32px 24px}
}
@media (prefers-reduced-motion:reduce){.sun-beams{filter:none}}

/* Step numbers as glowing orange tiles, like the Figma steps */
.pub-steps li::before{font-family:var(--sans);font-weight:700;font-size:15px;color:#1a0b02;background:#f66f14;border-radius:8px;width:32px;height:32px;display:grid;place-items:center;box-shadow:0 0 16px rgba(242,147,84,.55)}

/* RedSun refinement: a quiet hero, action-led cards and the same geometry
   as the course. Existing registration and authentication stay intact. */
.pub-eyebrow{padding:4px 14px 4px 4px;text-decoration:none;font-size:13px;flex-direction:row-reverse;background:linear-gradient(180deg,#211911,#100f10);box-shadow:inset 0 1px 1px #ffffff15;border-color:#ffffff08}
.pub-eyebrow::before{display:none}
.sun-badge{background:#f88b42;color:#1a0b02;border-radius:999px;padding:6px 14px;font-weight:600}
.sun-hero-actions{justify-content:center;gap:16px;margin:8px 0 0}
.sun-hero-actions :is(a,button){min-width:168px;min-height:48px;text-decoration:none}
.pub-hero{background:radial-gradient(ellipse at 8% 4%,#ffffff08,transparent 35%),#08090d}
.sun-preview{border:1px solid #ffffff20;border-radius:18px;background:#0b0d12;padding:7px;box-shadow:0 -8px 42px #0008;max-width:1120px}
.sun-preview img{border-radius:11px;mask-image:linear-gradient(#000 65%,transparent 100%);-webkit-mask-image:linear-gradient(#000 65%,transparent 100%)}
.sun-preview figcaption{padding:12px 20px 18px;text-align:center}
.sun-preview figcaption a{color:#ffad73;text-decoration:none;font-size:14px}
.pub-section-head{margin-bottom:28px}
.pub-section h2{font-size:clamp(28px,3.2vw,42px);line-height:1.25}
.sun-guide{max-width:1120px;margin:56px auto 0;padding:36px!important;background:#101116;border:1px solid #ffffff12;border-radius:24px;box-shadow:inset 0 -30px 70px #e8750810}
.sun-guide .pub-section-head{align-items:center;text-align:center}
.guide-choice{margin:0 auto;gap:14px}
.guide-choice legend{margin-bottom:16px}
.sun-guide :is(.guide-form,#generalSignup){max-width:620px;margin-inline:auto}
.guide-list{max-width:560px;margin-inline:auto}
.pub-card{min-height:136px;display:flex;flex-direction:column;gap:18px;background:linear-gradient(160deg,#17171b,#0c0e13);border:1px solid #ffffff0d;box-shadow:inset 0 -12px 32px #f6741914}
.pub-card b{font-size:21px;font-weight:500}
.sun-feature-number{display:grid;place-items:center;width:36px;height:36px;color:#fdaa71;border:1px solid #f66f1430;border-radius:10px;background:#f66f1410;font:500 13px/1 var(--sans)}
.sun-feature-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.sun-feature-tags li{font-size:12px;color:#c4c5cc;border-radius:6px;background:#ffffff06;padding:3px 8px}
.sun-story{grid-template-columns:minmax(0,1fr) 240px;gap:72px;align-items:center}
.sun-story .pub-prose p{font-size:18px;line-height:1.9;max-width:48ch}
.sun-story .pub-hero-portrait{max-width:240px}
#how{display:grid;grid-template-columns:1fr 1.35fr;gap:72px;align-items:start}
#how .pub-steps{margin:0}
#contact > .pub-prose{display:none}
#contact .pub-actions{margin-top:24px}
@media(max-width:760px){
 .pub-hero{padding:48px 20px 0}.pub-hero h1{font-size:clamp(34px,8.7vw,52px);line-height:1.22}
 .pub-eyebrow{font-size:11px;gap:6px}.sun-badge{padding:5px 10px}
 .sun-hero-actions{width:100%;flex-direction:column;gap:12px}.sun-hero-actions :is(a,button){width:100%}
 .sun-stage{height:245px;margin-top:24px}.sun-horizon{top:70px;width:145vw}.sun-glow{top:105px;height:165px}.sun-preview{margin-top:-55px;border-radius:12px;padding:4px}
 .sun-preview img{min-height:0}.sun-preview figcaption{padding:10px}
 .sun-guide{margin:36px 16px 0;padding:24px 18px!important;width:auto}.pub-section{padding-block:56px 20px}
 .sun-story{grid-template-columns:1fr;gap:28px}.sun-story .pub-hero-portrait{order:1;max-width:220px}.sun-story .pub-prose{order:2}.sun-story .pub-prose p{font-size:16px}
 #how{grid-template-columns:1fr;gap:20px}.pub-grid{grid-template-columns:1fr}.pub-card{min-height:128px;padding:24px}.pub-section h2{font-size:29px}
 #contact{margin:40px 16px;padding:28px 22px}.guide-choice{flex-direction:column}.guide-choice button{width:100%}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Logo-only brand with the unboxed accessibility icon directly beside it. */
.pub-brand-group{display:flex;align-items:center;gap:10px;flex-shrink:0}
.auth-brand{flex-wrap:wrap}
.auth-brand>.pub-brand-group{flex-shrink:0}
.pub-accessibility{position:static;flex-shrink:0}
#publicPage .pub-brand{width:44px;height:44px;justify-content:center}
.pub-logo{width:38px;height:38px}
.pub-accessibility{display:flex;align-items:center;min-width:44px;min-height:44px}
.pub-accessibility #accessToggle{width:44px;height:44px;min-height:44px;color:#f0ca73;background:transparent;border:0;box-shadow:none}
.pub-accessibility #accessToggle:hover{color:#ffe29a;background:transparent}
.pub-accessibility #accessToggle[hidden]{display:none}
.pub-accessibility #accessToggle svg{width:25px;height:32px}
@media(max-width:760px){.pub-brand-group{gap:6px}.pub-top-in{gap:12px}.pub-logo{width:34px;height:34px}}

/* Action-first homepage: concise audience, useful links and calmer spacing. */
.sun-audience{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;margin:0 0 22px;color:#c6cbd5;font-size:14px}
.sun-audience span:first-child{color:#ffb680}
.pub-hero{padding-top:58px}
.pub-hero h1{font-size:clamp(36px,4.6vw,66px);line-height:1.22;max-width:18ch}
.sun-stage{height:300px;margin-top:20px}
.sun-horizon{top:60px}
.sun-preview{margin-top:-80px}
.sun-preview img{mask-image:linear-gradient(#000 80%,transparent 100%);-webkit-mask-image:linear-gradient(#000 80%,transparent 100%)}
.sun-included{list-style:none;display:flex;flex-wrap:wrap;gap:12px 28px;padding:0;margin:0 0 26px;color:#d4dae3;font-size:15px}
.sun-included li::before{content:'✓';color:#ffad73;margin-inline-end:8px}
.sun-tool-links .pub-card{text-decoration:none;transition:border-color .15s,background-color .15s;min-height:175px}
.sun-tool-links .pub-card:hover{border-color:#ffad7366;background-color:#1b1d25}
.sun-card-action{font-size:14px;color:#ffb680;margin-top:auto}
.sun-tool-links .pub-card b{color:#f3f5f9;font-size:20px}
#how .pub-steps{display:grid;gap:14px}
#how .pub-steps li{padding-block:19px}
#how .pub-steps li::marker{content:''}
.pub-faq summary{padding-block:22px;font-size:18px}
.pub-faq p{max-width:65ch;font-size:16px;color:#cdd2dc}
.pub-nav a{min-height:44px;display:inline-flex;align-items:center}
.pub-hero-portrait img{object-fit:cover}
@media(max-width:760px){
 .sun-audience{font-size:12px;gap:6px 12px;margin-bottom:16px}
 .pub-hero{padding-top:36px}.pub-hero h1{font-size:clamp(34px,8.5vw,50px)}
 .sun-stage{height:175px;margin-top:8px}.sun-horizon{top:38px}.sun-preview{margin-top:-48px}
 .sun-included{display:grid;gap:10px;font-size:14px}
 .sun-tool-links.pub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .sun-tool-links .pub-card{padding:16px!important;min-height:185px;gap:14px;border-radius:16px}
 .sun-tool-links .pub-card b{font-size:17px;line-height:1.45}.sun-card-action{font-size:12px;line-height:1.5}
 .pub-faq summary{font-size:16px}.pub-faq p{font-size:15px}
}
@media(max-width:350px){.sun-tool-links.pub-grid{grid-template-columns:1fr}.sun-tool-links .pub-card{min-height:150px}}
@media(min-width:761px){.sun-tool-links.pub-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
