/* Native disclosure and links work with touch, keyboards, and JavaScript disabled. */
.language-menu{position:relative;flex-shrink:0;color:var(--forest);margin-left:0}
.language-menu>summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 10px;cursor:pointer;list-style:none;border:1px solid var(--line);border-radius:2px;font-size:14px;line-height:1.5;background:#fff}
.language-menu>summary::-webkit-details-marker{display:none}
.language-menu>summary>.ui-icon:first-child{width:20px;height:20px}
.language-menu>summary>.ui-icon:last-child{width:15px;height:15px;transform:rotate(90deg)}
.language-menu[open]>summary>.ui-icon:last-child{transform:rotate(-90deg)}
.language-panel{position:absolute;top:calc(100% + 12px);right:0;width:280px;max-width:calc(100vw - 24px);padding:18px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 40px #04193b26;z-index:60;max-height:calc(100dvh - 100px);overflow-y:auto}
.language-panel-heading{font-size:14px;font-weight:700;margin-bottom:10px}
.language-panel nav{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.language-panel nav a{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:12px 10px;min-height:46px;border:1px solid var(--line);font-size:16px;line-height:1.5;white-space:normal}
.language-panel nav a>.ui-icon{width:16px;height:16px;visibility:hidden}
.language-panel nav a[aria-current=page]{background:var(--pale-emerald);border-color:var(--emerald);font-weight:700}
.language-panel nav a[aria-current=page]>.ui-icon{visibility:visible}
.language-panel nav a:hover{background:var(--pale-emerald)}
.language-panel-note{font-size:12px;line-height:1.8;color:var(--muted);padding-top:14px;margin-top:14px;border-top:1px solid var(--line)}
.language-menu summary:focus-visible,.language-panel a:focus-visible{outline:3px solid var(--emerald);outline-offset:3px}
html:not([lang=ja]) .site-header{gap:18px}
html:not([lang=ja]) .brand small{max-width:210px;white-space:normal;font-size:12px}
html:not([lang=ja]) .site-header>nav{gap:18px}
html:not([lang=ja]) .header-cta{max-width:180px;gap:12px}
html:not([lang=ja]) .hero-copy{min-width:0}
html:not([lang=ja]) .hero h1{font-size:clamp(2rem,3.4vw,3.4rem);line-height:1.3;overflow-wrap:normal}
html:not([lang=ja]) .hero-heading-context{font-size:clamp(1.125rem,1.5vw,1.375rem)}
html:not([lang=ja]) .hero-heading-main{overflow-wrap:break-word}
html:not([lang=ja]) .hero-inner{height:auto}
html:not([lang=ja]) h2{line-height:1.5;overflow-wrap:normal}
html:not([lang=ja]) .story-page .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
html:not([lang=ja]) .feature-card-title,html:not([lang=ja]) .feature-card-description{overflow-wrap:anywhere}
html:not([lang=ja]) .hero-assurances{line-height:1.65}
html:not([lang=ja]) .policy-detail summary{align-items:flex-start}
html:not([lang=ja]) .policy-detail summary>span{min-width:0;overflow-wrap:anywhere}
html:not([lang=ja]) .price-value>div{min-width:0;font-size:18px;line-height:1.5}
html:not([lang=ja]) .price-value small{font-size:12px;line-height:1.6}
html:not([lang=ja]) .monthly-heading{align-items:flex-start;flex-wrap:wrap;gap:10px}
html:not([lang=ja]) .story-roles>div{grid-template-columns:100px 1fr}
html[lang=ne] body{font-family:"Noto Sans Devanagari","Kohinoor Devanagari",Mangal,system-ui,sans-serif;line-height:1.95}
html[lang=th] body{font-family:"Noto Sans Thai","Thonburi",Tahoma,system-ui,sans-serif;line-height:1.95;word-break:normal;overflow-wrap:break-word}
html[lang=ne] h1,html[lang=ne] h2,html[lang=th] h1,html[lang=th] h2{line-height:1.6;letter-spacing:0}
html[lang=ne] .hero-heading-main,html[lang=th] .hero-heading-main{line-height:1.65}
@media(max-width:1439px){
 .site-header{gap:16px}
 .site-header>nav{display:none}
 .site-header .header-cta{margin-left:auto}
 .menu-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;flex-shrink:0;border:1px solid var(--forest);background:var(--forest)}
 .mobile-nav{position:fixed;top:90px;left:0;right:0;max-height:calc(100dvh - 90px);overflow-y:auto;z-index:35;background:#fff;border-bottom:1px solid var(--line);padding:12px 6% 20px}
 .mobile-nav>a{display:flex;justify-content:space-between;padding:12px 0;min-height:48px;border-bottom:1px solid var(--line);font-size:16px}
}
@media(max-width:767px){
 .site-header,html:not([lang=ja]) .site-header{height:76px;gap:8px;padding:0 4%;flex-wrap:nowrap}
 .site-header .brand{font-size:19px;gap:8px;min-width:0;margin-right:auto}
 .site-header .brand-mark{width:33px;height:37px}
 .site-header .brand-mark .ui-icon{width:24px;height:24px}
 .site-header .brand small{display:none}
 .site-header .header-cta{display:none}
 .language-menu{margin-left:auto}
 .language-menu>summary{padding:8px;gap:5px;min-height:44px;font-size:14px}
 .language-menu>summary>.ui-icon:last-child{display:none}
 .language-panel{position:fixed;top:82px;right:12px;left:auto;width:300px;max-height:calc(100dvh - 100px)}
 .menu-toggle{width:40px;min-height:44px}
 .mobile-nav{top:76px;max-height:calc(100dvh - 76px)}
 html:not([lang=ja]) .hero h1{font-size:clamp(1.75rem,7vw,2.6rem);line-height:1.4}
 html:not([lang=ja]) .hero-heading-context{font-size:16px;line-height:1.8}
 html:not([lang=ja]) .hero-heading-context>span{display:block}
 html:not([lang=ja]) .hero-subhead{font-size:18px}
 html:not([lang=ja]) .hero-description{font-size:16px}
 html:not([lang=ja]) .hero-actions{grid-template-columns:1fr 1fr}
 html:not([lang=ja]) .hero-actions>.button{font-size:14px;gap:8px;align-items:center}
 html:not([lang=ja]) .story-page .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 html:not([lang=ja]) .story-roles>div{grid-template-columns:75px 1fr}
 html:not([lang=ja]) .price-value{flex-wrap:wrap;align-items:baseline;gap:8px 14px}
 html:not([lang=ja]) .price-value>div{font-size:16px}
 html:not([lang=ja]) .story-policy-grid{grid-template-columns:1fr 1fr}
 html:not([lang=ja]) .story-security-bottom .button{flex-wrap:wrap;text-align:center}
 html[lang=ne] .hero h1,html[lang=th] .hero h1{line-height:1.6}
}
@media(max-width:360px){
 .site-header .brand{font-size:17px;gap:6px}
 .site-header .brand-mark{width:28px}
 .language-menu>summary{font-size:12px;padding:8px 6px}
 html:not([lang=ja]) .hero-actions{grid-template-columns:1fr}
}
