/* Soutenance Pro: product-led public homepage. Loaded after discovery.css. */
.sp-home {
  --polish-green: #00694c;
  --polish-ink: #123c32;
  --polish-muted: #586e67;
  --polish-line: #dce8e2;
  --polish-mint: #b9f1cd;
  background: #fff;
}
.sp-home .home-container { width: min(1280px, calc(100% - 80px)); }
.sp-home .home-header { background: #ffffffed; border-bottom: 1px solid #dae5df; backdrop-filter: blur(18px); }
.sp-home .home-nav { min-height: 84px; gap: 24px; }
.sp-home .home-brand { font-size: 21px; letter-spacing: -.8px; gap: 9px; }
.sp-home .home-brand .brand-logo { width: 59px; height: 59px; border-radius: 10px; }
.sp-home .home-brand small { font-size: 10px; letter-spacing: .8px; margin-top: 4px; }
.sp-home .home-desktop-links { gap: 5px; }
.sp-home .home-desktop-links a { padding: 11px 14px; border: 0; border-radius: 9px; transition: background .2s, color .2s; }
.sp-home .home-desktop-links a:hover { background: #edf5ef; color: #00523d; border: 0; }
.sp-home .home-nav-actions { gap: 20px; }
.sp-home .home-nav-actions .home-button.small { max-width: 220px; white-space: normal; line-height: 1.25; }
.sp-home .home-mobile-accompaniment { display: none; }
@media (max-width: 1000px) {
  .sp-home .home-desktop-links { display: none; }
  .sp-home .home-nav-actions { margin-left: auto; }
  .sp-home .home-mobile-menu { display: block; }
}
.sp-home .home-button { min-height: 50px; border-radius: 12px; border-color: #00694c; background: #00694c; padding: 14px 22px; box-shadow: 0 4px 10px #0043310c; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.sp-home .home-button:hover { transform: translateY(-2px); background: #00543d; box-shadow: 0 8px 22px #00433122; }
.sp-home .home-button.small { min-height: 44px; border-radius: 10px; padding: 10px 18px; }
.sp-home .home-button.outline { color: #00543d !important; border-color: #b9d2c5; background: #fff; }
.sp-home .home-button.outline:hover { background: #edf7f0; }
.sp-home .home-button.light { background: #d1f6dd; color: #093f2d !important; border-color: #d1f6dd; }
.sp-home .home-button.light:hover { background: #fff; border-color: #fff; }
.sp-home .home-button > span { transition: transform .2s ease; }
.sp-home .home-button:hover > span { transform: translateX(3px); }
.sp-home .home-text-link { font-size: 14px; text-decoration: none !important; gap: 10px; }
.sp-home .home-text-link:hover { text-decoration: underline !important; text-underline-offset: 5px; }
.sp-home .home-eyebrow { letter-spacing: 1.4px; font-size: 12px; font-weight: 700; }

/* The first screen is about the student's project. */
.sp-home .home-hero { background: #004c39; position: relative; isolation: isolate; border: 0; overflow: hidden; }
.sp-home .home-hero::before { content: ''; position: absolute; z-index: -1; inset: 0 0 auto; height: 780px; pointer-events: none; background: radial-gradient(ellipse at 88% 16%, #147a57 0, transparent 57%), linear-gradient(125deg, #004c39, #013b30); }
.sp-home .home-hero::after { content: ''; position: absolute; z-index: -1; width: 620px; height: 620px; border-radius: 50%; border: 1px solid #92ccab1f; top: -180px; right: -170px; box-shadow: 0 0 0 75px #95d6ab07, 0 0 0 150px #95d6ab05; pointer-events: none; }
.sp-home .home-hero-grid { grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr); gap: 80px; align-items: center; padding-block: 74px 63px; }
.sp-home .home-hero-copy { min-width: 0; }
.sp-home .home-hero .home-eyebrow { display: flex; align-items: center; gap: 9px; margin-bottom: 25px !important; font-size: 12px; color: #c9eed8; letter-spacing: 1.2px; }
.sp-home .home-hero .home-eyebrow > span { width: 7px; height: 7px; margin: 0; background: #91dfaf; box-shadow: 0 0 0 5px #96e4b311; }
.sp-home .home-hero h1 { font: 600 clamp(46px, 4.5vw, 64px)/1.08 Inter, Arial, sans-serif; color: #fff; letter-spacing: -3.4px; margin: 0 0 25px; }
.sp-home .home-hero h1 em { display: inline-block; font-family: Fraunces, Georgia, serif; font-weight: 400; color: #b9efcd; letter-spacing: -2.3px; }
.sp-home .home-intro { font-size: 17px; line-height: 1.8; color: #d6e8de; max-width: 525px; }
.sp-home .home-hero-actions { margin-top: 30px; gap: 19px; flex-wrap: wrap; }
.sp-home .home-hero .home-project-primary { min-height: 57px; color: #003d2b !important; background: #c0efcc; border-color: #c0efcc; padding: 16px 23px; font-size: 15px; box-shadow: 0 8px 28px #002a253b; }
.sp-home .home-hero .home-project-primary:hover { background: #dcf9e3; border-color: #dcf9e3; box-shadow: 0 14px 32px #002a255c; }
.sp-home .home-hero .home-text-link { color: #e5f6eb !important; font-size: 13px; }
.sp-home .home-hero-note { font-size: 12px; color: #b9d6c7; margin-top: 15px !important; max-width: none; }
.sp-home .home-project-benefits { display: grid; grid-template-columns: 1fr 1fr 1.1fr; gap: 16px; list-style: none; border: 0; padding: 0; margin: 30px 0 0; }
.sp-home .home-project-benefits li { padding: 0 0 0 12px; border-left: 2px solid #75c39780; }
.sp-home .home-project-benefits strong { display: block; font-size: 13px; color: #f7fbf9; font-weight: 600; }
.sp-home .home-project-benefits span { display: block; margin-top: 3px; font-size: 11px; line-height: 1.65; color: #b9d6c7; }
.sp-home .home-project-help { display: inline-block; font-size: 12px; line-height: 1.7; color: #bddaca; margin-top: 23px; text-underline-offset: 4px; }
.sp-home .home-project-help:hover { color: #fff; text-decoration: underline; }
.sp-home .home-featured-resource { position: relative; min-width: 0; padding: 0 0 18px; perspective: 1400px; }
.sp-home .home-product-preview { position: relative; background: #f4f8f5; border: 1px solid #b6e2ca50; border-radius: 20px; overflow: hidden; margin: 0; box-shadow: 0 30px 75px #001e2457, 0 2px 3px #c2e0cc24 inset; transform: rotate(1deg); color: #203e33; }
.sp-home .home-preview-topbar { min-height: 47px; display: flex; align-items: center; gap: 8px; padding: 10px 20px; background: #fcfffd; border-bottom: 1px solid #deebe2; font-size: 10px; font-weight: 600; letter-spacing: .8px; }
.sp-home .home-preview-dot { width: 7px; height: 7px; border-radius: 50%; background: #48a775; box-shadow: 0 0 0 3px #e5f3e9; }
.sp-home .home-preview-label { margin-left: auto; font-size: 10px; font-weight: 400; letter-spacing: 0; color: #5e7469; }
.sp-home .home-preview-cover { height: 119px; position: relative; overflow: hidden; padding: 22px 25px; background: #153e30; }
.sp-home .home-preview-cover::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #103d30f2, #103d3099 65%, #103d3030); }
.sp-home .home-preview-cover > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 58%; }
.sp-home .home-preview-cover > div { position: relative; z-index: 1; }
.sp-home .home-preview-cover span { color: #c1dfcf; font-size: 9px; letter-spacing: 1.3px; font-weight: 600; }
.sp-home .home-preview-cover h2 { margin: 9px 0 0; color: #fff; font: 500 24px/1.2 Inter, Arial, sans-serif; letter-spacing: -.9px; }
.sp-home .home-preview-body { display: grid; grid-template-columns: 117px minmax(0, 1fr); padding: 20px 20px 19px 14px; gap: 14px; }
.sp-home .home-preview-steps { display: flex; flex-direction: column; padding-top: 13px; gap: 9px; }
.sp-home .home-preview-steps > div { display: flex; align-items: center; gap: 8px; padding: 10px 8px; border-radius: 8px; color: #698074; }
.sp-home .home-preview-steps strong { font-weight: 500; font-size: 10px; }
.sp-home .home-preview-steps > div > span { font-size: 9px; color: #8fa598; }
.sp-home .home-preview-steps .active { color: #00583e; background: #e0efe4; }
.sp-home .home-preview-steps .active strong { font-weight: 600; }
.sp-home .home-preview-steps .active > span { color: #3c8963; }
.sp-home .home-preview-document { padding: 21px; background: #fff; border: 1px solid #e0e9e2; border-radius: 10px; box-shadow: 0 5px 10px #173d2705; }
.sp-home .home-document-meta { display: flex; justify-content: space-between; align-items: center; gap: 10px; color: #758e7e; font-size: 8px; }
.sp-home .home-document-meta > span:first-child { color: #5c806b; font-weight: 600; letter-spacing: 1px; }
.sp-home .home-preview-document h3 { margin: 18px 0 16px; font: 500 23px/1.2 Fraunces, Georgia, serif; letter-spacing: -.5px; color: #244839; }
.sp-home .home-preview-document ol { margin: 0; padding: 0; list-style: none; }
.sp-home .home-preview-document li { font-size: 10px; padding: 9px 0; display: flex; gap: 10px; align-items: center; border-bottom: 1px solid #edf2ed; line-height: 1.5; color: #526d5c; }
.sp-home .home-preview-document li > span { font-size: 9px; color: #98afa0; }
.sp-home .home-document-note { display: flex; gap: 9px; align-items: center; padding: 11px 10px; background: #edf6ee; border-radius: 7px; margin-top: 17px; }
.sp-home .home-document-note svg { width: 18px; height: 18px; color: #618869; }
.sp-home .home-document-note p { font-size: 9px; line-height: 1.65; color: #5b7763; }
.sp-home .home-document-note strong { font-weight: 500; color: #345b40; }
.sp-home .home-preview-footer { display: flex; gap: 12px; justify-content: space-between; align-items: center; padding: 0 22px 16px; font-size: 10px; color: #6e8877; }
.sp-home .home-preview-footer > div { display: flex; gap: 6px; }
.sp-home .home-preview-footer > div > span { display: inline-block; border: 1px solid #d4e5d8; border-radius: 5px; color: #426850; padding: 4px 7px; font-size: 9px; background: #fff; }
.sp-home .home-product-preview figcaption { padding: 12px 20px; background: #e9f2ec; border-top: 1px solid #d9e7dc; color: #63806b; font-size: 10px; line-height: 1.5; }
.sp-home .home-preview-callout { position: absolute; right: -20px; bottom: -5px; display: flex; align-items: center; gap: 12px; padding: 14px 17px; border: 1px solid #e6f3e5; border-radius: 13px; background: #f8fff9; box-shadow: 0 14px 40px #001f2433; color: #25503a; }
.sp-home .home-preview-callout-icon { display: grid; place-items: center; width: 39px; height: 39px; color: #0b714b; background: #dff3e4; border-radius: 10px; }
.sp-home .home-preview-callout-icon svg { width: 22px; height: 22px; }
.sp-home .home-preview-callout strong { display: block; font-size: 12px; font-weight: 600; }
.sp-home .home-preview-callout small { display: block; font-size: 10px; color: #6c8573; margin-top: 3px; }
.sp-home .home-preview-callout > span:last-child { font-size: 18px; margin-left: 7px; }
.sp-home .home-preview-callout:hover { background: #e7f8eb; }
.sp-home .home-regions { padding-block: 21px; border-top-color: #83b89d33; gap: 20px; }
.sp-home .home-regions > span, .sp-home .home-regions > a, .sp-home .home-regions p { font-size: 12px; }
.sp-home .home-regions p { color: #d6eddd; gap: 11px; }
.sp-home .home-regions > a:hover { color: #fff; }

/* Search feels like an entry into a research product, not a directory list. */
.sp-home .home-library-entry { background: #f5f9f5; border-top: 1px solid #cee1d3; padding-block: 31px; }
.sp-home .home-library-entry-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .85fr); align-items: center; gap: 65px; }
.sp-home .home-library-entry .home-search { margin: 0; }
.sp-home .home-library-entry .home-search label { font-size: 13px; line-height: 1.6; font-weight: 600; color: #315743; margin-bottom: 12px; }
.sp-home .home-library-entry .home-search-field { border-radius: 13px; border-color: #d2e1d5; padding: 6px 6px 6px 17px; box-shadow: 0 4px 15px #14402805; }
.sp-home .home-library-entry .home-search input { padding-block: 12px; background: #fff; }
.sp-home .home-library-entry .home-search button { border-radius: 9px; background: #00694c; border-color: #00694c; color: #fff; font-size: 13px; padding: 13px 17px; }
.sp-home .home-library-entry .home-search button:hover { background: #00543d; }
.sp-home .home-library-entry .home-search-shortcuts { font-size: 12px; gap: 7px 13px; color: #6a8272; }
.sp-home .home-library-entry .home-search-shortcuts a { color: #35654c; border: 0; }
.sp-home .home-library-entry .home-search-shortcuts a:hover { text-decoration: underline; }
.sp-home .home-library-entry-info { padding-left: 32px; border-left: 1px solid #d7e5da; }
.sp-home .home-library-entry-info > p { font-size: 15px; line-height: 1.8; color: #6a8272; }
.sp-home .home-library-entry-info > p strong { color: #325a43; font-weight: 600; }
.sp-home .home-library-entry .home-collection-metrics { border: 0; padding: 0; margin-top: 15px; gap: 26px; }
.sp-home .home-library-entry .home-collection-metrics strong { font: 600 24px/1.25 Inter, Arial, sans-serif; color: #16513a; letter-spacing: -.8px; }
.sp-home .home-library-entry .home-collection-metrics span { color: #708778; font-size: 11px; }

/* A clear rhythm between the SaaS, resources and offers. */
.sp-home .home-section { padding-block: 80px; }
.sp-home .home-section h2, .sp-home .home-institutions h2, .sp-home .home-workspace h2, .sp-home .home-final h2, .sp-home .discovery-heading h2 { font: 600 clamp(30px, 3vw, 42px)/1.17 Inter, Arial, sans-serif; color: #163f31; letter-spacing: -1.6px; }
.sp-home .home-section h3, .sp-home .home-workspace h3, .sp-home .home-health-grid h3, .sp-home .home-download-info h3, .sp-home .home-tool-link h3, .sp-home .home-audience-grid h3, .sp-home .discovery-collection h3 { font-family: Inter, Arial, sans-serif; font-weight: 600; letter-spacing: -.6px; }
.sp-home .home-heading-note { color: #60776a; font-size: 14px; line-height: 1.8; }
.sp-home .home-section-heading { margin-bottom: 32px; gap: 25px; }
.sp-home .home-workspace { background: #fff; color: #214836; padding-block: 80px; }
.sp-home .home-workspace .home-eyebrow { color: #24815b; }
.sp-home .home-workspace h2 em { color: #24815b; font: inherit; }
.sp-home .home-workspace-heading { gap: 65px; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.sp-home .home-workspace-heading > p { color: #647b6b; font-size: 15px; line-height: 1.9; }
.sp-home .home-module-grid { gap: 16px; margin-top: 35px; }
.sp-home .home-module-grid > div { padding: 25px 24px 27px; border: 1px solid #e0e9e1; border-radius: 17px; background: #f9fbf8; box-shadow: 0 3px 8px #25483203; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.sp-home .home-module-grid > div:nth-child(2) { background: #edf6ed; border-color: #d6e7d8; }
.sp-home .home-module-grid > div:nth-child(3) { background: #f7f7ee; border-color: #e7e7d8; }
.sp-home .home-module-grid > div > span { display: inline-block; font-size: 10px; font-weight: 600; letter-spacing: 1px; color: #738d79; border-bottom: 2px solid #a8c9ae; padding-bottom: 10px; }
.sp-home .home-module-grid h3 { font-size: 19px; line-height: 1.35; color: #224d34; margin: 25px 0 12px; }
.sp-home .home-module-grid p { color: #667e6c; font-size: 13px; line-height: 1.85; }
.sp-home .home-workspace-bottom { border-top: 1px solid #e2eae3; padding-top: 25px; margin-top: 28px; }
.sp-home .home-workspace-bottom p { color: #647a6b; font-size: 13px; }
.sp-home .home-workspace-bottom .home-button.light { color: #fff !important; background: #00694c; border-color: #00694c; }
.sp-home .home-workspace-bottom .home-button.light:hover { background: #00513b; }
.sp-home .home-discovery { background: #f3f7f1; padding-block: 70px; border-block: 1px solid #e3ece1; }
.sp-home .discovery-collection { border-radius: 17px; padding: 25px; transition: transform .22s ease, box-shadow .22s ease; }
.sp-home .discovery-collection h3 { font-size: 27px; line-height: 1.25; }
.sp-home .discovery-sourcebar strong { font-family: Inter, Arial, sans-serif; font-size: 23px; letter-spacing: -.7px; }
.sp-home .discovery-sourcebar { gap: 13px 25px; }
.sp-home .home-topic { border-radius: 17px; min-height: 289px; padding: 26px; box-shadow: 0 3px 8px #25483203; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.sp-home .home-topic h3 { font-size: 27px; margin: 23px 0 15px; line-height: 1.2; }
.sp-home .home-topic-number { font-size: 10px; font-weight: 600; letter-spacing: 1px; }
.sp-home .home-topic p { font-size: 13px; line-height: 1.8; }
.sp-home .home-topic-link { font-size: 12px; }
.sp-home .home-reading { padding-top: 0; }
.sp-home .home-reading-grid { border: 0; padding-top: 0; gap: 65px; }
.sp-home .home-reading-intro > p:not(.home-eyebrow) { color: #647b6b; font-size: 15px; }
.sp-home .home-reading-list { display: grid; gap: 10px; }
.sp-home .home-reading-list > a, .sp-home .home-reading-list > a:first-child { border: 1px solid #e1eae2; border-radius: 13px; padding: 20px 22px; gap: 17px; background: #fff; transition: background .2s, border-color .2s; }
.sp-home .home-reading-list > a:hover { background: #f4f9f1; border-color: #bfd5c1; }
.sp-home .home-reading-number { display: grid; place-items: center; min-width: 37px; height: 43px; background: #edf4e8; border-radius: 9px; color: #68915e; font: 500 15px/1 Inter, Arial, sans-serif; }
.sp-home .home-reading-label { font-size: 9px; letter-spacing: .7px; }
.sp-home .home-reading-list h3 { font-size: 16px; line-height: 1.5; }
.sp-home .home-reading-list p { font-size: 14px; }
.sp-home .home-reading-arrow { color: #477d4e; }
.sp-home .home-downloads { background: #f7f9f5; border-color: #e5ece2; }
.sp-home .home-download-grid > article { border: 1px solid #dfe7d8; border-radius: 17px; box-shadow: 0 6px 18px #25483204; transition: transform .22s ease, box-shadow .22s ease; }
.sp-home .home-mini-doc { border-radius: 3px; transform: rotate(-2deg); transition: transform .28s ease; }
.sp-home .home-download-grid > article:nth-child(2) .home-mini-doc { transform: rotate(2deg); }
.sp-home .home-download-grid > article:hover .home-mini-doc { transform: rotate(0deg) translateY(-4px); }
.sp-home .home-download-info { padding: 26px; }
.sp-home .home-download-info h3 { font-size: 21px; line-height: 1.35; }
.sp-home .home-download-info > span { font-size: 10px; }
.sp-home .home-download-info p { font-size: 13px; }
.sp-home .home-download-info a { font-size: 13px; }
.sp-home .home-small-note { font-size: 12px; color: #748570; }
.sp-home .home-institutions { background: #f0f4e7; padding-block: 73px; }
.sp-home .home-institutions-grid { gap: 70px; }
.sp-home .home-institutions-grid > div:first-child > p:not(.home-eyebrow) { color: #647358; font-size: 15px; }
.sp-home .home-institution-note { padding: 28px; border-radius: 17px; border-color: #dbe4cd; background: #ffffffa8; box-shadow: 0 8px 25px #455b2805; }
.sp-home .home-note-label { font-size: 10px; }
.sp-home .home-institution-note li span { font-family: Inter, Arial, sans-serif; font-size: 13px; }
.sp-home .home-institution-note > p { font-size: 12px; line-height: 1.8; }
.sp-home .home-tools-grid { gap: 16px; }
.sp-home .home-tool-link { border: 1px solid #dce8e0; border-radius: 17px; padding: 24px; background: #fff; transition: transform .22s ease, box-shadow .22s ease; }
.sp-home .home-tool-link > span { display: grid; place-items: center; width: 37px; height: 37px; border-radius: 10px; background: #e9f4eb; color: #548363; font-size: 12px; }
.sp-home .home-tool-link h3 { font-size: 18px; }
.sp-home .home-tool-link p { font-size: 13px; }
.sp-home .home-tool-link b { font-size: 12px; }
.sp-home .home-audience-grid { gap: 16px; }
.sp-home .home-audience-grid > a { border: 1px solid #dce8e0; border-radius: 17px; padding: 28px; background: #f6faf5; transition: transform .22s ease, box-shadow .22s ease; }
.sp-home .home-audience-grid h3 { font-size: 24px; }
.sp-home .home-audience-grid p { font-size: 14px; }
.sp-home .home-audience-grid span { font-size: 12px; }
.sp-home .home-health { background: #f7f9f4; }
.sp-home .home-health-grid { gap: 20px; }
.sp-home .home-health-grid > a { border: 1px solid #dde7d5; border-radius: 17px; padding: 28px; background: #fff; transition: transform .22s ease, box-shadow .22s ease; }
.sp-home .home-health-grid > a > div > span { font-size: 10px; letter-spacing: .7px; }
.sp-home .home-health-grid h3 { font-size: 22px; line-height: 1.4; }
.sp-home .home-health-grid p { font-size: 13px; }
.sp-home .home-health-grid > a > span { padding: 0; }
.sp-home .home-step-grid { gap: 23px; }
.sp-home .home-step-grid li { padding: 25px 0 0; border-top: 2px solid #deebe0; }
.sp-home .home-step-grid li > span { background: #e7f3e8; font: 600 12px/1 Inter, Arial, sans-serif; color: #467550; width: 35px; height: 35px; border-radius: 10px; }
.sp-home .home-step-grid h3 { font-size: 17px; }
.sp-home .home-step-grid p { font-size: 13px; }

/* Offers stay honest and easy to compare. */
.sp-home .home-pricing { background: #f1f7f2; border-color: #dfe9df; }
.sp-home .home-pricing-grid { gap: 23px; align-items: stretch; padding-top: 12px; }
.sp-home .home-price { border: 1px solid #d8e5d8; border-radius: 20px; padding: 31px 28px 25px; box-shadow: 0 6px 18px #294c2904; transition: transform .22s ease, box-shadow .22s ease; }
.sp-home .home-price h3 { font-size: 28px; line-height: 1.3; }
.sp-home .home-plan-kicker { font-size: 10px; letter-spacing: 1.3px; }
.sp-home .home-price-description { font-size: 13px; line-height: 1.8; min-height: 70px; }
.sp-home .home-price-value { font: 600 57px/1.05 Inter, Arial, sans-serif; letter-spacing: -3px; margin-top: 24px !important; }
.sp-home .home-price-value > span { font-size: 26px; font-weight: 400; letter-spacing: -.8px; }
.sp-home .home-price-period { font-size: 12px; }
.sp-home .home-price-capacity { margin-top: 24px !important; border-color: #dfe9dc; padding-block: 17px; font-size: 13px; }
.sp-home .home-price-capacity strong { font-size: 18px; }
.sp-home .home-price ul { font-size: 13px; line-height: 1.8; margin-block: 23px 28px; }
.sp-home .home-price li { padding-left: 21px; }
.sp-home .home-price li::before { top: 8px; border-color: #5f9970; }
.sp-home .home-price .home-button { border-radius: 11px; min-height: 49px; font-size: 13px; }
.sp-home .home-price-bottom > p { font-size: 11px; line-height: 1.75; }
.sp-home .home-price.recommended { background: #005740; border: 1px solid #005740; box-shadow: 0 13px 35px #00503b19; }
.sp-home .home-price.recommended h3, .sp-home .home-price.recommended .home-price-value { color: #fff; }
.sp-home .home-price.recommended .home-plan-kicker { color: #a1d8b3; }
.sp-home .home-price.recommended .home-price-capacity { border-color: #ffffff30; }
.sp-home .home-price.recommended .home-price-description, .sp-home .home-price.recommended .home-price-period, .sp-home .home-price.recommended ul, .sp-home .home-price.recommended .home-price-bottom > p { color: #c4e3cf; }
.sp-home .home-price.recommended li::before { border-color: #a6dfb6; }
.sp-home .home-plan-badge { top: -14px; right: 23px; font-size: 11px; font-weight: 600; border-radius: 7px; padding: 6px 13px; background: #c1efce; color: #184d31; box-shadow: 0 3px 10px #173c2412; }
.sp-home .home-pricing-footnote { font-size: 12px; line-height: 1.8; color: #68816e; }
.sp-home .home-faq-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr); gap: 85px; }
.sp-home .home-faq-grid > div:first-child > p:not(.home-eyebrow) { font-size: 14px; }
.sp-home .home-faq-list { display: grid; gap: 11px; }
.sp-home .home-faq-list details, .sp-home .home-faq-list details:first-child { padding: 0; border: 1px solid #e0eae3; border-radius: 14px; background: #fff; overflow: hidden; transition: background .2s, border-color .2s; }
.sp-home .home-faq-list details[open] { background: #f3f8f3; border-color: #cadecc; }
.sp-home .home-faq-list summary { padding: 21px 23px; align-items: center; gap: 20px; font-size: 15px; line-height: 1.65; }
.sp-home .home-faq-list summary::after { display: grid; place-items: center; flex: 0 0 25px; height: 25px; border-radius: 7px; background: #edf4ed; color: #4d855b; font-size: 20px; line-height: 1; }
.sp-home .home-faq-list details > p { font-size: 15px; line-height: 1.9; color: #5e7968; padding: 0 23px 23px; margin: 0 !important; }
.sp-home .home-final { padding: 0 0 65px; background: #fff; }
.sp-home .home-final-inner { position: relative; isolation: isolate; overflow: hidden; background: #00523d; border-radius: 25px; padding: 48px 52px; gap: 50px; box-shadow: 0 16px 38px #16412e0f; }
.sp-home .home-final-inner::after { content: ''; position: absolute; z-index: -1; width: 450px; height: 450px; border: 1px solid #c4ecd826; border-radius: 50%; right: -140px; top: -230px; box-shadow: 0 0 0 45px #c4ecd809, 0 0 0 90px #c4ecd807; pointer-events: none; }
.sp-home .home-final .home-eyebrow { color: #b5dec7; font-size: 10px; margin-bottom: 16px !important; }
.sp-home .home-final h2 { color: #fff; font-size: 36px; max-width: 650px; }
.sp-home .home-final p { color: #c4e0cf; font-size: 14px; line-height: 1.8; }
.sp-home .home-final p.home-final-note { color: #aacfb9; font-size: 11px; }
.sp-home .home-final .home-button { background: #c1efce; border-color: #c1efce; color: #14452e !important; min-height: 54px; white-space: nowrap; font-size: 14px; }
.sp-home .home-final .home-button:hover { background: #fff; border-color: #fff; }
.sp-home .home-final .home-text-link { color: #d8efdf !important; font-size: 12px; }
.sp-home .home-footer { background: #f7faf6; border-top: 1px solid #e0e9df; padding-top: 45px; }
.sp-home .home-footer-grid { gap: 30px; }
.sp-home .home-footer h2 { font-family: Inter, Arial, sans-serif; font-size: 12px; font-weight: 600; letter-spacing: -.1px; }
.sp-home .home-footer nav > a { font-size: 12px; }
.sp-home .home-footer-brand > p, .sp-home .home-footer-contact { font-size: 12px; line-height: 1.8; }
.sp-home .home-footer-bottom { border-top-color: #dce8d9; font-size: 11px; }

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .sp-home .home-module-grid > div:hover, .sp-home .home-topic:hover, .sp-home .home-download-grid > article:hover, .sp-home .home-tool-link:hover, .sp-home .home-audience-grid > a:hover, .sp-home .home-health-grid > a:hover, .sp-home .home-price:hover, .sp-home .discovery-collection:hover { transform: translateY(-5px); box-shadow: 0 16px 30px #20442c0e; }
}
@media (prefers-reduced-motion: no-preference) {
  .sp-home .home-hero-copy { animation: home-polish-arrive .65s ease-out both; }
  .sp-home .home-featured-resource { animation: home-polish-arrive .8s .12s ease-out both; }
  .sp-home .home-preview-callout { animation: home-polish-arrive .7s .35s ease-out both; }
}
@keyframes home-polish-arrive { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1150px) {
  .sp-home .home-container { width: calc(100% - 56px); }
  .sp-home .home-nav { gap: 17px; }
  .sp-home .home-brand { font-size: 19px; }
  .sp-home .home-desktop-links a { padding-inline: 10px; font-size: 12px; }
  .sp-home .home-nav-actions { gap: 14px; }
  .sp-home .home-hero-grid { gap: 43px; padding-block: 60px; }
  .sp-home .home-hero h1 { font-size: 53px; letter-spacing: -2.8px; }
  .sp-home .home-hero h1 em { font-size: 50px; }
  .sp-home .home-intro { font-size: 15px; }
  .sp-home .home-project-benefits { gap: 10px; }
  .sp-home .home-preview-body { grid-template-columns: 92px minmax(0, 1fr); gap: 7px; padding: 15px 13px 17px 9px; }
  .sp-home .home-preview-steps > div { padding-inline: 5px; gap: 5px; }
  .sp-home .home-preview-steps strong { font-size: 9px; }
  .sp-home .home-preview-document { padding: 17px; }
  .sp-home .home-document-meta { font-size: 7px; }
  .sp-home .home-preview-document h3 { font-size: 21px; }
  .sp-home .home-preview-document li { font-size: 9px; gap: 6px; }
  .sp-home .home-preview-callout { right: -10px; bottom: -8px; }
  .sp-home .home-library-entry-grid { gap: 35px; grid-template-columns: 1.4fr 1fr; }
  .sp-home .home-library-entry-info { padding-left: 23px; }
  .sp-home .home-library-entry .home-collection-metrics { gap: 18px; }
  .sp-home .home-module-grid > div { padding: 22px 19px; }
  .sp-home .home-module-grid h3 { font-size: 17px; }
  .sp-home .home-workspace-heading { gap: 35px; }
  .sp-home .home-final-inner { padding: 40px; gap: 30px; }
}
@media (max-width: 900px) {
  .sp-home .home-desktop-links { display: none; }
  .sp-home .home-nav-actions { margin-left: auto; }
  .sp-home .home-mobile-menu { display: block; }
  .sp-home .home-hero-grid { grid-template-columns: 1fr; gap: 42px; padding-block: 48px 55px; }
  .sp-home .home-hero-copy { max-width: 630px; }
  .sp-home .home-hero h1 { font-size: 61px; }
  .sp-home .home-hero h1 em { font-size: inherit; }
  .sp-home .home-intro { font-size: 17px; }
  .sp-home .home-featured-resource { max-width: 565px; margin-inline: auto; width: 100%; }
  .sp-home .home-preview-body { grid-template-columns: 117px minmax(0, 1fr); padding: 20px 20px 19px 14px; gap: 14px; }
  .sp-home .home-preview-steps > div { gap: 8px; padding: 10px 8px; }
  .sp-home .home-preview-steps strong { font-size: 10px; }
  .sp-home .home-preview-document { padding: 21px; }
  .sp-home .home-document-meta { font-size: 8px; }
  .sp-home .home-preview-document h3 { font-size: 23px; }
  .sp-home .home-preview-document li { font-size: 10px; gap: 10px; }
  .sp-home .home-regions { flex-wrap: wrap; justify-content: center; gap: 12px 25px; }
  .sp-home .home-regions > a { text-align: center; }
  .sp-home .home-library-entry-grid { grid-template-columns: 1fr; gap: 24px; }
  .sp-home .home-library-entry-info { padding: 21px 0 0; border: 0; border-top: 1px solid #d7e5da; display: flex; justify-content: space-between; align-items: center; gap: 25px; }
  .sp-home .home-library-entry .home-collection-metrics { margin: 0; }
  .sp-home .home-module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sp-home .home-module-grid h3 { font-size: 20px; }
  .sp-home .home-workspace-heading { gap: 30px; grid-template-columns: 1.1fr 1fr; }
  .sp-home .home-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sp-home .home-pricing-grid { gap: 16px; }
  .sp-home .home-price { padding: 29px 20px 23px; }
  .sp-home .home-price h3 { font-size: 25px; }
  .sp-home .home-price-description { min-height: 94px; }
  .sp-home .home-price .home-button { gap: 5px; }
  .sp-home .home-faq-grid { gap: 35px; }
  .sp-home .home-institutions-grid { gap: 35px; }
  .sp-home .home-final-inner { display: block; }
  .sp-home .home-final-inner > div:last-child { margin-top: 25px; max-width: none; display: flex; gap: 23px; align-items: center; }
}
@media (max-width: 720px) {
  html { scroll-padding-top: 150px; }
  .sp-home .home-mobile-accompaniment { display: flex; min-height: 44px; margin-block: 0 12px; padding: 10px 14px; font-size: 13px; line-height: 1.3; white-space: normal; }
  .sp-home .home-container { width: calc(100% - 40px); }
  .sp-home .home-nav { min-height: 77px; gap: 13px; }
  .sp-home .home-brand .brand-logo { width: 51px; height: 51px; }
  .sp-home .home-brand { font-size: 18px; }
  .sp-home .home-brand small { font-size: 9px; letter-spacing: .3px; }
  .sp-home .home-login { font-size: 12px !important; }
  .sp-home .home-nav-actions { gap: 15px; }
  .sp-home .home-nav-actions .home-button { display: none; }
  .sp-home .home-hero-grid { padding-top: 43px; }
  .sp-home .home-hero h1 { font-size: 52px; letter-spacing: -2.5px; }
  .sp-home .home-hero .home-eyebrow { font-size: 11px; }
  .sp-home .home-intro { font-size: 16px; line-height: 1.8; }
  .sp-home .home-project-benefits { max-width: 550px; }
  .sp-home .home-library-entry-info > p { font-size: 13px; }
  .sp-home .home-library-entry .home-collection-metrics strong { font-size: 22px; }
  .sp-home .home-library-entry .home-collection-metrics span { font-size: 10px; }
  .sp-home .home-section, .sp-home .home-workspace { padding-block: 56px; }
  .sp-home .home-section h2, .sp-home .home-institutions h2, .sp-home .home-workspace h2, .sp-home .home-final h2, .sp-home .discovery-heading h2 { font-size: 32px; letter-spacing: -1.25px; }
  .sp-home .home-section-heading { display: block; }
  .sp-home .home-section-heading > .home-text-link, .sp-home .home-section-heading > .home-heading-note { margin-top: 18px; }
  .sp-home .home-workspace-heading { display: block; }
  .sp-home .home-workspace-heading > p { max-width: none; margin-top: 22px !important; }
  .sp-home .home-module-grid { gap: 14px; }
  .sp-home .home-module-grid > div { padding: 25px; }
  .sp-home .home-module-grid h3 { font-size: 19px; }
  .sp-home .home-workspace-bottom { gap: 25px; flex-wrap: wrap; }
  .sp-home .home-reading { padding-top: 0; }
  .sp-home .home-reading-grid { padding-top: 0; display: block; }
  .sp-home .home-reading-list { margin-top: 27px; }
  .sp-home .home-download-grid { grid-template-columns: 1fr; }
  .sp-home .home-download-grid > article { grid-template-columns: minmax(0, .65fr) minmax(0, 1fr); display: grid; }
  .sp-home .home-download-info { margin-top: 0; padding: 25px; }
  .sp-home .home-download-info h3 { font-size: 20px; }
  .sp-home .home-mini-doc { max-width: 210px; }
  .sp-home .home-institutions { padding-block: 55px; }
  .sp-home .home-institutions-grid { display: block; }
  .sp-home .home-institution-note { margin-top: 30px; }
  .sp-home .home-tools-grid, .sp-home .home-audience-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sp-home .home-tool-link { padding: 24px; }
  .sp-home .home-tool-link h3 { font-size: 19px; }
  .sp-home .home-audience-grid > a { padding: 25px; }
  .sp-home .home-audience-grid > a:last-child { grid-column: 1 / -1; }
  .sp-home .home-health-grid { grid-template-columns: 1fr; }
  .sp-home .home-step-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sp-home .home-pricing-grid { grid-template-columns: 1fr; gap: 27px; }
  .sp-home .home-price { padding: 30px; }
  .sp-home .home-price h3 { font-size: 28px; }
  .sp-home .home-price-description { min-height: 0; }
  .sp-home .home-price-period { min-height: 0; }
  .sp-home .home-price-value { font-size: 57px; }
  .sp-home .home-price .home-button { font-size: 14px; }
  .sp-home .home-faq-grid { display: block; }
  .sp-home .home-faq-list { margin-top: 27px; }
  .sp-home .home-final { padding-bottom: 40px; }
  .sp-home .home-final-inner { border-radius: 20px; padding: 35px; }
  .sp-home .home-final h2 { font-size: 31px; }
  .sp-home .home-final-inner > div:last-child { flex-wrap: wrap; }
}
@media (max-width: 480px) {
  .sp-home .home-container { width: calc(100% - 36px); }
  .sp-home .home-nav { gap: 10px; min-height: 72px; }
  .sp-home .home-brand { font-size: 16px; gap: 6px; }
  .sp-home .home-brand .brand-logo { width: 47px; height: 47px; }
  .sp-home .home-brand small { font-size: 8px; }
  .sp-home .home-login { font-size: 11px !important; }
  .sp-home .home-hero-grid { padding-block: 36px 43px; gap: 34px; }
  .sp-home .home-hero h1 { font-size: 44px; letter-spacing: -2.3px; }
  .sp-home .home-hero h1 em { font-size: 45px; letter-spacing: -1.9px; }
  .sp-home .home-hero .home-eyebrow { font-size: 10px; margin-bottom: 20px !important; }
  .sp-home .home-intro { font-size: 15px; }
  .sp-home .home-hero-actions { flex-direction: column; align-items: stretch; gap: 19px; }
  .sp-home .home-hero .home-project-primary { width: 100%; font-size: 15px; }
  .sp-home .home-hero-actions .home-text-link { justify-content: center; }
  .sp-home .home-hero-note { text-align: center; font-size: 10px; }
  .sp-home .home-project-benefits { gap: 9px; margin-top: 25px; grid-template-columns: 1fr 1fr 1.15fr; }
  .sp-home .home-project-benefits li { padding-left: 8px; }
  .sp-home .home-project-benefits strong { font-size: 11px; }
  .sp-home .home-project-benefits span { font-size: 9px; }
  .sp-home .home-project-help { margin-top: 22px; font-size: 11px; }
  .sp-home .home-product-preview { border-radius: 15px; transform: none; }
  .sp-home .home-preview-topbar { padding: 12px 14px; min-height: 42px; font-size: 8px; letter-spacing: .5px; }
  .sp-home .home-preview-label { font-size: 8px; }
  .sp-home .home-preview-cover { padding: 20px; height: 106px; }
  .sp-home .home-preview-cover h2 { font-size: 22px; }
  .sp-home .home-preview-body { display: block; padding: 10px 13px 14px; }
  .sp-home .home-preview-steps { flex-direction: row; justify-content: space-between; gap: 4px; padding: 0 0 11px; }
  .sp-home .home-preview-steps > div { gap: 4px; padding: 8px 5px; }
  .sp-home .home-preview-steps strong { font-size: 8px; }
  .sp-home .home-preview-steps > div > span { font-size: 7px; }
  .sp-home .home-preview-document { padding: 18px; }
  .sp-home .home-preview-document h3 { font-size: 23px; }
  .sp-home .home-preview-document li { font-size: 10px; padding-block: 8px; }
  .sp-home .home-document-note { margin-top: 13px; }
  .sp-home .home-preview-footer { padding: 0 16px 13px; font-size: 8px; }
  .sp-home .home-preview-footer > div > span { font-size: 8px; }
  .sp-home .home-product-preview figcaption { font-size: 9px; padding-inline: 16px; }
  .sp-home .home-preview-callout { padding: 11px 13px; right: -3px; bottom: -15px; gap: 10px; }
  .sp-home .home-preview-callout-icon { width: 33px; height: 33px; }
  .sp-home .home-preview-callout strong { font-size: 11px; }
  .sp-home .home-preview-callout small { font-size: 9px; }
  .sp-home .home-regions { padding-block: 23px; gap: 12px; }
  .sp-home .home-regions > span, .sp-home .home-regions p, .sp-home .home-regions > a { font-size: 11px; }
  .sp-home .home-library-entry { padding-block: 27px; }
  .sp-home .home-library-entry .home-search label { font-size: 12px; }
  .sp-home .home-library-entry .home-search-field { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 2px 8px; padding: 7px 11px 11px; }
  .sp-home .home-library-entry .home-search input { font-size: 15px; }
  .sp-home .home-library-entry .home-search button { grid-column: 1 / -1; width: 100%; margin-top: 3px; font-size: 13px; }
  .sp-home .home-library-entry .home-search-shortcuts { font-size: 11px; }
  .sp-home .home-library-entry-info { display: block; }
  .sp-home .home-library-entry-info > p { font-size: 13px; }
  .sp-home .home-library-entry .home-collection-metrics { margin-top: 17px; gap: 23px; }
  .sp-home .home-section, .sp-home .home-workspace, .sp-home .home-discovery { padding-block: 46px; }
  .sp-home .home-section h2, .sp-home .home-institutions h2, .sp-home .home-workspace h2, .sp-home .home-final h2, .sp-home .discovery-heading h2 { font-size: 29px; letter-spacing: -1.15px; }
  .sp-home .home-eyebrow { font-size: 10px; }
  .sp-home .home-module-grid { grid-template-columns: 1fr; gap: 13px; margin-top: 27px; }
  .sp-home .home-module-grid > div { padding: 25px; }
  .sp-home .home-module-grid h3 { font-size: 21px; margin-top: 20px; }
  .sp-home .home-module-grid p { font-size: 14px; }
  .sp-home .home-workspace-bottom { gap: 19px; }
  .sp-home .home-workspace-bottom .home-button { width: 100%; }
  .sp-home .home-topic-grid, .sp-home .discovery-grid { grid-template-columns: 1fr; }
  .sp-home .home-topic { min-height: 0; padding: 27px; }
  .sp-home .home-topic h3 { font-size: 27px; }
  .sp-home .home-topic p { font-size: 14px; }
  .sp-home .home-reading { padding-top: 0; }
  .sp-home .home-reading-list > a, .sp-home .home-reading-list > a:first-child { padding: 19px 17px; gap: 12px; }
  .sp-home .home-reading-number { min-width: 29px; height: 37px; font-size: 12px; }
  .sp-home .home-reading-list h3 { font-size: 16px; }
  .sp-home .home-reading-label { font-size: 8px; }
  .sp-home .home-reading-list p { font-size: 14px; }
  .sp-home .home-download-grid > article { display: block; }
  .sp-home .home-mini-doc { margin: 24px auto 0; }
  .sp-home .home-download-info { margin-top: 24px; padding: 25px; }
  .sp-home .home-tools-grid, .sp-home .home-audience-grid { grid-template-columns: 1fr; gap: 14px; }
  .sp-home .home-tool-link { padding: 25px; }
  .sp-home .home-tool-link h3 { font-size: 21px; }
  .sp-home .home-tool-link p, .sp-home .home-audience-grid p { font-size: 14px; }
  .sp-home .home-health-grid > a { padding: 24px; gap: 15px; }
  .sp-home .home-health-grid h3 { font-size: 21px; }
  .sp-home .home-step-grid { grid-template-columns: 1fr; gap: 23px; }
  .sp-home .home-step-grid li { padding-top: 20px; }
  .sp-home .home-step-grid h3 { font-size: 19px; }
  .sp-home .home-step-grid p { font-size: 14px; }
  .sp-home .home-price { padding: 29px 25px 25px; }
  .sp-home .home-price-description, .sp-home .home-price-capacity, .sp-home .home-price ul { font-size: 14px; }
  .sp-home .home-faq-list summary { padding: 19px; font-size: 15px; gap: 14px; }
  .sp-home .home-faq-list details > p { padding: 0 19px 20px; font-size: 15px; }
  .sp-home .home-final-inner { padding: 31px 25px; }
  .sp-home .home-final h2 { font-size: 29px; }
  .sp-home .home-final-inner > div:last-child { display: flex; flex-direction: column; align-items: stretch; gap: 19px; }
  .sp-home .home-final .home-button { width: 100%; white-space: normal; }
  .sp-home .home-final .home-text-link { justify-content: center; }
  .sp-home .home-footer-grid { grid-template-columns: 1fr; }
}
@media (max-width: 350px) {
  .sp-home .home-brand { font-size: 14px; }
  .sp-home .home-brand .brand-logo { width: 40px; height: 40px; }
  .sp-home .home-brand small { font-size: 7px; }
  .sp-home .home-hero h1 { font-size: 39px; letter-spacing: -2.1px; }
  .sp-home .home-hero h1 em { font-size: 39px; }
  .sp-home .home-preview-steps { gap: 1px; }
  .sp-home .home-preview-steps > div { padding-inline: 3px; gap: 2px; }
  .sp-home .home-preview-steps strong { font-size: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  .sp-home .home-product-preview, .sp-home .home-mini-doc, .sp-home .home-download-grid > article:nth-child(2) .home-mini-doc { transform: none; }
  .sp-home .home-hero-copy, .sp-home .home-featured-resource, .sp-home .home-preview-callout { animation: none; }
  .sp-home .home-button, .sp-home .home-button > span, .sp-home .home-module-grid > div, .sp-home .home-topic, .sp-home .home-download-grid > article, .sp-home .home-tool-link, .sp-home .home-audience-grid > a, .sp-home .home-health-grid > a, .sp-home .home-price, .sp-home .discovery-collection, .sp-home .home-mini-doc { transition: none; }
  .sp-home .home-button:hover, .sp-home .home-button:hover > span, .sp-home .home-download-grid > article:hover .home-mini-doc { transform: none; }
}
