/* Mobile-only refinements. Desktop styling and WordPress content stay intact. */
/* Detail cover: two-thirds of its previous width, retaining the full image. */
.work-detail .work-cover img { width:66.6667%; height:auto; max-height:none; margin-inline:auto; object-fit:contain; }
#kensui-intro { display:none; }
@media (max-width:1050px), (hover:none) and (pointer:coarse) {
  #kensui-intro.is-visible { position:fixed; inset:0; z-index:100000; display:grid; place-items:center; background:#fff; pointer-events:none; animation:kensui-intro-out .25s ease .9s forwards; }
  #kensui-intro .kensui-intro-logo { width:min(62vw,240px); height:auto; max-height:140px; object-fit:contain; animation:kensui-logo-in .3s ease-out both; }
}
@keyframes kensui-logo-in { from { opacity:0; transform:scale(.96); } to { opacity:1; transform:scale(1); } }
@keyframes kensui-intro-out { to { opacity:0; visibility:hidden; } }
@media (prefers-reduced-motion:reduce) { #kensui-intro.is-visible { display:none; } }
@media (max-width:760px) {
  html { scroll-padding-top:84px; }
  .header-inner { min-height:64px; }
  .custom-logo { max-height:42px; max-width:150px; }
  .section { padding:48px 0; }
  .section-heading { margin-bottom:22px; }
  .section-heading p { margin-top:12px; }
  h2 { font-size:clamp(1.4rem,6vw,1.65rem); line-height:1.65; white-space:normal; }
  .hero { padding-top:0; }
  .hero-copy { padding:24px 20px 20px; }
  .hero-copy .eyebrow { margin-bottom:12px; font-size:.625rem; }
  .hero h1 { font-size:clamp(1.9rem,8.5vw,2.35rem); line-height:1.5; }
  .hero-sub { margin-top:12px; font-size:.9375rem; line-height:1.9; }
  .hero-location { display:none; }
  .hero-photo { margin:0; }
  .hero-photo img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
  .hero-photo figcaption { font-size:.6875rem; }
  .hero > .hero-buttons { margin:16px 20px 0; padding-bottom:8px; }
  .hero-buttons .kensui-hero-secondary { display:none; }
  .hero-buttons .kensui-hero-works { width:100%; min-height:54px; justify-content:center; background:var(--navy); color:#fff; border:1px solid var(--navy); padding:12px 18px; }
  .hero-buttons .kensui-hero-works:hover { background:var(--green); }
  .section-top { gap:14px; margin-bottom:24px; }
  .about-layout { gap:22px; }
  .about-copy, .about-copy .lead { font-size:1rem; line-height:1.9; }
  .about-copy > p + p { margin-top:18px; }
  .about-sign { margin-top:18px; font-size:1.1rem; }
  .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-card { padding:18px 14px 24px; min-height:130px; }
  .service-top { margin-bottom:12px; }
  .service-top svg { width:27px; height:27px; }
  .service-card h3 { font-size:.9375rem; line-height:1.7; padding-right:10px; }
  .service-card p { display:none; }
  .service-arrow { right:12px; bottom:8px; font-size:1rem; }
  .work-card h3 { font-size:1.1rem; }
  .work-meta { margin-top:12px; }
  .works-grid { gap:30px; }
  .reasons-grid { grid-template-columns:1fr; gap:22px; }
  .reasons-grid article { padding-top:18px; }
  .reason-number { font-size:2rem; margin-bottom:8px; }
  .reasons-grid h3 { margin-bottom:8px; }
  .area-list { gap:10px; }
  .area-list li { font-size:1rem; padding:10px 18px; }
  .contact-section { padding:44px 0; }
  .contact-section .section-heading { margin-bottom:24px; }
  .contact-grid { gap:12px; }
  .contact-card { padding:20px 16px; gap:6px; }
  .page-heading { padding-top:28px; padding-bottom:28px; }
  .page-heading h1 { font-size:1.85rem; }
  .work-content { padding-top:28px; }
  .prose .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { width:100%!important; flex-grow:0; margin:0!important; }
  .prose .wp-block-gallery { gap:18px!important; }
  .prose .wp-block-gallery img { width:100%; height:auto!important; aspect-ratio:auto!important; object-fit:contain; }
  .kensui-contact-page .contact-card { flex-direction:row; flex-wrap:wrap; min-height:74px; column-gap:12px; padding:14px; }
  .kensui-contact-page .contact-card svg { width:24px; height:24px; }
  .kensui-contact-page .contact-card > span:last-child { flex-basis:100%; }
  .kensui-contact-page .contact-section { padding:28px 0; }
  #contact-form { scroll-margin-top:20px; }
  .wpcf7 textarea { height:180px; min-height:180px; }
  .wpcf7 input[type=submit] { width:100%; }
  .wpcf7 form > p { margin-top:18px; }
  .kensui-form-typing .mobile-cta { display:none; }
}
