/*
Theme Name: Honey & Hive Sponsor Live Text
Theme URI: https://honeynhive.ca/
Author: Honey & Hive
Description: Master Honey & Hive WordPress theme containing the approved Home, Own a Hive, Sponsor a Hive, FAQ, and Contact designs.
Version: 2.1.1
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: honey-hive
*/

@import url("https://fonts.googleapis.com/css2?family=Chicle&display=swap");

:root {
  --hh-cream: #f7ecd3;
  --hh-paper: #f5e4bc;
  --hh-brown: #3a1d0c;
  --hh-orange: #d67909;
  --hh-mustard: #e7a115;
  --hh-gold: #c98500;
  --hh-olive: #4d5a0b;
  --hh-olive-dark: #394407;
  --hh-pink: #d6a3a8;
  --hh-line: rgba(114, 68, 13, .24);
  --hh-display: "Cooper Black", "Cooper Std Black", "Bookman Old Style", "URW Bookman", Georgia, serif;
  --hh-sans: Avenir, "Avenir Next", Montserrat, Arial, sans-serif;
  --hh-max: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 132px; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--hh-brown);
  background: var(--hh-cream);
  font-family: var(--hh-sans);
  font-size: 17px;
  line-height: 1.55;
}
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
button, input, textarea, select { font: inherit; }

.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus { clip:auto !important; width:auto; height:auto; top:10px; left:10px; padding:12px 16px; background:#fff; z-index:100000; }

.section-title,.entry-title { margin:0; font-family:var(--hh-display); font-weight:900; letter-spacing:-.045em; line-height:.95; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 999;
  height: 130px;
  background: #f8edd6;
  border-bottom: 1px solid rgba(176,111,0,.24);
}
.header-inner {
  width: min(calc(100% - 136px), 1400px);
  height: 130px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 220px 1fr 110px;
  align-items: center;
  gap: 24px;
}
.site-branding { display:flex; align-items:center; height:100%; min-width:0; }
.header-wordmark {
  display:inline-block;
  color:var(--hh-brown);
  font-family:"Chicle", "Cooper Black", "Bookman Old Style", Georgia, serif;
  font-size:40px;
  font-weight:400;
  line-height:1;
  letter-spacing:-.02em;
  text-decoration:none;
  white-space:nowrap;
}
.header-wordmark:hover,
.header-wordmark:focus-visible { color:var(--hh-olive); }
.custom-logo-link, .fallback-logo { display:inline-flex; align-items:center; }
.custom-logo, .fallback-logo img { width: 108px !important; max-height: 116px; object-fit: contain; height: auto !important; }
.primary-navigation { justify-self: center; }
.primary-navigation ul { list-style:none; margin:0; padding:0; display:flex; align-items:center; justify-content:center; gap:clamp(34px,3.15vw,58px); }
.primary-navigation a {
  position:relative; display:block; padding:15px 0 10px; text-decoration:none;
  text-transform:uppercase; font-weight:800; font-size:14px; letter-spacing:.01em;
}
.primary-navigation a::after { content:""; position:absolute; left:0; right:0; bottom:1px; height:2px; background:var(--hh-orange); transform:scaleX(0); transition:transform .2s ease; }
.primary-navigation a:hover::after,
.primary-navigation .current-menu-item > a::after,
.primary-navigation .current_page_item > a::after { transform:scaleX(1); }
.header-my-hive {
  position:relative;
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:15px 0 10px;
  color:var(--hh-brown);
  font-size:14px;
  font-weight:800;
  letter-spacing:.01em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
  text-decoration:none;
}
.header-my-hive::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:1px;
  height:2px;
  background:var(--hh-orange);
  transform:scaleX(0);
  transition:transform .2s ease;
}
.header-my-hive:hover::after,
.header-my-hive:focus-visible::after { transform:scaleX(1); }
.menu-toggle { display:none; justify-self:end; width:50px; height:46px; border-radius:999px; border:2px solid var(--hh-brown); background:var(--hh-mustard); cursor:pointer; align-items:center; justify-content:center; flex-direction:column; gap:5px; }
.menu-toggle span { display:block; width:22px; height:2px; background:var(--hh-brown); }

.paper-texture {
  position: relative;
  isolation: isolate;
  background:
    linear-gradient(135deg, rgba(255,255,255,.17), rgba(202,150,65,.055)),
    repeating-linear-gradient(7deg, transparent 0 11px, rgba(116,78,27,.018) 12px),
    var(--hh-paper);
}

