/*
Theme Name: Oswestry Family & Local History Group
Theme URI: https://www.oswestrygenealogy.org.uk/
Author: Oswestry Family & Local History Group
Description: A fully responsive, accessibility-first block theme for the Oswestry Family & Local History Group website. Header, footer, menu and page content are edited in the WordPress editors. Includes a photo album post type with a full-screen photo viewer, article layouts and block patterns.
Version: 2.1.26
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ofhg
*/

/* ==========================================================================
   Fonts (self-hosted, latin + latin-ext so Welsh letters like ŵ and ŷ work)
   ========================================================================== */
@font-face{font-family:"Spectral";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/spectral-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Spectral";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/spectral-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Spectral";font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/spectral-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Spectral";font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/spectral-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Spectral";font-style:italic;font-weight:500;font-display:swap;src:url(assets/fonts/spectral-latin-500-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Spectral";font-style:italic;font-weight:500;font-display:swap;src:url(assets/fonts/spectral-latin-ext-500-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/public-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/public-sans-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/public-sans-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/public-sans-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/public-sans-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/public-sans-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ==========================================================================
   Design tokens
   ========================================================================== */
:root{
  --c-bg:#f9f6f1;
  --c-ink:#1d1a15;
  --c-muted:#45423c;
  --c-muted-2:#504d47;
  --c-muted-3:#58554f;
  --c-faint:#66635d;
  --c-line:#dad7d0;
  --c-line-2:#c7c4bd;
  --c-line-3:#e4e1da;
  --c-panel:#f3f0e9;
  --c-tint:#e2efe4;
  --c-tint-line:#c1d4c4;
  --c-green:#174825;
  --c-green-mid:#295935;
  --c-green-dark:#133c1f;
  --c-green-ink:#233226;
  --c-field:#c1bdb7;
  --c-ph:#e2ded5;
  --c-ph-2:#d8d4ca;
  --c-fig:#e8e4dd;
  --c-white:#fff;
  --c-dark:#13110f;
  --c-dark-line:#2f2e2a;
  --c-dark-line-2:#4e4d49;
  --c-dark-ink:#f4f1ed;
  --c-dark-mut:#bfbdb9;
  --c-dark-link:#9fd3a9;

  --f-serif:"Spectral",Georgia,"Times New Roman",serif;
  --f-sans:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --wrap:1120px;
  --gutter:clamp(20px,4vw,40px);
  --radius:14px;
  --base-size:16px;
  --header-h:72px;
}
@supports (color:oklch(0.5 0.1 100)){
  :root{
    --c-bg:oklch(0.975 0.008 85);--c-ink:oklch(0.22 0.01 85);--c-muted:oklch(0.38 0.01 85);--c-muted-2:oklch(0.42 0.01 85);
    --c-muted-3:oklch(0.45 0.01 85);--c-faint:oklch(0.5 0.01 85);--c-line:oklch(0.88 0.01 85);--c-line-2:oklch(0.82 0.01 85);
    --c-line-3:oklch(0.91 0.01 85);--c-panel:oklch(0.955 0.01 85);--c-tint:oklch(0.94 0.02 150);--c-tint-line:oklch(0.85 0.03 150);
    --c-green:oklch(0.36 0.08 150);--c-green-mid:oklch(0.42 0.08 150);--c-green-dark:oklch(0.32 0.07 150);--c-green-ink:oklch(0.3 0.03 150);
    --c-field:oklch(0.8 0.01 85);--c-ph:oklch(0.9 0.012 85);--c-ph-2:oklch(0.87 0.014 85);--c-fig:oklch(0.92 0.01 85);
    --c-dark:oklch(0.18 0.006 85);--c-dark-line:oklch(0.3 0.006 85);--c-dark-line-2:oklch(0.42 0.006 85);
    --c-dark-ink:oklch(0.96 0.006 85);--c-dark-mut:oklch(0.8 0.006 85);--c-dark-link:oklch(0.82 0.08 150);
  }
}
body.ofhg-text-18{--base-size:18px}
body.ofhg-text-20{--base-size:20px}

/* ==========================================================================
   Base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}
body{
  margin:0;background:var(--c-bg);color:var(--c-ink);
  font-family:var(--f-sans);font-size:var(--base-size);line-height:1.5;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body.ofhg-lock{overflow:hidden}
img,svg,video{max-width:100%;height:auto}
img{display:block}
a{color:var(--c-green-mid)}
a:hover{color:var(--c-green-dark)}
:focus-visible{outline:3px solid var(--c-green);outline-offset:2px;border-radius:3px}
::placeholder{color:var(--c-faint);opacity:1}
h1,h2,h3,h4{font-family:var(--f-serif);font-weight:600;margin:0}
p{margin:0 0 1em;text-wrap:pretty}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background:var(--c-white);clip:auto!important;clip-path:none;color:var(--c-ink);display:block;font-size:1rem;height:auto;left:8px;padding:14px 20px;top:8px;width:auto;z-index:100000;box-shadow:0 0 0 2px var(--c-green)}
.skip-link{position:absolute;left:-9999px;top:8px;z-index:100001;background:var(--c-white);color:var(--c-ink);padding:14px 20px;border-radius:10px;font-weight:600}
.skip-link:focus{left:8px}
.ofhg-wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.mono-label{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}

/* Headings */
.page-title,.entry-title{
  font-family:var(--f-serif);font-weight:600;font-size:clamp(32px,4vw,46px);line-height:1.08;text-wrap:balance;margin:0;
}
h2.section-title,.entry-content h2,.ofhg-section-title{
  font-family:var(--f-serif);font-weight:600;font-size:clamp(22px,2.2vw + 6px,26px);line-height:1.2;
}
.lede{font-size:1.08em;max-width:62ch}

/* Buttons */
.ofhg-btn,.wp-block-button__link,button.ofhg-btn,
input[type=submit],button[type=submit],.wpcf7-submit,.wpforms-submit{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:52px;padding:0 28px;border:0;border-radius:12px;
  background:var(--c-green);color:#fff;font:600 16px var(--f-sans);text-decoration:none;cursor:pointer;
  transition:background .15s;
}
.ofhg-btn:hover,.wp-block-button__link:hover,input[type=submit]:hover,button[type=submit]:hover,.wpcf7-submit:hover,.wpforms-submit:hover{background:var(--c-green-dark);color:#fff}
.ofhg-btn--outline,.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent;color:var(--c-green-mid);border:1px solid var(--c-green-mid);min-height:48px;padding:0 18px;
}
.ofhg-btn--outline:hover,.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--c-tint);color:var(--c-green-dark)}

/* Forms (plugin forms inherit this too) */
input[type=text],input[type=email],input[type=search],input[type=url],input[type=tel],input[type=number],input[type=password],input[type=date],select,textarea{
  width:100%;min-height:52px;padding:0 14px;background:var(--c-white);border:1.5px solid var(--c-field);border-radius:12px;
  font:inherit;color:inherit;min-width:0;
}
textarea{padding:12px 14px;resize:vertical;min-height:140px}
select{padding-right:34px}
input:focus,select:focus,textarea:focus{border-color:var(--c-green);outline:3px solid color-mix(in srgb,var(--c-green) 25%,transparent);outline-offset:0}
label{font-weight:600;font-size:.9em}
.entry-content form p,.ofhg-form p{margin:0 0 14px}
.entry-content form label{display:flex;flex-direction:column;gap:6px}
.entry-content form label input,.entry-content form label textarea,.entry-content form label select{font-weight:400}
.wpcf7-not-valid-tip,.wpforms-error{color:#a11;font-size:.9em;margin-top:4px}
.wpcf7-response-output{border-radius:12px!important;padding:14px 16px!important;margin:14px 0 0!important}
input[type=checkbox],input[type=radio]{width:22px;height:22px;accent-color:var(--c-green);flex:none}

/* Tables (database plugin output, research tables) */
.entry-content table{width:100%;border-collapse:collapse;font-size:.95em}
.entry-content th,.entry-content td{padding:12px 10px;border-bottom:1px solid var(--c-line);text-align:left;vertical-align:top}
.entry-content th{font-weight:600;background:var(--c-panel);border-bottom:2px solid var(--c-line-2)}
.ofhg-table-scroll,.entry-content .wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ==========================================================================
   Header + navigation
   ========================================================================== */
.site-header{position:sticky;top:0;z-index:30;background:var(--c-bg);border-bottom:1px solid var(--c-line)}
body.admin-bar .site-header{top:32px}
@media (max-width:782px){body.admin-bar .site-header{top:46px}}
.site-header__top{
  max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);
  display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--header-h);
}
.site-title{margin:0;font-family:var(--f-serif);font-weight:600;font-size:clamp(18px,1.6vw + 4px,21px);line-height:1.15;max-width:320px}
@media (min-width:600px){.site-title{max-width:none}}
.site-title a{color:inherit;text-decoration:none}
.site-title a:hover{text-decoration:underline}
.custom-logo-link{display:block}
.custom-logo{max-height:52px;width:auto}

.primary-nav{display:none;max-width:var(--wrap);margin:-10px auto 0;padding:0 clamp(10px,3vw,30px) 0 clamp(10px,3vw,30px)}
.primary-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;gap:0 2px;overflow-x:auto;scrollbar-width:none}
.primary-nav ul::-webkit-scrollbar{display:none}
.primary-nav a{
  display:flex;align-items:center;min-height:44px;padding:0 10px;border-bottom:3px solid transparent;
  color:inherit;font:500 15px var(--f-sans);white-space:nowrap;text-decoration:none;
}
.primary-nav a:hover{border-bottom-color:var(--c-line-2);color:inherit}
.primary-nav .current-menu-item>a,.primary-nav .current-menu-ancestor>a,.primary-nav .current_page_item>a,.primary-nav .current-page-ancestor>a,.primary-nav a[aria-current=page]{
  border-bottom-color:var(--c-green-mid);color:var(--c-green);
}
.nav-long{display:none}
@media (min-width:1200px){.nav-long{display:inline}.nav-short{display:none}}
.nav-toggle{
  flex:none;min-width:64px;height:48px;padding:0 14px;border:1px solid var(--c-line-2);background:transparent;border-radius:10px;
  font:500 15px var(--f-sans);color:inherit;cursor:pointer;
}
.nav-toggle:hover{background:var(--c-panel)}

@media (min-width:1000px){
  .primary-nav{display:block}
  .nav-toggle,.mobile-menu{display:none!important}
}

