/*
  topcoursesonline.com (Build 47) | MS Office Courses | Milano, Italy | EUR
  Theme: White #FFF + Microsoft Blue #0078D4 + Amber #FFB900 (FIRST light-professional MS palette!)
  Nav: TWO-ROW HEADER - thin topbar + main nav (FIRST in 47 builds!)
  Hero: SPLIT (text+badges left, Office app grid right - FIRST split-with-app-grid!)
  Courses: TABBED FILTER (Beginner/Intermediate/Advanced - FIRST course filter tabs!)
  Pricing: COMPARISON TABLE with feature matrix (FIRST comparison table in series!)
  Testimonials: HORIZONTAL SLIDER with arrows (FIRST slider in series!)
  Process: 3-COL HORIZONTAL CARDS
  FAQ: 2-COL EVEN SPLIT
  Footer: 3-COL + DARK BOTTOM BAR (vs 4-col in most previous)
  Fonts: Poppins (headings) + Inter (body) - BOTH first use in 47 builds!
  CSS prefix: tco-
  English only (no multi-language - unlike B46)
*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --tco-bg:      #FFFFFF;
  --tco-surf:    #F0F4FF;
  --tco-surf2:   #EBF2FF;
  --tco-blue:    #0078D4;
  --tco-blue2:   #0062B1;
  --tco-bluet:   rgba(0,120,212,.08);
  --tco-bluet2:  rgba(0,120,212,.14);
  --tco-navy:    #0F172A;
  --tco-amber:   #FFB900;
  --tco-amberd:  #D4A000;
  --tco-ambert:  rgba(255,185,0,.1);
  --tco-green:   #107C10;
  --tco-greent:  rgba(16,124,16,.08);
  --tco-text:    #0F172A;
  --tco-mid:     #475569;
  --tco-muted:   #94A3B8;
  --tco-border:  #E2E8F0;
  --tco-border2: #CBD5E1;
  --tco-topbar:  #0F172A;
  --tco-nav-h:   64px;
  --tco-top-h:   38px;
  --tco-total-h: calc(var(--tco-nav-h) + var(--tco-top-h));
  --tco-max:     1080px;
  --tco-r:       4px;
  --tco-r2:      8px;
  --tco-r3:      12px;
  --tco-r4:      20px;
  --tco-fh:      'Poppins', system-ui, sans-serif;
  --tco-fb:      'Inter', system-ui, sans-serif;
  --tco-ease:    all 0.2s cubic-bezier(.4,0,.2,1);
  --tco-sh:      0 2px 12px rgba(0,0,0,.06);
  --tco-sh2:     0 8px 40px rgba(0,0,0,.1);
  --tco-sh3:     0 4px 20px rgba(0,120,212,.2);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { background:var(--tco-bg); color:var(--tco-text); font-family:var(--tco-fb); font-size:1rem; line-height:1.72; overflow-x:hidden; }
img,svg { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
button { font-family:inherit; cursor:pointer; border:none; background:none; }
input,textarea,select { font-family:inherit; }
address { font-style:normal; }

h1 { font-family:var(--tco-fh); font-size:clamp(2.8rem,5vw,5.8rem); font-weight:800; line-height:.96; letter-spacing:-.02em; }
h2 { font-family:var(--tco-fh); font-size:clamp(2rem,3.5vw,3.8rem); font-weight:700; line-height:1.05; letter-spacing:-.02em; }
h3 { font-family:var(--tco-fh); font-size:1.2rem; font-weight:600; }
p  { font-size:.92rem; line-height:1.82; color:var(--tco-mid); }

/* ============================================================
   TWO-ROW HEADER (FIRST in 47 builds!)
   Top: thin dark bar with contact info
   Bottom: main white nav
   ============================================================ */
