@font-face{font-family:Poppins;src:url("poppins-latin-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url("poppins-latin-500-normal.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url("poppins-latin-600-normal.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
:root{--navy:#0b1a3f;--ink:#182743;--red:#e0374f;--deep-red:#b5253b;--muted:#526078;--line:#e1e6ee;--paper:#f4f6fa;--white:#fff;--max:1180px;--radius:23px;--header-height:78px}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);background:var(--white);font:17px/1.62 Poppins,"Segoe UI",Arial,sans-serif}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--red);outline-offset:4px}
h1,h2,h3,p{margin:0}
h1,h2,h3{color:var(--navy);line-height:1.16;letter-spacing:-.029em}
h1{font-size:clamp(2.65rem,4.55vw,3.75rem);font-weight:500}
h2{font-size:clamp(2.05rem,3.6vw,3rem);font-weight:500}
h3{font-size:clamp(1.28rem,2.05vw,1.65rem);font-weight:500}
p{max-width:66ch}
img{max-width:100%;height:auto;display:block}
svg{display:block}
.wrap{width:min(var(--max),calc(100% - 88px));margin-inline:auto}
.skip{position:absolute;top:-100px;left:16px;z-index:8;background:white;padding:10px}
.skip:focus{top:8px}
.header{position:relative;z-index:5;border-bottom:1px solid var(--line);background:white}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:var(--header-height);gap:24px}
.brand{display:inline-flex;align-items:center;flex:none}
.brand img{width:123px}
.nav{display:flex;align-items:center;gap:27px;font-size:16px;font-weight:400}
.nav a{padding:6px 0;white-space:nowrap}
.nav a:hover,.nav a[aria-current="page"],.nav a[aria-current="location"]{color:var(--deep-red)}
.nav a.nav-cta{background:var(--navy);color:white;border-radius:8px;padding:9px 17px}
.nav a.nav-cta:hover,.nav a.nav-cta[aria-current="page"]{background:var(--deep-red)}
.menu{display:none;background:white;color:var(--navy);border:1px solid var(--line);border-radius:8px;padding:6px 11px;gap:7px;align-items:center}
.menu svg{width:18px;height:18px}

.hero{background:var(--paper);border-bottom:1px solid #f1f2f6}
.hero-inner{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);align-items:center;gap:clamp(28px,6.7vw,95px);padding-block:42px 48px}
.hero-inner.has-actions{grid-template-areas:"copy image" "actions image";row-gap:0}
.has-actions .hero-copy{grid-area:copy;align-self:end}
.has-actions .hero-art{grid-area:image}
.hero-actions{grid-area:actions;align-self:start}
.home-hero .hero-copy,.home-hero .hero-art{align-self:start}
@media(min-width:681px){
  .home-hero .hero-inner.has-actions{grid-template-rows:min-content 1fr}
}
.hero h1{max-width:100%}
.course-hero h1{font-size:clamp(2.5rem,4.35vw,3.6rem);max-width:15ch}
.accent{color:var(--deep-red)}
.eyebrow{color:var(--deep-red);font-size:12px;letter-spacing:.115em;font-weight:600;text-transform:uppercase;margin-bottom:15px}
.intro{font-size:clamp(1.03rem,1.6vw,1.23rem);color:var(--muted);margin-top:22px;max-width:47ch}
.actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:27px}
.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;padding:10px 16px;min-height:44px;border:1px solid transparent;border-radius:8px;font-size:15px;font-weight:600;line-height:1.35}
.button svg,.text-link svg{width:15px;height:15px;flex:none}
.primary{background:var(--navy);color:white}
.primary:hover{background:var(--deep-red)}
.secondary{background:white;color:var(--navy);border-color:#cdd5e2}
.secondary:hover{border-color:var(--navy)}
.text-link{color:var(--deep-red);font-weight:600;display:inline-flex;gap:8px;align-items:center;min-height:32px;width:fit-content}
.text-link:hover{text-decoration:underline;text-underline-offset:4px}
.art{position:relative;overflow:hidden;background:#e9eef8;border-radius:var(--radius);min-width:0;border:1px solid #dbe2ef}
.art img{width:100%;height:100%;object-fit:cover}
.hero-art{aspect-ratio:1.5;box-shadow:0 17px 36px #15284b16}
@media(min-width:921px){
  .home-hero .hero-art{align-self:stretch;aspect-ratio:auto}
  .home-hero .hero-art img{position:absolute;inset:0}
}
.photo-about img{object-position:40% 50%}
.photo-contact img{object-position:50% 63%}
.section{padding-block:46px}
.section.tint{padding-top:8px}
.section.tint>.wrap{background:var(--paper);border-radius:var(--radius);padding:clamp(20px,3vw,36px)}
.section-head{display:grid;grid-template-columns:1.05fr .75fr;gap:25px;align-items:end;margin-bottom:22px}
.section.tint .section-head{grid-template-columns:minmax(0,1fr);gap:9px;margin-bottom:18px}
.section.tint .eyebrow{margin-bottom:8px}
.section.tint .section-head h2{font-size:clamp(1.75rem,3.15vw,2.55rem);text-wrap:balance}
.section-head p,.detail p,.panel p,.service p,.step p{color:var(--muted)}
.cards,.service-list,.contact-grid,.about-paths,.deliverables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:white;display:flex;flex-direction:column;min-width:0}
.card .art{border:0;border-radius:0;border-bottom:1px solid var(--line)}
.card .art{aspect-ratio:1.9}
.card-art img{object-position:50% 43%}
.card-body{display:flex;flex-direction:column;align-items:flex-start;gap:11px;padding:24px 27px 25px;flex:1}
.card-body p{color:var(--muted)}
.card-body .text-link{margin-top:auto}
.tag{display:inline-block;background:#eef2f8;color:#334666;font-weight:600;font-size:12px;letter-spacing:.035em;line-height:1.35;padding:5px 8px;border-radius:5px}
.tag.red{background:#fbecef;color:#aa273b}
.band{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:18px;padding:18px 21px;background:var(--paper);border:1px solid var(--line);border-inline-start:3px solid var(--deep-red);border-radius:14px}
.section.tint .band{background:var(--white)}
.band h3{font-size:clamp(1.12rem,2vw,1.44rem)}
.band p{color:var(--muted);font-size:.94rem;margin-top:5px}
.band .button{justify-self:end;text-align:center}
.panel{background:#ffffffed;border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.panel p,.detail p{margin-top:12px}
.panel .text-link{margin-top:10px}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(22px,5vw,65px);align-items:start}
.detail+.detail{margin-top:32px}
.detail ul{padding-left:22px;margin:12px 0 0;color:var(--muted)}
.facts{margin:13px 0 0}
.facts>div{padding:10px 0;border-bottom:1px solid var(--line)}
.facts dt{font-size:13px;color:var(--muted);font-weight:600}
.facts dd{margin:1px 0 0;font-weight:600;color:var(--navy)}
.note{font-size:14px}
.modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:23px 0 0}
.module{background:white;border:1px solid var(--line);border-radius:12px;padding:19px}
.module span,.service span{display:block;font-size:12px;font-weight:600;letter-spacing:.075em;color:var(--deep-red);margin-bottom:7px}
.module h3,.step h3{font-size:1.18rem;line-height:1.2;letter-spacing:-.02em}
.module p{margin-top:7px;color:var(--muted);font-size:15px}
.service{display:flex;flex-direction:column;align-items:flex-start;border:1px solid #e0e7f3;border-radius:var(--radius);padding:25px 27px;background:var(--white)}
.service .text-link{margin-top:auto;padding-top:10px}
.service p{padding-bottom:9px}
.service-card-top{display:flex;align-items:center;gap:12px;margin-bottom:15px}
.service-card-top span{margin:0}
.service-icon{display:grid;place-items:center;width:47px;aspect-ratio:1;color:var(--navy);background:#ffffffc9;border:1px solid #dde5f4;border-radius:12px}
.service-icon svg{width:23px;height:23px}
.service-hero h1{font-size:clamp(2.25rem,4.05vw,3.55rem);max-width:17ch}
.service p{margin-top:8px}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:0}
.step{display:grid;align-content:start;justify-items:start;gap:12px;padding:16px;background:var(--white);border:1px solid var(--line);border-radius:14px}
.step-number{display:grid;place-items:center;inline-size:34px;block-size:34px;border-radius:10px;background:#fbecef;color:var(--deep-red);font-size:.82rem;font-weight:600;letter-spacing:.04em}
.step p{margin-top:6px;font-size:.91rem}
@media(max-width:920px){
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .steps{grid-template-columns:1fr;gap:8px}
  .step{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:13px}
}
.form-wrap{max-width:780px;margin:29px auto 0;scroll-margin-top:22px}
.form-wrap h2{font-size:2rem}
.form-wrap form{margin-top:19px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 15px}
.field{display:flex;flex-direction:column;gap:5px;color:var(--navy);font-size:15px;font-weight:600}
.full{grid-column:1/-1}
.field input,.field select,.field textarea{border:1px solid #c8d1df;border-radius:8px;min-height:44px;padding:8px 10px;background:white;color:var(--ink);font-weight:400;width:100%}
.field textarea{resize:vertical;min-height:100px}
.form-action{margin-top:15px}
.form-status{margin-top:12px;color:var(--navy);font-weight:600}
.footer{border-top:1px solid var(--line);background:#f8f9fc}
.footer-main{display:grid;grid-template-columns:1.55fr 1fr 1fr;gap:24px;padding-block:38px 27px}
.footer-brand img{width:108px}
.footer-brand p{color:var(--muted);font-size:15px;margin-top:12px;max-width:34ch}
.footer nav{display:grid;gap:6px;align-content:start;font-size:15px}
.footer nav strong{color:var(--navy);margin-bottom:2px}
.footer nav a:hover{color:var(--deep-red)}
.footer-end{border-top:1px solid var(--line);padding-block:13px;color:var(--muted);font-size:13px;display:flex;justify-content:space-between;gap:15px}
@media(max-width:920px){.wrap{width:min(var(--max),calc(100% - 56px))}.hero-inner{gap:30px}.nav{gap:20px}.modules{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){:root{--header-height:63px}body{font-size:16px}.wrap{width:calc(100% - 36px)}.brand img{width:99px}.menu{display:inline-flex;font-size:15px}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:10px 18px 16px;border-bottom:1px solid var(--line);gap:3px;box-shadow:0 12px 18px #17284e11;font-size:17px}.nav.is-open{display:grid}.nav a{padding:8px 5px}.nav a.nav-cta{justify-self:start}.hero-inner{grid-template-columns:1fr;padding-block:26px 30px;gap:20px}.hero h1{max-width:15ch}.course-hero h1{max-width:14ch}.intro{margin-top:15px}.actions{margin-top:19px}.hero-art{max-width:480px}.section{padding-block:30px}.section-head{grid-template-columns:1fr;gap:9px;margin-bottom:20px}.cards,.service-list,.contact-grid,.about-paths,.detail-grid,.deliverables{grid-template-columns:1fr}.band{grid-template-columns:1fr;gap:12px;padding:15px}.band .button{justify-self:stretch}.panel,.service,.card-body{padding:20px}.footer-main{grid-template-columns:1fr 1fr;gap:19px}.footer-brand{grid-column:1/-1}}
@media(max-width:420px){.modules,.form-grid{grid-template-columns:1fr}.module{padding:15px}.footer-end{flex-wrap:wrap;gap:2px}}
@media(prefers-reduced-motion:no-preference){a,button{transition:color .15s,background-color .15s,border-color .15s}}

@media(max-width:680px){
  .nav.is-open{max-height:calc(100dvh - 63px);overflow:auto}
  .hero h1{max-width:none}
}

.tools-panel{margin-top:28px;padding:22px 25px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.tools-panel h3{font-size:1.28rem}
.tool-list,.social-icons{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:13px 0 0;padding:0}
.tool-list li,.social-icons li{display:flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-size:14px}
.tool-list img,.social-icons img{flex:none;object-fit:contain;height:22px}
.tool-list.compact{gap:6px;margin:1px 0 4px}
.tool-list.compact li{padding:5px;border-radius:7px}
.tool-list.compact img{height:17px}
.social-icons li{padding:8px}
.social-icons img{width:19px;height:19px}
@media(max-width:680px){.tools-panel{padding:18px}}

.contact-grid h2{font-size:clamp(1.28rem,2.05vw,1.65rem)}

@media(max-width:680px){
  .hero-inner.has-actions{grid-template-areas:"copy" "image" "actions";row-gap:20px}
  .hero-actions{margin-top:0}
  .hero h1{font-size:clamp(1.9rem,7.6vw,2.5rem);text-wrap:balance}
  .home-hero .hero-inner{padding-block:22px 26px;gap:clamp(16px,2.5svh,22px)}
  .home-hero .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .home-hero .button{padding-inline:6px;gap:5px}
  .home-hero .hero-art{width:100%;max-width:100%;height:clamp(142px,29svh,300px);aspect-ratio:auto}
}
@media(max-width:380px){
  .home-hero .button{padding-inline:3px}
  .home-hero .button svg{display:none}
}
@media(max-width:360px) and (max-height:620px){
  .home-hero .hero-inner{padding-block:20px 22px;gap:14px}
  .home-hero .hero-art{height:clamp(125px,24svh,150px)}
}

.faq-section{padding-block:18px 42px}
.faq-layout{max-width:860px}
.faq-layout h2{margin-bottom:16px;font-size:clamp(1.6rem,2.8vw,2.25rem)}
.faq-list{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--white)}
.faq-list details+details{border-top:1px solid var(--line)}
.faq-list summary{
  list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 16px 12px 20px;min-height:58px;color:var(--navy);cursor:pointer;
  font-size:clamp(.98rem,1.45vw,1.13rem);font-weight:500;line-height:1.45;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:focus-visible{outline-offset:-4px;border-radius:8px}
.faq-list summary:hover,.faq-list details[open] summary{color:var(--deep-red)}
.faq-list details[open]{background:var(--paper)}
.faq-list summary svg{width:32px;height:32px;flex:none;padding:7px;background:var(--paper);border-radius:50%}
.faq-list details[open] summary svg{background:var(--white)}
.faq-list details[open] .faq-plus{display:none}
.faq-list details p{max-width:76ch;margin:0;padding:0 62px 17px 20px;color:var(--muted);font-size:.95rem}
@media(max-width:680px){
  .faq-section{padding-block:14px 32px}
  .faq-layout h2{margin-bottom:12px}
  .faq-list summary{gap:10px;padding:10px 12px 10px 14px}
  .faq-list details p{padding:0 14px 14px}
}