/* Full screen mobile menu */
.mobile-menu{
  position:fixed;inset:0;z-index:100;background:var(--c-bg);display:flex;flex-direction:column;
  visibility:hidden;opacity:0;transition:opacity .15s,visibility 0s .15s;
}
.mobile-menu.is-open{visibility:visible;opacity:1;transition:opacity .15s}
.mobile-menu__bar{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:0 16px 0 20px;border-bottom:1px solid var(--c-line)}
.mobile-menu__label{font-family:var(--f-serif);font-weight:600;font-size:18px}
.mobile-menu nav{overflow-y:auto;padding:8px 20px}
.mobile-menu ul{list-style:none;margin:0;padding:0}
.mobile-menu li{border-bottom:1px solid var(--c-line-3)}
.mobile-menu a{
  display:flex;align-items:center;justify-content:space-between;min-height:58px;
  font-family:var(--f-serif);font-size:21px;font-weight:500;color:inherit;text-decoration:none;
}
.mobile-menu .current-menu-item>a,.mobile-menu .current_page_item>a,.mobile-menu .current-menu-ancestor>a,.mobile-menu a[aria-current=page]{font-weight:600;color:var(--c-green)}
.mobile-menu .here{display:none;font-family:var(--f-sans);font-size:13px;font-weight:500}
.mobile-menu .current-menu-item>a .here,.mobile-menu .current_page_item>a .here,.mobile-menu .current-menu-ancestor>a .here,.mobile-menu a[aria-current=page] .here{display:inline}
.mobile-menu__foot{margin-top:auto;padding:20px;font-size:14px;color:var(--c-muted-2)}

/* ==========================================================================
   Layout helpers
   ========================================================================== */
.site-main{min-height:60vh}
.back-link{display:flex;align-items:center;min-height:48px;margin-left:-12px;padding:0 12px;color:var(--c-green);font-weight:600;font-size:16px;text-decoration:none;width:max-content}
.back-link:hover{text-decoration:underline}
.back-wrap{padding-top:8px}
.page-head{padding-top:clamp(28px,5vw,56px);display:flex;flex-direction:column;gap:16px}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px clamp(32px,5vw,72px)}
.split--end{align-items:end}
.split--start{align-items:start}

/* Callout / notice */
.callout,.is-style-notice{background:var(--c-tint);border-radius:var(--radius);padding:20px 22px;display:flex;flex-direction:column;gap:8px}
.callout p,.is-style-notice p{margin:0}
.callout__title{font-weight:600}
.is-style-notice{display:block}
.is-style-notice>*+*{margin-top:8px}
.is-style-notice>*{margin-top:0;margin-bottom:0}
.is-style-notice>*+*{margin-top:8px}
.is-style-panel{background:var(--c-panel);border-radius:var(--radius);padding:20px}

/* Row list (link rows with arrow) */
.row-links{list-style:none;margin:0;padding:0}
.row-links a,.is-style-link-rows a{
  display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;border-top:1px solid var(--c-line);font-weight:500;
}
.row-links li:last-child a{border-bottom:1px solid var(--c-line)}
.is-style-link-rows,.entry-content ul.is-style-link-rows{list-style:none;margin:0;padding:0}
.is-style-link-rows li,.entry-content .is-style-link-rows li{margin:0}
.is-style-link-rows li:last-child a{border-bottom:1px solid var(--c-line)}
.is-style-link-rows a[target=_blank]::after,.row-links a[target=_blank]::after,.row-links a.ext::after{content:"↗"}

/* ==========================================================================
   Generic page / entry content
   ========================================================================== */
.entry-content{font-size:1em}
.entry-content>*{max-width:760px}
.entry-content>.alignwide,.entry-content>.wp-block-columns.alignwide,.entry-content>.is-style-resource-list,.entry-content>.is-style-project-list,.entry-content>.wp-block-group.alignwide{max-width:var(--wrap)}
.entry-content>.alignfull{max-width:none}
.page-wrap{padding-top:clamp(28px,5vw,56px);padding-bottom:8px}
.page-wrap .entry-header{margin-bottom:20px}
.entry-content>.aligncenter{margin-left:auto;margin-right:auto}
.entry-content>*+*{margin-top:1.1em}
.entry-content h2{margin-top:1.6em;padding-bottom:8px;border-bottom:1px solid var(--c-line-2)}
.entry-content h3{font-size:1.25em;margin-top:1.4em}
.entry-content ul,.entry-content ol{padding-left:1.4em}
.entry-content li{margin:.3em 0}
.entry-content figure{margin-left:0;margin-right:0}
.entry-content figcaption,.wp-caption-text{font-size:.88em;color:var(--c-muted-2);margin-top:6px}
.entry-content img{border-radius:4px}
.entry-content hr,.wp-block-separator{border:0;border-top:1px solid var(--c-line);margin:2em auto}
.entry-content blockquote,.wp-block-quote{
  margin:.6em 0;padding:4px 0 4px 20px;border-left:3px solid var(--c-green-mid);
  font-family:var(--f-serif);font-style:italic;font-size:1.25em;line-height:1.5;color:var(--c-green-ink);
}
.entry-content blockquote p{margin:0}
.entry-content blockquote cite{display:block;margin-top:.5em;font:500 .7em var(--f-sans);font-style:normal;color:var(--c-muted-2)}
.alignleft{float:left;margin:0 1.4em 1em 0}
.alignright{float:right;margin:0 0 1em 1.4em}
.aligncenter{margin-left:auto;margin-right:auto}
@media (max-width:600px){.alignleft,.alignright{float:none;margin:0 0 1em}}
.wp-block-embed iframe,.entry-content iframe{max-width:100%}
.entry-content .wp-block-file{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 0}
.entry-content .wp-block-file a:not(.wp-block-file__button){font-weight:500}
.entry-content .wp-block-file__button{min-height:40px;padding:0 14px;font-size:14px}
.entry-content details{border:1px solid var(--c-line);border-radius:12px;padding:0 16px;background:var(--c-white)}
.entry-content details summary{min-height:52px;display:flex;align-items:center;font-weight:600;cursor:pointer}
.entry-content details[open]{padding-bottom:16px}

/* Block styles */
.entry-content ul.is-style-resource-list{list-style:none;padding:0;margin:0;counter-reset:res;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));column-gap:40px}
.is-style-resource-list li{counter-increment:res;margin:0;border-bottom:1px solid var(--c-line)}
.is-style-resource-list li>a,.is-style-resource-list li>span{display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 0;color:inherit;text-decoration:none;font-weight:500;line-height:1.35}
.is-style-resource-list li>a:hover{color:var(--c-green-dark);text-decoration:underline}
.is-style-resource-list li>a::before,.is-style-resource-list li>span::before{content:counter(res,decimal-leading-zero);flex:none;width:26px;font-family:var(--f-mono);font-size:12px;font-weight:400;color:var(--c-faint)}
.is-style-resource-list li>a[href$=".pdf"]::after,.is-style-resource-list li>a[href*=".pdf?"]::after{margin-left:auto}
a[href$=".pdf"]:not(.wp-block-button__link):not(.wp-block-file__button)::after,a[href*=".pdf?"]:not(.wp-block-button__link):not(.wp-block-file__button)::after{
  content:"PDF";flex:none;margin-left:10px;font-family:var(--f-mono);font-size:11px;font-weight:400;line-height:1;padding:3px 6px;border:1px solid var(--c-green-mid);border-radius:4px;color:var(--c-green);text-decoration:none;display:inline-block;vertical-align:middle;white-space:nowrap
}
.is-style-resource-list a[href$=".pdf"]::after{margin-left:auto}
.entry-content ul.is-style-project-list{list-style:none;padding:0;margin:0;column-width:340px;column-gap:48px}
.is-style-project-list li{display:flex;gap:12px;padding:12px 0;margin:0;border-bottom:1px solid var(--c-line-3);break-inside:avoid}
.is-style-project-list li::before{content:"";flex:none;width:6px;height:6px;margin-top:.65em;background:var(--c-green-mid);border-radius:1px}
.is-style-author-note{padding:18px 20px;background:var(--c-panel);border-radius:12px;font-size:.92em}
.is-style-author-note>*{margin-top:0;margin-bottom:8px}
.is-style-author-note>*:last-child{margin-bottom:0}

/* Search panel (Roll of Honour / BMD) */
.ofhg-search-panel{max-width:860px;padding:20px;background:var(--c-panel);border-radius:var(--radius);display:flex;flex-direction:column;gap:16px}
.entry-content>.ofhg-search-panel{margin-left:0}
.ofhg-search-panel .row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.ofhg-search-panel .row>label{flex:1 1 200px}
.ofhg-search-panel .pills{display:flex;flex-wrap:wrap;gap:8px}
.ofhg-search-panel .pills label{position:relative;display:inline-flex;flex-direction:row;gap:0}
.ofhg-search-panel .pills input{position:absolute;opacity:0;width:1px;height:1px}
.ofhg-search-panel .pills span{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:20px;border:1px solid var(--c-field);background:#fff;font:500 14px var(--f-sans);cursor:pointer}
.ofhg-search-panel .pills input:checked+span{background:var(--c-green);border-color:var(--c-green);color:#fff}
.ofhg-search-panel .pills input:focus-visible+span{outline:3px solid var(--c-green);outline-offset:2px}
.ofhg-search-panel .hint{font-size:.88em;color:var(--c-muted-2)}
.ofhg-result{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--c-line);max-width:860px}
.ofhg-result__main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.ofhg-result__main strong{font-weight:600}
.ofhg-result__main span{font-size:.88em;color:var(--c-muted-2)}

/* WordPress core search form */
.search-form{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;max-width:560px}
.search-form label{flex:1 1 220px;display:block}
.search-form .search-field{width:100%}
.search-form .search-submit{flex:1 1 120px;max-width:200px}

/* ==========================================================================
   Articles (blog index + single)
   ========================================================================== */
.article-row{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--c-line);color:inherit;text-decoration:none;height:100%}
.article-row:hover .article-row__title{text-decoration:underline}
.thumb-ph{background:repeating-linear-gradient(135deg,var(--c-ph) 0 6px,var(--c-ph-2) 6px 12px)}
.article-row__thumb{width:80px;aspect-ratio:1;flex:none;border-radius:6px;overflow:hidden}
.article-row__thumb img{width:100%;height:100%;object-fit:cover}
.article-row__body{display:flex;flex-direction:column;gap:3px;min-width:0}
.article-row__title{font-family:var(--f-serif);font-weight:600;font-size:1.12em;line-height:1.25;text-wrap:pretty}
.article-row__date{font-size:.86em;color:var(--c-muted-2)}
.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:20px;flex-wrap:wrap}
.pager__count{color:var(--c-muted-2)}
.pager__links{display:flex;gap:10px;flex-wrap:wrap}
.pager a{display:flex;align-items:center;min-height:48px;padding:0 18px;border:1px solid var(--c-green-mid);border-radius:12px;font-weight:600;text-decoration:none}
.pager a:hover{background:var(--c-tint)}

.article-hero{padding-top:8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:24px clamp(32px,5vw,72px);align-items:center}
.article-hero__text{display:flex;flex-direction:column;gap:14px}
.article-hero__kicker{color:var(--c-green)}
.article-hero__by{font-size:.92em;color:var(--c-muted)}
.article-hero__fig{margin:0;background:var(--c-fig);border-radius:8px;display:flex;justify-content:center;padding:16px}
.article-hero__fig img{max-height:360px;width:auto;border-radius:2px}
.article-body{max-width:720px;margin:0 auto;padding:clamp(24px,4vw,48px) var(--gutter) 0}
.article-body .entry-content>*{max-width:none}
.article-body .entry-content>p{font-size:1.06em;line-height:1.7}
.article-photos{padding-top:clamp(32px,5vw,56px)}

