/* Lora + Roboto, self-hosted (fonts.py); latin + latin-ext subsets */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/lora-italic-latin-ext-ae5161.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/lora-italic-latin-50c0af.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/lora-normal-latin-ext-b047e3.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/lora-normal-latin-1ace0d.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/lora-normal-latin-ext-b047e3.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/lora-normal-latin-1ace0d.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/lora-normal-latin-ext-b047e3.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/lora-normal-latin-1ace0d.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/roboto-normal-latin-ext-f0106b.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/roboto-normal-latin-0f7fcd.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/roboto-normal-latin-ext-f0106b.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/roboto-normal-latin-0f7fcd.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/roboto-normal-latin-ext-f0106b.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/roboto-normal-latin-0f7fcd.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/roboto-normal-latin-ext-f0106b.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/roboto-normal-latin-0f7fcd.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Oxygen's global settings colour every heading (--bde-headings-color); the
   design's headings inherit their section's colour (white on the bands) */
h1,h2,h3,h4,h5,h6{color:inherit}
:root{--navy:#083C5D;--navy-mid:#2B5D76;--hero-title:#2D617C;--donate:#FF4040;--donate-bg:#E32B2B;--donate-on-navy:#FF7878;--donate-hover:#417586;--red:#ED1C24;--text:#333333;--text-2:#595959;--steel:#688898;--steel-bg:#5B7B8B;--light-blue:#B8E3EF;--cyan:#40B0CF;--card:#EDEBEB;--card-board:#E8E6E6;--border:#C7C7C7;--white:#FFFFFF;--font-serif:"Lora", Georgia, "Times New Roman", serif;--font-sans:"Roboto", Arial, Helvetica, sans-serif;--fs-h1:60px;--fs-h2:40px;--fs-h2-lg:50px;--fs-h3:27px;--fs-lead:20px;--fs-body:18px;--fs-small:16px;--fs-xs:14px;--frame:1260px;--content:820px;--content-wide:860px;--gutter:16px;--header-h:95px}
*{box-sizing:border-box}
*::before{box-sizing:border-box}
*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:110px}
body{margin:0;background:var(--white);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.4;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
svg{display:block;max-width:100%}
video{display:block;max-width:100%}
iframe{display:block;max-width:100%}
a{color:inherit}
h1{margin:0 0 .5em;font-family:var(--font-serif);font-weight:400;line-height:1.2;text-wrap:balance;font-size:var(--fs-h1)}
h2{margin:0 0 .5em;font-family:var(--font-serif);font-weight:400;line-height:1.2;text-wrap:balance;font-size:var(--fs-h2)}
h3{margin:0 0 .5em;font-family:var(--font-serif);font-weight:400;line-height:1.2;text-wrap:balance;font-size:var(--fs-h3)}
h4{margin:0 0 .5em;font-family:var(--font-serif);font-weight:400;line-height:1.2;text-wrap:balance}
h5{margin:0 0 .5em;font-family:var(--font-serif);font-weight:400;line-height:1.2;text-wrap:balance}
h6{margin:0 0 .5em;font-family:var(--font-serif);font-weight:400;line-height:1.2;text-wrap:balance}
p{margin:0 0 1.4em;text-wrap:pretty}
p:last-child{margin-bottom:0}
.feature-split__text p{margin-bottom:44px} /* base-order fixup */
.footer-legal p{margin-bottom:16px} /* base-order fixup */
:where(body.page-home) .home-intro p{margin-bottom:25px} /* base-order fixup */
:where(body.page-volunteer) .hover-card__text p{margin-bottom:.8em} /* base-order fixup */
:where(body.page-how-to-donate) .howto-hover-card__text p{margin-bottom:.8em} /* base-order fixup */
:where(body.page-donate) .donate-hero__more p{margin-bottom:22px} /* base-order fixup */
:where(body.page-donate) .option-card p{margin-bottom:14px} /* base-order fixup */
:where(body.page-donate) .story__quote p{margin-bottom:1.6em} /* base-order fixup */
:where(body.page-donate-to-irish-charity-this-christmas) .donate-hero__more p{margin-bottom:22px} /* base-order fixup */
:where(body.page-donate-to-irish-charity-this-christmas) .option-card p{margin-bottom:14px} /* base-order fixup */
:where(body.page-donate-to-irish-charity-this-christmas) .story__quote p{margin-bottom:1.6em} /* base-order fixup */
:where(body.page-donation-thank-you-page) .thanks__card p{margin-bottom:22px} /* base-order fixup */
:where(body.page-donation-policy) .dpol__body p{margin-bottom:16px} /* base-order fixup */
:where(body.page-shop) .shop-hero__intro p{margin-bottom:.75em} /* base-order fixup */
:where(body.page-shop) .shop-why__text p{margin-bottom:1.6em} /* base-order fixup */
:where(body.page-shop) .shop-close__inner p{margin-bottom:56px} /* base-order fixup */
:where(body.page-shop) .overlap__card p{margin-bottom:1.6em} /* base-order fixup */
:where(body.page-residence) .testimonial-band__text p{margin-bottom:.9em} /* base-order fixup */
:where(body.page-residence) .overlap__card p{margin-bottom:1.6em} /* base-order fixup */
:where(body.page-shops__tralee) .shop-copy__inner p{margin-bottom:1.4em} /* base-order fixup */
:where(body.page-residence__dalkey) .res-about__body p{margin-bottom:1.2em} /* base-order fixup */
:where(body.page-residence__dalkey) .testimonial-band__text p{margin-bottom:.9em} /* base-order fixup */
:where(body.page-post__a-winter-wardrobe-detox-and-sustainable-fashion-choices) .post-content p{margin-bottom:27px} /* base-order fixup */
ul{margin:0 0 1.4em;padding-left:1.2em}
ol{margin:0 0 1.4em;padding-left:1.2em}
button{font:inherit}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
#top{position:sticky;top:0;z-index:100;background:var(--white);border-bottom:4px solid var(--navy)}
.nav__sub a[aria-current="page"]{background:#F2F5F7;color:var(--navy)}
.donate-widget__opt[aria-pressed="true"]{background:var(--light-blue);border-color:var(--light-blue)}
:where(body.page-donate) .donate-hero .donate-widget__opt{border-color:#8A8A8A} /* base-order fixup */
:where(body.page-donations-recurring) .recurring .donate-widget__opt{border-color:#8A8A8A} /* base-order fixup */
:where(body.page-donate-to-irish-charity-this-christmas) .donate-hero .donate-widget__opt{border-color:#8A8A8A} /* base-order fixup */
.tabs__tab[aria-selected="true"]{font-style:italic;color:var(--steel);border-bottom-color:var(--steel)}
:where(body.page-faq) .faq-tabs .tabs__tab{color:var(--text)} /* base-order fixup */
.tabs__panel[hidden]{display:none}
.accordion__trigger[aria-expanded="true"] .accordion__icon{transform:rotate(180deg)}
.accordion__panel[hidden]{display:none}
footer.site{background:var(--navy);color:var(--white);border-top:4px solid var(--text-2)}
.footer-links a[aria-current="page"]{color:var(--donate-on-navy)}
:where(body.page-faq) .faq-tabs .tabs__tab[aria-selected="true"]{color:var(--steel);border-bottom-color:var(--steel)}
:where(body.page-faq) .faq-tabs .accordion__item:has(.accordion__trigger[aria-expanded="true"]) .accordion__trigger{min-height:0;padding-top:22px}
:where(body.page-donate) .donate-hero .donate-widget__opt[aria-pressed="true"]{border-color:#8A8A8A}
:where(body.page-donations-recurring) .recurring .donate-widget__opt[aria-pressed="true"]{background:#F0F3F4;border-color:var(--steel)}
:where(body.page-donate-to-irish-charity-this-christmas) .donate-hero .donate-widget__opt[aria-pressed="true"]{border-color:#8A8A8A}
:where(body.page-donation-policy) .dpol__body a[href^="tel:"]{white-space:nowrap}
:where(body.page-shop) .shop-card[hidden]{display:none}
:where(body.page-shop) .finder__more .btn[hidden]{display:none}
:where(body.page-residence) .testimonial-band__more[hidden]{display:none}
:where(body.page-blog) .blog-nav__link[aria-current="page"]{color:var(--steel)}
:where(body.page-blog) .post-content p > img:not([class*="align"]){width:100%}
:where(body.page-shops__tralee) .collage__btn[hidden]{display:none}
:where(body.page-residence__dalkey) .collage__btn[hidden]{display:none}
:where(body.page-residence__dalkey) .testimonial-band__more[hidden]{display:none}
:where(body.page-post__a-winter-wardrobe-detox-and-sustainable-fashion-choices) .blog-nav__link[aria-current="page"]{color:var(--steel)}
:where(body.page-post__a-winter-wardrobe-detox-and-sustainable-fashion-choices) .post-content p > img:not([class*="align"]){width:100%}
:where(body.page-blog__categories__sustainable-fashion) .blog-nav__link[aria-current="page"]{color:var(--steel)}
:where(body.page-blog__categories__sustainable-fashion) .post-content p > img:not([class*="align"]){width:100%}
/* restores declarations Oxygen's importer changed (css_verify.py) */
.search__input{border-right:0}
.form--on-navy .field__input{border-color:rgba(255,255,255,.7)}
.form--on-navy .field__textarea{border-color:rgba(255,255,255,.7)}
.accordion__q{flex-basis:0%}
.hiring-policy .btn--navy{border-color:#074151}
.btn--slate{border-color:#516A76}
.faq-search__input{flex-basis:0%}
.faq-search__input:focus{outline:none}
.faq-search:focus-within{border-bottom-color:var(--navy)}
.faq-tabs .accordion__item{border-left:0}
.volunteer-hero .hero-inner__photo img{object-position:center top}
.furniture-form__submit{border-color:#000}
.gi-overlap--panel-left .gi-overlap__media{grid-column-end:auto}
.gi-overlap--panel-left .gi-overlap__panel{grid-column-end:auto}
.donate-hero .donate-widget__opt{border-color:#8A8A8A}
.donate-hero .donate-widget .field__textarea{border-color:#8A8A8A}
.recurring .donate-widget__opt{border-color:#8A8A8A}
.recurring .donate-widget .field__textarea{border-color:#8A8A8A}
.shop-hero .hero-inner__photo img{object-position:center bottom}
.overlap--cyan .overlap__media img{object-position:left center}
.overlap__media{grid-row-end:auto}
.overlap__card{grid-row-end:auto}
.post-single__rule{background-color:#DDDDDD}
.post-content ol:has(br, ul)>li+li{margin-top:27px}
.sr-gallery.collage{grid-auto-columns:calc((100% - 2 * var(--collage-gap)) / 3)}
.collage .sr-gallery__item:nth-child(5n/**/+1){grid-row-end:auto}
.collage .sr-gallery__item:nth-child(5n/**/+3){grid-row-end:auto;grid-column-end:auto}
.collage .sr-gallery__item:nth-child(5n/**/+1):last-child{grid-row-end:auto}
.collage .sr-gallery__item:nth-child(5n/**/+3):last-child{grid-row-end:auto}
.collage .sr-gallery__item:nth-child(5n/**/+4):last-child{grid-column-end:auto}
.collage .sr-gallery__item:only-child{grid-row-end:auto;grid-column-end:auto}
.collage__btn--prev svg{transform:scaleX(-1)}
.search__input{border-right:0}
.place-card:hover .place-card__town{text-decoration-thickness:1px}
.place-card:focus-visible .place-card__town{text-decoration-thickness:1px}
.field__input:focus{outline-offset:0}
.field__select:focus{outline-offset:0}
.field__textarea:focus{outline-offset:0}
.tabs__tab{border-bottom:2px solid transparent}
.meettheteam-hero .hero-inner__title a{text-decoration-thickness:3px}
.faq-tabs .accordion__item{border-left:0}
.furniture-form .field__input{border-bottom:2px solid #000}
.furniture-form .field__textarea{border-bottom:2px solid #000}
.furniture-upload input:focus-visible+.furniture-upload__btn{outline-offset:2px}
.tick-list li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Crect width='18' height='18' rx='3' fill='%2322A73A'/%3E%3Cpath d='M4 9.3l3.2 3.2L14 5.7' fill='none' stroke='%23fff' stroke-width='2.4'/%3E%3C/svg%3E")}
.cross-list li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M3.5 3.5l11 11M14.5 3.5l-11 11' stroke='%23C0261C' stroke-width='3.6' stroke-linecap='round'/%3E%3C/svg%3E")}
.collage .sr-gallery__link:focus-visible{outline-offset:-3px}
:where(body.page-shops__tralee) .shop-notice p{font-style:normal}
:where(body.page-home) .place-card:focus-visible .place-card__town{text-decoration-thickness:1px}
:where(body.page-contact) .contact-form .field__input{border-color:var(--white)}
:where(body.page-contact) .contact-form .field__textarea{border-color:var(--white)}
:where(body.page-residence) .place-card:focus-visible .place-card__town{text-decoration-thickness:1px}

@media (hover: hover) and (min-width: 961px){
  .nav__item:hover > .nav__sub{opacity:1;visibility:visible}
  .nav__item:hover > .mega{opacity:1;visibility:visible}
}
@media (min-width: 961px){
  .nav__item:focus-within > .nav__sub{opacity:1;visibility:visible}
  .nav__item:focus-within > .mega{opacity:1;visibility:visible}
  .nav__item.is-open > .nav__sub{opacity:1;visibility:visible}
  .nav__item.is-open > .mega{opacity:1;visibility:visible}
  .nav__item.is-suppressed > .nav__sub{opacity:0;visibility:hidden}
  .nav__item.is-suppressed > .mega{opacity:0;visibility:hidden}
}
@media (max-width: 1200px){
  .hero-inner__band{grid-template-columns:48% 1fr}
  .hero-inner__title{margin-left:64px;font-size:52px}
  .hero-inner__intro{margin-left:15%;margin-right:32px}
  .hero-inner__photo img{height:auto;aspect-ratio:1440 / 660}
  .split__text{padding:48px 48px}
  .split--media-left .split__text{padding:48px 48px}
  :where(body.page-about) .about-expanding .split__text{padding-top:64px} /* source-order fixup */
  :where(body.page-about) .about-today .split__text{padding-top:22px} /* source-order fixup */
  .link-cards{grid-template-columns:repeat(2, 1fr)}
  .place-cards{grid-template-columns:repeat(2, 1fr);gap:32px}
  .place-card{grid-template-columns:44% 1fr}
  .place-card__town{font-size:24px}
  .feature-split__panel{padding-left:48px}
  .feature-split__text{margin-left:48px;margin-right:32px}
  .hero-home__photo img{height:auto;aspect-ratio:1440 / 742}
  .hero-home__title{left:64px;font-size:42px}
  .home-places{padding-inline:32px}
  .home-intro .heading{margin-left:0}
  .home-map{margin-inline:32px}
  .about-shops .split__text{padding:40px 48px}
  .team-card{grid-template-columns:50% 1fr}
  .team-card__img{height:100%;min-height:300px}
  .team-card__name{font-size:24px}
  .faq-hero .hero-inner__title{font-size:46px}
  .overlap-feature__panel{padding:48px}
  .overlap-feature__panel h2{font-size:34px;margin-bottom:28px}
  .volunteer-apply{grid-template-columns:1fr 1fr}
  .volunteer-apply__panel{padding:48px}
  .volunteer-apply__text{padding:48px}
  .volunteer-near .split__text{padding-right:48px}
  .howto-kindness .split__text{padding:48px}
  .howto-ways{grid-template-columns:1fr 1fr}
  .howto-ways__panel{padding:48px}
  .howto-ways__text{padding:48px}
  .half-split__panel{padding:40px 48px}
  .events-intro{grid-template-columns:1fr 1fr}
  .events-intro__panel{padding:56px 48px}
  .events-intro__text{padding:56px 48px}
  .gi-overlap{padding-inline:24px}
  .gi-overlap__panel{padding:40px 48px}
  .partners-intro{grid-template-columns:1fr 1fr}
  .partners-intro__text{padding:48px}
  .partners-intro__panel{padding:48px}
  .partners-block{padding-inline:24px}
  .partners-block__title{padding-left:0}
  .benefit-table__row{grid-template-columns:38% 1fr}
  .benefit-table__key{padding-left:32px}
  .benefit-table__desc{padding:22px 32px}
  .benefit-table__head .benefit-table__desc{padding:22px 32px}
  .donate-hero{min-height:0}
  .donate-hero__panel{padding:40px 32px 48px}
  .donate-hero__more{padding-left:24px}
  .option-cards{grid-template-columns:repeat(3, 1fr);padding-inline:24px}
  .option-card{padding-inline:24px}
  .donate-impact{grid-template-columns:1fr 1fr}
  .donate-impact__panel{padding-left:48px}
  .donate-impact__text{padding:56px 48px 40px}
  .story{grid-template-columns:38% 1fr}
  .story--media-right{grid-template-columns:1fr 38%}
  .story__text{padding:64px 48px 48px}
  .story--media-right .story__text{padding:64px 48px 48px}
  .donate-video{padding-inline:48px}
  .donate-explore{grid-template-columns:1fr 40%}
  .donate-explore__text{padding-left:48px}
  .xmas-hero .donate-hero__panel{padding:40px 32px 48px}
  .legacy .legacy-overlap{padding-inline:24px}
  .legacy .legacy-overlap__panel{padding:40px 48px}
  .overlap.overlap--cyan{padding-inline:32px}
  .shop-hero .hero-inner__band{grid-template-columns:50% 1fr}
  .shop-hero__head{margin-left:48px}
  .shop-hero .hero-inner__photo{height:auto}
  .shop-hero .hero-inner__photo img{width:100%;margin-left:0;height:auto;aspect-ratio:1440 / 497}
  .shop-why__panel{padding:64px 48px}
  .shop-why__text{padding:64px 48px}
  .shop-cards{grid-template-columns:repeat(3, minmax(0, 1fr))}
  .overlap{padding-inline:32px}
  .overlap__card{padding:44px 48px}
  .res-centres .heading{padding-left:32px}
  .res-centres .place-cards{padding-inline:32px}
  .overlap.res-dining{padding-inline:32px}
  .overlap.res-services{padding-inline:32px}
  .overlap.res-staff{padding-inline:32px}
  .res-dining .overlap__card{padding:44px 48px}
  .res-services .overlap__card{padding:44px 48px}
  .res-staff .overlap__card{padding:44px 48px}
  .res-centres .place-card{height:170px}
  .res-social{padding-left:48px;padding-right:48px}
  .place-hero__head{margin-left:64px}
  .place-hero__contact{margin-left:15%;margin-right:32px}
  .place-hero .hero-inner__band{height:auto;min-height:224px}
  .place-hero .hero-inner__photo img{width:100%;margin-left:0;height:auto;aspect-ratio:1440 / 646}
  .place-hero--residence .hero-inner__intro{margin-left:15%}
}
@media (max-width: 1100px){
  .board-grid{grid-template-columns:repeat(2, 1fr);max-width:820px}
  .hover-card{padding-inline:32px}
  .howto-hover-card{padding-inline:32px}
  .shop-items__title{margin-left:0}
  .shop-items__groups{margin-left:0}
  .shop-items__refused{margin-left:0;gap:0 48px}
}
@media (max-width: 1000px){
  .post-card{grid-template-columns:45% 1fr}
  .post-single__inner{padding-inline:48px;max-width:none}
  .recent-posts__list{grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));gap:24px}
}
@media (max-width: 960px){
  :root{--header-h:72px}
  .header__inner{align-items:center}
  .header__logo{margin-top:0}
  .header__logo img{width:112px;height:54px}
  .header__donate-m{display:inline-flex;width:auto;margin-left:auto;margin-right:12px;min-height:44px;border-width:7px 0;padding-inline:19px;background-clip:padding-box}
  .header__burger{display:grid;place-items:center;width:44px;height:44px;padding:0;background:transparent;border:1px solid var(--navy);color:var(--navy);cursor:pointer}
  .header__burger svg{width:22px;height:22px;stroke:currentColor;stroke-width:2;fill:none}
  .header__burger .icon-close{display:none}
  .is-menu-open .header__burger .icon-open{display:none}
  .is-menu-open .header__burger .icon-close{display:block}
  .header__right{position:fixed;left:0;right:0;top:calc(var(--header-h) + 4px);bottom:0;display:none;flex-direction:column;align-items:stretch;padding:16px var(--gutter) 40px;overflow-y:auto;background:var(--white);border-top:1px solid var(--border)}
  .is-menu-open .header__right{display:flex}
  .header__tools{order:2;margin:20px 0 0;flex-direction:column;align-items:stretch;gap:12px}
  .header__tools .btn--donate{display:none}
  .search__input{flex:1;width:auto;height:44px}
  .search{height:44px}
  .search__btn{width:44px;height:44px}
  .nav{order:1;margin:0}
  .nav__list{flex-direction:column}
  .nav__item{position:relative;display:flex;flex-wrap:wrap;border-bottom:1px solid #E3E8EB}
  .nav__item--mega{position:relative;display:flex;flex-wrap:wrap;border-bottom:1px solid #E3E8EB}
  .nav__link{flex:1;padding:14px 0;font-size:18px}
  .nav__item:last-child .nav__link{padding-right:0}
  .nav__toggle{display:grid;place-items:center;width:48px;padding:0;background:transparent;border:0;color:var(--navy);cursor:pointer}
  .nav__toggle svg{width:14px;height:14px;fill:currentColor;transition:transform .2s}
  .nav__toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
  .nav__sub{position:static;display:none;width:100%;transform:none;opacity:1;visibility:visible;box-shadow:none;border-top:0;padding:0 0 8px 12px}
  .mega{position:static;display:none;width:100%;transform:none;opacity:1;visibility:visible;box-shadow:none;border-top:0;padding:16px;margin-bottom:12px}
  .nav__sub a{padding:10px 0;font-size:16px;white-space:normal}
  .mega__list{grid-template-columns:repeat(2, 1fr)}
  .mega__list a{text-align:left}
  .nav__item.is-open > .nav__sub{display:block}
  .nav__item.is-open > .mega{display:block}
  body.is-menu-open{overflow:hidden}
  .footer-main{grid-template-columns:1fr 1fr;gap:28px 24px;padding-left:var(--gutter);padding-right:var(--gutter)}
  .footer-contact-col{grid-column:1;grid-row:1}
  .footer-cta-col{grid-column:2;grid-row:1;justify-self:end}
  .footer-links{margin-top:0;text-align:left}
  .footer-links a{font-size:15px}
  .footer-links li{line-height:30px}
  .footer-legal{padding-left:var(--gutter)}
  .hero-home__band{height:300px}
  .hero-home__title{left:32px;bottom:30px;font-size:30px;max-width:52%}
  .hero-home__corner{width:45%;height:360px}
  .hero-home__logo{top:90px}
  .team-grid{grid-template-columns:1fr;max-width:640px}
  .contact-cols{grid-template-columns:1fr 1fr}
  .donate-hero{grid-template-columns:1fr}
  .donate-hero__media{min-height:640px}
  .option-cards{grid-template-columns:1fr;max-width:480px;margin-inline:auto;row-gap:56px}
  .option-card{min-height:0}
}
@media (max-width: 768px){
  :root{--fs-h1:40px;--fs-h2:32px;--fs-h2-lg:34px;--fs-h3:24px;--fs-body:17px}
  .hero-inner__band{display:block;height:auto;margin-bottom:0}
  .hero-inner__shape{display:none}
  .hero-inner__title{margin:0;padding:28px var(--gutter) 22px;font-size:40px}
  .hero-inner__intro{max-width:none;margin:0;padding:24px var(--gutter) 34px;background:var(--navy);font-size:18px;border-bottom-right-radius:60% 40px}
  .hero-inner__photo img{aspect-ratio:4 / 3}
  .split{grid-template-columns:1fr}
  .split--media-left{grid-template-columns:1fr}
  .split__media{order:2}
  .split--media-left .split__media{order:2}
  .split__text{padding:40px var(--gutter)}
  .split--media-left .split__text{padding:40px var(--gutter)}
  :where(body.page-about) .about-expanding .split__text{padding-top:64px} /* source-order fixup */
  :where(body.page-about) .about-today .split__text{padding-top:22px} /* source-order fixup */
  .feature-split{grid-template-columns:1fr}
  .feature-split__panel{min-height:0;padding:48px var(--gutter)}
  .feature-split__panel h2{font-size:38px}
  .feature-split__text{max-width:none;margin:0;padding:32px var(--gutter) 8px}
  .map-legend{flex-direction:column;align-items:flex-start;gap:10px;padding:18px 0 0}
  .map-embed{height:320px}
  .about-history{padding:44px 0 52px}
  .about-history .heading{font-size:34px;margin-bottom:28px}
  .about-history p{line-height:1.6;text-align:left}
  .about-history .rule{margin-top:40px}
  .about-shops .split__text{padding:40px var(--gutter)}
  .about-birth .split__text{padding:40px var(--gutter)}
  .about-expanding .split__text{padding:40px var(--gutter)}
  .about-today .split__text{padding:40px var(--gutter)}
  .about-birth .split__media img{aspect-ratio:4 / 3}
  .about-shops .split__media img{aspect-ratio:4 / 3}
  .about-today .split__media img{aspect-ratio:4 / 4.5}
  .about-collage{aspect-ratio:1 / 1}
  .about-collage__a{left:14%}
  .about-collage__b{left:28%}
  .about-collage__c{left:52%;width:30%}
  .meettheteam-intro{padding-top:48px}
  .meettheteam-intro .heading{font-size:40px}
  .team-grid{padding-top:40px;gap:24px}
  .team-card{min-height:0;border-top-left-radius:48px;border-bottom-right-radius:60px}
  .team-card__img{min-height:0;height:100%;aspect-ratio:1 / 1;border-top-left-radius:48px}
  .team-card__body{padding:24px 12px 24px 16px}
  .team-card__name{font-size:21px;margin-bottom:8px}
  .team-card__role{font-size:16px}
  .board-head{padding-top:40px}
  .board-head__title{font-size:40px}
  .board-grid{padding-top:36px;gap:20px}
  .board-grid .person-card{min-height:0;border-top-left-radius:48px;border-bottom-right-radius:64px}
  .board-grid .person-card__img{height:auto;aspect-ratio:388 / 290}
  .board-grid .person-card__body{padding:24px 16px 36px}
  .board-grid .person-card__name{font-size:24px}
  .hiring-jobs{padding-top:40px}
  .hiring-jobs__title{font-size:40px;margin-bottom:36px}
  .job-row{flex-direction:column;align-items:flex-start;min-height:0;padding:24px}
  .job-row__title{margin:0}
  .job-row .btn--grey{margin-top:0}
  .hiring-policy{padding-left:0}
  .hiring-policy .btn--navy{width:100%;padding-inline:16px;letter-spacing:.1em}
  .job-post{padding:28px 0 64px}
  .job-post__head{flex-direction:column;align-items:flex-start}
  .job-post__title{font-size:34px}
  .job-post__meta{margin-top:28px}
  .job-post__body{margin-top:48px}
  .job-post__section + .job-post__section{margin-top:48px}
  .job-post__note{padding:24px}
  .faq-hero .hero-inner__title{margin:0;font-size:36px;line-height:1.2}
  .faq-body{padding:36px 0 56px}
  .faq-search{width:100%}
  .faq-tabs .tabs__tab{min-width:0;padding:6px 16px 12px;font-size:22px}
  .faq-tabs .accordion__item{padding-left:52px;background:linear-gradient(90deg, var(--steel-bg) 0 52px, var(--white) 52px)}
  .faq-tabs .accordion__num{width:52px;font-size:17px}
  .faq-tabs .accordion__trigger{min-height:72px;padding:0 14px 0 16px}
  .faq-tabs .accordion__q{padding:16px 0;font-size:17px}
  .faq-tabs .accordion__panel{padding:0 14px 20px 16px}
  .overlap-feature{display:block;margin-top:0}
  .overlap-feature--reverse{display:block;margin-top:0}
  .overlap-feature__media img{height:auto;aspect-ratio:4 / 3}
  .overlap-feature__panel{padding:36px var(--gutter) 44px}
  .overlap-feature--reverse .overlap-feature__panel{padding:36px var(--gutter) 44px}
  .overlap-feature__panel h2{font-size:30px;margin-bottom:20px}
  .overlap-feature__panel .btn{margin-top:24px}
  .overlap-feature--reverse .overlap-feature__media{display:block}
  .contact-main{padding-top:32px}
  .contact-main__title{font-size:40px}
  .contact-main__lead{margin:16px 0 0;font-size:26px;text-align:left}
  .contact-main__note{margin:14px 0 0;font-size:18px;text-align:left}
  .contact-cols{grid-template-columns:1fr;gap:32px}
  .contact-info{padding-left:0}
  .contact-furniture{margin-top:40px;font-size:18px}
  .contact-map{margin-top:44px;padding-inline:var(--gutter)}
  .legal{padding-top:36px}
  .legal__title{font-size:36px;margin-bottom:28px}
  .legal__body{font-size:17px;line-height:1.5}
  .legal__body ul{padding-left:24px}
  .legal__body a{overflow-wrap:anywhere}
  .ourvalues-intro{padding:44px 0 44px}
  .ourvalues-intro .heading{font-size:40px;margin-bottom:24px}
  .ourvalues-list{margin:0 0 32px;padding:44px 0}
  .ourvalues-list__row{grid-template-columns:1fr;gap:8px}
  .ourvalues-list__row + .ourvalues-list__row{margin-top:32px}
  .hover-cards{grid-template-columns:1fr}
  .hover-card__icon{width:96px;height:96px}
  .volunteer-hero .hero-inner__band{height:auto}
  .volunteer-hero .hero-inner__title{margin:0;font-size:34px;line-height:1.25}
  .volunteer-hero .hero-inner__photo img{height:auto}
  .volunteer-intro{padding:40px 0 44px}
  .volunteer-intro .heading{font-size:28px;line-height:1.45}
  .volunteer-intro .rule{margin-top:24px}
  .volunteer-near .split__text{padding:40px var(--gutter)}
  .volunteer-near .split__media img{aspect-ratio:4 / 3}
  .volunteer-apply{grid-template-columns:1fr}
  .volunteer-apply__text{order:-1;padding:40px var(--gutter) 32px}
  .volunteer-apply__panel{padding:40px var(--gutter) 48px}
  .volunteer-form .btn{width:100%}
  .howto-hover-cards{grid-template-columns:1fr}
  .howto-hover-card__icon{width:96px;height:96px}
  .howto-hero .hero-inner__title{margin:0}
  .howto-hero .hero-inner__photo img{height:auto}
  .howto-kindness .split__text{padding:40px var(--gutter)}
  .howto-kindness .split__text h2{font-size:30px}
  .howto-ways__text h2{font-size:30px}
  .howto-kindness .split__media img{aspect-ratio:4 / 3}
  .howto-ways{grid-template-columns:1fr}
  .howto-ways__text{order:-1;padding:40px var(--gutter)}
  .howto-ways__panel{padding:40px var(--gutter) 48px}
  .icon-tiles{grid-template-columns:repeat(2, 1fr)}
  .furniture-intro__title{font-size:40px}
  .furniture-intro__sub{font-size:28px;padding-inline:var(--gutter)}
  .half-split{grid-template-columns:1fr}
  .half-split__panel{padding:40px var(--gutter)}
  .furniture-about .half-split__panel{padding:40px var(--gutter)}
  .furniture-gallery{margin-top:32px;padding-inline:var(--gutter);gap:6px}
  .furniture-gallery img{height:auto;aspect-ratio:4 / 3}
  .furniture-form-wrap{padding-top:56px}
  .furniture-form .form__row{gap:24px}
  .furniture-upload__btn{width:100%}
  .furniture-form__submit{margin-top:24px}
  .furniture-queries{font-size:17px}
  .gi-overlap{display:block;padding-inline:var(--gutter)}
  :where(body.page-fundraising-events) .gi-overlap{padding-inline:24px} /* source-order fixup */
  :where(body.page-partners) .gi-overlap{padding-inline:24px} /* source-order fixup */
  .gi-overlap--panel-left{display:block;padding-inline:var(--gutter)}
  :where(body.page-fundraising-events) .gi-overlap{padding-inline:24px} /* source-order fixup */
  .gi-overlap__media img{position:static;height:auto;aspect-ratio:16 / 10}
  .gi-overlap__panel{padding:32px 24px 40px;margin:-32px 16px 0;position:relative}
  :where(body.page-fundraising-events) .gi-overlap__panel{padding-right:48px;padding-left:48px;padding-top:40px} /* source-order fixup */
  :where(body.page-partners) .gi-overlap__panel{padding-right:48px;padding-left:48px;padding-top:40px} /* source-order fixup */
  .gi-overlap__panel h2{font-size:30px}
  .events-hero .hero-inner__title{margin:0;font-size:36px}
  .events-hero .hero-inner__band{height:auto}
  .events-hero .hero-inner__photo img{height:auto}
  .events-intro{grid-template-columns:1fr}
  .events-intro__panel{min-height:0;padding:40px var(--gutter)}
  .events-intro__panel h2{font-size:36px}
  .events-intro__text{padding:36px var(--gutter) 8px}
  .events-upcoming{margin-top:40px}
  .events-upcoming .gi-overlap__panel{min-height:0}
  .events-recap .gi-overlap__panel{min-height:0}
  .events-recap{margin:48px auto 56px}
  .partners-hero .hero-inner__band{height:auto}
  .partners-hero .hero-inner__title{margin:0}
  .partners-hero__sub{margin-top:10px;font-size:18px}
  .partners-hero .hero-inner__intro{margin:0}
  .partners-intro{grid-template-columns:1fr}
  .partners-intro__text{padding:40px var(--gutter)}
  .partners-intro__text h2{font-size:30px}
  .partners-intro__panel{min-height:0;padding:40px var(--gutter)}
  .partners-intro__panel h2{font-size:32px}
  .partners-block{padding-inline:var(--gutter)}
  .partners-block__title{padding:40px 0 20px;font-size:32px}
  .partners-block__title--sm{padding:40px 0 20px;font-size:32px}
  .icon-strip{grid-template-columns:1fr 1fr}
  .icon-strip--4{grid-template-columns:1fr 1fr}
  .icon-strip__item:nth-child(5){grid-column:1 / -1}
  .icon-strip__item{min-height:200px;padding:20px 10px 22px;gap:12px}
  .icon-strip--4 .icon-strip__item{min-height:200px;padding:20px 10px 22px;gap:12px}
  .icon-strip__item svg{height:80px}
  .icon-strip--4 .icon-strip__item svg{height:80px}
  .icon-strip__glyph{font-size:90px}
  .icon-strip__label{font-size:17px}
  .benefit-table{border:0}
  .benefit-table__head{display:none}
  .benefit-table__row{grid-template-columns:1fr}
  .benefit-table__key{min-height:0;padding:18px 16px}
  .benefit-table__num{font-size:44px}
  .benefit-table__title{font-size:22px}
  .benefit-table__desc{padding:18px 16px 24px;border-bottom:0}
  .partners-how{margin-bottom:48px}
  .partners-cta .gi-overlap__panel{min-height:0;padding-top:32px}
  .donate-hero__media{min-height:0;padding:28px var(--gutter) 36px}
  .donate-hero__title{font-size:30px}
  .donate-hero__title span{font-size:30px}
  .donate-hero__more{margin-top:220px;padding-left:0}
  .donate-hero__more ul{gap:14px}
  .donate-btn--steel{min-width:240px}
  .donate-hero__panel{padding:32px var(--gutter) 40px}
  .donate-hero .donate-widget{padding:18px 14px}
  :where(body.page-donate-to-irish-charity-this-christmas) .xmas-hero .donate-widget{padding-bottom:26px} /* source-order fixup */
  .donate-hero__contact{flex-wrap:wrap;gap:16px}
  .donate-options__title{font-size:40px}
  .donate-options{padding:64px var(--gutter) 48px}
  .option-cards{padding:0}
  .option-card{padding:76px 22px 28px}
  .donate-impact{grid-template-columns:1fr}
  .donate-impact__panel{min-height:0;padding:40px var(--gutter)}
  .donate-impact__panel h2{font-size:40px}
  .donate-impact__text{padding:36px var(--gutter) 40px}
  .donate-impact__text h3{font-size:26px}
  .story{grid-template-columns:1fr}
  .story--media-right{grid-template-columns:1fr}
  .story__media{order:0}
  .story--media-right .story__media{order:0}
  .story__media img{width:100%;margin:0;aspect-ratio:4 / 5;object-position:top}
  .story--media-right .story__media img{width:100%;margin:0;aspect-ratio:4 / 5;object-position:top}
  .story__text{padding:36px var(--gutter) 40px}
  .story--media-right .story__text{padding:36px var(--gutter) 40px}
  .story__kicker{font-size:30px}
  .story__title{font-size:30px}
  .story__ctas{flex-direction:column;align-items:flex-start}
  .donate-video{padding:48px var(--gutter) 24px}
  .donate-video h2{font-size:30px;margin-bottom:24px}
  .donate-explore{grid-template-columns:1fr}
  .donate-explore__text{padding:16px var(--gutter) 40px}
  .link-tiles{grid-template-columns:repeat(2, 1fr);gap:16px;margin-left:0}
  .donate-explore__media img{height:auto;aspect-ratio:4 / 3}
  .xmas-hero .donate-hero__media{padding:28px var(--gutter) 36px}
  .xmas-hero .donate-hero__title{text-shadow:0 1px 8px rgba(0, 0, 0, .55);font-size:30px}
  .xmas-hero__lead{text-shadow:0 1px 8px rgba(0, 0, 0, .55);margin-top:180px}
  .xmas-hero .donate-widget__title{margin-bottom:20px}
  .xmas-garland .xmas-sprig:nth-child(n+2){display:none}
  .xmas-video{height:320px}
  .xmas-video .btn{left:var(--gutter);bottom:24px}
  .thanks{padding:56px var(--gutter)}
  .thanks__card{padding:40px 20px 44px}
  .thanks__card h1{font-size:26px}
  .dpol{padding-top:36px}
  .dpol__title{font-size:36px;margin-bottom:28px}
  .dpol__body{font-size:17px}
  .dpol__body a{overflow-wrap:anywhere}
  .ddash{padding:36px 0 56px}
  .ddash__title{font-size:36px}
  .ddash__intro{font-size:17px}
  .legacy-overlap{display:block;padding-inline:var(--gutter)}
  .legacy-overlap__media img{position:static;height:auto;aspect-ratio:16 / 10}
  .legacy-overlap__panel{padding:32px 24px 40px;margin:-32px 16px 0;position:relative}
  .legacy{padding:40px 0 48px}
  .legacy .legacy-overlap{padding-inline:var(--gutter)}
  .legacy .legacy-overlap__panel{min-height:0;padding:28px 22px 32px}
  .legacy h1{font-size:40px}
  .shop-hero .hero-inner__band{display:block;height:auto;margin-bottom:0}
  .shop-hero__head{margin:0;padding:26px var(--gutter) 24px}
  .shop-hero__kicker{font-size:26px;margin-bottom:20px}
  .shop-hero__title{font-size:28px}
  .shop-hero__intro{margin:0;max-width:none;padding:24px var(--gutter) 30px;background:var(--navy);border-bottom-right-radius:60% 40px}
  .shop-hero__intro p{font-size:18px}
  .shop-hero__intro a{margin-top:12px}
  .shop-hero .hero-inner__photo img{aspect-ratio:4 / 3}
  .shop-why{grid-template-columns:1fr}
  .shop-why__panel{padding:40px var(--gutter);border:0}
  .shop-why__text{padding:40px var(--gutter);border:0}
  .shop-why__panel h2{font-size:28px}
  .overlap.overlap--cyan{padding:0 0 40px}
  .finder-head h2{padding-inline:var(--gutter);font-size:30px}
  .finder{grid-template-columns:1fr;gap:24px}
  .county-filter{display:grid;grid-template-columns:repeat(2, 1fr);padding-left:0}
  .county-filter legend{grid-column:1 / -1}
  .shop-cards{grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px}
  .shop-close__inner{padding:40px var(--gutter) 0}
  .shop-close__inner p{font-size:21px}
  .shop-close__inner h3{font-size:24px}
  .overlap{padding:0 0 40px}
  .overlap__frame{display:block}
  .overlap__card{margin:-40px var(--gutter) 0;padding:32px 24px}
  .overlap__card h2{font-size:28px}
  .res-index-hero .hero-inner__band{height:auto}
  .res-index-hero .hero-inner__title{margin:0;font-size:36px}
  .res-index-hero .hero-inner__intro{margin:0;max-width:none;font-size:18px}
  .res-index-hero .hero-inner__photo img{height:auto}
  .res-intro h1{font-size:30px}
  .res-centres .heading{padding-inline:var(--gutter)}
  .res-centres .place-cards{padding-inline:var(--gutter)}
  .overlap.res-dining{padding:0 0 40px}
  .overlap.res-services{padding:0 0 40px}
  .overlap.res-staff{padding:0 0 40px}
  .res-dining .overlap__card{margin:-40px var(--gutter) 0;padding:32px 24px}
  .res-services .overlap__card{margin:-40px var(--gutter) 0;padding:32px 24px}
  .res-staff .overlap__card{margin:-40px var(--gutter) 0;padding:32px 24px}
  .res-services .overlap__media{width:auto}
  .res-centres .place-card{height:160px}
  .res-social{padding:32px var(--gutter)}
  .res-social h2{font-size:30px;margin-left:0}
  .res-path h2{font-size:30px;margin-left:0}
  .blog-nav{align-items:flex-start;min-height:0;padding:20px 0 0;margin-bottom:20px}
  .blog-nav__list{flex:1;gap:8px 22px}
  .post-single .post-meta{font-size:12px;gap:0 2px}
  .post-single .post-meta__dot{padding-inline:4px}
  .blog-nav__link{font-size:16px}
  .blog-nav__search{margin-right:0;flex:none}
  .post-list{gap:24px}
  .post-card{grid-template-columns:1fr;min-height:0}
  .post-card__media{aspect-ratio:454 / 340}
  .post-card__body{padding:22px 20px 26px}
  .post-card__title{font-size:24px;line-height:30px}
  .post-single__inner{padding:32px 20px 28px}
  .post-single__title{font-size:30px;line-height:38px}
  .post-content{font-size:17px;line-height:26px}
  .post-content h2{font-size:24px;line-height:31px}
  .post-content .alignleft{float:none;margin:0 auto 24px}
  .post-content .alignright{float:none;margin:0 auto 24px}
  .post-content .wp-caption.alignright{width:max-content}
  .post-content ul{padding-left:26px}
  .post-content ol{padding-left:26px}
  .post-single__footer{margin-top:40px}
  .shop-copy{padding-top:32px}
  .shop-copy__inner p{font-size:19px}
  .shop-items__refused{grid-template-columns:1fr;gap:12px}
  .place-hero__head{margin:0;padding:28px var(--gutter) 22px}
  .place-hero .hero-inner__title{padding:0}
  .place-hero__kicker{font-size:19px}
  .place-hero__county{font-size:22px;margin-top:8px}
  .place-hero__contact{max-width:none;margin:0;padding:24px var(--gutter) 30px;background:var(--navy);border-bottom-right-radius:60% 40px}
  .place-hero__line{font-size:19px}
  .place-hero__phone{margin-top:16px}
  .place-hero .hero-inner__photo img{aspect-ratio:4 / 3}
  .sr-gallery.collage{--collage-h:420px;grid-auto-columns:calc((100% - var(--collage-gap)) / 2)}
  .collage .sr-gallery__item:only-child{grid-column:span 2}
  .place-hero--residence .hero-inner__intro{margin:0;max-width:none;font-size:18px}
  .res-about{padding:40px 0}
  .res-about__name{font-size:34px}
  .res-manager{padding:56px 0 48px}
  .res-manager .heading{font-size:40px}
  .manager-card{grid-template-columns:1fr}
  .manager-card__img{aspect-ratio:324 / 293;height:auto}
  .manager-card__body{padding-bottom:48px}
  .res-explore .heading{margin-left:0}
  .res-contact__title{margin-left:0;font-size:30px}
  .contact-links{margin-left:0}
  .res-contact__address{margin-left:0}
}
@media (hover: none), (max-width: 768px){
  .hover-card{min-height:0;padding:48px 32px}
  .hover-card__hint{display:none}
  .hover-card__title{margin-top:28px}
  .hover-card__text{position:static;opacity:1;padding:0;margin-top:18px;background:none;font-size:17px}
  .howto-hover-card{min-height:0;padding:48px 32px}
  .howto-hover-card__hint{display:none}
  .howto-hover-card__title{margin-top:24px}
  .howto-hover-card__text{position:static;opacity:1;padding:0;margin-top:18px;background:none}
  .howto-hover-card__link{position:static;margin-top:8px}
}
@media (max-width: 640px){
  .link-cards{grid-template-columns:1fr;gap:16px}
  .place-cards{grid-template-columns:1fr}
  .place-card{grid-template-columns:46% 1fr}
  .link-card{height:auto;min-height:160px}
  .form__row{grid-template-columns:1fr}
  .accordion__panel{padding-left:16px}
  .accordion__num{width:48px}
  .hero-home__photo img{aspect-ratio:4 / 3;object-position:70% center}
  .hero-home__band{height:auto}
  .hero-home__title{position:static;max-width:none;padding:30px var(--gutter) 34px;font-size:32px}
  .hero-home__corner{display:none}
  .home-cards{padding:32px var(--gutter) 32px}
  .home-cards__title{font-size:26px;margin-top:28px}
  .home-intro{padding:48px 0}
  .home-intro .heading{margin-left:0;font-size:32px}
  .home-intro__logo{width:170px;margin-bottom:28px}
  .home-places{padding-inline:var(--gutter)}
  .home-map{margin-inline:var(--gutter)}
}
@media (max-width: 560px){
  .footer-cta__text{font-size:19px}
  .footer-contact-col{grid-column:1 / -1}
  .footer-cta-col{grid-column:1 / -1;grid-row:2;justify-self:start}
  .footer-title{font-size:24px;margin-bottom:18px}
  .footer-legal{font-size:13px}
  .board-grid{grid-template-columns:1fr}
  .furniture-gallery{grid-template-columns:1fr}
}

/* ---- added for WordPress / Oxygen (plugin_build.py) ---- */
/* Oxygen wraps each inline SVG in .oxy-svg-icon2 (the svg's class moves to the
   wrapper) and forces fill:currentColor on the svg; let it inherit instead, like
   the mockup's svg did from its own class. */
.oxy-svg-icon2>svg:where(:not([fill]):not([data-bare])){fill:inherit}
/* unclassed inline SVGs (marked data-bare at build time): the SVG Icon wrapper
   must not size them; rules like `.btn svg` size the svg itself */
.oxy-svg-icon2:has(> svg[data-bare]),.oxy-svg-icon2[data-bare]{display:contents}
/* classed SVGs: the class now sits on the wrapper. Where that class sets a size
   (.footer-icon, the hero shapes) the wrapper takes it; otherwise (.icon-open
   inside .header__burger, sized by `.header__burger svg`) the wrapper must
   shrink-wrap the svg instead of capping it at Oxygen's 1em icon size. */
.oxy-svg-icon2:not([data-bare]){--oxy-icon-size:auto}
/* A <picture> is carried in a Text element; its wrapper must not take part in layout */
.oxy-text:has(> picture){display:contents}
/* Containers that held loose text in the mockup (marked data-flow at build
   time): the converter's Text wrapper must not become a layout box. */
[data-flow] > .oxy-text:only-child{display:contents}
/* mixed text + icon (e.g. "Ballyroan >"): the converter puts the loose text in
   its own block div (class exactly "oxy-text-<post>-<id> oxy-text"); it must
   flow inline with the icon as in the mockup. Real child elements carry their
   own class and keep their box. */
[data-flow] > div.oxy-text[class^="oxy-text-"][class$=" oxy-text"]{display:contents}
/* form controls are carried as raw markup in a generated Text div (header
   search: label + input); the controls must stay flex/grid items of the form */
div.oxy-text[class^="oxy-text-"][class$=" oxy-text"]:has(> input, > select, > textarea){display:contents}
/* a Text element that prints a shortcode's markup ([sr_gallery], [sr_image];
   marked data-sc by binding.py) must not be a layout box of its own */
.oxy-text[data-sc]{display:contents}
/* a <p> that had to become a <div> (icon + bound field, binding.py) keeps the
   paragraph's text wrapping from site.css (p { text-wrap: pretty }) */
[data-was-p]{text-wrap:pretty}
/* Touch targets (Codex QA #3): at tablet / phone widths the footer text links
   and the social icons get a hit area of at least 44 x 44 (the mobile Donate button's
   44 px box comes from site.css: transparent top/bottom borders, background-clip).
   Inline links: vertical padding does not change an inline box's line, horizontal
   padding is cancelled by the same negative margin. Icons: padding cancelled by
   margin. */
@media (max-width: 1024px) {
  footer.site .footer-links a, footer.site .footer-contact a, footer.site .footer-legal a,
  footer.site .footer-cta__text a { padding: 15px 9px; margin: -15px -9px; }
  footer.site .footer-social a { padding: 2.5px; margin: -2.5px; }
}
/* Post bodies whose headings were promoted one level so none is skipped
   (import_data.py; "Embracing..." h3 -> h2): they keep the lower level's look */
.post-content h2.is-style-h3 { margin: 0 0 30px; font-size: 22px; line-height: 27px; }
.post-content h3.is-style-h4 { margin: 0 0 4px; font-size: 20px; line-height: 25px; }
.post-content .is-style-h4 + p, .post-content .is-style-h4 + .is-style-h4 + p { margin-top: 26px; }
/* Oxygen prints its own skip link (to <main id="oxy-main">) in place of the
   mockup's .skip-link; same look (normalize.css, which hid it, is not loaded) */
.oxy-skip-link{position:absolute;left:8px;top:-60px;z-index:200;padding:10px 16px;background:var(--navy);color:var(--white);font:var(--fs-body)/1.4 var(--font-sans);text-decoration:none}
.oxy-skip-link:focus{top:8px}
/* Donation forms (sr-donations WP3, push_pages.donation_embeds). The widget card keeps its
   title; the fields are the form's iframe, which keeps 4px inside for focus rings, so the
   card's side and bottom padding give up 4px. Title gaps measured against the mockup at
   1440/768/390 (06-qa/wp3/compare-*.png). */
.donate-hero .donate-widget[data-sr-form]{padding:22px 16px 16px}
.donate-hero .donate-widget[data-sr-form] .donate-widget__title{margin-bottom:19px}
.xmas-hero .donate-widget[data-sr-form] .donate-widget__title{margin-bottom:63px}
.donate-widget[data-sr-form] iframe{display:block;width:100%;border:0}
@media (max-width: 768px) {
  .donate-hero .donate-widget[data-sr-form]{padding:18px 10px 14px}
  .xmas-hero .donate-widget[data-sr-form] .donate-widget__title{margin-bottom:17px}
}
/* The registration line must be legible (Charities Act s.46(7), LEGAL L1): not 8px */
.xmas-hero .donate-hero__note--tiny{font-size:12px}
/* Thank-you card: the confirmation iframe fills the card */
.thanks__card[data-sr-receipt]{text-align:left}
.thanks__card[data-sr-receipt] iframe{display:block;width:100%;border:0}

/* svg fills from the design, restated after the converter fixes (plugin_build.svg_fills) */
.btn svg{fill:currentColor}
.search__btn svg{fill:none}
.link-card__more svg{fill:var(--navy-mid)}
.place-card__town svg{fill:var(--navy-mid)}
.faq-search svg{fill:none}
.icon-tile svg{fill:currentColor}
.furniture-upload__btn svg{fill:currentColor}
.icon-strip__item svg{fill:var(--navy)}
.partners-cta__icons svg{fill:currentColor}
.link-tile svg{fill:var(--navy)}
.shop-card__more svg{fill:var(--navy-mid)}
.shop-card__icons svg{fill:var(--navy-mid)}
.blog-nav__search svg{fill:none}
.post-share__link svg{fill:currentColor}
.place-hero__phone > svg:last-child{fill:var(--white)}
.place-hero__phone > .oxy-svg-icon2:last-child > svg{fill:var(--white)}
.collage__btn svg{fill:currentColor}
.contact-links svg{fill:var(--navy-mid)}
