/* Shared group navigation and company pages; existing media and motion styles stay intact. */
.site-header { grid-template-columns: auto 1fr auto; gap: 22px; }
.site-header .brand { display:flex; align-items:center; gap:10px; white-space:nowrap; }
.site-header .brand img { display:block; width:59px; height:28px; object-fit:contain; }
.site-header .brand span { font-size:15px; }
.site-header .header-product { display:none; }
.site-footer nav { min-width:0; }
.site-footer nav a { max-width:100%; overflow-wrap:anywhere; }
.site-header .desktop-nav { gap:clamp(16px,2vw,30px); }
.group-nav { position:relative; }
.group-nav-toggle { padding:12px 0; border:0; background:none; color:inherit; font:inherit; letter-spacing:inherit; cursor:pointer; }
.group-nav-toggle::after { content:"⌄"; padding-left:7px; }
.group-menu { position:absolute; top:100%; left:-20px; min-width:235px; padding:12px 20px; background:var(--paper); border:1px solid var(--line-soft); box-shadow:0 16px 30px #0001; }
.group-menu a { display:block; line-height:1.6; }
.group-menu[hidden], .company-panel[hidden] { display:none; }
.group-home { padding:90px var(--pad); border-top:1px solid var(--line-soft); }
.group-home h2, .company-section h2 { font-size:clamp(30px,4vw,54px); line-height:1.2; letter-spacing:-.045em; margin:24px 0; }
.group-cards { display:grid; grid-template-columns:1fr 1fr; gap:36px; margin-top:38px; }
.group-card { border-top:1px solid var(--ink); padding:25px 0 0; }
.group-card > span, .company-eyebrow { color:var(--quiet); font:700 11px/1.6 var(--mono); letter-spacing:.1em; }
.group-card h3 { font-size:25px; line-height:1.4; margin:18px 0; }
.group-card p { color:var(--quiet); line-height:1.9; max-width:52ch; margin-bottom:25px; }
.company-page .site-header { background:rgba(243,243,240,.96); }
.company-hero { padding:150px var(--pad) 65px; }
.company-hero-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:70px; align-items:end; }
.company-hero h1 { font-size:clamp(43px,6vw,82px); line-height:1.12; letter-spacing:-.055em; margin:25px 0; max-width:14ch; }
.company-hero p { line-height:1.9; }
.company-hero .company-lead { font-size:17px; color:var(--quiet); max-width:54ch; }
.company-scope { border-top:1px solid var(--ink); padding-top:24px; }
.company-scope h2 { font-size:23px; line-height:1.6; margin-bottom:15px; }
.company-scope p { font-size:14px; color:var(--quiet); }
.company-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.company-section { padding:70px var(--pad); border-top:1px solid var(--line-soft); }
.company-section > p { max-width:80ch; color:var(--quiet); line-height:1.9; }
.company-products { background:#0a0a0a; color:var(--paper); }
.company-products > p { color:#a3a39b; }
.company-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:32px 0; }
.company-tabs button { border:1px solid #55554f; background:transparent; color:#c9c9c1; padding:13px 18px; font-family:inherit; font-weight:600; font-size:13px; line-height:1.4; cursor:pointer; }
.company-tabs button[aria-selected="true"] { background:var(--paper); color:var(--ink); border-color:var(--paper); }
.company-tabs button:focus-visible, .company-panel:focus-visible { outline:2px solid #e8bf74; outline-offset:4px; }
.company-panel { display:grid; grid-template-columns:1fr 1fr; gap:55px; padding:22px 0; }
.company-panel h3 { font-size:clamp(29px,3vw,43px); line-height:1.3; margin-bottom:25px; }
.company-panel h4 { color:#aaa99f; font:600 11px/1.5 var(--mono); letter-spacing:.08em; margin:24px 0 9px; }
.company-panel p { line-height:1.85; color:#dddcd2; font-size:15px; }
.company-panel details { margin:25px 0; border-top:1px solid #45453f; border-bottom:1px solid #45453f; padding:18px 0; }
.company-panel summary { cursor:pointer; font-size:14px; }
.company-panel details p { margin-top:18px; }
.company-panel aside { align-self:center; border:1px solid #45453f; padding:30px; }
.company-panel aside strong { font-size:clamp(40px,6vw,76px); font-weight:400; color:#dddcd2; }
.company-panel aside p { margin:20px 0; color:#aaa99f; }
.company-panel figure { margin:0; align-self:center; min-width:0; }
.company-panel video { width:100%; aspect-ratio:16/9; object-fit:contain; display:block; background:#000; }
.company-panel figcaption { font-size:11px; line-height:1.7; color:#aaa99f; padding:14px 0; }
.company-flow { display:grid; grid-template-columns:repeat(3,1fr); list-style:none; padding:0; gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); margin:32px 0 20px; }
.company-flow li { background:var(--paper); padding:25px; min-height:125px; }
.company-flow b { display:block; font:600 11px/1.7 var(--mono); color:var(--quiet); margin-bottom:15px; }
.company-flow span { font-size:18px; line-height:1.5; }
.company-services { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:35px; }
.company-services article { border-top:1px solid var(--ink); padding-top:20px; }
.company-services h3 { font-size:20px; line-height:1.5; margin-bottom:16px; }
.company-services p { font-size:14px; line-height:1.9; color:var(--quiet); }
.company-contact { display:grid; grid-template-columns:1.4fr 1fr; gap:50px; align-items:center; }
.company-contact a { overflow-wrap:anywhere; }
.company-contact address { font-style:normal; display:grid; gap:16px; font-size:20px; line-height:1.7; }
.company-contact .contact-qr { width:130px; height:130px; object-fit:contain; }
.company-contact figure { margin:0; display:flex; gap:25px; align-items:center; font-size:13px; }
.company-page .site-footer { margin:0; }
@media(max-width:1150px) {
 .site-header { grid-template-columns:1fr auto; } .site-header .desktop-nav { display:none; } .site-header .menu-toggle { display:block; }
}
@media(max-width:850px) {
 .company-hero-grid { grid-template-columns:1fr; gap:35px; } .company-hero { padding-top:120px; }
 .company-panel { gap:30px; } .company-services { grid-template-columns:1fr 1fr; }
 .company-contact { grid-template-columns:1fr; }
}
@media(max-width:600px) {
 .site-header { gap:10px; } .site-header .header-actions > .button { display:none; } .site-header .brand span { font-size:14px; }
 .group-cards, .company-panel, .company-services { grid-template-columns:1fr; }
 .group-home, .company-section { padding-top:48px; padding-bottom:48px; } .company-hero { padding-bottom:42px; }
 .group-cards { gap:35px; } .company-flow { grid-template-columns:1fr 1fr; }
 .company-tabs { gap:7px; } .company-tabs button { padding:12px; font-size:12px; }
 .company-panel { padding-top:10px; } .company-panel aside { padding:22px; }
 .company-contact address { font-size:17px; } .company-contact figure { align-items:flex-start; }
 .mobile-menu a { padding:12px 0; font-size:17px; }
}
@media(prefers-reduced-motion:reduce) { .company-page *, .group-menu { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }

/* Group membership uses real links only for available company pages. */
.group-menu { width:560px; max-width:calc(100vw - 48px); left:50%; transform:translateX(-50%); padding:22px; }
.group-member-list { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.member-region { min-width:0; }
.member-region h3 { font:700 11px/1.6 var(--mono); letter-spacing:.06em; margin:0 0 12px; color:var(--quiet); }
.member-region ul { list-style:none; margin:0; padding:0; }
.group-member { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 10px; padding:9px 0; font-size:13px; line-height:1.7; letter-spacing:0; text-transform:none; }
.group-member > span { overflow-wrap:anywhere; }
.member-status { display:inline-block; flex-shrink:0; border:1px solid currentColor; padding:1px 6px; font-size:10px; line-height:1.6; font-weight:400; color:var(--quiet); }
.group-menu .group-member { display:flex; padding:8px 0; }
.group-home > .group-member-list { margin-top:34px; padding:30px 0; border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); }
.group-home > .group-member-list .group-member { font-size:16px; }
.group-home > p { line-height:1.9; color:var(--quiet); }
.footer-members { grid-column:1/-1; border-top:1px solid #ffffff24; padding-top:25px; }
.footer-members .member-region h3 { color:#a7a79f; }
.footer-members .group-member { color:#a7a79f; font-size:12px; }
.footer-members a.group-member:hover { color:var(--paper); }
.footer-members .member-status { color:#a7a79f; }
.mobile-menu { max-height:calc(100dvh - 68px); overflow-y:auto; overscroll-behavior:contain; }
.mobile-menu .group-member-list { gap:20px; padding:18px 0; border-bottom:1px solid var(--line-soft); }
.mobile-menu .group-member { display:flex; padding:7px 0; border:0; font-weight:400; }
.mobile-menu .group-member > span { font:inherit; font-size:14px; color:var(--ink); }
@media(max-width:600px) {
  .group-member-list { grid-template-columns:1fr; gap:22px; }
  .mobile-menu .group-member-list { grid-template-columns:1fr 1fr; gap:18px; }
  .mobile-menu .group-member { gap:4px; }
  .mobile-menu .member-status { font-size:9px; padding-inline:4px; }
  .group-home > .group-member-list .group-member { font-size:15px; }
}
