:root { --savoy-red:#ed1c2e; --ink:#171717; --soft:#f7f6f3; --line:#e2dfda; --max:1180px; }
.brand span { background:center/contain no-repeat url("assets/legacy/image/main/logo.gif"); }
.sub-main { min-height:70vh; }
.sub-hero { padding:76px 24px 64px; background:linear-gradient(135deg,#f7f6f3 0%,#fff 64%); border-bottom:1px solid var(--line); }
.sub-hero-inner,.content-wrap { width:min(calc(100% - 48px),var(--max)); margin:auto; }
.eyebrow { margin:0 0 14px; color:var(--savoy-red); font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.sub-hero h1 { margin:0; font-size:clamp(42px,6vw,76px); line-height:1; letter-spacing:-.045em; }
.subnav { border-bottom:1px solid var(--line); background:#fff; }
.subnav-inner { display:flex; width:min(calc(100% - 48px),var(--max)); margin:auto; overflow-x:auto; scrollbar-width:none; }
.subnav-inner::-webkit-scrollbar { display:none; }
.subnav a { flex:0 0 auto; padding:19px 22px 17px; color:#666; border-bottom:2px solid transparent; font-size:14px; font-weight:700; }
.subnav a:hover,.subnav a[aria-current="page"] { color:var(--savoy-red); border-color:var(--savoy-red); }
.content-wrap { padding:76px 0 110px; }
.content-section { padding:0 0 70px; }
.content-section + .content-section { padding-top:70px; border-top:1px solid var(--line); }
.content-section h2 { margin:0 0 26px; font-size:clamp(28px,4vw,44px); letter-spacing:-.035em; }
.content-section h3 { margin:34px 0 16px; font-size:22px; }
.prose { color:#4d4d4d; font-size:16px; line-height:2; }
.prose p { margin:0 0 20px; }
.prose strong { color:#222; }
.intro-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(220px,.5fr); gap:64px; align-items:start; }
.intro-portrait { width:100%; max-width:280px; margin-left:auto; }
.legacy-img { display:block; max-width:100%; height:auto; margin:28px auto; }
.legacy-img-left { margin-right:0; margin-left:0; }
.image-grid + h2,.legacy-img + h2 { margin-top:70px; }
.image-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.image-card { overflow:hidden; background:#eee; }
.image-card img,.image-card video { display:block; width:100%; height:100%; min-height:260px; object-fit:cover; }
.image-card video { background:#111; }
.contact-card { display:grid; gap:12px; margin-top:28px; padding:30px; background:var(--soft); border-left:4px solid var(--savoy-red); }
.contact-card p { margin:0; line-height:1.7; }
.contact-card a { color:var(--savoy-red); font-weight:700; }
.value-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.value-card { padding:30px; background:var(--soft); border-top:3px solid var(--savoy-red); }
.value-card h3 { margin:0 0 14px; }
.value-card p { margin:0; color:#5f5f5f; line-height:1.85; }
.org-chart { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; position:relative; padding-top:92px; }
.org-root { position:absolute; top:0; left:50%; min-width:190px; padding:20px; color:#fff; background:var(--savoy-red); text-align:center; font-size:24px; font-weight:800; transform:translateX(-50%); }
.org-root::after { position:absolute; top:100%; left:50%; width:1px; height:42px; background:#d0ccc6; content:""; }
.org-branch { min-height:210px; padding:26px; background:#fff; border:1px solid var(--line); box-shadow:0 14px 40px rgba(0,0,0,.07); }
.org-branch h3 { margin:0 0 18px; color:var(--savoy-red); }
.org-branch ul { margin:0; padding:0; list-style:none; color:#555; line-height:1.9; }
.timeline { display:grid; grid-template-columns:repeat(5,1fr); margin:44px 0 36px; }
.timeline-step { position:relative; padding:28px 18px 24px; border-top:3px solid #222; }
.timeline-step::before { position:absolute; top:-8px; left:18px; width:13px; height:13px; background:var(--savoy-red); border-radius:50%; content:""; }
.timeline-step time { display:block; margin-bottom:13px; color:var(--savoy-red); font-weight:800; }
.timeline-step strong { font-size:17px; }
.download { display:inline-flex; align-items:center; gap:12px; margin-top:22px; padding:16px 22px; color:#fff; background:#222; font-weight:800; transition:background .2s; }
.download:hover,.download:focus-visible { background:var(--savoy-red); }
.pnd-tabs { display:flex; gap:8px; margin-bottom:44px; overflow-x:auto; }
.pnd-tabs a { flex:0 0 auto; padding:12px 18px; color:#555; background:#efefed; font-weight:700; }
.pnd-tabs a[aria-current="page"],.pnd-tabs a:hover { color:#fff; background:var(--savoy-red); }
.article { max-width:880px; }
.article p { margin:0 0 24px; color:#4d4d4d; font-size:16px; line-height:2; }
.article-lead { padding:30px; background:var(--soft); border-left:4px solid var(--savoy-red); font-size:18px!important; }
.field-list { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:28px; }
.field-list article { padding:25px; background:var(--soft); }
.field-list h3 { margin:0 0 10px; color:var(--savoy-red); }
.field-list p { margin:0; color:#555; line-height:1.8; }
.site-header .primary-nav a[aria-current="page"]::after { transform:scaleX(1); }
@media (max-width:900px) {
  .intro-grid { grid-template-columns:1fr; gap:30px; }
  .intro-portrait { margin:0; }
  .value-grid,.org-chart { grid-template-columns:1fr; }
  .org-chart { padding-top:112px; }
  .timeline { grid-template-columns:1fr; margin-top:30px; }
  .timeline-step { border-top:0; border-left:3px solid #222; }
  .timeline-step::before { top:34px; left:-8px; }
}
@media (max-width:680px) {
  .sub-hero { padding:50px 0 42px; }
  .sub-hero-inner,.content-wrap { width:calc(100% - 36px); }
  .sub-hero h1 { font-size:42px; }
  .subnav-inner { width:100%; padding:0 9px; }
  .subnav a { padding:16px 12px 14px; font-size:13px; }
  .content-wrap { padding:54px 0 76px; }
  .content-section { padding-bottom:50px; }
  .content-section + .content-section { padding-top:50px; }
  .image-grid,.field-list { grid-template-columns:1fr; }
  .image-card img,.image-card video { min-height:0; }
  .value-card,.org-branch,.contact-card { padding:22px; }
}
