/*
Theme Name: SalehRam Studio
Author: Saleh Ramadan
Description: An independent, editorial classic theme for cloud consulting, code, and practical learning. Native WordPress blocks, no builders or remote assets required.
Version: 1.1.0
Requires at least: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: salehram
Tags: blog, education, portfolio, custom-menu, featured-images, wide-blocks, editor-style, translation-ready
*/

:root {
  --sr-bg: #f6f7f4;
  --sr-ink: #132f29;
  --sr-muted: #52635b;
  --sr-lime: #d9f36b;
  --sr-orange: #a84523;
  --sr-line: #d3dbd1;
  --sr-white: #fff;
  --sr-radius: 20px;
  --sr-width: 1200px;
  --sr-font: "Segoe UI Variable", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
  --sr-mono: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
  --sr-header-height: 109px;
  --sr-toolbar-offset: 0px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--sr-header-height) + var(--sr-toolbar-offset) + 24px); }
body { margin: 0; background: var(--sr-bg); color: var(--sr-ink); font-family: var(--sr-font); font-size: 17px; line-height: 1.75; -webkit-font-smoothing: antialiased; }
::selection { color: var(--sr-ink); background: var(--sr-lime); }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .22em; }
a:hover { text-decoration-thickness: 2px; }
a, button, input, textarea, select { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--sr-orange); outline-offset: 5px; }
button, input, textarea, select { font: inherit; }
button, input[type="submit"] { cursor: pointer; }
img, video { max-width: 100%; height: auto; }
img { vertical-align: middle; }
svg { max-width: 100%; }
figure { margin: 1.75rem 0; }
iframe { max-width: 100%; }
h1, h2, h3, h4, h5, h6 { font-weight: 650; letter-spacing: -.045em; line-height: 1.12; text-wrap: balance; }
h1 { font-size: clamp(2.8rem, 6vw, 5.2rem); margin: 0 0 1.5rem; }
h2 { font-size: clamp(2rem, 3.5vw, 3rem); margin: 0 0 1.35rem; }
h3 { font-size: clamp(1.35rem, 2vw, 1.65rem); margin: 0 0 1rem; }
h4 { font-size: 1.2rem; }
p { margin: 0 0 1.35rem; }
ul, ol { padding-left: 1.5rem; }
li + li { margin-top: .45rem; }
hr, .wp-block-separator { border: 0; border-top: 1px solid var(--sr-line); margin: 3rem 0; }
.sr-container, .alignwide { width: min(var(--sr-width), calc(100% - 64px)); margin-inline: auto; }
.screen-reader-text, .sr-skip-link:not(:focus) { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; width: 1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; }
.sr-skip-link:focus { position: fixed; top: calc(var(--sr-toolbar-offset) + 12px); left: 12px; z-index: 1000; background: var(--sr-lime); color: var(--sr-ink); padding: 12px 20px; border-radius: 8px; }
.sr-site-header { position: sticky; top: var(--sr-toolbar-offset); z-index: 100; background: var(--sr-bg); border-bottom: 1px solid var(--sr-line); box-shadow: 0 4px 16px #132f2906; }
.admin-bar { --sr-toolbar-offset: 32px; }
.sr-header-inner { min-height: 108px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.sr-brand { display: inline-flex; flex-direction: column; text-decoration: none; flex-shrink: 0; line-height: 1; }
.sr-brand-name { font-size: 1.85rem; font-weight: 750; letter-spacing: -.065em; }
.sr-brand-name::after { content: "."; color: var(--sr-orange); }
.sr-brand-tagline { font-family: var(--sr-mono); font-size: .59rem; letter-spacing: .13em; margin-top: 10px; }
.sr-navigation { display: flex; align-items: center; gap: 30px; }
.sr-nav-list { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 28px; margin: 0; padding: 0; }
.sr-nav-list li { position: relative; margin: 0; }
.sr-nav-list a { font-size: .88rem; font-weight: 600; text-decoration: none; padding-block: 12px; }
.sr-nav-list a:hover, .sr-nav-list .current-menu-item > a, .sr-nav-list .current_page_item > a { text-decoration: underline; text-decoration-color: var(--sr-orange); text-underline-offset: .55em; }
.sr-nav-list .sub-menu { list-style: none; padding: 12px; min-width: 190px; background: var(--sr-bg); border: 1px solid var(--sr-line); border-radius: 10px; position: absolute; z-index: 20; display: none; }
.sr-nav-list li:hover > .sub-menu, .sr-nav-list li:focus-within > .sub-menu { display: block; }
.sr-nav-list .sub-menu a { display: block; padding: 8px; }
.sr-menu-toggle { display: none; border: 1px solid var(--sr-ink); border-radius: 999px; background: transparent; padding: 9px 16px; font-size: .85rem; font-weight: 600; }
.sr-button, .wp-block-button__link, input[type="submit"], button[type="submit"] { display: inline-flex; justify-content: center; align-items: center; gap: 12px; min-height: 49px; padding: 13px 23px; border: 1px solid var(--sr-ink); border-radius: 999px; background: var(--sr-ink); color: #fff; font-size: .88rem; font-weight: 600; line-height: 1.4; text-decoration: none; transition: background .2s, color .2s, transform .2s; }
.sr-button:hover, .wp-block-button__link:hover, input[type="submit"]:hover, button[type="submit"]:hover { background: var(--sr-lime); color: var(--sr-ink); text-decoration: none; transform: translateY(-2px); }
.sr-button-light, .sr-button-light .wp-block-button__link { background: #fff; color: var(--sr-ink); border-color: #fff; }
.sr-button-outline, .sr-button-outline .wp-block-button__link, .is-style-outline > .wp-block-button__link { color: var(--sr-ink); background: transparent; border: 1px solid var(--sr-ink); }
.wp-block-button.sr-button, .wp-block-button.sr-button-light, .wp-block-button.sr-button-outline { padding: 0; border: 0; background: none; display: inline-block; }
.sr-header-cta { min-height: 43px; padding: 11px 20px; }
.sr-eyebrow { display: block; font-family: var(--sr-mono); font-size: .7rem; font-weight: 500; line-height: 1.6; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 24px; }
.sr-eyebrow::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--sr-orange); margin-right: 10px; vertical-align: 1px; }
.sr-hero { position: relative; display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 48px; padding-block: 94px 86px; }
.sr-hero h1 { font-size: clamp(3rem, 5.4vw, 4.65rem); letter-spacing: -.065em; line-height: 1.05; }
.sr-accent { display: inline; background: linear-gradient(transparent 62%, var(--sr-lime) 62%, var(--sr-lime) 94%, transparent 94%); }
.sr-lead { color: var(--sr-muted); font-size: clamp(1.05rem, 1.5vw, 1.2rem); line-height: 1.75; max-width: 57ch; }
.sr-actions, .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-block: 28px; }
.sr-tags { display: flex; gap: 8px; flex-wrap: wrap; padding: 0; list-style: none; margin-block: 24px 0; }
.sr-tags li, .sr-tags > span, .sr-tags > a { display: inline-block; margin: 0; border: 1px solid var(--sr-line); border-radius: 999px; padding: 5px 11px; font-family: var(--sr-mono); font-size: .65rem; line-height: 1.5; text-decoration: none; }
.sr-hero-art { min-width: 0; position: relative; display: grid; place-items: center; min-height: 440px; border: 1px solid var(--sr-line); border-radius: 28px; background-color: #edf0e7; background-image: linear-gradient(#132f2908 1px, transparent 1px), linear-gradient(90deg, #132f2908 1px, transparent 1px); background-size: 28px 28px; overflow: hidden; }
.sr-hero-art::before { content: ""; position: absolute; width: 265px; height: 265px; border: 1px dashed #82926b; border-radius: 50%; }
.sr-hero-art::after { content: ""; position: absolute; width: 345px; height: 345px; border: 1px solid #132f2914; border-radius: 50%; pointer-events: none; }
.sr-cloud-diagram { position: relative; z-index: 1; width: 100%; height: auto; }
.sr-diagram-caption { position: absolute; left: 24px; bottom: 15px; font-family: var(--sr-mono); font-size: .59rem; letter-spacing: .09em; text-transform: uppercase; margin: 0; color: var(--sr-muted); }
.sr-section { padding-block: 76px; border-top: 1px solid var(--sr-line); }
.sr-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 34px; }
.sr-section-heading h2, .sr-section-heading p { margin-bottom: 0; }
.sr-section-heading .sr-eyebrow { margin-bottom: 14px; }
.sr-text-link { flex-shrink: 0; font-size: .87rem; font-weight: 650; text-decoration: none; padding-bottom: 4px; border-bottom: 1px solid var(--sr-ink); }
.sr-text-link:hover { border-bottom-width: 2px; }
.sr-grid, .sr-work-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
/* Classic themes receive an extra Group wrapper. Expose its children to the
  layout without changing saved blocks; modern wrapper-free Groups work too. */
:is(.sr-grid, .sr-work-grid, .sr-course-grid, .sr-contact-grid, .sr-section-heading, .sr-editorial-split) > .wp-block-group__inner-container { display: contents; }
:is(.sr-grid, .sr-work-grid, .sr-course-grid, .sr-contact-grid, .sr-editorial-split) > :not(.wp-block-group__inner-container),
:is(.sr-grid, .sr-work-grid, .sr-course-grid, .sr-contact-grid, .sr-editorial-split) > .wp-block-group__inner-container > * { margin: 0; width: 100%; max-width: none; min-width: 0; }
.sr-card { padding: 30px; background: transparent; border: 1px solid var(--sr-line); border-radius: var(--sr-radius); min-width: 0; }
.sr-work-grid .sr-card { display: flex; flex-direction: column; }
.sr-work-grid .sr-card > .wp-block-group__inner-container { display: contents; }
.sr-work-grid .sr-card > p:last-child, .sr-work-grid .sr-card > .wp-block-group__inner-container > p:last-child { margin-top: auto; margin-bottom: 0; padding-top: 12px; }
.sr-project-stack { font-size: .78rem; line-height: 1.65; }
.sr-editorial-split { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 64px; align-items: start; }
.sr-editorial-split .sr-section-heading { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 0; margin-bottom: 0; }
.sr-section-copy { min-width: 0; max-width: 65ch; }
.sr-course-overview { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .8fr); gap: 40px; align-items: start; margin-bottom: 40px; }
.sr-course-overview > .wp-block-group__inner-container { display: contents; }
.sr-course-overview > .wp-block-group__inner-container > *, .sr-course-overview > :not(.wp-block-group__inner-container) { min-width: 0; margin: 0; }
.sr-course-facts { background: var(--sr-white); }
.sr-course-facts h2 { font-size: 1.6rem; }
.sr-course-facts .sr-card-number { margin-bottom: 18px; }
.sr-course-jump-links { display: flex; flex-wrap: wrap; gap: 10px 22px; font-size: .9rem; }
.sr-course-overview .sr-note { margin-top: 24px; }
.sr-section-copy > :last-child, .sr-section-copy > .wp-block-group__inner-container > :last-child { margin-bottom: 0; }
.sr-card-number { display: inline-block; font-family: var(--sr-mono); font-size: .75rem; color: var(--sr-orange); margin-bottom: 40px; }
.sr-card p { color: var(--sr-muted); font-size: .96rem; }
.sr-card > :last-child { margin-bottom: 0; }
.sr-card h3 a, .sr-course-card h3 a { text-decoration: none; }
.sr-card h3 a:hover, .sr-course-card h3 a:hover { text-decoration: underline; }
.sr-course-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.sr-course-card { border: 1px solid var(--sr-line); border-radius: var(--sr-radius); overflow: hidden; min-width: 0; background: #fff; }
.sr-course-icon { display: grid; place-items: center; min-height: 180px; padding: 32px; background-color: #e8eee1; background-image: radial-gradient(#132f2920 1px, transparent 1px); background-size: 16px 16px; font-family: var(--sr-mono); font-size: 2.5rem; font-weight: 650; letter-spacing: -.06em; }
.sr-course-icon svg { width: 64px; height: 64px; }
.sr-course-card[data-course="workspace"] .sr-course-icon { color: var(--sr-ink); background-color: #e9eddc; }
.sr-course-card[data-course="terraform"] .sr-course-icon { color: #49326b; background-color: #ece7f1; }
.sr-workspace-icon { color: var(--sr-ink); background-color: #e9eddc; }
.sr-terraform-icon { color: #49326b; background-color: #ece7f1; }
.sr-course-body { padding: 30px; }
.sr-course-body > :last-child { margin-bottom: 0; }
.sr-course-meta, .sr-post-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; font-family: var(--sr-mono); font-size: .65rem; letter-spacing: .015em; color: var(--sr-muted); margin-bottom: 18px; }
.sr-course-meta { text-transform: uppercase; letter-spacing: .07em; }
.sr-course-body p { color: var(--sr-muted); }
.sr-note { border-left: 3px solid var(--sr-orange); background: #ecefe5; padding: 22px 26px; border-radius: 0 12px 12px 0; color: var(--sr-muted); }
.sr-page-intro { max-width: 850px; padding-block: 76px 45px; }
.sr-page-intro h1 { font-size: clamp(2.6rem, 5vw, 4.6rem); }
.sr-page-intro .sr-lead { margin-bottom: 0; }
.sr-course-page-intro { max-width: 1050px; padding-bottom: 28px; }
.sr-course-page-intro h1 { font-size: clamp(2.4rem, 4.5vw, 3.8rem); }
.sr-course-page-intro .sr-actions { margin-bottom: 0; }
.sr-checklist { list-style: none; padding: 0; }
.sr-checklist li { position: relative; padding-left: 30px; margin-block: 12px; }
.sr-checklist li::before { content: "\2713"; position: absolute; left: 0; font-weight: 700; }
.sr-contact-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px; }
.sr-contact-card { padding: 32px; border: 1px solid var(--sr-line); border-radius: var(--sr-radius); overflow-wrap: anywhere; }
.sr-contact-card:first-child { background: var(--sr-lime); border-color: var(--sr-lime); }
.sr-business-profile { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 36px; align-items: start; padding: 30px; border: 1px solid var(--sr-line); border-radius: var(--sr-radius); background: #fff; }
.sr-business-profile > .wp-block-group__inner-container { display: contents; }
.sr-business-profile > *, .sr-business-profile > .wp-block-group__inner-container > * { min-width: 0; margin: 0; }
.sr-business-portrait img { display: block; width: 100%; height: auto; border-radius: 16px; }
.sr-business-portrait figcaption { text-align: left; font-size: .72rem; }
.sr-business-identity h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); overflow-wrap: anywhere; }
.sr-business-identity .sr-eyebrow { margin-bottom: 16px; }
.sr-business-details { margin-top: 40px; }
.sr-business-contact { margin-top: 12px; }
.sr-business-contact h2 { font-size: 1.7rem; }
.sr-business-contact p:last-child { margin-bottom: 0; }
.sr-cta { display: flex; align-items: center; justify-content: space-between; gap: 32px; background: var(--sr-ink); color: var(--sr-white); border-radius: 24px; padding: 52px; margin-block: 24px 80px; position: relative; overflow: hidden; }
.sr-cta h2 { font-size: clamp(1.8rem, 3.2vw, 2.8rem); max-width: 21ch; }
.sr-cta p { color: #d3dfd6; margin-bottom: 0; max-width: 52ch; }
.sr-cta .sr-eyebrow { color: var(--sr-lime); margin-bottom: 18px; }
.sr-cta .sr-button { flex-shrink: 0; }
.sr-post-card { display: flex; flex-direction: column; }
.sr-post-card .sr-post-meta { margin-bottom: 26px; }
.sr-post-card h3 { font-size: 1.4rem; }
.sr-post-card .sr-text-link { align-self: flex-start; margin-top: auto; }
.sr-post-card .sr-post-excerpt { margin-bottom: 24px; overflow-wrap: anywhere; }
.sr-post-thumbnail { display: block; margin: -30px -30px 26px; }
.sr-post-thumbnail img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 19px 19px 0 0; }
.sr-listing { padding-block: 14px 80px; }
.sr-empty { padding: 36px; border: 1px dashed var(--sr-line); border-radius: var(--sr-radius); }
.sr-empty h2 { font-size: 1.7rem; }
.sr-page-content { padding-bottom: 76px; }
.sr-page-content > :first-child { margin-top: 0; }
.sr-page-content::after, .sr-entry-content::after { content: ""; display: table; clear: both; }
.sr-page-content > .alignwide, .sr-home-content > .alignwide { width: 100%; max-width: none; margin-inline: 0; }
.sr-page-content > .alignfull, .sr-home-content > .alignfull { width: auto; max-width: none; margin-inline: min(-32px, calc((var(--sr-width) - 100vw) / 2)); padding-inline: max(32px, calc((100vw - var(--sr-width)) / 2)); border-radius: 0; }
.sr-page-content > :where(p, h2, h3, h4, ul, ol, blockquote, pre), .sr-home-content > :where(p, h2, h3, h4, ul, ol, blockquote, pre) { max-width: 760px; }
.sr-home-content .sr-section:first-child { border-top: 1px solid var(--sr-line); }
.sr-page-content .sr-section:first-child { border-top: 0; padding-top: 24px; }
.wp-block-group { overflow-wrap: anywhere; }
.wp-block-group.has-background { padding: 32px; border-radius: var(--sr-radius); }
.wp-block-group > :last-child, .wp-block-column > :last-child { margin-bottom: 0; }
.wp-block-columns { gap: 32px; margin-bottom: 2rem; }
.wp-block-column { min-width: 0; }
.wp-block-image img { border-radius: 12px; }
.wp-block-image figcaption, .wp-caption-text, figcaption { font-size: .8rem; color: var(--sr-muted); margin-top: 10px; text-align: center; }
.wp-block-details, details { padding: 22px 0; border-bottom: 1px solid var(--sr-line); }
summary { font-weight: 650; cursor: pointer; }
details[open] > summary { margin-bottom: 18px; }
.sr-entry-content { max-width: 760px; margin-inline: auto; padding-block: 12px 56px; overflow-wrap: anywhere; }
.sr-entry-content h2 { font-size: clamp(1.75rem, 3vw, 2.4rem); margin-top: 2.5rem; }
.sr-entry-content h3 { margin-top: 2rem; }
.sr-entry-content .alignwide { max-width: calc(100vw - 64px); width: min(1000px, calc(100vw - 64px)); margin-left: 50%; transform: translateX(-50%); }
.sr-entry-content .alignfull { width: calc(100vw - 64px); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.sr-article-header { max-width: 900px; margin-inline: auto; padding-block: 76px 30px; }
.sr-article-header h1 { font-size: clamp(2.5rem, 5vw, 4.4rem); }
.sr-article-header .sr-post-meta { margin-bottom: 22px; }
.sr-reading-layout { width: min(1440px, calc(100% - 64px)); margin: 44px auto 80px; display: grid; grid-template-columns: 240px minmax(0, 1fr) 220px; gap: 36px; align-items: start; }
.sr-reading-main { grid-column: 2; grid-row: 1; min-width: 0; width: 100%; max-width: 760px; justify-self: center; }
.sr-reading-main > article { border: 0; }
.sr-reading-main .sr-article-header { max-width: none; padding: 0 0 28px; }
.sr-reading-main .sr-article-header h1 { font-size: clamp(2.1rem, 3.2vw, 2.9rem); letter-spacing: -.055em; overflow-wrap: anywhere; }
.sr-reading-main .sr-article-header h1::after { content: ""; display: block; width: 72px; height: 6px; background: var(--sr-lime); border-radius: 999px; margin-top: 22px; }
.sr-article-breadcrumb { font-size: .78rem; color: var(--sr-muted); margin-bottom: 24px; }
.sr-article-breadcrumb a { text-decoration: none; }
.sr-article-breadcrumb a:hover { text-decoration: underline; }
.sr-article-topics { margin: 22px 0; }
.sr-article-topics ul { display: contents; list-style: none; }
.sr-article-topics li { padding: 0; border: 0; }
.sr-article-topics a { display: inline-block; padding: 5px 11px; border: 1px solid var(--sr-line); border-radius: 999px; text-decoration: none; }
.sr-article-byline { display: flex; align-items: center; gap: 14px; padding: 20px 0; border-block: 1px solid var(--sr-line); margin-top: 26px; }
.sr-author-mark { width: 40px; height: 40px; display: grid; place-items: center; flex-shrink: 0; border-radius: 50%; background: var(--sr-ink); color: var(--sr-lime); font-family: var(--sr-mono); }
.sr-article-author { display: block; font-size: .85rem; font-weight: 600; }
.sr-article-byline time { font-family: var(--sr-mono); font-size: .65rem; color: var(--sr-muted); }
.sr-reading-main .sr-entry-content { width: 100%; max-width: 760px; }
.sr-reading-main .sr-entry-content h1 { font-size: clamp(1.75rem, 3vw, 2.4rem); margin-top: 2.5rem; }
.sr-reading-main .sr-entry-content :is(.alignwide, .alignfull) { width: 100%; max-width: 100%; margin-inline: 0; transform: none; }
.sr-reading-main .sr-entry-content :is(pre, table, iframe, .wp-block-table) { max-width: 100%; }
.sr-reading-main .sr-entry-content table { display: block; overflow-x: auto; }
.sr-reading-main .sr-entry-content pre { white-space: pre; overflow-wrap: normal; }
.sr-reading-rail { position: sticky; top: calc(var(--sr-header-height) + var(--sr-toolbar-offset) + 24px); max-height: calc(100vh - var(--sr-header-height) - var(--sr-toolbar-offset) - 48px); overflow-y: auto; overscroll-behavior-y: contain; scrollbar-width: thin; border: 1px solid var(--sr-line); border-radius: var(--sr-radius); background: #fff; padding: 20px; min-width: 0; font-size: .82rem; line-height: 1.6; overflow-wrap: anywhere; }
.sr-reading-related { grid-column: 1; grid-row: 1; }
.sr-reading-toc { grid-column: 3; grid-row: 1; padding: 22px 18px; }
.sr-reading-rail .sr-rail-label { font-size: .64rem; margin-bottom: 20px; }
.sr-reading-rail details { padding: 0; border: 0; }
.sr-reading-rail summary { display: none; }
.sr-reading-rail h2 { font-size: 1.35rem; margin: 0 0 10px; }
.sr-rail-intro { color: var(--sr-muted); font-size: .76rem; margin-bottom: 20px; }
.sr-now-reading { padding: 16px; background: var(--sr-ink); color: white; border-radius: 12px; margin-bottom: 22px; font-size: .76rem; }
.sr-now-reading span { display: block; font-family: var(--sr-mono); font-size: .59rem; color: var(--sr-lime); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 8px; }
.sr-reading-rail ol { list-style: none; margin: 0; padding: 0; }
.sr-reading-rail li { margin: 0; }
.sr-reading-rail a { text-decoration: none; }
.sr-related-posts a { display: block; padding: 16px 0; border-bottom: 1px solid var(--sr-line); font-weight: 600; }
.sr-related-label { display: block; color: var(--sr-muted); font-family: var(--sr-mono); font-size: .59rem; letter-spacing: .05em; margin-bottom: 7px; text-transform: uppercase; }
.sr-reading-rail a:hover { color: var(--sr-orange); }
.sr-all-notes { display: inline-block; margin-top: 18px; font-weight: 650; font-size: .76rem; }
.sr-reading-toc nav a { display: block; border-left: 2px solid var(--sr-line); padding: 6px 12px; font-size: .76rem; line-height: 1.45; }
.sr-reading-toc .sr-toc-sub a { padding-left: 26px; font-size: .7rem; }
.sr-reading-toc a[aria-current="location"] { background: #f1f6df; border-left-color: var(--sr-orange); color: var(--sr-ink); font-weight: 650; border-radius: 0 6px 6px 0; }
.sr-toc-footer { border-top: 1px solid var(--sr-line); padding-top: 16px; margin-top: 20px; color: var(--sr-muted); font-size: .7rem; }
.sr-reading-no-toc { grid-template-columns: 240px minmax(0, 760px); max-width: 1080px; }
.sr-reading-no-related { grid-template-columns: minmax(0, 760px) 220px; max-width: 1080px; }
.sr-reading-no-related .sr-reading-main { grid-column: 1; }
.sr-reading-no-related .sr-reading-toc { grid-column: 2; }
.sr-reading-no-related.sr-reading-no-toc { display: block; max-width: 760px; }
.sr-featured-image { margin: 0 0 40px; }
.sr-featured-image img { display: block; width: 100%; height: auto; border-radius: var(--sr-radius); }
blockquote, .wp-block-quote { border-left: 3px solid var(--sr-ink); margin: 2rem 0; padding: 8px 0 8px 24px; font-size: 1.2rem; }
blockquote cite { font-size: .85rem; color: var(--sr-muted); font-style: normal; }
pre, .wp-block-code { background: #142b26; color: #e5eedc; border-radius: 12px; padding: 24px; overflow-x: auto; line-height: 1.7; font-size: .85rem; tab-size: 4; }
code, kbd, samp, pre { font-family: var(--sr-mono); }
:not(pre) > code { font-size: .86em; background: #e5eade; padding: .15em .35em; border-radius: 4px; }
pre code { color: inherit; background: none; padding: 0; }
table { width: 100%; border-collapse: collapse; margin-bottom: 24px; }
td, th { border: 1px solid var(--sr-line); padding: 12px; text-align: left; }
th { background: #e9eee2; }
.wp-block-table { overflow-x: auto; }
.alignleft { float: left; margin: 0 24px 24px 0; }
.alignright { float: right; margin: 0 0 24px 24px; }
.aligncenter { margin-inline: auto; text-align: center; }
.wp-caption { max-width: 100%; }
.gallery { display: flex; flex-wrap: wrap; gap: 16px; }
.gallery-item { flex: 1 1 160px; }
.sticky { border-top: 3px solid var(--sr-ink); }
.bypostauthor { border-left: 2px solid var(--sr-ink); padding-left: 18px; }
.navigation.pagination { margin-top: 40px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; }
.page-numbers { display: inline-block; padding: 7px 15px; border: 1px solid var(--sr-line); border-radius: 8px; text-decoration: none; }
.page-numbers.current { background: var(--sr-ink); color: white; }
.sr-post-navigation { border-block: 1px solid var(--sr-line); padding-block: 28px; margin-bottom: 36px; }
.sr-post-navigation .nav-previous, .sr-post-navigation .nav-next { flex: 1 1 250px; }
.sr-post-navigation .nav-next { text-align: right; }
.sr-post-navigation .sr-nav-label { display: block; font-family: var(--sr-mono); color: var(--sr-muted); font-size: .65rem; margin-bottom: 8px; text-transform: uppercase; }
.sr-search-form { display: flex; align-items: stretch; gap: 10px; width: 100%; max-width: 620px; margin-block: 24px; }
.sr-search-label { flex: 1; min-width: 0; }
input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), textarea, select { background: #fff; color: var(--sr-ink); border: 1px solid #89998e; border-radius: 8px; padding: 12px 15px; max-width: 100%; }
.sr-search-form input[type="search"] { width: 100%; height: 100%; }
textarea { width: 100%; }
label { font-size: .9rem; }
.sr-comments { max-width: 760px; margin: 0 auto; padding-block: 15px 70px; }
.sr-comments h2, .sr-comments h3 { font-size: 1.7rem; }
.comment-list { list-style: none; padding: 0; }
.comment-list .children { list-style: none; padding-left: 24px; }
.comment-body { border-bottom: 1px solid var(--sr-line); padding-block: 24px; }
.comment-meta { font-size: .8rem; margin-bottom: 16px; }
.comment-author img { border-radius: 50%; margin-right: 8px; }
.comment-form label { display: block; margin-bottom: 6px; }
.comment-form-cookies-consent label { display: inline; margin-left: 8px; }
.required { color: var(--sr-orange); }
.sr-site-footer { border-top: 1px solid var(--sr-line); padding-block: 50px 24px; }
.sr-footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; padding-bottom: 45px; }
.sr-footer-intro p { margin-top: 18px; color: var(--sr-muted); font-size: .9rem; }
.sr-footer-title { font-family: var(--sr-mono); font-size: .66rem; text-transform: uppercase; letter-spacing: .12em; margin: 0 0 18px; }
.sr-footer-links { list-style: none; padding: 0; margin: 0; font-size: .85rem; }
.sr-footer-links a { text-decoration: none; }
.sr-footer-links a:hover { text-decoration: underline; }
.sr-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; padding-top: 22px; border-top: 1px solid var(--sr-line); font-size: .75rem; color: var(--sr-muted); }
.sr-footer-bottom p { margin: 0; }
.sr-footer-bottom a { margin-left: 18px; }
.sr-error { padding-block: 85px 100px; max-width: 760px; }
.sr-error h1 { max-width: 14ch; }
.editor-styles-wrapper { background: var(--sr-bg); color: var(--sr-ink); font-family: var(--sr-font); }
.editor-styles-wrapper .wp-block { max-width: var(--sr-width); }
.has-ivory-color { color: var(--sr-bg); }
.has-ivory-background-color { background-color: var(--sr-bg); }
.has-forest-color { color: var(--sr-ink); }
.has-forest-background-color { background-color: var(--sr-ink); }
.has-lime-color { color: var(--sr-lime); }
.has-lime-background-color { background-color: var(--sr-lime); }
.has-orange-color { color: var(--sr-orange); }
.has-orange-background-color { background-color: var(--sr-orange); }
.has-white-color { color: #fff; }
.has-white-background-color { background-color: #fff; }
@media (max-width: 1179px) {
  .sr-reading-layout { grid-template-columns: minmax(0, 1fr) 200px; gap: 30px; }
  .sr-reading-main { grid-column: 1; grid-row: 1; }
  .sr-reading-toc, .sr-reading-no-related .sr-reading-toc { grid-column: 2; grid-row: 1 / span 2; }
  .sr-reading-related { grid-column: 1; grid-row: 2; position: static; max-height: none; }
  .sr-reading-related > .sr-rail-label, .sr-now-reading { display: none; }
  .sr-reading-related summary { display: list-item; }
  .sr-related-details[open] nav { padding-top: 20px; }
  .sr-reading-no-toc { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
}
@media (max-width: 899px) {
  .sr-reading-layout { display: flex; flex-direction: column; width: calc(100% - 40px); gap: 24px; margin-top: 28px; }
  .sr-reading-toc { order: 0; width: 100%; position: static; max-height: none; padding: 14px 18px; }
  .sr-reading-main { order: 1; }
  .sr-reading-related { order: 2; width: 100%; }
  .sr-reading-toc .sr-rail-label, .sr-toc-footer { display: none; }
  .sr-reading-toc summary { display: list-item; }
  .sr-reading-toc nav a { min-height: 40px; }
  .sr-toc-details[open] nav { padding-top: 16px; }
  .sr-reading-main .sr-article-header h1 { font-size: 2.25rem; }
}
@media print {
  .sr-reading-layout { display: block; width: 100%; }
  .sr-reading-rail { display: none; }
  .sr-reading-main { max-width: none; }
}
@media (min-width: 782px) {
  .sr-grid.wp-block-group, .sr-course-grid.wp-block-group, .sr-contact-grid.wp-block-group, .sr-work-grid.wp-block-group { display: grid; }
}
@media (max-width: 1050px) {
  .sr-grid, .sr-work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sr-editorial-split { gap: 36px; }
  .sr-navigation { gap: 20px; }
  .sr-nav-list { gap: 17px; }
  .sr-hero { gap: 30px; }
  .sr-hero-art { min-height: 380px; }
  .sr-hero h1 { font-size: clamp(2.8rem, 5.5vw, 4rem); }
  .sr-card, .sr-course-body { padding: 24px; }
  .sr-post-thumbnail { margin: -24px -24px 24px; }
}
@media (max-width: 800px) {
  :root { --sr-header-height: 99px; }
  .sr-menu-ready .sr-navigation { max-height: calc(100vh - var(--sr-toolbar-offset) - 170px); max-height: calc(100dvh - var(--sr-toolbar-offset) - 170px); overflow-y: auto; overscroll-behavior-y: contain; }
  .sr-container, .alignwide { width: calc(100% - 40px); }
  .sr-page-content > .alignfull, .sr-home-content > .alignfull { margin-inline: -20px; padding-inline: 20px; }
  .sr-header-inner { flex-wrap: wrap; padding-block: 22px; min-height: 90px; gap: 24px; }
  .sr-navigation { width: 100%; flex-wrap: wrap; justify-content: space-between; gap: 20px; }
  .sr-nav-list { flex-wrap: wrap; gap: 12px 22px; }
  .sr-nav-list .sub-menu { position: static; display: block; margin-top: 10px; }
  .sr-menu-ready .sr-menu-toggle { display: inline-flex; }
  .sr-menu-ready .sr-navigation[hidden] { display: none; }
  .sr-hero { grid-template-columns: 1fr; padding-block: 58px; gap: 40px; }
  .sr-hero h1 { font-size: clamp(3rem, 9vw, 4.5rem); }
  .sr-hero-art { min-height: 360px; max-width: 580px; width: 100%; justify-self: center; }
  .sr-cloud-diagram { max-height: 390px; }
  .sr-grid, .sr-work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sr-section { padding-block: 52px; }
  .sr-editorial-split { grid-template-columns: 1fr; gap: 24px; }
  .sr-course-overview { grid-template-columns: 1fr; gap: 24px; }
  .sr-contact-grid { grid-template-columns: 1fr; }
  .sr-business-profile { grid-template-columns: 1fr; gap: 24px; padding: 24px; }
  .sr-business-portrait { max-width: 180px; }
  .sr-cta { padding: 36px; flex-direction: column; align-items: flex-start; margin-bottom: 56px; }
  .sr-page-intro, .sr-article-header { padding-top: 55px; }
  .sr-entry-content .alignwide, .sr-entry-content .alignfull { max-width: calc(100vw - 40px); width: calc(100vw - 40px); }
  .sr-footer-top { grid-template-columns: 1.5fr 1fr 1fr; gap: 24px; }
}
@media (max-width: 560px) {
  body { font-size: 16px; }
  .sr-brand-name { font-size: 1.7rem; }
  .sr-brand-tagline { font-size: .53rem; }
  .sr-grid, .sr-work-grid, .sr-course-grid { grid-template-columns: 1fr; }
  .sr-section-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
  .sr-hero h1 { font-size: clamp(2.65rem, 10.2vw, 3.6rem); }
  .sr-hero-art { min-height: 310px; }
  .sr-actions { gap: 10px; }
  .sr-actions .sr-button { padding-inline: 18px; font-size: .82rem; }
  .sr-eyebrow { font-size: .62rem; }
  .sr-cta { padding: 30px 24px; }
  .sr-footer-top { grid-template-columns: 1fr 1fr; }
  .sr-footer-intro { grid-column: 1 / -1; }
  .sr-search-form { flex-wrap: wrap; }
  .sr-search-label { flex-basis: 100%; }
  .sr-post-navigation .nav-next { text-align: left; }
  .alignleft, .alignright { float: none; margin-inline: 0; }
  .wp-block-group.has-background { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
@media (max-width: 782px) {
  .admin-bar { --sr-toolbar-offset: 46px; }
}
@media (max-width: 600px) {
  /* WordPress uses a non-fixed toolbar here; JS measures its visible portion. */
  .admin-bar { --sr-toolbar-offset: 0px; }
}