
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700;800&display=swap');

:root{
 --red:#ee1d2d; --red2:#ff3141; --ink:#090b0f; --muted:#626872;
 --bg:#f1f4f8; --card:rgba(255,255,255,.74); --line:#d6dbe3;
 --shadow:0 20px 55px rgba(17,24,39,.09);
 --display:'Barlow Condensed',Impact,sans-serif;
 --body:'Inter',Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);overflow-x:hidden;overflow-y:auto;min-height:100vh}
a{text-decoration:none;color:inherit}
button,input,textarea{font:inherit}
img{max-width:100%;display:block}
.container{width:min(1120px,calc(100% - 64px));margin:auto}
.page{position:relative;min-height:100vh;overflow:visible;background:
 radial-gradient(circle at 85% 8%,rgba(255,255,255,.95),transparent 25%),
 linear-gradient(135deg,#f7f9fb 0%,#edf1f6 58%,#e6ebf2 100%);overflow:hidden}
.page:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.3;background:
 linear-gradient(125deg,transparent 0 70%,rgba(255,255,255,.8) 70.1% 70.5%,transparent 70.6%),
 linear-gradient(140deg,transparent 0 76%,rgba(238,29,45,.08) 76.1% 76.3%,transparent 76.4%)}
.header{position:absolute;z-index:30;top:0;left:0;right:0;height:88px}
.header-inner{height:88px;display:flex;align-items:center;gap:30px}
.logo{width:142px;height:auto;max-height:80px;object-fit:contain}
.nav{margin-left:auto;display:flex;gap:27px;align-items:center;font-size:13px;font-weight:700}
.nav a{position:relative;padding:9px 0}
.nav a.active:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--red)}
.guest-nav{display:block}
.logged .guest-nav{display:none}
.private{display:none}
.logged .private{display:block}
.nav-dropdown{position:relative}
.nav-dropdown > .drop-trigger{display:flex;align-items:center;gap:6px}
.chevron{font-size:14px;line-height:1;transition:.2s}
.dropdown-menu{position:absolute;top:100%;left:50%;transform:translate(-50%, -6px);min-width:155px;z-index:100;padding:8px;background:rgba(255,255,255,.98);border:1px solid #d8dde5;border-radius:14px;box-shadow:0 18px 40px rgba(15,20,30,.14);opacity:0;visibility:hidden;pointer-events:none;transition:.18s ease}
.dropdown-menu a{display:block;padding:11px 13px;border-radius:9px;font-size:12px;font-weight:750}
.dropdown-menu a:hover{background:#f0f2f6;color:var(--red)}
.nav-dropdown:before{content:"";position:absolute;left:-18px;right:-18px;top:100%;height:14px;z-index:99}
.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.dropdown-menu:hover,.dropdown-menu:focus-within{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.nav-dropdown:hover .chevron{transform:rotate(180deg)}
.login-btn,.logout-btn,.primary{border:0;cursor:pointer;background:#050609;color:#fff;padding:14px 23px;border-radius:25px;font-weight:800;box-shadow:0 10px 28px rgba(238,29,45,.3);transition:.2s}
.login-btn:hover,.logout-btn:hover,.primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(238,29,45,.38)}
.logout-btn{display:none}.logged .logout-btn{display:block}.logged .login-btn{display:none}
.menu{display:none;border:0;background:none;font-size:27px;cursor:pointer}
.eyebrow{display:flex;align-items:center;gap:13px;font-size:11px;letter-spacing:.13em;color:#8a9099;font-weight:700;text-transform:uppercase}
.eyebrow:before{content:"";width:31px;height:2px;background:var(--red)}
h1,h2,h3{font-family:var(--display);margin:0;text-transform:uppercase}
.hero{position:relative;z-index:1;min-height:625px;padding-top:112px}
.hero-grid{display:grid;grid-template-columns:46% 54%;align-items:center;min-height:500px}
.hero-copy{position:relative;z-index:5;padding-bottom:35px}
.hero h1{font-size:clamp(58px,6.7vw,92px);line-height:.84;letter-spacing:-1.5px;margin:22px 0}
.hero h1 span,.red{color:var(--red)}
.hero p{max-width:540px;color:#50565f;line-height:1.7;font-size:15px}
.actions{display:flex;gap:16px;margin-top:28px}
.secondary{padding:13px 22px;border:1px solid #cbd1da;border-radius:24px;font-weight:750;background:rgba(255,255,255,.35)}
.hero-visual{height:540px;position:relative;overflow:hidden;border-radius:0 0 0 42%}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.8) contrast(1.02)}
.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#eef1f6 0%,rgba(238,241,246,.25) 22%,transparent 48%,rgba(4,6,9,.05))}
.statbar{display:grid;grid-template-columns:repeat(4,1fr);max-width:600px;margin-top:34px}
.stat{padding:0 22px;border-right:1px solid #ccd2da}.stat:first-child{padding-left:0}.stat:last-child{border:0}
.stat strong{display:block;font-size:24px}.stat span{font-size:11px;color:#666d76}
.section{position:relative;z-index:2;padding:85px 0}
.section-head{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:end;margin-bottom:30px}
.section-head h2{font-size:55px;line-height:.9}.section-head p{color:var(--muted);line-height:1.65;font-size:14px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:var(--card);border:1px solid rgba(204,211,221,.9);border-radius:18px;padding:24px;box-shadow:var(--shadow);backdrop-filter:blur(12px);position:relative;overflow:hidden}
.card:before{content:"";position:absolute;top:0;left:0;width:40px;height:2px;background:var(--red)}
.card .num{font-family:var(--display);font-size:28px;color:#cbd0d8;float:right}
.icon{width:42px;height:42px;border:1.5px solid var(--red);color:var(--red);display:grid;place-items:center;border-radius:12px;font-size:20px;margin-bottom:30px}
.card h3{font-size:26px;margin-bottom:10px}.card p{color:var(--muted);font-size:13px;line-height:1.65}
.card-link{display:inline-block;margin-top:18px;color:var(--red);font-size:13px;font-weight:800}
.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.course-card{min-height:380px;padding:28px;border:1px solid #d2d8e1;background:rgba(255,255,255,.68);border-radius:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.course-card .course-image{position:absolute;right:-8px;bottom:0;width:44%;height:72%;object-fit:cover;mix-blend-mode:multiply;opacity:.8;border-radius:24px 0 0 0}
.course-card h3{font-size:43px;line-height:.88;max-width:55%;margin:22px 0 10px}.course-card h3 span{color:var(--red)}
.pill{display:inline-block;color:var(--red);background:#ffe3e6;padding:6px 10px;border-radius:20px;font-size:11px;font-weight:800}
.features{display:grid;grid-template-columns:repeat(4,1fr);margin-top:25px;border:1px solid #d3d8df;border-radius:16px;overflow:hidden;background:rgba(255,255,255,.55)}
.feature{padding:22px;border-right:1px solid #d3d8df}.feature:last-child{border:0}.feature b{display:block;font-size:13px;margin-bottom:6px}.feature span{font-size:11px;color:var(--muted)}
.dark-banner{margin-top:36px;border-radius:18px;min-height:170px;padding:35px 42px;color:#fff;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative;background:#07090c url('assets/home-mountain.jpg') center/cover}
.dark-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,8,.96),rgba(5,6,8,.48),rgba(5,6,8,.72))}
.dark-banner>*{position:relative;z-index:2}.dark-banner h2{font-size:45px;line-height:.9}.dark-banner h2 span{color:var(--red)}
.page-footer{padding:55px 0 28px;position:relative;z-index:2}.footer-line{height:1px;background:#ccd2db;margin-bottom:22px}.footer-flex{display:flex;justify-content:space-between;color:#626872;font-size:11px;letter-spacing:.06em}
.inner-hero{padding:112px 0 65px;min-height:490px}
.inner-grid{display:grid;grid-template-columns:45% 55%;align-items:center;gap:30px}
.inner-hero h1{font-size:78px;line-height:.86;margin:22px 0}.inner-hero p{max-width:520px;color:var(--muted);line-height:1.7}
.inner-image{height:470px;border-radius:0 0 0 42%;overflow:hidden}.inner-image img{width:100%;height:100%;object-fit:cover}
.split{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.dark-card{background:#080a0d;color:#fff;border-radius:18px;padding:38px;min-height:280px;background-image:linear-gradient(90deg,rgba(4,5,7,.96),rgba(4,5,7,.35)),url('assets/about-hero.jpg');background-size:cover;background-position:center}
.dark-card h2{font-size:47px;line-height:.9;margin:20px 0}.dark-card p{color:#d3d7dc;line-height:1.7;font-size:13px}
.text-panel{padding:34px}.text-panel h2{font-size:50px;line-height:.9;margin:18px 0}.text-panel p{color:var(--muted);line-height:1.7;font-size:13px}
.mission{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:55px}.mission-item{display:grid;grid-template-columns:58px 1fr;gap:18px}.mission-icon{width:50px;height:50px;border-radius:14px;border:1px solid #d3d8df;display:grid;place-items:center;font-size:20px;color:var(--red);background:#fff}.mission h3{font-size:25px}.mission p{color:var(--muted);font-size:13px;line-height:1.65}
.form-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:24px}.form-card{background:rgba(255,255,255,.78);border:1px solid #d3d8df;border-radius:20px;padding:32px;box-shadow:var(--shadow)}label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.field{margin-bottom:18px}input,textarea{width:100%;border:1px solid #ccd2db;background:#fafbfc;border-radius:12px;padding:14px;outline:none}input:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(238,29,45,.08)}textarea{min-height:140px;resize:vertical}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:120px 20px 50px;background:radial-gradient(circle at 78% 22%,rgba(238,29,45,.11),transparent 22%),linear-gradient(135deg,#f8fafc,#e8edf4)}
.login-card{width:min(470px,100%);padding:42px;background:rgba(255,255,255,.9);border:1px solid #d5dbe3;border-radius:24px;box-shadow:0 30px 80px rgba(18,24,35,.15)}.login-card h1{font-size:65px;line-height:.86;margin:18px 0}.login-card p{color:var(--muted);line-height:1.6;font-size:13px}
.dashboard{padding:145px 0 70px;min-height:100vh}.dashboard h1{font-size:80px;line-height:.85;margin:20px 0}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
@media(max-width:900px){.container{width:min(100% - 34px,720px)}.nav{display:none}.menu{display:block}.header-inner{justify-content:space-between}.nav.open{display:flex;position:absolute;top:72px;left:17px;right:17px;background:#fff;padding:18px;border-radius:16px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}.hero-grid,.inner-grid,.split,.form-wrap,.mission{grid-template-columns:1fr}.hero{padding-top:105px}.hero-copy{padding-bottom:0}.hero-visual{height:360px;border-radius:0 0 0 25%}.section-head{grid-template-columns:1fr;gap:15px}.cards{grid-template-columns:1fr 1fr}.course-grid{grid-template-columns:1fr}.features{grid-template-columns:1fr 1fr}.feature:nth-child(2){border-right:0}.inner-image{height:330px}.dashboard-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.logo{width:105px;height:auto;max-height:58px}.header,.header-inner{height:72px}.login-btn,.logout-btn{padding:11px 15px}.hero h1{font-size:57px}.statbar{grid-template-columns:1fr 1fr;gap:18px}.stat{border-right:0;padding:0}.cards{grid-template-columns:1fr}.features{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid #d3d8df}.feature:last-child{border-bottom:0}.section{padding:60px 0}.course-card h3{font-size:35px;max-width:60%}.dark-banner{padding:28px;min-height:200px}.dark-banner h2{font-size:37px}.inner-hero h1,.dashboard h1{font-size:58px}.form-card,.login-card{padding:26px}}

/* Logged-in navigation: compact member menu with Courses dropdown */
.nav .member-nav{display:none}
.logged .nav .guest-nav{display:none}
.logged .nav .member-nav{display:block}
.member-nav{position:relative}
.member-nav > a{display:block}
.courses-menu{position:relative}
.courses-dropdown{
  position:absolute;
  top:calc(100% + 2px);
  left:-16px;
  min-width:180px;
  padding:9px;
  background:rgba(255,255,255,.98);
  border:1px solid #d5dae2;
  border-radius:14px;
  box-shadow:0 18px 45px rgba(10,15,25,.14);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  transition:.18s ease;
  pointer-events:none;
}
.courses-menu:hover .courses-dropdown,
.courses-menu:focus-within .courses-dropdown{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.courses-dropdown a{
  display:block;
  padding:11px 12px;
  border-radius:9px;
  font-size:12px;
  font-weight:750;
  white-space:nowrap;
}
.courses-dropdown a:hover{background:#f1f3f6;color:var(--red)}
.courses-dropdown a:after{display:none!important}
@media(max-width:900px){
  .nav.open .member-nav{width:100%}
  .nav.open .courses-menu{width:100%}
  .nav.open .courses-dropdown{
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    pointer-events:auto;
    box-shadow:none;
    border:0;
    padding:3px 0 0 10px;
    background:transparent;
  }
  .nav.open .courses-dropdown a{padding:9px 12px}
}

@media(max-width:900px){.nav-dropdown:before{display:none}.nav-dropdown{width:100%}.dropdown-menu{position:static;transform:none;display:none;opacity:1;visibility:visible;pointer-events:auto;box-shadow:none;border:0;background:#f5f6f8;margin-top:6px}.nav-dropdown.mobile-open .dropdown-menu{display:block}.nav-dropdown:hover .dropdown-menu{display:none}.nav-dropdown.mobile-open:hover .dropdown-menu{display:block}.nav-dropdown.mobile-open .chevron{transform:rotate(180deg)}}

/* Final navigation / scrolling fixes */
html,body{width:100%;min-height:100%;overflow-x:hidden;overflow-y:auto}
.page{overflow:visible}
.nav-dropdown{padding-bottom:12px}
.nav-dropdown:after{content:"";position:absolute;left:-12px;right:-12px;top:100%;height:18px}
@media(max-width:900px){.logo{width:105px;max-height:58px}.nav-dropdown{padding-bottom:0}.nav-dropdown:after{display:none}}

.hero-visual img,.inner-image img{object-fit:cover;}
@media(max-width:900px){.header,.header-inner{height:78px}.logo{width:112px;max-height:64px}.page{overflow:visible}}

.visual-strip{position:relative;z-index:2;padding:10px 0 70px}.visual-strip .container{height:250px;border-radius:18px;overflow:hidden}.visual-strip img{width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:saturate(.78) contrast(1.04)}

/* Update: full-card course images with readable text overlay */
.course-card{isolation:isolate;min-height:380px;background:#f8fafc}
.course-card .course-image{inset:0;width:100%;height:100%;object-fit:cover;object-position:center;mix-blend-mode:normal;opacity:1;border-radius:0;z-index:-2}
.course-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(248,250,253,.98) 0%,rgba(248,250,253,.95) 42%,rgba(248,250,253,.73) 61%,rgba(248,250,253,.12) 100%);pointer-events:none}
.course-card .pill,.course-card>div,.course-card h3,.course-card p{position:relative;z-index:1}
.course-card h3{max-width:68%;text-shadow:0 1px 0 rgba(255,255,255,.35)}
.course-card p{max-width:72%;color:#20242a;line-height:1.55;text-shadow:0 1px 0 rgba(255,255,255,.5)}
.books-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.book-card{position:relative;isolation:isolate;min-height:300px;border:1px solid rgba(204,211,221,.95);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);display:flex;align-items:flex-end;background:#101318}
.book-card:before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transition:transform .35s ease}
.book-card:hover:before{transform:scale(1.04)}
.book-one:before{background-image:url('assets/courses-card2.jpg')}
.book-two:before{background-image:url('assets/home-hero.jpg')}
.book-three:before{background-image:url('assets/about-hero.jpg')}
.book-four:before{background-image:url('assets/courses-hero.jpg')}
.book-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,8,12,.9) 0%,rgba(6,8,12,.72) 48%,rgba(6,8,12,.18) 100%),linear-gradient(0deg,rgba(6,8,12,.72),transparent 75%)}
.book-content{padding:27px;color:#fff;max-width:88%}
.book-content .pill{background:#ffe3e6;color:#c80f21;display:inline-block;margin-bottom:17px}
.book-content h3{font-size:clamp(29px,3.2vw,40px);line-height:.95;margin:0 0 12px;text-transform:none;letter-spacing:-.2px}
.book-content p{font-size:13px;line-height:1.55;color:#eef1f5;margin:0;max-width:400px}
@media(max-width:900px){.books-grid{grid-template-columns:1fr 1fr}.course-card h3{max-width:70%}.course-card p{max-width:72%}}
@media(max-width:560px){.books-grid{grid-template-columns:1fr}.book-card{min-height:260px}.course-card{min-height:390px}.course-card h3{font-size:34px;max-width:75%}.course-card p{max-width:85%}}

/* CCIT finishing pass: theme switch, hero depth, and night-mode red energy */
:root{color-scheme:light;--theme-bg:#f1f4f8;--theme-ink:#090b0f;--theme-muted:#626872;--theme-panel:rgba(255,255,255,.74);--theme-line:#d6dbe3}
body{background:var(--theme-bg);color:var(--theme-ink);transition:background .35s ease,color .35s ease}
.page{background:radial-gradient(circle at 85% 8%,rgba(255,255,255,.95),transparent 25%),linear-gradient(135deg,#f7f9fb 0%,#edf1f6 58%,#e6ebf2 100%);transition:background .35s ease}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-left:2px;border:1px solid #cbd1da;border-radius:22px;padding:9px 13px;background:rgba(255,255,255,.72);color:var(--ink);font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap;transition:all .25s ease}
.theme-toggle:hover{border-color:var(--red);box-shadow:0 0 18px rgba(238,29,45,.16);transform:translateY(-1px)}
.theme-icon{font-size:16px;line-height:1}
.header-inner{gap:22px}
.hero-visual{perspective:1100px;transform-style:preserve-3d;isolation:isolate;overflow:visible;border-radius:0 0 0 42%;transition:filter .3s ease;--tilt-x:0deg;--tilt-y:0deg;--glow-x:50%;--glow-y:50%}
.hero-visual img{position:relative;z-index:1;border-radius:0 0 0 42%;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateZ(24px) scale(1.015);transform-origin:center;transition:transform .22s ease-out,filter .35s ease;box-shadow:0 25px 60px rgba(12,16,24,.13);will-change:transform}
.hero-visual:before{content:"";position:absolute;z-index:2;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--glow-x) var(--glow-y),rgba(255,38,57,.22),transparent 35%);mix-blend-mode:screen;opacity:0;transition:opacity .25s ease}
.hero-visual.is-tilting:before{opacity:1}
.hero-visual:after{z-index:3;pointer-events:none}
.hero-visual.is-tilting img{filter:saturate(1.02) contrast(1.04) drop-shadow(0 0 16px rgba(238,29,45,.14))}
.home-books-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.home-books-grid .book-card{min-height:330px}
.home-books-grid .book-content h3{font-size:28px}
.home-books-grid .book-content p{font-size:12px}
/* Dark theme: deep charcoal surfaces and restrained neon-red glow */
body.dark-theme{color-scheme:dark;--bg:#080a0f;--ink:#f5f6f8;--muted:#a6adb8;--card:rgba(18,21,29,.82);--line:#292e39;--theme-bg:#080a0f;--theme-ink:#f5f6f8;--theme-muted:#a6adb8;--theme-panel:rgba(18,21,29,.82);--theme-line:#292e39;background:#080a0f;color:#f5f6f8}
body.dark-theme .page{background:radial-gradient(circle at 80% 8%,rgba(238,29,45,.09),transparent 24%),radial-gradient(circle at 12% 45%,rgba(238,29,45,.055),transparent 27%),linear-gradient(135deg,#080a0f 0%,#10131b 58%,#080a0f 100%)}
body.dark-theme .page:before{opacity:.42;background:linear-gradient(125deg,transparent 0 70%,rgba(255,255,255,.025) 70.1% 70.5%,transparent 70.6%),linear-gradient(140deg,transparent 0 76%,rgba(238,29,45,.2) 76.1% 76.3%,transparent 76.4%)}
body.dark-theme .header{background:linear-gradient(180deg,rgba(8,10,15,.9),rgba(8,10,15,0));backdrop-filter:blur(5px)}
body.dark-theme .nav a{color:#e9ebf0}
body.dark-theme .theme-toggle{background:#171a23;border-color:#343947;color:#f5f6f8}
body.dark-theme .theme-toggle:hover{box-shadow:0 0 22px rgba(255,36,55,.28)}
body.dark-theme .hero p,body.dark-theme .section-head p,body.dark-theme .inner-hero p,body.dark-theme .text-panel p,body.dark-theme .mission p,body.dark-theme .feature span{color:#aeb4bf}
body.dark-theme .secondary{color:#f5f6f8;background:rgba(20,23,32,.75);border-color:#393e4a}
body.dark-theme .stat{border-color:#333845}body.dark-theme .stat span{color:#a7adba}
body.dark-theme .feature,body.dark-theme .features{border-color:#2b303b;background:rgba(17,20,28,.72)}
body.dark-theme .feature{border-right-color:#2b303b}
body.dark-theme .footer-line{background:#303541}body.dark-theme .footer-flex{color:#a4aab5}
body.dark-theme .dark-card{box-shadow:0 0 0 1px rgba(238,29,45,.12),0 18px 55px rgba(0,0,0,.3)}
body.dark-theme .text-panel{color:#f3f4f7}
body.dark-theme .mission-icon{background:#141720;border-color:#333946;box-shadow:0 0 18px rgba(238,29,45,.08)}
body.dark-theme .book-card{border-color:#34303a;box-shadow:0 14px 40px rgba(0,0,0,.35),0 0 18px rgba(238,29,45,.05)}
body.dark-theme .book-card:hover{box-shadow:0 18px 48px rgba(0,0,0,.48),0 0 26px rgba(238,29,45,.2)}
body.dark-theme .pill{background:rgba(238,29,45,.17);color:#ff5965;border:1px solid rgba(255,65,81,.25)}
body.dark-theme .hero-visual img,body.dark-theme .inner-image img{filter:saturate(.98) contrast(1.04);box-shadow:0 0 25px rgba(238,29,45,.08),0 25px 60px rgba(0,0,0,.45)}
body.dark-theme .hero-visual:before{opacity:.35;background:radial-gradient(circle at var(--glow-x) var(--glow-y),rgba(255,30,53,.4),transparent 38%);animation:red-pulse 3.2s ease-in-out infinite alternate}
body.dark-theme .hero-visual.is-tilting:before{opacity:.9}
body.dark-theme .red,body.dark-theme .hero h1 span,body.dark-theme .inner-hero h1 .red{ text-shadow:0 0 12px rgba(238,29,45,.24)}
body.dark-theme .eyebrow:before{box-shadow:0 0 12px rgba(255,34,55,.9)}
body.dark-theme .primary{box-shadow:0 0 16px rgba(238,29,45,.25),0 10px 28px rgba(238,29,45,.15)}
body.dark-theme .primary:hover{box-shadow:0 0 25px rgba(238,29,45,.5),0 14px 34px rgba(238,29,45,.22)}
body.dark-theme .visual-strip img{filter:brightness(.76) contrast(1.08);box-shadow:0 0 25px rgba(238,29,45,.1)}
@keyframes red-pulse{from{filter:drop-shadow(0 0 3px rgba(255,35,55,.15));opacity:.22}to{filter:drop-shadow(0 0 13px rgba(255,35,55,.3));opacity:.52}}
@media(max-width:900px){.header-inner{gap:12px}.theme-toggle{margin-left:auto}.home-books-grid{grid-template-columns:1fr 1fr}.home-books-grid .book-card{min-height:300px}.hero-visual{overflow:hidden}}
@media(max-width:560px){.theme-toggle{padding:8px 10px}.theme-label{display:none}.home-books-grid{grid-template-columns:1fr}.home-books-grid .book-card{min-height:270px}.hero-visual{height:320px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* CCIT refinement: soft-edge hero artwork, calm motion, tighter layout, responsive polish */
.hero{padding-top:88px;min-height:570px}
.hero-grid{min-height:455px;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:8px}
.hero-copy{padding-bottom:10px}
.hero h1{font-size:clamp(54px,6.1vw,86px);line-height:.88}
.hero-visual{height:clamp(350px,42vw,500px);min-width:0;overflow:visible;border-radius:0;perspective:1200px;transform-style:preserve-3d;position:relative;isolation:isolate;--tilt-x:0deg;--tilt-y:0deg;--glow-x:50%;--glow-y:50%}
.hero-visual img{width:100%;height:100%;object-fit:contain;object-position:center;border-radius:0;box-shadow:none;transform:perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(1);transform-origin:center;transition:filter .4s ease;will-change:transform;mask-image:radial-gradient(ellipse 72% 72% at 50% 48%,#000 53%,rgba(0,0,0,.92) 66%,rgba(0,0,0,.56) 79%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 72% 72% at 50% 48%,#000 53%,rgba(0,0,0,.92) 66%,rgba(0,0,0,.56) 79%,transparent 100%);filter:saturate(.9) contrast(1.02)}
.hero-visual:before{content:"";position:absolute;inset:8% 7%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,rgba(238,29,45,.10),transparent 66%);filter:blur(18px);opacity:.65;pointer-events:none;animation:ambient-breathe 6s ease-in-out infinite}
.hero-visual:after{content:"";position:absolute;inset:9%;z-index:2;border:1px solid rgba(238,29,45,.20);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-25deg);pointer-events:none;opacity:.55;animation:orbit-slow 22s linear infinite}
.hero-visual.is-tilting img{filter:saturate(1) contrast(1.04) drop-shadow(0 10px 20px rgba(238,29,45,.13))}
body.dark-theme .hero-visual img{box-shadow:none;filter:saturate(.95) contrast(1.02);}
body.dark-theme .hero-visual:before{opacity:.9;background:radial-gradient(ellipse,rgba(238,29,45,.17),rgba(238,29,45,.035) 44%,transparent 70%);animation:ambient-breathe 5s ease-in-out infinite}
body.dark-theme .hero-visual:after{border-color:rgba(255,46,65,.28);border-left-color:transparent;border-bottom-color:transparent;box-shadow:0 0 14px rgba(238,29,45,.08)}
/* Gentle scroll reveal */
.js-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js-reveal.is-visible{opacity:1;transform:translateY(0)}
.book-card,.card,.feature,.mission-item,.dark-banner,.dark-card{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.book-card:hover,.card:hover{transform:translateY(-5px)}
.feature:hover{transform:translateY(-3px)}
body.dark-theme .book-card:hover,body.dark-theme .card:hover,body.dark-theme .feature:hover{box-shadow:0 14px 38px rgba(0,0,0,.28),0 0 22px rgba(238,29,45,.12)}
/* Theme-aware mobile navigation */
body.dark-theme .nav.open{background:#141720;border:1px solid #303644}
body.dark-theme .nav.open a{color:#f5f6f8}
body.dark-theme .menu{color:#f5f6f8}
@keyframes ambient-breathe{0%,100%{transform:scale(.96);opacity:.48}50%{transform:scale(1.04);opacity:.9}}
@keyframes orbit-slow{from{transform:rotate(-25deg)}to{transform:rotate(335deg)}}
@media(max-width:1100px){.hero{min-height:unset;padding-top:96px}.hero-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:460px}.hero-visual{height:420px}.hero h1{font-size:clamp(50px,6vw,72px)}.statbar{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{padding:0 12px}}
@media(max-width:900px){.hero{padding-top:92px}.hero-grid{grid-template-columns:1fr;gap:4px;min-height:unset}.hero-copy{padding:24px 0 0}.hero h1{font-size:clamp(56px,9vw,82px);max-width:700px}.hero p{max-width:650px}.hero-visual{height:min(72vw,480px);min-height:300px;width:100%;margin:0 auto}.statbar{max-width:650px}.section{padding:64px 0}.nav.open{z-index:80;top:calc(100% - 4px);gap:8px}.header{height:80px}.header-inner{height:80px}}
@media(max-width:600px){.container{width:calc(100% - 34px)}.header,.header-inner{height:70px}.logo{width:100px;max-height:56px}.theme-toggle{margin-left:auto;padding:8px 10px}.theme-label{display:none}.menu{font-size:25px}.hero{padding-top:76px}.hero-copy{padding-top:20px}.eyebrow{font-size:9px;letter-spacing:.1em}.hero h1{font-size:clamp(46px,12vw,66px);letter-spacing:-.7px;margin:18px 0}.hero p{font-size:13px;line-height:1.7}.actions{flex-wrap:wrap;gap:10px;margin-top:20px}.primary,.secondary{padding:12px 17px;font-size:12px}.hero-visual{height:300px;min-height:260px;margin-top:0}.statbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px;margin-top:24px}.stat{padding:0 8px}.stat:nth-child(2){border-right:0}.stat strong{font-size:21px}.stat span{font-size:10px}.section-head h2{font-size:clamp(38px,10vw,50px)}.section-head p{font-size:13px}.home-books-grid{grid-template-columns:1fr}.home-books-grid .book-card{min-height:260px}.features{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid var(--line)}.feature:last-child{border-bottom:0}.dark-banner{gap:18px;align-items:flex-start;flex-direction:column}.dark-banner h2{font-size:clamp(30px,8vw,38px)}.footer-flex{gap:10px;flex-direction:column;align-items:flex-start}.inner-hero{padding:95px 0 45px}.inner-hero h1{font-size:clamp(48px,12vw,64px)}.mission{gap:25px}.book-card{min-height:260px}}
@media(max-width:380px){.theme-toggle{padding:7px 8px}.logo{width:86px}.hero-visual{height:255px;min-height:230px}.actions a{font-size:11px;padding:11px 14px}.stat strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){.js-reveal{opacity:1;transform:none} .hero-visual:before,.hero-visual:after{animation:none!important}}
.page{overflow:visible}

/* Final hero artwork refinement: use the transparent PNG with no orbit/circle decorations. */
.hero{padding-top:76px;min-height:unset}
.hero-grid{min-height:470px;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:12px}
.hero-copy{padding-bottom:0}
.hero-visual{height:clamp(350px,41vw,500px);min-width:0;overflow:visible;border-radius:0;perspective:1000px;transform-style:preserve-3d;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;--tilt-x:0deg;--tilt-y:0deg}
.hero-visual img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:0;box-shadow:none;transform:perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-origin:center;transition:filter .3s ease;will-change:transform;mask-image:none;-webkit-mask-image:none;filter:drop-shadow(0 12px 18px rgba(16,20,28,.07))}
.hero-visual:before,.hero-visual:after{content:none!important;display:none!important;animation:none!important}
.hero-visual.is-tilting img{filter:drop-shadow(0 12px 18px rgba(238,29,45,.14)) saturate(1.02)}
body.dark-theme .hero-visual img{box-shadow:none;filter:drop-shadow(0 10px 22px rgba(238,29,45,.13)) saturate(1.02) contrast(1.02)}
body.dark-theme .hero-visual.is-tilting img{filter:drop-shadow(0 12px 24px rgba(238,29,45,.22)) saturate(1.04) contrast(1.03)}
/* A little editorial motion, without distracting orbital graphics. */
.hero-copy .eyebrow:before{animation:accent-breathe 3.6s ease-in-out infinite}
.book-card{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.book-card:hover{transform:translateY(-5px)}
.feature{transition:transform .25s ease,background .25s ease,border-color .25s ease}
.feature:hover{transform:translateY(-2px)}
.primary,.secondary,.nav a{transition:color .22s ease,background .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease}
@keyframes accent-breathe{0%,100%{opacity:.72;box-shadow:0 0 0 rgba(238,29,45,0)}50%{opacity:1;box-shadow:0 0 10px rgba(238,29,45,.24)}}
@media(max-width:1100px){.hero{padding-top:78px}.hero-grid{min-height:440px;gap:6px}.hero-visual{height:420px}}
@media(max-width:900px){.hero{padding-top:80px}.hero-grid{grid-template-columns:1fr;gap:0;min-height:unset}.hero-copy{padding-top:12px}.hero-visual{height:min(72vw,460px);min-height:280px;width:100%;margin:0 auto}.hero-copy .statbar{margin-bottom:0}}
@media(max-width:600px){.hero{padding-top:68px}.hero-copy{padding-top:10px}.hero-visual{height:clamp(250px,75vw,340px);min-height:250px;margin-top:2px}.hero-visual img{max-height:100%}.logo{width:100px}}
@media(prefers-reduced-motion:reduce){.hero-copy .eyebrow:before{animation:none!important}.book-card,.feature,.primary,.secondary,.nav a{transition:none!important}}


/* Final refinement: correct supplied book covers, full-width layout, clear hero and gentle motion */
.container{width:calc(100% - clamp(28px,5vw,88px));max-width:1680px;margin-inline:auto}
.page{overflow-x:clip;overflow-y:visible}
.header{height:78px}
.header-inner{height:78px;gap:clamp(16px,2.5vw,34px)}
.logo{width:clamp(108px,10vw,142px);max-height:72px}
.hero{padding-top:76px}
.hero-grid{width:100%;min-height:clamp(420px,40vw,600px);grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr);gap:clamp(12px,2vw,34px)}
.hero-copy{padding-top:0;min-width:0}
.hero-copy .eyebrow{color:#4d5664;opacity:1;text-shadow:none;filter:none;font-weight:800;letter-spacing:.16em}
.hero h1{line-height:.91}
.hero-visual{height:clamp(350px,42vw,610px);min-width:0;display:flex;align-items:center;justify-content:center;overflow:visible;border-radius:0;perspective:1000px;transform-style:preserve-3d;position:relative;isolation:isolate;animation:hero-float 6.8s ease-in-out infinite;will-change:transform}
.hero-visual img{display:block;position:relative;z-index:1;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;border-radius:0;background:transparent;box-shadow:none;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-origin:center;transition:filter .35s ease;will-change:transform;filter:drop-shadow(0 12px 20px rgba(10,14,22,.10))}
.hero-visual:before,.hero-visual:after{content:none!important;display:none!important;animation:none!important}
.hero-visual.is-tilting img{filter:drop-shadow(0 12px 22px rgba(238,29,45,.20)) saturate(1.03)}
body.dark-theme .hero-copy .eyebrow{color:#f1f3f7;text-shadow:none;filter:none;opacity:1}
body.dark-theme .hero-visual img{background:transparent;box-shadow:none;filter:drop-shadow(0 10px 24px rgba(238,29,45,.20)) saturate(1.02) contrast(1.02)}
body.dark-theme .hero-visual.is-tilting img{filter:drop-shadow(0 12px 26px rgba(238,29,45,.30)) saturate(1.04) contrast(1.03)}
@keyframes hero-float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-7px,0)}}

/* Correct book cover artwork and make each card a full-bleed cover */
.book-one:before{background-image:url('assets/book-ethical-hacking.jpg')!important}
.book-two:before{background-image:url('assets/book-cybersecurity-everyone.jpg')!important}
.book-three:before{background-image:url('assets/book-think-like-a-criminal.jpg')!important}
.book-four:before{background-image:url('assets/book-web-security-handbook.jpg')!important}
.book-card{position:relative;isolation:isolate;min-height:clamp(330px,31vw,460px);overflow:hidden;background:#111!important;background-size:cover;background-position:center;border-radius:18px}
.book-card:before{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.book-card:hover:before{transform:scale(1.045);filter:saturate(1.08)}
.book-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.06) 8%,rgba(0,0,0,.05) 34%,rgba(0,0,0,.78) 100%)}
.book-content{position:absolute;inset:auto 0 0;padding:clamp(18px,2vw,28px);color:#fff;z-index:2;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.book-content h3{max-width:95%;font-size:clamp(23px,2.3vw,32px);line-height:1.02;margin:12px 0 8px;color:#fff}
.book-content p{max-width:42ch;margin:0;color:#f2f2f2;font-size:13px;line-height:1.55}
.book-content .pill{background:rgba(10,12,17,.72);color:#fff;border-color:rgba(255,255,255,.32);text-shadow:none}
body.dark-theme .book-card{box-shadow:0 12px 36px rgba(0,0,0,.32),0 0 0 1px rgba(238,29,45,.12)}
.home-books-grid,.books-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.5vw,24px)}
.section{padding-block:clamp(54px,6vw,90px)}
.section-head{gap:clamp(18px,3vw,48px)}

/* Full-width responsive layouts */
@media(max-width:1200px){.home-books-grid,.books-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.hero-visual{height:clamp(330px,42vw,500px)}}
@media(max-width:900px){.header,.header-inner{height:74px}.hero{padding-top:78px}.hero-grid{grid-template-columns:1fr;gap:0;min-height:unset}.hero-copy{padding-top:18px}.hero-visual{height:clamp(300px,58vw,480px);min-height:280px;width:100%;margin:0 auto;animation-duration:7.5s}.home-books-grid,.books-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.book-card{min-height:340px}.nav.open{z-index:80;top:calc(100% - 1px);left:0;right:0}.page{overflow-x:clip}}
@media(max-width:600px){.container{width:calc(100% - 32px)}.header,.header-inner{height:66px}.hero{padding-top:66px}.hero-copy{padding-top:12px}.hero h1{font-size:clamp(44px,12vw,64px);line-height:.94}.hero-copy .eyebrow{font-size:9px;letter-spacing:.12em}.hero-visual{height:clamp(250px,78vw,340px);min-height:250px;margin-top:0}.home-books-grid,.books-grid{grid-template-columns:1fr}.book-card{min-height:390px}.section{padding-block:48px}.section-head{grid-template-columns:1fr}.statbar{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-label{display:none}.logo{width:94px}.nav.open{padding:16px}}
@media(max-width:380px){.container{width:calc(100% - 24px)}.hero-visual{height:245px;min-height:230px}.book-card{min-height:350px}}
@media(prefers-reduced-motion:reduce){.hero-visual{animation:none!important}.book-card:before{transition:none!important}.hero-visual img{transition:none!important}}
