:root {
  --ink: #102b49;
  --muted: #546980;
  --line: #d3dde8;
  --accent: #255e9b;
  --accent-soft: #e7eff8;
  --navy: #12365b;
  --navy-deep: #0b213a;
  --page: #edf2f7;
  color: var(--ink);
  background: var(--page);
  font-family: "Segoe UI", Inter, Arial, sans-serif;
  font-synthesis: none;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 150px; }
body { margin: 0; min-height: 100vh; background: linear-gradient(145deg, #f7f9fc, #edf2f7 56%, #e8eff6); }
a { color: inherit; text-underline-offset: 3px; }
a, summary { -webkit-tap-highlight-color: transparent; }
a:focus-visible, summary:focus-visible { outline: 3px solid #337bc0; outline-offset: 5px; border-radius: 5px; }
.skip-link { position: fixed; top: 10px; left: 16px; z-index: 30; padding: 12px 18px; border-radius: 8px; background: var(--navy-deep); color: #fff; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.seo-header { position: sticky; top: 0; z-index: 10; border-bottom: 1px solid #d3dde8; background: #f8fafcf2; backdrop-filter: blur(16px); }
.seo-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; width: min(1240px, calc(100% - 48px)); min-height: 78px; margin: auto; padding: 15px 0; }
.seo-brand { display: inline-flex; align-items: center; flex: 0 0 auto; gap: 10px; margin-right: auto; color: var(--ink); font-size: 21px; font-weight: 800; letter-spacing: -.045em; text-decoration: none; }
.seo-brand img { display: block; width: 36px; height: 36px; }
.seo-links { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.seo-links a { padding: 9px 10px; border-radius: 9px; color: var(--muted); font-size: 13px; font-weight: 650; text-decoration: none; }
.seo-links a:hover, .seo-links a[aria-current="page"] { color: var(--ink); background: var(--accent-soft); }
.seo-account-actions { display: flex; align-items: center; gap: 16px; }
.seo-signin { font-size: 13px; font-weight: 650; white-space: nowrap; text-decoration: none; }
.seo-signin:hover { text-decoration: underline; }
.seo-button, .seo-secondary { display: inline-flex; justify-content: center; align-items: center; gap: 14px; min-height: 48px; padding: 13px 22px; border: 1px solid transparent; border-radius: 11px; font-size: 14px; font-weight: 750; line-height: 1.35; text-align: center; text-decoration: none; transition: background .18s ease, transform .18s ease; }
.seo-button { color: #fff; background: var(--navy); box-shadow: 0 5px 14px #12365b12; }
.seo-button:hover { background: var(--navy-deep); transform: translateY(-1px); }
.seo-button-small { min-height: 42px; padding: 10px 15px; font-size: 12px; gap: 10px; }
.seo-secondary { color: var(--ink); background: #fff; border-color: var(--line); }
.seo-secondary:hover { background: var(--accent-soft); }
.seo-main { width: min(1180px, calc(100% - 48px)); margin: auto; }
.seo-main > *, .seo-hero > *, .seo-split > * { min-width: 0; }
.seo-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 26px; color: var(--muted); font-size: 12px; }
.seo-breadcrumb a { text-decoration: none; }
.seo-breadcrumb a:hover { text-decoration: underline; }
.seo-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 68px; align-items: center; padding: 62px 0 82px; }
.seo-eyebrow { margin: 0 0 17px; color: var(--accent); font-size: 11px; font-weight: 750; letter-spacing: .13em; line-height: 1.6; text-transform: uppercase; }
.seo-hero h1 { margin: 0; color: var(--ink); font-size: clamp(45px, 4.8vw, 65px); font-weight: 700; line-height: 1.07; letter-spacing: -.045em; text-wrap: balance; }
.seo-lede { max-width: 650px; margin: 25px 0 0; color: var(--muted); font-size: 17px; line-height: 1.75; }
.seo-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 29px; }
.seo-fine-print { display: block; margin: 14px 0 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.seo-visual { padding: 27px; border: 1px solid #ffffff20; border-radius: 22px; color: #fff; background: linear-gradient(145deg, #173e67, #0e2948); box-shadow: 0 20px 50px #102b4926; }
.seo-visual-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 24px; }
.seo-visual-heading strong { color: #e8f1fc; font-size: 12px; font-weight: 650; }
.seo-example-label { padding: 4px 7px; border: 1px solid #afc8e042; border-radius: 6px; color: #cbddef; font-size: 10px; }
.seo-preview-item { display: flex; align-items: center; gap: 16px; padding: 18px; border: 1px solid #ffffff25; border-radius: 12px; background: #ffffff0d; }
.seo-preview-date { flex: 0 0 42px; color: #d6e8fb; font-size: 10px; line-height: 1.6; text-align: center; }
.seo-preview-date b { color: #fff; font-size: 25px; }
.seo-preview-tag { color: #c5dcf4; font-size: 10px; }
.seo-visual h2 { margin: 5px 0 0; font-size: 18px; line-height: 1.35; font-weight: 650; letter-spacing: -.02em; }
.seo-preview-item p, .seo-feed-source p { margin: 7px 0 0; color: #c5dcf4; font-size: 11px; line-height: 1.7; }
.seo-preview-context { margin-top: 13px; padding: 17px 18px; border: 1px solid #ffffff20; border-radius: 12px; background: #ffffff0b; }
.seo-preview-context > span { color: #bad4ee; font-size: 10px; letter-spacing: .035em; }
.seo-preview-context p { margin: 8px 0 0; color: #f2f7fc; font-size: 13px; line-height: 1.6; }
.seo-preview-context p b { display: block; margin-top: 5px; color: #c7dcf2; font-size: 11px; font-weight: 400; }
.seo-preview-context-light { border-color: #c8d9eb; background: #e8f0f8; }
.seo-preview-context-light > span, .seo-preview-context-light p b { color: #476784; }
.seo-preview-context-light p { color: #173e67; }
.seo-preview-caption { margin: 21px 0 0; color: #c5dcf4; font-size: 11px; line-height: 1.7; }
.seo-feed-source { display: flex; align-items: center; gap: 14px; padding: 20px 17px; border: 1px solid #ffffff25; border-radius: 12px; background: #ffffff0d; }
.seo-document-icon { display: grid; place-items: center; flex: 0 0 35px; height: 42px; border: 1px solid #ffffff35; border-radius: 7px; color: #d3e6fc; font-size: 21px; }
.seo-flow-arrow { padding-top: 13px; color: #a8c8e7; text-align: center; }
.seo-syllabus-row { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 18px; padding: 18px 0; border-top: 1px solid #ffffff25; }
.seo-syllabus-row > span { color: #bed7ef; font-size: 11px; line-height: 1.7; }
.seo-syllabus-row p { margin: 0; color: #f1f7fd; font-size: 13px; line-height: 1.6; }
.seo-source-pill { display: flex; align-items: center; gap: 10px; margin-top: 10px; padding: 12px; border-radius: 8px; background: #ffffff0e; color: #d3e6fa; font-size: 11px; }
.seo-rhythm { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.seo-rhythm li { display: flex; align-items: center; gap: 16px; padding: 17px; border: 1px solid #ffffff25; border-radius: 12px; background: #ffffff0b; }
.seo-rhythm li > span { font-size: 11px; color: #bdd7f0; }
.seo-rhythm h2 { margin: 0; font-size: 16px; }
.seo-rhythm p { margin: 5px 0 0; color: #c5dcf4; font-size: 11px; line-height: 1.7; }
.seo-section { margin: 0 0 28px; padding: 52px; border: 1px solid var(--line); border-radius: 22px; background: #ffffffdb; }
.seo-section-heading { max-width: 780px; margin-bottom: 30px; }
.seo-section h2, .seo-related h2 { margin: 0; color: var(--ink); font-size: clamp(31px, 3.4vw, 43px); font-weight: 750; line-height: 1.1; letter-spacing: -.045em; text-wrap: balance; }
.seo-section-heading p:not(.seo-eyebrow), .seo-split p:not(.seo-eyebrow):not(.seo-fine-print) { color: var(--muted); font-size: 15px; line-height: 1.8; }
.seo-steps { margin: 0; padding: 0; list-style: none; }
.seo-steps li { display: grid; grid-template-columns: 47px minmax(0, 1fr); gap: 25px; padding: 25px 0; border-top: 1px solid var(--line); }
.seo-steps li:last-child { padding-bottom: 0; }
.seo-steps li > span { display: grid; place-items: center; align-self: start; width: 42px; height: 42px; border-radius: 12px; color: var(--accent); background: var(--accent-soft); font-size: 12px; font-weight: 750; }
.seo-steps h3 { margin: 0 0 8px; font-size: 20px; line-height: 1.35; font-weight: 700; letter-spacing: -.025em; }
.seo-steps p { max-width: 860px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.85; }
.seo-section p a, .seo-prose a, .seo-source-link a { color: var(--accent); font-weight: 550; }
.seo-source-link { margin: 29px 0 0; padding-top: 23px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; line-height: 1.8; }
.seo-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 52px; align-items: center; background: #e6eef7; }
.seo-split .seo-section-heading { margin: 0; }
.seo-checklist { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.seo-checklist li { padding: 17px 20px; border: 1px solid #c7d6e6; border-radius: 11px; color: #49627b; background: #ffffffe6; font-size: 14px; line-height: 1.8; }
.seo-checklist strong { color: #234666; }
.seo-prompt-list blockquote { margin: 0 0 13px; padding: 18px 20px; border: 1px solid #c9d7e5; border-radius: 11px; background: #fff; color: #385875; font-size: 14px; line-height: 1.8; }
.seo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.seo-card { min-width: 0; padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: #f8fafc; }
.seo-card-icon { display: grid; place-items: center; width: 39px; height: 39px; margin-bottom: 22px; border-radius: 10px; color: var(--accent); background: var(--accent-soft); font-size: 16px; font-weight: 750; }
.seo-card h3 { margin: 0 0 10px; color: var(--ink); font-size: 18px; font-weight: 700; line-height: 1.35; letter-spacing: -.025em; }
.seo-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
.seo-faq details { padding: 20px 0; border-top: 1px solid var(--line); }
.seo-faq details:last-child { padding-bottom: 0; }
.seo-faq summary { cursor: pointer; padding-right: 12px; color: var(--ink); font-size: 17px; font-weight: 650; line-height: 1.65; }
.seo-faq summary::marker { color: var(--accent); }
.seo-faq details p { max-width: 950px; margin: 12px 0 0; color: var(--muted); font-size: 15px; line-height: 1.85; }
.seo-note { padding: 20px 24px; margin: 0 0 32px; border: 1px solid var(--line); border-left: 3px solid var(--accent); border-radius: 5px 12px 12px 5px; color: var(--muted); background: #f9fbfd; font-size: 13px; line-height: 1.8; }
.seo-related { padding: 25px 0 15px; }
.seo-related .seo-section-heading { margin-bottom: 24px; }
.seo-guide-card { display: block; background: #fff; text-decoration: none; transition: border-color .18s ease, background .18s ease; }
.seo-guide-card h3 { display: flex; justify-content: space-between; gap: 15px; }
.seo-guide-card h3 > span { font-size: 17px; color: var(--accent); }
.seo-guide-card:hover { border-color: #89a9ca; background: #f6f9fc; }
.seo-callout { display: flex; justify-content: space-between; align-items: center; gap: 36px; margin: 38px 0 70px; padding: 42px 45px; border-radius: 22px; color: #fff; background: linear-gradient(120deg, var(--navy-deep), var(--navy)); }
.seo-callout h2 { margin: 0; font-size: clamp(27px, 3vw, 38px); font-weight: 700; line-height: 1.15; letter-spacing: -.035em; text-wrap: balance; }
.seo-callout p { margin: 12px 0 0; color: #c9ddef; font-size: 14px; line-height: 1.8; }
.seo-callout .seo-fine-print { color: #b9d1e9; }
.seo-callout .seo-button { flex: 0 0 auto; background: #fff; color: var(--ink); }
.seo-callout .seo-button:hover { background: #e7eff8; }
.seo-prose { max-width: 980px; margin: 0 auto 28px; padding: 48px 54px; }
.seo-prose section { padding: 26px 0; border-top: 1px solid var(--line); }
.seo-prose section h3 { display: flex; align-items: start; gap: 16px; margin: 0 0 13px; font-size: 23px; line-height: 1.35; letter-spacing: -.03em; }
.seo-prose section h3 > span { flex: 0 0 28px; padding-top: 5px; color: var(--accent); font-size: 11px; font-weight: 750; letter-spacing: .06em; }
.seo-prose section p { margin: 11px 0 0; color: var(--muted); font-size: 15px; line-height: 1.9; }
.seo-prose section strong { color: #304f6d; }
.seo-prose .seo-note { margin: 10px 0 0; }
.seo-footer { border-top: 1px solid var(--line); background: #f8fafc; }
.seo-footer-inner { display: flex; align-items: start; gap: 42px; width: min(1180px, calc(100% - 48px)); margin: auto; padding: 34px 0; }
.seo-footer .seo-brand { font-size: 18px; padding-top: 2px; }
.seo-footer nav { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 13px 24px; max-width: 880px; }
.seo-footer nav a { color: var(--muted); font-size: 12px; line-height: 1.7; text-decoration: none; }
.seo-footer nav a:hover { color: var(--ink); text-decoration: underline; }

@media (max-width: 1100px) {
  .seo-nav { gap: 10px; }
  .seo-links a { padding: 8px; font-size: 12px; }
  .seo-account-actions { gap: 12px; }
  .seo-hero { gap: 38px; }
  .seo-section { padding: 40px; }
  .seo-split { gap: 35px; }
}
@media (max-width: 920px) {
  .seo-nav { min-height: 0; row-gap: 10px; }
  .seo-links { order: 3; flex: 0 0 100%; }
  .seo-links a { padding: 7px 10px; }
  .seo-hero { gap: 32px; padding: 45px 0 60px; }
  .seo-hero h1 { font-size: 47px; }
  .seo-visual { padding: 22px; }
  .seo-syllabus-row { grid-template-columns: 74px minmax(0, 1fr); gap: 12px; }
  .seo-grid { gap: 12px; }
  .seo-card { padding: 21px; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 150px; }
  .seo-hero { grid-template-columns: 1fr; gap: 32px; padding: 38px 0 46px; }
  .seo-hero h1 { font-size: clamp(43px, 8vw, 60px); }
  .seo-visual { width: 100%; max-width: 550px; padding: 25px; }
  .seo-section { padding: 32px; }
  .seo-split { grid-template-columns: 1fr; gap: 24px; }
  .seo-grid { grid-template-columns: 1fr; }
  .seo-steps li { gap: 18px; }
  .seo-card { padding: 24px; }
  .seo-callout { flex-direction: column; align-items: start; padding: 34px; gap: 25px; }
  .seo-callout .seo-button { width: 100%; }
  .seo-footer-inner { flex-direction: column; gap: 22px; }
  .seo-footer nav { justify-content: flex-start; }
}
@media (max-width: 480px) {
  .seo-nav, .seo-main, .seo-footer-inner { width: calc(100% - 32px); }
  .seo-nav { padding: 12px 0; column-gap: 12px; }
  .seo-brand { font-size: 19px; gap: 8px; }
  .seo-brand img { width: 31px; height: 31px; }
  .seo-account-actions { flex: 0 0 100%; justify-content: space-between; order: 2; }
  .seo-button-small { min-height: 37px; padding: 9px 13px; font-size: 12px; }
  .seo-links { gap: 2px; padding-top: 3px; }
  .seo-links a { padding: 7px 8px; font-size: 11px; }
  .seo-breadcrumb { margin-top: 22px; font-size: 11px; }
  .seo-hero { padding: 30px 0 40px; }
  .seo-hero h1 { font-size: clamp(39px, 10.4vw, 48px); }
  .seo-lede { margin-top: 20px; font-size: 16px; }
  .seo-actions { gap: 10px; }
  .seo-actions a { width: 100%; }
  .seo-visual { padding: 21px; border-radius: 17px; }
  .seo-preview-item, .seo-feed-source { padding: 15px; gap: 12px; }
  .seo-visual h2 { font-size: 16px; }
  .seo-section { padding: 28px 22px; border-radius: 17px; }
  .seo-section h2, .seo-related h2 { font-size: 32px; }
  .seo-section-heading { margin-bottom: 24px; }
  .seo-steps li { grid-template-columns: 30px minmax(0, 1fr); gap: 13px; padding: 23px 0; }
  .seo-steps li > span { width: 29px; height: 32px; border-radius: 8px; font-size: 10px; }
  .seo-steps h3 { font-size: 19px; }
  .seo-steps p, .seo-faq details p { font-size: 14px; }
  .seo-checklist li { padding: 16px; }
  .seo-faq summary { font-size: 16px; }
  .seo-note { padding: 17px 19px; font-size: 12px; }
  .seo-prose section h3 { font-size: 21px; gap: 10px; }
  .seo-prose section h3 > span { flex-basis: 23px; }
  .seo-prose section p { font-size: 14px; }
  .seo-prose .seo-note { margin-top: 3px; }
  .seo-callout { margin: 32px 0 48px; padding: 28px 24px; border-radius: 17px; }
  .seo-callout h2 { font-size: 29px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .seo-button, .seo-secondary, .seo-guide-card { transition: none; }
}
@media (max-width:480px) {
  .seo-account-actions { flex:0 0 auto; order:initial; gap:10px; margin-left:auto; }
  .seo-brand { margin-right:0; }
  .seo-button-small { min-height:35px; padding:9px 11px; font-size:11px; }
  .seo-button-small span { display:none; }
  .seo-signin { font-size:11px; }
  .seo-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; text-align:center; border-top:1px solid #d7e3ee80; }
  .seo-links a { display:flex; align-items:center; justify-content:center; font-size:10px; padding:7px 4px; min-height:34px; }
  .seo-breadcrumb { margin-top:19px; }
}

/* Public social profile: visible label and a touch-friendly target. */
footer nav .instagram-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 10px;border:1px solid #d5e0eb;border-radius:12px;font-size:12px;font-weight:650;text-decoration:none;color:var(--ink);background:#fff;white-space:nowrap}
footer nav .instagram-link svg{flex:none}
footer nav .instagram-link:hover{background:#e7eff8;color:var(--ink);text-decoration:none}
footer nav:has(.instagram-link){align-items:center}
