/* Kent Build mobile usability pass - additive, narrow-screen only. */
@media (max-width:1150px) {
  .site-header { z-index:1000; }
  .nav-shell { position:relative; display:flex; flex-wrap:nowrap; width:calc(100% - 36px); min-height:72px; padding:9px 0; gap:10px; }
  .logo-plus-text { min-width:0; flex:1 1 auto; max-width:calc(100% - 138px); gap:7px; }
  .logo-plus-text img { width:58px; height:auto; max-height:50px; object-fit:contain; }
  .brand-text strong { font-size:14px; letter-spacing:.035em; white-space:nowrap; }
  .brand-text small { display:none; }
  .menu-toggle { display:inline-flex!important; flex:0 0 auto; align-items:center; justify-content:center; gap:7px; margin:0 0 0 auto; min-width:44px; min-height:44px; padding:10px 13px; border:1px solid rgba(229,199,128,.55); border-radius:9px; background:#171717; color:#f3e9d1; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; }
  .menu-toggle::before { content:'☰'; font-size:17px; line-height:1; }
  .menu-toggle[aria-expanded="true"]::before { content:'×'; font-size:24px; }
  .quote-button { flex:0 0 auto; order:initial; margin:0; padding:12px 14px; min-height:44px; font-size:11px; letter-spacing:.01em; white-space:nowrap; }
  .main-nav { display:none!important; position:absolute; top:calc(100% + 1px); left:-18px; right:-18px; width:auto; max-height:calc(100dvh - 74px); overflow-y:auto; overscroll-behavior:contain; margin:0; padding:12px 18px 19px; background:#111110; border:1px solid rgba(229,199,128,.35); border-top:0; box-shadow:0 23px 40px rgba(0,0,0,.55); flex-direction:column; align-items:stretch; gap:3px; z-index:1001; }
  .main-nav.open, .menu-toggle[aria-expanded="true"] + .main-nav { display:flex!important; }
  .main-nav a { display:flex; align-items:center; min-height:44px; padding:11px 13px; border:0; border-bottom:1px solid rgba(255,255,255,.09); border-radius:0; background:transparent; font-size:13px; letter-spacing:.035em; }
  .main-nav a[aria-current="page"] { color:#e5c780; }
  .hero { grid-template-columns:minmax(0,1fr); min-height:0; gap:25px; padding:46px 0 50px; }
  .hero-inner,.hero-panel { width:100%; max-width:none; min-width:0; }
  .hero h1 { font-size:clamp(40px,6vw,62px); line-height:1.05; overflow-wrap:normal; }
  .hero-copy { font-size:clamp(16px,2.1vw,19px); line-height:1.55; }
  .hero::before { inset:35px 0 20px; width:100%; }
  .hero-video-panel { min-height:340px; }
  .kb-home-feature-wrap { width:calc(100% - 40px); }
}
@media (max-width:650px) {
  html,body { max-width:100%; }
  .nav-shell { width:calc(100% - 28px); min-height:64px; gap:7px; }
  .logo-plus-text { max-width:calc(100% - 113px); }
  .logo-plus-text img { width:44px; max-height:43px; }
  .brand-text strong { font-size:clamp(10px,2.85vw,13px); letter-spacing:0; }
  .menu-toggle { min-width:43px; min-height:42px; padding:9px 10px; font-size:0; }
  .menu-toggle::before { font-size:20px; }
  .quote-button { padding:10px 12px; min-height:42px; font-size:10px; }
  .main-nav { left:-14px; right:-14px; max-height:calc(100dvh - 65px); }
  .hero, .section, .practical-about-section, .kb-page-wrap, .kb-page-hero-inner { width:calc(100% - 36px); }
  .hero { padding:37px 0 44px; gap:26px; }
  .hero h1 { font-size:clamp(37px,10vw,49px); line-height:1.04; margin-bottom:17px; }
  .hero .eyebrow { font-size:10px; letter-spacing:.17em; }
  .hero-inner::before { width:42px; margin-bottom:15px; }
  .hero-copy { font-size:16px; line-height:1.55; margin-bottom:22px; }
  .hero-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
  .hero-actions a { min-width:0; text-align:center; padding:13px 7px; min-height:47px; font-size:10px; letter-spacing:0; }
  .hero-video-panel { min-height:310px; padding:0; border-radius:16px; overflow:hidden; }
  .video-panel-content { padding:19px!important; }
  .video-panel-content strong { font-size:clamp(20px,6vw,29px); }
  .video-panel-content p { font-size:12px; line-height:1.45; }
  .video-credentials { gap:5px!important; }
  .video-credentials span { font-size:9px!important; padding:5px 7px!important; }
  .hero-chas-badge { max-width:80px; max-height:62px; object-fit:contain; }
  .section { padding-top:52px; padding-bottom:52px; }
  .section h2, .kb-page-hero h1 { font-size:clamp(32px,8vw,42px); line-height:1.1; }
  .kb-home-feature-wrap { width:calc(100% - 36px); padding-top:48px; padding-bottom:52px; }
  .kb-home-feature h2 { font-size:clamp(35px,9vw,45px); }
  .kb-home-feature-grid { grid-template-columns:1fr 1fr; gap:9px; }
  .kb-feature-finish { min-height:270px; }
  .kb-feature-film { min-height:260px; }
  .kb-feature-caption strong { font-size:clamp(19px,5vw,25px); }
  .kb-feature-caption>span { font-size:9px; }
  .kb-home-film-stage video { max-height:calc(100dvh - 180px); }
  .kbp-intro { min-height:0; padding:30px 18px 50px; gap:22px; }
  .kbp-breadcrumb { margin-bottom:20px; }
  .kbp-intro h1 { font-size:clamp(39px,10vw,52px); margin:12px 0 18px; }
  .kbp-intro-copy > p { font-size:15px; line-height:1.6; margin-bottom:20px; }
  .kbp-intro-stats { padding-top:27px; gap:17px; }
  .kbp-intro-stats strong { font-size:27px; }
  .kbp-intro-stats small { font-size:9px; }
  .kbp-intro-art { min-height:0; height:76vw; max-height:390px; }
  .kbp-collections,.kbp-film-section { padding:55px 18px 12px; }
  .kbp-section-head { margin-bottom:25px; }
  .kbp-section-head h2 { font-size:clamp(33px,8.5vw,44px); }
  .kbp-category-grid { gap:12px; }
  .kbp-category:nth-child(n) { height:285px; }
  .kbp-category-copy { padding:21px; }
  .kbp-category-title { font-size:32px; }
  .kbp-films-grid { gap:10px; }
  .kbp-film-image { height:175px; }
  .kbp-film-copy strong { font-size:17px; line-height:1.2; }
  .kbp-film-copy small { font-size:11px; line-height:1.45; }
  .kbp-collection-content { padding:23px 13px 45px; }
  .kbp-collection-grid:not(.kbp-archive-grid) .kbp-media-tile:nth-child(n), .kbp-media-tile { height:180px; }
  .kbp-collection-grid:not(.kbp-archive-grid) .kbp-media-tile:nth-child(1) { height:270px; }
  .kbp-viewer { height:100dvh; }
  .kbp-viewer-top { padding:11px 12px; }
  .kbp-viewer-center { grid-template-columns:30px minmax(0,1fr) 30px; }
  .kbp-viewer-stage { padding:5px; }
  .kbp-viewer-arrow { font-size:32px; }
  .kbp-viewer-bottom { padding:7px 7px 12px; }
  .kbp-viewer-thumbs { justify-content:flex-start; overflow-x:auto; scrollbar-width:thin; }
  .kbp-viewer-thumbs button { width:45px; height:38px; }
  .contact-grid, .enquiry-form .form-grid { grid-template-columns:minmax(0,1fr); }
  input,textarea,select { max-width:100%; }
}
@media (max-width:370px) {
  .brand-text strong { font-size:10px; }
  .quote-button { padding:9px 8px; }
  .hero-actions { grid-template-columns:1fr; }
  .kbp-films-grid { grid-template-columns:1fr; }
  .kbp-film-image { height:210px; }
}
@media (prefers-reduced-motion: reduce) {
 .kbp-portfolio *, .kb-home-feature * { scroll-behavior:auto!important; }
}
/* Avoid iOS zoom on field focus and allow comfortable touch targets. */
@media(max-width:650px){
  .enquiry-form input,.enquiry-form textarea,.enquiry-form select,.contact-form-wrap input,.contact-form-wrap textarea,.contact-form-wrap select { font-size:16px; min-height:44px; }
  .enquiry-form textarea,.contact-form-wrap textarea { min-height:120px; }
  .gallery-modal { padding:6px!important; }
  .gallery-modal-inner { width:100%!important; max-height:calc(100dvh - 12px); padding:13px!important; border-radius:14px; }
  .gallery-modal-header h2 { font-size:23px; }
  .gallery-close { min-height:44px; }
}
