
			@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght,SOFT,WONK@0,9..144,300..700,0..100,0..1;1,9..144,300..700,0..100,0..1&family=Newsreader:ital,opsz,wght@0,6..72,300..600;1,6..72,300..500&family=JetBrains+Mono:wght@400;500&display=swap');

/* EMBRACE INNER CHAOS — house design system. @import MUST stay line 1.
   Pine is the only ink (6.66 on paper, 6.45 on blush); olive/mist/fog/slate
   are grounds and rules only. Sizes in px, not rem.
   Long selector lists are SPECIFICITY PADDING, not repetition — shortening
   them breaks rules that must outrank the theme. Marked KEEP where critical. */

:root{
  --olive:#9FAA96;   /* page ground, margins, rules  */
  --pine:#3E5C5C;    /* THE ONLY INK                 */
  --slate:#6C767E;   /* hairlines only, never text   */
  --fog:#B2BBC2;     /* input borders, table rules   */
  --mist:#C5CCD2;    /* recessed wells               */
  --paper:#F4F5F6;   /* the sheet, header, cards     */
  --blush:#F5F0F3;   /* inputs, quotes, footer       */
}

/* === RESET & BASE === */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth!important;overflow-y:auto!important}
body{
  margin:0!important;padding:0!important;background:var(--olive)!important;
  font-family:'Newsreader',Georgia,serif!important;color:var(--pine)!important;
  font-size:19px!important;line-height:1.72!important;font-optical-sizing:auto!important;
  -webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;
  overflow-x:hidden!important;overflow-y:auto!important;
}
#root,.site,.site-content,main,article,.main-content{
  background:transparent!important;max-width:100%!important;padding:0!important;
  margin:0 auto!important;float:none!important;
}
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--pine)!important;outline-offset:2px!important;
}

/* === HEADER === */
.site-header,header.site-header,.header-wrapper{
  position:sticky!important;top:0!important;z-index:1000!important;
  background:var(--paper)!important;width:100%!important;
  border-bottom:1px solid var(--slate)!important;
  padding:0!important;margin:0!important;box-shadow:none!important;
}
.site-header-container,.site-header>.container,.site-header>.row,
.site-header>div:first-child,.header-inner,.header-content{
  max-width:1200px!important;margin:0 auto!important;padding:16px 24px!important;
  display:flex!important;align-items:center!important;
  justify-content:space-between!important;gap:32px!important;width:100%!important;
  background:transparent!important;border:none!important;
}
.logo_wrapper,.site-branding,.custom-logo-link{
  flex-shrink:0!important;margin:0!important;padding:0!important;order:1!important;
  display:block!important;visibility:visible!important;opacity:1!important;
}
.logo_wrapper a,.site-branding a,.custom-logo-link{
  display:block!important;visibility:visible!important;opacity:1!important;
  pointer-events:auto!important;cursor:pointer!important;
}
.site_logo,.site_logo img,.site_logo_image,img.site_logo_image,
.custom-logo,.site-logo img{
  max-width:180px!important;max-height:50px!important;height:auto!important;
  width:auto!important;display:block!important;visibility:visible!important;
  opacity:1!important;object-fit:contain!important;
}

/* === NAVIGATION === */
.top_menu_wrapper,.main-navigation,.primary-navigation,nav.main-menu{
  display:flex!important;align-items:center!important;justify-content:center!important;
  flex:1!important;order:2!important;margin:0!important;padding:0!important;
}
.site-header .top_menu_wrapper ul,.site-header .top_menu_wrapper nav,
.site-header .main-menu,.site-header .primary-menu,.site-header .nav-menu,
.site-header .menu,header .top_menu_wrapper ul,header .main-menu,
header .primary-menu,header .nav-menu,header .menu,
.header-inner .menu,.header-wrapper .menu{
  display:flex!important;align-items:center!important;justify-content:center!important;
  flex-wrap:nowrap!important;gap:28px!important;list-style:none!important;
  margin:0!important;padding:0!important;
}
.site-header .top_menu_wrapper li,.site-header .main-menu>li,
.site-header .primary-menu>li,.site-header .nav-menu>li,.site-header .menu>li,
.site-header .menu-item,header .top_menu_wrapper li,header .menu>li,
header .menu-item{
  margin:0!important;padding:0!important;list-style:none!important;
  position:relative!important;
}
.site-header .top_menu_wrapper>ul>li,.site-header .main-menu>li,
.site-header .primary-menu>li,.site-header .nav-menu>li,.site-header .menu>li,
.site-header .menu-item-has-children,header .top_menu_wrapper>ul>li,
header .menu>li,header .menu-item-has-children{
  padding-bottom:12px!important;margin-bottom:-12px!important;
}
.site-header .top_menu_wrapper a,.site-header .main-menu a,
.site-header .primary-menu a,.site-header .nav-menu a,.site-header .menu a,
.site-header .menu-item a,.site-header .mega-menu-link,
header .top_menu_wrapper a,header .menu a,header .menu-item a,
header .mega-menu-link{
  display:inline-block!important;padding:0!important;background:transparent!important;
  color:var(--pine)!important;font-size:15px!important;font-weight:400!important;
  font-family:'Newsreader',Georgia,serif!important;text-decoration:none!important;
  border:none!important;box-shadow:none!important;white-space:nowrap!important;
  line-height:1.2!important;border-bottom:2px solid transparent!important;
  transition:border-color 180ms ease!important;
}
/* Hover = olive rule, not a colour change: no other palette value is legible. */
.site-header .top_menu_wrapper a:hover,.site-header .main-menu a:hover,
.site-header .primary-menu a:hover,.site-header .nav-menu a:hover,
.site-header .menu a:hover,.site-header .menu-item a:hover,
header .menu a:hover,header .menu-item a:hover{
  background:transparent!important;color:var(--pine)!important;
  border-bottom-color:var(--olive)!important;transform:none!important;
  box-shadow:none!important;text-decoration:none!important;
}

/* Dropdowns — elevation by border, not shadow */
.top_menu_wrapper li ul,.top_menu_wrapper .sub-menu,.main-menu .sub-menu,
.primary-menu .sub-menu,.nav-menu .sub-menu,.menu .sub-menu,
.menu-item .sub-menu,.dropdown-menu{
  display:none!important;position:absolute!important;top:100%!important;
  left:-8px!important;min-width:220px!important;max-width:none!important;
  max-height:none!important;height:auto!important;background:var(--paper)!important;
  border:1px solid var(--pine)!important;border-radius:10px!important;
  box-shadow:none!important;padding:6px 0!important;margin-top:0!important;
  z-index:1000!important;flex-direction:column!important;gap:0!important;
  overflow:visible!important;
}
.top_menu_wrapper li:has(.sub-menu)::after,.menu-item-has-children::after,
.main-menu>li:has(.sub-menu)::after,.primary-menu>li:has(.sub-menu)::after,
.nav-menu>li:has(.sub-menu)::after,.menu>li:has(.sub-menu)::after{
  content:''!important;position:absolute!important;left:0!important;right:0!important;
  top:100%!important;height:12px!important;background:transparent!important;
}
.top_menu_wrapper li:hover>ul,.top_menu_wrapper li:hover>.sub-menu,
.top_menu_wrapper li:focus-within>ul,.top_menu_wrapper li:focus-within>.sub-menu,
.main-menu>li:hover>.sub-menu,.main-menu>li:focus-within>.sub-menu,
.primary-menu>li:hover>.sub-menu,.primary-menu>li:focus-within>.sub-menu,
.nav-menu>li:hover>.sub-menu,.nav-menu>li:focus-within>.sub-menu,
.menu>li:hover>.sub-menu,.menu>li:focus-within>.sub-menu,
.menu-item:hover>.sub-menu,.menu-item:focus-within>.sub-menu{display:flex!important}
.top_menu_wrapper li ul li,.sub-menu li,.dropdown-menu li{
  margin:0!important;padding:0!important;width:100%!important;
}
.top_menu_wrapper li ul li a,.sub-menu li a,.dropdown-menu li a{
  display:block!important;padding:10px 16px!important;white-space:nowrap!important;
  color:var(--pine)!important;font-size:15px!important;background:transparent!important;
  border:none!important;border-bottom:0!important;text-align:left!important;
}
.top_menu_wrapper li ul li a:hover,.sub-menu li a:hover,.dropdown-menu li a:hover{
  background:var(--blush)!important;color:var(--pine)!important;
}

