/* Academy uses BestSwell's existing type, colour roles, controls and surfaces. */
.learn-page .masthead {padding:20px 0 14px;gap:16px}
.learn-page a {text-underline-offset:3px}
.learn-page .brand {text-decoration:none}
.learn-page .main-nav {overflow-x:auto;gap:28px}
.learn-page .main-nav a {margin-left:0;display:inline-flex;align-items:center;min-height:44px;flex:none}
.learn-page main {padding-block:28px 16px}
.learn-page .primary-button,.learn-page .outline-button {display:inline-flex;justify-content:center;align-items:center;min-height:44px;text-decoration:none;text-align:center;line-height:1.4}
.learn-page .text-button {display:inline-block;min-height:44px;line-height:28px}
.learn-hero {display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:28px;padding:32px}
.learn-page h1 {font-size:clamp(32px,4vw,50px);line-height:1.12;letter-spacing:-1.6px;max-width:850px;margin:12px 0 18px;overflow-wrap:anywhere}
.learn-hero p:not(.eyebrow),.learn-intro p,.learn-card p,.learn-guidance p {color:var(--muted);font-size:14px}
.learn-page .learn-lead {font-size:19px;line-height:1.55;color:var(--ink);max-width:770px}
.learn-hero-actions,.learn-categories {display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.learn-intro {margin:32px 0 22px}
.learn-categories .selected {background:var(--foam);border-color:var(--sea);color:var(--sea)}
.learn-cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.learn-card {display:flex;flex-direction:column;min-width:0;padding:24px}
.learn-card .eyebrow {font-size:9px;letter-spacing:1px}
.learn-card h3 {font-size:21px;line-height:1.35;letter-spacing:-.5px;margin:14px 0 10px}
.learn-card h3 a {text-decoration:none}
.learn-card h3 a:hover {text-decoration:underline}
.learn-card p:not(.eyebrow) {margin:0 0 14px}
.learn-card>.text-button {margin-top:auto;align-self:flex-start;color:var(--sea)}
.learn-guidance {margin-top:24px}
.learn-breadcrumb {display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);margin-bottom:24px;line-height:1.8}
.learn-article-header {margin-bottom:26px}
.learn-review {font-size:12px;color:var(--muted)}
.learn-reading-layout {display:grid;grid-template-columns:minmax(0,760px) minmax(240px,1fr);gap:32px;align-items:start}
.learn-article {min-width:0;font-size:16px;line-height:1.75}
.learn-article>section {scroll-margin-top:20px;margin-block:30px}
.learn-article h2 {font-size:25px;line-height:1.3;margin:0 0 15px}
.learn-article p {margin-block:0 17px}
.learn-article li {padding-left:4px;margin-block:9px}
.learn-article a {color:var(--sea)}
.learn-article table {width:100%;border-collapse:collapse;font-size:14px;line-height:1.6;margin:24px 0}
.learn-article th,.learn-article td {border-bottom:1px solid var(--line);padding:12px 8px;text-align:left;vertical-align:top}
.learn-article caption {text-align:left;color:var(--muted);font-size:12px;padding:8px 0}
.learn-takeaway {background:var(--foam);padding:22px}
.learn-takeaway p:last-child {margin:9px 0 0;font-size:18px;font-weight:550;line-height:1.6}
.learn-diagram {margin:28px 0;padding:20px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);min-width:0}
.learn-diagram svg {display:block;width:100%;height:auto;border-radius:12px;background:var(--paper)}
.learn-diagram figcaption {font-size:12px;line-height:1.6;color:var(--muted);margin-top:14px}
.learn-reading-sidebar {position:sticky;top:20px;min-width:0;display:grid;gap:18px}
.learn-toc {padding:20px}
.learn-toc summary,.learn-check summary {cursor:pointer;font-weight:600;min-height:44px;line-height:1.5;padding:10px 0}
.learn-toc ol {padding-left:20px;font-size:13px;line-height:1.7;margin-bottom:0}
.learn-toc li {margin-bottom:10px}
.learn-toc a {text-decoration:none}
.learn-toc a:hover {text-decoration:underline}
.learn-connect p {font-size:13px;color:var(--muted)}
.learn-connect .outline-button {width:100%;font-size:12px}
.learn-connect h2 {font-size:20px}
.learn-sources {font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:24px;overflow-wrap:anywhere}
.learn-sources h2 {font-size:21px;color:var(--ink)}
.learn-check details {border-top:1px solid var(--line);padding-top:8px}
.learn-check details p {margin-top:12px}
.learn-related {margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}
.learn-footer {margin-top:36px;border-top:1px solid var(--line);padding:24px 0 32px;display:block;font-size:12px;color:var(--muted)}
.learn-footer>div,.learn-footer nav {display:flex;flex-wrap:wrap;gap:12px 20px;margin-bottom:14px}
.learn-footer nav a {min-height:44px;display:inline-flex;align-items:center}
.learn-empty {margin:20px 0 60px}
@media(max-width:1000px) {.learn-cards {grid-template-columns:repeat(2,minmax(0,1fr))}.learn-reading-layout {grid-template-columns:minmax(0,1fr) 250px;gap:24px}.learn-hero {padding:26px;gap:20px}}
@media(max-width:760px) {.learn-page .shell {padding-inline:20px}.learn-page .masthead {padding-block:18px 14px}.learn-page .masthead>.outline-button {font-size:11px;padding:10px}.learn-page .brand small {display:none}.learn-page main {padding-top:22px}.learn-hero {grid-template-columns:1fr;padding:22px}.learn-hero .learn-diagram {margin:0}.learn-page .learn-lead {font-size:18px}.learn-reading-layout {display:flex;flex-direction:column;gap:22px}.learn-reading-sidebar {position:static;order:-1;width:100%}.learn-reading-sidebar .learn-connect {display:none}.learn-toc {padding:14px 18px}.learn-toc ol {columns:2;column-gap:30px}.learn-toc li {break-inside:avoid}.learn-article {width:100%}.learn-article h2 {font-size:23px}.learn-article>section {margin-block:26px}.learn-diagram {padding:14px}.learn-article .panel {padding:20px}}
@media(max-width:500px) {.learn-cards {grid-template-columns:1fr}.learn-page .shell {padding-inline:16px}.learn-page .brand span {font-size:18px}.learn-page .brand img {width:34px;height:34px}.learn-page .masthead {gap:10px}.learn-toc ol {columns:1}.learn-hero-actions {flex-direction:column}.learn-categories a {flex:1 1 42%;font-size:12px;padding:10px}.learn-card {padding:22px}.learn-article {font-size:16px}.learn-page h1 {font-size:34px}.learn-article table {font-size:13px}.learn-article td,.learn-article th {padding:10px 5px}}
/* Keep the active underline inside the horizontal menu's scroll viewport. */
.learn-page .learn-main-nav {overflow-x:auto;overflow-y:hidden;padding:0;min-height:60px;gap:26px;scroll-padding-inline:8px;scrollbar-width:thin}
.learn-page .learn-main-nav a {position:relative;min-height:58px;padding:14px 0;margin:0;white-space:nowrap}
.learn-page .learn-main-nav a.active::after {bottom:0;left:0;right:0;height:2px}
.learn-header-actions {display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.learn-diagram {padding:20px;overflow:hidden}
.ill-panels {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
.ill-grid-three,.ill-grid-four {grid-template-columns:repeat(2,minmax(0,1fr))}
.ill-panel {min-width:0}
.learn-diagram .ill-panel h3 {font-size:18px;line-height:1.35;margin:0 0 12px;color:var(--ink);letter-spacing:-.3px}
.learn-diagram .ill-detail {font-size:14px;line-height:1.65;color:var(--muted);margin:12px 0 0}
.ill-tag {font-size:9px!important;letter-spacing:.8px;margin:0 0 9px!important}
.ill-axis,.ill-direction {display:flex;justify-content:space-between;color:var(--muted);font-size:12px;line-height:1.5;margin:6px 0 0!important}
.ill-direction {justify-content:flex-end;gap:8px}
.ill-note {font-size:14px;line-height:1.7;border-top:1px solid var(--line);padding-top:16px;margin-top:20px;color:var(--muted)}
.ill-note strong {color:var(--ink)}
.learn-diagram>.ill-panel {margin-top:24px;max-width:480px}
.ill-legend {display:flex;gap:12px 20px;flex-wrap:wrap;font-size:12px;line-height:1.6;margin-top:20px;color:var(--muted)}
.ill-legend span:before {content:'';display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:7px;background:var(--line)}
.ill-legend .ill-key-water:before {background:var(--foam);border:1px solid var(--sea)}
.ill-legend .ill-key-land:before {background:var(--sand)}
.ill-legend .ill-key-wind:before {background:var(--coral)}
.ill-water {fill:var(--foam)} .ill-land {fill:var(--sand)}
.ill-waterline,.ill-swell,.ill-front,.ill-board-line,.ill-bed,.ill-compass,.ill-cloud,.ill-buoy {fill:none;stroke:var(--sea);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ill-front {opacity:.6;stroke-width:4}
.ill-wind {stroke:var(--coral);fill:none}
.ill-arrow {stroke-width:5;stroke-linecap:round}
.ill-swell-fill,.ill-location,.ill-breaking-wave {fill:var(--sea)}
.ill-location {stroke:var(--paper);stroke-width:4}
.ill-wind-fill {fill:var(--coral)}
.ill-datum,.ill-grid,.ill-ground {fill:none;stroke:var(--muted);stroke-width:1.5;opacity:.4}
.ill-datum {stroke-dasharray:6 6;opacity:.7}
.ill-board {fill:var(--card);stroke:var(--sea);stroke-width:3}
.ill-skin {fill:#d7a17e;stroke:#604d43;stroke-width:1}
.ill-hair {fill:#433a36}.ill-face {fill:none;stroke:#302e2b;stroke-width:2}
.ill-vest {fill:var(--sea);stroke:var(--paper);stroke-width:1.5}
.ill-suit {fill:#243944;stroke:#8da7ab;stroke-width:1}
.ill-far-limb {opacity:.8}.ill-flagpole {fill:none;stroke:var(--muted);stroke-width:6}
.flag-red {fill:#e42b35}.flag-yellow {fill:#ffd04a}.flag-black {fill:#20252a}.flag-white {fill:#fafafa}
.ill-forecast-example dl {margin:16px 0 0}
.ill-forecast-example dl>div {display:grid;grid-template-columns:1fr 1.1fr;gap:20px;border-top:1px solid var(--line);padding:15px 0;font-size:14px}
.ill-forecast-example dt {color:var(--muted)}.ill-forecast-example dt span {color:var(--sea);margin-right:10px}
.ill-forecast-example dd {margin:0}.ill-forecast-example dd p {font-size:13px;line-height:1.6;color:var(--muted);margin:6px 0 0}
.learn-hero .ill-panels {grid-template-columns:1fr}
.learn-hero .ill-panel:not(:first-child),.learn-hero .ill-legend,.learn-hero .ill-note {display:none}
.learn-hero .learn-diagram {margin:0}
@media(min-width:1200px) {.illustration-period .ill-grid-three,.illustration-wind .ill-grid-three {grid-template-columns:repeat(3,minmax(0,1fr))}.learn-hero .illustration-wind .ill-grid-three {grid-template-columns:1fr}}
@media(max-width:600px) {.ill-panels,.ill-grid-three,.ill-grid-four {grid-template-columns:1fr}.learn-diagram {padding:16px}.learn-diagram .ill-panel h3 {font-size:19px}.learn-diagram .ill-detail {font-size:15px}.learn-header-actions {gap:6px}.learn-header-actions .outline-button {font-size:11px;padding:8px}.learn-header-actions a:first-child {display:none}.ill-forecast-example dl>div {grid-template-columns:1fr;gap:6px}}

/* Match the site's inherited type and heading colour throughout the Academy. */
.learn-page :is(h1,h2,h3,h4) {font-family:inherit;color:var(--heading,var(--ink))}
.learn-diagram .ill-title {font-size:22px;line-height:1.35;margin:0 0 20px;letter-spacing:-.4px}
.learn-diagram .ill-panel h3 {color:var(--heading,var(--ink))}
/* Fill the example's second column with its actual explanation, not an empty cell. */
.ill-forecast-example>.eyebrow {margin:0 0 12px}
.ill-forecast-example dl {margin:0}
.ill-forecast-example dl>div {grid-template-columns:1fr;gap:5px;padding:10px 0}
.ill-forecast-example dd strong {font-size:18px}
/* Three panels span each row when space permits, or stack cleanly on narrow columns. */
.ill-grid-three {grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
@media(min-width:1200px) {.ill-grid-three {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px) and (min-width:761px) {.ill-panels {grid-template-columns:1fr}.ill-grid-three {grid-template-columns:1fr}}
@media(max-width:600px) {.ill-grid-three {grid-template-columns:1fr}.learn-diagram .ill-title {font-size:21px}}

.learn-academy-nav {display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:24px}
.learn-academy-home {font-weight:650;font-size:18px;white-space:nowrap;text-decoration:none;color:var(--heading,var(--ink));min-height:44px;display:inline-flex;align-items:center}
.learn-academy-nav .learn-categories {margin:0;gap:8px}
.learn-academy-nav .outline-button {font-size:12px;padding:9px 12px}
.learn-review a {color:inherit;text-underline-offset:3px}
.learn-editorial {max-width:850px;margin-top:32px;border-top:1px solid var(--line);padding-top:10px;color:var(--muted);font-size:13px;line-height:1.7;scroll-margin-top:20px}
.learn-editorial summary {cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}
.learn-editorial p {max-width:75ch}.learn-editorial a {color:var(--sea)}
@media(max-width:1000px) {.learn-academy-nav {align-items:flex-start;flex-direction:column;gap:10px}.learn-academy-nav .learn-categories {width:100%}}
@media(max-width:500px) {.learn-academy-nav .learn-categories a {flex:1 1 42%;padding:9px;font-size:12px}}

.ill-wax {fill:var(--sand);stroke:var(--sea);stroke-width:1.5}
.illustration-forecast .ill-panels {grid-template-columns:1fr}
@media(min-width:1200px) {.illustration-forecast .ill-panels {grid-template-columns:repeat(2,minmax(0,1fr))}}

.learn-hero .learn-diagram .ill-panels {grid-template-columns:1fr}
/* A compact full-width example avoids a tall empty space beside unequal columns. */
.illustration-forecast .ill-panels {grid-template-columns:1fr}
.illustration-forecast .ill-panel:first-child {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:0 20px;align-items:center}
.illustration-forecast .ill-panel:first-child h3 {grid-column:1/-1}
.illustration-forecast .ill-panel:first-child .ill-detail {margin:0}
.illustration-forecast .ill-forecast-example dl>div {grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:20px}
@media(max-width:600px){.illustration-forecast .ill-panel:first-child{display:block}.illustration-forecast .ill-panel:first-child .ill-detail{margin-top:12px}.illustration-forecast .ill-forecast-example dl>div{grid-template-columns:1fr;gap:5px}}
