:root { --blue:#1e3a8a; --blue-deep:#152c6c; --green:#10b981; --white:#fff; --soft:#e7e3e0; --ink:#10213a; --muted:#617080; --line:#d9e0e7; --shadow:0 18px 45px rgba(16,33,58,.12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font-family:"DM Sans", Arial, sans-serif; line-height:1.6; }
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
.container { width:min(1140px, calc(100% - 40px)); margin:auto; }
.skip-link { position:fixed; left:12px; top:-50px; z-index:100; padding:8px 14px; background:var(--white); color:var(--blue); border-radius:4px; }
.skip-link:focus { top:12px; }
.site-header { position:absolute; top:0; left:0; right:0; z-index:10; color:var(--white); }
.nav { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; align-items:center; gap:10px; font-weight:700; letter-spacing:.08em; font-size:.92rem; }
.brand-mark { display:grid; place-items:center; width:31px; height:31px; background:var(--green); color:var(--white); font-family:"Playfair Display", serif; font-size:1.25rem; letter-spacing:0; }
.brand-banner { padding:4px; background:#fff; }
.brand-banner img { width:175px; height:42px; object-fit:contain; }
.nav-links { display:flex; align-items:center; gap:27px; font-size:.91rem; font-weight:600; }
.nav-links > a:not(.nav-cta) { opacity:.92; }
.nav-cta { padding:10px 16px; border:1px solid rgba(255,255,255,.75); }
.menu-toggle { display:none; border:1px solid rgba(255,255,255,.7); color:var(--white); background:transparent; padding:8px 12px; font:inherit; }
.hero { min-height:700px; display:grid; align-items:end; position:relative; overflow:hidden; color:var(--white); }
.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(11,27,67,.94) 0%, rgba(16,38,91,.83) 38%, rgba(11,28,70,.25) 72%, rgba(11,28,70,.18)); }
.hero-content { position:relative; z-index:1; padding:148px 0 92px; max-width:1140px; }
.eyebrow { margin:0 0 13px; color:var(--green); font-size:.75rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.eyebrow-light { color:#b8f3dc; }
.eyebrow-teal { color:#7ce8c1; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:"Playfair Display", Georgia, serif; line-height:1.09; }
h1 { max-width:680px; font-size:clamp(2.9rem, 6vw, 5.35rem); letter-spacing:-.045em; margin-bottom:22px; }
h2 { font-size:clamp(2.05rem, 4vw, 3.25rem); letter-spacing:-.035em; margin-bottom:20px; }
h3 { line-height:1.25; }
.hero-copy { max-width:575px; margin-bottom:24px; font-size:1.17rem; }
.hero-badges { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:32px; }
.hero-badges span { padding:7px 11px; border:1px solid rgba(255,255,255,.38); background:rgba(255,255,255,.09); backdrop-filter:blur(4px); font-size:.78rem; font-weight:600; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:52px; padding:12px 21px; border:0; font:700 .9rem "DM Sans", sans-serif; cursor:pointer; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--green); color:#06291f; }
.section { padding:105px 0; }
.section-soft { background:#f8f7f6; }
.intro { padding:90px 0; border-bottom:1px solid var(--line); }
.intro-grid,.two-column,.method-grid,.certification-card,.instructor-grid,.investment-grid,.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.intro-grid h2 { margin-bottom:0; }
.lead { font-size:1.16rem; color:#435269; }
.section-heading { max-width:715px; margin-bottom:44px; }
.section-heading.centered { text-align:center; margin:0 auto 44px; }
.section-heading > p:last-child,.section-copy { color:var(--muted); max-width:640px; }
.audience-grid { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; max-width:870px; margin:auto; }
.audience-grid span,.method-tags span { border:1px solid #cbd6dc; padding:9px 14px; background:var(--white); font-size:.9rem; font-weight:600; }
.check-list { list-style:none; margin:0; padding:0; display:grid; gap:16px; }
.check-list li { display:flex; align-items:flex-start; gap:14px; font-size:1.02rem; }
.check-list li::before { content:"✓"; display:grid; flex:0 0 25px; place-items:center; width:25px; height:25px; border-radius:100%; background:#d8f7ea; color:#087953; font-weight:700; }
.section-blue { background:var(--blue); color:var(--white); }
.light-heading h2 { color:var(--white); }
.difference-grid { display:grid; grid-template-columns:repeat(5, 1fr); gap:1px; background:rgba(255,255,255,.2); border:1px solid rgba(255,255,255,.2); }
.difference-grid article { min-height:265px; padding:26px 22px; background:var(--blue); }
.difference-grid span,.modules-grid span { color:var(--green); font-size:.78rem; font-weight:700; letter-spacing:.12em; }
.difference-grid h3 { font-size:1.11rem; margin:55px 0 10px; }
.difference-grid p { margin-bottom:0; font-size:.91rem; color:#d6ddf1; }
.modules-grid { counter-reset:module; list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:15px; padding:0; margin:0; }
.modules-grid li { min-height:162px; padding:24px; border:1px solid var(--line); background:var(--white); transition:box-shadow .2s,transform .2s; }
.modules-grid li:hover { box-shadow:var(--shadow); transform:translateY(-3px); }
.modules-grid h3 { margin:25px 0 0; font-size:1.02rem; }
.learning-path { margin-top:43px; padding:19px 24px; display:flex; gap:10px; align-items:center; color:#536376; font-size:.8rem; font-weight:600; background:#f3f6f8; overflow-x:auto; white-space:nowrap; }
.learning-path i { display:block; min-width:14px; height:1px; background:#aac0bf; }
.learning-path b { margin-left:13px; padding:7px 11px; color:#077552; background:#d8f7ea; }
.image-frame { position:relative; min-height:505px; overflow:hidden; }
.image-frame::after { content:""; position:absolute; inset:0; background:linear-gradient(135deg,transparent 58%,rgba(16,185,129,.26)); }
.image-frame img { width:100%; height:100%; position:absolute; object-fit:cover; object-position:center; }
.method-copy p:not(.eyebrow) { color:var(--muted); font-size:1.03rem; }
.method-tags { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.method-tags span { background:transparent; }
.certification { padding-top:80px; padding-bottom:80px; }
.certification-card { padding:46px 56px; gap:55px; color:var(--white); background:linear-gradient(115deg,var(--blue) 0%,#20469d 100%); }
.certification-card h2 { font-size:clamp(1.8rem,3.6vw,2.75rem); }
.certification-card p:not(.eyebrow) { color:#d8e1f5; }
.logos-lockup { display:flex; align-items:center; justify-content:center; gap:20px; text-align:center; }
.logos-lockup span { display:grid; gap:3px; color:#fff; font-family:"Playfair Display",serif; font-size:1.45rem; }
.logos-lockup small { font-family:"DM Sans",sans-serif; font-size:.7rem; color:#94e8ca; letter-spacing:.08em; text-transform:uppercase; }
.logos-lockup strong { color:var(--green); font-size:1.8rem; }
.instructor { border-top:1px solid var(--line); }
.instructor-initials { display:grid; place-items:center; width:min(100%, 350px); aspect-ratio:1; color:var(--white); background:linear-gradient(145deg,#0b8877,var(--blue)); font-family:"Playfair Display",serif; font-size:clamp(4.4rem,10vw,8rem); letter-spacing:-.08em; }
.instructor-role { color:#087c59; font-weight:700; }
.instructor p:not(.eyebrow):not(.instructor-role) { color:var(--muted); }
.investment-grid > div:first-child p:not(.eyebrow) { color:#d3ddf3; font-size:1.04rem; }
.price-card { padding:34px 38px; background:var(--white); color:var(--ink); box-shadow:0 18px 48px rgba(2,14,46,.24); }
.price-card p { margin-bottom:7px; color:#536376; font-size:.87rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.price-card strong { display:block; font-size:2.25rem; color:var(--blue); letter-spacing:-.06em; }
.price-card strong small { font-size:.85rem; letter-spacing:0; color:var(--muted); }
.price-card div { height:1px; background:var(--line); margin:25px 0; }
.price-card b { font-size:1.33rem; color:#087c59; }
.contact { background:linear-gradient(180deg,#fff 0%,#f5f6f5 100%); }
.contact-grid { align-items:start; }
.contact-action { padding:38px; background:var(--white); box-shadow:var(--shadow); }
.contact-action > p:first-child { margin-bottom:24px; color:var(--muted); font-size:1.04rem; }
.form-note { margin:13px 0 0; color:#6b7a89; font-size:.77rem; }
.supporters { padding:68px 0; border-top:1px solid var(--line); text-align:center; background:#fff; }
.supporters h2 { max-width:640px; margin:0 auto 30px; font-size:clamp(1.7rem,3vw,2.5rem); }
.supporters img { width:min(930px,100%); max-height:255px; margin:auto; object-fit:contain; }
.footer { padding:30px 0; background:#10213a; color:#d7e0e9; }
.footer .container { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:.84rem; }
.footer p { margin:0; }
.footer-links { display:flex; align-items:center; gap:21px; }
.footer-links a { color:#7ce8c1; font-weight:700; }
.back-to-top { position:fixed; right:22px; bottom:22px; z-index:20; display:flex; align-items:center; gap:7px; padding:10px 13px; color:var(--white); background:var(--blue); box-shadow:0 8px 22px rgba(16,33,58,.28); font-size:.78rem; font-weight:700; opacity:0; transform:translateY(12px); pointer-events:none; transition:opacity .2s,transform .2s,background .2s; }
.back-to-top:hover { background:var(--green); color:#06291f; }
.back-to-top.visible { opacity:1; transform:translateY(0); pointer-events:auto; }
@media (max-width:950px) { .difference-grid { grid-template-columns:repeat(3,1fr); } .modules-grid { grid-template-columns:repeat(2,1fr); } .intro-grid,.two-column,.method-grid,.certification-card,.instructor-grid,.investment-grid,.contact-grid { gap:45px; } }
@media (max-width:700px) { .container { width:min(100% - 32px,1140px); } .nav { min-height:74px; } .brand-banner img { width:143px; height:35px; } .menu-toggle { display:block; } .nav-links { display:none; position:absolute; top:74px; left:16px; right:16px; padding:17px; background:var(--blue-deep); flex-direction:column; align-items:stretch; gap:13px; box-shadow:var(--shadow); } .nav-links.open { display:flex; } .nav-cta { text-align:center; } .hero { min-height:660px; } .hero-overlay { background:linear-gradient(90deg,rgba(11,27,67,.93),rgba(11,27,67,.72)); } .hero-content { padding:125px 0 65px; } .section { padding:75px 0; } .intro { padding:64px 0; } .intro-grid,.two-column,.method-grid,.certification-card,.instructor-grid,.investment-grid,.contact-grid { grid-template-columns:1fr; gap:30px; } .difference-grid { grid-template-columns:1fr; } .difference-grid article { min-height:auto; } .difference-grid h3 { margin:26px 0 10px; } .modules-grid { grid-template-columns:1fr; } .modules-grid li { min-height:130px; } .image-frame { min-height:350px; } .certification-card { padding:34px 27px; } .logos-lockup { justify-content:flex-start; } .instructor-initials { max-width:215px; } .footer .container { align-items:flex-start; flex-direction:column; } .footer-links { align-items:flex-start; flex-direction:column; gap:9px; } .back-to-top { right:15px; bottom:15px; } }