/* Header right / social */
.header_icons,.header-right,.site-header-right{
  display:flex!important;align-items:center!important;gap:18px!important;
  flex-shrink:0!important;order:3!important;margin:0!important;padding:0!important;
}
.header_icons a,.header_icons .social-icon,.social-icons a,
.social-media-icons a,.header-social a{
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:19px!important;width:19px!important;height:19px!important;
  color:var(--pine)!important;transition:color 180ms ease!important;
  text-decoration:none!important;
}
.header_icons a:hover,.header_icons .social-icon:hover,.social-icons a:hover{
  color:var(--slate)!important;
}
.header_icons svg,.header_icons i,.social-icons svg,.social-icons i{
  width:19px!important;height:19px!important;font-size:19px!important;
}

/* === WORKING SEARCH FORM ===
   Scoped to .header-search-form/.search-form/.header-search. Unscoped
   input[type=search] styling was what spawned the theme's duplicate box.
   KEEP the html body chains: they must outrank the removal block below. */
.header-search-form,.search-form,.header-search{
  display:flex!important;align-items:center!important;gap:8px!important;
  margin:0!important;padding:0!important;position:relative!important;
  z-index:100!important;pointer-events:auto!important;
}
.header-search-form::before,.header-search-form::after,.search-form::before,
.search-form::after,.header-search::before,.header-search::after{
  display:none!important;content:none!important;pointer-events:none!important;
}
html body .header-search-form input[type="search"],
html body .header-search-form input.search-field,
html body .header-search-form .search-field,
html body .search-form input[type="search"],
html body .search-form input.search-field,
html body .search-form .search-field,
html body .header-search input[type="search"],
html body .header-search .search-field,
html body .header_icons .header-search-form input,
html body .site-header .header-search-form input{
  display:block!important;width:300px!important;min-width:300px!important;
  max-width:100%!important;height:40px!important;padding:8px 14px!important;
  font-size:15px!important;font-family:'Newsreader',Georgia,serif!important;
  border:1px solid var(--fog)!important;border-radius:8px!important;
  background:var(--blush)!important;color:var(--pine)!important;
  -webkit-text-fill-color:#3E5C5C!important;caret-color:#3E5C5C!important;
  outline:none!important;position:relative!important;z-index:101!important;
  pointer-events:auto!important;user-select:text!important;
  -webkit-user-select:text!important;cursor:text!important;transition:none!important;
  -webkit-appearance:none!important;appearance:none!important;
  touch-action:manipulation!important;isolation:isolate!important;
  visibility:visible!important;opacity:1!important;left:auto!important;
}
html body .header-search-form input:focus,
html body .search-form input[type="search"]:focus,
html body .header-search-form .search-field:focus,
html body .search-form .search-field:focus{
  border-color:var(--pine)!important;box-shadow:none!important;
  outline:2px solid var(--pine)!important;outline-offset:1px!important;
  background:var(--paper)!important;color:var(--pine)!important;
  -webkit-text-fill-color:#3E5C5C!important;z-index:102!important;
}
.header-search-form input:-webkit-autofill,.search-form input:-webkit-autofill{
  color:#3E5C5C!important;-webkit-text-fill-color:#3E5C5C!important;
  -webkit-box-shadow:0 0 0 1000px #F5F0F3 inset!important;
}
.header-search-form input::placeholder,.search-form input::placeholder,
.header-search input::placeholder{
  color:var(--pine)!important;-webkit-text-fill-color:#3E5C5C!important;opacity:1!important;
}
.header-search-form button,.header-search-form .search-submit,
.search-form button,.search-form .search-submit,.header-search button{
  padding:0!important;background:transparent!important;border:none!important;
  color:var(--pine)!important;font-size:20px!important;cursor:pointer!important;
  transition:color 180ms ease!important;box-shadow:none!important;
  width:36px!important;height:36px!important;position:relative!important;
  z-index:101!important;pointer-events:auto!important;display:inline-flex!important;
  align-items:center!important;justify-content:center!important;
}
.header-search-form button:hover,.search-form .search-submit:hover{
  background:transparent!important;color:var(--slate)!important;
  transform:none!important;box-shadow:none!important;
}

/* === DELETE EVERY OTHER SEARCH INPUT ===
   Removed from layout AND made unfocusable. Low specificity (0,1,1) on
   purpose so the re-show rules above win without a :not() chain.
   TRIMMED: input[type=text][name=s] (input[name=s] covers it);
   .searchform input (parent is display:none). */
input[type="search"],input[name="s"],
.search-field,.searchform,form[role="search"],
.widget_search,.widget_product_search,.search-box,.searchbox,
.site-search,.header-search-wrap,.search-wrapper,.search-form-wrapper,
.header-search-box,.jet-ajax-search__field,.elementor-search-form__input{
  display:none!important;visibility:hidden!important;opacity:0!important;
  width:0!important;min-width:0!important;height:0!important;max-height:0!important;
  padding:0!important;margin:0!important;border:0!important;
  position:absolute!important;left:-9999px!important;top:auto!important;
  pointer-events:none!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;
}
html body .header-search-form,html body .search-form,html body .header-search{
  display:flex!important;visibility:visible!important;opacity:1!important;
  width:auto!important;height:auto!important;max-height:none!important;
  position:relative!important;left:auto!important;pointer-events:auto!important;
  overflow:visible!important;clip:auto!important;border:0!important;
}

/* === HIDE NON-WORKING SEARCH ICONS ===
   TRIMMED: 12 context-qualified variants of .search-icon removed — the bare
   .search-icon matches all of them with identical declarations. .search-toggle
   and .header-search-toggle removed: [class*="search-toggle"] covers both.
   .toggle-search KEPT (that string lacks "search-toggle"). The two
   [class*="search-icon"] rows keep their :not() guards. */
.search-icon,.toggle-search,.search-trigger,
.search-button:not(.search-submit),[class*="search-toggle"],
.jetheader__search,.jet-search,.jet-search-suggestions,.jet-ajax-search,
.jet-ajax-search__form,.jet-search-icon,.jet-search__button,
.elementor-search-icon,.elementor-search-form__toggle,
i.fa-search:not(.search-submit i),i.fas.fa-search:not(.search-submit i),
.site-header [class*="search-icon"]:not(input):not(.search-field):not(.header-search-form):not(.search-form),
header [class*="search-icon"]:not(input):not(.search-field):not(.header-search-form):not(.search-form){
  display:none!important;visibility:hidden!important;opacity:0!important;
  height:0!important;width:0!important;position:absolute!important;
  left:-9999px!important;pointer-events:none!important;
}

/* === THE SHEET === one paper sheet on olive; olive shows only as side margin.
   TRIMMED: .single-post .entry-content (dup of .entry-content in same list). */
.blog_post_container,.site_main_container,.container,
.entry-content,article.post,.post-content,.content-area,main.site-main{
  max-width:1400px!important;margin-left:auto!important;margin-right:auto!important;
  padding:40px 40px!important;background:var(--paper)!important;
  border:1px solid var(--pine)!important;border-radius:18px!important;
  width:100%!important;box-sizing:border-box!important;float:none!important;
  position:relative!important;left:0!important;right:0!important;transform:none!important;
}
.blog_post_container .entry-content,.entry-content .post-content,
.content-area .entry-content,main.site-main .entry-content,
.site_main_container .blog_post_container,.container .entry-content,
article.post .entry-content,article.post .post-content{
  max-width:100%!important;padding:0!important;border:none!important;
  border-radius:0!important;background:transparent!important;
}
.site-content,.content-wrapper,.main-content-wrapper,.post-wrapper,
#primary,#main,.site-main{
  max-width:100%!important;margin-left:auto!important;margin-right:auto!important;
  padding-left:8px!important;padding-right:8px!important;padding-top:14px!important;
  padding-bottom:32px!important;float:none!important;display:block!important;
  background:transparent!important;
}

