:root {
  color-scheme: light;
  --color-blue-950: #06133D;
  --color-blue-900: #001A96;
  --color-blue-800: #06248F;
  --color-blue-700: #1238D6;
  --color-blue-600: #315BFF;
  --color-blue-100: #DCEBFF;
  --color-blue-75: #EAF3FF;
  --color-blue-50: #F3F8FF;
  --color-cyan-50: #F1FBFF;
  --color-teal-600: #0F766E;
  --color-teal-100: #D7F4EF;
  --color-ink: #07153D;
  --color-text: #13264F;
  --color-muted: #526179;
  --color-line: #D7E7FF;
  --color-line-strong: #BFD5FF;
  --color-white: #FFFFFF;
  --color-focus: #FFBF47;
  --max-page: 1180px;
  --max-copy: 760px;
  --container-pad-desktop: 32px;
  --container-pad-mobile: 18px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-14: 56px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-28: 112px;
  --font-sans: "Inter", "IBM Plex Sans", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --text-xs: 0.78rem;
  --text-sm: 0.92rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: clamp(2rem, 4vw, 3.35rem);
  --text-hero: clamp(3.2rem, 7.2vw, 5.95rem);
  --radius-sm: 14px;
  --radius-md: 22px;
  --radius-lg: 32px;
  --radius-xl: 42px;
  --radius-pill: 999px;
  --shadow-soft: 0 12px 36px rgba(0, 26, 150, 0.08);
  --shadow-card: 0 18px 52px rgba(0, 26, 150, 0.12);
  --shadow-float: 0 24px 70px rgba(7, 21, 61, 0.18);
  --shadow-button: 0 14px 30px rgba(0, 26, 150, 0.24);
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --duration-fast: 160ms;
  --duration-med: 240ms;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body {
  margin: 0;
  font-family: var(--font-sans);
  color: var(--color-text);
  background: var(--color-white);
  font-size: 16px;
  line-height: 1.6;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
p { margin: 0; }
.container { width: min(var(--max-page), calc(100% - (var(--container-pad-desktop) * 2))); margin-inline: auto; }
.narrow { max-width: var(--max-copy); }
.center { text-align: center; }
.section { padding: var(--space-24) 0; }
.section-intro { margin: 22px auto 0; max-width: 690px; color: var(--color-muted); font-size: var(--text-lg); }
.panel-blue { background: linear-gradient(135deg, var(--color-blue-50), var(--color-cyan-50)); border: 1px solid var(--color-line); border-radius: var(--radius-xl); }
.card { background: var(--color-white); border: 1px solid var(--color-line); border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); }

.skip-link { position: absolute; left: 16px; top: -80px; z-index: 100; padding: 10px 14px; border-radius: var(--radius-pill); background: var(--color-blue-900); color: var(--color-white); transition: top var(--duration-fast) var(--ease-out); }
.skip-link:focus { top: 16px; }
:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
.brand-wordmark { display: flex; align-items: center; gap: 12px; min-width: 0; }
.brand-wordmark > span:last-child { display: grid; line-height: 1.1; }
.brand-wordmark strong { color: var(--color-ink); font-size: clamp(0.92rem, 2vw, 1.08rem); letter-spacing: -0.02em; }
.brand-wordmark small { margin-top: 5px; color: var(--color-muted); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.brand-mark { width: 46px; height: 46px; flex: 0 0 46px; display: grid; place-items: center; border-radius: 15px; color: var(--color-white); background: linear-gradient(135deg, var(--color-blue-600), var(--color-blue-950)); box-shadow: 0 10px 24px rgba(0, 26, 150, 0.2); font-weight: 950; }

.site-header { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,0.88); border-bottom: 1px solid rgba(215, 231, 255, 0.85); backdrop-filter: blur(18px); }
.header-inner { min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 850; letter-spacing: -0.02em; }
.brand-logo img { display: block; width: clamp(176px, 16vw, 220px); height: auto; filter: drop-shadow(0 10px 18px rgba(0, 26, 150, 0.08)); }
.brand small { display: block; color: var(--color-muted); font-size: var(--text-xs); font-weight: 700; margin-top: -2px; letter-spacing: 0; }
.brand-mark { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; color: var(--color-white); background: linear-gradient(135deg, var(--color-blue-900), var(--color-blue-600)); box-shadow: 0 12px 28px rgba(0, 26, 150, 0.18); }
.nav-links { display: flex; align-items: center; gap: 26px; color: var(--color-muted); font-weight: 800; font-size: var(--text-sm); }
.nav-links a:hover, .header-secondary:hover { color: var(--color-blue-900); }
.header-actions { display: flex; align-items: center; gap: 12px; }
.header-secondary { min-height: 42px; display: inline-flex; align-items: center; padding: 0 16px; border: 1px solid var(--color-line-strong); border-radius: var(--radius-pill); color: var(--color-blue-900); font-weight: 850; font-size: var(--text-sm); background: var(--color-white); }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 26px; border-radius: var(--radius-pill); border: 1px solid transparent; background: var(--color-blue-900); color: var(--color-white); box-shadow: var(--shadow-button); font-weight: 850; letter-spacing: -0.01em; cursor: pointer; transition: transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out); }
.button:hover { transform: translateY(-2px); background: var(--color-blue-800); box-shadow: 0 18px 38px rgba(0, 26, 150, 0.30); }
.button-secondary { background: var(--color-white); color: var(--color-blue-900); border-color: var(--color-line-strong); box-shadow: none; }
.button-secondary:hover { color: var(--color-blue-900); background: var(--color-blue-50); box-shadow: none; }
.button-white { background: var(--color-white); color: var(--color-blue-900); box-shadow: 0 18px 40px rgba(0,0,0,0.18); }
.button-white:hover { background: var(--color-blue-50); color: var(--color-blue-900); }
.button-outline-white { background: transparent; color: var(--color-white); border-color: rgba(255,255,255,0.42); box-shadow: none; }
.button-outline-white:hover { background: rgba(255,255,255,0.12); }
.button-small { min-height: 44px; padding: 0 19px; font-size: var(--text-sm); }

h1, h2, h3 { color: var(--color-ink); margin: 0; letter-spacing: -0.045em; line-height: 0.98; }
h1 { font-size: var(--text-hero); max-width: 820px; }
h2 { font-size: var(--text-3xl); max-width: 760px; }
h3 { font-size: var(--text-xl); line-height: 1.15; letter-spacing: -0.025em; }
.eyebrow, .mini-eyebrow { color: var(--color-blue-900); font-size: var(--text-xs); font-weight: 900; letter-spacing: 0.14em; text-transform: uppercase; }
.eyebrow { margin: 0 0 16px; }

