/* Shared profile pages: responsive navigation and full organization image. */
html[data-site-theme] .profile-hero { background:#0757a5; color:#fff; min-height:0; padding:0; border:0; }
html[data-site-theme="dark"] .profile-hero { background:#0e3559; }
html[data-site-theme] .profile-hero::before,html[data-site-theme] .profile-hero::after { display:none; }
html[data-site-theme] .profile-hero .profile-hero-grid { display:block; min-height:0; padding-block:clamp(32px,5vw,56px); }
html[data-site-theme] .profile-hero h1 { max-width:100%; margin:0; color:#fff; font-size:clamp(28px,3.8vw,44px); line-height:1.25; font-weight:800; letter-spacing:-.025em; overflow-wrap:break-word; }
html[data-site-theme] .profile-section { padding-block:28px 64px; background:var(--theme-bg); }
html[data-site-theme] .profile-section::before,html[data-site-theme] .profile-section::after { display:none; }
html[data-site-theme] .profile-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
html[data-site-theme] .profile-nav { position:static; display:flex; flex-wrap:wrap; gap:6px; padding:6px; margin:0; width:fit-content; max-width:100%; background:var(--theme-panel); border:1px solid var(--theme-line); border-radius:10px; box-shadow:none; }
html[data-site-theme] .profile-nav a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px 22px; margin:0; color:var(--theme-muted); background:transparent; border:0; border-radius:6px; font-size:14px; font-weight:700; line-height:1.4; text-decoration:none; }
html[data-site-theme] .profile-nav a:hover { color:var(--theme-heading); background:var(--theme-bg); transform:none; }
html[data-site-theme] .profile-nav a.active { color:#fff; background:#0967c2; box-shadow:none; }
html[data-site-theme] .profile-nav a::before,html[data-site-theme] .profile-nav a::after { display:none; }
html[data-site-theme] .profile-content { min-width:0; display:grid; gap:24px; }
html[data-site-theme] .profile-content .profile-card { min-width:0; margin:0; padding:clamp(20px,3vw,36px); background:var(--theme-panel); color:var(--theme-text); border:1px solid var(--theme-line); border-radius:14px; box-shadow:none; overflow-wrap:break-word; }
html[data-site-theme] .profile-content .profile-card::before,html[data-site-theme] .profile-content .profile-card::after { display:none; }
html[data-site-theme] .profile-content :is(h2,h3) { color:var(--theme-heading); line-height:1.35; letter-spacing:-.015em; }
html[data-site-theme] .profile-content h2 { font-size:clamp(23px,2.5vw,30px); margin:0 0 18px; }
html[data-site-theme] .profile-content p { color:var(--theme-text); font-size:16px; line-height:1.85; margin:0 0 18px; }
html[data-site-theme] .profile-content .section-label { display:none; }
html[data-site-theme] .profile-content .mission-list>div { display:grid; grid-template-columns:32px minmax(0,1fr); gap:14px; padding:18px 0; background:transparent; border:0; border-bottom:1px solid var(--theme-line); border-radius:0; box-shadow:none; }
html[data-site-theme] .profile-content .mission-list>div:last-child { border-bottom:0; }
html[data-site-theme] .profile-content .mission-list strong { display:grid; place-items:center; width:32px; height:32px; min-height:0; padding:0; background:#0967c2; color:#fff; border-radius:6px; font-size:14px; }
html[data-site-theme] .profile-content .mission-list span { color:var(--theme-text); line-height:1.8; font-size:16px; }
html[data-site-theme] .profile-content .logo-meaning-grid>div,
html[data-site-theme] .profile-content .color-item { background:var(--theme-bg); color:var(--theme-text); border-color:var(--theme-line); box-shadow:none; }
html[data-site-theme] .profile-content .logo-meaning-grid :is(strong,span),html[data-site-theme] .profile-content .color-item strong { color:var(--theme-text); }
html[data-site-theme] .structure-view-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; flex-wrap:wrap; }
html[data-site-theme] .structure-view-head h2 { margin:0 0 6px; font-size:24px; }
html[data-site-theme] .structure-view-head p { margin:0; color:var(--theme-muted); font-size:14px; }
html[data-site-theme] .structure-open { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 16px; background:#0967c2; color:#fff; border-radius:7px; font-size:14px; font-weight:700; }
html[data-site-theme] .structure-open:hover { background:#0754a0; }
html[data-site-theme] .structure-profile-card .structure-image-wrap { display:block; width:100%; min-width:0; max-width:100%; height:auto; min-height:0; margin:0; padding:8px; background:#fff; border:1px solid var(--theme-line); border-radius:8px; overflow:visible; }
html[data-site-theme] .structure-image-wrap>a { display:block; width:100%; }
html[data-site-theme] .structure-profile-card .structure-image-wrap img { position:static; display:block; width:100% !important; min-width:0 !important; max-width:100% !important; height:auto !important; min-height:0; max-height:none; aspect-ratio:auto; object-fit:contain; object-position:center; margin:0; transform:none; border:0; border-radius:0; }
html[data-site-theme] .profile-content .structure-hint { margin:16px 0 0; font-size:13px; color:var(--theme-muted); line-height:1.7; }
.structure-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
html[data-site-theme] .profile-section a:focus-visible { outline:3px solid #409ce9; outline-offset:4px; }
@media(max-width:860px) {
  html[data-site-theme] .profile-hero .profile-hero-grid { padding-block:30px; }
  html[data-site-theme] .profile-hero h1 { font-size:30px; }
  html[data-site-theme] .profile-section { padding-block:20px 40px; }
  html[data-site-theme] .profile-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; gap:4px; }
  html[data-site-theme] .profile-nav a { padding:10px 4px; font-size:13px; }
  html[data-site-theme] .profile-content .profile-history-card,
  html[data-site-theme] .profile-content .logo-meaning,
  html[data-site-theme] .profile-content .logo-meaning-grid,
  html[data-site-theme] .profile-content .color-wrapper { grid-template-columns:minmax(0,1fr); }
  html[data-site-theme] .structure-view-head { gap:16px; }
  html[data-site-theme] .structure-view-head h2 { font-size:22px; }
  html[data-site-theme] .profile-content .structure-profile-card { padding:18px; }
}
