/* Four explicit production layout types: full surface, wide, standard, and reading. */
:root{--hsp-content:840px;--hsp-standard:1080px;--hsp-wide:1360px;--hsp-gutter:clamp(20px,4vw,64px);--hsp-section-y:clamp(72px,7vw,112px);--wp--style--global--content-size:840px;--wp--style--global--wide-size:1360px}
.wp-site-blocks,.hsp-main,.wp-block-post-content{width:100%;max-width:none;margin-inline:0;padding-inline:0}
.page .wp-block-post-content>.hsp-hero,.page .wp-block-post-content>.hsp-section,.page .wp-block-post-content>.hsp-page-hero,.page .wp-block-post-content>.alignfull{width:100%;max-width:none;margin-inline:0}
.page .wp-block-post-content>.alignwide{width:min(var(--hsp-wide),calc(100% - 2 * var(--hsp-gutter)));max-width:var(--hsp-wide);margin-inline:auto}
.hsp-inner,.hsp-resource-library,.hsp-footer-grid,.hsp-footer-bottom{width:min(var(--hsp-wide),100%);max-width:var(--hsp-wide);margin-inline:auto}
.hsp-standard{width:min(var(--hsp-standard),calc(100% - 2 * var(--hsp-gutter)));margin-inline:auto}
.hsp-narrow,.hsp-prose,.hsp-policy-wrap{width:min(var(--hsp-content),100%)}
.hsp-section{padding-inline:var(--hsp-gutter)}
.hsp-section{padding-block:clamp(64px,7vw,96px)}
.hsp-hero{min-height:clamp(620px,75vh,760px)}
.hsp-hero-copy{padding-block:clamp(72px,8vw,104px)}
.hsp-page-hero{padding-top:clamp(72px,8vw,112px);padding-bottom:clamp(52px,6vw,80px)}
.hsp-footer{padding-top:clamp(56px,6vw,76px)}

.hsp-hero h1{font-size:clamp(48px,6vw,88px);line-height:1.03;max-width:14ch}
.hsp-page-hero h1{font-size:clamp(46px,5.7vw,78px);line-height:1.05;max-width:18ch}
.hsp-section h2{font-size:clamp(38px,4.3vw,62px);line-height:1.1;max-width:21ch}
.hsp-lead,.hsp-page-hero p{font-size:clamp(18px,1.6vw,20px);line-height:1.65}

.hsp-product-grid,
.woocommerce ul.products,
.wc-block-grid__products,
.wp-block-woocommerce-product-collection ul.products{
 display:grid!important;
 grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important;
 gap:clamp(22px,2.4vw,32px)!important;
 align-items:stretch;
}
.hsp-product-card,
.woocommerce ul.products li.product,
.wc-block-grid__product{
 min-width:0!important;
 width:100%!important;
 max-width:none!important;
 margin:0!important;
 display:flex!important;
 flex-direction:column;
 overflow:hidden;
}
.hsp-product-card img,
.woocommerce ul.products li.product img,
.wc-block-grid__product-image img{
 width:100%!important;
 aspect-ratio:4/5;
 object-fit:cover;
}
.hsp-product-card .hsp-card-body{display:flex;flex:1;flex-direction:column;padding:20px}
.hsp-product-card h3,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title{
 font-size:clamp(19px,1.7vw,22px)!important;
 line-height:1.22!important;
 display:-webkit-box;
 -webkit-box-orient:vertical;
 -webkit-line-clamp:3;
 overflow:hidden;
 min-height:0!important;
}
.woocommerce ul.products li.product .price,
.wc-block-grid__product-price,
.hsp-price{
 display:block!important;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
 font-size:17px!important;
 line-height:1.35!important;
 margin-block:10px 16px!important;
}
.woocommerce ul.products li.product .button,
.wc-block-grid__product-add-to-cart .wp-block-button__link,
.hsp-product-card .hsp-button{
 width:calc(100% - 32px)!important;
 margin:12px 16px 0!important;
 min-height:48px!important;
 padding-inline:14px!important;
 white-space:normal;
 text-align:center;
}
.woocommerce ul.products li.product .button{margin-top:auto!important}

