@media (max-width: 700px) {
 .scf :is(.hero, .lesson-hero, .science-hero, .shop-hero, .school-hero, .contact-intro, .coaster-hero, .sc-shop-heading, .sc-commerce-heading) h1 {
  font-size: clamp(2rem, 10.8vw, 3.5rem);
  line-height: .96;
  overflow-wrap: anywhere;
 }
 .scf .hero h1 { font-size: clamp(2.125rem, 11.7vw, 3.875rem); }
 .scf .hero h1 span { white-space: normal; }
 .scf :is(.school-hero, .coaster-hero) h1 { font-size: clamp(2rem, 9.4vw, 3.25rem); }
 .scf .woocommerce .product .product_title { font-size: clamp(1.875rem, 8.8vw, 3.125rem); line-height: .98; overflow-wrap: anywhere; }
}

@media (max-width: 400px) {
 .scf .andy-grid { grid-template-columns: minmax(0, 1fr); }
 .scf .andy-copy .button a { white-space: normal; }
 .scf .quote-sun { right: 0; }
 .scf .lesson-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .scf .pick-card h3 { overflow-wrap: anywhere; }
 .scf .woocommerce div.product .single-product-grid { grid-template-columns: minmax(0, 1fr); }
 .scf .woocommerce div.product .variations :is(th, td) { display: block; }
 .scf .woocommerce div.product .variations select { max-width: 100%; }
}

html:has(#enquiry-result) { scroll-behavior: auto; }

.scf .sc-form-status {
 margin: 1.25rem 0;
 padding: 1rem 1.25rem;
 border: 2px solid #b86144;
 border-radius: 12px;
 background: #fff2e9;
 color: #663524;
 scroll-margin-top: 2rem;
}
.scf .sc-form-status[data-result="sent"] {
 border-color: #36816a;
 background: #e7f7ed;
 color: #174d3e;
}
.scf .sc-form-status strong { display: block; font-size: 1.15rem; }
.scf .sc-form-status:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

.scf .footer-bottom .sc-home-screen-link { text-decoration: underline; text-underline-offset: 3px; }
.scf .sc-home-screen-dialog {
 box-sizing: border-box;
 width: min(calc(100% - 2rem), 32rem);
 max-height: calc(100dvh - 2rem);
 margin: auto;
 padding: clamp(1rem, 4vw, 1.7rem);
 border: 2px solid #9fcde7;
 border-radius: 18px;
 background: #f0f9ff;
 color: #123d77;
}
.scf .sc-home-screen-dialog::backdrop { background: #092745bf; }
.scf .sc-home-screen-dialog > header { display: flex; align-items: start; justify-content: space-between; gap: .75rem; margin-bottom: .75rem; }
.scf .sc-home-screen-dialog h2 { font-size: clamp(1.45rem, 6vw, 2rem); line-height: 1.05; }
.scf .sc-home-screen-dialog p + p { margin-top: .65rem; }
.scf .sc-home-screen-dialog a { text-decoration: underline; text-underline-offset: 3px; }
.scf .sc-home-screen-dialog button { min-width: 44px; min-height: 44px; border-radius: 9px; border: 1px solid #9fcde7; background: #fff; color: #123d77; font: 1.4rem/1.1 system-ui,sans-serif; cursor: pointer; }
.scf .sc-home-screen-dialog:target:not([open]) { display: block; position: static; margin: 1rem auto; }
.scf .sc-home-screen-dialog:not([open]) button { display: none; }
