/* Phone layouts: readable content, comfortable controls and shorter sections. */
.theme-two.nav-open{overflow:hidden}
.theme-two .mobile-nav{max-height:calc(100dvh - var(--home-header));overflow-y:auto;overscroll-behavior:contain;padding:12px 16px 18px}
.theme-two .mobile-nav>a{font-size:17px;line-height:1.4;min-height:48px;padding:12px 14px;margin:3px 0;border-radius:5px}
.theme-two .mobile-nav>a.current{background:#174357;color:#b8ee96;box-shadow:inset 3px 0 #a9e581}
.theme-two .hero-story>p{font-size:17px;line-height:1.65}
.theme-two .hero-story>.eyebrow{display:flex}
.theme-two .hero-story .button{min-height:48px}
.theme-two .section,.theme-two .services,.theme-two .approach,.theme-two .faq-section{padding-block:48px}
.theme-two .projects-section{padding-top:0}
.theme-two .section-heading{margin-bottom:24px}
.theme-two .section-heading h2,.theme-two .about-copy h2,.theme-two .faq-section h2{font-size:32px;line-height:1.2;letter-spacing:-1.2px;margin-top:14px}
.theme-two .section-heading>p{font-size:17px;line-height:1.6;margin-top:14px}
.theme-two .service-toolbar{display:block;margin:22px 0 18px}
.theme-two .filters{display:flex;flex-wrap:nowrap;width:100%;max-width:100%;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:8px;scroll-snap-type:x proximity;scrollbar-width:thin}
.theme-two .filter{flex:0 0 auto;white-space:nowrap;font-size:15px;line-height:1.4;min-height:44px;padding:10px 13px;scroll-snap-align:start}
.theme-two .service-count{font-size:14px;margin-top:6px}
.theme-two .service-card{padding:24px;min-height:0}
.theme-two .service-card h3{font-size:23px;line-height:1.3;margin-bottom:10px}
.theme-two .service-card p{font-size:17px;line-height:1.65;margin:0 0 18px}
.theme-two .service-card-top{margin-bottom:18px}
.theme-two .service-card-footer{font-size:13px;line-height:1.5;gap:12px}
.theme-two .services-note{flex-direction:column;gap:12px;margin-top:28px;padding-top:22px}
.theme-two .project-filters{margin:20px 0 18px}
.theme-two .project-art{min-height:180px}
.theme-two .project-empty-copy{padding:24px}
.theme-two .project-empty-copy h3{font-size:28px;line-height:1.25;margin:14px 0 12px}
.theme-two .project-empty-copy p{font-size:17px;line-height:1.65}
.theme-two .project-empty-copy .text-link{font-size:16px;min-height:44px}
.theme-two .industry-tabs{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;margin:20px 0;border-bottom:1px solid #b2cbd3;scrollbar-width:thin}
.theme-two .industry-tabs>button{flex:0 0 auto;min-height:48px;font-size:16px;line-height:1.4;padding:12px 0;margin:0;white-space:nowrap;gap:12px}
.theme-two .industry-copy{grid-row:1;padding:26px 24px}
.theme-two .industry-copy h3{font-size:30px;line-height:1.2;margin:16px 0}
.theme-two .industry-copy>p{font-size:17px;line-height:1.65}
.theme-two .check-list>li{font-size:16px;line-height:1.6}
.theme-two .industry-map{grid-row:2;min-height:260px;padding:20px}
.theme-two .concept-map{min-height:180px;max-height:220px}
.theme-two .process-grid{gap:22px;margin-top:28px}
.theme-two .process-grid>article{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:12px;row-gap:8px;align-content:start;padding-top:18px}
.theme-two .process-no{grid-row:1/4;display:block;align-self:start;font-size:26px;line-height:1.2}
.theme-two .process-no>svg{display:none}
.theme-two .process-grid h3{font-size:20px;line-height:1.35;margin:0}
.theme-two .process-grid p{font-size:17px;line-height:1.6;margin:0}
.theme-two .process-result{font-size:14px;line-height:1.5;margin-top:4px}
.theme-two .about-section{padding-block:48px}
.theme-two .about-grid{gap:28px}
.theme-two .about-copy>p,.theme-two .about-copy>p:first-of-type{font-size:17px;line-height:1.65}
.theme-two .about-values{gap:12px 20px;padding-block:16px;margin-top:20px}
.theme-two .about-visual>figcaption{padding:16px;font-size:13px;line-height:1.5}
.theme-two .faq-section{gap:24px}
.theme-two .faq-list details{padding:16px 0}
.theme-two .faq-list summary{font-size:17px;line-height:1.5;min-height:44px}
.theme-two .faq-list details>p{font-size:16px;line-height:1.65;margin:12px 0 0}
.theme-two .contact-section{padding-block:48px}
.theme-two .contact-grid{gap:28px}
.theme-two .contact-copy h2{font-size:32px;line-height:1.2;letter-spacing:-1.2px;margin-top:18px}
.theme-two .contact-copy>p{font-size:17px;line-height:1.65;margin-top:18px}
.theme-two .contact-rule{margin:22px 0 18px}
.theme-two .contact-prompts{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 16px;margin-top:12px}
.theme-two .contact-prompts>span{font-size:14px;gap:8px}
.theme-two .contact-prompts b{font-size:16px}
.theme-two .form-topline{font-size:14px;line-height:1.5;padding-bottom:12px;margin-bottom:18px}
.theme-two .inquiry-form{scroll-margin-top:calc(var(--home-header) + 18px)}
.theme-two .inquiry-form label{font-size:16px;line-height:1.45;margin-bottom:16px}
.theme-two .inquiry-form input,.theme-two .inquiry-form select,.theme-two .inquiry-form textarea{font-size:16px;line-height:1.5;padding:11px 12px;min-height:50px;margin-top:6px}
.theme-two .inquiry-form textarea{min-height:128px;max-height:320px}
.theme-two .inquiry-form .button{font-size:16px;min-height:50px}
.theme-two .form-note{font-size:14px;line-height:1.6;margin-top:12px}
.theme-two .detail-dialog,.theme-two .inquiry-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:20px;border-radius:10px}
.theme-two .dialog-close{position:sticky;top:0;right:auto;margin:0 0 6px auto;width:44px;height:44px;z-index:2}
.theme-two .detail-dialog h2,.theme-two .inquiry-dialog h2{font-size:28px;line-height:1.2;margin-top:16px}
.theme-two .detail-dialog p,.theme-two .inquiry-dialog>p,.theme-two .detail-dialog ul{font-size:16px;line-height:1.65}
.theme-two .brief-actions{display:grid;grid-template-columns:1fr;gap:10px}
.theme-two .brief-actions .button{width:100%;min-height:48px}
.theme-two .footer-links>a{display:flex;align-items:center;min-height:44px;font-size:16px}
@media(min-width:520px){.theme-two .inquiry-form .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-height:760px){
 .theme-two .hero-story>.eyebrow{display:flex;font-size:13px;line-height:1.5;letter-spacing:.45px;margin-bottom:8px}
 .theme-two .hero h1{font-size:40px;line-height:1.06;margin-bottom:12px}
 .theme-two .hero-story>p{font-size:17px;line-height:1.6;margin-bottom:14px}
}
