/* Apply Signal tokens to retained functional markup. Never load on legacy base.html. */
.signal-implemented { --ink:#102d3f; --paper:#f8f7f2; --purple:#245d74; --light:#dfe8ed; --muted:#526971; --line:#bacbd0; }
.signal-implemented main { min-width:0; }
/* Legacy family styles set h1 to white; light-surface pages need an explicit default. */
.signal-implemented main>.section h1 { color:var(--sg-ink); }
.signal-implemented main>.section>.container>h1 { margin:20px 0 24px; }
.signal-implemented .container { width:min(calc(100% - 96px),1440px); max-width:1440px; margin-inline:auto; }
.signal-implemented .container.narrow { max-width:900px; }
.signal-implemented .sg-header,.signal-implemented .sg-footer { max-width:none; margin:0; padding:0; }
.signal-implemented .sg-header nav,.signal-implemented .sg-footer nav { flex-wrap:wrap; }
.signal-implemented .sg-footer { padding:45px 0; }
.signal-implemented .sg-footer p { margin-top:16px; }
.signal-implemented .button { display:inline-flex; align-items:center; justify-content:center; padding:12px 19px; min-height:46px; background:#0b2534; border:1px solid #0b2534; border-radius:2px; color:#fff; font:600 16px/1.45 var(--sg-sans); text-decoration:none; white-space:normal; }
.signal-implemented .button:hover { background:#28465b; }
.signal-implemented .button-outline,.signal-implemented .secondary { background:transparent; color:#204f64; border-color:#7796a5; }
.signal-implemented .button-outline:hover { background:#dfe8ed; }
.signal-implemented :is(.eyebrow,.dir-eyebrow) { color:#375f70; font:11px/1.5 var(--sg-mono); letter-spacing:.08em; text-transform:uppercase; }
.signal-implemented .section,.signal-implemented .dir-section { padding-top:44px; padding-bottom:44px; }
.signal-implemented :is(.tools-hero,.dir-hero,.resource-hero,.signal-learning-main>.hero) { position:relative; isolation:isolate; overflow:hidden; background:#102d3f; color:#f4f8f7; padding:54px 0; border-bottom:1px solid #547888; }
.signal-implemented :is(.tools-hero,.dir-hero,.resource-hero,.signal-learning-main>.hero):before { content:''; position:absolute; right:0; top:0; width:29%; height:100%; background:#16384b; z-index:-2; border-left:1px solid #3f6174; }
.signal-implemented :is(.tools-hero,.dir-hero,.resource-hero,.signal-learning-main>.hero):after { content:''; position:absolute; right:-120px; top:-140px; width:600px; height:620px; background:url('../images/signal/terrain-dark.svg') center/cover no-repeat; opacity:.38; z-index:-1; }
.signal-implemented :is(.tools-hero,.dir-hero,.resource-hero,.signal-learning-main>.hero) :is(h1,h2) { color:#f4f8f7; font-family:var(--sg-serif); font-weight:500; max-width:1000px; margin:18px 0; }
.signal-implemented :is(.tools-hero,.dir-hero,.resource-hero,.signal-learning-main>.hero) :is(p,a,.eyebrow,.dir-eyebrow,.meta,.dir-intro,.dir-hero-meta) { color:#c7e0e4; }
.signal-implemented :is(.tools-hero,.dir-hero) .button { background:#9de5ce; color:#0b2534; }
.signal-implemented :is(.tools-hero,.dir-hero) p { max-width:850px; line-height:1.6; }
.signal-implemented .directory-main { background:#f8f7f2; color:#102d3f; font-family:var(--sg-sans); }
.signal-implemented .directory-main :is(h1,h2,h3) { font-family:var(--sg-serif); font-weight:500; color:inherit; }
.signal-implemented .directory-main h1 { font-size:clamp(44px,4.7vw,76px); }
.signal-implemented .directory-main h2 { font-size:34px; }
.signal-implemented .directory-main .dir-section.container,.signal-implemented .directory-main .dir-section>.container { width:min(calc(100% - 96px),1440px); }
.signal-implemented :is(.dir-filter,.resource-toolbar) { background:#203f51; color:#f1f7f7; border:1px solid #203f51; border-left:4px solid #9de5ce; border-radius:0; box-shadow:0 5px 0 #cfdbdc; }
.signal-implemented .dir-filter { grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); }
.signal-implemented .dir-filter label,.signal-implemented .resource-toolbar label { color:#f1f7f7; }
.signal-implemented :is(.dir-grid,.tools-grid,.collections-grid,.signal-learning-main .grid) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; }
.signal-implemented :is(.dir-card,.tool-card,.collection-card,.signal-learning-main .card) { --card-deep:#183d53; --card-soft:#e3edf2; border:1px solid #809aaa; border-bottom:3px solid var(--card-deep); border-radius:0; background:var(--card-soft); padding:0 24px 24px; color:#102d3f; box-shadow:none; display:flex; flex-direction:column; gap:16px; min-width:0; overflow:hidden; }
.signal-implemented :is(.dir-card,.tool-card,.collection-card,.signal-learning-main .card):before { content:''; display:block; height:66px; flex-shrink:0; margin:0 -24px 3px; background:var(--card-deep) url('../images/signal/terrain-mini.svg') right center/180px no-repeat; }
.signal-implemented [data-category='communities'],.signal-implemented [data-category='podcasts'],.signal-implemented [data-category='developer-tools'],.signal-implemented .collection-card[data-collection='developer-onboarding'],.signal-implemented .collection-card[data-collection='readme'] { --card-deep:#254d48; --card-soft:#e4eee7; }
.signal-implemented [data-category='launch-platforms'],.signal-implemented [data-category='events'],.signal-implemented .collection-card[data-collection='marketing-hiring'],.signal-implemented .collection-card[data-collection='growth-planning'] { --card-deep:#544b37; --card-soft:#f0eadc; }
.signal-implemented .dir-card:is([data-category='communities'],[data-category='podcasts'],[data-category='developer-tools']) { --card-deep:#254d48; --card-soft:#e4eee7; }
.signal-implemented .dir-card:is([data-category='launch-platforms'],[data-category='events']) { --card-deep:#544b37; --card-soft:#f0eadc; }
.signal-implemented :is(.dir-card,.tool-card,.collection-card,.signal-learning-main .card) :is(h2,h3) { font-size:31px; line-height:1.1; margin:0; }
.signal-implemented :is(.dir-card,.tool-card,.collection-card,.signal-learning-main .card) p { margin:0; color:#334f5d; font-size:15px; line-height:1.65; }
.signal-implemented :is(.dir-card,.tool-card,.collection-card,.signal-learning-main .card) h2 a,.signal-implemented .card h3 a { color:#102d3f; }
.signal-implemented .dir-card-bottom { margin-top:auto; border-color:#91acb6; padding-top:16px; }
.signal-implemented .dir-card-bottom a,.signal-implemented .dir-more,.signal-implemented .tool-card>a,.signal-implemented .text-link { font-size:16px; line-height:1.5; font-weight:600; }
.signal-implemented :is(.dir-tag,.dir-price,.dir-score-chip,.dir-topics span,.tag) { background:#ffffff80; color:#315463; border-color:#a6b9bf; border-radius:2px; }
.signal-implemented :is(.dir-action-panel,.resource-guide,.signup-panel) { background:#153548; color:#f1f8f8; border:1px solid #153548; border-top:4px solid #9de5ce; border-radius:0; padding:28px; }
.signal-implemented :is(.dir-action-panel,.resource-guide,.signup-panel) :is(p,label,legend,a,.eyebrow,.dir-eyebrow,.fine,.field-help) { color:#c9e1e4; }
.signal-implemented :is(.dir-action-panel,.resource-guide,.signup-panel) :is(h2,h3) { color:#f1f8f8; }
.signal-implemented .resource-guide>:not(:last-child) { margin-bottom:18px; }
.signal-implemented .resource-guide :is(h2,h3):not(:first-child) { margin-top:26px; }
.signal-implemented :is(.dir-action-panel,.resource-guide,.signup-panel) .button { background:#9de5ce; color:#0b2534; border-color:#9de5ce; }
.signal-implemented :is(.dir-help-panel,.dir-guidance,.dir-note,.dir-hub-card,.developer-banner,.newsletter-callout,.resource-metrics article) { background:#e3edf2; border-radius:0; border-color:#a5bbc3; }
.signal-implemented .dir-hub-card { border-top:4px solid #31596a; }
.signal-implemented .dir-hub-card h2 { margin-bottom:18px; }
.signal-implemented .dir-hub-card p { margin-bottom:20px; }
.signal-implemented .dir-hub-types span { background:#f8f7f2; border:1px solid #a5bbc3; border-radius:2px; color:#315463; }
.signal-implemented .dir-section:nth-of-type(odd)>.dir-hub-card { background:#153548; color:#f4f8f7; }
.signal-implemented .dir-section:nth-of-type(odd)>.dir-hub-card p { color:#c9e1e4; }
.signal-implemented .dir-section:nth-of-type(odd)>.dir-hub-card .button { background:#9de5ce; color:#0b2534; border-color:#9de5ce; }
.signal-implemented .dir-breadcrumbs li { color:#c7e0e4; }
.signal-implemented .dir-category-nav a { border-radius:2px; border-color:#a5bbc3; background:#e3edf2; }
.signal-implemented .dir-category-nav a[aria-current=page] { background:#153548; color:#fff; }
.signal-implemented .dir-card:has(>.dir-card-top):before { display:none; }
.signal-implemented .dir-card>.dir-card-top { margin:0 -24px 3px; padding:20px 24px; min-height:80px; background:var(--card-deep) url('../images/signal/terrain-mini.svg') right center/150px no-repeat; color:#e6f3f2; gap:12px; }
.signal-implemented .dir-card-top .dir-tag,.signal-implemented .dir-card-top .dir-price,.signal-implemented .dir-card-top .dir-small { background:transparent; color:#e6f3f2; }
.signal-implemented .collections-intro { margin-bottom:30px; }
.signal-implemented .collection-card[data-collection='developer-onboarding-review'],.signal-implemented .collection-card[data-collection='developer-content-planner'] { --card-deep:#254d48; --card-soft:#e4eee7; }
.signal-implemented .collection-card[data-collection='marketing-hiring-planner'],.signal-implemented .collection-card[data-collection='launch-growth-planner'],.signal-implemented .collection-card[data-collection='pipeline-budget-planner'] { --card-deep:#544b37; --card-soft:#f0eadc; }
.signal-implemented :is(.tool-form,.tool-result,.dir-profile-content>section,.dir-takeaway,.dir-evidence-check) { background:#fff; border:1px solid #a5bbc3; border-radius:2px; color:#102d3f; }
.signal-implemented .tool-result { padding:28px; }
.signal-implemented .resource-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.signal-implemented .resource-metrics article { min-width:0; }
.signal-implemented .tool-form { padding:28px; display:grid; gap:14px; }
.signal-implemented :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select) { max-width:100%; min-width:0; padding:12px; border:1px solid #86a4b2; border-radius:2px; background:#fff; color:#102d3f; font:16px/1.5 var(--sg-sans); }
.signal-implemented :is(.tool-form,.signal-learning-main form) input:not([type=checkbox]):not([type=radio]),.signal-implemented textarea { width:100%; }
.signal-implemented .tool-form label { font-size:15px; font-weight:600; }
.signal-implemented textarea.report-editor { font:14px/1.65 var(--sg-mono); tab-size:2; }
.signal-implemented .tool-form fieldset { min-width:0; padding:18px; border:1px solid #a5bbc3; }
.signal-implemented .tool-form fieldset label { display:block; margin-bottom:18px; }
.signal-implemented .tool-mode-section,.signal-implemented .tool-service { background:#dfe8ed; }
.signal-implemented .tool-modes a { border-radius:2px; border-color:#8ea9b5; color:#204f64; }
.signal-implemented .tool-modes a.active { background:#153548; border-color:#153548; color:#fff; }
.signal-implemented .tool-modes a.active small { color:#c7dfdf; }
.signal-implemented .tool-service .container { max-width:950px; margin-left:max(48px,calc((100vw - 1440px)/2)); }
.signal-implemented .table-wrap,.signal-implemented .table-scroll { overflow:auto; max-width:100%; }
.signal-implemented table { width:100%; border-collapse:collapse; font-size:14px; }
.signal-implemented td,.signal-implemented th { padding:13px; border:1px solid #afc2c9; text-align:left; overflow-wrap:anywhere; }
.signal-implemented th,.signal-implemented .table-wrap th { background:#203f51; color:#eaf5f3; }
.signal-implemented tbody tr:nth-child(even) { background:#eff3f3; }
.signal-implemented :is(pre,.dir-resource-preview) { background:#e4ebed; border:1px solid #afc2c9; padding:20px; overflow:auto; font:14px/1.6 var(--sg-mono); }
.signal-implemented img { max-width:100%; height:auto; }
.signal-implemented .resource-page { max-width:none; padding:0; }
.signal-implemented .resource-hero { padding-inline:max(48px,calc((100vw - 1440px)/2)); }
.signal-implemented .resource-content { width:min(calc(100% - 96px),900px); margin:45px auto; }
.signal-implemented .resource-content :is(h2,h3) { margin:32px 0 18px; }
.signal-implemented .resource-content p { margin-bottom:20px; }
.signal-implemented .resource-content:has(.signal-article-grid) { width:min(calc(100% - 96px),1440px); }
.signal-implemented .signal-article-grid .sg-card-content h3 { margin:0 0 18px; }
.signal-implemented .signal-article-grid .sg-card-content p { margin-bottom:25px; }
.signal-learning .signal-learning-main { max-width:none; padding:0; margin:0; }
.signal-learning-main>:not(.hero) { width:min(calc(100% - 96px),1200px); margin-left:auto; margin-right:auto; }
.signal-learning-main>.hero { padding-inline:max(48px,calc((100vw - 1200px)/2)); }
.signal-implemented .signal-learning-main>.hero { padding-inline:max(48px,calc((100vw - 1200px)/2)); }
.signal-implemented .signal-learning-main>.hero>.button { color:#0b2534; background:#9de5ce; border-color:#9de5ce; }
.signal-implemented.signal-implemented .resource-hero { padding-inline:max(48px,calc((100vw - 1440px)/2)); }
.signal-learning-main>.hero>.button { background:#9de5ce; color:#0b2534; }
.signal-learning-main .columns { margin-top:42px; margin-bottom:48px; grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr); gap:38px; }
.signal-learning-main :is(p,.prose p) { margin-bottom:20px; }
.signal-learning-main h2 { margin-bottom:23px; }
.signal-learning-main .reading { max-width:800px; padding-top:30px; }
.signal-learning-main .reading h1 { margin:20px 0 30px; }
.signal-learning-main .prose h2,.signal-learning-main .prose h3 { margin-top:32px; }
.signal-learning-main .newsletter-callout { max-width:390px; margin-left:max(48px,calc((100vw - 1200px)/2)); padding:28px; }
.signal-learning-main .lesson-number { border-radius:2px; background:#153548; color:#d6ece8; }
.signal-learning-main .curriculum li { background:#e8eef0; padding:22px; margin:12px 0; border:1px solid #a9bec5; }
.signal-learning-main .curriculum h3 { font-size:28px; }
.signal-learning-main .prose { overflow-wrap:anywhere; }
.signal-learning-main .signup-panel>.signal-promo-section { width:100%; padding:0; margin-top:28px; }
.signal-contact { padding:30px 0 45px; background:#0b2534; color:#d2e4e5; }
.signal-contact summary { cursor:pointer; font-size:18px; }
.signal-contact .contact-form { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:25px 0 0; max-width:900px; }
.signal-contact textarea,.signal-contact button,.signal-contact [role=status] { grid-column:1/-1; }
.signal-contact .contact-form button { justify-self:start; background:#9de5ce; color:#0b2534; }
.signal-contact label { font-size:14px; }
.signal-contact label input,.signal-contact label textarea { display:block; margin-top:7px; }
.signal-implemented .signal-promo-section { padding-block:35px; }
.signal-implemented .sg-promo-layout>.sg-promo { min-width:0; }
.signal-resource-library .sg-tabs { margin-bottom:26px; }
.signal-resource-library .sg-card h2 { font-size:31px; margin-bottom:20px; }
.signal-resource-library .sg-card-content p { margin-bottom:25px; }
.signal-library-more { margin-top:40px; border-top:1px solid #a5bbc3; padding-top:25px; }
.signal-library-more summary { font-size:18px; }
.signal-library-more .sg-prose { margin:30px auto; }
.signal-learning-main>.reading>h1 { padding:28px; background:#153548 url('../images/signal/terrain-mini.svg') right center/230px no-repeat; color:#f4f8f7; }
@media(max-width:1100px){.signal-implemented :is(.dir-grid,.tools-grid,.collections-grid,.signal-learning-main .grid) { grid-template-columns:repeat(2,minmax(0,1fr)); }.signal-implemented .sg-nav{gap:13px;}.signal-implemented .dir-profile-layout{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:25px;}}
@media(max-width:760px){
 .signal-implemented .sg-header .sg-nav { display:flex; }
 .signal-implemented.sg-nav-enhanced .sg-header .sg-nav:not(.is-open) { display:none; }
 .signal-implemented .container,.signal-implemented .directory-main .dir-section.container,.signal-implemented .directory-main .dir-section>.container,.signal-implemented .resource-content,.signal-learning-main>:not(.hero) { width:calc(100% - 40px); }
 .signal-implemented :is(.dir-grid,.tools-grid,.collections-grid,.signal-learning-main .grid,.resource-layout,.dir-profile-layout,.signal-learning-main .columns) { grid-template-columns:minmax(0,1fr); }
 .signal-implemented .dir-filter { grid-template-columns:minmax(0,1fr); }
 .signal-implemented .resource-hero,.signal-learning-main>.hero { padding:38px 20px; }
 .signal-implemented.signal-implemented .resource-hero,.signal-implemented .signal-learning-main>.hero { padding:38px 20px; }
 .signal-implemented .tool-service .container,.signal-learning-main .newsletter-callout { margin-inline:auto; }
 .signal-implemented .resource-guide { position:static; }
 .signal-contact .contact-form { grid-template-columns:1fr; }
 .signal-learning-main .signup-panel>.signal-promo-section { width:100%; }
 .signal-implemented .signal-promo-section { padding-block:25px; }
 .signal-implemented .resource-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
