/* Hero v2: a single confident composition built around the driving lesson photograph. */
.hero-section { position: relative; min-height: 780px; background: var(--navy); overflow: hidden; }
.hero-section > .container-fluid, .hero-section .row { min-height: 780px; height: 100%; }
.hero-section .row { display: block; }
.hero-photo { position: absolute; inset: 0; width: 100% !important; max-width: none !important; min-height: 0; z-index: 0; background: url('../images/hero-driving-lesson.png') center/cover no-repeat; }
.hero-photo > img { display: none; }
.hero-photo-shade { background: linear-gradient(90deg, rgba(8,42,59,.93) 0%, rgba(8,42,59,.68) 35%, rgba(8,42,59,.10) 72%); }
.hero-copy { position: relative; z-index: 2; width: 100%; min-height: 780px; background: transparent; display: flex; align-items: center; }
.hero-inner {
  position: relative;
  overflow: hidden;
  max-width: 630px;
  margin: 80px 0 0 max(7vw, 32px);
  padding: 43px 46px 36px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.50) 0%, rgba(255,255,255,.22) 48%, rgba(255,255,255,.13) 100%);
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 18px;
  box-shadow:
    0 28px 78px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -1px 0 rgba(255,255,255,.22);
  backdrop-filter: blur(26px) saturate(170%) contrast(108%);
  -webkit-backdrop-filter: blur(26px) saturate(170%) contrast(108%);
}
.hero-inner::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 8%, rgba(255,255,255,.58), transparent 32%),
    linear-gradient(115deg, rgba(255,255,255,.46) 0%, rgba(255,255,255,.10) 34%, transparent 60%);
  mix-blend-mode: screen;
}
.hero-inner::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 17px;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.26);
}
.hero-inner > * {
  position: relative;
  z-index: 1;
}
.hero-inner .kicker { margin-bottom: 15px; }
.hero h1 { font-size: clamp(3.5rem, 5.4vw, 5.9rem); }
.hero h1, .hero h1 em { font-family: var(--display); font-weight: 800; font-style: normal; letter-spacing: -.07em; }
.hero-summary { max-width: 410px; margin: 20px 0 27px; color: rgba(8,42,59,.78); }
.hero-proofs {
  margin: 8px -46px -36px;
  padding: 19px 46px;
  background: rgba(234,247,252,.34);
  border-top: 1px solid rgba(255,255,255,.54);
  border-radius: 0 0 18px 18px;
  backdrop-filter: blur(18px) saturate(165%);
  -webkit-backdrop-filter: blur(18px) saturate(165%);
}
.hero-proofs div { font-size: .68rem; }
.photo-card { z-index: 2; bottom: 44px; background: rgba(255,255,255,.96); }
.card-flex { left: auto; right: calc(7% + 236px); }
.card-test { left: auto; right: 7%; }
@media (max-width: 991px) {
  .hero-section, .hero-section > .container-fluid, .hero-section .row, .hero-copy { min-height: 720px; }
  .hero-inner { max-width: 600px; margin: 120px 7vw 50px; }
  .card-flex { right: calc(7% + 226px); }
}
@media (max-width: 575px) {
  .hero-section, .hero-section > .container-fluid, .hero-section .row, .hero-copy { min-height: 690px; }
  .hero-photo > img { object-position: 66% center; }
  .hero-photo-shade { background: linear-gradient(180deg, rgba(8,42,59,.55) 0%, rgba(8,42,59,.78) 58%, rgba(8,42,59,.97) 100%); }
  .hero-inner { align-self: flex-end; margin: 96px 16px 20px; padding: 29px 24px 0; border-radius: 8px; }
  .hero h1 { font-size: 3.1rem; }
  .hero-summary { font-size: .92rem; margin: 16px 0 20px; }
  .hero-inner .btn-lg { padding: .8rem .9rem; font-size: .77rem; }
  .hero-proofs { margin: 22px -24px 0; padding: 15px 20px; border-radius: 0 0 8px 8px; }
  .photo-card { display: none; }
}

