/* SecurityOps Academy, September 2026. Local fonts, native HTML controls. */
:root{--bg:#030607;--ink:#edf5f4;--muted:#a7b6b8;--line:#233236;--lime:#65e6db;--paper:#0a1113}
html{background:var(--bg);scroll-padding-top:30px}
body{background:var(--bg);overflow-wrap:break-word}
::selection{background:#65e6db;color:#030607}
a:hover{color:var(--lime)}
summary:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.skip-link{position:fixed;z-index:100;top:8px;left:10px;padding:12px 20px;transform:translateY(-150%);background:var(--lime);color:#030607}
.skip-link:focus{transform:none}
.nav{height:auto;min-height:94px;gap:25px;padding-block:20px}
.brand{line-height:1.4;flex-shrink:0}
.nav nav{gap:19px;flex-wrap:wrap;justify-content:flex-end}
.nav nav a{min-height:36px;display:flex;align-items:center}
.lang{min-width:44px;justify-content:center}
.hero{padding-block:85px 100px;gap:7vw;grid-template-columns:minmax(0,2.2fr) minmax(250px,1fr)}
.hero h1{font-size:clamp(54px,6.2vw,86px);line-height:1.02;letter-spacing:-.055em}
.hero-copy,.manifesto,.section-head>*{min-width:0}
.hero .lede{line-height:1.65;max-width:680px;font-size:clamp(18px,1.7vw,22px)}
.manifesto{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding-left:30px}
.manifesto blockquote{font-size:26px;line-height:1.4;margin-block:28px;color:#cddedd}
.course-facts{margin:0 0 30px}
.course-facts>div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding-block:12px;font-size:12px}
.course-facts dt{color:var(--muted)}
.course-facts dd{margin:0;text-align:right}
.presale{border-color:#24625d;background:#091c1b;border-radius:3px;font-size:10px;letter-spacing:.055em}
.presale strong{color:#031211}
.ticker{background:#0b1719;color:#89afa9;border-color:var(--line);font-size:10px;letter-spacing:.16em;padding:16px 20px}
.section{padding-block:105px}
.section-head{grid-template-columns:minmax(130px,.7fr) minmax(0,1.4fr) minmax(220px,1fr);gap:35px;margin-bottom:52px}
.section-head h2{font-size:clamp(37px,4.7vw,64px);line-height:1.08}
.section-head>p:last-child{font-size:14px;line-height:1.8;margin-top:0}
.eyebrow{line-height:1.7;font-size:10px}
.syllabus li{grid-template-columns:55px minmax(0,1fr) minmax(0,1.5fr);padding-block:28px}
.syllabus h3{font-size:25px}
.syllabus p{font-size:15px;line-height:1.75}
.tools{background:#080d0f;color:var(--ink);border-block:1px solid var(--line)}
.tools .eyebrow,.tools .tool-grid span{color:var(--lime)}
.tools .section-head>p:last-child,.tools .tool-grid p,.repo-note{color:var(--muted)}
.tool-grid{border-color:var(--line)}
.tool-grid article{border-color:var(--line);min-width:0;padding:27px;display:flex;flex-direction:column;align-items:flex-start}
.tool-grid h3{font-size:25px;margin-block:22px 12px}
.tool-grid p{font-size:14px;line-height:1.75;margin-bottom:22px}
.tool-source{margin-top:auto;font:11px var(--mono);padding-block:10px}
.repo-note{font-size:13px;line-height:1.8}
.journey{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin:0;padding:0}
.journey>li{border-top:1px solid #476260;padding-top:24px}
.journey>li>span{font:12px var(--mono);color:var(--lime)}
.journey h3{font:400 25px/1.2 var(--serif);margin-block:25px 14px}
.journey p{font-size:14px;line-height:1.8;color:var(--muted)}
.about{background:#0a1214;border-block:1px solid var(--line)}
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10vw}
.about h2{font-size:clamp(42px,4.9vw,68px);line-height:1.04;margin-block:25px 40px}
.about-signature{font-size:17px;line-height:1.9}
.about-signature span{font:11px/1.8 var(--mono);color:var(--muted)}
.about-copy{padding-top:20px}
.about-copy>p{font-size:17px;line-height:1.85;color:#c1d0d1}
.about-links{display:flex;flex-direction:column;margin-top:30px}
.about-links a{border-bottom:1px solid var(--line);padding-block:15px;font:12px var(--mono);color:var(--lime)}
.site-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:35px;align-items:start}
.site-entry{border-top:1px solid var(--line);min-width:0}
.site-entry summary{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:12px;cursor:pointer;list-style:none;padding:21px 2px;font-size:15px}
.site-entry summary::-webkit-details-marker{display:none}
.site-entry summary small{font:9px var(--mono);letter-spacing:.04em;color:var(--muted);text-align:right}
.site-entry summary b{color:var(--lime);font-size:19px;font-weight:400;text-align:right}
.site-entry[open] summary b{transform:rotate(45deg)}
.site-entry[open]{background:#081013}
.site-entry[open] summary{padding-inline:16px}
.site-body{padding:0 16px 26px}
.site-body>p{font-size:14px;line-height:1.75;color:var(--muted);margin-top:0}
.site-body ul{list-style:none;padding:0;margin-block:20px}
.site-body li a{font:12px/1.8 var(--mono);color:#d5eeeb;overflow-wrap:anywhere;display:block;padding-block:7px}
.site-body .text-link{color:var(--lime);font-size:11px;display:inline-block;padding-block:8px}
.directory-note{font-size:13px;line-height:1.8;color:var(--muted);margin-top:35px}
.directory-note a{color:var(--lime)}
.checkout{border-top:1px solid var(--line);gap:8vw}
.checkout h2{font-size:clamp(43px,5vw,66px);line-height:1.07}
.enroll{background:#0a1113;align-self:start}
.enroll input[type=email],.enroll input:not([type]){background:#030809;border-color:#35494d}
.radio{align-items:center;min-height:54px;gap:10px}
.radio span{gap:10px;align-items:center;margin-left:0}
.radio small{text-align:right;line-height:1.5;font-size:12px}
input[type=checkbox],input[type=radio]{accent-color:var(--lime);min-width:18px;min-height:18px}
.consent span{font-size:12px;letter-spacing:0;line-height:1.7}
.enroll .button{width:100%;min-height:50px}
.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.4}
.fine{font-size:12px;line-height:1.75}
.faq{border-top:1px solid var(--line)}
.faq details{border-top:1px solid var(--line);padding-block:4px}
.faq summary{padding:21px 0;cursor:pointer;font-size:17px;line-height:1.6}
.faq details p{max-width:830px;color:var(--muted);font-size:15px;line-height:1.85;margin:0 0 25px}
.faq a{color:var(--lime)}
.legal{background:#070b0d}
.legal h2{font-size:30px;line-height:1.25}
.legal p{font-size:14px;line-height:1.9}
.legal-grid{gap:35px 60px}
footer{gap:20px;padding-bottom:75px;flex-wrap:wrap}
footer a{line-height:1.7;overflow-wrap:anywhere}
.back-top{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right));z-index:20;display:flex;gap:8px;align-items:center;justify-content:center;min-width:46px;min-height:46px;padding:10px 15px;background:#0b1719;border:1px solid #3d6c69;color:var(--lime);font:13px var(--mono)}
.back-top:hover{background:var(--lime);color:#030607}
@media(min-width:781px) and (max-width:1100px){.nav{flex-wrap:wrap}.nav nav{width:100%;justify-content:flex-start}.hero{gap:35px}.section-head{grid-template-columns:1fr 2fr}.section-head>p:last-child{grid-column:2}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){
  .wrap{width:calc(100% - 32px)}
  .nav{padding-block:20px 12px;gap:18px;flex-wrap:wrap}
  .brand{font-size:11px}.brand img{width:27px;height:27px}
  .nav nav{width:100%;flex-wrap:nowrap;justify-content:flex-start;gap:20px;overflow-x:auto;padding-block:3px 8px;scrollbar-width:thin;scrollbar-color:#3d6c69 transparent}
  .nav nav a:not(.lang){display:flex;flex-shrink:0;white-space:nowrap}
  .nav nav a{min-height:44px;font-size:12px}.nav nav .lang{flex-shrink:0;order:-1}
  .hero{grid-template-columns:minmax(0,1fr);padding-block:48px 60px;gap:38px}
  .hero h1{font-size:clamp(47px,9.3vw,69px);line-height:1.03;margin-block:28px}
  .hero .lede{font-size:18px;line-height:1.75}
  .actions{gap:18px;flex-wrap:wrap;margin-top:30px}
  .actions .button{flex:1 0 220px}.actions .text-link{padding-block:12px}
  .manifesto{display:block;align-self:auto;border-left:0;border-top:1px solid var(--line);padding:20px 0 0}
  .manifesto blockquote{display:none}.course-facts{margin-block:5px 20px}
  .section{padding-block:68px}.section-head{grid-template-columns:minmax(0,1fr);gap:15px;margin-bottom:33px}
  .section-head h2{font-size:44px;line-height:1.07}.section-head>p:last-child{grid-column:auto;max-width:600px;font-size:15px}
  .syllabus li{grid-template-columns:30px minmax(0,1fr);gap:13px;padding-block:24px}.syllabus p{grid-column:2;font-size:14px}
  .tool-grid{grid-template-columns:minmax(0,1fr)}.tool-grid article{padding:24px;min-height:0}
  .journey{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px}.journey h3{font-size:24px;line-height:1.25}.journey p{font-size:14px}
  .about-grid{grid-template-columns:minmax(0,1fr);gap:10px}.about h2{font-size:47px;margin-bottom:25px}.about-copy{padding-top:0}.about-copy>p{font-size:16px}
  .site-directory{grid-template-columns:minmax(0,1fr)}.site-entry summary{font-size:16px;min-height:67px}.site-entry summary small{font-size:9px;max-width:110px}
  .checkout{grid-template-columns:minmax(0,1fr);gap:30px}.checkout h2{font-size:49px}.enroll{padding:23px}
  .legal-grid{grid-template-columns:minmax(0,1fr);gap:20px}.legal h2{font-size:30px}
  .back-top{padding:10px;right:12px;bottom:12px}.back-top span{display:none}
}
@media(max-width:360px){.wrap{width:calc(100% - 26px)}.hero h1{font-size:44px}.section-head h2{font-size:39px}.presale{font-size:9px}.journey{grid-template-columns:minmax(0,1fr)}.site-entry summary small{display:none}.site-entry summary{grid-template-columns:minmax(0,1fr) 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