.hero { min-height: 772px; overflow: hidden; border-top: 2px solid var(--hh-gold); position: relative; }
.hero-inner { position:relative; width:100%; min-height:772px; margin:0 auto; display:grid; grid-template-columns:45.5% 54.5%; align-items:stretch; padding-bottom:136px; }
.hero-inner::before {
  content:""; position:absolute; z-index:1; left:18px; top:18px; width:53%; height:585px;
  background:linear-gradient(180deg, rgba(255,252,243,.99), rgba(255,248,233,.97));
  border-radius:36% 15% 20% 10% / 16% 11% 18% 10%;
}
.hero-star { position:absolute; z-index:4; color:var(--hh-gold); font-size:28px; line-height:1; }
.hero-star-1 { left:52px; top:128px; }
.hero-star-2 { left:86px; top:208px; font-size:18px; }
.hero-star-3 { left:45%; top:116px; font-size:22px; }
.hero-star-4 { left:47%; top:306px; font-size:18px; }
.hero-bloom { position:absolute; z-index:2; pointer-events:none; mix-blend-mode:multiply; }
.hero-bloom-left { left:14px; bottom:118px; width:176px; opacity:.8; }
.hero-bloom-photo-top { left:46.2%; top:8px; width:182px; transform:rotate(-7deg); clip-path: inset(0 0 28% 0); z-index:5; }
.hero-bloom-bottom-mid { left:44.1%; bottom:82px; width:188px; clip-path: inset(10% 0 0 0); z-index:5; }
.hero-bloom-right { right:-26px; bottom:42px; width:188px; transform:scaleX(-1); z-index:5; }
.hero-copy { position:relative; z-index:5; padding:88px 20px 40px 88px; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; text-align:center; }
.hero-kicker { display:flex; align-items:center; gap:14px; margin:0 0 22px; color:var(--hh-olive); font-size:17px; font-weight:900; text-transform:uppercase; letter-spacing:.16em; line-height:1.4; white-space:nowrap; }
.hero-kicker::before,.hero-kicker::after { content:""; width:48px; height:2px; background:rgba(90,106,18,.62); }
.hero-copy h1 { font-size:clamp(88px,7vw,108px); }
.hero-copy h1 span { display:block; white-space:nowrap; }
.hero-body { max-width:510px; margin:24px 0 0; font-size:22px; line-height:1.48; }
.hero-highlight { max-width:520px; margin:10px 0 0; color:var(--hh-orange); font-size:24px; line-height:1.36; font-weight:900; }
.hero-divider { width:392px; max-width:100%; display:flex; align-items:center; gap:14px; margin:24px 0 22px; color:var(--hh-gold); }
.hero-divider::before,.hero-divider::after { content:""; flex:1; height:2px; background:var(--hh-gold); opacity:.76; }
.hero-divider .flower { font-size:29px; line-height:1; }
.hero-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:22px; }
.button,.wp-block-button__link,input[type="submit"] {
  display:inline-flex; min-height:57px; align-items:center; justify-content:center; gap:12px;
  padding:13px 28px; border:2px solid var(--hh-olive); border-radius:999px; background:var(--hh-olive);
  color:#fff8e8; text-decoration:none; text-transform:uppercase; font-weight:900; letter-spacing:.055em;
  box-shadow:0 4px 0 rgba(58,29,12,.12); transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.button:hover,.wp-block-button__link:hover,input[type="submit"]:hover { transform:translateY(-2px); box-shadow:0 7px 0 rgba(58,29,12,.12); }
.button-outline { background:#fffaf0; color:var(--hh-brown); border-color:var(--hh-gold); }
.button-outline:hover { background:rgba(232,164,14,.12); }
.button .tiny-flower { color:var(--hh-mustard); font-size:20px; }
.hero-media { position:relative; z-index:4; padding:20px 22px 0 0; display:flex; align-items:flex-start; }
.hero-photo-wrap { position:relative; width:100%; }
.hero-photo-frame {
  position:relative; width:100%; height:612px; overflow:hidden; border:5px solid #fff5de;
  border-radius:34% 30% 9% 9% / 13% 13% 8% 8%; outline:3px solid var(--hh-gold); outline-offset:-10px;
  background:#d7a338; box-shadow:0 12px 24px rgba(58,29,12,.12);
}
.hero-photo-frame img { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-badge {
  position:absolute; z-index:6; right:22px; top:-8px; width:142px; height:142px; border-radius:50%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; text-align:center;
  background:#fff6e5; border:4px solid #fffdf7; outline:3px solid var(--hh-gold); outline-offset:-10px;
  color:var(--hh-brown); box-shadow:0 6px 16px rgba(58,29,12,.16); padding:16px;
}
.hero-badge-top,.hero-badge-bottom { display:block; font-size:14px; line-height:1.12; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.hero-badge-bottom { color:var(--hh-orange); }
.hero-badge-bee { width:42px; height:42px; display:block; }
.hero-ribbon { position:absolute; left:50%; bottom:58px; z-index:7; transform:translateX(-50%); }
.hero-ribbon span {
  display:inline-block; padding:16px 46px 18px; background:var(--hh-olive); color:#fff8e8;
  border-radius:999px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; font-size:18px;
  transform:rotate(-4deg); box-shadow:0 4px 0 rgba(58,29,12,.12);
}
.waves { position:absolute; z-index:2; left:-2%; right:-2%; bottom:-1px; height:120px; overflow:hidden; }
.wave { position:absolute; left:-2%; width:104%; height:46px; border-radius:50% 50% 0 0 / 100% 100% 0 0; }
.wave.cream { bottom:80px; background:#f2deb2; transform:rotate(1.2deg); }
.wave.gold { bottom:56px; background:#daa72d; transform:rotate(-1.1deg); }
.wave.olive { bottom:34px; background:var(--hh-olive); transform:rotate(1.3deg); }
.wave.blush { bottom:15px; background:var(--hh-pink); transform:rotate(-1deg); }
.wave.orange { bottom:-5px; background:var(--hh-orange); transform:rotate(.7deg); }

.join-section { position:relative; padding:34px 32px 64px; overflow:hidden; }
.join-inner { position:relative; z-index:2; max-width:1600px; margin:0 auto; }
.join-heading { text-align:center; margin-bottom:28px; }
.join-heading .eyebrow-bees { display:flex; justify-content:center; align-items:center; gap:27px; }
.join-heading .eyebrow-bees > span { color:var(--hh-orange); font-size:29px; }
.join-heading .section-title { font-family:"Bree Serif", var(--hh-display); font-size:86px; line-height:.92; letter-spacing:-.04em; }
.join-heading p { max-width:880px; margin:14px auto 0; font-size:21px; line-height:1.45; }
.join-botanical { position:absolute; z-index:1; bottom:0; width:160px; pointer-events:none; opacity:.18; mix-blend-mode:multiply; -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,.95) 0 72%, rgba(0,0,0,0) 100%), linear-gradient(to right, rgba(0,0,0,1) 0 82%, rgba(0,0,0,0) 100%); mask-image: linear-gradient(to top, rgba(0,0,0,.95) 0 72%, rgba(0,0,0,0) 100%), linear-gradient(to right, rgba(0,0,0,1) 0 82%, rgba(0,0,0,0) 100%); }
.join-botanical-left { left:0; }
.join-botanical-right { right:0; transform:scaleX(-1); -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,.95) 0 72%, rgba(0,0,0,0) 100%), linear-gradient(to left, rgba(0,0,0,1) 0 82%, rgba(0,0,0,0) 100%); mask-image: linear-gradient(to top, rgba(0,0,0,.95) 0 72%, rgba(0,0,0,0) 100%), linear-gradient(to left, rgba(0,0,0,1) 0 82%, rgba(0,0,0,0) 100%); }
.join-flight { position:absolute; top:1px; width:190px; height:auto; }
.join-flight-left { left:4px; }
.join-flight-right { right:4px; }
.cards-frame { position:relative; padding:12px; border:1px solid rgba(196,125,0,.52); border-radius:26px; background:rgba(255,248,231,.24); box-shadow:inset 0 0 0 3px rgba(255,245,219,.32); }
.choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.choice-card { min-height:398px; padding:34px 30px 28px 38px; display:grid; grid-template-columns:minmax(270px,1.04fr) minmax(250px,.96fr); gap:24px; align-items:stretch; border:1px solid rgba(196,125,0,.34); border-radius:20px; background:rgba(255,251,239,.82); overflow:hidden; box-shadow:0 8px 20px rgba(79,47,12,.05); }
.choice-card--own { background:linear-gradient(180deg, rgba(77,90,11,.04) 0%, rgba(255,251,239,.84) 30%); }
.choice-card--sponsor { background:linear-gradient(180deg, rgba(214,121,9,.04) 0%, rgba(255,251,239,.84) 30%); grid-template-columns:minmax(270px,1.04fr) minmax(250px,.96fr); }
.choice-card--sponsor .choice-copy { order:1; }
.choice-card--sponsor .choice-image { order:2; }
.choice-copy { align-self:stretch; display:flex; flex-direction:column; justify-content:flex-start; }
.join-heading .section-title--approved-image {
  width:min(760px,72vw);
  margin:0 auto;
  line-height:0;
}
.join-heading .section-title--approved-image img {
  display:block;
  width:100%;
  height:auto;
}
.choice-heading-image {
  margin:0 0 18px;
  line-height:0;
}
.choice-heading-image img {
  display:block;
  width:100%;
  height:auto;
}
.choice-heading-image--own { width:min(338px,100%); }
.choice-heading-image--sponsor { width:min(354px,100%); }

.choice-kicker { display:block; font-family:"Bree Serif", var(--hh-display); font-weight:900; letter-spacing:-.035em; text-transform:none; font-size:78px; line-height:.8; margin-bottom:-6px; }
.choice-card--own .choice-kicker { color:var(--hh-olive); }
.choice-card--sponsor .choice-kicker { color:var(--hh-orange); }
.choice-title { margin:0 0 18px; font-family:"Bree Serif", var(--hh-display); font-size:72px; line-height:.84; letter-spacing:-.04em; color:var(--hh-brown); }
.choice-title span { color:var(--hh-orange); font-size:.34em; vertical-align:.1em; }
.choice-copy p { margin:0 0 22px; font-size:18px; line-height:1.52; max-width:350px; }
.text-link { margin-top:auto; display:inline-flex; align-items:center; gap:14px; font-weight:900; font-size:17px; text-transform:uppercase; text-decoration:none; color:var(--hh-olive-dark); }
.text-link::after { content:"→"; font-size:27px; transition:transform .18s ease; }
.text-link:hover::after { transform:translateX(5px); }
.choice-image { height:342px; align-self:center; border:4px solid #fff3d3; outline:2px solid var(--hh-gold); outline-offset:-9px; overflow:hidden; background:#dcae51; box-shadow:0 9px 23px rgba(71,45,13,.14); border-radius:49% 49% 8px 8px / 42% 42% 8px 8px; }
.choice-image img { width:100%; height:100%; object-fit:cover; }

.location-section { position:relative; min-height:610px; padding:8px 0 0; overflow:hidden; border-top:1px solid var(--hh-line); }
.location-inner { position:relative; z-index:2; width:100%; min-height:588px; display:grid; grid-template-columns:34.5% 65.5%; align-items:center; }
.location-copy { position:relative; z-index:3; align-self:center; padding:16px 0 40px 56px; text-align:center; }
.location-copy .section-title { color:var(--hh-olive); font-size:68px; line-height:.9; letter-spacing:-.03em; max-width:470px; margin:0 auto; }
.location-copy .section-title span { display:block; white-space:normal; }
.location-copy .section-title span:last-child { white-space:normal; }
.location-flower { position:static; display:block; margin:10px auto 10px; color:var(--hh-orange); font-size:52px; line-height:1; }
.location-copy p { max-width:402px; margin:28px auto 28px; font-size:19px; line-height:1.52; }
.location-copy .button { margin:0 auto; }
.location-botanical { display:none; }
.map-image { align-self:center; margin:0; width:100%; overflow:hidden; background:transparent; }
.map-image img { width:100%; height:auto; object-fit:contain; display:block; }
.location-green-wave { position:absolute; z-index:4; left:-2%; right:-2%; bottom:-20px; height:62px; background:var(--hh-olive-dark); border-radius:50% 50% 0 0 / 100% 100% 0 0; transform:rotate(.7deg); }

.site-footer { background:var(--hh-cream); border-top:1px solid rgba(114,68,13,.15); }
.footer-inner { max-width:var(--hh-max); margin:0 auto; padding:27px 30px; text-align:center; color:rgba(58,29,12,.75); }
.footer-inner a { text-decoration:none; }
.footer-inner a:hover { text-decoration:underline; }

.content-area { max-width:1120px; margin:0 auto; padding:60px 30px 90px; }
.entry-header { margin-bottom:28px; }
.entry-title { font-size:clamp(58px,7vw,102px); }
.entry-content { font-size:18px; }
.entry-content > * { max-width:850px; margin-left:auto; margin-right:auto; }
.entry-content > .alignwide { max-width:1180px; }
.entry-content > .alignfull { max-width:none; width:100vw; margin-left:calc(50% - 50vw); }
.entry-content h2,.entry-content h3 { font-family:var(--hh-display); line-height:1; }
.entry-content h2 { font-size:clamp(42px,5vw,70px); }
.entry-content h3 { font-size:clamp(30px,3vw,46px); }
.entry-content img { border-radius:22px; }
blockquote { border-left:5px solid var(--hh-orange); margin:28px 0; padding:10px 0 10px 24px; font-size:1.2em; }
input[type="text"],input[type="email"],input[type="tel"],input[type="url"],textarea,select { width:100%; border:2px solid rgba(58,29,12,.24); border-radius:14px; padding:13px 15px; background:rgba(255,255,255,.55); color:var(--hh-brown); }
textarea { min-height:160px; }

@media (max-width: 1180px) {
  .header-inner { width:min(calc(100% - 40px),var(--hh-max)); grid-template-columns:190px 1fr 100px; }
  .custom-logo,.fallback-logo img { width:96px !important; }
  .primary-navigation ul { gap:24px; }
  .hero-inner { width:min(100%, 1500px); grid-template-columns:46% 54%; padding-bottom:126px; }
  .hero-inner::before { width:56%; height:566px; left:12px; }
  .hero-copy { padding:78px 18px 30px 58px; }
  .hero-kicker { font-size:15px; gap:10px; }
  .hero-kicker::before,.hero-kicker::after { width:36px; }
  .hero-copy h1 { font-size:78px; }
  .hero-body { font-size:20px; }
  .hero-highlight { font-size:22px; }
  .hero-media { padding-right:12px; }
  .hero-photo-frame { height:575px; }
  .hero-badge { right:18px; width:122px; height:122px; }
  .hero-badge-top,.hero-badge-bottom { font-size:12px; }
  .hero-bloom-left { width:162px; left:12px; }
  .hero-bloom-photo-top { width:150px; left:45%; }
  .hero-bloom-bottom-mid { width:168px; left:43.2%; }
  .hero-bloom-right { width:166px; }
  .hero-ribbon span { font-size:16px; }
  .choice-card,.choice-card--sponsor { grid-template-columns:1fr; padding:26px; }
  .choice-card--sponsor .choice-copy { order:2; }
  .choice-card--sponsor .choice-image { order:1; }
  .choice-kicker { font-size:58px; }
  .choice-title { font-size:60px; }
  .choice-image { order:-1; height:260px; }
  .location-copy { padding-left:52px; text-align:center; }
  .location-copy .section-title { font-size:60px; }
  .location-copy p,.location-copy .button { margin-left:auto; margin-right:auto; }
  .location-flower { position:static; display:block; margin:8px auto 8px; font-size:44px; }
}

@media (max-width: 900px) {
  html { scroll-padding-top:92px; }
  .site-header,.header-inner { height:92px; }
  .header-inner { grid-template-columns:auto 1fr auto; }
  .custom-logo,.fallback-logo img { width:78px !important; max-height:82px; }
  .header-my-hive { min-height:40px; padding:12px 0 9px; font-size:12px; }
  .menu-toggle { display:flex; }
  .primary-navigation { position:absolute; left:0; right:0; top:100%; background:var(--hh-cream); border-top:1px solid rgba(58,29,12,.14); border-bottom:2px solid var(--hh-gold); max-height:0; overflow:hidden; transition:max-height .25s ease; }
  .primary-navigation.is-open { max-height:520px; }
  .primary-navigation ul { display:block; padding:16px 26px 24px; }
  .primary-navigation a { padding:12px 0; }
  .hero { min-height:auto; }
  .hero-inner { min-height:auto; grid-template-columns:1fr; padding-bottom:118px; }
  .hero-inner::before { width:calc(100% - 24px); height:430px; left:12px; top:16px; border-radius:24% 12% 18% 12% / 12% 10% 12% 10%; }
  .hero-copy { min-height:auto; padding:64px 28px 28px; }
  .hero-kicker { font-size:14px; gap:10px; }
  .hero-kicker::before,.hero-kicker::after { width:28px; }
  .hero-copy h1 { font-size:76px; }
  .hero-body { font-size:20px; max-width:620px; }
  .hero-highlight { font-size:22px; max-width:620px; }
  .hero-media { padding:6px 20px 0; }
  .hero-photo-frame { height:480px; }
  .hero-badge { right:18px; top:-8px; width:112px; height:112px; }
  .hero-badge-top,.hero-badge-bottom { font-size:11px; }
  .hero-badge-bee { width:36px; height:36px; }
  .hero-bloom-left { width:128px; left:10px; bottom:120px; opacity:.72; }
  .hero-bloom-photo-top { width:136px; left:54%; top:0; }
  .hero-bloom-bottom-mid { width:156px; left:41%; bottom:108px; }
  .hero-bloom-right { width:138px; bottom:92px; }
  .hero-star-3 { left:68%; top:92px; }
  .hero-star-4 { left:46%; top:300px; }
  .hero-ribbon { bottom:56px; }
  .hero-ribbon span { font-size:15px; }
  .waves { height:104px; }
  .join-botanical { width:125px; opacity:.65; }
  .choice-grid { grid-template-columns:1fr; }
  .choice-card,.choice-card--sponsor { grid-template-columns:1fr 1fr; }
  .choice-card--sponsor .choice-copy { order:1; }
  .choice-card--sponsor .choice-image { order:2; }
  .choice-card--sponsor .choice-image { order:0; }
  .location-inner { grid-template-columns:1fr; }
  .location-copy { padding:20px 28px 36px; text-align:center; }
  .location-copy .section-title { font-size:60px; max-width:none; }
  .location-copy .section-title span { white-space:normal; }
  .location-copy .section-title span:last-child { white-space:normal; }
  .location-copy p { max-width:650px; margin:20px auto 26px; }
  .location-copy .button { margin:0 auto; }
  .location-flower { display:none; }
  .location-botanical { opacity:.55; }
}

@media (max-width: 620px) {
  body { font-size:16px; }
  .header-inner { width:calc(100% - 28px); }
  .hero-copy { min-height:auto; padding:48px 18px 26px; }
  .hero-kicker { font-size:12px; gap:8px; letter-spacing:.13em; }
  .hero-kicker::before,.hero-kicker::after { width:20px; }
  .hero-copy h1 { font-size:clamp(58px,17vw,72px); }
  .hero-body { font-size:18px; }
  .hero-highlight { font-size:19px; }
  .hero-divider { margin:20px 0 18px; width:320px; }
  .hero-actions { display:grid; gap:12px; }
  .button { width:100%; min-height:53px; padding:11px 18px; font-size:14px; }
  .hero-media { padding:4px 14px 0; }
  .hero-photo-frame { height:360px; }
  .hero-badge { right:10px; top:-10px; width:90px; height:90px; padding:10px; }
  .hero-badge-top,.hero-badge-bottom { font-size:9px; }
  .hero-badge-bee { width:28px; height:28px; }
  .hero-bloom-left { width:112px; left:8px; bottom:114px; opacity:.68; }
  .hero-bloom-photo-top { width:118px; left:56%; }
  .hero-bloom-bottom-mid { width:124px; left:39%; bottom:100px; }
  .hero-bloom-right { width:110px; right:-12px; bottom:92px; }
  .hero-star-1 { left:24px; top:98px; }
  .hero-star-2 { left:40px; top:162px; }
  .hero-star-3 { left:74%; top:88px; }
  .hero-star-4 { left:40%; top:274px; }
  .hero-ribbon { width:100%; left:0; transform:none; display:flex; justify-content:center; bottom:50px; }
  .hero-ribbon span { width:auto; max-width:calc(100% - 28px); text-align:center; font-size:12px; padding:13px 18px 14px; }
  .join-section { padding-left:15px; padding-right:15px; }
  .join-heading .eyebrow-bees { gap:10px; }
  .section-title { font-size:51px; }
  .choice-kicker { font-size:52px; }
  .join-heading p { font-size:17px; }
  .join-flight { display:none; }
  .join-botanical { display:none; }
  .choice-card,.choice-card--sponsor { grid-template-columns:1fr; padding:22px; }
  .choice-image,.choice-card--sponsor .choice-image { order:-1; height:260px; }
  .choice-title { font-size:56px; }
  .location-copy .section-title { font-size:56px; max-width:none; }
  .location-botanical { width:125px; }
  .content-area { padding:42px 20px 70px; }
}

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


/* ================================================================
   Approved hero — exact visual composition with live HTML text.
   This section intentionally replaces the earlier constructed hero.
   ================================================================ */
.approved-hero {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #f6e8c7;
  border-top: 1px solid rgba(197, 128, 6, .24);
}
.approved-hero-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 1502 / 789;
  overflow: hidden;
  container-type: inline-size;
  background: #f7ecd4;
}
.approved-hero-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: fill;
  user-select: none;
  pointer-events: none;
}
.approved-hero-left-flowers {
  position: absolute;
  z-index: 1;
  inset: 0 auto 0 0;
  width: 11.98%;
  height: 100%;
  max-width: none;
  object-fit: fill;
  user-select: none;
  pointer-events: none;
}
.approved-hero-copy {
  position: absolute;
  z-index: 2;
  left: 8.7%;
  top: 9.6%;
  width: 33.9%;
  text-align: center;
  color: #3a1d0c;
}
.approved-hero-kicker {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .85cqw;
  margin: 0 0 1.12cqw;
  color: #536315;
  font-family: var(--hh-sans);
  font-size: .93cqw;
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: .15em;
  text-transform: uppercase;
  white-space: nowrap;
}
.approved-hero-kicker::before,
.approved-hero-kicker::after {
  content: "";
  display: block;
  width: 2.12cqw;
  height: .12cqw;
  min-height: 1px;
  border-radius: 999px;
  background: #68742b;
}
.approved-hero-title {
  margin: 0;
  color: #321707;
  font-family: "Bree Serif", "Cooper Black", "Bookman Old Style", Georgia, serif;
  font-size: 6.55cqw;
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.approved-hero-title span { display: block; white-space: nowrap; }
.approved-hero-title--image {
  width: 100%;
  line-height: 0;
}
.approved-hero-title--image img {
  display: block;
  width: 100%;
  height: auto;
}
.approved-hero-body {
  width: 92%;
  margin: 1.95cqw auto 0;
  font-family: var(--hh-sans);
  font-size: 1.23cqw;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: -.015em;
}
.approved-hero-highlight {
  margin: .68cqw auto 0;
  color: #d17d0b;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.26cqw;
  font-weight: 700;
  line-height: 1.22;
  text-align: center;
}
.approved-hero-highlight span {
  display: block;
  white-space: nowrap;
}
.approved-hero-divider {
  display: flex;
  align-items: center;
  gap: 1.05cqw;
  width: 86%;
  margin: 1.16cqw auto 1.32cqw;
  color: #d18a09;
}
.approved-hero-divider::before,
.approved-hero-divider::after {
  content: "";
  flex: 1;
  height: .11cqw;
  min-height: 1px;
  background: #d18a09;
}
.approved-hero-divider span {
  display: block;
  font-size: 1.55cqw;
  line-height: 1;
}
.approved-hero-actions {
  display: grid;
  grid-template-columns: 1fr 1.06fr;
  gap: 1.8cqw;
  width: 98%;
  margin: 0 auto;
}
.approved-hero-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .72cqw;
  min-height: 3.95cqw;
  padding: .7cqw 1.15cqw;
  border: .12cqw solid #d18a09;
  border-radius: 999px;
  box-shadow: 0 .24cqw .08cqw rgba(58, 29, 12, .13);
  font-family: var(--hh-sans);
  font-size: 1.08cqw;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .055em;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform .18s ease, box-shadow .18s ease;
}
.approved-hero-button:hover,
.approved-hero-button:focus-visible {
  transform: translateY(-.12cqw);
  box-shadow: 0 .38cqw .12cqw rgba(58, 29, 12, .14);
}
.approved-hero-button span {
  color: #d9920b;
  font-size: 1.15cqw;
}
.approved-hero-button--primary {
  border-color: #56680d;
  background: #56680d;
  color: #fff8e8;
}
.approved-hero-button--secondary {
  background: rgba(255, 250, 239, .72);
  color: #3a1d0c;
}

@media (max-width: 900px) {
  .approved-hero-stage {
    aspect-ratio: 1502 / 789;
    min-width: 760px;
    left: 50%;
    transform: translateX(-50%);
  }
  .approved-hero { overflow-x: clip; }
}

@media (max-width: 620px) {
  .approved-hero-stage {
    min-width: 690px;
  }
}

/* Approved v2.0.4: the clean hero background already contains the full floral border. */
.approved-hero-left-flowers { display:none !important; }

@media (max-width: 1180px) {
  .join-heading .section-title--approved-image { width:min(660px,72vw); }
  .choice-heading-image--own { width:min(290px,100%); }
  .choice-heading-image--sponsor { width:min(305px,100%); }
}
@media (max-width: 620px) {
  .join-heading .section-title--approved-image { width:min(520px,92vw); }
  .choice-heading-image--own,
  .choice-heading-image--sponsor { width:min(310px,100%); }
}

/* ================================================================
   Approved Own a Hive page — version 2.0.13
   ================================================================ */
.own-hive-page { background:var(--hh-cream); }
.own-hero {
  position:relative;
  width:100%;
  overflow:hidden;
  background:#f6e8c7;
  border-top:1px solid rgba(197,128,6,.24);
}
.own-hero-stage {
  position:relative;
  width:100%;
  aspect-ratio:1730 / 909;
  overflow:hidden;
  container-type:inline-size;
  background:#f7ecd4;
}
.own-hero-art {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:fill;
  user-select:none;
  pointer-events:none;
}
.own-hero-copy {
  position:absolute;
  z-index:2;
  left:7.4%;
  top:8.7%;
  width:35.8%;
  text-align:center;
  color:#3a1d0c;
}
.own-hero-kicker {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.88cqw;
  margin:0 0 1.5cqw;
  color:#536315;
  font-family:var(--hh-sans);
  font-size:1.02cqw;
  font-weight:900;
  line-height:1.25;
  letter-spacing:.17em;
  text-transform:uppercase;
  white-space:nowrap;
}
.own-hero-kicker::before,
.own-hero-kicker::after {
  content:"";
  display:block;
  width:2.2cqw;
  height:.12cqw;
  min-height:1px;
  border-radius:999px;
  background:#68742b;
}
.own-hero-title { width:100%; margin:0; line-height:0; }
.own-hero-title img { display:block; width:100%; height:auto; }
.own-hero-body {
  width:91%;
  margin:2.15cqw auto 0;
  font-family:var(--hh-sans);
  font-size:1.25cqw;
  font-weight:500;
  line-height:1.55;
  letter-spacing:-.015em;
}
.own-hero-highlight {
  margin:1.55cqw auto 0;
  color:#d17d0b;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.27cqw;
  font-weight:700;
  line-height:1.22;
  text-align:center;
}
.own-hero-highlight span { display:block; white-space:nowrap; }
.own-hero-button,
.own-receive-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.72cqw;
  margin-top:2.2cqw;
  min-width:15.1cqw;
  min-height:3.7cqw;
  padding:.7cqw 1.5cqw;
  border:2px solid #56680d;
  border-radius:999px;
  background:#56680d;
  color:#fff8e8;
  box-shadow:0 .24cqw .08cqw rgba(58,29,12,.13);
  font-family:var(--hh-sans);
  font-size:1.08cqw;
  font-weight:900;
  line-height:1;
  letter-spacing:.055em;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform .18s ease,box-shadow .18s ease;
}
.own-hero-button:hover,
.own-hero-button:focus-visible,
.own-receive-button:hover,
.own-receive-button:focus-visible {
  transform:translateY(-2px);
  box-shadow:0 7px 3px rgba(58,29,12,.13);
}
.own-hero-button span,
.own-receive-button span { color:#d9920b; }

.own-more {
  position:relative;
  overflow:hidden;
  padding:34px 34px 110px;
  border-top:1px solid rgba(176,111,0,.2);
  background:#f7ecd3;
}
.own-more-inner { position:relative; z-index:3; max-width:1430px; margin:0 auto; }
.own-more-heading { text-align:center; }
.own-more-heading h2 { width:min(540px,48vw); margin:0 auto; line-height:0; }
.own-more-heading h2 img { width:100%; height:auto; }
.own-more-heading p {
  max-width:720px;
  margin:12px auto 0;
  font-size:20px;
  line-height:1.45;
}
.own-more-botanical {
  position:absolute;
  z-index:1;
  bottom:32px;
  width:185px;
  max-height:690px;
  object-fit:contain;
  pointer-events:none;
  opacity:.76;
  mix-blend-mode:multiply;
}
.own-more-botanical--left { left:0; }
.own-more-botanical--right { right:0; transform:scaleX(-1); }
.own-benefits {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  max-width:1050px;
  margin:28px auto 26px;
}
.own-benefit {
  position:relative;
  min-height:205px;
  padding:0 24px;
  text-align:center;
}
.own-benefit + .own-benefit { border-left:1px solid rgba(176,111,0,.23); }
.own-benefit-icon {
  display:grid;
  place-items:center;
  width:90px;
  height:90px;
  margin:0 auto 12px;
  border:0;
  border-radius:50%;
  background:transparent;
  overflow:hidden;
}
.own-benefit-icon img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}
.own-benefit h3,
.own-receive-list h3,
.own-receive-cta h3 {
  margin:0;
  color:var(--hh-olive);
  font-family:var(--hh-display);
  font-size:30px;
  line-height:.98;
  letter-spacing:-.035em;
}
.own-benefit p {
  max-width:210px;
  margin:9px auto 0;
  font-size:16px;
  line-height:1.45;
}
.own-receive-panel {
  display:grid;
  grid-template-columns:1.05fr 1.15fr .9fr;
  align-items:stretch;
  max-width:1135px;
  margin:0 auto;
  border:1px solid rgba(196,125,0,.28);
  border-radius:22px;
  background:rgba(255,251,239,.72);
  box-shadow:0 8px 22px rgba(79,47,12,.06);
  overflow:hidden;
}
.own-receive-photo { margin:0; padding:12px; }
.own-receive-photo img {
  width:100%;
  height:100%;
  min-height:270px;
  object-fit:cover;
  border-radius:16px;
}
.own-receive-list,
.own-receive-cta {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:30px 34px;
}
.own-receive-list { border-right:1px solid rgba(176,111,0,.24); }
.own-receive-list h3 { font-size:40px; }
.own-receive-list h3 span,
.own-receive-flower { color:var(--hh-orange); }
.own-receive-list ul { list-style:none; margin:17px 0 0; padding:0; }
.own-receive-list li {
  position:relative;
  margin:8px 0;
  padding-left:24px;
  font-size:16px;
  line-height:1.35;
}
.own-receive-list li::before {
  content:"✿";
  position:absolute;
  left:0;
  top:-1px;
  color:var(--hh-orange);
  font-size:16px;
}
.own-receive-cta { align-items:center; text-align:center; }
.own-receive-flower { margin-bottom:6px; font-size:30px; }
.own-receive-cta h3 { color:var(--hh-olive); font-size:37px; }
.own-receive-cta p { max-width:255px; margin:13px auto 0; font-size:16px; line-height:1.42; }
.own-receive-button {
  min-width:0;
  min-height:52px;
  margin-top:18px;
  padding:13px 24px;
  font-size:15px;
}
.own-more-waves {
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:0;
  height:70px;
  overflow:hidden;
}
.own-more-waves span { position:absolute; left:-4%; width:108%; border-radius:50% 50% 0 0/100% 100% 0 0; }
.own-more-waves span:nth-child(1) { bottom:0; height:48px; background:#e2a010; transform:rotate(-1.2deg); }
.own-more-waves span:nth-child(2) { bottom:-10px; height:54px; background:#9f8b3a; transform:rotate(1.1deg); }
.own-more-waves span:nth-child(3) { bottom:-22px; height:58px; background:#46570c; transform:rotate(-.5deg); }

@media (max-width:1180px) {
  .own-hero-copy { left:6.8%; top:8.2%; width:37%; }
  .own-more-botanical { width:145px; opacity:.55; }
  .own-benefits { max-width:940px; }
  .own-benefit { padding:0 16px; }
  .own-receive-panel { max-width:980px; }
  .own-receive-list,.own-receive-cta { padding:26px 25px; }
}
@media (max-width:900px) {
  .own-hero-stage { min-width:760px; left:50%; transform:translateX(-50%); }
  .own-hero-copy { left:8%; width:37%; }
  .own-more { padding:34px 24px 100px; }
  .own-more-heading h2 { width:min(520px,72vw); }
  .own-benefits { grid-template-columns:1fr 1fr; gap:26px 0; }
  .own-benefit:nth-child(3) { border-left:0; }
  .own-receive-panel { grid-template-columns:1fr 1fr; }
  .own-receive-photo { grid-row:1/3; }
  .own-receive-list { border-right:0; border-bottom:1px solid rgba(176,111,0,.24); }
  .own-receive-cta { grid-column:2; }
  .own-more-botanical { width:115px; opacity:.35; }
}
@media (max-width:620px) {
  .own-hero-stage { min-width:690px; }
  .own-more { padding:28px 16px 88px; }
  .own-more-heading h2 { width:min(455px,88vw); }
  .own-more-heading p { font-size:17px; }
  .own-benefits { grid-template-columns:1fr; max-width:420px; }
  .own-benefit { min-height:auto; padding:14px 10px 24px; }
  .own-benefit + .own-benefit { border-left:0; border-top:1px solid rgba(176,111,0,.2); padding-top:28px; }
  .own-receive-panel { grid-template-columns:1fr; }
  .own-receive-photo { grid-row:auto; }
  .own-receive-list { border-right:0; border-bottom:1px solid rgba(176,111,0,.24); }
  .own-receive-cta { grid-column:auto; }
  .own-more-botanical { display:none; }
}

/* ================================================================
   Sponsor a Hive page — approved design.
   ================================================================ */
.sponsor-hive-page { background:var(--hh-cream); }
.sponsor-top-wave { width:100%; line-height:0; overflow:hidden; background:var(--hh-cream); }
.sponsor-top-wave img { width:100%; height:auto; min-height:72px; object-fit:cover; }
.sponsor-hero { position:relative; width:100%; overflow:hidden; border-bottom:1px solid rgba(176,111,0,.2); background:#f6e8c7; }
.sponsor-hero-stage { position:relative; width:100%; aspect-ratio:1730 / 710; overflow:hidden; container-type:inline-size; background:#f7ecd4; }
.sponsor-hero-art { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:fill; user-select:none; pointer-events:none; }
.sponsor-hero-copy { position:absolute; z-index:2; left:7.4%; top:8.7%; width:35.8%; text-align:center; color:var(--hh-brown); }
.sponsor-hero-kicker { display:flex; justify-content:center; align-items:center; gap:.8cqw; margin:0 0 .8cqw; color:var(--hh-olive); font-size:.96cqw; font-weight:900; letter-spacing:.14em; line-height:1.2; text-transform:uppercase; white-space:nowrap; }
.sponsor-hero-kicker::before,.sponsor-hero-kicker::after { content:""; width:2.2cqw; height:.11cqw; min-height:1px; border-radius:999px; background:#68742b; }
.sponsor-hero-title { width:100%; margin:0; padding:0; line-height:0; overflow:visible; }
.sponsor-hero-title img { display:block; width:100%; height:auto; overflow:visible; }
.sponsor-hero-body { width:91%; margin:2.15cqw auto 1.55cqw; font-size:1.25cqw; font-weight:500; line-height:1.55; letter-spacing:-.015em; }
@media (max-width: 1100px) {
  .sponsor-hero-title { font-size:5.95cqw; }
  }

.sponsor-button { display:inline-flex; align-items:center; justify-content:center; gap:.65cqw; min-height:3.55cqw; padding:.7cqw 2.1cqw; border:1px solid #56680d; border-radius:999px; background:#56680d; color:#fff8e8; box-shadow:0 .22cqw .08cqw rgba(58,29,12,.14); font-family:var(--hh-sans); font-size:1.02cqw; font-weight:900; line-height:1; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; transition:transform .18s ease,box-shadow .18s ease; }
.sponsor-button span { color:#f0a111; }
.sponsor-button:hover,.sponsor-button:focus-visible { transform:translateY(-2px); box-shadow:0 7px 4px rgba(58,29,12,.13); }
.sponsor-how { position:relative; padding:25px 26px 92px; overflow:hidden; border-bottom:1px solid rgba(176,111,0,.15); }
.sponsor-how-inner { position:relative; z-index:3; max-width:1380px; margin:0 auto; }
.sponsor-how-heading { text-align:center; }
.sponsor-how-heading h2 { width:min(510px,52vw); margin:0 auto; line-height:0; }
.sponsor-how-heading h2 img { width:100%; height:auto; }
.sponsor-botanical { position:absolute; z-index:1; bottom:0; width:170px; opacity:.7; pointer-events:none; mix-blend-mode:multiply; }
.sponsor-botanical--left { left:0; }
.sponsor-botanical--right { right:0; transform:scaleX(-1); }
.sponsor-steps { display:grid; grid-template-columns:repeat(5,1fr); max-width:1100px; margin:16px auto 24px; }
.sponsor-step { min-width:0; padding:0 18px 14px; text-align:center; }
.sponsor-step + .sponsor-step { border-left:1px solid rgba(176,111,0,.22); }
.sponsor-step-icon { width:108px; height:112px; margin:0 auto 8px; }
.sponsor-step-icon img { width:100%; height:100%; object-fit:contain; }
.sponsor-step-title { display:flex; align-items:flex-start; justify-content:center; min-height:64px; margin:0 auto 8px; line-height:0; }
.sponsor-step-title img { display:block; width:auto; max-width:100%; max-height:64px; height:auto; }
.sponsor-step p { max-width:185px; margin:0 auto; font-size:15px; line-height:1.45; }
.sponsor-support-panel { display:grid; grid-template-columns:31% 42% 27%; max-width:1000px; min-height:230px; margin:18px auto 0; overflow:hidden; border:1px solid rgba(196,125,0,.28); border-radius:18px; background:rgba(255,251,239,.76); box-shadow:0 7px 18px rgba(79,47,12,.05); }
.sponsor-support-photo { margin:0; padding:10px; }
.sponsor-support-photo img { width:100%; height:100%; min-height:208px; object-fit:cover; border-radius:12px; }
.sponsor-support-list,.sponsor-support-cta { display:flex; flex-direction:column; justify-content:center; padding:24px 28px; }
.sponsor-support-list { border-right:1px solid rgba(176,111,0,.23); }
.sponsor-support-list h3,.sponsor-support-cta h3 { margin:0; color:var(--hh-olive); font-family:var(--hh-display); font-weight:900; letter-spacing:-.035em; line-height:.98; }
.sponsor-support-list h3 { font-size:30px; }
.sponsor-support-list h3 span,.sponsor-support-flower { color:var(--hh-orange); }
.sponsor-support-list ul { list-style:none; margin:13px 0 0; padding:0; }
.sponsor-support-list li { position:relative; margin:6px 0; padding-left:21px; font-size:14px; line-height:1.35; }
.sponsor-support-list li::before { content:"✿"; position:absolute; left:0; top:-1px; color:var(--hh-orange); font-size:14px; }
.sponsor-support-cta { align-items:center; text-align:center; }
.sponsor-support-flower { margin-bottom:4px; font-size:25px; }
.sponsor-support-cta h3 { font-size:31px; }
.sponsor-support-cta p { max-width:235px; margin:11px auto 14px; font-size:14px; line-height:1.4; }
.sponsor-support-cta .sponsor-button { min-height:43px; padding:10px 22px; font-size:13px; gap:8px; }
.sponsor-bottom-waves { position:absolute; z-index:2; left:0; right:0; bottom:0; height:58px; overflow:hidden; pointer-events:none; }
.sponsor-bottom-waves span { position:absolute; left:-4%; width:108%; border-radius:50% 50% 0 0/100% 100% 0 0; }
.sponsor-bottom-waves span:nth-child(1) { bottom:0; height:42px; background:#e2a010; transform:rotate(-1.1deg); }
.sponsor-bottom-waves span:nth-child(2) { bottom:-9px; height:49px; background:#9f8b3a; transform:rotate(1deg); }
.sponsor-bottom-waves span:nth-child(3) { bottom:-22px; height:54px; background:#46570c; transform:rotate(-.5deg); }

@media (max-width:1180px) {
  .sponsor-hero-copy { left:6.8%; top:8.2%; width:37%; }
  .sponsor-botanical { width:140px; opacity:.52; }
  .sponsor-steps { max-width:980px; }
  .sponsor-step { padding-left:12px; padding-right:12px; }
  .sponsor-support-panel { max-width:950px; }
}
@media (max-width:900px) {
  .sponsor-top-wave img { min-width:760px; position:relative; left:50%; transform:translateX(-50%); }
  .sponsor-hero-stage { min-width:760px; left:50%; transform:translateX(-50%); }
  .sponsor-hero-copy { left:8%; top:8%; width:37%; }
  .sponsor-how { padding:30px 20px 90px; }
  .sponsor-how-heading h2 { width:min(500px,75vw); }
  .sponsor-steps { grid-template-columns:repeat(2,1fr); max-width:650px; gap:24px 0; }
  .sponsor-step:nth-child(3),.sponsor-step:nth-child(5) { border-left:0; }
  .sponsor-step:last-child { grid-column:1/-1; max-width:320px; margin:auto; }
  .sponsor-support-panel { grid-template-columns:1fr 1fr; max-width:760px; }
  .sponsor-support-photo { grid-row:1/3; }
  .sponsor-support-list { border-right:0; border-bottom:1px solid rgba(176,111,0,.23); }
  .sponsor-support-cta { grid-column:2; }
  .sponsor-botanical { width:110px; opacity:.3; }
}
@media (max-width:620px) {
  .sponsor-top-wave img { min-width:690px; }
  .sponsor-hero-stage { min-width:690px; }
  .sponsor-how { padding:26px 14px 84px; }
  .sponsor-how-heading h2 { width:min(455px,90vw); }
  .sponsor-steps { grid-template-columns:1fr; max-width:410px; }
  .sponsor-step,.sponsor-step:nth-child(3),.sponsor-step:nth-child(5) { border-left:0; border-top:1px solid rgba(176,111,0,.18); padding:24px 10px 6px; }
  .sponsor-step:first-child { border-top:0; padding-top:4px; }
  .sponsor-step:last-child { grid-column:auto; }
  .sponsor-support-panel { grid-template-columns:1fr; }
  .sponsor-support-photo { grid-row:auto; }
  .sponsor-support-list { border-right:0; border-bottom:1px solid rgba(176,111,0,.23); }
  .sponsor-support-cta { grid-column:auto; }
  .sponsor-botanical { display:none; }
}

/* ================================================================
   FAQ page — approved design.
   ================================================================ */

/* ================================================================
   FAQ PAGE — single clean implementation
   ================================================================ */
.faq-page {
  display:block;
  width:100%;
  margin:0;
  overflow:visible;
  background:var(--hh-cream);
}

.faq-page .faq-top-wave {
  display:none;
  width:100%;
  height:0;
  margin:0;
  overflow:hidden;
  line-height:0;
  background:var(--hh-cream);
}
.faq-page .faq-top-wave img {
  display:block;
  width:100%;
  height:88px;
  min-width:0;
  max-width:none;
  object-fit:cover;
  object-position:center;
}

.faq-page .faq-hero {
  display:block;
  width:100%;
  margin:0;
  overflow:hidden;
  border-bottom:1px solid rgba(176,111,0,.20);
  background:#f6e8c7;
}
.faq-page .faq-hero-stage {
  position:relative;
  display:grid;
  grid-template-columns:46% 54%;
  align-items:center;
  width:100%;
  min-width:0;
  min-height:410px;
  margin:0;
  overflow:hidden;
  background:#f7ecd4;
}
.faq-page .faq-hero-art {
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center center;
  user-select:none;
  pointer-events:none;
}
.faq-page .faq-hero-copy {
  position:relative;
  z-index:2;
  grid-column:1;
  justify-self:center;
  width:min(76%, 520px);
  margin:0;
  padding:30px 0 34px;
  color:var(--hh-brown);
  text-align:center;
  transform:none;
}
.faq-page .faq-hero-title {
  display:block;
  width:100%;
  margin:0;
  line-height:0;
}
.faq-page .faq-hero-title img {
  display:block;
  width:100%;
  max-width:455px;
  height:auto;
  margin:0 auto;
  object-fit:contain;
}
.faq-page .faq-hero-copy > p {
  width:min(92%, 440px);
  margin:20px auto 0;
  font-size:17px;
  font-weight:500;
  line-height:1.5;
  letter-spacing:-.01em;
}

.faq-page .faq-content {
  position:relative;
  display:block;
  width:100%;
  margin:0;
  padding:0 28px 96px;
  overflow:hidden;
  border-bottom:1px solid rgba(176,111,0,.14);
}
.faq-page .faq-content-inner {
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(0, 2.15fr) minmax(330px, 1fr);
  align-items:stretch;
  gap:20px;
  width:100%;
  max-width:1100px;
  margin:0 auto;
}
.faq-page .faq-list,
.faq-page .faq-contact-card {
  border:1px solid rgba(196,125,0,.28);
  border-radius:18px;
  background:rgba(255,251,239,.86);
  box-shadow:0 7px 18px rgba(79,47,12,.045);
}
.faq-page .faq-list { overflow:hidden; }
.faq-page .faq-item { border-bottom:1px solid rgba(176,111,0,.20); }
.faq-page .faq-item:last-child { border-bottom:0; }
.faq-page .faq-item summary {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:50px;
  padding:12px 20px;
  cursor:pointer;
  color:var(--hh-brown);
  font-size:15px;
  font-weight:700;
  line-height:1.35;
  list-style:none;
}
.faq-page .faq-item summary::-webkit-details-marker { display:none; }
.faq-page .faq-question { display:flex; align-items:flex-start; gap:13px; }
.faq-page .faq-question > span {
  flex:0 0 auto;
  color:var(--hh-orange);
  font-size:18px;
  line-height:1.1;
}
.faq-page .faq-toggle { position:relative; flex:0 0 18px; width:18px; height:18px; }
.faq-page .faq-toggle::before,
.faq-page .faq-toggle::after {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:16px;
  height:2px;
  border-radius:999px;
  background:var(--hh-brown);
  transform:translate(-50%,-50%);
  transition:transform .18s ease, opacity .18s ease;
}
.faq-page .faq-toggle::after { transform:translate(-50%,-50%) rotate(90deg); }
.faq-page .faq-item[open] .faq-toggle::after { opacity:0; }
.faq-page .faq-item[open] summary { background:rgba(230,161,21,.055); }
.faq-page .faq-answer { padding:0 56px 17px; }
.faq-page .faq-answer p {
  margin:0;
  color:rgba(58,29,12,.82);
  font-size:15px;
  line-height:1.55;
}

.faq-page .faq-contact-card {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 138px;
  align-items:center;
  min-height:100%;
  padding:36px 22px 36px 30px;
  overflow:hidden;
  isolation:isolate;
}
.faq-page .faq-contact-content {
  position:relative;
  z-index:3;
  grid-column:1;
  text-align:center;
}
.faq-page .faq-contact-flower {
  display:block;
  margin:0 0 10px;
  color:var(--hh-orange);
  font-size:26px;
  line-height:1;
}
.faq-page .faq-contact-card h2 {
  max-width:260px;
  margin:0 auto;
  color:var(--hh-olive);
  font-family:var(--hh-display);
  font-size:40px;
  font-weight:900;
  letter-spacing:-.04em;
  line-height:.96;
}
.faq-page .faq-contact-card h2 span {
  display:block;
  white-space:nowrap;
}
.faq-page .faq-contact-card p {
  max-width:245px;
  margin:28px auto 24px;
  font-size:16px;
  line-height:1.55;
}
.faq-page .faq-contact-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:48px;
  padding:12px 31px;
  border:1px solid #56680d;
  border-radius:999px;
  background:#56680d;
  color:#fff8e8;
  box-shadow:0 4px 2px rgba(58,29,12,.14);
  font-size:14px;
  font-weight:900;
  letter-spacing:.04em;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform .18s ease, box-shadow .18s ease;
}
.faq-page .faq-contact-button span { color:#f0a111; }
.faq-page .faq-contact-button:hover,
.faq-page .faq-contact-button:focus-visible {
  transform:translateY(-2px);
  box-shadow:0 7px 4px rgba(58,29,12,.13);
}
.faq-page .faq-contact-botanical {
  position:absolute;
  z-index:1;
  right:-10px;
  bottom:-62px;
  width:165px;
  max-width:none;
  opacity:.82;
  transform:rotate(-3deg);
  pointer-events:none;
  mix-blend-mode:multiply;
}

.faq-page .faq-botanical {
  position:absolute;
  z-index:1;
  bottom:18px;
  width:145px;
  opacity:.25;
  pointer-events:none;
  mix-blend-mode:multiply;
}
.faq-page .faq-botanical--left { left:-35px; }
.faq-page .faq-botanical--right { right:-35px; transform:scaleX(-1); }
.faq-page .faq-bottom-waves {
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:0;
  height:64px;
  overflow:hidden;
  pointer-events:none;
}
.faq-page .faq-bottom-waves span {
  position:absolute;
  left:-4%;
  width:108%;
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
}
.faq-page .faq-bottom-waves span:nth-child(1) { bottom:0; height:46px; background:#e2a010; transform:rotate(-1.1deg); }
.faq-page .faq-bottom-waves span:nth-child(2) { bottom:-9px; height:53px; background:#9f8b3a; transform:rotate(1deg); }
.faq-page .faq-bottom-waves span:nth-child(3) { bottom:-22px; height:58px; background:#46570c; transform:rotate(-.5deg); }

@media (max-width:1180px) {
  .faq-page .faq-hero-stage { min-height:370px; }
  .faq-page .faq-hero-copy { width:min(76%, 470px); }
  .faq-page .faq-content-inner { max-width:1000px; }
  .faq-page .faq-contact-card { grid-template-columns:minmax(0,1fr) 105px; padding-left:24px; }
  .faq-page .faq-contact-botanical { width:145px; right:-20px; }
}

@media (max-width:900px) {
  .faq-page .faq-top-wave,
  .faq-page .faq-top-wave img { height:72px; }
  .faq-page .faq-hero-stage { grid-template-columns:48% 52%; min-height:350px; }
  .faq-page .faq-hero-art { object-position:56% center; }
  .faq-page .faq-hero-copy { width:88%; padding:26px 0; }
  .faq-page .faq-hero-copy > p { font-size:16px; }
  .faq-page .faq-content { padding:24px 20px 90px; }
  .faq-page .faq-content-inner { grid-template-columns:1fr; max-width:700px; }
  .faq-page .faq-contact-card {
    grid-template-columns:minmax(0,1fr) 165px;
    min-height:330px;
    padding:36px 26px;
  }
  .faq-page .faq-contact-botanical { width:175px; right:-8px; bottom:-55px; }
  .faq-page .faq-botanical { width:110px; opacity:.18; }
}

@media (max-width:620px) {
  .faq-page .faq-top-wave,
  .faq-page .faq-top-wave img { height:58px; }
  .faq-page .faq-hero-stage {
    display:flex;
    flex-direction:column;
    min-height:0;
  }
  .faq-page .faq-hero-copy {
    order:1;
    width:100%;
    padding:34px 24px 28px;
    background:#f7ecd4;
  }
  .faq-page .faq-hero-title img { max-width:330px; }
  .faq-page .faq-hero-copy > p { max-width:420px; margin-top:16px; font-size:15px; }
  .faq-page .faq-hero-art {
    position:relative;
    order:2;
    width:180%;
    height:265px;
    margin-left:-80%;
    object-fit:cover;
    object-position:right center;
  }
  .faq-page .faq-content { padding:18px 14px 82px; }
  .faq-page .faq-item summary { min-height:58px; padding:14px 16px; font-size:15px; }
  .faq-page .faq-answer { padding:0 44px 16px; }
  .faq-page .faq-contact-card {
    grid-template-columns:minmax(0,1fr) 110px;
    min-height:310px;
    padding:30px 18px 32px;
  }
  .faq-page .faq-contact-card h2 { font-size:36px; }
  .faq-page .faq-contact-card p { font-size:15px; }
  .faq-page .faq-contact-botanical { width:145px; right:-24px; bottom:-45px; }
  .faq-page .faq-botanical { display:none; }
}


/* FAQ-only correction: keep the header in normal document flow so it cannot
   cover the FAQ hero or question rows while the page scrolls. */
body.honey-hive-faq-page .site-header { position:sticky; top:0; }
body.admin-bar.honey-hive-faq-page .site-header { position:sticky; top:32px; }
@media (max-width:782px) { body.admin-bar.honey-hive-faq-page .site-header { top:46px; } }

/* Final approved FAQ reference — isolated to /faq/ only. */
body.honey-hive-faq-page {
  margin:0;
  background:#f7ecd4;
}
body.honey-hive-faq-page .site-header,
body.honey-hive-faq-page .site-footer { display:block; }
.faq-approved-snapshot {
  width:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#f7ecd4;
}
.faq-approved-canvas {
  position:relative;
  width:100%;
  margin:0;
  line-height:0;
}
.faq-approved-image {
  display:block;
  width:100%;
  height:auto;
  margin:0;
}
.faq-approved-hotspots {
  position:absolute;
  inset:0;
  pointer-events:none;
}
.faq-approved-hotspots .hotspot {
  position:absolute;
  display:block;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:transparent;
  font-size:0;
  line-height:0;
  text-decoration:none;
  cursor:pointer;
  pointer-events:auto;
}
.faq-approved-hotspots .hotspot:focus-visible {
  outline:3px solid #e19100;
  outline-offset:2px;
  border-radius:8px;
}
/* Navigation hit areas measured from the approved 1448 × 1055 reference. */
.faq-approved-nav .logo { left:4.4%; top:1.0%; width:7.7%; height:10.6%; }
.faq-approved-nav .home { left:29.8%; top:5.1%; width:5.4%; height:3.7%; }
.faq-approved-nav .own { left:36.2%; top:5.1%; width:7.7%; height:3.7%; }
.faq-approved-nav .sponsor { left:45.0%; top:5.1%; width:10.4%; height:3.7%; }
.faq-approved-nav .about { left:56.1%; top:5.1%; width:6.4%; height:3.7%; }
.faq-approved-nav .faq { left:63.1%; top:5.1%; width:4.5%; height:3.7%; }
.faq-approved-nav .contact { left:68.0%; top:5.1%; width:7.1%; height:3.7%; }
.faq-approved-nav .bee { left:88.1%; top:3.5%; width:4.6%; height:5.8%; border-radius:50%; }
/* FAQ row hit areas. */
.faq-approved-questions .faq-row { left:12.7%; width:49.7%; height:4.9%; }
.faq-approved-questions .faq-row-1 { top:51.2%; }
.faq-approved-questions .faq-row-2 { top:56.1%; }
.faq-approved-questions .faq-row-3 { top:61.0%; }
.faq-approved-questions .faq-row-4 { top:65.9%; }
.faq-approved-questions .faq-row-5 { top:70.8%; }
.faq-approved-questions .faq-row-6 { top:75.7%; }
.faq-approved-questions .faq-row-7 { top:80.6%; }
.faq-approved-questions .faq-row-8 { top:85.5%; }
.faq-approved-questions .faq-contact-link { left:69.1%; top:78.3%; width:13.3%; height:5.3%; border-radius:999px; }
.faq-approved-dialog {
  width:min(620px, calc(100vw - 36px));
  padding:40px 42px 38px;
  border:1.5px solid rgba(197,126,0,.60);
  border-radius:24px;
  background:rgba(255,249,232,.98);
  color:#3a1b0b;
  box-shadow:0 22px 70px rgba(58,27,11,.30);
  text-align:center;
}
.faq-approved-dialog::backdrop { background:rgba(48,28,10,.42); backdrop-filter:blur(3px); }
.faq-approved-dialog h2 {
  margin:8px 0 18px;
  color:#526710;
  font-family:var(--hh-display, Georgia, serif);
  font-size:clamp(28px, 4vw, 42px);
  line-height:1.05;
}
.faq-approved-dialog p {
  margin:0;
  font-size:18px;
  line-height:1.65;
}
.faq-dialog-flower { color:#df8100; font-size:28px; }
.faq-dialog-close {
  position:absolute;
  top:10px;
  right:15px;
  width:38px;
  height:38px;
  padding:0;
  border:0;
  background:transparent;
  color:#3a1b0b;
  font-size:34px;
  line-height:1;
  cursor:pointer;
}
@media (max-width:700px) {
  .faq-approved-dialog { padding:34px 24px 28px; }
  .faq-approved-dialog p { font-size:16px; }
}

/* FAQ accordion interaction — replaces only the former modal hotspots. */
body.honey-hive-faq-page .faq-approved-snapshot { display:none !important; }
.faq-approved-accordion {
  width:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#f7ecd4;
  color:#3a1d0c;
}
.faq-approved-top {
  position:relative;
  width:100%;
  margin:0;
  line-height:0;
}
.faq-approved-top > img,
.faq-approved-footer-image {
  display:block;
  width:100%;
  height:auto;
  margin:0;
}
.faq-approved-top-hotspots {
  position:absolute;
  inset:0;
  pointer-events:none;
}
.faq-top-link {
  position:absolute;
  display:block;
  color:transparent;
  font-size:0;
  line-height:0;
  text-decoration:none;
  pointer-events:auto;
}
.faq-top-link:focus-visible {
  outline:3px solid #e19100;
  outline-offset:2px;
  border-radius:8px;
}
/* Coordinates relative to the approved 1448 × 552 top slice. */
.faq-top-link.logo { left:4.4%; top:1.9%; width:7.7%; height:20.3%; }
.faq-top-link.home { left:29.8%; top:9.7%; width:5.4%; height:7.1%; }
.faq-top-link.own { left:36.2%; top:9.7%; width:7.7%; height:7.1%; }
.faq-top-link.sponsor { left:45%; top:9.7%; width:10.4%; height:7.1%; }
.faq-top-link.about { left:56.1%; top:9.7%; width:6.4%; height:7.1%; }
.faq-top-link.faq { left:63.1%; top:9.7%; width:4.5%; height:7.1%; }
.faq-top-link.contact { left:68%; top:9.7%; width:7.1%; height:7.1%; }
.faq-top-link.bee { left:88.1%; top:6.7%; width:4.6%; height:11.1%; border-radius:50%; }

.faq-approved-body {
  position:relative;
  width:100%;
  min-height:calc(100vw * 430 / 1448);
  margin:0;
  padding:0;
  background-color:#f7ecd4;
  background-image:url('assets/images/faq-approved-body.jpg');
  background-repeat:no-repeat;
  background-position:top left;
  background-size:100% auto;
}
.faq-approved-body-grid {
  display:grid;
  grid-template-columns:13.05% 51.15% 35.8%;
  align-items:start;
  width:100%;
  min-height:inherit;
}
.faq-live-list {
  grid-column:2;
  position:relative;
  z-index:3;
  width:100%;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(186,119,7,.22);
  border-radius:18px;
  background:rgba(255,249,234,.985);
  box-shadow:0 7px 18px rgba(87,53,12,.035);
}
.faq-live-item {
  margin:0;
  padding:0;
  border:0;
  border-bottom:1px solid rgba(123,78,22,.18);
  background:transparent;
}
.faq-live-item:last-child { border-bottom:0; }
.faq-live-item summary {
  position:relative;
  display:grid;
  grid-template-columns:26px minmax(0,1fr) 32px;
  align-items:center;
  min-height:clamp(47px, 3.57vw, 58px);
  margin:0;
  padding:0 clamp(16px,1.6vw,26px);
  list-style:none;
  cursor:pointer;
  user-select:none;
  color:#3a1d0c;
  font-family:var(--hh-sans, Avenir, Montserrat, Arial, sans-serif);
  font-size:clamp(13px,1.08vw,17px);
  font-weight:700;
  line-height:1.25;
}
.faq-live-item summary::-webkit-details-marker { display:none; }
.faq-live-flower {
  color:#df8100;
  font-size:clamp(15px,1.25vw,20px);
  line-height:1;
}
.faq-live-question { padding-right:10px; }
.faq-live-toggle {
  position:relative;
  width:24px;
  height:24px;
  justify-self:end;
}
.faq-live-toggle::before,
.faq-live-toggle::after {
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:18px;
  height:2px;
  background:#3a1d0c;
  transform:translate(-50%,-50%);
  transition:transform .2s ease, opacity .2s ease;
}
.faq-live-toggle::after { transform:translate(-50%,-50%) rotate(90deg); }
.faq-live-item[open] .faq-live-toggle::after { opacity:0; }
.faq-live-answer {
  padding:0 clamp(24px,3.35vw,50px) clamp(16px,1.6vw,24px);
  background:rgba(251,241,217,.72);
}
.faq-live-answer p {
  max-width:660px;
  margin:0;
  padding:2px 0 0;
  color:#4a2a17;
  font-family:var(--hh-sans, Avenir, Montserrat, Arial, sans-serif);
  font-size:clamp(13px,1.02vw,16px);
  font-weight:500;
  line-height:1.55;
}
.faq-approved-contact-hotspot {
  position:absolute;
  z-index:4;
  left:69.1%;
  top:63.7%;
  width:13.3%;
  height:13%;
  border-radius:999px;
  color:transparent;
  font-size:0;
  line-height:0;
  text-decoration:none;
}
.faq-approved-contact-hotspot:focus-visible {
  outline:3px solid #e19100;
  outline-offset:2px;
}
@media (max-width:700px) {
  .faq-live-item summary {
    grid-template-columns:16px minmax(0,1fr) 18px;
    min-height:32px;
    padding:0 8px;
    font-size:8px;
  }
  .faq-live-flower { font-size:9px; }
  .faq-live-toggle { width:14px; height:14px; }
  .faq-live-toggle::before,
  .faq-live-toggle::after { width:10px; height:1px; }
  .faq-live-answer { padding:0 16px 10px 24px; }
  .faq-live-answer p { font-size:9px; line-height:1.4; }
  .faq-live-list { border-radius:10px; }
}

/* Approved Contact page */
.contact-page {
  position:relative;
  min-height:calc(100vh - 130px);
  padding:38px 0 96px;
  overflow:hidden;
  color:var(--hh-brown);
  background:
    radial-gradient(circle at 62% 15%, rgba(255,255,255,.40), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(204,151,66,.05)),
    var(--hh-cream);
}
.contact-layout {
  position:relative;
  z-index:3;
  width:min(calc(100% - 380px), 1160px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(490px,1.02fr);
  gap:42px;
  align-items:start;
}
.contact-intro { padding-top:7px; text-align:center; }
.contact-main-title { margin:0 auto; width:min(100%,610px); line-height:0; }
.contact-main-title img { display:block; width:100%; height:auto; }
.contact-title-divider,
.contact-form-divider {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:17px;
  width:290px;
  max-width:74%;
  margin:10px auto 22px;
  color:var(--hh-gold);
}
.contact-title-divider span,
.contact-form-divider span { flex:1; height:2px; background:var(--hh-gold); }
.contact-title-divider b,
.contact-form-divider b { font-size:26px; line-height:1; }
.contact-lead {
  max-width:540px;
  margin:0 auto 28px;
  font-size:19px;
  line-height:1.48;
  font-weight:500;
}
.contact-paths { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; align-items:stretch; }
.contact-path {
  position:relative;
  min-width:0;
  min-height:324px;
  padding:27px 14px 43px;
  border:2px solid var(--hh-olive);
  border-radius:108px 108px 13px 13px;
  background:rgba(255,249,236,.55);
  color:var(--hh-brown);
  font:inherit;
  cursor:pointer;
  box-shadow:0 5px 14px rgba(77,49,16,.04);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.contact-path:hover,
.contact-path:focus-visible { transform:translateY(-3px); box-shadow:0 9px 19px rgba(77,49,16,.10); background:rgba(255,250,239,.82); outline:none; }
.contact-path-sponsor { border-color:var(--hh-gold); }
.contact-path-question { border-color:#bc684d; }
.contact-path-icon {
  display:grid;
  place-items:center;
  width:88px;
  height:88px;
  margin:0 auto 14px;
  border:1px solid rgba(196,125,0,.45);
  border-radius:50%;
  overflow:hidden;
  background:#f8e8c9;
}
.contact-path-icon img { display:block; width:100%; height:100%; object-fit:cover; }
.contact-path-icon svg { width:100%; height:100%; }
.contact-path strong {
  display:block;
  margin:0 0 10px;
  font-family:"Bree Serif", var(--hh-display);
  color:var(--hh-olive);
  font-size:26px;
  line-height:1.02;
  letter-spacing:-.02em;
}
.contact-path-sponsor strong { color:var(--hh-orange); }
.contact-path-question strong { color:#b96348; }
.contact-path > span:not(.contact-path-icon) { display:block; font-size:14px; line-height:1.48; }
.contact-path i {
  position:absolute;
  left:50%;
  bottom:5px;
  transform:translateX(-50%);
  color:var(--hh-olive);
  font-size:31px;
  font-style:normal;
}
.contact-path-sponsor i { color:var(--hh-gold); }
.contact-path-question i { color:#b96348; }
.contact-note {
  margin-top:24px;
  padding:15px 20px;
  display:grid;
  grid-template-columns:48px 1fr;
  gap:14px;
  align-items:center;
  border:1px solid rgba(196,125,0,.36);
  border-radius:14px;
  background:rgba(255,248,231,.58);
}
.contact-note-icon { font-size:34px; color:var(--hh-brown); }
.contact-note p { margin:0; font-size:15px; line-height:1.42; }
.contact-form-card {
  position:relative;
  padding:27px 28px 28px;
  border:1px solid rgba(196,125,0,.40);
  border-radius:46px;
  background:rgba(255,250,239,.75);
  box-shadow:0 12px 30px rgba(91,58,13,.06), inset 0 0 0 3px rgba(255,255,255,.23);
  backdrop-filter:blur(2px);
  overflow:visible;
}
.contact-form-title { width:min(84%,385px); margin:0 auto; line-height:0; }
.contact-form-title img { display:block; width:100%; height:auto; max-width:100%; }
.contact-form-divider { width:280px; margin:5px auto 20px; }
.contact-form { display:grid; gap:16px; }
.contact-field { display:grid; gap:7px; text-align:left; }
.contact-field label { font-weight:800; font-size:15px; }
.contact-field input,
.contact-field select,
.contact-field textarea {
  width:100%;
  border:1px solid rgba(196,125,0,.40);
  border-radius:9px;
  background:rgba(255,252,245,.72);
  color:var(--hh-brown);
  font:inherit;
  font-size:16px;
  box-shadow:inset 0 1px 4px rgba(71,42,12,.035);
}
.contact-field input,
.contact-field select { min-height:51px; padding:11px 13px; }
.contact-field textarea { min-height:120px; padding:13px; resize:vertical; }
.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus { outline:3px solid rgba(225,145,0,.20); border-color:var(--hh-gold); }
.contact-submit {
  justify-self:center;
  width:min(100%,340px);
  min-height:53px;
  margin-top:3px;
  border:0;
  border-radius:999px;
  background:var(--hh-olive);
  color:#fff9e9;
  text-transform:uppercase;
  font:900 18px/1 var(--hh-sans);
  letter-spacing:.045em;
  cursor:pointer;
  box-shadow:0 5px 0 rgba(58,29,12,.12);
}
.contact-submit span { color:var(--hh-mustard); }
.contact-submit:hover { transform:translateY(-2px); }
.contact-form-closing { margin:21px 0 0; text-align:center; font-size:16px; }
.contact-form-closing span { margin-right:10px; }
.contact-alert { margin:0 0 16px; padding:12px 15px; border-radius:10px; font-size:14px; line-height:1.4; }
.contact-alert-success { border:1px solid rgba(77,90,11,.5); background:rgba(77,90,11,.10); }
.contact-alert-error { border:1px solid rgba(164,72,43,.5); background:rgba(184,90,50,.10); }
.contact-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.contact-botanical {
  position:absolute;
  z-index:1;
  bottom:48px;
  top:auto;
  width:165px;
  height:auto;
  max-height:calc(100% - 68px);
  opacity:1;
  object-fit:contain;
  pointer-events:none;
}
.contact-botanical-left { left:0; }
.contact-botanical-right { right:0; transform:scaleX(-1); }
.contact-spark { position:absolute; z-index:2; color:var(--hh-gold); line-height:1; }
.contact-spark-1 { left:7.5%; top:48px; font-size:32px; }
.contact-spark-2 { left:45%; top:20px; font-size:42px; }
.contact-spark-3 { right:8.5%; top:72px; font-size:31px; }
.contact-waves { position:absolute; z-index:2; left:-2%; right:-2%; bottom:-1px; height:68px; overflow:hidden; }
.contact-waves span { position:absolute; left:-2%; width:104%; height:33px; border-radius:50% 50% 0 0 / 100% 100% 0 0; }
.contact-waves span:nth-child(1) { bottom:34px; background:#d3a72a; transform:rotate(-.7deg); }
.contact-waves span:nth-child(2) { bottom:25px; background:#84903e; transform:rotate(.5deg); }
.contact-waves span:nth-child(3) { bottom:12px; background:var(--hh-orange); transform:rotate(-.5deg); }
.contact-waves span:nth-child(4) { bottom:-6px; background:var(--hh-olive); transform:rotate(.6deg); }

@media (max-width:1280px) {
  .contact-layout { width:min(calc(100% - 300px),1020px); grid-template-columns:1fr 1fr; gap:30px; }
  .contact-paths { gap:10px; }
  .contact-path { padding-left:10px; padding-right:10px; min-height:318px; }
  .contact-path strong { font-size:23px; }
  .contact-botanical { width:135px; opacity:.82; }
}
@media (max-width:980px) {
  .contact-page { padding-top:34px; }
  .contact-layout { width:min(calc(100% - 48px),720px); grid-template-columns:1fr; }
  .contact-form-card { order:2; }
  .contact-paths { max-width:650px; margin:0 auto; }
  .contact-botanical { opacity:.18; width:120px; }
}
@media (max-width:640px) {
  .contact-layout { width:min(calc(100% - 24px),520px); }
  .contact-main-title { width:100%; }
  .contact-lead { font-size:17px; }
  .contact-paths { grid-template-columns:1fr; }
  .contact-path { min-height:auto; border-radius:78px 78px 15px 15px; padding-bottom:45px; }
  .contact-form-card { padding:24px 18px 25px; border-radius:32px; }
  .contact-form-title { width:min(92%,385px); }
  .contact-form-closing { font-size:15px; }
  .contact-note { grid-template-columns:1fr; text-align:center; }
  .contact-botanical { display:none; }
}


/* ---------------------------------------------------------
   Approved About page
   --------------------------------------------------------- */
.about-page { overflow:hidden; background:var(--hh-cream); }
.about-hero { position:relative; min-height:760px; overflow:hidden; border-bottom:1px solid var(--hh-line); }
.about-hero::before {
  content:""; position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(circle at 12% 18%, rgba(231,161,21,.10), transparent 24%),
    radial-gradient(circle at 83% 24%, rgba(214,163,168,.12), transparent 24%),
    linear-gradient(180deg, rgba(255,250,239,.68), rgba(247,236,211,.38));
}
.about-hero-inner {
  position:relative; z-index:3; width:min(calc(100% - 190px),1360px); min-height:760px; margin:0 auto;
  display:grid; grid-template-columns:minmax(610px,1.14fr) minmax(500px,.86fr); gap:22px; align-items:center;
  padding:58px 0 70px;
}
.about-hero-copy { text-align:center; }
.about-eyebrow { margin:0 0 13px; color:var(--hh-orange); text-transform:uppercase; letter-spacing:.15em; font-size:14px; font-weight:900; }
.about-hero-copy h1 { margin:0; font-family:"Chicle", "Cooper Black", "Bookman Old Style", Georgia, serif; font-size:clamp(66px,5.6vw,92px); font-style:normal; font-weight:400; line-height:.88; letter-spacing:-.035em; color:var(--hh-brown); }
.about-hero-copy h1 span { display:block; }
.about-hero-copy h1 span:last-child { color:var(--hh-olive); }

.about-hero-copy .about-title-image {
  margin:0 auto;
  width:min(100%, 980px);
  transform:scale(1.15);
  transform-origin:center top;
  line-height:0;
}
.about-hero-copy .about-title-image img {
  display:block;
  width:100%;
  height:auto;
}
.about-divider { width:min(330px,88%); margin:22px auto; display:flex; align-items:center; gap:14px; color:var(--hh-gold); }
.about-divider span { flex:1; height:2px; background:var(--hh-gold); }
.about-divider b { font-size:28px; line-height:1; }
.about-hero-copy > p:not(.about-eyebrow) { max-width:510px; margin:0 auto; font-size:19px; line-height:1.62; }
.about-experience-badge {
  width:min(390px,100%); margin:28px auto 0; padding:15px 22px; display:flex; align-items:center; justify-content:center; gap:18px;
  border:1px solid rgba(201,133,0,.58); border-radius:999px; background:rgba(255,250,239,.72); box-shadow:0 7px 18px rgba(84,53,13,.06);
}
.about-experience-badge strong { font-family:var(--hh-display); font-size:44px; line-height:1; color:var(--hh-orange); }
.about-experience-badge span { text-align:left; text-transform:uppercase; font-size:13px; line-height:1.35; font-weight:900; letter-spacing:.07em; color:var(--hh-olive-dark); }
.about-portraits { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
.about-person { position:relative; min-width:0; }
.about-person-melissa { margin-top:46px; }
.about-photo-frame {
  position:relative; height:470px; overflow:hidden; border:5px solid #fff5df; border-radius:46% 46% 18px 18px / 36% 36% 18px 18px;
  outline:2px solid var(--hh-gold); outline-offset:-10px; background:#d6a547; box-shadow:0 14px 28px rgba(61,36,10,.14);
}
.about-person-alan .about-photo-frame { outline-color:var(--hh-olive); }
.about-person-melissa .about-photo-frame { outline-color:var(--hh-orange); }
.about-photo-frame img { width:100%; height:100%; object-fit:cover; }
.about-person-alan .about-photo-frame img { object-position:50% 0%; }
.about-person-melissa .about-photo-frame img { object-position:50% 42%; }
.about-person-copy {
  position:relative; width:calc(100% - 28px); margin:-34px auto 0; padding:18px 22px 17px; text-align:center;
  border:1px solid rgba(201,133,0,.38); border-radius:17px; background:rgba(255,250,239,.94); box-shadow:0 9px 22px rgba(66,39,11,.10);
}
.about-person-role { margin:6px 0 0; color:var(--hh-orange); text-transform:uppercase; letter-spacing:.12em; font-size:12px; font-weight:900; }
.about-person-copy h2 { margin:0; font-family:var(--hh-display); font-size:42px; line-height:1; color:var(--hh-olive); }
.about-person-copy p:last-child { margin:6px 0 0; }
.about-botanical { position:absolute; z-index:2; bottom:-36px; width:145px; opacity:.78; pointer-events:none; mix-blend-mode:multiply; }
.about-botanical-left { left:0; }
.about-botanical-right { right:0; transform:scaleX(-1); }
.about-spark { position:absolute; z-index:2; color:var(--hh-gold); line-height:1; }
.about-spark-1 { left:8.2%; top:88px; font-size:32px; }
.about-spark-2 { left:44%; top:52px; font-size:22px; }
.about-spark-3 { right:6.5%; top:126px; font-size:38px; }

.about-letter { position:relative; padding:68px 0 112px; overflow:hidden; background:rgba(255,249,235,.82); }
.about-letter-inner { position:relative; z-index:3; width:min(calc(100% - 160px),1180px); margin:0 auto; text-align:center; }
.about-letter-heading { display:flex; align-items:center; justify-content:center; gap:22px; margin:0 auto 18px; color:var(--hh-orange); }
.about-letter-heading h2 { margin:0; font-family:var(--hh-display); font-size:clamp(54px,5vw,76px); line-height:.95; letter-spacing:-.045em; color:var(--hh-olive); text-align:center; }
.about-letter-heading > span { font-size:28px; }
.about-letter-intro { max-width:900px; margin:0 auto 38px; font-size:20px; line-height:1.62; color:var(--hh-brown); }
.about-letter-grid { width:min(100%,1080px); margin:0 auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:54px; align-items:start; text-align:left; }
.about-letter-copy { font-family:Georgia,serif; font-size:18px; line-height:1.72; }
.about-letter-copy p { margin:0 0 22px; }
.about-dropcap::first-letter { float:left; margin:5px 8px 0 0; font-family:var(--hh-display); font-size:66px; line-height:.72; color:var(--hh-orange); }
.about-facts { width:min(100%,1080px); margin:24px auto 34px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.about-fact { min-height:210px; padding:25px 22px 24px; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; text-align:center; border:1px solid rgba(201,133,0,.43); border-radius:22px; background:rgba(255,250,239,.72); box-shadow:0 8px 20px rgba(66,39,11,.06); }
.about-fact > span { display:block; margin-bottom:8px; color:var(--hh-orange); font-size:24px; line-height:1; }
.about-fact strong { display:block; margin-bottom:10px; font-family:var(--hh-display); font-size:25px; line-height:1.05; color:var(--hh-olive); }
.about-fact p { margin:0; font-size:14.5px; line-height:1.56; }
.about-pullquote {
  width:min(100%,920px); margin:0 auto; display:flex; flex-direction:column; justify-content:center; padding:34px 46px; text-align:center;
  border:1px solid rgba(201,133,0,.55); border-radius:28px; background:linear-gradient(180deg,rgba(255,250,239,.93),rgba(246,229,193,.67)); box-shadow:0 10px 24px rgba(66,39,11,.07);
}
.about-pullquote-flower { color:var(--hh-orange); font-size:30px; }
.about-pullquote blockquote { margin:10px 0 16px; font-family:var(--hh-display); font-size:40px; line-height:1.05; letter-spacing:-.035em; color:var(--hh-brown); }
.about-pullquote p { max-width:680px; margin:0 auto; font-size:16px; line-height:1.58; }
.about-cta { display:flex; justify-content:center; gap:18px; flex-wrap:wrap; margin-top:38px; }
.about-waves { position:absolute; z-index:2; left:-2%; right:-2%; bottom:-1px; height:72px; overflow:hidden; }
.about-waves span { position:absolute; left:-2%; width:104%; height:35px; border-radius:50% 50% 0 0 / 100% 100% 0 0; }
.about-waves span:nth-child(1) { bottom:39px; background:#d7aa30; transform:rotate(-.8deg); }
.about-waves span:nth-child(2) { bottom:29px; background:#87923e; transform:rotate(.6deg); }
.about-waves span:nth-child(3) { bottom:14px; background:var(--hh-orange); transform:rotate(-.5deg); }
.about-waves span:nth-child(4) { bottom:-5px; background:var(--hh-olive); transform:rotate(.6deg); }

@media (max-width:1180px) {
  .about-hero-inner { width:min(calc(100% - 110px),1100px); grid-template-columns:minmax(380px,.9fr) minmax(520px,1.1fr); gap:28px; }
  .about-photo-frame { height:420px; }
  .about-person-copy h2 { font-size:38px; }
  .about-botanical { width:110px; opacity:.38; }
  .about-letter-inner { width:min(calc(100% - 90px),1080px); }
}
@media (max-width:900px) {
  .about-hero-inner { width:min(calc(100% - 42px),760px); grid-template-columns:1fr; padding-top:42px; }
  .about-hero-copy > p:not(.about-eyebrow) { max-width:600px; }
  .about-portraits { max-width:700px; margin:0 auto; }
  .about-person-melissa { margin-top:28px; }
  .about-letter-inner { width:min(calc(100% - 42px),760px); }
  .about-letter-grid { grid-template-columns:1fr; gap:10px; }
  .about-facts { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:760px; }
  .about-pullquote { min-height:auto; }
  .about-botanical { opacity:.16; }
}
@media (max-width:620px) {
  .about-hero-inner { width:min(calc(100% - 24px),520px); }
  .about-hero-copy h1 { font-size:58px; }
  .about-experience-badge { border-radius:24px; }
  .about-portraits { grid-template-columns:1fr; gap:30px; }
  .about-person-melissa { margin-top:0; }
  .about-photo-frame { height:460px; }
  .about-letter { padding-top:52px; }
  .about-letter-inner { width:min(calc(100% - 24px),520px); }
  .about-letter-heading { gap:10px; }
  .about-letter-heading h2 { font-size:48px; }
  .about-letter-heading > span { font-size:20px; }
  .about-facts { grid-template-columns:1fr; max-width:520px; }
  .about-fact { min-height:auto; }
  .about-pullquote { padding:30px 22px; }
  .about-pullquote blockquote { font-size:32px; }
  .about-botanical { display:none; }
}


/* ================================================================
   Responsive compatibility — desktop, tablet and mobile
   These rules affect only layouts below desktop widths.
   ================================================================ */

html, body { max-width:100%; }
body { overflow-x:hidden; }
img, svg, video, iframe { max-width:100%; }

@media (max-width: 1180px) {
  .header-inner { width:min(calc(100% - 40px), 1100px); grid-template-columns:170px 1fr 88px; gap:16px; }
  .primary-navigation ul { gap:clamp(20px,2.3vw,34px); }
  .primary-navigation a,
  .header-my-hive { font-size:13px; }

  .join-section,
  .own-more,
  .sponsor-how,
  .faq-page .faq-content,
  .contact-page,
  .about-letter { padding-left:24px; padding-right:24px; }

  .faq-page .faq-content-inner,
  .contact-layout,
  .about-hero-inner,
  .about-letter-inner { width:min(calc(100% - 40px), 1080px); }
}

@media (max-width: 900px) {
  html { scroll-padding-top:92px; }
  body.admin-bar .site-header { top:46px; }

  .site-header,
  .header-inner { height:92px; }
  .header-inner {
    width:calc(100% - 32px);
    grid-template-columns:minmax(150px,1fr) auto 48px;
    gap:12px;
  }
  .site-branding { grid-column:1; grid-row:1; }
  .header-wordmark { font-size:30px; }
  .menu-toggle { display:flex; grid-column:3; grid-row:1; justify-self:end; }
  .primary-navigation {
    position:absolute;
    left:0;
    right:0;
    top:100%;
    z-index:1000;
    max-height:0;
    overflow:hidden;
    background:var(--hh-cream);
    border-top:1px solid rgba(58,29,12,.14);
    border-bottom:2px solid var(--hh-gold);
    transition:max-height .25s ease;
  }
  .primary-navigation.is-open { max-height:560px; }
  .primary-navigation ul { display:block; padding:14px 24px 22px; }
  .primary-navigation a { padding:11px 0; font-size:14px; }
  .header-my-hive {
    grid-column:2;
    grid-row:1;
    justify-self:end;
    min-height:40px;
    padding:11px 0 8px;
    font-size:12px;
  }

  /* Home hero */
  .approved-hero { overflow:hidden; }
  .approved-hero-stage {
    left:auto;
    transform:none;
    width:100%;
    min-width:0;
    min-height:620px;
    aspect-ratio:auto;
  }
  .approved-hero-art { object-fit:cover; object-position:center; }
  .approved-hero-copy {
    left:5.5%;
    top:8%;
    width:42%;
  }
  .approved-hero-kicker { font-size:11px; gap:7px; }
  .approved-hero-kicker::before,
  .approved-hero-kicker::after { width:24px; }
  .approved-hero-body { margin-top:16px; font-size:16px; line-height:1.45; }
  .approved-hero-highlight { font-size:16px; }
  .approved-hero-divider { margin:14px auto 16px; }
  .approved-hero-actions { gap:12px; }
  .approved-hero-button { min-height:44px; padding:10px 12px; font-size:12px; }

  .join-section { padding-top:30px; }
  .join-heading p { font-size:18px; }
  .choice-grid { grid-template-columns:1fr; }
  .choice-card,
  .choice-card--sponsor { grid-template-columns:minmax(0,1fr) minmax(220px,.85fr); }
  .choice-image { height:300px; }

  .location-inner { grid-template-columns:1fr; }
  .location-copy { padding:30px 28px 20px; }
  .map-image { max-width:760px; margin:0 auto; }

  /* Own + Sponsor heroes */
  .own-hero-stage,
  .sponsor-hero-stage {
    left:auto;
    transform:none;
    width:100%;
    min-width:0;
    min-height:650px;
    aspect-ratio:auto;
  }
  .own-hero-art,
  .sponsor-hero-art { object-fit:cover; object-position:center; }
  .own-hero-copy,
  .sponsor-hero-copy { left:5.5%; top:8%; width:42%; }
  .own-hero-kicker,
  .sponsor-hero-kicker { font-size:11px; gap:7px; }
  .own-hero-body,
  .sponsor-hero-body { margin-top:18px; font-size:16px; line-height:1.46; }
  .own-hero-highlight { margin-top:16px; font-size:16px; }
  .own-hero-button,
  .sponsor-button { min-height:44px; padding:10px 20px; font-size:12px; }

  .own-benefits { grid-template-columns:repeat(2,1fr); max-width:720px; }
  .own-benefit:nth-child(3) { border-left:0; }
  .own-benefit:nth-child(n+3) { border-top:1px solid rgba(176,111,0,.23); padding-top:24px; }
  .own-receive-panel { grid-template-columns:1fr 1fr; max-width:760px; }
  .own-receive-photo { grid-row:1/3; }
  .own-receive-list { border-right:0; border-bottom:1px solid rgba(176,111,0,.24); }
  .own-receive-cta { grid-column:2; }

  .sponsor-steps { grid-template-columns:repeat(2,1fr); max-width:700px; }
  .sponsor-step:nth-child(odd) { border-left:0; }
  .sponsor-step:nth-child(n+3) { border-top:1px solid rgba(176,111,0,.22); padding-top:22px; }
  .sponsor-step:last-child { grid-column:1/-1; max-width:340px; justify-self:center; }
  .sponsor-support-panel { grid-template-columns:1fr 1fr; max-width:760px; }
  .sponsor-support-photo { grid-row:1/3; }
  .sponsor-support-list { border-right:0; border-bottom:1px solid rgba(176,111,0,.23); }
  .sponsor-support-cta { grid-column:2; }

  /* FAQ */
  .faq-page .faq-hero-stage {
    grid-template-columns:1fr;
    min-height:650px;
  }
  .faq-page .faq-hero-art { object-position:center; }
  .faq-page .faq-hero-copy {
    width:min(48%, 410px);
    margin-left:5%;
    padding:34px 18px;
  }
  .faq-page .faq-content-inner { grid-template-columns:1fr; max-width:760px; }
  .faq-page .faq-contact-card { min-height:330px; }
  .faq-page .faq-botanical { opacity:.3; }

  /* Contact */
  .contact-page { padding-top:34px; }
  .contact-layout { grid-template-columns:1fr; max-width:760px; gap:28px; }
  .contact-paths { max-width:680px; margin:0 auto; }
  .contact-botanical { opacity:.3; width:120px; }

  /* About */
  .about-hero { min-height:auto; }
  .about-hero-inner {
    grid-template-columns:1fr;
    min-height:auto;
    padding:46px 0 70px;
  }
  .about-hero-copy { max-width:680px; margin:0 auto; }
  .about-portraits { max-width:700px; margin:12px auto 0; }
  .about-letter-grid { grid-template-columns:1fr; gap:8px; }
  .about-facts { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 620px) {
  body { font-size:16px; }
  .site-header,
  .header-inner { height:78px; }
  html { scroll-padding-top:78px; }
  .header-inner { width:calc(100% - 24px); grid-template-columns:minmax(128px,1fr) auto 44px; }
  .header-wordmark { font-size:25px; }
  .menu-toggle { width:44px; height:42px; }
  .header-my-hive { font-size:11px; }

  .approved-hero-stage,
  .own-hero-stage,
  .sponsor-hero-stage { min-height:760px; }
  .approved-hero-art,
  .own-hero-art,
  .sponsor-hero-art { object-position:58% center; }

  .approved-hero-copy,
  .own-hero-copy,
  .sponsor-hero-copy {
    left:18px;
    top:34px;
    width:calc(100% - 36px);
    max-width:430px;
    padding:18px 16px 20px;
    border:1px solid rgba(201,133,0,.22);
    border-radius:24px;
    background:rgba(255,249,235,.90);
    box-shadow:0 8px 22px rgba(58,29,12,.08);
  }
  .approved-hero-kicker,
  .own-hero-kicker,
  .sponsor-hero-kicker { font-size:11px; }
  .approved-hero-title--image,
  .own-hero-title,
  .sponsor-hero-title { width:min(100%, 390px); margin-left:auto; margin-right:auto; }
  .approved-hero-body,
  .own-hero-body,
  .sponsor-hero-body { width:100%; font-size:16px; }
  .approved-hero-highlight,
  .own-hero-highlight { font-size:16px; }
  .approved-hero-highlight span,
  .own-hero-highlight span { white-space:normal; }
  .approved-hero-actions { grid-template-columns:1fr; width:100%; }
  .approved-hero-button,
  .own-hero-button,
  .sponsor-button { width:100%; min-height:48px; }

  .join-section,
  .own-more,
  .sponsor-how,
  .faq-page .faq-content,
  .contact-page,
  .about-letter { padding-left:14px; padding-right:14px; }

  .join-heading .section-title--approved-image,
  .own-more-heading h2,
  .sponsor-how-heading h2 { width:min(100%, 440px); }
  .choice-card,
  .choice-card--sponsor { grid-template-columns:1fr; padding:18px; }
  .choice-image,
  .choice-card--sponsor .choice-image { order:-1; height:250px; }
  .choice-copy { text-align:center; }

  .location-copy { padding:28px 16px 20px; }
  .location-copy .section-title { font-size:48px; }
  .location-copy p { font-size:17px; }

  .own-benefits,
  .sponsor-steps,
  .about-facts { grid-template-columns:1fr; }
  .own-benefit,
  .sponsor-step,
  .about-fact { border-left:0 !important; }
  .own-benefit + .own-benefit,
  .sponsor-step + .sponsor-step { border-top:1px solid rgba(176,111,0,.22); padding-top:24px; }
  .sponsor-step:last-child { grid-column:auto; max-width:none; }

  .own-receive-panel,
  .sponsor-support-panel { grid-template-columns:1fr; }
  .own-receive-photo,
  .sponsor-support-photo { grid-row:auto; }
  .own-receive-photo img,
  .sponsor-support-photo img { min-height:250px; max-height:340px; }
  .own-receive-list,
  .sponsor-support-list { border-right:0; border-bottom:1px solid rgba(176,111,0,.23); }
  .own-receive-cta,
  .sponsor-support-cta { grid-column:auto; }

  .faq-page .faq-hero-stage { min-height:720px; }
  .faq-page .faq-hero-art { object-position:62% center; }
  .faq-page .faq-hero-copy {
    width:calc(100% - 32px);
    max-width:none;
    margin:16px;
    padding:22px 14px;
    border-radius:22px;
    background:rgba(255,249,235,.9);
  }
  .faq-page .faq-hero-title img { max-width:330px; margin:0 auto; }
  .faq-page .faq-hero-copy > p { font-size:16px; }
  .faq-page .faq-item summary { padding:15px 16px; font-size:15px; }
  .faq-page .faq-answer { padding:0 18px 16px; }
  .faq-page .faq-contact-card { min-height:300px; padding:28px 20px; }
  .faq-page .faq-botanical { display:none; }

  .contact-paths { grid-template-columns:1fr; }
  .contact-path { min-height:auto; padding:22px 18px 42px; }
  .contact-note { grid-template-columns:1fr; text-align:center; }
  .contact-form-card { padding:24px 17px; border-radius:28px; }
  .contact-botanical { display:none; }

  .about-hero-inner,
  .about-letter-inner { width:calc(100% - 28px); }
  .about-hero-copy .about-title-image { width:min(100%, 470px); transform:none; }
  .about-portraits { grid-template-columns:1fr; max-width:430px; gap:28px; }
  .about-person-melissa { margin-top:0; }
  .about-photo-frame { height:470px; }
  .about-letter-heading { gap:10px; }
  .about-letter-heading h2 { font-size:44px; }
  .about-letter-intro { font-size:17px; }
  .about-letter-copy { font-size:16px; }
  .about-pullquote { padding:28px 18px; }
  .about-pullquote blockquote { font-size:32px; }
  .about-cta { display:grid; grid-template-columns:1fr; }
  .about-cta .button { width:100%; }

  .footer-inner { padding:22px 16px; font-size:14px; }
}

@media (max-width: 390px) {
  .approved-hero-stage,
  .own-hero-stage,
  .sponsor-hero-stage { min-height:790px; }
  .approved-hero-copy,
  .own-hero-copy,
  .sponsor-hero-copy { left:12px; width:calc(100% - 24px); }
  .location-copy .section-title { font-size:42px; }
  .about-photo-frame { height:420px; }
}

.faq-approved-top-hotspots { display:none !important; }

/* ================================================================
   FAQ responsive correction — FAQ template only
   Desktop design remains unchanged. No PHP/template changes.
   ================================================================ */
@media (max-width: 900px) {
  .faq-approved-accordion {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .faq-approved-top {
    width: 100% !important;
    height: 380px !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: #f7ecd4 !important;
  }

  .faq-approved-top > img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: 31% center !important;
  }

  .faq-approved-body {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 28px 20px 34px !important;
    background-color: #f7ecd4 !important;
    background-image: none !important;
    overflow: visible !important;
  }

  .faq-approved-body-grid {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
  }

  .faq-live-list {
    display: block !important;
    position: relative !important;
    width: min(100%, 720px) !important;
    max-width: 720px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    border-radius: 18px !important;
  }

  .faq-live-item summary {
    grid-template-columns: 24px minmax(0, 1fr) 30px !important;
    min-height: 64px !important;
    padding: 14px 18px !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
  }

  .faq-live-flower {
    font-size: 17px !important;
  }

  .faq-live-toggle {
    width: 24px !important;
    height: 24px !important;
  }

  .faq-live-toggle::before,
  .faq-live-toggle::after {
    width: 17px !important;
    height: 2px !important;
  }

  .faq-live-answer {
    padding: 0 20px 18px 48px !important;
  }

  .faq-live-answer p {
    max-width: none !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  .faq-approved-contact-hotspot {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(100%, 360px) !important;
    height: 52px !important;
    margin: 24px auto 0 !important;
    padding: 0 28px !important;
    border: 1px solid #4d5a0b !important;
    border-radius: 999px !important;
    background: #4d5a0b !important;
    box-shadow: 0 5px 0 rgba(58,29,12,.12) !important;
    color: #fff9e9 !important;
    font-family: var(--hh-sans, Avenir, Montserrat, Arial, sans-serif) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  .faq-approved-contact-hotspot::after {
    content: " ✿";
    color: #f0a111;
    margin-left: 8px;
  }

  .faq-approved-footer-image {
    display: none !important;
  }
}

@media (max-width: 620px) {
  .faq-approved-top {
    height: 300px !important;
  }

  .faq-approved-top > img {
    object-position: 24% center !important;
  }

  .faq-approved-body {
    padding: 18px 12px 28px !important;
  }

  .faq-live-list {
    width: 100% !important;
    border-radius: 14px !important;
  }

  .faq-live-item summary {
    grid-template-columns: 22px minmax(0, 1fr) 28px !important;
    min-height: 62px !important;
    padding: 13px 14px !important;
    font-size: 15px !important;
  }

  .faq-live-question {
    padding-right: 5px !important;
  }

  .faq-live-answer {
    padding: 0 16px 17px 42px !important;
  }

  .faq-live-answer p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  .faq-approved-contact-hotspot {
    width: min(100%, 320px) !important;
    min-height: 50px !important;
    margin-top: 20px !important;
  }
}

@media (max-width: 390px) {
  .faq-approved-top {
    height: 280px !important;
  }

  .faq-approved-top > img {
    object-position: 21% center !important;
  }

  .faq-live-item summary {
    font-size: 14px !important;
  }
}

/* FAQ mobile/tablet hero — complete, uncropped approved heading. */
@media (max-width: 900px) {
  .faq-approved-top {
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    background:#f7ecd4 !important;
  }
  .faq-approved-hero-picture {
    display:block !important;
    width:100% !important;
    height:auto !important;
    margin:0 !important;
    overflow:visible !important;
  }
  .faq-approved-hero-picture > img {
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-width:0 !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 !important;
  }
}

/* ================================================================
   Universal responsive hardening — phones, tablets and small laptops
   Desktop layouts above 1100px remain unchanged.
   ================================================================ */
html {
  width: 100%;
  max-width: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
}
body *,
body *::before,
body *::after { min-width: 0; }
img, picture, svg, video, iframe, canvas { max-width: 100%; }
input, select, textarea, button { max-width: 100%; }
.header-my-hive svg { display: none !important; }

@media (max-width: 1100px) {
  html { scroll-padding-top: 92px; }
  .site-header,
  .header-inner { height: 92px !important; }
  .site-header { width: 100%; }
  .header-inner {
    width: 100% !important;
    max-width: none !important;
    padding-left: max(18px, env(safe-area-inset-left));
    padding-right: max(18px, env(safe-area-inset-right));
    grid-template-columns: minmax(0, 1fr) auto 50px !important;
    gap: 14px !important;
  }
  .site-branding { grid-column: 1; grid-row: 1; overflow: hidden; }
  .header-wordmark {
    display: block;
    max-width: 100%;
    font-size: clamp(27px, 4vw, 34px) !important;
    overflow: hidden;
    text-overflow: clip;
  }
  .header-my-hive {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    min-height: 40px !important;
    padding: 10px 0 8px !important;
    font-size: 12px !important;
  }
  .menu-toggle {
    display: flex !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    width: 48px !important;
    height: 46px !important;
    flex: 0 0 48px;
  }
  .primary-navigation {
    position: absolute !important;
    z-index: 1100 !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: 0 !important;
    overflow: hidden !important;
    background: var(--hh-cream) !important;
    border-top: 1px solid rgba(58,29,12,.14) !important;
    border-bottom: 2px solid var(--hh-gold) !important;
    transition: max-height .25s ease !important;
  }
  .primary-navigation.is-open {
    max-height: min(70vh, 560px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .primary-navigation ul {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 14px 24px 22px !important;
  }
  .primary-navigation li { display: block !important; width: 100% !important; }
  .primary-navigation a {
    display: block !important;
    width: 100% !important;
    padding: 12px 0 !important;
    font-size: 15px !important;
  }

  /* Composite hero sections: keep text readable without horizontal cropping. */
  .approved-hero,
  .own-hero,
  .sponsor-hero { overflow: hidden !important; }
  .approved-hero-stage,
  .own-hero-stage,
  .sponsor-hero-stage {
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    aspect-ratio: auto !important;
    min-height: 690px !important;
    overflow: hidden !important;
  }
  .approved-hero-art,
  .own-hero-art,
  .sponsor-hero-art {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 60% center !important;
  }
  .approved-hero-copy,
  .own-hero-copy,
  .sponsor-hero-copy {
    left: 4.5% !important;
    top: 7% !important;
    width: min(47%, 470px) !important;
    max-width: none !important;
    transform: none !important;
  }
  .approved-hero-kicker,
  .own-hero-kicker,
  .sponsor-hero-kicker {
    font-size: 12px !important;
    gap: 8px !important;
  }
  .approved-hero-kicker::before,
  .approved-hero-kicker::after,
  .own-hero-kicker::before,
  .own-hero-kicker::after,
  .sponsor-hero-kicker::before,
  .sponsor-hero-kicker::after { width: 28px !important; }
  .approved-hero-title--image,
  .own-hero-title,
  .sponsor-hero-title {
    width: 100% !important;
    max-width: 440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: visible !important;
  }
  .approved-hero-title--image img,
  .own-hero-title img,
  .sponsor-hero-title img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    overflow: visible !important;
  }
  .approved-hero-body,
  .own-hero-body,
  .sponsor-hero-body {
    width: 100% !important;
    margin-top: 18px !important;
    font-size: 16px !important;
    line-height: 1.48 !important;
  }
  .approved-hero-highlight,
  .own-hero-highlight { font-size: 16px !important; }
  .approved-hero-highlight span,
  .own-hero-highlight span { white-space: normal !important; }
  .approved-hero-divider { margin: 14px auto 16px !important; }
  .approved-hero-actions { gap: 12px !important; }
  .approved-hero-button,
  .own-hero-button,
  .sponsor-button {
    min-height: 46px !important;
    padding: 10px 18px !important;
    font-size: 12px !important;
  }

  /* Home content. */
  .join-inner,
  .location-inner,
  .own-more-inner,
  .sponsor-how-inner,
  .contact-layout,
  .about-hero-inner,
  .about-letter-inner {
    max-width: 100% !important;
  }
  .join-section,
  .own-more,
  .sponsor-how,
  .contact-page,
  .about-letter {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
  .join-heading .section-title--approved-image,
  .own-more-heading h2,
  .sponsor-how-heading h2 {
    width: min(100%, 560px) !important;
  }
  .choice-grid { grid-template-columns: 1fr !important; }
  .choice-card,
  .choice-card--sponsor {
    grid-template-columns: minmax(0, 1fr) minmax(230px, .85fr) !important;
    gap: 22px !important;
  }
  .choice-image { height: 300px !important; }
  .location-inner { grid-template-columns: 1fr !important; }
  .location-copy { padding: 32px 28px 22px !important; }
  .map-image { width: min(100%, 820px) !important; margin: 0 auto !important; }

  /* Own a Hive. */
  .own-benefits { grid-template-columns: repeat(2, minmax(0,1fr)) !important; max-width: 760px !important; }
  .own-benefit:nth-child(3) { border-left: 0 !important; }
  .own-benefit:nth-child(n+3) { border-top: 1px solid rgba(176,111,0,.23) !important; padding-top: 24px !important; }
  .own-receive-panel {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    max-width: 800px !important;
  }
  .own-receive-photo { grid-row: 1 / 3 !important; }
  .own-receive-list { border-right: 0 !important; border-bottom: 1px solid rgba(176,111,0,.24) !important; }
  .own-receive-cta { grid-column: 2 !important; }

  /* Sponsor a Hive. */
  .sponsor-steps { grid-template-columns: repeat(2,minmax(0,1fr)) !important; max-width: 760px !important; }
  .sponsor-step:nth-child(odd) { border-left: 0 !important; }
  .sponsor-step:nth-child(n+3) { border-top: 1px solid rgba(176,111,0,.22) !important; padding-top: 24px !important; }
  .sponsor-step:last-child { grid-column: 1 / -1 !important; max-width: 360px !important; justify-self: center !important; }
  .sponsor-support-panel {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    max-width: 800px !important;
  }
  .sponsor-support-photo { grid-row: 1 / 3 !important; }
  .sponsor-support-list { border-right: 0 !important; border-bottom: 1px solid rgba(176,111,0,.23) !important; }
  .sponsor-support-cta { grid-column: 2 !important; }

  /* FAQ: use the dedicated mobile/tablet asset at its natural aspect ratio. */
  .faq-approved-accordion,
  .faq-approved-top,
  .faq-approved-body,
  .faq-approved-body-grid,
  .faq-live-list {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }
  .faq-approved-top {
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: #f7ecd4 !important;
  }
  .faq-approved-hero-picture,
  .faq-approved-hero-picture > img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
  }
  .faq-approved-body {
    min-height: 0 !important;
    height: auto !important;
    padding: 28px 20px 34px !important;
    overflow: visible !important;
    background-color: #f7ecd4 !important;
    background-image: none !important;
  }
  .faq-approved-body-grid { display: block !important; height: auto !important; min-height: 0 !important; }
  .faq-live-list {
    position: relative !important;
    display: block !important;
    width: min(100%, 760px) !important;
    margin: 0 auto !important;
    border-radius: 18px !important;
  }
  .faq-live-item summary {
    grid-template-columns: 24px minmax(0,1fr) 32px !important;
    min-height: 66px !important;
    padding: 14px 18px !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
  }
  .faq-live-answer { padding: 0 20px 18px 50px !important; }
  .faq-live-answer p { max-width: none !important; font-size: 15px !important; line-height: 1.55 !important; }
  .faq-approved-contact-hotspot {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(100%, 340px) !important;
    height: 52px !important;
    margin: 24px auto 0 !important;
    padding: 0 26px !important;
    border: 1px solid var(--hh-olive) !important;
    border-radius: 999px !important;
    background: var(--hh-olive) !important;
    color: #fff9e9 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }
  .faq-approved-footer-image { display: none !important; }

  /* Contact. */
  .contact-layout {
    width: min(calc(100% - 40px), 780px) !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
  .contact-paths { max-width: 700px !important; margin-left: auto !important; margin-right: auto !important; }
  .contact-form-card { width: 100% !important; }
  .contact-field input,
  .contact-field select,
  .contact-field textarea { font-size: 16px !important; }
  .contact-botanical { opacity: .25 !important; width: 110px !important; }

  /* About. */
  .about-hero { min-height: 0 !important; }
  .about-hero-inner {
    width: min(calc(100% - 40px), 820px) !important;
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    padding: 46px 0 68px !important;
  }
  .about-hero-copy { max-width: 700px !important; margin: 0 auto !important; }
  .about-hero-copy .about-title-image {
    width: min(100%, 600px) !important;
    transform: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .about-portraits { width: 100% !important; max-width: 720px !important; margin: 16px auto 0 !important; }
  .about-letter-inner { width: min(calc(100% - 40px), 900px) !important; }
  .about-letter-grid { grid-template-columns: 1fr !important; gap: 8px !important; }
  .about-facts { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width: 767px) {
  .site-header,
  .header-inner { height: 78px !important; }
  html { scroll-padding-top: 78px; }
  .header-inner {
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
    grid-template-columns: minmax(0,1fr) auto 44px !important;
    gap: 10px !important;
  }
  .header-wordmark { font-size: clamp(23px, 7vw, 29px) !important; }
  .header-my-hive { font-size: 11px !important; }
  .menu-toggle { width: 44px !important; height: 42px !important; }

  .approved-hero-stage,
  .own-hero-stage,
  .sponsor-hero-stage { min-height: 790px !important; }
  .approved-hero-art,
  .own-hero-art,
  .sponsor-hero-art { object-position: 62% center !important; }
  .approved-hero-copy,
  .own-hero-copy,
  .sponsor-hero-copy {
    left: 14px !important;
    top: 24px !important;
    width: calc(100% - 28px) !important;
    max-width: 470px !important;
    padding: 18px 15px 20px !important;
    border: 1px solid rgba(201,133,0,.22) !important;
    border-radius: 24px !important;
    background: rgba(255,249,235,.91) !important;
    box-shadow: 0 8px 22px rgba(58,29,12,.08) !important;
  }
  .approved-hero-title--image,
  .own-hero-title,
  .sponsor-hero-title { width: min(100%, 410px) !important; }
  .approved-hero-body,
  .own-hero-body,
  .sponsor-hero-body { font-size: 16px !important; }
  .approved-hero-actions { grid-template-columns: 1fr !important; width: 100% !important; }
  .approved-hero-button,
  .own-hero-button,
  .sponsor-button { width: 100% !important; min-height: 48px !important; }

  .join-section,
  .own-more,
  .sponsor-how,
  .contact-page,
  .about-letter { padding-left: 14px !important; padding-right: 14px !important; }
  .choice-card,
  .choice-card--sponsor { grid-template-columns: 1fr !important; padding: 18px !important; }
  .choice-image,
  .choice-card--sponsor .choice-image { order: -1 !important; height: 250px !important; }
  .choice-copy { text-align: center !important; }
  .location-copy { padding: 28px 16px 22px !important; }
  .location-copy .section-title { font-size: clamp(42px, 13vw, 56px) !important; }
  .location-copy p { font-size: 17px !important; }

  .own-benefits,
  .sponsor-steps,
  .about-facts { grid-template-columns: 1fr !important; }
  .own-benefit,
  .sponsor-step,
  .about-fact { border-left: 0 !important; }
  .own-benefit + .own-benefit,
  .sponsor-step + .sponsor-step {
    border-top: 1px solid rgba(176,111,0,.22) !important;
    padding-top: 24px !important;
  }
  .sponsor-step:last-child { grid-column: auto !important; max-width: none !important; }
  .own-receive-panel,
  .sponsor-support-panel { grid-template-columns: 1fr !important; }
  .own-receive-photo,
  .sponsor-support-photo { grid-row: auto !important; }
  .own-receive-photo img,
  .sponsor-support-photo img {
    min-height: 230px !important;
    max-height: 340px !important;
    object-fit: cover !important;
  }
  .own-receive-list,
  .sponsor-support-list {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(176,111,0,.23) !important;
  }
  .own-receive-cta,
  .sponsor-support-cta { grid-column: auto !important; }

  .faq-approved-body { padding: 18px 12px 28px !important; }
  .faq-live-list { width: 100% !important; border-radius: 14px !important; }
  .faq-live-item summary {
    grid-template-columns: 22px minmax(0,1fr) 28px !important;
    min-height: 62px !important;
    padding: 13px 14px !important;
    font-size: 15px !important;
  }
  .faq-live-question { padding-right: 5px !important; }
  .faq-live-answer { padding: 0 16px 17px 42px !important; }

  .contact-layout { width: calc(100% - 24px) !important; }
  .contact-paths { grid-template-columns: 1fr !important; }
  .contact-path { min-height: 0 !important; padding: 22px 18px 44px !important; }
  .contact-note { grid-template-columns: 1fr !important; text-align: center !important; }
  .contact-form-card { padding: 24px 17px !important; border-radius: 28px !important; }
  .contact-botanical { display: none !important; }

  .about-hero-inner,
  .about-letter-inner { width: calc(100% - 28px) !important; }
  .about-portraits { grid-template-columns: 1fr !important; max-width: 450px !important; gap: 28px !important; }
  .about-person-melissa { margin-top: 0 !important; }
  .about-photo-frame { height: min(118vw, 490px) !important; }
  .about-letter-heading { gap: 10px !important; }
  .about-letter-heading h2 { font-size: clamp(38px, 12vw, 48px) !important; }
  .about-letter-intro { font-size: 17px !important; }
  .about-letter-copy { font-size: 16px !important; }
  .about-pullquote { padding: 28px 18px !important; }
  .about-pullquote blockquote { font-size: 32px !important; }
  .about-cta { display: grid !important; grid-template-columns: 1fr !important; }
  .about-cta .button { width: 100% !important; }

  .footer-inner {
    padding: 22px max(16px, env(safe-area-inset-right)) 22px max(16px, env(safe-area-inset-left)) !important;
    font-size: 14px !important;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 390px) {
  .header-wordmark { font-size: 22px !important; }
  .header-my-hive { font-size: 10px !important; }
  .approved-hero-stage,
  .own-hero-stage,
  .sponsor-hero-stage { min-height: 810px !important; }
  .approved-hero-copy,
  .own-hero-copy,
  .sponsor-hero-copy { left: 10px !important; width: calc(100% - 20px) !important; }
  .faq-live-item summary { font-size: 14px !important; }
  .about-photo-frame { height: 420px !important; }
}

@media (max-width: 340px) {
  .header-inner { grid-template-columns: minmax(0,1fr) auto 40px !important; gap: 7px !important; }
  .header-wordmark { font-size: 20px !important; }
  .header-my-hive { font-size: 9px !important; }
  .menu-toggle { width: 40px !important; height: 40px !important; }
  .approved-hero-copy,
  .own-hero-copy,
  .sponsor-hero-copy { padding-left: 11px !important; padding-right: 11px !important; }
  .faq-live-item summary { padding-left: 10px !important; padding-right: 10px !important; }
}

@media (max-width: 1100px) and (orientation: landscape) {
  .approved-hero-stage,
  .own-hero-stage,
  .sponsor-hero-stage { min-height: 620px !important; }
  .approved-hero-copy,
  .own-hero-copy,
  .sponsor-hero-copy {
    left: 4% !important;
    top: 5% !important;
    width: min(46%, 440px) !important;
    padding: 14px !important;
  }
}


/* ================================================================
   FINAL OVERRIDE — Sponsor hero heading is live text on all devices.
   This block intentionally comes last so earlier image-title and
   responsive rules cannot replace, crop, or restyle the headline.
   ================================================================ */
.sponsor-hive-page .sponsor-hero-title {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 0 .22em !important;
  overflow: visible !important;
  font-family: "Chicle", "Cooper Black", "Bookman Old Style", Georgia, serif !important;
  font-size: clamp(58px, 5.15cqw, 86px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: .91 !important;
  letter-spacing: -.018em !important;
  text-align: center !important;
  text-rendering: optimizeLegibility;
}
.sponsor-hive-page .sponsor-hero-title-line {
  display: block !important;
  width: 100% !important;
  overflow: visible !important;
  white-space: nowrap !important;
}
.sponsor-hive-page .sponsor-hero-title-line--brown {
  color: var(--hh-brown) !important;
}
.sponsor-hive-page .sponsor-hero-title-line--olive {
  margin-top: .02em !important;
  padding-bottom: .14em !important;
  color: var(--hh-olive) !important;
}

@media (min-width: 768px) and (max-width: 1180px) {
  .sponsor-hive-page .sponsor-hero-title {
    font-size: clamp(54px, 6.2vw, 74px) !important;
    line-height: .92 !important;
  }
}

@media (max-width: 767px) {
  .sponsor-hive-page .sponsor-hero-title {
    width: 100% !important;
    max-width: 430px !important;
    font-size: clamp(54px, 15.2vw, 74px) !important;
    line-height: .92 !important;
    letter-spacing: -.014em !important;
  }
  .sponsor-hive-page .sponsor-hero-title-line--olive {
    padding-bottom: .18em !important;
  }
}

@media (max-width: 390px) {
  .sponsor-hive-page .sponsor-hero-title {
    font-size: clamp(50px, 14.8vw, 61px) !important;
  }
}

@media (max-width: 340px) {
  .sponsor-hive-page .sponsor-hero-title {
    font-size: 48px !important;
    letter-spacing: -.02em !important;
  }
}
