:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--base: #FFFFFF;--wp--preset--color--contrast: #111111;--wp--preset--color--accent-1: #FFEE58;--wp--preset--color--accent-2: #F6CFF4;--wp--preset--color--accent-3: #503AA8;--wp--preset--color--accent-4: #686868;--wp--preset--color--accent-5: #FBFAF3;--wp--preset--color--accent-6: color-mix(in srgb, currentColor 20%, transparent);--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 0.875rem;--wp--preset--font-size--medium: clamp(1rem, 1rem + ((1vw - 0.2rem) * 0.196), 1.125rem);--wp--preset--font-size--large: clamp(1.125rem, 1.125rem + ((1vw - 0.2rem) * 0.392), 1.375rem);--wp--preset--font-size--x-large: clamp(1.75rem, 1.75rem + ((1vw - 0.2rem) * 0.392), 2rem);--wp--preset--font-size--xx-large: clamp(2.15rem, 2.15rem + ((1vw - 0.2rem) * 1.333), 3rem);--wp--preset--font-family--manrope: Manrope, sans-serif;--wp--preset--font-family--fira-code: "Fira Code", monospace;--wp--preset--font-family--ssl-display: "Fraunces",Georgia,serif;--wp--preset--font-family--ssl-text: "Karla",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--wp--preset--spacing--20: 10px;--wp--preset--spacing--30: 20px;--wp--preset--spacing--40: 30px;--wp--preset--spacing--50: clamp(30px, 5vw, 50px);--wp--preset--spacing--60: clamp(30px, 7vw, 70px);--wp--preset--spacing--70: clamp(50px, 7vw, 90px);--wp--preset--spacing--80: clamp(70px, 10vw, 140px);--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:root { --wp--style--global--content-size: 645px;--wp--style--global--wide-size: 1340px; }:where(body) { margin: 0; }.wp-site-blocks { padding-top: var(--wp--style--root--padding-top); padding-bottom: var(--wp--style--root--padding-bottom); }.has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }.has-global-padding > .alignfull { margin-right: calc(var(--wp--style--root--padding-right) * -1); margin-left: calc(var(--wp--style--root--padding-left) * -1); }.has-global-padding :where(:not(.alignfull.is-layout-flow) > .has-global-padding:not(.wp-block-block, .alignfull)) { padding-right: 0; padding-left: 0; }.has-global-padding :where(:not(.alignfull.is-layout-flow) > .has-global-padding:not(.wp-block-block, .alignfull)) > .alignfull { margin-left: 0; margin-right: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.wp-site-blocks) > * { margin-block-start: 1.2rem; margin-block-end: 0; }:where(.wp-site-blocks) > :first-child { margin-block-start: 0; }:where(.wp-site-blocks) > :last-child { margin-block-end: 0; }:root { --wp--style--block-gap: 1.2rem; }:root :where(.is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.is-layout-flow) > *{margin-block-start: 1.2rem;margin-block-end: 0;}:root :where(.is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.is-layout-constrained) > *{margin-block-start: 1.2rem;margin-block-end: 0;}:root :where(.is-layout-flex){gap: 1.2rem;}:root :where(.is-layout-grid){gap: 1.2rem;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{background-color: #FAF8F4;color: #17201F;font-family: var(--wp--preset--font-family--ssl-text);font-size: clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.392), 18px);font-weight: 300;letter-spacing: -0.1px;line-height: 1.72;--wp--style--root--padding-top: 0px;--wp--style--root--padding-right: var(--wp--preset--spacing--50);--wp--style--root--padding-bottom: 0px;--wp--style--root--padding-left: var(--wp--preset--spacing--50);}a:where(:not(.wp-element-button)){color: #14494F;}:root :where(a:where(:not(.wp-element-button)):hover){text-decoration: none;}h1, h2, h3, h4, h5, h6{font-weight: 400;letter-spacing: -0.1px;line-height: 1.125;}h1{font-family: var(--wp--preset--font-family--ssl-display);font-size: var(--wp--preset--font-size--xx-large);}h2{font-family: var(--wp--preset--font-family--ssl-display);font-size: var(--wp--preset--font-size--x-large);}h3{font-family: var(--wp--preset--font-family--ssl-display);font-size: var(--wp--preset--font-size--large);}h4{font-family: var(--wp--preset--font-family--ssl-display);font-size: var(--wp--preset--font-size--medium);}h5{font-size: var(--wp--preset--font-size--small);letter-spacing: 0.5px;}h6{font-size: var(--wp--preset--font-size--small);font-weight: 700;letter-spacing: 1.4px;text-transform: uppercase;}:root :where(.wp-element-button, .wp-block-button__link){background-color: var(--wp--preset--color--contrast);border-width: 0;color: var(--wp--preset--color--base);font-family: inherit;font-size: var(--wp--preset--font-size--medium);font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: 1rem;padding-right: 2.25rem;padding-bottom: 1rem;padding-left: 2.25rem;text-decoration: none;text-transform: inherit;}:root :where(.wp-element-button:hover, .wp-block-button__link:hover){background-color: color-mix(in srgb, var(--wp--preset--color--contrast) 85%, transparent);border-color: transparent;color: var(--wp--preset--color--base);}:root :where(.wp-element-button:focus, .wp-block-button__link:focus){outline-color: var(--wp--preset--color--accent-4);outline-offset: 2px;}:root :where(.wp-element-caption, .wp-block-audio figcaption, .wp-block-embed figcaption, .wp-block-gallery figcaption, .wp-block-image figcaption, .wp-block-table figcaption, .wp-block-video figcaption){font-size: var(--wp--preset--font-size--small);line-height: 1.4;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-base-color{color: var(--wp--preset--color--base) !important;}.has-contrast-color{color: var(--wp--preset--color--contrast) !important;}.has-accent-1-color{color: var(--wp--preset--color--accent-1) !important;}.has-accent-2-color{color: var(--wp--preset--color--accent-2) !important;}.has-accent-3-color{color: var(--wp--preset--color--accent-3) !important;}.has-accent-4-color{color: var(--wp--preset--color--accent-4) !important;}.has-accent-5-color{color: var(--wp--preset--color--accent-5) !important;}.has-accent-6-color{color: var(--wp--preset--color--accent-6) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-base-background-color{background-color: var(--wp--preset--color--base) !important;}.has-contrast-background-color{background-color: var(--wp--preset--color--contrast) !important;}.has-accent-1-background-color{background-color: var(--wp--preset--color--accent-1) !important;}.has-accent-2-background-color{background-color: var(--wp--preset--color--accent-2) !important;}.has-accent-3-background-color{background-color: var(--wp--preset--color--accent-3) !important;}.has-accent-4-background-color{background-color: var(--wp--preset--color--accent-4) !important;}.has-accent-5-background-color{background-color: var(--wp--preset--color--accent-5) !important;}.has-accent-6-background-color{background-color: var(--wp--preset--color--accent-6) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-base-border-color{border-color: var(--wp--preset--color--base) !important;}.has-contrast-border-color{border-color: var(--wp--preset--color--contrast) !important;}.has-accent-1-border-color{border-color: var(--wp--preset--color--accent-1) !important;}.has-accent-2-border-color{border-color: var(--wp--preset--color--accent-2) !important;}.has-accent-3-border-color{border-color: var(--wp--preset--color--accent-3) !important;}.has-accent-4-border-color{border-color: var(--wp--preset--color--accent-4) !important;}.has-accent-5-border-color{border-color: var(--wp--preset--color--accent-5) !important;}.has-accent-6-border-color{border-color: var(--wp--preset--color--accent-6) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-xx-large-font-size{font-size: var(--wp--preset--font-size--xx-large) !important;}.has-manrope-font-family{font-family: var(--wp--preset--font-family--manrope) !important;}.has-fira-code-font-family{font-family: var(--wp--preset--font-family--fira-code) !important;}.has-ssl-display-font-family{font-family: var(--wp--preset--font-family--ssl-display) !important;}.has-ssl-text-font-family{font-family: var(--wp--preset--font-family--ssl-text) !important;}/* ==========================================================================
   Small Shop Lab — brand layer
   Fraunces (display) + Karla (text) · petrol #14494F · brass #9C6F26
   ========================================================================== */

