
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400;500;600;700&display=swap');
:root {
  --purple: #8c20e8;
  --blue: #5d79c6;
  --teal: #25b6aa;
  --green: #08d88a;
  --ink: #22242c;
  --muted: #626875;
  --paper: #ffffff;
  --mist: #f7f8fb;
  --line: #e7e9ef;
  --gradient: linear-gradient(105deg, #8d1ee9 0%, #5b78c7 42%, #2bb6a7 72%, #08df8c 100%);
  --shadow: 0 16px 42px rgba(31, 38, 59, .09);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Josefin Sans", "Trebuchet MS", sans-serif; font-size: 17px; line-height: 1.7; }
a { color: inherit; }
img { max-width: 100%; display: block; }
.site-header { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.96); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(231,233,239,.85); }
.header-inner { max-width: 1180px; margin: auto; padding: 13px 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; text-decoration: none; min-width: 180px; }
.brand img { width: 245px; max-height: 70px; object-fit: contain; }
.nav { display: flex; align-items: center; gap: 17px; }
.nav a { text-decoration: none; color: #373944; font-size: 12px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; white-space: nowrap; transition: color .2s; }
.nav a:hover, .nav a[aria-current="page"] { color: #8b27d8; }
.nav .nav-cta { padding: 12px 15px; border-radius: 3px; color: #fff; background: var(--gradient); }
.menu-toggle { display: none; border: 1px solid var(--line); background: white; border-radius: 4px; padding: 9px 12px; font: inherit; }
.hero { position: relative; overflow: hidden; background: var(--gradient); color: white; }
.hero-inner { max-width: 1180px; margin: auto; padding: 82px 24px 86px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 54px; }
.hero h1 { font-size: clamp(2.4rem, 5vw, 4.7rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.08; margin: 0 0 24px; }
.hero p { font-size: clamp(1.08rem, 1.8vw, 1.35rem); max-width: 650px; margin: 0 0 28px; }
.hero .eyebrow, .eyebrow { text-transform: uppercase; letter-spacing: .24em; font-size: .76rem; font-weight: 600; }
.hero-visual { border: 8px solid rgba(255,255,255,.26); border-radius: 48% 48% 46% 46%; overflow: hidden; box-shadow: 0 18px 48px rgba(28,27,73,.18); background: rgba(255,255,255,.12); }
.hero-visual img { width: 100%; height: 440px; object-fit: cover; object-position: center 30%; }
.hero-logo { width: min(100%, 600px); margin-bottom: 24px; }
.button-row { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 28px; }
.button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 13px 20px; border: 0; border-radius: 2px; text-decoration: none; text-align: center; text-transform: uppercase; font-family: "Josefin Sans", sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .13em; cursor: pointer; transition: transform .2s, box-shadow .2s; }
.button:hover { transform: translateY(-2px); box-shadow: 0 9px 22px rgba(0,0,0,.13); }
.button-light { background: white; color: #3f4b78; }
.button-outline { border: 1px solid rgba(255,255,255,.85); color: white; background: transparent; }
.button-gradient { background: var(--gradient); color: white; }
.section { padding: 78px 24px; }
.section-alt { background: var(--mist); }
.container { max-width: 1120px; margin: 0 auto; }
.section-heading { text-align: center; max-width: 790px; margin: 0 auto 42px; }
.section-heading h2 { font-size: clamp(2rem, 3.3vw, 3rem); line-height: 1.15; font-weight: 400; margin: 0 0 16px; }
.section-heading p { color: var(--muted); margin: 0; }
.gradient-rule { width: 82px; height: 3px; background: var(--gradient); margin: 22px auto; }
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.card { padding: 28px; border: 1px solid var(--line); background: white; box-shadow: 0 8px 25px rgba(31,38,59,.035); }
.card .icon { width: 45px; height: 45px; border-radius: 50%; background: var(--gradient); margin-bottom: 20px; }
.card h3 { font-size: 1.25rem; line-height: 1.3; font-weight: 500; margin: 0 0 12px; }
.card p { color: var(--muted); margin: 0 0 18px; }
.text-link { color: #7b25cc; text-decoration: none; font-weight: 600; }
.split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 58px; }
.split h2 { font-size: clamp(2rem, 3.2vw, 2.9rem); line-height: 1.15; font-weight: 400; margin: 0 0 20px; }
.split p { color: var(--muted); }
.round-image { border-radius: 4px; overflow: hidden; box-shadow: var(--shadow); }
.round-image img { width: 100%; max-height: 560px; object-fit: cover; }
.quote-band { background: #20212a; color: white; text-align: center; padding: 58px 24px; }
.quote-band p { max-width: 900px; margin: auto; font-size: clamp(1.6rem, 3vw, 2.7rem); font-weight: 300; line-height: 1.3; }
.page-hero { background: var(--gradient); color: white; padding: 74px 24px 68px; text-align: center; }
.page-hero h1 { font-size: clamp(2.4rem, 4.5vw, 4rem); line-height: 1.1; font-weight: 400; margin: 0 0 15px; }
.page-hero p { max-width: 760px; margin: auto; font-size: 1.15rem; }
.content { max-width: 900px; margin: auto; }
.content h2 { font-size: 2rem; font-weight: 400; line-height: 1.2; margin: 42px 0 16px; }
.content h3 { font-weight: 600; font-size: 1.25rem; }
.content p, .content li { color: #555c68; }
.content ul { padding-left: 1.35rem; }
.notice { border-left: 4px solid #28b7aa; padding: 17px 22px; background: #f4fbfa; color: #3f5557; }
.faq-list { display: grid; gap: 12px; }
details { border: 1px solid var(--line); border-radius: 3px; padding: 0 20px; background: white; }
summary { cursor: pointer; padding: 18px 0; font-weight: 600; }
details p { margin-top: 0; color: var(--muted); }
.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 38px; }
.contact-panel { background: var(--mist); padding: 28px; }
.form-row { margin-bottom: 17px; }
.form-row label { display: block; margin-bottom: 6px; font-size: .9rem; font-weight: 600; }
.form-row input, .form-row select, .form-row textarea { width: 100%; padding: 12px 13px; border: 1px solid #d8dce5; background: white; border-radius: 2px; font: inherit; }
.form-row textarea { min-height: 130px; resize: vertical; }
.small-note { font-size: .86rem; color: var(--muted); }
.site-footer { background: #20212a; color: #fff; padding: 48px 24px 25px; }
.footer-inner { max-width: 1120px; margin: auto; display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 38px; }
.footer-logo { width: 100%; max-width: 360px; margin-bottom: 15px; }
.site-footer p, .site-footer a { color: #d6d8e1; }
.site-footer a { text-decoration: none; }
.footer-links { display: grid; gap: 8px; }
.footer-heading { text-transform: uppercase; letter-spacing: .14em; font-size: .8rem; margin-bottom: 10px; }
.footer-bottom { max-width: 1120px; margin: 35px auto 0; padding-top: 18px; border-top: 1px solid #444651; font-size: .8rem; color: #b7bac5; }
.media-placeholder { display: flex; min-height: 170px; border: 1px dashed #b8c0d0; background: #f8f9fb; align-items: center; justify-content: center; padding: 20px; text-align: center; color: #727988; }
@media (max-width: 1020px) {
  .header-inner { flex-wrap: wrap; }
  .brand img { width: 220px; }
  .menu-toggle { display: block; margin-left: auto; }
  .nav { display: none; width: 100%; flex-direction: column; align-items: stretch; gap: 0; padding: 8px 0 12px; }
  .nav.open { display: flex; }
  .nav a { padding: 13px 5px; border-bottom: 1px solid var(--line); }
  .nav .nav-cta { text-align: center; margin-top: 10px; }
  .hero-inner { grid-template-columns: 1fr; gap: 35px; padding-top: 58px; }
  .hero-visual { max-width: 560px; margin: auto; width: 100%; }
  .hero-visual img { height: 390px; }
  .cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  body { font-size: 16px; }
  .header-inner { padding: 10px 16px; }
  .brand img { width: 195px; }
  .hero-inner { padding: 48px 20px 56px; }
  .hero-visual img { height: 320px; }
  .section { padding: 56px 20px; }
  .cards, .split, .contact-grid, .footer-inner { grid-template-columns: 1fr; }
  .split { gap: 28px; }
  .card { padding: 23px; }
  .page-hero { padding: 54px 20px; }
  .footer-inner { gap: 26px; }
  .button-row .button { width: 100%; }
}


/* Shared business contact footer used on every page except FAQs. */
.business-footer { background: #2ba9a6; color: #000; text-align: center; padding: 22px 18px; font-family: 'Josefin Sans', sans-serif; font-size: 10px; line-height: 1.55; }
.business-footer p { color: #000; margin: 4px 0; }
.business-footer a { color: #000; text-decoration: none; }
.business-footer a:hover { text-decoration: underline; }


/* Consistent navigation across every page: match the Make an Appointment page. */
.site-header .header-inner{max-width:1280px;gap:22px;padding:13px 24px;}
.site-header .nav{order:1;gap:17px;flex:1;justify-content:flex-start;}
.site-header .brand{order:2;min-width:0;margin-left:auto;justify-content:flex-end;}
.site-header .brand img{width:300px;max-height:88px;object-fit:contain;}
.site-header .nav a{font-family:'Josefin Sans',sans-serif;font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#373944;}
.site-header .nav a:hover,.site-header .nav a[aria-current="page"]{color:#8b27d8;}
.site-header .nav .nav-cta{background:transparent;color:#333;border-radius:0;padding:12px 15px;}
.site-header .nav .nav-cta:hover,.site-header .nav .nav-cta[aria-current="page"]{background:transparent;color:#8b27d8;}
@media(max-width:1100px){.site-header .header-inner{flex-wrap:wrap}.site-header .brand{order:1;margin-left:0}.site-header .menu-toggle{order:2;margin-left:auto}.site-header .nav{order:3;flex:0 0 100%;display:none;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 12px}.site-header .nav.open{display:flex}.site-header .nav a{padding:13px 5px;border-bottom:1px solid var(--line)}.site-header .nav .nav-cta{text-align:center;margin-top:10px}}
@media(max-width:680px){.site-header .brand img{width:260px;max-height:76px}}


/* Final navigation specification: identical black tabs on every page. */
.site-header .nav a,
.site-header .nav a:hover,
.site-header .nav a:focus,
.site-header .nav a[aria-current="page"],
.site-header .nav .nav-cta,
.site-header .nav .nav-cta:hover,
.site-header .nav .nav-cta[aria-current="page"] {
  color: #000 !important;
  font-family: "Josefin Sans", sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 12px 15px !important;
  text-decoration: none !important;
}
.site-header .nav { gap: 17px !important; }
@media (max-width: 1100px) {
  .site-header .nav a, .site-header .nav a:hover, .site-header .nav a:focus,
  .site-header .nav a[aria-current="page"], .site-header .nav .nav-cta {
    color: #000 !important; padding: 13px 5px !important;
  }
}

/* Header alignment update: larger logo on the left, compact navigation on the right, site-wide. */
@media (min-width: 1101px) {
  .site-header .header-inner { gap: 14px; }
  .site-header .brand { order: 1; margin-left: 0; margin-right: auto; justify-content: flex-start; }
  .site-header .brand img { width: 330px; max-height: 96px; }
  .site-header .nav { order: 2; flex: 0 1 auto; justify-content: flex-end; gap: 5px !important; }
  .site-header .nav a,
  .site-header .nav a:hover,
  .site-header .nav a:focus,
  .site-header .nav a[aria-current="page"],
  .site-header .nav .nav-cta,
  .site-header .nav .nav-cta:hover,
  .site-header .nav .nav-cta[aria-current="page"] { padding-left: 9px !important; padding-right: 9px !important; }
}
@media (max-width: 1100px) {
  .site-header .brand { order: 1; margin-left: 0; margin-right: 0; justify-content: flex-start; }
  .site-header .brand img { width: 280px; max-height: 82px; }
  .site-header .nav { order: 3; gap: 0 !important; }
}
@media (max-width: 680px) {
  .site-header .brand img { width: 270px; max-height: 80px; }
}


/* User-supplied media */
.content-image{display:block;max-width:100%;height:auto;object-fit:cover;}
.home-hero-logo{display:flex;align-items:center;justify-content:center;background:#fff;}
.home-logo-image{width:100%;max-width:340px;object-fit:contain;}
.circle-image{width:100%;aspect-ratio:1/1;border-radius:50%;object-fit:cover;}
.why-image{width:100%;height:100%;min-height:280px;object-fit:cover;}
.service-image{width:100%;aspect-ratio:1/1;border-radius:50%;object-fit:cover;margin:0 auto 1rem;}
.coaching-image{width:100%;height:100%;min-height:230px;object-fit:cover;}
.bars-image{width:100%;height:100%;object-fit:cover;}
.bars-supporting-image{max-width:100%;height:auto;object-fit:contain;}
.bars-package-image{width:min(100%,780px);height:auto;margin:22px auto;object-fit:contain;}
.about-image{width:100%;height:100%;min-height:220px;object-fit:cover;}
.association-placeholders{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:22px;}
.association-logo{width:clamp(95px,16%,170px);max-height:100px;object-fit:contain;}
.appointment-office-image{width:min(100%,760px);max-height:420px;object-fit:cover;margin:0 auto 20px;}
.appointment-map-placeholder a{color:#087f83;text-decoration:underline;font-weight:600;}
@media(max-width:680px){.why-image{min-height:220px}.coaching-image{min-height:190px}.association-logo{width:clamp(85px,28%,135px)}}


/* Accessibility/readability updates requested by the site owner */
body { font-size: 14px; }
body p, body li, body .faq-answer, body .faq-note, body .welcome-copy p, body .section-copy, body .service-copy { font-size: 14px; }
h1, h2, h3, h4, h5, h6, .section-title, .faq-hero h1 { font-size: 23px; }
/* Homepage statement: two pixels larger than its previous 22px size */
.hero-quote { font-size: 24px; }
/* Make the brand mark more prominent while preserving its proportions */
.brand img { width: 330px; max-width: 100%; max-height: 100px; height: auto; object-fit: contain; }
@media (max-width: 680px) {
  .brand img { width: 230px; max-height: 72px; }
  .hero-quote { font-size: 24px; }
  h1, h2, h3, h4, h5, h6, .section-title, .faq-hero h1 { font-size: 23px; }
}

/* VERIFIED READABILITY FIX — 27 October 2026 */
/* All page headings */
h1, h2, h3, h4, h5, h6, .section-title, .faq-hero h1, .home-replica h1, .home-replica h2 { font-size: 23px !important; }
/* Body and grey explanatory text across every page */
body, body p, body li, body .faq-answer, body .faq-note, body .section-copy, body .service-copy, body .welcome-copy p, .home-replica, .home-replica p, .home-replica li { font-size: 14px !important; }
/* Homepage statement is visibly larger than the previous 22px setting */
.hero-quote { font-size: 26px !important; line-height: 1.4 !important; }
/* Make the header logo substantially more visible while keeping it responsive */
.site-header .brand img, .brand img { width: 360px !important; max-width: 100% !important; max-height: 112px !important; height: auto !important; object-fit: contain !important; }
@media (max-width: 1100px) { .site-header .brand img, .brand img { width: 300px !important; max-height: 90px !important; } }
@media (max-width: 680px) { .site-header .brand img, .brand img { width: 250px !important; max-height: 78px !important; } .hero-quote { font-size: 26px !important; } }


/* User-requested typography adjustments (27 October 2026) */
.appointment-quote p { font-size: 23px !important; line-height: 1.4 !important; }
.about-opening .about-opening-inner p { font-size: 21px !important; line-height: 1.45 !important; }
.bars-page .bars-quote p { font-size: 23px !important; line-height: 1.4 !important; }
.bars-page .bars-quote small { font-size: 23px !important; line-height: 1.3 !important; }
.counselling-page .getting-started .steps-grid .step h3 { font-size: 20px !important; line-height: 1.35 !important; }
@media (max-width: 700px) {
  .appointment-quote p { font-size: 23px !important; }
  .about-opening .about-opening-inner p { font-size: 21px !important; }
  .bars-page .bars-quote p, .bars-page .bars-quote small { font-size: 23px !important; }
  .counselling-page .getting-started .steps-grid .step h3 { font-size: 20px !important; }
}


/* Additional user-requested typography adjustments (27 October 2026) */
.bars-page .bars-quote small { font-size: 17px !important; line-height: 1.3 !important; }
.home-hero .hero-quote { font-size: 26px !important; line-height: 1.4 !important; }
@media (max-width: 700px) {
  .bars-page .bars-quote small { font-size: 17px !important; }
  .home-hero .hero-quote { font-size: 26px !important; }
}


/* Connect with us social icons: retain the separate section and existing footer. */
.connect .social-icons { display:flex; justify-content:center; align-items:center; gap:16px; }
.connect .social-icons a, .appointment-connect .social-icons a { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; text-decoration:none; font-size:20px; font-weight:700; line-height:1; }
.faq-connect .faq-socials { display:flex; justify-content:center; align-items:center; gap:18px; }
.faq-connect .faq-socials a { display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:50%; text-decoration:none; font-size:26px; font-weight:700; line-height:1; }
@media (max-width:700px) { .connect .social-icons a, .appointment-connect .social-icons a { width:42px; height:42px; } .faq-connect .faq-socials a { width:52px; height:52px; } }


/* Social icon visibility fix: keep Connect with us separate from the footer. */
.connect .social-icons, .appointment-connect .social-icons, .faq-connect .faq-socials { display:flex !important; justify-content:center !important; align-items:center !important; gap:16px !important; }
.connect .social-icons a, .appointment-connect .social-icons a { display:inline-flex !important; align-items:center !important; justify-content:center !important; box-sizing:border-box; width:42px !important; height:42px !important; min-width:42px; border-radius:50% !important; background:#269e9e !important; color:#ffffff !important; text-decoration:none !important; font-family:Arial,sans-serif !important; font-size:20px !important; font-weight:700 !important; line-height:1 !important; visibility:visible !important; opacity:1 !important; }
/* Restore FAQ icons to their original, smaller size. */
.faq-connect .faq-socials a { display:inline-flex !important; align-items:center !important; justify-content:center !important; box-sizing:border-box; width:42px !important; height:42px !important; min-width:42px; border-radius:50% !important; background:#269e9e !important; color:#ffffff !important; text-decoration:none !important; font-family:Arial,sans-serif !important; font-size:20px !important; font-weight:700 !important; line-height:1 !important; visibility:visible !important; opacity:1 !important; }


/* Mobile layout correction: keep Connect with us as a distinct section before the footer. */
.connect, .appointment-connect, .faq-connect {
  display: block !important;
  position: relative !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  margin: 28px 0 32px !important;
  padding: 24px 16px !important;
  overflow: visible !important;
  text-align: center !important;
}
.connect h2, .appointment-connect h2, .faq-connect h2 {
  display: block !important;
  margin: 0 0 18px !important;
}
.connect .social-icons, .appointment-connect .social-icons, .faq-connect .faq-socials {
  display: flex !important;
  position: static !important;
  float: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 42px !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.connect .social-icons a, .appointment-connect .social-icons a, .faq-connect .faq-socials a {
  display: inline-flex !important;
  position: static !important;
  float: none !important;
  flex: 0 0 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
  box-sizing: border-box !important;
}
.site-footer, .business-footer {
  display: block !important;
  position: relative !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  height: auto !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  z-index: auto !important;
}
@media (max-width: 480px) {
  .connect, .appointment-connect, .faq-connect { margin: 24px 0 28px !important; padding: 22px 12px !important; }
  .connect .social-icons, .appointment-connect .social-icons, .faq-connect .faq-socials { gap: 14px !important; }
}

/* Brand update: use the supplied Thrive Your Mind logo and centre it prominently on mobile. */
.site-header .brand img, .brand img { width: 180px !important; max-width: 100% !important; height: auto !important; max-height: none !important; object-fit: contain !important; }
@media (max-width: 680px) {
  .site-header .header-inner { display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:8px !important; padding:8px 12px 10px !important; }
  .site-header .brand { order:1 !important; display:flex !important; width:100% !important; min-width:0 !important; justify-content:center !important; align-items:center !important; margin:0 !important; }
  .site-header .brand img, .brand img { width:225px !important; max-width:72vw !important; max-height:none !important; height:auto !important; }
  .site-header .menu-toggle { order:2 !important; display:block !important; margin:0 auto !important; }
  .site-header .nav { order:3 !important; width:100% !important; }
}


/* Precise logo correction requested 28 October 2026. Only the small header logo changes. */
.site-header .brand { display:flex !important; align-items:center !important; justify-content:center !important; min-width:0 !important; }
.site-header .brand img { width:132px !important; height:132px !important; max-width:132px !important; max-height:132px !important; object-fit:cover !important; object-position:center !important; border-radius:50% !important; display:block !important; }
/* Mobile: use the supplied logo artwork in full, prominently centred at the top. */
@media (max-width:680px) {
  .site-header .header-inner { display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:7px !important; padding:7px 12px 9px !important; }
  .site-header .brand { order:1 !important; width:100% !important; min-width:0 !important; justify-content:center !important; margin:0 !important; }
  .site-header .brand img { width: min(300px, 82vw) !important; height:auto !important; max-width:82vw !important; max-height:none !important; object-fit:contain !important; border-radius:0 !important; }
  .site-header .menu-toggle { order:2 !important; display:block !important; margin:0 auto !important; }
  .site-header .nav { order:3 !important; width:100% !important; }
}


/* Header-logo correction requested 28 October 2026. Homepage hero logo remains separate. */
.site-header .brand { display:flex !important; align-items:center !important; justify-content:center !important; min-width:0 !important; }
.site-header .brand img { width:132px !important; height:132px !important; max-width:132px !important; max-height:132px !important; object-fit:cover !important; object-position:center !important; border-radius:50% !important; display:block !important; }
@media (max-width:680px) {
  .site-header .header-inner { display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:7px !important; padding:7px 12px 9px !important; }
  .site-header .brand { order:1 !important; width:100% !important; min-width:0 !important; justify-content:center !important; margin:0 !important; }
  .site-header .brand img { width:min(300px,82vw) !important; height:auto !important; max-width:82vw !important; max-height:none !important; object-fit:contain !important; border-radius:0 !important; }
  .site-header .menu-toggle { order:2 !important; display:block !important; margin:0 auto !important; }
  .site-header .nav { order:3 !important; width:100% !important; }
}


/* Mobile header fix: make the supplied logo large, centred and clearly visible. */
@media (max-width: 680px) {
  .site-header { padding: 0 !important; }
  .site-header .header-inner {
    display: flex !important; flex-direction: column !important;
    align-items: center !important; justify-content: center !important;
    gap: 6px !important; padding: 6px 8px 10px !important;
    min-height: 0 !important;
  }
  .site-header .brand {
    order: 1 !important; display: flex !important; width: 100% !important;
    max-width: none !important; min-width: 0 !important;
    justify-content: center !important; align-items: center !important;
    margin: 0 !important; padding: 0 !important;
  }
  .site-header .brand img {
    display: block !important; width: min(360px, 94vw) !important;
    max-width: 94vw !important; height: auto !important;
    max-height: none !important; object-fit: contain !important;
    object-position: center !important; border-radius: 0 !important;
  }
  .site-header .menu-toggle { order: 2 !important; display: block !important; margin: 0 auto !important; }
  .site-header .nav { order: 3 !important; width: 100% !important; }
}


/* Mobile-only header logo: use the user's supplied full-width logo artwork.
   Desktop logo styling and the separate homepage hero logo remain unchanged. */
.site-header .brand-picture { display: block; line-height: 0; }
.site-header .brand-picture img { display: block; }
@media (max-width: 680px) {
  .site-header { width: 100% !important; margin: 0 !important; padding: 0 !important; }
  .site-header .header-inner {
    width: 100% !important; max-width: none !important;
    box-sizing: border-box !important; margin: 0 !important;
    padding: 0 !important; gap: 0 !important;
    display: flex !important; flex-direction: column !important;
    align-items: stretch !important; justify-content: flex-start !important;
  }
  .site-header .brand {
    display: block !important; width: 100% !important; max-width: none !important;
    min-width: 0 !important; margin: 0 !important; padding: 0 !important;
    align-self: stretch !important; line-height: 0 !important;
  }
  .site-header .brand-picture { display: block !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
  .site-header .brand-picture img {
    display: block !important; width: 100vw !important; max-width: none !important;
    height: auto !important; max-height: none !important; margin: 0 !important;
    padding: 0 !important; border: 0 !important; border-radius: 0 !important;
    object-fit: contain !important;
  }
  .site-header .menu-toggle { order: 2 !important; margin: 0 auto !important; }
  .site-header .nav { order: 3 !important; width: 100% !important; }
}
