/* Approved version 1 layout with mobile navigation and consultation access. */
@import url('styles.css');
.menu-toggle,.mobile-action{display:none}
.phone-detail{display:none}
.community img{height:auto;aspect-ratio:auto;object-fit:contain}
@media(max-width:800px){
 .mobile-action{gap:12px;padding-top:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}
 .mobile-action .mobile-phone{display:flex;align-items:center;justify-content:center;flex:0 0 88px;min-height:48px;padding:12px;border:1px solid var(--color-blue);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-blue);text-decoration:none;font-size:14px;font-weight:600;line-height:1.3}
 .mobile-action .mobile-phone:hover{background:var(--color-blue-light)}
 .mobile-action .button{min-height:48px;font-size:14px;font-weight:600;letter-spacing:0;padding:12px 16px}
}
@media(max-width:800px){
 .header{position:relative;flex-wrap:wrap;gap:12px}
 .header .brand{margin-right:auto}
 .menu-toggle{display:flex;align-items:center;gap:8px;background:var(--color-transparent);color:var(--color-ink);border:1px solid var(--color-line);border-radius:4px;padding:10px 12px;min-height:44px;font:inherit;font-size:14px;cursor:pointer}
 .menu-toggle:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
 .menu-toggle:active{background:var(--color-blue-light)}
 .menu-toggle:disabled{opacity:.5}
 .header>.button{display:none}
 .header nav{display:none;order:4;width:100%;margin:0;border-top:1px solid var(--color-line);padding:12px 0}
 .header nav.is-open{display:flex;flex-direction:column;gap:0}
 .header nav a{display:block;padding:12px 0;min-height:48px;font-size:16px}
 .mobile-action{display:flex;position:fixed;bottom:0;left:0;right:0;padding:12px 20px calc(12px + env(safe-area-inset-bottom));gap:12px;background:var(--color-paper);border-top:1px solid var(--color-line);z-index:10;align-items:center}
 .mobile-action .button{flex:1;min-height:48px;font-size:14px;padding:12px;gap:0}
 .mobile-phone{font-size:14px;font-weight:600;color:var(--color-ink);white-space:nowrap;padding:12px 4px;min-height:48px}
 .footer{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
 html{scroll-padding-bottom:110px}
 .text-link{display:inline-block;padding-block:8px}
 summary{min-height:56px}
}
@media(max-width:375px){.mobile-action{padding-inline:16px}.mobile-action .button{font-size:13px}}
@media(max-width:800px){
 .mobile-action{visibility:hidden;pointer-events:none}
 .mobile-action.is-visible{visibility:visible;pointer-events:auto}
 .contact-action .button{min-height:52px}
 .email-link{display:inline-block;min-height:48px;padding-block:12px;white-space:normal;overflow-wrap:anywhere}
}
@media(max-width:600px){
 .header{padding-block:12px}
 .hero{padding-block:16px 32px;gap:24px}
 .hero .intro{margin-bottom:12px;font-size:13px}
 .hero h1{font-size:clamp(2.1rem,8.8vw,2.65rem);line-height:1.08}
 .hero .lead{font-size:18px;line-height:1.5;margin-block:16px 12px}
 .desktop-detail{display:none}.phone-detail{display:inline}
 .hero-detail{font-size:15px;line-height:1.5;margin-bottom:20px}
 .hero .button{width:100%;min-height:52px;font-size:15px;padding-inline:16px}
 .hero .quiet{font-size:13px;margin-top:8px}
 .founder-mini{margin-top:16px;font-size:13px;line-height:1.5}
 .hero-image img{aspect-ratio:1.3;object-position:50% 0%;border-radius:56px 6px 6px 6px}
 .hero-image figcaption{font-size:12px;margin-top:12px;gap:8px}
 .section{padding-block:40px}
 h2{font-size:clamp(1.9rem,7.5vw,2.25rem);line-height:1.15}
 .section-intro{gap:16px;margin-bottom:24px}
 .services article{padding-block:20px}
 .services p{font-size:16px;line-height:1.6}
 .service-name{margin-top:12px}
 .about-grid{gap:24px}
 .about-photo img{aspect-ratio:1.25;object-position:50% 15%;border-radius:6px 56px 6px 6px}
 .about .name{font-size:20px;margin-block:16px}
 .about-facts{margin-top:20px;padding-block:20px}
 .community{padding:24px;gap:20px}
 .community .text-link{font-size:13px}
 .faq{gap:24px}
 .faq-list summary{min-height:64px;padding-block:16px;line-height:1.4}
 .faq-list details p{padding-right:0}
 .contact{padding-block:40px}
 .contact-grid{gap:24px}
 .contact .button{width:100%;font-size:15px;gap:16px}
 .footer-main{gap:20px}
}

