/* Thrive Hive — scoped to this layout. Fonts match the supplied mockup. */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,500&family=Lora:ital,wght@0,400;0,500;0,600;1,400&display=swap');

.th-page {
  --th-sage:#8f9d7c; --th-sage-dark:#6f7f5f; --th-olive:#333a24;
  --th-cream:#f3ead6; --th-board:#ece0c4; --th-gold:#e2a13a;
  --th-teal:#5f7d78; --th-rust:#934c2e;
  color:var(--th-olive); background:var(--th-sage);
  background-image:radial-gradient(rgba(0,0,0,.03) 1px,transparent 1px);
  background-size:14px 14px;
  font-family:'Lora',Georgia,serif; font-size:16px; line-height:1.6;
  width:100%; max-width:none; margin:0;
}
.th-page *, .th-page *::before, .th-page *::after { box-sizing:border-box; }
.th-page > .kt-inside-inner-col { padding:0; }
.th-page p { margin:0; }
.th-page h1,.th-page h2,.th-page h3,.th-page h4 {
  font-family:'Fraunces',Georgia,serif; color:var(--th-olive);
  font-weight:700; line-height:1.2; margin:0;
}
.th-page a { color:inherit; text-underline-offset:4px; }
.th-page a:hover { text-decoration:underline; }
.th-page a:focus-visible { outline:3px solid var(--th-olive); outline-offset:5px; }
.th-page [id] { scroll-margin-top:30px; }
.th-page .th-wrap { width:100%; max-width:1080px; margin-left:auto; margin-right:auto; padding-left:24px; padding-right:24px; }
/* Override Kadence's row defaults while preserving native grid block controls. */
.th-page .th-row > .kt-row-column-wrap { padding:0; max-width:none; margin:0; display:grid; min-width:0; }
.th-page .wp-block-kadence-column { min-width:0; }
.th-page .th-row { margin-top:0; margin-bottom:0; }
.th-page .th-row > .kt-row-column-wrap > .wp-block-kadence-column { grid-column:auto; }
.th-page .th-nav { max-width:1080px; margin:0 auto; padding:22px 24px; border-bottom:1px solid rgba(51,58,36,.25); }
.th-page .th-nav > .kt-row-column-wrap { grid-template-columns:auto 1fr; gap:26px; align-items:center; }
.th-page .th-logo { font-family:'Fraunces',Georgia,serif; font-style:italic; font-weight:500; font-size:22px; }
.th-page .th-logo a { text-decoration:none; }
.th-page .th-nav-links > .kt-inside-inner-col { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px 26px; }
.th-page .th-nav-links p { font-size:14px; letter-spacing:.5px; }
.th-page .th-nav-links a { display:inline-block; padding:5px 0; text-decoration:none; font-weight:500; }
.th-page .th-nav-links a:hover { text-decoration:underline; }
.th-page .th-hero { text-align:center; padding:60px 24px 34px; }
.th-page .th-eyebrow { color:var(--th-olive); font-size:13px; letter-spacing:2px; text-transform:uppercase; font-weight:600; margin-bottom:6px; }
.th-page .th-hero h1 { font-size:clamp(42px,7vw,74px); line-height:1.03; margin:6px auto 14px; }
.th-page .th-lede { font-size:18px; max-width:540px; margin:0 auto 24px; color:#3d452e; line-height:1.6; }
.th-page .th-flourish { display:flex; align-items:center; justify-content:center; gap:14px; margin:20px auto; color:var(--th-olive); font-size:25px; line-height:1; }
.th-page .th-flourish::before,.th-page .th-flourish::after { content:''; width:80px; height:1px; background:var(--th-sage-dark); opacity:.6; }
.th-page .th-buttons { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:center; margin:0; }
.th-page .th-button .wp-block-button__link { display:inline-block; font-family:inherit; background:var(--th-olive); color:var(--th-cream); border:1.5px solid var(--th-olive); padding:13px 29px; border-radius:40px; font-size:15px; letter-spacing:.4px; line-height:1.6; text-decoration:none; font-weight:600; box-shadow:3px 3px 0 var(--th-sage-dark); }
.th-page .th-button.th-ghost .wp-block-button__link { background:transparent; color:var(--th-olive); box-shadow:none; }
.th-page .th-button a:hover { filter:brightness(.93); text-decoration:underline; }
.th-page .th-banner { background:var(--th-cream); border:2px dotted var(--th-olive); border-radius:26px; max-width:840px; margin:34px auto; padding:24px 30px; }
.th-page .th-banner > .kt-inside-inner-col { display:flex; align-items:center; gap:20px; justify-content:center; text-align:center; }
.th-page .th-banner p { font-size:18px; }
.th-page .th-banner b { font-family:'Fraunces',Georgia,serif; }
.th-page .th-banner > .kt-inside-inner-col::before { content:''; flex:0 0 34px; height:34px; background:var(--th-teal); mask:var(--th-coffee) center/contain no-repeat; -webkit-mask:var(--th-coffee) center/contain no-repeat; }
.th-page .th-events { padding-top:48px; padding-bottom:48px; }
.th-page .th-section-head { text-align:center; margin-bottom:34px; }
.th-page .th-section-head h2 { font-size:34px; margin:0 0 6px; }
.th-page .th-board { background:var(--th-board); border-radius:20px; padding:44px 30px 40px; }
.th-page .th-cards > .kt-row-column-wrap { grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; align-items:stretch; }
.th-page .th-card { background:var(--th-cream); border:1.5px solid rgba(51,58,36,.35); border-radius:14px; box-shadow:4px 5px 0 rgba(51,58,36,.12); overflow:hidden; position:relative; padding:0 0 20px; }
.th-page .th-card::before { content:''; width:10px; height:10px; border-radius:50%; background:var(--th-gold); position:absolute; top:9px; left:50%; transform:translateX(-50%); box-shadow:0 2px 3px rgba(0,0,0,.25); z-index:2; }
.th-page .th-date { background:#496460; color:var(--th-cream); text-align:center; padding:14px 0 10px; font-family:'Fraunces',Georgia,serif; }
.th-page .th-date-day { font-size:26px; line-height:1; font-weight:700; }
.th-page .th-date-month { font-size:12px; letter-spacing:2px; text-transform:uppercase; margin-top:3px; }
.th-page .th-card-body { padding:16px 18px 0; }
.th-page .th-card .th-day { font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--th-rust); font-weight:600; margin-bottom:6px; }
.th-page .th-card h3 { font-size:19px; margin:0 0 8px; }
.th-page .th-card p { font-size:13.5px; color:#4a5236; line-height:1.5; }
.th-page .th-card .th-date p { color:var(--th-cream); }
.th-page .th-card .th-date-day { font-size:26px; line-height:1; }
.th-page .th-card .th-date-month { font-size:12px; }
.th-page .th-card .th-meta { margin-top:12px; font-size:12.5px; color:#535e43; }
.th-page .th-card .th-tag { display:inline-block; margin-top:12px; font-size:11px; letter-spacing:.5px; background:rgba(226,161,58,.2); color:#705010; padding:3px 10px; border-radius:20px; font-weight:600; }
.th-page .th-board-cta { text-align:center; margin-top:34px; }
.th-page .th-board-cta a { font-weight:600; text-decoration:underline; text-decoration-color:#95630f; }
.th-page .th-weekly { background:var(--th-cream); border-radius:18px; padding:34px 30px; margin-top:30px; }
.th-page .th-weekly h3 { font-size:22px; text-align:center; margin:0 0 22px; }
.th-page .th-weekly-grid > .kt-row-column-wrap { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.th-page .th-weekly-item { text-align:center; }
.th-page .th-weekly-item h4 { font-size:15px; margin:0 0 3px; }
.th-page .th-weekly-item p { font-size:12.5px; color:#535c3e; }
.th-page .th-weekly-item > .kt-inside-inner-col::before { content:''; display:block; width:52px; height:52px; border-radius:50%; background-color:var(--th-board); border:1.5px solid var(--th-olive); margin:0 auto 10px; background-image:var(--th-icon); background-repeat:no-repeat; background-size:24px 24px; background-position:center; }
.th-page .th-community { padding-top:20px; padding-bottom:44px; }
.th-page .th-community > .kt-row-column-wrap { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; align-items:center; }
.th-page .th-community h2 { font-size:32px; margin:6px 0 14px; }
.th-page .th-community-text p:not(.th-eyebrow) { font-size:16px; color:#3d452e; line-height:1.65; margin:0 0 14px; }
.th-page .th-community .th-buttons { justify-content:flex-start; margin-top:20px; }
.th-page .th-photo { min-height:280px; background:var(--th-board); border-radius:18px; border:2px dotted var(--th-olive); display:flex; align-items:center; justify-content:center; color:#535e43; font-size:14px; text-align:center; padding:20px; }
.th-page .th-photo img { display:block; width:100%; height:280px; object-fit:cover; border-radius:16px; }
.th-page .th-quote { text-align:center; max-width:720px; margin:20px auto 10px; padding:40px 24px; }
.th-page .th-quote-text { font-family:'Fraunces',Georgia,serif; font-style:italic; font-size:24px; line-height:1.4; margin:0 0 14px; }
.th-page .th-who { font-size:14px; color:var(--th-olive); letter-spacing:.5px; }
.th-page .th-footer { background:var(--th-olive); color:var(--th-cream); padding:44px 0 30px; margin-top:20px; }
.th-page .th-footer-grid > .kt-row-column-wrap { grid-template-columns:2fr 1fr 1fr; gap:30px; }
.th-page .th-footer .th-logo { color:var(--th-cream); margin-bottom:8px; }
.th-page .th-footer p { font-size:14px; color:#d9d3bd; line-height:1.6; }
.th-page .th-footer .th-logo { font-size:22px; }
.th-page .th-footer h3 { font-family:'Lora',Georgia,serif; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:var(--th-gold); margin:0 0 10px; }
.th-page .th-footer-links p { margin-bottom:6px; }
.th-page .th-footer a { text-decoration:none; }
.th-page .th-footer a:hover { text-decoration:underline; }
.th-page .th-footer a:focus-visible { outline-color:var(--th-cream); }
.th-page .th-footer .th-foot-bottom { text-align:center; font-size:12px; color:#c4c1aa; margin:34px 24px 0; border-top:1px solid rgba(255,255,255,.12); padding-top:18px; }
.th-page .th-visit { padding-top:30px; padding-bottom:44px; text-align:center; }
.th-page .th-visit h2 { font-size:32px; margin-bottom:16px; }
@media(max-width:1024px) {
  .th-page .th-cards > .kt-row-column-wrap { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .th-page .th-nav > .kt-row-column-wrap { grid-template-columns:1fr; gap:12px; text-align:center; }
  .th-page .th-nav-links > .kt-inside-inner-col { justify-content:center; }
}
@media(max-width:767px) {
  .th-page .th-community > .kt-row-column-wrap { grid-template-columns:1fr; gap:26px; }
  .th-page .th-weekly-grid > .kt-row-column-wrap { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .th-page .th-footer-grid > .kt-row-column-wrap { grid-template-columns:1fr; }
}
@media(max-width:640px) {
  .th-page .th-wrap { padding-left:20px; padding-right:20px; }
  .th-page .th-hero { padding:44px 20px 24px; }
  .th-page .th-hero h1 { font-size:clamp(36px,9vw,52px); }
  .th-page .th-nav-links > .kt-inside-inner-col { gap:4px 16px; }
  .th-page .th-banner { padding:22px 18px; margin:24px auto; }
  .th-page .th-banner > .kt-inside-inner-col { flex-direction:column; gap:12px; }
  .th-page .th-banner > .kt-inside-inner-col::before { width:34px; flex-basis:34px; }
  .th-page .th-cards > .kt-row-column-wrap { grid-template-columns:1fr; }
  .th-page .th-board { padding:30px 20px; }
  .th-page .th-weekly { padding:28px 20px; }
  .th-page .th-events { padding-top:30px; padding-bottom:30px; }
}

/* Decorative artwork from the supplied HTML; no SVG uploads required. */
.th-page { --th-coffee:url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22%235f7d78%22%20stroke-width%3D%221.6%22%20viewbox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4%209h13v5a4%204%200%200%201-4%204H8a4%204%200%200%201-4-4V9z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M17%2010h2a2%202%200%200%201%200%204h-2%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E"); }
.th-page .th-icon-0 { --th-icon:url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22%235f7d78%22%20stroke-width%3D%221.6%22%20viewbox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4%209h13v5a4%204%200%200%201-4%204H8a4%204%200%200%201-4-4V9z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M17%2010h2a2%202%200%200%201%200%204h-2%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E"); }
.th-page .th-icon-1 { --th-icon:url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22%235f7d78%22%20stroke-width%3D%221.6%22%20viewbox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M6%203v7a6%206%200%200%200%2012%200V3%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M12%2016v5%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E"); }
.th-page .th-icon-2 { --th-icon:url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22%235f7d78%22%20stroke-width%3D%221.6%22%20viewbox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22%3E%3C%2Fcircle%3E%3Cpath%20d%3D%22M4%2020c0-4%204-6%208-6s8%202%208%206%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E"); }
.th-page .th-icon-3 { --th-icon:url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22%235f7d78%22%20stroke-width%3D%221.6%22%20viewbox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%203v18M3%208l9-5%209%205M5%2010v7h14v-7%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E"); }