/* Gallery -> square tiles + viewer (used in articles and albums) */
.entry-content .wp-block-gallery,.photo-grid{
  display:grid!important;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px!important;max-width:none;
}
.entry-content .wp-block-gallery>.wp-block-image,.entry-content .wp-block-gallery .blocks-gallery-item{
  width:auto!important;margin:0!important;aspect-ratio:1;background:var(--c-fig);border-radius:6px;display:flex;align-items:center;justify-content:center;padding:10px;overflow:hidden;flex:none!important;
}
.entry-content .wp-block-gallery .wp-block-image a{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.entry-content .wp-block-gallery img{width:auto!important;max-width:100%;height:auto!important;max-height:100%;object-fit:contain;border-radius:0}
.entry-content .wp-block-gallery figcaption{display:none}
.entry-content .wp-block-gallery a{cursor:zoom-in}
.entry-content .gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;max-width:none}
.entry-content .gallery .gallery-item{width:auto!important;margin:0;aspect-ratio:1;background:var(--c-fig);border-radius:6px;padding:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.entry-content .gallery img{border:0!important;max-height:100%;width:auto;object-fit:contain}
.entry-content .gallery .gallery-caption{display:none}

/* ==========================================================================
   Photo albums
   ========================================================================== */
.albums-head{padding-top:clamp(28px,5vw,56px)}
.albums-head .split{align-items:end}
.albums-head .lede{margin:16px 0 0}
.album-search{display:flex;align-items:center;gap:10px;height:56px;padding:0 16px;background:#fff;border:1.5px solid var(--c-field);border-radius:12px}
.album-search:focus-within{border-color:var(--c-green);outline:3px solid color-mix(in srgb,var(--c-green) 25%,transparent)}
.album-search__icon{width:14px;height:14px;border:2px solid var(--c-muted-3);border-radius:50%;flex:none;position:relative}
.album-search__icon::after{content:"";position:absolute;width:2px;height:6px;background:var(--c-muted-3);right:-4px;bottom:-6px;transform:rotate(-45deg)}
.album-search input{flex:1;min-width:0;border:0!important;outline:0!important;background:transparent;height:100%;min-height:0;padding:0;font:inherit;color:inherit}
.album-search input:focus{outline:0!important}
.album-group{padding-top:32px;display:flex;flex-direction:column;gap:14px}
.album-group[hidden]{display:none}
.album-group .section-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;border-color:var(--c-line-2)}
.album-group .count{font-size:14px;color:var(--c-muted-3)}
.album-list{list-style:none;margin:0;padding:0;column-width:260px;column-gap:40px}
.album-list li{break-inside:avoid}
.album-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:6px 0;border-bottom:1px solid var(--c-line-3);color:inherit;font-weight:500;text-decoration:none}
.album-list a::after{content:"›";color:var(--c-faint)}
.album-list a:hover{color:var(--c-green-dark);text-decoration:underline}
.album-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px 14px}
.album-tile{display:flex;flex-direction:column;gap:8px;color:inherit;text-decoration:none;height:100%}
.album-tile__img{aspect-ratio:4/3;width:100%;border-radius:8px;overflow:hidden;position:relative}
.album-tile__img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.album-tile:hover .album-tile__img img{transform:scale(1.04)}
.album-tile__name{font-weight:600;line-height:1.25}
.album-tile:hover .album-tile__name{text-decoration:underline}
.albums-none{padding-top:24px;color:var(--c-muted-2)}
.albums-foot{padding-top:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px clamp(32px,5vw,72px);align-items:start}
.albums-foot .callout{padding:20px}
.albums-foot .callout h2{font-size:clamp(22px,2.2vw + 6px,26px);margin-bottom:6px;border:0;padding:0}
.albums-foot .callout .entry-content>*{max-width:none}
.albums-foot .callout ul{list-style:none;padding:0;margin:0}
.albums-foot .callout li{margin:0}
.albums-foot .callout li a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;border-top:1px solid var(--c-tint-line);color:inherit;font-weight:500;line-height:1.3;text-decoration:none}
.albums-foot .callout li a:hover{text-decoration:underline}
.albums-foot .note{font-size:14px;color:var(--c-muted-2);margin:0}