/* === TYPOGRAPHY === */
.blog_post_container h1,.entry-content h1,.entry-title,.post-title,
h1.entry-title,h1.post-title,.single-post h1,article h1{
  font-family:'Fraunces',Georgia,serif!important;
  font-variation-settings:"SOFT" 40,"WONK" 1!important;
  font-size:clamp(20px,4.4vw,40px)!important;line-height:1.1!important;
  font-weight:500!important;color:var(--pine)!important;
  letter-spacing:-.03em!important;margin:0 0 20px 0!important;padding:0!important;
}
.blog_post_container h2,.entry-content h2,.post-content h2,article h2{
  font-family:'Fraunces',Georgia,serif!important;
  font-variation-settings:"SOFT" 40,"WONK" 1!important;
  font-size:32px!important;line-height:1.15!important;font-weight:500!important;
  color:var(--pine)!important;letter-spacing:-.018em!important;
  margin:48px 0 16px 0!important;padding:0!important;
}
.blog_post_container h3,.entry-content h3,.post-content h3,article h3{
  font-family:'Fraunces',Georgia,serif!important;
  font-variation-settings:"SOFT" 40,"WONK" 1!important;
  font-size:22px!important;line-height:1.25!important;font-weight:500!important;
  color:var(--pine)!important;margin:36px 0 12px 0!important;padding:0!important;
}
.blog_post_container h4,.entry-content h4,.post-content h4,article h4{
  font-family:'Fraunces',Georgia,serif!important;
  font-variation-settings:"SOFT" 40,"WONK" 1!important;
  font-size:18px!important;line-height:1.35!important;font-weight:500!important;
  color:var(--pine)!important;margin:28px 0 10px 0!important;padding:0!important;
}
.blog_post_container p,.entry-content p,.post-content p,article p{
  font-family:'Newsreader',Georgia,serif!important;font-size:19px!important;
  line-height:1.72!important;color:var(--pine)!important;
  margin:0 0 22px 0!important;padding:0!important;overflow-wrap:break-word!important;
}
.blog_post_container ul,.blog_post_container ol,.entry-content ul,
.entry-content ol,.post-content ul,.post-content ol,article ul,article ol{
  font-family:'Newsreader',Georgia,serif!important;font-size:19px!important;
  line-height:1.72!important;color:var(--pine)!important;
  padding-left:22px!important;margin:0 0 22px 0!important;
}
.blog_post_container li,.entry-content li,.post-content li,article li{
  margin-bottom:8px!important;line-height:1.72!important;overflow-wrap:break-word!important;
}
.entry-content li::marker,.post-content li::marker,article li::marker{color:var(--olive)!important}
/* Links: pine text, olive underline — the rule carries the signal, not colour (WCAG 1.4.1). */
.blog_post_container a,.entry-content a,.post-content a,article a{
  color:var(--pine)!important;text-decoration:underline!important;
  text-decoration-color:var(--olive)!important;text-underline-offset:4px!important;
  text-decoration-thickness:2px!important;transition:background-color 180ms ease!important;
}
.blog_post_container a:hover,.entry-content a:hover,.post-content a:hover,
article a:hover{color:var(--pine)!important;background:var(--blush)!important}
/* Meta: pine, not slate (slate on paper is 4.25, fails AA). Emphasis steps
   down via size, mono and letterspacing instead. */
.post-meta,.entry-meta,.byline,.posted-on,.author-meta,.entry-date{
  font-family:'JetBrains Mono',ui-monospace,Menlo,monospace!important;
  font-size:11px!important;letter-spacing:.14em!important;text-transform:uppercase!important;
  line-height:1.6!important;color:var(--pine)!important;margin:0 0 28px 0!important;
  padding:0!important;
}
.post-meta a,.entry-meta a{color:var(--pine)!important;text-decoration:none!important}
.post-meta a:hover,.entry-meta a:hover{text-decoration:underline!important}

/* === BLOCKQUOTES & CALLOUTS === (::before and ::after merged) */
.key-takeaway,.key-points,.callout,.notice,blockquote,.wp-block-quote{
  position:relative!important;padding:20px 24px!important;margin:32px 0!important;
  background:var(--blush)!important;border:1px solid var(--fog)!important;
  border-left:4px solid var(--olive)!important;border-radius:0 10px 10px 0!important;
  font-family:'Newsreader',Georgia,serif!important;
}
blockquote::before,.wp-block-quote::before,.key-takeaway::before,
.key-points::before,.callout::before,.notice::before,
blockquote::after,.wp-block-quote::after,.key-takeaway::after,
.key-points::after,.callout::after,.notice::after{
  display:none!important;content:none!important;
}
blockquote p,.wp-block-quote p{
  font-style:italic!important;color:var(--pine)!important;font-size:19px!important;
  line-height:1.6!important;margin-bottom:0!important;
}

/* === IMAGES ===
   TRIMMED: .sidebar img / aside img dropped from the widget rule — those
   containers are display:none in UTILITIES. .widget img KEPT (footer widgets). */
.entry-content img,.post-content img,article img{
  max-width:100%!important;height:auto!important;border-radius:10px!important;
  margin:24px 0!important;
}
.blog_post_banner,.featured-image,.post-thumbnail,
.wp-post-image:not(.custom-logo):not(.avatar):not(.site_logo_image),
.entry-image img:not(.avatar):not(.custom-logo),
article>img:first-of-type:not(.avatar):not(.custom-logo):not(.site_logo_image),
.entry-content img:not(.avatar):not(.custom-logo):not(.site_logo_image):not(.wp-smiley):not([class*="avatar"]):not([class*="logo"]):not([class*="author"]):not([class*="profile"]),
.post-content img:not(.avatar):not(.custom-logo):not(.site_logo_image):not(.wp-smiley):not([class*="avatar"]):not([class*="logo"]):not([class*="author"]):not([class*="profile"]),
.blog_post_container img:not(.avatar):not(.custom-logo):not(.site_logo_image):not(.wp-smiley):not([class*="avatar"]):not([class*="logo"]):not([class*="author"]):not([class*="profile"]),
article img:not(.avatar):not(.custom-logo):not(.site_logo_image):not(.wp-smiley):not([class*="avatar"]):not([class*="logo"]):not([class*="author"]):not([class*="profile"]),
.wp-block-image img:not(.avatar):not([class*="logo"]):not([class*="author"]),
figure.wp-block-image img{
  width:100%!important;max-width:100%!important;height:auto!important;
  display:block!important;margin-left:auto!important;margin-right:auto!important;
  border-radius:10px!important;
}
.blog_post_banner,.featured-image,.post-thumbnail{margin:0 0 32px 0!important}
.wp-block-image,figure.wp-block-image{text-align:center!important}
figcaption,.wp-caption-text{
  font-family:'JetBrains Mono',ui-monospace,monospace!important;font-size:11px!important;
  letter-spacing:.1em!important;text-transform:uppercase!important;
  color:var(--pine)!important;text-align:center!important;margin-top:10px!important;
}
.widget img:not(.avatar):not([class*="logo"]){
  width:50%!important;max-width:100px!important;height:auto!important;
}
.logo_wrapper img,.site-branding img,.site_logo img,img.site_logo_image,
.custom-logo,img.custom-logo,[class*="logo"] img,img[class*="logo"]{
  width:auto!important;max-width:180px!important;max-height:50px!important;
  margin-left:0!important;margin-right:0!important;border-radius:0!important;
}
.avatar,img.avatar,.author-avatar img,.author-image img,.author-photo img,
.profile-image img,.comment-author-avatar img,[class*="avatar"] img,
img[class*="avatar"],[class*="profile"] img{
  width:auto!important;max-width:none!important;margin-left:0!important;
  margin-right:0!important;
}

/* === TABLES === */
table,.wp-block-table{
  width:100%!important;margin:28px 0!important;border-collapse:collapse!important;
  background:var(--paper)!important;border:1px solid var(--fog)!important;
  border-radius:10px!important;overflow:hidden!important;
}
th,td{
  padding:12px 14px!important;text-align:left!important;
  border-bottom:1px dashed var(--fog)!important;
  font-family:'Newsreader',Georgia,serif!important;font-size:16px!important;
  line-height:1.5!important;color:var(--pine)!important;overflow-wrap:break-word!important;
}
th{
  background:var(--blush)!important;
  font-family:'JetBrains Mono',ui-monospace,monospace!important;font-size:10px!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;
  font-weight:400!important;color:var(--pine)!important;
  border-bottom:2px solid var(--olive)!important;
}
tr:last-child td{border-bottom:none!important}
tr:hover{background:var(--blush)!important}
tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--olive)!important}

/* === BREADCRUMBS === own paper strip; pine on olive is 3.00 and would fail. */
.breadcrumb,.breadcrumbs,[class*="breadcrumb"],.rank-math-breadcrumb{
  display:flex!important;align-items:center!important;flex-wrap:wrap!important;
  gap:8px!important;padding:10px 18px!important;margin:0 auto 18px!important;
  font-family:'JetBrains Mono',ui-monospace,monospace!important;font-size:11px!important;
  letter-spacing:.12em!important;text-transform:uppercase!important;
  color:var(--pine)!important;max-width:1400px!important;
  background:var(--paper)!important;border:1px solid var(--fog)!important;
  border-radius:999px!important;width:fit-content!important;
}
.breadcrumb a,.breadcrumbs a,[class*="breadcrumb"] a{
  color:var(--pine)!important;text-decoration:none!important;
}
.breadcrumb a:hover,.breadcrumbs a:hover,[class*="breadcrumb"] a:hover{
  text-decoration:underline!important;text-decoration-color:var(--olive)!important;
}

