@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&display=swap');

/* Opt-in system: never loaded into legacy or protected article layouts. */
.sg-site {
  --sg-navy:#0b2534; --sg-panel:#102d3f; --sg-panel-soft:#28465b;
  --sg-paper:#f8f7f2; --sg-white:#ffffff; --sg-steel:#dfe8ed;
  --sg-neutral:#dce2df; --sg-mint:#9de5ce; --sg-teal:#26716c;
  --sg-ink:#102d3f; --sg-muted:#526971; --sg-line:#bacbd0;
  --sg-line-dark:#5b7b8b; --sg-link:#245d74; --sg-error:#993c3c;
  --sg-warning:#795c22; --sg-success:#23644d; --sg-space-1:4px;
  --sg-space-2:8px; --sg-space-3:12px; --sg-space-4:16px;
  --sg-space-5:24px; --sg-space-6:32px; --sg-space-7:48px;
  --sg-space-8:64px; --sg-space-9:80px; --sg-space-10:96px;
  --sg-wrap:1440px; --sg-reading:720px; --sg-radius:2px;
  --sg-sans:'DM Sans',Arial,sans-serif; --sg-serif:'Newsreader',Georgia,serif;
  --sg-mono:'DM Mono',monospace;
  margin:0; background:var(--sg-paper); color:var(--sg-ink);
  font:16px/1.6 var(--sg-sans);
}
.sg-site * { box-sizing:border-box; }
.sg-site [hidden] { display:none!important; }
.sg-site a { color:var(--sg-link); text-underline-offset:4px; }
.sg-site button,.sg-site input,.sg-site select,.sg-site textarea { font:inherit; }
.sg-site button,.sg-site summary { cursor:pointer; }
.sg-site :focus-visible { outline:3px solid var(--sg-teal); outline-offset:4px; }
.sg-site h1,.sg-site h2,.sg-site h3,.sg-site p,.sg-site figure { margin:0; }
.sg-site h1,.sg-site h2,.sg-site h3 { font-family:var(--sg-serif); font-weight:500; letter-spacing:-.045em; line-height:1.04; }
.sg-site h1 { font-size:clamp(44px,4.7vw,76px); }
.sg-site h2 { font-size:clamp(32px,3.2vw,51px); }
.sg-site h3 { font-size:30px; }
.sg-site h1 em,.sg-site h2 em { font-style:normal; color:var(--sg-teal); }
.sg-wrap { width:min(calc(100% - 96px),var(--sg-wrap)); margin-inline:auto; }
.sg-skip { position:absolute; top:-100px; left:20px; z-index:100; padding:12px; background:white; }
.sg-skip:focus { top:10px; }
.sg-header { background:var(--sg-navy); color:white; border-bottom:1px solid var(--sg-line-dark); }
.sg-header-inner { display:flex; justify-content:space-between; align-items:center; gap:25px; min-height:85px; }
.sg-brand { display:flex; align-items:center; gap:13px; text-decoration:none; color:inherit!important; font:27px/1 var(--sg-serif); }
.sg-brand-mark { display:grid; place-items:center; width:40px; height:40px; border:1px solid #b1c8ce; font:12px var(--sg-mono); }
.sg-brand small { display:block; margin-top:6px; font:9px var(--sg-mono); color:#b4c9d3; text-transform:uppercase; letter-spacing:.08em; }
.sg-nav { display:flex; align-items:center; gap:25px; }
.sg-nav a { color:#edf5f5; text-decoration:none; font-size:13px; }
.sg-nav a[aria-current=page] { color:var(--sg-mint); text-decoration:underline; }
.sg-menu { display:none; background:transparent; border:1px solid var(--sg-line-dark); padding:7px 12px; color:white; }
.sg-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; padding:12px 18px; background:var(--sg-navy); color:white!important; border:1px solid var(--sg-navy); border-radius:var(--sg-radius); text-decoration:none; font-size:13px!important; font-weight:600; line-height:1.4; }
.sg-button:hover { background:var(--sg-panel-soft); }
.sg-button--mint { background:var(--sg-mint); color:var(--sg-navy)!important; border-color:var(--sg-mint); }
.sg-button--mint:hover { background:#c3f1e3; }
.sg-button--outline { color:var(--sg-ink)!important; background:transparent; border-color:#96adb7; }
.sg-button--outline:hover { background:var(--sg-steel); }
.sg-button:disabled { cursor:not-allowed; opacity:.5; }
.sg-kicker,.sg-meta,.sg-chip,.sg-breadcrumb,.sg-fact-label { font:10px/1.5 var(--sg-mono); letter-spacing:.08em; }
.sg-kicker { display:flex; align-items:center; gap:12px; text-transform:uppercase; color:var(--sg-teal); }
.sg-kicker:before { content:''; width:33px; height:1px; background:currentColor; }
.sg-meta { color:var(--sg-muted); letter-spacing:0; }
.sg-breadcrumb { display:flex; gap:10px; flex-wrap:wrap; color:var(--sg-muted); margin-bottom:22px; }
.sg-hero { position:relative; isolation:isolate; overflow:hidden; padding:36px 0 34px; background:var(--sg-steel); border-bottom:1px solid var(--sg-line); }
.sg-hero h1 { font-size:clamp(44px,4vw,64px); }
.sg-hero:after { content:''; position:absolute; z-index:-1; width:490px; height:390px; top:-130px; right:-40px; background:url('../images/signal/contour-stream.svg') center/contain no-repeat; opacity:.32; }
.sg-hero h1 { max-width:1040px; margin:20px 0 17px; }
.sg-lead { max-width:800px; font-size:19px; color:var(--sg-muted); }
.sg-hero-meta { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:25px; }
.sg-hero--dark { background:var(--sg-navy); color:white; }
.sg-hero--dark .sg-kicker,.sg-hero--dark h1 em { color:var(--sg-mint); }
.sg-hero--dark .sg-lead,.sg-hero--dark .sg-meta,.sg-hero--dark .sg-breadcrumb,.sg-hero--dark a { color:#c4d8df; }
.sg-hero--dark:after { background-image:url('../images/signal/contour-island.svg'); opacity:.3; }
.sg-section { padding-block:55px; }
.sg-section-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:28px; }
.sg-section-head p { max-width:550px; color:var(--sg-muted); font-size:15px; }
.sg-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.sg-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.sg-card { display:flex; flex-direction:column; position:relative; padding:25px; background:white; border:1px solid var(--sg-line); min-height:240px; }
.sg-card:hover { border-color:#648e9b; }
.sg-card h3 { margin:21px 0 12px; }
.sg-card h3 a { text-decoration:none; color:var(--sg-ink); }
.sg-card p { color:var(--sg-muted); font-size:14px; }
.sg-card .sg-card-link { margin-top:auto; padding-top:22px; font-size:12px; }
.sg-card-footer { display:flex; justify-content:space-between; gap:15px; align-items:center; margin-top:24px; padding-top:15px; border-top:1px solid var(--sg-line); }
.sg-chip { display:inline-block; padding:5px 9px; border:1px solid var(--sg-line); border-radius:40px; letter-spacing:0; color:var(--sg-muted); white-space:normal; }
.sg-chip--mint { background:#e3f2eb; color:#215a4c; border-color:#b4d4c7; }
.sg-chips { display:flex; flex-wrap:wrap; gap:8px; }
.sg-toolbar { display:grid; grid-template-columns:2fr 1fr auto; gap:16px; align-items:end; padding:21px; background:#edf1f1; border:1px solid var(--sg-line); margin-bottom:22px; }
.sg-field { display:grid; gap:8px; font-size:13px; font-weight:600; }
.sg-field input,.sg-field select,.sg-field textarea { width:100%; min-width:0; border:1px solid #8ba4b0; background:white; color:var(--sg-ink); padding:12px; border-radius:2px; font-size:15px; font-weight:400; }
.sg-field textarea { min-height:130px; resize:vertical; }
.sg-field small { font-size:12px; color:var(--sg-muted); font-weight:400; }
.sg-field input:disabled { background:#e8eded; }
.sg-field [aria-invalid=true] { border:2px solid var(--sg-error); }
.sg-fieldset { border:0; margin:0; padding:0; }
.sg-fieldset legend { font:27px var(--sg-serif); margin-bottom:20px; }
.sg-form { display:grid; gap:23px; }
.sg-form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.sg-check { display:flex; gap:10px; align-items:start; font-size:14px; }
.sg-check input { margin-top:5px; accent-color:var(--sg-teal); }
.sg-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.sg-result-bar { display:flex; justify-content:space-between; gap:20px; padding:6px 0 23px; font-size:13px; }
.sg-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.sg-tabs button { background:transparent; border:1px solid #9db3ba; padding:8px 13px; font-size:12px; color:var(--sg-ink); }
.sg-tabs button[aria-pressed=true] { background:var(--sg-navy); color:white; border-color:var(--sg-navy); }
.sg-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:45px; align-items:start; }
.sg-layout--reading { grid-template-columns:210px minmax(0,720px) 1fr; gap:38px; }
.sg-panel { padding:26px; border:1px solid var(--sg-line); background:white; }
.sg-panel h2,.sg-panel h3 { margin-bottom:17px; font-size:30px; }
.sg-panel p { color:var(--sg-muted); font-size:14px; margin-bottom:18px; }
.sg-panel--dark { background:var(--sg-panel); color:white; border-color:var(--sg-panel); }
.sg-panel--dark p,.sg-panel--dark a,.sg-panel--dark .sg-meta { color:#c2d8e0; }
.sg-panel--dark .sg-kicker { color:var(--sg-mint); }
.sg-aside { display:grid; gap:20px; }
.sg-sticky { position:sticky; top:24px; }
.sg-toc { padding-top:8px; font-size:12px; }
.sg-toc a { display:block; padding:10px 0; border-bottom:1px solid var(--sg-line); text-decoration:none; }
.sg-prose { font-size:18px; line-height:1.8; }
.sg-prose p { margin-bottom:23px; }
.sg-prose h2 { font-size:38px; margin:45px 0 20px; }
.sg-prose h3 { font-size:28px; margin:30px 0 15px; }
.sg-prose li { margin-bottom:10px; }
.sg-prose pre { white-space:pre-wrap; overflow-wrap:anywhere; padding:24px; background:var(--sg-navy); color:#d5ece8; font:13px/1.7 var(--sg-mono); }
.sg-prose code { font:13px var(--sg-mono); }
.sg-callout { padding:22px 25px; background:#e8efed; border-left:3px solid var(--sg-teal); font-size:15px; margin:23px 0; }
.sg-alert { padding:15px 18px; border:1px solid #a7c6bb; background:#e8f1eb; font-size:14px; color:#245d4a; }
.sg-alert--warning { background:#f3eee0; border-color:#cbbb91; color:var(--sg-warning); }
.sg-alert--error { background:#f7e9e7; border-color:#cd9d96; color:var(--sg-error); }
.sg-alert--info { background:#e9eff3; border-color:#a6b9c7; color:#34576b; }
.sg-status { display:inline-flex; gap:7px; align-items:center; font:11px var(--sg-mono); }
.sg-status:before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; }
.sg-status--pass { color:var(--sg-success); }.sg-status--attention { color:var(--sg-warning); }.sg-status--unknown { color:var(--sg-muted); }
.sg-empty { grid-column:1/-1; padding:50px 25px; border:1px dashed #91abb5; background:white; text-align:center; }
.sg-empty p { margin:15px auto 23px; max-width:500px; color:var(--sg-muted); }
.sg-table-wrap { overflow-x:auto; border:1px solid var(--sg-line); }
.sg-table { width:100%; border-collapse:collapse; background:white; font-size:14px; }
.sg-table th,.sg-table td { text-align:left; padding:16px 18px; border-bottom:1px solid var(--sg-line); vertical-align:top; }
.sg-table th { background:#e8eef1; font:10px var(--sg-mono); text-transform:uppercase; letter-spacing:.06em; }
.sg-table tr:last-child td { border:0; }
.sg-table caption { text-align:left; padding:14px 18px; background:white; font-size:13px; }
.sg-stats { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--sg-line); margin:26px 0; background:white; }
.sg-stats>div { padding:22px; border-right:1px solid var(--sg-line); }
.sg-stats>div:last-child { border:0; }
.sg-stats strong { display:block; font:43px var(--sg-serif); }
.sg-stats span { font-size:12px; color:var(--sg-muted); }
.sg-facts { margin:0; }.sg-facts dt { margin-top:18px; font:10px var(--sg-mono); text-transform:uppercase; color:var(--sg-muted); }.sg-facts dd { margin:6px 0 0; font-size:14px; }
.sg-steps { list-style:none; padding:0; counter-reset:steps; }
.sg-steps>li { counter-increment:steps; display:grid; grid-template-columns:42px 1fr; gap:17px; padding:22px 0; border-bottom:1px solid var(--sg-line); }
.sg-steps>li:before { content:counter(steps,decimal-leading-zero); font:14px var(--sg-mono); color:var(--sg-teal); padding-top:5px; }
.sg-steps h3 { margin-bottom:8px; }.sg-steps p { color:var(--sg-muted); font-size:15px; }
.sg-message { width:min(calc(100% - 48px),620px); margin:65px auto; }
.sg-message h1 { font-size:48px; margin-bottom:21px; }
.sg-message .sg-form { margin-top:28px; }
.sg-inline-code { padding:2px 5px; background:#e6edee; font:12px var(--sg-mono); overflow-wrap:anywhere; }
.sg-footer { background:var(--sg-navy); color:white; padding:45px 0; border-top:1px solid var(--sg-line-dark); }
.sg-footer-inner { display:flex; align-items:start; justify-content:space-between; gap:35px; }
.sg-footer a { color:#c4d8df; font-size:12px; }.sg-footer p { font-size:12px; color:#b4c9d3; margin-top:18px; }
.sg-footer nav { display:flex; flex-wrap:wrap; gap:23px; padding-top:10px; }
@media(max-width:1100px) { .sg-layout--reading { grid-template-columns:180px minmax(0,1fr); }.sg-layout--reading>.sg-aside { grid-column:2; }.sg-nav{gap:14px;}.sg-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:760px) {
  .sg-wrap { width:calc(100% - 40px); }.sg-header-inner{min-height:75px;flex-wrap:wrap;gap:0;}.sg-brand{font-size:23px;}.sg-brand-mark{width:33px;height:33px;}
  .sg-menu{display:block;}.sg-nav{display:none;width:100%;padding:20px 0;}.sg-nav.is-open{display:flex;flex-wrap:wrap;gap:20px;}
  .sg-hero{padding:35px 0;}.sg-hero:after{right:-250px;opacity:.2;}.sg-lead{font-size:17px;}.sg-hero h1{font-size:45px;}.sg-hero-meta{gap:15px;}
  .sg-section{padding-block:36px;}.sg-section-head{display:block;}.sg-section-head p{margin-top:15px;}.sg-grid,.sg-grid--two{grid-template-columns:1fr;}.sg-card{min-height:210px;padding:22px;}
  .sg-toolbar{grid-template-columns:1fr;padding:17px;}.sg-layout,.sg-layout--reading{display:block;}.sg-aside{margin-top:30px;}.sg-sticky{position:static;}.sg-toc{margin-bottom:25px;}.sg-toc a{display:inline-block;margin-right:15px;border:0;padding:7px 0;}
  .sg-prose{font-size:17px;}.sg-form-row{grid-template-columns:1fr;}.sg-result-bar{flex-wrap:wrap;}.sg-stats{grid-template-columns:1fr 1fr;}.sg-stats>div:nth-child(2){border-right:0;}.sg-stats>div{border-bottom:1px solid var(--sg-line);padding:18px;}.sg-stats>div:last-child{border-bottom:0;}
  .sg-footer-inner{display:block;}.sg-footer nav{margin-top:25px;}.sg-message{margin-block:40px;}.sg-message h1{font-size:41px;}.sg-table{min-width:570px;}
}
@media(prefers-reduced-motion:reduce) { .sg-site * { scroll-behavior:auto!important; } }

/* Contrast and listing identity: architectural dark fields, mineral surfaces. */
.sg-site {
  --sg-blue-deep:#183d53; --sg-blue-soft:#e3edf2; --sg-blue-line:#83a7ba;
  --sg-sage-deep:#254d48; --sg-sage-soft:#e4eee7; --sg-sage-line:#88b09c;
  --sg-stone-deep:#544b37; --sg-stone-soft:#f0eadc; --sg-stone-line:#b9aa85;
}
.sg-hero { background:#102d3f; color:#fff; border-bottom:4px solid #658997; padding:44px 0 34px; }
.sg-hero h1 { max-width:1080px; }
.sg-hero h1 em,.sg-hero .sg-kicker { color:#a9e3d1; }
.sg-hero .sg-lead { color:#d4e3e8; }
.sg-hero .sg-meta,.sg-hero .sg-breadcrumb,.sg-hero a { color:#d2e4e9; }
.sg-hero:after,.sg-hero--dark:after { width:570px; height:480px; right:-90px; top:-40px; background-image:url('../images/signal/terrain-dark.svg'); background-size:cover; opacity:.52; }
.sg-hero:before { content:''; position:absolute; top:0; bottom:0; right:0; width:29%; background:#16384b; z-index:-2; border-left:1px solid #3f6174; }
.sg-hero-meta { border-top:1px solid #547888; padding-top:18px; margin-top:25px; }
.sg-toolbar { background:#203f51; border:1px solid #203f51; border-left:4px solid #9de5ce; box-shadow:0 5px 0 #cfdbdc; padding:22px; }
.sg-toolbar .sg-field { color:#f1f7f7; }
.sg-toolbar .sg-button--outline { color:#f4f9f9!important; border-color:#91acb8; background:transparent; }
.sg-toolbar .sg-button--outline:hover { background:#33566b; }
.sg-result-bar { margin-top:28px; padding-bottom:20px; border-bottom:1px solid #a8bbc4; margin-bottom:22px; }
.sg-tabs { gap:10px; }
.sg-tabs button { border-color:#7b969f; }
.sg-grid { gap:20px; }
.sg-card { --card-deep:var(--sg-blue-deep); --card-soft:var(--sg-blue-soft); --card-line:var(--sg-blue-line); padding:0; min-height:330px; border:1px solid #809aaa; border-bottom:3px solid var(--card-deep); background:var(--card-soft); overflow:hidden; }
.sg-card[data-tone=sage] { --card-deep:var(--sg-sage-deep); --card-soft:var(--sg-sage-soft); --card-line:var(--sg-sage-line); }
.sg-card[data-tone=stone] { --card-deep:var(--sg-stone-deep); --card-soft:var(--sg-stone-soft); --card-line:var(--sg-stone-line); }
.sg-card:hover { border-color:var(--card-deep); box-shadow:0 5px 0 #cbd7d7; }
.sg-card-banner { position:relative; isolation:isolate; display:flex; justify-content:space-between; align-items:center; min-height:86px; gap:20px; padding:18px 23px; background:var(--card-deep); color:#f3f8f8; overflow:hidden; }
.sg-card-banner:after { content:''; position:absolute; z-index:-1; right:-35px; top:-45px; height:170px; width:240px; background:url('../images/signal/terrain-mini.svg') center/cover; opacity:.46; }
.sg-card-type { max-width:77%; font:10px/1.5 var(--sg-mono); text-transform:uppercase; letter-spacing:.08em; }
.sg-card-glyph { display:grid; place-items:center; width:35px; height:35px; border:1px solid #a7c9d17a; background:var(--card-deep); font:15px var(--sg-mono); }
.sg-card-content { display:flex; flex-direction:column; flex:1; padding:23px; }
.sg-card-content h3 { margin:0 0 15px; font-size:31px; }
.sg-card-content p { color:#334f5d; font-size:14px; line-height:1.65; }
.sg-card-content .sg-card-link { display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--card-line); margin-top:auto; padding-top:16px; color:var(--card-deep); text-decoration:none; font-weight:700; }
.sg-card-link:after { content:'↗'; font-size:19px; }
.sg-card-footer { padding-top:0; border-top:0; flex-wrap:wrap; margin:20px 0; }
.sg-card-footer .sg-meta { color:#375562; font-size:10px; }
.sg-card .sg-chip { background:#ffffff80; border-color:var(--card-line); color:#334f5d; }
.sg-type-legend { display:flex; align-items:center; flex-wrap:wrap; gap:9px 20px; margin:0 0 27px; font:11px var(--sg-mono); }
.sg-type-legend>span { display:inline-flex; align-items:center; gap:7px; }
.sg-type-legend>span:before { content:''; width:10px; height:10px; background:var(--sg-blue-deep); }
.sg-type-legend>[data-tone=sage]:before { background:var(--sg-sage-deep); }
.sg-type-legend>[data-tone=stone]:before { background:var(--sg-stone-deep); }
.sg-panel { border:1px solid #93acb6; border-top:4px solid #31596a; }
.sg-panel--dark { position:relative; isolation:isolate; overflow:hidden; background:#153548; border-color:#153548; }
.sg-panel--dark:before { content:''; position:absolute; z-index:-1; top:-70px; right:-130px; width:360px; height:220px; background:url('../images/signal/terrain-dark.svg') center/cover; opacity:.22; }
.sg-panel--dark p,.sg-panel--dark .sg-meta { color:#d0e2e8; }
.sg-panel--dark .sg-field { color:#eef6f6; }
.sg-table th { background:#203f51; color:#e7f2f4; }
.sg-table-wrap { border-color:#93acb6; }
.sg-table tbody tr:nth-child(even) { background:#eff3f3; }
.sg-stats { border-top:5px solid #203f51; }
.sg-callout { background:#dfeae6; border-left-width:4px; }
.sg-toc { background:#17394b; color:#e7f2f4; padding:22px; border-bottom:4px solid #86b6af; }
.sg-toc .sg-kicker { color:#a9e3d1; }
.sg-toc a { color:#d4e8ed; border-color:#46697b; }
.sg-steps>li { background:#e8eef0; padding:22px; margin-top:12px; border:1px solid #a9bec5; }
.sg-steps>li:before { color:#d6ece8; background:#17394b; width:38px; height:38px; display:grid; place-items:center; padding:0; }
.sg-footer { position:relative; isolation:isolate; overflow:hidden; border-top:4px solid #477484; }
.sg-footer:before { content:''; position:absolute; z-index:-1; inset:0 0 0 auto; width:430px; background:url('../images/signal/terrain-dark.svg') center/cover; opacity:.24; }
.sg-site[data-view=account] main { padding:1px 0; background:#17394b url('../images/signal/terrain-dark.svg') right center/650px auto no-repeat; }
.sg-message { padding:35px; background:var(--sg-paper); border-top:5px solid #9de5ce; }
@media(max-width:760px) {
  .sg-hero { padding:35px 0; }
  .sg-hero:after { right:-335px; opacity:.33; }
  .sg-hero:before { width:22%; }
  .sg-toolbar { padding:18px; }
  .sg-card { min-height:310px; padding:0; }
  .sg-card-banner { min-height:73px; padding:17px 21px; }
  .sg-card-content { padding:21px; }
  .sg-card-content h3 { font-size:29px; }
  .sg-toc { margin-bottom:27px; }
  .sg-toc a { color:#d4e8ed; }
  .sg-message { padding:24px; }
  .sg-steps>li { padding:18px; grid-template-columns:35px 1fr; gap:13px; }
}

/* Contextual promotions: one useful action, no overlays or interrupted forms. */
.sg-promo { position:relative; isolation:isolate; overflow:hidden; padding:27px; background:#e3edf2; color:#102d3f; border:1px solid #8ba9b6; border-top:4px solid #31596a; }
.sg-promo:before { content:''; position:absolute; z-index:-1; right:-70px; top:-110px; width:290px; height:270px; background:url('../images/signal/terrain-light.svg') center/cover; opacity:.27; pointer-events:none; }
.sg-promo-label { display:block; font:10px/1.5 var(--sg-mono); letter-spacing:.08em; text-transform:uppercase; color:#375e71; margin-bottom:17px; }
.sg-promo h3 { font-size:31px; line-height:1.07; margin:0 0 15px; }
.sg-promo p { font-size:14px; color:#395663; margin:0 0 22px; line-height:1.65; }
.sg-promo .sg-promo-action { font-size:13px; font-weight:600; text-underline-offset:5px; color:#204f64; }
.sg-promo--stone { background:#f0eadc; border-color:#b9aa85; border-top-color:#544b37; }
.sg-promo--dark { background:#153548; color:#f0f8f7; border-color:#153548; border-top-color:#9de5ce; }
.sg-promo--dark:before { background-image:url('../images/signal/terrain-dark.svg'); opacity:.32; }
.sg-promo--dark .sg-promo-label { color:#b2ddcf; }
.sg-promo--dark p { color:#d0e2e8; }
.sg-promo--dark .sg-promo-action { color:#b5e6d6; }
.sg-promo--wide { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:25px 40px; align-items:center; padding:31px 36px; }
.sg-promo--wide h3 { font-size:38px; max-width:600px; }
.sg-promo--wide p { max-width:620px; margin-bottom:0; }
.sg-promo--wide:before { width:430px; height:360px; right:-100px; top:-110px; }
.sg-promo-pair { grid-column:1/-1; display:grid; grid-template-columns:1fr 2fr; gap:20px; margin:8px 0; }
.sg-promo-pair .sg-promo--wide { display:block; }
.sg-promo-pair .sg-promo--wide .sg-promo-actions { margin-top:21px; }
.sg-promo-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; max-width:640px; }
.sg-promo-form .sg-field { grid-column:1/-1; color:inherit; }
.sg-promo-form input { min-width:0; width:100%; padding:12px; border:1px solid #86a4b2; background:#fff; color:#102d3f; font-size:14px; border-radius:2px; }
.sg-promo-form .sg-promo-fine { grid-column:1/-1; font-size:11px; margin:1px 0 0; color:#4b6673; }
.sg-promo--dark .sg-promo-fine { color:#b6d1d9; }
.sg-promo-form label { font-size:12px; font-weight:600; }
.sg-promo-form [role=status] { grid-column:1/-1; font-size:12px; margin:4px 0 0; }
.sg-promo-spacing { margin-top:35px; }
.sg-promo-pair--feature-first { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sg-promo-pair--feature-first>.sg-promo:first-child { grid-column:span 2; }
.sg-promo--single { max-width:440px; }
.sg-grid>.sg-promo--single,.sg-promo-pair>.sg-promo--single { max-width:none; }
.sg-promo--single.sg-promo--wide { display:block; padding:27px; }
.sg-promo--single.sg-promo--wide h3 { font-size:31px; }
.sg-promo--single .sg-promo-form { grid-template-columns:minmax(0,1fr); }
.sg-promo--single .sg-promo-form .sg-field,.sg-promo--single .sg-promo-form .sg-promo-fine { grid-column:auto; }
.sg-promo--single .sg-promo-actions { margin-top:20px; }
.sg-promo-examples { align-items:stretch; }
.sg-promo-examples>.sg-promo { display:flex; flex-direction:column; }
.sg-promo-examples .sg-promo-actions { margin-top:auto; padding-top:15px; }
.sg-promo-example-links { display:flex; gap:12px 25px; flex-wrap:wrap; margin:22px 0 0; font-size:14px; }
/* Proportional placements: one grid slot, two slots, or an occasional full strip. */
.sg-promo-layout { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; }
.sg-promo--two-thirds { grid-column:span 2; }
.sg-promo--one-third { grid-column:span 1; }
.sg-promo--full { grid-column:1/-1; }
.sg-promo:before { background-image:url('../images/signal/terrain-mini.svg'); width:340px; height:270px; top:-80px; right:-80px; opacity:.38; }
.sg-promo--dark:before { background-image:url('../images/signal/terrain-mini.svg'); opacity:.36; }
.sg-promo:after { content:''; position:absolute; z-index:-1; right:0; bottom:0; width:140px; height:110px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Ccircle cx='2' cy='2' r='1' fill='%234d7a86' fill-opacity='.2'/%3E%3C/svg%3E"); pointer-events:none; }
.sg-promo--dark:after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Ccircle cx='2' cy='2' r='1' fill='%23b7ded1' fill-opacity='.2'/%3E%3C/svg%3E"); }
.sg-promo-icon { display:block; width:35px; height:35px; margin:0 0 20px; color:#315e70; }
.sg-promo-icon svg { display:block; width:100%; height:100%; }
.sg-promo--dark .sg-promo-icon { color:#a5dfcf; }
.sg-promo--stone .sg-promo-icon { color:#74613b; }
.sg-promo--wide { grid-template-columns:minmax(0,1fr) auto; }
.sg-promo:not(.sg-promo--wide):before,.sg-promo:not(.sg-promo--wide):after { content:none; }
.sg-promo:not(.sg-promo--wide)>.sg-promo-icon { width:38px; height:38px; margin-bottom:19px; }
.sg-promo--wide>.sg-promo-icon { display:none; }
.sg-promo--wide .sg-promo-copy { padding-top:5px; }
.sg-promo--wide .sg-promo-actions { align-self:end; }
.sg-promo--wide .sg-promo-label { padding-right:0; }
.sg-promo--two-thirds { display:block; min-height:255px; }
.sg-promo--two-thirds .sg-promo-copy { max-width:600px; }
.sg-promo--two-thirds .sg-promo-actions { margin-top:23px; }
.sg-promo--two-thirds:before { width:380px; height:330px; right:-90px; top:-90px; opacity:.43; }
.sg-promo--two-thirds h3 { padding-right:0; }
.sg-promo .sg-promo-action { display:inline-flex; align-items:center; min-height:44px; font-size:16px; line-height:1.45; }
.sg-site .sg-button { font-size:16px!important; min-height:46px; }
.sg-promo .sg-button { white-space:normal; text-align:left; }
.sg-card-content .sg-card-link { font-size:16px; min-height:44px; }
.sg-promo-examples .sg-promo-actions { padding-top:0; }
.sg-promo-example-links { font-size:16px; }
@media(max-width:1000px) { .sg-promo-pair { grid-template-columns:1fr 1.5fr; }.sg-promo-form{grid-template-columns:1fr;}.sg-promo-form .sg-field{grid-column:auto;} }
@media(min-width:761px) and (max-width:1000px) { .sg-promo-pair--feature-first { grid-template-columns:1fr 1fr; }.sg-promo-pair--feature-first>.sg-promo:first-child { grid-column:auto; } }
@media(max-width:760px) {
 .sg-promo-layout { grid-template-columns:1fr; }
 .sg-promo--two-thirds,.sg-promo--one-third,.sg-promo--full { grid-column:auto; }
 .sg-promo--wide>.sg-promo-icon { width:35px; height:35px; right:23px; top:23px; }
 .sg-promo--two-thirds h3 { padding-right:0; }
 .sg-promo-pair { grid-template-columns:1fr; gap:14px; }
 .sg-promo-pair--feature-first>.sg-promo:first-child { grid-column:auto; }
 .sg-promo { padding:23px; }.sg-promo--wide { display:block; padding:26px; }
 .sg-promo--wide h3 { font-size:33px; }.sg-promo--wide .sg-promo-actions { margin-top:23px; }
 .sg-promo-form { grid-template-columns:1fr; }.sg-promo-form .sg-promo-fine { grid-column:auto; }
}
