/* Shared platform design. Keep operational forms and page-specific layouts intact. */
:root { --radius: 1rem; --paper: #f3f6f7; --shell: min(1240px, calc(100% - 3rem)); }
body { -webkit-font-smoothing: antialiased; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
section[id] { scroll-margin-top: 100px; }
.header-inner { gap: 1.25rem; }
.site-nav { gap: 1rem; }
.site-nav > a:not(.button) { font-size: .85rem; }
.site-nav > a[aria-current="page"] { text-decoration: underline; text-underline-offset: 8px; }
.button { border-radius: .65rem; }
.hero, .page-hero { background-color: #08111f; background-image: radial-gradient(ellipse at 90% 15%, rgba(53,208,180,.13), transparent 55%), linear-gradient(90deg,rgba(103,184,255,.035) 1px,transparent 1px),linear-gradient(rgba(103,184,255,.035) 1px,transparent 1px); background-size: auto,64px 64px,64px 64px; }
.hero { min-height: auto; }
.hero-grid { grid-template-columns: minmax(0,1.25fr) minmax(0,.85fr); gap: 4rem; padding-block: clamp(4rem,8vw,7rem); }
.hero h1 { font-size: clamp(3.1rem,5.4vw,5rem); letter-spacing: -.055em; line-height: 1.04; }
.hero-lead { font-size: 1.1rem; max-width: 560px; }
.page-hero h1 { font-size: clamp(2.7rem,5.4vw,4.8rem); max-width: 960px; }
.page-hero { border-bottom: 1px solid #294252; }
.delivery-console { border: 1px solid #37515e; border-radius: 1.1rem; background: linear-gradient(135deg,#142938,#0b1624); box-shadow: 0 24px 70px #0004; overflow: hidden; }
.console-heading,.console-footer { padding: 1.1rem 1.4rem; color: #afc4d1; font: .7rem ui-monospace,monospace; letter-spacing: .05em; }
.console-heading { display: flex; justify-content: space-between; border-bottom: 1px solid #314653; color: #67e1ca; }
.console-intro { padding: 1.5rem 1.4rem 1rem; margin: 0; font-size: 1.6rem; font-weight: 650; line-height: 1.25; }
.delivery-console > a { display: grid; grid-template-columns: 28px 1fr 18px; gap: .8rem; padding: 1.05rem 1.4rem; align-items: center; text-decoration: none; border-bottom: 1px solid #263e4b; }
.delivery-console > a:hover { background: #203847; }
.delivery-console strong,.delivery-console small { display: block; }
.delivery-console small { font-size: .8rem; color: #b5c6d1; margin-top: .1rem; }
.console-index { color: #67e1ca; font: .75rem ui-monospace,monospace; }
.console-footer { line-height: 1.6; }
.evidence-note { margin: 1.5rem 0 0; color: #b5c6d1; font-size: .85rem; max-width: 760px; }
.public-podcast-links { background: #0d1a29; color: #f5f7fb; }
.cta-panel,.training-home-highlight,.podcast-hero,.podcast-community { background-color: #102238; }
/* Dark media panels remain dark in either theme: give all copy a local palette. */
.work-visual-content,.creative-media-content,.private-system-content,.product-visual-content,.delivery-console { color: #f5f7fb; --muted: #c0ced9; }
.visual-work-card .delivery-evidence,.creative-media-card .delivery-evidence,.private-system-card .delivery-evidence,
.section-dark .check-list { color: #c0ced9; }
.visual-work-card .delivery-evidence li::before,.creative-media-card .delivery-evidence li::before { color: #35d0b4; }
.proof-strip { background: var(--surface,#fff); }
.proof-grid > div { padding: 1.8rem; }
.proof-grid strong { font-size: 2rem; letter-spacing: -.04em; }
.section-heading h2 { font-size: clamp(2rem,3.5vw,3.1rem); }
.offer-card,.pillar-card,.work-card,.insight-card { border-radius: 1rem; box-shadow: 0 5px 22px #08111f06; }
.offer-card { border-top: 3px solid var(--lime-dark); }
.offer-grid,.pillar-grid,.product-grid,.client-proof-grid,.insight-grid { gap: 1.4rem; }
.section-dark + .section-dark { border-top: 1px solid #263d4d; }
.visual-work-card,.creative-media-card,.private-system-card,.visual-product-card { padding: 0; min-height: 0; display: flex; flex-direction: column; }
.visual-work-card::after,.creative-media-card::after,.private-system-card::after,.visual-product-card::after { display: none; }
.work-visual-background,.creative-media-background,.private-system-background,.product-visual-background { position: static; inset: auto; z-index: auto; width: 100%; height: 235px; object-fit: contain; background: #142333; opacity: 1; filter: none; }
.work-visual-content,.creative-media-content,.private-system-content,.product-visual-content { position: relative; padding: 1.6rem; height: auto; flex: 1; background: #0d1a29; }
.private-system-background { filter: blur(6px); }
.work-card-meta,.card-top { flex-wrap: wrap; gap: .65rem; }
.hero-visual { min-height: 0 !important; display: grid; grid-template-columns: 1fr; gap: 1rem; width: 100%; }
.hero-visual img { position: static; width: 100%; height: auto; max-height: 310px; aspect-ratio: auto; object-fit: contain; background: #142333; }
.hero-visual span { position: static; justify-self: start; }
.site-footer { border-top: 1px solid #263d4d; }
.footer-bottom div { flex-wrap: wrap; }
@media (max-width: 1200px) {
 .nav-toggle { display: block; }
 .site-nav { position: absolute; top: 82px; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: .2rem; padding: 1rem 1.5rem; background: #08111f; max-height: calc(100dvh - 82px); overflow-y: auto; }
 .site-nav.is-open { display: flex; }
 .site-nav > a,.nav-signout button { padding: .7rem; }
}
@media (max-width: 850px) {
 .hero-grid { grid-template-columns: 1fr; gap: 2.5rem; }
 .delivery-console { max-width: 620px; width: 100%; }
}
@media (max-width: 620px) {
 :root { --shell: min(1240px,calc(100% - 2rem)); }
 .site-nav { top: 72px; max-height: calc(100dvh - 72px); }
 .hero h1 { font-size: clamp(2.6rem,11vw,3.9rem); }
 .page-hero h1 { font-size: clamp(2.5rem,10vw,3.7rem); }
 .page-hero { padding-block: 3rem; }
 .proof-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .proof-grid > div { padding: 1rem; border-bottom: 1px solid var(--line); }
 .proof-grid span { font-size: .75rem; }
 .work-visual-background,.creative-media-background,.private-system-background,.product-visual-background { height: auto; max-height: 230px; }
 .work-visual-content,.creative-media-content,.private-system-content,.product-visual-content { padding: 1.25rem; }
 .button-row > .button { flex: 1 1 160px; }
 .console-intro { font-size: 1.35rem; }
}