/* === CODE === */
code,pre{
  font-family:'JetBrains Mono',ui-monospace,Menlo,monospace!important;
  background:var(--pine)!important;color:var(--paper)!important;
  padding:3px 7px!important;border-radius:6px!important;font-size:.86em!important;
}
pre{
  padding:18px 20px!important;overflow-x:auto!important;margin:24px 0!important;
  border-left:4px solid var(--olive)!important;line-height:1.85!important;
}
pre code{background:transparent!important;padding:0!important}

/* === FOOTER — COLOUR AND TYPE ONLY, deliberately no layout.
   The theme already lays the footer out in four columns; every attempt to
   "help" with grid squeezed them. No display/grid/gap/width here. */
.site-footer,footer.site-footer,.footer-wrapper{
  background:var(--blush)!important;border-top:1px solid var(--slate)!important;
  color:var(--pine)!important;
}
.footer-widget-title,.widget-title,.footer-content h3,.footer-content h4,
.site-footer .widget-title,footer .widget h3,footer .widget h4{
  font-family:'JetBrains Mono',ui-monospace,monospace!important;font-size:11px!important;
  letter-spacing:.15em!important;text-transform:uppercase!important;
  font-weight:400!important;color:var(--pine)!important;line-height:1.4!important;
}
.footer-widget li,.footer-content li,.widget li,.site-footer li{
  font-family:'Newsreader',Georgia,serif!important;font-size:15px!important;
  line-height:1.5!important;color:var(--pine)!important;
}
.footer-widget p,.footer-content p,.widget p,.site-footer p,footer p{
  font-family:'Newsreader',Georgia,serif!important;font-size:15px!important;
  line-height:1.6!important;color:var(--pine)!important;
}
.footer-widget a,.footer-content a,.widget a,.site-footer a{
  color:var(--pine)!important;text-decoration:none!important;font-size:15px!important;
  transition:text-decoration-color 180ms ease!important;
}
.footer-widget a:hover,.footer-content a:hover,.widget a:hover,.site-footer a:hover{
  color:var(--pine)!important;text-decoration:underline!important;
  text-decoration-color:var(--olive)!important;
}
.site-footer .post-date,.site-footer time,footer .widget time{
  font-family:'JetBrains Mono',ui-monospace,monospace!important;font-size:9.5px!important;
  letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--pine)!important;
}
.footer-bottom,.site-info,.copyright{
  border-top:1px solid var(--fog)!important;text-align:center!important;
  font-family:'JetBrains Mono',ui-monospace,monospace!important;font-size:10px!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--pine)!important;
}

/* Footer menu widgets render ul.menu, so unscoped .menu rules reach them.
   These are counter-rules restoring browser defaults, not layout.
   KEEP both .site-footer and footer variants — the class may not be on the tag. */
.site-footer ul,.site-footer .menu,.site-footer .nav-menu,.site-footer .main-menu,
.site-footer .primary-menu,.site-footer .widget ul,
footer ul,footer .menu,footer .nav-menu,footer .widget ul{
  display:block!important;flex-direction:column!important;flex-wrap:wrap!important;
  gap:0!important;list-style:none!important;justify-content:flex-start!important;
  align-items:stretch!important;position:static!important;float:none!important;
  width:auto!important;max-width:100%!important;white-space:normal!important;
}
.site-footer li,.site-footer .menu>li,.site-footer .menu-item,
.site-footer .widget li,footer li,footer .menu>li,footer .menu-item,
footer .widget li{
  display:block!important;position:static!important;float:none!important;
  white-space:normal!important;padding:0!important;margin:0 0 10px 0!important;
  width:auto!important;max-width:100%!important;list-style:none!important;
}
.site-footer li:last-child,footer li:last-child{margin-bottom:0!important}
.site-footer a,.site-footer .menu a,.site-footer .widget a,
footer .menu a,footer .widget a{
  display:inline-block!important;white-space:normal!important;
  border-bottom:0!important;padding:0!important;line-height:1.45!important;
  overflow-wrap:break-word!important;max-width:100%!important;
}
.site-footer .sub-menu,footer .sub-menu{
  display:block!important;position:static!important;border:0!important;
  box-shadow:none!important;background:transparent!important;
  padding:6px 0 0 14px!important;margin:6px 0 0 0!important;min-width:0!important;
  border-radius:0!important;
}
.site-footer .sub-menu a,footer .sub-menu a{padding:0!important;font-size:14px!important}
.site-footer .widget li img:not(.custom-logo),
footer .widget li img:not(.custom-logo){
  max-width:64px!important;height:auto!important;border-radius:8px!important;
  float:left!important;margin:2px 12px 6px 0!important;
}
.site-footer .widget li::after,footer .widget li::after{
  content:""!important;display:block!important;clear:both!important;
}

/* === MENU BUTTON (CTA) — pine fill, inverts on hover.
   KEEP the full selector ladder: ascending specificity so the fill survives
   any theme/plugin rule that also uses !important. */
html body li.menu-button>a,html body ul li.menu-button>a,
html body nav li.menu-button>a,html body .menu li.menu-button>a,
html body .nav-menu li.menu-button>a,html body .main-menu li.menu-button>a,
html body .primary-menu li.menu-button>a,html body .top_menu_wrapper li.menu-button>a,
html body .main-navigation li.menu-button>a,html body .site-header li.menu-button>a,
html body header li.menu-button>a,html body .menu-item.menu-button>a,
html body li.menu-button>a:link,html body li.menu-button>a:visited{
  background:var(--pine)!important;background-color:var(--pine)!important;
  color:var(--paper)!important;padding:12px 26px!important;min-height:44px!important;
  min-width:0!important;border-radius:10px!important;
  font-family:'Newsreader',Georgia,serif!important;
  font-weight:500!important;font-size:15px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  box-shadow:none!important;white-space:nowrap!important;text-decoration:none!important;
  border:1px solid var(--pine)!important;outline:none!important;
  border-bottom:1px solid var(--pine)!important;
  transition:background-color 180ms ease,color 180ms ease!important;
}
html body li.menu-button>a:hover,html body ul li.menu-button>a:hover,
html body .menu li.menu-button>a:hover,html body .site-header li.menu-button>a:hover,
html body .top_menu_wrapper li.menu-button>a:hover{
  background:var(--paper)!important;background-color:var(--paper)!important;
  color:var(--pine)!important;border-color:var(--pine)!important;
  box-shadow:none!important;transform:none!important;
}

/* === HIDE DUPLICATE LOGOS IN CONTENT ===
   KEEP the full list: each ancestor is a different container a theme or
   plugin may print a second logo into. */
.site-content .logo_wrapper,.site-content .site-branding,.site-content .site_logo,
.site-content img.site_logo_image,main .logo_wrapper,main .site-branding,
main .site_logo,main img.site_logo_image,.site-main .logo_wrapper,
.site-main .site-branding,.site-main .site_logo,.site-main img.site_logo_image,
article .logo_wrapper,article .site-branding,article .site_logo,
article img.site_logo_image,#primary .logo_wrapper,#primary .site-branding,
#primary .site_logo,#main .logo_wrapper,#main .site-branding,#main .site_logo,
.entry-content .logo_wrapper,.entry-content .site-branding,.entry-content .site_logo,
.post-content .logo_wrapper,.post-content .site-branding,
.content-area .logo_wrapper,.content-area .site-branding{
  display:none!important;visibility:hidden!important;opacity:0!important;
  height:0!important;width:0!important;position:absolute!important;left:-9999px!important;
}
.site-header>.logo_wrapper,.site-header>.site-branding,
.site-header .logo_wrapper:first-of-type,.site-header .site-branding:first-of-type,
.site-header-container>.logo_wrapper,.site-header-container>.site-branding,
.header-inner>.logo_wrapper,.header-inner>.site-branding,
header>.logo_wrapper,header>.site-branding{
  display:block!important;visibility:visible!important;opacity:1!important;
  height:auto!important;width:auto!important;position:relative!important;
  left:auto!important;pointer-events:auto!important;
}

/* === MENU SCROLLBAR REMOVAL ===
   TRIMMED: nav.main-menu / nav.main-menu * (dup of .main-menu / .main-menu *). */
