@media (max-width: 640px) { figure svg.dg-wide { display: none !important; } }
@media (min-width: 641px) { figure svg.dg-tall { display: none !important; } }
.iv-hero { margin: 0 0 2.2rem; }
.sg-s-summer { fill: oklch(0.5 0.125 33 / .07); }
.sg-s-autumn { fill: oklch(0.88 0.045 85 / .45); }
.sg-s-winter { fill: oklch(0.44 0.068 195 / .08); }
.sg-s-spring { fill: oklch(0.97 0.007 95); }
.dg text.sg-season { font-family: var(--display); font-weight: 700; font-size: 12px; fill: oklch(0.27 0.025 40 / .7); }
.sg-storm { fill: oklch(0.31 0.05 205 / .75); }
.dg text.sg-storm-t { font-size: 11.5px; fill: var(--bay-deep); }
.sg-grid { stroke: oklch(0.27 0.025 40 / .14); stroke-width: 1; }
.dg text.sg-ax { font-size: 11px; fill: oklch(0.27 0.025 40 / .75); }
.dg text.sg-ax-d { fill: var(--brick); }
.sg-bar { fill: var(--bay); }
.sg-line { fill: none; stroke: var(--brick); stroke-width: 2.4; stroke-linejoin: round; }
.sg-dot { fill: var(--paper); stroke: var(--brick); stroke-width: 2; }
.dg text.sg-in { font-size: 10.5px; font-weight: 600; fill: var(--paper); }
.sg-tline { fill: none; stroke: var(--brick); stroke-width: 2.6; stroke-linejoin: round; }
.sg-tdot { fill: var(--brick); }
.dg text.sg-val { font-size: 11px; font-weight: 600; }
.sg-b-hum { fill: oklch(0.44 0.068 195 / .55); }
.sg-b-hum2 { fill: oklch(0.44 0.068 195 / .3); }
.sg-b-wind { fill: oklch(0.78 0.085 45 / .9); }
.sg-veil { opacity: .22; }
.dg text.sg-band-t { font-size: 11.5px; }
.sg-brk { fill: none; stroke: var(--bay-deep); stroke-width: 1.6; }
.dg text.sg-ttl { font-family: var(--display); font-weight: 700; font-size: 15px; }
.dg text.sg-row { font-family: var(--display); font-weight: 700; font-size: 12.5px; }
.sg-lane { fill: var(--concrete); }
.sg-mgrid { stroke: oklch(0.27 0.025 40 / .12); stroke-width: 1; }
.sg-sch { fill: var(--bay); }
.sg-pub { fill: var(--brick); }
.sg-pubdot { fill: var(--brick); stroke: var(--paper); stroke-width: 1.2; }
.sg-stm { fill: oklch(0.31 0.05 205 / .7); }
.sg-lgt { fill: oklch(0.88 0.045 85); stroke: oklch(0.72 0.08 80); stroke-width: 1; }
.sg-dem { fill: none; stroke: oklch(0.27 0.025 40 / .5); stroke-width: 1.4; stroke-dasharray: 5 4; }
.sg-mark { stroke: var(--ink); stroke-width: 2.2; }
.sg-lead { fill: none; stroke: oklch(0.27 0.025 40 / .35); stroke-width: 1; }
.dg text.sg-lab { font-size: 11.5px; paint-order: stroke; stroke: var(--paper); stroke-width: 4px; stroke-linejoin: round; }
.dg text.sg-ax-s { font-size: 10.5px; }
table.plain.sg-table { min-width: 0; margin: 0; font-size: .9rem; }
.sg-table th, .sg-table td { overflow-wrap: break-word; }
.sg-table tbody th { font-family: var(--display); font-weight: 700; text-transform: none; letter-spacing: 0; font-size: .98rem; color: var(--ink); }
.sg-table thead th { font-size: .74rem; vertical-align: bottom; }
.sg-tfoot { font-size: .86rem; margin: .5rem 0 0; color: oklch(0.27 0.025 40 / .82); }
.sg-flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.sg-flow li { display: grid; grid-template-rows: auto auto 1fr; justify-items: center; }
.sg-q { margin: 0; width: 100%; background: var(--bay-deep); color: var(--paper); font-family: var(--display); font-weight: 700; font-size: 1.02rem; line-height: 1.3; border-radius: 10px; padding: .8rem .95rem; min-height: 4.6rem; box-sizing: border-box; }
.sg-yes { position: relative; font-size: .76rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--bay); padding: 1.3rem 0 .9rem; }
.sg-yes::before, .sg-yes::after { content: ""; position: absolute; left: 50%; width: 2px; height: 1.1rem; background: oklch(0.72 0.08 80); transform: translateX(-50%); }
.sg-yes::before { top: 0; }
.sg-yes::after { bottom: -.25rem; height: .9rem; }
.sg-a { margin: 0; width: 100%; height: 100%; box-sizing: border-box; background: var(--paper); box-shadow: var(--shadow); border-top: 4px solid var(--brick); border-radius: 10px; padding: .85rem .95rem; font-size: .95rem; line-height: 1.45; }
.sg-a b { font-family: var(--display); }
.sg-tiles-ttl { font-family: var(--display); font-weight: 700; font-size: 1.12rem; margin: 0 0 .7rem; }
.sg-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.sg-tile { background: var(--paper); border-radius: 10px; box-shadow: var(--shadow); border-left: 4px solid var(--bay); padding: .85rem 1rem; display: flex; flex-direction: column; justify-content: space-between; gap: .55rem; }
.sg-tile:first-child { grid-column: 1 / -1; border-left-color: var(--brick); }
.sg-tile p { margin: 0; font-size: .97rem; line-height: 1.45; }
.sg-tsrc { font-size: .78rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--bay); text-decoration: none; }
@media (min-width: 1100px) {
.sg-wide { width: min(66rem, 100vw - 6rem); margin-left: calc(50% - min(33rem, 50vw - 3rem)); }
}
@media (max-width: 760px) {
.sg-flow { grid-template-columns: 1fr; gap: 1.4rem; }
.sg-q { min-height: 0; }
}
@media (max-width: 640px) {
.sg-tiles { grid-template-columns: 1fr; }
.sg-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sg-table, .sg-table tbody, .sg-table tr, .sg-table th, .sg-table td { display: block; }
.sg-table tr { background: var(--paper); border-radius: 10px; box-shadow: var(--shadow); padding: .5rem 0 .7rem; margin-bottom: .9rem; }
table.plain.sg-table th, table.plain.sg-table td, table.plain.sg-table tr:nth-child(even) td { border-bottom: 0; padding: .35rem 1rem; background: none; }
.sg-table td::before { content: attr(data-label); display: block; font-size: .74rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--bay); }
.sg-table tbody th { font-size: 1.1rem; }
}