/**
Theme Name: INspire Child Theme
Author: INspire Cafe
Author URI: http://wpastra.com/about/
Description: Custom child theme for the INspire Cafe website, built on the Astra parent theme.
Version: 1.0.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: inspire-child-theme
Template: astra
*/

/* =====================================================================
   INspire Cafe — site styles
   Paste into the Astra child theme stylesheet (style.css).
   Header, footer and primary nav are handled by Astra and are NOT styled here.
   Fonts (Bitter + Mulish) are loaded globally — see functions.php snippet.
   ===================================================================== */

:root{
  --red:#E2231A; --red-dark:#B31B14;
  --ink:#1A1818; --ink-soft:#3D3A38; --grey:#9C9A95;
  --cream:#F6F1E8; --cream-deep:#EDE4D3; --paper:#FFFFFF; --warm-line:#E0D6C2;
  --display:'Bitter',Georgia,serif;
  --body:'Mulish',-apple-system,Helvetica,Arial,sans-serif;
  --r-sm:6px; --r-md:12px; --r-lg:20px;
}

/* ---------- base ---------- */
.inspire-page{font-family:var(--body);background:var(--cream);color:var(--ink);
  line-height:1.7;-webkit-font-smoothing:antialiased;}
.inspire-page *{box-sizing:border-box;}
.inspire-page img{display:block;max-width:100%;}
.inspire-page h1,.inspire-page h2,.inspire-page h3{
  font-family:var(--display);font-weight:600;letter-spacing:-0.01em;line-height:1.12;margin:0;}
.inspire-page p{margin:0;}
.wrap{max-width:1140px;margin:0 auto;padding:0 clamp(1.25rem,5vw,2.5rem);}
.in{color:var(--red);}
.eyebrow{font-family:var(--body);font-weight:700;font-size:0.74rem;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--red);}

/* ---------- buttons ---------- */
.btn{font-family:var(--body);font-weight:700;font-size:0.95rem;letter-spacing:0.02em;
  padding:0.85rem 1.7rem;border-radius:var(--r-sm);border:2px solid transparent;
  cursor:pointer;text-decoration:none;display:inline-block;text-align:center;
  transition:background .15s ease,color .15s ease,transform .05s ease;}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--red);color:#fff;}
.btn-primary:hover{background:var(--red-dark);color:#fff;}
.btn-secondary{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn-secondary:hover{background:var(--ink);color:var(--cream);}
.btn-light{background:#fff;color:var(--ink);}
.btn-light:hover{background:var(--cream-deep);color:var(--ink);}
.btn-ghost{background:transparent;color:var(--red);border-color:transparent;
  padding-left:0;padding-right:0;font-weight:700;}
.btn-ghost:hover{color:var(--red-dark);}
.btn-ghost .arr{transition:transform .15s ease;display:inline-block;}
.btn-ghost:hover .arr{transform:translateX(4px);}

/* ---------- hero ---------- */
.hero{position:relative;min-height:78vh;min-height:78svh;display:flex;align-items:center;
  background:var(--ink);overflow:hidden;}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;}
.hero-shade{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0.25) 0%,rgba(0,0,0,0.55) 55%,rgba(0,0,0,0.45) 100%);}

@media(max-width:760px){
  .hero-shade{
    background:linear-gradient(180deg,rgba(0,0,0,0.20) 0%,rgba(0,0,0,0.55) 55%,rgba(0,0,0,0.45) 100%);
  }
  .hero-img{object-position:center 65%;}
}
.hero-inner{position:relative;z-index:2;padding:clamp(3rem,9vw,6rem) 0;}
.hero h1{color:var(--cream);font-size:clamp(3rem,11vw,6rem);font-weight:600;margin-bottom:1rem;}
.hero .sub{color:var(--cream);font-size:clamp(1.05rem,2.6vw,1.35rem);max-width:30ch;
  margin-bottom:2rem;opacity:0.92;line-height:1.5;}
.hero-btns{display:flex;gap:0.9rem;flex-wrap:wrap;}

/* ---------- generic section ---------- */
.section{padding:clamp(3.25rem,8vw,6rem) 0;}
.section h2{font-size:clamp(1.8rem,4.6vw,2.8rem);margin-bottom:0.6rem;}
.section .lead{color:var(--ink-soft);font-size:1.08rem;max-width:54ch;}

