/* styles.css */
:root{ --bg:#0f1a2e; --bg-2:#172743; --text:#16253a; --muted:#5e7088; --line:#dfe7f0; --soft:#f5f8fc; --white:#ffffff; --gold:#d9a54a; --gold-2:#f1cd84; --shadow:0 18px 40px rgba(15,26,46,.08); --shadow-strong:0 24px 60px rgba(15,26,46,.18); --radius:24px; --radius-sm:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--text);background:linear-gradient(180deg,#f6f8fc 0%,#eef3f9 100%);line-height:1.6}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.shell{width:min(1240px,calc(100% - 40px));margin:0 auto}
.topbar{background:var(--bg);color:#dbe5f7;font-size:14px}
.topbar-inner{display:flex;gap:18px;flex-wrap:wrap;padding:10px 0}
.topbar a{opacity:.95}
.site-header{
  position:sticky;
  top:0;
  z-index:30;
  background:linear-gradient(180deg,rgba(5,18,44,.98),rgba(7,24,58,.96));
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(212,173,96,.22);
  box-shadow:0 12px 30px rgba(3,10,25,.28)
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:18px 0
}
.brand{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
  flex:0 1 auto
}
.brand-logo{
  display:block;
  height:82px;
  width:auto;
  max-width:min(58vw,500px);
  border-radius:14px;
  box-shadow:0 12px 28px rgba(0,0,0,.28)
}
.brand-fallback{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important
}
.desktop-nav{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end
}
.desktop-nav a{
  padding:9px 11px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  color:rgba(255,255,255,.88)
}
.desktop-nav a:hover,
.desktop-nav a.active{
  background:rgba(255,255,255,.1);
  color:#fff
}
.desktop-nav .nav-cta,
.mobile-nav .nav-cta{
  background:linear-gradient(135deg,#e7c06c,#b6852f);
  color:#091a3d;
  box-shadow:0 10px 24px rgba(0,0,0,.22)
}
.mobile-toggle{
  display:none;
  border:0;
  background:transparent;
  font-size:28px;
  cursor:pointer;
  color:#fff
}
.mobile-nav{
  display:none;
  flex-direction:column;
  gap:10px;
  padding:0 0 16px
}
.mobile-nav a{padding:12px 14px;border-radius:16px;background:#f4f7fb;font-weight:700}
.hero,.page-hero{background:radial-gradient(circle at top right, rgba(217,165,74,.22), transparent 34%), linear-gradient(180deg,#f7fbff 0%,#eaf1fa 100%)}
.hero{padding:72px 0 56px}
.page-hero{padding:64px 0 34px}
.hero-grid,.split,.hero-split,.contact-split{display:grid;grid-template-columns:1.08fr .92fr;gap:24px;align-items:stretch}
.narrow{max-width:820px}
h1{font-size:clamp(40px,6vw,68px);line-height:.96;letter-spacing:-.04em;margin:14px 0 14px;max-width:12ch}
h2{font-size:clamp(30px,4vw,46px);line-height:1.02;letter-spacing:-.03em;margin:0 0 14px}
h3{font-size:24px;line-height:1.1;margin:0 0 10px}
p{margin:0 0 14px}
.lead{font-size:19px;color:var(--muted);max-width:760px}
.eyebrow-pill,.section-kicker,.panel-kicker,.price-tag{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.eyebrow-pill,.section-kicker{background:#fff2d7;color:#835814;border:1px solid #f0d08b}
.panel-kicker,.price-tag{background:#fff;color:#8a5d13;border:1px solid rgba(255,255,255,.5)}
.button-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:18px;font-weight:800;border:1px solid transparent;transition:.18s ease;cursor:pointer}
.btn:hover{transform:translateY(-1px)}
.btn-gold{background:linear-gradient(180deg,var(--gold-2),var(--gold));color:#231805;box-shadow:0 14px 30px rgba(217,165,74,.28)}
.btn-dark{background:var(--bg);color:#fff;box-shadow:0 14px 30px rgba(15,26,46,.18)}
.btn-light{background:#fff;color:var(--bg);border-color:var(--line)}
.hero-panel,.content-box,.info-card,.price-card{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.hero-panel,.content-box{padding:28px}
.premium-panel{background:linear-gradient(180deg,#172844 0%,#0f1a2e 100%);color:#fff;border-color:#22395d;box-shadow:var(--shadow-strong)}
.premium-panel p,.premium-panel li{color:#d6e2f3}
.hero-price,.price-main{font-size:clamp(32px,3.8vw,52px);font-weight:900;line-height:.92;margin:12px 0 12px;letter-spacing:-.04em;white-space:nowrap}
.feature-list,.trust-list,.footer-list,.step-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.feature-list li,.trust-list li,.step-list li{display:flex;gap:10px;align-items:flex-start}
.feature-list li::before,.trust-list li::before,.step-list li::before{content:"✓";display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#e8f4eb;color:#147845;font-weight:900;margin-top:2px}
.feature-list.compact{gap:10px;margin:18px 0 24px}
.trust-list{margin-top:22px;grid-template-columns:repeat(3,1fr);gap:12px}
.trust-list li{padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.trust-list li::before{content:"•";background:none;color:var(--gold);font-size:22px;min-width:auto;height:auto;margin-top:-2px}
.section{padding:76px 0;position:relative}
.alt{background:linear-gradient(180deg,#eef4fb 0%,#f7faff 100%)}
.section-head{margin-bottom:24px}
.section-head.left{text-align:left;max-width:760px}
.card-grid{display:grid;gap:20px}
.card-grid.three{grid-template-columns:repeat(3,1fr)}
.info-card{padding:24px}
.info-card p,.muted,.price-top p{color:var(--muted)}
.pricing-grid{display:grid;gap:24px}
.pricing-grid.home-pricing{grid-template-columns:repeat(4,1fr)}
.pricing-grid.stacked{grid-template-columns:repeat(4,1fr)}
.price-card{padding:24px;display:flex;flex-direction:column;justify-content:space-between;min-height:100%}
.price-card.featured{background:linear-gradient(180deg,#fff2cb 0%,#ffe4a1 38%,#fff8ea 100%);border:2px solid #d9a54a;box-shadow:0 28px 60px rgba(217,165,74,.28);transform:translateY(-8px)}
.price-card.big{padding:28px}
.price-top h2,.price-top h3{margin-top:14px}
.price-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.mini-card{padding:20px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.mini-card strong{display:block;font-size:16px;margin-bottom:10px}
.mini-card span{font-size:28px;font-weight:900;letter-spacing:-.03em}
.accent-box{background:linear-gradient(180deg,#f3f8ff,#eaf2fc)}
.contact-list{display:grid;gap:12px;margin-top:18px}
.contact-list a{display:flex;padding:15px 18px;border-radius:18px;background:#fff;border:1px solid var(--line);font-weight:700;box-shadow:var(--shadow)}
.contact-list.large a{font-size:18px}
.notice{margin-top:18px;padding:16px 18px;border-radius:18px;background:#fff5df;border:1px solid #efd59a;color:#6b4a13}
.contact-form .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:18px}
.contact-form label{display:grid;gap:8px;font-weight:700;color:#42546d}
.contact-form label span{font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.contact-form label.full{grid-column:1/-1}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:15px 16px;border:1px solid #d4dfec;border-radius:16px;background:#fbfdff;color:var(--text)}
.contact-form textarea{min-height:150px;resize:vertical}
.site-footer{background:var(--bg);color:#d5e2f3;padding:56px 0 20px;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:24px}
.footer-brand{font-size:24px;font-weight:900;color:#fff;margin-bottom:10px}
.site-footer h4{color:#fff;margin:0 0 10px}
.site-footer p,.site-footer a{color:#d5e2f3}
.footer-bottom{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);font-size:14px;color:#9fb2ce}
.mobile-sticky{display:none}
.mobile-sticky-inner{padding-bottom:14px}
.step-list{counter-reset:steps;gap:14px;margin-top:12px}
.step-list li{padding:16px 18px;background:#fff;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow)} .price-card.featured .price-tag{background:#0f1a2e;color:#fff;border-color:#0f1a2e}
.price-card.featured .price-main{color:#7b4c00}
.price-card.featured .btn{background:#0f1a2e;color:#fff;border-color:#0f1a2e}
.price-card.featured::after{content:none}
.price-card{position:relative;overflow:hidden}
.price-card .price-tag{white-space:nowrap;line-height:1;min-height:0;align-items:center;padding:10px 14px}
.pricing-grid.home-pricing,.pricing-grid.stacked{align-items:stretch}
.price-top h3,.price-top h2{min-height:0}
.page-hero .narrow,.hero .hero-grid{position:relative;z-index:1}
.drift-scene{min-height:100%;padding:28px;background:linear-gradient(180deg,#11233b 0%,#1b3458 100%);color:#fff;border-radius:24px;position:relative;overflow:hidden;box-shadow:var(--shadow-strong)}
.drift-scene::before{content:"";position:absolute;left:-10%;right:-10%;bottom:68px;height:110px;background:linear-gradient(180deg,#dfe7f0 0%,#bfcad8 100%);transform:rotate(-4deg);border-radius:999px;opacity:.95}
.drift-scene::after{content:"";position:absolute;left:8%;right:8%;bottom:98px;height:4px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.95) 0 30px,transparent 30px 55px);transform:rotate(-4deg)}
.drift-car{position:absolute;right:44px;bottom:118px;font-size:82px;transform:rotate(-12deg)}
.drift-tracks{position:absolute;right:105px;bottom:122px;width:120px;height:52px;border-bottom:5px dashed rgba(255,255,255,.75);border-radius:50%;transform:rotate(18deg)}
.drift-copy{max-width:360px;position:relative;z-index:1}
.drift-copy p{color:#d6e2f3}
.price-card .price-top{display:grid;gap:10px}
.price-card .price-main{display:block;max-width:100%;overflow:hidden;text-overflow:clip}
.price-card.featured .price-tag{box-shadow:0 8px 18px rgba(15,26,46,.12)} @media (max-width:1100px){ .hero-grid,.split,.hero-split,.contact-split,.pricing-grid.home-pricing,.pricing-grid.stacked,.card-grid.three,.footer-grid,.mini-grid,.trust-list{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){ .desktop-nav{display:none} .mobile-toggle{display:block} .mobile-nav.open{display:flex} .hero,.page-hero,.section{padding:52px 0 24px} .hero-grid,.split,.hero-split,.contact-split,.pricing-grid.home-pricing,.pricing-grid.stacked,.card-grid.three,.footer-grid,.mini-grid,.trust-list,.contact-form .form-grid{grid-template-columns:1fr} .topbar-inner{gap:8px;padding:10px 0} h1{font-size:42px} .mobile-sticky{display:block;position:sticky;bottom:0;z-index:25;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 35%)} .mobile-sticky .btn{width:100%}
} .classroom-scene{min-height:100%;padding:28px;background:linear-gradient(180deg,#f6f1e4 0%,#efe3c2 100%);border:1px solid #e3d2a1;border-radius:24px;position:relative;overflow:hidden;box-shadow:var(--shadow);}
.classroom-scene::before{content:"";position:absolute;left:0;right:0;bottom:0;height:92px;background:linear-gradient(180deg,#c99a5d 0%,#b47f43 100%)}
.classroom-scene::after{content:"";position:absolute;left:0;right:0;top:0;height:18px;background:linear-gradient(90deg,rgba(255,255,255,.45),rgba(255,255,255,0))}
.classroom-copy{position:relative;z-index:2;max-width:280px;color:#4e5c70}
.classroom-copy h3{margin-bottom:8px}
.board{position:absolute;right:34px;top:34px;width:250px;height:130px;background:linear-gradient(180deg,#294a36 0%,#1e3527 100%);border:10px solid #8d6332;border-radius:10px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08)}
.board::before{content:"ABC 123";position:absolute;left:20px;top:24px;color:rgba(255,255,255,.85);font-size:28px;font-weight:800;letter-spacing:.08em}
.teacher{position:absolute;right:220px;top:116px;width:78px;height:170px;z-index:2}
.teacher .head{position:absolute;left:24px;top:0;width:32px;height:32px;background:#f1c7a6;border-radius:50%}
.teacher .body{position:absolute;left:14px;top:28px;width:52px;height:70px;background:#314866;border-radius:18px 18px 10px 10px}
.teacher .arm{position:absolute;left:46px;top:52px;width:62px;height:8px;background:#f1c7a6;border-radius:999px;transform:rotate(-18deg);transform-origin:left center}
.teacher .leg-a,.teacher .leg-b{position:absolute;top:94px;width:12px;height:62px;background:#24374f;border-radius:999px}
.teacher .leg-a{left:25px;transform:rotate(6deg)}
.teacher .leg-b{left:42px;transform:rotate(-4deg)}
.teacher .pointer{position:absolute;left:86px;top:50px;width:110px;height:3px;background:#f2e1a7;transform:rotate(-12deg);transform-origin:left center}
.desk-row{position:absolute;left:28px;right:36px;bottom:38px;display:flex;gap:18px;z-index:2}
.student-desk{position:relative;flex:1;min-width:0;height:88px;background:rgba(255,255,255,.45);border:1px solid rgba(110,85,38,.18);border-radius:18px 18px 10px 10px;backdrop-filter:blur(2px)}
.student-desk::before{content:"";position:absolute;left:18px;right:18px;top:20px;height:10px;background:rgba(110,85,38,.14);border-radius:999px}
.student{position:absolute;left:50%;transform:translateX(-50%);bottom:42px;width:54px;height:82px}
.student .head{position:absolute;left:16px;top:0;width:22px;height:22px;background:#efc4a2;border-radius:50%}
.student .body{position:absolute;left:7px;top:18px;width:40px;height:34px;background:#7c93b7;border-radius:16px 16px 10px 10px}
.student .arm-a,.student .arm-b{position:absolute;top:32px;width:22px;height:7px;background:#efc4a2;border-radius:999px}
.student .arm-a{left:0;transform:rotate(18deg)}
.student .arm-b{right:0;transform:rotate(-18deg)}
.student .hair-dark{background:#3b2d25 !important}
.student .hair-light{background:#86694e !important}
.student .hair-mid{background:#5c4637 !important}
.teacher .hair{position:absolute;left:22px;top:-2px;width:34px;height:18px;background:#3e2d21;border-radius:20px 20px 8px 8px}
.student .hair{position:absolute;left:12px;top:-2px;width:30px;height:14px;background:#4d382c;border-radius:20px 20px 8px 8px}
.teacher .shoe-a,.teacher .shoe-b{position:absolute;top:150px;width:18px;height:8px;background:#1a2536;border-radius:999px}
.teacher .shoe-a{left:19px}.teacher .shoe-b{left:38px}
.theory-scene{background:linear-gradient(180deg,#eef4ff 0%,#ddeaff 100%);border-color:#cfdcf4}
.theory-scene .board{background:linear-gradient(180deg,#325a8b 0%,#203c61 100%);border-color:#7e5f35}
.theory-scene .board::before{content:"A B C\A B C";white-space:pre;line-height:1.2;letter-spacing:.22em}
.theory-scene .teacher .body{background:#495aa2}
.theory-scene .student .body{background:#90a7ca}
.theory-scene .desk-row{gap:14px}
.theory-scene .student-desk{background:rgba(255,255,255,.58)} /* v14 tightening */
.brand-text small{max-width:280px;line-height:1.25}
.pricing-grid.home-pricing{gap:20px}
.price-card{overflow:hidden}
.price-top h3{font-size:clamp(18px,2.2vw,24px);line-height:1.04;overflow-wrap:anywhere}
@media (max-width:1320px){ .pricing-grid.home-pricing{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px} .price-card{padding:22px} .price-main{font-size:clamp(28px,3.2vw,44px)}
} /* v17 package layout fixes */
.price-card{min-width:0}
.pricing-grid.home-pricing,.pricing-grid.stacked{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.price-card .price-top{gap:8px}
.price-card .price-tag{font-size:11px;letter-spacing:.12em;padding:8px 12px}
.price-top h2,.price-top h3{font-size:clamp(16px,1.45vw,20px);line-height:1.08;letter-spacing:-.015em;margin:10px 0 4px;overflow-wrap:normal;word-break:keep-all;hyphens:none;max-width:none}
.price-card .price-main{font-size:clamp(24px,2.2vw,34px);line-height:1;letter-spacing:-.02em;white-space:nowrap;margin:8px 0 8px}
.price-top p{font-size:15px;line-height:1.5;max-width:none}
.feature-list{gap:10px}
.feature-list li{font-size:15px;line-height:1.4}
.price-card.featured{transform:none}
@media (max-width:1400px){ .price-top h2,.price-top h3{font-size:clamp(15px,1.35vw,18px);max-width:none} .price-card .price-main{font-size:clamp(22px,2vw,30px)} .price-top p{font-size:14px;max-width:none}
}
@media (max-width:1200px){ .pricing-grid.home-pricing,.pricing-grid.stacked{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px} .price-top h2,.price-top h3{font-size:clamp(20px,2.4vw,24px);max-width:none} .price-card .price-main{font-size:clamp(28px,4vw,36px)} .price-top p{max-width:none}
}
@media (max-width:700px){ .pricing-grid.home-pricing,.pricing-grid.stacked{grid-template-columns:1fr}
} /* v19 logo integration + package cleanup */
.logo-showcase{display:flex;align-items:center;gap:14px;margin-top:22px;padding:14px 16px;border-radius:22px;background:linear-gradient(180deg,#13233d 0%,#0f1a2e 100%);border:1px solid #22395d;box-shadow:var(--shadow-strong);max-width:420px}
.logo-showcase img{width:118px;height:auto;flex:0 0 auto;filter:drop-shadow(0 10px 22px rgba(0,0,0,.28))}
.logo-showcase strong{display:block;color:#fff;font-size:15px;line-height:1.2;margin-bottom:4px}
.logo-showcase span{display:block;color:#cfdcf0;font-size:13px;line-height:1.45}
.logo-mini{margin-top:14px;max-width:220px;padding:12px;border-radius:20px;background:linear-gradient(180deg,#13233d 0%,#0f1a2e 100%);border:1px solid rgba(255,255,255,.08)}
.logo-mini img{width:100%;height:auto;display:block}
.footer-logo-card{margin-top:14px;max-width:230px;padding:12px;border-radius:22px;background:linear-gradient(180deg,#13233d 0%,#0f1a2e 100%);border:1px solid rgba(255,255,255,.08)}
.footer-logo-card img{width:100%;height:auto;display:block}
.pricing-grid.home-pricing,.pricing-grid.stacked{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.price-card{padding:26px 24px}
.price-top h2,.price-top h3{font-size:clamp(30px,3vw,42px);line-height:.96;letter-spacing:-.035em;margin:12px 0 8px;word-break:normal;overflow-wrap:normal;hyphens:none;text-wrap:balance}
.price-card .price-main{font-size:clamp(40px,4.2vw,56px);line-height:.95;letter-spacing:-.04em;white-space:nowrap;margin:8px 0 10px}
.price-top p{font-size:17px;line-height:1.55;max-width:28ch}
.feature-list li{font-size:17px;line-height:1.45}
.price-card .btn{margin-top:8px}
.price-card.featured{transform:none}
@media (min-width:1500px){ .pricing-grid.home-pricing,.pricing-grid.stacked{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px} .price-top h2,.price-top h3{font-size:clamp(20px,1.6vw,26px);line-height:1.02} .price-card .price-main{font-size:clamp(28px,2.2vw,36px)} .price-top p{font-size:15px;max-width:none} .feature-list li{font-size:15px}
}
@media (max-width:1100px){ .pricing-grid.home-pricing,.pricing-grid.stacked{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){ .logo-showcase{max-width:none}
}
@media (max-width:700px){ .pricing-grid.home-pricing,.pricing-grid.stacked{grid-template-columns:1fr} .price-top h2,.price-top h3{font-size:clamp(22px,7vw,34px)} .price-card .price-main{font-size:clamp(34px,10vw,48px)} .price-top p,.feature-list li{font-size:16px}
} /* v20 homepage video */
.video-feature-section{padding-top:28px}
.video-head{max-width:860px}
.video-card{background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:18px;overflow:hidden}
.intro-video{display:block;width:100%;border-radius:20px;background:#0f1a2e;box-shadow:0 18px 40px rgba(15,26,46,.12)}
@media (max-width:820px){ .video-feature-section{padding-top:8px} .video-card{padding:12px;border-radius:22px} .intro-video{border-radius:16px}
}




/* v36 text logo header/footer fit */
.site-header{background:linear-gradient(180deg,rgba(7,22,52,.98),rgba(10,28,64,.96));border-bottom:1px solid rgba(217,165,74,.22);box-shadow:0 12px 30px rgba(3,10,25,.28)}
.header-inner{gap:28px;padding:20px 0}
.brand{display:flex;align-items:center;gap:16px;text-decoration:none;min-width:0;flex:0 0 auto;padding:4px 0}
.brand-textmark{max-width:min(58vw,640px)}
.brand-monogram{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,3.2vw,56px);font-weight:700;line-height:1;color:var(--gold);letter-spacing:-.08em;flex:0 0 auto;text-shadow:0 10px 20px rgba(0,0,0,.18)}
.brand-divider{width:1px;height:54px;background:linear-gradient(180deg,rgba(241,205,132,.2),rgba(217,165,74,.95),rgba(241,205,132,.2));flex:0 0 auto}
.brand-wordmark{display:flex;flex-direction:column;gap:4px;line-height:1;min-width:0}
.brand-top{font-family:Georgia,"Times New Roman",serif;font-size:clamp(18px,1.65vw,30px);font-weight:700;letter-spacing:.18em;color:var(--gold-2);white-space:nowrap}
.brand-bottom{font-size:clamp(16px,1.3vw,22px);font-weight:800;letter-spacing:.24em;color:#fff;white-space:nowrap}
.brand-fallback{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.desktop-nav a{padding:9px 10px;font-size:12px;font-weight:700;color:rgba(255,255,255,.9)}
.footer-logo-card{max-width:460px;background:transparent;border:0;padding:0;box-shadow:none;margin-top:18px}
.footer-wordmark{display:flex;align-items:center;gap:16px;padding:0;border-radius:0;background:transparent;border:0;box-shadow:none}
.footer-monogram{font-family:Georgia,"Times New Roman",serif;font-size:44px;font-weight:700;line-height:1;color:var(--gold);letter-spacing:-.08em;flex:0 0 auto}
.footer-divider{width:1px;height:46px;background:linear-gradient(180deg,rgba(241,205,132,.2),rgba(217,165,74,.95),rgba(241,205,132,.2));flex:0 0 auto}
.footer-wordmark-text{display:flex;flex-direction:column;gap:4px;line-height:1}
.footer-top{font-family:Georgia,"Times New Roman",serif;font-size:21px;font-weight:700;letter-spacing:.16em;color:var(--gold-2);white-space:nowrap}
.footer-brand-bottom{font-size:16px;font-weight:800;letter-spacing:.22em;color:#fff;white-space:nowrap}
@media (max-width:1100px){.brand-textmark{max-width:min(60vw,520px)}.brand-monogram{font-size:44px}.brand-divider{height:48px}.brand-top{font-size:22px}.brand-bottom{font-size:17px}.desktop-nav a{padding:8px 8px;font-size:11px}}
@media (max-width:980px){.header-inner{gap:18px;padding:18px 0}.brand-textmark{max-width:52vw}.brand-monogram{font-size:40px}.brand-divider{height:44px}.brand-top{font-size:20px}.brand-bottom{font-size:16px}.desktop-nav a{padding:8px 7px;font-size:11px}}
@media (max-width:820px){.brand-textmark{max-width:none}.brand{gap:12px;padding:2px 0}.brand-monogram{font-size:38px}.brand-divider{height:40px}.brand-top{font-size:18px;letter-spacing:.15em}.brand-bottom{font-size:14px;letter-spacing:.2em}.header-inner{gap:12px;padding:16px 0}.footer-wordmark{padding:0}.footer-monogram{font-size:38px}.footer-divider{height:40px}.footer-top{font-size:18px}.footer-brand-bottom{font-size:14px}}
@media (max-width:540px){.brand{gap:10px}.brand-monogram{font-size:34px}.brand-divider{height:34px}.brand-top{font-size:15px;letter-spacing:.12em}.brand-bottom{font-size:12px;letter-spacing:.18em}.footer-wordmark{gap:12px;padding:0}.footer-monogram{font-size:34px}.footer-divider{height:34px}.footer-top{font-size:15px;letter-spacing:.12em}.footer-brand-bottom{font-size:12px;letter-spacing:.18em}}

/* v44 about page and footer cleanup */
.about-intro{padding-top:22px}
.about-intro .content-box{height:100%}
.about-photo-frame{background:#fff;border:1px solid var(--line);border-radius:28px;padding:12px;box-shadow:var(--shadow-soft);height:100%}
.about-photo-frame img{display:block;width:100%;height:100%;max-height:760px;object-fit:cover;border-radius:20px}
.about-body{padding-top:10px}
.about-gallery-card img{display:block;width:100%;height:320px;object-fit:cover;border-radius:18px;border:1px solid var(--line);margin-bottom:14px}
.about-gallery-card h3{margin:0 0 8px}
.site-footer .footer-brand{display:none}
.site-footer .footer-logo-card{margin-bottom:14px}
.site-footer .footer-grid>div:first-child p{margin-top:0}
@media (max-width:820px){
  .mobile-nav{padding-top:8px}
  .mobile-toggle{margin-left:auto}
  .about-photo-frame img{max-height:none;height:auto}
  .about-gallery-card img{height:auto}
}


/* v45 strict mobile header + ring button fix */
@media (max-width: 820px){
  .site-header{position:relative;top:auto}
  .header-inner{padding:12px 0;gap:12px;align-items:center}
  .brand{flex:1 1 auto;min-width:0}
  .brand-logo{height:52px;max-width:70vw}
  .brand-textmark{max-width:72vw}
  .desktop-nav{display:none !important}
  .mobile-toggle{display:block !important;margin-left:auto;position:relative;z-index:32;font-size:34px;line-height:1;padding:8px 10px}
  .mobile-nav{display:none !important;position:absolute;left:12px;right:12px;top:100%;margin-top:8px;padding:14px;border-radius:22px;background:#ffffff;box-shadow:0 20px 50px rgba(15,26,46,.22);border:1px solid #dfe7f0;z-index:31}
  .mobile-nav.open{display:flex !important}
  .mobile-nav a{background:#f6f8fc;color:#16253a}
  .mobile-nav .nav-cta{color:#091a3d}
  .topbar-inner{font-size:13px;line-height:1.35}
  .mobile-sticky{display:block;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:0 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.96) 35%)}
  .mobile-sticky-inner{padding-bottom:0}
  .mobile-sticky .btn{width:100%;max-width:none;border-radius:22px;box-shadow:0 16px 34px rgba(15,26,46,.18)}
  body{padding-bottom:104px}
}


/* v45b only: strict mobile menu + remove floating call button */
@media (max-width: 820px){
  .site-header .desktop-nav{display:none !important}
  .site-header .mobile-toggle{display:block !important;margin-left:auto !important}
  .site-header .mobile-nav{display:none !important;flex-direction:column !important}
  .site-header .mobile-nav.open{display:flex !important}
  .mobile-sticky{display:none !important}
  body{padding-bottom:0 !important}
}

.video-split{align-items:center}
.video-copy{background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%)}
.compact-video-card{max-width:560px;margin-left:auto}
.compact-video{aspect-ratio:16/10;object-fit:cover}
.reviews-section .section-head{margin-bottom:20px}
.review-card{display:flex;flex-direction:column;gap:10px}
.review-stars{color:var(--gold);font-size:22px;letter-spacing:2px;line-height:1}
.review-card h3{margin:0}
.review-card p{margin:0;color:var(--text-muted)}
@media (max-width:820px){.compact-video-card{max-width:none;margin-left:0}.video-copy{padding:22px}.review-stars{font-size:20px}}


/* Language switcher */
.lang-switch{display:flex;align-items:center;gap:.45rem;margin-left:1rem;margin-right:1rem;font-weight:700;font-size:.9rem;white-space:nowrap}
.lang-switch a,.lang-switch span{color:#ffffff;text-decoration:none;opacity:1}
.lang-switch a:hover{text-decoration:underline}
.lang-switch .lang-current{color:#d8b36a}
.lang-switch .lang-sep{opacity:.7;color:#ffffff}
.mobile-lang-switch{display:none}
@media (max-width: 960px){
  .lang-switch{display:none}
  .mobile-lang-switch{display:flex;align-items:center;gap:.45rem;padding:.35rem 0 .7rem;font-weight:700}
  .mobile-lang-switch a,.mobile-lang-switch span{color:inherit;text-decoration:none}
  .mobile-lang-switch .lang-current{color:#d8b36a}
  .mobile-lang-switch .lang-sep{opacity:.55}
}


/* v49 conversion + trust polish */
.reviews-actions{margin-top:22px;display:flex;justify-content:center}
.process-section{background:#ffffff}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.process-card{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow-soft)}
.process-card span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:999px;background:var(--navy);color:#fff;font-weight:900;margin-bottom:14px}
.process-card h3{margin:0 0 8px}
.process-card p{margin:0;color:var(--text-muted)}
.about-quickproof{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.about-quickproof li{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;font-weight:800;color:var(--navy)}
.about-quickproof li::before{content:"✓";color:#147845;margin-right:8px;font-weight:900}
.about-cta-row{margin-top:22px}
@media (max-width:820px){.process-grid,.about-quickproof{grid-template-columns:1fr}.reviews-actions{justify-content:flex-start}.process-card{padding:20px}}


/* v50 premium homepage completion */
.trust-proof-section{padding:28px 0;background:#fff}
.trust-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.trust-proof-grid article{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);border:1px solid var(--line);border-radius:20px;padding:18px 18px;box-shadow:var(--shadow-soft)}
.trust-proof-grid strong{display:block;color:var(--navy);font-size:17px;margin-bottom:6px}
.trust-proof-grid span{display:block;color:var(--text-muted);font-size:14px;line-height:1.45}
.photo-story-section{background:linear-gradient(180deg,#fff 0%,#f6f8fc 100%)}
.photo-story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.photo-story-grid figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow-soft)}
.photo-story-grid img{width:100%;height:330px;object-fit:cover;display:block}
.photo-story-grid figcaption{display:grid;gap:6px;padding:18px 20px}
.photo-story-grid figcaption strong{font-size:19px;color:var(--navy)}
.photo-story-grid figcaption span{color:var(--text-muted);line-height:1.55}
.faq-home-section{background:#fff}
.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.faq-grid article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow-soft)}
.faq-grid h3{margin:0 0 8px;color:var(--navy);font-size:20px}
.faq-grid p{margin:0;color:var(--text-muted);line-height:1.6}
@media (max-width:1100px){.trust-proof-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){.trust-proof-section{padding:18px 0}.trust-proof-grid,.photo-story-grid,.faq-grid{grid-template-columns:1fr}.photo-story-grid img{height:auto;max-height:420px}.photo-story-grid figcaption{padding:16px}.faq-grid article{padding:18px}}


/* v51 pricing + contact conversion polish */
.price-guide-section{background:#ffffff;padding-bottom:18px}
.price-guide-grid,.booking-fast-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.price-guide-grid article,.booking-fast-grid article{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow-soft)}
.price-guide-grid strong,.booking-fast-grid strong{display:block;color:var(--navy);font-size:18px;margin-bottom:8px}
.price-guide-grid span,.booking-fast-grid span{display:block;color:var(--text-muted);line-height:1.55}
.price-note{margin-top:18px;background:#0f1a2e;color:#fff;border-radius:24px;padding:20px 24px;display:flex;gap:12px;align-items:flex-start;box-shadow:var(--shadow-soft)}
.price-note strong{color:var(--gold-2);white-space:nowrap}
.price-note span{line-height:1.55;color:#eef4ff}
.booking-fast-section{background:#fff}
.contact-promise{color:var(--text-muted);line-height:1.6;margin:18px 0 0}
.contact-quick-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.form-honey{position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;opacity:0 !important;pointer-events:none !important}
.contact-form textarea::placeholder,.contact-form input::placeholder{color:#8a95a8}
@media (max-width:820px){.price-guide-grid,.booking-fast-grid{grid-template-columns:1fr}.price-note{display:block}.price-note strong{display:block;margin-bottom:8px;white-space:normal}.contact-quick-actions .btn{width:100%}}

/* v52 stability, English cleanup support and mobile polish */
:root{--navy:#0f1a2e;--text-muted:#5e7088;--shadow-soft:0 18px 40px rgba(15,26,46,.08)}
.btn-primary{background:linear-gradient(180deg,var(--gold-2),var(--gold));color:#231805;box-shadow:0 14px 30px rgba(217,165,74,.28)}
.btn-secondary,.btn-outline{background:#fff;color:var(--bg);border-color:var(--line);box-shadow:0 14px 30px rgba(15,26,46,.08)}
.btn-primary:hover,.btn-secondary:hover,.btn-outline:hover{transform:translateY(-1px)}
@media (max-width:820px){
  .about-intro{padding-top:28px}
  .about-intro .split{gap:18px}
  .about-intro .content-box{padding:22px}
  .about-intro h1{font-size:clamp(32px,9vw,40px);line-height:1.02;letter-spacing:-.035em;max-width:14ch}
  .about-intro .lead{font-size:17px;line-height:1.55}
  .about-intro p{font-size:15.5px;line-height:1.62}
  .about-cta-row .btn{width:100%}
  .about-photo-frame{padding:10px;border-radius:22px}
  .about-photo-frame img{border-radius:16px}
  .about-body .section-head h2{font-size:clamp(28px,8vw,36px);line-height:1.08}
  .about-gallery-card{padding:18px}
  .about-gallery-card h3{font-size:21px;line-height:1.15}
  .site-footer{margin-top:32px}
  .site-footer .footer-grid{gap:22px}
}
@media (max-width:540px){
  .about-intro .content-box{padding:18px}
  .about-intro h1{font-size:31px;max-width:13ch}
  .about-body .section-head h2{font-size:27px}
}


/* v53 – lokal SEO, förtroende och interna snabbvägar */
.v53-local-strength{
  background:linear-gradient(180deg,#ffffff 0%,#f4f7fb 100%);
}
.v53-strength-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.v53-link-list{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.v53-link-list a,
.area-chip-row a{
  color:var(--navy);
  font-weight:800;
  border:1px solid rgba(15,26,46,.12);
  background:#fff;
  border-radius:999px;
  padding:9px 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 24px rgba(15,26,46,.06);
}
.area-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:14px;
}
@media (max-width: 860px){
  .v53-strength-grid{grid-template-columns:1fr;}
  .v53-link-list a,
  .area-chip-row a{justify-content:flex-start;}
}


/* v54A - FAQ and search-result polishing */
.v54a-faq .info-card h3{font-size:1.02rem;line-height:1.3;margin-bottom:.55rem}
.v54a-faq .info-card p{color:var(--text-muted);line-height:1.65}
@media (max-width: 720px){.v54a-faq .section-head h2{font-size:clamp(1.55rem,7vw,2.15rem)}.v54a-faq .card-grid{gap:14px}}


/* v56 bokningskraft: compact conversion block on key pages */
.v56-booking-cta{padding-top:32px;padding-bottom:44px;background:linear-gradient(180deg,#eef3f9 0%,#f7fbff 100%)}
.v56-cta-card{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid rgba(15,26,46,.10);border-radius:28px;background:#fff;box-shadow:0 18px 44px rgba(15,26,46,.10);padding:28px}
.v56-cta-card h2{margin:6px 0 8px;font-size:clamp(28px,3.2vw,42px);max-width:760px}
.v56-cta-card p{margin:0;color:var(--muted);max-width:760px;font-weight:600}
.v56-cta-actions{display:flex;flex-direction:column;gap:10px;min-width:220px}
.v56-cta-actions .btn{justify-content:center;text-align:center;white-space:nowrap}
@media (max-width: 760px){
  .v56-booking-cta{padding-top:22px;padding-bottom:32px}
  .v56-cta-card{display:block;padding:22px;border-radius:22px}
  .v56-cta-card h2{font-size:28px;line-height:1.05;letter-spacing:-.03em}
  .v56-cta-actions{margin-top:18px;min-width:0}
  .v56-cta-actions .btn{width:100%}
}


/* v57 booking flow + contact confirmation */
.contact-form:target,
#kontaktformular:target,
#contact-form:target {
  outline: 3px solid rgba(199, 166, 74, 0.35);
  outline-offset: 8px;
  scroll-margin-top: 110px;
}
.v57-form-note {
  margin: 0 0 1rem;
  color: var(--text-muted, #5d6678);
  font-size: 0.95rem;
  line-height: 1.55;
}
.v57-thankyou .hero-actions {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  align-items: center;
}
@media (max-width: 640px) {
  .v57-thankyou .hero-actions .btn,
  .v57-thankyou .hero-actions .text-link {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

/* v57-hotfix: make CTA links look unmistakably clickable */
.btn.primary,
.btn.secondary,
.btn.ghost,
.v56-cta-actions .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:15px 22px;
  border-radius:18px;
  font-weight:900;
  text-align:center;
  text-decoration:none;
  border:2px solid transparent;
  box-shadow:0 14px 30px rgba(15,26,46,.16);
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.btn.primary,
.v56-cta-actions .btn.primary{
  background:linear-gradient(180deg,var(--gold-2),var(--gold));
  color:#231805;
  border-color:#c49136;
}
.btn.secondary,
.v56-cta-actions .btn.secondary{
  background:#0f1a2e;
  color:#fff;
  border-color:#0f1a2e;
}
.btn.ghost,
.v56-cta-actions .btn.ghost{
  background:#fff;
  color:#0f1a2e;
  border-color:#b9c6d6;
}
.v56-cta-actions .btn.ghost:nth-of-type(2){
  background:#0f1a2e;
  color:#fff;
  border-color:#0f1a2e;
}
.btn.primary:hover,
.btn.secondary:hover,
.btn.ghost:hover,
.v56-cta-actions .btn:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(15,26,46,.22);
}
.v56-cta-actions .btn:focus-visible,
.btn.primary:focus-visible,
.btn.secondary:focus-visible,
.btn.ghost:focus-visible{
  outline:3px solid rgba(217,165,74,.45);
  outline-offset:3px;
}
@media (max-width:760px){
  .v56-cta-actions .btn,
  .btn.primary,
  .btn.secondary,
  .btn.ghost{
    width:100%;
    min-height:56px;
    font-size:16px;
  }
}


/* v58: contact trust and clearer booking guidance */
.v58-contact-trust{padding-top:28px;padding-bottom:28px;background:#fff}
.v58-trust-card{display:grid;grid-template-columns:1fr 1.1fr;gap:24px;align-items:stretch;border:1px solid rgba(15,26,46,.10);border-radius:28px;background:linear-gradient(135deg,#fff 0%,#f7fbff 100%);box-shadow:0 16px 40px rgba(15,26,46,.08);padding:26px}
.v58-trust-card h2{margin:.35rem 0 .65rem;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.06}
.v58-trust-card p{margin:0;color:var(--text-muted,#5d6678);font-weight:650;line-height:1.65}
.v58-trust-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.v58-trust-list article{border:1px solid rgba(15,26,46,.10);border-radius:20px;background:#fff;padding:16px;box-shadow:0 10px 24px rgba(15,26,46,.06)}
.v58-trust-list strong{display:block;color:#0f1a2e;margin-bottom:6px;font-size:1rem}
.v58-trust-list span{display:block;color:var(--text-muted,#5d6678);font-weight:650;line-height:1.45;font-size:.94rem}
.v58-form-helper{padding:12px 14px;border-radius:16px;background:#f6f0df;border:1px solid rgba(199,145,54,.25);color:#33250d!important;font-weight:750}
@media (max-width:860px){.v58-trust-card{grid-template-columns:1fr;padding:20px;border-radius:22px}.v58-trust-list{grid-template-columns:1fr}.v58-contact-trust{padding-top:18px;padding-bottom:18px}}


/* v60 hotfix 2: Netlify Forms same-page success */
.form-success-message{
  display:block;
  margin:0 0 18px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(212,175,55,.45);
  background:rgba(212,175,55,.12);
  color:var(--ink,#102033);
}
.form-success-message[hidden]{display:none!important;}
.form-success-message strong{display:block;margin-bottom:6px;font-size:1.02rem;}
.form-success-message span{display:block;color:var(--muted,#5d6b7a);line-height:1.55;}


/* v60-hotfix4-form-fallback */
.form-fallback-message {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding: 1rem;
  border-radius: 1rem;
  background: #fff8e1;
  border: 1px solid rgba(214, 165, 61, 0.45);
  color: #1f2937;
}
.form-fallback-message[hidden] { display: none !important; }
.form-fallback-message strong { display: block; }
.form-fallback-message span { display: block; }
.form-fallback-message .btn { justify-self: start; }

/* elevportal.css */
/* v66: Student portal button. Scoped to the existing main navigation. */
.desktop-nav .nav-actions {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: 0 0 auto;
}
.desktop-nav a.nav-portal,
.mobile-nav a.nav-portal {
  white-space: nowrap;
  box-shadow: inset 0 0 0 1px var(--gold);
}
.desktop-nav a.nav-portal {
  color: var(--gold-2);
}
.desktop-nav a.nav-portal:hover {
  background: rgba(217,165,74,.14);
  color: #fff;
}
.mobile-nav a.nav-portal {
  background: var(--bg);
  color: var(--gold-2);
}
.mobile-nav a.nav-portal:hover {
  background: var(--bg-2);
  color: #fff;
}
.desktop-nav a.nav-portal:focus-visible,
.mobile-nav a.nav-portal:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}
/* Keep the added menu item reachable on smaller phone screens. */
@media (max-width: 820px) {
  .site-header .mobile-nav[data-elevportal-menu] {
    max-height: calc(100vh - 165px);
    max-height: calc(100dvh - 165px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

/* improvements-v68.css */
/* V68: focused usability additions. Original branding and layout CSS unchanged. */
.v68-icon{display:inline-block;flex:0 0 auto;vertical-align:middle;width:20px;height:20px}
.topbar-inner>a{display:inline-flex;align-items:center;gap:.4rem}
.mobile-toggle .v68-icon{width:26px;height:26px}
.v68-skip{position:fixed;left:12px;top:-100px;z-index:10000;padding:12px 18px;background:#0f1a2e;color:#fff!important;border:2px solid #d9a54a;border-radius:8px}
.v68-skip:focus{top:12px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #99702c;outline-offset:4px}
.site-header a:focus-visible,.site-footer a:focus-visible,.local-site-footer a:focus-visible{outline-color:#f1cd84}
main,[id]{scroll-margin-top:110px}
.v68-first-lessons{padding-bottom:18px}
.v68-lesson-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.v68-lesson-grid .content-box{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.v68-lesson-grid h2,.v68-lesson-grid p{margin:0}
.v68-lesson-grid .btn{margin-top:auto;text-align:center;max-width:100%}
.v68-price{font-size:clamp(30px,4vw,42px);font-weight:800;line-height:1.15;color:#0f1a2e}
.v68-price-note{background:#f5f7fa;border-left:3px solid #d9a54a;padding:18px 20px;line-height:1.7;margin-top:24px;color:#263449}
.v68-session-count{font-weight:600}
.v68-steps{padding-left:26px;margin:20px 0 32px}
.v68-steps>li{padding-left:12px;margin:0 0 24px}
.v68-steps h3{margin:0 0 8px}
.v68-steps p{margin:0;line-height:1.75}
.v68-guide a,.v68-privacy a,.contact-form .form-note a{text-decoration:underline;text-underline-offset:3px}
.v68-guide .content-box{margin:24px 0}
.v68-small{font-size:.875rem;line-height:1.65;display:block;color:#526075;margin-top:8px}
.v68-footer-info{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 0;font-size:14px}
.v68-footer-info a{text-decoration:underline;text-underline-offset:3px}
.footer-bottom:has(.v68-footer-info){display:block}
.v68-privacy h2{margin:30px 0 10px}
.v68-privacy p{line-height:1.8;margin:0 0 14px}
.v68-privacy code{overflow-wrap:anywhere}
.mobile-sticky-inner:has(.v68-sms){display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mobile-sticky-inner .btn{min-width:0;width:100%;justify-content:center;text-align:center}
.v68-sms{white-space:nowrap}
.v56-cta-actions .v68-sms{background:#fff;color:#0f1a2e;border-color:#dce4ef}
.intro-video{max-width:100%;object-fit:contain;background:#0f1a2e;aspect-ratio:16/9}
.v68-lesson-grid .btn,.v68-privacy button{min-height:44px}
.local-site-footer .v68-footer-info{line-height:1.7}
.form-note a{overflow-wrap:break-word}
@media(max-width:640px){.v68-lesson-grid{grid-template-columns:1fr;gap:18px}.v68-steps{padding-left:22px}.v68-steps>li{padding-left:5px}.v68-lesson-grid .content-box{padding:22px}.v68-price-note{padding:15px}.v68-footer-info{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}}

/* improvements-v71.css */
/* V71 SEO/content consolidation and trust improvements */
.v71-trustbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin:1rem 0 0}
.v71-rating{display:inline-flex;align-items:center;gap:.55rem;padding:.65rem .9rem;border:1px solid rgba(217,165,74,.42);border-radius:999px;background:rgba(217,165,74,.10);font-weight:800}
.v71-rating small{font-weight:600;opacity:.78}
.v71-hub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.v71-hub-card{border:1px solid var(--line,#e6e8ee);border-radius:18px;padding:20px;background:#fff}
.v71-hub-card h3{margin:.1rem 0 .55rem}
.v71-note{border-left:4px solid #d9a54a;background:#fff9ec;border-radius:0 14px 14px 0;padding:16px 18px;margin:18px 0}
.v71-source-list{display:grid;gap:10px;margin-top:14px}
.v71-source-list a{font-weight:700}
.v71-area-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.v71-area-summary a{display:inline-block;padding:8px 11px;border:1px solid rgba(15,26,46,.14);border-radius:999px;text-decoration:none;background:#fff}
.v71-local-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.v71-local-proof>div{border:1px solid #e5e7eb;border-radius:14px;padding:14px;background:#f8fafc}
.v71-local-proof strong{display:block;margin-bottom:4px}
@media(max-width:760px){.v71-hub,.v71-local-proof{grid-template-columns:1fr}.v71-rating{border-radius:16px}}

/* V73 LCP / mobile rendering optimisation */
@media (max-width:820px){.site-header{backdrop-filter:none;-webkit-backdrop-filter:none}}
.hero ~ .section,.page-hero ~ .section{content-visibility:auto;contain-intrinsic-size:800px}