/* Single album */
.album-head{padding-top:8px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px}
.album-head__meta{font-size:14px;color:var(--c-muted-3)}
.album-head__text{display:flex;flex-direction:column;gap:8px}
.album-intro{padding-top:16px}
.album-intro .entry-content>*{max-width:62ch}
.album-intro .entry-content .wp-block-gallery,.album-intro .entry-content .gallery{display:none!important}
.seg{display:flex;border:1px solid var(--c-line-2);border-radius:10px;overflow:hidden}
.seg button{min-width:64px;height:44px;border:0;background:transparent;font:500 14px var(--f-sans);color:inherit;cursor:pointer}
.seg button[aria-pressed=true]{background:var(--c-ink);color:#fff}
.photo-grid{padding-top:20px;padding-left:clamp(4px,4vw,40px);padding-right:clamp(4px,4vw,40px);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px!important;list-style:none;margin:0 auto;max-width:var(--wrap)}
@media (min-width:640px){.photo-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px!important}}
.photo-grid__item{margin:0;padding:0}
.photo-grid__btn{display:block;width:100%;aspect-ratio:1;padding:0;border:0;border-radius:4px;overflow:hidden;cursor:zoom-in;position:relative}
.photo-grid__btn img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.photo-grid__btn:hover img{transform:scale(1.04)}
.photo-grid__title{display:none}
.photo-grid.is-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));column-gap:40px;row-gap:0!important;padding-left:var(--gutter);padding-right:var(--gutter)}
.photo-grid.is-list .photo-grid__item{border-bottom:1px solid var(--c-line-3)}
.photo-grid.is-list .photo-grid__btn{aspect-ratio:auto;display:flex;align-items:center;gap:14px;padding:10px 0;text-align:left;border-radius:0;overflow:visible;font:inherit;color:inherit;background:none}
.photo-grid.is-list .photo-grid__btn img{width:88px;height:88px;flex:none;border-radius:6px}
.photo-grid.is-list .photo-grid__title{display:block;font-weight:500;line-height:1.35;min-width:0}
.album-nav{padding-top:32px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.album-nav a{display:flex;align-items:center;min-height:48px;padding:0 18px;border:1px solid var(--c-green-mid);border-radius:12px;font-weight:600;text-decoration:none}
.album-nav a:hover{background:var(--c-tint)}

/* Photo viewer */
.viewer{position:fixed;inset:0;z-index:200;background:var(--c-dark);color:var(--c-dark-ink);display:none;flex-direction:column}
.viewer.is-open{display:flex}
.viewer:not(.is-open),.viewer:not(.is-open) *{display:none!important}
.viewer__stage{flex:1;min-height:0;display:flex;flex-direction:column}
.viewer__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 8px 20px}
.viewer__pos{font-size:15px;color:var(--c-dark-mut)}
.viewer__btn{min-width:64px;height:48px;padding:0 14px;border:1px solid var(--c-dark-line-2);background:transparent;border-radius:10px;color:inherit;font:500 15px var(--f-sans);cursor:pointer}
.viewer__btn:hover{background:rgba(255,255,255,.08)}
.viewer :focus-visible{outline-color:var(--c-dark-link)}
.viewer__imgbox{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:8px 0;overflow:auto;touch-action:pan-x pan-y pinch-zoom}
.viewer__imgbox img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;cursor:zoom-in;background:var(--c-dark-line)}
.viewer__imgbox.is-zoomed{align-items:flex-start;justify-content:flex-start}
.viewer__imgbox.is-zoomed img{max-width:none;max-height:none;cursor:zoom-out}
.viewer__hint{font-family:var(--f-mono);font-size:11px;color:var(--c-dark-mut);text-align:center;padding:0 0 6px}
.viewer__panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:45vh;border-top:1px solid var(--c-dark-line)}
.viewer__info{flex:1;overflow-y:auto;padding:12px 20px;display:flex;flex-direction:column;gap:14px}
.viewer__title{font-family:var(--f-serif);font-weight:500;font-size:25px;line-height:1.25;text-wrap:pretty;margin:0}
.viewer__caption{margin:0;color:var(--c-dark-mut);font-size:.95em}
.viewer__tell{align-self:flex-start;font-size:15px;color:var(--c-dark-link)}
.viewer__tell:hover{color:#fff}
.viewer__pager{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px 24px;border-top:1px solid var(--c-dark-line)}
.viewer__pager button{height:56px;border-radius:12px;border:1px solid var(--c-dark-line-2);background:transparent;color:inherit;font:600 16px var(--f-sans);cursor:pointer}
.viewer__pager button:last-child{border:0;background:var(--c-dark-ink);color:var(--c-dark)}
.viewer__pager button:disabled{opacity:.35;cursor:default}
@media (min-width:900px){
  .viewer{flex-direction:row}
  .viewer__imgbox{padding:12px 32px 32px}
  .viewer__panel{flex:none;width:380px;max-height:none;border-top:0;border-left:1px solid var(--c-dark-line)}
  .viewer__info{padding:84px 24px 16px}
}
@media (max-width:899px){.viewer__pager{padding-bottom:max(24px,env(safe-area-inset-bottom))}}

/* ==========================================================================
   Contact
   ========================================================================== */
.sessions{background:var(--c-tint);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:10px}
.sessions p{margin:0;font-size:.92em}
.sessions .sessions__label{color:var(--c-green-dark);font-size:11px}
.sessions__times{display:grid;grid-template-columns:auto 1fr;gap:4px 20px}
.sessions__times p{font-size:1.05em}
.contact-row{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:60px;padding:8px 0;border-bottom:1px solid var(--c-line)}
.contact-row p{margin:0}
.contact-row__k{font-size:13px;color:var(--c-muted-3)}
.contact-row__v{font-weight:500}
.contact-row__v a{color:inherit;text-decoration:none}
.contact-row__v a::after{content:"";position:absolute;inset:0}
.contact-row__v a:hover{text-decoration:underline}
.contact-form-box{display:flex;flex-direction:column;gap:14px;padding:0;border-radius:16px}
@media (min-width:640px){.contact-form-box{padding:28px;background:var(--c-panel)}}
.contact-form-box>*{margin:0}
.contact-form-box .hint{font-size:.92em;color:var(--c-muted)}
.contact-form-box form>p,.contact-form-box .wpforms-field,.contact-form-box .wpcf7-form>p{margin-bottom:14px}
.contact-form-box .wpcf7-form p label{display:flex;flex-direction:column;gap:6px}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer{margin-top:clamp(40px,6vw,80px);border-top:1px solid var(--c-line);background:var(--c-panel)}
.site-footer__inner{max-width:var(--wrap);margin:0 auto;padding:28px var(--gutter) 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px 48px;font-size:14px;color:var(--c-muted)}
.site-footer__col{display:flex;flex-direction:column;gap:6px}
.site-footer__name{font-family:var(--f-serif);font-weight:600;font-size:18px;color:var(--c-ink)}
.site-footer p{margin:0}
.site-footer a{color:var(--c-green-mid)}

/* 404 / empty */
.not-found{padding-top:clamp(28px,5vw,56px);display:flex;flex-direction:column;gap:20px}

/* WordPress alignment / misc */
.wp-block-image img{height:auto}
.wp-block-columns{gap:clamp(24px,4vw,48px)}
@media (max-width:781px){.wp-block-columns{flex-wrap:wrap!important}.wp-block-column{flex-basis:100%!important}}

/* Reduced motion + print */
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{
  .site-header,.mobile-menu,.viewer,.site-footer,.skip-link{display:none!important}
  body{background:#fff;font-size:12pt}
}


/* ==========================================================================
   Block theme layer (v2)
   ========================================================================== */
.wp-site-blocks{padding:0}
.wp-site-blocks>*{margin-block-start:0}
.site-header{margin:0}
.site-header .site-header__top{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.site-header .site-title{margin:0}
.site-header .site-header__top>*{margin:0}
.site-header .nav-toggle#nav-open{position:absolute;top:12px;right:var(--gutter)}
.wp-theme-oswestry-fhg .site-header .mobile-menu-note{display:none}
.mobile-menu .nav-toggle{position:static}
.site-header .primary-nav ul,.site-header .mobile-menu ul{margin:0;padding:0;list-style:none}
.site-header .mobile-menu nav{padding:8px 20px}
.site-header .mobile-menu li{margin:0}
.wp-block-site-title a{color:inherit;text-decoration:none}
.site-footer .site-footer__name{font-family:var(--f-serif);font-weight:600;font-size:18px;color:var(--c-ink);margin:0}

.site-main{max-width:var(--wrap);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.site-main>.page-head,.site-main>.albums-head,.site-main>.not-found,.site-main>.page-wrap{padding-left:0;padding-right:0}
.site-main .back-link-wrap{margin:0;padding-top:8px}
.site-main>*+*{margin-top:0}

/* Columns behave like the design's grids */
.entry-content .wp-block-columns,.site-main .wp-block-columns{margin-bottom:0;flex-wrap:wrap}
.entry-content .wp-block-column,.site-main .wp-block-column{min-width:0}
.entry-content .wp-block-columns>.wp-block-column>*+*{margin-top:1em}
@media (max-width:781px){.entry-content .wp-block-columns,.site-main .wp-block-columns{flex-direction:column;gap:var(--col-gap,16px)}}

/* ---- Home page blocks ---- */
.entry-content .hero-tiles{gap:clamp(10px,1.5vw,16px);padding-top:clamp(16px,3vw,32px)}
.hero-tiles>.wp-block-column{flex:none;width:100%}
@media (min-width:782px){.hero-tiles>.wp-block-column{flex:1 1 0;width:auto}}
.hero-tile.wp-block-cover{min-height:0;aspect-ratio:16/9;border-radius:14px;overflow:hidden;padding:0;background:var(--c-ph);align-items:flex-end;justify-content:flex-start}
@media (min-width:740px){.hero-tile.wp-block-cover{aspect-ratio:16/10}}
.hero-tile .wp-block-cover__inner-container{width:100%;padding:clamp(14px,2vw,22px) clamp(16px,2vw,24px);color:#fff;text-align:left}
.hero-tile .wp-block-cover__inner-container>*{margin:0;color:#fff}
.hero-tile .hero-tile__kicker{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;line-height:1.5}
.hero-tile .hero-tile__title{font-family:var(--f-serif);font-weight:600;font-size:clamp(28px,3.4vw,42px);line-height:1.05;margin-top:2px;border:0;padding:0}
.hero-tile .hero-tile__title a{color:#fff;text-decoration:none}
.hero-tile .hero-tile__title a::after{content:"";position:absolute;inset:0;z-index:3}
.hero-tile .wp-block-cover__image-background{transition:transform .4s}
.hero-tile:hover .wp-block-cover__image-background{transform:scale(1.03)}
.hero-tile:focus-within{outline:3px solid var(--c-green);outline-offset:3px}

.entry-content .home-welcome{padding-top:clamp(28px,4vw,48px);gap:24px clamp(32px,5vw,72px);align-items:flex-start}
.home-welcome>.wp-block-column,.home-ack>.wp-block-column{flex:none;width:100%}
@media (min-width:782px){.home-welcome>.wp-block-column,.home-ack>.wp-block-column{flex:1 1 0;width:auto}}
.home-welcome .page-title{margin:0 0 16px}
.home-welcome .lede{margin:0}

.entry-content .section-head{margin-top:clamp(32px,5vw,56px);margin-bottom:0;padding-bottom:8px;border-bottom:1px solid var(--c-line-2);font-size:clamp(22px,2.2vw + 6px,26px)}
.entry-content .section-grid{column-gap:40px;row-gap:0;margin-top:0}
.entry-content .section-row{position:relative;display:flex;flex-direction:column;gap:4px;padding:18px 32px 18px 0;margin:0;border-bottom:1px solid var(--c-line)}
.section-row::after{content:"›";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:20px;color:var(--c-faint)}
.entry-content .section-row__name{margin:0;padding:0;border:0;font-size:1.18em;line-height:1.25;color:var(--c-green-dark)}
.section-row__name a{color:inherit;text-decoration:none}
.section-row__name a::after{content:"";position:absolute;inset:0}
.section-row:hover .section-row__name a{text-decoration:underline}
.entry-content .section-row__desc{margin:0;font-size:.92em;color:var(--c-muted)}

.entry-content .home-ack{margin-top:clamp(32px,5vw,56px);gap:16px clamp(32px,5vw,72px)}
.entry-content .home-ack h2{margin:0 0 12px;padding:0;border:0}
.home-ack p{margin-bottom:12px}

/* ---- Article list (blog, archive, search) ---- */
.article-query{padding-top:16px}
.article-query .wp-block-post-template{list-style:none;margin:0;padding:0;column-gap:40px;row-gap:0}
.article-query .wp-block-post-template>li{margin:0}
.article-row{position:relative;display:flex;flex-wrap:nowrap;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--c-line)}
.article-row__thumb{flex:none;width:80px;height:80px;margin:0;border-radius:6px;overflow:hidden;background:repeating-linear-gradient(135deg,var(--c-ph) 0 6px,var(--c-ph-2) 6px 12px)}
.article-row__thumb img{width:100%;height:100%;object-fit:cover}
.article-row__body{display:flex;flex-direction:column;gap:3px;min-width:0}
.article-row__title{margin:0;font-family:var(--f-serif);font-weight:600;font-size:1.12em;line-height:1.25;text-wrap:pretty}
.article-row__title a{color:inherit;text-decoration:none}
.article-row__title a::after{content:"";position:absolute;inset:0}
.article-row:hover .article-row__title a{text-decoration:underline}
.article-row__date{display:flex;flex-wrap:nowrap;gap:.3em;font-size:.86em;color:var(--c-muted-2)}
.article-row__date p{margin:0}
.article-query .pager{margin-top:20px}
.article-query .pager .wp-block-query-pagination-previous,.article-query .pager .wp-block-query-pagination-next{display:flex;align-items:center;min-height:48px;padding:0 18px;border:1px solid var(--c-green-mid);border-radius:12px;font-weight:600;text-decoration:none;margin:0}
.article-query .pager a:hover{background:var(--c-tint)}
.page-head .wp-block-query-title{margin:0}

/* ---- Single article ---- */
.entry-content .article-hero,.article-hero.wp-block-columns{padding-top:8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:24px clamp(32px,5vw,72px);align-items:center;margin-bottom:0}
.article-hero__text{display:flex;flex-direction:column;gap:14px}
.article-hero__text>*{margin:0!important}
.article-hero__kicker a{color:inherit;text-decoration:none}
.article-hero__by:empty{display:none}
.article-hero__fig{margin:0;background:var(--c-fig);border-radius:8px;padding:16px;display:flex;justify-content:center}
.article-hero__fig .wp-block-post-featured-image{margin:0}
.article-hero__fig img{max-height:360px;width:auto;height:auto;border-radius:2px;margin:0 auto}
.article-body{max-width:720px;margin:0 auto;padding:clamp(24px,4vw,48px) 0 0}
.article-body .entry-content>*{max-width:none}

/* ---- Interim albums / contact blocks ---- */
.ofhg-album .photo-grid{max-width:none;padding-left:0;padding-right:0;margin-left:calc(4px - var(--gutter));margin-right:calc(4px - var(--gutter))}
@media (min-width:640px){.ofhg-album .photo-grid{margin-left:0;margin-right:0}}
.ofhg-album .photo-grid.is-list{margin-left:0;margin-right:0}
.site-main .albums-foot{padding-top:40px;gap:20px clamp(32px,5vw,72px);align-items:flex-start;margin-bottom:0}
.site-main .albums-foot>.wp-block-column{flex:none;width:100%}
@media (min-width:782px){.site-main .albums-foot>.wp-block-column{flex:1 1 0;width:auto}}
.is-style-notice h2{font-size:clamp(22px,2.2vw + 6px,26px);margin:0 0 6px;padding:0;border:0}
.contact-form-box h2{font-size:clamp(22px,2.2vw + 6px,26px);border:0;padding:0}
.site-main .page-title.page-head{padding-top:clamp(28px,5vw,56px)}
.site-main .page-wrap .entry-header{margin:0 0 20px}
.not-found .wp-block-search{max-width:560px}
.ofhg-search .wp-block-search__inside-wrapper{gap:12px;display:flex;flex-wrap:wrap}
.ofhg-search .wp-block-search__input{flex:1 1 220px}
.ofhg-search .wp-block-search__button{margin:0;min-height:52px}

.entry-content .is-style-notice>*+*,.is-style-notice>*+*{margin-top:8px}
.wp-site-blocks>.site-footer{margin-top:clamp(40px,6vw,80px)}
.site-header .site-header__top{max-width:var(--wrap)}

/* ---- Editor canvas (block editor): the editor has no .entry-content / .site-main wrapper, so mirror the home-page rules here ---- */
.editor-styles-wrapper .is-root-container{max-width:var(--wrap);margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.editor-styles-wrapper .is-root-container>*{max-width:none!important;margin-left:0!important;margin-right:0!important}
.editor-styles-wrapper .is-root-container>.wp-block-heading:not(.section-head),.editor-styles-wrapper .is-root-container>p,.editor-styles-wrapper .is-root-container>ul:not(.is-style-resource-list):not(.is-style-project-list),.editor-styles-wrapper .is-root-container>ol{max-width:760px!important}
.editor-styles-wrapper .is-root-container>*+*{margin-top:0}
.editor-styles-wrapper .is-root-container .wp-block-columns,.site-main .wp-block-columns{margin-bottom:0;flex-wrap:wrap}
.editor-styles-wrapper .is-root-container .wp-block-column,.site-main .wp-block-column{min-width:0}
.editor-styles-wrapper .is-root-container .wp-block-columns>.wp-block-column>*+*{margin-top:1em}
@media (max-width:781px){.editor-styles-wrapper .is-root-container .wp-block-columns,.site-main .wp-block-columns{flex-direction:column;gap:var(--col-gap,16px)}}
.editor-styles-wrapper .is-root-container .hero-tiles{gap:clamp(10px,1.5vw,16px);padding-top:clamp(16px,3vw,32px)}
.editor-styles-wrapper .is-root-container .home-welcome{padding-top:clamp(28px,4vw,48px);gap:24px clamp(32px,5vw,72px);align-items:flex-start}
.editor-styles-wrapper .is-root-container .section-head{margin-top:clamp(32px,5vw,56px);margin-bottom:0;padding-bottom:8px;border-bottom:1px solid var(--c-line-2);font-size:clamp(22px,2.2vw + 6px,26px)}
.editor-styles-wrapper .is-root-container .section-grid{column-gap:40px;row-gap:0;margin-top:0}
.editor-styles-wrapper .is-root-container .section-row{position:relative;display:flex;flex-direction:column;gap:4px;padding:18px 32px 18px 0;margin:0;border-bottom:1px solid var(--c-line)}
.editor-styles-wrapper .is-root-container .section-row__name{margin:0;padding:0;border:0;font-size:1.18em;line-height:1.25;color:var(--c-green-dark)}
.editor-styles-wrapper .is-root-container .section-row__desc{margin:0;font-size:.92em;color:var(--c-muted)}
.editor-styles-wrapper .is-root-container .home-ack{margin-top:clamp(32px,5vw,56px);gap:16px clamp(32px,5vw,72px)}
.editor-styles-wrapper .is-root-container .home-ack h2{margin:0 0 12px;padding:0;border:0}

/* ---- Intro row for pages using the "Page with heading in content" template (heading + lede beside a tip box) ---- */
.entry-content .page-intro{padding-top:clamp(28px,5vw,56px);gap:20px clamp(32px,5vw,72px);align-items:flex-end;margin-bottom:8px}
.page-intro>.wp-block-column{flex:none;width:100%}
@media (min-width:782px){.page-intro>.wp-block-column{flex:1 1 0;width:auto}}
.page-intro .page-title{margin:0 0 16px}
.page-intro .lede{margin:0}
.page-intro .is-style-notice{font-size:.92em}
.editor-styles-wrapper .is-root-container .page-intro{padding-top:clamp(28px,5vw,56px);gap:20px clamp(32px,5vw,72px);align-items:flex-end}
.editor-styles-wrapper .is-root-container ul.is-style-resource-list{list-style:none;padding:0;margin:0;counter-reset:res;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));column-gap:40px}
/* Editor: list items are <li><div contenteditable><a>, so style the inner div like the front-end rows */
.editor-styles-wrapper .is-style-resource-list>li{min-height:60px;display:flex;align-items:center}
.editor-styles-wrapper .is-style-resource-list>li>.rich-text{position:relative;flex:1;padding:8px 0 8px 38px;font-weight:500;line-height:1.35}
.editor-styles-wrapper .is-style-resource-list>li>.rich-text::before{content:counter(res,decimal-leading-zero);position:absolute;left:0;top:50%;transform:translateY(-50%);width:26px;font-family:var(--f-mono);font-size:12px;font-weight:400;color:var(--c-faint);user-select:none;pointer-events:none}
.editor-styles-wrapper .is-style-resource-list>li a{color:inherit;text-decoration:none}

/* Editor: on pages whose layout carries its own heading, hide the separate title field so editors don't see the title twice.
   (Home keeps a fixed "Welcome" heading; rename the page from the Pages list > Quick Edit.) */
.editor-styles-wrapper:has(.page-intro) .edit-post-visual-editor__post-title-wrapper,.editor-styles-wrapper:has(.home-welcome) .edit-post-visual-editor__post-title-wrapper{display:none}

/* ---- Photo Albums page (pattern "Photo Albums page") ---- */
.page-intro .album-search{margin:0}
.entry-content .albums-foot{padding-top:40px;gap:20px clamp(32px,5vw,72px);align-items:flex-start;margin-bottom:0}
.albums-foot>.wp-block-column{flex:none;width:100%}
@media (min-width:782px){.albums-foot>.wp-block-column{flex:1 1 0;width:auto}}
.albums-foot .is-style-notice{padding:20px}
.albums-foot .is-style-notice h2{margin:0 0 6px;padding:0;border:0;font-size:clamp(22px,2.2vw + 6px,26px)}
.albums-foot .is-style-notice>p{font-size:.92em;margin:0 0 10px}
.albums-foot .is-style-notice .is-style-link-rows li a{border-top:1px solid var(--c-tint-line);border-bottom:0}
.albums-foot .is-style-notice .is-style-link-rows li:last-child a{border-bottom:0}
.albums-foot .note{font-size:14px;color:var(--c-muted-2);margin:0}
.editor-styles-wrapper .is-root-container .albums-foot{padding-top:40px;gap:20px clamp(32px,5vw,72px);align-items:flex-start}
.entry-content>.ofhg-albums{max-width:none}
.entry-content .album-list,.entry-content .album-tiles{list-style:none;padding:0;margin:0}
.entry-content .album-list li,.entry-content .album-tiles li{margin:0}
.entry-content .album-group .section-head{margin:0;padding-bottom:8px;border-bottom:1px solid var(--c-line-2)}
.entry-content .album-group .section-head h2{margin:0;padding:0;border:0}
.entry-content .albums-none{margin:0}
.editor-styles-wrapper .is-root-container>.ofhg-albums,.editor-styles-wrapper .is-root-container>div:has(.ofhg-albums){max-width:none!important}

/* ---- Photos (single) and child albums ---- */
.single-photo__album{margin:0;padding-top:8px;font-weight:600}
.single-photo__album a{display:inline-flex;align-items:center;min-height:48px;color:var(--c-green);text-decoration:none}
.single-photo__album a:hover{text-decoration:underline}
.single-photo .entry-title{margin:8px 0 20px}
.single-photo__img{margin:0 0 24px}
.single-photo__img img{display:block;max-width:100%;height:auto;border-radius:8px}
.ofhg-album .album-children{padding-top:20px}

/* ---- Photograph search ---- */
.ofhg-photo-results{padding-bottom:24px}
.photo-results{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
@media (min-width:640px){.photo-results{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:24px 16px}}
.photo-results__item{display:flex;flex-direction:column;gap:6px;min-width:0}
.photo-results__img{display:block;aspect-ratio:1;border-radius:6px;overflow:hidden;background:var(--c-tint)}
.photo-results__img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.photo-results__img:hover img{transform:scale(1.04)}
.photo-results__title{font-weight:600;line-height:1.3;color:inherit;text-decoration:none;overflow-wrap:anywhere}
.photo-results__title:hover{text-decoration:underline}
.photo-results__album{font-size:14px;color:var(--c-muted-2);line-height:1.35}
.photo-results__album a{color:var(--c-green);text-decoration:none}
.photo-results__album a:hover{text-decoration:underline}
.photo-pager{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:28px}
.photo-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--c-green-mid);border-radius:10px;color:inherit;font-weight:600;text-decoration:none}
.photo-pager .page-numbers.current{background:var(--c-green);border-color:var(--c-green);color:#fff}

/* Search button inside the field */
.album-search{padding-right:8px}
.album-search .album-search__go{-webkit-appearance:none;appearance:none;flex:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:40px;min-height:40px;width:auto;margin:0;padding:0 18px;border:0;border-radius:8px;background:var(--c-green);color:#fff;font:600 15px/1 var(--f-sans);letter-spacing:0;cursor:pointer}
.album-search .album-search__go:hover{background:var(--c-green-dark)}
.album-search .album-search__go:focus-visible{outline:3px solid var(--c-green);outline-offset:2px}
@media (max-width:639px){
	.album-search{gap:8px;padding-left:14px}
	.album-search>.album-search__icon{display:none}
	.album-search .album-search__go{width:44px;padding:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}
	.album-search .album-search__go-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
}

#photo-results{scroll-margin-top:16px}

/* ---- Articles page ---- */
.article-query .wp-block-query-pagination-numbers{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.article-query .wp-block-query-pagination-numbers .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--c-green-mid);border-radius:10px;color:inherit;font-weight:600;text-decoration:none}
.article-query .wp-block-query-pagination-numbers .page-numbers.current{background:var(--c-green);border-color:var(--c-green);color:#fff}
@media (max-width:639px){.article-query .wp-block-query-pagination-numbers{display:none}}
.editor-styles-wrapper .is-root-container .page-head{padding-top:clamp(28px,5vw,56px);display:flex;flex-direction:column;gap:16px}
.editor-styles-wrapper:has(.page-head) .edit-post-visual-editor__post-title-wrapper{display:none}
.editor-styles-wrapper .article-row{gap:16px}
.editor-styles-wrapper .article-row__date .wp-block-post-date{margin-left:.3em}
.article-hero__kicker{gap:.4em}.article-hero__kicker p{margin:0}

/* ---- Group Projects ---- */
.ext-link{margin:0;padding-top:16px}
.ext-link a{display:inline-flex;align-items:center;gap:10px;min-height:52px;font-weight:500}
.ext-link a::after{content:"↗"}
.editor-styles-wrapper .is-root-container ul.is-style-project-list{list-style:none;padding:0;margin:0;column-width:340px;column-gap:48px}
.editor-styles-wrapper .is-root-container .is-style-project-list li{display:flex;gap:12px;padding:12px 0;margin:0;border-bottom:1px solid var(--c-line-3);break-inside:avoid}
.editor-styles-wrapper .is-root-container .is-style-project-list li::before{content:"";flex:none;width:6px;height:6px;margin-top:.65em;background:var(--c-green-mid);border-radius:1px}
.editor-styles-wrapper .is-root-container .ext-link{padding-top:16px}

/* ---- Contact Us ---- */
.entry-content .contact-grid{padding-top:24px;gap:40px clamp(32px,5vw,72px);align-items:flex-start;margin-bottom:0}
.contact-grid>.wp-block-column{flex:none;width:100%;display:flex;flex-direction:column;gap:16px}
@media (min-width:782px){.contact-grid>.wp-block-column{flex:1 1 0;width:auto}}
.contact-grid>.wp-block-column>*{margin:0}
.contact-grid>.wp-block-column>h2{margin-top:12px;border:0;padding:0;font-size:clamp(22px,2.2vw + 6px,26px)}
.contact-rows{display:flex;flex-direction:column}
.editor-styles-wrapper .is-root-container .contact-grid{padding-top:24px;gap:40px clamp(32px,5vw,72px);align-items:flex-start}
.editor-styles-wrapper .is-root-container .contact-grid>.wp-block-column>*+*{margin-top:16px}
.editor-styles-wrapper .is-root-container .sessions{background:var(--c-tint);border-radius:var(--radius);padding:20px}
.editor-styles-wrapper .is-root-container .sessions>*+*{margin-top:10px}
.entry-content .contact-grid>.wp-block-column>*{margin-top:0!important;margin-bottom:0!important}
.entry-content .contact-grid>.wp-block-column>h2{margin-top:12px!important}
.contact-form-box>*{margin-top:0!important;margin-bottom:0!important}
.sessions>*{margin-top:0!important;margin-bottom:0!important}

.contact-form-box{scroll-margin-top:16px}

/* Larger site title on tablet and desktop */
@media (min-width:700px){.site-header .site-title,.site-title{font-size:24px}}
@media (min-width:1000px){.site-header .site-title,.site-title{font-size:28px}}

/* Whole picture tile is the link: the text container fills the tile so the link's overlay covers it all */
.entry-content .hero-tile .wp-block-cover__inner-container{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end}
.entry-content .hero-tile{cursor:pointer}
.entry-content .hero-tile:hover .hero-tile__title a{text-decoration:underline;text-underline-offset:4px}

/* ==========================================================================
   Roll of Honour + Births, Marriages & Deaths search
   ========================================================================== */
.records{margin-top:clamp(20px,3vw,32px)}
.records__bar{display:flex;gap:12px;align-items:stretch}
.records__search{flex:1;min-width:0}
.records__filter-btn{display:inline-flex;align-items:center;gap:8px;flex:none;height:56px;padding:0 20px;border:1.5px solid var(--c-field);border-radius:12px;background:#fff;color:var(--c-ink);font:600 15px var(--f-sans);cursor:pointer}
.records__filter-btn:hover,.records__filter-btn[aria-expanded=true]{background:var(--c-tint);border-color:var(--c-tint-line)}
.records__hint{margin:12px 0 0;font-size:.92em;color:var(--c-muted-2)}
.records__howto{font-weight:600;margin-left:6px}
.records__filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:16px;padding:16px;background:var(--c-panel);border-radius:var(--radius)}
.records__filters[hidden]{display:none}
.records__field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.95em}
.records__field select{height:48px;padding:0 12px;border:1.5px solid var(--c-field);border-radius:10px;background:#fff;font:400 1rem var(--f-sans);color:inherit}
.records__filters-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.records__clear{font-weight:600}
.records__status{margin:20px 0 8px;color:var(--c-muted-2);font-size:.95em;min-height:1.5em}

.records__table{width:100%;border-collapse:collapse;font-size:.97em}
.records__table th,.records__table td{padding:14px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--c-line-3)}
.records__table thead th{font-size:.88em;font-weight:600;border-bottom:2px solid var(--c-ink);vertical-align:bottom;white-space:nowrap}
.records__table tbody tr:nth-child(even){background:color-mix(in srgb,var(--c-panel) 55%,transparent)}
.records__table .records__last{font-weight:700;font-family:var(--f-sans)}
.records__table--bmd .records__last{text-transform:uppercase}
.records__nowrap{white-space:nowrap}
.records__view{text-align:right;white-space:nowrap}
.records__view-btn{min-height:40px;padding:0 14px;border:1.5px solid var(--c-green-mid);border-radius:8px;background:transparent;color:var(--c-green);font:600 14px var(--f-sans);cursor:pointer}
.records__view-btn:hover{background:var(--c-tint)}
.records__cards{display:none;list-style:none;margin:0;padding:0}
@media (max-width:900px){
	.records__table{display:none}
	.records__cards{display:block}
	.records__card{position:relative;display:grid;grid-template-columns:1fr auto;gap:4px 12px;width:100%;padding:16px 28px 16px 0;border:0;border-bottom:1px solid var(--c-line-3);background:none;text-align:left;color:inherit;font:inherit;cursor:pointer}
	.records__card-name{font-weight:700;font-size:1.05em}
	.records__card-badge{justify-self:end}
	.records__card-line{grid-column:1/-1}
	.records__card-src{grid-column:1/-1;font-size:.88em;color:var(--c-muted-2)}
	.records__card-go{position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:1.4em;color:var(--c-muted-2)}
	.records__filter-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
	.records__filter-btn{padding:0;width:56px;justify-content:center}
	.records__bar .album-search__go-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}
.rec-badge{display:inline-block;padding:3px 9px;border-radius:4px;font:500 11px/1.4 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--c-line-3);color:var(--c-ink);white-space:nowrap}
.rec-badge--killed,.rec-badge--dow{background:var(--c-ink);color:#fff}
.rec-badge--wounded{background:#fbe1c8;color:#6b3a0a}
.rec-badge--missing{background:#d7e6f3;color:#1c4a6e}
.rec-badge--pow{background:#e6dcf1;color:#48306b}
.rec-badge--marriage{background:#d5ebd8;color:#174825}
.rec-badge--birth{background:#fbe1c8;color:#6b3a0a}
.rec-badge--death{background:var(--c-line-3);color:var(--c-ink)}
.records-howto{margin-top:clamp(28px,4vw,48px);border:1px solid var(--c-line-2);border-radius:var(--radius);padding:0 20px}
.records-howto summary{cursor:pointer;font-weight:600;padding:16px 0}
.records-howto[open] summary{border-bottom:1px solid var(--c-line-3);margin-bottom:12px}

/* Record viewer */
.rec-dialog{width:min(880px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:20px;border:0;border-radius:16px;background:var(--c-bg);color:var(--c-ink);box-shadow:0 20px 60px rgba(0,0,0,.35);overflow:auto}
.rec-dialog::backdrop{background:rgba(20,18,14,.55)}
.rec-dialog__head{display:flex;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--c-line-2)}
.rec-dialog__kicker{margin:0 0 4px;color:var(--c-muted-2)}
.rec-dialog__title{font-size:clamp(22px,3vw,28px);margin:0}
.rec-dialog__sub{margin:6px 0 0;color:var(--c-muted)}
.rec-dialog__close{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--c-line-3);font-size:24px;line-height:1;cursor:pointer;color:inherit}
.rec-dialog__facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 24px;margin:16px 0}
.rec-dialog__facts dt{color:var(--c-muted-2);font-size:.92em}
.rec-dialog__facts dd{margin:0;font-weight:500}
.rec-dialog__clip{display:block;margin:0 0 12px}
.rec-dialog__clip[hidden]{display:none}
.rec-dialog__clip img{display:block;width:100%;max-height:42vh;object-fit:contain;background:var(--c-line-3);border-radius:8px}
.rec-dialog__src{margin:0 0 16px;color:var(--c-muted)}
.rec-dialog__nav{display:flex;justify-content:space-between;gap:12px}
.rec-dialog__nav .ofhg-btn[disabled]{opacity:.45;cursor:default}
.editor-styles-wrapper .records__filters[hidden]{display:grid}

.page-intro--top,.entry-content .page-intro--top{align-items:flex-start}
.editor-styles-wrapper .is-root-container .page-intro--top{align-items:flex-start}
.rec-dialog .rec-dialog__title{margin:0;padding:0;border:0}
.records__table tbody th{background:transparent}
.records__table thead th{background:transparent}

/* How to search: content is edited in the page (Details block) but shown as a dialog when scripting is available */
.records .records__hint{margin:16px 0 0}
.rec-js body:not(.editor-styles-wrapper) .records-howto,.rec-js .entry-content>.records-howto{display:none}
.rec-dialog__body>*+*{margin-top:12px}
.rec-dialog__body{padding-top:16px}
@keyframes rec-sheet-up{from{transform:translateY(100%)}to{transform:none}}
@media (max-width:700px){
	.rec-dialog--help{width:100%;max-width:none;margin:auto 0 0;max-height:85dvh;border-radius:16px 16px 0 0;padding-bottom:max(20px,env(safe-area-inset-bottom));animation:rec-sheet-up .25s ease-out}
}
@media (prefers-reduced-motion:reduce){.rec-dialog--help{animation:none}}
.records .records__cards{margin:0;padding:0;list-style:none}
.records .records__cards>li{margin:0;padding:0}
.records .records__cards>li::marker{content:""}
.records__sex{display:inline-flex;align-items:center;margin-left:4px;color:var(--c-muted-2);vertical-align:-2px;line-height:1}.records__sex svg{display:block}

.records__filter-btn{position:relative}
.records__filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--c-green);color:#fff;font:600 12px/1 var(--f-sans)}
@media (max-width:900px){
	.records .records__filter-btn .records__filter-count{position:absolute;top:-8px;right:-8px;width:auto;height:22px;clip:auto;overflow:visible;box-shadow:0 0 0 2px var(--c-bg)}
}

/* Clipping: tap to enlarge */
button.rec-dialog__clip{position:relative;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
button.rec-dialog__clip[hidden]{display:none}
.rec-dialog__clip-hint{position:absolute;right:10px;bottom:10px;padding:4px 10px;border-radius:14px;background:rgba(0,0,0,.65);color:#fff;font:500 12px var(--f-sans)}
.rec-zoom{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#111;color:#fff}
.rec-zoom[open]{display:flex;flex-direction:column}
.rec-zoom::backdrop{background:#000}
.rec-zoom__bar{display:flex;justify-content:space-between;gap:12px;padding:12px}
.rec-zoom__btn{min-width:88px;height:48px;padding:0 16px;border:1px solid rgba(255,255,255,.35);border-radius:10px;background:transparent;color:#fff;font:600 15px var(--f-sans);cursor:pointer}
.rec-zoom__btn:hover{background:rgba(255,255,255,.1)}
.rec-zoom :focus-visible{outline-color:#fff}
.rec-zoom__box{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;touch-action:pan-x pan-y pinch-zoom}
.rec-zoom__box img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;cursor:zoom-in}
.rec-zoom.is-zoomed .rec-zoom__box{display:block}
.rec-zoom.is-zoomed .rec-zoom__box img{max-width:none;max-height:none;width:auto;cursor:zoom-out}

/* Record viewer as a bottom sheet on mobile, with sticky Previous / Next */
@media (max-width:700px){
	.rec-dialog{width:100%;max-width:none;margin:auto 0 0;max-height:90dvh;border-radius:16px 16px 0 0;padding-bottom:0;animation:rec-sheet-up .25s ease-out}
	.rec-dialog__nav{position:sticky;bottom:0;margin:12px -20px 0;padding:12px 20px max(12px,env(safe-area-inset-bottom));background:var(--c-bg);border-top:1px solid var(--c-line-2)}
	.rec-dialog__nav .ofhg-btn{flex:1}
	.rec-dialog--help{padding-bottom:max(20px,env(safe-area-inset-bottom))}
}

/* Resource list: a row can hold several links or bits of text (e.g. a title split over two links). Numbers sit in the margin, text flows inline. */
.entry-content ul.is-style-resource-list li{position:relative;box-sizing:border-box;min-height:60px;padding:16px 0 16px 38px;font-weight:500;line-height:1.35}
.entry-content ul.is-style-resource-list li::before{content:counter(res,decimal-leading-zero);position:absolute;left:0;top:50%;transform:translateY(-50%);width:26px;font-family:var(--f-mono);font-size:12px;font-weight:400;color:var(--c-faint)}
.entry-content ul.is-style-resource-list li>a:not(:only-child),.entry-content ul.is-style-resource-list li>span:not(:only-child){display:inline;min-height:0;padding:0;gap:0}
.entry-content ul.is-style-resource-list li>a:not(:only-child)::before,.entry-content ul.is-style-resource-list li>span:not(:only-child)::before{content:none}
.entry-content ul.is-style-resource-list li>a:not(:only-child)[href$=".pdf"]::after,.entry-content ul.is-style-resource-list li>a:not(:only-child)[href*=".pdf?"]::after{margin-left:8px}
/* The usual case: one link is the whole row, with the number and PDF badge laid out by the link itself */
.entry-content ul.is-style-resource-list li:has(>a:only-child),.entry-content ul.is-style-resource-list li:has(>span:only-child){padding:0;min-height:0}
.entry-content ul.is-style-resource-list li:has(>a:only-child)::before,.entry-content ul.is-style-resource-list li:has(>span:only-child)::before{content:none}

/* File-type badge for every downloadable file: shows the extension (PDF, XLSX, DOCX…) */
a:is([href$=".pdf" i],[href*=".pdf?" i],[href$=".doc" i],[href*=".doc?" i],[href$=".docx" i],[href*=".docx?" i],[href$=".xls" i],[href*=".xls?" i],[href$=".xlsx" i],[href*=".xlsx?" i],[href$=".csv" i],[href*=".csv?" i],[href$=".ppt" i],[href*=".ppt?" i],[href$=".pptx" i],[href*=".pptx?" i],[href$=".odt" i],[href*=".odt?" i],[href$=".ods" i],[href*=".ods?" i],[href$=".txt" i],[href*=".txt?" i],[href$=".rtf" i],[href*=".rtf?" i],[href$=".zip" i],[href*=".zip?" i]):not(.wp-block-button__link):not(.wp-block-file__button)::after{flex:none;margin-left:10px;font-family:var(--f-mono);font-size:11px;font-weight:400;line-height:1;padding:3px 6px;border:1px solid var(--c-green-mid);border-radius:4px;color:var(--c-green);text-decoration:none;display:inline-block;vertical-align:middle;white-space:nowrap}
a:is([href$=".pdf" i],[href*=".pdf?" i]):not(.wp-block-button__link):not(.wp-block-file__button)::after{content:"PDF"}
a:is([href$=".doc" i],[href*=".doc?" i]):not(.wp-block-button__link):not(.wp-block-file__button)::after{content:"DOC"}
a:is([href$=".docx" i],[href*=".docx?" i]):not(.wp-block-button__link):not(.wp-block-file__button)::after{content:"DOCX"}
a:is([href$=".xls" i],[href*=".xls?" i]):not(.wp-block-button__link):not(.wp-block-file__button)::after{content:"XLS"}
a:is([href$=".xlsx" i],[href*=".xlsx?" i]):not(.wp-block-button__link):not(.wp-block-file__button)::after{content:"XLSX"}
a:is([href$=".csv" i],[href*=".csv?" i]):not(.wp-block-button__link):not(.wp-block-file__button)::after{content:"CSV"}
a:is([href$=".ppt" i],[href*=".ppt?" i]):not(.wp-block-button__link):not(.wp-block-file__button)::after{content:"PPT"}
a:is([href$=".pptx" i],[href*=".pptx?" i]):not(.wp-block-button__link):not(.wp-block-file__button)::after{content:"PPTX"}
a:is([href$=".odt" i],[href*=".odt?" i]):not(.wp-block-button__link):not(.wp-block-file__button)::after{content:"ODT"}
a:is([href$=".ods" i],[href*=".ods?" i]):not(.wp-block-button__link):not(.wp-block-file__button)::after{content:"ODS"}
a:is([href$=".txt" i],[href*=".txt?" i]):not(.wp-block-button__link):not(.wp-block-file__button)::after{content:"TXT"}
a:is([href$=".rtf" i],[href*=".rtf?" i]):not(.wp-block-button__link):not(.wp-block-file__button)::after{content:"RTF"}
a:is([href$=".zip" i],[href*=".zip?" i]):not(.wp-block-button__link):not(.wp-block-file__button)::after{content:"ZIP"}
.entry-content .is-style-resource-list a:is([href$=".pdf" i],[href*=".pdf?" i],[href$=".doc" i],[href*=".doc?" i],[href$=".docx" i],[href*=".docx?" i],[href$=".xls" i],[href*=".xls?" i],[href$=".xlsx" i],[href*=".xlsx?" i],[href$=".csv" i],[href*=".csv?" i],[href$=".ppt" i],[href*=".ppt?" i],[href$=".pptx" i],[href*=".pptx?" i],[href$=".odt" i],[href*=".odt?" i],[href$=".ods" i],[href*=".ods?" i],[href$=".txt" i],[href*=".txt?" i],[href$=".rtf" i],[href*=".rtf?" i],[href$=".zip" i],[href*=".zip?" i])::after{margin-left:auto}
.entry-content ul.is-style-resource-list li>a:not(:only-child):is([href$=".pdf" i],[href*=".pdf?" i],[href$=".doc" i],[href*=".doc?" i],[href$=".docx" i],[href*=".docx?" i],[href$=".xls" i],[href*=".xls?" i],[href$=".xlsx" i],[href*=".xlsx?" i],[href$=".csv" i],[href*=".csv?" i],[href$=".ppt" i],[href*=".ppt?" i],[href$=".pptx" i],[href*=".pptx?" i],[href$=".odt" i],[href*=".odt?" i],[href$=".ods" i],[href*=".ods?" i],[href$=".txt" i],[href*=".txt?" i],[href$=".rtf" i],[href*=".rtf?" i],[href$=".zip" i],[href*=".zip?" i])::after{margin-left:8px}

/* Resource list: links wrapped in other tags (bold, italic, span, line breaks) look the same as plain links */
.entry-content ul.is-style-resource-list li a{color:inherit;text-decoration:none}
.entry-content ul.is-style-resource-list li a:hover{color:var(--c-green-dark);text-decoration:underline}
.entry-content ul.is-style-resource-list li :not(li)>a:is([href$=".pdf" i],[href*=".pdf?" i],[href$=".doc" i],[href*=".doc?" i],[href$=".docx" i],[href*=".docx?" i],[href$=".xls" i],[href*=".xls?" i],[href$=".xlsx" i],[href*=".xlsx?" i],[href$=".csv" i],[href*=".csv?" i],[href$=".ppt" i],[href*=".ppt?" i],[href$=".pptx" i],[href*=".pptx?" i],[href$=".odt" i],[href*=".odt?" i],[href$=".ods" i],[href*=".ods?" i],[href$=".txt" i],[href*=".txt?" i],[href$=".rtf" i],[href*=".rtf?" i],[href$=".zip" i],[href*=".zip?" i])::after{margin-left:10px}

/* Document tiles in albums (entries with a linked file instead of a picture) */
.doc-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;width:100%;aspect-ratio:1;padding:12px;border:1px solid var(--c-line-2);border-radius:4px;background:var(--c-panel);color:var(--c-green);text-align:center;text-decoration:none}
.doc-tile:hover{background:var(--c-tint);border-color:var(--c-tint-line)}
.doc-tile__ext{font:400 11px/1 var(--f-mono);padding:3px 6px;border:1px solid var(--c-green-mid);border-radius:4px}
.doc-tile__title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--c-ink);font-size:.86em;font-weight:500;line-height:1.3}
.photo-grid.is-list .doc-tile{aspect-ratio:auto;flex-direction:row;justify-content:flex-start;gap:14px;padding:10px 12px;text-align:left;border:0;border-radius:0;background:none}
.photo-grid.is-list .doc-tile__icon{width:40px;height:40px;flex:none}
.photo-grid.is-list .doc-tile__title{-webkit-line-clamp:unset;display:block;font-size:1em}

@media (max-width:639px){.doc-tile__icon{display:none}}
.doc-viewer{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#111;color:#fff}
.doc-viewer[open]{display:flex;flex-direction:column}
.doc-viewer::backdrop{background:#000}
.doc-viewer__bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 12px}
.doc-viewer__title{flex:1 1 200px;min-width:0;margin:0;font:600 16px/1.3 var(--f-sans);color:#fff;overflow-wrap:anywhere}
.doc-viewer__btn{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:44px;padding:0 14px;border:1px solid rgba(255,255,255,.35);border-radius:10px;background:transparent;color:#fff;font:600 14px var(--f-sans);text-decoration:none;cursor:pointer}
.doc-viewer__btn:hover{background:rgba(255,255,255,.1);color:#fff}
.doc-viewer :focus-visible{outline-color:#fff}
.doc-viewer__body{flex:1;min-height:0;display:flex}
.doc-viewer__frame{flex:1;width:100%;height:100%;border:0;background:#fff}
.doc-viewer__fallback{margin:auto;padding:24px;max-width:420px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}
.doc-viewer__fallback .doc-tile__ext{color:#fff;border-color:rgba(255,255,255,.5)}
.doc-viewer__fallback p{margin:0}

/* Document viewer: no file-type badges on its own buttons; compact bar on phones */
.doc-viewer a::after,.doc-viewer button::after{content:none!important;display:none!important}
@media (max-width:639px){
  .doc-viewer__bar{gap:6px;padding:8px 10px}
  .doc-viewer__bar a,.doc-viewer__bar button{padding:6px 10px;font-size:.85rem;min-height:0}
}

/* Search results: document entries */
.photo-results__img.doc-tile{aspect-ratio:1;width:100%;box-sizing:border-box}

/* ===== Research Resources: Website Guide card ===== */
.entry-content .guide-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px 22px;background:var(--c-tint);border-radius:14px}
.guide-card>*{margin:0}
.guide-card .guide-card__label{font:400 11px/1.4 var(--f-mono);letter-spacing:.08em;color:var(--c-green-mid);text-transform:uppercase}
.entry-content .guide-card .guide-card__title{margin:0;padding:0;border:0;font-family:var(--f-serif);font-weight:600;font-size:1.35em;line-height:1.2;text-wrap:balance}
.guide-card .guide-card__text{font-size:.95em;text-wrap:pretty}
.guide-card .guide-card__cta{margin-top:4px;font-weight:600}
.guide-card .guide-card__cta a{color:var(--c-green);text-decoration:none}
.guide-card .guide-card__cta a::after{content:"";position:absolute;inset:0;border-radius:14px}
.guide-card:hover .guide-card__cta a,.guide-card .guide-card__cta a:focus-visible{text-decoration:underline}
.guide-card:has(a:focus-visible){outline:2px solid var(--c-green);outline-offset:2px}
.is-style-resource-list a[href*="websites-guide"]::after{content:"GUIDE";flex:none;margin-left:auto;font-family:var(--f-mono);font-size:11px;font-weight:400;line-height:1;padding:3px 6px;border:1px solid var(--c-green-mid);border-radius:4px;color:var(--c-green);display:inline-block}

/* ===== Websites Guide page ===== */
.entry-content .guide-head{max-width:var(--wrap);padding-top:clamp(16px,3vw,32px);display:flex;flex-direction:column;gap:14px}
.guide-head>*{margin:0}
.guide-head .guide-eyebrow{font:400 12px/1.4 var(--f-mono);letter-spacing:.06em;color:var(--c-faint)}
.guide-head .page-title{max-width:18ch;text-wrap:balance}
.guide-head .lede{max-width:60ch}
.guide-head .guide-pdf{font-size:.95em}
.entry-content .website-guide{max-width:var(--wrap);counter-reset:guide;padding-top:clamp(20px,3vw,36px)}
.website-guide>h2,.guide-main>h2{counter-increment:guide;display:flex;gap:12px;align-items:baseline;margin:clamp(32px,4vw,48px) 0 6px;padding-bottom:10px;border-bottom:2px solid var(--c-ink);font-family:var(--f-serif);font-weight:600;font-size:clamp(22px,2.4vw,28px);line-height:1.2;text-wrap:balance;scroll-margin-top:var(--guide-offset,140px)}
.website-guide h2::before{content:counter(guide,decimal-leading-zero);flex:none;font:400 13px/1 var(--f-mono);color:var(--c-green-mid)}
.website-guide>h2:first-child,.guide-main>h2:first-child{margin-top:0}
.guide-entry{display:flex;flex-direction:column;gap:6px;padding:14px 0;border-bottom:1px solid var(--c-line-3)}
.guide-entry>*{margin:0}
.guide-entry .guide-site a,.guide-links a{color:var(--c-green);font-weight:600;text-decoration:none;overflow-wrap:anywhere}
.guide-entry .guide-site{font-size:1.06em}
.guide-entry .guide-desc{max-width:68ch;text-wrap:pretty}
.website-guide a[target="_blank"]::after{content:" ↗";font-size:.85em;font-weight:400;white-space:nowrap}
.website-guide a:hover{text-decoration:underline}
.guide-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;margin-top:6px}
.guide-tier{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:var(--c-panel);border-radius:10px;font-size:.9em}
.guide-tier>*{margin:0}
.guide-places{column-width:300px;column-gap:32px}
.guide-place{break-inside:avoid;margin:0;border-bottom:1px solid var(--c-line-3);padding:0 0 0}
.guide-place>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 0;cursor:pointer;list-style:none;font-family:var(--f-serif);font-weight:600;font-size:1.12em;line-height:1.25}
.guide-place>summary::-webkit-details-marker{display:none}
.guide-place>summary::marker{content:""}
.guide-count{margin-left:auto;font:400 13px/1 var(--f-sans);color:var(--c-faint)}
.guide-place>summary::after{content:"+";font:400 18px/1 var(--f-sans);color:var(--c-green)}
.guide-place[open]>summary::after{content:"−"}
.guide-place>*:not(summary){margin:0 0 10px}
.guide-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:.95em;line-height:1.35}
.guide-links li{margin:0;padding:0;overflow-wrap:anywhere}
.guide-links a{align-self:flex-start}
.guide-sub{margin:4px 0 8px;font:400 11px/1.4 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--c-faint)}
.guide-none{margin:0;color:var(--c-faint)}
.guide-total{font-size:14px;color:var(--c-faint);margin:0 0 -16px}

/* Contents + filter (built by theme.js) */
.guide-layout{display:block}
.guide-filter{display:flex;align-items:center;gap:10px;height:52px;padding:0 14px;background:var(--c-white);border:1.5px solid var(--c-field);border-radius:12px;box-sizing:border-box;min-width:0;flex:1}
.guide-filter svg{flex:none;color:var(--c-faint)}
.guide-filter input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;color:inherit;height:100%}
.guide-side{display:none}
.guide-bar{position:sticky;top:var(--guide-top,64px);z-index:5;display:flex;gap:8px;padding:10px 0;background:var(--c-bg)}
.guide-bar__btn{flex:none;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:1.5px solid var(--c-field);border-radius:12px;background:var(--c-white);color:inherit;cursor:pointer}
.guide-toc-list{margin:0;padding:0;list-style:none}
.guide-toc-list a{display:flex;gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--c-line-3);color:inherit;text-decoration:none;font-size:.9em;line-height:1.3}
.guide-toc-list a:hover{text-decoration:underline}
.guide-toc-list .n{flex:none;width:20px;font:400 11px/1 var(--f-mono);color:var(--c-faint)}
.guide-toc-list a[aria-current="true"]{color:var(--c-green);font-weight:600}
.guide-toc{width:100%;max-width:none;margin:auto 0 0;padding:16px 20px 24px;border:0;border-radius:16px 16px 0 0;background:var(--c-bg);max-height:80vh;box-sizing:border-box}
.guide-toc::backdrop{background:rgba(29,26,21,.5)}
.guide-toc__head{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;font-family:var(--f-serif);font-weight:600;font-size:22px}
.guide-toc__head button{width:44px;height:44px;border:0;border-radius:22px;background:var(--c-panel);color:inherit;font-size:20px;cursor:pointer}
.guide-toc .guide-toc-list a{min-height:48px;align-items:center;font-size:1em}
@media (min-width:900px){
	.guide-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:0 clamp(32px,4vw,56px);align-items:start}
	.guide-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:var(--guide-top,120px);max-height:calc(100vh - var(--guide-top,120px) - 24px);overflow-y:auto;padding-bottom:16px}
	.guide-bar{display:none}
	.guide-place>summary{cursor:default}
	.guide-place>summary::after{display:none}
}
@media (max-width:899px){.website-guide h2,.guide-main>h2{scroll-margin-top:calc(var(--guide-top,64px) + 76px)}}
.guide-filter input{padding:0}
.guide-head .guide-pdf a::after{display:none}
.entry-content .guide-place.wp-block-details{border:0;border-bottom:1px solid var(--c-line-3);border-radius:0;padding:0;background:none;box-shadow:none}
.guide-place.wp-block-details>summary{padding:8px 0}
.guide-head .page-title{max-width:26ch}
.website-guide .guide-toc-list,.guide-toc .guide-toc-list{margin:0;padding:0}

/* ===== Block editor: Website Guide + guide card ===== */
.editor-styles-wrapper .is-root-container .guide-head{display:flex;flex-direction:column;gap:14px;max-width:var(--wrap);padding-top:clamp(16px,3vw,32px)}
.editor-styles-wrapper .guide-head>*{margin:0!important;max-width:none}
.editor-styles-wrapper .guide-head .lede{max-width:60ch}
.editor-styles-wrapper .guide-head .page-title{max-width:26ch}
.editor-styles-wrapper .is-root-container .website-guide{max-width:var(--wrap);counter-reset:guide;padding-top:clamp(20px,3vw,36px)}
.editor-styles-wrapper .website-guide>.wp-block-heading,.editor-styles-wrapper .website-guide h2.wp-block-heading{counter-increment:guide;display:flex;gap:12px;align-items:baseline;margin:40px 0 6px!important;padding-bottom:10px;border-bottom:2px solid var(--c-ink);font-family:var(--f-serif);font-weight:600;font-size:clamp(22px,2.4vw,28px);line-height:1.2}
.editor-styles-wrapper .website-guide h2.wp-block-heading::before{content:counter(guide,decimal-leading-zero);flex:none;font:400 13px/1 var(--f-mono);color:var(--c-green-mid)}
.editor-styles-wrapper .website-guide .guide-entry{display:flex;flex-direction:column;gap:6px;padding:14px 0;border-bottom:1px solid var(--c-line-3)}
.editor-styles-wrapper .website-guide .guide-entry>*{margin:0!important;max-width:none!important}
.editor-styles-wrapper .website-guide .guide-desc{max-width:68ch!important}
.editor-styles-wrapper .website-guide .guide-site a{color:var(--c-green);font-weight:600;text-decoration:none}
.editor-styles-wrapper .website-guide .guide-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;margin-top:6px!important}
.editor-styles-wrapper .website-guide .guide-tier{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:var(--c-panel);border-radius:10px;font-size:.9em}
.editor-styles-wrapper .website-guide .guide-tier>*{margin:0!important}
.editor-styles-wrapper .website-guide .guide-places{display:block;column-count:auto;column-width:300px;column-gap:32px}
.editor-styles-wrapper .website-guide .guide-places>.wp-block-details,.editor-styles-wrapper .website-guide .guide-place{break-inside:avoid;margin:0!important;border:0;border-bottom:1px solid var(--c-line-3);padding:0}
.editor-styles-wrapper .website-guide .guide-place>summary{min-height:44px;padding:8px 0;font-family:var(--f-serif);font-weight:600;font-size:1.12em;cursor:pointer}
.editor-styles-wrapper .website-guide .guide-links{list-style:none;padding:0;margin:0 0 10px!important;display:flex;flex-direction:column;gap:8px;font-size:.95em}
.editor-styles-wrapper .website-guide .guide-links a{color:var(--c-green);font-weight:600;text-decoration:none}
.editor-styles-wrapper .website-guide .guide-sub{margin:4px 0 8px!important;font:400 11px/1.4 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--c-faint)}
.editor-styles-wrapper .guide-head .guide-eyebrow{font:400 12px/1.4 var(--f-mono);letter-spacing:.06em;color:var(--c-faint)}
.editor-styles-wrapper .guide-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px 22px;background:var(--c-tint);border-radius:14px}
.editor-styles-wrapper .guide-card>*{margin:0!important}
.editor-styles-wrapper .guide-card .guide-card__label{font:400 11px/1.4 var(--f-mono);letter-spacing:.08em;color:var(--c-green-mid)}
.editor-styles-wrapper .guide-card .guide-card__title{margin:0;padding:0;border:0;font-family:var(--f-serif);font-weight:600;font-size:1.35em;line-height:1.2}
.editor-styles-wrapper .guide-card .guide-card__cta a{color:var(--c-green);font-weight:600;text-decoration:none}
.website-guide [hidden]{display:none!important}

/* Places: match the design's spacing */
.entry-content .website-guide .guide-place>*:not(summary){margin:0;padding-bottom:0}
.entry-content .website-guide .guide-place .guide-links{list-style:none;margin:0;padding:0 0 12px;gap:8px}
.entry-content .website-guide .guide-place .guide-links li{margin:0;padding:0}
.entry-content .website-guide .guide-place .guide-links li:has(br) a{font-weight:400}
.entry-content .website-guide .guide-place .guide-sub{margin:4px 0 8px}
.entry-content .website-guide .guide-place .guide-sub:not(:first-of-type){margin-top:12px}
.entry-content .website-guide .guide-place.wp-block-details{padding:0 0 4px}
.entry-content .website-guide .guide-place>summary{padding:8px 0}