/* ---------- who we are ---------- */
.who{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,3.5rem);align-items:center;}
.who-text .eyebrow{display:block;margin-bottom:0.7rem;}
.who-text h2{margin-bottom:1rem;}
.who-text p{color:var(--ink-soft);margin-bottom:1.5rem;font-size:1.08rem;}
.who-img{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;}
.who-img img{width:100%;height:100%;object-fit:cover;}
@media(max-width:760px){.who{grid-template-columns:1fr;}.who-img{order:-1;}}

/* ---------- mission (dark) ---------- */
.mission{background:var(--ink);color:var(--cream);}
.mission .eyebrow{color:#fff;opacity:0.65;}
.mission h2{color:var(--cream);font-size:clamp(1.9rem,5vw,3rem);margin:0.7rem 0 0.6rem;}
.mission .intro{color:var(--cream);opacity:0.85;max-width:56ch;
  margin-bottom:2.75rem;font-size:1.1rem;}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2.75rem;}
.pillar{border-top:3px solid var(--red);padding-top:1.1rem;}
.pillar .word{font-family:var(--display);font-weight:700;font-size:1.7rem;
  margin-bottom:0.35rem;color:var(--cream);}
.pillar p{color:var(--grey);font-size:0.96rem;line-height:1.6;}
.mission-photo{margin-top:0.5rem;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/7;}
.mission-photo img{width:100%;height:100%;object-fit:cover;object-position:center 38%;}
@media(max-width:760px){.pillars{grid-template-columns:1fr;gap:1.25rem;}
  .mission-photo{aspect-ratio:4/3;}}

/* ---------- menu preview ---------- */
.menu-head{display:flex;justify-content:space-between;align-items:flex-end;
  flex-wrap:wrap;gap:1rem;margin-bottom:2.25rem;}
.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.dish{background:var(--paper);border:1px solid var(--warm-line);border-radius:var(--r-md);
  overflow:hidden;transition:transform .15s ease,box-shadow .15s ease;}
.dish:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(26,24,24,0.10);}
.dish-img{aspect-ratio:1/1;overflow:hidden;}
.dish-img img{width:100%;height:100%;object-fit:cover;}
.dish-body{padding:1.1rem 1.25rem 1.35rem;}
.dish-body h3{font-size:1.2rem;margin-bottom:0.3rem;}
.dish-body p{color:var(--ink-soft);font-size:0.92rem;line-height:1.55;}
.menu-foot{margin-top:2.25rem;display:flex;gap:0.9rem;flex-wrap:wrap;}
@media(max-width:760px){.menu-grid{grid-template-columns:1fr;}}

/* ---------- catering band ---------- */
.catering{background:var(--cream-deep);}
.catering-inner{display:grid;grid-template-columns:1.05fr 0.95fr;
  gap:clamp(1.5rem,5vw,3.5rem);align-items:center;}
.catering-img{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:5/4;}
.catering-img img{width:100%;height:100%;object-fit:cover;}
.catering-text h2{margin-bottom:0.7rem;}
.catering-text p{color:var(--ink-soft);font-size:1.06rem;margin-bottom:1.6rem;}
@media(max-width:760px){.catering-inner{grid-template-columns:1fr;}.catering-img{order:-1;}}

/* ---------- visit ---------- */
.visit-inner{display:grid;grid-template-columns:1fr 1.1fr;
  gap:clamp(1.5rem,5vw,3rem);align-items:stretch;}
.visit-card{background:var(--paper);border:1px solid var(--warm-line);
  border-radius:var(--r-lg);padding:clamp(1.5rem,4vw,2.5rem);}
.visit-card h2{margin-bottom:1.25rem;}
.visit-row{display:flex;gap:0.85rem;align-items:flex-start;margin-bottom:1.1rem;}
.visit-row .ic{color:var(--red);width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.visit-row .ic svg{width:22px;height:22px;display:block;}
.visit-row .label{font-weight:700;font-size:0.95rem;}
.visit-row .val{color:var(--ink-soft);font-size:0.96rem;}
.hours-list{list-style:none;padding:0;margin:0;}
.hours-list li{display:flex;justify-content:space-between;max-width:16rem;
  font-size:0.96rem;color:var(--ink-soft);padding:0.12rem 0;}
.hours-list .closed{color:var(--red);font-weight:600;}
.visit-btns{margin-top:1.5rem;display:flex;gap:0.8rem;flex-wrap:wrap;}

.visit-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;
  text-align:center;border-radius:var(--r-lg);border:1px solid var(--warm-line);
  background:var(--ink);color:var(--cream);text-decoration:none;
  padding:clamp(2rem,5vw,3rem);min-height:340px;transition:background .15s ease;}