.top_menu_wrapper,.top_menu_wrapper *,.main-navigation,.main-navigation *,
.primary-navigation,.primary-navigation *,.mobile-menu,.mobile-menu *,
.mobile-nav,.mobile-nav *,.mobile-menu-wrapper,.mobile-menu-wrapper *,
.menu-container,.menu-container *,.nav-container,.nav-container *,
.hamburger-menu,.hamburger-menu *,.offcanvas-menu,.offcanvas-menu *,
.slide-menu,.slide-menu *,.responsive-menu,.responsive-menu *,
.menu-toggle-content,.menu-toggle-content *,
.main-menu,.main-menu *,.primary-menu,.primary-menu *,.nav-menu,.nav-menu *,
.menu,.sub-menu,.dropdown-menu,.menu-item,.menu-item-has-children{
  max-height:none!important;height:auto!important;overflow:visible!important;
}
.top_menu_wrapper::-webkit-scrollbar,.top_menu_wrapper *::-webkit-scrollbar,
.main-navigation::-webkit-scrollbar,.main-navigation *::-webkit-scrollbar,
.primary-navigation::-webkit-scrollbar,.primary-navigation *::-webkit-scrollbar,
.mobile-menu::-webkit-scrollbar,.mobile-menu *::-webkit-scrollbar,
.mobile-nav::-webkit-scrollbar,.mobile-nav *::-webkit-scrollbar,
.menu::-webkit-scrollbar,.sub-menu::-webkit-scrollbar,
.dropdown-menu::-webkit-scrollbar{
  display:none!important;width:0!important;height:0!important;
  background:transparent!important;visibility:hidden!important;
}

/* === UTILITIES ===
   TRIMMED: .single .site-main / .single-post .site-main / .blog .site-main —
   .site-main already gets both auto margins in THE SHEET block. */
.single-post .entry-content>*:first-child,.post-content>*:first-child,
article>*:first-child{margin-top:0!important}
.single-post .entry-content>*:last-child,.post-content>*:last-child,
article>*:last-child{margin-bottom:0!important}
.post-like-icon,.comments-area,.listen-post-content,.read-post,
.post-navigation,.author-bio{display:none!important}
.site-content,.content-area,#content,.hentry,.type-post,
.single-post article,article.post{
  float:none!important;margin-left:auto!important;margin-right:auto!important;
  width:100%!important;
}
.sidebar,.widget-area,#secondary,aside{display:none!important}

/* === CLS FIXES ===
   TRIMMED: section.site_content, section#content, .site_main_container.container,
   .site_main_container.container.bg-color, article.blog_post_container — each a
   qualified rewrite of a selector already in the same rule.
   KEEP transition-property below: it stops a theme `transition:all` animating
   width/height. Looks inert; it is doing CLS work. */
#content,.site_content{contain:layout style!important}
.site_main_container{contain:layout style!important}
.posts_list_wrapper{contain:layout!important}
.more_link,.more_link_dots,a.more_link,a.more_link.more_link_dots{transition:color 0.2s ease!important}
a[rel="bookmark"]{transition:color 0.2s ease!important}
.blog_post_container{contain:layout style!important}
.post_thumbnail_wrapper,.blog_post_banner,article,article.post,article.type-post{transform:translateZ(0)}
.site-header,header.site-header{contain:layout style!important}
.site_main_container *,.posts_list_wrapper *,#content *{
  transition-property:color,background-color,border-color,opacity,transform!important;
}
.blog_post_banner{
  min-height:178px!important;aspect-ratio:267/178!important;overflow:hidden!important;
  background-color:var(--mist)!important;
}
.posts_list_wrapper .blog_post_banner img.wp-post-image,
.posts_list_wrapper img.attachment-list_blog,
.posts_list_wrapper img.size-list_blog,
div.post_thumbnail_wrapper>div.blog_post_banner>a>img{
  aspect-ratio:267/178!important;object-fit:cover!important;width:100%!important;
  height:auto!important;min-height:178px!important;
}
.avatar,img.avatar,.url.fn img,a.url.fn img,a.url.fn.n img,
[class*="avatar"] img,img[class*="avatar"]{
  min-height:unset!important;aspect-ratio:unset!important;width:auto!important;
  height:auto!important;max-width:40px!important;max-height:40px!important;
  border-radius:50%!important;
}
/* Single post featured image shows in full. */
body.single .blog_post_banner,body.single-post .blog_post_banner,
.single .blog_post_banner,.single-post .blog_post_banner,
body.single .post_thumbnail_wrapper,body.single-post .post_thumbnail_wrapper,
body.single div.blog_post_banner,body.single-post div.blog_post_banner{
  min-height:unset!important;max-height:none!important;height:auto!important;
  aspect-ratio:unset!important;overflow:visible!important;
  background-color:transparent!important;
}
body.single .blog_post_banner img,body.single-post .blog_post_banner img,
body.single .blog_post_banner img.wp-post-image,
body.single-post .blog_post_banner img.wp-post-image,
body.single img.wp-post-image,body.single-post img.wp-post-image,
.single .wp-post-image,.single-post .wp-post-image{
  aspect-ratio:unset!important;object-fit:contain!important;
  object-position:center!important;min-height:unset!important;max-height:none!important;
  height:auto!important;width:100%!important;max-width:100%!important;
  border-radius:10px!important;
}

/* === MOBILE LEFT-EDGE CLIPPING ===
   CAUSE: a grid framework applies .row{margin-left:-15px} and the article sits
   in that row with no .col-* child to put it back. This removes the shift
   rather than offsetting it (the old -2.25% compensation kept drifting).
   Three layers: neutralise row negatives, reset direct children, clear
   text-indent and first-letter offsets. */
.site-content .row,.content-area .row,.entry-content .row,.post-content .row,
.blog_post_container .row,.site_main_container .row,#primary .row,#main .row,
article .row,.site-content [class*="col-"],.entry-content [class*="col-"]{
  margin-left:0!important;margin-right:0!important;
  padding-left:0!important;padding-right:0!important;max-width:100%!important;
}
.entry-content>*,.post-content>*,.blog_post_container>*,article.post>*,
.entry-content>*>*,.post-content>*>*{
  margin-left:0!important;margin-right:0!important;max-width:100%!important;
  position:relative!important;left:0!important;right:0!important;transform:none!important;
}
.entry-content p,.entry-content li,.entry-content h1,.entry-content h2,
.entry-content h3,.entry-content h4,.entry-content blockquote,
.post-content p,.post-content li,.blog_post_container p,.blog_post_container li,
article p,article li,article h1,article h2,article h3,article h4,
.entry-title,.post-title{
  text-indent:0!important;margin-left:0!important;padding-left:0!important;
  overflow-wrap:break-word!important;word-break:normal!important;
}
.entry-content ul,.entry-content ol,.post-content ul,.post-content ol,
article ul,article ol{margin-left:0!important;padding-left:22px!important}
.entry-content p::first-letter,.post-content p::first-letter,
article p::first-letter{
  margin-left:0!important;text-indent:0!important;float:none!important;
  font-size:inherit!important;line-height:inherit!important;
}
.blog_post_container,.entry-content,.post-content,.content-area,
article.post,.site_main_container{overflow:visible!important}

/* === RESPONSIVE: TABLET === */
@media(max-width:1024px){
  .top_menu_wrapper .logo_wrapper,.top_menu_wrapper .site-branding,
  .top_menu_wrapper .site_logo,.main-navigation .logo_wrapper,
  .main-navigation .site-branding,.main-navigation .site_logo,
  .menu .logo_wrapper,.menu .site-branding,.menu .site_logo,
  nav .logo_wrapper,nav .site-branding,nav .site_logo,
  .mobile-menu .logo_wrapper,.mobile-menu .site-branding,
  .mobile-nav .logo_wrapper,.mobile-nav .site-branding,
  .header_icons~.logo_wrapper,.header_icons~.site-branding,
  .top_menu_wrapper~.logo_wrapper,.top_menu_wrapper~.site-branding,
  header .logo_wrapper~.logo_wrapper,header .site-branding~.site-branding,
  .site-header .logo_wrapper:nth-of-type(n+2),
  .site-header .site-branding:nth-of-type(n+2){
    display:none!important;visibility:hidden!important;opacity:0!important;
    height:0!important;width:0!important;position:absolute!important;left:-9999px!important;
  }
  .site-header>.logo_wrapper:first-of-type,.site-header>.site-branding:first-of-type,
  .site-header-container>.logo_wrapper:first-of-type,
  .site-header-container>.site-branding:first-of-type,
  .header-inner>.logo_wrapper:first-of-type,.header-inner>.site-branding:first-of-type{
    display:block!important;visibility:visible!important;opacity:1!important;
    height:auto!important;width:auto!important;position:relative!important;left:auto!important;
  }
  .site-header-container,.site-header>.container,.header-inner{
    max-width:100%!important;padding:14px 18px!important;gap:20px!important;
  }
  .top_menu_wrapper,.main-navigation{
    background:transparent!important;padding:0!important;margin:0!important;
    width:auto!important;
  }
  .top_menu_wrapper a,.main-menu a,.menu a{font-size:14px!important}
  .top_menu_wrapper ul,.menu{gap:20px!important}
  .top_menu_wrapper li ul,.top_menu_wrapper .sub-menu,.main-menu .sub-menu,
  .menu .sub-menu,.menu-item .sub-menu{position:absolute!important;z-index:9999!important}
  html body .header-search-form input,html body .search-form input[type="search"],
  html body .header-search-form .search-field{width:220px!important;min-width:180px!important}
  .top_menu_wrapper li ul li a,.sub-menu li a,.dropdown-menu li a{
    font-size:14px!important;padding:10px 14px!important;
  }
  .blog_post_container,.site_main_container,.container,.entry-content,
  article.post,.post-content,.content-area,main.site-main{
    max-width:100%!important;padding:34px 26px!important;
  }
  .site-content,.content-wrapper,#primary,#main,.site-main{
    padding-left:10px!important;padding-right:10px!important;
  }
  .logo_wrapper,.site-branding,.site_logo,.custom-logo-link,.site_logo img,
  img.site_logo_image,.custom-logo{
    display:block!important;visibility:visible!important;opacity:1!important;
    height:auto!important;width:auto!important;max-height:46px!important;
    max-width:170px!important;
  }
}