:root{
  --ssl-paper:#FAF8F4; --ssl-surface:#FFFFFF; --ssl-ink:#17201F;
  --ssl-muted:#5F6A64; --ssl-line:#E5E1D8; --ssl-line-2:#CFC9BB;
  --ssl-petrol:#14494F; --ssl-petrol-2:#0E363B;
  --ssl-brass:#9C6F26; --ssl-brass-soft:#F5EBD9; --ssl-brass-lite:#D3A45C;
  --ssl-measure:68ch;
  --ssl-serif:"Fraunces","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --ssl-sans:"Karla",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

html{scroll-behavior:smooth}
body{
  background:var(--ssl-paper); color:var(--ssl-ink);
  font-family:var(--ssl-sans); font-size:18px; line-height:1.72;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  font-feature-settings:"kern" 1,"liga" 1;
}

/* ---------- type ---------- */
h1,h2,h3,h4,.wp-block-post-title,.wp-block-site-title,.wp-block-query-title{
  font-family:var(--ssl-serif); font-weight:600; letter-spacing:-.022em;
  line-height:1.1; text-wrap:balance; color:var(--ssl-ink);
}
h1,.wp-block-post-title{font-size:clamp(34px,5vw,54px)}
h2{font-size:clamp(26px,3.4vw,36px); margin-top:2.1em; margin-bottom:.5em}
h3{font-size:clamp(20px,2.4vw,25px); margin-top:1.8em; margin-bottom:.4em}
p,li{max-width:var(--ssl-measure)}
strong{font-weight:700}
a{color:var(--ssl-petrol); text-underline-offset:3px; text-decoration-thickness:1px}
a:hover{color:var(--ssl-brass)}
:focus-visible{outline:2px solid var(--ssl-petrol); outline-offset:3px; border-radius:3px}
::selection{background:var(--ssl-brass-soft); color:var(--ssl-ink)}

/* the opening line of every post and page */
.ssl-lede{
  font-size:clamp(20px,2.2vw,23px); line-height:1.6; color:#2C3733;
  border-left:3px solid var(--ssl-brass); padding-left:20px; margin-bottom:2em;
}

/* ---------- header ---------- */
.wp-site-blocks > header, header.wp-block-template-part{
  background:rgba(250,248,244,.86); border-bottom:1px solid var(--ssl-line);
  position:sticky; top:0; z-index:60;
  backdrop-filter:saturate(150%) blur(10px); -webkit-backdrop-filter:saturate(150%) blur(10px);
}
.wp-block-site-title{font-size:23px; letter-spacing:-.028em}
.wp-block-site-title a{text-decoration:none; color:var(--ssl-ink)}
.wp-block-navigation{font-family:var(--ssl-sans)}
.wp-block-navigation a{
  font-size:15px; font-weight:600; text-decoration:none; color:var(--ssl-ink);
  padding-bottom:2px; border-bottom:2px solid transparent; transition:border-color .15s ease,color .15s ease;
}
.wp-block-navigation a:hover{color:var(--ssl-petrol); border-bottom-color:var(--ssl-brass)}
.wp-block-navigation .current-menu-item a{border-bottom-color:var(--ssl-brass)}

/* ---------- buttons ---------- */
.wp-block-button__link{
  background:var(--ssl-petrol); color:var(--ssl-paper); border-radius:6px;
  padding:12px 22px; font-family:var(--ssl-sans); font-weight:700; font-size:15px;
  letter-spacing:.01em; text-decoration:none;
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.wp-block-button__link:hover{
  background:var(--ssl-petrol-2); color:#fff; transform:translateY(-1px);
  box-shadow:0 6px 18px -8px rgba(20,73,79,.55);
}
.is-style-outline .wp-block-button__link{
  background:transparent; color:var(--ssl-petrol); border:1.5px solid var(--ssl-petrol);
}
.is-style-outline .wp-block-button__link:hover{background:var(--ssl-petrol); color:var(--ssl-paper)}

/* ---------- article rhythm ---------- */
.wp-block-post-content > *{margin-block:1.15em}
.wp-block-post-content > h2 + p, .wp-block-post-content > h3 + p{margin-top:.55em}
.entry-content > *{margin-block:1.15em}

blockquote{
  border-left:3px solid var(--ssl-brass); background:var(--ssl-brass-soft);
  margin:2.2em 0; padding:20px 26px; font-family:var(--ssl-serif);
  font-size:20px; line-height:1.5; font-style:normal;
}
blockquote p{margin:0; max-width:none}

figure{margin:2.2em 0}
figure img, .wp-block-image img{border-radius:8px; display:block}
figcaption, .wp-block-image figcaption{
  font-size:14.5px; line-height:1.55; color:var(--ssl-muted); text-align:left;
  border-left:2px solid var(--ssl-line-2); padding-left:12px; margin-top:12px; max-width:60ch;
}

/* ---------- tables carry the numbers ---------- */
.wp-block-table{overflow-x:auto; margin:2.2em 0}
table{
  border-collapse:collapse; width:100%; font-size:16px;
  font-variant-numeric:tabular-nums lining-nums;
}
thead th, table th{
  text-align:left; font-family:var(--ssl-sans); font-size:11.5px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; color:var(--ssl-muted);
  border-bottom:2px solid var(--ssl-ink); padding:0 16px 9px 0; white-space:nowrap;
}
table td{
  border-bottom:1px solid var(--ssl-line); padding:12px 16px 12px 0; vertical-align:top;
}
table tbody tr:last-child td{border-bottom:none}
table tbody tr:last-child td strong{color:var(--ssl-petrol)}
.wp-block-table figcaption{margin-top:14px}

/* ---------- the signature element ---------- */
.ssl-data{
  background:var(--ssl-brass-soft); border-radius:10px;
  padding:22px 26px; margin:2.4em 0; border:1px solid #EADFC6;
}
.ssl-data::before{
  content:"FROM MY OWN SHOP"; display:block; margin-bottom:9px;
  font-family:var(--ssl-sans); font-size:11px; font-weight:700;
  letter-spacing:.18em; color:var(--ssl-brass);
}
.ssl-data p{margin:0; max-width:none; font-size:18.5px; line-height:1.6}

/* proof strip on the homepage */
.ssl-proof{border-block:2px solid var(--ssl-ink); padding-block:26px; margin-block:0}
.ssl-proof .wp-block-column{padding-inline:6px}
.ssl-proof .ssl-num{
  font-family:var(--ssl-serif); font-size:clamp(30px,4vw,42px); font-weight:600;
  line-height:1; color:var(--ssl-petrol); margin:0 0 6px; letter-spacing:-.03em;
}
.ssl-proof .ssl-lab{
  font-size:14.5px; line-height:1.45; color:var(--ssl-muted); margin:0; max-width:32ch;
}

/* eyebrow label */
.ssl-eyebrow{
  font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ssl-brass); margin-bottom:10px;
}

/* card grid for the three paths */
.ssl-path{
  background:var(--ssl-surface); border:1px solid var(--ssl-line); border-radius:12px;
  padding:26px 24px; height:100%;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ssl-path:hover{transform:translateY(-3px); box-shadow:0 14px 34px -22px rgba(23,32,31,.45); border-color:var(--ssl-line-2)}
.ssl-path h3{margin-top:0; font-size:21px}
.ssl-path p{font-size:16px; color:var(--ssl-muted)}

/* ---------- post lists ---------- */
.wp-block-post-template{gap:0}
.wp-block-post-template li{
  max-width:none; border-bottom:1px solid var(--ssl-line); padding-block:26px;
}
.wp-block-post-template li:last-child{border-bottom:none}
.wp-block-post-title a{text-decoration:none; font-size:clamp(21px,2.4vw,26px); line-height:1.2}
.wp-block-post-title a:hover{color:var(--ssl-petrol)}
.wp-block-post-excerpt__excerpt{color:var(--ssl-muted); font-size:16.5px}
.wp-block-post-date, .wp-block-post-terms{
  font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  font-weight:700; color:var(--ssl-brass);
}
.wp-block-post-terms a{color:var(--ssl-brass); text-decoration:none}

/* ---------- author box ---------- */
.ssl-author{
  border-top:2px solid var(--ssl-ink); margin-top:3.5em; padding-top:26px;
}
.ssl-author .wp-block-image img{
  width:82px; height:82px; border-radius:50%; object-fit:cover;
}
.ssl-author p{font-size:16.5px; color:var(--ssl-muted); margin:6px 0 0; max-width:60ch}
.ssl-author .ssl-name{
  font-family:var(--ssl-serif); font-size:19px; font-weight:600; color:var(--ssl-ink); margin:0;
}

/* ---------- newsletter band ---------- */
.ssl-band{
  background:var(--ssl-petrol); color:var(--ssl-paper);
  border-radius:14px; padding:44px 40px; margin-block:3em;
}
.ssl-band h2, .ssl-band h3{color:var(--ssl-paper); margin-top:0}
.ssl-band p{color:#CFE0DF; max-width:56ch}
.ssl-band .wp-block-button__link{background:var(--ssl-brass-lite); color:var(--ssl-ink)}
.ssl-band .wp-block-button__link:hover{background:#E3BC7C; color:var(--ssl-ink)}

/* ---------- footer ---------- */
.wp-site-blocks > footer, footer.wp-block-template-part{
  background:var(--ssl-ink); color:var(--ssl-paper); margin-top:5em; padding-block:60px 44px;
}
.wp-site-blocks > footer p, footer.wp-block-template-part p{color:#A8B2AE; font-size:15.5px}
.wp-site-blocks > footer a, footer.wp-block-template-part a{color:var(--ssl-paper); opacity:.88; text-decoration:none}
.wp-site-blocks > footer a:hover, footer.wp-block-template-part a:hover{opacity:1; color:var(--ssl-brass-lite)}
footer .wp-block-heading{color:var(--ssl-paper); font-family:var(--ssl-sans); font-size:12px;
  letter-spacing:.18em; text-transform:uppercase; font-weight:700; margin-bottom:14px}
footer .ssl-fine{font-size:13.5px; color:#7E8985; border-top:1px solid #2B3532; padding-top:22px; margin-top:34px}

/* ---------- misc ---------- */
hr.wp-block-separator{border:none; border-top:1px solid var(--ssl-line); margin:3em auto}
.ssl-quiet{color:var(--ssl-muted); font-size:15.5px}
@media (max-width:781px){
  body{font-size:17px}
  .ssl-band{padding:32px 24px}
  .ssl-lede{padding-left:16px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important; animation:none!important; scroll-behavior:auto!important}}

/* ---------- free tool: calculator ---------- */
.ssl-calc{
  background:var(--ssl-surface); border:1px solid var(--ssl-line); border-radius:14px;
  padding:34px 32px; margin:2.5em 0;
}
.ssl-calc-eyebrow{
  font-size:11.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ssl-brass); margin:0 0 8px;
}
.ssl-calc h2{margin:0 0 10px; font-size:clamp(24px,3vw,31px)}
.ssl-calc-sub{font-size:16.5px; color:var(--ssl-muted); margin:0 0 26px; max-width:70ch}
.ssl-calc-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px 22px}
.ssl-calc-grid label{
  display:block; font-size:14px; font-weight:600; color:var(--ssl-muted);
  position:relative; max-width:none; line-height:1.35;
}
.ssl-calc-grid input{
  display:block; width:100%; margin-top:7px; padding:11px 12px 11px 32px;
  font-family:var(--ssl-sans); font-size:17px; font-weight:600; color:var(--ssl-ink);
  background:var(--ssl-paper); border:1px solid var(--ssl-line-2); border-radius:7px;
  font-variant-numeric:tabular-nums;
}
.ssl-calc-grid input:focus{outline:2px solid var(--ssl-petrol); outline-offset:1px; border-color:var(--ssl-petrol)}
.ssl-u{
  position:absolute; left:12px; bottom:12px; font-size:15px; font-weight:700; color:var(--ssl-muted);
}
.ssl-calc-out{margin-top:30px; border-top:2px solid var(--ssl-ink); padding-top:24px}
.ssl-calc-big{display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; margin-bottom:20px}
.ssl-calc-big span{
  font-family:var(--ssl-serif); font-size:clamp(42px,6vw,62px); font-weight:600;
  color:var(--ssl-petrol); line-height:1; letter-spacing:-.03em;
}
.ssl-calc-big small{font-size:16.5px; color:var(--ssl-muted); max-width:26ch; line-height:1.4}
.ssl-calc-out table{width:100%; font-size:16.5px}
.ssl-calc-out td{padding:10px 0; border-bottom:1px solid var(--ssl-line)}
.ssl-calc-out td:last-child{text-align:right; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap}
.ssl-calc-hl td{background:var(--ssl-brass-soft)}
.ssl-calc-hl td:first-child{padding-left:12px; border-radius:6px 0 0 6px}
.ssl-calc-hl td:last-child{padding-right:12px; border-radius:0 6px 6px 0}
.ssl-calc-tot td{border-bottom:none; border-top:2px solid var(--ssl-ink); font-weight:700; font-size:18.5px}
.ssl-calc-note{font-size:15.5px; color:var(--ssl-muted); margin-top:18px; max-width:74ch; line-height:1.55}

@media (max-width:600px){
  .wp-block-site-title{font-size:19px;line-height:1.15}
  .wp-block-site-title a{white-space:nowrap}
  .ssl-cta a,.wp-block-button__link{padding:9px 14px;font-size:13.5px}
  .wp-site-blocks > header, header.wp-block-template-part{padding-block:10px}
  .ssl-proof .wp-block-column{padding-block:10px}
  h1,.wp-block-post-title{font-size:clamp(30px,8vw,40px)}
  .ssl-calc{padding:24px 18px}
  table{font-size:15px}
}

/* calculator layout fix */
.ssl-calc, .ssl-calc *{box-sizing:border-box}
.ssl-calc{max-width:100%; overflow:hidden}
.ssl-calc-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); align-items:end}
.ssl-calc-grid > label{min-width:0; max-width:100%}
.ssl-calc-grid input{max-width:100%}
.ssl-calc-out table{table-layout:auto}

/* site-logo sizing */
.wp-block-site-logo{line-height:0}
.wp-block-site-logo img{width:216px;height:auto;max-width:216px}
@media (max-width:600px){.wp-block-site-logo img{width:158px;max-width:158px}}

/* ---------- cookie notice ---------- */
.ssl-consent[hidden]{display:none!important}
.ssl-consent{position:fixed;right:20px;bottom:20px;z-index:200;width:min(408px,calc(100vw - 40px));
  background:var(--ssl-surface);border:1px solid var(--ssl-line-2);border-radius:14px;
  box-shadow:0 20px 48px rgba(20,32,31,.17),0 2px 6px rgba(20,32,31,.06);
  opacity:0;transform:translateY(14px);transition:opacity .24s ease,transform .24s ease}
.ssl-consent.is-in{opacity:1;transform:none}
.ssl-consent__in{padding:20px 22px 19px}
.ssl-consent__t{font-family:var(--ssl-serif);font-weight:600;font-size:19px;line-height:1.25;
  letter-spacing:-.02em;margin:0 0 7px;max-width:none;color:var(--ssl-ink)}
.ssl-consent__b{font-size:14.5px;line-height:1.6;color:var(--ssl-muted);margin:0 0 15px;max-width:none}
.ssl-consent__b a{color:var(--ssl-petrol);text-decoration:underline}
.ssl-consent__row{display:flex;gap:10px;flex-wrap:wrap}
.ssl-consent__btn{font-family:var(--ssl-sans);font-size:14px;font-weight:600;line-height:1;
  border-radius:999px;padding:12px 20px;cursor:pointer;border:1px solid transparent;
  transition:background .15s ease,color .15s ease,border-color .15s ease}
.ssl-consent__btn--y{background:var(--ssl-petrol);color:#fff}
.ssl-consent__btn--y:hover{background:var(--ssl-petrol-2)}
.ssl-consent__btn--n{background:transparent;color:var(--ssl-ink);border-color:var(--ssl-line-2)}
.ssl-consent__btn--n:hover{border-color:var(--ssl-petrol);color:var(--ssl-petrol)}
@media (max-width:600px){.ssl-consent{left:10px;right:10px;bottom:10px;width:auto}
  .ssl-consent__in{padding:17px 18px 16px}
  .ssl-consent__btn{flex:1 1 auto;text-align:center}}
@media (prefers-reduced-motion:reduce){.ssl-consent{transition:none}}

/* ---------- ssl-fix-v2: focus ring only for keyboard ---------- */
:focus:not(:focus-visible){outline:none!important;box-shadow:none}
.wp-site-blocks :focus:not(:focus-visible){outline:none!important}
a:focus:not(:focus-visible),button:focus:not(:focus-visible),.custom-logo-link:focus:not(:focus-visible){outline:none!important}

/* ---------- ssl-fix-v2: tables read as editorial, and they close ---------- */
.wp-block-table table{border-collapse:collapse; border:0}
.wp-block-table table td,.wp-block-table table th{
  border-left:0; border-right:0; border-top:0;
  border-bottom:1px solid var(--ssl-line);
}
.wp-block-table table thead th{border-bottom:2px solid var(--ssl-ink)}
.wp-block-table table tbody tr:first-child td{border-top:2px solid var(--ssl-ink)}
.wp-block-table table thead+tbody tr:first-child td{border-top:0}
.wp-block-table table tbody tr:last-child td{border-bottom:2px solid var(--ssl-ink)}

/* ---------- ssl-fix-v3: EVERY table on the site, block or raw HTML ---------- */
table{border-collapse:collapse}
table td,table th{border-left:0; border-right:0}
table tbody tr:first-child td{border-top:2px solid var(--ssl-ink)}
table thead+tbody tr:first-child td{border-top:0}
table tbody tr:last-child td{border-bottom:2px solid var(--ssl-ink)}
/* the calculator result keeps its own ending */
.ssl-calc-out table tbody tr:first-child td{border-top:0}
.ssl-calc-out table tbody tr:last-child td{border-bottom:0; border-top:2px solid var(--ssl-ink)}

/* ---------- ssl-fix-v4: outline button matches the solid one exactly ---------- */
:root :where(.wp-block-button.is-style-outline>.wp-block-button__link),
:root :where(.wp-block-button .wp-block-button__link.is-style-outline),
.wp-block-button.is-style-outline>.wp-block-button__link,
.wp-block-button .wp-block-button__link.is-style-outline{
  border-width:1.5px;
  padding:calc(12px - 1.5px) calc(22px - 1.5px);
  font-size:15px; line-height:inherit; border-radius:6px;
}

/* ================= ssl-fix-v5 ================= */

/* hero: what you get here */
.ssl-hero-list{margin-top:34px; padding-top:24px; border-top:1px solid var(--ssl-line)}
.ssl-hero-list .ssl-eyebrow{font-size:11px; margin:0 0 15px}
.ssl-hero-list ul{list-style:none; margin:0; padding:0}
.ssl-hero-list li{
  position:relative; padding-left:27px; margin:0 0 11px; max-width:46ch;
  font-size:15.5px; line-height:1.55; color:var(--ssl-muted);
}
.ssl-hero-list li::before{
  content:""; position:absolute; left:0; top:10px; width:15px; height:2px;
  background:var(--ssl-brass); border-radius:2px;
}
.ssl-hero-list li:last-child{margin-bottom:0}

/* the newsletter band */
.ssl-band{
  position:relative; overflow:hidden; isolation:isolate;
  background:
    radial-gradient(120% 150% at 86% -10%, rgba(211,164,92,.20) 0%, rgba(211,164,92,0) 58%),
    linear-gradient(168deg, #175A62 0%, #14494F 46%, #0E363B 100%);
  color:var(--ssl-paper); border-radius:18px;
  padding:52px 52px 48px; margin-block:3.4em;
  box-shadow:0 26px 64px rgba(14,54,59,.24);
}
.ssl-band::before{
  content:""; position:absolute; left:0; right:0; top:0; height:2px; z-index:2;
  background:linear-gradient(90deg,var(--ssl-brass) 0%,var(--ssl-brass-lite) 30%,rgba(211,164,92,0) 74%);
}
.ssl-band::after{
  content:""; position:absolute; right:-96px; bottom:-128px; width:330px; height:330px;
  border:1px solid rgba(250,248,244,.09); border-radius:50%; z-index:0; pointer-events:none;
}
.ssl-band > *{position:relative; z-index:1}
.ssl-band .ssl-eyebrow{color:var(--ssl-brass-lite); margin:0 0 12px}
.ssl-band h2,.ssl-band h3{color:var(--ssl-paper); margin-top:0; letter-spacing:-.025em}
.ssl-band p{color:#C6DAD9; max-width:58ch}
.ssl-band .ssl-band-note{font-size:13.5px; color:#8FAEAD; margin:16px 0 0; letter-spacing:.01em}
.ssl-band .wp-block-button__link{background:var(--ssl-brass-lite); color:var(--ssl-ink); font-weight:700}
.ssl-band .wp-block-button__link:hover{background:#E7C68F}

/* footer — compact, quiet, premium */
.wp-site-blocks > footer, footer.wp-block-template-part{
  background:var(--ssl-ink); color:var(--ssl-paper); margin-top:5em;
  padding-block:54px 28px;
}
.ssl-foot-logo{margin:0 0 15px}
.ssl-foot-logo img{width:186px; height:auto; max-width:186px}
.ssl-foot-blurb{max-width:33ch; margin:0 0 16px}
footer p.ssl-foot-blurb{font-size:14.5px; line-height:1.62; color:#8D9A96}
footer .ssl-foot-mail{margin:0; font-size:14px}
footer .ssl-foot-mail a{color:#B9C4C0; border-bottom:1px solid #313B38; padding-bottom:2px; opacity:1}
footer .ssl-foot-mail a:hover{color:var(--ssl-brass-lite); border-bottom-color:var(--ssl-brass)}
footer .wp-block-heading{
  color:var(--ssl-brass-lite); font-family:var(--ssl-sans); font-size:10.5px;
  letter-spacing:.2em; text-transform:uppercase; font-weight:700; margin:0 0 16px;
}
footer .wp-block-list{list-style:none; margin:0; padding:0}
footer .wp-block-list li{margin:0 0 10px; padding:0; font-size:14.5px; line-height:1.4; max-width:none}
footer .wp-block-list li:last-child{margin-bottom:0}
footer .wp-block-list li::marker{content:""}
footer a{color:#D5DCD9; opacity:1; text-decoration:none; transition:color .15s ease}
footer a:hover{color:var(--ssl-brass-lite)}
footer .ssl-fine{
  font-size:12.5px; line-height:1.65; color:#6C7773; max-width:none;
  border-top:1px solid #232C2A; padding-top:20px; margin-top:40px;
}
footer .ssl-fine a{color:#8D9A96; border-bottom:1px solid #313B38; padding-bottom:1px}
footer .ssl-fine a:hover{color:var(--ssl-brass-lite); border-bottom-color:var(--ssl-brass)}
@media (max-width:781px){
  .wp-site-blocks > footer, footer.wp-block-template-part{padding-block:44px 24px}
  .ssl-foot-blurb{max-width:none}
  footer .ssl-fine{margin-top:30px}
}

/* ================= ssl-dark-v1 — glass header + real dark mode ================= */

:root{
  --ssl-cream:#FAF8F4;
  --ssl-lede-ink:#2C3733;
  --ssl-data-line:#EADFC6;
  --ssl-footer-bg:#17201F;
  --ssl-glass:rgba(250,248,244,.62);
  --ssl-glass-strong:rgba(250,248,244,.86);
  --ssl-glass-line:rgba(207,201,187,.55);
  --ssl-shadow:rgba(20,32,31,.14);
}
:root[data-theme="dark"]{
  --ssl-paper:#0E1513;
  --ssl-surface:#151E1B;
  --ssl-ink:#E9EDEA;
  --ssl-muted:#95A39E;
  --ssl-line:#212B28;
  --ssl-line-2:#2F3B37;
  --ssl-petrol:#7CC9D0;
  --ssl-petrol-2:#A3DEE3;
  --ssl-brass:#D3A45C;
  --ssl-brass-soft:#1D190F;
  --ssl-brass-lite:#E3BF85;
  --ssl-lede-ink:#C4CFCA;
  --ssl-data-line:#3B3218;
  --ssl-footer-bg:#0A100F;
  --ssl-glass:rgba(14,21,19,.58);
  --ssl-glass-strong:rgba(14,21,19,.84);
  --ssl-glass-line:rgba(60,74,70,.6);
  --ssl-shadow:rgba(0,0,0,.5);
}
:root[data-theme="dark"] body{background:var(--ssl-paper); color:var(--ssl-ink)}
:root[data-theme="dark"] img:not(.custom-logo){filter:brightness(.94) contrast(1.02)}

/* things that must stay light-on-dark whatever the mode */
.ssl-band h2,.ssl-band h3{color:var(--ssl-cream)}
.wp-site-blocks > footer, footer.wp-block-template-part{background:var(--ssl-footer-bg)}
.wp-site-blocks > footer a, footer.wp-block-template-part a{color:#D5DCD9; opacity:1}
.wp-site-blocks > footer a:hover, footer.wp-block-template-part a:hover{color:var(--ssl-brass-lite)}
.ssl-lede{color:var(--ssl-lede-ink)}
.ssl-data{border-color:var(--ssl-data-line)}
.wp-block-button__link:hover{color:var(--ssl-paper)}
.ssl-band .wp-block-button__link,.ssl-band .wp-block-button__link:hover{color:#17201F}

/* dark-mode logo swap */
:root[data-theme="dark"] .wp-block-site-logo img.custom-logo{
  content:url("http://smallshoplab.com/wp-content/uploads/2026/09/small-shop-lab-logo-light.png");
}

/* ---------- glass header ---------- */
.wp-site-blocks > header, header.wp-block-template-part{
  background:var(--ssl-glass);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--ssl-glass-line);
  box-shadow:none;
  transition:background .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.ssl-scrolled .wp-site-blocks > header, .ssl-scrolled header.wp-block-template-part{
  background:var(--ssl-glass-strong);
  box-shadow:0 10px 34px -20px var(--ssl-shadow);
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .wp-site-blocks > header, header.wp-block-template-part{background:var(--ssl-glass-strong)}
}

/* ---------- light / dark toggle ---------- */
.ssl-theme-toggle{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; padding:0; flex:0 0 38px;
  border-radius:999px; cursor:pointer; background:transparent;
  border:1px solid var(--ssl-line-2); color:var(--ssl-ink);
  transition:border-color .15s ease, color .15s ease, background .15s ease;
}
.ssl-theme-toggle:hover{border-color:var(--ssl-petrol); color:var(--ssl-petrol)}
.ssl-theme-toggle svg{width:17px; height:17px; display:block}
.ssl-theme-toggle .ssl-i-moon{display:none}
:root[data-theme="dark"] .ssl-theme-toggle .ssl-i-sun{display:none}
:root[data-theme="dark"] .ssl-theme-toggle .ssl-i-moon{display:block}
@media (max-width:781px){.ssl-theme-toggle{width:34px;height:34px;flex-basis:34px}}

/* ---------- ssl-fix-v6: fine print sits in its own measure ---------- */
footer .ssl-fine{font-size:11.5px; line-height:1.75; letter-spacing:.005em; max-width:82ch; padding-right:8%}
@media (max-width:781px){footer .ssl-fine{padding-right:0; max-width:none; font-size:11.5px}}
.ssl-foot-top{row-gap:36px}
.ssl-foot-logo a{display:inline-block; line-height:0}


/* ---------- ssl-top-v2: back to top, with scroll progress ---------- */
.ssl-top[hidden]{display:none!important}
.ssl-top{
  position:fixed; right:24px; bottom:24px; z-index:150;
  width:50px; height:50px; padding:0; border:0; background:none; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  opacity:0; transform:translateY(12px) scale(.96);
  transition:opacity .25s ease, transform .25s cubic-bezier(.2,.8,.2,1);
}
.ssl-top.is-in{opacity:1; transform:none}
.ssl-top::before{
  content:""; position:absolute; inset:0; border-radius:999px;
  background:var(--ssl-glass-strong);
  -webkit-backdrop-filter:saturate(180%) blur(14px); backdrop-filter:saturate(180%) blur(14px);
  border:1px solid var(--ssl-glass-line);
  box-shadow:0 16px 34px -16px var(--ssl-shadow);
  transition:border-color .18s ease, box-shadow .18s ease;
}
.ssl-top:hover::before{border-color:var(--ssl-brass); box-shadow:0 20px 42px -14px var(--ssl-shadow)}
.ssl-top-ring{position:absolute; inset:3px; width:44px; height:44px; transform:rotate(-90deg); overflow:visible}
.ssl-top-ring circle{fill:none; stroke-width:2}
.ssl-top-track{stroke:var(--ssl-line-2); opacity:.85}
.ssl-top-bar{stroke:var(--ssl-brass); stroke-linecap:round; transition:stroke-dashoffset .1s linear}
.ssl-top-arrow{position:relative; width:16px; height:16px; color:var(--ssl-ink); transition:transform .18s ease, color .18s ease}
.ssl-top:hover .ssl-top-arrow{transform:translateY(-2px); color:var(--ssl-brass)}
@media (max-width:600px){.ssl-top{right:14px; bottom:14px; width:46px; height:46px}
  .ssl-top-ring{inset:3px; width:40px; height:40px}}
@media (prefers-reduced-motion:reduce){.ssl-top,.ssl-top-arrow,.ssl-top-bar{transition:none}}

/* ---------- ssl-search-v1: header icons + search overlay ---------- */
footer .ssl-fine{margin-left:0; margin-right:auto}

.ssl-icons{display:inline-flex; align-items:center; gap:8px}
.ssl-icon-btn,.ssl-theme-toggle{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; padding:0; flex:0 0 38px;
  border-radius:999px; cursor:pointer; background:transparent;
  border:1px solid var(--ssl-line-2); color:var(--ssl-ink);
  transition:border-color .15s ease, color .15s ease;
}
.ssl-icon-btn:hover,.ssl-theme-toggle:hover{border-color:var(--ssl-petrol); color:var(--ssl-petrol)}
.ssl-icon-btn svg{width:17px; height:17px; display:block}
@media (max-width:781px){.ssl-icon-btn{width:34px;height:34px;flex-basis:34px}}

html.ssl-search-open{overflow:hidden}
.ssl-search[hidden]{display:none!important}
.ssl-search{position:fixed; inset:0; z-index:400; opacity:0; transition:opacity .2s ease}
.ssl-search.is-in{opacity:1}
.ssl-search__scrim{
  position:absolute; inset:0; background:rgba(10,16,15,.55);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.ssl-search__panel{
  position:relative; margin:9vh auto 0; width:min(680px,calc(100vw - 32px));
  background:var(--ssl-surface); border:1px solid var(--ssl-line-2); border-radius:16px;
  box-shadow:0 40px 90px -30px rgba(10,16,15,.6);
  overflow:hidden; transform:translateY(-10px); transition:transform .22s cubic-bezier(.2,.8,.2,1);
}
.ssl-search.is-in .ssl-search__panel{transform:none}
.ssl-search__form{display:flex; align-items:center; gap:12px; padding:16px 18px; border-bottom:1px solid var(--ssl-line)}
.ssl-search__icon{display:flex; color:var(--ssl-muted)}
.ssl-search__icon svg{width:19px; height:19px}
.ssl-search__input{
  flex:1 1 auto; min-width:0; border:0; outline:0; background:transparent;
  font-family:var(--ssl-sans); font-size:18px; color:var(--ssl-ink); padding:4px 0;
}
.ssl-search__input::placeholder{color:var(--ssl-muted)}
.ssl-search__input::-webkit-search-cancel-button{display:none}
.ssl-search__esc{
  flex:0 0 auto; font-family:var(--ssl-sans); font-size:11px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ssl-muted); background:transparent;
  border:1px solid var(--ssl-line-2); border-radius:6px; padding:5px 9px; cursor:pointer;
}
.ssl-search__esc:hover{color:var(--ssl-ink); border-color:var(--ssl-ink)}
.ssl-search__body{max-height:min(58vh,460px); overflow-y:auto; padding:8px}
.ssl-search__hint{margin:12px 12px 14px; font-size:14px; color:var(--ssl-muted); max-width:none}
.ssl-search__list{list-style:none; margin:0; padding:0}
.ssl-search__list li{margin:0; padding:0; max-width:none}
.ssl-search__list a{
  display:flex; align-items:baseline; justify-content:space-between; gap:16px;
  padding:12px 14px; border-radius:10px; text-decoration:none; color:var(--ssl-ink);
}
.ssl-search__list li.is-on a,.ssl-search__list a:hover{background:var(--ssl-brass-soft)}
.ssl-search__t{font-size:16px; line-height:1.4; font-weight:600}
.ssl-search__t mark{background:transparent; color:var(--ssl-brass); font-weight:700}
.ssl-search__k{
  flex:0 0 auto; font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ssl-muted);
}
@media (max-width:600px){.ssl-search__panel{margin-top:6vh} .ssl-search__input{font-size:16px}}
@media (prefers-reduced-motion:reduce){.ssl-search,.ssl-search__panel{transition:none}}

/* ---------- ssl-labels-v1: icon buttons say what they do ---------- */
.ssl-icons{gap:10px}
.ssl-icon-btn,.ssl-theme-toggle{
  flex-direction:column; gap:3px;
  width:auto; height:auto; flex:0 0 auto;
  min-width:52px; padding:7px 10px 6px;
  border-radius:10px;
}
.ssl-icon-btn svg,.ssl-theme-toggle svg{width:16px; height:16px}
.ssl-btn-label{
  font-family:var(--ssl-sans); font-size:9px; font-weight:700; line-height:1;
  letter-spacing:.13em; text-transform:uppercase; color:var(--ssl-muted);
  transition:color .15s ease;
}
.ssl-icon-btn:hover .ssl-btn-label,.ssl-theme-toggle:hover .ssl-btn-label{color:var(--ssl-petrol)}
/* the icon and the word name the mode you switch TO */
.ssl-theme-toggle .ssl-i-sun{display:none}
.ssl-theme-toggle .ssl-i-moon{display:block}
.ssl-theme-toggle .ssl-l-light{display:none}
:root[data-theme="dark"] .ssl-theme-toggle .ssl-i-sun{display:block}
:root[data-theme="dark"] .ssl-theme-toggle .ssl-i-moon{display:none}
:root[data-theme="dark"] .ssl-theme-toggle .ssl-l-dark{display:none}
:root[data-theme="dark"] .ssl-theme-toggle .ssl-l-light{display:block}
@media (max-width:781px){
  .ssl-icon-btn,.ssl-theme-toggle{min-width:46px; padding:6px 8px 5px}
  .ssl-btn-label{font-size:8.5px; letter-spacing:.1em}
}

/* ---------- ssl-width-v1: a wider, easier reading column ---------- */
:root{--ssl-measure:78ch}
.wp-block-post-content,.entry-content{max-width:880px}
.wp-block-post-content > *,.entry-content > *{max-width:100%}
.wp-block-post-title,.wp-block-post-content .wp-block-heading{max-width:100%}
@media (max-width:940px){.wp-block-post-content,.entry-content{max-width:100%}}

/* ---------- ssl-width-v2: beat the theme layout rule ---------- */
.wp-site-blocks .wp-block-post-content,
.wp-site-blocks .entry-content,
body .wp-block-post-content.wp-block-post-content{max-width:880px}
@media (max-width:960px){
  .wp-site-blocks .wp-block-post-content,
  .wp-site-blocks .entry-content,
  body .wp-block-post-content.wp-block-post-content{max-width:100%}
}

/* ---------- ssl-share-v1: sticky share rail beside the article ---------- */
.ssl-share{
  position:fixed; left:calc(50% - 592px); top:50%; transform:translateY(-50%) translateX(-6px);
  z-index:120; display:flex; flex-direction:column; align-items:center; gap:10px;
  padding:16px 10px; border-radius:999px;
  background:var(--ssl-glass-strong);
  -webkit-backdrop-filter:saturate(180%) blur(16px); backdrop-filter:saturate(180%) blur(16px);
  border:1px solid var(--ssl-glass-line);
  box-shadow:0 18px 40px -22px var(--ssl-shadow);
  opacity:0; pointer-events:none;
  transition:opacity .3s ease, transform .3s cubic-bezier(.2,.8,.2,1);
}
.ssl-share.is-in{opacity:1; transform:translateY(-50%); pointer-events:auto}
.ssl-share__cap{
  font-family:var(--ssl-sans); font-size:9px; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:var(--ssl-brass); writing-mode:vertical-rl;
  margin-bottom:2px; padding-bottom:8px; border-bottom:1px solid var(--ssl-line);
}
.ssl-share__btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; padding:0; border-radius:999px; cursor:pointer;
  background:transparent; border:1px solid transparent; color:var(--ssl-muted);
  transition:color .15s ease, background .15s ease, border-color .15s ease;
}
.ssl-share__btn:hover{color:var(--ssl-petrol); background:var(--ssl-brass-soft); border-color:var(--ssl-line-2)}
.ssl-share__btn svg{width:18px; height:18px; display:block}
.ssl-share__wrap{position:relative}
.ssl-share__menu{
  position:absolute; left:calc(100% + 12px); top:50%; transform:translateY(-50%) scale(.96);
  min-width:170px; padding:8px; border-radius:12px;
  background:var(--ssl-surface); border:1px solid var(--ssl-line-2);
  box-shadow:0 22px 50px -22px var(--ssl-shadow);
  display:flex; flex-direction:column; gap:2px;
  opacity:0; visibility:hidden; transition:opacity .16s ease, transform .16s ease, visibility .16s;
}
.ssl-share.is-open .ssl-share__menu{opacity:1; visibility:visible; transform:translateY(-50%) scale(1)}
.ssl-share__menu a{
  padding:9px 12px; border-radius:8px; text-decoration:none;
  font-family:var(--ssl-sans); font-size:14.5px; font-weight:600; color:var(--ssl-ink);
}
.ssl-share__menu a:hover{background:var(--ssl-brass-soft); color:var(--ssl-petrol)}
.ssl-share__toast{
  position:absolute; left:calc(100% + 12px); bottom:12px; white-space:nowrap;
  font-family:var(--ssl-sans); font-size:12px; font-weight:700; letter-spacing:.04em;
  color:var(--ssl-paper); background:var(--ssl-ink); padding:7px 11px; border-radius:8px;
  opacity:0; transform:translateX(-6px); pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}
.ssl-share__toast.is-on{opacity:1; transform:none}
@media (max-width:1240px){.ssl-share{display:none}}
@media (prefers-reduced-motion:reduce){.ssl-share,.ssl-share__menu,.ssl-share__toast{transition:none}}

/* ---------- ssl-foot-v3: quieter footer type ---------- */
footer p.ssl-foot-blurb{font-size:13px; line-height:1.6; max-width:31ch}
footer .ssl-foot-mail{font-size:13px}
footer .wp-block-list li{font-size:14px}
footer .wp-block-heading{font-size:10px}
.ssl-foot-logo img{width:168px; max-width:168px}

/* ---------- ssl-foot-v4 ---------- */
footer .ssl-fine{font-size:10.5px; line-height:1.8; letter-spacing:.01em; color:#616C68}
@media (max-width:781px){footer .ssl-fine{font-size:10.5px}}

/* ---------- ssl-share-v2: horizontal caption ---------- */
.ssl-share{padding:14px 12px 16px; border-radius:26px; gap:8px}
.ssl-share__cap{
  writing-mode:horizontal-tb; font-size:8.5px; letter-spacing:.15em;
  color:var(--ssl-brass); margin:2px 0 4px; padding:0 0 10px;
  border-bottom:1px solid var(--ssl-line); width:100%; text-align:center;
}

/* ---------- ssl-align-v1: title lines up with the body text ---------- */
body.single .wp-site-blocks > main > *,
body.page:not(.home) .wp-site-blocks > main > *,
body.single .wp-site-blocks > main > .wp-block-group,
body.page:not(.home) .wp-site-blocks > main > .wp-block-group{
  max-width:880px; margin-left:auto; margin-right:auto;
}
body.single .wp-block-post-title,
body.page:not(.home) .wp-block-post-title{max-width:880px; margin-bottom:.35em}
body.single .wp-block-post-content,
body.page:not(.home) .wp-block-post-content{margin-top:1.6em}
@media (max-width:960px){
  body.single .wp-site-blocks > main > *,
  body.page:not(.home) .wp-site-blocks > main > *{max-width:100%}
}

/* ---------- ssl-share-v3: the rail reads clearly on paper ---------- */
.ssl-share{
  background:var(--ssl-surface);
  -webkit-backdrop-filter:none; backdrop-filter:none;
  border:1px solid var(--ssl-line-2);
  box-shadow:0 16px 36px -20px var(--ssl-shadow), 0 1px 2px rgba(20,32,31,.05);
}
.ssl-share__cap{color:var(--ssl-brass); opacity:1; font-weight:700}
.ssl-share__btn{color:var(--ssl-ink); opacity:.6}
.ssl-share__btn:hover{opacity:1; color:var(--ssl-petrol)}
.ssl-share__btn svg{stroke-width:1.8}

/* ---------- ssl-foot-v5: credit on one line ---------- */
footer .ssl-fine{
  font-size:10px; line-height:1.6; letter-spacing:.012em;
  max-width:none; padding-right:0; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis;
}
@media (max-width:900px){footer .ssl-fine{white-space:normal; font-size:10px}}

/* ================= ssl-kit-v1 ================= */

/* reading progress */
.ssl-progress{position:fixed; left:0; right:0; top:0; height:2px; z-index:300; pointer-events:none; background:transparent}
.ssl-progress i{display:block; height:100%; width:100%; transform:scaleX(0); transform-origin:0 50%;
  background:linear-gradient(90deg,var(--ssl-brass),var(--ssl-brass-lite)); will-change:transform}
.admin-bar .ssl-progress{top:32px}
@media (max-width:782px){.admin-bar .ssl-progress{top:46px}}

/* meta row extras */
.ssl-meta-dot{color:var(--ssl-line-2); margin:0 4px}
.ssl-meta-read,.ssl-meta-upd{font-family:var(--ssl-sans); font-size:12px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ssl-muted)}
.ssl-meta-upd{color:var(--ssl-brass)}

/* breadcrumbs */
.ssl-crumbs{font-family:var(--ssl-sans); font-size:12px; font-weight:600; letter-spacing:.06em;
  text-transform:uppercase; color:var(--ssl-muted); margin:0 0 14px; display:flex; flex-wrap:wrap; align-items:center; gap:2px}
.ssl-crumbs a{color:var(--ssl-muted); text-decoration:none}
.ssl-crumbs a:hover{color:var(--ssl-petrol)}
.ssl-crumbs__s{opacity:.5; margin:0 7px}
.ssl-crumbs__c{color:var(--ssl-ink); max-width:36ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}

/* table of contents */
.ssl-toc{
  margin:0 0 2.4em; padding:20px 24px 22px; border-radius:12px;
  background:var(--ssl-surface); border:1px solid var(--ssl-line); max-width:100%;
}
.ssl-toc__h{
  display:flex; align-items:center; justify-content:space-between; width:100%;
  background:none; border:0; padding:0; cursor:pointer; text-align:left;
  font-family:var(--ssl-sans); font-size:11px; font-weight:700; letter-spacing:.17em;
  text-transform:uppercase; color:var(--ssl-brass);
}
.ssl-toc__x{width:11px; height:11px; position:relative; flex:0 0 11px}
.ssl-toc__x::before,.ssl-toc__x::after{content:""; position:absolute; background:currentColor; transition:transform .2s ease}
.ssl-toc__x::before{left:0; top:4.5px; width:11px; height:2px}
.ssl-toc__x::after{left:4.5px; top:0; width:2px; height:11px; transform:scaleY(0)}
.ssl-toc.is-closed .ssl-toc__x::after{transform:scaleY(1)}
.ssl-toc__l{list-style:none; margin:16px 0 0; padding:0; display:grid; gap:9px}
.ssl-toc.is-closed .ssl-toc__l{display:none}
.ssl-toc__l li{margin:0; padding:0; max-width:none}
.ssl-toc__l li.is-sub{padding-left:20px}
.ssl-toc__l a{
  font-size:15.5px; line-height:1.45; color:var(--ssl-muted); text-decoration:none;
  border-left:2px solid transparent; padding-left:12px; display:block; transition:color .15s ease, border-color .15s ease;
}
.ssl-toc__l a:hover{color:var(--ssl-ink)}
.ssl-toc__l a.is-on{color:var(--ssl-ink); border-left-color:var(--ssl-brass); font-weight:600}

/* related posts */
.ssl-related{max-width:880px; margin:3.4em auto 0; padding-top:2.4em; border-top:1px solid var(--ssl-line)}
.ssl-related__h{font-size:clamp(22px,2.6vw,28px); margin:0 0 1.1em}
.ssl-related__grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:26px}
.ssl-related__card{display:block; text-decoration:none; color:inherit; group:card}
.ssl-related__card img{width:100%; height:150px; object-fit:cover; border-radius:10px; display:block; margin:0 0 12px;
  transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.ssl-related__card:hover img{transform:translateY(-3px)}
.ssl-related__t{font-family:var(--ssl-serif); font-weight:600; font-size:18.5px; line-height:1.25;
  letter-spacing:-.015em; color:var(--ssl-ink); display:block}
.ssl-related__card:hover .ssl-related__t{color:var(--ssl-petrol)}

/* print */
@media print{
  header.wp-block-template-part,.wp-site-blocks > header,
  footer.wp-block-template-part,.wp-site-blocks > footer,
  .ssl-share,.ssl-top,.ssl-progress,.ssl-toc,.ssl-related,.ssl-band,.ssl-consent,.ssl-search,
  #wpadminbar,.ssl-pop{display:none!important}
  body{background:#fff!important; color:#000!important; font-size:11.5pt}
  .wp-site-blocks > main > *,.wp-block-post-content,.entry-content{max-width:100%!important}
  a{color:#000!important; text-decoration:underline}
  .wp-block-post-content a[href^="http"]::after{content:" (" attr(href) ")"; font-size:9pt; color:#555}
  table{page-break-inside:auto} tr{page-break-inside:avoid}
  h1,h2,h3{page-break-after:avoid}
  figure,.ssl-data{page-break-inside:avoid}
  @page{margin:18mm 16mm}
}

/* ---------- ssl-band-v2: everything in the band starts on one line ---------- */
.ssl-band > *{margin-left:0; margin-right:auto}
.ssl-band h2,.ssl-band h3{max-width:20ch}
.ssl-band p{max-width:56ch}

/* ---------- ssl-pop-v1: exit-intent newsletter ---------- */
.ssl-pop[hidden]{display:none!important}
.ssl-pop{position:fixed; inset:0; z-index:500; opacity:0; transition:opacity .24s ease}
.ssl-pop.is-in{opacity:1}
.ssl-pop__scrim{position:absolute; inset:0; background:rgba(10,16,15,.58);
  -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px)}
.ssl-pop__card{
  position:relative; margin:12vh auto 0; width:min(520px,calc(100vw - 32px));
  padding:38px 40px 32px; border-radius:18px; overflow:hidden;
  background:radial-gradient(120% 150% at 88% -10%, rgba(211,164,92,.20) 0%, rgba(211,164,92,0) 58%),
             linear-gradient(168deg,#175A62 0%,#14494F 46%,#0E363B 100%);
  border:1px solid rgba(250,248,244,.10);
  box-shadow:0 44px 90px -34px rgba(10,16,15,.7);
  transform:translateY(-12px) scale(.98); transition:transform .26s cubic-bezier(.2,.8,.2,1);
}
.ssl-pop.is-in .ssl-pop__card{transform:none}
.ssl-pop__card::before{content:""; position:absolute; left:0; right:0; top:0; height:2px;
  background:linear-gradient(90deg,var(--ssl-brass) 0%,var(--ssl-brass-lite) 30%,rgba(211,164,92,0) 74%)}
.ssl-pop__x{position:absolute; right:14px; top:14px; width:34px; height:34px; padding:0;
  display:inline-flex; align-items:center; justify-content:center;
  background:transparent; border:1px solid rgba(250,248,244,.18); border-radius:999px;
  color:#C6DAD9; cursor:pointer; transition:color .15s ease, border-color .15s ease}
.ssl-pop__x:hover{color:#fff; border-color:rgba(250,248,244,.5)}
.ssl-pop__x svg{width:15px; height:15px}
.ssl-pop__eyebrow{font-family:var(--ssl-sans); font-size:10.5px; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:var(--ssl-brass-lite); margin:0 0 10px; max-width:none}
.ssl-pop__t{font-family:var(--ssl-serif); font-weight:600; font-size:clamp(26px,3.4vw,32px);
  line-height:1.12; letter-spacing:-.025em; color:#FAF8F4; margin:0 0 12px; max-width:none}
.ssl-pop__b{font-size:15.5px; line-height:1.6; color:#C6DAD9; margin:0 0 22px; max-width:none}
.ssl-pop__row{display:flex; align-items:center; gap:14px; flex-wrap:wrap}
.ssl-pop__cta{display:inline-block; background:var(--ssl-brass-lite); color:#17201F;
  font-family:var(--ssl-sans); font-weight:700; font-size:15px; text-decoration:none;
  padding:12px 22px; border-radius:6px; transition:background .15s ease}
.ssl-pop__cta:hover{background:#E7C68F; color:#17201F}
.ssl-pop__no{background:none; border:0; cursor:pointer; padding:8px 2px;
  font-family:var(--ssl-sans); font-size:14px; font-weight:600; color:#8FAEAD}
.ssl-pop__no:hover{color:#C6DAD9}
.ssl-pop__fine{font-size:12.5px; color:#7FA09F; margin:18px 0 0; max-width:none}
@media (max-width:600px){.ssl-pop__card{margin-top:auto; margin-bottom:0; padding:30px 24px 26px;
  position:absolute; left:8px; right:8px; bottom:8px; width:auto; border-radius:16px}
  .ssl-pop{display:flex}}
@media (prefers-reduced-motion:reduce){.ssl-pop,.ssl-pop__card{transition:none}}

/* ---------- ssl-foot-v6: credit centred ---------- */
footer .ssl-fine{text-align:center; margin-left:auto; margin-right:auto}

/* ---------- ssl-band-v3: force one left edge inside the band ---------- */
.wp-site-blocks .ssl-band > *,
body .ssl-band > .wp-block-heading,
body .ssl-band > .wp-block-paragraph,
body .ssl-band > p,
body .ssl-band > .wp-block-buttons{
  margin-left:0!important; margin-right:auto!important; text-align:left;
}
body .ssl-band > .wp-block-buttons{justify-content:flex-start}

/* ---------- ssl-author-v2 ---------- */
.ssl-author{
  max-width:880px; margin:3.4em auto 0; padding:28px 30px 26px;
  background:var(--ssl-brass-soft); border:1px solid var(--ssl-data-line); border-radius:14px;
}
.ssl-author__eyebrow{font-family:var(--ssl-sans); font-size:10.5px; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:var(--ssl-brass); margin:0 0 18px; max-width:none}
.ssl-author__row{display:flex; gap:22px; align-items:flex-start}
.ssl-author__img{width:88px; height:88px; border-radius:999px; object-fit:cover; flex:0 0 88px;
  border:2px solid var(--ssl-surface); box-shadow:0 6px 18px -10px var(--ssl-shadow)}
.ssl-author__body{min-width:0}
.ssl-author__name{font-family:var(--ssl-serif); font-weight:600; font-size:21px; line-height:1.1;
  letter-spacing:-.02em; margin:0 0 4px; color:var(--ssl-ink); max-width:none}
.ssl-author__role{font-size:13px; font-weight:600; letter-spacing:.02em; color:var(--ssl-muted);
  margin:0 0 12px; max-width:none}
.ssl-author__bio{font-size:15.5px; line-height:1.6; color:var(--ssl-ink); margin:0 0 14px; max-width:62ch}
.ssl-author__links{font-size:14px; font-weight:600; margin:0; max-width:none; display:flex; flex-wrap:wrap; gap:0 4px}
.ssl-author__links a{color:var(--ssl-petrol); text-decoration:none; border-bottom:1px solid var(--ssl-line-2)}
.ssl-author__links a:hover{color:var(--ssl-brass); border-bottom-color:var(--ssl-brass)}
.ssl-author__sep{color:var(--ssl-line-2); margin:0 8px}
@media (max-width:600px){.ssl-author{padding:22px 20px}.ssl-author__row{flex-direction:column; gap:16px}
  .ssl-author__img{width:72px;height:72px;flex-basis:72px}}

/* ---------- comments ---------- */
.ssl-comments{max-width:880px; margin:3.4em auto 0; padding-top:2.4em; border-top:1px solid var(--ssl-line)}
.ssl-comments .wp-block-comments-title,.ssl-comments__h{font-size:clamp(22px,2.6vw,28px); margin:0 0 1.2em}
.ssl-comments .wp-block-comment-author-name{font-family:var(--ssl-sans); font-weight:700; font-size:15px; color:var(--ssl-ink)}
.ssl-comments .wp-block-comment-author-name a{text-decoration:none; color:inherit}
.ssl-comments .wp-block-comment-date{font-size:13px; color:var(--ssl-muted)}
.ssl-comments .wp-block-comment-date a{text-decoration:none; color:inherit}
.ssl-comments .wp-block-comment-content p{font-size:16.5px; line-height:1.65; max-width:64ch}
.ssl-comments .wp-block-comment-reply-link a{font-size:13px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--ssl-petrol); text-decoration:none}
.ssl-comments .wp-block-comment-template > li{margin-bottom:2em; padding-bottom:2em; border-bottom:1px solid var(--ssl-line); list-style:none}
.ssl-comments .wp-block-comment-template > li:last-child{border-bottom:0}
.ssl-comments .wp-block-post-comments-form{margin-top:2.6em}
.ssl-comments .comment-reply-title{font-family:var(--ssl-serif); font-size:22px; font-weight:600; letter-spacing:-.02em; margin:0 0 .3em}
.ssl-comments .comment-notes,.ssl-comments .comment-form-cookies-consent label{font-size:13.5px; color:var(--ssl-muted)}
.ssl-comments textarea,.ssl-comments input[type=text],.ssl-comments input[type=email],.ssl-comments input[type=url]{
  width:100%; box-sizing:border-box; font-family:var(--ssl-sans); font-size:16px; color:var(--ssl-ink);
  background:var(--ssl-surface); border:1px solid var(--ssl-line-2); border-radius:8px; padding:12px 14px;
}
.ssl-comments textarea:focus,.ssl-comments input:focus{outline:2px solid var(--ssl-petrol); outline-offset:1px; border-color:var(--ssl-petrol)}
.ssl-comments label{display:block; font-size:13.5px; font-weight:600; color:var(--ssl-muted); margin-bottom:6px}
.ssl-comments .form-submit input[type=submit]{
  background:var(--ssl-petrol); color:var(--ssl-paper); border:0; border-radius:6px;
  font-family:var(--ssl-sans); font-weight:700; font-size:15px; padding:12px 22px; cursor:pointer;
}
.ssl-comments .form-submit input[type=submit]:hover{background:var(--ssl-petrol-2)}

/* ---------- ssl-faq-v1 ---------- */
.ssl-faq{margin:3em 0 0; padding-top:2.2em; border-top:1px solid var(--ssl-line)}
.ssl-faq__h{font-size:clamp(22px,2.6vw,28px); margin:0 0 1.1em!important}
.ssl-faq details{border-bottom:1px solid var(--ssl-line); padding:0}
.ssl-faq details:first-of-type{border-top:1px solid var(--ssl-line)}
.ssl-faq summary{
  list-style:none; cursor:pointer; padding:20px 44px 20px 0; position:relative;
  font-family:var(--ssl-serif); font-weight:600; font-size:19.5px; line-height:1.35;
  letter-spacing:-.015em; color:var(--ssl-ink);
}
.ssl-faq summary::-webkit-details-marker{display:none}
.ssl-faq summary::after{
  content:""; position:absolute; right:6px; top:50%; width:12px; height:12px; margin-top:-6px;
  border-right:2px solid var(--ssl-brass); border-bottom:2px solid var(--ssl-brass);
  transform:rotate(45deg) translateY(-3px); transform-origin:center; transition:transform .2s ease;
}
.ssl-faq details[open] summary::after{transform:rotate(225deg) translateY(-3px)}
.ssl-faq summary:hover{color:var(--ssl-petrol)}
.ssl-faq__a{padding:0 0 22px; margin:0}
.ssl-faq__a p{margin:0 0 .9em; font-size:17px; line-height:1.65; color:var(--ssl-muted); max-width:66ch}
.ssl-faq__a p:last-child{margin-bottom:0}
.ssl-faq__a strong{color:var(--ssl-ink)}

/* ---------- ssl-band-v4: two columns, with a real email box ---------- */
.ssl-band{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
  gap:44px; align-items:center; padding:46px 48px 44px;
  max-width:880px; margin-inline:auto;
}
.ssl-band__l,.ssl-band__r{position:relative; z-index:1; min-width:0}
.ssl-band__eyebrow{color:var(--ssl-brass-lite)!important; margin:0 0 12px!important; max-width:none}
.ssl-band__h{font-family:var(--ssl-serif); font-weight:600; font-size:clamp(27px,3.2vw,34px);
  line-height:1.1; letter-spacing:-.028em; color:#FAF8F4; margin:0 0 14px; max-width:14ch}
.ssl-band__p{font-size:15.5px; line-height:1.62; color:#BFD6D5; margin:0; max-width:42ch}

.ssl-mini{
  background:rgba(250,248,244,.055); border:1px solid rgba(250,248,244,.14);
  border-radius:14px; padding:22px 22px 20px;
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.ssl-mini__label{display:block; font-family:var(--ssl-sans); font-size:10.5px; font-weight:700;
  letter-spacing:.17em; text-transform:uppercase; color:var(--ssl-brass-lite); margin:0 0 10px}
.ssl-mini__row{display:flex; flex-direction:column; gap:10px}
.ssl-mini__input{
  width:100%; box-sizing:border-box; font-family:var(--ssl-sans); font-size:15.5px;
  color:#FAF8F4; background:rgba(10,22,24,.42); border:1px solid rgba(250,248,244,.2);
  border-radius:8px; padding:13px 15px; transition:border-color .15s ease, background .15s ease;
}
.ssl-mini__input::placeholder{color:#7FA09F}
.ssl-mini__input:focus{outline:none; border-color:var(--ssl-brass-lite); background:rgba(10,22,24,.6)}
.ssl-mini__btn{
  width:100%; font-family:var(--ssl-sans); font-size:15px; font-weight:700; cursor:pointer;
  color:#17201F; background:var(--ssl-brass-lite); border:0; border-radius:8px; padding:13px 18px;
  transition:background .15s ease, transform .15s ease;
}
.ssl-mini__btn:hover{background:#E7C68F; transform:translateY(-1px)}
.ssl-mini__fine{font-size:11.5px; line-height:1.55; color:#7FA09F; margin:12px 0 0; max-width:none}
@media (max-width:820px){
  .ssl-band{grid-template-columns:1fr; gap:26px; padding:34px 26px 30px}
  .ssl-band__h{max-width:none} .ssl-band__p{max-width:none}
}

/* ---------- ssl-band-v5 ---------- */
.wp-site-blocks .ssl-band{max-width:1080px; margin-inline:auto}
body.single .wp-site-blocks .ssl-band,
body.page:not(.home) .wp-site-blocks .ssl-band{max-width:880px}

/* ---------- ssl-comments-v2: collapsed by default ---------- */
.ssl-comments .wp-block-comments[hidden]{display:none!important}
.ssl-comments__toggle{
  display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%;
  background:var(--ssl-surface); border:1px solid var(--ssl-line-2); border-radius:12px;
  padding:16px 20px; cursor:pointer; text-align:left;
  transition:border-color .15s ease, background .15s ease;
}
.ssl-comments__toggle:hover{border-color:var(--ssl-petrol)}
.ssl-comments__tl{font-family:var(--ssl-sans); font-size:14px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ssl-ink)}
.ssl-comments__tx{position:relative; width:12px; height:12px; flex:0 0 12px; color:var(--ssl-brass)}
.ssl-comments__tx::before,.ssl-comments__tx::after{content:""; position:absolute; background:currentColor; transition:transform .2s ease}
.ssl-comments__tx::before{left:0; top:5px; width:12px; height:2px}
.ssl-comments__tx::after{left:5px; top:0; width:2px; height:12px}
.ssl-comments:not(.is-collapsed) .ssl-comments__tx::after{transform:scaleY(0)}
.ssl-comments .wp-block-comments{margin-top:26px}
.ssl-comments .wp-block-comments-title{display:none}

/* ---------- ssl-share-v4: menu rows with monogram tiles ---------- */
.ssl-share__menu{min-width:206px; max-height:min(70vh,520px); overflow-y:auto; padding:8px}
.ssl-share__menu a,.ssl-share__native{
  display:flex; align-items:center; gap:12px; width:100%;
  padding:8px 10px; border:0; border-radius:9px; background:transparent; cursor:pointer;
  text-decoration:none; text-align:left;
  font-family:var(--ssl-sans); font-size:14.5px; font-weight:600; color:var(--ssl-ink);
}
.ssl-share__menu a:hover,.ssl-share__native:hover{background:var(--ssl-brass-soft); color:var(--ssl-petrol)}
.ssl-share__m{
  flex:0 0 28px; width:28px; height:28px; border-radius:8px;
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--ssl-serif); font-weight:600; font-size:14px; line-height:1;
  color:var(--ssl-petrol); background:var(--ssl-brass-soft); border:1px solid var(--ssl-data-line);
}
.ssl-share__menu a:hover .ssl-share__m,.ssl-share__native:hover .ssl-share__m{
  color:var(--ssl-brass); border-color:var(--ssl-brass);
}
.ssl-share__n{min-width:0}


/* ---------- ssl-side-v2: the custom rail lives in the sidebar ---------- */
.ssl-share{display:none}
@media (min-width:1200px){
  body.single .ssl-side .ssl-share{
    display:flex; position:static; transform:none; opacity:1; pointer-events:auto;
    flex-direction:row; flex-wrap:wrap; gap:6px; align-items:center; justify-content:flex-start;
    width:auto; padding:0; margin:0; background:transparent; border:0; box-shadow:none;
  }
  body.single .ssl-side .ssl-share__cap{display:none}
  body.single .ssl-side .ssl-share__btn{
    width:38px; height:38px; border-radius:10px; opacity:1; color:var(--ssl-ink);
    background:var(--ssl-surface); border:1px solid var(--ssl-line-2);
  }
  body.single .ssl-side .ssl-share__btn:hover{color:var(--ssl-petrol); border-color:var(--ssl-petrol); background:var(--ssl-brass-soft)}
  body.single .ssl-side .ssl-share__wrap{position:relative}
  body.single .ssl-side .ssl-share__menu{
    left:0; top:calc(100% + 10px); transform:translateY(-4px) scale(.98); min-width:196px; max-height:340px;
  }
  body.single .ssl-side .ssl-share.is-open .ssl-share__menu{transform:none}
  body.single .ssl-side .ssl-share__toast{left:0; bottom:auto; top:calc(100% + 12px); transform:translateY(-4px)}
  body.single .ssl-side .ssl-share__toast.is-on{transform:none}
}

/* ---------- ssl-grid-v1: article shifted right, sticky left sidebar ---------- */
.ssl-side{display:none}
@media (min-width:1200px){
  body.single .wp-site-blocks > main{
    display:grid!important;
    grid-template-columns:262px minmax(0,820px)!important;
    column-gap:60px; justify-content:center; align-items:start;
  }
  body.single .wp-site-blocks > main > *{grid-column:2; max-width:820px; margin-left:0!important; margin-right:0!important}
  body.single .wp-site-blocks > main > .ssl-side{
    display:block; grid-column:1; grid-row:1 / span 40;
    position:sticky; top:104px; align-self:start; max-width:262px; margin:0!important;
  }
  body.single .ssl-related,body.single .ssl-author,body.single .ssl-comments,
  body.single .wp-site-blocks .ssl-band{max-width:820px}
  body.single .a2a_floating_style{display:none!important}
  body.single .ssl-side .ssl-toc{
    margin:22px 0 0; padding:20px 0 0; background:transparent; border:0; border-top:1px solid var(--ssl-line);
  }
  body.single .ssl-side .ssl-toc__x{display:none}
  body.single .ssl-side .ssl-toc__h{cursor:default}
  body.single .ssl-side .ssl-toc__l{max-height:calc(100vh - 300px); overflow-y:auto; padding-right:6px}
  body.single .ssl-side .ssl-toc__l a{font-size:14.5px; line-height:1.4}
}

/* ---------- ssl-share-colour: each tile in its platform's colour ---------- */
.ssl-share__m{
  color:#fff; border:1px solid transparent; font-family:var(--ssl-sans); font-weight:700; font-size:13px;
  box-shadow:0 1px 2px rgba(20,32,31,.14);
}
.ssl-share__menu a:nth-of-type(1) .ssl-share__m{background:#1877F2; border-color:#1877F2; color:#fff}
.ssl-share__menu a:nth-of-type(2) .ssl-share__m{background:#E60023; border-color:#E60023; color:#fff}
.ssl-share__menu a:nth-of-type(3) .ssl-share__m{background:#111111; border-color:#111111; color:#fff}
.ssl-share__menu a:nth-of-type(4) .ssl-share__m{background:#0A66C2; border-color:#0A66C2; color:#fff}
.ssl-share__menu a:nth-of-type(5) .ssl-share__m{background:#25D366; border-color:#25D366; color:#fff}
.ssl-share__menu a:nth-of-type(6) .ssl-share__m{background:#229ED9; border-color:#229ED9; color:#fff}
.ssl-share__menu a:nth-of-type(7) .ssl-share__m{background:#FF4500; border-color:#FF4500; color:#fff}
.ssl-share__menu a:nth-of-type(8) .ssl-share__m{background:#111111; border-color:#111111; color:#fff}
.ssl-share__menu a:nth-of-type(9) .ssl-share__m{background:#0285FF; border-color:#0285FF; color:#fff}
.ssl-share__menu a:nth-of-type(10) .ssl-share__m{background:#32506D; border-color:#32506D; color:#fff}
.ssl-share__native .ssl-share__m{background:var(--ssl-petrol); border-color:var(--ssl-petrol); color:#fff}
.ssl-share__menu a:hover .ssl-share__m,.ssl-share__native:hover .ssl-share__m{color:#fff; filter:brightness(1.12)}
.ssl-share__menu a,.ssl-share__native{color:var(--ssl-ink)}
.ssl-share__menu a:hover,.ssl-share__native:hover{background:var(--ssl-brass-soft); color:var(--ssl-ink)}

/* ---------- ssl-saved-v1: calculations kept in the browser ---------- */
.ssl-saved{
  background:var(--ssl-surface); border:1px solid var(--ssl-line); border-radius:14px;
  padding:28px 30px 26px; margin:2.6em 0 0;
}
.ssl-saved__cap{
  font-family:var(--ssl-sans); font-size:11px; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:var(--ssl-brass); margin:0 0 8px; max-width:none;
}
.ssl-saved__sub{font-size:14.5px; line-height:1.55; color:var(--ssl-muted); margin:0 0 18px; max-width:62ch}
.ssl-saved__restored{
  font-size:13.5px; font-weight:600; color:var(--ssl-petrol); margin:0 0 16px; max-width:none;
  background:var(--ssl-brass-soft); border-radius:8px; padding:9px 13px; display:inline-block;
}
.ssl-saved__restored[hidden]{display:none}
.ssl-saved__row{display:flex; gap:10px; flex-wrap:wrap; margin:0 0 18px}
.ssl-saved__name{
  flex:1 1 260px; min-width:0; box-sizing:border-box;
  font-family:var(--ssl-sans); font-size:15.5px; color:var(--ssl-ink);
  background:var(--ssl-paper); border:1px solid var(--ssl-line-2); border-radius:8px; padding:12px 14px;
}
.ssl-saved__name:focus{outline:2px solid var(--ssl-petrol); outline-offset:1px; border-color:var(--ssl-petrol)}
.ssl-saved__btn{
  flex:0 0 auto; font-family:var(--ssl-sans); font-size:15px; font-weight:700; cursor:pointer;
  background:var(--ssl-petrol); color:var(--ssl-paper); border:0; border-radius:8px; padding:12px 20px;
  transition:background .15s ease;
}
.ssl-saved__btn:hover{background:var(--ssl-petrol-2)}
.ssl-saved__list{list-style:none; margin:0; padding:0; display:grid; gap:8px}
.ssl-saved__i{display:flex; align-items:stretch; gap:8px; margin:0; padding:0; max-width:none}
.ssl-saved__load{
  flex:1 1 auto; text-align:left; cursor:pointer; min-width:0;
  background:var(--ssl-paper); border:1px solid var(--ssl-line); border-radius:10px;
  padding:12px 15px; display:flex; flex-direction:column; gap:3px;
  transition:border-color .15s ease, background .15s ease;
}
.ssl-saved__load:hover{border-color:var(--ssl-petrol); background:var(--ssl-brass-soft)}
.ssl-saved__t{font-family:var(--ssl-sans); font-size:15.5px; font-weight:700; color:var(--ssl-ink)}
.ssl-saved__m{font-family:var(--ssl-sans); font-size:12.5px; color:var(--ssl-muted); font-variant-numeric:tabular-nums}
.ssl-saved__x{
  flex:0 0 40px; width:40px; cursor:pointer; font-size:19px; line-height:1; color:var(--ssl-muted);
  background:transparent; border:1px solid var(--ssl-line); border-radius:10px;
  transition:color .15s ease, border-color .15s ease;
}
.ssl-saved__x:hover{color:#B4442F; border-color:#B4442F}
.ssl-saved__empty{font-size:14.5px; color:var(--ssl-muted); margin:0; max-width:none}
.ssl-saved__empty[hidden]{display:none}
.ssl-saved__clear{
  margin-top:16px; background:none; border:0; padding:6px 0; cursor:pointer;
  font-family:var(--ssl-sans); font-size:13px; font-weight:600; color:var(--ssl-muted);
  border-bottom:1px solid var(--ssl-line-2);
}
.ssl-saved__clear:hover{color:#B4442F; border-bottom-color:#B4442F}
.ssl-saved__clear[hidden]{display:none}
@media (max-width:600px){.ssl-saved{padding:22px 20px} .ssl-saved__btn{width:100%}}
@media print{.ssl-saved{display:none!important}}

/* ssl-hdr-v1 ----------------------------------------------------- */
body.single .ssl-byline{display:flex;align-items:center;flex-wrap:wrap;gap:0 10px;margin:0 0 12px!important;font-family:var(--ssl-sans);font-size:.86rem;line-height:1.45}
body.single .ssl-byline p{margin:0;font-size:inherit;line-height:inherit;color:var(--ssl-muted)}
body.single .ssl-byline__by{font-weight:600;color:var(--ssl-ink)}
body.single .ssl-byline__by a{color:var(--ssl-brass);text-decoration:none;border-bottom:1px solid transparent}
body.single .ssl-byline__by a:hover{border-bottom-color:currentColor}
body.single .ssl-byline__sep{color:var(--ssl-line-2)}
body.single .ssl-byline .wp-block-post-date{margin:0;font-size:.78rem;color:var(--ssl-muted);letter-spacing:.09em;text-transform:uppercase;font-weight:600}
body.single .ssl-byline__cmt{color:var(--ssl-muted);text-decoration:none;border-bottom:1px solid var(--ssl-line-2)}
body.single .ssl-byline__cmt:hover{color:var(--ssl-brass);border-bottom-color:currentColor}
body.single .ssl-byline .ssl-meta-dot,body.single .ssl-byline .ssl-meta-read{display:none}
body.single .wp-block-post-title{margin-top:0!important;margin-bottom:0!important}
body.single .ssl-strip{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;margin:22px 0 0!important;padding:12px 18px;background:var(--ssl-surface);border:1px solid var(--ssl-line);border-radius:14px;font-family:var(--ssl-sans);font-size:.85rem;font-weight:600;color:var(--ssl-muted);box-shadow:0 1px 2px rgba(23,32,31,.04)}
.ssl-strip__i{display:inline-flex;align-items:center;gap:7px;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;line-height:1}
.ssl-strip__share{cursor:pointer;border-radius:8px;transition:color .18s ease}
.ssl-strip__share:hover{color:var(--ssl-brass)}
.ssl-strip__ico{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:var(--ssl-brass);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ssl-strip__catwrap{display:flex;align-items:center;gap:7px;margin:0}
.ssl-strip .wp-block-post-terms{margin:0;font-size:inherit;line-height:1}
.ssl-strip .wp-block-post-terms a{color:var(--ssl-muted);text-decoration:none;border-bottom:1px solid var(--ssl-line-2)}
.ssl-strip .wp-block-post-terms a:hover{color:var(--ssl-brass);border-bottom-color:currentColor}
.ssl-strip [data-slot="react"]{display:inline-flex}
.ssl-strip .ssl-react{gap:18px}
@media(max-width:700px){body.single .ssl-strip{gap:9px 16px;padding:11px 14px;font-size:.8rem}}
@media print{.ssl-strip__share,.ssl-byline__cmt{display:none}}

/* ssl-hdr-v2 ---------------------------------------------------- */
.ssl-strip .ssl-crumbs{display:none!important}
.ssl-strip .ssl-react__cmt{display:none!important}
.ssl-strip .ssl-react{gap:0}
body.single .ssl-byline__cmt{white-space:nowrap}

/* ssl-strip-share-v1 -------------------------------------------- */
.ssl-strip__sharewrap{position:relative;display:inline-flex}
.ssl-strip__sharewrap .ssl-share__menu{position:absolute!important;top:calc(100% + 14px)!important;right:0!important;left:auto!important;bottom:auto!important;z-index:70;transform:none!important}
.ssl-strip__sharewrap.is-here .ssl-strip__share{color:var(--ssl-brass)}
@media(max-width:700px){.ssl-strip__sharewrap .ssl-share__menu{right:auto!important;left:0!important}}

/* ssl-strip-share-v2 -------------------------------------------- */
.ssl-strip__sharewrap.is-here .ssl-share__menu{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}

/* ssl-social-v1 ------------------------------------------------- */
.ssl-foot-blurb{font-size:13px!important;line-height:1.65!important;margin:14px 0 16px!important;max-width:30ch}
.ssl-foot-mail a{font-size:13px!important}
.ssl-social{margin:18px 0 0}
.ssl-social.is-pending{display:none}
.ssl-social__t{margin:0 0 10px!important;font-family:var(--ssl-sans);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ssl-brass-lite)}
.ssl-social__row{display:flex;align-items:center;gap:9px;flex-wrap:nowrap}
.ssl-social__i{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;border:1px solid rgba(255,255,255,.16);color:#B9C2BE;text-decoration:none;transition:color .18s ease,border-color .18s ease,background .18s ease}
.ssl-social__i:hover{color:#fff;border-color:var(--ssl-brass-lite);background:rgba(211,164,92,.14)}
.ssl-social__i svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:600px){.ssl-social{margin-top:14px}}
@media print{.ssl-social{display:none}}

/* ssl-hometop-v1 ------------------------------------------------ */
body.home .wp-site-blocks > main{margin-top:0!important}
body.home .wp-site-blocks > main > .wp-block-group:first-child{padding-top:52px!important}
@media(max-width:781px){body.home .wp-site-blocks > main > .wp-block-group:first-child{padding-top:32px!important}}

/* ssl-mobile-v1 ================================================== */
@media (max-width:781px){
  .wp-site-blocks{overflow-x:clip}
  /* --- header --- */
  .wp-site-blocks > header .wp-block-group.has-global-padding{padding-left:16px!important;padding-right:16px!important;padding-top:10px!important;padding-bottom:10px!important}
  .wp-site-blocks > header .is-content-justification-space-between{gap:8px!important;flex-wrap:nowrap!important}
  .wp-site-blocks > header .is-content-justification-right{gap:6px!important;flex-wrap:nowrap!important}
  .wp-block-site-logo,.wp-block-site-logo a{max-width:118px!important}
  .wp-block-site-logo img{width:118px!important;max-width:118px!important;height:auto!important}
  .ssl-icons{gap:4px!important}
  .ssl-btn-label{display:none!important}
  .ssl-icon-btn,.ssl-search-open-btn,.ssl-theme-toggle{width:36px!important;height:36px!important;min-width:36px!important;padding:0!important}
  .ssl-cta .wp-block-button__link{font-size:12px!important;padding:9px 12px!important;white-space:nowrap!important;letter-spacing:.01em!important}
  .wp-block-navigation__responsive-container-open{margin:0 2px!important}
  /* --- content --- */
  .wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .wp-block-table table{min-width:520px}
  body.single .wp-block-post-title{font-size:clamp(1.7rem,7.2vw,2.3rem)!important;line-height:1.16!important}
  body.single .ssl-byline{font-size:.8rem!important;gap:0 8px!important}
  body.single .ssl-byline .wp-block-post-date{font-size:.72rem!important}
  /* --- footer, compact --- */
  .wp-site-blocks > footer .wp-block-group.has-global-padding{padding:34px 18px 26px!important}
  .ssl-foot-top{gap:22px 16px!important}
  .ssl-foot-top > .wp-block-column{flex-basis:100%!important}
  .ssl-foot-top > .wp-block-column:not(:first-child){flex-basis:calc(50% - 8px)!important}
  .ssl-foot-logo img{width:132px!important;max-width:132px!important}
  .ssl-foot-blurb{font-size:12.5px!important;margin:10px 0 10px!important;max-width:38ch}
  .ssl-foot-mail a{font-size:12.5px!important}
  .ssl-social{margin-top:12px!important}
  .ssl-social__i{width:28px!important;height:28px!important;border-radius:8px!important}
  .ssl-social__i svg{width:14px!important;height:14px!important}
  .wp-site-blocks > footer h3{font-size:11px!important;letter-spacing:.12em!important;margin-bottom:8px!important}
  .wp-site-blocks > footer .wp-block-list{margin:0!important}
  .wp-site-blocks > footer .wp-block-list li{margin:0 0 6px!important;font-size:12.5px!important;line-height:1.45!important}
  .ssl-fine{font-size:11px!important;padding-top:16px!important;margin-top:22px!important;line-height:1.6!important}
}
@media (max-width:420px){
  .ssl-cta .wp-block-button__link{font-size:11.5px!important;padding:8px 10px!important}
}

/* ssl-mobile-v2 ------------------------------------------------- */
@media (max-width:781px){
  .ssl-toc{margin:22px 0!important}
  .ssl-toc__h{width:100%}
  .ssl-band{padding:22px 18px!important;gap:16px!important}
  .ssl-react--big{padding:15px 16px!important;margin:32px 0 4px!important}
  .ssl-author{padding:20px 18px!important}
  .ssl-crumbs{font-size:11px!important}
  #ssl-search .ssl-search__box{width:calc(100vw - 28px)!important;max-width:none!important}
}

/* ssl-path-v2 --------------------------------------------------- */
.wp-block-column:has(> .ssl-path),.wp-block-column:has(> .ssl-path) > .ssl-path{display:flex}
.wp-block-column:has(> .ssl-path){flex-direction:column}
.ssl-path{flex-direction:column;height:100%;border-radius:18px;border:1px solid transparent;padding:30px 30px 28px!important;box-shadow:none;transition:transform .22s ease,box-shadow .22s ease}
.ssl-path:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(23,32,31,.10)}
.ssl-path h3{font-size:1.3rem;line-height:1.24;margin:0 0 12px!important;letter-spacing:-.012em}
.ssl-path p{font-size:.98rem;line-height:1.62;color:var(--ssl-muted);margin:0 0 20px!important}
.ssl-path p:last-child{margin:auto 0 0!important}
.ssl-path p:last-child a{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:11px;font-family:var(--ssl-sans);font-size:.92rem;font-weight:700;color:#FFF9F0!important;text-decoration:none!important;border:0!important;box-shadow:0 1px 0 rgba(23,32,31,.10);transition:filter .18s ease,transform .18s ease}
.ssl-path p:last-child a:hover{filter:brightness(1.09);transform:translateY(-1px)}
.ssl-path--1{background:#F8F0E1;border-color:#EBDDC1}
.ssl-path--1 h3{color:#5E4413}
.ssl-path--1 p:last-child a{background:#9C6F26}
.ssl-path--2{background:#E8F1F0;border-color:#CFE0DE}
.ssl-path--2 h3{color:#0E363B}
.ssl-path--2 p:last-child a{background:#14494F}
.ssl-path--3{background:#F9EDE6;border-color:#EDD8CB}
.ssl-path--3 h3{color:#7C3F26}
.ssl-path--3 p:last-child a{background:#A15535}
[data-theme="dark"] .ssl-path--1{background:rgba(211,164,92,.10);border-color:rgba(211,164,92,.26)}
[data-theme="dark"] .ssl-path--1 h3{color:#E6C58B}
[data-theme="dark"] .ssl-path--2{background:rgba(93,178,181,.10);border-color:rgba(93,178,181,.26)}
[data-theme="dark"] .ssl-path--2 h3{color:#8FCFD2}
[data-theme="dark"] .ssl-path--3{background:rgba(214,133,98,.10);border-color:rgba(214,133,98,.26)}
[data-theme="dark"] .ssl-path--3 h3{color:#E8A183}
[data-theme="dark"] .ssl-path:hover{box-shadow:0 14px 34px rgba(0,0,0,.35)}
@media(max-width:781px){.ssl-path{padding:24px 22px 22px!important;border-radius:15px}.ssl-path h3{font-size:1.18rem}.ssl-path p{font-size:.94rem;margin-bottom:16px!important}.ssl-path p:last-child a{padding:11px 17px;font-size:.88rem}}

/* ssl-related-v2 ------------------------------------------------ */
.ssl-related__grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:26px!important;align-items:start}
.ssl-related__card{display:flex;flex-direction:column;gap:12px;text-decoration:none!important;min-width:0}
.ssl-related__card img,.ssl-related__ph{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;border:1px solid var(--ssl-line);background:var(--ssl-brass-soft)}
.ssl-related__card:hover img{border-color:var(--ssl-brass-lite)}
.ssl-related__t{font-family:var(--ssl-serif);font-size:1.02rem;line-height:1.32;color:var(--ssl-ink);letter-spacing:-.01em}
.ssl-related__card:hover .ssl-related__t{color:var(--ssl-brass)}
@media(max-width:900px){.ssl-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}}
@media(max-width:600px){.ssl-related__grid{grid-template-columns:1fr!important;gap:18px!important}.ssl-related__t{font-size:1rem}}

/* ssl-navmenu-v1 ------------------------------------------------ */
/* the header's backdrop-filter was making it the containing block for the
   fixed overlay, so the menu was trapped inside a 44px box. */
.wp-site-blocks > header:has(.is-menu-open),
.wp-site-blocks > header:has(.has-modal-open){backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;transform:none!important;will-change:auto!important}
.wp-block-navigation__responsive-container.is-menu-open{position:fixed!important;inset:0!important;min-height:100vh!important;min-height:100dvh!important;max-height:none!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;z-index:100000!important;background:var(--ssl-paper)!important;padding:22px 26px 40px!important;display:flex!important;flex-direction:column!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog{display:flex!important;flex-direction:column!important;width:100%;margin-top:52px}
.wp-block-navigation__responsive-container-close{position:absolute!important;top:18px;right:20px;width:42px!important;height:42px!important;display:flex;align-items:center;justify-content:center;border:1px solid var(--ssl-line-2);border-radius:12px;background:var(--ssl-surface);color:var(--ssl-ink)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{display:flex!important;flex-direction:column!important;gap:0!important;align-items:stretch!important;width:100%}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{width:100%;border-bottom:1px solid var(--ssl-line)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child{border-bottom:0}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{display:block;width:100%;padding:17px 2px!important;font-family:var(--ssl-serif);font-size:1.28rem!important;line-height:1.3;font-weight:600;letter-spacing:-.012em;color:var(--ssl-ink)!important;text-decoration:none!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover{color:var(--ssl-brass)!important}
.ssl-navcta{margin-top:auto;padding-top:28px}
.ssl-navcta a{display:block;text-align:center;padding:15px 20px;border-radius:12px;background:var(--ssl-petrol);color:#FFF9F0!important;font-family:var(--ssl-sans);font-size:1rem;font-weight:700;text-decoration:none!important}
.ssl-navnote{margin-top:16px;font-family:var(--ssl-sans);font-size:.82rem;color:var(--ssl-muted);text-align:center}
.ssl-navnote a{color:var(--ssl-brass);text-decoration:none;border-bottom:1px solid currentColor}

/* ssl-sub-v1 ---------------------------------------------------- */
.ssl-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}
.ssl-mini__msg{margin:10px 0 0!important;font-family:var(--ssl-sans);font-size:.88rem;line-height:1.5;color:var(--ssl-muted)}
.ssl-mini__msg[data-ok="1"]{color:var(--ssl-petrol);font-weight:600}
[data-theme="dark"] .ssl-mini__msg[data-ok="1"]{color:#8FCFD2}
.ssl-mini__msg[data-ok="0"]{color:#A1442E}
[data-theme="dark"] .ssl-mini__msg[data-ok="0"]{color:#E8A183}
.ssl-pop__row .ssl-mini{width:100%}
.ssl-pop__row{flex-wrap:wrap}
@media(max-width:600px){.ssl-mini__row{flex-direction:column;align-items:stretch;gap:10px}.ssl-mini__btn{width:100%}}

/* ssl-mobile-v3 ------------------------------------------------- */
@media (max-width:781px){
  /* back to top: same design as desktop, just placed for a thumb */
  body .ssl-top{display:flex!important;right:16px!important;bottom:calc(16px + env(safe-area-inset-bottom,0px))!important}
  /* bigger logos */
  .wp-block-site-logo,.wp-block-site-logo a{max-width:146px!important}
  .wp-block-site-logo img{width:146px!important;max-width:146px!important}
  .ssl-foot-logo img{width:168px!important;max-width:168px!important}
  /* less air above the footer logo */
  .wp-site-blocks > footer .wp-block-group.has-global-padding{padding-top:24px!important}
  .ssl-foot-logo{margin:0 0 4px!important}
  .ssl-foot-top{gap:18px 16px!important}
  /* menu: everything on one screen, clear of the browser bar */
  .wp-block-navigation__responsive-container.is-menu-open{padding:18px 24px calc(20px + env(safe-area-inset-bottom,0px))!important}
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog{margin-top:40px}
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{padding:13px 2px!important;font-size:1.2rem!important}
  .ssl-navcta{padding-top:18px}
  .ssl-navcta a{padding:14px 20px}
  .ssl-navnote{margin-top:12px;padding-bottom:2px}
}
@media (max-width:420px){
  .wp-block-site-logo img{width:132px!important;max-width:132px!important}
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{padding:11px 2px!important;font-size:1.14rem!important}
}
@media (max-width:781px) and (max-height:700px){
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog{margin-top:30px}
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{padding:10px 2px!important;font-size:1.08rem!important}
}

/* ssl-mobile-v4 ------------------------------------------------- */
@media (max-width:781px){
  body.single .wp-site-blocks > main,
  body.page:not(.home) .wp-site-blocks > main,
  body.archive .wp-site-blocks > main,
  body.blog .wp-site-blocks > main{margin-top:0!important;padding-top:26px!important}
  body.single .ssl-crumbs{margin-top:0!important}
}

/* ssl-lb-v1: full screen image viewer ---------------------------- */
img[data-ssl-lb]{cursor:zoom-in;transition:filter .2s ease,transform .25s ease}
img[data-ssl-lb]:hover{filter:brightness(1.03)}
img[data-ssl-lb]:focus-visible{outline:2px solid var(--ssl-brass);outline-offset:3px}
html.ssl-lb-on{overflow:hidden}
.ssl-lb{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200000;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .22s ease}
.ssl-lb[data-in="1"]{opacity:1}
.ssl-lb[hidden]{display:none!important}
.ssl-lb__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(8,12,11,.96)}
.ssl-lb__stage{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:64px 20px 92px;overflow:hidden;touch-action:none}
.ssl-lb__img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,.55);transform-origin:center center;transition:transform .22s cubic-bezier(.2,.8,.2,1);user-select:none;-webkit-user-drag:none;cursor:zoom-in}
.ssl-lb[data-zoomed="1"] .ssl-lb__img{cursor:grab}
.ssl-lb[data-zoomed="1"] .ssl-lb__img:active{cursor:grabbing}
.ssl-lb__img.is-loading{opacity:.25}
.ssl-lb__x,.ssl-lb__nav,.ssl-lb__zoom{position:absolute;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#F4F1EA;border-radius:12px;cursor:pointer;padding:0;transition:background .18s ease,border-color .18s ease,color .18s ease}
.ssl-lb__x:hover,.ssl-lb__nav:hover,.ssl-lb__zoom:hover{background:rgba(255,255,255,.16);border-color:var(--ssl-brass-lite);color:#fff}
.ssl-lb__x svg,.ssl-lb__nav svg,.ssl-lb__zoom svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ssl-lb__x{top:18px;right:18px;width:46px;height:46px;z-index:3}
.ssl-lb__nav{top:50%;transform:translateY(-50%);width:48px;height:48px;z-index:3}
.ssl-lb__prev{left:18px}.ssl-lb__next{right:18px}
.ssl-lb:not([data-multi="1"]) .ssl-lb__nav{display:none}
.ssl-lb__foot{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:18px 22px calc(18px + env(safe-area-inset-bottom,0px))}
.ssl-lb__cap{margin:0;font-family:var(--ssl-sans);font-size:.9rem;line-height:1.5;color:rgba(244,241,234,.82);max-width:70ch}
.ssl-lb__cap[hidden]{display:none}
.ssl-lb__tools{display:flex;align-items:center;gap:12px;margin-left:auto;flex:0 0 auto}
.ssl-lb__count{font-family:var(--ssl-sans);font-size:.82rem;font-weight:700;letter-spacing:.1em;color:rgba(244,241,234,.7);font-variant-numeric:tabular-nums}
.ssl-lb__zoom{position:relative;width:44px;height:44px}
@media (max-width:781px){
  .ssl-lb__stage{padding:56px 10px 96px}
  .ssl-lb__x{top:12px;right:12px;width:42px;height:42px}
  .ssl-lb__nav{width:42px;height:42px}
  .ssl-lb__prev{left:10px}.ssl-lb__next{right:10px}
  .ssl-lb__foot{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px))}
  .ssl-lb__cap{font-size:.84rem}
  .ssl-lb__tools{margin-left:0}
}
@media print{.ssl-lb{display:none!important}}


/* ---------- ssl-navmenu-v2: overlay extras must never leak into the desktop header ---------- */
.ssl-navcta,.ssl-navnote{display:none}
.wp-block-navigation__responsive-container.is-menu-open .ssl-navcta{display:block}
.wp-block-navigation__responsive-container.is-menu-open .ssl-navnote{display:block}

/* ---------- ssl-search-v2: scrim blur and panel arrive on the same frame ---------- */
.ssl-search{opacity:1!important; transition:none!important}
.ssl-search__scrim{opacity:0; will-change:opacity; transition:opacity .17s ease}
.ssl-search.is-in .ssl-search__scrim{opacity:1}
.ssl-search__panel{opacity:0; transition:opacity .17s ease, transform .17s cubic-bezier(.2,.8,.2,1)}
.ssl-search.is-in .ssl-search__panel{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){.ssl-search__scrim,.ssl-search__panel{transition:none}}

/* ---------- ssl-foot-v3: a little air before the Site column on phones ---------- */
@media (max-width:781px){
  .ssl-foot-top > .wp-block-column:nth-child(3){padding-left:16px}
}

/* ---------- ssl-mshare-v1: floating share column above back-to-top (phones + tablets) ---------- */
@media (max-width:1199px){
  body.single .ssl-share{
    display:flex!important; left:auto!important; top:auto!important;
    right:16px; bottom:calc(74px + env(safe-area-inset-bottom,0px));
    transform:none!important; z-index:390;
    flex-direction:column; align-items:center; gap:8px;
    padding:9px 7px; border-radius:16px;
    opacity:0!important; visibility:hidden!important; pointer-events:none!important;
    transition:opacity .2s ease, visibility .2s;
  }
  body.single .ssl-share.is-live{opacity:1!important; visibility:visible!important; pointer-events:auto!important}
  body.single .ssl-share__cap{display:none}
  body.single .ssl-share__btn{width:34px; height:34px; border-radius:11px; color:var(--ssl-ink); border-color:var(--ssl-line-2)}
  body.single .ssl-share__btn svg{width:16px; height:16px}
  body.single .ssl-share__menu{
    left:auto; right:calc(100% + 12px); top:auto; bottom:0;
    transform:translateX(6px) scale(.97); min-width:190px; max-height:60vh; overflow-y:auto;
  }
  body.single .ssl-share.is-open .ssl-share__menu{transform:none}
  body.single .ssl-share__toast{left:auto; right:calc(100% + 12px); top:auto; bottom:2px; transform:none}
}
@media (prefers-reduced-motion:reduce){body.single .ssl-share{transition:none}}

/* ---------- ssl-foot-v4: keep Topics and Site side by side on phones ---------- */
@media (max-width:781px){
  .ssl-foot-top > .wp-block-column:not(:first-child){flex-basis:46%!important}
}

/* ---------- ssl-mshare-v2: the rail itself is invisible, only the icons float ---------- */
@media (max-width:1199px){
  body.single .ssl-share{
    background:transparent!important; border:0!important; box-shadow:none!important;
    -webkit-backdrop-filter:none!important; backdrop-filter:none!important;
    padding:0!important; gap:9px;
  }
  body.single .ssl-share__btn{
    background:var(--ssl-glass-strong);
    -webkit-backdrop-filter:saturate(180%) blur(14px); backdrop-filter:saturate(180%) blur(14px);
    border:1px solid var(--ssl-glass-line);
    box-shadow:0 10px 24px -16px var(--ssl-shadow);
  }
  body.single .ssl-share__btn:hover,body.single .ssl-share__btn:active{color:var(--ssl-petrol); border-color:var(--ssl-line-2)}
}

/* ---------- ssl-mshare-v3: bigger icons, dead-centre over back-to-top ---------- */
@media (max-width:1199px){
  body.single .ssl-share{right:17px!important; gap:10px}
  body.single .ssl-share__btn{width:44px; height:44px; border-radius:999px}
  body.single .ssl-share__btn svg{width:19px; height:19px}
  body.single .ssl-share__menu{right:calc(100% + 10px)}
  body.single .ssl-share__toast{right:calc(100% + 10px)}
}

/* ---------- ssl-faq-v2: one premium accordion, identical on every post ---------- */
.ssl-faq{
  margin:3.4em 0 0; padding:30px 30px 12px;
  border:1px solid var(--ssl-line-2); border-radius:16px;
  background:var(--ssl-surface);
}
.ssl-faq::before{
  content:"FREQUENTLY ASKED"; display:block; margin-bottom:10px;
  font-family:var(--ssl-sans); font-size:11px; font-weight:700;
  letter-spacing:.18em; color:var(--ssl-brass);
}
.ssl-faq__h{font-size:clamp(23px,2.7vw,30px); margin:0 0 .6em!important; letter-spacing:-.02em}
.ssl-faq details{
  border-bottom:1px solid var(--ssl-line); border-top:0;
  border-radius:10px; margin-inline:-14px; padding-inline:14px;
  transition:background .2s ease;
}
.ssl-faq details:first-of-type{border-top:0}
.ssl-faq details:last-of-type{border-bottom:0}
.ssl-faq details[open]{background:var(--ssl-brass-soft)}
.ssl-faq summary{padding:19px 46px 19px 0; font-size:19px}
.ssl-faq summary::after{right:12px}
.ssl-faq details[open] summary{color:var(--ssl-petrol)}
.ssl-faq__a{padding:0 0 20px}
.ssl-faq__a p{color:var(--ssl-ink); opacity:.85}
@media (max-width:781px){
  .ssl-faq{padding:24px 20px 10px; border-radius:14px; margin-top:2.8em}
  .ssl-faq details{margin-inline:-10px; padding-inline:10px}
  .ssl-faq summary{font-size:17.5px; padding:17px 38px 17px 0; line-height:1.4}
  .ssl-faq__a p{font-size:16px}
}

/* ---------- ssl-ctacard-v1: simple in-post call to action ---------- */
.ssl-ctacard{
  background:var(--ssl-petrol); color:var(--ssl-paper);
  border-radius:16px; padding:36px 34px; margin-block:2.8em;
}
.ssl-ctacard h3{color:var(--ssl-paper)!important; margin:0 0 10px!important; font-size:clamp(21px,2.6vw,27px)}
.ssl-ctacard p{color:#CFE0DF; margin:0 0 20px; max-width:56ch; font-size:16.5px}
.ssl-ctacard .wp-block-button__link{background:var(--ssl-brass-lite); color:var(--ssl-ink)}
.ssl-ctacard .wp-block-button__link:hover{background:#E3BC7C; color:var(--ssl-ink)}
@media (max-width:600px){.ssl-ctacard{padding:26px 20px}}

/* ---------- ssl-navbp-v1: overlay menu up to 900px, so the header never wraps ---------- */
@media (max-width:900px){
  .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
  .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex!important}
}

/* ---------- ssl-toc-v2: numbered contents menu ---------- */
.entry-content .ssl-toc{
  padding:22px 24px 24px; border-radius:14px;
  background:var(--ssl-surface); border:1px solid var(--ssl-line-2);
  box-shadow:0 1px 2px rgba(20,32,31,.04);
}
.ssl-toc__h{font-size:10.5px; letter-spacing:.2em}
.ssl-toc__l{margin:16px 0 0; gap:1px; counter-reset:ssltoc}
.ssl-toc__l li:not(.is-sub){counter-increment:ssltoc}
.ssl-toc__l li.is-sub{padding-left:0}
.ssl-toc__l a{
  position:relative; display:flex; gap:12px; align-items:baseline;
  border-left:0; padding:8px 10px 8px 9px; border-radius:8px;
  font-size:15.5px; line-height:1.42; color:var(--ssl-muted);
  transition:color .16s ease, background .16s ease;
}
.ssl-toc__l li:not(.is-sub) > a::before{
  content:counter(ssltoc,decimal-leading-zero);
  flex:0 0 auto; min-width:17px;
  font-family:var(--ssl-sans); font-size:10.5px; font-weight:700; letter-spacing:.06em;
  font-variant-numeric:tabular-nums; color:var(--ssl-line-2);
  transition:color .16s ease;
}
.ssl-toc__l li.is-sub > a{padding-left:39px}
.ssl-toc__l li.is-sub > a::before{
  content:""; position:absolute; left:20px; top:16px; width:9px; height:1px; background:var(--ssl-line-2);
}
.ssl-toc__l a:hover{color:var(--ssl-ink); background:var(--ssl-brass-soft)}
.ssl-toc__l a:hover::before{color:var(--ssl-brass)}
.ssl-toc__l a.is-on{
  color:var(--ssl-petrol); font-weight:600;
  background:var(--ssl-brass-soft); border-left-color:transparent;
}
.ssl-toc__l a.is-on::before{color:var(--ssl-brass)}
@media (max-width:781px){
  .entry-content .ssl-toc{padding:18px 16px 20px; border-radius:12px}
  .ssl-toc__l a{font-size:15px; padding:8px 8px}
}

/* ---------- ssl-more-v1: load more posts under Keep reading ---------- */
.ssl-more{margin-top:32px; display:flex; flex-direction:column; align-items:center; gap:12px}
.ssl-more__btn{
  font-family:var(--ssl-sans); font-size:14.5px; font-weight:700; letter-spacing:.01em;
  padding:13px 32px; border-radius:999px; cursor:pointer;
  background:var(--ssl-petrol); color:var(--ssl-paper); border:1px solid var(--ssl-petrol);
  box-shadow:0 12px 26px -16px var(--ssl-shadow);
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.ssl-more__btn:hover{background:#0F3A3F; transform:translateY(-1px); box-shadow:0 16px 30px -16px var(--ssl-shadow)}
.ssl-more__btn:disabled{opacity:.55; cursor:default; transform:none}
.ssl-more__end{
  font-family:var(--ssl-sans); font-size:13.5px; color:var(--ssl-muted); margin:0;
  letter-spacing:.02em;
}
@media (max-width:600px){.ssl-more__btn{width:100%; padding:14px 20px}}

/* ---------- ssl-consent-v2: a smaller, quieter cookie card ---------- */
.ssl-consent{
  right:16px; bottom:16px; width:min(330px,calc(100vw - 32px));
  border-radius:16px; border-color:var(--ssl-line);
  box-shadow:0 18px 40px -18px rgba(20,32,31,.30), 0 1px 3px rgba(20,32,31,.06);
}
.ssl-consent__in{padding:16px 17px 15px}
.ssl-consent__t{font-size:15.5px; margin:0 0 5px; letter-spacing:-.01em}
.ssl-consent__b{font-size:12.8px; line-height:1.55; margin:0 0 13px}
.ssl-consent__row{gap:8px}
.ssl-consent__btn{font-size:12.8px; padding:9px 15px; border-radius:10px; font-weight:700}
.ssl-consent__btn--n{border-color:var(--ssl-line)}
@media (max-width:600px){
  .ssl-consent{left:auto; right:10px; bottom:10px; width:min(320px,calc(100vw - 20px))}
  .ssl-consent__in{padding:15px 16px 14px}
  .ssl-consent__btn{flex:1 1 auto; text-align:center}
}

/* ---------- ssl-btn-v2: in-page buttons matched in size and refined ---------- */
main .wp-block-buttons{gap:14px}
main .wp-block-buttons .wp-block-button__link{
  display:inline-flex; align-items:center; justify-content:center; text-align:center;
  min-width:172px; min-height:50px; box-sizing:border-box;
  padding:13px 26px; border-radius:11px; border:1.5px solid transparent;
  font-size:15px; font-weight:700; letter-spacing:.015em; line-height:1.1;
}
main .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link,
main .wp-block-buttons .wp-block-button__link.is-style-outline{
  padding:13px 26px; border-width:1.5px; border-radius:11px; min-height:50px; min-width:172px;
}
main .wp-block-buttons .wp-block-button__link:hover{transform:translateY(-1px)}
@media (max-width:600px){
  main .wp-block-buttons .wp-block-button__link,
  main .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link{
    min-width:150px; min-height:48px; font-size:14.5px; padding:12px 20px;
  }
}

/* ---------- ssl-bycat-v1: every post, grouped by category ---------- */
.ssl-bycat{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:36px 46px; margin-top:26px}
.ssl-bycat__c{min-width:0}
.ssl-bycat__head{
  display:flex; align-items:baseline; justify-content:space-between; gap:12px;
  padding-bottom:10px; border-bottom:1px solid var(--ssl-line);
}
.ssl-bycat__h{font-size:18px; margin:0!important; letter-spacing:-.012em; line-height:1.25}
.ssl-bycat__h a{color:var(--ssl-ink); text-decoration:none}
.ssl-bycat__h a:hover{color:var(--ssl-petrol)}
.ssl-bycat__n{
  font-family:var(--ssl-sans); font-size:10.5px; font-weight:700; letter-spacing:.15em;
  text-transform:uppercase; color:var(--ssl-brass); white-space:nowrap;
}
.ssl-bycat__l{list-style:none; margin:10px 0 0; padding:0; display:grid; gap:1px}
.ssl-bycat__l li{margin:0; padding:0; max-width:none}
.ssl-bycat__l a{
  display:flex; gap:14px; align-items:baseline; justify-content:space-between;
  padding:9px 8px; border-radius:8px; text-decoration:none;
  transition:background .16s ease;
}
.ssl-bycat__l a:hover{background:var(--ssl-brass-soft)}
.ssl-bycat__t{
  font-family:var(--ssl-serif); font-size:16.5px; line-height:1.3;
  color:var(--ssl-ink); letter-spacing:-.012em;
}
.ssl-bycat__l a:hover .ssl-bycat__t{color:var(--ssl-petrol)}
.ssl-bycat__d{
  font-family:var(--ssl-sans); font-size:11.5px; color:var(--ssl-muted);
  white-space:nowrap; font-variant-numeric:tabular-nums;
}
@media (max-width:781px){
  .ssl-bycat{grid-template-columns:1fr; gap:30px}
  .ssl-bycat__t{font-size:16px}
}

/* ---------- ssl-ctacard-v2: everything flush left inside the card ---------- */
.ssl-ctacard > *{margin-left:0!important; margin-right:auto!important; max-width:none}
.ssl-ctacard p{max-width:60ch}
.ssl-ctacard .wp-block-buttons{justify-content:flex-start}

/* ---------- ssl-topring-v2: a little life in the back-to-top ring ---------- */
.ssl-top-ring{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.ssl-top:hover .ssl-top-ring{transform:rotate(-90deg) scale(1.05)}
.ssl-top-track{transform-box:fill-box; transform-origin:center}
.ssl-top-bar{transition:stroke-dashoffset .1s linear, stroke-width .22s ease, filter .22s ease}
.ssl-top:hover .ssl-top-bar{stroke-width:2.7; filter:drop-shadow(0 0 3px rgba(156,111,38,.55))}
.ssl-top.is-in .ssl-top-track{animation:sslRingIn .75s cubic-bezier(.2,.8,.2,1) both}
@keyframes sslRingIn{from{opacity:0; transform:scale(.78)} to{opacity:.85; transform:none}}
.ssl-top:hover .ssl-top-track{stroke-dasharray:3 7; animation:sslRingSpin 7s linear infinite}
@keyframes sslRingSpin{to{stroke-dashoffset:-100}}
@media (prefers-reduced-motion:reduce){
  .ssl-top-ring,.ssl-top-bar{transition:none}
  .ssl-top.is-in .ssl-top-track,.ssl-top:hover .ssl-top-track{animation:none}
  .ssl-top:hover .ssl-top-ring{transform:rotate(-90deg)}
}

/* ---------- ssl-anchor-v1: the sticky header must not swallow the heading you clicked ---------- */
html{scroll-behavior:smooth}
.entry-content [id],
.wp-site-blocks [id],
:target{scroll-margin-top:84px}
.admin-bar .entry-content [id],
.admin-bar .wp-site-blocks [id],
.admin-bar :target{scroll-margin-top:116px}
@media (max-width:781px){
  .entry-content [id],
  .wp-site-blocks [id],
  :target{scroll-margin-top:76px}
  .admin-bar .entry-content [id],
  .admin-bar .wp-site-blocks [id],
  .admin-bar :target{scroll-margin-top:122px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- ssl-type-v2: larger, slightly heavier, easier to read ---------- */
:root{--ssl-muted:#55605B}
body{font-size:18px; font-weight:450; line-height:1.7}
.wp-site-blocks p, .wp-site-blocks li, .wp-site-blocks dd, .wp-site-blocks dt{font-weight:450}
.entry-content p, .entry-content li{font-weight:450}
.entry-content > p{font-size:clamp(18px,1.3vw,20.5px); line-height:1.68}
.entry-content .wp-block-list li,
.entry-content ul li, .entry-content ol li{font-size:clamp(17.5px,1.25vw,19.5px); line-height:1.62}
.entry-content .wp-block-list{margin-block:1.4em}
.ssl-lede{font-size:clamp(20px,2.1vw,24px)!important; line-height:1.55; font-weight:450}
.wp-block-table td, .wp-block-table th{font-size:17px; line-height:1.6}
.wp-block-table th{font-weight:650}
.wp-element-caption, .wp-block-table figcaption{font-size:14.5px; font-weight:450; line-height:1.55}
h1,h2,h3,h4,h5,.wp-block-heading{font-weight:650}
.wp-block-post-title{font-weight:650; letter-spacing:-.026em}
.ssl-faq summary{font-weight:650}
.ssl-faq__a p{font-size:17px; font-weight:450; line-height:1.62}
.ssl-related__t, .ssl-bycat__t{font-weight:650}
.ssl-data p{font-weight:450}
strong, b{font-weight:700}
@media (max-width:600px){
  body{font-size:17.5px}
  .entry-content > p{font-size:18px; line-height:1.66}
  .entry-content .wp-block-list li, .entry-content ul li, .entry-content ol li{font-size:17.5px}
  .wp-block-table td, .wp-block-table th{font-size:16px}
}

/* ---------- ssl-next-v1: read-next card, half way down the article ---------- */
.ssl-next{
  position:fixed; left:24px; bottom:24px; z-index:180;
  width:min(330px,calc(100vw - 48px));
  background:var(--ssl-surface); border:1px solid var(--ssl-line-2); border-radius:14px;
  box-shadow:0 22px 46px -22px var(--ssl-shadow);
  opacity:0; transform:translateY(16px) scale(.985); pointer-events:none;
  transition:opacity .34s cubic-bezier(.2,.8,.2,1), transform .34s cubic-bezier(.2,.8,.2,1);
  will-change:transform,opacity;
}
.ssl-next.is-in{opacity:1; transform:none; pointer-events:auto}
.ssl-next__a{display:flex; gap:13px; align-items:center; padding:12px; text-decoration:none; border-radius:14px}
.ssl-next__img{width:64px; height:64px; object-fit:cover; border-radius:10px; flex:0 0 64px; display:block}
.ssl-next__b{min-width:0}
.ssl-next__k{
  font-family:var(--ssl-sans); font-size:10px; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:var(--ssl-brass); display:block; margin-bottom:5px;
}
.ssl-next__t{
  font-family:var(--ssl-serif); font-weight:650; font-size:15.5px; line-height:1.28;
  letter-spacing:-.012em; color:var(--ssl-ink);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.ssl-next__a:hover .ssl-next__t{color:var(--ssl-petrol)}
.ssl-next__x{
  position:absolute; top:-10px; right:-10px; width:26px; height:26px; border-radius:999px;
  background:var(--ssl-surface); border:1px solid var(--ssl-line-2); color:var(--ssl-muted);
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  font-size:14px; line-height:1; padding:0; box-shadow:0 5px 12px -5px var(--ssl-shadow);
  transition:color .15s ease, border-color .15s ease;
}
.ssl-next__x:hover{color:var(--ssl-ink); border-color:var(--ssl-ink)}
@media (max-width:781px){
  .ssl-next{left:12px; right:78px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); width:auto}
  .ssl-next__a{padding:10px; gap:11px}
  .ssl-next__img{width:52px; height:52px; flex-basis:52px}
  .ssl-next__t{font-size:14.5px; -webkit-line-clamp:2}
}
@media (prefers-reduced-motion:reduce){.ssl-next{transition:none}}
@media print{.ssl-next{display:none!important}}

/* ---------- ssl-btn-v3: the outline button inherited the body line-height and grew 4.5px taller ---------- */
main .wp-block-buttons .wp-block-button__link,
main .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link,
main .wp-block-buttons .wp-block-button__link.is-style-outline{
  line-height:1.1; height:50px; min-height:50px;
  align-items:center; justify-content:center;
}
@media (max-width:600px){
  main .wp-block-buttons .wp-block-button__link,
  main .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link,
  main .wp-block-buttons .wp-block-button__link.is-style-outline{height:48px; min-height:48px}
}

/* ---------- ssl-btn-v4: the size rules were overriding the outline button's own border colour ---------- */
main .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link,
main .wp-block-buttons .wp-block-button__link.is-style-outline{
  background:transparent;
  color:var(--ssl-petrol);
  border-color:var(--ssl-petrol);
  border-style:solid;
}
main .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:hover,
main .wp-block-buttons .wp-block-button__link.is-style-outline:hover{
  background:var(--ssl-petrol);
  color:var(--ssl-paper);
  border-color:var(--ssl-petrol);
}
main .wp-block-buttons .wp-block-button:not(.is-style-outline) > .wp-block-button__link{
  border-color:transparent;
}

/* ---------- ssl-ctacard-v3: fixed colours in both themes, plus a quiet orbit on the right ---------- */
.ssl-ctacard{
  position:relative; overflow:hidden;
  background:#14494F!important; color:#FFF9F0!important;
  border:1px solid rgba(211,164,92,.22);
}
.ssl-ctacard h3, .ssl-ctacard h2{color:#FFF9F0!important}
.ssl-ctacard p{color:#CFE0DF!important}
.ssl-ctacard > *{position:relative; z-index:1}
.ssl-ctacard .wp-block-button__link{
  background:#D3A45C!important; color:#17201F!important; border-color:transparent!important;
}
.ssl-ctacard .wp-block-button__link:hover{background:#E3BF85!important; color:#17201F!important}

.ssl-ctacard::after{
  content:""; position:absolute; right:-46px; top:50%;
  width:228px; height:228px; margin-top:-114px; border-radius:999px;
  border:1px solid rgba(211,164,92,.30);
  box-shadow:0 0 0 30px rgba(211,164,92,.045), inset 0 0 0 30px rgba(211,164,92,.045);
  animation:sslCtaPulse 7s ease-in-out infinite;
  pointer-events:none; z-index:0;
}
.ssl-ctacard::before{
  content:""; position:absolute; right:68px; top:50%;
  width:10px; height:10px; margin:-5px -5px 0 0; border-radius:999px;
  background:#D3A45C; opacity:.8;
  animation:sslCtaOrbit 11s linear infinite;
  pointer-events:none; z-index:0;
}
@keyframes sslCtaPulse{0%,100%{transform:scale(1); opacity:.85} 50%{transform:scale(1.055); opacity:1}}
@keyframes sslCtaOrbit{from{transform:rotate(0deg) translateX(114px)} to{transform:rotate(360deg) translateX(114px)}}
@media (max-width:900px){.ssl-ctacard::before,.ssl-ctacard::after{display:none}}
@media (prefers-reduced-motion:reduce){.ssl-ctacard::before{display:none} .ssl-ctacard::after{animation:none}}

/* ---------- ssl-next-v2: six-second timer bar and the swap between posts ---------- */
.ssl-next__a{padding-bottom:18px}
.ssl-next__bar{
  position:absolute; left:12px; right:12px; bottom:8px; height:2px;
  border-radius:2px; background:var(--ssl-line); overflow:hidden; pointer-events:none;
}
.ssl-next__bar i{
  display:block; height:100%; width:100%; background:var(--ssl-brass);
  transform:scaleX(0); transform-origin:left center;
}
.ssl-next.is-run .ssl-next__bar i{animation:sslNextBar 6s linear forwards}
.ssl-next.is-hold .ssl-next__bar i{animation-play-state:paused}
@keyframes sslNextBar{from{transform:scaleX(0)} to{transform:scaleX(1)}}
.ssl-next__b, .ssl-next__img{transition:opacity .19s ease, transform .19s ease}
.ssl-next.is-swap .ssl-next__b, .ssl-next.is-swap .ssl-next__img{opacity:0; transform:translateY(6px)}
.ssl-next__img{background:var(--ssl-brass-soft)}
@media (max-width:781px){.ssl-next__bar{left:10px; right:10px; bottom:7px}}
@media (prefers-reduced-motion:reduce){
  .ssl-next__b,.ssl-next__img{transition:none}
  .ssl-next.is-run .ssl-next__bar i{animation:none; transform:scaleX(1)}
}

/* ---------- ssl-bandring-v1: the newsletter band's ring turns, very slowly ---------- */
.ssl-band::after{
  border:1px dashed rgba(211,164,92,.24);
  box-shadow:inset 0 0 0 1px rgba(250,248,244,.045), 0 0 0 26px rgba(211,164,92,.028);
  animation:sslBandRing 48s linear infinite;
  will-change:transform;
}
@keyframes sslBandRing{
  0%{transform:rotate(0deg) scale(1)}
  50%{transform:rotate(180deg) scale(1.035)}
  100%{transform:rotate(360deg) scale(1)}
}
@media (max-width:781px){.ssl-band::after{animation-duration:70s}}
@media (prefers-reduced-motion:reduce){.ssl-band::after{animation:none}}

/* ---------- ssl-calcnum-v1: the big calculator number reads clearly in both themes ---------- */
.ssl-calc-big span{color:var(--ssl-petrol)}
.ssl-calc-big span.is-warn{color:var(--ssl-brass)}
:root[data-theme="dark"] .ssl-calc-big span{color:#96DEE5}
:root[data-theme="dark"] .ssl-calc-big span.is-warn{color:#E9C489}
:root[data-theme="dark"] .ssl-calc-big small{color:#A9B6B1}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .ssl-calc-big span{color:#96DEE5}
  :root:not([data-theme="light"]) .ssl-calc-big span.is-warn{color:#E9C489}
  :root:not([data-theme="light"]) .ssl-calc-big small{color:#A9B6B1}
}

/* ---------- ssl-bandring-v2: the signal going out, once a week ---------- */
.ssl-band{
  overflow:hidden;
  background:
    radial-gradient(115% 150% at 86% 14%, rgba(124,201,208,.22) 0%, rgba(124,201,208,0) 58%),
    radial-gradient(95% 130% at 4% 96%, rgba(211,164,92,.15) 0%, rgba(211,164,92,0) 62%),
    var(--ssl-petrol);
}

/* the brass hairline along the top now carries a slow travelling light */
.ssl-band::before{
  height:2px;
  background:
    linear-gradient(90deg, rgba(255,246,226,0) 0%, rgba(255,246,226,.95) 50%, rgba(255,246,226,0) 100%),
    linear-gradient(90deg, var(--ssl-brass) 0%, var(--ssl-brass-lite) 30%, rgba(211,164,92,0) 74%);
  background-repeat:no-repeat, no-repeat;
  background-size:22% 100%, 100% 100%;
  background-position:-25% 0, 0 0;
  animation:sslBandBeam 7s cubic-bezier(.5,0,.5,1) infinite;
}
@keyframes sslBandBeam{
  0%{background-position:-25% 0, 0 0}
  55%,100%{background-position:125% 0, 0 0}
}

/* the static ring stays as texture, but quieter */
.ssl-band::after{
  border:1px dashed rgba(250,248,244,.10);
  box-shadow:none;
  animation:sslBandRing 60s linear infinite;
}

/* two rings radiate out of the signup box, four seconds apart */
.ssl-band__r{position:relative}
.ssl-band__r::before,
.ssl-band__r::after{
  content:""; position:absolute; left:50%; top:50%;
  width:380px; height:380px; margin:-190px 0 0 -190px;
  border-radius:50%; border:1.5px solid rgba(211,164,92,.55);
  opacity:0; z-index:-1; pointer-events:none; will-change:transform,opacity;
  animation:sslBandPing 8s cubic-bezier(.22,.7,.28,1) infinite;
}
.ssl-band__r::after{
  border-color:rgba(124,201,208,.5);
  animation-delay:4s;
}
@keyframes sslBandPing{
  0%{transform:scale(.40); opacity:0}
  9%{opacity:.9}
  62%{opacity:0}
  100%{transform:scale(1.32); opacity:0}
}
@media (max-width:781px){
  .ssl-band__r::before,.ssl-band__r::after{width:300px; height:300px; margin:-150px 0 0 -150px}
}
@media (prefers-reduced-motion:reduce){
  .ssl-band::before,.ssl-band::after,
  .ssl-band__r::before,.ssl-band__r::after{animation:none}
  .ssl-band__r::before{opacity:.35}
}

/* ---------- ssl-bandring-v3: the band keeps its dark petrol in both themes ---------- */
.ssl-band,
:root[data-theme="dark"] .ssl-band{
  background:
    radial-gradient(115% 150% at 86% 14%, rgba(124,201,208,.20) 0%, rgba(124,201,208,0) 58%),
    radial-gradient(95% 130% at 4% 96%, rgba(211,164,92,.14) 0%, rgba(211,164,92,0) 62%),
    #14494F !important;
  color:#FAF8F4;
}
.ssl-band h2, .ssl-band h3{color:#FFF9F0!important}
.ssl-band p{color:#C6DAD9!important}
.ssl-band .ssl-eyebrow, .ssl-band .ssl-band__eyebrow{color:#E3BF85!important}
.ssl-band .ssl-band-note{color:#93B1B0!important}
.ssl-band .wp-block-button__link{background:#D3A45C!important; color:#17201F!important}
.ssl-band .wp-block-button__link:hover{background:#E7C68F!important; color:#17201F!important}

/* the rings, a little stronger */
.ssl-band__r::before{border-color:rgba(227,191,133,.70)}
.ssl-band__r::after{border-color:rgba(150,222,229,.62)}
@keyframes sslBandPing{
  0%{transform:scale(.38); opacity:0}
  8%{opacity:1}
  60%{opacity:0}
  100%{transform:scale(1.34); opacity:0}
}

/* ---------- ssl-bandring-v4: the rings must never cross the copy ---------- */
@media (max-width:900px){
  .ssl-band__r::before,.ssl-band__r::after{display:none}
}

/* ===== ssl-search-v3 : overlay opens on html.ssl-search-open (the class the JS actually sets) ===== */
html.ssl-search-open .ssl-search__scrim{opacity:1}
html.ssl-search-open .ssl-search__panel{opacity:1; transform:none}

/* ===== ssl-author-v1 : author box under every post ===== */
.ssl-author{display:flex; gap:20px; align-items:flex-start; margin:3.2em auto 0; padding:24px 0 0; border-top:2px solid var(--ssl-ink); max-width:var(--ssl-measure)}
.ssl-author__img{width:88px; height:88px; flex:none; border-radius:50%; object-fit:cover; border:1px solid var(--ssl-line-2); margin:0}
.ssl-author__b{min-width:0}
.ssl-author__k{margin:0 0 5px; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ssl-brass)}
.ssl-author__n{margin:0 0 7px; font-family:"Fraunces",Georgia,serif; font-size:20px; font-weight:650; letter-spacing:-.015em; line-height:1.2; color:var(--ssl-ink)}
.ssl-author__t{margin:0; font-size:15.5px; line-height:1.66; color:var(--ssl-muted); max-width:none}
.ssl-author__t a{color:var(--ssl-petrol); text-underline-offset:3px}
@media (max-width:600px){
  .ssl-author{gap:15px; margin-top:2.6em}
  .ssl-author__img{width:64px; height:64px}
  .ssl-author__n{font-size:18px}
  .ssl-author__t{font-size:15px}
}

/* ===== ssl-upd-v1 : 'Updated' chip in the post meta strip ===== */
.ssl-upd{display:inline-flex; align-items:center; gap:8px; margin-left:12px; font-family:"Karla",sans-serif; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--ssl-brass); white-space:nowrap}
.ssl-upd::before{content:""; display:block; width:16px; height:1px; background:var(--ssl-line-2)}
@media (max-width:600px){ .ssl-upd{margin-left:0; margin-top:4px} .ssl-upd::before{display:none} }

/* ===== ssl-author-v2 : beat the .entry-content p colour rule, soften the rule in dark ===== */
.ssl-author{border-top:2px solid var(--ssl-line-2)}
.ssl-author .ssl-author__k{color:var(--ssl-brass)}
.ssl-author .ssl-author__n{color:var(--ssl-ink)}
.ssl-author .ssl-author__t{color:var(--ssl-muted)}
.ssl-author .ssl-author__t a{color:var(--ssl-petrol)}

/* ===== ssl-brass-v2 : light-mode brass darkened to pass WCAG AA on paper =====
   #9C6F26 on #FAF8F4 was 4.20:1 - a fail for the 11px uppercase eyebrows that use it
   all over the site. #916722 is 4.75:1 and visually the same family.
   Dark mode is untouched: :root[data-theme="dark"] is more specific and still wins. */
:root{--ssl-brass:#916722}

/* ===== ssl-darkfix-v1 : two unreadable controls in dark mode =====
   1. Cookie card 'Accept' is filled with var(--ssl-petrol), which becomes LIGHT
      cyan in dark. White text on it measured 1.89:1 - invisible.
   2. 'Leave a comment' had a hard-coded black, measured 1.23:1 on the dark card. */
:root[data-theme="dark"] .ssl-consent__btn--y{color:#0E1513}
.ssl-comments__toggle{color:var(--ssl-ink)}

/* ===== ssl-author-v3 : editorial signature, not a widget =====
   Drops the generic card it inherited from .entry-content aside. A hairline with a
   short brass segment at its left end, a double-ring portrait, tighter type.
   Same footprint, quieter and more deliberate. */
.entry-content .ssl-author{
  background:none; border:0; border-top:1px solid var(--ssl-line); border-radius:0;
  padding:26px 0 0; margin:3.4em auto 0; gap:22px; position:relative; box-shadow:none;
}
.entry-content .ssl-author::before{
  content:""; position:absolute; top:-1px; left:0; width:44px; height:2px;
  background:var(--ssl-brass);
}
.entry-content .ssl-author__img{
  width:74px; height:74px; border:0; border-radius:50%; margin:2px 4px 0 0;
  box-shadow:0 0 0 3px var(--ssl-paper), 0 0 0 4px var(--ssl-line-2);
}
.entry-content .ssl-author__k{font-size:10.5px; letter-spacing:.2em; margin-bottom:7px}
.entry-content .ssl-author__n{font-size:19px; font-weight:650; margin-bottom:9px}
.entry-content .ssl-author__t{font-size:15px; line-height:1.72; max-width:58ch}
@media (max-width:600px){
  .entry-content .ssl-author{gap:16px; padding-top:22px; margin-top:2.8em}
  .entry-content .ssl-author__img{width:58px; height:58px; box-shadow:0 0 0 2px var(--ssl-paper), 0 0 0 3px var(--ssl-line-2)}
  .entry-content .ssl-author__n{font-size:17.5px}
  .entry-content .ssl-author__t{font-size:14.5px}
}

/* ===== ssl-authsoc-v1 : author social links, real brand marks ===== */
.entry-content .ssl-author__s{display:flex; flex-wrap:wrap; gap:9px; align-items:center; margin:14px 0 0; padding:0; list-style:none; max-width:none}
.entry-content .ssl-author__s li{margin:0; padding:0; max-width:none}
.entry-content .ssl-author__s li::marker{content:""}
.entry-content .ssl-author__s a{display:inline-flex; width:30px; height:30px; align-items:center; justify-content:center; border-radius:50%; border:1px solid var(--ssl-line); background:none; transition:border-color .16s ease, transform .16s ease}
.entry-content .ssl-author__s a:hover{border-color:var(--ssl-line-2); transform:translateY(-1px)}
.entry-content .ssl-author__s svg{width:16px; height:16px; display:block}
.entry-content .ssl-author__s path{fill:currentColor}
.entry-content .ssl-author__s .is-yt a{color:#FF0000}
.entry-content .ssl-author__s .is-fb a{color:#1877F2}
.entry-content .ssl-author__s .is-x a{color:#17201F}
:root[data-theme="dark"] .entry-content .ssl-author__s .is-x a{color:#E9EDEA}
.entry-content .ssl-author__s .is-pin a{color:#E60023}
.entry-content .ssl-author__s .is-ig path{fill:url(#sslIg)}
@media (max-width:600px){ .entry-content .ssl-author__s{gap:8px} .entry-content .ssl-author__s a{width:28px; height:28px} }

/* ===== ssl-social-v2 : footer follow row, real brand marks on the ink footer ===== */
.ssl-social{display:block}
.ssl-social__row{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:10px}
.ssl-social__i{display:inline-flex; width:34px; height:34px; align-items:center; justify-content:center; border-radius:50%; border:1px solid rgba(250,248,244,.22); background:rgba(250,248,244,.05); transition:border-color .16s ease, background .16s ease, transform .16s ease}
.ssl-social__i:hover{border-color:rgba(250,248,244,.45); background:rgba(250,248,244,.1); transform:translateY(-1px)}
.ssl-social__i svg{width:17px; height:17px; display:block; stroke:none}
.ssl-social__i path{fill:currentColor}
.ssl-social__i.is-yt{color:#FF3D3D}
.ssl-social__i.is-fb{color:#4C9BFF}
.ssl-social__i.is-x{color:#FAF8F4}
.ssl-social__i.is-pin{color:#FF3B57}
.ssl-social__i.is-ig path{fill:url(#sslIgF)}

/* ssl-refine-v1 - search results page, refine field */
.ssl-refine{display:flex;gap:10px;margin:22px 0 42px;max-width:520px}
.ssl-refine .screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ssl-refine__i{flex:1 1 auto;min-width:0;font-family:var(--ssl-sans);font-size:15px;line-height:1.4;padding:12px 15px;border:1px solid var(--ssl-line);border-radius:10px;background:var(--ssl-surface);color:var(--ssl-ink);-webkit-appearance:none;appearance:none}
.ssl-refine__i::placeholder{color:var(--ssl-muted);opacity:1}
.ssl-refine__i:focus-visible{outline:2px solid var(--ssl-brass);outline-offset:2px;border-color:transparent}
.ssl-refine__b{flex:0 0 auto;font-family:var(--ssl-sans);font-size:14px;font-weight:600;padding:12px 20px;border:0;border-radius:10px;background:var(--ssl-petrol);color:#FFF9F0;cursor:pointer;transition:filter .18s ease}
.ssl-refine__b:hover{filter:brightness(1.1)}
.ssl-refine__b:focus-visible{outline:2px solid var(--ssl-brass);outline-offset:2px}
:root[data-theme="dark"] .ssl-refine__b{color:#0E1513}
@media (max-width:520px){.ssl-refine{gap:8px}.ssl-refine__b{padding:12px 14px}}

/* ssl-footbg-v1 - layered footer gradient plus one slow aurora */
.wp-site-blocks > footer, footer.wp-block-template-part{position:relative; overflow:hidden; isolation:isolate; background:radial-gradient(115% 130% at 10% -10%, #22322F 0%, rgba(34,50,47,0) 55%), radial-gradient(95% 120% at 92% 0%, #163940 0%, rgba(22,57,64,0) 52%), linear-gradient(178deg, #18221F 0%, #0F1716 62%, #0C1211 100%)}
:root[data-theme="dark"] .wp-site-blocks > footer, :root[data-theme="dark"] footer.wp-block-template-part{background:radial-gradient(115% 130% at 10% -10%, #16211F 0%, rgba(22,33,31,0) 55%), radial-gradient(95% 120% at 92% 0%, #0E262B 0%, rgba(14,38,43,0) 52%), linear-gradient(178deg, #0C1211 0%, #080D0C 100%)}
.wp-site-blocks > footer::before, footer.wp-block-template-part::before{content:""; position:absolute; left:0; right:0; top:0; height:1px; z-index:2; pointer-events:none; background:linear-gradient(90deg, rgba(211,164,92,0) 0%, rgba(211,164,92,.5) 26%, rgba(211,164,92,.85) 50%, rgba(211,164,92,.5) 74%, rgba(211,164,92,0) 100%)}
.wp-site-blocks > footer::after, footer.wp-block-template-part::after{content:""; position:absolute; z-index:-1; pointer-events:none; top:-40%; left:50%; width:min(920px, 78vw); aspect-ratio:1 / 1; border-radius:50%; background:radial-gradient(circle, rgba(124,201,208,.15) 0%, rgba(124,201,208,.06) 42%, rgba(124,201,208,0) 68%); animation:sslFootAurora 38s ease-in-out infinite alternate; will-change:transform}
@keyframes sslFootAurora{0%{transform:translate(-86%,0) scale(1)} 50%{transform:translate(-50%,4%) scale(1.08)} 100%{transform:translate(-14%,0) scale(1)}}
@media (prefers-reduced-motion:reduce){.wp-site-blocks > footer::after, footer.wp-block-template-part::after{animation:none; transform:translate(-50%,0)}}
@media (max-width:700px){.wp-site-blocks > footer::after, footer.wp-block-template-part::after{width:126vw; top:-26%}}

/* ssl-foot-v5 - first column boxed to the Topics column width */
.ssl-foot-top > .wp-block-column:first-child > *{max-width:290px}
.ssl-foot-logo{margin:0 0 11px!important}
.ssl-foot-logo img{width:190px!important; max-width:190px!important}
.ssl-foot-blurb{font-size:12px!important; line-height:1.6!important; max-width:290px!important; margin:0 0 13px!important}
.ssl-foot-mail{font-size:12.5px!important; margin:0!important}
.ssl-foot-mail a{font-size:12.5px!important}
.ssl-social{margin-top:16px!important}
.ssl-social__t{font-size:10px!important; letter-spacing:.15em!important; margin:0 0 9px!important}
.ssl-social__row{gap:8px!important; margin-top:8px!important; flex-wrap:nowrap!important}
.ssl-social__i{width:28px!important; height:28px!important}
.ssl-social__i svg{width:14px!important; height:14px!important}
@media (max-width:900px){.ssl-foot-top > .wp-block-column:first-child > *{max-width:none} .ssl-foot-blurb{max-width:34ch!important}}

/* ssl-gap-v1 - close the space under the header on posts */
body.single-post .wp-site-blocks > main{margin-block-start:0}

/* ssl-tocw-v1 - contents menu reads at a confident weight */
.ssl-toc__l a{font-weight:560}
.ssl-toc__l a.is-on{font-weight:680}

/* ssl-footbg-v2 - supersedes v1. v1 put position+overflow+isolation on the FOOTER
   ELEMENT, but that element also holds four position:fixed overlays (cookie card,
   back-to-top, search overlay, newsletter popup). The stacking context trapped them
   inside the footer, below the sticky header. The context now lives on the inner
   group instead, so the overlays stay in the root stacking context. */
.wp-site-blocks > footer, footer.wp-block-template-part{overflow:visible; isolation:auto}
.wp-site-blocks > footer::before, footer.wp-block-template-part::before{z-index:auto}
.wp-site-blocks > footer::after, footer.wp-block-template-part::after{content:none; animation:none}
footer.wp-block-template-part > .wp-block-group{position:relative; overflow:hidden; isolation:isolate}
footer.wp-block-template-part > .wp-block-group::after{content:""; position:absolute; z-index:-1; pointer-events:none; top:-46%; left:50%; width:min(920px, 78vw); aspect-ratio:1 / 1; border-radius:50%; background:radial-gradient(circle, rgba(124,201,208,.15) 0%, rgba(124,201,208,.06) 42%, rgba(124,201,208,0) 68%); animation:sslFootAurora 38s ease-in-out infinite alternate; will-change:transform}
@media (prefers-reduced-motion:reduce){footer.wp-block-template-part > .wp-block-group::after{animation:none; transform:translate(-50%,0)}}
@media (max-width:700px){footer.wp-block-template-part > .wp-block-group::after{width:126vw; top:-24%}}

/* ssl-footbg-v3 - the v2 glow was a 920px circle whose bright centre sat below the
   footer band, so almost none of it showed. Now a wide ellipse centred in the band. */
footer.wp-block-template-part > .wp-block-group::after{top:50%; left:50%; width:min(1180px, 96vw); height:min(560px, 190%); aspect-ratio:auto; border-radius:50%; background:radial-gradient(ellipse at center, rgba(124,201,208,.30) 0%, rgba(124,201,208,.14) 38%, rgba(124,201,208,.05) 62%, rgba(124,201,208,0) 78%)}
@keyframes sslFootAurora{0%{transform:translate(-88%,-50%) scale(1)} 50%{transform:translate(-50%,-46%) scale(1.06)} 100%{transform:translate(-12%,-50%) scale(1)}}
@media (prefers-reduced-motion:reduce){footer.wp-block-template-part > .wp-block-group::after{animation:none; transform:translate(-50%,-50%)}}
@media (max-width:700px){footer.wp-block-template-part > .wp-block-group::after{width:150vw; height:70%; top:34%}}

/* ssl-footbg-v4 - v3 banded: a many-stop radial at low alpha over a dark ground
   renders as visible rings on 8-bit displays. A flat colour plus a large blur has
   no stops to band, so it stays perfectly smooth. One wide, slow band of light. */
footer.wp-block-template-part > .wp-block-group::after{top:52%; left:50%; width:min(860px, 70vw); height:150px; border-radius:50%; background:rgba(124,201,208,.16); background-image:none; filter:blur(80px); animation:sslFootSheen 44s ease-in-out infinite alternate}
@keyframes sslFootSheen{0%{transform:translate(-82%,-50%) scaleX(1)} 100%{transform:translate(-18%,-50%) scaleX(1.15)}}
:root[data-theme="dark"] footer.wp-block-template-part > .wp-block-group::after{background:rgba(124,201,208,.13)}
@media (prefers-reduced-motion:reduce){footer.wp-block-template-part > .wp-block-group::after{animation:none; transform:translate(-50%,-50%)}}
@media (max-width:700px){footer.wp-block-template-part > .wp-block-group::after{width:120vw; height:120px; top:46%; filter:blur(60px)}}

/* ssl-footlogo-v1 - ssl-foot-v5 pinned the footer logo to 190px with !important,
   which also overrode the deliberate 132/168px mobile sizes. Restore a smaller
   mark on phones. (Named -footlogo- because ssl-foot-v6 was already taken by an
   older block; check the sheet for the name before choosing one.) */
@media (max-width:600px){.ssl-foot-logo img{width:162px!important; max-width:162px!important}}
@media (max-width:400px){.ssl-foot-logo img{width:144px!important; max-width:144px!important} .ssl-social__row{gap:7px!important}}

/* ssl-footglow-v1 - v4 was invisible for a arithmetic reason, not a CSS one: an
   80px Gaussian on a shape only 150px tall spreads the colour until its peak alpha
   is about a fifth of what was written. Blur radius must stay well under the
   shape height. Bigger shape, smaller blur, stronger colour. */
footer.wp-block-template-part > .wp-block-group::after{top:50%; left:50%; width:min(1020px, 80vw); height:260px; border-radius:50%; background:rgba(124,201,208,.34); background-image:none; filter:blur(54px); animation:sslFootSheen 44s ease-in-out infinite alternate}
:root[data-theme="dark"] footer.wp-block-template-part > .wp-block-group::after{background:rgba(124,201,208,.28)}
@media (prefers-reduced-motion:reduce){footer.wp-block-template-part > .wp-block-group::after{animation:none; transform:translate(-50%,-50%)}}
@media (max-width:700px){footer.wp-block-template-part > .wp-block-group::after{width:130vw; height:200px; top:42%; filter:blur(44px)}}

/* ssl-footglow-off-v1 - Alok asked for the drifting light to go; the layered
   gradient and the brass hairline stay. This also returns the inner footer group
   to a plain box: position/overflow/isolation existed only to host the glow. */
footer.wp-block-template-part > .wp-block-group{position:static; overflow:visible; isolation:auto}
footer.wp-block-template-part > .wp-block-group::after{content:none; animation:none; filter:none; background:none}

/* ssl-peek-v1 — hover link previews (desktop only) */
.ssl-peek{position:fixed;z-index:300;width:320px;max-width:calc(100vw - 24px);opacity:0;transform:translateY(5px);transition:opacity .17s ease,transform .17s ease;pointer-events:auto;will-change:opacity,transform}
.ssl-peek.is-up{transform:translateY(-5px)}
.ssl-peek.is-in{opacity:1;transform:none}
.ssl-peek__in{display:block;background:var(--ssl-surface);color:var(--ssl-ink);border:1px solid var(--ssl-line);border-radius:10px;overflow:hidden;box-shadow:0 14px 34px rgba(23,32,31,.16),0 1px 0 rgba(23,32,31,.05);text-decoration:none!important;color:inherit!important}
.ssl-peek__in:hover{text-decoration:none!important}
.ssl-peek__media{display:block;aspect-ratio:16/9;background:var(--ssl-brass-soft);border-bottom:1px solid var(--ssl-line)}
.ssl-peek__media img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0;margin:0}
.ssl-peek__body{display:block;padding:13px 16px 15px}
.ssl-peek__cat{display:block;font-family:var(--ssl-sans);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ssl-brass);margin:0 0 6px;line-height:1.2}
.ssl-peek__t{display:block;font-family:var(--ssl-serif);font-weight:600;font-size:17px;line-height:1.25;letter-spacing:-.01em;color:var(--ssl-ink);margin:0 0 6px;text-wrap:balance}
.ssl-peek__d{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-family:var(--ssl-sans);font-size:14px;line-height:1.5;color:var(--ssl-muted)}
:root[data-theme="dark"] .ssl-peek__in{box-shadow:0 16px 38px rgba(0,0,0,.55),0 1px 0 rgba(255,255,255,.04)}
@media (hover:none),(max-width:899px){.ssl-peek{display:none!important}}
@media (prefers-reduced-motion:reduce){.ssl-peek{transition:none}}

/* ssl-peek-v2 */
.ssl-peek:not(.is-in){pointer-events:none}

/* ssl-peek-v3 — smaller card */
.ssl-peek{width:268px}
.ssl-peek__body{padding:11px 13px 12px}
.ssl-peek__cat{font-size:9.5px;letter-spacing:.11em;margin:0 0 5px}
.ssl-peek__t{font-size:15.5px;line-height:1.22;margin:0 0 5px}
.ssl-peek__d{font-size:12.5px;line-height:1.45;-webkit-line-clamp:2}

/* ssl-peek-v4 — bounded height: clamp the title, so the card can never outgrow the viewport */
.ssl-peek__t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ssl-peek__in{max-height:calc(100vh - 24px);overflow:hidden}

/* ssl-footsocial-v1 */
.ssl-footsocial{display:flex;gap:8px;margin-top:10px}
.ssl-footsocial a{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--ssl-line-2);background:var(--ssl-surface);transition:border-color .15s ease}
.ssl-footsocial a:hover{border-color:var(--ssl-brass)}
.ssl-footsocial-pin svg{fill:#E60023;width:14px;height:14px;display:block}
.ssl-footsocial-x svg{fill:#17201F;width:13px;height:13px;display:block}
:root[data-theme="dark"] .ssl-footsocial a{border-color:#3A443F;background:#1B2422}
:root[data-theme="dark"] .ssl-footsocial-x svg{fill:#FFFFFF}

/* ssl-vbadge-v1 */
.ssl-vbadge{display:inline-block;width:1.24em;height:1.24em;margin-left:.22em;vertical-align:-.24em;position:relative;cursor:help;flex:none;background-repeat:no-repeat;background-position:center;background-size:86%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cdefs%3E%3ClinearGradient id='b' x1='.28' y1='0' x2='.72' y2='1'%3E%3Cstop offset='0' stop-color='%235FBAF8'/%3E%3Cstop offset='.5' stop-color='%231D9BF0'/%3E%3Cstop offset='1' stop-color='%230C7CCF'/%3E%3C/linearGradient%3E%3ClinearGradient id='h' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23FFFFFF' stop-opacity='.26'/%3E%3Cstop offset='1' stop-color='%23FFFFFF' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='16' cy='16' r='15.2' fill='url(%23b)'/%3E%3Cellipse cx='16' cy='9.2' rx='9.8' ry='5.5' fill='url(%23h)'/%3E%3Cpath d='M9.7 16.7l4.2 4.2 8.6-9.1' fill='none' stroke='%23FFFFFF' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");transition:background-size .16s cubic-bezier(.2,.7,.3,1)}
.ssl-vbadge:hover,.ssl-vbadge:focus-visible{background-size:97%}
.ssl-vbadge:focus-visible{outline:2px solid #916722;outline-offset:3px;border-radius:50%}
.ssl-vbadge::after{content:"Verified author";white-space:pre-line;width:max-content;max-width:175px;position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(4px);background:#17201F;color:#FAF8F4;font-family:"Karla",system-ui,sans-serif;font-size:12.5px;font-weight:450;line-height:1.5;letter-spacing:0;text-align:center;text-transform:none;padding:8px 12px;border-radius:9px;box-shadow:0 8px 22px rgba(0,0,0,.24);opacity:0;visibility:hidden;transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:120;pointer-events:none}
.ssl-vbadge::before{content:"";position:absolute;left:50%;bottom:calc(100% - 2px);transform:translateX(-50%) translateY(4px);border:6px solid transparent;border-top-color:#17201F;opacity:0;visibility:hidden;transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:121;pointer-events:none}
.ssl-vbadge:hover::after,.ssl-vbadge:focus-visible::after{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.ssl-vbadge:hover::before,.ssl-vbadge:focus-visible::before{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
:root[data-theme="dark"] .ssl-vbadge::after{background:#E9E4DA;color:#17201F;box-shadow:0 8px 22px rgba(0,0,0,.5)}
:root[data-theme="dark"] .ssl-vbadge::before{border-top-color:#E9E4DA}

/* ssl-mshare-v4 */
@media (max-width:1199px){body.single .ssl-share__mail,body.single .ssl-share__print{display:none}}

/* ssl-mhdr-v1 */
@media (max-width:900px){
header .wp-block-group.is-content-justification-space-between > .wp-block-group.is-content-justification-right{display:contents}
header .wp-block-group.is-content-justification-space-between{align-items:center;justify-content:flex-start;gap:10px}
header nav.wp-block-navigation{order:-1;display:flex;align-items:center}
header .wp-block-site-logo{order:0;margin-right:auto;display:flex;align-items:center}
header .ssl-icons{order:1;display:inline-flex;align-items:center;gap:8px}
header .wp-block-buttons{order:2;display:flex;align-items:center;margin:0}
}

/* ssl-footcol-v1 */
@media (max-width:781px){
.ssl-foot-top{column-gap:40px!important}
.ssl-foot-top > .wp-block-column:nth-child(2),.ssl-foot-top > .wp-block-column:nth-child(3){flex-basis:calc(50% - 20px)!important;flex-grow:0;flex-shrink:1;min-width:0;box-sizing:border-box;overflow-wrap:break-word}
.ssl-foot-top > .wp-block-column:nth-child(3){padding-left:0}
.ssl-foot-top > .wp-block-column:nth-child(1),.ssl-foot-top > .wp-block-column:nth-child(4){flex-basis:100%!important;flex-grow:1}
}

/* ssl-mhdr-v2 */
@media (max-width:900px){
.wp-block-navigation__responsive-container-open{position:relative;width:24px;height:24px;padding:0;align-items:center;justify-content:center}
.wp-block-navigation__responsive-container-open svg{display:none}
.wp-block-navigation__responsive-container-open::before{content:"";position:absolute;left:1px;top:6px;width:22px;height:2px;border-radius:2px;background:currentColor;box-shadow:0 5px 0 currentColor,0 10px 0 currentColor}
}


/* ssl-sharez-v1 — desktop share rail sits inside the sticky sidebar, where an
   earlier rule set position:static. That silently killed its z-index:120, so the
   share dropdown painted UNDER the position:relative TOC links, and the copy toast
   anchored to .ssl-side instead of the buttons. Restore positioning, neutralise the
   old fixed-rail offsets, and widen the menu so it covers the TOC column. */
@media (min-width:1200px){
body.single .ssl-side .ssl-share{position:relative;top:auto;left:auto;right:auto;bottom:auto;z-index:120}
body.single .ssl-side .ssl-share__menu{min-width:262px}
}


/* ssl-pager-v1 — query pagination on /blog/, archives, categories and search.
   Core ships bare underlined links. This makes each number a 46px hairline chip,
   the current page a filled petrol tile (pinned, and flipped to #7CC9D0 in dark
   mode per rule 11), and prev/next uppercase pills with an arrow. No transform,
   no shadow, no extra request. */
.wp-block-query-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-block-start:64px;padding-block-start:30px;border-top:1px solid var(--ssl-line)}
.wp-block-query-pagination>.wp-block-query-pagination-numbers{display:flex;align-items:center;gap:6px;margin:0}
.wp-block-query-pagination .page-numbers,.wp-block-query-pagination-previous,.wp-block-query-pagination-next{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:0 15px;box-sizing:border-box;border:1px solid var(--ssl-line-2);border-radius:13px;font-size:15px;font-weight:600;line-height:1;letter-spacing:.01em;color:var(--ssl-ink);text-decoration:none!important;background:transparent;transition:background-color .16s ease,border-color .16s ease,color .16s ease}
.wp-block-query-pagination-previous,.wp-block-query-pagination-next{font-size:13px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;padding:0 18px}
.wp-block-query-pagination-next::after{content:"\2192";margin-left:10px;font-size:17px;line-height:1;font-weight:400}
.wp-block-query-pagination-previous::before{content:"\2190";margin-right:10px;font-size:17px;line-height:1;font-weight:400}
.wp-block-query-pagination .page-numbers:hover,.wp-block-query-pagination-previous:hover,.wp-block-query-pagination-next:hover{background:var(--ssl-brass-soft);border-color:var(--ssl-brass-lite);color:#14494F}
.wp-block-query-pagination .page-numbers.current{background:#14494F;border-color:#14494F;color:#FAF8F4;cursor:default}
.wp-block-query-pagination .page-numbers.dots{border-color:transparent;background:none;min-width:26px;padding:0;letter-spacing:.14em;color:var(--ssl-muted)}
.wp-block-query-pagination .page-numbers.dots:hover{background:none;border-color:transparent;color:var(--ssl-muted)}
:root[data-theme="dark"] .wp-block-query-pagination .page-numbers.current{background:#7CC9D0;border-color:#7CC9D0;color:#0E1714}
:root[data-theme="dark"] .wp-block-query-pagination .page-numbers:hover,:root[data-theme="dark"] .wp-block-query-pagination-previous:hover,:root[data-theme="dark"] .wp-block-query-pagination-next:hover{background:rgba(255,255,255,.07);border-color:var(--ssl-brass-lite);color:var(--ssl-brass-lite)}
@media (max-width:600px){.wp-block-query-pagination{gap:8px;margin-block-start:48px}.wp-block-query-pagination .page-numbers,.wp-block-query-pagination-previous,.wp-block-query-pagination-next{min-width:42px;height:42px;padding:0 12px;font-size:14px}.wp-block-query-pagination-previous,.wp-block-query-pagination-next{font-size:12px;padding:0 14px}}


/* ssl-bycat-v2 — the home page archive ("Every post, by topic"). v1 was a plain
   list. v2 adds: a brass count chip and a 48px brass accent on each category rule,
   CSS-counter 01/02 numerals in brass (the same numbering language as the post
   contents menu), hairline row dividers, tabular dates, and a tinted hover row with
   the title flipping to petrol. Dark mode overrides the cream hover and the chip,
   per rule 11. No transform, no shadow, no extra request. */
.ssl-bycat{gap:44px 54px}
.ssl-bycat__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--ssl-line);position:relative}
.ssl-bycat__head::after{content:"";position:absolute;left:0;bottom:-1px;width:48px;height:2px;background:var(--ssl-brass);border-radius:2px}
.ssl-bycat__h{margin:0;line-height:1.2}
.ssl-bycat__head>p{margin:0;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ssl-brass);background:var(--ssl-brass-soft);border-radius:999px;padding:4px 10px;white-space:nowrap}
.ssl-bycat__l{counter-reset:sslbc;margin:14px 0 0;padding:0;list-style:none}
.ssl-bycat__l li{counter-increment:sslbc;margin:0}
.ssl-bycat__l li+li{border-top:1px solid color-mix(in srgb,var(--ssl-line) 60%,transparent)}
.ssl-bycat__l a{display:flex;align-items:baseline;justify-content:flex-start;gap:14px;padding:11px 10px;border-radius:10px;text-decoration:none;transition:background-color .16s ease,color .16s ease}
.ssl-bycat__l a::before{content:counter(sslbc,decimal-leading-zero);flex:0 0 auto;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--ssl-brass);font-variant-numeric:tabular-nums;transform:none;opacity:.9}
.ssl-bycat__t{margin-right:auto;line-height:1.34;transition:color .16s ease}
.ssl-bycat__d{flex:0 0 auto;font-size:12.5px;color:var(--ssl-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.ssl-bycat__l a:hover{background:var(--ssl-brass-soft)}
.ssl-bycat__l a:hover .ssl-bycat__t{color:#14494F}
.ssl-bycat__l a:hover::before{opacity:1}
.ssl-bycat__l a:focus-visible{outline:2px solid var(--ssl-brass);outline-offset:2px}
:root[data-theme="dark"] .ssl-bycat__head>p{background:rgba(211,164,92,.14);color:var(--ssl-brass-lite)}
:root[data-theme="dark"] .ssl-bycat__l a:hover{background:rgba(255,255,255,.055)}
:root[data-theme="dark"] .ssl-bycat__l a:hover .ssl-bycat__t{color:#7CC9D0}
:root[data-theme="dark"] .ssl-bycat__l a::before{color:var(--ssl-brass-lite)}
@media (max-width:781px){.ssl-bycat{gap:34px 0}.ssl-bycat__l a{padding:10px 8px;gap:11px}.ssl-bycat__d{font-size:11.5px}}

:root :where(.wp-block-columns-is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.wp-block-columns-is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.wp-block-columns-is-layout-flow) > *{margin-block-start: var(--wp--preset--spacing--50);margin-block-end: 0;}:root :where(.wp-block-columns-is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.wp-block-columns-is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.wp-block-columns-is-layout-constrained) > *{margin-block-start: var(--wp--preset--spacing--50);margin-block-end: 0;}:root :where(.wp-block-columns-is-layout-flex){gap: var(--wp--preset--spacing--50);}:root :where(.wp-block-columns-is-layout-grid){gap: var(--wp--preset--spacing--50);}
:root :where(.wp-block-buttons-is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.wp-block-buttons-is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.wp-block-buttons-is-layout-flow) > *{margin-block-start: 16px;margin-block-end: 0;}:root :where(.wp-block-buttons-is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.wp-block-buttons-is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.wp-block-buttons-is-layout-constrained) > *{margin-block-start: 16px;margin-block-end: 0;}:root :where(.wp-block-buttons-is-layout-flex){gap: 16px;}:root :where(.wp-block-buttons-is-layout-grid){gap: 16px;}
:root :where(.wp-block-post-title a:where(:not(.wp-element-button))){text-decoration: none;}
:root :where(.wp-block-post-title a:where(:not(.wp-element-button)):hover){text-decoration: underline;}
:root :where(.wp-block-navigation){font-size: var(--wp--preset--font-size--medium);}
:root :where(.wp-block-navigation a:where(:not(.wp-element-button))){text-decoration: none;}
:root :where(.wp-block-navigation a:where(:not(.wp-element-button)):hover){text-decoration: underline;}
:root :where(.wp-block-list li){margin-top: 0.5rem;}