/*
Theme Name: MRN-WDS
Theme URI: https://new.wdsdrivingschool.ca/
Description: A mobile-first, conversion-focused child theme for WDS Driving School.
Author: Mehran Marandi
Author URI: https://mehranmarandi.ir/
Template: mrn
Version: 1.1.2
Text Domain: mrn-wds
Requires at least: 6.6
Requires PHP: 8.1
*/

:root {
	--wds-red: #bc0d1c;
	--wds-red-dark: #8e0712;
	--wds-red-bright: #e21a2a;
	--wds-gold: #ffc31a;
	--wds-gold-deep: #f1a900;
	--wds-ink: #16171b;
	--wds-charcoal: #24262c;
	--wds-muted: #656a73;
	--wds-line: #e6e7ea;
	--wds-cloud: #f5f5f6;
	--wds-white: #fff;
	--wds-shell: 1180px;
	--wds-radius-sm: 12px;
	--wds-radius: 20px;
	--wds-radius-lg: 32px;
	--wds-shadow-sm: 0 12px 32px rgb(25 27 32 / 8%);
	--wds-shadow: 0 24px 70px rgb(25 27 32 / 14%);
}

html { font-size: 17px; scroll-behavior: smooth; }
body.mrn-wds {
	background: var(--wds-white);
	color: var(--wds-ink);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	font-size: 17px;
	line-height: 1.65;
	margin: 0;
	overflow-x: hidden;
}
.mrn-wds *, .mrn-wds *::before, .mrn-wds *::after { box-sizing: border-box; }
.mrn-wds img { display: block; height: auto; max-width: 100%; }
.mrn-wds a { color: inherit; text-decoration: none; }
.mrn-wds button, .mrn-wds input, .mrn-wds select, .mrn-wds textarea { font: inherit; }
.mrn-wds h1, .mrn-wds h2, .mrn-wds h3, .mrn-wds h4 { color: var(--wds-ink); font-weight: 800; letter-spacing: -.035em; line-height: 1.12; margin: 0; }
.mrn-wds p { margin: 0; }
.mrn-wds ul, .mrn-wds ol { margin: 0; padding: 0; }
.wds-shell { margin-inline: auto; max-width: var(--wds-shell); padding-inline: 24px; width: 100%; }
.wds-icon { flex: 0 0 auto; height: 24px; width: 24px; }
.wds-skip-link { background: var(--wds-gold); border-radius: 0 0 8px 8px; color: var(--wds-ink); font-weight: 800; left: 16px; padding: 10px 16px; position: fixed; top: -80px; transition: top .2s; z-index: 9999; }
.wds-skip-link:focus { top: 0; }

/* Header */
.wds-header { background: rgb(167 7 19 / 97%); border-bottom: 1px solid rgb(255 255 255 / 15%); box-shadow: 0 6px 25px rgb(62 0 7 / 20%); color: var(--wds-white); position: sticky; top: 0; transition: box-shadow .25s, background .25s; z-index: 1000; }
.admin-bar .wds-header { top: 32px; }
.wds-header.is-scrolled { background: rgb(139 6 17 / 98%); box-shadow: 0 10px 32px rgb(62 0 7 / 30%); }
.wds-header__inner { align-items: center; display: flex; gap: 28px; height: 82px; }
.wds-brand { align-items: center; display: inline-flex; flex: 0 0 auto; gap: 10px; }
.wds-brand__logo { align-items: center; background: var(--wds-white); border-radius: 14px; display: flex; height: 64px; justify-content: center; overflow: hidden; padding: 3px; width: 68px; }
.wds-brand__logo img { height: 100%; object-fit: contain; width: 100%; }
.wds-brand__text { display: none; line-height: 1; }
.wds-brand__text strong { font-size: 1.1rem; letter-spacing: .04em; }
.wds-brand__text small { display: block; font-size: .68rem; margin-top: 4px; opacity: .75; }
.wds-nav { margin-left: 8px; }
.wds-nav ul { align-items: center; display: flex; gap: 4px; list-style: none; }
.wds-nav a { border-radius: 10px; color: rgb(255 255 255 / 82%); display: block; font-size: .9rem; font-weight: 700; padding: 12px 14px; position: relative; transition: color .2s, background .2s; }
.wds-nav a::after { background: var(--wds-gold); border-radius: 10px; bottom: 4px; content: ""; height: 2px; left: 14px; position: absolute; transform: scaleX(0); transform-origin: left; transition: transform .2s; width: calc(100% - 28px); }
.wds-nav a:hover, .wds-nav a.is-current { background: rgb(255 255 255 / 8%); color: var(--wds-white); }
.wds-nav a:hover::after, .wds-nav a.is-current::after { transform: scaleX(1); }
.wds-header__actions { align-items: center; display: flex; gap: 14px; margin-left: auto; }
.wds-header__phone { align-items: center; display: flex; gap: 9px; }
.wds-header__phone .wds-icon { color: var(--wds-gold); height: 22px; width: 22px; }
.wds-header__phone span { display: flex; flex-direction: column; line-height: 1.2; }
.wds-header__phone small { color: rgb(255 255 255 / 68%); font-size: .64rem; margin-bottom: 3px; text-transform: uppercase; }
.wds-header__phone strong { font-size: .82rem; white-space: nowrap; }
.wds-menu-toggle { align-items: center; background: transparent; border: 0; color: var(--wds-white); cursor: pointer; display: none; gap: 8px; padding: 8px; }
.wds-menu-toggle__icon { display: grid; gap: 4px; width: 24px; }
.wds-menu-toggle__icon i { background: currentColor; border-radius: 2px; height: 2px; transition: transform .2s, opacity .2s; width: 100%; }
.wds-menu-toggle__label { font-size: .78rem; font-weight: 800; }
.wds-menu-toggle[aria-expanded="true"] .wds-menu-toggle__icon i:first-child { transform: translateY(6px) rotate(45deg); }
.wds-menu-toggle[aria-expanded="true"] .wds-menu-toggle__icon i:nth-child(2) { opacity: 0; }
.wds-menu-toggle[aria-expanded="true"] .wds-menu-toggle__icon i:last-child { transform: translateY(-6px) rotate(-45deg); }

