/* HHD-UI-05 — Public Visual Continuity */
.hhd-public-shell {
    --hhd-public-navy: #071a3d;
    --hhd-public-navy-2: #0a2b68;
    --hhd-public-blue: #1463f3;
    --hhd-public-blue-strong: #0849c6;
    --hhd-public-blue-soft: #eaf2ff;
    --hhd-public-ink: #091933;
    --hhd-public-copy: #3d5270;
    --hhd-public-muted: #71819a;
    --hhd-public-border: #dce6f3;
    --hhd-public-surface: #ffffff;
    --hhd-public-surface-soft: #f6f9fd;
    --hhd-public-surface-blue: #eff6ff;
    --hhd-public-shadow: 0 18px 50px rgba(18, 54, 105, .11);
    --hhd-public-shadow-soft: 0 8px 24px rgba(18, 54, 105, .08);
    min-height: 100vh;
    color: var(--hhd-public-ink);
    background: #fff;
    font-family: var(--hhd-font-sans, "Segoe UI", Arial, sans-serif);
    overflow: clip;
}

.hhd-public-shell *,
.hhd-public-shell *::before,
.hhd-public-shell *::after { box-sizing: border-box; }
.hhd-public-shell img { display: block; max-width: 100%; }
.hhd-public-shell a { color: inherit; }
.hhd-public-shell h1,
.hhd-public-shell h2,
.hhd-public-shell h3,
.hhd-public-shell p { text-wrap: pretty; }

.hhd-public-container {
    width: min(calc(100% - 64px), 1440px);
    margin-inline: auto;
}

.hhd-public-shell-header {
    position: sticky;
    inset-block-start: 0;
    z-index: 70;
    background: rgba(255, 255, 255, .94);
    border-bottom: 1px solid rgba(212, 225, 243, .82);
    backdrop-filter: blur(18px);
}

.hhd-public-shell-header-inner {
    min-height: 76px;
    display: grid;
    grid-template-columns: minmax(245px, auto) 1fr auto;
    align-items: center;
    gap: 28px;
}

.hhd-public-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    text-decoration: none;
}
.hhd-public-brand-logo { width: 54px; height: 34px; object-fit: contain; }
.hhd-public-brand-copy { display: grid; line-height: 1.02; }
.hhd-public-brand-copy strong { font-size: 15px; letter-spacing: -.01em; }
.hhd-public-brand-copy small { margin-top: 5px; color: var(--hhd-public-copy); font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }


.hhd-public-hero {
    position: relative;
    isolation: isolate;
    background: linear-gradient(118deg, #fff 0%, #fbfdff 42%, #eef6ff 100%);
    border-bottom: 1px solid #e5edf8;
}
.hhd-public-hero-backdrop {
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        radial-gradient(circle at 68% 46%, rgba(56, 126, 235, .13), transparent 30%),
        radial-gradient(circle at 92% 12%, rgba(99, 221, 215, .14), transparent 23%),
        linear-gradient(135deg, transparent 0 47%, rgba(137, 180, 244, .08) 48%, transparent 49%);
}
.hhd-public-hero-grid {
    min-height: 650px;
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(520px, 1.05fr);
    align-items: center;
    gap: clamp(24px, 4vw, 72px);
    padding-block: clamp(64px, 6vw, 92px);
}
.hhd-public-hero-copy { max-width: 650px; }
.hhd-public-eyebrow {
    display: inline-block;
    color: var(--hhd-public-blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.hhd-public-hero h1 {
    max-width: 15ch;
    margin: 16px 0 20px;
    color: var(--hhd-public-ink);
    font-size: clamp(42px, 4.15vw, 68px);
    line-height: .98;
    letter-spacing: -.052em;
}
.hhd-public-hero-copy > p {
    max-width: 62ch;
    margin: 0;
    color: var(--hhd-public-copy);
    font-size: clamp(17px, 1.45vw, 21px);
    line-height: 1.52;
}
.hhd-public-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.hhd-public-button {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 24px;
    border-radius: 12px;
    border: 1px solid transparent;
    font-size: 14px;
    font-weight: 750;
    text-decoration: none;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}
.hhd-public-button:hover { transform: translateY(-2px); }
.hhd-public-button.is-primary { color: #fff; background: linear-gradient(135deg, #1768f5, #0847c4); box-shadow: 0 13px 28px rgba(20, 99, 243, .22); }
.hhd-public-button.is-secondary { color: #0d50cb; border-color: #bad0ef; background: #fff; }
.hhd-public-button.is-secondary-dark { color: #0b2c64; border-color: #a7bddb; background: #fff; }
.hhd-public-button.is-outline-inverse { color: #fff; border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.05); }

.hhd-public-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 30px; }
.hhd-public-principles article { display: grid; grid-template-columns: 24px 1fr; align-items: start; gap: 10px; }
.hhd-public-principle-mark { width: 24px; height: 24px; display: grid; place-items: center; color: var(--hhd-public-blue); border: 1px solid #b9cff0; border-radius: 50%; font-size: 12px; }
.hhd-public-principles strong { display: block; font-size: 12px; }
.hhd-public-principles small { display: block; margin-top: 3px; color: var(--hhd-public-copy); font-size: 10px; line-height: 1.35; }
.hhd-public-hero-visual { margin: 0; }
.hhd-public-hero-visual img { width: min(100%, 760px); margin-inline: auto; filter: drop-shadow(0 24px 44px rgba(41, 92, 160, .12)); }

.hhd-public-section { padding-block: clamp(70px, 7vw, 110px); }
.hhd-public-problem-journey { background: #f8fbff; }
.hhd-public-problem-journey-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
    gap: 22px;
}
.hhd-public-story-card,
.hhd-public-journey-card {
    overflow: hidden;
    border: 1px solid var(--hhd-public-border);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--hhd-public-shadow-soft);
}
.hhd-public-story-card { min-height: 330px; display: grid; grid-template-columns: minmax(0, .85fr) minmax(250px, 1.15fr); align-items: center; padding: clamp(28px, 3vw, 48px); }
.hhd-public-story-card img { width: 100%; }
.hhd-public-story-card.is-solution { grid-column: 1 / 2; }
.hhd-public-story-copy h2,
.hhd-public-journey-card h2,
.hhd-public-support h2,
.hhd-public-section-heading h2,
.hhd-public-trust-panel h2,
.hhd-public-catalog-cta h2,
.hhd-public-resource-intro h2,
.hhd-public-contact-cta h2 {
    margin: 10px 0 14px;
    color: var(--hhd-public-ink);
    font-size: clamp(27px, 2.35vw, 39px);
    line-height: 1.08;
    letter-spacing: -.035em;
}
.hhd-public-story-copy p,
.hhd-public-support-heading p,
.hhd-public-section-heading p,
.hhd-public-trust-panel header p,
.hhd-public-catalog-cta p,
.hhd-public-resource-intro p,
.hhd-public-contact-cta p {
    margin: 0;
    color: var(--hhd-public-copy);
    font-size: 15px;
    line-height: 1.62;
}
.hhd-public-story-copy > a,
.hhd-public-context-grid a,
.hhd-public-resource-card a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 22px;
    color: var(--hhd-public-blue-strong);
    font-size: 14px;
    font-weight: 750;
    text-decoration: none;
}
.hhd-public-journey-card { grid-row: span 2; padding: clamp(28px, 3vw, 46px); }
.hhd-public-journey-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.hhd-public-journey-list li { position: relative; min-width: 0; text-align: center; }
.hhd-public-journey-list li:not(:nth-child(3n))::after { position: absolute; content: "›"; inset-inline-end: -10px; inset-block-start: 38px; color: #3e76ce; font-size: 24px; }
.hhd-public-journey-list img { width: 78px; height: 78px; margin: 0 auto 8px; }
.hhd-public-journey-list strong { display: block; font-size: 13px; }
.hhd-public-journey-list span { display: block; margin-top: 5px; color: var(--hhd-public-copy); font-size: 10px; line-height: 1.42; }

.hhd-public-capability-band {
    color: #fff;
    background:
        radial-gradient(circle at 23% 34%, rgba(34, 126, 246, .36), transparent 30%),
        radial-gradient(circle at 88% 45%, rgba(126, 75, 222, .24), transparent 28%),
        linear-gradient(112deg, #061c44, #07357b 56%, #061d48);
}
.hhd-public-capability-layout { display: grid; grid-template-columns: 300px 1fr; gap: clamp(34px, 5vw, 82px); align-items: center; padding-block: clamp(58px, 6vw, 90px); }
.hhd-public-capability-layout .hhd-public-eyebrow { color: #74a8ff; }
.hhd-public-capability-layout h2 { margin: 10px 0 16px; font-size: clamp(31px, 2.7vw, 44px); line-height: 1.06; letter-spacing: -.035em; }
.hhd-public-capability-layout header p { margin: 0 0 26px; color: #c1d2ea; font-size: 15px; line-height: 1.62; }
.hhd-public-capability-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.hhd-public-capability-grid article { position: relative; min-width: 0; text-align: center; }
.hhd-public-capability-grid article:not(:last-child)::after { position: absolute; content: ""; inset-inline-end: -8px; inset-block-start: 62px; width: 14px; border-top: 2px dashed rgba(103, 178, 255, .65); }
.hhd-public-capability-grid img { width: 100px; height: 100px; margin: 0 auto 8px; border-radius: 24px; }
.hhd-public-capability-grid h3 { margin: 0; font-size: 13px; }
.hhd-public-capability-grid p { margin: 6px 0 0; color: #c3d2e8; font-size: 10px; line-height: 1.4; }

.hhd-public-support { background: #fff; }
.hhd-public-support-heading { display: grid; grid-template-columns: minmax(0, .85fr) minmax(460px, 1.15fr); align-items: center; gap: clamp(32px, 6vw, 90px); }
.hhd-public-support-heading > div { max-width: 560px; }
.hhd-public-support-heading .hhd-public-button { margin-top: 26px; }
.hhd-public-support-heading img { width: 100%; max-width: 680px; justify-self: end; border-radius: 28px; box-shadow: var(--hhd-public-shadow); }
.hhd-public-support-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin: 50px 0 0; padding: 0; list-style: none; }
.hhd-public-support-steps li { position: relative; min-width: 0; padding: 18px 16px 20px; border: 1px solid var(--hhd-public-border); border-radius: 18px; background: #fff; text-align: center; box-shadow: 0 6px 20px rgba(24, 63, 116, .06); }
.hhd-public-support-steps li:not(:last-child)::after { position: absolute; content: "→"; inset-inline-end: -14px; inset-block-start: 52px; z-index: 2; color: var(--hhd-public-blue); font-size: 19px; }
.hhd-public-support-steps img { width: 90px; height: 90px; margin: 0 auto 7px; }
.hhd-public-support-steps h3 { margin: 0; font-size: 15px; }
.hhd-public-support-steps p { margin: 7px 0 0; color: var(--hhd-public-copy); font-size: 12px; line-height: 1.46; }

.hhd-public-context-trust { background: var(--hhd-public-surface-soft); }
.hhd-public-section-heading { max-width: 780px; margin-bottom: 34px; }
.hhd-public-section-heading.is-wide { max-width: 900px; }
.hhd-public-context-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.hhd-public-context-grid article { min-width: 0; display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--hhd-public-border); border-radius: 20px; background: #fff; box-shadow: var(--hhd-public-shadow-soft); }
.hhd-public-context-grid img { width: 108px; height: 108px; margin-bottom: 4px; }
.hhd-public-context-grid h3 { margin: 8px 0 9px; font-size: 18px; }
.hhd-public-context-grid p { margin: 0; color: var(--hhd-public-copy); font-size: 13px; line-height: 1.54; }
.hhd-public-context-actions { display: grid; gap: 9px; margin-top: auto; padding-top: 18px; }
.hhd-public-context-grid .hhd-public-context-action {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin-top: 0;
    padding: 0 15px;
    border: 1px solid transparent;
    border-radius: 11px;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
}
.hhd-public-context-grid .hhd-public-context-action.is-primary { color: #fff; background: linear-gradient(135deg, #1768f5, #0847c4); box-shadow: 0 9px 20px rgba(20, 99, 243, .18); }
.hhd-public-context-grid .hhd-public-context-action.is-primary:disabled { opacity: .52; cursor: not-allowed; box-shadow: none; }
.hhd-public-context-grid .hhd-public-context-action.is-secondary { color: var(--hhd-public-ink); border-color: var(--hhd-public-border); background: #fff; }
.hhd-public-context-grid .hhd-public-context-action.is-secondary:hover,
.hhd-public-context-grid .hhd-public-context-action.is-secondary:focus-visible { border-color: var(--hhd-public-blue); outline: none; box-shadow: 0 0 0 3px color-mix(in srgb,var(--hhd-public-blue) 14%,transparent); }

.hhd-public-trust-panel { margin-top: 28px; padding: clamp(30px, 4vw, 52px); border: 1px solid #cfe0f6; border-radius: 24px; background: linear-gradient(125deg, #fff, #edf5ff); }
.hhd-public-trust-panel header { max-width: 780px; }
.hhd-public-trust-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin-top: 32px; }
.hhd-public-trust-grid article { min-width: 0; }
.hhd-public-trust-grid img { width: 70px; height: 70px; }
.hhd-public-trust-grid h3 { margin: 8px 0 5px; font-size: 14px; }
.hhd-public-trust-grid p { margin: 0; color: var(--hhd-public-copy); font-size: 11px; line-height: 1.45; }

.hhd-public-catalog-resources { background: #fff; }
.hhd-public-catalog-cta { display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: center; gap: 36px; padding: clamp(34px, 4vw, 58px); border: 1px solid #d0e1f7; border-radius: 28px; background: linear-gradient(120deg, #eff6ff, #fff 58%, #e8f3ff); box-shadow: var(--hhd-public-shadow); }
.hhd-public-catalog-cta > div { max-width: 760px; }
.hhd-public-catalog-cta .hhd-public-button { margin-top: 24px; }
.hhd-public-catalog-cta img { width: 100%; max-width: 330px; justify-self: center; }
.hhd-public-resource-grid { display: grid; grid-template-columns: 1.35fr repeat(3, minmax(0, .65fr)); gap: 18px; margin-top: 26px; }
.hhd-public-resource-intro,
.hhd-public-resource-card { border: 1px solid var(--hhd-public-border); border-radius: 20px; background: #fff; }
.hhd-public-resource-intro { display: grid; grid-template-columns: 1fr 220px; align-items: center; padding: 28px; }
.hhd-public-resource-intro img { width: 220px; justify-self: end; }
.hhd-public-resource-card { display: flex; flex-direction: column; padding: 26px; }
.hhd-public-resource-card h3 { margin: 0 0 10px; font-size: 18px; }
.hhd-public-resource-card p { margin: 0; color: var(--hhd-public-copy); font-size: 13px; line-height: 1.54; }
.hhd-public-resource-card a { margin-top: auto; padding-top: 18px; }
.hhd-public-contact-cta { margin-top: 28px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 36px; padding: clamp(34px, 4vw, 56px); border-radius: 26px; color: #fff; background: linear-gradient(125deg, #071c45, #0b3c89 62%, #0d5bd2); }
.hhd-public-contact-cta .hhd-public-eyebrow { color: #82b1ff; }
.hhd-public-contact-cta h2 { color: #fff; }
.hhd-public-contact-cta p { color: #c8d8ec; max-width: 760px; }
.hhd-public-contact-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }
.hhd-public-contact-actions .is-secondary { color: #fff; border-color: rgba(255,255,255,.46); background: rgba(255,255,255,.08); }

.hhd-public-shell-footer { padding-block: 40px; color: #fff; background: #061329; }
.hhd-public-footer-grid { display: grid; grid-template-columns: 1fr auto auto; align-items: end; gap: 34px; }
.hhd-public-footer-logo { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; }
.hhd-public-footer-logo img { width: 48px; height: 30px; object-fit: contain; }
.hhd-public-footer-logo span { display: grid; }
.hhd-public-footer-logo small { margin-top: 4px; color: #9fb0c8; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.hhd-public-footer-brand p { margin: 14px 0 7px; color: #aebdd1; font-size: 13px; }
.hhd-public-footer-brand > a { color: #dce8fa; font-size: 13px; }
.hhd-public-footer-links { display: flex; flex-wrap: wrap; gap: 12px 20px; }
.hhd-public-footer-links a { color: #aebdd1; font-size: 12px; text-decoration: none; }
.hhd-public-footer-version { color: #8798b0; font-family: var(--hhd-font-mono, Consolas, monospace); font-size: 11px; }

@media (max-width: 1280px) {
    .hhd-public-container { width: min(calc(100% - 40px), 1200px); }
    .hhd-public-shell-header-inner { grid-template-columns: 220px 1fr auto; gap: 18px; }
    .hhd-public-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(460px, 1fr); }
    .hhd-public-capability-layout { grid-template-columns: 250px 1fr; }
    .hhd-public-capability-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 16px; }
    .hhd-public-capability-grid article::after { display: none; }
    .hhd-public-resource-grid { grid-template-columns: 1.2fr repeat(3, minmax(0, .72fr)); }
}

@media (max-width: 1024px) {
    .hhd-public-shell-header-inner { grid-template-columns: 1fr auto auto; }
    .hhd-public-hero-grid { min-height: auto; grid-template-columns: 1fr; padding-block: 72px 48px; }
    .hhd-public-hero-copy { max-width: 760px; }
    .hhd-public-hero-visual img { max-width: 720px; }
    .hhd-public-problem-journey-grid { grid-template-columns: 1fr; }
    .hhd-public-journey-card { grid-row: auto; }
    .hhd-public-story-card.is-solution { grid-column: auto; }
    .hhd-public-capability-layout { grid-template-columns: 1fr; }
    .hhd-public-capability-layout header { max-width: 760px; }
    .hhd-public-support-heading { grid-template-columns: 1fr; }
    .hhd-public-support-heading img { justify-self: center; }
    .hhd-public-context-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hhd-public-trust-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .hhd-public-catalog-cta { grid-template-columns: 1fr 280px; }
    .hhd-public-resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hhd-public-resource-intro { grid-column: 1 / -1; }
    .hhd-public-contact-cta { grid-template-columns: 1fr; }
    .hhd-public-contact-actions { justify-content: flex-start; }
}

@media (max-width: 768px) {
    .hhd-public-container { width: min(calc(100% - 28px), 720px); }
    .hhd-public-shell-header-inner { min-height: 66px; gap: 10px; }
    .hhd-public-brand-logo { width: 47px; }
    .hhd-public-brand-copy strong { font-size: 13px; }
    .hhd-public-brand-copy small { display: none; }
    .hhd-public-hero-grid { padding-block: 52px 38px; gap: 28px; }
    .hhd-public-hero h1 { font-size: clamp(39px, 9vw, 58px); }
    .hhd-public-hero-copy > p { font-size: 17px; }
    .hhd-public-principles { grid-template-columns: 1fr; gap: 11px; }
    .hhd-public-principles small { font-size: 11px; }
    .hhd-public-story-card { grid-template-columns: 1fr; }
    .hhd-public-story-card img { margin-top: 20px; }
    .hhd-public-journey-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hhd-public-journey-list li::after { display: none; }
    .hhd-public-capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hhd-public-support-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hhd-public-support-steps li::after { display: none; }
    .hhd-public-context-grid { grid-template-columns: 1fr; }
    .hhd-public-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hhd-public-catalog-cta { grid-template-columns: 1fr; }
    .hhd-public-catalog-cta img { max-width: 260px; }
    .hhd-public-resource-grid { grid-template-columns: 1fr; }
    .hhd-public-resource-intro { grid-column: auto; grid-template-columns: 1fr; }
    .hhd-public-resource-intro img { justify-self: center; }
    .hhd-public-footer-grid { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 430px) {
    .hhd-public-container { width: calc(100% - 24px); }
    .hhd-public-brand-copy { display: none; }
    .hhd-public-hero-grid { padding-block: 36px 28px; }
    .hhd-public-hero h1 { max-width: none; margin-top: 10px; font-size: 36px; line-height: 1.04; }
    .hhd-public-hero-copy > p { font-size: 15px; }
    .hhd-public-hero-actions { display: grid; }
    .hhd-public-button { width: 100%; }
    .hhd-public-principles { display: none; }
    .hhd-public-hero-visual { margin-inline: -7px; }
    .hhd-public-section { padding-block: 52px; }
    .hhd-public-story-card,
    .hhd-public-journey-card { border-radius: 18px; }
    .hhd-public-story-card { padding: 22px; }
    .hhd-public-story-copy h2,
    .hhd-public-journey-card h2,
    .hhd-public-support h2,
    .hhd-public-section-heading h2,
    .hhd-public-trust-panel h2,
    .hhd-public-catalog-cta h2,
    .hhd-public-resource-intro h2,
    .hhd-public-contact-cta h2 { font-size: 28px; }
    .hhd-public-journey-card { padding: 22px; }
    .hhd-public-journey-list { gap: 18px 8px; }
    .hhd-public-journey-list img { width: 68px; height: 68px; }
    .hhd-public-capability-layout { padding-block: 48px; }
    .hhd-public-capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 8px; }
    .hhd-public-capability-grid img { width: 84px; height: 84px; }
    .hhd-public-support-heading img { border-radius: 18px; }
    .hhd-public-support-steps { grid-template-columns: 1fr; }
    .hhd-public-support-steps li { display: grid; grid-template-columns: 82px 1fr; column-gap: 12px; text-align: left; align-items: center; }
    .hhd-public-support-steps img { grid-row: span 2; width: 82px; height: 82px; margin: 0; }
    .hhd-public-support-steps p { margin-top: 3px; }
    .hhd-public-context-grid article { padding: 20px; }
    .hhd-public-context-grid img { width: 92px; height: 92px; }
    .hhd-public-trust-panel { padding: 24px 20px; }
    .hhd-public-trust-grid { grid-template-columns: 1fr; }
    .hhd-public-trust-grid article { display: grid; grid-template-columns: 64px 1fr; column-gap: 12px; align-items: center; }
    .hhd-public-trust-grid img { grid-row: span 2; width: 64px; height: 64px; }
    .hhd-public-trust-grid h3 { margin-top: 0; }
    .hhd-public-catalog-cta,
    .hhd-public-contact-cta { padding: 26px 22px; border-radius: 20px; }
    .hhd-public-resource-intro { padding: 22px; }
    .hhd-public-contact-actions { display: grid; width: 100%; }
}

@media (max-width: 360px) {
    .hhd-public-hero h1 { font-size: 32px; }
    .hhd-public-capability-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .hhd-public-shell *,
    .hhd-public-shell *::before,
    .hhd-public-shell *::after { scroll-behavior: auto !important; transition-duration: 0ms !important; }
}


/* Activos editoriales 3D normalizados: nunca deformar, recortar ni estirar. */
.hhd-public-journey-list img,
.hhd-public-capability-grid img,
.hhd-public-support-steps img,
.hhd-public-context-grid img,
.hhd-public-trust-grid img {
    display: block;
    object-fit: contain;
    object-position: center;
}

/* HHD-UI-05 — Public Visual Continuity */
.hhd-public-shell-header-inner {
    min-height: 74px;
    grid-template-columns: minmax(250px, auto) minmax(220px, 1fr) auto;
    gap: clamp(18px, 3vw, 48px);
}
.hhd-public-experience-mode {
    min-width: 0;
    display: grid;
    justify-items: start;
    align-content: center;
    gap: 3px;
}
.hhd-public-experience-mode strong {
    color: var(--hhd-public-ink);
    font-size: 13px;
    line-height: 1.1;
}
.hhd-public-experience-mode span {
    max-width: 60ch;
    overflow: hidden;
    color: var(--hhd-public-copy);
    font-size: 10px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.hhd-public-shell-header.is-agentic .hhd-public-experience-mode strong { color: #087f5b; }
.hhd-public-experience-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-width: 0;
}
.hhd-public-experience-actions .hhd-aw15-context-summary { display: none; }
.hhd-public-experience-actions > button,
.hhd-public-experience-actions #aw15-adaptation-trigger,
.hhd-public-experience-action {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border: 1px solid #bfd0e7;
    border-radius: 999px;
    background: #fff;
    color: #102846;
    font: inherit;
    font-size: 12px;
    font-weight: 750;
    white-space: nowrap;
    cursor: pointer;
}
.hhd-public-experience-actions > button:disabled,
.hhd-public-experience-action:disabled { cursor: wait; opacity: .66; }
.hhd-public-experience-actions .is-primary,
.hhd-public-shell-header.is-standard #aw12-activate-trigger {
    border-color: #0e5ae4;
    background: linear-gradient(135deg, #1b6bf3, #0b4fd2);
    color: #fff;
    box-shadow: 0 10px 24px rgba(20,99,243,.2);
}

.hhd-public-localised-visual {
    position: relative;
    overflow: hidden;
    margin: 0;
    border: 1px solid rgba(205, 220, 241, .86);
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(239,246,255,.94));
    box-shadow: 0 22px 54px rgba(25, 66, 126, .10);
}
.hhd-public-localised-visual::after {
    position: absolute;
    content: "";
    inset: auto 8% -18% 8%;
    height: 28%;
    border-radius: 50%;
    background: rgba(76, 141, 243, .12);
    filter: blur(34px);
    pointer-events: none;
}
.hhd-public-localised-visual img {
    width: 100%;
    height: auto;
    object-fit: contain;
}
.hhd-public-hero-visual { max-width: 830px; justify-self: end; }
.hhd-public-hero-visual img { width: 100%; margin: 0; filter: none; }

.hhd-public-problem-journey-grid {
    grid-template-columns: 1fr;
    gap: 24px;
}
.hhd-public-story-card {
    min-height: 0;
    grid-template-columns: minmax(280px,.58fr) minmax(0,1.42fr);
    gap: clamp(24px, 4vw, 60px);
    padding: clamp(28px, 3vw, 46px);
}
.hhd-public-story-card.is-solution { grid-column: auto; }
.hhd-public-story-visual { width: 100%; justify-self: stretch; }
.hhd-public-story-card > img { width: auto; }
.hhd-public-journey-card { grid-row: auto; }

.hhd-public-capability-band {
    color: var(--hhd-public-ink);
    background:
        radial-gradient(circle at 18% 30%, rgba(52, 132, 246, .12), transparent 30%),
        radial-gradient(circle at 88% 45%, rgba(126, 75, 222, .10), transparent 28%),
        linear-gradient(135deg, #f8fbff, #eef5ff 58%, #f8fbff);
    border-block: 1px solid #dde8f6;
}
.hhd-public-capability-layout {
    grid-template-columns: minmax(270px,.55fr) minmax(520px,1.45fr);
    gap: clamp(30px, 4vw, 62px);
    padding-block: clamp(62px, 6vw, 92px);
}
.hhd-public-capability-layout .hhd-public-eyebrow { color: var(--hhd-public-blue); }
.hhd-public-capability-layout h2 { color: var(--hhd-public-ink); }
.hhd-public-capability-layout header p { color: var(--hhd-public-copy); }
.hhd-public-capability-visual { width: 100%; }
.hhd-public-capability-grid {
    grid-column: 1 / -1;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
    padding-top: 2px;
}
.hhd-public-capability-grid article {
    padding: 16px 10px 18px;
    border: 1px solid rgba(207, 222, 242, .9);
    border-radius: 18px;
    background: rgba(255,255,255,.78);
    box-shadow: 0 8px 24px rgba(20, 58, 112, .06);
}
.hhd-public-capability-grid article::after { display: none !important; }
.hhd-public-capability-grid h3 { color: var(--hhd-public-ink); font-size: 13px; }
.hhd-public-capability-grid p { color: var(--hhd-public-copy); font-size: 10px; }

.hhd-public-support-heading { grid-template-columns: minmax(280px,.55fr) minmax(560px,1.45fr); }
.hhd-public-support-visual { width: 100%; max-width: 820px; justify-self: end; }
.hhd-public-support-heading img { max-width: none; border-radius: 0; box-shadow: none; }

.hhd-public-resource-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hhd-public-resource-intro {
    grid-column: 1 / -1;
    grid-template-columns: minmax(260px,.55fr) minmax(560px,1.45fr);
    gap: clamp(28px,4vw,56px);
    padding: clamp(28px,3vw,44px);
}
.hhd-public-resource-visual { width: 100%; justify-self: end; }
.hhd-public-resource-intro img { width: 100%; max-width: none; justify-self: stretch; }

.hhd-public-footer-grid {
    --hhd-public-footer-control-height: 42px;
    grid-template-columns: minmax(280px,1fr) auto auto auto;
    align-items: end;
    gap: 24px 32px;
}
.hhd-public-footer-language {
    height: var(--hhd-public-footer-control-height);
    min-height: var(--hhd-public-footer-control-height);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 10px;
    border: 1px solid rgba(175,195,223,.34);
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    color: #fff;
}
.hhd-public-footer-language .hhd-icon { width: 18px; height: 18px; }
.hhd-public-footer-language select {
    height: 100%;
    min-height: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #fff;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}
.hhd-public-footer-language option { color: #0b1f3d; background: #fff; }

@media (max-width: 1180px) {
    .hhd-public-shell-header-inner { grid-template-columns: minmax(210px,auto) 1fr auto; gap: 16px; }
    .hhd-public-experience-mode span { max-width: 34ch; }
    .hhd-public-hero-grid { grid-template-columns: minmax(0,.85fr) minmax(470px,1.15fr); gap: 28px; }
    .hhd-public-capability-layout { grid-template-columns: minmax(240px,.62fr) minmax(470px,1.38fr); }
    .hhd-public-support-heading { grid-template-columns: minmax(240px,.62fr) minmax(470px,1.38fr); }
    .hhd-public-resource-intro { grid-template-columns: minmax(240px,.62fr) minmax(470px,1.38fr); }
    .hhd-public-footer-grid { grid-template-columns: 1fr auto auto; }
    .hhd-public-footer-version { grid-column: 3; }
}

@media (max-width: 900px) {
    .hhd-public-shell-header-inner {
        grid-template-columns: minmax(180px,auto) 1fr auto;
        min-height: 68px;
    }
    .hhd-public-brand-copy small { display: none; }
    .hhd-public-experience-mode span { display: none; }
    .hhd-public-experience-actions > button,
    .hhd-public-experience-actions #aw15-adaptation-trigger,
    .hhd-public-experience-action { min-height: 40px; padding-inline: 14px; font-size: 11px; }
    .hhd-public-hero-grid,
    .hhd-public-capability-layout,
    .hhd-public-support-heading,
    .hhd-public-resource-intro { grid-template-columns: 1fr; }
    .hhd-public-hero-copy { max-width: 780px; }
    .hhd-public-hero-visual,
    .hhd-public-support-visual,
    .hhd-public-resource-visual { max-width: 820px; justify-self: center; }
    .hhd-public-capability-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .hhd-public-story-card { grid-template-columns: 1fr; }
    .hhd-public-story-copy { max-width: 760px; }
    .hhd-public-resource-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .hhd-public-footer-grid { grid-template-columns: 1fr 1fr; align-items: start; }
    .hhd-public-footer-language { justify-self: start; }
    .hhd-public-footer-links { justify-content: flex-end; }
    .hhd-public-footer-version { grid-column: 2; justify-self: end; }
}

@media (max-width: 620px) {
    .hhd-public-shell-header-inner { grid-template-columns: auto 1fr; gap: 9px 12px; padding-block: 8px; }
    .hhd-public-brand { grid-row: 1 / 3; }
    .hhd-public-brand-logo { width: 44px; }
    .hhd-public-brand-copy { display: none; }
    .hhd-public-experience-mode { align-self: end; }
    .hhd-public-experience-mode strong { font-size: 11px; }
    .hhd-public-experience-actions { justify-content: flex-start; align-self: start; overflow-x: auto; scrollbar-width: none; }
    .hhd-public-experience-actions::-webkit-scrollbar { display: none; }
    .hhd-public-experience-actions > button,
    .hhd-public-experience-actions #aw15-adaptation-trigger,
    .hhd-public-experience-action { min-height: 34px; padding-inline: 11px; font-size: 10px; }
    .hhd-public-localised-visual { border-radius: 20px; }
    .hhd-public-hero-visual,
    .hhd-public-story-visual,
    .hhd-public-capability-visual,
    .hhd-public-support-visual,
    .hhd-public-resource-visual {
        width: calc(100vw - 24px);
        max-width: none;
        justify-self: center;
    }
    .hhd-public-capability-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .hhd-public-resource-grid { grid-template-columns: 1fr; }
    .hhd-public-footer-grid { grid-template-columns: 1fr; }
    .hhd-public-footer-links { justify-content: flex-start; }
    .hhd-public-footer-version { grid-column: auto; justify-self: start; }
}

@media (max-width: 390px) {
    .hhd-public-capability-grid { grid-template-columns: 1fr; }
    .hhd-public-localised-visual img { min-width: 100%; }
}

@media (prefers-reduced-motion: no-preference) {
    .hhd-public-localised-visual { transition: transform 260ms ease, box-shadow 260ms ease; }
    .hhd-public-localised-visual:hover { transform: translateY(-3px); box-shadow: 0 28px 64px rgba(25,66,126,.14); }
}

@media (max-width: 620px) {
    .hhd-public-localised-visual img {
        aspect-ratio: 4 / 3;
        object-fit: cover;
        object-position: center;
    }
    .hhd-public-hero-visual img { object-position: 50% 48%; }
    .hhd-public-story-visual img,
    .hhd-public-capability-visual img,
    .hhd-public-support-visual img,
    .hhd-public-resource-visual img { object-position: center; }
}

@media (max-width: 390px) {
    .hhd-public-localised-visual img { aspect-ratio: 1 / 1; }
}

/* HHD-UI-06 — Public simplification + governed business catalogue */
.hhd-public-experience-toggle { gap: 9px; }
.hhd-public-experience-toggle::before {
    content: "";
    width: 26px;
    height: 14px;
    flex: 0 0 auto;
    border: 1px solid currentColor;
    border-radius: 999px;
    background: linear-gradient(90deg, currentColor 0 44%, transparent 44% 100%);
    opacity: .95;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.34);
}
.hhd-public-experience-toggle[aria-checked="true"]::before {
    background: linear-gradient(90deg, transparent 0 56%, currentColor 56% 100%);
}

.hhd-public-shell-header-inner {
    grid-template-columns: minmax(250px, auto) 1fr;
}
.hhd-public-hero .hhd-public-eyebrow,
.hhd-public-story-copy .hhd-public-eyebrow {
    font-size: 14px;
    letter-spacing: .10em;
}
.hhd-public-problem-journey-grid.is-story-only {
    grid-template-columns: 1fr;
    gap: 26px;
}
.hhd-public-problem-journey-grid.is-story-only .hhd-public-story-card {
    grid-column: 1;
    min-height: 390px;
    grid-template-columns: minmax(280px, .72fr) minmax(520px, 1.28fr);
}
.hhd-public-problem-journey-grid.is-story-only .hhd-public-story-card img {
    width: min(100%, 860px);
    margin-inline: auto;
}

.hhd-public-business-catalog {
    min-height: calc(100vh - 74px);
    color: var(--hhd-public-ink);
    background: #f7faff;
}
.hhd-public-business-catalog-hero {
    padding: clamp(64px, 7vw, 96px) 0 clamp(46px, 5vw, 72px);
    border-bottom: 1px solid #dce8f7;
    background:
        radial-gradient(circle at 82% 24%, rgba(68, 133, 255, .12), transparent 29%),
        radial-gradient(circle at 18% 3%, rgba(117, 75, 220, .08), transparent 26%),
        linear-gradient(180deg, #fff, #f4f8ff);
}
.hhd-public-business-catalog-hero .hhd-container { max-width: 1180px; }
.hhd-public-catalog-kicker {
    display: inline-block;
    color: #0e5ae4;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.hhd-public-business-catalog-hero h1 {
    margin: 12px 0 8px;
    font-size: clamp(42px, 5vw, 68px);
    line-height: 1;
    letter-spacing: -.045em;
}
.hhd-public-business-catalog-lead {
    margin: 0 0 12px;
    color: #143967;
    font-size: clamp(21px, 2vw, 29px) !important;
    font-weight: 720;
    line-height: 1.24 !important;
}
.hhd-public-business-catalog-hero p {
    max-width: 820px;
    margin: 0;
    color: #536982;
    font-size: 16px;
    line-height: 1.62;
}
.hhd-public-catalog-view-switch {
    width: fit-content;
    display: inline-flex;
    gap: 5px;
    margin-top: 30px;
    padding: 5px;
    border: 1px solid #cbdcf1;
    border-radius: 999px;
    background: rgba(255,255,255,.86);
    box-shadow: 0 8px 24px rgba(39, 79, 129, .08);
}
.hhd-public-catalog-view-switch button,
.hhd-public-domain-filter button {
    border: 0;
    background: transparent;
    color: #3d5878;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
}
.hhd-public-catalog-view-switch button {
    min-height: 42px;
    padding: 0 22px;
    border-radius: 999px;
}
.hhd-public-catalog-view-switch button.is-active {
    color: #fff;
    background: #0e5ae4;
    box-shadow: 0 6px 16px rgba(14,90,228,.22);
}
.hhd-public-business-catalog-body { padding-block: clamp(52px, 6vw, 86px); }
.hhd-public-business-catalog-body > .hhd-container { max-width: 1180px; }
.hhd-public-catalog-section-heading { max-width: 880px; margin-bottom: 34px; }
.hhd-public-catalog-section-heading h2 {
    margin: 10px 0 12px;
    font-size: clamp(30px, 3vw, 43px);
    line-height: 1.08;
    letter-spacing: -.035em;
}
.hhd-public-catalog-section-heading p {
    margin: 0;
    color: #5a6f88;
    font-size: 15px;
    line-height: 1.62;
}
.hhd-public-product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.hhd-public-product-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    min-height: 390px;
    padding: 26px;
    border: 1px solid #d4e1f1;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(27, 67, 116, .07);
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.hhd-public-product-card:hover,
.hhd-public-product-card.is-selected {
    transform: translateY(-3px);
    border-color: #90b8ef;
    box-shadow: 0 16px 36px rgba(27, 79, 145, .11);
}
.hhd-public-product-card-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}
.hhd-public-product-monogram {
    min-width: 58px;
    height: 58px;
    display: inline-grid;
    place-items: center;
    padding-inline: 11px;
    border: 1px solid #bad1f0;
    border-radius: 16px;
    color: #0b55d7;
    background: linear-gradient(145deg, #f8fbff, #e7f1ff);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: -.02em;
}
.hhd-public-product-count {
    color: #70849d;
    font-size: 11px;
    font-weight: 700;
}
.hhd-public-product-card h3 {
    margin: 22px 0 10px;
    font-size: 22px;
    line-height: 1.1;
    letter-spacing: -.025em;
}
.hhd-public-product-card > p {
    margin: 0;
    color: #566c85;
    font-size: 13px;
    line-height: 1.56;
}
.hhd-public-product-featured-capabilities {
    display: grid;
    gap: 7px;
    margin: 20px 0 24px;
    padding: 0;
    list-style: none;
}
.hhd-public-product-featured-capabilities li {
    position: relative;
    padding-left: 14px;
    color: #24435f;
    font-size: 11px;
    line-height: 1.4;
}
.hhd-public-product-featured-capabilities li::before {
    position: absolute;
    content: "";
    width: 5px;
    height: 5px;
    left: 0;
    top: .55em;
    border-radius: 50%;
    background: #2a70df;
}
.hhd-public-product-explore {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: auto;
    padding: 0 18px;
    border: 1px solid #aac7ee;
    border-radius: 11px;
    background: #fff;
    color: #0b55d7;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}
.hhd-public-product-explore:hover { background: #f2f7ff; }
.hhd-public-product-detail {
    margin-top: 42px;
    padding: clamp(30px, 4vw, 48px);
    border: 1px solid #cbdcf1;
    border-radius: 26px;
    background: linear-gradient(140deg, #fff, #f2f7ff);
    box-shadow: 0 18px 44px rgba(28, 70, 121, .09);
}
.hhd-public-product-detail > header { max-width: 800px; }
.hhd-public-product-detail > header h2 {
    margin: 10px 0 10px;
    font-size: clamp(31px, 3vw, 45px);
    line-height: 1.04;
    letter-spacing: -.035em;
}
.hhd-public-product-detail > header p { margin: 0; color: #536982; font-size: 15px; line-height: 1.6; }
.hhd-public-product-detail-grid {
    display: grid;
    grid-template-columns: 1.35fr .65fr;
    gap: 16px;
    margin-top: 32px;
}
.hhd-public-product-detail-panel {
    min-width: 0;
    padding: 24px;
    border: 1px solid #d7e3f2;
    border-radius: 18px;
    background: rgba(255,255,255,.9);
}
.hhd-public-product-detail-panel.is-wide { grid-row: span 2; }
.hhd-public-product-detail-panel h3 { margin: 0 0 8px; font-size: 18px; }
.hhd-public-product-detail-panel > p { margin: 0; color: #61758d; font-size: 12px; line-height: 1.52; }
.hhd-public-product-capability-list {
    display: grid;
    gap: 8px;
    margin-top: 18px;
}
.hhd-public-product-capability-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #f6f9fd;
}
.hhd-public-product-capability-list span { color: #193b5f; font-size: 12px; line-height: 1.36; }
.hhd-public-product-capability-list small {
    flex: 0 0 auto;
    padding: 3px 7px;
    border-radius: 999px;
    color: #48627e;
    background: #e7eff9;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}
.hhd-public-product-chip-list,
.hhd-public-capability-products {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 14px;
}
.hhd-public-product-chip-list span,
.hhd-public-capability-products span {
    padding: 5px 9px;
    border: 1px solid #cfe0f5;
    border-radius: 999px;
    color: #315779;
    background: #f6faff;
    font-size: 10px;
    font-weight: 750;
}
.hhd-public-composition-list { display: grid; gap: 12px; margin: 16px 0 0; padding: 0; list-style: none; }
.hhd-public-composition-list li { padding: 12px 0; border-top: 1px solid #e0e9f4; }
.hhd-public-composition-list strong { display: block; color: #1c405f; font-size: 12px; line-height: 1.4; }
.hhd-public-composition-list span { display: block; margin-top: 5px; color: #6b7e93; font-size: 10px; line-height: 1.4; }
.hhd-public-capability-tools {
    display: grid;
    gap: 20px;
    margin-bottom: 30px;
    padding: 22px;
    border: 1px solid #d7e3f2;
    border-radius: 18px;
    background: #fff;
}
.hhd-public-capability-tools label { display: grid; gap: 7px; max-width: 640px; }
.hhd-public-capability-tools label > span { color: #34506d; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.hhd-public-capability-tools input {
    width: 100%;
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid #bfcfe1;
    border-radius: 10px;
    background: #fbfdff;
    color: #102a45;
    font: inherit;
    font-size: 14px;
}
.hhd-public-capability-tools input:focus { outline: 3px solid rgba(14,90,228,.16); border-color: #4d8ce8; }
.hhd-public-domain-filter { display: flex; flex-wrap: wrap; gap: 7px; }
.hhd-public-domain-filter button { min-height: 34px; padding: 0 11px; border: 1px solid #d1dfef; border-radius: 999px; font-size: 10px; }
.hhd-public-domain-filter button.is-active { border-color: #0e5ae4; color: #0e5ae4; background: #eef5ff; }
.hhd-public-domain-list { display: grid; gap: 18px; }
.hhd-public-domain-card {
    overflow: hidden;
    border: 1px solid #d5e2f1;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(27, 67, 116, .05);
}
.hhd-public-domain-card > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 22px 24px;
    border-bottom: 1px solid #e3ebf5;
    background: linear-gradient(100deg, #fff, #f5f9ff);
}
.hhd-public-domain-card > header h3 { margin: 5px 0 0; font-size: 21px; line-height: 1.12; }
.hhd-public-domain-card > header > strong {
    min-width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #0c58dd;
    background: #eaf2ff;
    font-size: 13px;
}
.hhd-public-family-list { padding: 10px 22px 22px; }
.hhd-public-family-list details { border-bottom: 1px solid #e3ebf4; }
.hhd-public-family-list details:last-child { border-bottom: 0; }
.hhd-public-family-list summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 17px 2px;
    color: #173b60;
    cursor: pointer;
    font-size: 13px;
    font-weight: 800;
}
.hhd-public-family-list summary small { color: #7b8da1; font-size: 10px; font-weight: 650; }
.hhd-public-capability-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    padding: 2px 0 18px;
}
.hhd-public-capability-list article {
    min-width: 0;
    padding: 13px;
    border: 1px solid #e1e9f3;
    border-radius: 12px;
    background: #f9fbfe;
}
.hhd-public-capability-list article > strong { display: block; color: #284b6b; font-size: 11px; line-height: 1.42; }
.hhd-public-capability-list article .hhd-public-capability-products { margin-top: 9px; }
.hhd-public-catalog-state {
    display: grid;
    gap: 7px;
    padding: 28px;
    border: 1px solid #d6e2f0;
    border-radius: 18px;
    background: #fff;
    color: #2e506f;
}
.hhd-public-catalog-state.is-error { border-color: #efc7c7; background: #fff9f9; color: #8b3030; }
.hhd-public-catalog-state span { font-size: 12px; line-height: 1.45; }

@media (max-width: 1024px) {
    .hhd-public-problem-journey-grid.is-story-only .hhd-public-story-card { grid-template-columns: minmax(240px, .8fr) minmax(400px, 1.2fr); }
    .hhd-public-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hhd-public-product-detail-grid { grid-template-columns: 1fr; }
    .hhd-public-product-detail-panel.is-wide { grid-row: auto; }
}

@media (max-width: 720px) {
    .hhd-public-shell-header-inner { grid-template-columns: 1fr auto; }
    .hhd-public-problem-journey-grid.is-story-only .hhd-public-story-card { min-height: 0; grid-template-columns: 1fr; }
    .hhd-public-product-grid { grid-template-columns: 1fr; }
    .hhd-public-product-card { min-height: 0; }
    .hhd-public-capability-list { grid-template-columns: 1fr; }
    .hhd-public-domain-card > header { align-items: flex-start; }
    .hhd-public-catalog-view-switch { width: 100%; }
    .hhd-public-catalog-view-switch button { flex: 1; }
}


/* HHD-UI-06-FIX01 — Public Home responsive, theme and first-paint continuity */

/* The public header shows the brand name at every supported viewport. The historical
   subtitle is intentionally not rendered by HhdPublicHeader. */
.hhd-public-shell .hhd-public-brand-copy {
    display: grid;
    min-width: 0;
}
.hhd-public-shell .hhd-public-brand-copy strong {
    overflow: hidden;
    color: var(--hhd-public-ink);
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* One typographic system for the retained public narrative. */
.hhd-public-shell .hhd-public-story-copy .hhd-public-eyebrow,
.hhd-public-shell .hhd-public-context-trust .hhd-public-eyebrow {
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .10em;
}
.hhd-public-shell .hhd-public-story-copy h2,
.hhd-public-shell .hhd-public-context-trust .hhd-public-section-heading h2,
.hhd-public-shell .hhd-public-trust-panel h2 {
    font-weight: 800;
}
.hhd-public-shell .hhd-public-story-copy h2 {
    font-size: clamp(32px, 3vw, 46px);
    line-height: 1.06;
}
.hhd-public-shell .hhd-public-story-copy p,
.hhd-public-shell .hhd-public-section-heading p {
    font-size: clamp(15px, 1.15vw, 17px);
    line-height: 1.58;
}
.hhd-public-shell .hhd-public-context-grid h3 {
    font-size: 19px;
    font-weight: 800;
}
.hhd-public-shell .hhd-public-context-grid p {
    font-size: 14px;
    line-height: 1.55;
}

/* Story illustrations are editorial diagrams: preserve the entire image. */
.hhd-public-shell .hhd-public-problem-journey-grid.is-story-only .hhd-public-story-card {
    min-height: 0;
}
.hhd-public-shell .hhd-public-problem-journey .hhd-public-story-visual {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    justify-self: stretch;
}
.hhd-public-shell .hhd-public-problem-journey .hhd-public-story-visual img {
    display: block;
    width: 100%;
    height: auto;
    min-width: 0;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center;
}

/* Public dark mode is complete and scoped. This also prevents historical global
   dark selectors in app.css from painting light public surfaces with dark-theme text. */
html.hhd-theme-dark .hhd-public-shell {
    --hhd-public-navy: #dce8fb;
    --hhd-public-navy-2: #aac7f7;
    --hhd-public-blue: #72a7ff;
    --hhd-public-blue-strong: #8bb6ff;
    --hhd-public-blue-soft: rgba(76, 141, 243, .14);
    --hhd-public-ink: #f2f6fd;
    --hhd-public-copy: #bdcbe0;
    --hhd-public-muted: #93a6c2;
    --hhd-public-border: rgba(148, 171, 207, .25);
    --hhd-public-surface: #0d1a2d;
    --hhd-public-surface-soft: #091625;
    --hhd-public-surface-blue: #10233d;
    --hhd-public-shadow: 0 18px 50px rgba(0, 0, 0, .30);
    --hhd-public-shadow-soft: 0 8px 24px rgba(0, 0, 0, .24);
    color: var(--hhd-public-ink);
    background: #07111f;
    color-scheme: dark;
}
html.hhd-theme-light .hhd-public-shell {
    color-scheme: light;
}
html.hhd-theme-dark .hhd-public-shell main {
    color: var(--hhd-public-ink);
    background: #07111f;
}
html.hhd-theme-dark .hhd-public-shell h1,
html.hhd-theme-dark .hhd-public-shell h2,
html.hhd-theme-dark .hhd-public-shell h3,
html.hhd-theme-dark .hhd-public-shell strong {
    color: var(--hhd-public-ink);
}
html.hhd-theme-dark .hhd-public-shell p,
html.hhd-theme-dark .hhd-public-shell small {
    color: var(--hhd-public-copy);
}
html.hhd-theme-dark .hhd-public-shell-header {
    background: rgba(7, 17, 31, .94);
    border-bottom-color: rgba(148, 171, 207, .22);
}
html.hhd-theme-dark .hhd-public-shell .hhd-public-hero {
    border-bottom-color: rgba(148, 171, 207, .20);
    background: linear-gradient(118deg, #07111f 0%, #091827 44%, #0b2036 100%);
}
html.hhd-theme-dark .hhd-public-shell .hhd-public-hero-backdrop {
    background:
        radial-gradient(circle at 68% 46%, rgba(56, 126, 235, .19), transparent 30%),
        radial-gradient(circle at 92% 12%, rgba(52, 211, 153, .12), transparent 23%),
        linear-gradient(135deg, transparent 0 47%, rgba(137, 180, 244, .06) 48%, transparent 49%);
}
html.hhd-theme-dark .hhd-public-shell .hhd-public-problem-journey,
html.hhd-theme-dark .hhd-public-shell .hhd-public-context-trust {
    background: #091625;
}
html.hhd-theme-dark .hhd-public-shell .hhd-public-story-card,
html.hhd-theme-dark .hhd-public-shell .hhd-public-context-grid article {
    border-color: var(--hhd-public-border);
    background: #0d1a2d;
    box-shadow: var(--hhd-public-shadow-soft);
}
html.hhd-theme-dark .hhd-public-shell .hhd-public-localised-visual {
    border-color: rgba(148, 171, 207, .25);
    background: linear-gradient(145deg, #13233a, #0d1a2d);
    box-shadow: 0 22px 54px rgba(0, 0, 0, .28);
}
html.hhd-theme-dark .hhd-public-shell .hhd-public-trust-panel {
    border-color: rgba(112, 159, 222, .30);
    background: linear-gradient(125deg, #0d1a2d, #10233d);
}
html.hhd-theme-dark .hhd-public-shell .hhd-public-button.is-secondary {
    color: #b8d2ff;
    border-color: rgba(114, 167, 255, .42);
    background: #0d1a2d;
}
html.hhd-theme-dark .hhd-public-shell .hhd-public-context-grid .hhd-public-context-action.is-secondary {
    color: #e7effc;
    border-color: rgba(114, 167, 255, .34);
    background: #0d1a2d;
}
html.hhd-theme-dark .hhd-public-shell .hhd-public-experience-actions > button,
html.hhd-theme-dark .hhd-public-shell .hhd-public-experience-action {
    border-color: rgba(148, 171, 207, .32);
    background: #0d1a2d;
    color: #e7effc;
}
html.hhd-theme-dark .hhd-public-shell .hhd-public-experience-actions .is-primary,
html.hhd-theme-dark .hhd-public-shell-header.is-standard #aw12-activate-trigger {
    border-color: #3b82f6;
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #fff;
}

/* Tablet portrait and smaller: story content stacks without fixed columns or clipping. */
@media (max-width: 900px) {
    .hhd-public-shell .hhd-public-problem-journey-grid.is-story-only .hhd-public-story-card {
        grid-template-columns: minmax(0, 1fr);
        gap: clamp(20px, 4vw, 30px);
    }
    .hhd-public-shell .hhd-public-story-copy {
        max-width: none;
        min-width: 0;
    }
    .hhd-public-shell .hhd-public-problem-journey .hhd-public-story-visual {
        width: 100%;
        max-width: 820px;
        margin-inline: auto;
    }
}

@media (max-width: 620px) {
    .hhd-public-shell .hhd-public-shell-header-inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        padding-block: 9px;
    }
    .hhd-public-shell .hhd-public-brand {
        grid-row: auto;
        gap: 8px;
    }
    .hhd-public-shell .hhd-public-brand-logo {
        width: 40px;
        height: 28px;
    }
    .hhd-public-shell .hhd-public-brand-copy {
        display: grid;
    }
    .hhd-public-shell .hhd-public-brand-copy strong {
        font-size: 12px;
    }
    .hhd-public-shell .hhd-public-experience-actions {
        width: 100%;
        justify-content: flex-start;
        overflow-x: auto;
    }
    .hhd-public-shell .hhd-public-problem-journey .hhd-public-story-visual,
    .hhd-public-shell .hhd-public-problem-journey .hhd-public-story-visual img {
        width: 100%;
        max-width: 100%;
        aspect-ratio: auto;
        object-fit: contain;
    }
    .hhd-public-shell .hhd-public-story-card {
        overflow: hidden;
        padding: 22px;
    }
    .hhd-public-shell .hhd-public-story-copy h2 {
        font-size: clamp(29px, 8vw, 36px);
    }
    .hhd-public-shell .hhd-public-context-grid h3 {
        font-size: 18px;
    }
    .hhd-public-shell .hhd-public-context-grid p {
        font-size: 14px;
    }
}

@media (max-width: 390px) {
    .hhd-public-shell .hhd-public-story-copy h2 {
        font-size: 28px;
    }
}
html.hhd-theme-dark .hhd-public-shell .hhd-public-brand-logo {
    filter: brightness(0) invert(1);
}


/* HHD-UI-06-FIX02 — Story illustration frame parity in portrait viewports.
   The source illustrations are 1536x1024 (3:2). The frame adopts that ratio so
   the image can fill it without cropping; legacy mobile image margins are reset. */
.hhd-public-shell .hhd-public-problem-journey .hhd-public-story-visual {
    aspect-ratio: 3 / 2;
}
.hhd-public-shell .hhd-public-problem-journey .hhd-public-story-visual img {
    width: 100%;
    height: 100%;
    margin: 0;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 900px) {
    .hhd-public-shell .hhd-public-problem-journey .hhd-public-story-visual {
        width: 100%;
        max-width: 100%;
        aspect-ratio: 3 / 2;
        margin-inline: 0;
    }
}

@media (max-width: 620px) {
    .hhd-public-shell .hhd-public-problem-journey .hhd-public-story-visual,
    .hhd-public-shell .hhd-public-problem-journey .hhd-public-story-visual img {
        width: 100%;
        max-width: 100%;
        height: auto;
        aspect-ratio: 3 / 2;
        margin: 0;
    }
    .hhd-public-shell .hhd-public-problem-journey .hhd-public-story-visual img {
        height: 100%;
        object-fit: cover;
    }
}

/* HHD-UI-06-FIX03 · Public product experience */
.hhd-public-products-page main{min-width:0;background:var(--hhd-public-surface-soft);color:var(--hhd-public-ink)}
.hhd-public-products-hero{padding:clamp(2.4rem,5vw,4.8rem) 0 clamp(1.6rem,3vw,2.6rem);background:linear-gradient(180deg,var(--hhd-public-surface),var(--hhd-public-surface-soft))}
.hhd-public-products-back{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:clamp(1.4rem,3vw,2.2rem);color:var(--hhd-public-copy);font-weight:760;text-decoration:none}
.hhd-public-products-back:hover{text-decoration:underline}
.hhd-public-products-hero-copy{max-width:980px}
.hhd-public-products-hero-copy h1{max-width:920px;margin:.55rem 0 .85rem;font-size:clamp(2.2rem,5vw,4.65rem);line-height:.98;letter-spacing:-.052em;color:var(--hhd-public-ink)}
.hhd-public-products-hero-copy p{max-width:830px;margin:0;font-size:clamp(1.02rem,1.55vw,1.28rem);line-height:1.65;color:var(--hhd-public-copy)}
.hhd-public-products-stage{padding:0 0 clamp(3rem,6vw,5.5rem)}
.hhd-public-products-state{display:grid;gap:.4rem;min-height:300px;place-content:center;padding:2rem;border:1px solid var(--hhd-public-border);border-radius:24px;background:var(--hhd-public-surface);text-align:center;color:var(--hhd-public-copy)}
.hhd-public-products-state strong{color:var(--hhd-public-ink)}
.hhd-public-products-state.is-error{border-color:color-mix(in srgb,#dc2626 35%,var(--hhd-public-border))}
.hhd-public-products-browser{display:grid;gap:1rem;min-width:0}
.hhd-public-products-intro{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding:.1rem 0 .5rem}
.hhd-public-products-intro h2{max-width:580px;margin:0;font-size:clamp(1.5rem,2.5vw,2.35rem);line-height:1.08;letter-spacing:-.035em;color:var(--hhd-public-ink)}
.hhd-public-products-intro p{max-width:630px;margin:0;color:var(--hhd-public-copy);line-height:1.55}
.hhd-public-products-rail{display:flex;gap:.55rem;max-width:100%;padding:.2rem .1rem .45rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none}
.hhd-public-products-rail::-webkit-scrollbar{display:none}
.hhd-public-products-rail button{flex:1 0 112px;min-width:112px;max-width:180px;display:grid;gap:.36rem;place-items:center;min-height:78px;padding:.68rem .7rem;border:1px solid var(--hhd-public-border);border-radius:16px;background:var(--hhd-public-surface);color:var(--hhd-public-ink);cursor:pointer;scroll-snap-align:start;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}
.hhd-public-products-rail button:hover{transform:translateY(-2px);border-color:var(--hhd-public-border)}
.hhd-public-products-rail button:focus-visible{outline:3px solid color-mix(in srgb,var(--hhd-public-blue) 30%,transparent);outline-offset:2px}
.hhd-public-products-rail button.is-selected{border-color:var(--hhd-public-blue);background:color-mix(in srgb,var(--hhd-public-blue) 7%,var(--hhd-public-surface));box-shadow:0 8px 22px color-mix(in srgb,var(--hhd-public-blue) 12%,transparent)}
.hhd-public-products-rail button span{display:grid;place-items:center;min-width:36px;height:30px;padding:0 .45rem;border-radius:999px;background:var(--hhd-public-surface-blue);font-size:.72rem;font-weight:850;letter-spacing:.03em;color:var(--hhd-public-ink)}
.hhd-public-products-rail button strong{font-size:.76rem;line-height:1.15;text-align:center}
.hhd-public-product-spotlight{display:grid;grid-template-columns:minmax(190px,.28fr) minmax(0,1fr);align-items:stretch;min-height:430px;overflow:hidden;border:1px solid var(--hhd-public-border);border-radius:28px;background:var(--hhd-public-surface);box-shadow:0 20px 58px rgba(15,32,56,.08)}
.hhd-public-product-spotlight-mark{display:grid;place-items:center;min-height:100%;padding:2rem;background:linear-gradient(145deg,color-mix(in srgb,var(--hhd-public-blue) 14%,var(--hhd-public-surface-blue)),var(--hhd-public-surface-blue));font-size:clamp(2.35rem,5vw,5rem);font-weight:900;letter-spacing:-.055em;color:var(--hhd-public-blue)}
.hhd-public-product-spotlight-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(1.5rem,4vw,3.5rem)}
.hhd-public-product-spotlight-label,.hhd-public-product-dialog-eyebrow{font-size:.72rem;font-weight:850;letter-spacing:.14em;color:var(--hhd-public-blue)}
.hhd-public-product-spotlight-copy h3{margin:.5rem 0 .8rem;font-size:clamp(2rem,4vw,3.7rem);line-height:1;letter-spacing:-.045em;color:var(--hhd-public-ink)}
.hhd-public-product-spotlight-summary{max-width:900px;margin:0 0 .85rem;font-size:clamp(1.02rem,1.45vw,1.24rem);line-height:1.55;font-weight:680;color:var(--hhd-public-ink);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.hhd-public-product-spotlight-narrative{max-width:930px;margin:0 0 1.35rem;line-height:1.62;color:var(--hhd-public-copy);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.hhd-public-product-spotlight-copy .hhd-public-button{align-self:flex-start}
.hhd-public-product-dialog{width:min(1040px,calc(100vw - 2rem));max-width:none;max-height:90dvh;padding:0;border:0;border-radius:28px;background:transparent;color:var(--hhd-public-ink);overflow:visible}
.hhd-public-product-dialog::backdrop{background:rgba(8,18,33,.62);backdrop-filter:blur(4px)}
.hhd-public-product-dialog-card{display:grid;grid-template-rows:auto minmax(0,1fr);max-height:90dvh;overflow:hidden;border:1px solid var(--hhd-public-border);border-radius:28px;background:var(--hhd-public-surface);box-shadow:0 28px 90px rgba(4,12,24,.35)}
.hhd-public-product-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:clamp(1.2rem,3vw,2rem) clamp(1.25rem,3vw,2.2rem);border-bottom:1px solid var(--hhd-public-border);background:var(--hhd-public-surface)}
.hhd-public-product-dialog-header h2{margin:.35rem 0 0;font-size:clamp(1.75rem,3.4vw,3rem);line-height:1;letter-spacing:-.04em;color:var(--hhd-public-ink)}
.hhd-public-product-dialog-close{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border:1px solid var(--hhd-public-border);border-radius:999px;background:var(--hhd-public-surface-blue);color:var(--hhd-public-ink);font-size:1.7rem;line-height:1;cursor:pointer}
.hhd-public-product-dialog-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;padding:clamp(1.25rem,3vw,2.3rem)}
.hhd-public-product-dialog-narrative{max-width:900px;margin:0 0 1.5rem;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.65;color:var(--hhd-public-copy)}
.hhd-public-product-dialog-sections{display:grid;gap:.8rem}
.hhd-public-product-dialog-sections section{padding:clamp(1rem,2.2vw,1.45rem);border:1px solid var(--hhd-public-border);border-radius:18px;background:var(--hhd-public-surface-soft)}
.hhd-public-product-dialog-sections h3{margin:0 0 .45rem;font-size:clamp(1.05rem,1.7vw,1.25rem);color:var(--hhd-public-ink)}
.hhd-public-product-dialog-sections p{margin:0;line-height:1.62;color:var(--hhd-public-copy)}
.hhd-public-product-more{margin-top:1rem}
.hhd-public-product-dialog-complete{margin:1rem 0 0;font-size:.86rem;color:var(--hhd-public-copy)}
html.hhd-theme-dark .hhd-public-product-dialog-card,html.hhd-theme-dark .hhd-public-product-dialog-header{background:var(--hhd-public-surface);color:var(--hhd-public-ink)}
html.hhd-theme-dark .hhd-public-product-dialog{color:var(--hhd-public-ink)}
html.hhd-theme-dark .hhd-public-product-dialog-sections section{background:var(--hhd-public-surface-soft)}
@media(max-width:900px){.hhd-public-products-intro{display:grid;gap:.7rem}.hhd-public-product-spotlight{grid-template-columns:1fr;min-height:0}.hhd-public-product-spotlight-mark{min-height:130px}.hhd-public-product-spotlight-copy{min-height:390px}.hhd-public-product-spotlight-summary{-webkit-line-clamp:3}.hhd-public-product-spotlight-narrative{-webkit-line-clamp:4}}
@media(max-width:600px){.hhd-public-products-hero{padding-top:1.8rem}.hhd-public-products-hero-copy h1{font-size:clamp(2.05rem,10.5vw,3.15rem)}.hhd-public-products-stage{padding-bottom:2.5rem}.hhd-public-products-intro p{font-size:.94rem}.hhd-public-products-rail button{flex-basis:102px;min-width:102px;min-height:72px}.hhd-public-product-spotlight{border-radius:22px}.hhd-public-product-spotlight-mark{min-height:105px;font-size:2.35rem}.hhd-public-product-spotlight-copy{min-height:420px;padding:1.25rem}.hhd-public-product-spotlight-copy h3{font-size:2.1rem}.hhd-public-product-spotlight-summary{-webkit-line-clamp:4}.hhd-public-product-spotlight-narrative{-webkit-line-clamp:5}.hhd-public-product-spotlight-copy .hhd-public-button{width:100%;justify-content:center}.hhd-public-product-dialog{width:100vw;height:100dvh;max-height:none;margin:0;border-radius:0}.hhd-public-product-dialog-card{height:100dvh;max-height:none;border:0;border-radius:0}.hhd-public-product-dialog-header{padding:1rem}.hhd-public-product-dialog-scroll{padding:1rem}.hhd-public-product-more{width:100%;justify-content:center}}


/* HHD-UI-06-FIX04 · scalable product browser + restored public access */
.hhd-public-shell .hhd-public-shell-header-inner{grid-template-columns:minmax(250px,auto) minmax(0,1fr);}
.hhd-public-shell-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;}
.hhd-public-session-actions{display:flex;align-items:center;justify-content:flex-end;min-width:0;}
.hhd-public-session-placeholder{display:block;width:76px;height:38px;}
.hhd-public-session-start{min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 17px;border:1px solid var(--hhd-public-border);border-radius:999px;background:var(--hhd-public-surface);color:var(--hhd-public-ink);font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap;box-shadow:0 7px 18px rgba(15,32,56,.06);}
.hhd-public-session-start:hover,.hhd-public-session-start:focus-visible{border-color:var(--hhd-public-blue);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--hhd-public-blue) 18%,transparent);}
.hhd-public-user-menu{position:relative;min-width:0;}
.hhd-public-user-menu > summary{list-style:none;}
.hhd-public-user-menu > summary::-webkit-details-marker{display:none;}
.hhd-public-user-menu-trigger{min-height:40px;display:flex;align-items:center;gap:.5rem;padding:.3rem .7rem;border:1px solid var(--hhd-public-border);border-radius:999px;background:var(--hhd-public-surface);color:var(--hhd-public-ink);cursor:pointer;box-shadow:0 7px 18px rgba(15,32,56,.06);}
.hhd-public-user-menu-trigger:hover,.hhd-public-user-menu-trigger:focus-visible{border-color:var(--hhd-public-blue);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--hhd-public-blue) 18%,transparent);}
.hhd-public-user-menu-avatar{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:var(--hhd-public-surface-blue);color:var(--hhd-public-blue);font-size:.55rem;}
.hhd-public-user-menu-identity{min-width:0;display:grid;line-height:1.08;text-align:left;}
.hhd-public-user-menu-identity strong{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;}
.hhd-public-user-menu-identity small{max-width:180px;margin-top:.12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--hhd-public-copy);font-size:.61rem;}
.hhd-public-user-menu-chevron{font-size:.85rem;color:var(--hhd-public-copy);}
.hhd-public-user-menu-popover{position:absolute;z-index:1200;top:calc(100% + .5rem);right:0;display:grid;gap:.15rem;width:min(250px,calc(100vw - 2rem));padding:.45rem;border:1px solid var(--hhd-public-border);border-radius:16px;background:var(--hhd-public-surface);box-shadow:0 20px 55px rgba(8,18,33,.2);}
.hhd-public-user-menu-popover a{padding:.65rem .75rem;border-radius:11px;color:var(--hhd-public-ink);font-size:.78rem;font-weight:720;text-decoration:none;}
.hhd-public-user-menu-popover a:hover,.hhd-public-user-menu-popover a:focus-visible{background:var(--hhd-public-surface-blue);outline:none;}
.hhd-public-footer-links .hhd-public-footer-internal{display:inline-flex;align-items:center;height:var(--hhd-public-footer-control-height);min-height:var(--hhd-public-footer-control-height);padding:0 12px;border:1px solid rgba(175,195,223,.38);border-radius:999px;color:#edf5ff;font-weight:760;}
.hhd-public-footer-links .hhd-public-footer-internal:hover,.hhd-public-footer-links .hhd-public-footer-internal:focus-visible{border-color:rgba(255,255,255,.65);background:rgba(255,255,255,.08);outline:none;text-decoration:none;}

.hhd-public-products-browser{gap:.85rem;}
.hhd-public-products-rail-shell{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:stretch;gap:.55rem;min-width:0;}
.hhd-public-products-rail-nav{display:grid;place-items:center;min-width:44px;border:1px solid var(--hhd-public-border);border-radius:16px;background:var(--hhd-public-surface);color:var(--hhd-public-ink);font:inherit;font-size:1.8rem;cursor:pointer;box-shadow:0 8px 20px rgba(15,32,56,.05);}
.hhd-public-products-rail-nav:hover:not(:disabled),.hhd-public-products-rail-nav:focus-visible:not(:disabled){border-color:var(--hhd-public-blue);background:var(--hhd-public-surface-blue);outline:none;}
.hhd-public-products-rail-nav:disabled{opacity:.3;cursor:default;}
.hhd-public-products-rail{gap:.55rem;padding:0;scroll-padding-inline:.3rem;}
.hhd-public-products-rail button{position:relative;flex:0 0 128px;min-width:128px;max-width:128px;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:.45rem;row-gap:.18rem;place-items:start;align-content:center;min-height:76px;padding:.55rem .65rem;text-align:left;}
.hhd-public-products-rail button img{grid-row:1 / 3;width:34px;height:34px;object-fit:contain;align-self:center;filter:drop-shadow(0 6px 9px rgba(37,99,235,.12));}
.hhd-public-products-rail button span{grid-column:2;min-width:0;height:auto;padding:0;border-radius:0;background:transparent;font-size:.68rem;line-height:1;font-weight:900;color:var(--hhd-public-blue);}
.hhd-public-products-rail button strong{grid-column:2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.69rem;line-height:1.15;text-align:left;}
.hhd-public-product-spotlight{grid-template-columns:minmax(190px,.28fr) minmax(0,1fr);min-height:430px;}
.hhd-public-product-spotlight-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;}
.hhd-public-product-spotlight-mark img{width:min(150px,72%);height:auto;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(37,99,235,.18));}
.hhd-public-product-spotlight-mark strong{font-size:clamp(1.15rem,2vw,1.75rem);font-weight:900;letter-spacing:.045em;color:var(--hhd-public-blue);}
.hhd-public-product-spotlight-copy h3{margin:0 0 .8rem;}
/* HHD-UI07 F02-F05-F02: documentary product blocks grow with their real content. */
.hhd-public-product-spotlight.is-detail{min-height:0;}
.hhd-public-product-spotlight.is-detail .hhd-public-product-spotlight-copy{justify-content:flex-start;min-height:0;}
.hhd-public-product-inline-detail{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;min-height:0;align-items:start;}
.hhd-public-product-inline-detail.has-visual{grid-template-columns:minmax(220px,.36fr) minmax(0,1fr);}
.hhd-public-product-inline-detail-body{grid-column:1 / -1;min-height:0;max-height:none;overflow:visible;padding:1rem 1.1rem;border:1px solid var(--hhd-public-border);border-radius:18px;background:var(--hhd-public-surface-soft);}
.hhd-public-product-inline-detail.has-visual .hhd-public-product-inline-detail-body{grid-column:2;}
.hhd-public-product-inline-detail .hhd-public-product-inline-navigation{grid-column:1 / -1;}
.hhd-public-product-inline-detail-body h4{margin:0 0 .55rem;font-size:clamp(1.1rem,1.8vw,1.35rem);color:var(--hhd-public-ink);}
.hhd-public-product-inline-detail-body p{margin:0;line-height:1.65;color:var(--hhd-public-copy);}
.hhd-public-product-inline-navigation{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;}
.hhd-public-product-inline-navigation .hhd-public-button{align-self:auto;}
.hhd-public-product-inline-position{justify-self:center;color:var(--hhd-public-copy);font-size:.78rem;font-weight:800;font-variant-numeric:tabular-nums;}

@media(max-width:900px){
  .hhd-public-shell-actions{gap:7px;}
  .hhd-public-products-rail-shell{grid-template-columns:40px minmax(0,1fr) 40px;}
  .hhd-public-products-rail-nav{min-width:40px;border-radius:14px;}
  .hhd-public-product-spotlight-mark{min-height:150px;}
  .hhd-public-product-spotlight-copy{min-height:390px;}
}
@media(max-width:620px){
  .hhd-public-shell .hhd-public-shell-header-inner{grid-template-columns:minmax(0,1fr);gap:8px;padding-block:9px;}
  .hhd-public-shell-actions{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;}
  .hhd-public-session-actions{flex:0 1 auto;justify-content:flex-start;}
  .hhd-public-experience-actions{flex:1 1 205px;justify-content:flex-end;overflow-x:auto;}
  .hhd-public-session-start{min-height:34px;padding-inline:12px;font-size:10px;}
  .hhd-public-session-placeholder{width:60px;height:34px;}
  .hhd-public-user-menu-trigger{min-height:34px;padding:.22rem .45rem;}
  .hhd-public-user-menu-avatar{width:24px;height:24px;}
  .hhd-public-user-menu-identity strong,.hhd-public-user-menu-identity small{max-width:120px;}
  .hhd-public-products-rail-shell{grid-template-columns:36px minmax(0,1fr) 36px;gap:.35rem;}
  .hhd-public-products-rail-nav{min-width:36px;border-radius:12px;font-size:1.55rem;}
  .hhd-public-products-rail button{flex-basis:112px;min-width:112px;max-width:112px;grid-template-columns:30px minmax(0,1fr);min-height:70px;padding:.5rem;}
  .hhd-public-products-rail button img{width:30px;height:30px;}
  .hhd-public-product-spotlight-mark{min-height:128px;}
  .hhd-public-product-spotlight-mark img{width:92px;}
  .hhd-public-product-spotlight-copy{min-height:420px;}
  .hhd-public-product-inline-detail.has-visual{grid-template-columns:minmax(0,1fr);}
  .hhd-public-product-inline-detail.has-visual .hhd-public-product-inline-detail-body{grid-column:1;}
  .hhd-public-product-inline-navigation{grid-template-columns:1fr 1fr;gap:.55rem;}
  .hhd-public-product-inline-navigation .hhd-public-button{width:100%;justify-content:center;}
  .hhd-public-product-inline-position{grid-column:1 / -1;grid-row:1;justify-self:center;}
}
@media(max-width:390px){
  .hhd-public-shell-actions{align-items:flex-start;}
  .hhd-public-user-menu-identity small{display:none;}
  .hhd-public-products-rail button{flex-basis:104px;min-width:104px;max-width:104px;}
}

/* HHD-UI-07 · versioned visual resources in product detail */
.hhd-public-product-inline-visual{position:relative;display:grid;place-items:center;grid-column:1;min-height:180px;margin:0;overflow:hidden;border:1px solid var(--hhd-public-border);border-radius:18px;background:var(--hhd-public-surface-soft)}
.hhd-public-product-inline-visual img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain}
@media(max-width:620px){.hhd-public-product-inline-visual{grid-column:1;min-height:140px}.hhd-public-product-inline-visual img{max-height:320px}}

/* HHD-PD-001 FIX08 · Public Identity Bootstrap */
.hhd-public-bootstrap-backdrop{position:fixed;inset:0;z-index:2400;display:grid;place-items:center;padding:1.25rem;background:rgba(5,14,28,.62);backdrop-filter:blur(7px)}
.hhd-public-bootstrap-dialog{position:relative;width:min(620px,100%);max-height:min(760px,calc(100vh - 2.5rem));overflow:auto;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--hhd-public-border);border-radius:24px;background:var(--hhd-public-surface);box-shadow:0 30px 90px rgba(5,14,28,.3);color:var(--hhd-public-ink)}
.hhd-public-bootstrap-dialog h2{margin:.45rem 2.5rem .7rem 0;font-size:clamp(1.45rem,3vw,2rem);line-height:1.12}
.hhd-public-bootstrap-dialog>p{color:var(--hhd-public-copy);line-height:1.6}
.hhd-public-bootstrap-close{position:absolute;top:1rem;right:1rem;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--hhd-public-border);border-radius:999px;background:var(--hhd-public-surface-soft);color:var(--hhd-public-ink);font:inherit;font-size:1.35rem;cursor:pointer}
.hhd-public-bootstrap-close:hover,.hhd-public-bootstrap-close:focus-visible{border-color:var(--hhd-public-blue);outline:none}
.hhd-public-bootstrap-fields{display:grid;gap:1rem;margin:1.3rem 0}
.hhd-public-bootstrap-fields label{display:grid;gap:.42rem;font-weight:780;font-size:.83rem}
.hhd-public-bootstrap-fields input{width:100%;min-height:46px;padding:.68rem .8rem;border:1px solid var(--hhd-public-border);border-radius:12px;background:var(--hhd-public-surface);color:var(--hhd-public-ink);font:inherit}
.hhd-public-bootstrap-fields input:focus{border-color:var(--hhd-public-blue);outline:3px solid color-mix(in srgb,var(--hhd-public-blue) 18%,transparent)}
.hhd-public-bootstrap-privacy{padding:1rem;border:1px solid var(--hhd-public-border);border-radius:15px;background:var(--hhd-public-surface-soft);font-size:.78rem;line-height:1.55;color:var(--hhd-public-copy)}
.hhd-public-bootstrap-privacy p{margin:0 0 .55rem}.hhd-public-bootstrap-privacy a{font-weight:800;color:var(--hhd-public-blue)}
.hhd-public-bootstrap-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.25rem}.hhd-public-bootstrap-actions button{min-width:120px}
.hhd-public-bootstrap-validation{margin:.8rem 0 0;color:#b42318;font-weight:750}
.hhd-public-bootstrap-state{padding:1rem 1.1rem;border:1px solid var(--hhd-public-border);border-radius:16px;background:var(--hhd-public-surface-soft)}
.hhd-public-bootstrap-state strong{display:block;margin-bottom:.35rem}.hhd-public-bootstrap-state p{margin:.2rem 0 .75rem;color:var(--hhd-public-copy);line-height:1.55}.hhd-public-bootstrap-state code{word-break:break-all;font-size:.72rem}
.hhd-public-bootstrap-state details{margin-top:.7rem;color:var(--hhd-public-copy);font-size:.76rem}
@media(max-width:620px){.hhd-public-bootstrap-backdrop{padding:.5rem;align-items:end}.hhd-public-bootstrap-dialog{width:100%;max-height:92vh;border-radius:22px 22px 10px 10px;padding:1.2rem}.hhd-public-bootstrap-actions{display:grid;grid-template-columns:1fr 1fr}.hhd-public-bootstrap-actions button{width:100%;min-width:0}}