.hero { padding-top: var(--space-8); padding-bottom: 0; overflow: hidden; }
.hero-shell { position: relative; padding: clamp(34px, 5vw, 70px); border: 1px solid var(--color-line); border-radius: clamp(30px, 5vw, 56px); background: radial-gradient(circle at 86% 18%, rgba(49, 91, 255, 0.16), transparent 24rem), radial-gradient(circle at 18% 92%, rgba(15, 118, 110, 0.12), transparent 19rem), linear-gradient(135deg, var(--color-blue-50), var(--color-cyan-50)); box-shadow: 0 28px 80px rgba(0, 26, 150, 0.10); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr); align-items: center; gap: clamp(34px, 6vw, 74px); }
.hero-copy { position: relative; z-index: 1; }
.hero-subcopy { max-width: 720px; margin-top: 24px; color: var(--color-muted); font-size: clamp(1.05rem, 1.7vw, 1.24rem); line-height: 1.62; }
.hero-disclaimer { margin-top: 18px; color: var(--color-muted); font-size: var(--text-sm); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.trust-chips { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 28px 0 0; list-style: none; }
.trust-chips li { padding: 10px 13px; border: 1px solid var(--color-line); border-radius: var(--radius-pill); background: rgba(255,255,255,0.82); color: #233659; font-size: var(--text-sm); font-weight: 850; }

.hero-visual-stack { position: relative; min-height: 590px; isolation: isolate; }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(2px); opacity: 0.7; z-index: -1; }
.hero-orb-one { width: 210px; height: 210px; right: 14px; top: 22px; background: rgba(49, 91, 255, 0.18); }
.hero-orb-two { width: 150px; height: 150px; left: 0; bottom: 70px; background: rgba(15, 118, 110, 0.12); }
.visual-card { border: 1px solid rgba(191, 213, 255, 0.95); border-radius: var(--radius-lg); background: rgba(255,255,255,0.92); box-shadow: var(--shadow-float); }
.visual-card-main { position: absolute; right: 4%; top: 3%; width: min(390px, 88%); padding: 28px; }
.visual-card-main h3 { margin-top: 8px; font-size: clamp(1.55rem, 3vw, 2.15rem); }
.visual-card-main img { margin-top: 22px; border-radius: 22px; border: 1px solid var(--color-line); box-shadow: var(--shadow-soft); }
.check-preview-list { display: grid; gap: 10px; margin: 22px 0 0; padding: 0; list-style: none; color: var(--color-text); font-weight: 800; }
.check-preview-list li { display: flex; align-items: center; gap: 10px; }
.check-preview-list li::before { content: ""; width: 18px; height: 18px; border-radius: 50%; background: var(--color-teal-100); box-shadow: inset 0 0 0 5px var(--color-teal-600); }
.visual-card-payment { position: absolute; left: 0; top: 44%; width: 255px; padding: 22px; transform: rotate(-3deg); }
.visual-card-shield { position: absolute; right: 0; bottom: 52px; width: 260px; padding: 22px; transform: rotate(2deg); }
.visual-card-payment p, .visual-card-shield p { margin-top: 8px; color: var(--color-muted); font-size: var(--text-sm); }
.card-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 15px; border-radius: 17px; background: var(--color-blue-50); color: var(--color-blue-900); font-size: 1.5rem; font-weight: 900; }
.shield-mark { display: block; width: 46px; height: 52px; margin-bottom: 14px; background: linear-gradient(135deg, var(--color-blue-900), var(--color-blue-600)); clip-path: polygon(50% 0, 92% 17%, 84% 72%, 50% 100%, 16% 72%, 8% 17%); }
.floating-badge { position: absolute; right: 17%; bottom: 0; padding: 13px 18px; border-radius: var(--radius-pill); background: var(--color-blue-950); color: var(--color-white); box-shadow: var(--shadow-float); font-weight: 900; font-size: var(--text-sm); }

.trust-strip-section { position: relative; z-index: 2; margin-top: -22px; }
.trust-strip { display: grid; grid-template-columns: repeat(4, 1fr); padding: 8px; }
.trust-strip > div { padding: 23px 24px; border-right: 1px solid var(--color-line); }
.trust-strip > div:last-child { border-right: 0; }
.trust-strip strong { display: block; color: var(--color-blue-900); font-size: var(--text-xl); line-height: 1.05; letter-spacing: -0.03em; }
.trust-strip span { display: block; margin-top: 6px; color: var(--color-muted); font-size: var(--text-sm); line-height: 1.35; }

.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 48px; }
.info-card { min-height: 250px; padding: 30px; border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: var(--color-white); box-shadow: var(--shadow-soft); transition: transform var(--duration-med) var(--ease-out), box-shadow var(--duration-med) var(--ease-out); }
.info-card span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--color-blue-50); color: var(--color-blue-900); font-weight: 900; margin-bottom: 22px; }
.info-card p { margin-top: 12px; color: var(--color-muted); }
@media (hover: hover) { .info-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-card); } }