/* Buttons */
.wds-button { align-items: center; background: var(--wds-red); border: 1px solid transparent; border-radius: 11px; box-shadow: 0 9px 22px rgb(159 8 22 / 20%); color: var(--wds-white); display: inline-flex; font-size: .8rem; font-weight: 850; gap: 9px; justify-content: center; letter-spacing: .03em; min-height: 46px; padding: 11px 20px; text-transform: uppercase; transition: transform .2s, box-shadow .2s, background .2s; }
.wds-button .wds-icon { height: 18px; transition: transform .2s; width: 18px; }
.wds-button:hover { box-shadow: 0 14px 30px rgb(159 8 22 / 28%); transform: translateY(-2px); }
.wds-button:hover .wds-icon { transform: translateX(3px); }
.wds-button--gold { background: linear-gradient(135deg, #ffd029, var(--wds-gold-deep)); box-shadow: 0 10px 28px rgb(255 195 26 / 26%); color: var(--wds-ink); }
.wds-button--gold:hover { box-shadow: 0 14px 34px rgb(255 195 26 / 38%); }
.wds-button--red { background: linear-gradient(135deg, var(--wds-red-bright), var(--wds-red-dark)); }
.wds-button--dark { background: var(--wds-ink); box-shadow: 0 10px 28px rgb(0 0 0 / 18%); }
.wds-button--outline { background: transparent; border-color: rgb(255 255 255 / 40%); box-shadow: none; color: var(--wds-white); }
.wds-button--wide { width: 100%; }
.wds-text-link { align-items: center; color: var(--wds-red); display: inline-flex; font-size: .87rem; font-weight: 800; gap: 8px; }
.wds-text-link .wds-icon { height: 18px; transition: transform .2s; width: 18px; }
.wds-text-link:hover .wds-icon { transform: translateX(4px); }
.wds-text-link--light { color: var(--wds-white); text-decoration: underline; text-decoration-color: rgb(255 255 255 / 38%); text-underline-offset: 5px; }

/* Hero */
.wds-hero { background: linear-gradient(125deg, #790711 0%, #aa0918 47%, #66050d 100%); color: var(--wds-white); min-height: 610px; overflow: hidden; position: relative; }
.wds-hero::before { background: radial-gradient(circle at center, rgb(255 195 26 / 16%), transparent 66%); content: ""; height: 620px; left: -260px; position: absolute; top: -260px; width: 620px; }
.wds-hero__grid { align-items: center; display: grid; gap: 50px; grid-template-columns: .88fr 1.12fr; min-height: 610px; padding-block: 58px 76px; position: relative; z-index: 2; }
.wds-hero__content { max-width: 510px; }
.wds-eyebrow { align-items: center; color: var(--wds-red); display: inline-flex; font-size: .72rem; font-weight: 900; gap: 9px; letter-spacing: .12em; margin-bottom: 15px; text-transform: uppercase; }
.wds-eyebrow i { background: currentColor; border-radius: 3px; height: 2px; width: 25px; }
.wds-eyebrow--light { color: var(--wds-gold); }
.wds-eyebrow--center { justify-content: center; }
.wds-hero h1 { color: var(--wds-white); font-size: clamp(2.75rem, 5.2vw, 4.6rem); letter-spacing: -.055em; line-height: .98; }
.wds-hero h1 em, .wds-page-hero h1 em { color: var(--wds-gold); font-style: normal; }
.wds-hero__lede { color: rgb(255 255 255 / 77%); font-size: 1.02rem; line-height: 1.75; margin-top: 22px; max-width: 560px; }
.wds-hero__benefits { display: grid; gap: 9px; list-style: none; margin-top: 24px; }
.wds-hero__benefits li { align-items: center; display: flex; font-size: .9rem; font-weight: 650; gap: 10px; }
.wds-hero__benefits .wds-icon { background: var(--wds-gold); border-radius: 50%; color: var(--wds-red-dark); height: 20px; padding: 4px; width: 20px; }
.wds-hero__actions { align-items: center; display: flex; gap: 20px; margin-top: 30px; }
.wds-hero__microcopy { align-items: center; color: rgb(255 255 255 / 66%); display: flex; font-size: .72rem; gap: 12px; margin-top: 24px; }
.wds-hero__microcopy strong { color: var(--wds-white); display: block; font-size: .78rem; }
.wds-avatar-stack { display: flex; }
.wds-avatar-stack i { align-items: center; background: var(--wds-white); border: 2px solid var(--wds-red-dark); border-radius: 50%; color: var(--wds-red); display: flex; font-size: .65rem; font-style: normal; font-weight: 900; height: 30px; justify-content: center; margin-left: -7px; width: 30px; }
.wds-avatar-stack i:first-child { margin-left: 0; }
.wds-hero__visual { min-width: 0; padding: 16px 0 0 20px; position: relative; }
.wds-hero__image-wrap { border: 6px solid rgb(255 255 255 / 16%); border-radius: 48px 12px 48px 12px; box-shadow: 0 35px 70px rgb(39 0 5 / 40%); height: 440px; overflow: hidden; position: relative; }
.wds-hero__image-wrap::after { background: linear-gradient(90deg, rgb(102 5 13 / 28%), transparent 32%); content: ""; inset: 0; position: absolute; }
.wds-hero__image-wrap img { animation: wds-hero-breathe 12s ease-in-out infinite alternate; height: 100%; object-fit: cover; transform-origin: 62% 48%; width: 100%; }
.wds-floating-card { align-items: center; backdrop-filter: blur(12px); background: rgb(255 255 255 / 94%); border: 1px solid rgb(255 255 255 / 60%); border-radius: 14px; box-shadow: var(--wds-shadow-sm); color: var(--wds-ink); display: flex; gap: 11px; padding: 12px 15px; position: absolute; z-index: 2; }
.wds-floating-card .wds-icon { color: var(--wds-red); }
.wds-floating-card span { display: flex; flex-direction: column; }
.wds-floating-card strong { font-size: .78rem; line-height: 1.3; }
.wds-floating-card small { color: var(--wds-muted); font-size: .64rem; line-height: 1.3; margin-top: 2px; }
.wds-floating-card--top { animation: wds-float-top 6.5s ease-in-out infinite; right: -14px; top: 0; }
.wds-floating-card--bottom { animation: wds-float-bottom 7.2s ease-in-out 1s infinite; bottom: -18px; left: -4px; }
.wds-hero__road { bottom: -4px; height: 190px; left: 0; pointer-events: none; position: absolute; width: 100%; z-index: 1; }
.wds-hero__road svg { height: 100%; overflow: visible; width: 100%; }
.wds-hero__road path { fill: none; vector-effect: non-scaling-stroke; }
.wds-hero__road-shadow { filter: drop-shadow(0 12px 14px rgb(35 0 4 / 32%)); stroke: rgb(46 6 9 / 52%); stroke-linecap: round; stroke-width: 84; }
.wds-hero__road-asphalt { stroke: #292a2e; stroke-linecap: round; stroke-width: 74; }
.wds-hero__road-edge { stroke: rgb(255 195 26 / 48%); stroke-linecap: round; stroke-width: 82; }
.wds-hero__road-lane { animation: wds-road-travel 3.8s linear infinite; stroke: var(--wds-gold); stroke-dasharray: 3 5; stroke-linecap: round; stroke-width: 3; }

/* Trust strip and common sections */
.wds-trust-strip { background: var(--wds-white); border-bottom: 1px solid var(--wds-line); box-shadow: 0 12px 35px rgb(25 27 32 / 6%); position: relative; z-index: 3; }
.wds-trust-strip__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.wds-trust-strip__grid > div { align-items: center; border-right: 1px solid var(--wds-line); display: flex; gap: 13px; min-height: 104px; padding: 20px 25px; }
.wds-trust-strip__grid > div:last-child { border-right: 0; }
.wds-trust-strip .wds-icon { color: var(--wds-red); height: 30px; width: 30px; }
.wds-trust-strip span { display: flex; flex-direction: column; }
.wds-trust-strip strong { font-size: .72rem; letter-spacing: .03em; line-height: 1.35; text-transform: uppercase; }
.wds-trust-strip small { color: var(--wds-muted); font-size: .65rem; line-height: 1.4; margin-top: 4px; }
.wds-section { padding-block: 96px; }
.wds-section-heading { margin: 0 auto 42px; max-width: 700px; text-align: center; }
.wds-section-heading h2, .wds-about h2, .wds-home-faq h2 { font-size: clamp(2rem, 4vw, 3.15rem); }
.wds-section-heading p { color: var(--wds-muted); font-size: 1rem; margin: 14px auto 0; max-width: 620px; }
.wds-split { align-items: center; display: grid; gap: 70px; grid-template-columns: 1.02fr .98fr; }

/* About */
.wds-about { background: var(--wds-white); }
.wds-about__image { min-height: 470px; position: relative; }
.wds-about__image::before { background: var(--wds-gold); border-radius: 26px; content: ""; height: 90%; left: -13px; position: absolute; top: -13px; width: 80%; }
.wds-about__image img { border-radius: 26px; box-shadow: var(--wds-shadow); height: 470px; object-fit: cover; position: relative; width: 100%; }
.wds-about__experience { align-items: center; background: var(--wds-red); border: 6px solid var(--wds-white); border-radius: 20px; bottom: -30px; color: var(--wds-white); display: flex; gap: 10px; padding: 15px 20px; position: absolute; right: -18px; }
.wds-about__experience strong { color: var(--wds-gold); font-size: 2.35rem; line-height: 1; }
.wds-about__experience span { font-size: .7rem; font-weight: 750; line-height: 1.35; text-transform: uppercase; }
.wds-about__copy > p { color: var(--wds-muted); margin-top: 18px; }
.wds-stat-row { border-block: 1px solid var(--wds-line); display: grid; grid-template-columns: repeat(3, 1fr); margin-block: 30px; padding-block: 22px; }
.wds-stat-row div { border-right: 1px solid var(--wds-line); padding-inline: 15px; }
.wds-stat-row div:first-child { padding-left: 0; }
.wds-stat-row div:last-child { border-right: 0; }
.wds-stat-row strong { color: var(--wds-red); display: block; font-size: 1.45rem; line-height: 1; }
.wds-stat-row span { color: var(--wds-muted); display: block; font-size: .65rem; line-height: 1.4; margin-top: 7px; }

/* Learning cards */
.wds-learning { background: linear-gradient(180deg, #f7f7f8, #fff); }
.wds-learning__grid { display: grid; gap: 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wds-learning-card { background: var(--wds-white); border: 1px solid var(--wds-line); border-radius: var(--wds-radius); box-shadow: var(--wds-shadow-sm); overflow: hidden; padding: 22px; position: relative; }
.wds-learning-card::before { background: var(--accent); content: ""; height: 4px; inset: 0 0 auto; position: absolute; }
.wds-learning-card--gold { --accent: var(--wds-gold-deep); }
.wds-learning-card--red { --accent: var(--wds-red); }
.wds-learning-card__head { align-items: center; display: flex; gap: 14px; margin-bottom: 18px; }
.wds-learning-card__head > span { align-items: center; background: var(--accent); border-radius: 50%; color: var(--wds-white); display: flex; height: 48px; justify-content: center; width: 48px; }
.wds-learning-card--gold .wds-learning-card__head > span { color: var(--wds-ink); }
.wds-learning-card__head h3 { font-size: 1.15rem; }
.wds-learning-card__head p { color: var(--accent); font-size: .72rem; font-weight: 750; margin-top: 4px; }
.wds-learning-card > img { border-radius: 13px; height: 235px; object-fit: cover; width: 100%; }
.wds-feature-list { display: grid; gap: 12px; list-style: none; margin-block: 22px; }
.wds-feature-list li { align-items: center; display: flex; gap: 12px; }
.wds-feature-list .wds-icon { border: 1px solid var(--accent); border-radius: 50%; color: var(--accent); height: 28px; padding: 5px; width: 28px; }
.wds-feature-list span { display: flex; flex-direction: column; }
.wds-feature-list strong { font-size: .84rem; line-height: 1.35; }
.wds-feature-list small { color: var(--wds-muted); font-size: .74rem; line-height: 1.4; margin-top: 2px; }

/* Pricing */
.wds-pricing { background: var(--wds-white); }
.wds-tabs__list { background: var(--wds-cloud); border: 1px solid var(--wds-line); border-radius: 999px; display: grid; grid-template-columns: repeat(2, 1fr); margin: 0 auto 35px; max-width: 680px; padding: 5px; }
.wds-tabs__list button { background: transparent; border: 0; border-radius: 999px; color: var(--wds-muted); cursor: pointer; font-size: .82rem; font-weight: 850; padding: 13px; text-transform: uppercase; transition: background .2s, color .2s, box-shadow .2s; }
.wds-tabs__list button span { color: var(--wds-red); padding-inline: 8px; }
.wds-tabs__list button.is-active { background: linear-gradient(135deg, var(--wds-red-bright), var(--wds-red-dark)); box-shadow: 0 8px 20px rgb(150 7 18 / 24%); color: var(--wds-white); }
.wds-tabs__list button.is-active span { color: var(--wds-gold); }
.wds-tabs__panel:not(.is-active) { display: none; }
.wds-price-grid { align-items: stretch; display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wds-price-card { background: var(--wds-white); border: 1px solid var(--wds-line); border-radius: var(--wds-radius); box-shadow: 0 10px 35px rgb(25 27 32 / 6%); display: flex; flex-direction: column; min-height: 100%; overflow: hidden; padding: 25px 22px 20px; position: relative; transition: border-color .2s, box-shadow .2s, transform .2s; }
.wds-price-card:hover { border-color: rgb(188 13 28 / 34%); box-shadow: var(--wds-shadow-sm); transform: translateY(-4px); }
.wds-price-card--featured { border: 2px solid var(--wds-gold-deep); box-shadow: 0 18px 45px rgb(240 169 0 / 12%); }
.wds-price-card__badge { background: var(--wds-red); border-radius: 0 0 0 11px; color: var(--wds-white); font-size: .58rem; font-weight: 900; letter-spacing: .06em; padding: 7px 13px; position: absolute; right: 0; text-transform: uppercase; top: 0; }
.wds-price-card--featured .wds-price-card__badge { background: var(--wds-gold); color: var(--wds-ink); }
.wds-price-card__top { min-height: 68px; padding-right: 46px; }
.wds-price-card__top h3 { font-size: .98rem; letter-spacing: -.015em; }
.wds-price-card__top p { color: var(--wds-muted); font-size: .66rem; margin-top: 5px; }
.wds-price { color: var(--wds-red); font-size: 2.7rem; font-weight: 900; letter-spacing: -.06em; line-height: 1; margin-top: 18px; }
.wds-price span { font-size: 1rem; margin-right: 2px; vertical-align: top; }
.wds-price-note { color: var(--wds-muted); font-size: .63rem; margin-top: 5px; }
.wds-check-list { display: grid; gap: 8px; list-style: none; margin-block: 22px; }
.wds-check-list li { align-items: flex-start; color: #4c5058; display: flex; font-size: .67rem; gap: 8px; line-height: 1.45; }
.wds-check-list .wds-icon { background: var(--wds-red); border-radius: 50%; color: var(--wds-white); height: 14px; margin-top: 2px; padding: 3px; width: 14px; }
.wds-price-card .wds-button { margin-top: auto; min-height: 39px; padding: 8px 12px; }
.wds-pricing__more { margin-top: 30px; text-align: center; }

/* Roadmap */
.wds-process { background: radial-gradient(circle at 15% 15%, rgb(255 195 26 / 11%), transparent 25%), linear-gradient(135deg, #f5f5f6 0%, #fff 55%, #fff9e8 100%); overflow: hidden; }
.wds-roadmap { display: grid; grid-template-columns: repeat(3, 1fr); min-height: 310px; position: relative; }
.wds-roadmap__track { height: 230px; inset: 0; overflow: visible; pointer-events: none; position: absolute; width: 100%; }
.wds-roadmap__track path { fill: none; vector-effect: non-scaling-stroke; }
.wds-roadmap__shadow { filter: drop-shadow(0 12px 11px rgb(25 27 32 / 18%)); stroke: rgb(25 27 32 / 14%); stroke-linecap: round; stroke-width: 72; }
.wds-roadmap__asphalt { stroke: #303237; stroke-linecap: round; stroke-width: 62; }
.wds-roadmap__edge { stroke: rgb(241 169 0 / 48%); stroke-linecap: round; stroke-width: 70; }
.wds-roadmap__lane { animation: wds-road-travel 4.6s linear infinite; stroke: var(--wds-gold); stroke-dasharray: 3 5; stroke-linecap: round; stroke-width: 3; }
.wds-roadmap__track--mobile { display: none; }
.wds-roadmap article { align-items: center; align-self: start; display: flex; flex-direction: column; padding-inline: 28px; position: relative; text-align: center; z-index: 1; }
.wds-roadmap article:nth-of-type(2) { margin-top: 105px; }
.wds-roadmap article > i { align-items: center; background: linear-gradient(145deg, #fff, #f2f2f3); border: 4px solid var(--wds-gold); border-radius: 50%; box-shadow: 0 13px 30px rgb(25 27 32 / 18%), inset 0 0 0 6px #fff; color: var(--wds-red); display: flex; flex-direction: column; font-style: normal; height: 92px; justify-content: center; margin: 24px auto 18px; position: relative; transition: transform .3s ease, box-shadow .3s ease; width: 92px; }
.wds-roadmap article:hover > i { box-shadow: 0 18px 34px rgb(25 27 32 / 22%), inset 0 0 0 6px #fff; transform: translateY(-4px) rotate(-2deg); }
.wds-roadmap article > i b { color: var(--wds-red); font-size: .68rem; font-weight: 950; letter-spacing: .08em; line-height: 1; margin-bottom: 5px; }
.wds-roadmap article > i .wds-icon { height: 28px; width: 28px; }
.wds-roadmap h3 { font-size: 1.12rem; }
.wds-roadmap p { color: var(--wds-muted); font-size: .82rem; line-height: 1.65; margin: 8px auto 0; max-width: 260px; }
.wds-roadmap p strong { color: var(--wds-red); }
.wds-payment-note { align-items: center; background: var(--wds-white); border: 1px solid #f0d68e; border-left: 5px solid var(--wds-red); border-radius: var(--wds-radius); box-shadow: var(--wds-shadow-sm); display: grid; gap: 25px; grid-template-columns: 1fr 1.1fr; margin: 45px auto 0; max-width: 900px; padding: 23px 28px; }
.wds-payment-note > div { align-items: center; display: flex; gap: 14px; }
.wds-payment-note > div .wds-icon { color: var(--wds-red); height: 34px; width: 34px; }
.wds-payment-note span { display: flex; flex-direction: column; }
.wds-payment-note strong { font-size: .9rem; text-transform: uppercase; }
.wds-payment-note small { color: var(--wds-muted); font-size: .76rem; margin-top: 3px; }
.wds-payment-note a { color: var(--wds-red); font-weight: 750; }
.wds-payment-note ul { border-left: 1px solid var(--wds-line); color: var(--wds-muted); font-size: .76rem; padding-left: 30px; }

/* FAQ teaser */
.wds-home-faq { background-color: #eceef0; background-image: linear-gradient(135deg, rgb(32 35 40 / 3%) 25%, transparent 25%), linear-gradient(225deg, rgb(32 35 40 / 3%) 25%, transparent 25%), linear-gradient(45deg, rgb(255 255 255 / 52%) 25%, transparent 25%), linear-gradient(315deg, rgb(255 255 255 / 52%) 25%, #eceef0 25%); background-position: 18px 0, 18px 0, 0 0, 0 0; background-size: 36px 36px; color: var(--wds-ink); overflow: hidden; position: relative; }
.wds-home-faq::before { background: radial-gradient(circle at 16% 38%, rgb(255 195 26 / 18%), transparent 24%), radial-gradient(circle at 82% 72%, rgb(188 13 28 / 7%), transparent 28%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.wds-home-faq .wds-shell { position: relative; z-index: 1; }
.wds-split--faq { grid-template-columns: .8fr 1.2fr; }
.wds-home-faq h2 { color: var(--wds-ink); }
.wds-home-faq .wds-split > div:first-child > p { color: var(--wds-muted); font-size: 1rem; margin-block: 18px 28px; }
.wds-home-faq .wds-button--dark { background: var(--wds-red); }
.wds-mini-faq { display: grid; gap: 12px; }
.wds-mini-faq details { background: rgb(255 255 255 / 86%); border: 1px solid rgb(70 73 80 / 11%); border-radius: 16px; box-shadow: 0 10px 32px rgb(25 27 32 / 7%); overflow: hidden; transition: border-color .25s, box-shadow .25s, transform .25s; }
.wds-mini-faq details[open] { border-color: rgb(188 13 28 / 22%); box-shadow: 0 18px 42px rgb(25 27 32 / 11%); transform: translateX(5px); }
.wds-mini-faq summary { align-items: center; cursor: pointer; display: flex; font-size: .94rem; font-weight: 780; justify-content: space-between; list-style: none; padding: 19px 21px; }
.wds-mini-faq summary::-webkit-details-marker { display: none; }
.wds-mini-faq summary span { align-items: center; background: #fff7dc; border-radius: 50%; color: var(--wds-red); display: flex; flex: 0 0 auto; font-size: 1.2rem; height: 30px; justify-content: center; margin-left: 15px; transition: transform .25s, background .25s; width: 30px; }
.wds-mini-faq details[open] summary span { transform: rotate(45deg); }
.wds-mini-faq details p { animation: wds-faq-in .3s ease both; border-top: 1px solid var(--wds-line); color: var(--wds-muted); font-size: .83rem; line-height: 1.7; padding: 16px 21px 21px; }

/* Contact strip */
.wds-contact-strip { background: linear-gradient(180deg, #f7f7f8, #efeff1); padding-block: 52px; }
.wds-contact-strip__grid { display: grid; gap: 16px; grid-template-columns: repeat(3, 1fr); }
.wds-contact-strip__grid > a { align-items: flex-start; background: linear-gradient(145deg, #fff, #fbfbfc); border: 1px solid rgb(188 13 28 / 11%); border-radius: 18px; box-shadow: 0 12px 32px rgb(25 27 32 / 8%), inset 0 1px 0 #fff; display: flex; gap: 15px; min-height: 170px; min-width: 0; overflow: hidden; padding: 24px 21px; position: relative; transition: transform .25s, box-shadow .25s, border-color .25s; }
.wds-contact-strip__grid > a::before { background: linear-gradient(90deg, var(--wds-red), var(--wds-gold)); content: ""; height: 3px; inset: 0 45% auto 0; position: absolute; transition: right .3s ease; }
.wds-contact-strip__grid > a:hover { border-color: rgb(188 13 28 / 22%); box-shadow: 0 18px 40px rgb(25 27 32 / 12%); transform: translateY(-5px); }
.wds-contact-strip__grid > a:hover::before { right: 0; }
.wds-contact-strip__grid > a > .wds-icon { background: var(--wds-white); border: 2px solid var(--wds-red); border-radius: 50%; color: var(--wds-red); height: 49px; padding: 11px; position: relative; width: 49px; z-index: 2; }
.wds-contact-strip__grid span { display: flex; flex-direction: column; min-width: 0; position: relative; z-index: 2; }
.wds-contact-strip__grid small { color: var(--wds-muted); font-size: .72rem; }
.wds-contact-strip__grid strong { color: var(--wds-red); font-size: .84rem; overflow-wrap: anywhere; }
.wds-contact-strip__grid em { align-items: center; color: var(--wds-red); display: flex; font-size: .7rem; font-style: normal; font-weight: 850; gap: 6px; margin-top: 10px; }
.wds-contact-strip__grid em .wds-icon { height: 13px; width: 13px; }
.wds-contact-card__art { bottom: -7px; height: 105px; opacity: .65; pointer-events: none; position: absolute; right: -3px; transition: opacity .3s, transform .45s ease; width: 54%; }
.wds-contact-card:hover .wds-contact-card__art { opacity: .9; transform: translate3d(-3px, -2px, 0); }
.wds-contact-card--phone .wds-contact-card__art path { animation: wds-signal 3.6s ease-in-out infinite; fill: none; stroke: rgb(188 13 28 / 17%); stroke-width: 2; }
.wds-contact-card--phone .wds-contact-card__art path:nth-child(2) { animation-delay: .25s; }
.wds-contact-card--phone .wds-contact-card__art path:nth-child(3) { animation-delay: .5s; }
.wds-contact-card--email .wds-contact-card__art { width: 60%; }
.wds-flight-path { animation: wds-flight 8s linear infinite; fill: none; stroke: rgb(93 98 108 / 22%); stroke-dasharray: 3 5; stroke-linecap: round; stroke-width: 1.6; }
.wds-paper-plane { fill: none; stroke: rgb(93 98 108 / 22%); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
.wds-contact-card--map .wds-contact-card__art { height: 120px; opacity: .72; width: 58%; }
.wds-map-grid path { fill: none; stroke: rgb(93 98 108 / 10%); stroke-width: 1; }
.wds-map-route { animation: wds-flight 9s linear infinite; fill: none; stroke: var(--wds-gold-deep); stroke-dasharray: 18 3; stroke-linecap: round; stroke-width: 2.2; }
.wds-contact-card--map circle:first-of-type { fill: #fff; stroke: var(--wds-red); stroke-width: 3; }
.wds-contact-card--map circle:last-of-type { fill: var(--wds-gold); }

/* Inner page hero */
.wds-page-hero { background: linear-gradient(125deg, #7d0610, #b00918 58%, #65040c); color: var(--wds-white); overflow: hidden; position: relative; }
.wds-page-hero::before { background: repeating-linear-gradient(115deg, transparent 0 44px, rgb(255 255 255 / 3%) 44px 45px); content: ""; inset: 0; position: absolute; }
.wds-page-hero::after { border: 45px solid rgb(255 195 26 / 9%); border-radius: 50%; content: ""; height: 340px; position: absolute; right: -120px; top: -190px; width: 340px; }
.wds-page-hero__inner { padding-block: 85px 90px; position: relative; z-index: 1; }
.wds-page-hero__inner > * { max-width: 750px; }
.wds-page-hero h1 { color: var(--wds-white); font-size: clamp(2.5rem, 5vw, 4.4rem); }
.wds-page-hero p { color: rgb(255 255 255 / 72%); font-size: 1.02rem; margin-top: 18px; max-width: 670px; }
.wds-page-hero__actions { align-items: center; display: flex; gap: 22px; margin-top: 28px; }
.wds-page-hero--compact .wds-page-hero__inner { padding-block: 70px; }
.wds-page-hero--compact h1 { font-size: clamp(2.35rem, 4.6vw, 3.8rem); }

/* Course page */
.wds-learning--page { padding-bottom: 110px; }
.wds-pricing--page { background: var(--wds-cloud); }
.wds-pricing--alternate { background: var(--wds-white); }
.wds-course-note { background: linear-gradient(90deg, var(--wds-gold), #ffd75b); padding-block: 32px; }
.wds-course-note .wds-shell { align-items: center; display: flex; gap: 25px; justify-content: space-between; }
.wds-course-note .wds-shell > div { align-items: center; display: flex; gap: 14px; }
.wds-course-note .wds-shell > div > .wds-icon { height: 34px; width: 34px; }
.wds-course-note span { display: flex; flex-direction: column; }
.wds-course-note strong { font-size: 1rem; }
.wds-course-note small { font-size: .72rem; }

/* FAQ page */
.wds-faq-page { background: var(--wds-cloud); }
.wds-faq-layout { align-items: start; display: grid; gap: 45px; grid-template-columns: 300px 1fr; }
.wds-faq-aside { background: var(--wds-white); border-radius: var(--wds-radius); box-shadow: var(--wds-shadow-sm); padding: 28px; position: sticky; top: 110px; }
.wds-faq-aside > span { align-items: center; background: var(--wds-gold); border-radius: 14px; color: var(--wds-ink); display: flex; height: 52px; justify-content: center; margin-bottom: 22px; width: 52px; }
.wds-faq-aside h2 { font-size: 1.55rem; }
.wds-faq-aside p { color: var(--wds-muted); font-size: .78rem; margin-block: 12px 22px; }
.wds-faq-aside .wds-text-link { display: flex; justify-content: center; margin-top: 16px; }
.wds-faq-list { display: grid; gap: 11px; }
.wds-faq-list details { background: var(--wds-white); border: 1px solid var(--wds-line); border-radius: 14px; overflow: hidden; transition: border-color .2s, box-shadow .2s; }
.wds-faq-list details[open] { border-color: rgb(188 13 28 / 28%); box-shadow: var(--wds-shadow-sm); }
.wds-faq-list summary { align-items: center; cursor: pointer; display: grid; font-size: .88rem; font-weight: 750; gap: 15px; grid-template-columns: 34px 1fr 20px; list-style: none; padding: 19px 22px; }
.wds-faq-list summary::-webkit-details-marker { display: none; }
.wds-faq-list summary > span { color: var(--wds-red); font-size: .65rem; font-weight: 900; }
.wds-faq-list summary > i { color: var(--wds-red); font-size: 1.25rem; font-style: normal; transition: transform .2s; }
.wds-faq-list details[open] summary > i { transform: rotate(45deg); }
.wds-faq-list details > div { border-top: 1px solid var(--wds-line); margin-left: 71px; padding: 18px 25px 22px 0; }
.wds-faq-list details p { color: var(--wds-muted); font-size: .78rem; }
.wds-faq-list details a { align-items: center; color: var(--wds-red); display: inline-flex; font-size: .72rem; font-weight: 800; gap: 7px; margin-top: 12px; }
.wds-faq-list details a .wds-icon { height: 15px; width: 15px; }

/* Location */
.wds-location-grid { align-items: center; display: grid; gap: 70px; grid-template-columns: 1.08fr .92fr; }
.wds-map-card { background: #eee9de; border: 8px solid var(--wds-white); border-radius: var(--wds-radius-lg); box-shadow: var(--wds-shadow); height: 470px; overflow: hidden; position: relative; }
.wds-map-card::before { background-image: radial-gradient(#b9b3a6 1px, transparent 1px); background-size: 17px 17px; content: ""; inset: 0; opacity: .35; position: absolute; }
.wds-map-card__roads i { background: var(--wds-white); border: 1px solid #d8d1c4; height: 33px; left: -10%; position: absolute; top: 25%; transform: rotate(22deg); width: 120%; }
.wds-map-card__roads i:nth-child(2) { height: 24px; top: 57%; transform: rotate(-14deg); }
.wds-map-card__roads i:nth-child(3) { height: 18px; left: 45%; top: -5%; transform: rotate(83deg); width: 90%; }
.wds-map-card__roads span { align-items: center; background: var(--wds-red); border: 5px solid var(--wds-white); border-radius: 50% 50% 50% 0; box-shadow: 0 9px 22px rgb(25 27 32 / 20%); color: var(--wds-white); display: flex; height: 64px; justify-content: center; left: 52%; position: absolute; top: 42%; transform: rotate(-45deg); width: 64px; }
.wds-map-card__roads span .wds-icon { transform: rotate(45deg); }
.wds-map-card__label { background: var(--wds-white); border-radius: 12px; bottom: 20px; box-shadow: var(--wds-shadow-sm); display: flex; flex-direction: column; left: 20px; padding: 12px 16px; position: absolute; }
.wds-map-card__label small { color: var(--wds-red); font-size: .62rem; font-weight: 900; text-transform: uppercase; }
.wds-map-card__label strong { font-size: .86rem; }
.wds-location-copy h2 { font-size: clamp(2.3rem, 4vw, 3.4rem); }
.wds-location-address { color: var(--wds-muted); font-size: 1rem; margin-block: 18px 25px; }
.wds-service-areas { border-top: 1px solid var(--wds-line); margin-top: 32px; padding-top: 28px; }
.wds-service-areas h3 { font-size: .85rem; text-transform: uppercase; }
.wds-service-areas ul { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; margin-top: 13px; }
.wds-service-areas li { align-items: center; background: var(--wds-cloud); border-radius: 999px; display: flex; font-size: .72rem; font-weight: 750; gap: 6px; padding: 8px 12px; }
.wds-service-areas .wds-icon { color: var(--wds-red); height: 14px; width: 14px; }
.wds-location-contact { background: var(--wds-cloud); padding-block: 60px; }
.wds-location-contact .wds-shell { align-items: center; display: grid; gap: 40px; grid-template-columns: .8fr 1.2fr; }
.wds-location-contact header h2 { font-size: 2rem; }
.wds-location-contact .wds-shell > div { display: grid; gap: 15px; grid-template-columns: repeat(2, 1fr); }
.wds-location-contact a { align-items: center; background: var(--wds-white); border-radius: 14px; box-shadow: var(--wds-shadow-sm); display: flex; gap: 13px; padding: 18px; }
.wds-location-contact a > .wds-icon { color: var(--wds-red); }
.wds-location-contact a span { display: flex; flex-direction: column; min-width: 0; }
.wds-location-contact a small { color: var(--wds-muted); font-size: .63rem; }
.wds-location-contact a strong { font-size: .72rem; overflow-wrap: anywhere; }

/* Contact and register forms */
.wds-contact-promises { display: grid; gap: 15px; grid-template-columns: repeat(3, 1fr); margin-bottom: 40px; }
.wds-contact-promises > div { align-items: center; background: var(--wds-cloud); border-radius: 15px; display: flex; gap: 13px; padding: 18px; }
.wds-contact-promises .wds-icon { color: var(--wds-red); }
.wds-contact-promises span { display: flex; flex-direction: column; }
.wds-contact-promises strong { font-size: .76rem; }
.wds-contact-promises small { color: var(--wds-muted); font-size: .65rem; margin-top: 2px; }
.wds-contact-layout { align-items: stretch; display: grid; gap: 25px; grid-template-columns: 1.22fr .78fr; }
.wds-form-shell { background: var(--wds-white); border: 1px solid var(--wds-line); border-radius: var(--wds-radius-lg); box-shadow: var(--wds-shadow-sm); padding: 32px; }
.wds-form-shell > header { margin-bottom: 25px; }
.wds-form-shell > header h2 { font-size: 2rem; }
.wds-form-shell > header p { color: var(--wds-muted); font-size: .75rem; margin-top: 8px; }
.wds-plugin-notice { background: #fff7db; border: 1px solid #f2d985; border-radius: 12px; color: #6a5513; font-size: .8rem; padding: 18px; }
.wds-contact-aside { background: linear-gradient(150deg, #9c0715, #65040c); border-radius: var(--wds-radius-lg); color: var(--wds-white); padding: 35px 30px; }
.wds-contact-aside h2 { color: var(--wds-white); font-size: 2rem; }
.wds-contact-aside > p { color: rgb(255 255 255 / 68%); font-size: .78rem; margin-top: 12px; }
.wds-contact-aside ul { border-block: 1px solid rgb(255 255 255 / 12%); display: grid; gap: 20px; list-style: none; margin-block: 28px; padding-block: 25px; }
.wds-contact-aside li { align-items: flex-start; display: flex; font-size: .75rem; gap: 12px; }
.wds-contact-aside li > .wds-icon { color: var(--wds-gold); margin-top: 2px; }
.wds-contact-aside li span { display: flex; flex-direction: column; min-width: 0; }
.wds-contact-aside li small { color: rgb(255 255 255 / 52%); font-size: .62rem; margin-bottom: 3px; text-transform: uppercase; }
.wds-contact-aside li a { font-weight: 750; overflow-wrap: anywhere; }
.wds-register-page { background: var(--wds-cloud); }
.wds-register-layout { align-items: start; display: grid; gap: 30px; grid-template-columns: 360px 1fr; }
.wds-register-guide { background: var(--wds-white); border-radius: var(--wds-radius); box-shadow: var(--wds-shadow-sm); padding: 30px; position: sticky; top: 110px; }
.wds-register-guide h2 { font-size: 1.8rem; }
.wds-register-guide ol { display: grid; gap: 22px; list-style: none; margin-top: 28px; }
.wds-register-guide li { display: flex; gap: 13px; }
.wds-register-guide li > span { align-items: center; background: var(--wds-red); border-radius: 50%; color: var(--wds-white); display: flex; flex: 0 0 auto; font-size: .65rem; font-weight: 900; height: 28px; justify-content: center; width: 28px; }
.wds-register-guide li div { display: flex; flex-direction: column; }
.wds-register-guide li strong { font-size: .76rem; }
.wds-register-guide li small { color: var(--wds-muted); font-size: .67rem; line-height: 1.55; margin-top: 4px; }
.wds-register-help { align-items: center; background: #fff6d6; border-radius: 12px; display: flex; gap: 11px; margin-top: 28px; padding: 14px; }
.wds-register-help .wds-icon { color: var(--wds-red); }
.wds-register-help span { display: flex; flex-direction: column; }
.wds-register-help small { color: var(--wds-muted); font-size: .6rem; }
.wds-register-help a { font-size: .7rem; font-weight: 800; }
.wds-policy-note { color: var(--wds-muted); font-size: .68rem; line-height: 1.65; margin: 35px auto 0; max-width: var(--wds-shell); padding-inline: 24px; }
.wds-policy-note strong { color: var(--wds-ink); display: block; font-size: .72rem; margin-bottom: 6px; text-transform: uppercase; }
.wds-form-shell .mrnf-form { border: 0; box-shadow: none; padding: 0; }
.wds-form-shell .mrnf-form::before { display: none; }
.wds-form-shell .mrnf-field input:not([type="radio"]):not([type="checkbox"]):not([type="file"]), .wds-form-shell .mrnf-field textarea, .wds-form-shell .mrnf-field select { background: var(--wds-cloud); border-color: #dfe1e5; min-height: 3.25rem; }
.wds-form-shell .mrnf-submit { background: linear-gradient(135deg, var(--wds-red-bright), var(--wds-red-dark)); border-radius: 11px; min-height: 3.15rem; text-transform: uppercase; }
.wds-form-shell .mrnf-submit i { color: var(--wds-gold); }
.wds-form-shell .mrnf-field--heading h3 { color: var(--wds-red); font-size: .95rem; text-transform: uppercase; }

/* Footer */
.wds-final-cta { background: linear-gradient(100deg, #d80f21, #a00614 70%); color: var(--wds-white); overflow: hidden; position: relative; }
.wds-final-cta::before, .wds-final-cta::after { border: 1px dashed rgb(255 255 255 / 20%); border-radius: 50%; content: ""; height: 180px; position: absolute; right: -25px; top: -80px; width: 280px; }
.wds-final-cta::after { right: 35px; top: -110px; }
.wds-final-cta__inner { align-items: center; display: flex; gap: 18px; min-height: 100px; position: relative; z-index: 1; }
.wds-final-cta__icon { align-items: center; background: var(--wds-white); border-radius: 50%; color: var(--wds-red); display: flex; height: 52px; justify-content: center; width: 52px; }
.wds-final-cta__inner > div { display: flex; flex: 1; flex-direction: column; }
.wds-final-cta__inner strong { font-size: 1.15rem; }
.wds-final-cta__inner span { color: rgb(255 255 255 / 72%); font-size: .7rem; }
.wds-footer { background: #25272c; color: rgb(255 255 255 / 70%); }
.wds-footer__grid { display: grid; gap: 45px; grid-template-columns: 1.35fr .75fr 1.15fr 1fr; padding-block: 55px 45px; }
.wds-brand--footer { color: var(--wds-white); }
.wds-footer__brand > p { font-size: .7rem; line-height: 1.65; margin-top: 18px; max-width: 290px; }
.wds-footer h2 { color: var(--wds-white); font-size: .78rem; letter-spacing: .06em; margin-bottom: 17px; text-transform: uppercase; }
.wds-footer__nav ul { display: grid; gap: 8px; list-style: none; }
.wds-footer__nav a { font-size: .69rem; transition: color .2s; }
.wds-footer__nav a::before { color: var(--wds-gold); content: "›"; margin-right: 7px; }
.wds-footer__nav a:hover { color: var(--wds-white); }
.wds-footer__contact { display: grid; align-content: start; gap: 12px; }
.wds-footer__contact h2 { margin-bottom: 5px; }
.wds-footer__contact a { align-items: center; display: flex; gap: 10px; min-width: 0; }
.wds-footer__contact a > .wds-icon { color: var(--wds-gold); height: 19px; width: 19px; }
.wds-footer__contact span { display: flex; flex-direction: column; font-size: .66rem; min-width: 0; overflow-wrap: anywhere; }
.wds-footer__contact small { color: rgb(255 255 255 / 40%); font-size: .56rem; }
.wds-footer__trust p { font-size: .68rem; line-height: 1.6; margin-bottom: 15px; }
.wds-footer__trust .wds-button { font-size: .6rem; min-height: 37px; padding: 7px 11px; }
.wds-footer__bottom { align-items: center; border-top: 1px solid rgb(255 255 255 / 9%); display: flex; font-size: .61rem; justify-content: space-between; padding-block: 18px; }
.wds-footer__bottom a { color: var(--wds-gold); font-weight: 750; }
.wds-mobile-actions { display: none; }
.wds-content { max-width: 850px; }
.wds-content > * + * { margin-top: 1.2em; }

/* Type scale polish */
.wds-eyebrow { font-size: .78rem; }
.wds-hero__microcopy { font-size: .79rem; }
.wds-hero__microcopy strong { font-size: .86rem; }
.wds-floating-card strong { font-size: .84rem; }
.wds-floating-card small { font-size: .71rem; }
.wds-trust-strip strong { font-size: .78rem; }
.wds-trust-strip small { font-size: .72rem; }
.wds-about__copy > p { font-size: 1rem; line-height: 1.75; }
.wds-stat-row span { font-size: .72rem; }
.wds-learning-card__head p { font-size: .79rem; }
.wds-price-card__badge { font-size: .66rem; }
.wds-price-card__top h3 { font-size: 1.06rem; }
.wds-price-card__top p { font-size: .74rem; }
.wds-price-note { font-size: .71rem; }
.wds-check-list li { font-size: .76rem; line-height: 1.55; }
.wds-faq-aside p, .wds-faq-list details p { font-size: .86rem; }
.wds-faq-list summary { font-size: .96rem; }
.wds-faq-list details a { font-size: .8rem; }
.wds-location-contact a strong, .wds-contact-promises strong, .wds-register-guide li strong { font-size: .84rem; }
.wds-contact-promises small, .wds-register-guide li small, .wds-form-shell > header p { font-size: .74rem; }
.wds-footer__brand > p, .wds-footer__trust p { font-size: .76rem; }
.wds-footer__nav a, .wds-footer__contact span { font-size: .74rem; }
.wds-footer__contact small { font-size: .63rem; }
.wds-footer__bottom { font-size: .68rem; }

/* Motion */
[data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
[data-reveal].is-visible { opacity: 1; transform: none; }
@keyframes wds-road-travel { to { stroke-dashoffset: -16; } }
@keyframes wds-hero-breathe { from { transform: scale(1.01) translate3d(0, 0, 0); } to { transform: scale(1.055) translate3d(-.8%, -.5%, 0); } }
@keyframes wds-float-top { 0%, 100% { transform: translate3d(0, 0, 0) rotate(0); } 50% { transform: translate3d(-2px, -5px, 0) rotate(-.6deg); } }
@keyframes wds-float-bottom { 0%, 100% { transform: translate3d(0, 0, 0) rotate(0); } 50% { transform: translate3d(3px, -4px, 0) rotate(.7deg); } }
@keyframes wds-faq-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@keyframes wds-signal { 0%, 100% { opacity: .48; transform: translateX(0); } 50% { opacity: 1; transform: translateX(3px); } }
@keyframes wds-flight { to { stroke-dashoffset: -100; } }

@media (max-width: 1080px) {
	.wds-header__inner { gap: 13px; }
	.wds-nav a { padding-inline: 10px; }
	.wds-header__phone span { display: none; }
	.wds-header__phone { border: 1px solid rgb(255 255 255 / 20%); border-radius: 9px; padding: 8px; }
	.wds-hero__grid { gap: 30px; grid-template-columns: .92fr 1.08fr; }
	.wds-price-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wds-footer__grid { grid-template-columns: 1.1fr .8fr 1.1fr; }
	.wds-footer__trust { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
	.admin-bar .wds-header { top: 46px; }
	.wds-header__inner { height: 72px; }
	.wds-brand__logo { height: 54px; width: 57px; }
	.wds-menu-toggle { display: inline-flex; margin-left: auto; }
	.wds-header__actions { margin-left: 0; }
	.wds-header__cta { display: none; }
	.wds-nav { background: #870611; border-top: 1px solid rgb(255 255 255 / 12%); box-shadow: 0 16px 30px rgb(58 0 6 / 25%); display: none; left: 0; margin: 0; padding: 12px 24px 20px; position: absolute; right: 0; top: 100%; }
	.wds-nav.is-open { display: block; }
	.wds-nav ul { align-items: stretch; display: grid; }
	.wds-nav a { padding: 11px 12px; }
	.wds-hero__grid { grid-template-columns: 1fr; padding-block: 55px 95px; }
	.wds-hero__content { max-width: 680px; }
	.wds-hero__visual { margin-inline: auto; max-width: 690px; padding: 10px 0 0; width: 100%; }
	.wds-trust-strip__grid { grid-template-columns: repeat(2, 1fr); }
	.wds-trust-strip__grid > div:nth-child(2) { border-right: 0; }
	.wds-trust-strip__grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--wds-line); }
	.wds-split { gap: 48px; grid-template-columns: 1fr; }
	.wds-about__image { max-width: 720px; }
	.wds-roadmap article { padding-inline: 12px; }
	.wds-contact-strip__grid { grid-template-columns: 1fr; }
	.wds-faq-layout, .wds-location-grid, .wds-contact-layout, .wds-register-layout { grid-template-columns: 1fr; }
	.wds-faq-aside, .wds-register-guide { position: static; }
	.wds-faq-aside { text-align: center; }
	.wds-faq-aside > span { margin-inline: auto; }
	.wds-location-contact .wds-shell { grid-template-columns: 1fr; }
	.wds-map-card { height: 420px; }
	.wds-footer__grid { grid-template-columns: repeat(2, 1fr); }
	.wds-footer__trust { grid-column: auto; }
}

@media (max-width: 680px) {
	body.mrn-wds { padding-bottom: 64px; }
	.wds-shell { padding-inline: 18px; }
	.wds-header__inner { height: 66px; }
	.wds-brand__logo { border-radius: 10px; height: 49px; width: 52px; }
	.wds-menu-toggle__label { display: none; }
	.wds-header__phone { padding: 7px; }
	.wds-header__phone .wds-icon { height: 20px; width: 20px; }
	.wds-hero { min-height: 0; }
	.wds-hero__grid { gap: 38px; min-height: 0; padding-block: 45px 80px; }
	.wds-hero h1 { font-size: clamp(2.45rem, 13vw, 3.6rem); }
	.wds-hero__lede { font-size: .92rem; }
	.wds-hero__actions { align-items: stretch; flex-direction: column; gap: 15px; }
	.wds-hero__actions .wds-text-link { justify-content: center; }
	.wds-hero__image-wrap { border-radius: 28px 9px 28px 9px; height: 290px; }
	.wds-floating-card { padding: 10px 12px; }
	.wds-floating-card--top { right: -5px; top: -8px; }
	.wds-floating-card--bottom { bottom: -15px; left: -6px; }
	.wds-hero__road { bottom: -18px; height: 130px; }
	.wds-trust-strip__grid > div { gap: 10px; min-height: 88px; padding: 13px 14px; }
	.wds-trust-strip .wds-icon { height: 25px; width: 25px; }
	.wds-trust-strip strong { font-size: .72rem; }
	.wds-trust-strip small { font-size: .66rem; }
	.wds-section { padding-block: 68px; }
	.wds-section-heading { margin-bottom: 30px; }
	.wds-section-heading h2, .wds-about h2, .wds-home-faq h2 { font-size: 2.15rem; }
	.wds-about__image { min-height: 340px; }
	.wds-about__image img { height: 340px; }
	.wds-about__experience { bottom: -20px; right: -6px; }
	.wds-stat-row { gap: 0; }
	.wds-stat-row div { padding-inline: 8px; }
	.wds-stat-row strong { font-size: 1.2rem; }
	.wds-learning__grid { grid-template-columns: 1fr; }
	.wds-learning-card { padding: 18px; }
	.wds-learning-card > img { height: 195px; }
	.wds-tabs__list button { font-size: .76rem; padding: 11px 5px; }
	.wds-price-grid { grid-auto-columns: 84%; grid-template-columns: none; grid-auto-flow: column; margin-inline: -18px; overflow-x: auto; overscroll-behavior-inline: contain; padding: 6px 18px 25px; scroll-padding-inline: 18px; scroll-snap-type: x mandatory; }
	.wds-price-card { scroll-snap-align: start; }
	.wds-roadmap { gap: 42px; grid-template-columns: 1fr; min-height: 600px; }
	.wds-roadmap__track--desktop { display: none; }
	.wds-roadmap__track--mobile { display: block; height: 100%; left: 0; width: 118px; }
	.wds-roadmap__shadow { display: none; }
	.wds-roadmap__edge { stroke-width: 57; }
	.wds-roadmap__asphalt { stroke-width: 50; }
	.wds-roadmap article, .wds-roadmap article:nth-of-type(2) { align-items: center; display: grid; flex-direction: initial; gap: 5px 17px; grid-template-columns: 88px 1fr; margin-top: 0; padding: 0; text-align: left; }
	.wds-roadmap article:nth-of-type(2) { margin-left: 27px; }
	.wds-roadmap article > i { grid-column: 1; height: 80px; margin: 0; width: 80px; }
	.wds-roadmap article > div { grid-column: 2; }
	.wds-roadmap h3, .wds-roadmap p { margin: 0; max-width: none; }
	.wds-roadmap p { margin-top: 6px; }
	.wds-payment-note { grid-template-columns: 1fr; padding: 20px; }
	.wds-payment-note ul { border-left: 0; border-top: 1px solid var(--wds-line); padding: 15px 0 0 18px; }
	.wds-contact-strip { padding-block: 34px; }
	.wds-contact-strip__grid > a { min-height: 158px; }
	.wds-contact-card__art { width: 48%; }
	.wds-page-hero__inner, .wds-page-hero--compact .wds-page-hero__inner { padding-block: 55px; }
	.wds-page-hero h1, .wds-page-hero--compact h1 { font-size: 2.45rem; }
	.wds-page-hero p { font-size: .88rem; }
	.wds-page-hero__actions { align-items: stretch; flex-direction: column; }
	.wds-page-hero__actions .wds-text-link { justify-content: center; }
	.wds-course-note .wds-shell { align-items: stretch; flex-direction: column; }
	.wds-faq-list summary { font-size: .9rem; gap: 8px; grid-template-columns: 25px 1fr 18px; padding: 16px; }
	.wds-faq-list details > div { margin-left: 49px; padding: 15px 17px 18px 0; }
	.wds-map-card { height: 330px; }
	.wds-service-areas ul { display: grid; grid-template-columns: repeat(2, 1fr); }
	.wds-location-contact .wds-shell > div { grid-template-columns: 1fr; }
	.wds-contact-promises { grid-template-columns: 1fr; }
	.wds-form-shell { border-radius: 20px; padding: 22px 17px; }
	.wds-contact-aside { border-radius: 20px; padding: 28px 22px; }
	.wds-register-guide { padding: 24px 20px; }
	.wds-footer__grid { grid-template-columns: 1fr; padding-block: 42px 34px; }
	.wds-footer__brand > p { max-width: none; }
	.wds-footer__bottom { align-items: flex-start; flex-direction: column; gap: 5px; }
	.wds-final-cta__inner { align-items: flex-start; flex-wrap: wrap; min-height: 0; padding-block: 28px; }
	.wds-final-cta__inner .wds-button { margin-left: 70px; }
	.wds-final-cta__icon { flex: 0 0 auto; }
	.wds-final-cta__inner > div { flex: 1 1 calc(100% - 70px); }
	.wds-mobile-actions { background: var(--wds-white); border-top: 1px solid var(--wds-line); bottom: 0; box-shadow: 0 -8px 25px rgb(25 27 32 / 10%); display: grid; grid-template-columns: repeat(3, 1fr); left: 0; position: fixed; right: 0; z-index: 1100; }
	.wds-mobile-actions a { align-items: center; color: var(--wds-muted); display: flex; flex-direction: column; font-size: .58rem; font-weight: 800; gap: 2px; justify-content: center; min-height: 64px; text-transform: uppercase; }
	.wds-mobile-actions a .wds-icon { height: 20px; width: 20px; }
	.wds-mobile-actions a.is-primary { background: var(--wds-red); color: var(--wds-white); margin: -7px 5px 6px; min-height: 65px; border-radius: 13px; box-shadow: 0 8px 22px rgb(163 7 20 / 24%); }
}

@media (max-width: 360px) {
	.wds-trust-strip__grid { grid-template-columns: 1fr; }
	.wds-trust-strip__grid > div { border-bottom: 1px solid var(--wds-line); border-right: 0; }
	.wds-stat-row { grid-template-columns: 1fr; }
	.wds-stat-row div { border-bottom: 1px solid var(--wds-line); border-right: 0; padding-block: 12px; }
	.wds-stat-row div:last-child { border-bottom: 0; }
	.wds-final-cta__inner .wds-button { margin-left: 0; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
	[data-reveal] { opacity: 1; transform: none; }
}
