:root { --forest:#063b2a; --forest-dark:#03271c; --lime:#9be30c; --lime-soft:#d8fa8b; --cream:#f5f3ea; --ink:#14231d; --muted:#64716b; --line:#dfe6df; --font-body:Inter,"Segoe UI",Arial,sans-serif; --font-display:"Arial Black",Inter,"Segoe UI",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:92px; }
body.rijzone-body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--font-body); }
a { color:inherit; text-decoration:none; }
.rijzone-page img { display:block; max-width:100%; }
.rijzone-page button,.rijzone-page input,.rijzone-page textarea { font:inherit; }
.shell { width:min(1180px,calc(100% - 40px)); margin:0 auto; }
.section { padding:112px 0; }
.eyebrow { margin:0 0 18px; color:#4e7c21; font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.eyebrow.light { color:var(--lime); }
.rijzone-page h1,.rijzone-page h2,.rijzone-page h3 { margin-top:0; color:var(--ink); font-family:var(--font-display),Arial,sans-serif; letter-spacing:-.04em; }
.rijzone-page h2 { margin-bottom:20px; font-size:clamp(36px,5vw,62px); line-height:1.02; }
.rijzone-page .hero-copy h1,
.rijzone-page .routes h2,
.rijzone-page .routes .route-grid article:not(.route-featured) h3,
.rijzone-page .included-band h2,
.rijzone-page .service-grid .service-accent h3,
.rijzone-page .package-card.featured h3,
.rijzone-page .steps h2,
.rijzone-page .steps h3,
.rijzone-page .contact-copy h2 { color:#fff!important; }
.rijzone-page .hero-copy h1 span { color:var(--lime)!important; }
.rijzone-page .routes .route-featured h3 { color:var(--forest-dark)!important; }
.button { display:inline-flex; min-height:54px; align-items:center; justify-content:center; gap:14px; border:0; border-radius:8px; background:var(--lime); color:var(--forest-dark); padding:0 24px; font-weight:850; cursor:pointer; box-shadow:0 10px 28px rgba(155,227,12,.18); transition:transform .2s ease,background .2s ease; }
.button:hover { background:#b6f23e; transform:translateY(-2px); }
.button-small { min-height:44px; padding:0 18px; font-size:14px; }
.button-cream { background:var(--cream); box-shadow:none; }
.text-link { color:white; border-bottom:1px solid rgba(255,255,255,.5); padding:7px 0; font-weight:750; }
.text-link.dark { color:var(--forest); border-color:#9bab9f; }

.topbar { background:var(--forest-dark); color:#d5e6dd; font-size:12px; }
.topbar-inner { display:flex; min-height:34px; align-items:center; justify-content:space-between; }
.topbar a { color:white; font-weight:700; }
.site-header { position:sticky; z-index:50; top:0; border-bottom:1px solid rgba(10,50,36,.08); background:rgba(255,255,255,.96); backdrop-filter:blur(12px); }
.nav-wrap { display:flex; min-height:78px; align-items:center; justify-content:space-between; gap:28px; }
.brand { flex:0 0 232px; }
.logo-crop { position:relative; display:block; width:232px; height:56px; overflow:hidden; }
.logo-crop img { position:absolute; width:290px; max-width:none; left:-29px; top:-51px; }
.rijzone-page nav { display:flex; align-items:center; gap:30px; color:#31473d; font-size:14px; font-weight:700; }
.rijzone-page nav a { transition:color .2s ease; }
.rijzone-page nav a:hover { color:#569000; }

.hero { position:relative; overflow:hidden; min-height:800px; color:white; background-color:var(--forest-dark); background-image:linear-gradient(90deg,rgba(3,39,28,.96) 0%,rgba(3,39,28,.86) 37%,rgba(3,39,28,.47) 66%,rgba(3,39,28,.65) 100%),url('../images/hero-driving-v2.png'); background-position:center,right center; background-size:cover; background-repeat:no-repeat; }
.hero::before { content:''; position:absolute; inset:0; background:linear-gradient(to bottom,rgba(3,39,28,.02) 0%,rgba(3,39,28,.06) 62%,rgba(3,39,28,.62) 100%); pointer-events:none; }
.hero::after { content:''; position:absolute; width:420px; height:420px; right:18%; top:4%; border-radius:50%; background:radial-gradient(circle,rgba(155,227,12,.12),transparent 68%); filter:blur(12px); pointer-events:none; }
.hero-grid { position:relative; display:grid; grid-template-columns:1.15fr .75fr; gap:74px; align-items:center; padding-top:92px; padding-bottom:68px; }
.hero-copy h1 { max-width:740px; margin-bottom:25px; font-size:clamp(58px,7vw,92px); line-height:.94; }
.hero-copy h1 span { color:var(--lime); }
.hero-badges { display:flex; flex-wrap:wrap; gap:9px; margin:-3px 0 23px; }
.hero-badges span { display:inline-flex; align-items:center; gap:7px; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(3,39,28,.56); padding:8px 12px; color:#d8e8df; font-size:10px; font-weight:800; letter-spacing:.04em; backdrop-filter:blur(8px); }
.hero-badges span:first-child { color:var(--lime); }
.hero-badges strong { color:white; }
.hero-lead { max-width:660px; margin:0; color:#dbe6e1; font-size:19px; line-height:1.7; }
.hero-actions { display:flex; align-items:center; gap:28px; margin:34px 0; }
.hero-points { display:flex; flex-wrap:wrap; gap:13px 24px; margin:0; padding:0; list-style:none; color:#dfe9e4; font-size:13px; }
.hero-points b { color:var(--lime); margin-right:6px; }
.hero-card { position:relative; border:1px solid rgba(255,255,255,.18); border-radius:18px; background:rgba(247,249,244,.97); color:var(--ink); padding:30px; box-shadow:0 28px 70px rgba(0,0,0,.28); }
.card-topline { display:flex; align-items:center; justify-content:space-between; color:#5b6e64; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.card-topline strong { color:var(--forest); font-size:18px; }
.hero-card h2 { margin:18px 0 8px; font-size:34px; }
.hero-card>p { margin:0 0 22px; color:var(--muted); font-size:14px; line-height:1.6; }
.hero-card small { display:block; margin-top:14px; color:#758078; font-size:10px; text-align:center; }
.lead-form { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.lead-form.compact { grid-template-columns:1fr; gap:11px; }
.lead-form label { display:flex; flex-direction:column; gap:7px; }
.lead-form label span { color:#526158; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.lead-form input,.lead-form textarea { width:100%; border:1px solid #dce4dc; border-radius:7px; outline:none; background:white; padding:13px 14px; color:var(--ink); transition:border-color .2s,box-shadow .2s; }
.lead-form textarea { resize:vertical; }
.lead-form input:focus,.lead-form textarea:focus { border-color:#79b51c; box-shadow:0 0 0 3px rgba(155,227,12,.16); }
.lead-form .full { grid-column:1/-1; }
.form-trap { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important; }
.form-alert { margin:0; border-radius:6px; background:#fff0e8; color:#8a3515; padding:10px 12px; font-size:12px; }
.form-alert.form-success { background:#e8f7df; color:#295f16; }
.form-privacy { margin:0; color:#758078; font-size:10px; line-height:1.55; }
.trust-strip { position:relative; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.13); padding:27px 0 30px; }
.trust-strip div { display:flex; flex-direction:column; border-right:1px solid rgba(255,255,255,.13); padding-left:28px; }
.trust-strip div:first-child { padding-left:0; }
.trust-strip div:last-child { border:0; }
.trust-strip strong { font-family:var(--font-display); color:white; font-size:23px; }
.trust-strip span { color:#9fb6ab; font-size:11px; text-transform:uppercase; letter-spacing:.09em; }

.energy-ticker { position:relative; z-index:3; overflow:hidden; border-top:1px solid #b8f142; border-bottom:1px solid #6da200; background:var(--lime); color:var(--forest-dark); }
.ticker-track { display:flex; width:max-content; min-height:56px; align-items:center; gap:30px; padding:0 30px; animation:tickerMove 24s linear infinite; }
.ticker-track span { font-family:var(--font-display); font-size:13px; font-weight:900; letter-spacing:.06em; white-space:nowrap; }
.ticker-track b { font-size:17px; }
@keyframes tickerMove { to { transform:translateX(-50%); } }

.intro { background:var(--cream); }
.section-heading { max-width:760px; }
.section-heading.centered { margin:0 auto 55px; text-align:center; }
.section-heading>p:last-child { margin:0 auto; max-width:650px; color:var(--muted); line-height:1.75; }
.benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.benefit-grid article { position:relative; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.7); padding:34px; overflow:hidden; }
.benefit-grid article:nth-child(2) { border-color:#9dc35f; box-shadow:0 20px 45px rgba(6,59,42,.1); transform:translateY(-8px); }
.benefit-grid article::after { content:''; position:absolute; width:90px; height:90px; right:-40px; bottom:-45px; border-radius:50%; background:var(--lime-soft); opacity:.45; }
.benefit-grid span { color:#75a927; font-family:var(--font-display); font-size:14px; font-weight:800; }
.benefit-grid h3 { margin:35px 0 14px; font-size:23px; }
.benefit-grid p { margin:0; color:var(--muted); font-size:14px; line-height:1.7; }

.routes { position:relative; overflow:hidden; background:var(--forest); color:white; }
.routes::before { content:''; position:absolute; width:520px; height:520px; top:-310px; right:-130px; border:78px solid rgba(155,227,12,.1); border-radius:50%; }
.routes::after { content:'KIES JOUW ROUTE'; position:absolute; right:-20px; bottom:-30px; color:rgba(255,255,255,.025); font-family:var(--font-display); font-size:110px; font-weight:900; white-space:nowrap; }
.routes>.shell { position:relative; z-index:1; }
.routes-heading { display:grid; grid-template-columns:1.1fr .7fr; gap:70px; align-items:end; margin-bottom:44px; }
.routes-heading h2 { margin-bottom:0; }
.routes-heading>p { margin:0 0 8px; color:#bfd0c8; line-height:1.7; }
.route-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.route-grid article { position:relative; min-height:345px; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:15px; background:rgba(255,255,255,.055); padding:30px; transition:transform .2s ease,background .2s ease; }
.route-grid article:hover { transform:translateY(-7px) rotate(-.4deg); background:rgba(255,255,255,.09); }
.route-grid article::after { content:''; position:absolute; width:150px; height:150px; right:-90px; bottom:-90px; border:32px solid rgba(155,227,12,.12); border-radius:50%; }
.route-grid .route-featured { border-color:var(--lime); background:var(--lime); color:var(--forest-dark); transform:rotate(1deg) translateY(-6px); box-shadow:0 22px 50px rgba(0,0,0,.22); }
.route-grid .route-featured:hover { background:#b1ed38; transform:rotate(0) translateY(-10px); }
.route-icon { display:grid; width:52px; height:52px; place-items:center; border-radius:13px; background:var(--lime); color:var(--forest-dark); font-size:26px; font-weight:900; }
.route-featured .route-icon { background:var(--forest-dark); color:var(--lime); }
.route-kicker { margin:30px 0 7px!important; color:var(--lime)!important; font-size:10px!important; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.route-featured .route-kicker { color:#31581e!important; }
.route-grid h3 { margin-bottom:14px; font-size:25px; }
.route-grid article>p:last-of-type { margin:0; color:#bed0c7; font-size:13px; line-height:1.7; }
.route-featured>p:last-of-type { color:#355626!important; }
.route-grid a { position:absolute; z-index:2; right:30px; bottom:27px; left:30px; border-top:1px solid rgba(255,255,255,.14); padding-top:14px; color:var(--lime); font-size:12px; font-weight:900; }
.route-featured a { border-color:rgba(3,39,28,.18); color:var(--forest-dark); }

.pricing { background:#fff; }
.pricing-head { display:grid; grid-template-columns:1.25fr .75fr; gap:70px; align-items:end; margin-bottom:45px; }
.pricing-head h2 { margin-bottom:0; }
.pricing-head>p { margin:0 0 8px; color:var(--muted); line-height:1.75; }
.package-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:13px; align-items:stretch; }
.package-card { position:relative; display:flex; flex-direction:column; min-height:420px; border:1px solid var(--line); border-radius:12px; background:#fafcf9; padding:27px 22px 23px; transition:transform .2s,box-shadow .2s; }
.package-card::before { content:''; position:absolute; top:0; right:18px; left:18px; height:4px; border-radius:0 0 5px 5px; background:linear-gradient(90deg,var(--lime),#5b9d08); }
.package-card:hover { transform:translateY(-5px); box-shadow:0 20px 40px rgba(6,59,42,.09); }
.package-card.featured { border:2px solid var(--forest); background:var(--forest); color:white; box-shadow:0 22px 50px rgba(6,59,42,.22); transform:translateY(-12px); }
.package-card.featured:hover { transform:translateY(-16px); }
.popular { position:absolute; top:-14px; right:15px; border-radius:999px; background:var(--lime); color:var(--forest-dark); padding:7px 10px; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.package-label { margin:0 0 10px; color:#72925a; font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.package-card.featured .package-label { color:var(--lime); }
.package-card h3 { margin-bottom:12px; font-size:20px; }
.package-card h3 strong { color:var(--forest); font-size:38px; }
.package-card.featured h3 strong { color:var(--lime); }
.package-note { min-height:44px; margin:0 0 22px; color:var(--muted); font-size:12px; line-height:1.55; }
.featured .package-note,.featured .per-lesson { color:#c5d4cd; }
.price { font-family:var(--font-display); font-size:28px; font-weight:800; letter-spacing:-.04em; }
.per-lesson { margin:3px 0 18px; color:var(--muted); font-size:11px; }
.package-card ul { display:grid; gap:9px; margin:0 0 24px; padding:16px 0 0; border-top:1px solid var(--line); list-style:none; font-size:11px; }
.package-card li::before { content:'✓'; margin-right:7px; color:#78b51b; font-weight:900; }
.featured ul { border-color:rgba(255,255,255,.15); }
.featured li::before { color:var(--lime); }
.package-card>a { margin-top:auto; color:var(--forest); font-size:12px; font-weight:850; }
.package-card.featured>a { color:var(--lime); }
.package-card>a span { float:right; }
.pricing-note { margin:28px 0 0; color:#7a857f; font-size:11px; text-align:center; }
.price-banner { display:flex; min-height:128px; align-items:center; justify-content:space-between; gap:30px; margin-top:35px; overflow:hidden; border-radius:14px; background:var(--forest-dark); padding:28px 34px; color:white; box-shadow:0 20px 50px rgba(6,59,42,.16); }
.price-banner>div { display:flex; flex-direction:column; gap:3px; }
.price-banner span { color:var(--lime); font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.price-banner strong { font-family:var(--font-display); font-size:clamp(22px,3vw,32px); letter-spacing:-.04em; }
.price-banner .button { flex:0 0 auto; }

.about { background:var(--cream); }
.about-grid { display:grid; grid-template-columns:1fr .92fr; gap:90px; align-items:center; }
.about-visual { position:relative; display:flex; min-height:570px; align-items:center; overflow:hidden; border-radius:18px; background:linear-gradient(145deg,var(--forest-dark),#0c5138); padding:62px; color:white; isolation:isolate; }
.about-visual::before { content:''; position:absolute; width:460px; height:460px; right:-260px; bottom:-250px; border:72px solid rgba(155,227,12,.18); border-radius:50%; z-index:-1; }
.about-visual::after { content:'RIJ ZONE'; position:absolute; right:-18px; bottom:10px; color:rgba(255,255,255,.045); font-family:var(--font-display); font-size:86px; font-weight:900; letter-spacing:-.08em; white-space:nowrap; z-index:-1; }
.about-visual>p { margin:0; font-family:var(--font-display); font-size:clamp(40px,5vw,68px); font-weight:750; letter-spacing:-.06em; line-height:1.02; }
.about-visual>p strong { color:var(--lime); }
.route-line { position:absolute; width:430px; height:430px; right:-210px; bottom:-220px; border:3px dashed rgba(216,250,139,.32); border-radius:50%; z-index:-1; }
.route-two { width:340px; height:340px; right:-155px; bottom:-170px; border-style:solid; border-color:rgba(255,255,255,.12); }
.success-badge { position:absolute; top:40px; right:0; display:flex; flex-direction:column; width:170px; border-radius:10px; background:var(--lime); padding:18px; color:var(--forest-dark); box-shadow:0 15px 35px rgba(6,59,42,.18); }
.success-badge strong { font-family:var(--font-display); font-size:18px; }
.success-badge span { font-size:12px; }
.about-copy .lead { color:var(--forest); font-size:18px; font-weight:700; line-height:1.65; }
.about-copy>p:not(.eyebrow):not(.lead) { color:var(--muted); line-height:1.75; }
.about-list { display:grid; gap:18px; margin:30px 0; }
.about-list>div { display:grid; grid-template-columns:32px 1fr; gap:13px; }
.about-list>div>span { display:grid; width:32px; height:32px; place-items:center; border-radius:50%; background:#e2f3c8; color:#568f00; font-weight:900; }
.about-list p { display:flex; flex-direction:column; margin:0; color:var(--muted); font-size:13px; }
.about-list strong { color:var(--ink); font-size:14px; }

.faq { position:relative; background:#ecf2e8; }
.faq::before { content:''; position:absolute; width:170px; height:170px; left:-85px; top:70px; background-image:radial-gradient(#73a825 2px,transparent 2px); background-size:15px 15px; opacity:.32; }
.faq-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:90px; align-items:start; }
.faq-intro { position:sticky; top:120px; }
.faq-intro>p:not(.eyebrow) { margin-bottom:30px; color:var(--muted); line-height:1.75; }
.faq-list { display:grid; gap:12px; }
.faq-list details { border:1px solid #d5e0d4; border-radius:12px; background:white; padding:0 22px; box-shadow:0 8px 25px rgba(6,59,42,.045); }
.faq-list details[open] { border-color:#9bc458; box-shadow:0 13px 32px rgba(6,59,42,.08); }
.faq-list summary { display:flex; min-height:72px; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; font-family:var(--font-display); font-size:17px; font-weight:800; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { display:grid; width:30px; height:30px; flex:0 0 auto; place-items:center; border-radius:50%; background:#edf5e1; color:#568f00; font-family:var(--font-body); font-size:18px; transition:transform .2s ease; }
.faq-list details[open] summary span { transform:rotate(45deg); background:var(--lime); color:var(--forest-dark); }
.faq-list details p { margin:-3px 38px 22px 0; color:var(--muted); font-size:13px; line-height:1.75; }

.steps { color:white; background:var(--forest); text-align:center; }
.steps .section-heading { margin-bottom:65px; }
.steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-bottom:45px; background:rgba(255,255,255,.14); }
.steps-grid article { background:var(--forest); padding:15px 48px 38px; }
.steps-grid span { display:grid; width:58px; height:58px; place-items:center; margin:0 auto 30px; border:1px solid rgba(255,255,255,.26); border-radius:50%; color:var(--lime); font-family:var(--font-display); font-size:22px; font-weight:800; }
.steps-grid h3 { margin-bottom:13px; font-size:22px; }
.steps-grid p { margin:0; color:#bfd0c8; font-size:13px; line-height:1.65; }

.stories { background:#fff; }
.stories-head { display:flex; align-items:end; justify-content:space-between; margin-bottom:40px; }
.stories-head h2 { margin-bottom:0; }
.rating { display:grid; grid-template-columns:auto auto; align-items:center; gap:2px 12px; }
.rating span { color:#73aa1d; letter-spacing:2px; }
.rating strong { grid-row:span 2; font-family:var(--font-display); font-size:44px; }
.rating small { color:var(--muted); }
.review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.review-grid article { border:1px solid var(--line); border-radius:12px; padding:30px; }
.stars { color:#79b51c; letter-spacing:3px; }
.review-grid p { min-height:115px; color:#44534b; font-size:14px; line-height:1.75; }
.review-grid strong,.review-grid span { display:block; }
.review-grid strong { font-size:13px; }
.review-grid span { color:#829087; font-size:11px; }
.success-callout { display:flex; min-height:150px; align-items:center; justify-content:space-between; gap:30px; margin-top:25px; overflow:hidden; border-radius:12px; background:linear-gradient(120deg,var(--lime),#d0f678); padding:34px 42px; color:var(--forest-dark); }
.success-callout>div { display:flex; flex-direction:column; }
.success-callout span { margin-bottom:6px; font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.success-callout strong { font-family:var(--font-display); font-size:clamp(23px,3vw,34px); letter-spacing:-.04em; }
.success-callout .button { flex:0 0 auto; background:var(--forest-dark); color:white; box-shadow:none; }

.contact { background:#e8ecdf; }
.contact-panel { display:grid; grid-template-columns:.9fr 1.1fr; overflow:hidden; border-radius:20px; background:var(--forest-dark); color:white; box-shadow:0 35px 80px rgba(6,59,42,.18); }
.contact-copy { padding:65px; background-image:radial-gradient(circle at 10% 90%,rgba(155,227,12,.16),transparent 45%); }
.contact-copy h2 { font-size:clamp(38px,4.5vw,58px); }
.contact-copy>p:not(.eyebrow) { color:#bfd0c8; line-height:1.7; }
.contact-details { display:grid; gap:12px; margin:35px 0 25px; }
.contact-details a { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.14); padding:0 0 12px; }
.contact-details span { color:#9fb5aa; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.contact-details strong { color:var(--lime); font-size:14px; }
.contact-copy small { color:#8fa79c; }
.contact-form-card { background:white; color:var(--ink); padding:65px; }
.contact-form-card h3 { margin-bottom:8px; font-size:30px; }
.contact-form-card>p { margin:0 0 27px; color:var(--muted); font-size:13px; }

.rijzone-page footer { background:#021d15; color:white; padding:60px 0 25px; }
.footer-grid { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:50px; }
.footer-grid>div { display:flex; flex-direction:column; gap:9px; }
.footer-grid>div>strong:not(.footer-brand) { margin-bottom:8px; color:#83a493; font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.footer-brand { font-family:var(--font-display); font-size:26px; }
.footer-brand span { color:var(--lime); }
.footer-grid p,.footer-grid a { margin:0; color:#afc1b7; font-size:12px; line-height:1.7; }
.footer-bottom { display:flex; justify-content:space-between; margin-top:45px; border-top:1px solid rgba(255,255,255,.1); padding-top:22px; color:#698177; font-size:10px; }
.mobile-cta { display:none; }

.services { position:relative; overflow:hidden; background:#f9fbf7; }
.services::before { content:''; position:absolute; width:260px; height:260px; right:-110px; top:60px; border:45px solid rgba(155,227,12,.14); border-radius:50%; }
.services-head { position:relative; display:grid; grid-template-columns:1.1fr .7fr; gap:70px; align-items:end; margin-bottom:46px; }
.services-head h2 { margin-bottom:0; }
.services-head>p { margin:0 0 8px; color:var(--muted); line-height:1.75; }
.service-grid { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.service-grid article { position:relative; display:flex; min-height:420px; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:15px; background:white; padding:28px; box-shadow:0 12px 35px rgba(6,59,42,.055); transition:transform .2s ease,box-shadow .2s ease; }
.service-grid article:hover { transform:translateY(-7px); box-shadow:0 24px 55px rgba(6,59,42,.12); }
.service-grid article.service-accent { border-color:var(--lime); background:linear-gradient(155deg,var(--forest-dark),#0a5339); color:white; transform:translateY(-10px); }
.service-grid article.service-accent:hover { transform:translateY(-15px); }
.service-number { position:absolute; right:20px; top:15px; color:#e8eee8; font-family:var(--font-display); font-size:48px; font-weight:900; }
.service-accent .service-number { color:rgba(255,255,255,.07); }
.service-icon { display:grid; width:50px; height:50px; place-items:center; margin-bottom:31px; border-radius:14px; background:#e9f5d7; color:#4a8000; font-family:var(--font-display); font-size:20px; font-weight:900; }
.service-accent .service-icon { background:var(--lime); color:var(--forest-dark); }
.service-grid h3 { margin-bottom:13px; font-size:22px; line-height:1.12; }
.service-grid article>p { min-height:98px; margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.service-accent>p { color:#c5d4cd!important; }
.service-grid ul { display:grid; gap:8px; margin:20px 0 24px; padding:17px 0 0; border-top:1px solid var(--line); list-style:none; color:#506058; font-size:11px; }
.service-grid li::before { content:'✓'; margin-right:7px; color:#6ca212; font-weight:900; }
.service-accent ul { border-color:rgba(255,255,255,.14); color:#d4e0da; }
.service-accent li::before { color:var(--lime); }
.service-grid a { margin-top:auto; color:var(--forest); font-size:12px; font-weight:900; }
.service-accent a { color:var(--lime); }

.included-band { position:relative; overflow:hidden; background:var(--forest-dark); padding:74px 0; color:white; }
.included-band::after { content:'✓'; position:absolute; right:-20px; bottom:-115px; color:rgba(155,227,12,.06); font-family:var(--font-display); font-size:330px; font-weight:900; }
.included-grid { position:relative; z-index:1; display:grid; grid-template-columns:.65fr 1.35fr; gap:75px; align-items:center; }
.included-title h2 { margin-bottom:13px; font-size:45px; }
.included-title>p:last-child { margin:0; color:#a9bdb3; line-height:1.7; }
.included-list { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.included-list>div { display:grid; grid-template-columns:36px 1fr; gap:12px; align-items:start; border:1px solid rgba(255,255,255,.1); border-radius:10px; background:rgba(255,255,255,.045); padding:16px; }
.included-list b { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; background:var(--lime); color:var(--forest-dark); }
.included-list span { display:flex; flex-direction:column; color:#aebfb7; font-size:11px; line-height:1.55; }
.included-list strong { color:white; font-size:13px; }

.lesson-content { overflow:hidden; background:#fff; }
.lesson-layout { display:grid; grid-template-columns:.65fr 1.35fr; gap:70px; align-items:center; }
.lesson-copy { position:relative; }
.lesson-copy::before { content:'06'; position:absolute; z-index:0; left:-20px; top:-75px; color:#eef3eb; font-family:var(--font-display); font-size:150px; font-weight:900; }
.lesson-copy>* { position:relative; z-index:1; }
.lesson-copy h2 { font-size:clamp(38px,4.5vw,58px); }
.lesson-copy>p:not(.eyebrow) { margin:0 0 28px; color:var(--muted); line-height:1.75; }
.skill-board { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); border-radius:17px; background:#f8faf6; overflow:hidden; box-shadow:0 25px 60px rgba(6,59,42,.08); }
.skill-board>div { position:relative; min-height:175px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); padding:28px; }
.skill-board>div:nth-child(even) { border-right:0; }
.skill-board>div:nth-last-child(-n+2) { border-bottom:0; }
.skill-board span { color:#79aa2d; font-size:10px; font-weight:900; letter-spacing:.14em; }
.skill-board h3 { margin:18px 0 8px; font-size:19px; }
.skill-board p { margin:0; color:var(--muted); font-size:12px; line-height:1.65; }
.skill-board>div:hover { background:white; }

.local-zone { position:relative; overflow:hidden; background:#edf2e9; }
.zone-layout { display:grid; grid-template-columns:1fr 1fr; gap:85px; align-items:center; }
.zone-map { position:relative; min-height:500px; overflow:hidden; border-radius:20px; background:linear-gradient(145deg,#083d2d,#021d15); color:white; isolation:isolate; box-shadow:0 28px 65px rgba(6,59,42,.19); }
.zone-map::before { content:''; position:absolute; inset:0; z-index:-2; background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:42px 42px; transform:rotate(-8deg) scale(1.25); }
.zone-map::after { content:''; position:absolute; z-index:-1; width:420px; height:220px; left:60px; top:125px; border:4px dashed rgba(155,227,12,.3); border-radius:48% 52% 42% 58%; transform:rotate(-13deg); }
.zone-map>strong { position:absolute; left:42px; bottom:38px; color:rgba(255,255,255,.15); font-family:var(--font-display); font-size:44px; line-height:.93; letter-spacing:-.06em; }
.zone-ring { position:absolute; border:1px solid rgba(155,227,12,.28); border-radius:50%; }
.ring-one { width:280px; height:280px; right:-45px; top:-55px; }
.ring-two { width:200px; height:200px; right:-5px; top:-15px; }
.zone-pin { position:absolute; display:grid; place-items:center; border-radius:50%; background:var(--lime); color:var(--forest-dark); box-shadow:0 0 0 9px rgba(155,227,12,.13); font-weight:900; }
.pin-one { width:56px; height:56px; left:48%; top:40%; }
.pin-two { width:26px; height:26px; left:28%; top:28%; }
.pin-three { width:22px; height:22px; right:18%; bottom:25%; }
.zone-copy>p:not(.eyebrow) { color:var(--muted); line-height:1.75; }
.zone-chips { display:flex; flex-wrap:wrap; gap:9px; margin:25px 0; }
.zone-chips span { border:1px solid #cbd8c8; border-radius:999px; background:white; padding:9px 13px; color:#466154; font-size:11px; font-weight:800; }
.zone-note { margin:26px 0; border-left:4px solid var(--lime); background:white; padding:18px 21px; }
.zone-note b { display:block; margin-bottom:4px; color:var(--forest); font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.zone-note p { margin:0; color:var(--muted); font-size:12px; line-height:1.6; }

@media (max-width:1050px) {
  .service-grid { grid-template-columns:1fr 1fr; }
  .service-grid article.service-accent,.service-grid article.service-accent:hover { transform:none; }
  .lesson-layout,.zone-layout { gap:45px; }
}
@media (max-width:820px) {
  .services-head,.included-grid,.lesson-layout,.zone-layout { grid-template-columns:1fr; gap:35px; }
  .included-title { max-width:560px; }
  .zone-map { min-height:430px; order:2; }
}
@media (max-width:560px) {
  .service-grid,.included-list,.skill-board { grid-template-columns:1fr; }
  .service-grid article { min-height:390px; }
  .skill-board>div { border-right:0; }
  .skill-board>div:nth-last-child(2) { border-bottom:1px solid var(--line); }
  .zone-map { min-height:360px; }
  .zone-map>strong { font-size:34px; }
}

@media (max-width:1050px) {
  .rijzone-page nav { gap:18px; }
  .package-grid { grid-template-columns:repeat(3,1fr); gap:18px; }
  .package-card.featured,.package-card.featured:hover { transform:none; }
  .about-grid { gap:45px; }
  .routes-heading { gap:35px; }
  .faq-grid { gap:45px; }
}
@media (max-width:820px) {
  .section { padding:82px 0; }
  .topbar { display:none; }
  .nav-wrap { min-height:68px; }
  .rijzone-page nav { display:none; }
  .brand { flex-basis:180px; }
  .logo-crop { width:180px; height:49px; }
  .logo-crop img { width:230px; left:-23px; top:-41px; }
  .hero { min-height:auto; }
  .hero { background-position:62% center; }
  .hero-grid { grid-template-columns:1fr; gap:45px; padding-top:70px; }
  .hero-copy h1 { font-size:clamp(54px,13vw,76px); }
  .trust-strip { grid-template-columns:1fr 1fr; gap:25px 0; }
  .trust-strip div:nth-child(2) { border:0; }
  .benefit-grid,.review-grid { grid-template-columns:1fr; }
  .benefit-grid article:nth-child(2) { transform:none; }
  .routes-heading,.faq-grid { grid-template-columns:1fr; gap:28px; }
  .route-grid { grid-template-columns:1fr; }
  .route-grid .route-featured { transform:none; }
  .faq-intro { position:static; }
  .pricing-head { grid-template-columns:1fr; gap:20px; }
  .package-grid { grid-template-columns:1fr 1fr; }
  .about-grid { grid-template-columns:1fr; }
  .about-visual { min-height:500px; }
  .steps-grid { grid-template-columns:1fr; }
  .steps-grid article { border-bottom:1px solid rgba(255,255,255,.14); }
  .stories-head { align-items:start; flex-direction:column; gap:20px; }
  .review-grid article p { min-height:0; }
  .success-callout { align-items:flex-start; flex-direction:column; }
  .contact-panel { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px) {
  .shell { width:min(100% - 28px,1180px); }
  .section { padding:68px 0; }
  .site-header .button-small { display:none; }
  .nav-wrap { justify-content:center; }
  .hero-grid { padding-top:58px; padding-bottom:45px; }
  .hero { background-position:58% center; }
  .hero-copy h1 { font-size:52px; }
  .hero-lead { font-size:16px; }
  .hero-actions { align-items:stretch; flex-direction:column; gap:12px; }
  .hero-actions .text-link { align-self:flex-start; }
  .hero-points { display:grid; }
  .hero-badges { gap:6px; }
  .hero-card { padding:23px; }
  .trust-strip { padding-bottom:25px; }
  .trust-strip div { padding-left:15px; }
  .trust-strip div:nth-child(odd) { padding-left:0; }
  .trust-strip strong { font-size:18px; }
  .rijzone-page h2 { font-size:39px; }
  .benefit-grid article { padding:27px; }
  .package-grid { grid-template-columns:1fr; }
  .package-card { min-height:360px; }
  .price-banner { align-items:flex-start; flex-direction:column; padding:25px; }
  .about-visual { min-height:390px; padding:38px 28px; }
  .success-badge { top:18px; width:145px; }
  .steps-grid article { padding:15px 20px 35px; }
  .success-callout { padding:28px 24px; }
  .contact-copy,.contact-form-card { padding:38px 25px; }
  .contact-details a { align-items:flex-start; flex-direction:column; gap:3px; }
  .lead-form { grid-template-columns:1fr; }
  .lead-form .full { grid-column:auto; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; gap:5px; padding-bottom:60px; }
  .mobile-cta { position:fixed; z-index:80; display:flex; right:12px; bottom:12px; left:12px; min-height:52px; align-items:center; justify-content:center; gap:12px; border-radius:9px; background:var(--lime); color:var(--forest-dark); font-weight:900; box-shadow:0 15px 45px rgba(3,39,28,.35); }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } .ticker-track { animation:none; } }