.split-panel { padding: clamp(28px, 5vw, 58px); }
.split-grid { display: grid; grid-template-columns: 0.9fr 1fr; gap: 46px; align-items: center; }
.prose-card { padding: 36px; border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: var(--color-white); box-shadow: var(--shadow-soft); color: var(--color-muted); }
.prose-card p + p { margin-top: 16px; }
/* Mini illustration: tight trio — house | logo | card, shoulder-to-shoulder */
.mini-illustration {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  width: fit-content;
  margin-top: 38px;
  padding: 20px 0;
  isolation: isolate;
  position: relative;
}
/* Column wrapper shared by all three icons */
.bridge-col {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
/* Center column: circular node — larger than flanking icons to read as the bridge focal point */
.bridge-center {
  z-index: 2;
  background: linear-gradient(145deg, #eef2ff, #f5f8ff);
  border-radius: 50%;
  padding: 13px;
  box-shadow: 0 0 0 2px rgba(49,91,255,0.28), 0 6px 28px rgba(49,91,255,0.24);
}
/* House icon — SVG outline contained fully within its layout box (no overflowing pseudo-elements) */
.house-line {
  display: block;
  width: 86px;
  height: 90px;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 86 90' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M43 5L82 36L82 72Q82 86 68 86L18 86Q4 86 4 72L4 36Z' stroke='%23001A96' stroke-width='5.5' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  border: none;
  border-radius: 0;
  position: static;
}
.house-line::before { display: none; }
/* Logo mark */
.mini-logo-mark {
  display: block;
  width: 64px;
  height: 64px;
  object-fit: contain;
  filter: drop-shadow(0 6px 14px rgba(0,26,150,0.28));
}
/* Calendar/policy card icon */
.calendar-line {
  display: block;
  position: relative;
  width: 86px;
  height: 76px;
  border: 5px solid var(--color-blue-600);
  border-radius: 14px;
  background: rgba(255,255,255,0.88);
}
.calendar-line::before { content: ""; position: absolute; left: 0; right: 0; top: 20px; border-top: 5px solid var(--color-blue-600); }

.process-grid { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 42px; }
.process-grid::before { content: ""; position: absolute; left: 12%; right: 12%; top: 52px; height: 2px; background: var(--color-line); }
.process-card { position: relative; padding: 30px; border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: var(--color-white); box-shadow: var(--shadow-soft); }
.process-card .process-number { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--color-blue-50); color: var(--color-blue-900); font-weight: 900; margin-bottom: 20px; }
.process-card p { margin-top: 12px; color: var(--color-muted); }
.process-cta { margin-top: 34px; }

.review-panel { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 36px; padding: clamp(34px, 5vw, 58px); border-radius: var(--radius-xl); background: radial-gradient(circle at 90% 10%, rgba(49,91,255,0.35), transparent 20rem), linear-gradient(135deg, var(--color-blue-950), var(--color-blue-900)); color: var(--color-white); box-shadow: var(--shadow-float); }
.review-panel .eyebrow { color: var(--color-blue-100); }
.review-panel h2 { color: var(--color-white); }
.review-panel p { margin-top: 18px; max-width: 770px; color: rgba(255,255,255,0.82); }
.notice.small { font-size: var(--text-sm); }
.review-actions { display: grid; gap: 12px; min-width: 235px; }

.form-section { padding-top: 0; }
.form-shell { padding: clamp(28px, 5vw, 58px); }
.form-grid { display: grid; grid-template-columns: 0.84fr 1fr; gap: 48px; align-items: start; }
.form-grid > div > p:not(.eyebrow) { margin-top: 18px; color: var(--color-muted); }
.form-trust-list { display: grid; gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; font-weight: 850; color: var(--color-text); }
.form-trust-list li { display: flex; gap: 10px; align-items: center; }
.form-trust-list li::before { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--color-blue-900); }
.lead-form { padding: clamp(24px, 3vw, 34px); display: grid; gap: 12px; border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: var(--color-white); box-shadow: var(--shadow-card); }
.form-next-step { padding: 14px 16px; border-radius: 18px; background: var(--color-blue-50); color: var(--color-text); font-size: var(--text-sm); font-weight: 750; }
.lead-form label { font-weight: 850; color: #213153; }
.lead-form label span, .field-note, .microcopy { color: var(--color-muted); font-size: 0.9rem; font-weight: 500; }
input[type="text"], input[type="email"], input[type="tel"] { width: 100%; min-height: 52px; padding: 10px 15px; border: 1px solid #bacbe7; border-radius: 15px; font: inherit; color: var(--color-ink); background: var(--color-white); }
input:disabled { color: #75829a; background: #eef2f8; cursor: not-allowed; }
.checkbox-row { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; margin: 8px 0; }
.checkbox-row input { width: 20px; height: 20px; margin-top: 3px; accent-color: var(--color-blue-900); }
.microcopy { margin-top: 2px; }

.faq-list { max-width: 900px; margin-top: 38px; }
details { position: relative; padding: 26px 30px; border: 1px solid var(--color-line); border-radius: 24px; background: var(--color-white); box-shadow: var(--shadow-soft); }
details + details { margin-top: 14px; }
summary { list-style: none; cursor: pointer; font-weight: 900; font-size: 1.08rem; padding-right: 38px; }
summary::-webkit-details-marker { display: none; }
summary::after { content: "+"; position: absolute; right: 28px; top: 22px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--color-blue-50); color: var(--color-blue-900); font-weight: 900; }
details[open] summary::after { content: "−"; }
details p { margin-top: 14px; color: var(--color-muted); }
.final-cta { padding-top: 0; }
.final-cta-panel { padding: clamp(36px, 6vw, 70px); border-radius: var(--radius-xl); background: linear-gradient(135deg, var(--color-blue-950), var(--color-blue-900)); color: var(--color-white); box-shadow: var(--shadow-float); }
.final-cta-panel .eyebrow { color: var(--color-blue-100); }
.final-cta-panel h2 { color: var(--color-white); margin-inline: auto; }
.final-cta-panel .button { margin-top: 28px; }
.site-footer { padding: 42px 0; color: #d7e4ff; background: var(--color-blue-950); }
.footer-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 32px; }
.footer-grid p { margin-top: 8px; font-size: var(--text-sm); }

@media (max-width: 1060px) {
  .nav-links { gap: 16px; }
  .header-secondary { display: none; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-visual-stack { max-width: 620px; width: 100%; margin-inline: auto; }
}
@media (max-width: 900px) {
  .nav-links { display: none; }
  .split-grid, .review-panel, .form-grid, .footer-grid { grid-template-columns: 1fr; }
  .card-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-strip { grid-template-columns: repeat(2, 1fr); }
  .trust-strip > div:nth-child(2) { border-right: 0; }
  .trust-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--color-line); }
  .review-actions { min-width: 0; justify-items: start; }
}
@media (max-width: 767px) {
  .container { width: min(100% - 28px, var(--max-page)); }
  .section { padding: var(--space-16) 0; }
  .header-inner { min-height: 68px; gap: 12px; }
  .brand small { display: none; }
  .brand-mark { width: 40px; height: 40px; }
  .hero { padding-top: 20px; }
  .hero-shell { padding: 28px 18px 34px; border-radius: 28px; }
  h1 { font-size: clamp(2.55rem, 13vw, 4rem); }
  .hero-grid, .form-grid, .split-grid, .review-panel { grid-template-columns: 1fr; }
  .hero-visual-stack { min-height: auto; display: grid; gap: 14px; }
  .hero-orb, .process-grid::before { display: none; }
  .visual-card-main, .visual-card-payment, .visual-card-shield, .floating-badge { position: static; width: 100%; transform: none; }
  .visual-card-main { padding: 22px; }
  .trust-strip { grid-template-columns: 1fr; padding: 18px; }
  .trust-strip > div { border-right: 0; border-bottom: 1px solid var(--color-line); padding: 16px 4px; }
  .trust-strip > div:last-child { border-bottom: 0; }
  .process-grid, .card-grid { grid-template-columns: 1fr; }
  .button, .hero-actions .button { width: 100%; }
  .header-actions .button { width: auto; }
  .review-actions { width: 100%; }
  .process-grid { margin-top: 32px; }
}
@media (max-width: 520px) {
  .header-actions { display: none; }
  .trust-chips { display: grid; }
  .split-panel, .form-shell, .review-panel, .final-cta-panel { border-radius: 28px; }
  .mini-illustration { width: 100%; padding: 14px 0; }
  .house-line { width: 100px; height: 70px; }
  .house-line::before { width: 72px; height: 72px; left: 10px; top: -36px; }
  .mini-logo-mark { width: 50px; height: 50px; }
  .bridge-center { padding: 8px; }
  .calendar-line { width: 70px; height: 60px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
  .button:hover, .info-card:hover { transform: none; }
}

/* Screenshot-matched hero override — 2026-05-09 */
:root {
  --tc-navy: #101820;
  --tc-blue: #061aa8;
  --tc-orange: #ff4b12;
  --tc-gold: #f5b82e;
  --tc-soft: #f8f9ff;
}

.tutor-hero {
  position: relative;
  min-height: calc(100vh - 80px);
  padding: 0;
  overflow: hidden;
  background:
    linear-gradient(90deg, #ffffff 0%, #ffffff 45%, rgba(249, 238, 239, 0.68) 68%, #e9ecfb 100%);
}

.tutor-hero .hero-inner {
  position: relative;
  z-index: 3;
  padding-top: clamp(92px, 11vh, 150px);
  padding-bottom: clamp(72px, 10vh, 140px);
}

.tutor-hero .hero-copy {
  max-width: min(58vw, 760px);
}

.tutor-hero .eyebrow {
  color: var(--tc-blue);
  font-size: clamp(0.82rem, 1vw, 1rem);
  letter-spacing: 0.16em;
  margin-bottom: 22px;
}

.tutor-hero .hero-title {
  max-width: 980px;
  color: var(--tc-navy);
  font-size: clamp(4rem, 8.4vw, 7.45rem);
  line-height: 1.02;
  letter-spacing: -0.065em;
  font-weight: 950;
  text-wrap: balance;
}

.tutor-hero .hero-title span { color: var(--tc-blue); }

.tutor-hero .hero-subcopy {
  max-width: 620px;
  margin-top: clamp(38px, 7vh, 82px);
  color: #202633;
  font-size: clamp(1.35rem, 2vw, 2.05rem);
  line-height: 1.42;
  font-weight: 450;
}

.tutor-hero .hero-actions {
  margin-top: 34px;
  display: flex;
  gap: 16px;
}

.tutor-hero .button {
  min-height: clamp(62px, 6vw, 82px);
  padding: 0 clamp(32px, 4vw, 54px);
  border-radius: 999px;
  background: var(--tc-blue);
  font-size: clamp(1.05rem, 1.55vw, 1.72rem);
  font-weight: 950;
  box-shadow: 0 18px 42px rgba(6, 26, 168, 0.22);
}

.tutor-hero .button-orange {
  background: var(--tc-orange);
  color: #fff;
  box-shadow: 0 18px 42px rgba(255, 75, 18, 0.22);
}

.tutor-hero .button-orange:hover { background: #e9430f; color: #fff; }

.tutor-hero .hero-disclaimer {
  max-width: 600px;
  margin-top: 20px;
  color: #5a6270;
  font-size: clamp(0.9rem, 1vw, 1.05rem);
}

.hero-lines {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0.72;
  pointer-events: none;
  background: url("assets/hero-lines.svg") no-repeat right 48%;
  background-size: min(58vw, 940px) auto;
}

.trust-strip-section { margin-top: -34px; }

@media (min-width: 1440px) {
  .tutor-hero .container { max-width: 1390px; }
}




/* Hero cleanup after feedback — 2026-05-09 */
.tutor-hero {
  min-height: 720px;
  background: linear-gradient(90deg, #ffffff 0%, #ffffff 52%, #f3f5ff 100%);
}

.tutor-hero .hero-inner {
  padding-top: clamp(58px, 7.5vh, 92px);
  padding-bottom: clamp(64px, 8vh, 100px);
}

.tutor-hero .hero-copy {
  max-width: 620px;
}

.tutor-hero .hero-title {
  max-width: 720px;
  font-size: clamp(3.35rem, 6vw, 5.25rem);
  line-height: 1.02;
  letter-spacing: -0.055em;
}

.tutor-hero .hero-subcopy {
  max-width: 560px;
  margin-top: 34px;
  font-size: clamp(1.12rem, 1.35vw, 1.42rem);
  line-height: 1.48;
}


.tutor-hero .hero-actions {
  margin-top: 26px;
}

.tutor-hero .button {
  min-height: 58px;
  padding: 0 30px;
  font-size: 1.05rem;
}

.hero-lines {
  opacity: 0.28;
  background-size: min(43vw, 620px) auto;
  background-position: right 52%;
}


.hero-visual-clean {
  position: absolute;
  z-index: 3;
  right: clamp(34px, 7vw, 126px);
  top: 50%;
  width: min(35vw, 430px);
  min-height: 430px;
  transform: translateY(-47%);
}

.clean-card {
  background: #fff;
  border: 1px solid rgba(191, 213, 255, 0.85);
  border-radius: 24px;
  box-shadow: 0 20px 54px rgba(10, 20, 60, 0.10);
}

.clean-card-main {
  position: relative;
  z-index: 2;
  padding: 30px;
}

.clean-card-main h2 {
  margin-top: 10px;
  max-width: 330px;
  color: var(--tc-navy);
  font-size: clamp(1.75rem, 2.6vw, 2.45rem);
  line-height: 1.05;
  letter-spacing: -0.045em;
}

.clean-card-main ul {
  display: grid;
  gap: 14px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  color: #202633;
  font-weight: 850;
}

.clean-card-main li {
  display: flex;
  align-items: center;
  gap: 12px;
}

.clean-card-main li span {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--tc-orange);
  box-shadow: inset 0 0 0 5px #ffe1d5;
  flex: 0 0 auto;
}

.clean-card-small {
  position: absolute;
  z-index: 3;
  width: 172px;
  padding: 22px;
}

.clean-card-small strong {
  display: block;
  color: var(--tc-blue);
  font-size: 2rem;
  line-height: 1;
  letter-spacing: -0.05em;
}

.clean-card-small span {
  display: block;
  margin-top: 8px;
  color: #596271;
  font-weight: 750;
  line-height: 1.25;
}

.clean-card-top {
  right: -28px;
  top: -38px;
}

.clean-card-bottom {
  left: -44px;
  bottom: 44px;
}

@media (max-width: 1000px) {
  .tutor-hero { min-height: auto; }
  .tutor-hero .hero-inner { padding-bottom: 40px; }
  .tutor-hero .hero-copy { max-width: 100%; }
  .hero-visual-clean {
    position: relative;
    right: auto;
    top: auto;
    transform: none;
    width: min(100%, 430px);
    min-height: 360px;
    margin: 42px auto 0;
  }
}

@media (max-width: 560px) {
  .tutor-hero .hero-title { font-size: clamp(2.9rem, 14vw, 4.1rem); }
  .clean-card-small { width: 150px; padding: 18px; }
  .clean-card-top { right: -8px; }
  .clean-card-bottom { left: -8px; bottom: 16px; }
}

/* Right-side hero card stack preference — 2026-05-09 */
.preferred-card-stack {
  width: min(37vw, 460px);
  min-height: 520px;
  right: clamp(28px, 6vw, 108px);
  transform: translateY(-50%);
}

.preferred-card-stack::before {
  content: "";
  position: absolute;
  inset: 24px -16px 18px -20px;
  border-radius: 42px;
  background: linear-gradient(145deg, rgba(235, 247, 255, 0.95), rgba(244, 248, 255, 0.78));
  z-index: 0;
}

.preferred-card-stack .clean-card-main {
  position: absolute;
  z-index: 2;
  inset: 10px 42px 42px 22px;
  min-height: 450px;
  padding: 34px 32px;
  border-radius: 34px;
  border-color: #c6dcff;
  box-shadow: 0 24px 66px rgba(8, 31, 92, 0.12);
}

.preferred-card-stack .clean-card-main h2 {
  max-width: 330px;
  font-size: clamp(2rem, 3vw, 2.9rem);
  line-height: 1.02;
  letter-spacing: -0.055em;
}

.preferred-card-stack .clean-card-main ul {
  margin-top: 30px;
  gap: 16px;
}

.preferred-card-stack .clean-card-main li {
  color: #1f2f55;
  font-size: 1.02rem;
}

.preferred-card-stack .clean-card-main li:nth-child(n+3) {
  opacity: 0.44;
}

.preferred-card-stack .clean-card-main li span {
  width: 19px;
  height: 19px;
  background: #ffffff;
  border: 2px solid #147f79;
  box-shadow: inset 0 0 0 5px #ffffff;
  position: relative;
}

.preferred-card-stack .clean-card-main li span::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 3px;
  width: 7px;
  height: 4px;
  border-left: 2px solid #147f79;
  border-bottom: 2px solid #147f79;
  transform: rotate(-45deg);
}

.float-info-card {
  position: absolute;
  z-index: 4;
  width: 245px;
  padding: 22px;
  border-radius: 22px;
  border-color: #c3d9ff;
  box-shadow: 0 22px 58px rgba(8, 31, 92, 0.14);
}

.float-info-card strong {
  display: block;
  color: #071747;
  font-size: 1.05rem;
  line-height: 1.14;
  letter-spacing: -0.025em;
}

.float-info-card p {
  margin-top: 8px;
  color: #52617a;
  font-size: 0.9rem;
  line-height: 1.36;
}

.float-card-left {
  left: -34px;
  bottom: 104px;
  transform: rotate(-4deg);
}

.float-card-right {
  right: -4px;
  bottom: 76px;
  transform: rotate(3deg);
}

.icon-box {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin-bottom: 15px;
  border-radius: 15px;
  background: #edf5ff;
  position: relative;
}

.house-icon::before {
  content: "";
  width: 23px;
  height: 18px;
  border: 3px solid #061aa8;
  border-top: 0;
  border-radius: 0 0 5px 5px;
  transform: translateY(5px);
}

.house-icon::after {
  content: "";
  position: absolute;
  width: 19px;
  height: 19px;
  border-left: 3px solid #061aa8;
  border-top: 3px solid #061aa8;
  transform: translateY(-3px) rotate(45deg);
  border-radius: 3px 0 0 0;
}

.shield-icon {
  background: #eef2ff;
}

.shield-icon::before {
  content: "";
  width: 28px;
  height: 32px;
  background: linear-gradient(135deg, #061aa8, #315bff);
  clip-path: polygon(50% 0, 90% 16%, 82% 70%, 50% 100%, 18% 70%, 10% 16%);
}

.clean-floating-badge {
  z-index: 5;
  right: 76px;
  bottom: 38px;
  background: #071747;
  font-size: 0.92rem;
}

.decor-panel,
.decor-dot {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}

.decor-panel {
  border: 1px solid rgba(166, 194, 245, 0.55);
  border-radius: 18px;
  background: rgba(255,255,255,0.42);
}

.decor-panel-one { width: 150px; height: 82px; right: 0; top: 68px; transform: rotate(10deg); }
.decor-panel-two { width: 128px; height: 68px; left: 8px; top: 192px; transform: rotate(-8deg); }
.decor-dot { width: 18px; height: 18px; border-radius: 50%; background: rgba(49, 91, 255, 0.18); }
.decor-dot-one { right: 34px; top: 18px; }
.decor-dot-two { left: 46px; bottom: 28px; }

@media (max-width: 1000px) {
  .preferred-card-stack {
    width: min(100%, 460px);
    min-height: 500px;
    margin-top: 38px;
  }
}

@media (max-width: 560px) {
  .preferred-card-stack { min-height: 470px; }
  .preferred-card-stack .clean-card-main { inset: 8px 18px 48px 18px; padding: 28px 24px; }
  .float-info-card { width: 210px; padding: 18px; }
  .float-card-left { left: 0; bottom: 92px; }
  .float-card-right { right: 0; bottom: 62px; }
  .clean-floating-badge { right: 42px; bottom: 24px; }
}

/* Picasso premium trust fixes — 2026-05-09 */
.tutor-hero {
  min-height: 760px;
  background:
    radial-gradient(circle at 80% 22%, rgba(49, 91, 255, 0.12), transparent 25rem),
    linear-gradient(90deg, #ffffff 0%, #ffffff 50%, #f5f8ff 100%);
}

.tutor-hero .hero-subcopy strong {
  color: var(--tc-navy);
  font-weight: 900;
}

.hero-trust-chips {
  max-width: 620px;
  margin-top: 28px;
}

.hero-trust-chips li {
  background: rgba(255,255,255,0.9);
  border-color: #c8dcff;
  box-shadow: 0 10px 24px rgba(6, 26, 168, 0.06);
}

.tutor-hero .hero-secondary {
  background: rgba(255,255,255,0.92);
  color: var(--tc-blue);
  border-color: #bfd5ff;
  box-shadow: none;
}

.tutor-hero .hero-secondary:hover {
  background: #f3f8ff;
  color: var(--tc-blue);
  box-shadow: none;
}

.preferred-card-stack {
  width: min(39vw, 500px);
  min-height: 540px;
  right: clamp(26px, 6vw, 104px);
}

.preferred-card-stack::before {
  inset: 18px 4px 18px 2px;
  border-radius: 44px;
  background: linear-gradient(145deg, rgba(239, 247, 255, 0.94), rgba(250, 252, 255, 0.82));
  box-shadow: inset 0 0 0 1px rgba(191, 213, 255, 0.5);
}

.hero-photo-frame {
  position: absolute;
  z-index: 1;
  right: 12px;
  top: 0;
  width: min(74%, 350px);
  height: 380px;
  margin: 0;
  overflow: hidden;
  border-radius: 38px;
  background: linear-gradient(180deg, #eef5ff, #ffffff);
  box-shadow: 0 28px 76px rgba(8, 31, 92, 0.16);
}

.hero-photo-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0) 54%, rgba(245,248,255,0.86) 100%);
  pointer-events: none;
}

.hero-photo-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.preferred-card-stack .clean-card-main {
  z-index: 3;
  inset: auto 108px 36px 0;
  min-height: 330px;
  padding: 28px;
  border-radius: 30px;
  background: rgba(255,255,255,0.94);
  backdrop-filter: blur(10px);
}

.preferred-card-stack .clean-card-main h2 {
  max-width: 300px;
  font-size: clamp(1.65rem, 2.25vw, 2.25rem);
}

.preferred-card-stack .clean-card-main ul {
  margin-top: 24px;
  gap: 13px;
}

.float-card-right {
  z-index: 4;
  right: 0;
  bottom: 96px;
  width: 230px;
  transform: rotate(2deg);
}

.clean-floating-badge {
  z-index: 5;
  right: 28px;
  bottom: 26px;
  box-shadow: 0 18px 48px rgba(7, 23, 71, 0.22);
}

.decor-panel,
.decor-dot,
.float-card-left {
  display: none !important;
}

@media (max-width: 1000px) {
  .tutor-hero {
    background: linear-gradient(180deg, #ffffff 0%, #f4f7ff 100%);
  }

  .preferred-card-stack {
    width: min(100%, 500px);
    min-height: 520px;
    margin-top: 34px;
  }
}

@media (max-width: 767px) {
  .tutor-hero .hero-inner {
    padding-top: 42px;
    padding-bottom: 54px;
  }

  .tutor-hero .hero-title {
    font-size: clamp(2.55rem, 12.6vw, 3.8rem);
    line-height: 1.03;
  }

  .tutor-hero .hero-subcopy {
    margin-top: 22px;
    font-size: clamp(1.03rem, 4vw, 1.28rem);
    line-height: 1.5;
  }

  .hero-trust-chips {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: 22px;
  }

  .hero-trust-chips li {
    padding: 9px 11px;
    font-size: 0.82rem;
  }

  .tutor-hero .hero-actions {
    margin-top: 24px;
    gap: 10px;
  }

  .tutor-hero .button {
    min-height: 54px;
    font-size: 1rem;
  }

  .preferred-card-stack {
    min-height: 500px;
    margin-top: 30px;
  }

  .hero-photo-frame {
    right: 0;
    width: 72%;
    height: 330px;
    border-radius: 30px;
  }

  .preferred-card-stack .clean-card-main {
    inset: auto 88px 46px 0;
    min-height: 290px;
    padding: 24px;
  }

  .float-card-right {
    right: 0;
    bottom: 98px;
    width: 205px;
    padding: 18px;
  }

  .clean-floating-badge {
    right: 18px;
    bottom: 24px;
  }
}

@media (max-width: 520px) {
  .hero-trust-chips {
    grid-template-columns: 1fr;
  }

  .preferred-card-stack {
    min-height: 455px;
    overflow: visible;
  }

  .preferred-card-stack::before {
    inset: 14px 0 20px;
  }

  .hero-photo-frame {
    width: 78%;
    height: 285px;
  }

  .preferred-card-stack .clean-card-main {
    inset: auto 58px 42px 0;
    min-height: 270px;
    padding: 22px;
  }

  .preferred-card-stack .clean-card-main h2 {
    font-size: 1.55rem;
  }

  .preferred-card-stack .clean-card-main li {
    font-size: 0.92rem;
  }

  .float-card-right {
    width: 182px;
    right: 0;
    bottom: 82px;
    padding: 16px;
  }

  .float-card-right p {
    display: none;
  }
}

/* User-requested hero photo adjustment — background removed, 20% larger, 30% left — 2026-05-09 */
.hero-photo-frame {
  z-index: 2;
  right: auto !important;
  left: clamp(8px, 3vw, 36px) !important;
  top: -12px !important;
  width: min(88%, 420px) !important;
  height: 456px !important;
  overflow: visible !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.hero-photo-frame::after {
  display: none !important;
}

.hero-photo-frame img {
  width: 120% !important;
  height: 120% !important;
  object-fit: contain !important;
  object-position: center top !important;
  filter: drop-shadow(0 28px 48px rgba(8, 31, 92, 0.18));
}

.preferred-card-stack .clean-card-main {
  z-index: 4;
  right: 28px !important;
  left: auto !important;
  bottom: 22px !important;
  width: min(78%, 340px) !important;
  min-height: 255px !important;
}

.float-card-right {
  z-index: 5;
  right: -6px !important;
  bottom: 88px !important;
}

.clean-floating-badge {
  z-index: 6;
  right: 18px !important;
  bottom: 12px !important;
}

@media (max-width: 767px) {
  .hero-photo-frame {
    left: 0 !important;
    width: min(86%, 370px) !important;
    height: 390px !important;
  }
  .preferred-card-stack .clean-card-main {
    right: 12px !important;
    width: min(80%, 315px) !important;
    bottom: 32px !important;
  }
}

@media (max-width: 520px) {
  .hero-photo-frame {
    width: min(88%, 330px) !important;
    height: 330px !important;
  }
  .preferred-card-stack .clean-card-main {
    width: min(86%, 290px) !important;
    bottom: 42px !important;
  }
}

/* QA correction after screenshot: real transparent cutout, face/phone visible — 2026-05-09 */
.hero-photo-frame {
  z-index: 8 !important;
  left: -22% !important;
  right: auto !important;
  top: -34px !important;
  width: min(96%, 500px) !important;
  height: 590px !important;
  overflow: visible !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: none;
}

.hero-photo-frame img {
  width: 120% !important;
  height: 120% !important;
  object-fit: contain !important;
  object-position: center top !important;
  filter: drop-shadow(0 26px 48px rgba(8, 31, 92, 0.20));
}

.preferred-card-stack .clean-card-main {
  z-index: 3 !important;
  right: 6px !important;
  left: auto !important;
  bottom: 20px !important;
  width: min(68%, 300px) !important;
  min-height: 235px !important;
  opacity: 0.96;
}

.float-card-right {
  z-index: 4 !important;
  right: -8px !important;
  bottom: 82px !important;
  width: 205px !important;
}

.clean-floating-badge {
  z-index: 9 !important;
  right: 14px !important;
  bottom: 8px !important;
}

@media (max-width: 767px) {
  .hero-photo-frame {
    left: -16% !important;
    top: -12px !important;
    width: min(96%, 430px) !important;
    height: 480px !important;
  }
  .preferred-card-stack .clean-card-main {
    right: 4px !important;
    width: min(68%, 275px) !important;
  }
}

@media (max-width: 520px) {
  .hero-photo-frame {
    left: -18% !important;
    width: min(100%, 370px) !important;
    height: 390px !important;
  }
  .preferred-card-stack .clean-card-main {
    width: min(70%, 245px) !important;
    bottom: 42px !important;
  }
  .float-card-right {
    display: none !important;
  }
}

/* QA layering fix after 11:46 screenshot — keep man visible, bring cards forward */
.hero-photo-frame {
  z-index: 3 !important;
  left: -22% !important;
  top: -92px !important;
  width: min(92%, 470px) !important;
  height: 610px !important;
}

.hero-photo-frame img {
  width: 118% !important;
  height: 118% !important;
  object-fit: contain !important;
  object-position: center top !important;
}

.preferred-card-stack .clean-card-main {
  z-index: 8 !important;
  right: -2px !important;
  bottom: 24px !important;
  width: min(66%, 315px) !important;
}

.float-card-right {
  z-index: 9 !important;
  right: -12px !important;
  bottom: 126px !important;
}

.clean-floating-badge {
  z-index: 10 !important;
  right: 16px !important;
  bottom: 10px !important;
}

@media (max-width: 767px) {
  .hero-photo-frame {
    z-index: 3 !important;
    left: -18% !important;
    top: -64px !important;
    width: min(92%, 390px) !important;
    height: 500px !important;
  }

  .preferred-card-stack .clean-card-main {
    z-index: 8 !important;
    width: min(68%, 280px) !important;
    bottom: 38px !important;
  }

  .float-card-right {
    z-index: 9 !important;
    bottom: 118px !important;
  }
}

/* QA placement fix — move optional review mini-card off main checklist copy */
.float-card-right {
  right: -42px !important;
  bottom: 46px !important;
  transform: rotate(2deg) scale(0.92) !important;
}

@media (max-width: 767px) {
  .float-card-right {
    right: -18px !important;
    bottom: 42px !important;
    transform: rotate(2deg) scale(0.88) !important;
  }
}

/* QA placement fix — optional card lower + remove educational badge */
.float-card-right {
  right: -42px !important;
  bottom: 14px !important;
  transform: rotate(2deg) scale(0.92) !important;
}

.clean-floating-badge {
  display: none !important;
}

@media (max-width: 767px) {
  .float-card-right {
    right: -18px !important;
    bottom: 8px !important;
    transform: rotate(2deg) scale(0.88) !important;
  }
}

/* Checklist section rebuild: image left, bullet points right */
.checklist-split-section {
  padding-top: var(--space-24);
}

.checklist-split {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(34px, 5vw, 64px);
  align-items: center;
}

.home-protection-image-card {
  position: relative;
  margin: 0;
  min-height: 560px;
  overflow: hidden;
  border: 1px solid var(--color-line);
  border-radius: 44px;
  background: linear-gradient(145deg, #eef6ff, #ffffff);
  box-shadow: 0 28px 80px rgba(0, 26, 150, 0.14);
}

.home-protection-image-card::before {
  content: "";
  position: absolute;
  inset: 18px;
  z-index: 2;
  border: 1px solid rgba(255,255,255,0.62);
  border-radius: 34px;
  pointer-events: none;
}

.home-protection-image-card::after {
  content: "Protected home review";
  position: absolute;
  left: 28px;
  bottom: 28px;
  z-index: 3;
  padding: 12px 17px;
  border-radius: var(--radius-pill);
  color: var(--color-white);
  background: rgba(6, 19, 61, 0.86);
  box-shadow: 0 18px 46px rgba(6, 19, 61, 0.22);
  font-size: var(--text-sm);
  font-weight: 900;
  backdrop-filter: blur(10px);
}

.home-protection-image-card img {
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
  object-position: center;
}

.checklist-bullets-panel .left-intro {
  margin: 20px 0 0;
  max-width: 620px;
}

.protection-bullet-list {
  display: grid;
  gap: 14px;
  margin: 34px 0 0;
  padding: 0;
  list-style: none;
}

.protection-bullet-list li {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 16px;
  align-items: start;
  padding: 18px 18px 18px 16px;
  border: 1px solid var(--color-line);
  border-radius: 22px;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 12px 32px rgba(0, 26, 150, 0.07);
}

.protection-bullet-list li > span {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: var(--color-blue-900);
  background: var(--color-blue-50);
  font-weight: 950;
  font-size: 0.86rem;
}

.protection-bullet-list strong {
  display: block;
  color: var(--color-ink);
  font-size: 1.05rem;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.protection-bullet-list p {
  margin-top: 5px;
  color: var(--color-muted);
  font-size: 0.96rem;
  line-height: 1.45;
}

@media (max-width: 900px) {
  .checklist-split {
    grid-template-columns: 1fr;
  }

  .home-protection-image-card,
  .home-protection-image-card img {
    min-height: 380px;
  }
}

@media (max-width: 560px) {
  .home-protection-image-card,
  .home-protection-image-card img {
    min-height: 300px;
  }

  .protection-bullet-list li {
    grid-template-columns: 40px 1fr;
    padding: 15px;
  }

  .protection-bullet-list li > span {
    width: 38px;
    height: 38px;
  }
}

/* Home protection image crop — keep bubble/house, remove right-side generated clutter */
.home-protection-image-card img {
  object-position: center center !important;
}

/* Picasso QC fix — full bubble asset with transparent outside and faint blue illumination */
.home-protection-image-card {
  background:
    radial-gradient(circle at 30% 60%, rgba(99, 169, 255, 0.16), transparent 46%),
    linear-gradient(145deg, #f4f9ff, #ffffff) !important;
}

.home-protection-image-card img {
  object-fit: contain !important;
  object-position: left center !important;
  padding: 0 !important;
  filter: drop-shadow(0 26px 48px rgba(6, 19, 61, 0.12));
}

/* Rebuilt home-protection visual — complete bubble, clean outside area, faint illumination */
.home-protection-image-card {
  background:
    radial-gradient(circle at 50% 50%, rgba(94, 163, 255, 0.10), transparent 58%),
    linear-gradient(145deg, #f7fbff, #ffffff) !important;
}

.home-protection-image-card img {
  object-fit: contain !important;
  object-position: center center !important;
  padding: 24px !important;
  filter: drop-shadow(0 22px 42px rgba(6, 19, 61, 0.10));
}

/* Size correction — make home-protection bubble fill the left section with premium presence */
.checklist-split {
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr) !important;
  gap: clamp(30px, 4vw, 54px) !important;
}

.home-protection-image-card {
  min-height: 620px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.home-protection-image-card img {
  width: 132% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 0 !important;
}

@media (max-width: 900px) {
  .checklist-split {
    grid-template-columns: 1fr !important;
  }

  .home-protection-image-card {
    min-height: 440px !important;
  }

  .home-protection-image-card img {
    width: 118% !important;
  }
}

@media (max-width: 560px) {
  .home-protection-image-card {
    min-height: 330px !important;
  }

  .home-protection-image-card img {
    width: 126% !important;
  }
}

/* Mortgage protection calculator — Picasso 2026-05-09 */
.calculator-section {
  padding-top: clamp(36px, 4vw, 56px);
  background: linear-gradient(180deg, #fff 0%, var(--color-blue-50) 44%, #fff 100%);
}

.mortgage-calculator-shell {
  padding: clamp(24px, 4.8vw, 56px);
  border: 1px solid rgba(191, 213, 255, 0.9);
  border-radius: clamp(28px, 4vw, 46px);
  background:
    radial-gradient(circle at 88% 8%, rgba(49, 91, 255, 0.16), transparent 22rem),
    radial-gradient(circle at 10% 100%, rgba(15, 118, 110, 0.10), transparent 20rem),
    rgba(255,255,255,0.86);
  box-shadow: 0 30px 90px rgba(0, 26, 150, 0.12);
}

.calculator-header {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.72fr);
  gap: clamp(20px, 4vw, 56px);
  align-items: end;
  margin-bottom: clamp(24px, 4vw, 38px);
}

.calculator-header p:last-child {
  color: var(--color-muted);
  font-size: calc(var(--text-lg) - 0.25rem);
  line-height: 1.58;
}

.calculator-card {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(330px, 0.72fr);
  gap: clamp(18px, 3vw, 28px);
  align-items: stretch;
}

.calculator-controls,
.calculator-result {
  border: 1px solid var(--color-line);
  border-radius: 30px;
  background: rgba(255,255,255,0.94);
  box-shadow: var(--shadow-card);
}

.calculator-controls {
  display: grid;
  gap: 22px;
  padding: clamp(22px, 3vw, 34px);
}

.slider-field {
  padding: 18px;
  border: 1px solid rgba(215, 231, 255, 0.9);
  border-radius: 24px;
  background: linear-gradient(180deg, #fff, #f8fbff);
}

.compact-slider-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.slider-label-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.slider-label-row label {
  color: #213153;
  font-weight: 900;
  line-height: 1.25;
}

.slider-label-row output {
  flex: 0 0 auto;
  color: var(--color-blue-900);
  font-weight: 950;
  letter-spacing: -0.02em;
}

input[type="range"] {
  --range-progress: 50%;
  width: 100%;
  height: 10px;
  appearance: none;
  border-radius: var(--radius-pill);
  background: linear-gradient(90deg, var(--color-blue-900) 0 var(--range-progress), #dbe8ff var(--range-progress) 100%);
  outline: 0;
}

input[type="range"]::-webkit-slider-thumb {
  appearance: none;
  width: 26px;
  height: 26px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: var(--color-blue-900);
  box-shadow: 0 8px 22px rgba(0, 26, 150, 0.28);
  cursor: pointer;
}

input[type="range"]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: var(--color-blue-900);
  box-shadow: 0 8px 22px rgba(0, 26, 150, 0.28);
  cursor: pointer;
}

.range-caps {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 800;
}

.calculator-action {
  position: relative;
  z-index: 2;
  width: 100%;
  margin-top: clamp(18px, 2.4vw, 26px);
  color: var(--color-blue-950);
  box-shadow: 0 18px 44px rgba(0, 17, 91, 0.24);
}

.calculator-result {
  position: relative;
  overflow: hidden;
  padding: clamp(24px, 3vw, 34px);
  color: var(--color-white);
  background:
    radial-gradient(circle at 86% 14%, rgba(255,255,255,0.18), transparent 13rem),
    linear-gradient(145deg, var(--color-blue-950), var(--color-blue-900));
}

.calculator-result::before {
  content: "";
  position: absolute;
  inset: 18px 18px auto auto;
  width: 96px;
  height: 96px;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 32px;
  transform: rotate(12deg);
}

.result-kicker {
  display: block;
  color: var(--color-blue-100);
  font-size: var(--text-xs);
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.calculator-result > strong {
  display: block;
  margin-top: 12px;
  font-size: clamp(2.4rem, 5vw, 4.55rem);
  line-height: 0.95;
  letter-spacing: -0.06em;
}

.calculator-result > p {
  margin-top: 16px;
  color: rgba(255,255,255,0.82);
}

.result-breakdown {
  display: grid;
  gap: 10px;
  margin-top: 24px;
}

.result-breakdown div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,0.14);
}

.result-breakdown span { color: rgba(255,255,255,0.72); font-weight: 750; }
.result-breakdown strong { color: #fff; }
.calculator-disclaimer { font-size: var(--text-sm); }

.quote-form-section.is-locked {
  display: none;
}

.quote-form-section {
  animation: quoteReveal 360ms var(--ease-out) both;
}

@keyframes quoteReveal {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

.quote-form-shell {
  border-color: rgba(49, 91, 255, 0.2);
}

select {
  width: 100%;
  min-height: 52px;
  padding: 10px 15px;
  border: 1px solid #bacbe7;
  border-radius: 15px;
  font: inherit;
  color: var(--color-ink);
  background: var(--color-white);
}

.quote-form .form-next-step strong {
  color: var(--color-blue-900);
  white-space: nowrap;
}

@media (max-width: 900px) {
  .calculator-header,
  .calculator-card {
    grid-template-columns: 1fr;
  }

  .calculator-result {
    order: 1;
  }
}

@media (max-width: 620px) {
  .mortgage-calculator-shell { padding: 18px; }
  .compact-slider-grid { grid-template-columns: 1fr; }
  .slider-field { padding: 16px; }
  .slider-label-row { align-items: flex-start; flex-direction: column; gap: 6px; }
  .calculator-result,
  .calculator-controls { border-radius: 24px; }
}

/* Final mobile containment pass for calculator release — Picasso 2026-05-09 */
html, body { max-width: 100%; overflow-x: hidden; }

@media (max-width: 767px) {
  .site-header { overflow: hidden; }
  .header-inner { width: min(100% - 24px, var(--max-page)); }
  .header-actions { display: flex; }
  .header-actions .button-small {
    min-height: 40px;
    padding: 0 14px;
    font-size: 0.82rem;
    white-space: nowrap;
  }

  .tutor-hero { overflow: hidden; }
  .tutor-hero .hero-inner {
    width: min(100% - 28px, var(--max-page));
    padding-top: 34px;
    padding-bottom: 22px;
  }
  .tutor-hero .hero-copy,
  .tutor-hero .hero-title,
  .tutor-hero .hero-subcopy,
  .tutor-hero .hero-disclaimer {
    max-width: 100%;
  }
  .tutor-hero .hero-actions {
    position: relative;
    z-index: 12;
    display: grid;
    grid-template-columns: 1fr;
  }
  .tutor-hero .button,
  .hero-actions .button {
    width: 100%;
    max-width: 100%;
    min-height: 54px;
    padding: 0 18px;
  }

  .hero-visual-clean.preferred-card-stack {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    width: min(100% - 28px, 430px) !important;
    max-width: calc(100vw - 28px) !important;
    min-height: 455px !important;
    margin: 20px auto 0 !important;
    overflow: hidden !important;
  }
  .preferred-card-stack::before { inset: 10px 0 18px !important; }
  .hero-photo-frame {
    position: absolute !important;
    left: -8% !important;
    top: 0 !important;
    width: min(84vw, 330px) !important;
    height: 360px !important;
  }
  .hero-photo-frame img {
    width: 112% !important;
    height: 112% !important;
  }
  .preferred-card-stack .clean-card-main {
    right: 10px !important;
    bottom: 28px !important;
    left: auto !important;
    width: min(72%, 280px) !important;
    max-width: calc(100% - 20px) !important;
    min-height: 250px !important;
  }
  .float-card-right { display: none !important; }

  .trust-strip-section { margin-top: 0; }
  .trust-strip { width: min(100% - 28px, var(--max-page)); }
}

@media (max-width: 430px) {
  .brand { gap: 9px; }
  .brand strong { font-size: 0.95rem; }
  .brand-mark { width: 38px; height: 38px; }
  .header-actions .button-small { padding: 0 12px; font-size: 0.78rem; }
  .tutor-hero .hero-title { font-size: clamp(2.55rem, 12.8vw, 3.35rem); }
  .hero-photo-frame {
    left: -10% !important;
    width: min(86vw, 315px) !important;
    height: 340px !important;
  }
  .preferred-card-stack .clean-card-main {
    width: min(74%, 260px) !important;
    padding: 20px !important;
  }
}

@media (max-width: 767px) {
  .hero-photo-frame {
    left: 0 !important;
    width: min(76vw, 292px) !important;
    height: 330px !important;
  }
  .hero-photo-frame img {
    width: 100% !important;
    height: 100% !important;
  }
}

@media (max-width: 767px) {
  .home-protection-image-card { overflow: hidden !important; }
  .home-protection-image-card img {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 430px) {
  .header-actions { display: none !important; }
  .container,
  .tutor-hero .hero-inner,
  .trust-strip {
    width: min(100% - 36px, var(--max-page)) !important;
  }
  .tutor-hero .hero-title,
  .tutor-hero .hero-subcopy,
  .section-intro,
  .checklist-bullets-panel,
  .prose-card,
  .trust-strip span,
  .trust-strip strong {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 560px) {
  .header-actions { display: none !important; }
  .container,
  .tutor-hero .hero-inner,
  .trust-strip {
    width: min(100% - 36px, var(--max-page)) !important;
  }
  .tutor-hero .hero-title,
  .tutor-hero .hero-subcopy,
  .section-intro,
  .checklist-bullets-panel,
  .prose-card,
  .trust-strip span,
  .trust-strip strong,
  .clean-card-main h2,
  .clean-card-main li {
    overflow-wrap: anywhere;
  }
}

/* Picasso 2026-05-12 — checklist section one-screen balance fix.
   Goal: heading + intro + all 6 numbered items + image fit within ~900px
   viewport without scroll, with the image visually matching the bullets
   column height instead of being a small square on the left. */
@media (min-width: 901px) {
  .checklist-split-section {
    padding-top: clamp(28px, 3.5vw, 44px) !important;
    padding-bottom: clamp(28px, 3.5vw, 44px) !important;
  }

  .checklist-split {
    align-items: stretch !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: clamp(28px, 3.5vw, 44px) !important;
  }

  .home-protection-image-card {
    min-height: 0 !important;
    height: 100% !important;
    align-self: stretch !important;
    border-radius: 32px !important;
  }

  .home-protection-image-card img {
    width: 108% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    padding: 10px !important;
  }

  .checklist-bullets-panel h2 {
    margin-top: 6px !important;
  }

  .checklist-bullets-panel .left-intro {
    margin-top: 10px !important;
  }

  .protection-bullet-list {
    gap: 6px !important;
    margin-top: 16px !important;
  }

  .protection-bullet-list li {
    padding: 10px 14px !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 22px rgba(0, 26, 150, 0.05) !important;
  }

  .protection-bullet-list li > span {
    width: 36px !important;
    height: 36px !important;
    font-size: 0.76rem !important;
  }

  .protection-bullet-list strong {
    font-size: 0.96rem !important;
  }

  .protection-bullet-list p {
    margin-top: 3px !important;
    font-size: 0.86rem !important;
    line-height: 1.38 !important;
  }
}

/* Slightly tighter on smaller desktops (~1280×800) to guarantee no scroll. */
@media (min-width: 901px) and (max-height: 840px) {
  .checklist-split-section {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }

  .protection-bullet-list {
    gap: 6px !important;
    margin-top: 16px !important;
  }

  .protection-bullet-list li {
    padding: 9px 13px !important;
  }

  .protection-bullet-list strong {
    font-size: 0.94rem !important;
  }

  .protection-bullet-list p {
    font-size: 0.85rem !important;
    line-height: 1.38 !important;
  }
}

/* Size bump — house/bubble image +33% (Maphunga 2026-05-13)
   Effective baseline (post earlier overrides):
     desktop ≥901px: img width 108%, card height stretches to bullets column
     tablet 768–900px: img width 118%, card min-height 440px
     mobile ≤767px: img width 100%, card min-height ~330–440px
   Bubble PNG has internal whitespace, so we scale the img element width
   (object-fit:contain re-letterboxes inside the larger box) and bump the
   card min-height so the bigger bubble has vertical room without clipping. */
@media (min-width: 901px) {
  .checklist-split {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr) !important;
    align-items: center !important;
    gap: clamp(28px, 3.4vw, 44px) !important;
  }
  .home-protection-image-card {
    min-height: 760px !important;
    height: auto !important;
    align-self: center !important;
  }
  .home-protection-image-card img {
    width: 144% !important;
    height: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
}

@media (max-width: 900px) and (min-width: 768px) {
  .home-protection-image-card {
    min-height: 585px !important;
  }
  .home-protection-image-card img {
    width: 157% !important;
    max-width: none !important;
  }
}

@media (max-width: 767px) {
  .home-protection-image-card {
    min-height: 440px !important;
    overflow: hidden !important;
  }
  .home-protection-image-card img {
    width: 133% !important;
    max-width: 133% !important;
    object-fit: contain !important;
  }
}

@media (max-width: 560px) {
  .home-protection-image-card {
    min-height: 400px !important;
  }
  .home-protection-image-card img {
    width: 168% !important;
    max-width: 168% !important;
  }
}

/* Quote-form thank-you state (after CRM submit) */
.quote-thank-you {
  padding: 32px;
  border-radius: 24px;
  background: rgba(255,255,255,0.96);
  border: 1px solid rgba(49, 91, 255, 0.2);
  text-align: center;
}
.quote-thank-you h3 { margin: 8px 0 12px; }
.quote-thank-you p { color: var(--color-muted, #4d5878); margin: 0; }
.form-submit-status { color: #8a1c1c; font-weight: 750; line-height: 1.45; }

.lead-form .button:disabled {
  cursor: not-allowed;
  opacity: 0.62;
  box-shadow: none;
}
.checkbox-row a,
.site-footer a,
.policy-page a { text-decoration: underline; text-underline-offset: 3px; }
.bot-field {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.security-check { min-height: 65px; margin: 4px 0; }

.policy-page {
  min-height: 100vh;
  padding: clamp(46px, 7vw, 90px) 0;
  background: linear-gradient(180deg, var(--color-blue-50), var(--color-white) 36%);
}
.policy-shell {
  max-width: 880px;
  padding: clamp(28px, 5vw, 64px);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-xl);
  background: var(--color-white);
  box-shadow: var(--shadow-soft);
}
.policy-shell h1 { margin: 8px 0 10px; color: var(--color-ink); font-size: var(--text-3xl); line-height: 1.08; }
.policy-shell h2 { margin: 38px 0 12px; color: var(--color-ink); font-size: clamp(1.35rem, 2.5vw, 1.75rem); }
.policy-shell p + p { margin-top: 14px; }
.policy-shell ul { display: grid; gap: 10px; padding-left: 24px; color: var(--color-text); }
.policy-date { color: var(--color-muted); }
.privacy-promise {
  margin: 30px 0;
  padding: 22px 24px;
  border: 1px solid var(--color-line-strong);
  border-left: 6px solid var(--color-blue-900);
  border-radius: var(--radius-md);
  background: var(--color-blue-50);
  color: var(--color-ink);
}
.policy-return { margin-top: 44px !important; }
.policy-return .button { text-decoration: none; }

.footer-link-button {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}

.marketing-consent[hidden] { display: none; }
.marketing-consent {
  position: fixed;
  z-index: 2000;
  right: 20px;
  bottom: 20px;
  left: 20px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr);
  gap: 24px;
  width: min(1120px, calc(100% - 40px));
  max-height: calc(100vh - 40px);
  margin: 0 auto;
  padding: 24px;
  overflow: auto;
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-lg);
  background: var(--color-white);
  box-shadow: 0 24px 80px rgba(16, 34, 67, 0.24);
  color: var(--color-text);
}
.marketing-consent h2 {
  margin: 4px 0 10px;
  color: var(--color-ink);
  font-size: clamp(1.3rem, 2.4vw, 1.8rem);
}
.marketing-consent p { margin: 0 0 10px; }
.marketing-consent-detail { color: var(--color-muted); font-size: 0.94rem; }
.marketing-consent-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-content: center;
  gap: 10px;
}
.marketing-consent-actions .button {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
}
.marketing-consent-actions .button:disabled { cursor: not-allowed; opacity: 0.55; }
.marketing-consent-close {
  grid-column: 1 / -1;
  min-height: 44px;
  border: 0;
  background: transparent;
  color: var(--color-blue-900);
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
}

@media (max-width: 700px) {
  .marketing-consent {
    right: 10px;
    bottom: 10px;
    left: 10px;
    grid-template-columns: 1fr;
    gap: 16px;
    width: calc(100% - 20px);
    max-height: calc(100vh - 20px);
    padding: 18px;
  }
  .marketing-consent-actions { grid-template-columns: 1fr; }
  .marketing-consent-close { grid-column: auto; }
}