/* Final hero glass readability layer: this file loads last, so these rules win. */
.hero-inner{background:linear-gradient(135deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.56) 52%,rgba(255,255,255,.44) 100%)!important;border-color:rgba(255,255,255,.9)!important;box-shadow:0 30px 80px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.96),inset 0 -1px 0 rgba(255,255,255,.28)!important;backdrop-filter:blur(24px) saturate(165%) contrast(110%)!important;-webkit-backdrop-filter:blur(24px) saturate(165%) contrast(110%)!important}.hero-inner .kicker{color:var(--red)!important;font-weight:900!important}.hero-inner h1,.hero-inner h1 em{color:var(--navy)!important;text-shadow:0 1px 0 rgba(255,255,255,.5)}.hero-inner .hero-summary{color:#244554!important;font-weight:700!important}.hero-inner .hero-proofs span{color:var(--navy)!important;font-weight:900!important}.hero-inner .hero-proofs i{color:var(--blue)!important}.hero-inner .btn-outline-brand{background:rgba(255,255,255,.42)!important;color:var(--blue)!important;border-color:var(--blue)!important}
@media(max-width:575px){.hero-inner{background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,255,255,.72))!important;backdrop-filter:blur(18px) saturate(150%)!important;-webkit-backdrop-filter:blur(18px) saturate(150%)!important}.hero h1{font-size:3rem}.hero-summary{color:#173747!important}.hero-proofs{background:rgba(234,247,252,.86)!important}}

/* iPhone bottom dock scroll repair */
@media(max-width:575px){body{padding-bottom:0!important;min-height:100dvh}.mobile-dock{height:calc(67px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);bottom:0!important}.booking-section{padding-bottom:0!important}main{padding-bottom:67px!important}}

/* Hero v3: approved editorial split mockup */
.info-bar{display:none!important}.navbar,.navbar.scrolled{top:0!important;background:var(--blue)!important;padding:12px 0!important;box-shadow:0 3px 0 rgba(8,42,59,.18)!important}.navbar .container{max-width:1540px}.navbar .nav-brand-lockup{gap:13px}.navbar .nav-crest{width:48px!important;height:48px!important}.nav-brand-copy strong{font-size: 1.85rem !important;line-height: 0.7 !important;letter-spacing:.01em!important}.nav-brand-copy small{font-size:.66rem!important;letter-spacing:.18em!important;margin-top:4px!important}.nav-link{position:relative;font-size:.93rem!important;padding:.55rem .9rem!important}.nav-link.active:after,.nav-link:hover:after{content:'';position:absolute;left:.9rem;right:.9rem;bottom:.35rem;height:2px;background:#fff;border-radius:999px}.nav-phone{border-left:1px solid rgba(255,255,255,.2);border-right:1px solid rgba(255,255,255,.2);margin-left:.9rem;padding:0 1.25rem}.nav-phone a{display:flex;align-items:center;gap:11px;color:#fff;font-weight:800;line-height:1.08}.nav-phone i{font-size:1.3rem}.nav-phone small{font-size:.78rem;color:#fff}.nav-cta{border-radius:8px!important;height:44px;padding:0 1.2rem!important;color:var(--navy)!important}.nav-login{height:44px;padding:0 1.1rem!important;font-size:.86rem!important}.nav-actions{gap:12px}.hero-editorial{min-height:820px!important;background:linear-gradient(115deg,#f8fdff 0%,#edfaff 42%,#fff 100%)!important;overflow:hidden;padding-top:104px;position:relative}.hero-editorial:before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(0,173,239,.22) 1.2px,transparent 1.2px);background-size:18px 18px;mask-image:linear-gradient(90deg,#000 0%,transparent 28%);opacity:.55}.hero-dots{position:absolute;left:0;top:110px;width:280px;height:220px;background-image:radial-gradient(rgba(0,173,239,.23) 1.5px,transparent 1.5px);background-size:18px 18px}.hero-swoosh{position:absolute;right:-90px;bottom:-80px;width:760px;height:170px;background:var(--blue);border-radius:100% 0 0 0 / 100% 0 0 0;transform:rotate(-2deg)}.hero-wide{position:relative;z-index:1;max-width:1680px;margin:auto}.hero-editorial-grid{display:grid;grid-template-columns:41% 59%;column-gap:40px;align-items:center;min-height:716px}.hero-editorial .hero-copy{position:relative;z-index:2;min-height:auto!important;width:auto!important;background:transparent!important;display:block!important;padding:76px 0 64px max(3.4vw,36px)}.hero-editorial .hero-inner{max-width:610px!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow:visible!important}.hero-editorial .hero-inner:before,.hero-editorial .hero-inner:after{display:none!important}.hero-editorial .kicker{margin-bottom:24px!important;color:var(--red)!important;font-weight:900!important;letter-spacing:.18em!important}.hero-editorial h1{font:800 clamp(4.2rem,6vw,6.6rem)/.94 var(--display)!important;letter-spacing:-.08em!important;color:var(--navy)!important;margin:0!important}.hero-editorial h1 em{display:inline-block;font-family:Georgia,serif!important;font-weight:700!important;font-style:italic!important;color:var(--blue)!important;letter-spacing:-.07em!important;text-shadow:none!important}.hero-editorial .hero-summary{max-width:460px!important;margin:26px 0 34px!important;color:#3e5866!important;font:600 1.16rem/1.55 var(--body)!important}.hero-actions{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:42px}.hero-actions .btn{border-radius:8px!important;min-width:190px;justify-content:center;display:inline-flex;align-items:center;gap:9px}.hero-actions .btn-outline-brand{background:#fff!important;border-color:var(--blue)!important;color:var(--blue)!important}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;border-top:1px solid rgba(8,42,59,.12);padding-top:28px;max-width:600px}.hero-stats div{display:grid;grid-template-columns:52px 1fr;column-gap:14px;align-items:center}.stat-icon{grid-row:span 2;width:52px;height:52px;border-radius:10px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--blue);font-size:1.35rem;box-shadow:0 8px 20px rgba(8,42,59,.06)}.hero-stats strong{font:900 1.55rem/1 var(--display);letter-spacing:-.05em;color:var(--navy)}.hero-stats small{font-size:.78rem;line-height:1.2;color:#506876;font-weight:700}.hero-visual{position:relative;min-height:716px;align-self:stretch}.hero-photo-frame{position:absolute;inset:0 0 30px 0;overflow:hidden;border-left:10px solid #34383c;border-bottom:10px solid #34383c;border-radius:92px 0 0 92px;box-shadow:-20px 30px 60px rgba(8,42,59,.18)}.hero-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.hero-photo-frame:before{content:'';position:absolute;top:0;bottom:92px;left:5px;width:2px;background:repeating-linear-gradient(to bottom,#fff 0 8px,transparent 8px 16px);z-index:2;pointer-events:none}.hero-photo-frame:after{content:'';position:absolute;left:0;right:0;bottom:0;height:92px;z-index:2;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 92 92'%3E%3Cpath d='M5 0 A87 87 0 0 1 92 87' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-dasharray='8 8'/%3E%3C/svg%3E") no-repeat left top/92px 92px,repeating-linear-gradient(to right,#fff 0 8px,transparent 8px 16px) no-repeat left 92px bottom 5px/calc(100% - 92px) 2px}.hero-visual .photo-card{position:absolute;left:auto!important;right:34px;width:255px;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 18px 40px rgba(8,42,59,.18);padding:20px;gap:16px;z-index:3}.hero-visual .photo-card b{font:900 1rem/1.16 var(--display);letter-spacing:-.04em;color:var(--navy);margin-bottom:8px}.hero-visual .photo-card small{font-size:.78rem;line-height:1.55;color:#5d7280}.hero-visual .card-icon{width:52px;height:52px;font-size:1.35rem}.card-icon.yellow{background:var(--yellow);color:#fff}.card-certified{top:210px}.hero-visual .card-flex{top:380px}.card-licence{top:550px}.trust-strip{margin-top:0}@media(max-width:1399px){.nav-phone{display:none!important}.nav-link{padding:.6rem .65rem!important;font-size:.85rem!important}}
@media(max-width:1199px){.nav-phone{display:none!important}.hero-editorial-grid{grid-template-columns:45% 55%;column-gap:24px}.hero-editorial h1{font-size:clamp(3.5rem,5vw,5.5rem)!important}.hero-visual .photo-card{right:20px;width:230px}.card-certified{top:190px}.hero-visual .card-flex{top:350px}.card-licence{top:510px}}@media(max-width:991px){.navbar,.navbar.scrolled{padding:13px 0!important}.navbar .nav-crest{width:52px!important;height:52px!important}.nav-brand-copy strong{font-size:1.35rem!important}.nav-brand-copy small{font-size:.58rem!important}.nav-cta{height:44px;padding:0 .85rem!important;font-size:.8rem!important}.nav-login{height:44px;padding:0 .75rem!important;font-size:.8rem!important}.nav-actions{gap:8px}.hero-editorial{padding-top:82px;min-height:auto!important}.hero-editorial-grid{display:block;min-height:auto}.hero-editorial .hero-copy{padding:58px 28px 26px}.hero-editorial .hero-inner{max-width:720px!important}.hero-editorial h1{font-size:clamp(3.3rem,12vw,5.2rem)!important}.hero-stats{grid-template-columns:repeat(3,1fr)}.hero-visual{min-height:520px;margin:0 18px 38px}.hero-photo-frame{inset:0;border-radius:42px;clip-path:none;border:6px solid #fff}.hero-photo-frame:before,.hero-photo-frame:after{content:none}.hero-visual .photo-card{display:flex;right:18px;width:220px}.card-certified{top:34px}.hero-visual .card-flex{top:auto;bottom:118px}.card-licence{top:auto;bottom:18px}.hero-swoosh{height:110px;width:460px}}@media(max-width:575px){.navbar,.navbar.scrolled{top:0!important;padding:11px 0!important}.navbar .nav-crest{width:46px!important;height:46px!important}.nav-brand-copy strong{font-size:1.18rem!important}.nav-brand-copy small{font-size:.5rem!important;margin-top:5px!important}.nav-cta{height:40px;padding:0 .7rem!important;font-size:.74rem!important}.nav-login{height:40px;padding:0 .6rem!important;font-size:.74rem!important}.nav-actions{gap:6px}.navbar-toggler{font-size:1.4rem!important;padding:.1rem .2rem!important}.hero-editorial{padding-top:74px}.hero-editorial .hero-copy{padding:38px 18px 18px}.hero-editorial .kicker{font-size:.62rem!important;letter-spacing:.14em!important;margin-bottom:18px!important}.hero-editorial h1{font-size:3.35rem!important;line-height:.96!important}.hero-editorial .hero-summary{font-size:1rem!important;margin:22px 0 26px!important}.hero-actions{gap:12px;margin-bottom:26px}.hero-actions .btn{min-width:0;flex:1 1 145px;padding:.88rem .8rem!important;font-size:.78rem}.hero-stats{grid-template-columns:1fr;gap:12px;padding-top:18px}.hero-stats div{grid-template-columns:44px 1fr}.stat-icon{width:44px;height:44px}.hero-stats strong{font-size:1.25rem}.hero-visual{min-height:430px;margin:4px 14px 30px}.hero-photo-frame{border-radius:30px}.hero-photo-frame img{object-position:57% center}.hero-visual .photo-card{width:calc(100% - 34px);right:17px;padding:13px 14px}.hero-visual .photo-card small{display:block;font-size:.7rem}.hero-visual .photo-card b{font-size:.86rem}.hero-visual .card-icon{width:38px;height:38px;font-size:1rem}.card-certified{top:auto;bottom:170px}.hero-visual .card-flex{bottom:92px}.card-licence{bottom:14px}.hero-dots{display:none}.hero-swoosh{right:-180px;bottom:0;width:420px;height:86px}.trust-strip{margin-top:0}}

/* Hero proof cards v3.1: compact bottom tray instead of covering the photo. */
.hero-visual .photo-card{top:auto!important;bottom:42px!important;right:auto!important;width:calc(33.333% - 12px)!important;min-width:0;max-width:none;padding:14px 16px!important;border-radius:14px!important;align-items:center;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.hero-visual .photo-card small{font-size:.68rem!important;line-height:1.35!important}.hero-visual .photo-card b{font-size:.86rem!important;margin-bottom:3px!important}.hero-visual .card-icon{width:42px!important;height:42px!important;font-size:1.05rem!important}.hero-visual .card-certified{left:0!important}.hero-visual .card-flex{left:calc(33.333% + 6px)!important}.hero-visual .card-licence{left:calc(66.666% + 12px)!important}@media(max-width:1199px){.hero-visual .photo-card{padding:12px 13px!important}.hero-visual .photo-card small{display:none}}@media(max-width:991px){.hero-visual{padding-bottom:120px}.hero-visual .photo-card{bottom:20px!important}.hero-visual .card-certified{left:0!important}.hero-visual .card-flex{left:calc(33.333% + 6px)!important}.hero-visual .card-licence{left:calc(66.666% + 12px)!important}.hero-visual .photo-card{width:calc(33.333% - 12px)!important;justify-content:flex-start}.hero-visual .photo-card span:last-child{min-width:0}.hero-visual .photo-card b{font-size:.76rem!important}}@media(max-width:575px){.hero-visual{padding-bottom:0;display:grid;gap:10px}.hero-photo-frame{position:relative!important;min-height:365px}.hero-visual .photo-card{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;top:auto!important;width:100%!important;box-shadow:0 10px 24px rgba(8,42,59,.1)!important}.hero-visual .photo-card small{display:block!important}.card-certified{order:2}.hero-visual .card-flex{order:3}.card-licence{order:4}}