.tco-header { position:fixed; top:0; left:0; right:0; z-index:900; }
/* Row 1: topbar */
.tco-topbar { background:var(--tco-topbar); height:var(--tco-top-h); display:flex; align-items:center; }
.tco-topbar-inner { max-width:calc(var(--tco-max) + 80px); margin:0 auto; padding:0 2rem; display:flex; align-items:center; justify-content:space-between; width:100%; }
.tco-topbar-l { display:flex; align-items:center; gap:1.2rem; }
.tco-topbar-item { display:flex; align-items:center; gap:.3rem; font-family:var(--tco-fb); font-size:.62rem; color:rgba(255,255,255,.5); }
.tco-topbar-item a { color:rgba(255,255,255,.5); transition:color .14s; }
.tco-topbar-item a:hover { color:var(--tco-amber); }
.tco-topbar-soc { display:flex; align-items:center; gap:.5rem; }
.tco-topbar-soc a { color:rgba(255,255,255,.3); transition:color .14s; }
.tco-topbar-soc a:hover { color:var(--tco-amber); }
/* Row 2: main nav */
.tco-mainnav { background:var(--tco-bg); height:var(--tco-nav-h); border-bottom:1px solid var(--tco-border); transition:box-shadow .2s; }
.tco-mainnav.tco-scrolled { box-shadow:var(--tco-sh); }
.tco-nav-inner { max-width:calc(var(--tco-max) + 80px); margin:0 auto; padding:0 2rem; display:flex; align-items:center; justify-content:space-between; height:100%; gap:1rem; }
.tco-nav-logo { font-family:var(--tco-fh); font-size:.9rem; font-weight:800; color:var(--tco-navy); letter-spacing:-.01em; white-space:nowrap; }
.tco-nav-logo span { color:var(--tco-blue); }
.tco-nav-links { display:flex; align-items:center; gap:.1rem; }
.tco-nl { font-family:var(--tco-fb); font-size:.88rem; font-weight:600; color:var(--tco-mid); padding:.36rem .7rem; border-radius:var(--tco-r2); transition:var(--tco-ease); white-space:nowrap; position:relative; }
.tco-nl:hover,.tco-nl.tco-on { color:var(--tco-blue); background:var(--tco-bluet); }
.tco-nav-right { display:flex; align-items:center; gap:.5rem; }
.tco-nav-cta { font-family:var(--tco-fb); font-size:.88rem; font-weight:700; color:white; background:var(--tco-blue); padding:.44rem 1.3rem; border-radius:var(--tco-r2); transition:background .14s; white-space:nowrap; }
.tco-nav-cta:hover { background:var(--tco-blue2); }
/* Mobile */
.tco-ham { display:none; width:36px; height:36px; flex-direction:column; align-items:center; justify-content:center; gap:5px; border-radius:var(--tco-r2); border:1.5px solid var(--tco-border); cursor:pointer; }
.tco-ham span { width:15px; height:1.5px; background:var(--tco-text); border-radius:2px; display:block; transition:var(--tco-ease); }
.tco-mob-ov { position:fixed; inset:0; background:rgba(0,0,0,.3); z-index:910; opacity:0; pointer-events:none; transition:opacity .22s; }
.tco-mob-ov.tco-ov-on { opacity:1; pointer-events:auto; }
.tco-mob-draw { position:fixed; top:0; right:0; bottom:0; width:280px; background:var(--tco-bg); z-index:920; transform:translateX(100%); transition:transform .28s cubic-bezier(.4,0,.2,1); padding:1.4rem; overflow-y:auto; box-shadow:-4px 0 24px rgba(0,0,0,.1); }
.tco-mob-draw.tco-draw-on { transform:none; }
.tco-draw-hd { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.4rem; padding-bottom:.9rem; border-bottom:1px solid var(--tco-border); }
.tco-draw-lk { display:flex; align-items:center; justify-content:space-between; padding:.62rem 0; border-bottom:1px solid var(--tco-border); font-family:var(--tco-fb); font-size:.9rem; font-weight:600; color:var(--tco-mid); transition:color .14s; }
.tco-draw-lk:hover { color:var(--tco-blue); }

/* ============================================================
   SPLIT HERO (FIRST in 47 builds - text left, Office app grid right!)
   ============================================================ */
