/* Shared refinements: readable desktop type, compact rhythm, quiet navigation. */
.brand{display:inline-flex;align-items:center;gap:12px;white-space:nowrap}
.brand-mark{display:block;flex:none;width:44px;height:44px;border-radius:0;object-fit:contain}
.brand .brand-wordmark{font-weight:400}.brand-wordmark b{font-weight:700}
.footer-brand{display:inline-flex;align-items:center;gap:12px;font:500 20px var(--en);margin-bottom:24px}
.native-menu-brand{gap:10px}.native-menu-brand .brand-mark{width:32px;height:32px;border-radius:0}
/* Original hover and animation rules remain in the shared stylesheets. */
.native-menu-panel .menu-links a small{font-size:14px}
html:has(.site-navigation[open]){overflow:hidden}
.email-help{margin:36px 0 0;padding-top:24px;border-top:1px solid var(--line)}
.email-help p:empty{display:none}
.contact-page .brief-form{max-width:none}
@media(min-width:761px){
 :root{--space:clamp(32px,4.2vw,80px)}
 .container{max-width:1760px}
 header.container{min-height:88px;padding-right:calc(var(--space) + 64px)}
 .menu-toggle{top:17px}
 .hero{padding-top:28px;padding-bottom:38px}
 .hero-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,90px);margin-top:30px}
 .hero h1{font-size:clamp(100px,11vw,200px)}
 .hero-copy{max-width:none;padding:0}
 .hero-copy h2{font-size:clamp(28px,2.5vw,44px);line-height:1.6}
 .hero-copy p{font-size:clamp(17px,1.2vw,21px);line-height:1.9;margin-top:22px}
 .intro-label{font-size:14px}
 .hero-bottom{margin-top:36px;padding-top:18px;font-size:14px}
 .detail-page .page-heading{padding-top:14px;padding-bottom:24px}
 .page-heading .back-home,.works-page .back-home{margin-bottom:18px;font-size:14px}
 .page-heading h1,.works-page h1{font-size:clamp(64px,6.5vw,96px);line-height:1.05}
 main .major-title{padding-block:20px}
 .section-top h2,.home-about h2,.home-works h2,.home-news h2{font-size:clamp(38px,3.5vw,58px)}
 .section-top{margin-bottom:30px}
 .section-top>.section-intro{margin-top:20px}
 .section-intro{font-size:17px;max-width:36em}
 .detail-page .about{padding-block:42px}
 .about .two-col{grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);gap:40px;align-items:start}
 .detail-page .about .two-col>.reveal,.about .two-col>.reveal{max-width:none;margin:0;width:auto}
 .section-label h2{font-size:28px;line-height:1.5}
 .about h3{font-size:clamp(30px,2.8vw,44px);line-height:1.6;margin-bottom:20px}
 .about-text{font-size:18px;line-height:1.95;max-width:52em;margin-top:20px}
 .about-location,.about-future,.about-track-record{font-size:16px;line-height:1.9;max-width:58em}
 .about-location{margin-top:22px}.about-future{margin-top:12px}
 .detail-page .services,.detail-page .info-section{padding-block:40px}
 .service-list{gap:30px 36px}
 .service{padding-top:18px;border-top:1px solid var(--line)}
 .service-title{font-size:clamp(28px,2.3vw,38px)}
 .service h3 small{font-size:16px;margin-top:12px}
 .service p{font-size:17px;line-height:1.9;margin-top:18px}
 .genre-block{margin-top:32px}
 .genre-block>p,.caption-option p,.info-card p,.flow p,.profile dd,.faq p,.privacy-body p,.news-article p,.case-summary p,.project-description,.draft-note,.monthly-plans>p{font-size:17px;line-height:1.9}
 .info-card h3,.flow h3{font-size:21px;line-height:1.6}
 .info-card{padding-block:22px}.info-grid{gap:32px}
 .profile,.faq{max-width:1200px}.profile dt,.faq summary{font-size:17px}
 .home-about,.home-works{padding-block:40px}
 .home-about-copy{max-width:1000px;margin-top:24px}
 .home-about-copy>p:nth-child(2),.contact-copy p{font-size:17px;line-height:1.9}
 .home-work-grid h3,.portfolio-caption h3,.home-news strong{font-size:17px}
 .home-work-grid{margin-top:28px}
 .home-news{padding-block:24px 36px}
 .contact{padding-block:28px 44px}
 .contact-panel{padding:36px 0;gap:48px;grid-template-columns:1fr 1fr}
 .contact h2{font-size:clamp(48px,5.2vw,82px)}
 .contact-copy h3{font-size:25px}
 .works-page{padding-top:20px;padding-bottom:60px}
 .works-page .section-top{margin-bottom:30px}
 .contact-page{max-width:1400px}
 .contact-page .draft-note{font-size:17px}
 .field{font-size:16px}.form-grid{gap:22px 28px}
 .solid-button,.contact-link,.works-all{font-size:16px}
 .privacy-body{max-width:1160px}
 .footer-bottom{font-size:14px;margin-top:28px}
 .footer-privacy{font-size:14px}
 footer{padding-block:36px 24px}
}
@media(min-width:1700px){body{font-size:18px}.service p,.info-card p,.flow p,.profile dd,.faq p,.privacy-body p,.section-intro{font-size:18px}}
@media(min-width:761px) and (max-width:1050px){.hero h1{font-size:10.8vw}.hero-copy h2{font-size:27px}.about .two-col{grid-template-columns:1fr;gap:22px}.service-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.brand{gap:9px}.brand-mark{width:36px;height:36px;border-radius:0}.brand-wordmark{font-size:20px}.footer-brand{font-size:18px}.email-help{margin-top:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.native-menu-panel .menu-links a{transition:none}}

.brand-mark{filter:brightness(0);width:36px;height:36px;border-radius:0;background:transparent}.native-menu-brand .brand-mark{width:27px;height:27px}@media(max-width:760px){.brand-mark{width:30px;height:30px}}
