:root{--black:#090909;--white:#fff;--soft:#f2f2f0;--grey:#555;--line:#d6d6d6;--font:'DM Sans',sans-serif;--display:'Fraunces',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--black);font:16px/1.55 var(--font)}.container{width:min(1120px,calc(100% - 40px));margin:auto}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;z-index:20;background:#fff;padding:.6rem}.site-header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #e7e7e7}.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:9px;color:#090909;text-decoration:none;font-size:19px;font-weight:700;letter-spacing:-.7px}.brand b{font-weight:400}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#090909;color:#fff;font:22px var(--display)}.primary-nav{display:flex;align-items:center;gap:28px}.primary-nav>a{color:#090909;text-decoration:none;font-size:14px;font-weight:600}.primary-nav>a:not(.button):hover,.primary-nav .active{color:#555}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;background:#090909;border:1px solid #090909;color:#fff;text-decoration:none;border-radius:2px;font:700 14px var(--font);cursor:pointer}.button:hover{background:#fff;color:#090909}.button-small{padding:10px 15px}.menu-toggle{display:none;background:none;border:0}.hero{padding:76px 0;background:#fff}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:44px}.eyebrow{margin:0 0 14px;text-transform:uppercase;letter-spacing:1.8px;font-size:11px;font-weight:700}.hero h1,h2{margin:0;font:600 clamp(37px,4.5vw,58px)/1.04 var(--display);letter-spacing:-2.5px}.hero h1{font-size:clamp(48px,6vw,76px)}h1 em,h2 em{font-style:normal}.lead{max-width:530px;margin:26px 0;color:var(--grey);font-size:19px}.hero-actions{display:flex;align-items:center;gap:25px}.text-link{color:#090909;text-decoration:none;font-size:14px;font-weight:700}.text-link:hover{color:#555}.text-link span,.button span{font-size:20px;line-height:10px}.trust-row{display:flex;flex-wrap:wrap;gap:15px;margin-top:35px;color:#555;font-size:12px;font-weight:600}.hero-art{height:408px;position:relative;overflow:hidden;margin:0;border-radius:34% 42% 28% 38%;background:#111}.hero-art img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 42%;filter:grayscale(1);opacity:.9}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.58))}.hero-art figcaption{position:absolute;right:7%;bottom:8%;z-index:1;color:#fff;text-align:right;font:600 17px/1.15 var(--display)}.section{padding:100px 0}.split-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin-bottom:50px}.split-heading>p{margin:0;color:#555;font-size:18px}.cards{display:grid;gap:20px}.three-cards{grid-template-columns:repeat(3,1fr)}.feature-card{min-height:192px;padding:28px;border:1px solid #ddd}.card-number{font-size:12px;font-weight:700}.feature-card h3{margin:23px 0 6px;font:600 23px var(--display);letter-spacing:-.8px}.feature-card p{margin:0;color:#555;font-size:14px}.cream-section,.page-hero,form{background:var(--soft)}.services-preview{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.section-heading h2{margin-bottom:28px}.service-list{border-top:1px solid #c7c7c7}.service-list a{display:grid;grid-template-columns:52px 1fr 25px;align-items:center;padding:23px 2px;color:#090909;border-bottom:1px solid #c7c7c7;text-decoration:none}.service-list a:hover{color:#555}.service-list span{font-size:12px;font-weight:700}.service-list strong{font:600 23px var(--display);letter-spacing:-.6px}.service-list i{font-size:22px;font-style:normal}.quote-section{padding:75px 0}.quote-card{max-width:830px;text-align:center}.quote-star{font-size:29px}.quote-card blockquote{margin:15px 0;font:600 clamp(27px,3.3vw,43px)/1.16 var(--display);letter-spacing:-1.5px}.quote-card p,.site-footer p{color:#777;font-size:13px;font-weight:700}.callout{padding:0}.callout-inner{display:flex;align-items:center;justify-content:space-between;padding:60px 70px;background:#090909;color:#fff}.callout .eyebrow{color:#fff}.button-light{background:#fff;color:#090909;border-color:#fff}.button-light:hover{background:#ddd;border-color:#ddd}.site-footer{padding:58px 0;background:#090909;color:#eee}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.brand-footer{color:#fff}.site-footer h3{margin:0 0 11px;color:#fff;text-transform:uppercase;letter-spacing:1px;font-size:12px}.site-footer a:not(.brand){display:block;margin:5px 0;color:#eee;text-decoration:none;font-size:14px}.site-footer a:hover{color:#aaa}.fine-print{margin-top:25px}.page-hero{padding:72px 0 65px}.page-hero .container{max-width:800px;text-align:center}.page-hero h1{font-size:clamp(46px,6vw,70px)}.page-hero .lead{margin:19px auto 0}.content-section{padding:80px 0}.content-width{max-width:830px}.service-detail{display:grid;grid-template-columns:92px 1fr;gap:20px;padding:44px 0;border-top:1px solid var(--line)}.service-detail:last-child{border-bottom:1px solid var(--line)}.number{font-size:13px;font-weight:700}.service-detail h2{font-size:37px;margin-bottom:12px}.service-detail p,.about-copy p,.contact-details p{color:#555}.check-list{padding:0;list-style:none;font-size:14px;font-weight:600}.check-list li{margin:8px 0}.check-list li:before{content:'✓';margin-right:10px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}.price-card{padding:31px;border:1px solid var(--line);background:#fff}.price-card.featured{transform:translateY(-12px);background:#090909;border-color:#090909;color:#fff}.price-card h2{font-size:29px;letter-spacing:-1px}.price-card p{min-height:70px;color:#555;font-size:14px}.price-card.featured p{color:#d1d1d1}.price-card .price{margin:22px 0;font:600 19px var(--display)}.price-card .button{width:100%;margin-top:18px}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.about-art{min-height:390px;margin:0;overflow:hidden;background:#111;border-radius:42% 28% 38% 24%}.about-art img{display:block;width:100%;height:390px;object-fit:cover;object-position:center 35%;filter:grayscale(1)}.about-copy p{font-size:17px}.values{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}.value{padding-top:8px;border-top:2px solid #090909}.value h3{margin:0;font-size:15px}.value p{margin-top:3px;font-size:13px}.testimonial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.testimonial{padding:35px;background:#f2f2f0}.testimonial:nth-child(3n){background:#dedede}.testimonial blockquote{margin:15px 0 24px;font:600 25px/1.22 var(--display);letter-spacing:-.8px}.testimonial p{margin:0;color:#555;font-size:13px;font-weight:700}.contact-grid{display:grid;grid-template-columns:.76fr 1.24fr;gap:80px}.contact-details h2{font-size:43px}.contact-option{padding:17px 0;border-bottom:1px solid var(--line)}.contact-option strong,.contact-option a{display:block}.contact-option small{color:#555}form{padding:34px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;margin-bottom:15px;font-size:13px;font-weight:700}input,select,textarea{display:block;width:100%;margin-top:6px;padding:12px;background:#fff;border:1px solid #c9c9c9;border-radius:2px;color:#090909;font:15px var(--font)}textarea{min-height:115px;resize:vertical}.form-note{margin-bottom:17px;color:#555;font-size:12px}.form-status{margin-top:12px;font-size:13px;font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.primary-nav{display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:stretch;gap:17px;padding:20px;background:#fff;box-shadow:0 8px 18px #0001}.primary-nav.open{display:flex}.menu-toggle{display:flex;flex-direction:column;gap:5px;padding:7px}.menu-toggle span:not(.sr-only){width:24px;height:2px;background:#090909}.hero{padding:50px 0}.hero-grid,.split-heading,.services-preview,.about-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.hero-art{height:310px;order:-1}.three-cards,.pricing-grid,.testimonial-grid{grid-template-columns:1fr}.section{padding:65px 0}.callout-inner{display:block;padding:43px 30px}.callout .button{margin-top:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:34px}.footer-grid>div:first-child{grid-column:span 2}.service-detail{grid-template-columns:1fr;gap:5px}.service-detail h2{font-size:32px}.price-card.featured{transform:none}.form-row{grid-template-columns:1fr}.page-hero{padding:55px 0}.trust-row{gap:9px 15px}}@media(max-width:420px){.container{width:min(100% - 30px,1120px)}.hero h1{font-size:46px}.hero-actions{flex-direction:column;align-items:flex-start;gap:17px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}
:root{--black:#090909}.car-showcase{background:#090909;color:#fff}.car-showcase-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}.car-copy{padding:38px 25px 0}.car-copy h2{font-size:43px}.car-copy p:not(.eyebrow){color:#c7c7c7;margin:22px 0}.car-copy .text-link{color:#fff}.car-main{height:400px;margin:0;overflow:hidden}.car-main img,.car-thumbs img{width:100%;height:100%;display:block;object-fit:cover;filter:grayscale(1)}.car-thumbs{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.car-thumbs figure{height:185px;margin:0;overflow:hidden}@media(max-width:760px){.car-showcase-grid{grid-template-columns:1fr;gap:35px}.car-copy{padding:0}.car-main{height:310px}.car-thumbs{grid-template-columns:repeat(2,1fr);gap:9px}.car-thumbs figure{height:150px}}
:root{--pass-gap:18px}.pass-wall{background:#fff}.pass-wall-heading{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:end;margin-bottom:42px}.pass-wall-heading p:last-child{max-width:390px;margin:0;color:#555}.pass-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:310px;gap:var(--pass-gap)}.pass-card{position:relative;overflow:hidden;margin:0;background:#111}.pass-card.tall{grid-row:span 2}.pass-card.wide{grid-column:span 2}.pass-card img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .35s ease}.pass-card:hover img{transform:scale(1.03)}.pass-card:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.75))}.pass-card figcaption{position:absolute;z-index:1;left:22px;bottom:19px;color:#fff}.pass-card figcaption strong,.pass-card figcaption span{display:block}.pass-card figcaption strong{font:600 25px var(--display)}.pass-card figcaption span{font-size:12px}@media(max-width:760px){.pass-wall-heading{grid-template-columns:1fr;margin-bottom:28px}.pass-grid{grid-template-columns:1fr;grid-auto-rows:350px}.pass-card.tall,.pass-card.wide{grid-row:auto;grid-column:auto}.pass-card:nth-child(3){height:260px}}

/* Pass Wall: a colourful pinned notice-board, with no empty black panels. */
.pass-wall{background:#f2f2f0}.pass-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:230px;gap:26px;padding:34px 30px 42px;background:linear-gradient(135deg,#e3b77d,#efcf9d 48%,#dba96d);border:12px solid #5f3d26;box-shadow:inset 0 0 0 2px rgba(255,255,255,.25),0 16px 30px rgba(0,0,0,.16)}.pass-card,.pass-card.tall,.pass-card.wide{grid-column:span 1;grid-row:span 1;height:auto;overflow:visible;background:#fff;border:10px solid #fff;box-shadow:0 9px 15px rgba(53,31,15,.35);transform:rotate(-1.8deg)}.pass-card:nth-child(2){transform:rotate(2deg)}.pass-card:nth-child(3){transform:rotate(-.6deg)}.pass-card:nth-child(4){transform:rotate(1.6deg)}.pass-card:nth-child(5){transform:rotate(-2.2deg)}.pass-card:before{content:'';position:absolute;z-index:3;top:-18px;left:50%;width:16px;height:16px;border-radius:50%;background:#e82532;border:2px solid #a90d17;box-shadow:0 3px 3px rgba(0,0,0,.32);transform:translateX(-50%)}.pass-card:after{display:none}.pass-card img{width:100%;height:100%;object-fit:cover;filter:none}.pass-card figcaption{left:12px;bottom:11px;padding:6px 10px;background:rgba(255,255,255,.92);color:#090909;box-shadow:0 2px 5px rgba(0,0,0,.14)}.pass-card figcaption strong{font:600 19px var(--display)}.pass-card figcaption span{font-size:11px}.pass-card:hover{z-index:2;transform:rotate(0) scale(1.03)}@media(max-width:760px){.pass-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:210px;gap:25px;padding:30px 20px}.pass-card,.pass-card.tall,.pass-card.wide{grid-column:span 1;grid-row:span 1}.pass-card:nth-child(3){height:auto}}@media(max-width:480px){.pass-grid{grid-template-columns:1fr;grid-auto-rows:270px;padding:28px 24px}.pass-card,.pass-card.tall,.pass-card.wide{grid-column:auto;grid-row:auto}.pass-card:nth-child(3){height:auto}}
.pass-wall-logo{display:flex;justify-content:center;padding:17px 22px;background:#fff;border:12px solid #5f3d26;border-top:0;box-shadow:0 16px 30px rgba(0,0,0,.16)}.pass-wall-logo img{display:block;width:min(310px,100%);height:auto}
:root{--photo-contrast:grayscale(1)}.hero-art img,.about-art img,.car-main img,.car-thumbs img,.pass-card img{filter:none}.car-thumbs figure:nth-child(2) img,.car-thumbs figure:nth-child(4) img,.pass-card:nth-child(3) img{filter:var(--photo-contrast)}

/* High-contrast navigation */
.site-header{background:#090909;border-bottom-color:#222}.site-header .brand{color:#fff}.site-header .primary-nav>a:not(.button){color:#fff}.site-header .primary-nav>a:not(.button):hover{color:#d8d8d8}.site-header .primary-nav .button{background:#fff;border-color:#fff;color:#090909}.site-header .primary-nav .button:hover{background:#ddd;border-color:#ddd;color:#090909}@media(max-width:760px){.primary-nav{background:#090909}.menu-toggle span:not(.sr-only){background:#fff}}

/* Homepage DVSA approval */
.hero-dvsa-inline{margin-top:22px;width:min(320px,100%);padding:7px;background:#fff;border:1px solid #d6d6d6}.hero-dvsa-inline img{display:block;width:100%;height:auto}

/* Doodles Driving logo and coverage map */
.brand{gap:0}.site-logo-wrap{display:flex;align-items:center;padding:2px 5px;background:#fff;border-radius:2px}.site-logo{display:block;width:150px;height:auto}.brand-footer .site-logo-wrap{background:#fff}.site-footer .site-logo{width:170px;height:auto}.areas-map-section{padding:65px 0 95px}.areas-map{margin:0;border:1px solid var(--line);background:var(--soft);box-shadow:0 18px 45px rgba(0,0,0,.12)}.areas-map img{display:block;width:100%;height:auto}.areas-note{max-width:830px;margin:34px auto 0;text-align:center;color:#555;font-size:16px}@media(max-width:760px){.site-logo{width:125px;height:auto}.site-footer .site-logo{width:145px;height:auto}.areas-map-section{padding:42px 0 65px}}

.site-footer .facebook-link{display:inline-flex!important;align-items:center;gap:7px}.facebook-link span{display:inline-grid;place-items:center;width:18px;height:18px;background:#fff;color:#090909;font:700 18px/18px Arial,sans-serif;border-radius:2px}

/* Site-wide contact strip */
.top-contact-bar{background:#e82532;color:#fff}.top-contact-inner{display:flex;align-items:center;gap:20px;min-height:38px;font-size:12px;font-weight:600}.top-contact-inner strong{letter-spacing:.35px;text-transform:uppercase}.top-contact-inner a{color:#fff;text-decoration:none}.top-contact-inner a:hover{text-decoration:underline}.top-contact-enquire{margin-left:auto;font-weight:700}@media(max-width:760px){.top-contact-inner{gap:8px 15px;min-height:0;padding:8px 0;flex-wrap:wrap;font-size:11px}.top-contact-enquire{margin-left:0}}

.dvsa-logo{display:block;width:min(260px,100%);height:auto;margin-top:15px}
:root{--punctuation-width:min(920px,calc(100% - 40px))}.car-punctuation{width:var(--punctuation-width);height:150px;margin:42px auto -22px;overflow:hidden;background:#111}.car-punctuation img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;filter:grayscale(1)}@media(max-width:760px){.car-punctuation{height:100px;margin:28px auto -20px}}
:root{--punctuation-colour:none}.car-punctuation img{filter:var(--punctuation-colour)}

/* Newest learner success */
.pass-card.featured-pass img{object-position:center 40%}
@media(max-width:760px){.pass-card.featured-pass img{object-position:60% 40%}}
