
/* Version 4.0: compact, two-line wordmark; contact and legal sections. */
:root{--navh:104px}
html{scroll-padding-top:126px}
.brand.brand-stacked{--brand-type:25px;--brand-sign:67px;display:inline-flex;align-items:center;flex-wrap:nowrap;flex:0 0 auto;gap:13px;margin:0;min-width:0;font-family:Arial,Helvetica,sans-serif;text-decoration:none;color:inherit;line-height:1;letter-spacing:normal}
.brand-stacked .brand-mark{display:block;flex:0 0 auto;width:auto;min-width:0;height:auto;font:900 var(--brand-sign)/.76 Arial,Helvetica,sans-serif;letter-spacing:-.095em;margin:0;padding:0 .035em 0 0;transform:translateY(-.017em)}
.brand-stacked .brand-mark>.brand-dot{color:#00a8b5}
.brand-stacked .brand-name{display:block;flex:0 0 auto;font-size:var(--brand-type);line-height:.99;font-weight:900;letter-spacing:-.055em;white-space:nowrap;margin:0;padding:0}
.brand-stacked .brand-name>.brand-line{display:block;line-height:.99;margin:0;padding:0;white-space:nowrap}
.brand-stacked .brand-name .brand-domain{display:inline!important;font-size:.83em;line-height:inherit;vertical-align:baseline;font-weight:800;letter-spacing:-.055em;margin:0;padding:0;text-transform:none;color:inherit}
.footer .brand-stacked .brand-mark>.brand-dot{color:var(--orange)}
.header-inner{gap:24px}
.header nav{gap:clamp(16px,2.05vw,31px)}
.header nav .nav-cta{min-width:115px;justify-content:space-between}
.contact-block{border-top:1px solid var(--line);padding-top:26px;margin-top:34px;max-width:540px;scroll-margin-top:126px}
.contact-block h3{font-size:31px;line-height:1.12;letter-spacing:-.04em;margin:0 0 16px}
.contact-block p{font-size:16px;line-height:1.65;margin:0 0 20px}
.contact-block .contact-email{display:inline-block;font-size:clamp(24px,2.5vw,34px);font-weight:700;letter-spacing:-.045em;line-height:1.25;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px;margin-bottom:22px;overflow-wrap:anywhere}
.contact-block .contact-email span{display:inline-block;margin-left:14px;font-size:.8em}
.contact-actions{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.contact-actions .underlink{font-size:12px}
.contact-block .contact-note{font-size:11px;line-height:1.7;margin:20px 0 0;max-width:475px}
.contact-block .copy-status{font-size:11px;margin:8px 0 0;min-height:0}
.contact-block .copy-status:empty{display:none}
.footer .footer-top{display:flex;flex-wrap:wrap;gap:30px;align-items:center;justify-content:space-between}
.footer .footer-top p{margin:0;max-width:420px}
.footer .footer-bottom{align-items:flex-start;flex-wrap:wrap;gap:23px 35px}
.footer-bottom>p{max-width:460px}
.footer-bottom>.footer-legal-links{display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap;max-width:390px;padding-top:2px;font-size:12px}
.footer-bottom>.footer-version{max-width:210px}
.footer-legal-links a{padding-block:5px}
.legal-area{background:#e6e7e7;padding-block:64px}
.legal-head{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin-bottom:30px}
.legal-head h2{font-size:40px;line-height:1.07;letter-spacing:-.04em}
.legal-head .section-label{margin-bottom:20px}
.legal-head>p{max-width:360px;font-size:13px;line-height:1.65;margin:0;color:var(--muted)}
.legal-panel{border-top:1px solid var(--line);scroll-margin-top:126px}
.legal-panel:last-child{border-bottom:1px solid var(--line)}
.legal-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;padding:24px 0;font-size:23px;line-height:1.2;font-weight:700;letter-spacing:-.025em}
.legal-panel>summary span{font-size:26px;font-weight:400}
.legal-panel[open]>summary span{transform:rotate(45deg)}
.legal-body{max-width:940px;padding:8px 0 32px}
.legal-body h3{font-size:21px;line-height:1.3;letter-spacing:-.025em;margin:27px 0 13px}
.legal-body p,.legal-body li,.legal-body address{font-size:14px;line-height:1.75;font-style:normal}
.legal-body p{margin:0 0 16px}
.legal-body ul{padding-left:22px}
.legal-body li{padding-bottom:5px}
.legal-body a{overflow-wrap:anywhere}
.legal-body .legal-draft{border-left:3px solid #f48e00;background:rgba(247,248,248,.7);padding:17px 21px;margin:0 0 28px;font-size:12px;line-height:1.8}
.legal-draft strong{display:block;margin-bottom:5px}
.legal-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.legal-columns h3{margin-top:0}
.legal-body .legal-reference{font-size:11px;color:var(--muted);margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.legal-body code{font-size:.92em;overflow-wrap:anywhere}
@media(max-width:1100px){.brand.brand-stacked{--brand-type:23px;--brand-sign:62px;gap:12px}.header nav{gap:20px}}
@media(max-width:980px){
 :root{--navh:92px}html{scroll-padding-top:114px}
 .header .menu-button{display:flex;gap:12px;align-items:center;justify-content:center;border:1px solid var(--line);padding:11px 14px;border-radius:3px;font-size:12px;flex-shrink:0;min-height:44px}
 .menu-button .menu-glyph{font-size:20px;line-height:1}
 .header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:14px var(--pad) 24px;flex-direction:column;align-items:stretch;gap:0}
 .header nav.open{display:flex}
 .header nav>a{font-size:15px;padding:14px 2px}
 .header nav .nav-cta{font-size:13px;padding:15px 18px;margin-top:10px;justify-content:space-between}
 .contact-block,.legal-panel{scroll-margin-top:114px}
}
@media(max-width:640px){
 :root{--navh:86px}html{scroll-padding-top:108px}
 .brand.brand-stacked{--brand-type:21px;--brand-sign:57px;gap:10px}
 .header-inner{gap:12px}
 .header .menu-button{width:44px;height:44px;padding:0;gap:0;min-width:44px}
 .menu-button .menu-text{display:none}
 .contact-block{margin-top:25px;padding-top:24px;scroll-margin-top:108px}
 .contact-block h3{font-size:28px}
 .contact-block p{font-size:15px}
 .contact-block .contact-note{font-size:11px}
 .contact-actions{gap:9px 20px}
 .footer .footer-top{display:flex;align-items:flex-start;gap:22px}
 .footer .footer-top p{font-size:20px;flex-basis:100%;max-width:none}
 .footer .back-top{font-size:11px;order:3}
 .footer .footer-bottom{display:flex;gap:18px;flex-direction:column;align-items:flex-start}
 .footer .footer-bottom p{margin:0}
 .footer-bottom>.footer-legal-links{font-size:12px;gap:10px 19px}
 .footer-bottom>.footer-version{max-width:none;margin:0}
 .legal-area{padding-block:48px}
 .legal-head{display:block}
 .legal-head h2{font-size:35px}
 .legal-head>p{margin-top:22px;max-width:none}
 .legal-columns{grid-template-columns:1fr;gap:24px}
 .legal-panel{scroll-margin-top:108px}
 .legal-panel>summary{font-size:21px;padding-block:21px}
 .legal-body .legal-draft{padding:15px 17px;font-size:12px}
}
@media(max-width:360px){.brand.brand-stacked{--brand-type:18px;--brand-sign:49px;gap:9px}.header-inner{gap:9px}}
@media print{
 .brand.brand-stacked{--brand-type:20pt;--brand-sign:53pt;gap:10pt}
 .contact-block .contact-actions,.copy-status,.footer-legal-links{display:none!important}
 .contact-block{border-top:1pt solid #888;break-inside:avoid}
 .contact-block .contact-email{font-size:17pt}
 .contact-block .contact-note{font-size:9pt}
 .legal-area{background:#fff!important;padding-block:22pt}
 .legal-head h2{font-size:24pt}
 .legal-body{max-width:none}
 .legal-body p,.legal-body li,.legal-body address{font-size:10pt}
 .legal-body .legal-draft{font-size:9pt;background:#fff;border:1pt solid #888}
 .legal-columns{grid-template-columns:1fr 1fr;gap:22pt}
}
