/* Second homepage phase; shared service, legal and resource pages stay unchanged. */
.home-block { padding-block: 112px; scroll-margin-top: 90px; }
.home-block .home-section-head { margin-bottom: 0; }
.home-block .home-section-head > p:not(.eyebrow):not(.silo-status) { max-width: 640px; margin: 22px 0 0; font-size: 1.0625rem; line-height: 1.75; color: #566779; }
.home-text-link { display: inline-flex; align-items: center; gap: 24px; min-height: 48px; color: #205f96; font-size: .94rem; font-weight: 600; }
.home-text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.home-section-head > .home-text-link { margin-top: 24px; }
.home-button { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 52px; padding: 14px 22px; border: 1px solid transparent; border-radius: 4px; background: #2477c1; color: #fff; font: inherit; font-size: .94rem; font-weight: 600; line-height: 1.5; cursor: pointer; transition: background 250ms; }
.home-button:hover { background: #1a65a7; }
.home-button-outline { background: transparent; border-color: #7890a5; }
.home-button-outline:hover { background: #203c56; }
.home-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.home-experience { background: #fff; }
.experience-layout { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(40px, 6vw, 96px); }
.founder-portrait { position: relative; margin: 0; max-width: 470px; overflow: hidden; border-radius: 6px; background: #2c2927; }
.founder-portrait img { width: 100%; height: 570px; object-fit: cover; object-position: 50% 36%; }
.founder-portrait figcaption { position: absolute; inset: auto 0 0; padding: 64px 28px 28px; background: linear-gradient(transparent, #061422e8); color: #fff; display: flex; flex-direction: column; gap: 8px; }
.founder-portrait figcaption strong { font-weight: 550; font-size: 1.25rem; }
.founder-portrait figcaption span { color: #d4e0ea; font-size: .875rem; }
.home-tools { background: #edf3f8; }
.silo-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 72px; }
.silo-status { display: inline-flex; align-items: center; gap: 10px; padding: 8px 12px; margin: 24px 0 0; background: #dfeaf3; border: 1px solid #b9cedf; border-radius: 3px; font-size: .82rem; line-height: 1.5; color: #234965; }
.silo-status > span { width: 6px; height: 6px; border-radius: 50%; background: #386f99; }
.silo-layout .home-text-link { display: flex; width: fit-content; margin-top: 16px; }
.silo-concept { margin: 0; padding: 40px; background: #0c2033; color: #d5e7f7; border-radius: 7px; }
.silo-concept-title { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 24px; border-bottom: 1px solid #345066; }
.silo-concept-title > span:first-child { font-size: 2rem; font-weight: 500; letter-spacing: .18em; color: white; }
.silo-concept-title > span:last-child { font-size: .8rem; color: #a4c6e0; }
.concept-flow { margin: 30px 0; padding: 0; list-style: none; display: grid; gap: 15px; }
.concept-flow li { position: relative; display: flex; align-items: center; gap: 22px; font-size: 1.05rem; }
.concept-flow li:not(:last-child)::after { content: ''; width: 1px; background: #5682a4; height: 15px; position: absolute; left: 23px; top: 47px; }
.concept-dot { display: grid; place-items: center; height: 47px; width: 47px; border: 1px solid #6894b6; border-radius: 50%; color: #acdafb; font-size: 1.35rem; }
.silo-concept figcaption { font-size: .78rem; color: #b8cddd; border-top: 1px solid #345066; padding-top: 20px; line-height: 1.6; }
.home-tools-secondary { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-top: 64px; padding-top: 38px; border-top: 1px solid #c4d4e2; }
.home-tool { display: flex; align-items: flex-start; gap: 24px; }
.home-tool + .home-tool { padding-left: 40px; border-left: 1px solid #c4d4e2; }
.tool-index { padding-top: 3px; font-size: .8rem; color: #52708a; }
.home-tool h3 { font-size: 1.3rem; font-weight: 550; }
.home-tool p { color: #566779; font-size: 1rem; line-height: 1.7; margin: 12px 0; max-width: 440px; }
.home-insights { background: #fff; }
.insights-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; margin-top: 44px; }
.insight-card { border: 1px solid #dce4eb; border-radius: 6px; overflow: hidden; display: flex; flex-direction: column; }
.insight-art { position: relative; color: #477999; background: #e4eef5; overflow: hidden; }
.insight-art > span { position: absolute; top: 24px; left: 24px; font-size: .8rem; letter-spacing: .12em; font-weight: 600; }
.insight-art svg { width: 100%; height: auto; display: block; transition: transform 300ms ease; }
.insight-card:hover .insight-art svg { transform: scale(1.035); }
.insight-resilience { background: #132e47; color: #a6cde8; }
.insight-guide { background: #eaeef2; color: #49677d; }
.insight-body { padding: 26px; display: flex; flex-direction: column; flex: 1; }
.insight-body h3 { font-size: 1.3rem; font-weight: 550; line-height: 1.4; letter-spacing: -.02em; }
.insight-body h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.insight-body p { color: #566779; font-size: 1rem; line-height: 1.7; margin: 16px 0 22px; }
.insight-body > .home-text-link { margin-top: auto; justify-content: space-between; border-top: 1px solid #dce4eb; padding-top: 16px; }
.resource-bottom { margin-top: 30px; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 20px 40px; }
.home-guides { min-width: 240px; max-width: 100%; scroll-margin-top: 100px; }
.home-guides summary { min-height: 48px; padding: 12px 0; font-size: .94rem; color: #205f96; font-weight: 600; cursor: pointer; }
.home-guides nav { display: grid; gap: 4px; padding: 8px 0; }
.home-guides .home-text-link { justify-content: space-between; border-bottom: 1px solid #dce4eb; }
.home-assessment { background: #0c2033; color: #fff; }
.assessment-layout { display: grid; grid-template-columns: 1.3fr .7fr; align-items: center; gap: 90px; }
.home-assessment .eyebrow { color: #8fc4ef; }
.home-block.home-assessment .home-section-head > p:not(.eyebrow):not(.silo-status) { color: #b4c4d3; }
.assessment-route { margin: 0; padding: 0; list-style: none; }
.assessment-route li { display: flex; align-items: center; gap: 20px; padding: 28px 0; border-bottom: 1px solid #3c5368; font-size: 1rem; color: #cfdeeb; }
.assessment-route li:first-child { border-top: 1px solid #3c5368; }
.assessment-route span { font-size: .78rem; color: #91c5ed; }
.home-redesign #faq { padding: 88px max(32px, calc((100% - 1280px) / 2)); background: #f5f7fa; display: grid; grid-template-columns: 1fr 1.4fr; gap: 64px; scroll-margin-top: 90px; }
.home-redesign #faq .section-head { margin: 0; }
.home-redesign #faq h2 { font-weight: 500; font-size: clamp(1.7rem, 2.6vw, 2.5rem); line-height: 1.2; }
.home-redesign #faq .eyebrow { color: #24659d; }
.home-redesign #faq .faq-question { font-weight: 550; gap: 24px; line-height: 1.6; }
.home-redesign #faq .faq-icon { color: #24659d; }
.home-contact { background: #fff; }
.contact-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: start; }
.home-contact .home-section-head > .home-button { margin-top: 28px; }
.home-contact-lines { display: flex; flex-direction: column; align-items: flex-start; margin-top: 26px; }
.home-contact-lines a { min-height: 44px; display: flex; align-items: center; color: #205f96; font-size: 1.05rem; }
.home-contact-lines a:hover { text-decoration: underline; text-underline-offset: 4px; }
.home-contact-lines span { color: #566779; font-size: .875rem; line-height: 1.7; margin-top: 12px; }
.home-scheduler { min-height: 0; padding: 30px; border: 1px solid #dce4eb; border-radius: 6px; background: #f5f7fa; box-shadow: none; scroll-margin-top: 100px; }
.home-scheduler h3 { font-size: 1.3rem; font-weight: 550; margin-bottom: 20px; }
.home-scheduler .third-party-consent { background: none; border: 0; border-radius: 0; padding: 0; }
.home-scheduler .third-party-consent p { font-size: 1rem; line-height: 1.7; margin-bottom: 8px; }
.home-scheduler:has([data-third-party-placeholder]:not([hidden])) .zeeg-inline-widget { display: none; }
.home-scheduler [hidden] { display: none !important; }
.home-scheduler .zeeg-privacy-note { padding: 0; color: #566779; font-size: .8rem; line-height: 1.75; margin: 24px 0 0; }
.home-scheduler .zeeg-privacy-note a { color: #205f96; text-decoration: underline; text-underline-offset: 3px; }
.home-redesign .complaints-book-access { padding: 24px max(32px,calc((100% - 1280px)/2)); background: #f5f7fa; border-top: 1px solid #dce4eb; }
.home-redesign .complaints-book-copy h2 { font-size: 1rem; font-weight: 550; }
.home-redesign .complaints-book-eyebrow { color: #566779; }
.home-redesign .complaints-book-copy p { font-size: .85rem; }
.home-redesign .complaints-book-button { background: white; color: #205f96; border-color: #c3d1dd; box-shadow: none; font-size: .85rem; }
.home-redesign .home-footer { display: block; padding: 64px 0; background: #091929; color: #ccd9e5; }
.footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr .8fr; gap: 50px; }
.footer-grid h2 { font-size: .82rem; color: #91b6d3; font-weight: 550; letter-spacing: .05em; margin: 0 0 16px; }
.footer-grid > nav, .footer-grid > div { display: flex; align-items: flex-start; flex-direction: column; }
.footer-grid a { min-height: 40px; display: inline-flex; align-items: center; font-size: .88rem; line-height: 1.5; }
.footer-grid a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.footer-brand .brand { color: #fff; gap: 3px; margin-top: -13px; }
.footer-brand p { font-size: .9rem; color: #b8c8d6; line-height: 1.8; max-width: 270px; margin: 20px 0; }
.footer-brand small { font-size: .76rem; color: #a2b6c7; }
.footer-language { display: flex; align-items: center; gap: 14px; margin-block: 10px; }
.footer-language [aria-current] { color: #fff; text-decoration: underline; text-underline-offset: 5px; }
.home-redesign .site-header { background: transparent; backdrop-filter: none; }
.home-redesign .site-header.is-scrolled { background: #ffffffed; backdrop-filter: blur(16px); border-bottom: 1px solid #dce4eb; }
.home-redesign .site-header.is-scrolled::after { display: none; }
.home-redesign .site-nav { gap: 22px; }
.home-redesign .site-nav .home-nav-cta { min-height: 44px; padding: 10px 16px; border: 1px solid #5b7f9c; border-radius: 4px; opacity: 1; color: white; background: #205f96; }
.home-redesign .site-nav .home-nav-cta:hover { background: #194e7b; }
.home-skip { position: fixed; top: 12px; left: 16px; z-index: 100; padding: 14px 20px; background: white; color: #143d7a; transform: translateY(-160%); }
.home-skip:focus { transform: none; }
.home-redesign main { scroll-margin-top: 90px; }
@media (max-width: 1150px) {
 .home-redesign .site-nav { gap: 16px; font-size: .8rem; }
 .home-redesign .site-header { padding-inline: 24px; gap: 16px; }
 .silo-layout { gap: 40px; }
 .silo-concept { padding: 28px; }
 .contact-layout, .assessment-layout { gap: 48px; }
 .footer-grid { gap: 32px; }
 .home-redesign #faq { gap: 36px; }
}
@media (max-width: 1024px) { .home-redesign .site-nav { gap: 0; } .home-redesign .site-nav .home-nav-cta { margin-top: 12px; justify-content: center; } }
@media (max-width: 900px) {
 .experience-layout { gap: 36px; }
 .founder-portrait img { height: 510px; }
 .silo-layout, .contact-layout { grid-template-columns: 1fr; gap: 40px; }
 .silo-concept { max-width: 580px; width: 100%; justify-self: center; }
 .insights-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .insight-card:last-child { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; }
 .insight-card:last-child .insight-art { display: flex; align-items: center; }
 .assessment-layout { grid-template-columns: 1fr; gap: 32px; }
 .assessment-route { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
 .assessment-route li { border-top: 1px solid #3c5368; align-items: flex-start; flex-direction: column; gap: 12px; padding: 22px 0; line-height: 1.6; }
 .home-redesign #faq { grid-template-columns: 1fr; }
 .footer-grid { grid-template-columns: 1.3fr 1fr; gap: 40px; }
}
@media (max-width: 800px) { .home-block { padding-block: 80px; } .experience-layout { grid-template-columns: 1fr; } .founder-portrait { max-width: 500px; width: 100%; } .founder-portrait img { height: 540px; } }
@media (max-width: 600px) {
 .home-block .home-section-head > p:not(.eyebrow):not(.silo-status) { font-size: 1rem; }
 .founder-portrait img { height: 420px; }
 .founder-portrait figcaption { padding: 56px 24px 24px; }
 .home-tools-secondary { grid-template-columns: 1fr; gap: 28px; padding-top: 28px; margin-top: 40px; }
 .home-tool + .home-tool { padding: 28px 0 0; border-left: 0; border-top: 1px solid #c4d4e2; }
 .silo-concept { padding: 26px 22px; }
 .silo-concept-title { gap: 14px; }
 .silo-concept-title > span:last-child { font-size: .72rem; }
 .home-tool { gap: 18px; }
 .insights-grid { grid-template-columns: 1fr; margin-top: 32px; }
 .insight-card:last-child { display: flex; grid-column: auto; }
 .home-actions { flex-direction: column; }
 .home-button { max-width: 100%; text-align: center; gap: 16px; }
 .assessment-route { grid-template-columns: 1fr; gap: 0; }
 .assessment-route li { flex-direction: row; border-top: 0; align-items: center; padding: 22px 0; gap: 20px; }
 .home-redesign #faq { padding: 72px 20px; gap: 28px; }
 .home-scheduler { padding: 24px; }
 .home-redesign .complaints-book-access { padding: 28px 20px; }
 .footer-grid { gap: 34px 24px; grid-template-columns: 1fr 1fr; }
 .footer-brand { grid-column: 1/-1; }
 .footer-grid a { min-height: 44px; }
 .home-redesign .home-footer { padding-block: 48px; }
 .home-redesign .site-header { padding-inline: 18px; }
}
@media (prefers-reduced-motion: reduce) { .home-redesign *, .home-redesign *::before, .home-redesign *::after { animation: none !important; transition: none !important; } .insight-card:hover .insight-art svg { transform: none; } }
.home-skip { clip-path: inset(50%); } .home-skip:focus { clip-path: none; }
.home-redesign :focus-visible { outline: 3px solid #2477c1; outline-offset: 4px; }

.concept-network { position: relative; margin: 24px 0; aspect-ratio: 4 / 3; }
.concept-network svg { display: block; width: 100%; height: 100%; }
.concept-network ul { list-style: none; margin: 0; padding: 0; }
.concept-node { position: absolute; transform: translate(-50%, -50%); padding: 9px 12px; border: 1px solid #6894b6; border-radius: 20px; background: #15334b; color: #d5e7f7; font-size: clamp(.72rem, 1.15vw, .95rem); white-space: nowrap; }
.concept-node-0 { left: 50%; top: 14%; }
.concept-node-1 { left: 82.5%; top: 40%; }
.concept-node-2 { left: 70%; top: 83.33%; }
.concept-node-3 { left: 30%; top: 83.33%; }
.concept-node-4 { left: 17.5%; top: 40%; }
@media (max-width: 600px) { .concept-node { padding: 7px 9px; font-size: .72rem; } }

/* Interactive SILO product preview. */
.silo-product-preview { margin:0; min-width:0; overflow:hidden; border:1px solid #32546d; border-radius:9px; background:#081d2e; color:#c6dbea; box-shadow:0 20px 50px #0a23351a; }
.silo-preview-bar { display:flex; align-items:center; gap:12px; padding:18px 20px; border-bottom:1px solid #29465c; }
.silo-preview-bar strong { color:#fff; letter-spacing:.15em; font-size:1.2rem; }
.silo-preview-bar > span:not(.silo-preview-avatar) { font-size:.65rem; line-height:1.5; }
.silo-preview-avatar { margin-left:auto; background:#1c466a; border-radius:50%; width:28px; height:28px; display:grid; place-items:center; font-size:.7rem; }
.silo-preview-app { display:grid; grid-template-columns:83px minmax(0,1fr); }
.silo-preview-sidebar { display:flex; flex-direction:column; gap:20px; padding:26px 9px; border-right:1px solid #29465c; font-size:.62rem; }
.silo-side-selected { color:#aee0ff; border-left:2px solid #cba957; padding-left:5px; }
.silo-preview-main { min-width:0; padding:22px 18px 18px; }
.silo-preview-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.silo-preview-heading h3 { font-size:1.1rem; color:#fff; margin:0; }
.silo-preview-heading > span { font-size:.58rem; color:#dfc37e; }
.silo-preview-filters { display:flex; flex-wrap:wrap; gap:6px; margin:17px 0 0; }
.silo-preview-filters button { font:inherit; font-size:.65rem; min-height:32px; padding:6px 9px; color:#b9d2e5; background:#102b40; border:1px solid #34546c; border-radius:4px; cursor:pointer; }
.silo-preview-filters button[aria-pressed=true] { border-color:#a8d9fa; color:#e9f7ff; background:#1c4665; }
.silo-preview-canvas { position:relative; aspect-ratio:400/310; margin:12px 0 16px; background:radial-gradient(ellipse,#133b5833,transparent 70%); }
.silo-preview-canvas svg { display:block; width:100%; height:100%; }
.silo-graph-node { position:absolute; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; gap:6px; padding:6px; font:inherit; font-size:.7rem; color:#c5def0; background:#0a2337; border:0; border-radius:5px; cursor:pointer; transition:color .2s,background .2s; }
.silo-graph-node > span { display:grid; place-items:center; width:40px; height:40px; font-size:1.4rem; color:#91d1fb; border:1px solid #5997c1; border-radius:50%; background:#12334d; transition:box-shadow .2s; }
.silo-graph-node[aria-pressed=true] { color:#efd18d; }
.silo-graph-node[aria-pressed=true] > span { color:#f7d78e; background:#3b3526; border-color:#d6b564; box-shadow:0 0 20px #e2bf5730; }
.silo-graph-node:hover { background:#173d59; color:#e0f4ff; }
.silo-graph-node:hover > span { box-shadow:0 0 18px #8dd4ff40; }
.silo-product-preview button:focus-visible { outline:2px solid #e5c275; outline-offset:4px; }
.silo-graph-node-0 { left:50%; top:14.52%; }
.silo-graph-node-1 { left:18.75%; top:40.32%; }
.silo-graph-node-2 { left:81.25%; top:40.32%; }
.silo-graph-node-3 { left:71.25%; top:82.26%; }
.silo-graph-node-4 { left:28.75%; top:82.26%; }
.silo-preview-selection { padding:14px; border:1px solid #36556a; border-left:2px solid #c5a257; border-radius:5px; background:#102b3f; }
.silo-selection-label { display:block; font-size:.6rem; color:#91b3cb; margin-bottom:6px; }
.silo-preview-selection strong { display:block; font-size:.85rem; color:#eed28e; }
.silo-preview-selection p { font-size:.72rem; line-height:1.6; margin:7px 0 10px; min-height:3.2em; color:#bbd0e0; }
.silo-related-frameworks { display:flex; flex-wrap:wrap; gap:6px; }
.silo-related-frameworks span { font-size:.6rem; padding:4px 7px; background:#183c55; border:1px solid #365d77; border-radius:3px; }
.silo-related-frameworks [hidden] { display:none; }
.silo-preview-indicators { display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; margin-top:16px; font-size:.62rem; color:#9ebed6; }
.silo-preview-indicators strong { color:#e2f0f8; font-size:.8rem; margin-right:4px; }
.silo-product-preview figcaption { padding:13px 20px; border-top:1px solid #29465c; font-size:.65rem; line-height:1.7; color:#9db8cd; }
.silo-graph-signal { opacity:0; }
@media (prefers-reduced-motion:no-preference) {
 .silo-graph-signal { opacity:.8; stroke-dasharray:.04 .96; animation:silo-connection-flow 12s linear infinite; animation-play-state:paused; }
 .is-silo-running .silo-graph-signal { animation-play-state:running; }
}
@keyframes silo-connection-flow { to { stroke-dashoffset:-1; } }
@media (max-width:1100px) { .silo-preview-sidebar { display:none; } .silo-preview-app { grid-template-columns:minmax(0,1fr); } }
@media (max-width:800px) { .silo-product-preview { width:100%; max-width:580px; justify-self:center; } }
@media (max-width:400px) { .silo-preview-main { padding:18px 12px; } .silo-preview-bar { padding:15px 12px; } .silo-preview-heading h3 { font-size:1rem; } .silo-graph-node { font-size:.65rem; } }

/* Supplied resource cover artwork, shown in full. */
.insight-art img { display:block; width:100%; height:auto; aspect-ratio:1122/1402; object-fit:contain; }

.resource-sr-only { position:absolute !important; width:1px; height:1px; padding:0 !important; margin:-1px !important; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.insight-body-compact { flex:0; padding:16px 26px; }
.insight-body-compact > .home-text-link { border-top:0; padding-top:0; margin-top:0; }