/* === RESPONSIVE: MOBILE === */
@media(max-width:768px){
  .site-header-container,.site-header>.container,.site-header>.row,
  .site-header>div:first-child,.header-inner{
    flex-wrap:wrap!important;padding:12px 14px!important;gap:12px!important;
    max-width:100%!important;
  }
  /* TRIMMED: max-height/max-width dropped — the logo rule later in this same
     media block sets 42px/150px and wins on source order. */
  .logo_wrapper,.site-branding{order:1!important}
  .header_icons,.header-right{order:2!important;gap:14px!important}
  .top_menu_wrapper,.main-navigation{
    order:3!important;width:100%!important;max-width:100%!important;
    justify-content:center!important;overflow:visible!important;
    padding:4px 0!important;margin:0!important;background:transparent!important;
  }
  .top_menu_wrapper ul,.main-menu,.primary-menu,.nav-menu,.menu{
    flex-wrap:wrap!important;gap:10px 18px!important;width:100%!important;
    justify-content:center!important;
  }
  .top_menu_wrapper a,.main-menu a,.menu a{padding:0!important;font-size:14px!important}
  .top_menu_wrapper li,.main-menu>li,.menu>li,.menu-item{position:relative!important}
  .top_menu_wrapper li ul,.top_menu_wrapper .sub-menu,.main-menu .sub-menu,
  .menu .sub-menu,.menu-item .sub-menu{
    position:absolute!important;top:100%!important;left:0!important;
    z-index:9999!important;min-width:200px!important;
  }
  .header_icons a,.header_icons .social-icon{font-size:18px!important;width:18px!important;height:18px!important}
  .header_icons a svg,.header_icons a i,.social-icons svg,.social-icons i{
    font-size:18px!important;width:18px!important;height:18px!important;
  }
  /* 16px minimum stops iOS zooming the page on focus. */
  .header-search-form,.search-form,.header-search,.site-header .search-form,
  .site-header .header-search-form{
    max-width:100%!important;width:100%!important;order:4!important;
    margin-left:auto!important;margin-right:auto!important;
    display:flex!important;justify-content:center!important;
  }
  html body .header-search-form input,html body .search-form input[type="search"],
  html body .header-search-form .search-field,html body .search-form .search-field{
    width:100%!important;min-width:0!important;max-width:100%!important;
    height:40px!important;font-size:16px!important;
  }
  .site-content,.content-wrapper,.main-content-wrapper,.post-wrapper,
  #primary,#main,.site-main{
    padding-left:6px!important;padding-right:6px!important;
    padding-top:10px!important;padding-bottom:20px!important;
  }
  .blog_post_container,.site_main_container,.container,.entry-content,
  article.post,.post-content,.content-area,main.site-main{
    max-width:100%!important;width:100%!important;padding:24px 18px!important;
    border-radius:12px!important;margin-left:0!important;margin-right:0!important;
    box-sizing:border-box!important;
  }
  .blog_post_container .entry-content,.entry-content .post-content,
  .content-area .entry-content,main.site-main .entry-content,
  .site_main_container .blog_post_container,.container .entry-content,
  article.post .entry-content,article.post .post-content{
    padding:0!important;border:none!important;border-radius:0!important;
  }
  body{font-size:17.5px!important}
  .blog_post_container h1,.entry-content h1,.entry-title,h1.entry-title,
  h1.post-title,.single h1.entry-title{
    font-size:20px!important;line-height:1.2!important;margin-bottom:12px!important;
    max-width:100%!important;width:100%!important;
    word-wrap:break-word!important;overflow-wrap:break-word!important;
  }
  .blog_post_container h2,.entry-content h2{font-size:21px!important;margin-top:32px!important}
  .blog_post_container h3,.entry-content h3{font-size:18px!important;margin-top:24px!important}
  .blog_post_container p,.entry-content p,.blog_post_container ul,
  .blog_post_container ol,.entry-content ul,.entry-content ol{
    font-size:17.5px!important;line-height:1.7!important;
  }
  .logo_wrapper,.site-branding,.site_logo,.custom-logo-link,.site_logo img,
  img.site_logo_image,.custom-logo{
    display:block!important;visibility:visible!important;opacity:1!important;
    height:auto!important;width:auto!important;max-height:42px!important;max-width:150px!important;
  }
  .post-header,.entry-header,.single-post .entry-header,.blog-post-header,
  .article-header,.hero-section,.post-hero,header.entry-header,article>header,
  .single article>header,.type-post>header{
    max-width:100%!important;width:100%!important;margin-left:0!important;
    margin-right:0!important;padding:0!important;box-sizing:border-box!important;
  }
  .author-info,.post-author,.entry-author,.author-box,.author-meta-wrapper,
  .byline-wrapper,.post-meta-author,.entry-header .author,header .author-info,
  .post-date,.entry-date,.posted-on,.date-wrapper,.entry-header time,
  article header time,.entry-meta .posted-on,
  .entry-header .cat-links,.entry-header .entry-categories,.post-categories,
  .category-links,.entry-header .taxonomy,article>header .cat-links,
  .entry-header .post-meta,.entry-header .entry-meta,.post-header .post-meta,
  .post-header .entry-meta,article>header .post-meta,article>header .entry-meta{
    max-width:100%!important;padding-left:0!important;padding-right:0!important;
    box-sizing:border-box!important;
  }
  .social-share,.share-buttons,.post-share,.sharing-icons,.social-icons-header,
  .entry-share,.entry-header .social,.post-header .social,
  [class*="share-"]:not(.header_icons){
    max-width:100%!important;padding-left:0!important;padding-right:0!important;
    box-sizing:border-box!important;margin-bottom:20px!important;
  }
  .entry-excerpt,.post-excerpt,.entry-summary,.post-summary,.excerpt,.subtitle,
  .entry-header>p,.post-header>p,article>header>p,.entry-header .excerpt{
    max-width:100%!important;width:100%!important;padding-left:0!important;
    padding-right:0!important;box-sizing:border-box!important;
    word-wrap:break-word!important;overflow-wrap:break-word!important;
    font-size:18px!important;line-height:1.5!important;font-style:italic!important;
  }
  .entry-header .featured-image,.entry-header .post-thumbnail,
  .entry-header .wp-post-image,.post-header .featured-image,
  .post-header .wp-post-image,article>header .featured-image,
  article>header img:not(.avatar),.entry-header>img,.post-header>img,
  .hero-image,.post-thumbnail-wrapper img{
    width:100%!important;max-width:100%!important;margin-left:auto!important;
    margin-right:auto!important;display:block!important;height:auto!important;
  }
  .breadcrumb,.breadcrumbs,[class*="breadcrumb"],.rank-math-breadcrumb,
  .yoast-breadcrumb,.woocommerce-breadcrumb,.trail-items,.breadcrumb-trail{
    max-width:calc(100% - 20px)!important;width:auto!important;
    margin-left:auto!important;margin-right:auto!important;
    font-size:10px!important;white-space:nowrap!important;overflow:hidden!important;
    text-overflow:ellipsis!important;display:block!important;flex-wrap:nowrap!important;
    padding:8px 14px!important;
  }
  .blog_post_banner{min-height:120px!important}
  .posts_list_wrapper .blog_post_banner img.wp-post-image,
  .posts_list_wrapper img.attachment-list_blog,
  div.post_thumbnail_wrapper>div.blog_post_banner>a>img{min-height:120px!important}
  html body table td,html body table th{
    padding:9px 8px!important;font-size:15px!important;
    word-wrap:break-word!important;overflow-wrap:break-word!important;
  }
  html body table th{font-size:10px!important}
  html body li.menu-button>a{
    min-width:0!important;width:auto!important;padding:11px 20px!important;
    font-size:14px!important;min-height:40px!important;
  }
  html body h1,html body h2,html body h3,html body h4,html body p,
  html body .entry-title,html body .post-title{
    max-width:100%!important;word-wrap:break-word!important;
    overflow-wrap:break-word!important;
  }
}

