/* Shared company chrome and section pages; product and article content retain their own behavior. */
.company-page { --blue:#1765d9; --muted:#596575; --line:#e5e9ef; background:#fff; }
.company-page .site-header { position:sticky; top:0; z-index:10; max-width:none; min-height:76px; padding:12px max(32px, calc((100% - 1200px) / 2)); background:rgb(255 255 255 / .9); backdrop-filter:blur(16px); border-bottom:1px solid rgb(23 30 41 / .06); }
.company-page .site-header nav { gap:20px; }
.company-page .site-header nav a { color:var(--muted); }
.company-page .site-header nav a[aria-current] { color:var(--blue); text-decoration:none; }
.company-page .site-header a:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.company-page .dx-footer { margin-top:0; padding:0; background:#f4f6f9; border-top:1px solid var(--line); }
.company-page .dx-footer__in { width:min(1200px, calc(100% - 96px)); max-width:none; margin:auto; padding:64px 0 40px; }
.company-page .dx-footer__brand { width:fit-content; color:#171e29; text-decoration:none; }
.company-page .site-footer-nav { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:40px; padding-block:40px; }
.site-footer-nav section { min-width:0; }
.site-footer-nav h2 { font-size:1rem; line-height:1.5; font-weight:650; margin:0 0 16px; }
.site-footer-nav ul { display:grid; gap:0; }
.site-footer-nav a { display:flex; align-items:center; width:fit-content; min-height:44px; font-size:.9375rem; line-height:1.65; color:var(--muted); text-decoration:none; }
.company-page .dx-footer__op { display:flex; flex-wrap:wrap; gap:8px 20px; border-top:1px solid #dde3eb; padding-top:28px; font-size:.8125rem; line-height:1.8; color:var(--muted); }
.company-page .dx-footer__links { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:20px; }
.company-page .dx-footer__links a { display:inline-flex; align-items:center; min-height:44px; font-size:.875rem; color:var(--muted); }
.company-page .dx-footer__copy { margin-top:16px; font-size:.8125rem; color:var(--muted); }
.section-page main [id] { scroll-margin-top:calc(84px + 4rem); }
.section-page :is(h1,h2,h3) { text-wrap:balance; letter-spacing:-.04em; }
.section-page :is(p,a,li) { word-break:keep-all; overflow-wrap:anywhere; }
.section-page :is(a,button,input,summary):focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
.section-page :is(.portfolio-section,.reading-layout,.guide-section,.about-article,.site-map-page) { width:min(1200px, calc(100% - 96px)); max-width:none; margin-inline:auto; padding:0 0 112px; }
.section-page .portfolio-section { background:transparent; }
.section-page .page-intro { padding:48px 0 64px; }
.section-page .page-intro .breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin-bottom:48px; color:var(--muted); font-size:.875rem; }
.breadcrumbs a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; }
.breadcrumbs > * + *::before { content:"/"; margin-right:12px; color:#a0a9b5; }
.breadcrumbs span[aria-current] { line-height:1.8; }
.page-kicker { color:var(--muted); font-size:1rem; line-height:1.7; font-weight:650; }
.section-page .page-intro h1 { font-size:clamp(2.5rem, 4.8vw, 4rem); line-height:1.22; letter-spacing:-.05em; font-weight:750; margin:20px 0 24px; }
.section-page .page-intro > p:not(.page-kicker) { max-width:720px; font-size:1.1875rem; line-height:1.85; color:var(--muted); margin:0; }
.page-shortcuts { display:flex; flex-wrap:wrap; gap:8px; margin-top:32px; }
.page-shortcuts a { display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:8px 18px; border-radius:14px; background:#f1f4f8; color:#334257; font-size:.9375rem; font-weight:600; text-decoration:none; }
.section-page .featured-services { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 40px; padding:0; border:0; }
.section-page .featured-service { padding:12px 18px; background:#f4f6f9; border:0; border-radius:18px; min-height:60px; }
.section-page .featured-service img { border-radius:10px; }
.section-page .explorer { background:#f4f6f9; border:0; padding:28px; border-radius:24px; margin-bottom:24px; }
.section-page .filters { gap:8px; }
.section-page .filters button { background:#fff; border:1px solid transparent; border-radius:12px; min-height:44px; }
.section-page .filters button[aria-pressed=true] { color:#fff; background:var(--blue); }
.section-page .filters button[aria-pressed=true] span { color:#fff; }
.section-page .search { background:#fff; border:1px solid #cbd3df; border-radius:14px; }
.section-page .portfolio-note { margin-block:24px 32px; color:var(--muted); font-size:.9375rem; line-height:1.8; }
.section-page .project-grid { gap:24px; }
.section-page .project { border:1px solid #e7ebf1; border-radius:24px; background:#fff; box-shadow:none; }
.section-page .project article { padding:28px; }
.section-page .project-icon { border-radius:18px; }
.section-page .project h3 { font-size:1.25rem; line-height:1.5; }
.section-page .project-description { font-size:1rem; line-height:1.8; }
.section-page .project-platform { color:var(--muted); }
.section-page .load-more { min-height:52px; border-radius:16px; }
.section-page .reading-controls { border-block:1px solid var(--line); margin-bottom:20px; padding-block:8px; }
.section-page .reading-controls summary { padding-block:16px; }
.section-page .reading-controls input { max-width:640px; border-color:#9eabbc; border-radius:14px; }
.section-page .reading-filters button,.section-page .reading-related button { border-radius:12px; }
.section-page .reading-count { margin-bottom:40px; }
.section-page .reading-group { padding-top:36px; margin-bottom:80px; }
.section-page .reading-group > h2 { font-size:2rem; margin-bottom:32px; line-height:1.4; }
.section-page .reading-grid { gap:44px 32px; }
.section-page .reading-grid > li { border-bottom:0; padding:0; }
.section-page .reading-image img { height:240px; border-radius:20px; background:#f4f6f9; }
.section-page .reading-grid h3 { font-size:1.3125rem; line-height:1.5; margin-top:12px; }
.section-page .reading-series { border:0; padding:32px; border-radius:24px; background:#f4f6f9; }
.section-page .guide-grid { gap:24px; padding:0; }
.section-page .guide-grid > li { min-width:0; }
.section-page .guide-grid a { display:flex; flex-direction:column; min-height:240px; padding:32px; border:0; border-radius:24px; background:#f4f6f9; text-decoration:none; }
.section-page .guide-grid h3 { font-size:1.375rem; line-height:1.5; }
.section-page .guide-grid p { line-height:1.8; }
.section-page .guide-grid time { margin-top:auto; padding-top:20px; font-size:.875rem; }
.section-page .page-next { padding-top:88px; }
.section-page .page-next h2 { font-size:2rem; line-height:1.4; }
.section-page .tool-links { gap:12px 28px; }
.section-page .tool-links a { min-height:48px; text-decoration:none; }
.section-page .guide-article { max-width:840px; padding:56px 32px 112px; }
.section-page .guide-article .breadcrumbs { margin-bottom:40px; line-height:1.8; }
.section-page .guide-article h1 { font-size:clamp(2rem,4vw,3rem); line-height:1.35; letter-spacing:-.045em; }
.section-page .guide-article .answer { border:0; background:#f4f6f9; border-radius:24px; padding:28px; margin-block:32px 20px; }
.section-page .guide-article section { margin-top:56px; }
.section-page .guide-article h2 { font-size:1.625rem; line-height:1.5; }
.section-page .guide-article .guide-body p { font-size:1.0625rem; line-height:1.95; }
.section-page .about-article > section { max-width:800px; margin:0 auto 56px; }
.section-page .about-article > section h2 { font-size:2rem; line-height:1.4; }
.section-page .about-article > section p { font-size:1.125rem; line-height:1.9; }
.about-paths { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-block:64px 112px; }
.about-paths a { display:grid; grid-template-columns:1fr auto; gap:12px; padding:36px; background:#f4f6f9; border-radius:28px; text-decoration:none; color:inherit; }
.about-paths strong { font-size:1.5rem; }
.about-paths a > span:first-of-type { grid-column:1; color:var(--muted); line-height:1.8; }
.about-paths a > span:last-child { grid-column:2; grid-row:1 / 3; align-self:center; color:var(--blue); }
.about-standards { max-width:800px; margin-inline:auto; }
.section-page .about-standards > h2 { font-size:2rem; }
.section-page .about-standards > p { font-size:1.125rem; color:var(--muted); }
.section-page .about-standards section { margin-top:56px; padding-top:36px; border-top:1px solid var(--line); }
.section-page .about-standards section h2 { font-size:1.375rem; }
.site-map-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.site-map-group { border-radius:28px; background:#f4f6f9; padding:36px; min-width:0; }
.site-map-group h2,.site-map-guides h2,.site-map-tools h2 { font-size:1.5rem; line-height:1.5; margin-bottom:20px; }
.site-map-group a { display:flex; align-items:center; min-height:48px; line-height:1.7; text-decoration:none; color:#334257; }
.site-map-guides,.site-map-tools { padding-top:72px; }
.site-map-guides > ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; }
.site-map-guides a { display:flex; align-items:center; min-height:68px; padding-block:16px; border-bottom:1px solid var(--line); line-height:1.8; text-decoration:none; }
@media (hover:hover) and (pointer:fine) {
  .site-footer-nav a:hover,.site-map-group a:hover,.site-map-guides a:hover,.page-shortcuts a:hover { color:var(--blue); }
  .section-page .project:hover { background:#f9fafc; }
  .about-paths a:hover strong { color:var(--blue); }
}
@media(max-width:1000px) {
  .site-map-group { padding:28px; }
  .section-page .project article { padding:24px; }
}
@media(max-width:760px) {
  .company-page .site-header { padding:10px 20px; min-height:68px; gap:8px; flex-wrap:wrap; }
  .company-page .site-header nav { gap:2px; flex-wrap:wrap; }
  .company-page .site-header .wordmark { font-size:1.3125rem; }
  .company-page .dx-footer__in { width:calc(100% - 48px); padding-block:48px 28px; }
  .company-page .site-footer-nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; padding-block:32px; }
  .company-page .site-footer-nav section:last-child { grid-column:1 / -1; }
  .company-page .site-footer-nav section:last-child ul { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; }
  .section-page :is(.portfolio-section,.reading-layout,.guide-section,.about-article,.site-map-page) { width:calc(100% - 48px); padding-bottom:72px; }
  .section-page .page-intro { padding-block:24px 48px; }
  .section-page .page-intro .breadcrumbs { margin-bottom:32px; }
  .section-page .page-intro h1 { font-size:clamp(2.25rem,7vw,3.25rem); margin-block:16px 20px; }
  .section-page .page-intro > p:not(.page-kicker) { font-size:1.0625rem; }
  .page-kicker { font-size:.9375rem; }
  .section-page .explorer { padding:20px; }
  .section-page .featured-services { gap:8px; margin-bottom:28px; }
  .section-page .featured-service { padding:10px 14px; }
  .section-page .project-grid { gap:16px; }
  .section-page .project article { padding:16px; }
  .section-page .project h3 { font-size:1.125rem; line-height:1.4; }
  .section-page .project-description { font-size:.9375rem; line-height:1.5; }
  .section-page .reading-grid { gap:36px 24px; }
  .section-page .reading-image img { height:240px; }
  .section-page .reading-group { margin-bottom:56px; }
  .section-page .reading-group > h2 { font-size:1.75rem; }
  .section-page .guide-grid a { padding:28px; min-height:220px; }
  .section-page .page-next { padding-top:64px; }
  .section-page .guide-article { padding:32px 24px 72px; }
  .section-page .guide-article .answer { padding:24px; border-radius:20px; }
  .section-page .guide-article .breadcrumbs { margin-bottom:28px; }
  .section-page .about-article > section h2 { font-size:1.625rem; }
  .section-page .about-article > section p { font-size:1.0625rem; }
  .about-paths { grid-template-columns:1fr; gap:16px; margin-block:40px 72px; }
  .about-paths a { padding:28px; border-radius:24px; }
  .about-paths strong { font-size:1.25rem; }
  .site-map-groups { grid-template-columns:1fr; gap:16px; }
  .site-map-group { border-radius:24px; padding:28px; }
  .site-map-guides > ul { grid-template-columns:1fr; }
}
@media(max-width:360px) {
  .company-page .site-header { padding-inline:16px; }
  .company-page .site-header .wordmark { font-size:1.1875rem; gap:5px; }
  .company-page .site-header nav a { font-size:.8125rem; padding-inline:4px; }
  .company-page .dx-footer__in,.section-page :is(.portfolio-section,.reading-layout,.guide-section,.about-article,.site-map-page) { width:calc(100% - 40px); }
  .section-page .page-intro h1 { font-size:2rem; }
  .company-page .site-footer-nav { column-gap:20px; }
}
@media(max-width:600px) {
  .section-page .project { border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
  .section-page .project article { padding:16px 40px 16px 0; }
  .section-page .project h3 { font-size:1.0625rem; }
  .section-page .project-description { font-size:.875rem; line-height:1.5; }
}
@media(prefers-reduced-motion:reduce) {
  .company-page * { scroll-behavior:auto!important; }
}
