/* ============================================================
   Taylorsville Sporting Goods — theme.css
   Start: full prototype styles.css
   End:   WordPress / Gutenberg bridges appended below
   ============================================================ */

/* ── Base & Variables ─────────────────────────────────────── */
:root{--blue:#145a9c;--navy:#092c51;--deep:#061e36;--orange:#ff761c;--line:#dce4ed;--text:#142b45;--muted:#526376}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);background:#fff;font-family:Arial,Helvetica,sans-serif}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
h1,h2,h3,p{margin-top:0}

/* ── Accessibility ────────────────────────────────────────── */
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #ff8b2c;outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;top:-80px;left:16px;background:#fff;padding:12px;z-index:50;font-weight:700;color:var(--navy);border:2px solid var(--navy)}
.skip-link:focus{top:10px}

/* ── Layout ───────────────────────────────────────────────── */
.wrap{width:min(100% - 56px,1380px);margin-inline:auto}

/* ── Utility bar ─────────────────────────────────────────── */
.utility{background:#1e65ab;color:white;min-height:38px;font-size:12px}
.utility__inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.utility__inner>span{display:flex;align-items:center}
.utility svg{width:16px;height:16px;fill:white;stroke:white;vertical-align:middle;margin-right:7px}
.utility svg circle{fill:#1e65ab}
.utility__divider{opacity:.7;margin:0 12px}
.utility__slogan{white-space:nowrap}

/* ── Header ───────────────────────────────────────────────── */
.header{background:white;position:relative;z-index:20;box-shadow:0 1px 8px #122c4412}
.header__inner{min-height:142px;display:grid;grid-template-columns:175px minmax(250px,1fr) 138px;grid-template-rows:91px 51px;align-items:center;column-gap:24px}
.brand{grid-row:1/3;align-self:center;width:153px;height:126px;display:flex;align-items:center}
.brand img{width:100%;height:100%;object-fit:contain}

/* Search */
.search{height:42px;border:1px solid #c7d3e2;border-radius:25px;display:flex;align-items:center;background:#fafbfc;max-width:810px;width:100%}
.search button{background:none;border:0;padding:0 12px 0 15px;color:#102640}
.search svg,.header__actions svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.search input{width:100%;height:100%;border:0;background:transparent;outline:0;font-size:13px;color:#183a5c;padding-right:16px}
.search:focus-within{outline:2px solid #3d81bd}
.search input::placeholder{color:#53677e;opacity:1}

/* Header actions */
.header__actions{display:flex;justify-content:space-between;gap:12px;align-self:center}
.header__actions a{position:relative;display:flex;align-items:center;flex-direction:column;gap:2px;font-size:12px;min-width:49px;color:#0e2a49}

/* Primary nav */
.nav{grid-column:2/4;grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:20px;height:100%;font-size:13px;font-weight:700;color:#0d2948}
.nav a{white-space:nowrap;padding:14px 0}
.nav a:hover,.section-heading a:hover{color:var(--blue)}
.nav span{font-weight:400;margin-left:3px}
.menu-toggle{display:none}

/* ── Hero ─────────────────────────────────────────────────── */
.hero{background:radial-gradient(circle at 71% 45%,#2375bd 0,#145b9c 38%,#073b73 74%,#062b54 100%);color:#fff;overflow:hidden}
.hero__inner,.wp-block-group.hero__inner{height:290px;position:relative;display:flex;align-items:center}
.hero__copy,.wp-block-group.hero__copy{position:relative;z-index:2;width:46%;padding-left:20px}
.hero__actions,.wp-block-group.hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.hero__actions .wp-block-buttons{margin:0}
.hero h1,.section-heading h2,.promo h2,.about h2{font-family:Georgia,serif;font-weight:900;letter-spacing:-.035em}
.hero h1{font-size:clamp(40px,5vw,68px);line-height:.98;margin:0 0 22px;color:#fff;text-shadow:0 2px 1px #05234c}
.hero p{font-size:clamp(16px,1.6vw,21px);line-height:1.35;margin:0 0 24px}
.hero__art,.wp-block-group.hero__art{position:absolute;inset:0 0 0 42%;pointer-events:none}
.hero__art img,.hero__art .wp-block-image img{position:absolute;width:auto;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 9px #061d3a55)}
.hero__art .wp-block-image{position:absolute;margin:0;line-height:0}
.hero__art .wp-block-image.hero__hoodie,.hero__hoodie{height:105%;left:7%;bottom:-16%}
.hero__art .wp-block-image.hero__back,.hero__back{height:100%;right:-2%;bottom:-14%}
.hero__art .wp-block-image.hero__front,.hero__front{height:98%;right:18%;bottom:-18%}
.hero__art .wp-block-image.hero__hoodie img,.hero__art .wp-block-image.hero__back img,.hero__art .wp-block-image.hero__front img{position:relative;inset:auto;height:100%;width:auto;left:auto;right:auto;bottom:auto}

/* ── Buttons ──────────────────────────────────────────────── */
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:0 23px;border-radius:5px;font-size:14px;font-weight:700;white-space:nowrap;transition:transform .15s,filter .15s}
.button:hover{transform:translateY(-2px);filter:brightness(1.06)}
.button--orange,.button.orange{background:var(--orange);color:#fff}
.button--white,.button.white{background:#fff;color:#12559b}
.button--blue,.button.blue{background:#1e65ad;color:#fff}
.button.gold{background:linear-gradient(100deg,#f6c75f,#ffe59a 45%,#e6a832);color:#111a2b}
.button.outline{background:transparent;border:1px solid #fff;color:#fff}

/* ── Benefits strip ───────────────────────────────────────── */
.benefits{background:#f5f8fb;border-bottom:1px solid #e8edf1}
.benefits__inner{display:grid;grid-template-columns:repeat(3,1fr);min-height:60px;align-items:center}
.benefit{display:flex;align-items:center;gap:15px;padding:0 28px;border-right:1px solid #98b5d2}
.benefit:last-child{border-right:0}
.benefit__icon{flex:none;width:34px;height:34px;background:#1762a5;mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center}
.benefit--location .benefit__icon{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 22s7-7.1 7-13a7 7 0 1 0-14 0c0 5.9 7 13 7 13Z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 22s7-7.1 7-13a7 7 0 1 0-14 0c0 5.9 7 13 7 13Z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E")}
.benefit--team .benefit__icon{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='7' r='3'/%3E%3Ccircle cx='4.5' cy='9' r='2'/%3E%3Ccircle cx='19.5' cy='9' r='2'/%3E%3Cpath d='M6 20v-2a6 6 0 0 1 12 0v2M1 19v-2a4 4 0 0 1 3-3.9M23 19v-2a4 4 0 0 0-3-3.9'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='7' r='3'/%3E%3Ccircle cx='4.5' cy='9' r='2'/%3E%3Ccircle cx='19.5' cy='9' r='2'/%3E%3Cpath d='M6 20v-2a6 6 0 0 1 12 0v2M1 19v-2a4 4 0 0 1 3-3.9M23 19v-2a4 4 0 0 0-3-3.9'/%3E%3C/svg%3E")}
.benefit--athletes .benefit__icon{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M8 3h8v8a4 4 0 0 1-8 0V3ZM8 5H3v3a5 5 0 0 0 5 5m8-8h5v3a5 5 0 0 1-5 5m-4 2v5m-5 1h10'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M8 3h8v8a4 4 0 0 1-8 0V3ZM8 5H3v3a5 5 0 0 0 5 5m8-8h5v3a5 5 0 0 1-5 5m-4 2v5m-5 1h10'/%3E%3C/svg%3E")}
.benefit svg{flex:none;width:34px;height:34px;stroke:#1762a5;fill:none;stroke-width:2;stroke-linejoin:round}
.benefit strong,.benefit span{display:block}
.benefit strong{font-size:13px;color:#153253}
.benefit span{font-size:12px;color:#4f6680;margin-top:3px}

/* ── Section / heading ────────────────────────────────────── */
.section{padding-top:22px}
.section-heading,.wp-block-group.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}
.section-heading h2,.section-heading .wp-block-heading{font-size:29px;line-height:1.08;margin:0;color:#092b51}
.section-heading a,.section-heading__link a{font-size:12px;color:#07549f;font-weight:700;white-space:nowrap;padding-bottom:3px}
.section-heading__link{margin:0}

/* ── Sports grid ──────────────────────────────────────────── */
.sports-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.sport-card{min-width:0;position:relative;overflow:hidden;height:155px;background:#133554;border-radius:4px}
.sport-card img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.sport-card:hover img{transform:scale(1.05)}
.sport-card span{position:absolute;left:0;bottom:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:3px;background:#082b4de8;color:#fff;padding:9px 10px;font-size:12px;font-weight:700}
.sport-card b{font-size:19px;font-weight:400}

/* ── Promos ───────────────────────────────────────────────── */
.promos{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:17px}
.promo,.wp-block-group.promo{height:190px;position:relative;overflow:hidden;border-radius:4px;color:white;background:#0a3764}
.promo--custom{background:linear-gradient(110deg,#073054,#0c5aab)}
.promo--custom>.wp-block-image,.promo--custom>figure{position:absolute;margin:0;line-height:0;height:115%;bottom:-18%;z-index:0}
.promo--custom>.wp-block-image img,.promo--custom>figure img,.promo--custom>img:not(.promo__logo){height:100%;width:auto;filter:drop-shadow(0 5px 3px #00192f55)}
.promo__hoodie{left:-6%}
.promo__jersey{left:14%}
/* Darken the right side so white copy pops (same idea as .promo--team). */
.promo--custom::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent 22%,#071c38b0 52%,#061d39f0 72%,#061d39 100%)}
.promo--custom .promo__copy,.promo--custom .wp-block-group.promo__copy{position:absolute;left:auto;right:4%;top:28px;width:42%;z-index:2;text-shadow:0 1px 2px #02152666}
.promo__logo,.promo--custom .wp-block-image.promo__logo{position:absolute;right:2%;top:50%;transform:translateY(-50%);width:22%;height:auto;bottom:auto;opacity:.18;z-index:0;pointer-events:none}
.promo__logo img,.promo--custom .wp-block-image.promo__logo img{width:100%;height:auto;filter:none}
.promo h2,.promo .wp-block-heading{font-size:25px;line-height:.94;margin:0 0 9px;color:#fff}
.promo p{font-size:12px;line-height:1.3;margin:0 0 12px}
.promo .button,.promo .wp-block-button .wp-block-button__link{min-height:33px;font-size:11px;padding-inline:13px}
.promo--team>.wp-block-image,.promo--team>figure{position:absolute;inset:0;margin:0;height:100%;width:100%;z-index:0}
.promo--team>.wp-block-image img,.promo--team>figure img,.promo--team>img{width:100%;height:100%;object-fit:cover;object-position:34% center}
.promo--team::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent 20%,#071c38c9 70%,#061d39 100%)}
.promo--team .promo__copy,.promo--team .wp-block-group.promo__copy{position:absolute;z-index:2;top:28px;right:4%;width:35%;text-shadow:0 1px 2px #02152666}

/* ── Teams grid ───────────────────────────────────────────── */
.teams{padding-top:20px}
.teams-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.team-card{min-width:0;border:1px solid #e3e8ef;border-radius:5px;text-align:center;padding-bottom:10px;box-shadow:0 1px 2px #1a335014}
.team-card__image{height:127px;display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden;border-radius:4px;margin:2px}
.team-card__image img{max-width:100%;max-height:100%;object-fit:contain}
.team-card strong{display:block;font-size:12px;padding:5px 4px 0;color:#173252}
.team-card__link{display:block;color:#0759b0;font-weight:700;font-size:11px;margin-top:4px}
.team-card:hover{box-shadow:0 4px 14px #16396022}

/* ── Products ─────────────────────────────────────────────── */
.products{padding-top:16px;padding-bottom:24px}
.product-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.product{min-width:0;border:1px solid #e8edf2;border-radius:4px;overflow:hidden;background:#fff}
.product__image{height:132px;background:#f7f9fb;display:flex;align-items:center;justify-content:center}
.product__image img{max-height:94%;max-width:95%;object-fit:contain}
.product__info{padding:7px 9px 9px}
.product h3{font-size:12px;line-height:1.18;font-weight:400;color:#111;min-height:42px;margin:0 0 4px}
.product strong{display:block;font-size:13px;color:#111}
.swatches{display:flex;gap:6px;margin-top:6px}
.swatches i{width:15px;height:15px;display:block;border-radius:50%;background:var(--swatch);border:1px solid #a5adb6}

/* ── About section ────────────────────────────────────────── */
.about,.wp-block-group.about{display:grid;grid-template-columns:1fr 1fr;min-height:280px;background:#f3f7fa;width:100%}
.about__image,.wp-block-group.about__image{height:280px;overflow:hidden;min-width:0}
.about__image .wp-block-image,
.about__image figure,
.wp-block-group.about__image .wp-block-image,
.wp-block-group.about__image figure{height:100%;margin:0}
.about__image img,
.wp-block-group.about__image img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 35%}
.about__copy,.wp-block-group.about__copy{position:relative;max-width:610px;padding:20px 38px;overflow:hidden}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#1a63ae;font-weight:700;font-size:10px}
.about h2,.about .wp-block-heading{font-size:23px;line-height:1;margin:6px 0 11px;position:relative;z-index:1}
.about p{font-size:11px;line-height:1.3;max-width:425px;position:relative;z-index:1;margin-bottom:12px}
.about .button,.about .wp-block-button .wp-block-button__link{min-height:32px;font-size:11px;padding-inline:18px;position:relative;z-index:1}
.kentucky{position:absolute;right:8px;bottom:8px;width:220px;height:140px;color:#dce5ed}
.about__copy::after,.wp-block-group.about__copy::after{
  content:"";position:absolute;right:0;bottom:0;width:min(58%,300px);aspect-ratio:1;max-height:86%;
  background:#c9d6e3;pointer-events:none;
  -webkit-mask-image:var(--tysg-kentucky);mask-image:var(--tysg-kentucky);
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:right bottom;mask-position:right bottom;
}

/* ── Footer ───────────────────────────────────────────────── */
.footer{background:var(--deep);color:#dbe9f7;font-size:13px}
.footer a{color:#dbe9f7;text-decoration:none}
.footer a:hover{color:#fff}
.footer__top{
  display:grid;
  grid-template-columns:140px 1fr auto;
  gap:28px 40px;
  align-items:center;
  padding:28px 0 24px;
  border-bottom:1px solid #1a4a75;
}
.footer__brand{display:flex;align-items:center;width:120px}
.footer__brand img{width:100%;height:auto;object-fit:contain}
.footer__nav{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;font-weight:700;font-size:13px}
.footer__contact{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#b7cce0;text-align:right}
.footer__contact a{color:#b7cce0}
.footer__contact a:hover{color:#fff}
.footer__bottom{background:#06182c}
.footer__bottom-inner{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 18px;
  padding-block:14px;font-size:12px;color:#9db4cc;
}
.footer__meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}
.footer__meta a{color:#9db4cc}
.footer__meta a:hover{color:#fff}
.footer__credit a{color:#7ec8ff;font-weight:700}
.footer__credit a:hover{color:#fff;text-decoration:underline}
@media(max-width:900px){
  .footer__top{grid-template-columns:1fr;gap:18px;padding:24px 0 20px}
  .footer__brand{width:96px}
  .footer__contact{text-align:left}
}
@media(max-width:680px){
  .footer__bottom-inner{flex-direction:column;align-items:flex-start}
  .footer__nav{gap:10px 16px}
}

/* ── Notice toast ─────────────────────────────────────────── */
.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,30px);background:#092d51;color:white;padding:12px 18px;border-radius:6px;box-shadow:0 5px 22px #0004;z-index:40;opacity:0;pointer-events:none;transition:.2s;max-width:calc(100vw - 32px);text-align:center;font-size:14px}
.toast.is-visible{opacity:1;transform:translate(-50%,0)}
.search-hit{outline:4px solid #ff8b2c;outline-offset:2px}

/* ── Large desktop ────────────────────────────────────────── */
@media(min-width:1200px){
  .header__inner{grid-template-columns:190px minmax(250px,1fr) 150px;column-gap:36px}
  .brand{width:170px}
  .hero__inner{height:450px}
  .hero__copy{padding-left:30px}
  .hero__art{inset-inline-start:44%}
  .sport-card{height:194px}
  .promo{height:270px}
  .promo h2{font-size:33px}
  .promo p{font-size:16px}
  .promo .button{min-height:40px;font-size:13px}
  .promo--custom .promo__copy,.promo--custom .wp-block-group.promo__copy{top:42px;width:40%}
  .promo--team .promo__copy,.promo--team .wp-block-group.promo__copy{top:42px}
  .team-card__image{height:165px}
  .product__image{height:177px}
  .product h3{font-size:14px;min-height:48px}
  .product strong{font-size:16px}
  .about,.about__image,.wp-block-group.about,.wp-block-group.about__image{min-height:380px;height:380px}
  .about__copy{padding:37px 45px}
  .about h2{font-size:35px}
  .about p{font-size:14px}
  .about .button{min-height:42px;font-size:13px}
  .kentucky{width:280px;height:280px}
  .about__copy::after,.wp-block-group.about__copy::after{width:min(52%,300px);height:auto;aspect-ratio:1;max-height:90%}
}

/* ── Tablet ───────────────────────────────────────────────── */
@media(max-width:900px){
  .wrap{width:min(100% - 36px,1380px)}
  .header__inner{grid-template-columns:135px minmax(160px,1fr) 116px;column-gap:16px}
  .brand{width:130px}
  .nav{font-size:11px;gap:7px}
  .hero__copy{padding-left:0;width:48%}
  .hero h1{font-size:45px}
  .hero__art{inset-inline-start:46%}
  .hero__hoodie,.hero__art .wp-block-image.hero__hoodie{left:0}
  .hero__front,.hero__art .wp-block-image.hero__front{right:15%}
  .benefit{padding:0 12px;gap:8px}
  .benefit svg,.benefit__icon{width:27px;height:27px}
  .benefit strong{font-size:11px}
  .benefit span{font-size:10px}
  .sports-grid{grid-template-columns:repeat(3,1fr)}
  .sport-card{height:165px}
  .promo{height:220px}
  .promo--custom .promo__copy,.promo--custom .wp-block-group.promo__copy{right:3%;width:44%;top:30px}
  .promo__logo{display:none}
  .promo h2{font-size:23px}
  .promo .button{white-space:normal;text-align:center}
  .product-grid{grid-template-columns:repeat(3,1fr)}
  .product__image{height:180px}
  .product h3{font-size:14px}
  .about__copy{padding:20px}
  .kentucky{opacity:.4}
  .about__copy::after,.wp-block-group.about__copy::after{opacity:.4}
}

/* ── Mobile (<680px) ──────────────────────────────────────── */
@media(max-width:680px){
  .wrap{width:min(100% - 30px,1380px)}
  .utility__slogan{display:none!important}
  .utility{font-size:11px}
  .header__inner{min-height:80px;display:grid;grid-template-columns:77px 1fr 42px;grid-template-rows:78px auto;column-gap:12px}
  .brand{grid-row:1;width:74px;height:70px}
  .search{grid-column:2;grid-row:1;height:39px}
  .search input{font-size:12px}
  .search button{padding-left:11px;padding-right:6px}
  .search svg{width:19px;height:19px}
  .header__actions{display:none}
  .menu-toggle{grid-column:3;grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #bcd0e3;background:#fff;border-radius:5px;width:40px;height:39px}
  .menu-toggle span{display:block;height:2px;width:20px;background:#133d65}
  .nav{display:none;grid-column:1/4;grid-row:2;height:auto;padding:0 0 14px;flex-direction:column;align-items:stretch;gap:0;font-size:15px}
  .nav.is-open{display:flex}
  .nav a{padding:12px 5px;border-top:1px solid #e7edf3}
  /* Must beat .wp-block-group.hero__inner{display:flex} or art stays ~half width. */
  .hero__inner,.wp-block-group.hero__inner{
    height:auto;min-height:570px;display:flex;flex-direction:column;align-items:stretch;
    padding-block:30px 0;
  }
  .hero__copy,.wp-block-group.hero__copy{width:100%;max-width:100%;padding:0;position:relative;z-index:3;flex:0 0 auto}
  .hero h1{font-size:clamp(40px,10.8vw,54px);margin-bottom:15px}
  .hero p{font-size:17px;margin-bottom:20px}
  .desktop-break{display:none}
  .hero__actions{gap:9px}
  .button{font-size:13px;padding:0 14px;min-height:44px}
  /* Full-width art stage: abs jerseys don't size the parent; WP img max-width:100%
     was collapsing shirts to 0px when the stage had no width. */
  .hero__art,.wp-block-group.hero__art{
    position:relative;inset:auto;left:auto;right:auto;top:auto;bottom:auto;
    width:100%;max-width:100%;flex:0 0 auto;height:280px;margin-top:10px;overflow:visible;
  }
  .hero__art .wp-block-image.hero__hoodie img,
  .hero__art .wp-block-image.hero__back img,
  .hero__art .wp-block-image.hero__front img{max-width:none;width:auto;height:100%}
  .hero__hoodie,.hero__art .wp-block-image.hero__hoodie{height:118%;left:2%;bottom:-22%;width:auto}
  .hero__back,.hero__art .wp-block-image.hero__back{height:108%;right:-4%;bottom:-20%;width:auto}
  .hero__front,.hero__art .wp-block-image.hero__front{height:114%;right:16%;bottom:-24%;width:auto}
  .benefits__inner{grid-template-columns:1fr;min-height:0;padding-block:8px}
  .benefit{min-height:51px;border-right:0;border-bottom:1px solid #d9e4ee;padding:7px 0}
  .benefit:last-child{border-bottom:0}
  .benefit strong{font-size:12px}
  .benefit span{font-size:11px}
  .section{padding-top:22px}
  .section-heading h2{font-size:27px}
  .section-heading a{font-size:11px}
  .sports-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .sport-card{height:150px}
  .sport-card span{font-size:11px}
  .promos{grid-template-columns:1fr;gap:12px;margin-top:15px}
  .promo{height:230px}
  .promo--custom .promo__copy,.promo--custom .wp-block-group.promo__copy{right:4%;width:48%;top:30px}
  .promo__logo{display:none}
  .promo h2{font-size:28px}
  .promo p{font-size:12px}
  .promo--team .promo__copy,.promo--team .wp-block-group.promo__copy{width:42%;right:5%;top:30px}
  .teams-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .team-card__image{height:125px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product__image{height:165px}
  .product h3{font-size:13px}
  .about,.wp-block-group.about{grid-template-columns:1fr}
  .about__image,.wp-block-group.about__image{height:280px}
  .about__copy{padding:23px 20px;min-height:225px}
  .about h2{font-size:27px}
  .about p{font-size:12px}
  .about .button{font-size:12px}
  .kentucky{right:0;bottom:10px;opacity:.35}
  .about__copy::after,.wp-block-group.about__copy::after{right:0;bottom:10px;opacity:.35}
}

/* ── Small phone ──────────────────────────────────────────── */
@media(max-width:390px){
  .hero__inner{min-height:575px}
  .hero__actions .button{font-size:12px;padding-inline:12px}
  .hero__art,.wp-block-group.hero__art{height:270px}
  .hero__hoodie,.hero__art .wp-block-image.hero__hoodie{left:0;height:120%}
  .hero__back,.hero__art .wp-block-image.hero__back{right:-6%}
  .hero__front,.hero__art .wp-block-image.hero__front{right:14%}
  .promo--custom .promo__copy,.promo--custom .wp-block-group.promo__copy{width:52%;right:3%}
  .promo h2{font-size:25px}
  .promo--team .promo__copy,.promo--team .wp-block-group.promo__copy{width:47%}
  .sport-card{height:138px}
  .team-card__image{height:110px}
  .team-card strong{font-size:11px}
  .product__image{height:145px}
  .product h3{font-size:12px}
}

/* ── Reduced motion ───────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important}
}

/* ============================================================
   Blog — listing + right sidebar (canonical True You layout)
   ============================================================ */
.page-hero{background:var(--navy);color:#fff;padding:36px 0}
.page-hero .eyebrow{color:#9ec4e8;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px}
.page-hero h1{font-family:Georgia,serif;font-size:clamp(28px,4vw,44px);margin:0 0 8px}
.page-hero .lead{font-size:16px;margin:0;opacity:.85;max-width:560px}

.tysg-blog-band{padding:28px 0 72px;background:#f5f8fc}
.tysg-blog-band--article{padding-top:36px;background:#fff}
.tysg-blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;align-items:start}
.tysg-blog-main{min-width:0}
.tysg-blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.tysg-blog-empty{margin:0;color:var(--muted)}

.post-card,.tysg-blog-card{border:1px solid #e3eaf3;border-radius:6px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.post-visual{display:block;height:175px;overflow:hidden;background:#e8f0fa;text-decoration:none}
.post-visual img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.post-card:hover .post-visual img{transform:scale(1.04)}
.article-icon{height:175px;display:flex;align-items:center;justify-content:center;font-size:13px;color:#6a8eb5;padding:16px;text-align:center}
.tysg-blog-card__body{padding:18px 20px 22px;display:flex;flex-direction:column;flex:1}
.post-card h2,.tysg-blog-card h2{font-size:17px;line-height:1.25;margin:0 0 8px}
.post-card h2 a,.tysg-blog-card h2 a{color:var(--navy);text-decoration:none}
.post-card h2 a:hover,.tysg-blog-card h2 a:hover{color:var(--blue)}
.tysg-blog-card__body p{font-size:13px;color:var(--muted);line-height:1.45;margin:0 0 12px}
.tysg-blog-card .eyebrow{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin:0 0 6px}
.tysg-blog-card__more{margin-top:auto;color:var(--blue);font-weight:700;font-size:13px;text-decoration:none}
.tysg-blog-card__more:hover{text-decoration:underline}

.tysg-blog-pager{margin-top:32px;text-align:center}
.tysg-blog-pager .nav-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.tysg-blog-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 12px;border-radius:4px;text-decoration:none;font-size:13px;font-weight:700;color:var(--navy);background:#fff;border:1px solid #d5e2f0}
.tysg-blog-pager .page-numbers.current,.tysg-blog-pager a.page-numbers:hover{background:var(--blue);color:#fff;border-color:var(--blue)}

.tysg-blog-sidebar{position:sticky;top:88px}
.tysg-side-card{background:#fff;border:1px solid #e3eaf3;border-radius:6px;padding:16px 16px 14px;margin:0 0 14px}
.tysg-side-title{font-family:Georgia,serif;font-size:18px;line-height:1.2;margin:0 0 12px;color:var(--navy)}
.tysg-side-list{list-style:none;margin:0;padding:0}
.tysg-side-list li{margin:0;padding:8px 0;border-top:1px solid #eef3f9;font-size:13px;line-height:1.45}
.tysg-side-list li:first-child{border-top:0;padding-top:0}
.tysg-side-list a{color:#1a3a5c;text-decoration:none}
.tysg-side-list a:hover{color:var(--blue)}
.tysg-side-tags{display:flex;flex-wrap:wrap;gap:8px}
.tysg-side-tags a{display:inline-block;padding:4px 10px;border:1px solid #d5e2f0;border-radius:999px;font-size:11px;font-weight:700;color:var(--navy);text-decoration:none;background:#f5f8fc}
.tysg-side-tags a:hover{background:var(--blue);color:#fff;border-color:var(--blue)}

.tysg-search-form{display:flex;flex-direction:column;gap:8px}
.tysg-search-form__input{width:100%;margin:0;padding:8px 10px;border:1px solid #c7d8ee;border-radius:4px;font-size:14px}
.tysg-search-form__submit{align-self:stretch;padding:8px 12px;border:0;border-radius:4px;background:var(--navy);color:#fff;font-weight:700;font-size:13px;cursor:pointer}
.tysg-search-form__submit:hover{background:var(--blue)}

.tysg-article .tysg-crumb{font-size:13px;color:var(--muted);margin:0 0 14px}
.tysg-article .tysg-crumb a{color:var(--blue);text-decoration:none}
.tysg-article .eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin:0 0 8px}
.tysg-article-title{font-family:Georgia,serif;font-size:clamp(26px,3.8vw,40px);line-height:1.12;color:var(--navy);margin:0 0 10px}
.tysg-byline{font-size:13px;color:var(--muted);margin:0 0 22px}
.tysg-article-thumb{margin:0 0 24px;border-radius:8px;overflow:hidden}
.tysg-article-thumb img{display:block;width:100%;height:auto}
.tysg-article-content,.prose{font-size:15px;line-height:1.65;color:#182d44}
.tysg-article-content a,.prose a{color:var(--blue)}
.prose h2,.prose h3,.tysg-article-content h2,.tysg-article-content h3{color:var(--navy);font-family:Georgia,serif}
.prose p,.tysg-article-content p{margin:0 0 1em}
.prose ul,.prose ol,.tysg-article-content ul,.tysg-article-content ol{margin:0 0 1em;padding-left:1.25em}
.tysg-article-foot{margin-top:40px;padding-top:28px;border-top:1px solid #e3eaf3}
.tysg-topics{font-size:14px;line-height:1.5;margin:0 0 28px;color:#1a3a5c}
.tysg-topics-label{font-weight:700;margin-right:6px;color:var(--navy)}
.tysg-topics a{color:var(--blue);text-decoration:none;font-weight:600}
.tysg-topics a:hover{text-decoration:underline}
.tysg-topics-sep{color:#9bb0c6}

.tysg-written{margin:0 0 32px}
.tysg-written-kicker{margin:0 0 12px}
.tysg-written-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:18px;align-items:start;padding:18px;border:1px solid #e3eaf3;border-radius:8px;background:#f5f8fc}
.tysg-written-photo{width:88px;height:88px;border-radius:50%;object-fit:cover;display:block}
.tysg-written-name{font-family:Georgia,serif;font-size:22px;line-height:1.2;margin:0 0 8px;color:var(--navy)}
.tysg-written-copy p{margin:0 0 10px;font-size:14px;line-height:1.5;color:#3a5570}
.tysg-written-more{color:var(--blue);font-weight:700;text-decoration:none}
.tysg-written-more:hover{text-decoration:underline}

.tysg-post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:8px}
.tysg-post-nav a{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid #e3eaf3;border-radius:6px;background:#fff;text-decoration:none;color:var(--navy);font-weight:700;font-size:15px;line-height:1.35}
.tysg-post-nav a span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.tysg-post-nav a:hover{border-color:var(--blue);color:var(--blue)}
.tysg-post-nav-next{text-align:right}

@media(max-width:680px){
  .tysg-written-card{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:14px}
  .tysg-written-photo{width:64px;height:64px}
  .tysg-post-nav{grid-template-columns:1fr}
  .tysg-post-nav-next{text-align:left}
}

@media(max-width:900px){
  .tysg-blog-layout{grid-template-columns:1fr;gap:28px}
  .tysg-blog-sidebar{position:static}
  .tysg-blog-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .tysg-blog-grid{grid-template-columns:1fr}
  .tysg-blog-band{padding:20px 0 56px}
}

/* Contact form grid */
.tysg-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tysg-contact-grid .full{grid-column:1/-1}
.wpcf7-form-control-wrap input,.wpcf7-form-control-wrap textarea,.wpcf7-form-control-wrap select{width:100%;border:1px solid #c7d3e2;border-radius:4px;padding:10px 13px;font:inherit;font-size:14px;color:var(--navy)}
.wpcf7-form-control-wrap textarea{min-height:130px;resize:vertical}
.wpcf7-submit{background:var(--orange);color:#fff;border:0;border-radius:5px;padding:12px 28px;font-weight:700;font-size:14px;cursor:pointer;transition:filter .15s}
.wpcf7-submit:hover{filter:brightness(1.07)}

/* Honeypot / hidden CF7 fields */
.hidden-fields-container,.wpcf7-hidden,#altEmail_container,.altEmail_container{display:none!important;visibility:hidden!important}

/* ============================================================
   Cookie banner — navy + orange (TYSG brand)
   ============================================================ */
.tysg-cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--navy);color:#dbe9f7;font-size:13px;padding:14px 0;box-shadow:0 -2px 12px #0007}
.tysg-cookie-banner[hidden]{display:none}
.tysg-cookie-inner{width:min(100% - 40px,1100px);margin-inline:auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:space-between}
.tysg-cookie-text p{margin:0;line-height:1.45}
.tysg-cookie-text a{color:#7ec8ff;text-decoration:underline}
.tysg-cookie-actions{display:flex;gap:10px;flex-shrink:0}
.tysg-cookie-btn{min-height:36px;padding:0 18px;border-radius:4px;font-weight:700;font-size:12px;border:0;cursor:pointer;transition:filter .15s}
.tysg-cookie-btn:hover{filter:brightness(1.1)}
.tysg-cookie-accept-all{background:var(--orange);color:#fff}
.tysg-cookie-essential{background:transparent;border:1px solid #5c84b0;color:#dbe9f7}

@media(max-width:600px){
  .tysg-cookie-inner{flex-direction:column;align-items:flex-start}
  .tysg-cookie-actions{width:100%}
  .tysg-cookie-btn{flex:1;justify-content:center}
}

/* ============================================================
   Gutenberg / WordPress bridges
   ============================================================ */

/* Neutralize .wp-block-button wrapper chrome (button classes live on the <a>) */
.tysg-btn-wrapper,.wp-block-button{
  background:none!important;
  border:none!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
  display:inline-block;
}
.wp-block-button__link.button{
  /* already styled via .button — prevent duplicate chrome */
  all:unset;
}
.tysg-btn-wrapper .wp-block-button__link,
.wp-block-button .wp-block-button__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:44px;
  padding:0 23px;
  border-radius:5px;
  font-size:14px;
  font-weight:700;
  white-space:nowrap;
  transition:transform .15s,filter .15s;
  text-decoration:none;
  cursor:pointer;
  background:var(--blue);
  color:#fff;
}
.tysg-btn-wrapper .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:hover{
  transform:translateY(-2px);filter:brightness(1.06);
}
/* Button colour variants on the <a> */
.tysg-btn-wrapper .wp-block-button__link.orange,
.wp-block-button .wp-block-button__link.orange,
.tysg-btn-wrapper .wp-block-button__link.button--orange,
.wp-block-button .wp-block-button__link.button--orange{background:var(--orange);color:#fff}
.tysg-btn-wrapper .wp-block-button__link.white,
.wp-block-button .wp-block-button__link.white,
.tysg-btn-wrapper .wp-block-button__link.button--white,
.wp-block-button .wp-block-button__link.button--white{background:#fff;color:#12559b}
.tysg-btn-wrapper .wp-block-button__link.blue,
.wp-block-button .wp-block-button__link.blue,
.tysg-btn-wrapper .wp-block-button__link.button--blue,
.wp-block-button .wp-block-button__link.button--blue{background:#1e65ad;color:#fff}
.tysg-btn-wrapper .wp-block-button__link.gold,
.wp-block-button .wp-block-button__link.gold{background:linear-gradient(100deg,#f6c75f,#ffe59a 45%,#e6a832);color:#111a2b}
.tysg-btn-wrapper .wp-block-button__link.outline,
.wp-block-button .wp-block-button__link.outline{background:transparent;border:1px solid #fff;color:#fff}

/* .wp-block-group used as .hero — full-bleed, radial gradient bg */
.wp-block-group.hero{
  background:radial-gradient(circle at 71% 45%,#2375bd 0,#145b9c 38%,#073b73 74%,#062b54 100%);
  color:#fff;
  overflow:hidden;
  width:100%;
  max-width:100%;
}
/* Alignfull: 100% not 100vw so no horizontal scroll */
.wp-block-group.alignfull,
.wp-block-group.is-layout-constrained.alignfull,
figure.alignfull{
  width:100%;
  max-width:100%;
  margin-inline:0;
}
/* Inner container fallback when group inner NOT unwrapped */
.hero .wp-block-group__inner-container{
  max-width:1380px;
  margin-inline:auto;
  padding-inline:28px;
}

/* Reset wp:image margin inside product/card contexts */
.product .wp-block-image,
.sport-card .wp-block-image,
.team-card .wp-block-image,
.promo .wp-block-image{
  margin:0;
}
.product .wp-block-image img,
.sport-card .wp-block-image img,
.team-card .wp-block-image img{
  max-width:100%;
  height:100%;
  object-fit:cover;
}

/* Block group inside hero on mobile — repeat .wp-block-group selectors (desktop beats bare .hero) */
@media(max-width:680px){
  .wp-block-group.hero{width:100%;max-width:100%}
  .wp-block-group.hero .wp-block-group__inner-container{padding-inline:15px}
  .wp-block-group.hero__inner{
    height:auto;min-height:570px;display:flex;flex-direction:column;align-items:stretch;
    padding-block:30px 0;
  }
  .wp-block-group.hero__art{
    position:relative;inset:auto;width:100%;max-width:100%;flex:0 0 auto;height:280px;
  }
}

/* Theme button classes used on .wp-block-button__link */
a.tysg-btn,
.wp-block-button__link.tysg-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  min-height:44px;padding:0 23px;border-radius:5px;font-size:14px;font-weight:700;
  white-space:nowrap;text-decoration:none;transition:transform .15s,filter .15s;cursor:pointer;
}
a.tysg-btn:hover,.wp-block-button__link.tysg-btn:hover{transform:translateY(-2px);filter:brightness(1.06)}
a.tysg-btn--orange,.wp-block-button__link.tysg-btn--orange{background:var(--orange);color:#fff}
a.tysg-btn--white,.wp-block-button__link.tysg-btn--white{background:#fff;color:#12559b}
a.tysg-btn--blue,.wp-block-button__link.tysg-btn--blue{background:#1e65ad;color:#fff}

/* Inner pages (About / Contact / FAQ / Privacy) */
.contact-page-hero,.about-page-hero,.faq-page-hero,.legal-hero,
.wp-block-group.contact-page-hero,.wp-block-group.about-page-hero,
.wp-block-group.faq-page-hero,.wp-block-group.legal-hero{
  background:radial-gradient(circle at 70% 40%,#2375bd 0,#145b9c 40%,#073b73 78%,#062b54 100%);
  color:#fff;padding:48px 0 40px;width:100%;
}
.contact-page-hero .eyebrow,.about-page-hero .eyebrow,.faq-page-hero .eyebrow,.legal-hero .eyebrow,
.contact-page-hero .wp-block-heading,.about-page-hero .wp-block-heading,
.faq-page-hero .wp-block-heading,.legal-hero .wp-block-heading{color:#fff}
.about-page-hero h1,.about-page-hero .wp-block-heading,
.faq-page-hero h1,.legal-hero h1{font-family:Georgia,serif;font-weight:900;letter-spacing:-.035em;font-size:clamp(32px,4vw,48px);line-height:1.05;margin:8px 0 14px;color:#fff}
.about-page-hero p,.faq-page-hero p,.legal-hero p{font-size:16px;line-height:1.45;max-width:560px;margin:0 0 18px;color:#e8f1fa}
.about-page-hero .eyebrow,.faq-page-hero .eyebrow,.legal-hero .eyebrow{margin-bottom:4px}
.contact-page-hero .container,.about-page-hero .container,.faq-page-hero .container,.legal-hero .container,
.wp-block-group.container{width:min(100% - 56px,900px);margin-inline:auto}
.contact-panel,.wp-block-group.contact-panel{
  display:grid;grid-template-columns:1.2fr .8fr;gap:32px;
  width:min(100% - 56px,1100px);margin:36px auto 48px;align-items:start;
}
.contact-copy,.wp-block-group.contact-copy{min-width:0}
.tysg-contact-details{background:#f5f8fb;border:1px solid #e3e8ef;border-radius:6px;padding:22px 24px}
.tysg-contact-details h3{margin:0 0 12px;font-size:18px;color:var(--navy)}
.tysg-contact-details p,.tysg-contact-details li{margin:0 0 8px;font-size:14px;color:var(--text)}

/* About page — story (copy + storefront) */
.about-page-story,.wp-block-group.about-page-story{padding:44px 0 28px;background:#fff}
.about-page-story-grid,.wp-block-group.about-page-story-grid,
.wp-block-group.container.about-page-story-grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;
  width:min(100% - 56px,1100px);margin:0 auto;
}
.about-page-story-copy .eyebrow{margin:0 0 6px}
.about-page-story-copy h2,.about-page-story-copy .wp-block-heading{
  font-family:Georgia,serif;font-weight:900;letter-spacing:-.03em;
  font-size:clamp(26px,3vw,36px);line-height:1.08;margin:0 0 14px;color:var(--navy);
}
.about-page-story-copy p{font-size:15px;line-height:1.55;color:var(--text);margin:0 0 12px;max-width:34em}
.about-page-story-copy .story-lead{font-size:16px;line-height:1.5}
.about-page-storefront,.wp-block-group.about-page-storefront{min-width:0}
.about-page-storefront .wp-block-image,.about-page-storefront figure{margin:0}
.about-page-storefront img{
  width:100%;height:auto;max-height:420px;object-fit:cover;object-position:50% 40%;
  border-radius:6px;display:block;box-shadow:0 8px 24px #0a2a4a18;
}

/* About page — values (3 cards); also tame legacy Custom HTML SVGs if page not re-imported */
.about-page-values,.wp-block-group.about-page-values{background:#f5f8fb;padding:36px 0 40px;border-top:1px solid #e3e8ef;border-bottom:1px solid #e3e8ef}
.about-page-values-grid,.wp-block-group.about-page-values-grid,
.wp-block-group.container.about-page-values-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;
  width:min(100% - 56px,1100px);margin:0 auto;
}
.about-value,.about-page-values-grid > .wp-block-group{
  background:#fff;border:1px solid #e3e8ef;border-radius:6px;padding:22px 20px 20px;
  box-shadow:0 1px 2px #1a335014;min-width:0;
}
.about-value h3,.about-page-values-grid h3,.about-value .wp-block-heading,.about-page-values-grid .wp-block-heading{
  margin:0 0 8px;font-size:17px;color:var(--navy);
}
.about-value p,.about-page-values-grid p{margin:0;font-size:14px;line-height:1.4;color:var(--muted)}
.about-value::before{
  content:"";display:block;width:36px;height:36px;margin-bottom:12px;background:#1762a5;
  mask-size:contain;mask-repeat:no-repeat;mask-position:center;
  -webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;
}
.about-value--pickup::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 22s7-7.1 7-13a7 7 0 1 0-14 0c0 5.9 7 13 7 13Z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 22s7-7.1 7-13a7 7 0 1 0-14 0c0 5.9 7 13 7 13Z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E")}
.about-value--team::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='7' r='3'/%3E%3Ccircle cx='4.5' cy='9' r='2'/%3E%3Ccircle cx='19.5' cy='9' r='2'/%3E%3Cpath d='M6 20v-2a6 6 0 0 1 12 0v2M1 19v-2a4 4 0 0 1 3-3.9M23 19v-2a4 4 0 0 0-3-3.9'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='7' r='3'/%3E%3Ccircle cx='4.5' cy='9' r='2'/%3E%3Ccircle cx='19.5' cy='9' r='2'/%3E%3Cpath d='M6 20v-2a6 6 0 0 1 12 0v2M1 19v-2a4 4 0 0 1 3-3.9M23 19v-2a4 4 0 0 0-3-3.9'/%3E%3C/svg%3E")}
.about-value--athletes::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M8 3h8v8a4 4 0 0 1-8 0V3ZM8 5H3v3a5 5 0 0 0 5 5m8-8h5v3a5 5 0 0 1-5 5m-4 2v5m-5 1h10'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M8 3h8v8a4 4 0 0 1-8 0V3ZM8 5H3v3a5 5 0 0 0 5 5m8-8h5v3a5 5 0 0 1-5 5m-4 2v5m-5 1h10'/%3E%3C/svg%3E")}
/* Legacy imported Custom HTML SVGs (pre-0.1.9) — shrink + stroke so they stop filling the page */
.about-page-values svg{
  display:block;width:36px;height:36px;margin:0 0 12px;
  stroke:#1762a5;fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;
  max-width:36px;max-height:36px;
}

/* About page — bottom CTA */
.about-page-cta,.wp-block-group.about-page-cta{padding:44px 0 56px;text-align:center;background:#fff}
.about-page-cta-inner,.wp-block-group.about-page-cta-inner,
.wp-block-group.container.about-page-cta-inner{
  width:min(100% - 56px,720px);margin:0 auto;text-align:center;
}
.about-page-cta .eyebrow{margin:0 0 6px}
.about-page-cta h2,.about-page-cta .wp-block-heading{
  font-family:Georgia,serif;font-weight:900;font-size:clamp(24px,3vw,34px);
  line-height:1.1;margin:0 0 12px;color:var(--navy);
}
.about-page-cta p{font-size:15px;line-height:1.45;color:var(--muted);margin:0 auto 18px;max-width:36em}
.about-page-cta .wp-block-buttons,
.faq-page-cta .wp-block-buttons,
.wp-block-group.faq-page-cta .wp-block-buttons{justify-content:center}

.about-story,.values-grid,.faq-page-content,.faq-page-cta,.legal-body,
.wp-block-group.about-story,.wp-block-group.values-grid,
.wp-block-group.faq-page-content,.wp-block-group.faq-page-cta,.wp-block-group.legal-body{
  width:min(100% - 56px,980px);margin:28px auto 40px;
}
.faq-page-cta,.wp-block-group.faq-page-cta{text-align:center;padding:28px 0 48px}

/* Home — testimonials */
.home-social,.wp-block-group.home-social{padding:36px 0 12px;background:#fff}
.home-social__inner .section-heading{margin-bottom:18px}
.home-social .tysg-testimonials{width:100%;max-width:none;margin:0}

/* Home — FAQ teaser (intro + contained accordion, not full-bleed bars) */
.home-faq,.wp-block-group.home-faq{background:#f5f8fb;padding:40px 0 48px;border-top:1px solid #e8edf1}
.home-faq__inner,.wp-block-group.home-faq__inner{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);gap:36px 48px;align-items:start;
}
.home-faq__intro .eyebrow{margin:0 0 6px}
.home-faq__intro h2,.home-faq__intro .wp-block-heading{
  font-family:Georgia,serif;font-weight:900;letter-spacing:-.03em;
  font-size:clamp(26px,3vw,34px);line-height:1.08;margin:0 0 12px;color:var(--navy);
}
.home-faq__intro p{font-size:15px;line-height:1.45;color:var(--muted);margin:0 0 14px;max-width:28em}
.home-faq__link{margin:0}
.home-faq__link a{font-size:13px;font-weight:700;color:#07549f}
.home-faq__link a:hover{color:var(--blue)}
.home-faq__panel,.wp-block-group.home-faq__panel{
  background:#fff;border:1px solid #e3e8ef;border-radius:8px;padding:8px 4px;
  box-shadow:0 1px 3px #1a335012;min-width:0;
}
.home-faq .tysg-faqs,.home-faq .tysg-faq-list{width:100%;margin:0;max-width:none}
.home-faq .tysg-faqs details,.home-faq .tysg-faq-list details{
  border:0;border-bottom:1px solid #e8edf1;border-radius:0;margin:0;padding:14px 18px;background:transparent;box-shadow:none;
}
.home-faq .tysg-faqs details:last-child,.home-faq .tysg-faq-list details:last-child{border-bottom:0}
.home-faq .tysg-faqs summary,.home-faq .tysg-faq-list summary{font-size:14px;line-height:1.3}
.home-faq .tysg-faqs details p,.home-faq .tysg-faq-list details p{font-size:13px;line-height:1.45;color:var(--muted);margin:8px 0 0}

/* FAQ page accordion — constrained column */
.faq-page-content .tysg-faqs,.faq-page-content .tysg-faq-list{width:100%;max-width:720px;margin:0 auto}
.faq-page-content .tysg-faqs details,.faq-page-content .tysg-faq-list details{padding:14px 18px}

/* Orphan home FAQ shortcode (pre-0.1.10 import) — keep it contained until reimport */
body.home .tysg-page-content > .tysg-faqs,
body.home .tysg-page-content > .tysg-faq-list,
.home .tysg-page-content > .tysg-faqs,
.home .tysg-page-content > .tysg-faq-list{
  width:min(100% - 56px,680px);margin:12px auto 48px;
  background:#fff;border:1px solid #e3e8ef;border-radius:8px;padding:8px 4px;box-shadow:0 1px 3px #1a335012;
}
body.home .tysg-page-content > .tysg-faqs details,
body.home .tysg-page-content > .tysg-faq-list details,
.home .tysg-page-content > .tysg-faqs details,
.home .tysg-page-content > .tysg-faq-list details{
  border:0;border-bottom:1px solid #e8edf1;border-radius:0;margin:0;padding:14px 18px;background:transparent;
}
body.home .tysg-page-content > .tysg-faqs details:last-child,
.home .tysg-page-content > .tysg-faqs details:last-child{border-bottom:0}

.tysg-faqs details,.tysg-faq-list details{border:1px solid #e3e8ef;border-radius:5px;margin-bottom:10px;padding:12px 16px;background:#fff}
.tysg-faqs summary,.tysg-faq-list summary{font-weight:700;cursor:pointer;color:var(--navy);list-style:none}
.tysg-faqs summary::-webkit-details-marker{display:none}
.tysg-faqs summary::before,.tysg-faq-list summary::before{
  content:"";display:inline-block;width:.45em;height:.45em;margin-right:.65em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(-45deg) translateY(-1px);vertical-align:middle;opacity:.7;transition:transform .15s;
}
.tysg-faqs details[open] summary::before,.tysg-faq-list details[open] summary::before{transform:rotate(45deg) translateY(-2px)}
.tysg-faqs details[open] summary,.tysg-faq-list details[open] summary{margin-bottom:8px}
.tysg-testimonials{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;width:min(100% - 56px,1380px);margin:24px auto 36px}
.tysg-testimonial{border:1px solid #e3e8ef;border-radius:6px;padding:16px;background:#fff;box-shadow:0 1px 2px #1a335014}
.tysg-testimonial p{margin:0 0 10px;font-size:14px;line-height:1.4;color:var(--text)}
.tysg-testimonial__stars{display:block;color:#145a9c;letter-spacing:.06em;margin-bottom:8px;font-size:13px}
.tysg-testimonial cite{font-style:normal;font-weight:700;font-size:13px;color:var(--navy)}
@media(max-width:900px){
  .about-page-story-grid,.wp-block-group.about-page-story-grid,
  .wp-block-group.container.about-page-story-grid{grid-template-columns:1fr;gap:22px}
  .about-page-storefront img{max-height:320px}
  .about-page-values-grid,.wp-block-group.about-page-values-grid,
  .wp-block-group.container.about-page-values-grid{grid-template-columns:1fr}
  .home-faq__inner,.wp-block-group.home-faq__inner{grid-template-columns:1fr;gap:20px}
}
@media(max-width:680px){
  .contact-panel,.wp-block-group.contact-panel{grid-template-columns:1fr}
  .contact-page-hero .container,.about-page-hero .container,.faq-page-hero .container,.legal-hero .container,
  .wp-block-group.container,.about-story,.faq-page-content,.faq-page-cta,.legal-body,
  .wp-block-group.about-story,.wp-block-group.faq-page-content,.wp-block-group.faq-page-cta,.wp-block-group.legal-body,
  .about-page-story-grid,.about-page-values-grid,.about-page-cta-inner,
  .wp-block-group.about-page-story-grid,.wp-block-group.about-page-values-grid,.wp-block-group.about-page-cta-inner{
    width:min(100% - 30px,980px);
  }
  .about-page-hero,.wp-block-group.about-page-hero{padding:36px 0 32px}
}
