/* Product-specific presentation layered on the approved shell and interaction CSS. */
.masthead-note { max-width:520px; font-size:12px; }
.launcher nav a:not([aria-current]) .nav-dot { visibility:hidden; }
.feature-readiness { font-size:12px; line-height:1.65; color:#4f5b4a; background:#eeeee3; border-left:2px solid #a67a50; padding:10px 12px; margin:14px 0 4px; }
.detail-top { align-items:flex-start; }
.detail-top .technical-label { padding-top:10px; line-height:1.7; }
.detail-top .close-button { flex-shrink:0; }
.feature-facts dd { overflow-wrap:anywhere; }
.lf-search { padding-right:3.3cqw; }
.lf-welcome strong { font-size:2.75cqw; }
.lf-firm { margin-bottom:0; }
.lf-panel-title { font-size:1.22cqw; }
.status-badge[data-status="FOUNDATION"] { color:#3f5949; background:#e4ebe0; border-color:#abbda5; }
.status-badge[data-status="IN TESTING"], .status-badge[data-status="IN DEVELOPMENT"] { color:#6b4259; background:#f0e3eb; border-color:#c3a0b5; }
.status-badge[data-status="FOUNDATION"]::before { background:#507259; }
.status-badge[data-status="IN TESTING"]::before, .status-badge[data-status="IN DEVELOPMENT"]::before { background:#98637e; }
.hood-focus-bar { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px 14px; margin-bottom:25px; }
.hood-focus-bar label { grid-column:1/-1; font-size:11px; font-weight:650; color:#596452; }
.hood-focus-bar select { width:100%; min-width:0; max-width:100%; min-height:44px; font:inherit; font-size:14px; line-height:1.4; color:var(--ink); background:var(--paper-light); border:1px solid #aeb8a4; border-radius:4px; padding:9px 12px; }
.hood-focus-bar button { font-size:12px; border-color:#aeb8a4; }
.selected-technical { border:1px solid #c1c9b5; border-left:3px solid var(--copper); background:var(--paper-light); padding:22px 24px; border-radius:5px; margin-bottom:28px; }
.technical-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.technical-heading .eyebrow { font-size:9px; }
.selected-technical h2 { font-size:25px; margin:12px 0; }
.selected-technical>p { font-size:15px; line-height:1.75; max-width:920px; color:#48564f; }
.selected-technical dl { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:18px 0 0; }
.selected-technical dl>div { border-top:1px solid #d5dacb; padding-top:14px; }
.selected-technical dt { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#596452; margin-bottom:7px; }
.selected-technical dd { font-size:13px; line-height:1.65; margin:0; color:#455341; }
.relationship-ribbon { display:flex; flex-wrap:wrap; gap:7px 0; padding:14px 17px; border:1px solid #cbd1c1; border-radius:4px; margin-bottom:24px; background:#eaeadd; }
.relationship-ribbon span { display:flex; align-items:center; font-size:12px; color:#4d5a49; }
.relationship-ribbon span:not(:last-child)::after { content:'→'; padding:0 10px; color:#7f6549; }
.relationship-ribbon span:first-child { font-weight:700; }
.hood-intro h2 { font-size:29px; }
.hood-intro p:last-child { max-width:860px; line-height:1.7; }
.system-summary { border-top:1px solid #bbc5b0; margin-top:28px; padding:22px 0 0; font-size:14px; line-height:1.8; color:#4e5b46; }
.system-summary>p { max-width:970px; }
.system-summary details { margin-top:15px; font-size:12px; }
.system-summary summary { cursor:pointer; min-height:35px; font-weight:600; }
.system-summary details p { margin:5px 0 12px; }
.release-readiness { border:1px solid #cbb1c0; background:#fcf7f2; border-radius:7px; margin-top:28px; padding:24px; }
.release-heading { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:16px; }
.release-heading h2 { font-size:26px; margin-top:6px; }
.release-readiness>p { font-size:14px; line-height:1.75; color:#4f5e66; }
.release-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:20px 0; }
.release-grid>div { padding:13px 15px; border:1px solid #d9cbd1; background:#f2eae8; border-radius:4px; }
.release-grid .physical-gate { grid-column:1/-1; border-left:3px solid #995777; }
.release-grid dt { font-size:13px; font-weight:650; margin-bottom:6px; color:#394751; }
.release-grid dd { margin:0; font-size:11px; line-height:1.7; color:#724d62; }
.release-readiness .release-note { font-size:12px; }

/* Hollyhock's environment is intentionally distinct from the Coal Road shell. */
[data-product="hollyhock"] {
  --paper:#f5f0e8; --paper-light:#fffaf6; --ink:#263847;
  --copper:#a36b83; --copper-light:#e2b7c6; --navy:#152539;
  background:var(--paper); color:var(--ink);
}
[data-nav="hollyhock"][aria-current] { background:#3b3440!important; border-color:#786271!important; box-shadow:inset 2px 0 #e2b7c6!important; }
[data-product="hollyhock"] #product-title { font-family:Georgia,serif; font-weight:400; letter-spacing:-.03em; }
[data-product="hollyhock"] .title-period { display:none; }
[data-product="hollyhock"] .workspace-heading .eyebrow,
[data-product="hollyhock"] .hood-intro .eyebrow,
[data-product="hollyhock"] .release-heading .eyebrow { color:#76576b; }
[data-product="hollyhock"] .workspace-intro,
[data-product="hollyhock"] .toolbar-note,
[data-product="hollyhock"] .hood-intro p:last-child { color:#5c6671; }
[data-product="hollyhock"] .text-action { border-color:#c3acb7; color:#493f4c; }
[data-product="hollyhock"] .text-action>span { color:#8d5670; }
[data-product="hollyhock"] .text-action:hover { background:#ecdde4; }
[data-product="hollyhock"] .product-toolbar { border-color:#d2c5c9; }
[data-product="hollyhock"] .mode-tabs button span { color:#73566b; }
[data-product="hollyhock"] :focus-visible { outline-color:#965575; }
[data-product="hollyhock"] .hotspot:focus-visible { outline-color:#f7d6e3; }
[data-product="hollyhock"] .demo-caption { color:#666174; }
[data-product="hollyhock"] .demo-caption strong { color:#544150; }
[data-product="hollyhock"] .demo-light { background:#b77996; border-color:#9c6483; }
[data-product="hollyhock"] .interface-frame { background:#101e32; border-color:#596274; border-radius:11px; }
[data-product="hollyhock"] .screen-top { background:#233246; border-color:#475168; color:#d1cbd6; }
[data-product="hollyhock"] .fictional-label { color:#e6bacd; }
[data-product="hollyhock"] .screen-bottom { background:#223146; border-color:#475168; color:#c4cdd6; }
[data-product="hollyhock"] .detail-card { border-color:#d3bdc8; border-top-color:#aa7490; background:#fffaf6; border-radius:7px; }
[data-product="hollyhock"] .detail-card h2 { font-family:Georgia,serif; font-weight:400; font-size:26px; line-height:1.15; color:#36424e; }
[data-product="hollyhock"] .feature-description,
[data-product="hollyhock"] .feature-facts dd { color:#4b5965; }
[data-product="hollyhock"] .feature-facts dt,
[data-product="hollyhock"] .technical-label { color:#755d6e; }
[data-product="hollyhock"] .feature-facts>div { border-color:#e5d8de; }
[data-product="hollyhock"] .feature-readiness { background:#f1e7ec; color:#6d4b60; border-color:#a8718a; }
[data-product="hollyhock"] .detail-hood-link { border-color:#d5bdca; color:#804c68; }
[data-product="hollyhock"] .close-button { color:#765b6d; }
[data-product="hollyhock"] .close-button:hover { background:#f0e1e8; }
[data-product="hollyhock"] .connector-line,
[data-product="hollyhock"] .connector-end { stroke:#a16d88; }
[data-product="hollyhock"] .hotspot-index { background:#dfb1c5; border-color:#f6d3e3; color:#273543; border-radius:45% 55% 43% 57%; }
[data-product="hollyhock"] .hotspot::before { border-color:#d5a6bb99; }
[data-product="hollyhock"] .hotspot[aria-expanded="true"] .hotspot-index { background:#fff0f2; box-shadow:0 0 0 3px #d49fb924; }
[data-product="hollyhock"] .detail-idle h2 { font-family:Georgia,serif; font-weight:400; font-size:27px; }
[data-product="hollyhock"] .detail-idle>p:not(.keyboard-note) { color:#5c6370; }
[data-product="hollyhock"] .detail-idle>svg { stroke:#a98699; }
[data-product="hollyhock"] .idle-legend { border-color:#d6c4cb; color:#6a5a68; }
[data-product="hollyhock"] .legend-dot { color:#865773; border-color:#af8a9d; }
[data-product="hollyhock"] .keyboard-note { color:#6d6270; }
[data-product="hollyhock"] .crosshair { color:#925d7a; }
[data-product="hollyhock"] .demo-bottom,
[data-product="hollyhock"] .reset-button { color:#685c6a; }
[data-product="hollyhock"] .hood-focus-bar label { color:#73576a; }
[data-product="hollyhock"] .hood-focus-bar select,
[data-product="hollyhock"] .hood-focus-bar button { border-color:#bda9b7; }
[data-product="hollyhock"] .selected-technical { border-color:#d3bdc8; border-left-color:#a16d88; }
[data-product="hollyhock"] .selected-technical>p,
[data-product="hollyhock"] .selected-technical dd { color:#4b5965; }
[data-product="hollyhock"] .selected-technical dt { color:#73576a; }
[data-product="hollyhock"] .selected-technical dl>div { border-color:#e0ced8; }
[data-product="hollyhock"] .relationship-ribbon { background:#eee4e7; border-color:#d6c5ce; }
[data-product="hollyhock"] .relationship-ribbon span { color:#665365; }
[data-product="hollyhock"] .relationship-ribbon span::after { color:#936781; }
[data-product="hollyhock"] .architecture { background:#eae6e3; border-color:#c7bec7; border-radius:9px; }
[data-product="hollyhock"] .architecture-clients>span { background:#fff7f2; border-color:#b9aaba; }
[data-product="hollyhock"] .architecture-clients>span::after,
[data-product="hollyhock"] .architecture-bus::after { background:#aa94a7; }
[data-product="hollyhock"] .architecture-bus { border-color:#aa94a7; }
[data-product="hollyhock"] .architecture-core { border-color:#566077; background:#172a40; border-radius:9px; }
[data-product="hollyhock"] .architecture-core>span { color:#e6bdcf; }
[data-product="hollyhock"] .architecture-core>strong { font-family:Georgia,serif; font-size:25px; font-weight:400; }
[data-product="hollyhock"] .architecture-foundation>div { border-color:#aa7991; }
[data-product="hollyhock"] .architecture-foundation span { color:#5f5b67; }
[data-product="hollyhock"] .hood-notes details { border-color:#d5c5cd; }
[data-product="hollyhock"] .hood-notes details p { color:#596271; }
[data-product="hollyhock"] .button-copper { background:#e6c2d1; border-color:#b17c96; color:#38424e; }
[data-product="hollyhock"] .system-summary { border-color:#ccb4c2; color:#655165; }
[data-product="hollyhock"] .hood-stamp { border-color:#b78fa6; color:#87566f; border-radius:42% 55% 44% 55%; transform:none; }

/* Native, fictional Hollyhock interface. Positioned regions share the existing
   normalized hotspot geometry; this artwork contains no production information. */
.hh-art { background:#112239; }
.hh-sidebar { background:#101e32; border-right:1px solid #50546a; position:relative; padding:3.4cqw 1.8cqw; }
.hh-brand-bloom { display:block; color:#dca9c1; font-size:3cqw; line-height:1; margin-bottom:.7cqw; }
.hh-wordmark { font:3cqw/1.1 Georgia,serif; color:#f7e9df; display:block; letter-spacing:-.04em; }
.hh-strap { display:block; font:italic 1.05cqw/1.4 Georgia,serif; color:#d6bacc; margin-top:.8cqw; }
.hh-office { border:1px solid #6d6378; border-left:2px solid #d7a2bb; border-radius:4px; padding:1cqw; margin-top:2cqw; font-size:1.1cqw; color:#e0dbd9; }
.hh-office small { display:block; color:#bec7d0; font-size:.85cqw; margin-top:.4cqw; }
.hh-nav-label { position:absolute; left:1.8cqw; font-size:.73cqw; letter-spacing:.08em; color:#bbaabd; }
.hh-nav-item { position:absolute; left:1.1cqw; right:.8cqw; height:6.1%; padding-left:.9cqw; padding-right:3.6cqw; display:flex; align-items:center; font-size:1.21cqw; color:#d6dce2; border-radius:5px; }
.hh-nav-item.selected { background:#3c3c51; border-left:2px solid #d5a3bb; color:#fff1e9; }
.hh-main { padding:0 2.6cqw; position:relative; }
.hh-breadcrumb { height:7.3%; display:flex; align-items:center; gap:10px; border-bottom:1px solid #465366; font-size:1.03cqw; color:#e3d8de; }
.hh-breadcrumb>span { margin-left:auto; font-size:.88cqw; color:#b8c4d1; }
.hh-welcome { position:absolute; top:10%; left:2.6cqw; }
.hh-welcome>span { font-size:.8cqw; letter-spacing:.12em; color:#d9a7c1; }
.hh-welcome>strong { display:block; font:3.9cqw/1.2 Georgia,serif; letter-spacing:-.035em; color:#f4eadd; margin:.7cqw 0; }
.hh-welcome p { font-size:1.15cqw; color:#c4cfd6; }
.hh-overline { display:block; font-size:.81cqw; letter-spacing:.07em; color:#e1b5cb; }
.hh-myday { position:absolute; top:29%; left:2.6cqw; width:37cqw; height:27%; padding:1.5cqw; border:1px solid #636076; background:#1e3146; border-radius:9px; }
.hh-myday>strong { display:block; font:2cqw/1.2 Georgia,serif; color:#f2e6df; margin:1cqw 0 1.4cqw; }
.hh-person { display:flex; align-items:center; gap:1cqw; font-size:1.2cqw; color:#dedbdf; }
.hh-person>b { display:grid; place-items:center; width:3.5cqw; height:3.5cqw; flex-shrink:0; border:1px solid #ac8ba4; background:#414052; color:#f5dce9; border-radius:50%; font-size:1cqw; font-weight:500; }
.hh-person small { display:block; font-size:.82cqw; color:#bcc7d1; margin-top:.35cqw; }
.hh-visit-row { border-top:1px solid #556176; margin-top:1.3cqw; padding-top:1.1cqw; display:flex; align-items:center; gap:1.4cqw; font-size:1.1cqw; color:#e5dfe0; }
.hh-visit-row>span:first-child { color:#e7b9d0; font-size:1.3cqw; }
.hh-visit-row small { display:block; color:#bdc7d4; font-size:.83cqw; margin-top:.2cqw; }
.hh-approach { position:absolute; top:29%; right:2.6cqw; width:29cqw; height:27%; border:1px solid #806b83; border-radius:9px; background:#2b2c43; padding:1.5cqw; }
.hh-approach>strong { display:block; font:2cqw/1.2 Georgia,serif; color:#f6e3df; margin:1cqw 0; }
.hh-testing { display:inline-block; font-size:.72cqw; padding:.4cqw .65cqw; background:#59465d; border:1px solid #b893ab; color:#f6d8e8; border-radius:3px; }
.hh-approach p { font-size:1.1cqw; color:#ddd4e0; margin-top:1cqw; }
.hh-approach>small { display:block; font-size:.8cqw; color:#d6bed1; margin-top:.8cqw; }
.hh-care-story { position:absolute; top:60%; bottom:3.5%; left:2.6cqw; width:29cqw; border:1px solid #c6b5b5; border-radius:13px; background:#f0e6d9; text-align:center; padding:1.2cqw; color:#334751; overflow:hidden; }
.hh-care-story svg { height:12.5cqw; width:13cqw; margin:-.4cqw auto 0; fill:none; stroke:#839488; stroke-width:1.6; }
.hh-care-story svg g { fill:#c28ea9; stroke:#a3718f; stroke-width:1; }
.hh-care-story svg g circle { fill:#f2daba; stroke:#a68d75; }
.hh-care-story svg>circle { fill:#a5b5a5; }
.hh-care-story>strong { display:block; font:1.75cqw/1.2 Georgia,serif; margin-top:-.5cqw; }
.hh-care-story>span { display:block; color:#72546a; font-size:.97cqw; margin-top:.5cqw; }
.hh-care-story>small { display:block; font-size:.82cqw; line-height:1.6; margin-top:.7cqw; color:#59675f; }
.hh-family { position:absolute; top:60%; bottom:3.5%; right:2.6cqw; width:37cqw; border:1px solid #666778; background:#213449; border-radius:9px; padding:1.6cqw; }
.hh-family>strong { display:block; font:2.3cqw/1.2 Georgia,serif; color:#f2e6db; margin:1cqw 0 1.5cqw; }
.hh-family>div { border-top:1px solid #526177; padding-top:1.3cqw; margin-top:1.3cqw; }
.hh-family b { font-weight:500; display:block; font-size:1.25cqw; color:#e5dbe1; }
.hh-family div>span { display:block; font-size:1cqw; color:#bfcbd2; margin-top:.4cqw; }
.hh-family>small { display:block; font-size:.79cqw; color:#d2b9cb; margin-top:1.5cqw; padding-right:4cqw; }

@media(max-width:1180px) {
  [data-product="hollyhock"] .interface-canvas { background-color:#172a40; background-image:radial-gradient(circle at 8px 8px,#92758b18 1px,transparent 1.6px); background-size:24px 24px; }
  [data-product="hollyhock"] .hotspot { background:#283b50; border-color:#596175; border-radius:7px; }
  [data-product="hollyhock"] .hotspot-index { background:transparent; color:#f0c5da; border-color:#bd94b0; box-shadow:none; }
  [data-product="hollyhock"] .hotspot-arrow { color:#e0b1c8; }
  [data-product="hollyhock"] .hotspot[aria-expanded="true"],
  [data-product="hollyhock"] .hotspot:hover { background:#4a4058; border-color:#c29cb4; }
  [data-product="hollyhock"] .hotspot[aria-expanded="true"] .hotspot-index { background:#edc8db; color:#26384a; }
  [data-product="hollyhock"] .map-heading .eyebrow { color:#e4b6d0; }
  [data-product="hollyhock"] .map-heading>p:last-child,
  [data-product="hollyhock"] .map-footnote { color:#cdd1dc; }
  .release-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hood-intro h2 { font-size:27px; }
}
@media(max-width:700px) {
  .hood-focus-bar { gap:8px; margin-bottom:20px; }
  .hood-focus-bar select { font-size:12px; padding-inline:8px; }
  .hood-focus-bar button { font-size:10px; padding-inline:8px; gap:5px; }
  .selected-technical { padding:17px; margin-bottom:22px; }
  .selected-technical h2 { font-size:23px; }
  .selected-technical>p { font-size:14px; }
  .selected-technical dl { grid-template-columns:1fr; gap:15px; }
  .technical-heading { align-items:flex-start; gap:9px; }
  .technical-heading .eyebrow { font-size:8px; }
  .relationship-ribbon { padding:12px; gap:8px 0; }
  .relationship-ribbon span { font-size:10px; }
  .relationship-ribbon span::after { padding-inline:6px!important; }
  .hood-intro h2 { font-size:26px; }
  .system-summary { font-size:13px; margin-top:20px; padding-top:18px; }
  .release-readiness { padding:17px; margin-top:22px; }
  .release-heading { align-items:flex-start; }
  .release-heading h2 { font-size:24px; }
  .release-heading .eyebrow { font-size:8px; }
  .release-grid { grid-template-columns:1fr; }
  .release-readiness>p { font-size:13px; }
  [data-product="hollyhock"] .detail-idle { border-color:#c7afc0; }
  [data-product="hollyhock"] .detail-idle h2 { font-size:21px; }
  [data-product="hollyhock"] .detail-card h2 { font-size:24px; }
  .feature-readiness { font-size:12px; padding:9px 11px; }
  .hotspot-label { overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) {
  /* The approved global reduced-motion rule also covers all product layers. */
  .product-workspace * { transition:none!important; animation:none!important; }
}