.tco-hero { padding:calc(var(--tco-total-h) + 4rem) 0 5rem; background:var(--tco-bg); overflow:hidden; }
.tco-hero-grid { max-width:calc(var(--tco-max) + 80px); margin:0 auto; padding:0 2rem; display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.tco-hero-l {}
.tco-hero-tag { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--tco-fb); font-size:.52rem; font-weight:700; text-transform:uppercase; letter-spacing:.22em; color:var(--tco-blue); background:var(--tco-bluet); border:1px solid var(--tco-bluet2); padding:.22rem .9rem; border-radius:100px; margin-bottom:1.2rem; }
.tco-hero h1 { margin-bottom:.4rem; }
.tco-hero-gold { color:var(--tco-blue); }
.tco-hero-sub { max-width:46ch; margin-bottom:1.8rem; font-size:.95rem; }
.tco-hero-acts { display:flex; gap:.7rem; flex-wrap:wrap; margin-bottom:2.5rem; }
.tco-hero-stats { display:flex; gap:2rem; flex-wrap:wrap; }
.tco-hs-item { }
.tco-hs-n { font-family:var(--tco-fh); font-size:1.6rem; font-weight:800; color:var(--tco-navy); line-height:1; }
.tco-hs-l { font-size:.54rem; color:var(--tco-muted); font-weight:600; text-transform:uppercase; letter-spacing:.08em; margin-top:.1rem; }
/* Right: floating Office app icons grid */
.tco-hero-r { display:flex; align-items:center; justify-content:center; position:relative; }
.tco-app-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; max-width:320px; }
.tco-app-tile { background:var(--tco-surf); border:1.5px solid var(--tco-border); border-radius:var(--tco-r3); padding:1.3rem .8rem; text-align:center; transition:var(--tco-ease); cursor:default; }
.tco-app-tile:hover { border-color:var(--tco-blue); box-shadow:var(--tco-sh3); transform:translateY(-3px); }
.tco-app-icon { width:40px; height:40px; border-radius:var(--tco-r2); display:flex; align-items:center; justify-content:center; margin:0 auto .5rem; font-family:var(--tco-fh); font-size:.6rem; font-weight:800; letter-spacing:-.01em; }
.tco-app-xls { background:linear-gradient(135deg,#107C10,#0D5E0D); color:white; }
.tco-app-wrd { background:linear-gradient(135deg,#0078D4,#004B8D); color:white; }
.tco-app-ppt { background:linear-gradient(135deg,#D24726,#B03A1E); color:white; }
.tco-app-otl { background:linear-gradient(135deg,#0078D4,#00396E); color:white; }
.tco-app-tms { background:linear-gradient(135deg,#6264A7,#464775); color:white; }
.tco-app-365 { background:linear-gradient(135deg,#0078D4,#6264A7); color:white; }
.tco-app-nm { font-family:var(--tco-fb); font-size:.56rem; font-weight:600; color:var(--tco-mid); margin-top:.1rem; }

/* ============================================================
   TRUST LOGOS MARQUEE
   ============================================================ */
.tco-trust-band { background:var(--tco-surf); border-top:1px solid var(--tco-border); border-bottom:1px solid var(--tco-border); padding:.6rem 0; overflow:hidden; }
.tco-trust-inner { display:flex; width:max-content; animation:tcoTrust 32s linear infinite; }
.tco-trust-band:hover .tco-trust-inner { animation-play-state:paused; }
@keyframes tcoTrust { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.tco-trust-item { font-family:var(--tco-fh); font-size:.72rem; font-weight:700; color:var(--tco-muted); padding:0 2.5rem; border-right:1px solid var(--tco-border); white-space:nowrap; letter-spacing:.02em; }

/* ============================================================
   TABBED COURSE FILTER (FIRST in 47 builds!)
   ============================================================ */
.tco-course-tabs { display:flex; gap:.4rem; justify-content:center; margin-bottom:2rem; }
.tco-tab-btn { font-family:var(--tco-fb); font-size:.82rem; font-weight:700; color:var(--tco-mid); padding:.46rem 1.2rem; border-radius:100px; border:1.5px solid var(--tco-border); cursor:pointer; transition:var(--tco-ease); background:var(--tco-bg); }
.tco-tab-btn:hover { color:var(--tco-blue); border-color:var(--tco-blue); }
.tco-tab-btn.tco-tab-on { background:var(--tco-blue); color:white; border-color:var(--tco-blue); }
.tco-course-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.tco-course-item { display:block; }
.tco-course-item.tco-hidden { display:none; }
.tco-ccard { background:var(--tco-bg); border:1.5px solid var(--tco-border); border-radius:var(--tco-r3); overflow:hidden; transition:var(--tco-ease); }
.tco-ccard:hover { border-color:var(--tco-blue); box-shadow:var(--tco-sh2); transform:translateY(-3px); }
.tco-ccard-img { height:140px; position:relative; overflow:hidden; }
.tco-ccard-img img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.tco-ccard:hover .tco-ccard-img img { transform:scale(1.04); }
.tco-ccard-badge { position:absolute; top:.6rem; left:.6rem; display:flex; gap:.3rem; }
.tco-clvl { font-family:var(--tco-fb); font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:.1rem .44rem; border-radius:100px; }
.tco-clvl-beg { background:var(--tco-greent); color:var(--tco-green); border:1px solid rgba(16,124,16,.2); }
.tco-clvl-int { background:var(--tco-ambert); color:var(--tco-amberd); border:1px solid rgba(255,185,0,.25); }
.tco-clvl-adv { background:var(--tco-bluet); color:var(--tco-blue); border:1px solid var(--tco-bluet2); }
.tco-ccard-bd { padding:1.1rem; }
.tco-ccard-app { font-family:var(--tco-fb); font-size:.48rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--tco-blue); margin-bottom:.2rem; }
.tco-ccard-nm { font-family:var(--tco-fh); font-size:.94rem; font-weight:700; color:var(--tco-navy); margin-bottom:.3rem; }
.tco-ccard-meta { display:flex; gap:.7rem; margin-bottom:.4rem; }
.tco-cmeta { font-size:.52rem; color:var(--tco-muted); display:flex; align-items:center; gap:.18rem; }
.tco-ccard-p { font-size:.76rem; line-height:1.68; margin-bottom:.8rem; }
.tco-ccard-ft { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--tco-border); padding-top:.7rem; }
.tco-ccard-price { font-family:var(--tco-fh); font-size:1.1rem; font-weight:800; color:var(--tco-blue); }
.tco-ccard-lk { font-size:.7rem; font-weight:700; color:var(--tco-muted); display:flex; align-items:center; gap:.2rem; transition:color .14s; }
.tco-ccard:hover .tco-ccard-lk { color:var(--tco-blue); }

/* ============================================================
   COMPARISON TABLE PRICING (FIRST in 47 builds!)
   ============================================================ */
.tco-price-table { width:100%; border-collapse:collapse; margin-top:2rem; }
.tco-price-table th { padding:1rem .8rem; font-family:var(--tco-fh); font-size:.82rem; font-weight:700; border-bottom:2px solid var(--tco-border); text-align:left; }
.tco-price-table th.tco-col-plan { text-align:center; background:var(--tco-surf); border-radius:var(--tco-r2) var(--tco-r2) 0 0; position:relative; }
.tco-price-table th.tco-col-feat { background:#FAFAFA; }
.tco-price-table th.tco-col-best { background:var(--tco-blue); color:white; }
.tco-plan-nm { font-size:.96rem; font-weight:800; display:block; }
.tco-plan-price { font-family:var(--tco-fh); font-size:2.2rem; font-weight:800; color:var(--tco-blue); line-height:1; display:block; margin:.3rem 0 .1rem; }
.tco-col-best .tco-plan-price { color:var(--tco-amber); }
.tco-plan-scope { font-size:.58rem; font-weight:500; color:var(--tco-muted); }
.tco-col-best .tco-plan-scope { color:rgba(255,255,255,.6); }
.tco-plan-badge { display:inline-block; font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; background:var(--tco-amber); color:var(--tco-navy); padding:.1rem .5rem; border-radius:100px; margin-bottom:.3rem; }
.tco-price-table td { padding:.72rem .8rem; border-bottom:1px solid var(--tco-border); font-size:.82rem; vertical-align:middle; }
.tco-price-table tr:last-child td { border-bottom:none; }
.tco-price-table td.tco-feat-nm { font-weight:500; color:var(--tco-mid); background:#FAFAFA; }
.tco-price-table td.tco-col-plan { text-align:center; background:var(--tco-surf); }
.tco-price-table td.tco-col-best { text-align:center; background:var(--tco-bluet); }
.tco-price-table tr:hover td.tco-feat-nm { background:var(--tco-surf); }
.tco-price-table tr:hover td.tco-col-plan { background:#E8F0FE; }
.tco-price-table tr:hover td.tco-col-best { background:rgba(0,120,212,.14); }
.tco-check-yes { color:var(--tco-green); }
.tco-check-no { color:var(--tco-muted); opacity:.3; }
.tco-check-val { font-weight:700; color:var(--tco-navy); font-size:.8rem; }
.tco-price-table .tco-plan-row td { padding:.8rem; }

/* ============================================================
   TESTIMONIAL HORIZONTAL SLIDER (FIRST in 47 builds!)
   ============================================================ */
.tco-slider-wrap { position:relative; overflow:hidden; }
.tco-slider-track { display:flex; gap:1rem; transition:transform .4s cubic-bezier(.4,0,.2,1); }
.tco-slide { min-width:calc(50% - .5rem); flex-shrink:0; background:var(--tco-surf); border:1.5px solid var(--tco-border); border-radius:var(--tco-r3); padding:2rem; }
.tco-slide-stars { display:flex; gap:.2rem; margin-bottom:.8rem; color:var(--tco-amber); }
.tco-slide-q { font-family:var(--tco-fh); font-size:.94rem; font-weight:400; color:var(--tco-navy); line-height:1.64; font-style:italic; margin-bottom:1rem; }
.tco-slide-who { font-family:var(--tco-fb); font-size:.8rem; font-weight:700; color:var(--tco-navy); }
.tco-slide-role { font-size:.68rem; color:var(--tco-muted); }
.tco-slide-co { font-size:.68rem; color:var(--tco-blue); margin-top:.06rem; }
.tco-slider-controls { display:flex; align-items:center; gap:.5rem; margin-top:1.2rem; }
.tco-slider-btn { width:40px; height:40px; border-radius:50%; border:1.5px solid var(--tco-border); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:var(--tco-ease); color:var(--tco-mid); background:var(--tco-bg); }
.tco-slider-btn:hover { border-color:var(--tco-blue); color:var(--tco-blue); }
.tco-slider-dots { display:flex; gap:.4rem; margin-left:.5rem; }
.tco-dot { width:8px; height:8px; border-radius:50%; background:var(--tco-border); transition:var(--tco-ease); cursor:pointer; }
.tco-dot.tco-dot-on { background:var(--tco-blue); width:20px; border-radius:4px; }

/* ============================================================
   WHY SECTION
   ============================================================ */
.tco-why-trio { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2.5rem; }
.tco-why-card { background:var(--tco-bg); border:1.5px solid var(--tco-border); border-radius:var(--tco-r3); padding:2rem; transition:var(--tco-ease); }
.tco-why-card:hover { border-color:var(--tco-blue); box-shadow:var(--tco-sh); transform:translateY(-2px); }
.tco-why-ico { width:44px; height:44px; background:var(--tco-bluet); border-radius:var(--tco-r2); display:flex; align-items:center; justify-content:center; color:var(--tco-blue); margin-bottom:.9rem; }
.tco-why-h { font-family:var(--tco-fh); font-size:.94rem; font-weight:700; color:var(--tco-navy); margin-bottom:.3rem; }
.tco-why-p { font-size:.8rem; line-height:1.74; }

/* ============================================================
   PROCESS 3-COL CARDS
   ============================================================ */
.tco-proc-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:2.5rem; position:relative; }
.tco-proc-grid::before { content:''; position:absolute; top:24px; left:10%; right:10%; height:1px; background:var(--tco-border); z-index:0; }
.tco-proc-step { background:var(--tco-bg); border:1.5px solid var(--tco-border); border-radius:var(--tco-r3); padding:1.5rem 1.2rem; text-align:center; position:relative; z-index:1; }
.tco-step-n { width:48px; height:48px; background:var(--tco-blue); color:white; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto .9rem; font-family:var(--tco-fh); font-size:.78rem; font-weight:800; }
.tco-step-h { font-family:var(--tco-fh); font-size:.86rem; font-weight:700; color:var(--tco-navy); margin-bottom:.3rem; }
.tco-step-p { font-size:.76rem; line-height:1.7; }

/* ============================================================
   FAQ 2-COL EVEN SPLIT (FIRST in 47 builds!)
   ============================================================ */
.tco-faq-cols { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:2.5rem; align-items:start; }
.tco-faq-col { display:flex; flex-direction:column; gap:.1rem; }
.tco-faq-item { border-bottom:1px solid var(--tco-border); }
.tco-faq-qbtn { width:100%; display:flex; align-items:center; justify-content:space-between; gap:.8rem; padding:.84rem 0; cursor:pointer; text-align:left; background:none; border:none; }
.tco-faq-qtxt { font-family:var(--tco-fb); font-size:.86rem; font-weight:600; color:var(--tco-mid); transition:color .15s; line-height:1.4; }
.tco-faq-item.tco-fq-open .tco-faq-qtxt { color:var(--tco-navy); }
.tco-faq-ico { width:20px; height:20px; flex-shrink:0; display:flex; align-items:center; justify-content:center; color:var(--tco-muted); transition:var(--tco-ease); }
.tco-faq-item.tco-fq-open .tco-faq-ico { color:var(--tco-blue); transform:rotate(45deg); }
.tco-faq-ans { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.tco-faq-item.tco-fq-open .tco-faq-ans { max-height:200px; }
.tco-faq-atxt { font-size:.82rem; color:var(--tco-mid); padding:.1rem 0 .9rem; line-height:1.8; }

/* ============================================================
   COURSE SERVICE PAGE
   ============================================================ */
.tco-svc-layout { max-width:var(--tco-max); margin:0 auto; padding:5rem 2rem; display:grid; grid-template-columns:1fr 240px; gap:5rem; align-items:start; }
.tco-svc-bdy h2 { font-family:var(--tco-fh); font-size:1.4rem; font-weight:700; color:var(--tco-blue); margin:2.5rem 0 .5rem; }
.tco-svc-bdy p { margin-bottom:.88rem; }
.tco-svc-inc-list { display:flex; flex-direction:column; gap:.35rem; margin-bottom:1.2rem; }
.tco-svc-inc-row { display:flex; align-items:flex-start; gap:.42rem; font-size:.86rem; color:var(--tco-mid); }
.tco-svc-inc-row svg { color:var(--tco-green); flex-shrink:0; margin-top:.1rem; }
.tco-svc-del { background:var(--tco-surf); border-left:3px solid var(--tco-blue); padding:.72rem .9rem; border-radius:0 var(--tco-r) var(--tco-r) 0; margin-bottom:1.2rem; }
.tco-svc-del p { margin:0; font-size:.82rem; }
.tco-course-meta { display:flex; gap:1.5rem; flex-wrap:wrap; margin:1rem 0 1.5rem; padding:.9rem 1rem; background:var(--tco-surf); border-radius:var(--tco-r2); border:1px solid var(--tco-border); }
.tco-cm-item { display:flex; flex-direction:column; align-items:center; gap:.08rem; }
.tco-cm-v { font-family:var(--tco-fh); font-size:1.3rem; font-weight:800; color:var(--tco-blue); line-height:1; }
.tco-cm-l { font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--tco-muted); }
.tco-aside-box { background:var(--tco-surf); border:1.5px solid var(--tco-border); border-radius:var(--tco-r3); overflow:hidden; position:sticky; top:calc(var(--tco-total-h) + 1.5rem); }
.tco-aside-img img { width:100%; height:80px; object-fit:cover; opacity:.5; display:block; }
.tco-aside-bd { padding:1.2rem; }
.tco-aside-from { font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:var(--tco-muted); margin-bottom:.2rem; }
.tco-aside-price { font-family:var(--tco-fh); font-size:.96rem; font-weight:800; color:var(--tco-blue); margin-bottom:.8rem; }
.tco-other-h { font-size:.42rem; font-weight:700; text-transform:uppercase; letter-spacing:.22em; color:var(--tco-muted); margin:1.4rem 0 .5rem; }
.tco-other-lk { display:flex; align-items:center; gap:.38rem; font-size:.78rem; color:var(--tco-mid); padding:.34rem 0; border-bottom:1px solid var(--tco-border); transition:color .14s; }
.tco-other-lk:hover { color:var(--tco-blue); }

/* ============================================================
   BUILDER
   ============================================================ */
.tco-build-wrap { max-width:var(--tco-max); margin:0 auto; padding:4rem 2rem 8rem; display:grid; grid-template-columns:1fr 260px; gap:4rem; align-items:start; }
.tco-bld-sec { margin-bottom:2rem; }
.tco-bld-lbl { display:block; font-family:var(--tco-fb); font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.24em; color:var(--tco-blue); margin-bottom:.9rem; }
.tco-pick { background:var(--tco-bg); border:1.5px solid var(--tco-border); border-radius:var(--tco-r2); padding:.76rem 1rem; display:flex; align-items:center; gap:.65rem; cursor:pointer; user-select:none; transition:var(--tco-ease); margin-bottom:.4rem; }
.tco-pick:hover { border-color:var(--tco-blue); }
.tco-pick.tco-picked { border-color:var(--tco-blue); background:var(--tco-bluet); }
.tco-pick-box { width:16px; height:16px; border:1.5px solid var(--tco-border); border-radius:var(--tco-r); flex-shrink:0; transition:var(--tco-ease); }
.tco-pick.tco-picked .tco-pick-box { background:var(--tco-blue); border-color:var(--tco-blue); }
.tco-pick-nm { font-size:.84rem; color:var(--tco-mid); flex:1; }
.tco-pick.tco-picked .tco-pick-nm { color:var(--tco-navy); font-weight:700; }
.tco-pick-pr { font-size:.7rem; font-weight:700; color:var(--tco-blue); white-space:nowrap; }
.tco-adn-wrap { display:flex; flex-wrap:wrap; gap:.4rem; }
.tco-adn-chip { background:var(--tco-bg); border:1.5px solid var(--tco-border); border-radius:100px; padding:.44rem .88rem; cursor:pointer; user-select:none; transition:var(--tco-ease); }
.tco-adn-chip:hover { border-color:var(--tco-blue); }
.tco-adn-chip.tco-chip-on { border-color:var(--tco-blue); background:var(--tco-bluet); }
.tco-chip-nm { font-size:.8rem; font-weight:600; color:var(--tco-mid); }
.tco-adn-chip.tco-chip-on .tco-chip-nm { color:var(--tco-navy); }
.tco-chip-pr { font-size:.58rem; color:var(--tco-muted); }
.tco-adn-chip.tco-chip-on .tco-chip-pr { color:var(--tco-blue); }
.tco-hrs-box { background:var(--tco-bg); border:1.5px solid var(--tco-border); border-radius:var(--tco-r2); padding:.9rem 1rem; }
.tco-hrs-hd { display:flex; justify-content:space-between; align-items:center; margin-bottom:.5rem; }
.tco-hrs-lbl { font-size:.82rem; color:var(--tco-mid); }
.tco-hrs-val { font-family:var(--tco-fh); font-size:1.8rem; font-weight:800; color:var(--tco-blue); line-height:1; }
.tco-hrs-slider { -webkit-appearance:none; width:100%; height:3px; background:var(--tco-border); border-radius:2px; cursor:pointer; }
.tco-hrs-slider::-webkit-slider-thumb { -webkit-appearance:none; width:18px; height:18px; border-radius:50%; background:var(--tco-blue); cursor:pointer; }
.tco-hrs-note { font-size:.64rem; color:var(--tco-muted); margin-top:.4rem; }
/* Receipt */
.tco-receipt { background:var(--tco-navy); border-radius:var(--tco-r3); overflow:hidden; position:sticky; top:calc(var(--tco-total-h) + 1.5rem); }
.tco-receipt-top { background:rgba(255,255,255,.04); padding:.82rem 1.1rem; border-bottom:1px solid rgba(255,255,255,.06); }
.tco-receipt-lbl { font-family:var(--tco-fb); font-size:.72rem; font-weight:700; color:rgba(255,255,255,.25); }
.tco-receipt-lines { padding:.8rem 1.1rem; min-height:60px; }
.tco-receipt-empty { font-size:.74rem; color:rgba(255,255,255,.2); font-style:italic; }
.tco-receipt-ln { display:flex; justify-content:space-between; gap:.5rem; font-size:.74rem; margin-bottom:.35rem; }
.tco-receipt-lnm { color:rgba(255,255,255,.35); }
.tco-receipt-lpr { font-weight:700; color:rgba(255,255,255,.7); }
.tco-receipt-foot { border-top:1px solid rgba(255,255,255,.06); padding:.82rem 1.1rem; }
.tco-receipt-tot { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:.82rem; }
.tco-receipt-totl { font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.2); }
.tco-receipt-totv { font-family:var(--tco-fh); font-size:2.6rem; font-weight:800; color:var(--tco-amber); line-height:1; letter-spacing:-.02em; }
.tco-receipt-go { display:block; width:100%; background:var(--tco-blue); color:white; font-family:var(--tco-fb); font-size:.88rem; font-weight:700; padding:.76rem; border-radius:var(--tco-r2); border:none; cursor:pointer; transition:background .14s; }
.tco-receipt-go:hover:not(:disabled) { background:var(--tco-blue2); }
.tco-receipt-go:disabled { opacity:.2; cursor:not-allowed; }

/* ============================================================
   CHECKOUT
   ============================================================ */
.tco-co-wrap { max-width:860px; margin:0 auto; padding:5rem 2rem; display:grid; grid-template-columns:1fr 230px; gap:4rem; align-items:start; }
.tco-fg { margin-bottom:.6rem; }
.tco-fl { display:block; font-family:var(--tco-fb); font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--tco-muted); margin-bottom:.28rem; }
.tco-fi { width:100%; background:var(--tco-bg); border:1.5px solid var(--tco-border); border-radius:var(--tco-r2); padding:.64rem .9rem; color:var(--tco-navy); font-size:.9rem; transition:border-color .15s; }
.tco-fi:focus { outline:none; border-color:var(--tco-blue); box-shadow:0 0 0 3px var(--tco-bluet); }
.tco-fi::placeholder { color:var(--tco-muted); }
.tco-agree { display:flex; align-items:flex-start; gap:.5rem; font-size:.78rem; color:var(--tco-mid); margin:.88rem 0; line-height:1.6; }
.tco-agree input { margin-top:.12rem; accent-color:var(--tco-blue); }
.tco-agree a { color:var(--tco-blue); }
.tco-co-sum { background:var(--tco-navy); border-radius:var(--tco-r3); overflow:hidden; position:sticky; top:calc(var(--tco-total-h) + 1.5rem); }
.tco-co-sum-hd { background:rgba(255,255,255,.04); padding:.7rem 1rem; border-bottom:1px solid rgba(255,255,255,.06); }
.tco-co-sum-hl { font-family:var(--tco-fb); font-size:.72rem; font-weight:700; color:rgba(255,255,255,.25); }
.tco-co-sum-bd { padding:.84rem 1rem; }
.tco-co-ln { display:flex; justify-content:space-between; gap:1rem; font-size:.74rem; margin-bottom:.35rem; }
.tco-co-lnm { color:rgba(255,255,255,.35); }
.tco-co-lpr { font-weight:700; color:rgba(255,255,255,.7); }
.tco-co-div { border:none; border-top:1px solid rgba(255,255,255,.06); margin:.5rem 0; }
.tco-co-tot { display:flex; justify-content:space-between; align-items:flex-end; }
.tco-co-totl { font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.2); }
.tco-co-totv { font-family:var(--tco-fh); font-size:2.2rem; font-weight:800; color:var(--tco-amber); line-height:1; }

/* ============================================================
   PAGE CAP
   ============================================================ */
.tco-pagecap { padding:calc(var(--tco-total-h) + 4rem) 2rem 4rem; text-align:center; background:var(--tco-surf); border-bottom:1px solid var(--tco-border); }
.tco-pagecap-label { font-family:var(--tco-fb); font-size:.48rem; font-weight:700; text-transform:uppercase; letter-spacing:.28em; color:var(--tco-blue); background:var(--tco-bluet); border:1px solid var(--tco-bluet2); padding:.2rem .82rem; border-radius:100px; display:inline-block; margin-bottom:.8rem; }
.tco-pagecap h1 { color:var(--tco-navy); max-width:20ch; margin:0 auto; }
.tco-pagecap-sub { color:var(--tco-mid); max-width:54ch; margin:.6rem auto 0; font-size:.95rem; }

/* ============================================================
   LEGAL PAGES
   ============================================================ */
.tco-legal { max-width:800px; margin:0 auto; padding:5rem 2rem 8rem; }
.tco-legal h2 { font-family:var(--tco-fh); font-size:1.5rem; font-weight:700; color:var(--tco-blue); margin:2.8rem 0 .5rem; }
.tco-legal h3 { font-family:var(--tco-fb); font-size:.92rem; font-weight:700; color:var(--tco-navy); margin:1.4rem 0 .3rem; }
.tco-legal p { margin-bottom:.88rem; font-size:.9rem; }
.tco-legal ul { padding-left:1.2rem; margin:.4rem 0 .88rem; }
.tco-legal li { font-size:.9rem; list-style:disc; color:var(--tco-mid); line-height:1.72; margin-bottom:.26rem; }
.tco-legal a { color:var(--tco-blue); }
.tco-legal table { width:100%; border-collapse:collapse; font-size:.84rem; margin:.88rem 0; }
.tco-legal th { background:var(--tco-surf); color:var(--tco-navy); padding:.5rem .9rem; font-size:.56rem; text-transform:uppercase; letter-spacing:.06em; border:1px solid var(--tco-border); }
.tco-legal td { padding:.5rem .9rem; border:1px solid var(--tco-border); color:var(--tco-mid); }
.tco-legal address { background:var(--tco-surf); border-left:3px solid var(--tco-blue); padding:.88rem 1.1rem; font-size:.86rem; color:var(--tco-mid); line-height:1.86; margin:.88rem 0; border-radius:0 var(--tco-r) var(--tco-r) 0; }
.tco-legal-eff { display:inline-block; font-size:.68rem; color:var(--tco-muted); background:var(--tco-surf); border:1px solid var(--tco-border); padding:.24rem .7rem; border-radius:100px; margin-bottom:1.5rem; }
.tco-result { min-height:72vh; display:flex; align-items:center; justify-content:center; text-align:center; padding:6rem 2rem; }

/* ============================================================
   BUTTONS
   ============================================================ */
.tco-btn-blue { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--tco-fb); font-size:.9rem; font-weight:700; color:white; background:var(--tco-blue); padding:.7rem 2rem; border-radius:var(--tco-r2); transition:background .14s; border:none; cursor:pointer; white-space:nowrap; }
.tco-btn-blue:hover { background:var(--tco-blue2); }
.tco-btn-amber { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--tco-fb); font-size:.9rem; font-weight:700; color:var(--tco-navy); background:var(--tco-amber); padding:.7rem 2rem; border-radius:var(--tco-r2); transition:background .14s; border:none; cursor:pointer; white-space:nowrap; }
.tco-btn-amber:hover { background:var(--tco-amberd); }
.tco-btn-outline { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--tco-fb); font-size:.9rem; font-weight:700; color:var(--tco-navy); background:transparent; padding:.68rem 1.9rem; border-radius:var(--tco-r2); border:1.5px solid var(--tco-border2); transition:var(--tco-ease); white-space:nowrap; }
.tco-btn-outline:hover { border-color:var(--tco-blue); color:var(--tco-blue); }
.tco-btn-outline-sm { display:inline-flex; align-items:center; gap:.35rem; font-family:var(--tco-fb); font-size:.82rem; font-weight:700; color:var(--tco-mid); background:transparent; padding:.5rem 1.2rem; border-radius:var(--tco-r2); border:1.5px solid var(--tco-border); transition:var(--tco-ease); white-space:nowrap; }
.tco-btn-outline-sm:hover { border-color:var(--tco-blue); color:var(--tco-blue); }
.tco-btn-blue-sm { display:inline-flex; align-items:center; gap:.35rem; font-family:var(--tco-fb); font-size:.82rem; font-weight:700; color:white; background:var(--tco-blue); padding:.5rem 1rem; border-radius:var(--tco-r2); transition:background .14s; border:none; cursor:pointer; white-space:nowrap; }
.tco-btn-blue-sm:hover { background:var(--tco-blue2); }
.tco-btn-ghost-sm { display:inline-flex; align-items:center; gap:.35rem; font-family:var(--tco-fb); font-size:.82rem; font-weight:700; color:var(--tco-mid); background:transparent; padding:.5rem 1rem; border-radius:var(--tco-r2); border:1.5px solid var(--tco-border); transition:var(--tco-ease); white-space:nowrap; }
.tco-btn-ghost-sm:hover { border-color:var(--tco-blue); color:var(--tco-blue); }

/* ============================================================
   UTILITIES
   ============================================================ */
.tco-shell { max-width:var(--tco-max); margin:0 auto; padding:0 2rem; }
.tco-slab { padding:8rem 0; }
.tco-slab-sm { padding:5rem 0; }
.tco-eyebrow { font-family:var(--tco-fb); font-size:.48rem; font-weight:700; text-transform:uppercase; letter-spacing:.28em; color:var(--tco-blue); display:inline-block; }
.tco-rise { opacity:0; transform:translateY(12px); transition:opacity .44s ease,transform .44s ease; }
.tco-rise.tco-vis { opacity:1; transform:none; }
.tco-center { text-align:center; }

/* ============================================================
   COOKIE + CHAT
   ============================================================ */
.tco-ck-bar { position:fixed; bottom:0; left:0; right:0; background:var(--tco-navy); border-top:2px solid var(--tco-blue); z-index:9999; padding:.9rem 2rem; display:none; gap:1rem; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.tco-ck-bar p { font-size:.78rem; color:rgba(255,255,255,.4); margin:0; }
.tco-ck-bar a { color:var(--tco-amber); }
.tco-ck-btns { display:flex; gap:.4rem; flex-shrink:0; }
.tco-ck-yes { background:var(--tco-blue); color:white; font-family:var(--tco-fb); font-size:.76rem; font-weight:700; padding:.38rem .92rem; border:none; border-radius:var(--tco-r); cursor:pointer; }
.tco-ck-no  { background:transparent; color:rgba(255,255,255,.3); font-family:var(--tco-fb); font-size:.76rem; padding:.38rem .92rem; border:1px solid rgba(255,255,255,.12); border-radius:var(--tco-r); cursor:pointer; }
.tco-chat-fab { position:fixed; bottom:4.5rem; right:1.5rem; z-index:9990; width:52px; height:52px; background:var(--tco-blue); border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:var(--tco-sh3); cursor:pointer; border:none; transition:var(--tco-ease); }
.tco-chat-fab:hover { background:var(--tco-blue2); transform:scale(1.06); }
.tco-chatpop { position:fixed; bottom:7.5rem; right:1.5rem; z-index:9989; width:272px; background:white; border:1px solid var(--tco-border); border-radius:var(--tco-r3); box-shadow:var(--tco-sh2); opacity:0; pointer-events:none; transform:translateY(8px) scale(.97); transition:opacity .2s,transform .22s; overflow:hidden; }
.tco-chatpop.tco-cp-on { opacity:1; pointer-events:auto; transform:none; }
.tco-chatpop-hd { background:var(--tco-blue); padding:.9rem 1rem; display:flex; align-items:center; justify-content:space-between; }
.tco-chatpop-nm { font-family:var(--tco-fh); font-size:.88rem; font-weight:700; color:white; }
.tco-chatpop-sub { font-size:.52rem; color:rgba(255,255,255,.5); }
.tco-chatpop-x { color:rgba(255,255,255,.6); }
.tco-chatpop-bd { padding:.88rem; }
.tco-chat-done { display:none; text-align:center; padding:.7rem; font-size:.82rem; color:var(--tco-blue); font-weight:700; }
.tco-chat-inp { width:100%; background:var(--tco-surf); border:1px solid var(--tco-border); border-radius:var(--tco-r); padding:.44rem .76rem; font-size:.8rem; color:var(--tco-navy); margin-bottom:.36rem; resize:none; }
.tco-chat-send { width:100%; background:var(--tco-blue); color:white; font-family:var(--tco-fb); font-size:.78rem; font-weight:700; padding:.48rem; border-radius:var(--tco-r); border:none; cursor:pointer; }

/* ============================================================
   3-COL + DARK BAR FOOTER (different from 4-col of previous builds)
   ============================================================ */
.tco-foot { background:var(--tco-surf); border-top:1px solid var(--tco-border); }
.tco-foot-top { max-width:var(--tco-max); margin:0 auto; padding:4rem 2rem 2rem; display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:3rem; }
.tco-foot-logo { font-family:var(--tco-fh); font-size:.88rem; font-weight:800; color:var(--tco-navy); }
.tco-foot-logo span { color:var(--tco-blue); }
.tco-foot-tagline { font-size:.76rem; color:var(--tco-muted); margin-top:.2rem; max-width:28ch; line-height:1.72; margin-bottom:.9rem; }
.tco-foot-soc { display:flex; gap:.4rem; flex-wrap:wrap; }
.tco-foot-soc a { width:30px; height:30px; border:1px solid var(--tco-border); border-radius:var(--tco-r); display:flex; align-items:center; justify-content:center; color:var(--tco-muted); transition:var(--tco-ease); }
.tco-foot-soc a:hover { border-color:var(--tco-blue); color:var(--tco-blue); }
.tco-foot-col-h { font-family:var(--tco-fb); font-size:.4rem; font-weight:700; text-transform:uppercase; letter-spacing:.28em; color:var(--tco-muted); margin-bottom:.9rem; }
.tco-foot-links { display:flex; flex-direction:column; gap:.46rem; }
.tco-foot-links a { font-size:.8rem; color:var(--tco-mid); transition:color .14s; }
.tco-foot-links a:hover { color:var(--tco-blue); }
.tco-foot-ct a { display:flex; align-items:flex-start; gap:.38rem; font-size:.78rem; color:var(--tco-mid); transition:color .14s; margin-bottom:.5rem; }
.tco-foot-ct a:hover { color:var(--tco-blue); }
.tco-foot-ct svg { color:var(--tco-muted); flex-shrink:0; margin-top:.04rem; }
/* Dark bottom bar (different from previous builds) */
.tco-foot-bar { background:var(--tco-navy); }
.tco-foot-bar-inner { max-width:var(--tco-max); margin:0 auto; padding:.9rem 2rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.tco-foot-copy { font-size:.6rem; color:rgba(255,255,255,.25); }
.tco-foot-leg { display:flex; gap:1.1rem; flex-wrap:wrap; }
.tco-foot-leg a { font-size:.6rem; color:rgba(255,255,255,.25); transition:color .14s; }
.tco-foot-leg a:hover { color:var(--tco-amber); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px) {
  .tco-topbar-l { display:none; }
  .tco-nav-links,.tco-nav-cta { display:none; }
  .tco-ham { display:flex; }
  .tco-hero-grid { grid-template-columns:1fr; gap:3rem; }
  .tco-hero-r { display:none; }
  .tco-course-grid { grid-template-columns:1fr 1fr; }
  .tco-why-trio { grid-template-columns:1fr; gap:1rem; }
  .tco-proc-grid { grid-template-columns:1fr 1fr; gap:1rem; }
  .tco-proc-grid::before { display:none; }
  .tco-faq-cols { grid-template-columns:1fr; }
  .tco-slide { min-width:calc(100% - 0px); }
  .tco-build-wrap,.tco-co-wrap,.tco-svc-layout { grid-template-columns:1fr; gap:2.5rem; }
  .tco-foot-top { grid-template-columns:1fr 1fr; gap:2rem; }
  .tco-shell,.tco-build-wrap,.tco-co-wrap { padding-left:1.4rem; padding-right:1.4rem; }
  .tco-svc-layout { padding:4rem 1.4rem; }
  .tco-price-table { font-size:.76rem; }
}
@media (max-width:640px) {
  .tco-course-grid { grid-template-columns:1fr; }
  .tco-proc-grid { grid-template-columns:1fr; }
  .tco-foot-top { grid-template-columns:1fr; }
  .tco-hero-stats { gap:1rem; }
}