/* === RESPONSIVE: SMALL MOBILE === */
@media(max-width:480px){
  .site-header-container,.header-inner{padding:10px 12px!important;max-width:100%!important}
  .site_logo,.site_logo img,.custom-logo,.logo_wrapper,.site-branding,
  .custom-logo-link,img.site_logo_image{max-height:38px!important;max-width:135px!important}
  .top_menu_wrapper a,.main-menu a,.menu a{font-size:13px!important}
  .top_menu_wrapper ul,.menu{gap:8px 14px!important}
  .top_menu_wrapper li ul li a,.sub-menu li a,.dropdown-menu li a{
    font-size:13px!important;padding:9px 12px!important;
  }
  .header_icons a,.header_icons svg,.header_icons i{
    font-size:17px!important;width:17px!important;height:17px!important;
  }
  html body .header-search-form input,html body .search-form input[type="search"],
  html body .header-search-form .search-field{height:38px!important;font-size:16px!important;padding:7px 12px!important}
  .site-content,.content-wrapper,#primary,#main,.site-main{
    padding-left:4px!important;padding-right:4px!important;padding-top:8px!important;
  }
  .blog_post_container,.entry-content,.site_main_container,.container,
  article.post,.post-content,.content-area,main.site-main{
    padding:20px 16px!important;border-radius:10px!important;
  }
  .blog_post_container .entry-content,.entry-content .post-content,
  article.post .entry-content,article.post .post-content{padding:0!important}
  body{font-size:17px!important}
  .blog_post_container h1,.entry-title,h1.entry-title,h1.post-title{
    font-size:19px!important;line-height:1.22!important;
  }
  .blog_post_container h2,.entry-content h2{font-size:19px!important}
  .blog_post_container h3,.entry-content h3{font-size:17px!important}
  .blog_post_container p,.entry-content p,.blog_post_container ul,
  .blog_post_container ol,.entry-content ul,.entry-content ol{
    font-size:17px!important;line-height:1.68!important;
  }
  .entry-excerpt,.post-excerpt,.entry-summary,.excerpt,.subtitle,
  .entry-header>p,.post-header>p,article>header>p{font-size:16.5px!important;line-height:1.45!important}
  .breadcrumb,.breadcrumbs,[class*="breadcrumb"],.rank-math-breadcrumb,
  .yoast-breadcrumb,.woocommerce-breadcrumb,.trail-items,.breadcrumb-trail{
    font-size:9.5px!important;padding:7px 12px!important;
  }
  html body table td{font-size:14px!important;padding:8px 7px!important}
  html body li.menu-button>a{padding:10px 16px!important;font-size:13px!important}
}

/* === MOTION === */
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  html{scroll-behavior:auto!important}
}

/* =====================================================================
   EVERYTHING BELOW IS COPIED VERBATIM — DO NOT "TIDY" IT.
   These blocks were established by trial against the live site. Two values
   in here (aspect-ratio:914/510 and object-fit:cover on the featured image)
   were once "cleaned up" and immediately reintroduced a bug that took many
   rounds to find. No declaration below has been altered.
   ===================================================================== */

/* SINGLE POST FEATURED IMAGE — collapse the reserved box.
   The gap was reserved height: the banner is an aspect-ratio box at 267:178
   while the image is 914:510, so the surplus showed as blank paper. */
body.single .post_thumbnail_wrapper,body.single-post .post_thumbnail_wrapper{
  display:block!important;position:relative!important;
  width:100%!important;max-width:100%!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  aspect-ratio:auto!important;padding:0!important;margin:0 0 28px 0!important;
  background:none!important;background-color:transparent!important;
  overflow:visible!important;float:none!important;
}
body.single .blog_post_banner,body.single-post .blog_post_banner,
body.single .featured-image,body.single-post .featured-image,
body.single .post-thumbnail,body.single-post .post-thumbnail{
  display:block!important;position:relative!important;
  width:100%!important;max-width:100%!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  aspect-ratio:auto!important;padding:0!important;margin:0!important;
  background:none!important;background-color:transparent!important;
  overflow:visible!important;float:none!important;
  line-height:0!important;font-size:0!important;
}
body.single .post_thumbnail_wrapper>a,body.single .blog_post_banner>a,
body.single-post .post_thumbnail_wrapper>a,body.single-post .blog_post_banner>a,
body.single .featured-image>a,body.single .post-thumbnail>a{
  display:block!important;position:static!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  aspect-ratio:auto!important;padding:0!important;margin:0!important;
  line-height:0!important;font-size:0!important;
  overflow:visible!important;background:none!important;
}
body.single .post_thumbnail_wrapper img,body.single .blog_post_banner img,
body.single-post .post_thumbnail_wrapper img,body.single-post .blog_post_banner img,
body.single .featured-image img,body.single .post-thumbnail img{
  display:block!important;position:static!important;
  top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
  transform:none!important;
  width:100%!important;max-width:100%!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  aspect-ratio:auto!important;object-fit:fill!important;
  padding:0!important;margin:0!important;
  vertical-align:top!important;border-radius:10px!important;
}
html body img.wp-post-image:not(.posts_list_wrapper *):not(.site-footer *):not(footer *):not(.widget *):not(aside *):not(.avatar):not(.custom-logo):not(.site_logo_image):not([class*="avatar"]):not([class*="logo"]){
  display:block!important;position:static!important;
  width:100%!important;height:auto!important;max-width:100%!important;
  min-height:0!important;max-height:none!important;
  aspect-ratio:914/510!important;object-fit:cover!important;
  padding:0!important;margin:14px 0 24px 0!important;
  vertical-align:top!important;border-radius:10px!important;
}

/* FOOTER + WIDGET THUMBNAILS — restore. The body.single rules above are
   scoped by page state, not location, so on single posts they also reach the
   Recent Posts widget (same .post_thumbnail_wrapper markup). That is why the
   homepage was correct and only single posts were wrong. */
html body .site-footer img:not(.avatar):not(.custom-logo):not(.site_logo_image):not([class*="logo"]):not([class*="avatar"]),
html body footer img:not(.avatar):not(.custom-logo):not(.site_logo_image):not([class*="logo"]):not([class*="avatar"]),
html body .widget img:not(.avatar):not(.custom-logo):not(.site_logo_image):not([class*="logo"]):not([class*="avatar"]){
  display:block!important;position:static!important;
  width:auto!important;max-width:64px!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  aspect-ratio:auto!important;object-fit:cover!important;
  float:left!important;margin:2px 12px 6px 0!important;
  border-radius:8px!important;vertical-align:top!important;
}
html body .site-footer .post_thumbnail_wrapper,html body footer .post_thumbnail_wrapper,
html body .widget .post_thumbnail_wrapper,
html body .site-footer .blog_post_banner,html body footer .blog_post_banner,
html body .widget .blog_post_banner{
  width:auto!important;max-width:none!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  aspect-ratio:auto!important;margin:0!important;padding:0!important;
  background:none!important;overflow:visible!important;
}

/* FOOTER WIDGET ROWS — flex instead of float. float:left only clears at the
   end of the list item, so the first row's title dropped below its thumbnail. */
html body .site-footer .widget li,html body footer .widget li,
html body .site-footer .widget ul li,html body footer .widget ul li{
  display:flex!important;align-items:flex-start!important;
  gap:12px!important;flex-direction:row!important;flex-wrap:nowrap!important;
}
html body .site-footer .widget li img:not(.custom-logo),
html body footer .widget li img:not(.custom-logo),
html body .widget li img:not(.custom-logo){
  float:none!important;margin:0!important;flex:0 0 auto!important;
}
html body .site-footer .widget li>*:not(img):not(a:has(>img)),
html body footer .widget li>*:not(img):not(a:has(>img)){
  flex:1 1 auto!important;min-width:0!important;
}
html body .site-footer .widget li>a:has(>img),
html body footer .widget li>a:has(>img){
  flex:0 0 auto!important;display:block!important;line-height:0!important;
}
html body .site-footer .widget li::after,html body footer .widget li::after{
  content:none!important;display:none!important;
}