.hsp-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.2vw,30px)}
.hsp-resource-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(20px,2.2vw,30px)}
.hsp-resource-grid>.hsp-resource-card{grid-column:span 2}
.hsp-resource-grid>.hsp-resource-card:nth-last-child(2):nth-child(3n + 1){grid-column:2/span 2}
.hsp-resource-grid>.hsp-resource-card:last-child:nth-child(3n + 2){grid-column:4/span 2}
.hsp-four-card-grid{grid-template-columns:repeat(4,minmax(270px,1fr))}
.hsp-content-card,.hsp-resource-card{min-width:0;height:auto!important;overflow:visible}
.hsp-content-card .hsp-card-body,.hsp-resource-card{padding:clamp(24px,2.4vw,32px)}
.hsp-content-card h3,.hsp-resource-card h3,.hsp-post-card h2{font-size:clamp(24px,2.2vw,30px);line-height:1.2;overflow-wrap:normal;word-break:normal}
.hsp-content-card h3 a,.hsp-resource-card h3 a,.hsp-post-card h2 a{text-decoration:none;text-decoration-thickness:1px;text-underline-offset:.16em}
.hsp-content-card:focus-within,.hsp-resource-card:focus-within{outline:3px solid var(--hsp-terracotta,#b8654b);outline-offset:4px}
.hsp-content-card:hover,.hsp-resource-card:hover{border-color:var(--hsp-terracotta,#b8654b);box-shadow:0 12px 30px rgba(36,49,40,.12)}
.hsp-content-card p,.hsp-resource-card p{font-size:clamp(16px,1.4vw,18px);line-height:1.6}
.hsp-meta{font-size:12px;line-height:1.4;letter-spacing:.12em}

.hsp-searchbar{display:flex;width:min(100%,900px);gap:12px;align-items:stretch;margin-block:28px 42px}
.hsp-searchbar input{flex:1 1 auto;min-width:0;min-height:50px;padding:12px 16px;border:1px solid var(--hsp-sage);background:#fff;font:inherit}
.hsp-searchbar .hsp-button{flex:0 0 auto;min-width:112px;min-height:50px;margin:0!important}
.woocommerce .woocommerce-ordering select{max-width:100%;min-height:46px}

/* Free Reset owns a page-specific namespace so its funnel layout cannot collide
   with Sanctuary's global hero, section, brand, button, and footer components. */
.hsp-free-reset{width:100%;max-width:none;margin-inline:0;padding:0;background:#f5f0e8;color:#233228}
.hsp-free-reset-wrap{width:min(1360px,calc(100% - (2 * clamp(20px,4vw,64px))));max-width:none!important;margin-inline:auto!important;padding-inline:0!important}
.hsp-free-reset-hero{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:clamp(32px,5vw,72px);align-items:center;min-height:0;padding:clamp(56px,6vw,92px);border-radius:30px;background:linear-gradient(90deg,rgba(19,36,29,.96) 0%,rgba(19,36,29,.82) 48%,rgba(19,36,29,.48) 100%),url('/wp-content/themes/hsp-sanctuary/assets/images/rainy-sanctuary.webp') center/cover no-repeat;color:#fff;box-shadow:0 24px 60px rgba(24,39,30,.18)}
.hsp-free-reset-hero h1,.hsp-free-reset-hero h2,.hsp-free-reset-hero h3{color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.28);overflow:visible!important;height:auto!important;max-height:none!important}
.hsp-free-reset-hero h1{padding-bottom:8px}
.hsp-free-reset-hero p,.hsp-free-reset-hero li{color:#f4f6f1!important}
.hsp-free-reset-hero a:not(.hsp-free-reset-button){color:#fff}
.hsp-free-reset-hero .hsp-free-reset-eyebrow{color:#f0d7c8!important}
.hsp-free-reset-hero .hsp-visual{background:rgba(249,246,239,.94);color:#233228;backdrop-filter:blur(8px)}
.hsp-free-reset-hero .hsp-visual h2,.hsp-free-reset-hero .hsp-visual h3,.hsp-free-reset-hero .hsp-visual p,.hsp-free-reset-hero .hsp-visual li{color:#233228!important;text-shadow:none}
.hsp-free-reset-section{width:100%;padding-block:clamp(64px,7vw,104px)}
.hsp-free-reset-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hsp-free-reset-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 22px;border-radius:999px;text-decoration:none;font-weight:700}

@media(max-width:900px){.hsp-free-reset-hero{grid-template-columns:1fr;padding:clamp(34px,7vw,56px)}}

@media(max-width:1200px){.hsp-four-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.hsp-product-grid,.woocommerce ul.products,.wc-block-grid__products{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))!important}.hsp-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hsp-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hsp-resource-grid>.hsp-resource-card,.hsp-resource-grid>.hsp-resource-card:nth-last-child(2):nth-child(3n + 1),.hsp-resource-grid>.hsp-resource-card:last-child:nth-child(3n + 2){grid-column:auto}}
@media(max-width:700px){.hsp-section{padding-block:clamp(44px,12vw,64px)}.hsp-hero{min-height:620px}.hsp-hero h1{font-size:clamp(44px,12.5vw,52px)}.hsp-page-hero h1{font-size:clamp(42px,11.5vw,50px)}.hsp-section h2{font-size:clamp(35px,9.5vw,42px)}.hsp-card-grid,.hsp-resource-grid,.hsp-four-card-grid{grid-template-columns:1fr}.hsp-searchbar{flex-direction:column}.hsp-searchbar input,.hsp-searchbar .hsp-button{width:100%;min-height:48px}.hsp-content-card h3,.hsp-resource-card h3{font-size:clamp(23px,6.6vw,26px)}.hsp-product-grid,.woocommerce ul.products,.wc-block-grid__products{grid-template-columns:1fr!important}.hsp-product-card h3,.woocommerce ul.products li.product h2{font-size:20px!important}}

/* 1.1.10 approved global header, principal-page heroes, and automatic motion accessibility. */
.hsp-header-inner{width:min(1360px,calc(100% - 48px));min-height:88px;padding-inline:0;gap:clamp(16px,1.5vw,24px)}
.hsp-brand{font-size:clamp(28px,1.7vw,32px);line-height:1.08}
.hsp-primary-nav{gap:clamp(14px,1.35vw,24px)}
.hsp-primary-nav>a,.hsp-shop-menu>summary{display:flex;align-items:center;min-height:44px;font-size:16px;line-height:1.25}
.hsp-primary-nav>a:hover,.hsp-shop-menu>summary:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.hsp-primary-nav>a[aria-current="page"],.hsp-shop-menu>summary[aria-current="page"]{color:var(--hsp-forest);text-decoration:underline;text-decoration-color:var(--hsp-gold);text-decoration-thickness:2px;text-underline-offset:6px}
.hsp-primary-nav>a:focus-visible,.hsp-shop-menu>summary:focus-visible,.hsp-menu-toggle:focus-visible{outline:3px solid #b98324!important;outline-offset:3px!important;border-radius:3px}

body.hsp-page-start-here .hsp-page-hero,body.hsp-page-about .hsp-page-hero{position:relative;isolation:isolate;display:grid;place-items:center;min-height:clamp(500px,39vw,620px);padding:clamp(78px,7vw,112px) clamp(24px,6vw,90px);text-align:center;background-position:center 54%}
body.hsp-page-start-here .hsp-page-hero::after,body.hsp-page-about .hsp-page-hero::after{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse 66% 75% at 50% 50%,rgba(24,41,31,.72) 0%,rgba(24,41,31,.48) 54%,rgba(24,41,31,.18) 100%),linear-gradient(180deg,rgba(18,32,24,.14),rgba(18,32,24,.24));pointer-events:none}
body.hsp-page-start-here .hsp-principal-hero__content,body.hsp-page-about .hsp-principal-hero__content{width:min(100%,840px);margin-inline:auto;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}
body.hsp-page-start-here .hsp-principal-hero__content>*,body.hsp-page-about .hsp-principal-hero__content>*{margin-inline:auto;text-align:center}
body.hsp-page-start-here .hsp-principal-hero__content .hsp-eyebrow,body.hsp-page-about .hsp-principal-hero__content .hsp-eyebrow{width:min(100%,760px);max-width:760px;margin-block:0 18px;font-size:13px;line-height:1.5;letter-spacing:.18em}
body.hsp-page-start-here .hsp-principal-hero__content h1,body.hsp-page-about .hsp-principal-hero__content h1{width:min(100%,840px);max-width:840px;margin-block:0 24px;font-size:clamp(50px,5.2vw,76px);line-height:1.05;text-wrap:balance;text-shadow:0 2px 24px rgba(8,20,13,.44)}
body.hsp-page-start-here .hsp-principal-hero__content>p:not(.hsp-eyebrow),body.hsp-page-about .hsp-principal-hero__content>p:not(.hsp-eyebrow){width:min(100%,720px);max-width:720px;margin-block:0;font-size:clamp(18px,1.5vw,21px);line-height:1.55;text-wrap:pretty;text-shadow:0 1px 18px rgba(8,20,13,.55)}
body.hsp-page-about .hsp-page-hero{background-position:center 47%}

body.hsp-page-articles .hal-intro{position:relative;isolation:isolate;min-height:clamp(470px,35vw,570px);padding:clamp(72px,7vw,106px) 0;display:grid;place-items:center;color:#fff;text-align:center;background:linear-gradient(180deg,rgba(17,38,29,.5),rgba(17,38,29,.68)),url("/wp-content/uploads/2026/07/visual-reminder-rainy-desk.webp") center 54%/cover no-repeat}
body.hsp-page-articles .hal-intro .hal-wide{width:min(840px,calc(100% - clamp(40px,8vw,128px)));margin-inline:auto;display:flex;flex-direction:column;align-items:center}
body.hsp-page-articles .hal-intro .hal-meta,body.hsp-page-articles .hal-intro h1,body.hsp-page-articles .hal-intro>.hal-wide>p{margin-inline:auto;text-align:center}
body.hsp-page-articles .hal-intro .hal-meta{color:#eef4ef}
body.hsp-page-articles .hal-intro h1{width:min(100%,840px);max-width:840px;margin-block:.12em .18em;text-shadow:0 2px 24px rgba(8,20,13,.5)}
body.hsp-page-articles .hal-intro>.hal-wide>p:not(.hal-meta){width:min(100%,720px);max-width:720px;font-size:clamp(18px,1.5vw,21px);line-height:1.6;text-shadow:0 1px 18px rgba(8,20,13,.58)}
body.hsp-page-articles .hal-search{width:min(100%,760px);margin:26px auto 0;text-align:left}

.hsp-start-health-note{padding:24px clamp(20px,6vw,90px) 34px;background:var(--hsp-cream);color:#5c6760}
.hsp-start-health-note .hsp-inner{width:min(840px,100%);margin-inline:auto}
.hsp-start-health-note p{margin:0;font-size:14px;line-height:1.65}

@media(max-width:1320px) and (min-width:1121px){
 .hsp-header-inner{width:calc(100% - 40px);gap:14px}
 .hsp-brand{font-size:27px}
 .hsp-primary-nav{gap:12px}
 .hsp-primary-nav>a,.hsp-shop-menu>summary{font-size:15px}
}
@media(max-width:1120px){
 .hsp-header-inner{width:calc(100% - 36px);min-height:76px;padding-inline:0}
 .hsp-brand{font-size:clamp(24px,3vw,28px)}
 .hsp-menu-toggle{display:block;margin-left:auto}
 .hsp-primary-nav{display:none;position:absolute;top:76px;left:0;right:0;margin:0;padding:12px 24px 28px;background:var(--hsp-paper);border-bottom:1px solid var(--hsp-line);box-shadow:var(--hsp-shadow)}
 .hsp-primary-nav.is-open{display:grid;gap:0}
 .hsp-primary-nav>a,.hsp-shop-menu>summary{min-height:48px;font-size:16px;border-bottom:1px solid var(--hsp-line)}
 .hsp-shop-menu>div{position:static;box-shadow:none;border:0;padding:5px 12px}
 .hsp-shop-menu>div a{display:block;min-height:44px;padding-block:10px}
}
@media(max-width:600px){
 .hsp-header-inner{width:calc(100% - 28px);gap:10px}
 .hsp-brand{font-size:clamp(21px,5.8vw,25px)}
 .hsp-brand>span:first-child{display:inline}
 body.hsp-page-start-here .hsp-page-hero,body.hsp-page-about .hsp-page-hero{min-height:500px;padding:70px 22px}
 body.hsp-page-start-here .hsp-principal-hero__content h1,body.hsp-page-about .hsp-principal-hero__content h1{max-width:12ch;font-size:clamp(42px,11.5vw,52px)}
 body.hsp-page-articles .hal-intro{min-height:520px;padding:68px 0;background-position:58% center}
 body.hsp-page-articles .hal-intro .hal-wide{width:calc(100% - 40px)}
 body.hsp-page-articles .hal-search{grid-template-columns:1fr}
 .hsp-start-health-note{padding:22px 20px 30px}
}
@media(min-width:601px) and (max-width:860px){
}

@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
 .hsp-hero,.hsp-page-hero,.hsp-404{background-attachment:initial!important}
}
