/*
Theme Name: Drogowskaz
Theme URI: https://drogowskaz.net/
Author: OSK Drogowskaz
Description: Lekki, edytowalny motyw WordPress przygotowany dla OSK Drogowskaz w Mikołowie.
Version: 1.6.2
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: drogowskaz
*/

/* WordPress reset and accessibility helpers. */
.admin-bar .site-header { top:32px; }
.desktop-nav ul { list-style:none; display:flex; align-items:center; gap:clamp(15px,1.7vw,30px); margin:0; padding:0; }
.desktop-nav li { margin:0; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { width:auto; height:auto; clip:auto; margin:8px; padding:12px 16px; z-index:100000; background:#fff; color:#111311; }
.wp-site-blocks { padding:0; }
.entry-content img { height:auto; }
.site-content-page { min-height:70svh; background:var(--paper); color:var(--ink); }
.page-hero { padding:clamp(70px,9vw,130px) clamp(20px,6.3vw,92px); background:var(--ink); color:var(--paper); }
.page-hero h1 { max-width:1050px; margin:0; text-transform:uppercase; font-size:clamp(48px,7vw,104px); line-height:.88; letter-spacing:-.07em; }
.page-hero p { max-width:760px; margin:28px 0 0; color:#b7bbb1; font-size:17px; line-height:1.7; }
.entry-shell { max-width:1180px; margin:0 auto; padding:clamp(60px,8vw,110px) clamp(20px,6.3vw,92px); }
.entry-content { font-family:Arial,sans-serif; font-size:16px; line-height:1.8; }
.entry-content h2,.entry-content h3 { font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif; text-transform:uppercase; line-height:1; letter-spacing:-.04em; }
.entry-content h2 { margin:2.2em 0 .6em; font-size:clamp(30px,4vw,54px); }
.entry-content h3 { margin:2em 0 .6em; font-size:clamp(24px,3vw,38px); }
.entry-content a { color:#526500; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.entry-content blockquote { margin:35px 0; padding:25px 30px; background:var(--lime); font-size:1.2em; }
.guide-list { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.14); }
.guide-list a { min-height:220px; display:flex; flex-direction:column; padding:25px; background:#181b18; }
.guide-list small { color:#7f847b; font:650 9px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.1em; }
.guide-list strong { margin:auto 0 16px; text-transform:uppercase; font-size:24px; line-height:1; }
.guide-list span { color:var(--lime); font:650 9px/1 ui-monospace,SFMono-Regular,monospace; text-transform:uppercase; }
.error-page { min-height:calc(100svh - 78px); display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); background:var(--ink); color:var(--paper); }
.error-page-copy { padding:clamp(70px,9vw,135px) clamp(20px,6.3vw,92px); }
.error-page-code { display:block; margin-bottom:30px; color:var(--lime); font:750 11px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.12em; }
.error-page h1 { max-width:820px; margin:0; text-transform:uppercase; font-size:clamp(58px,8vw,128px); line-height:.84; letter-spacing:-.075em; }
.error-page h1 em { display:block; color:var(--lime); font-style:normal; }
.error-page-copy>p { max-width:650px; margin:34px 0; color:#b7bbb1; font-size:clamp(16px,1.4vw,20px); line-height:1.65; }
.error-page-actions { display:flex; flex-wrap:wrap; gap:10px; }
.error-page .button-outline { color:var(--paper); border-color:rgba(255,255,255,.45); }
.error-page .button-outline:hover { color:var(--ink); border-color:#fff; }
.error-page-links { display:flex; flex-direction:column; justify-content:center; padding:clamp(55px,7vw,100px) clamp(20px,5vw,70px); background:#181b18; border-left:1px solid rgba(255,255,255,.12); }
.error-page-links>small { margin-bottom:25px; color:#7f847b; font:700 10px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.1em; }
.error-page-links a { display:flex; justify-content:space-between; gap:20px; padding:24px 0; border-top:1px solid rgba(255,255,255,.14); text-transform:uppercase; font-weight:750; }
.error-page-links a:last-child { border-bottom:1px solid rgba(255,255,255,.14); }
.error-page-links a span { color:var(--lime); }
.contact-form .form-status { grid-column:2 / -1; min-height:18px; margin:0; font-size:11px; }
.contact-form .form-status a { font-weight:800; text-decoration:underline; }
.contact-number.contact-number>div { flex-wrap:wrap; row-gap:12px; }
.contact-channel-actions { display:grid; gap:8px; }
.contact-channel-actions .button { width:100%; }
.messenger-button.messenger-button { background:#1877f2; border-color:#1877f2; color:#fff; }
.messenger-button.messenger-button:hover { background:#0f5fc6; border-color:#0f5fc6; }
.guide-contact-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.guide-contact-actions .button { min-width:190px; }
section[id][id] { scroll-margin-top:78px; }
.guide-step.guide-step { scroll-margin-top:78px; }
.notice-bar.notice-bar { min-height:46px; height:auto; padding-block:10px; line-height:1.5; overflow:visible; }
@media(max-width:782px){ .admin-bar .site-header{top:46px} }
@media(min-width:721px){
  /* Cały pierwszy ekran mieści się w oknie, również po zalogowaniu do WordPressa. */
  .hero.hero { height:calc(100svh - 78px); min-height:0; }
  .notice-bar.notice-bar + .hero.hero { height:calc(100svh - 124px); }
  .admin-bar .hero.hero { height:calc(100svh - 110px); }
  .admin-bar .notice-bar.notice-bar + .hero.hero { height:calc(100svh - 156px); }
  .hero-copy.hero-copy {
    height:100%;
    min-height:0;
    padding-top:clamp(28px,5vh,48px);
    padding-bottom:clamp(22px,4vh,38px)
  }
  .hero-copy.hero-copy .eyebrow { margin-bottom:clamp(14px,2.6vh,24px); }
  .hero.hero h1 { font-size:clamp(64px,min(7.4vw,13vh),124px); line-height:.82; }
  .hero-copy.hero-copy>p {
    margin:clamp(16px,3vh,28px) 0 clamp(14px,2.5vh,24px);
    font-size:clamp(15px,min(1.35vw,2.4vh),20px)
  }
  .hero-actions.hero-actions .button { min-height:clamp(46px,7vh,54px); }
  .trust-row.trust-row { margin-top:clamp(20px,4vh,38px); }
  .trust-row.trust-row>div { padding-top:clamp(12px,2.2vh,20px); }
  .hero-guide.hero-guide {
    padding-top:clamp(28px,5vh,52px);
    padding-bottom:clamp(28px,5vh,48px);
    transform:none
  }
  .hero-guide.hero-guide h2 { font-size:clamp(34px,min(4vw,8vh),60px); }
  .hero-guide-excerpt.hero-guide-excerpt { min-height:0; margin:clamp(16px,3vh,26px) 0; }
  .hero-guide-dots.hero-guide-dots { bottom:clamp(20px,3.5vh,38px); }
}
@media(max-width:720px){
	.error-page{min-height:auto;grid-template-columns:1fr}
	.error-page-copy{padding:70px 20px 58px}
	.error-page h1{font-size:clamp(55px,17vw,74px)}
	.error-page-actions{align-items:stretch;flex-direction:column}
	.error-page-actions .button{width:100%}
	.error-page-links{padding:48px 20px 95px;border-left:0;border-top:1px solid rgba(255,255,255,.12)}
  section[id][id]{scroll-margin-top:58px}
  .guide-step.guide-step{scroll-margin-top:64px}
  .guide-list{grid-template-columns:1fr}
  .contact-form .form-status{grid-column:auto}
  .mobile-bar.mobile-bar{grid-template-columns:repeat(4,minmax(0,1fr))}
  .mobile-bar.mobile-bar a{min-width:0;padding:0 3px;font-size:8px;text-align:center}
  .guide-contact-actions{width:100%;justify-content:stretch}
  .guide-contact-actions .button{width:100%}

  /* Płynne proporcje mobilne — bez sztywnych, rozciągniętych sekcji. */
  .site-header.site-header{height:58px;padding:0 clamp(14px,4.5vw,18px);gap:12px}
  .site-header.site-header>.brand{font-size:clamp(12px,3.6vw,14px);letter-spacing:.075em}
  .mobile-menu.mobile-menu summary{padding:8px 0}
  .mobile-menu.mobile-menu nav{top:39px;max-height:calc(100svh - 58px);overflow-y:auto}

  .hero-copy.hero-copy{
    min-height:min(620px,calc(100svh - 102px));
    padding:clamp(46px,12vw,62px) clamp(16px,5vw,22px) clamp(34px,9vw,46px);
    justify-content:center
  }
  .admin-bar .hero-copy.hero-copy{min-height:min(620px,calc(100svh - 148px))}
  .hero.hero h1{max-width:10ch;font-size:clamp(52px,15.5vw,66px);line-height:.86;letter-spacing:-.06em}
  .hero-copy.hero-copy>p{max-width:34rem;margin:clamp(20px,6vw,27px) 0;font-size:clamp(15px,4vw,17px);line-height:1.55}
  .trust-row.trust-row{margin-top:clamp(30px,9vw,42px)}
  .trust-row.trust-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .trust-row.trust-row>div{
    display:block;
    min-width:0;
    margin:0;
    padding:14px 8px 0;
    border-right:1px solid rgba(255,255,255,.14)
  }
  .trust-row.trust-row>div:first-child{padding-left:0}
  .trust-row.trust-row>div:last-child{display:block;border-right:0}
  .trust-row.trust-row strong{display:block;margin-bottom:7px;font-size:clamp(18px,5vw,22px)}
  .trust-row.trust-row span{display:block;font-size:clamp(7px,1.9vw,8px);line-height:1.45}

  .section.section{padding:clamp(58px,16vw,76px) clamp(16px,5vw,22px)}
  .section-head.section-head h2,
  .faq-title.faq-title h2,
  .theory-copy.theory-copy h2,
  .car-copy.car-copy h2,
  .review-intro.review-intro h2,
  .contact-copy.contact-copy h2,
  .instructors-intro.instructors-intro h2{
    font-size:clamp(39px,12.5vw,52px);
    line-height:.92
  }
  .theory-copy.theory-copy,
  .car-copy.car-copy,
  .instructors-intro.instructors-intro,
  .reviews-section.reviews-section,
  .contact-section.contact-section{
    padding:clamp(58px,16vw,76px) clamp(16px,5vw,22px)
  }
  .benefit-card.benefit-card{min-height:0;padding:clamp(24px,7vw,31px) clamp(16px,5vw,22px) 62px}
  .benefit-card.benefit-card h3{margin-top:clamp(32px,10vw,52px)}
  .car-checks.car-checks a{min-height:clamp(220px,60vw,260px);padding:clamp(24px,7vw,30px)}
  .car-checks.car-checks span{margin-bottom:clamp(28px,9vw,42px)}
  .review-card.review-card{min-height:clamp(260px,72vw,310px);padding:clamp(25px,7vw,32px)}
  .review-live.review-live iframe{height:clamp(280px,80vw,360px);min-height:0}
  .contact-section.contact-section{gap:clamp(36px,12vw,52px)}
  .footer-grid.footer-grid{grid-template-columns:1fr;gap:34px;padding-bottom:70px}

  .page-hero.page-hero{padding:clamp(54px,15vw,72px) clamp(16px,5vw,22px)}
  .page-hero.page-hero h1{font-size:clamp(40px,12.5vw,58px);line-height:.92}
  .entry-shell.entry-shell{padding:clamp(52px,15vw,72px) clamp(16px,5vw,22px)}
  .guide-hero.guide-hero{padding:clamp(52px,15vw,68px) clamp(16px,5vw,22px)}
  .guide-hero-copy.guide-hero-copy h1{font-size:clamp(40px,12.5vw,56px);line-height:.92}
  .guide-layout.guide-layout{padding:clamp(52px,15vw,68px) clamp(16px,5vw,22px) clamp(72px,20vw,90px)}
}

/* Audyt treści, dostępności i prywatności — wersja 1.2.9. */
.section-head.section-head h2 em,
.faq-title.faq-title h2 em { color:#596b12; }
.hero-guide-dots.hero-guide-dots { gap:0; }
.hero-guide-dots.hero-guide-dots button {
  position:relative;
  width:44px;
  height:44px;
  border:0;
  background:transparent;
}
.hero-guide-dots.hero-guide-dots button::before {
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:9px;
  height:9px;
  border:1px solid rgba(240,240,233,.65);
  border-radius:50%;
  transform:translate(-50%,-50%);
}
.hero-guide-dots.hero-guide-dots button.active::before {
  width:30px;
  border-color:var(--lime);
  border-radius:8px;
  background:var(--lime);
}
.price-card .price-date {
  display:block;
  margin:-8px 0 24px;
  color:#596b12;
  font:750 9px/1.4 ui-monospace,SFMono-Regular,monospace;
  letter-spacing:.1em;
}
.official-fees {
  display:grid;
  grid-template-columns:1.1fr 1fr auto;
  align-items:center;
  gap:30px;
  margin-top:18px;
  padding:26px 28px;
  border:1px solid var(--line);
  background:#e4e5dc;
}
.official-fees small,
.extra-prices strong small { display:block; margin-bottom:8px; color:#596b12; font:750 9px/1.4 ui-monospace,SFMono-Regular,monospace; letter-spacing:.08em; }
.official-fees strong { font-size:22px; }
.official-fees li { display:flex; justify-content:space-between; gap:20px; padding:5px 0; color:#555950; font-size:12px; }
.official-fees a { border-bottom:1px solid var(--ink); padding:11px 0; text-transform:uppercase; font:750 9px/1.3 ui-monospace,SFMono-Regular,monospace; }
.map-consent-wrap { min-width:0; }
.map-consent-wrap iframe { width:100%; min-height:410px; border:0; }
.map-consent-placeholder.map-consent-placeholder {
  min-height:410px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:16px;
  padding:32px;
  border:1px solid rgba(255,255,255,.18);
  background:#171a17;
  color:var(--paper);
}
.map-consent-placeholder.map-consent-placeholder p { max-width:480px; color:#aeb2a9; font-size:13px; line-height:1.65; }
.map-consent-placeholder.map-consent-placeholder .button { width:auto; }

@media(max-width:720px){
  .official-fees{grid-template-columns:1fr;align-items:start;padding:22px 20px}
  .official-fees a{justify-self:start}
  .map-consent-placeholder.map-consent-placeholder{min-height:360px;padding:24px 20px}
  .map-consent-placeholder.map-consent-placeholder .button{width:100%}
}

/* Instruktorzy i opinie w jednym, czytelnym bloku. */
.people-proof-section.people-proof-section {
  padding:clamp(82px,9vw,140px) clamp(20px,6.3vw,92px);
  background:var(--paper);
  color:var(--ink);
}
.people-proof-head {
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:clamp(45px,8vw,130px);
  align-items:end;
}
.people-proof-head .eyebrow { margin-bottom:34px; }
.people-proof-head h2 {
  max-width:760px;
  margin:0;
  text-transform:uppercase;
  font-size:clamp(58px,7vw,108px);
  line-height:.86;
  letter-spacing:-.075em;
}
.people-proof-head h2 em,
.student-voices-head h3 em { color:#596b12; }
.people-proof-summary { padding-top:26px; border-top:1px solid var(--line); }
.people-proof-summary>p { margin:0 0 26px; color:#5d6159; font-size:14px; line-height:1.75; }
.people-proof-summary ul { margin:0; padding:0; list-style:none; }
.people-proof-summary li { padding:12px 0; border-top:1px solid var(--line); text-transform:uppercase; font:750 9px/1.4 ui-monospace,SFMono-Regular,monospace; letter-spacing:.06em; }
.first-drive-flow {
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:clamp(38px,7vw,105px);
  margin-top:clamp(55px,7vw,92px);
  padding:clamp(32px,5vw,62px);
  background:#dfe0d7;
}
.first-drive-intro small,
.google-opinions-copy>small,
.google-opinions-action>span { color:#6d7169; font:700 9px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.13em; }
.first-drive-intro h3 { margin:24px 0 20px; text-transform:uppercase; font-size:clamp(30px,3.8vw,56px); line-height:.92; letter-spacing:-.06em; }
.first-drive-intro p { max-width:520px; margin:0; color:#5d6159; font-size:13px; line-height:1.75; }
.first-drive-flow ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.first-drive-flow li { display:grid; grid-template-columns:46px 1fr; gap:18px; padding:23px 0; border-bottom:1px solid var(--line); }
.first-drive-flow li>span { padding-top:3px; color:#7f837a; font:700 10px/1 ui-monospace,SFMono-Regular,monospace; }
.first-drive-flow li strong { display:block; margin-bottom:8px; text-transform:uppercase; font-size:15px; }
.first-drive-flow li p { margin:0; color:#5d6159; font-size:12px; line-height:1.65; }
.instructor-directory {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  margin-top:clamp(55px,7vw,92px);
  padding:1px;
  background:var(--line);
}
.instructor-card {
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  grid-template-rows:auto 1fr;
  min-height:350px;
  padding:clamp(28px,4vw,48px);
  background:var(--ink);
  color:var(--paper);
}
.instructor-card:nth-child(2) { background:var(--lime); color:var(--ink); }
.instructor-index { grid-row:1 / 3; color:#777d74; font:700 11px/1 ui-monospace,SFMono-Regular,monospace; }
.instructor-card:nth-child(2) .instructor-index { color:#64701d; }
.instructor-card small { color:#898e85; font:700 9px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.13em; }
.instructor-card:nth-child(2) small { color:#606b18; }
.instructor-card h3 { margin:28px 0 15px; text-transform:uppercase; font-size:clamp(42px,5vw,76px); line-height:.85; letter-spacing:-.065em; }
.instructor-card p { max-width:460px; margin:0; color:#aeb2a9; font-size:13px; line-height:1.7; }
.instructor-card:nth-child(2) p { color:#444a25; }
.instructor-contact { grid-column:2; align-self:end; padding-top:34px; border-top:1px solid rgba(255,255,255,.2); }
.instructor-card:nth-child(2) .instructor-contact { border-color:rgba(17,19,17,.25); }
.instructor-contact>strong { display:block; margin-bottom:18px; font-size:clamp(25px,3vw,42px); letter-spacing:-.04em; }
.instructor-contact>div { display:flex; flex-wrap:wrap; gap:14px 23px; }
.instructor-contact a,
.instructor-contact button {
  padding:0 0 6px;
  border:0;
  border-bottom:1px solid rgba(214,255,63,.6);
  background:transparent;
  color:var(--lime);
  cursor:pointer;
  text-transform:uppercase;
  font:750 9px/1 ui-monospace,SFMono-Regular,monospace;
}
.instructor-card:nth-child(2) .instructor-contact a,
.instructor-card:nth-child(2) .instructor-contact button { border-color:rgba(17,19,17,.45); color:var(--ink); }
.instructor-contact a:hover,
.instructor-contact button:hover { border-color:transparent; }
.student-voices {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:clamp(50px,9vw,145px);
  align-items:center;
  margin:0;
  padding:clamp(82px,9vw,140px) clamp(20px,6.3vw,92px);
  background:var(--ink);
  color:var(--paper);
  scroll-margin-top:78px;
}
.student-voices-head { display:grid; grid-template-columns:1.2fr .8fr; gap:7vw; align-items:end; margin-bottom:50px; }
.student-voices-head small { color:#6d7169; font:700 9px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.13em; }
.student-voices-head h3 { margin:25px 0 0; text-transform:uppercase; font-size:clamp(38px,5.3vw,78px); line-height:.88; letter-spacing:-.065em; }
.student-voices-head>p { max-width:520px; margin:0; color:#61655d; font-size:13px; line-height:1.75; }
.google-proof {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
  margin-top:20px;
  padding:28px 30px;
  background:#dfe0d7;
}
.google-proof small { display:block; margin-bottom:10px; color:#6b7067; font:700 9px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.12em; }
.google-proof strong { font-size:17px; line-height:1.35; }
.google-proof .button { flex:0 0 auto; }
.student-voices .google-opinions-copy>small { color:#92978e; }
.google-opinions-copy h3 { margin:25px 0 28px; text-transform:uppercase; font-size:clamp(45px,6.1vw,94px); line-height:.86; letter-spacing:-.07em; }
.google-opinions-copy h3 em { color:var(--lime); }
.google-opinions-copy p { max-width:690px; margin:0; color:#b3b7ae; font-size:15px; line-height:1.75; }
.review-source-panel { padding-left:clamp(30px,5vw,72px); border-left:1px solid rgba(255,255,255,.22); }
.review-source-heading { padding-bottom:25px; border-bottom:1px solid rgba(255,255,255,.22); }
.review-source-heading small { color:var(--lime); font:750 9px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.13em; }
.review-source-heading p { max-width:480px; margin:16px 0 0; color:#9da198; font-size:13px; line-height:1.65; }
.review-source-options a { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:18px; align-items:center; min-height:145px; padding:24px 4px; border-bottom:1px solid rgba(255,255,255,.22); transition:background .2s,padding .2s; }
.review-source-options a:hover,
.review-source-options a:focus-visible { padding-right:16px; padding-left:16px; background:#1b1e1b; outline:none; }
.review-source-options a>span { color:#73786f; font:750 10px/1 ui-monospace,SFMono-Regular,monospace; }
.review-source-options small { display:block; margin-bottom:8px; color:#858a81; font:700 8px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.11em; }
.review-source-options strong { display:block; text-transform:uppercase; font-size:clamp(27px,3vw,42px); line-height:.95; letter-spacing:-.05em; }
.review-source-options p { margin:10px 0 0; color:#9da198; font-size:12px; line-height:1.55; }
.review-source-options b { color:var(--lime); font-size:24px; font-weight:400; transition:transform .2s; }
.review-source-options a:hover b,
.review-source-options a:focus-visible b { transform:translate(5px,-5px); }
.opinion-enroll-link { display:inline-block; margin-top:30px; padding-bottom:6px; border-bottom:1px solid rgba(255,255,255,.45); color:#c7cbc2; font-size:13px; font-weight:750; }
.opinion-enroll-link:hover,
.opinion-enroll-link:focus-visible { color:var(--lime); border-color:var(--lime); }

@media(max-width:720px){
  .people-proof-section.people-proof-section{padding:clamp(62px,16vw,80px) clamp(16px,5vw,22px)}
  .people-proof-head{grid-template-columns:1fr;gap:38px}
  .people-proof-head h2{font-size:clamp(48px,14.5vw,64px)}
	.first-drive-flow{grid-template-columns:1fr;gap:38px;margin-top:52px;padding:32px 20px}
	.first-drive-intro h3{font-size:clamp(34px,10.5vw,48px)}
  .instructor-directory{grid-template-columns:1fr;margin-top:52px}
  .instructor-card{grid-template-columns:38px minmax(0,1fr);min-height:300px;padding:28px 20px}
  .instructor-card h3{font-size:clamp(42px,13vw,58px)}
	.student-voices{grid-template-columns:1fr;gap:48px;margin:0;padding:72px 20px;scroll-margin-top:58px}
  .student-voices-head{grid-template-columns:1fr;gap:28px;margin-bottom:38px}
  .student-voices-head h3{font-size:clamp(38px,12vw,54px)}
	.google-opinions-copy h3{font-size:clamp(38px,12vw,54px)}
	.review-source-panel{padding:32px 0 0;border-top:1px solid rgba(255,255,255,.22);border-left:0}
	.review-source-options a{grid-template-columns:34px minmax(0,1fr) auto;gap:12px;min-height:132px;padding:22px 0}
  .google-proof{align-items:flex-start;flex-direction:column;padding:24px 20px}
  .google-proof .button{width:100%}
}

:root { --ink:#111311; --paper:#f0f0e9; --lime:#d6ff3f; --muted:#a8aca2; --line:rgba(17,19,17,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
button,summary { font:inherit; }
em { color:var(--lime); font-style:normal; }
img { display:block; max-width:100%; }

.site-header { height:78px; padding:0 clamp(20px,4vw,72px); display:flex; align-items:center; gap:28px; position:sticky; top:0; z-index:50; background:rgba(17,19,17,.94); border-bottom:1px solid rgba(255,255,255,.12); backdrop-filter:blur(18px); }
.brand { white-space:nowrap; font-size:15px; font-weight:850; line-height:1; letter-spacing:.095em; }
.desktop-nav { margin-left:auto; display:flex; align-items:center; gap:clamp(15px,1.7vw,30px); color:#d3d4ce; font-size:12px; font-weight:650; }
.desktop-nav a { transition:.2s; }
.desktop-nav a:hover { color:var(--lime); }
.desktop-nav .nav-external { color:var(--lime); }
.button { display:inline-flex; min-height:54px; align-items:center; justify-content:space-between; gap:42px; padding:0 20px; background:var(--lime); color:var(--ink); text-transform:uppercase; font:700 12px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.05em; border:1px solid var(--lime); transition:.25s; }
.button:hover { background:#fff; border-color:#fff; transform:translateY(-2px); }
.button-small { min-height:42px; gap:20px; padding:0 16px; }
.mobile-menu { display:none; }
.notice-bar { min-height:46px; display:flex; align-items:center; justify-content:center; gap:20px; padding:10px 20px; background:var(--lime); color:var(--ink); text-align:center; font:600 10px/1.4 ui-monospace,SFMono-Regular,monospace; letter-spacing:.06em; }
.notice-bar strong { font-weight:850; }

.hero { min-height:calc(100svh - 124px); position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(180deg,#292c29 0%,#1b1e1b 52%,#111311 100%); }
.hero:after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(17,19,17,.94) 0%,rgba(17,19,17,.76) 48%,rgba(17,19,17,.16) 77%,transparent 100%); pointer-events:none; }
.hero-lines { position:absolute; z-index:-2; inset:clamp(34px,5.5vh,52px) 0; overflow:hidden; pointer-events:none; }
.hero-lines i { position:absolute; inset:0; display:block; background:rgba(240,240,233,.14); }
.hero-lines i:nth-child(1) { clip-path:polygon(11.0% 0,11.2% 0,-6.5% 100%,-6.7% 100%); }
.hero-lines i:nth-child(2) { clip-path:polygon(19.6% 0,19.8% 0,1.5% 100%,1.3% 100%); }
.hero-lines i:nth-child(3) { clip-path:polygon(28.2% 0,28.4% 0,9.6% 100%,9.4% 100%); }
.hero-lines i:nth-child(4) { clip-path:polygon(36.8% 0,37.0% 0,17.8% 100%,17.6% 100%); }
.hero-lines i:nth-child(5) { clip-path:polygon(45.4% 0,45.6% 0,27.1% 100%,26.9% 100%); }
.hero-lines i:nth-child(6) { clip-path:polygon(54.0% 0,54.2% 0,40.7% 100%,40.5% 100%); }
.hero-lines i:nth-child(7) { clip-path:polygon(62.6% 0,62.8% 0,56.4% 100%,56.2% 100%); }
.hero-lines i:nth-child(8) { clip-path:polygon(71.2% 0,71.4% 0,72.6% 100%,72.4% 100%); }
.hero-lines i:nth-child(9) { clip-path:polygon(79.8% 0,80.0% 0,89.0% 100%,88.8% 100%); }
.hero-lines i:nth-child(10) { clip-path:polygon(88.4% 0,88.6% 0,105.2% 100%,105.0% 100%); }
.hero-lines i:nth-child(11) { clip-path:polygon(97.0% 0,97.2% 0,112.4% 100%,112.2% 100%); }
.hero-copy { width:min(66%,860px); min-height:calc(100svh - 124px); padding:clamp(68px,8vw,128px) 4vw 54px clamp(20px,6.3vw,92px); display:flex; flex-direction:column; justify-content:center; }
.eyebrow { display:flex; align-items:center; gap:11px; margin:0 0 30px; color:#bfc2b8; text-transform:uppercase; font:600 10px/1.3 ui-monospace,SFMono-Regular,monospace; letter-spacing:.16em; }
.eyebrow>span { width:28px; height:1px; background:var(--lime); }
.hero h1 { margin:0; max-width:770px; text-transform:uppercase; font-size:clamp(66px,7.8vw,132px); line-height:.82; letter-spacing:-.075em; font-weight:850; }
.hero h1 em { display:inline-block; transform:translateX(-.03em); }
.hero-copy>p { max-width:570px; margin:36px 0 32px; color:#bfc2b8; font-size:clamp(16px,1.35vw,21px); line-height:1.55; }
.hero-actions { display:flex; align-items:center; gap:26px; }
.text-link { font:600 11px/1 ui-monospace,SFMono-Regular,monospace; text-transform:uppercase; letter-spacing:.06em; padding:16px 0; border-bottom:1px solid #5c5f58; }
.text-link:hover { color:var(--lime); border-color:var(--lime); }
.trust-row { display:flex; margin-top:clamp(48px,8vh,90px); border-top:1px solid rgba(255,255,255,.16); }
.trust-row>div { display:flex; align-items:center; gap:13px; min-width:160px; padding:20px 27px 0 0; margin-right:27px; border-right:1px solid rgba(255,255,255,.14); }
.trust-row>div:last-child { border:0; }
.trust-row strong { font-size:24px; letter-spacing:-.05em; }
.trust-row span { color:#9c9f97; font-size:9px; line-height:1.5; text-transform:uppercase; letter-spacing:.09em; }
.hero-guide { position:absolute; right:clamp(24px,4.5vw,74px); top:0; bottom:0; width:min(29vw,430px); display:flex; flex-direction:column; justify-content:center; padding:70px 0 48px clamp(24px,3vw,48px); transform:translateY(-34px); }
.hero-guide-entry { max-width:370px; animation:hero-guide-in .32s ease-out; }
.hero-guide-label { margin:0 0 26px; color:var(--lime); text-transform:uppercase; font:650 9px/1.3 ui-monospace,SFMono-Regular,monospace; letter-spacing:.14em; }
.hero-guide h2 { margin:0; text-transform:uppercase; font-size:clamp(34px,4vw,62px); line-height:.9; letter-spacing:-.06em; }
.hero-guide-excerpt { min-height:68px; max-width:350px; margin:26px 0; color:#bfc2b8; font-size:13px; line-height:1.7; }
.hero-guide-entry>a { display:inline-block; padding:10px 0 7px; border-bottom:1px solid rgba(255,255,255,.38); text-transform:uppercase; font:650 10px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.07em; }
.hero-guide-entry>a:hover { color:var(--lime); border-color:var(--lime); }
.hero-guide-dots { position:absolute; left:clamp(24px,3vw,48px); bottom:44px; display:flex; align-items:center; gap:11px; }
.hero-guide-dots button { width:9px; height:9px; padding:0; border:1px solid rgba(240,240,233,.58); border-radius:50%; background:transparent; cursor:pointer; transition:width .2s,background .2s,border-color .2s; }
.hero-guide-dots button.active { width:30px; border-radius:8px; border-color:var(--lime); background:var(--lime); }
@keyframes hero-guide-in { from { opacity:0; transform:translateY(8px); } }


.ticker { overflow:hidden; background:var(--lime); color:var(--ink); padding:13px 0; white-space:nowrap; font:700 11px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.08em; }
.ticker div { width:max-content; animation:ticker 24s linear infinite; }
.ticker i { margin:0 22px; font-style:normal; font-size:8px; }
@keyframes ticker { to { transform:translateX(-50%); } }

.section { padding:clamp(82px,9vw,140px) clamp(20px,6.3vw,92px); }
.section-light,.process-section,.price-section,.faq-section { background:var(--paper); color:var(--ink); }
.section-head { display:grid; grid-template-columns:1fr 1.7fr 1fr; gap:5vw; align-items:start; margin-bottom:72px; }
.section-head.compact { grid-template-columns:.7fr 1.5fr 1fr; }
.section-number { display:inline-block; margin-bottom:18px; color:#777a72; font:600 10px/1 ui-monospace,SFMono-Regular,monospace; }
.eyebrow.dark { color:#555850; }
.section-head h2,.faq-title h2 { margin:0; text-transform:uppercase; font-size:clamp(44px,5.5vw,84px); line-height:.91; letter-spacing:-.07em; }
.section-head h2 em,.faq-title h2 em { color:#879c2f; }
.section-head>p { margin:4px 0 0; color:#585a54; font-size:14px; line-height:1.7; }
.benefit-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.benefit-card { min-height:335px; padding:25px; position:relative; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:.25s; }
.benefit-card:hover { background:var(--lime); transform:translateY(-8px); }
.benefit-card>span { font:600 10px/1 ui-monospace,SFMono-Regular,monospace; color:#7f8279; }
.benefit-card h3 { margin:100px 0 13px; text-transform:uppercase; font-size:20px; letter-spacing:-.04em; }
.benefit-card p { margin:0; color:#61635d; font-size:12px; line-height:1.7; }
.benefit-card b { position:absolute; bottom:22px; right:22px; font-size:24px; font-weight:400; }

.theory-section { display:grid; grid-template-columns:1fr 1fr; min-height:820px; background:#1a1d1a; }
.theory-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(80px,9vw,140px) clamp(25px,7vw,110px) clamp(80px,9vw,140px) clamp(20px,6.3vw,92px); }
.theory-copy h2,.car-copy h2,.review-intro h2,.contact-copy h2 { margin:0; text-transform:uppercase; font-size:clamp(52px,6vw,92px); line-height:.88; letter-spacing:-.07em; }
.theory-copy>p:not(.eyebrow) { max-width:620px; margin:34px 0 0; color:#adb1a7; font-size:14px; line-height:1.8; }
.theory-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:40px; }
.theory-actions .button { min-width:245px; }
.text-link.light { display:inline-block; color:var(--paper); }
.theory-plan { display:flex; flex-direction:column; justify-content:center; padding:clamp(50px,6vw,90px); background:#111311; border-left:1px solid rgba(255,255,255,.14); }
.theory-plan-head { display:flex; justify-content:space-between; gap:20px; padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,.18); color:#8c9187; font:600 9px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.12em; text-transform:uppercase; }
.theory-plan-head b { color:var(--lime); }
.theory-step { min-height:104px; display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:16px; align-items:center; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.13); }
.theory-step>span { color:#777c74; font-size:22px; letter-spacing:-.04em; }
.theory-step h3 { margin:0 0 7px; text-transform:uppercase; font-size:22px; letter-spacing:-.04em; }
.theory-step p { margin:0; color:#92978d; font-size:12px; line-height:1.55; }
.theory-step small { display:block; max-height:0; overflow:hidden; margin-top:0; color:var(--lime); text-transform:uppercase; font:650 8px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.08em; opacity:0; transition:max-height .2s,margin .2s,opacity .2s; }
.theory-step>b { color:var(--lime); font-size:20px; font-weight:400; }
.theory-step:hover small,.theory-step:focus-visible small { max-height:20px; margin-top:10px; opacity:1; }
.theory-step:hover h3,.theory-step:focus-visible h3 { color:var(--lime); }
.theory-tip { display:grid; grid-template-columns:auto 1fr; gap:18px; margin-top:28px; padding:21px; background:var(--lime); color:var(--ink); font-size:12px; line-height:1.6; }
.theory-tip strong { text-transform:uppercase; font-size:20px; }

.steps { list-style:none; display:grid; grid-template-columns:repeat(5,1fr); align-items:start; margin:0; padding:0; border-top:1px solid var(--line); }
.step { min-height:285px; padding:23px 22px; display:grid; grid-template-rows:auto 1fr auto; position:relative; border-right:1px solid var(--line); transition:min-height .3s,background .3s,transform .3s; outline:none; }
.step:first-child { border-left:1px solid var(--line); }
.step>span { font:600 10px/1 ui-monospace,SFMono-Regular,monospace; color:#7f8279; }
.step>div { align-self:end; }
.step h3 { margin:0 0 13px; font-size:18px; text-transform:uppercase; letter-spacing:-.04em; }
.step p { margin:0; color:#62655e; font-size:11px; line-height:1.6; }
.step-more { max-height:0; opacity:0; overflow:hidden; margin-top:0; color:#3e413b; font-size:12px; line-height:1.65; transition:max-height .35s,opacity .25s,margin .3s; }
.step-link { display:inline-block; max-height:0; overflow:hidden; margin-top:0; padding-bottom:5px; border-bottom:1px solid transparent; text-transform:uppercase; font:700 9px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.05em; opacity:0; transition:max-height .3s,margin .3s,opacity .2s,border-color .2s; }
.step>b { position:absolute; right:20px; top:19px; font-size:20px; font-weight:400; transition:.3s; }
.step:hover,.step:focus-visible,.step:focus,.step:focus-within { min-height:390px; background:var(--lime); transform:translateY(-7px); z-index:2; }
.step:hover .step-more,.step:focus-visible .step-more,.step:focus .step-more,.step:focus-within .step-more { max-height:170px; opacity:1; margin-top:18px; }
.step:hover .step-link,.step:focus-within .step-link { max-height:30px; margin-top:24px; border-color:rgba(17,19,17,.45); opacity:1; }
.step:hover>b,.step:focus>b { transform:rotate(45deg); }

.car-section { min-height:860px; background:#151815; border-top:1px solid rgba(255,255,255,.12); }
.car-copy { padding:clamp(80px,8vw,130px) clamp(20px,6.3vw,92px); }
.car-heading { display:grid; grid-template-columns:1.35fr .65fr; gap:clamp(45px,7vw,120px); align-items:end; }
.car-heading>div:last-child>p { max-width:620px; margin:0; color:#aeb1a8; font-size:14px; line-height:1.8; }
.car-checks { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:65px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.16); }
.car-checks a { min-height:340px; display:flex; flex-direction:column; padding:28px; background:#151815; transition:background .25s,color .25s,transform .25s; }
.car-checks a:hover { z-index:1; background:var(--lime); color:var(--ink); transform:translateY(-7px); }
.car-checks span { display:block; margin-bottom:70px; color:var(--lime); font-size:22px; }
.car-checks strong { display:block; margin-bottom:14px; text-transform:uppercase; font-size:21px; letter-spacing:-.04em; }
.car-checks p { margin:0; color:#aeb1a8; font-size:12px; line-height:1.7; }
.car-checks small { margin-top:auto; padding-top:28px; color:#959a90; text-transform:uppercase; font:650 9px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.06em; }
.car-checks a:hover span,.car-checks a:hover p,.car-checks a:hover small { color:var(--ink); }
.car-specs { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:30px; border-top:1px solid rgba(255,255,255,.16); padding-top:22px; }
.car-specs small { display:block; color:#747871; font:600 8px/1.3 ui-monospace,SFMono-Regular,monospace; letter-spacing:.1em; }
.car-specs strong { display:block; margin-top:9px; font-size:17px; }
.car-guide-link { min-width:280px; margin-top:38px; }

.instructors-section { display:grid; grid-template-columns:1fr 1.2fr; min-height:720px; background:var(--paper); color:var(--ink); }
.instructors-intro { display:flex; flex-direction:column; justify-content:center; padding:clamp(75px,8vw,125px) clamp(25px,6.3vw,92px); border-right:1px solid var(--line); }
.instructors-intro h2 { margin:0; text-transform:uppercase; font-size:clamp(52px,6vw,92px); line-height:.88; letter-spacing:-.07em; }
.instructors-intro h2 em { color:#66791b; }
.instructors-intro>p:not(.eyebrow) { max-width:570px; margin:34px 0; color:#666a62; font-size:14px; line-height:1.8; }
.instructors-intro .button { align-self:flex-start; }
.instructor-principles { display:grid; grid-template-rows:repeat(3,1fr); }
.instructor-principles article { display:grid; grid-template-columns:70px minmax(0,240px) minmax(0,1fr); gap:30px; align-items:center; padding:35px clamp(25px,5vw,72px); border-bottom:1px solid var(--line); }
.instructor-principles article:last-child { border-bottom:0; }
.instructor-principles article>span { color:#777b72; font:650 12px/1 ui-monospace,SFMono-Regular,monospace; }
.instructor-principles h3 { margin:0; text-transform:uppercase; font-size:clamp(24px,2.8vw,42px); line-height:.95; letter-spacing:-.05em; }
.instructor-principles p { margin:0; color:#666a62; font-size:13px; line-height:1.7; }

.reviews-section { padding:clamp(82px,9vw,140px) clamp(20px,6.3vw,92px); background:var(--paper); color:var(--ink); }
.review-intro { display:grid; grid-template-columns:1.4fr .75fr; gap:7vw; align-items:end; padding:0 0 64px; }
.review-intro .eyebrow { grid-column:1 / -1; margin-bottom:0; }
.review-intro h2 em { color:#66791b; }
.review-intro p:last-child { max-width:520px; margin:0; color:#656960; font-size:13px; line-height:1.75; }
.review-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:14px; }
.review-card { min-height:370px; display:flex; flex-direction:column; margin:0; padding:clamp(26px,3.2vw,46px); border:1px solid var(--line); background:#fff; }
.review-card-featured { background:var(--ink); color:var(--paper); }
.review-card>div:first-child { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.review-card>div:first-child span { color:#6c810f; font-size:17px; letter-spacing:.07em; }
.review-card-featured>div:first-child span { color:var(--lime); }
.review-card small { color:#81857c; font:650 8px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.12em; }
.review-card blockquote { margin:auto 0; font-size:clamp(24px,2.5vw,38px); line-height:1.13; letter-spacing:-.045em; }
.review-card:not(.review-card-featured) blockquote { font-size:clamp(21px,2vw,30px); }
.review-author { display:flex; justify-content:space-between; gap:16px; padding-top:22px; border-top:1px solid var(--line); font-size:11px; }
.review-card-featured .review-author { border-color:rgba(255,255,255,.17); }
.review-author a { color:#687b18; padding-bottom:4px; border-bottom:1px solid #91a449; text-transform:uppercase; font:700 8px/1.3 ui-monospace,SFMono-Regular,monospace; letter-spacing:.06em; }
.review-card-featured .review-author a { color:var(--lime); border-color:rgba(214,255,63,.55); }
.review-author a:hover { border-color:transparent; }
.review-source { display:flex; align-items:center; justify-content:space-between; gap:35px; margin-top:28px; padding-top:28px; border-top:1px solid var(--line); }
.review-source>div { display:flex; flex-direction:column; gap:10px; }
.review-source small { color:#797d74; font:650 8px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.12em; }
.review-source strong { font-size:16px; }
.review-live { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(35px,6vw,90px); align-items:center; margin-top:28px; padding:clamp(30px,5vw,62px); background:#dfe0d7; }
.review-live>div>small { color:#70746b; font:700 8px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.12em; }
.review-live h3 { margin:22px 0 17px; text-transform:uppercase; font-size:clamp(28px,3.5vw,52px); line-height:.96; letter-spacing:-.055em; }
.review-live p { max-width:560px; margin:0 0 30px; color:#5f635b; font-size:13px; line-height:1.75; }
.review-live .button { max-width:290px; }
.review-live iframe { width:100%; min-height:430px; border:0; background:#c9cbc1; }

.pricing-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.price-card { padding:clamp(28px,4vw,55px); border:1px solid var(--line); }
.price-section .price-card.featured { background:var(--lime); border-color:var(--line); }
.price-label { display:flex; justify-content:space-between; font:600 9px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.1em; }
.price-label span { color:#686b63; }
.price { display:flex; align-items:start; gap:8px; margin:50px 0 18px; }
.price strong { font-size:clamp(70px,8vw,124px); line-height:.8; letter-spacing:-.085em; }
.price span { font-size:20px; font-weight:700; }
.price-card>p { min-height:46px; color:#5e615a; font-size:13px; line-height:1.6; }
.price-card ul { list-style:none; padding:25px 0; margin:30px 0; border-top:1px solid var(--line); }
.price-card li { padding:8px 0; font-size:13px; line-height:1.45; }
.price-card li:before { content:"✓"; margin-right:12px; }
.price-card .button { width:100%; }
.button-dark { background:var(--ink); border-color:var(--ink); color:var(--paper); }
.button-outline { background:transparent; border-color:var(--ink); }
.price-section .price-card .button { background:var(--ink); border-color:var(--ink); color:var(--paper); }
.price-section .price-card .button:hover,
.price-section .price-card .button:focus-visible { background:#fff; border-color:#fff; color:var(--ink); outline:none; transform:translateY(-2px); }
.price-explainer { display:grid; grid-template-columns:.8fr 1.4fr 1fr; gap:30px; padding:28px 0 48px; border-bottom:1px solid var(--line); color:#686b63; font-size:11px; line-height:1.65; }
.price-explainer strong { color:var(--ink); font-size:14px; text-transform:uppercase; }
.price-explainer p { margin:0; }
.extra-prices { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:20px; padding-top:25px; font-size:13px; }

.faq-section { display:grid; grid-template-columns:1fr 1.65fr; gap:8vw; }
.faq-title { position:sticky; top:130px; align-self:start; }
.faq-title .eyebrow { margin-bottom:40px; }
.faq-title>p:last-child { max-width:360px; color:#696c65; font-size:13px; line-height:1.7; }
.faq-list details { border-top:1px solid var(--line); }
.faq-list details:last-child { border-bottom:1px solid var(--line); }
.faq-list summary { list-style:none; cursor:pointer; padding:27px 0; display:grid; grid-template-columns:44px 1fr 24px; align-items:center; font-weight:700; font-size:15px; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:#8b8e85; font:600 9px/1 ui-monospace,SFMono-Regular,monospace; }
.faq-list summary b { font-size:22px; font-weight:400; transition:.2s; }
.faq-list details[open] summary b { transform:rotate(45deg); }
.faq-answer { margin:0; padding:0 35px 28px 44px; color:#565a52; font-size:13px; line-height:1.8; }
.faq-answer a { color:#526500; font-weight:700; border-bottom:1px solid #9aaa55; }

.contact-section { display:grid; grid-template-columns:1fr 1fr; padding:clamp(80px,9vw,140px) clamp(20px,6.3vw,92px); background:var(--lime); color:var(--ink); }
.contact-copy .eyebrow { color:#4a5510; }
.contact-copy .eyebrow>span { background:var(--ink); }
.contact-copy h2 em { color:var(--ink); opacity:.35; }
.contact-copy>p:last-child { max-width:480px; margin-top:32px; line-height:1.7; }
.contact-section .contact-actions { display:block; border-top:1px solid rgba(17,19,17,.28); }
.contact-number,.office { min-height:145px; padding:22px 20px; border-bottom:1px solid rgba(17,19,17,.28); }
.contact-section .contact-number.primary { background:transparent; }
.contact-badge,.office small { display:block; color:#4a5510; font:700 9px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.12em; }
.contact-number strong,.office strong { display:block; margin:12px 0 16px; font-size:clamp(25px,2.5vw,38px); line-height:1.1; }
.contact-number>div { display:flex; gap:22px; }
.contact-number a { padding-bottom:5px; border-bottom:1px solid rgba(17,19,17,.42); font:700 10px/1 ui-monospace,SFMono-Regular,monospace; text-transform:uppercase; }
.contact-number a:hover { border-color:transparent; }
.office span { display:block; font-size:11px; }
.office b { display:block; margin-top:12px; font-size:10px; line-height:1.4; }
.contact-form { grid-column:1 / -1; display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:22px; align-items:end; margin-top:55px; padding-top:42px; border-top:1px solid rgba(17,19,17,.28); }
.contact-form-head { grid-row:span 2; align-self:start; max-width:520px; }
.contact-form-head>span { color:#4a5510; font:700 9px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.12em; }
.contact-form-head strong { display:block; margin:16px 0 12px; text-transform:uppercase; font-size:clamp(24px,3vw,42px); line-height:1; letter-spacing:-.045em; }
.contact-form-head p { margin:0; font-size:12px; line-height:1.65; }
.contact-form label { display:flex; flex-direction:column; gap:8px; text-transform:uppercase; font:700 9px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.08em; }
.contact-form label small { color:#4c570f; font-size:8px; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; padding:14px 0; border:0; border-bottom:1px solid rgba(17,19,17,.45); border-radius:0; outline:none; background:transparent; color:var(--ink); font:500 14px/1.4 Arial,sans-serif; resize:vertical; }
.contact-form textarea { min-height:48px; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-bottom-color:var(--ink); box-shadow:0 2px 0 var(--ink); }
.contact-form .button { min-height:50px; cursor:pointer; font:700 10px/1 ui-monospace,SFMono-Regular,monospace; }

footer { padding:70px clamp(20px,6.3vw,92px) 25px; background:#0b0d0b; }
.footer-top { display:flex; align-items:center; justify-content:space-between; padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,.14); }
.footer-top p { color:#999d94; font-size:12px; line-height:1.7; }
.footer-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:50px; padding:55px 0 90px; }
.footer-grid>div { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.footer-grid small { margin-bottom:10px; color:#646860; font:600 9px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.12em; }
.footer-grid p,.footer-grid a { margin:0; color:#aeb1a8; font-size:11px; line-height:1.65; }
.footer-grid a:hover { color:var(--lime); }
.footer-bottom { display:flex; justify-content:space-between; color:#5f625c; font:600 8px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.1em; }
.mobile-bar { display:none; }

.standards-page { min-height:100svh; background:var(--paper); color:var(--ink); }
.standards-top { height:78px; position:sticky; top:0; z-index:5; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(20px,6.3vw,92px); background:rgba(240,240,233,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(18px); }
.close-button { padding:13px 16px; border:1px solid var(--ink); background:transparent; cursor:pointer; text-transform:uppercase; font:700 10px/1 ui-monospace,SFMono-Regular,monospace; }
.close-button:hover { background:var(--ink); color:var(--paper); }
.standards-hero { padding:clamp(72px,9vw,130px) clamp(20px,6.3vw,92px); display:grid; grid-template-columns:.65fr 1.8fr; gap:7vw; background:var(--ink); color:var(--paper); }
.standards-hero h1 { margin:0; text-transform:uppercase; font-size:clamp(48px,7vw,104px); line-height:.87; letter-spacing:-.07em; }
.standards-hero p { max-width:720px; color:#b7bbb1; font-size:16px; line-height:1.7; }
.standards-content { padding:clamp(70px,8vw,120px) clamp(20px,14vw,220px); }
.standards-lead { font-size:clamp(22px,3vw,38px); line-height:1.3; letter-spacing:-.035em; }
.standards-grid { display:grid; grid-template-columns:repeat(2,1fr); margin:60px 0; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.standard-card { min-height:260px; padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.standard-card span { color:#7b7f76; font:600 9px/1 ui-monospace,SFMono-Regular,monospace; }
.standard-card h2 { margin:70px 0 14px; text-transform:uppercase; font-size:22px; }
.standard-card p { color:#5c6058; font-size:13px; line-height:1.7; }
.standards-alert { padding:35px; background:var(--lime); }
.standards-alert h2 { margin:0 0 14px; text-transform:uppercase; font-size:28px; }
.standards-alert p { margin:0; line-height:1.7; }
.standards-links { display:flex; gap:12px; margin-top:44px; flex-wrap:wrap; }
.standards-top-actions { display:flex; align-items:center; gap:10px; }
.standards-back { display:inline-flex; align-items:center; gap:9px; padding:13px 16px; border:1px solid var(--ink); text-transform:uppercase; font:700 10px/1 ui-monospace,SFMono-Regular,monospace; }
.standards-back:hover { background:var(--ink); color:var(--paper); }
.standards-document-hero { padding:clamp(72px,9vw,130px) clamp(20px,6.3vw,92px); display:grid; grid-template-columns:.65fr 1.8fr; gap:7vw; background:var(--ink); color:var(--paper); }
.standards-document-hero h1 { margin:0; text-transform:uppercase; font-size:clamp(48px,7vw,104px); line-height:.87; letter-spacing:-.07em; }
.standards-document-hero h1 em { color:var(--lime); }
.standards-document-hero>div:last-child>p { max-width:760px; margin:34px 0 0; color:#b7bbb1; font-size:16px; line-height:1.7; }
.standards-document { max-width:1180px; margin:0 auto; padding:clamp(70px,8vw,120px) clamp(20px,6.3vw,92px); }
.document-preamble { margin-bottom:clamp(75px,9vw,130px); padding:clamp(30px,5vw,58px); background:var(--lime); }
.document-kicker { display:block; margin-bottom:25px; color:#5c6d13; text-transform:uppercase; font:750 10px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.12em; }
.document-preamble p { max-width:920px; margin:0 0 20px; font-size:clamp(17px,1.6vw,22px); line-height:1.65; }
.document-preamble p:last-child { margin-bottom:0; }
.document-chapter { margin-top:clamp(80px,10vw,145px); }
.document-chapter>header { display:grid; grid-template-columns:180px minmax(0,1fr); gap:30px; align-items:start; padding-bottom:35px; border-bottom:2px solid var(--ink); }
.document-chapter>header span { color:#74786f; text-transform:uppercase; font:700 10px/1.3 ui-monospace,SFMono-Regular,monospace; letter-spacing:.11em; }
.document-chapter>header h2 { max-width:800px; margin:0; text-transform:uppercase; font-size:clamp(30px,4.5vw,64px); line-height:.95; letter-spacing:-.055em; }
.document-section { padding:clamp(42px,5vw,70px) 0; border-bottom:1px solid var(--line); }
.document-section h3 { margin:0 0 28px; font-size:clamp(25px,3vw,42px); letter-spacing:-.04em; }
.document-section h4 { max-width:780px; margin:-8px 0 35px; text-transform:uppercase; font-size:clamp(20px,2.3vw,32px); line-height:1.1; }
.document-section p,.document-section li { color:#4e524a; font-size:15px; line-height:1.8; }
.document-section p { max-width:900px; margin:0 0 18px; }
.document-section p strong { color:var(--ink); }
.document-section ul,.document-section ol { max-width:850px; margin:10px 0 28px; padding-left:25px; }
.document-section li { padding-left:8px; margin-bottom:10px; }
.document-section a { font-weight:750; text-decoration:underline; text-underline-offset:4px; }
.document-table-wrap { overflow-x:auto; margin-top:42px; }
.document-table { width:100%; min-width:760px; border-collapse:collapse; }
.document-table th,.document-table td { padding:20px 18px; border:1px solid var(--line); text-align:left; vertical-align:top; font-size:13px; line-height:1.55; }
.document-table th { background:var(--ink); color:var(--paper); text-transform:uppercase; font:700 9px/1.3 ui-monospace,SFMono-Regular,monospace; letter-spacing:.09em; }
.document-table td:first-child { width:58px; color:#777b72; font-family:ui-monospace,SFMono-Regular,monospace; }
.document-table td a { font-weight:800; white-space:nowrap; text-decoration:underline; text-underline-offset:4px; }
.standards-document-footer { display:flex; justify-content:flex-end; gap:10px; max-width:1180px; margin:0 auto; padding:0 clamp(20px,6.3vw,92px) 70px; }

.guide-page { min-height:100svh; background:var(--paper); color:var(--ink); }
.guide-top { height:78px; position:sticky; top:0; z-index:10; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 clamp(20px,6.3vw,92px); background:rgba(240,240,233,.95); border-bottom:1px solid var(--line); backdrop-filter:blur(18px); }
.guide-top .close-button { justify-self:end; }
.guide-top-label { color:#71756c; font:650 9px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.14em; }
.guide-hero { min-height:570px; display:grid; grid-template-columns:.65fr 1.8fr; gap:7vw; padding:clamp(72px,8vw,125px) clamp(20px,6.3vw,92px); background:var(--ink); color:var(--paper); }
.guide-hero-meta { display:flex; flex-direction:column; align-items:flex-start; gap:14px; padding-top:8px; color:#848980; text-transform:uppercase; font:650 9px/1.3 ui-monospace,SFMono-Regular,monospace; letter-spacing:.12em; }
.guide-hero-meta span { padding-bottom:8px; border-bottom:1px solid rgba(255,255,255,.14); }
.guide-hero-copy h1 { max-width:900px; margin:0; text-transform:uppercase; font-size:clamp(54px,7.4vw,118px); line-height:.86; letter-spacing:-.075em; }
.guide-hero-copy>p:last-child { max-width:760px; margin:42px 0 0; color:#b8bcb3; font-size:clamp(16px,1.4vw,21px); line-height:1.7; }
.guide-layout { max-width:1440px; display:grid; grid-template-columns:270px minmax(0,1fr); gap:clamp(45px,7vw,110px); margin:0 auto; padding:clamp(70px,8vw,120px) clamp(20px,6.3vw,92px) 110px; }
.guide-index { position:sticky; top:120px; align-self:start; }
.guide-index>small,.guide-summary small,.guide-callout small,.guide-sources small,.guide-contact small { color:#777b72; font:700 9px/1.3 ui-monospace,SFMono-Regular,monospace; letter-spacing:.13em; }
.guide-index nav { display:flex; flex-direction:column; margin-top:24px; border-top:1px solid var(--line); }
.guide-index a { display:grid; grid-template-columns:32px 1fr; gap:10px; padding:17px 0; border-bottom:1px solid var(--line); color:#656961; font-size:12px; line-height:1.4; }
.guide-index a span { color:#999c95; font:650 9px/1.5 ui-monospace,SFMono-Regular,monospace; }
.guide-index a:hover,.guide-index a.active { color:var(--ink); }
.guide-index a.active { font-weight:750; }
.guide-index a.active span { color:#6e840f; }
.guide-summary { padding:0 0 clamp(55px,6vw,90px); }
.guide-summary p { max-width:920px; margin:25px 0 0; font-size:clamp(24px,3.2vw,48px); line-height:1.25; letter-spacing:-.045em; }
.guide-steps { border-top:1px solid var(--line); }
.guide-step { scroll-margin-top:100px; display:grid; grid-template-columns:90px minmax(0,1fr); gap:25px; padding:clamp(40px,5vw,72px) 0; border-bottom:1px solid var(--line); }
.guide-step>span { color:#8b8f86; font:700 10px/1.3 ui-monospace,SFMono-Regular,monospace; }
.guide-step>div { max-width:790px; }
.guide-step h2 { margin:0 0 25px; text-transform:uppercase; font-size:clamp(28px,3.3vw,52px); line-height:.95; letter-spacing:-.055em; }
.guide-step p { margin:0 0 15px; color:#555950; font-size:15px; line-height:1.8; }
.guide-step .guide-tip { margin-top:27px; padding:20px 22px; background:#e5e6dc; color:#353831; }
.guide-tip strong { color:#687b18; font:750 10px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.09em; }
.guide-callout { margin:clamp(55px,7vw,95px) 0; padding:clamp(32px,5vw,62px); background:var(--lime); }
.guide-callout small { display:block; color:#637018; }
.guide-callout strong { display:block; max-width:880px; margin-top:25px; text-transform:uppercase; font-size:clamp(28px,4vw,58px); line-height:1; letter-spacing:-.055em; }
.guide-sources { display:grid; grid-template-columns:.75fr 1.25fr; gap:5vw; padding:clamp(55px,7vw,90px) 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.guide-sources h2 { margin:22px 0 0; text-transform:uppercase; font-size:clamp(30px,3.5vw,52px); line-height:.95; letter-spacing:-.055em; }
.guide-sources>div:last-child { display:flex; flex-direction:column; }
.guide-sources a { padding:24px 0; border-bottom:1px solid var(--line); }
.guide-sources a:first-child { padding-top:0; }
.guide-sources a:last-child { border-bottom:0; }
.guide-sources a strong { display:block; margin-bottom:9px; font-size:15px; }
.guide-sources a>span { display:block; color:#666a62; font-size:12px; line-height:1.65; }
.guide-sources a:hover strong { color:#607500; }
.guide-contact { display:flex; align-items:center; justify-content:space-between; gap:35px; margin-top:60px; padding:35px; background:#dfe0d7; }
.guide-contact>div strong { display:block; max-width:580px; margin-top:12px; font-size:19px; line-height:1.35; }
.guide-bottom-close { display:flex; justify-content:flex-end; margin-top:35px; }

/* Course registration page. */
.registration-page { min-height:80svh; background:var(--paper); color:var(--ink); }
.registration-hero { display:grid; grid-template-columns:.65fr 1.8fr; gap:7vw; padding:clamp(72px,8vw,120px) clamp(20px,6.3vw,92px); background:var(--ink); color:var(--paper); }
.registration-hero h1 { max-width:980px; margin:0; text-transform:uppercase; font-size:clamp(50px,7vw,108px); font-weight:850; line-height:.87; letter-spacing:-.07em; }
.registration-hero>div:last-child>p { max-width:760px; margin:34px 0 0; color:#b7bbb1; font-size:clamp(16px,1.4vw,20px); line-height:1.7; }
.registration-layout { max-width:1440px; margin:0 auto; padding:clamp(70px,8vw,120px) clamp(20px,6.3vw,92px) 120px; display:grid; grid-template-columns:minmax(280px,.75fr) minmax(0,1.45fr); gap:clamp(45px,7vw,110px); align-items:start; }
.registration-info { position:sticky; top:120px; }
.registration-kicker { color:#74786f; text-transform:uppercase; letter-spacing:.13em; font:700 9px/1.3 ui-monospace,SFMono-Regular,monospace; }
.registration-info h2 { max-width:430px; margin:22px 0 0; text-transform:uppercase; font-size:clamp(30px,3.4vw,52px); line-height:.96; letter-spacing:-.055em; }
.registration-editor-copy { max-width:520px; margin-top:25px; color:#555950; font:14px/1.75 Arial,sans-serif; }
.registration-info ol { margin:40px 0 0; padding:0; border-top:1px solid var(--line); list-style:none; }
.registration-info li { display:grid; grid-template-columns:42px minmax(0,1fr); gap:15px; padding:22px 0; border-bottom:1px solid var(--line); }
.registration-info li>b { color:#788a2d; font:800 10px/1.5 ui-monospace,SFMono-Regular,monospace; }
.registration-info li strong,.registration-info li span { display:block; }
.registration-info li strong { margin-bottom:6px; text-transform:uppercase; font-size:14px; letter-spacing:-.02em; }
.registration-info li span { color:#5d6159; font:12px/1.6 Arial,sans-serif; }
.registration-data-note { display:grid; gap:9px; margin-top:30px; padding:24px; background:var(--lime); }
.registration-data-note strong { text-transform:uppercase; font-size:17px; letter-spacing:-.03em; }
.registration-data-note span { font:12px/1.65 Arial,sans-serif; }
.registration-panel { padding:clamp(28px,4vw,55px); background:#fff; border:1px solid var(--line); }
.registration-alert { display:grid; gap:7px; margin-bottom:30px; padding:20px 22px; border-left:5px solid; font-family:Arial,sans-serif; }
.registration-alert strong { font-size:15px; }
.registration-alert span { color:#555950; font-size:12px; line-height:1.6; }
.registration-alert-success { background:#e5f3b1; border-color:#72861e; }
.registration-alert-error { background:#f5ded7; border-color:#a54428; }
.registration-form { display:grid; gap:30px; }
.registration-honeypot { width:1px; height:1px; position:fixed; left:-10000px; overflow:hidden; opacity:0; pointer-events:none; }
.registration-course-options { min-width:0; margin:0; padding:0; border:0; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.registration-course-options legend { grid-column:1/-1; width:100%; margin-bottom:13px; text-transform:uppercase; font:750 10px/1.3 ui-monospace,SFMono-Regular,monospace; letter-spacing:.09em; }
.registration-course-options legend span,.registration-fields label>span { color:#687b18; }
.registration-course-options>label { min-width:0; padding:20px; display:grid; grid-template-columns:22px minmax(0,1fr); gap:14px; align-items:start; cursor:pointer; background:#e8e9e0; border:1px solid transparent; transition:.2s; }
.registration-course-options>label:hover { border-color:#7d8e36; }
.registration-course-options input { width:18px; height:18px; margin:2px 0 0; accent-color:#111311; }
.registration-course-options label>span { min-width:0; display:grid; gap:6px; }
.registration-course-options small { color:#71756d; text-transform:uppercase; font:700 8px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:.1em; }
.registration-course-options strong { text-transform:uppercase; font-size:22px; line-height:1; letter-spacing:-.04em; }
.registration-course-options em { color:#687b18; font-size:15px; font-weight:800; }
.registration-fields { display:grid; grid-template-columns:1fr 1fr; gap:22px 18px; }
.registration-fields label { min-width:0; display:grid; gap:9px; text-transform:uppercase; font:750 10px/1.3 ui-monospace,SFMono-Regular,monospace; letter-spacing:.06em; }
.registration-fields label>small { color:#74786f; font-size:8px; }
.registration-field-wide { grid-column:1/-1; }
.registration-form input[type=text],.registration-form input[type=tel],.registration-form input[type=email],.registration-form select,.registration-form textarea { width:100%; min-height:52px; padding:14px 15px; background:var(--paper); color:var(--ink); border:1px solid #11131138; border-radius:0; text-transform:none; letter-spacing:0; font:14px/1.45 Arial,sans-serif; }
.registration-form textarea { min-height:125px; resize:vertical; }
.registration-form input:focus,.registration-form select:focus,.registration-form textarea:focus { outline:3px solid #c6ed37; outline-offset:1px; border-color:#536512; }
.registration-consent { display:grid; grid-template-columns:20px minmax(0,1fr); gap:13px; align-items:start; color:#4d514a; font:12px/1.65 Arial,sans-serif; }
.registration-consent input { width:18px; height:18px; margin-top:1px; accent-color:#111311; }
.registration-consent a { color:#526500; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.registration-submit { width:100%; cursor:pointer; }
.registration-footnote { margin:-12px 0 0; color:#6e726a; text-align:center; font:11px/1.6 Arial,sans-serif; }

@media(max-width:900px){
  .registration-hero { grid-template-columns:1fr; gap:34px; }
  .registration-layout { grid-template-columns:1fr; }
  .registration-info { position:static; }
  .registration-info h2 { max-width:680px; }
}
@media(max-width:720px){
  .registration-hero { padding:clamp(54px,15vw,70px) clamp(16px,5vw,22px); }
  .registration-hero h1 { font-size:clamp(40px,12.5vw,58px); line-height:.92; }
  .registration-hero>div:last-child>p { margin-top:26px; font-size:15px; }
  .registration-layout { gap:48px; padding:clamp(54px,15vw,72px) clamp(16px,5vw,22px) 90px; }
  .registration-info h2 { font-size:clamp(34px,10.5vw,46px); }
  .registration-panel { padding:26px 18px; }
  .registration-course-options,.registration-fields { grid-template-columns:1fr; }
  .registration-field-wide { grid-column:auto; }
  .registration-course-options>label { padding:18px; }
}

@media(max-width:1180px){
  .desktop-nav { gap:14px; font-size:11px; }
  .desktop-nav .nav-external { display:none; }
}
@media(max-width:1000px){
  .desktop-nav { display:none; }
  .site-header>.button { margin-left:auto; }
  .benefit-grid { grid-template-columns:1fr 1fr; }
  .steps { grid-template-columns:1fr; }
  .step { min-height:auto; grid-template-columns:55px 1fr 25px; grid-template-rows:1fr; padding:25px 0; border-right:0; border-bottom:1px solid var(--line); }
  .step:first-child { border-left:0; }
  .step>span { grid-column:1; }
  .step>div { grid-column:2; align-self:start; }
  .step>b { position:static; grid-column:3; grid-row:1; }
  .step:hover,.step:focus-visible,.step:focus,.step:focus-within { min-height:auto; transform:none; padding:25px 14px; }
  .step-more { max-height:160px; opacity:1; margin-top:14px; }
  .step-link { max-height:30px; margin-top:20px; border-color:var(--line); opacity:1; }
}
@media(max-width:720px){
  .site-header { height:64px; padding:0 16px; gap:15px; }
  .site-header>.button { display:none; }
  .brand { font-size:12px; }
  .mobile-menu { display:block; margin-left:auto; position:relative; }
  .mobile-menu summary { list-style:none; padding:10px 0; text-transform:uppercase; font:600 10px/1 ui-monospace,SFMono-Regular,monospace; }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu nav { position:absolute; right:-16px; top:41px; width:100vw; padding:20px; display:flex; flex-direction:column; gap:18px; background:var(--ink); border-top:1px solid rgba(255,255,255,.12); box-shadow:0 20px 30px rgba(0,0,0,.3); }
  .mobile-menu nav a { font-size:16px; font-weight:700; }
  .hero { min-height:auto; }
  .notice-bar { align-items:flex-start; flex-direction:column; gap:3px; text-align:left; }
  .hero:after { background:linear-gradient(180deg,rgba(17,19,17,.92) 0%,rgba(17,19,17,.7) 72%,rgba(17,19,17,.4) 100%); }
  .hero-lines { inset:28px 0; }
  .hero-copy { width:100%; min-height:650px; padding:70px 20px 40px; }
  .eyebrow { margin-bottom:22px; }
  .hero h1 { font-size:clamp(58px,18.5vw,76px); }
  .hero-copy>p { margin:26px 0; font-size:16px; }
  .hero-actions { align-items:stretch; flex-direction:column; gap:6px; }
  .text-link { align-self:flex-start; }
  .trust-row { margin-top:45px; display:grid; grid-template-columns:1fr 1fr; }
  .trust-row>div { min-width:0; margin:0; padding:16px 10px 0 0; }
  .trust-row>div:last-child { display:none; }
  .hero-guide { display:none; }
  .section { padding:78px 20px; }
  .section-head,.section-head.compact { grid-template-columns:1fr; gap:20px; margin-bottom:45px; }
  .section-head>div { display:flex; gap:18px; align-items:start; }
  .section-head .eyebrow { margin:0; }
  .section-head h2,.faq-title h2 { font-size:52px; }
  .benefit-grid { grid-template-columns:1fr; }
  .benefit-card { min-height:250px; }
  .benefit-card h3 { margin-top:60px; }
  .theory-section { grid-template-columns:1fr; }
  .theory-copy { padding:80px 20px 50px; }
  .theory-copy h2,.car-copy h2,.review-intro h2,.contact-copy h2 { font-size:54px; }
  .theory-actions { align-items:flex-start; flex-direction:column; gap:20px; }
  .theory-actions .button { width:100%; }
  .theory-plan { padding:50px 20px 70px; border-left:0; border-top:1px solid rgba(255,255,255,.14); }
  .theory-step { grid-template-columns:36px minmax(0,1fr) auto; gap:10px; }
  .theory-step h3 { font-size:20px; }
  .theory-step small { max-height:20px; margin-top:9px; opacity:1; }
  .theory-tip { grid-template-columns:1fr; gap:8px; }
  .car-copy { padding:80px 20px 65px; }
  .car-heading { grid-template-columns:1fr; gap:34px; }
  .car-checks { grid-template-columns:1fr; }
  .car-checks a { min-height:270px; }
  .car-checks span { margin-bottom:42px; }
  .car-guide-link { width:100%; }
  .instructors-section { grid-template-columns:1fr; min-height:auto; }
  .instructors-intro { padding:70px 20px; border-right:0; border-bottom:1px solid var(--line); }
  .instructors-intro h2 { font-size:52px; }
  .instructor-principles article { grid-template-columns:40px 1fr; gap:14px; padding:30px 20px; }
  .instructor-principles article>p { grid-column:2; }
  .reviews-section { padding:80px 20px; }
  .review-intro { grid-template-columns:1fr; gap:26px; padding-bottom:45px; }
  .review-grid { grid-template-columns:1fr; }
  .review-card { min-height:310px; }
  .review-card blockquote,.review-card:not(.review-card-featured) blockquote { font-size:27px; }
  .review-source { align-items:flex-start; flex-direction:column; }
  .review-source .button { width:100%; }
  .review-live { grid-template-columns:1fr; gap:32px; padding:28px 20px; }
  .review-live .button { width:100%; max-width:none; }
  .review-live iframe { min-height:360px; }
  .pricing-grid { grid-template-columns:1fr; }
  .price strong { font-size:72px; }
  .price-explainer,.extra-prices { grid-template-columns:1fr; }
  .faq-section { grid-template-columns:1fr; gap:50px; }
  .faq-title { position:static; }
  .faq-list summary { grid-template-columns:36px 1fr 20px; font-size:14px; }
  .faq-answer { padding-left:36px; padding-right:20px; }
  .contact-section { grid-template-columns:1fr; gap:55px; padding:80px 20px; }
  .contact-form { grid-column:auto; grid-template-columns:1fr; gap:24px; margin-top:0; padding-top:35px; }
  .contact-form-head { grid-row:auto; margin-bottom:10px; }
  .footer-top { align-items:flex-start; flex-direction:column; gap:28px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:45px 25px; padding-bottom:70px; }
  .footer-bottom { padding-bottom:65px; }
  .mobile-bar { position:fixed; z-index:60; left:0; right:0; bottom:0; height:58px; display:grid; grid-template-columns:1fr 1fr 1.4fr; background:#202320; border-top:1px solid rgba(255,255,255,.16); }
  .mobile-bar a { display:grid; place-items:center; text-transform:uppercase; font:600 9px/1 ui-monospace,SFMono-Regular,monospace; border-right:1px solid rgba(255,255,255,.12); }
  .mobile-bar .mobile-cta { background:var(--lime); color:var(--ink); font-weight:800; }
  .standards-top { height:64px; padding:0 16px; }
  .standards-hero { grid-template-columns:1fr; padding:70px 20px; }
  .standards-content { padding:65px 20px 100px; }
  .standards-grid { grid-template-columns:1fr; }
  .standards-document-top .brand { display:none; }
  .standards-document-top { justify-content:flex-end; }
  .standards-top-actions { width:100%; justify-content:space-between; }
  .standards-document-hero { grid-template-columns:1fr; gap:34px; padding:65px 20px 72px; }
  .standards-document-hero h1 { font-size:clamp(47px,14vw,66px); }
  .standards-document { padding:65px 20px 85px; }
  .document-preamble { margin-bottom:80px; padding:28px 22px; }
  .document-preamble p { font-size:16px; }
  .document-chapter { margin-top:85px; }
  .document-chapter>header { grid-template-columns:1fr; gap:18px; padding-bottom:26px; }
  .document-chapter>header h2 { font-size:34px; }
  .document-section { padding:42px 0; }
  .document-section p,.document-section li { font-size:14px; line-height:1.75; }
  .standards-document-footer { justify-content:space-between; padding:0 20px 55px; }
  .guide-top { height:64px; grid-template-columns:1fr auto; padding:0 16px; }
  .guide-top-label { display:none; }
  .guide-hero { min-height:auto; grid-template-columns:1fr; gap:38px; padding:65px 20px 72px; }
  .guide-hero-meta { flex-direction:row; flex-wrap:wrap; gap:8px 14px; }
  .guide-hero-copy h1 { font-size:clamp(48px,15vw,68px); }
  .guide-hero-copy>p:last-child { margin-top:30px; font-size:16px; }
  .guide-layout { grid-template-columns:1fr; gap:55px; padding:65px 20px 90px; }
  .guide-index { position:static; }
  .guide-index nav { display:grid; grid-template-columns:1fr 1fr; }
  .guide-index a { padding-right:12px; }
  .guide-step { grid-template-columns:42px minmax(0,1fr); gap:12px; }
  .guide-step p { font-size:14px; }
  .guide-sources { grid-template-columns:1fr; gap:45px; }
  .guide-contact { align-items:flex-start; flex-direction:column; padding:26px 22px; }
  .guide-contact .button { width:100%; }
}
@media(prefers-reduced-motion:reduce){ html{scroll-behavior:auto}.ticker div,.hero-guide-entry{animation:none}.button,.benefit-card,.step,.step-more,.hero-guide-dots button{transition:none} }

/* Intuicyjny formularz kontaktowy: jedna treść, trzy kanały wysyłki. */
.contact-form.contact-form { grid-template-columns:1.15fr 1fr 1fr; align-items:start; }
.contact-form.contact-form .contact-form-head { grid-row:span 4; }
.contact-form.contact-form .contact-privacy-note { margin-top:18px; padding-left:13px; border-left:3px solid rgba(17,19,17,.38); color:#45500c; }
.contact-form.contact-form .contact-field-wide,
.contact-form.contact-form .contact-form-consent,
.contact-form.contact-form .contact-send-choice,
.contact-form.contact-form .contact-form-result { grid-column:2 / -1; }
.contact-form.contact-form .contact-form-result { padding:15px 17px; font:700 11px/1.55 ui-monospace,SFMono-Regular,monospace; }
.contact-form.contact-form .contact-form-result-success { background:rgba(255,255,255,.55); border-left:4px solid #218b4b; }
.contact-form.contact-form .contact-form-result-error { background:rgba(255,255,255,.48); border-left:4px solid #b22b2b; }
.contact-form.contact-form .contact-form-consent { display:grid; grid-template-columns:21px minmax(0,1fr); align-items:start; gap:12px; text-transform:none; letter-spacing:0; font:500 11px/1.55 Arial,sans-serif; }
.contact-form.contact-form .contact-form-consent input { width:19px; height:19px; margin:1px 0 0; padding:0; border:1px solid rgba(17,19,17,.55); accent-color:var(--ink); box-shadow:none; }
.contact-form.contact-form .contact-form-consent a { font-weight:750; text-decoration:underline; text-underline-offset:3px; }
.contact-send-choice { padding:20px; background:rgba(255,255,255,.28); border:1px solid rgba(17,19,17,.22); }
.contact-send-choice>strong { display:block; text-transform:uppercase; font-size:16px; }
.contact-send-choice>span { display:block; margin:7px 0 16px; color:#45500c; font:700 9px/1.4 ui-monospace,SFMono-Regular,monospace; text-transform:uppercase; letter-spacing:.07em; }
.contact-channel-actions { grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.contact-channel-actions .button { min-width:0; gap:12px; padding-inline:15px; white-space:nowrap; }
.email-button.email-button { background:var(--ink); border-color:var(--ink); color:var(--paper); }
.email-button.email-button:hover { background:#fff; border-color:#fff; color:var(--ink); }
.whatsapp-button.whatsapp-button { background:#25d366; border-color:#25d366; color:#0b2c17; }
.whatsapp-button.whatsapp-button:hover { background:#fff; border-color:#fff; color:var(--ink); }
.contact-send-choice .form-status { min-height:18px; margin:12px 0 0; font-size:11px; line-height:1.45; }

/* Piktogramy są używane wyłącznie w schemacie kursu, gdzie rozróżniają etapy. */
.gear-copy>.gear-icon {
  width:24px;
  height:24px;
  margin-bottom:10px;
  color:#687c1d;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .2s ease,color .2s ease;
}
.gear-step a:hover .gear-copy>.gear-icon,
.gear-step a:focus-visible .gear-copy>.gear-icon {
  color:var(--ink);
  transform:translateX(3px);
}

@media(max-width:720px){
  .contact-form.contact-form{grid-template-columns:1fr;gap:22px}
  .contact-form.contact-form .contact-form-head{grid-row:auto}
  .contact-form.contact-form .contact-field-wide,
  .contact-form.contact-form .contact-form-consent,
  .contact-form.contact-form .contact-send-choice,
  .contact-form.contact-form .contact-form-result{grid-column:auto}
  .contact-send-choice{margin-top:4px;padding:18px 15px}
  .contact-channel-actions{grid-template-columns:1fr}
  .contact-channel-actions .button{width:100%;white-space:normal}
  .gear-copy>.gear-icon{width:22px;height:22px;margin-bottom:8px}
}