/* MOBILE TITLE SIZING — single-post H1 and listing titles, ~7-8 words/line. */
@media(max-width:768px){
  html body.single .entry-title,
  html body.single h1.entry-title,
  html body.single .post-title,
  html body.single h1.post-title,
  html body.single .blog_post_container h1,
  html body.single .entry-content h1,
  html body.single .entry-header h1,
  html body.single article h1,
  html body.single-post .entry-title,
  html body.single-post h1.entry-title,
  html body.single-post .blog_post_container h1{
    font-size:17px!important;line-height:1.32!important;letter-spacing:-.004em!important;
    word-wrap:break-word!important;overflow-wrap:break-word!important;
  }
  html body .posts_list_wrapper h1,
  html body .posts_list_wrapper h2,
  html body .posts_list_wrapper h3,
  html body .posts_list_wrapper .entry-title,
  html body .posts_list_wrapper .post-title,
  html body .posts_list_wrapper h1 a,
  html body .posts_list_wrapper h2 a,
  html body .posts_list_wrapper h3 a,
  html body .posts_list_wrapper a[rel="bookmark"],
  html body.home .entry-title,html body.home .post-title,
  html body.home a[rel="bookmark"],
  html body.blog .entry-title,html body.blog .post-title,
  html body.blog a[rel="bookmark"],
  html body.archive .entry-title,html body.archive .post-title,
  html body.archive a[rel="bookmark"],
  html body.category .entry-title,html body.category .post-title,
  html body.category a[rel="bookmark"]{
    font-size:17px!important;line-height:1.34!important;letter-spacing:-.004em!important;
    word-wrap:break-word!important;overflow-wrap:break-word!important;
  }
}

/* CTA BUTTON — 25px, no clipping. The clip was flex shrink, not padding:
   as a flex item the button compressed below its own text width. */
html body .site-header li.menu-button>a,
html body header li.menu-button>a,
html body .top_menu_wrapper li.menu-button>a,
html body li.menu-button>a,
html body li.menu-button>a:link,
html body li.menu-button>a:visited{
  font-size:25px!important;font-weight:600!important;padding:14px 34px!important;
  width:max-content!important;min-width:max-content!important;max-width:none!important;
  flex-shrink:0!important;white-space:nowrap!important;overflow:visible!important;
  text-overflow:clip!important;min-height:52px!important;box-sizing:border-box!important;
}
html body li.menu-button,
html body .site-header li.menu-button,
html body .top_menu_wrapper li.menu-button{
  flex-shrink:0!important;width:auto!important;max-width:none!important;
  overflow:visible!important;
}
@media(max-width:1024px){
  html body .site-header li.menu-button>a,html body header li.menu-button>a,
  html body li.menu-button>a{
    font-size:23px!important;padding:13px 30px!important;min-height:50px!important;
  }
}
@media(max-width:768px){
  html body .site-header li.menu-button>a,html body header li.menu-button>a,
  html body li.menu-button>a{
    font-size:21px!important;padding:12px 26px!important;min-height:48px!important;
  }
}
@media(max-width:480px){
  html body .site-header li.menu-button>a,html body header li.menu-button>a,
  html body li.menu-button>a{
    font-size:20px!important;padding:11px 22px!important;min-height:46px!important;
  }
}

/* MENU TYPE SCALE — 25px semibold. Weight 600 is the ceiling of the imported
   Newsreader range; heavier would be a synthesised fake bold.
   NOTE: an earlier 19.5px copy of this whole block sat above and was fully
   dead — identical selectors, overridden here. Removed. */
html body .site-header .top_menu_wrapper a,
html body .site-header .main-menu a,
html body .site-header .primary-menu a,
html body .site-header .nav-menu a,
html body .site-header .menu a,
html body .site-header .menu-item a,
html body header .top_menu_wrapper a,
html body header .menu a,
html body header .menu-item a{
  font-size:25px!important;font-weight:600!important;
}
html body .top_menu_wrapper li ul li a,
html body .sub-menu li a,
html body .dropdown-menu li a{
  font-size:25px!important;font-weight:600!important;
}
html body .site-header .menu,
html body .site-header .top_menu_wrapper ul,
html body .site-header .main-menu,
html body .site-header .nav-menu,
html body header .menu{gap:14px!important}
html body li.menu-button{margin-right:16px!important}
@media(max-width:1024px){
  html body .site-header .top_menu_wrapper a,html body .site-header .main-menu a,
  html body .site-header .menu a,html body header .menu a,
  html body .top_menu_wrapper li ul li a,html body .sub-menu li a{
    font-size:23px!important;font-weight:600!important;
  }
  html body .site-header .menu,html body .site-header .top_menu_wrapper ul{gap:12px!important}
}
@media(max-width:768px){
  html body .site-header .top_menu_wrapper a,html body .site-header .main-menu a,
  html body .site-header .menu a,html body header .menu a{
    font-size:21px!important;font-weight:600!important;
  }
  html body li.menu-button{margin-right:0!important}
}
@media(max-width:480px){
  html body .site-header .top_menu_wrapper a,html body .site-header .main-menu a,
  html body .site-header .menu a,html body header .menu a,
  html body .top_menu_wrapper li ul li a,html body .sub-menu li a{
    font-size:20px!important;font-weight:600!important;
  }
}

/* CTA TRAILING SPACE — the button is a.mega-menu-link (Max Mega Menu), and
   box-sizing:content-box kept losing to Mega Menu's own stylesheet, so padding
   never extended the box. ::after inserts real inline content the background
   must cover. Three nbsp ~ 19-21px; add or remove one to tune. */
html body ul.mega-menu,
html body .mega-menu-wrap .mega-menu{flex-wrap:nowrap!important}
html body .site-header a.mega-menu-link[href*="free-consultation"]::after,
html body .mega-menu-item a.mega-menu-link[href*="free-consultation"]::after{
  content:"\00a0\00a0\00a0"!important;display:inline!important;font-size:inherit!important;
}
html body .site-header a.mega-menu-link[href*="free-consultation"],
html body .mega-menu-item a.mega-menu-link[href*="free-consultation"]{
  padding-right:30px!important;box-sizing:border-box!important;
}

/* === MOBILE: MENU ALWAYS VISIBLE — NO TAP STEP =====================
   Structure from asalah_header_topbar() in the child theme:

     .top_menu_wrapper
       .container
         .mobile_menu_button   ( span.mobile_menu_text + .writing_mobile_icon )
         .top_header_items_holder
           logo
           .header-menu-icon-container
             .main_menu > .main_nav > ul.nav.navbar-nav   span.mobile_menu_text,
  html body .top_menu_wrapper .writing_mobile_icon{
    display:none!important;visibility:hidden!important;
    width:0!important;height:0!important;max-height:0!important;
    padding:0!important;margin:0!important;border:0!important;
    position:absolute!important;left:-9999px!important;
    overflow:hidden!important;pointer-events:none!important;
  }

  /* 2 — the collapsed holder, forced open past the inline display:none. */
  html body .top_menu_wrapper .top_header_items_holder{
    display:block!important;visibility:visible!important;opacity:1!important;
    height:auto!important;max-height:none!important;min-height:0!important;
    width:100%!important;max-width:100%!important;
    overflow:visible!important;position:static!important;
    transform:none!important;clip:auto!important;float:none!important;
  }

  /* 3 — the nav column between the holder and the list. float:none
         because the theme uses Bootstrap pull-left on .main_menu. */
  html body .top_menu_wrapper .header-menu-icon-container,
  html body .top_menu_wrapper .main_menu,
  html body .top_menu_wrapper .main_nav{
    display:block!important;visibility:visible!important;opacity:1!important;
    height:auto!important;max-height:none!important;
    width:100%!important;max-width:100%!important;
    float:none!important;overflow:visible!important;position:static!important;
  }

  /* 4 — the five items as a wrapped centred row. Only ul.navbar-nav:
         dropdowns are ul.dropdown-menu and are deliberately excluded. */
  html body .top_menu_wrapper ul.nav.navbar-nav,
  html body .top_menu_wrapper .main_nav>ul.navbar-nav{
    display:flex!important;visibility:visible!important;opacity:1!important;
    height:auto!important;max-height:none!important;
    width:100%!important;max-width:100%!important;
    flex-wrap:wrap!important;flex-direction:row!important;
    justify-content:center!important;align-items:center!important;
    gap:10px 16px!important;margin:0!important;padding:4px 0!important;
    float:none!important;overflow:visible!important;position:static!important;
  }
  html body .top_menu_wrapper ul.nav.navbar-nav>li{
    display:block!important;visibility:visible!important;opacity:1!important;
    height:auto!important;max-height:none!important;
    width:auto!important;max-width:none!important;
    float:none!important;position:relative!important;overflow:visible!important;
  }
}
		