/* A's paper-and-graphite system. B deliberately keeps its separate design. */
body.analog-design { --paper:#fafafa; --fog:#f1f2f1; --line:#dedfde; --muted:#616761; background:#fafafa; }
.analog-design .section-soft { background:#f1f2f1; }
.analog-design .section-dark { color:var(--ink); background:#f1f2f1; }
.analog-design .section-dark .light > p,
.analog-design .section-dark .light .eyebrow,
.analog-design .section-dark .problem-card p,
.analog-design .section-dark .problem-card > span { color:var(--muted); }
.analog-design .problem-card { background:transparent; border:0; border-top:1px solid #cfd3cf; }
.analog-design .problem-card::before,
.analog-design .mission-panel::after,
.analog-design .contact-panel::before { display:none; }
.analog-design .eyebrow,.analog-design .section-kicker,.analog-design .cc-eyebrow { font-size:.875rem; }
.analog-design .section-heading { position:relative; display:grid; grid-template-columns:1fr .8fr; align-items:end; gap:48px; min-height:0; padding-right:0; margin-bottom:48px; }
.analog-design .section-heading > p { max-width:660px; margin:24px 0 0; font-size:1rem; line-height:2; }
.analog-design .section-heading h2 { font-size:clamp(1.875rem,3.4vw,2.875rem); line-height:1.55; letter-spacing:-.035em; }
.analog-design .story-grid { grid-template-columns:.35fr 1.65fr; gap:64px; }
.analog-design .story-main h2 { font-size:clamp(1.875rem,3.4vw,2.875rem); line-height:1.55; letter-spacing:-.035em; }
.analog-design .mission-panel,.analog-design .company-philosophy { padding:0; border:0; background:transparent; align-items:center; }
.analog-design .mission-panel h2,.analog-design .company-philosophy h2,.analog-design .detail-intro h2 { font-size:clamp(1.875rem,3vw,2.75rem); line-height:1.6; letter-spacing:-.03em; }
.analog-design .mission-panel p,.analog-design .company-philosophy p,.analog-design .detail-intro-copy > p,.analog-design .service-card p { font-size:1rem; }
.analog-design .service-card,.analog-design .type-card { border:0; border-top:1px solid var(--line); background:transparent; padding:32px 0; }
.analog-design .service-card::before,.analog-design .service-card::after { display:none; }
.analog-design .service-card:hover { background:transparent; border-color:#7b817b; }
.analog-design .service-card .service-icon { position:relative; width:76px; height:76px; margin:26px 0 20px; border:0; background:none; padding:0; }
.analog-design .service-icon::after { display:none; }
.analog-design .editorial-service-photo,.analog-design .editorial-company-photo { margin:0 0 40px; overflow:hidden; }
.analog-design .editorial-service-photo img { display:block; width:100%; aspect-ratio:3/1; object-fit:cover; }
.analog-design .editorial-company-photo img { display:block; width:100%; aspect-ratio:2.4/1; object-fit:cover; object-position:50% 48%; }
.analog-design .service-card h3 { font-size:1.5rem; line-height:1.65; }
.analog-design .service-card .num,.analog-design .type-label { font-size:.875rem; }
.analog-design .note-box { border:0; border-left:2px solid var(--line); background:transparent; font-size:.9375rem; }
.analog-design .lower-hero { background:#fafafa; padding-bottom:64px; }
.analog-design .lower-hero::before { display:none; }
.analog-design .lower-hero-grid { grid-template-columns:1.1fr 1fr; align-items:center; gap:52px; }
.analog-design .lower-hero h1 { font-size:clamp(2.125rem,4vw,3.5rem); line-height:1.5; letter-spacing:-.04em; }
.analog-design .lower-lead { font-size:1rem; }
.analog-design .lower-visual { border:0; background:transparent; }
.analog-design .lower-image { height:auto; aspect-ratio:3/2; margin:0; min-height:0; overflow:visible; }
.analog-design .lower-image img { display:block; object-fit:cover; height:100%; width:100%; }
.analog-design .page-nav { background:#fafafa; }
.analog-design .page-nav .shell:has(> a:nth-child(5)) { grid-template-columns:repeat(5,minmax(0,1fr)); }
.analog-design .contact-panel { color:var(--ink); background:#f1f2f1; border-top:1px solid var(--line); }
.analog-design .contact-copy p { color:var(--muted); font-size:1rem; }
.analog-design .contact-inner { align-items:center; }
.analog-design .contact-inner h2 { font-size:clamp(2rem,3.6vw,3rem); line-height:1.55; letter-spacing:-.035em; }
.analog-design .contact-button { font-size:.9375rem; }
.analog-design .cc-card { border:0; background:transparent; overflow:visible; }
.analog-design .cc-card-image { aspect-ratio:3/2; background:transparent; }
.analog-design .cc-card-image img { object-fit:cover; }
.analog-design .cc-card-copy { padding:24px 0 0; }
.analog-design .cc-card-copy>p:not(.cc-meta) { font-size:1rem; }
.analog-design .cc-meta { font-size:.875rem!important; }
/* Editorial pages need the same fixed-header clearance as the existing lower heroes. */
.analog-design main:has(> .cc-shell > .cc-breadcrumb) { padding-top:var(--header-h); }
.analog-design .cc-card:hover .cc-card-link { border-color:#7b817b; }
.analog-design .cc-page-head { display:block; padding-block:60px; }
.analog-design .cc-page-head:has(.editorial-page-photo) { display:grid; grid-template-columns:1.2fr 1fr; column-gap:48px; align-items:center; }
.analog-design .cc-page-head > p,.analog-design .cc-page-head > h1 { grid-column:1; }
.analog-design .cc-page-head > p:not(.cc-eyebrow) { max-width:660px; font-size:1rem; line-height:2; }
.analog-design .cc-page-head > h1 { font-size:clamp(2rem,3.5vw,3.125rem); line-height:1.65; }
.analog-design .editorial-page-photo { grid-column:2; grid-row:1/4; width:100%; height:300px; object-fit:cover; }
.analog-design .cc-cover { max-height:410px; aspect-ratio:1.9; object-fit:cover; background:transparent; }
.analog-design .cc-case-entry>div { flex:1; }
.analog-design .cc-review-note { background:transparent; border:0; border-left:2px solid #b9beb9; padding:4px 0 4px 18px; color:#565d56; font-size:.875rem; }
.analog-design .cc-toc { background:#f1f2f1; }
.analog-design .cc-next>a { border:0; border-top:1px solid var(--line); background:transparent; padding-left:0; }
.analog-design .cc-next a:hover { background:#f1f2f1; }
.analog-design .cc-summary { background:transparent; padding:0 0 32px; border:0; border-bottom:1px solid var(--line); }
.analog-design .cc-table-wrap { border:0; }
.analog-design .cc-table-wrap thead th { background:#f1f2f1; }
.analog-design .cc-story-grid span { color:#626b56; }
/* Blend only the homepage illustrations into the paper surface; keep photo edges crisp. */
.analog-design .hero-human .hero-slides { mix-blend-mode:multiply; }
.analog-design .hero-human .hero-slide img {
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(0deg,transparent,#000 5%,#000 97%,transparent);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(0deg,transparent,#000 5%,#000 97%,transparent);
  mask-composite:intersect;
}
@media (max-width:1050px) {
  .analog-design .story-grid { grid-template-columns:1fr; gap:28px; }
  .analog-design .mission-panel,.analog-design .detail-intro,.analog-design .company-philosophy { gap:44px; }
}
@media (max-width:760px) {
  .analog-design .section-heading { display:block; min-height:0; padding-right:0; margin-bottom:36px; }
  .analog-design .section-heading h2 { font-size:1.875rem; }
  .analog-design .mission-panel,.analog-design .company-philosophy { display:block; }
  .analog-design .lower-hero-grid { display:block; }
  .analog-design .lower-image { width:100%; height:260px; margin-top:32px; }
  .analog-design .cc-page-head,.analog-design .cc-page-head:has(.editorial-page-photo) { display:block; padding-block:36px; }
  .analog-design .editorial-page-photo { height:240px; margin-top:28px; }
  .analog-design .editorial-service-photo img,.analog-design .editorial-company-photo img { aspect-ratio:1.6; }
}