.visit-panel:hover{background:#262221;}
.vp-pin{width:62px;height:62px;border-radius:50%;background:var(--red);
  display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;}
.vp-pin span{font-size:1.7rem;color:#fff;line-height:1;}
.vp-name{font-family:var(--display);font-weight:700;font-size:1.5rem;
  color:var(--cream);margin-bottom:0.4rem;}
.vp-addr{font-size:1rem;color:var(--grey);line-height:1.55;margin-bottom:1.3rem;}
.vp-cta{font-family:var(--body);font-weight:700;font-size:0.98rem;color:#fff;
  background:var(--red);padding:0.7rem 1.5rem;border-radius:var(--r-sm);}
.visit-panel:hover .vp-cta{background:var(--red-dark);}
.vp-cta .arr{display:inline-block;transition:transform .15s ease;}
.visit-panel:hover .vp-cta .arr{transform:translateX(4px);}
.vp-foot{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,0.15);
  font-size:0.86rem;color:var(--grey);line-height:1.5;max-width:30ch;}
@media(max-width:760px){.visit-inner{grid-template-columns:1fr;}}

/* ---------- get involved ---------- */
.involved{background:var(--red);color:#fff;text-align:center;}
.involved h2{color:#fff;font-size:clamp(1.9rem,5vw,2.9rem);margin:0.6rem 0 0.8rem;}
.involved .eyebrow{color:#fff;opacity:0.8;}
.involved p{color:#fff;opacity:0.95;max-width:50ch;margin:0 auto 1.9rem;font-size:1.08rem;}
.involved .btn-primary{background:#fff;color:var(--red);}
.involved .btn-primary:hover{background:var(--cream-deep);color:var(--red);}
.partners{margin-top:2.5rem;padding-top:1.75rem;border-top:1px solid rgba(255,255,255,0.28);
  display:flex;flex-direction:column;align-items:center;gap:0.85rem;}
.partners .pt-label{font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;
  opacity:0.8;font-weight:700;margin:0;}
.partners .pt-logo{display:inline-block;transition:opacity .15s ease;}
.partners .pt-logo:hover{opacity:0.8;}
.partners .pt-logo img{height:112px;width:auto;display:block;}
.partners .pt-names{font-family:var(--display);font-weight:600;font-size:1.05rem;
  opacity:0.95;margin:0;}
@media(max-width:560px){
  .partners .pt-logo img{height:54px;}
}

/* ---------- kill Astra's link underlines inside our page ---------- */
.inspire-page a{text-decoration:none;}
.inspire-page a:hover{text-decoration:none;}

/* ---------- footer (HTML element in Astra Footer Builder) ---------- */
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;
  max-width:1140px;margin:0 auto;}
.footer-col h4{font-family:var(--body);font-weight:700;color:var(--cream);
  font-size:0.82rem;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:0.85rem;}
.footer-col a{display:block;text-decoration:none;color:var(--grey);
  font-size:0.94rem;padding:0.2rem 0;transition:color .12s ease;}
.footer-col a:hover{color:#fff;}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr;gap:1.75rem;}}

/* override Astra link defaults inside our pages */
.inspire-page a,
.inspire-page a:hover,
.inspire-page a:focus {
  text-decoration: none !important;
}

/* footer extras */
.footer-blurb{display:block;color:#9C9A95;font-size:0.92rem;line-height:1.6;}
.footer-grid .footer-col a{display:block;text-decoration:none;color:#9C9A95;font-size:0.94rem;padding:0.2rem 0;}
.footer-grid .footer-col a:hover{color:#fff;}

/* footer wrapper — transparent so Astra's dark row shows through */
.inspire-footer{background:transparent;}

/* =====================================================================
   MENU PAGE — append this block to the existing inspire.css
   ===================================================================== */

/* page header */
.menu-hero{padding:clamp(3rem,7vw,5rem) 0 clamp(1.5rem,4vw,2.5rem);text-align:center;}
.menu-hero .eyebrow{display:block;margin-bottom:0.7rem;}
.menu-hero h1{font-size:clamp(2.2rem,5.5vw,3.4rem);margin-bottom:0.9rem;}
.menu-hero .sub{color:var(--ink-soft);font-size:1.08rem;max-width:60ch;margin:0 auto;line-height:1.6;}

/* alternating menu section */
.menu-section{padding:clamp(2rem,5vw,3.25rem) 0;}
.menu-section .inner{display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(1.5rem,5vw,3.5rem);align-items:center;}
.menu-section.flip .menu-photo{order:2;}
.menu-photo{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;}
.menu-photo img{width:100%;height:100%;object-fit:cover;}
.menu-section .eyebrow{display:block;margin-bottom:0.5rem;}
.menu-section h2{font-size:clamp(1.6rem,4vw,2.3rem);margin-bottom:0.6rem;}
.menu-section .desc{color:var(--ink-soft);font-size:1.05rem;
  font-style:italic;margin-bottom:1.25rem;}
.menu-items{list-style:none;padding:0;margin:0;
  display:flex;flex-wrap:wrap;gap:0.4rem 0.9rem;}
.menu-items li{font-weight:600;font-size:0.98rem;color:var(--ink);
  position:relative;padding-right:0.9rem;}
.menu-items li::after{content:"\00b7";position:absolute;right:0;color:var(--grey);}
.menu-items li:last-child::after{content:"";}
.menu-subhead{font-weight:700;font-size:0.85rem;letter-spacing:0.04em;
  text-transform:uppercase;color:var(--red);margin:1rem 0 0.4rem;}
.menu-note{color:var(--ink-soft);font-size:0.92rem;font-style:italic;margin-top:0.9rem;}
@media(max-width:760px){
  .menu-section .inner{grid-template-columns:1fr;}
  .menu-section .menu-photo,.menu-section.flip .menu-photo{order:-1;}
}

/* catering call-out band */
.menu-catering-band{background:var(--cream-deep);text-align:center;
  padding:clamp(2.25rem,5vw,3.25rem) 0;}
.menu-catering-band p{font-size:1.1rem;color:var(--ink);max-width:46ch;
  margin:0 auto 1.4rem;font-style:italic;}

/* closing CTA */
.menu-closing{background:var(--ink);color:var(--cream);text-align:center;
  padding:clamp(2.75rem,6vw,4rem) 0;}
.menu-closing h2{color:var(--cream);font-size:clamp(1.7rem,4.5vw,2.6rem);
  margin-bottom:0.6rem;}
.menu-closing p{color:var(--grey);font-size:1.05rem;margin-bottom:1.7rem;}

/* =====================================================================
   CATERING PAGE — append this block to the existing inspire.css
   ===================================================================== */

/* page header */
.cat-hero{padding:clamp(3rem,7vw,5rem) 0 clamp(1.5rem,4vw,2.5rem);text-align:center;}
.cat-hero .eyebrow{display:block;margin-bottom:0.7rem;}
.cat-hero h1{font-size:clamp(2.2rem,5.5vw,3.4rem);margin-bottom:0.9rem;}
.cat-hero .sub{color:var(--ink-soft);font-size:1.08rem;max-width:60ch;
  margin:0 auto;line-height:1.6;}

/* why-INspire band (dark, mission tie-in) */
.cat-why{background:var(--ink);color:var(--cream);text-align:center;
  padding:clamp(2.75rem,6vw,4rem) 0;}
.cat-why h2{color:var(--cream);font-size:clamp(1.7rem,4.5vw,2.4rem);margin-bottom:0.9rem;}
.cat-why p{color:var(--cream);opacity:0.85;max-width:58ch;margin:0 auto;
  font-size:1.08rem;line-height:1.6;}

/* options list */
.cat-options{padding:clamp(2.75rem,6vw,4rem) 0;}
.cat-options .head{text-align:center;margin-bottom:2.25rem;}
.cat-options .head .eyebrow{display:block;margin-bottom:0.5rem;}
.cat-options .head h2{font-size:clamp(1.7rem,4vw,2.4rem);margin-bottom:0.5rem;}
.cat-options .head p{color:var(--ink-soft);font-size:1.05rem;
  max-width:50ch;margin:0 auto;}
.cat-pkg-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;}
.cat-pkg{background:var(--paper);border:1px solid var(--warm-line);
  border-radius:var(--r-md);padding:1.4rem 1.6rem;}
.cat-pkg h3{font-size:1.2rem;margin-bottom:0.35rem;}
.cat-pkg p{color:var(--ink-soft);font-size:0.95rem;line-height:1.55;}
.cat-dietary{text-align:center;color:var(--ink-soft);font-style:italic;
  font-size:1rem;margin-top:1.75rem;}
@media(max-width:760px){.cat-pkg-grid{grid-template-columns:1fr;}}

/* how it works steps */
.cat-steps{background:var(--cream-deep);padding:clamp(2.75rem,6vw,4rem) 0;}
.cat-steps .head{text-align:center;margin-bottom:2.25rem;}
.cat-steps .head h2{font-size:clamp(1.7rem,4vw,2.4rem);}
.cat-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.cat-step{text-align:center;}
.cat-step .num{width:46px;height:46px;border-radius:50%;background:var(--red);
  color:#fff;font-family:var(--display);font-weight:700;font-size:1.2rem;
  display:flex;align-items:center;justify-content:center;margin:0 auto 0.9rem;}
.cat-step h3{font-size:1.15rem;margin-bottom:0.35rem;}
.cat-step p{color:var(--ink-soft);font-size:0.95rem;line-height:1.55;}
@media(max-width:760px){.cat-step-grid{grid-template-columns:1fr;gap:1.75rem;}}

/* good to know */
.cat-info{padding:clamp(2.75rem,6vw,4rem) 0;}
.cat-info .head{text-align:center;margin-bottom:2rem;}
.cat-info .head h2{font-size:clamp(1.7rem,4vw,2.4rem);}
.cat-info-list{max-width:640px;margin:0 auto;list-style:none;padding:0;}
.cat-info-list li{display:flex;gap:1rem;padding:0.9rem 0;
  border-bottom:1px solid var(--warm-line);}
.cat-info-list li:last-child{border-bottom:none;}
.cat-info-list .term{font-weight:700;font-size:0.98rem;min-width:128px;flex-shrink:0;}
.cat-info-list .def{color:var(--ink-soft);font-size:0.98rem;}

/* placeholder flag — visibly marks unconfirmed content */
.cat-flag{display:inline-block;background:#FFF3CD;color:#7A5B00;
  border:1px dashed #C9A227;border-radius:var(--r-sm);
  font-size:0.8rem;font-weight:700;font-style:normal;
  padding:0.15rem 0.55rem;letter-spacing:0.02em;}

/* inquiry form section */
.cat-form{background:var(--ink);color:var(--cream);
  padding:clamp(2.75rem,6vw,4.5rem) 0;}
.cat-form .head{text-align:center;margin-bottom:2rem;}
.cat-form h2{color:var(--cream);font-size:clamp(1.7rem,4.5vw,2.6rem);margin-bottom:0.6rem;}
.cat-form .head p{color:var(--grey);font-size:1.05rem;max-width:48ch;margin:0 auto;}
.cat-form-slot{max-width:640px;margin:0 auto;background:var(--paper);
  border-radius:var(--r-lg);padding:clamp(1.5rem,4vw,2.5rem);
  color:var(--ink);}
.cat-form-placeholder{border:2px dashed var(--grey);border-radius:var(--r-md);
  padding:2rem 1rem;text-align:center;color:var(--ink-soft);}
.cat-form-placeholder strong{display:block;font-size:1rem;color:var(--ink);
  margin-bottom:0.3rem;}

/* =====================================================================
   NINJA FORMS — styled to match the INspire brand
   Scoped to .cat-form-slot so it only affects the catering form.
   ===================================================================== */

/* field spacing */
.cat-form-slot .nf-field-container{margin-bottom:1.1rem;}

/* labels */
.cat-form-slot .nf-field-label label{
  font-family:var(--body);font-weight:700;font-size:0.92rem;
  color:var(--ink);margin-bottom:0.35rem;}

/* text inputs, email, tel, date, textarea, selects */
.cat-form-slot input[type=text],
.cat-form-slot input[type=email],
.cat-form-slot input[type=tel],
.cat-form-slot input[type=date],
.cat-form-slot input[type=number],
.cat-form-slot textarea,
.cat-form-slot select{
  font-family:var(--body);font-size:1rem;
  width:100%;padding:0.7rem 0.9rem;
  border:1.5px solid var(--warm-line);
  border-radius:var(--r-sm);
  background:var(--cream);
  color:var(--ink);
  box-shadow:none;}

.cat-form-slot textarea{min-height:120px;}

/* focus state — brand red */
.cat-form-slot input:focus,
.cat-form-slot textarea:focus,
.cat-form-slot select:focus{
  border-color:var(--red);
  outline:none;
  box-shadow:0 0 0 3px rgba(226,35,26,0.12);}

/* submit button — brand red, matches site buttons */
.cat-form-slot input[type=submit],
.cat-form-slot .ninja-forms-field[type=submit]{
  font-family:var(--body);font-weight:700;font-size:0.98rem;
  background:var(--red) !important;
  color:#fff !important;
  border:2px solid var(--red) !important;
  border-radius:var(--r-sm) !important;
  padding:0.85rem 2rem !important;
  cursor:pointer;
  transition:background .15s ease;
  width:auto;}

.cat-form-slot input[type=submit]:hover,
.cat-form-slot .ninja-forms-field[type=submit]:hover{
  background:var(--red-dark) !important;
  border-color:var(--red-dark) !important;}

/* error messages */
.cat-form-slot .nf-error-msg,
.cat-form-slot .nf-error.nf-error-required-error{
  color:var(--red);font-size:0.85rem;font-weight:600;}

/* catering page photos */
.cat-why-photo{max-width:720px;margin:1.75rem auto 0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:5/3;}
.cat-why-photo img{width:100%;height:100%;object-fit:cover;}
.cat-options-photo{max-width:880px;margin:0 auto 2rem;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/9;}
.cat-options-photo img{width:100%;height:100%;object-fit:cover;}

.vp-pin svg{width:28px;height:28px;color:#fff;}

/* =====================================================================
   CATERING PAGE v2 ADDITIONS — append to existing catering CSS
   ===================================================================== */

/* CTA button row under What We Offer (links to menu PDF) */
.cat-menu-cta{text-align:center;margin-top:2rem;}

/* Events we love — short callout band */
.cat-events{background:var(--cream-deep);text-align:center;
  padding:clamp(2.25rem,5vw,3.25rem) 0;}
.cat-events .eyebrow{display:block;margin-bottom:0.5rem;}
.cat-events h2{font-size:clamp(1.6rem,4vw,2.2rem);margin-bottom:0.7rem;}
.cat-events p{color:var(--ink-soft);font-size:1.05rem;max-width:54ch;
  margin:0 auto;line-height:1.6;}

/* Cancellation policy — its own dedicated section */
.cat-cancel{padding:clamp(2.75rem,6vw,4rem) 0;}
.cat-cancel .head{text-align:center;margin-bottom:2rem;}
.cat-cancel .head h2{font-size:clamp(1.7rem,4vw,2.4rem);margin-bottom:0.6rem;}
.cat-cancel .head p{color:var(--ink-soft);font-size:1.02rem;max-width:54ch;
  margin:0 auto;line-height:1.6;}
.cat-cancel-list{max-width:640px;margin:0 auto;list-style:none;padding:0;
  border:1px solid var(--warm-line);border-radius:var(--r-md);
  overflow:hidden;background:var(--paper);}
.cat-cancel-list li{display:flex;gap:1rem;padding:1rem 1.4rem;
  border-bottom:1px solid var(--warm-line);}
.cat-cancel-list li:last-child{border-bottom:none;}
.cat-cancel-list .when{font-weight:700;font-size:0.98rem;color:var(--red);
  min-width:200px;flex-shrink:0;}
.cat-cancel-list .what{color:var(--ink-soft);font-size:0.98rem;}
@media(max-width:560px){
  .cat-cancel-list li{flex-direction:column;gap:0.2rem;}
  .cat-cancel-list .when{min-width:0;}
}

/* =====================================================================
   OUR STORY PAGE — append to existing inspire.css
   ===================================================================== */

/* hero */
.os-hero{padding:clamp(3rem,7vw,5rem) 0 clamp(1.5rem,4vw,2.5rem);text-align:center;}
.os-hero .eyebrow{display:block;margin-bottom:0.7rem;}
.os-hero h1{font-size:clamp(2.2rem,5.5vw,3.4rem);margin-bottom:0.9rem;}
.os-hero .sub{color:var(--ink-soft);font-size:1.08rem;max-width:60ch;
  margin:0 auto;line-height:1.6;}

/* mission statement — soft cream-deep band, generous text */
.os-mission{background:var(--cream-deep);padding:clamp(2.75rem,6vw,4rem) 0;}
.os-mission .eyebrow{display:block;text-align:center;margin-bottom:0.5rem;}
.os-mission h2{text-align:center;font-size:clamp(1.8rem,4.5vw,2.6rem);
  margin-bottom:1.75rem;}
.os-mission-body{max-width:680px;margin:0 auto;}
.os-mission-body p{font-size:1.08rem;line-height:1.75;color:var(--ink);
  margin-bottom:1.1rem;}
.os-mission-body p:last-child{margin-bottom:0;}

/* the story — alternating layout, photo right */
.os-story{padding:clamp(2.75rem,6vw,4rem) 0;}
.os-story-inner{display:grid;grid-template-columns:1.1fr 1fr;
  gap:clamp(1.5rem,5vw,3.5rem);align-items:center;}
.os-story-text .eyebrow{display:block;margin-bottom:0.5rem;}
.os-story-text h2{font-size:clamp(1.7rem,4vw,2.3rem);margin-bottom:0.9rem;}
.os-story-text p{color:var(--ink-soft);font-size:1.05rem;line-height:1.7;}
.os-story-img{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;}
.os-story-img img{width:100%;height:100%;object-fit:cover;}
@media(max-width:760px){
  .os-story-inner{grid-template-columns:1fr;}
}

/* the initiative — alternating layout, photo left */
.os-initiative{background:var(--cream-deep);padding:clamp(2.75rem,6vw,4rem) 0;}
.os-initiative-inner{display:grid;grid-template-columns:1fr 1.1fr;
  gap:clamp(1.5rem,5vw,3.5rem);align-items:center;}
.os-initiative-img{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;}
.os-initiative-img img{width:100%;height:100%;object-fit:cover;}
.os-initiative-text .eyebrow{display:block;margin-bottom:0.5rem;}
.os-initiative-text h2{font-size:clamp(1.7rem,4vw,2.3rem);margin-bottom:0.9rem;}
.os-initiative-text p{color:var(--ink-soft);font-size:1.05rem;
  line-height:1.7;margin-bottom:1rem;}
.os-initiative-text p:last-child{margin-bottom:0;}
.os-initiative-text strong{color:var(--red);}
@media(max-width:760px){
  .os-initiative-inner{grid-template-columns:1fr;}
  .os-initiative-img{order:-1;}
}

/* the impact — dark section, pull quote */
.os-impact{background:var(--ink);color:var(--cream);
  padding:clamp(2.75rem,6vw,4rem) 0;text-align:center;}
.os-impact .eyebrow{display:block;margin-bottom:0.5rem;}
.os-impact h2{color:var(--cream);font-size:clamp(1.8rem,4.5vw,2.6rem);
  margin-bottom:1.4rem;}
.os-impact p{color:var(--cream);opacity:0.88;font-size:1.08rem;
  line-height:1.7;max-width:64ch;margin:0 auto 1.4rem;}
.os-impact-pull{font-family:var(--display);font-weight:600;
  font-size:clamp(1.3rem,3vw,1.7rem) !important;
  font-style:italic;color:var(--cream) !important;opacity:1 !important;
  padding-top:0.7rem;}

/* partners */
.os-partners{padding:clamp(2rem,5vw,3rem) 0;text-align:center;}
.os-partners .wrap{display:flex;flex-direction:column;align-items:center;}
.os-partners .eyebrow{display:block;margin-bottom:0.7rem;}
.os-partners-body{font-size:1.05rem;color:var(--ink-soft);
  max-width:54ch;line-height:1.6;text-align:center;}
.os-partner-logo{margin:1.25rem auto 1.5rem;}
.os-partner-logo a{display:inline-block;}
.os-partner-logo img{height:90px;width:auto;display:block;
  transition:opacity .15s ease;}
.os-partner-logo a:hover img{opacity:0.85;}
@media(max-width:560px){
  .os-partner-logo img{height:70px;}
}

/* support section — primary CTA + andrea card */
.os-support{background:var(--cream-deep);padding:clamp(2.75rem,6vw,4.5rem) 0;}
.os-support-head{text-align:center;max-width:640px;margin:0 auto 2.5rem;}
.os-support-head .eyebrow{display:block;margin-bottom:0.5rem;}
.os-support-head h2{font-size:clamp(1.8rem,4.5vw,2.6rem);margin-bottom:1rem;}
.os-support-head p{color:var(--ink-soft);font-size:1.05rem;
  line-height:1.7;margin-bottom:1.5rem;}

/* andrea contact card */
.andrea-card{max-width:900px;margin:0 auto;background:var(--paper);
  border-radius:var(--r-lg);padding:clamp(1.75rem,4vw,2.5rem);
  display:grid;grid-template-columns:200px 1fr;gap:clamp(1.5rem,4vw,2.5rem);
  align-items:start;box-shadow:0 2px 12px rgba(0,0,0,0.04);}
.andrea-photo{text-align:center;}
.andrea-photo img{width:160px;height:160px;border-radius:50%;
  object-fit:cover;border:3px solid var(--cream-deep);}
.andrea-info h3{font-size:clamp(1.3rem,3vw,1.6rem);margin-bottom:0.8rem;}
.andrea-info > p{color:var(--ink-soft);font-size:1rem;
  line-height:1.6;margin-bottom:1.25rem;}
.andrea-name{font-family:var(--display);font-weight:600;
  font-size:1.15rem;color:var(--ink);}
.andrea-title{font-size:0.92rem;color:var(--ink-soft);margin-bottom:1.25rem;}
.andrea-actions{display:flex;flex-wrap:wrap;gap:0.6rem;margin-bottom:1rem;}
.andrea-btn{display:inline-flex;align-items:center;gap:0.45rem;
  padding:0.6rem 1.05rem;border-radius:999px;
  font-family:var(--body);font-weight:700;font-size:0.92rem;
  text-decoration:none;border:1.5px solid transparent;
  transition:all .15s ease;}
.andrea-btn svg{width:16px;height:16px;}
.andrea-call{background:var(--red);color:#fff;border-color:var(--red);}
.andrea-call:hover{background:var(--red-dark);border-color:var(--red-dark);}
.andrea-text{background:var(--paper);color:var(--ink);border-color:var(--warm-line);}
.andrea-text:hover{background:var(--cream-deep);border-color:var(--ink-soft);}
.andrea-email{background:var(--ink);color:#fff;border-color:var(--ink);}
.andrea-email:hover{background:var(--ink-soft);border-color:var(--ink-soft);}
.andrea-direct{font-size:0.85rem;color:var(--ink-soft);font-style:italic;}
@media(max-width:680px){
  .andrea-card{grid-template-columns:1fr;text-align:center;}
  .andrea-actions{justify-content:center;}
}

/* =====================================================================
   HOMEPAGE — Get Involved section secondary CTA
   ===================================================================== */
.involved .involved-more{
  margin-top:1.4rem;
  margin-bottom:0.85rem;
  font-size:0.98rem;
  color:#fff;
  opacity:0.85;
}

/* secondary CTA on red backgrounds */
.btn-ghost-light{
  display:inline-block;
  background:transparent;
  color:#fff;
  border:1.5px solid rgba(255,255,255,0.55);
  padding:0.7rem 1.5rem;
  border-radius:999px;
  font-family:var(--body);
  font-weight:700;
  font-size:0.95rem;
  text-decoration:none;
  transition:all .15s ease;
}
.btn-ghost-light:hover{
  background:#fff;
  color:var(--red);
  border-color:#fff;
}

a[href^="tel:"]{color:inherit;text-decoration:none;
    border-bottom:1px dashed transparent;transition:border-color .15s ease;}
  a[href^="tel:"]:hover{border-color:currentColor;}