@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Nunito+Sans:wght@400;700&family=Sarina&family=Special+Elite&display=swap');

/* ══════════════════════════════════════
   TEXTUAL TENSION — MASTER CSS
   ══════════════════════════════════════ */

/* ── CSS VARIABLES ── */
:root {
  --tt-navy:   #11365A;
  --tt-teal:   #0088A2;
  --tt-sky:    #5CC4D1;
  --tt-mist:   #C4E2E6;
  --tt-rust:   #D84F24;
  --tt-orange: #E9762C;
  --tt-gold:   #E4A945;
  --tt-sage:   #A8A97F;
  --tt-cream:  #FFFBF0;
  --tt-paper:  #f8f7f4;
}

/* ── GLOBAL ── */
body, .site, .site-content, .entry-content { background-color: #FFFBF0; }
.site-content, .entry-content { padding: 0; margin: 0; }

/* ── SHARED UTILITIES ── */
.tt-section-inner { max-width: 1100px; margin: 0 auto; }
.tt-section-tag { font-family: 'Special Elite', cursive; font-size: .78rem; letter-spacing: .22em; text-transform: uppercase; color: var(--tt-navy); margin-bottom: .75rem; }
.tt-section-title { font-family: 'DM Serif Display', serif; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.1; color: var(--tt-navy); margin-bottom: 1.5rem; }
.tt-section-title em { font-style: italic; color: var(--tt-teal); }
.tt-divider { width: 56px; height: 3px; background: linear-gradient(90deg, var(--tt-rust), var(--tt-orange)); margin-bottom: 1.75rem; }

/* ── NAV ── */
.site-header { padding: 5px 0; }
.main-navigation ul li a {
  font-family: 'DM Serif Display', sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #11365A !important;
}
.main-navigation ul li a:hover {
  font-family: 'Special Elite', cursive !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #11365A !important;
}

/* ── BUTTONS ── */
.tt-btn,
.tt-btn:visited,
.tt-btn:focus,
.tt-btn:active {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .5rem;
  font-family: 'Nunito Sans', sans-serif !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer;
  border: none !important;
  border-radius: 3px !important;
  outline: none !important;
  -webkit-tap-highlight-color: transparent !important;
  transition: transform .2s, background .2s, box-shadow .2s;
}
.tt-btn:hover { transform: translateY(-2px); }
.tt-btn-primary,
.tt-btn-primary:visited,
.tt-btn-primary:focus,
.tt-btn-primary:active {
  background: #D84F24 !important;
  color: #FFFBF0 !important;
  box-shadow: 0 4px 16px rgba(216,79,36,.3) !important;
  text-decoration: none !important;
  padding: 1rem 2.5rem !important;
}
.tt-btn-primary:hover { background: #E9762C !important; box-shadow: 0 6px 24px rgba(216,79,36,.45) !important; color: #FFFBF0 !important; }
.tt-btn-outline,
.tt-btn-outline:visited,
.tt-btn-outline:focus,
.tt-btn-outline:active {
  background: transparent !important;
  color: #11365A !important;
  border: 2px solid #11365A !important;
  text-decoration: none !important;
  padding: 1rem 2.5rem !important;
}
.tt-btn-outline:hover { background: #11365A !important; color: #FFFBF0 !important; }
.tt-form-submit { width: 100% !important; padding: 1rem !important; margin-top: .5rem; }
.wp-block-button__link { font-family: 'DM Serif Display', cursive !important; }

/* ── FULL WIDTH ALL PAGES ── */
.home .site-content,
.home .entry-content,
.home .site-main,
.home article,
.home .entry-header,
.page .site-content,
.page .entry-content,
.page .site-main,
.page article,
.page .entry-header {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ── KEYFRAMES ── */
@keyframes ttFloat   { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes ttSpin    { to { transform: rotate(360deg); } }
@keyframes ttPaperWiggle {
  0%   { transform: translateY(0); }
  25%  { transform: translateY(-4px) rotate(.3deg); }
  55%  { transform: translateY(-3px) rotate(-.15deg); }
  100% { transform: translateY(-4px) rotate(.2deg); }
}

/* ══════════════════════════════════════
   HOME / HERO
   ══════════════════════════════════════ */
.tt-hero { min-height: 80vh; display: flex; align-items: center; position: relative; overflow: hidden; padding: 4rem 2rem 5rem; background: #FFFBF0; }
.tt-hero-bg { position: absolute; inset: 0; background: radial-gradient(ellipse 65% 75% at 85% 55%, rgba(92,196,209,.22) 0%, transparent 65%), radial-gradient(ellipse 45% 55% at 8% 15%, rgba(216,79,36,.12) 0%, transparent 60%), #FFFBF0; }
.tt-hero-bg::before { display: none; }
.tt-hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; max-width: 1100px; margin: 0 auto; width: 100%; }
.tt-hero-eyebrow { font-family: 'Special Elite', cursive; font-size: .85rem; color: #D84F24; letter-spacing: .18em; margin-bottom: 1.25rem; display: flex; align-items: center; gap: .8rem; }
.tt-hero-eyebrow::before { content: ''; width: 28px; height: 2px; background: #D84F24; flex-shrink: 0; }
.tt-hero-title { font-family: 'DM Serif Display', serif; font-size: clamp(3rem, 5.5vw, 5.2rem); line-height: 1.02; color: #11365A; margin-bottom: 1.5rem; }
.tt-hero-title em { font-style: italic; color: #D84F24; }
.tt-hero-subtitle { font-size: 1.05rem; line-height: 1.8; color: #0088A2; max-width: 500px; margin-bottom: 2.5rem; font-family: 'Nunito Sans', sans-serif; }
.tt-hero-subtitle strong { color: #11365A; font-weight: 700; }
.tt-hero-cta { display: flex; gap: 1rem; flex-wrap: wrap; }
.tt-hero-stamp { position: absolute; bottom: 2rem; right: 2rem; font-family: 'Special Elite', cursive; font-size: .78rem; letter-spacing: .18em; text-transform: uppercase; color: #0088A2; opacity: .6; }
.tt-hero-visual { display: flex; justify-content: center; align-items: center; position: relative; }
.tt-logo-float { width: min(220px, 90%); filter: drop-shadow(0 24px 64px rgba(17,54,90,.18)); animation: ttFloat 5s ease-in-out infinite; }
.tt-hero-visual::before { content: ''; position: absolute; width: 400px; height: 400px; border-radius: 50%; border: 1px dashed rgba(92,196,209,.35); animation: ttSpin 45s linear infinite; }
.tt-hero-visual::after { content: ''; position: absolute; width: 290px; height: 290px; border-radius: 50%; border: 1px dashed rgba(216,79,36,.22); animation: ttSpin 30s linear infinite reverse; }

/* ── BOOKSHELF ── */
.tt-bookshelf { background: #11365A; padding: 2rem 1.5rem 0; border-top: 3px solid #D84F24; border-bottom: 3px solid #D84F24; overflow-x: auto; }
.tt-shelf-books { display: flex; align-items: flex-end; justify-content: center; gap: 6px; height: 140px; min-width: 500px; }
.tt-book { border-radius: 2px 2px 0 0; display: flex; align-items: center; justify-content: center; position: relative; box-shadow: 3px 0 6px rgba(0,0,0,.3); flex-shrink: 0; transition: transform .25s ease, box-shadow .25s ease; cursor: pointer; }
.tt-book span { writing-mode: vertical-rl; transform: rotate(180deg); font-family: 'Special Elite', cursive; font-size: 11px; letter-spacing: .1em; text-align: center; padding: 0 4px; }
.tt-book::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 6px; background: rgba(0,0,0,.2); border-radius: 0 0 2px 2px; }
.tt-shelf-board { height: 10px; background: #8B6914; border-radius: 2px; margin-top: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.4); }
@media (hover: hover) and (pointer: fine) {
  .tt-book:hover { transform: translateY(-18px); box-shadow: 4px 12px 18px rgba(0,0,0,.4); }
}

/* ══════════════════════════════════════
   ABOUT
   ══════════════════════════════════════ */
.tt-about { padding: 5rem 2rem; background: #11365A; color: #FFFBF0; position: relative; overflow: hidden; }
.tt-about::before { content: '\201C'; font-family: 'DM Serif Display', serif; font-size: 28rem; line-height: 1; color: rgba(92,196,209,.05); position: absolute; top: -3rem; left: -1.5rem; pointer-events: none; user-select: none; }
.tt-about .tt-section-tag { color: #5CC4D1; }
.tt-about .tt-section-title { color: #FFFBF0; }
.tt-about .tt-section-title em { font-style: italic; color: #5CC4D1; }
.tt-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: start; }
.tt-about-body { font-size: 1rem; line-height: 1.9; color: #C4E2E6; font-family: 'Nunito Sans', sans-serif; }
.tt-about-body p + p { margin-top: 1.2rem; }
.tt-about-body strong { color: #E4A945; font-weight: 700; }
.tt-about-body em { font-style: italic; }
.tt-pull-quote { font-family: 'DM Serif Display', serif; font-size: clamp(1.45rem, 2.5vw, 2rem); font-style: italic; line-height: 1.35; color: #5CC4D1; padding-left: 1.75rem; border-left: 3px solid #D84F24; margin-bottom: 1.5rem; }
.tt-pull-source { font-family: 'Special Elite', cursive; font-size: .75rem; letter-spacing: .15em; color: #ED9E82; padding-left: 1.75rem; }
.tt-reader-tags { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 2rem; align-items: center; justify-content: center; }
.tt-rtag { font-family: 'Special Elite', cursive; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; padding: .5rem 1rem; border: 2.5px solid; font-weight: 700; display: inline-block; }
.tt-rtag-rust  { border-color: #D84F24; color: #D84F24; transform: rotate(-3deg); }
.tt-rtag-sky   { border-color: #5CC4D1; color: #5CC4D1; transform: rotate(2deg); }
.tt-rtag-gold  { border-color: #E4A945; color: #E4A945; transform: rotate(-1.5deg); }
.tt-rtag-peach { border-color: #ED9E82; color: #ED9E82; transform: rotate(3deg); }
.tt-rtag-moss  { border-color: #B9C3B2; color: #B9C3B2; transform: rotate(-2deg); }

/* ══════════════════════════════════════
   FIND US / SCHEDULE
   ══════════════════════════════════════ */
.tt-schedule { padding: 4rem 2rem; background: var(--tt-cream); position: relative; }
.tt-schedule::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--tt-rust), var(--tt-teal), var(--tt-navy)); }
.tt-schedule-intro { max-width: 540px; font-size: 1rem; line-height: 1.75; color: var(--tt-teal); margin-bottom: 3rem; font-family: 'Nunito Sans', sans-serif; }
.tt-schedule-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 3rem; padding: 1.5rem 0 2rem; }
.tt-schedule-card { position: relative; background: var(--tt-paper); padding: 2.25rem 1.75rem 2.5rem; box-shadow: 0 4px 14px rgba(17,54,90,.12), 0 1px 3px rgba(17,54,90,.07); transition: box-shadow .3s; }
.tt-schedule-card:nth-child(1) { transform: rotate(-1.2deg); }
.tt-schedule-card:nth-child(2) { transform: rotate(.7deg); }
.tt-schedule-card:nth-child(3) { transform: rotate(-.4deg); }
.tt-schedule-card:hover { box-shadow: 0 18px 44px rgba(17,54,90,.18), 0 4px 12px rgba(17,54,90,.1); z-index: 10; animation: ttPaperWiggle .4s ease forwards; }
.tt-scard-tape { position: absolute; top: -8px; left: 50%; transform: translateX(-50%) rotate(-1.5deg); width: 54px; height: 20px; background: rgba(228,169,69,.52); z-index: 6; }
.tt-scard-tape::after { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, rgba(255,255,255,.22) 0, rgba(255,255,255,.22) 2px, transparent 2px, transparent 7px); }
.tt-torn-top, .tt-torn-bottom { display: block; position: absolute; left: 0; right: 0; width: 100%; line-height: 0; pointer-events: none; }
.tt-torn-top { top: -11px; }
.tt-torn-bottom { bottom: -11px; transform: scaleY(-1); }
.tt-torn-top svg, .tt-torn-bottom svg { display: block; width: 100%; height: 12px; }
.tt-scard-content { position: relative; z-index: 2; }
.tt-scard-month-badge { display: inline-flex; flex-direction: column; align-items: center; background: var(--tt-navy); padding: .3rem .65rem; border-radius: 2px; margin-bottom: .9rem; }
.tt-scard-month { font-size: .6rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--tt-rust); line-height: 1; padding-bottom: 2px; border-bottom: 1px solid rgba(255,255,255,.15); font-family: 'Nunito Sans', sans-serif; }
.tt-scard-day-num { font-family: 'DM Serif Display', serif; font-size: 1.6rem; line-height: 1; color: var(--tt-cream); }
.tt-scard-event { font-family: 'Special Elite', cursive; font-size: 1.05rem; color: var(--tt-navy); margin-bottom: .5rem; line-height: 1.35; }
.tt-scard-location { font-size: .82rem; color: var(--tt-teal); display: flex; align-items: flex-start; gap: .4rem; margin-bottom: .3rem; line-height: 1.4; font-family: 'Nunito Sans', sans-serif; }
.tt-scard-time { font-size: .78rem; color: var(--tt-sage); font-weight: 700; letter-spacing: .04em; margin-bottom: .9rem; font-family: 'Nunito Sans', sans-serif; }
.tt-scard-link { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--tt-rust); text-decoration: none; border-bottom: 1px solid currentColor; transition: color .2s; font-family: 'Nunito Sans', sans-serif; }
.tt-scard-link:hover { color: var(--tt-orange); }
.tt-scard-empty { font-family: 'Special Elite', cursive; font-size: .9rem; color: var(--tt-sage); font-style: italic; line-height: 1.6; }
.tt-scard-coming { font-family: 'Special Elite', cursive; font-size: .72rem; letter-spacing: .18em; color: var(--tt-sage); margin-bottom: .75rem; text-transform: uppercase; }
.tt-schedule-note { margin-top: 2.5rem; font-family: 'Special Elite', cursive; font-size: .85rem; color: var(--tt-sage); display: flex; align-items: center; gap: .6rem; }

/* ── TABBED EVENTS ── */
.tt-tabs-wrap { margin-top: 2rem; }
.tt-tab-buttons { display: flex; gap: 0; margin-bottom: 1.5rem; border-bottom: 2px solid rgba(17,54,90,.15); }
.tt-tab-btn { font-family: 'Nunito Sans', sans-serif; font-size: .85rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: .6rem 1.4rem; background: transparent; border: none; color: #A8A97F; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: color .2s, border-color .2s; }
.tt-tab-btn.active { color: #11365A; border-bottom: 2px solid #D84F24; }
.tt-tab-btn:hover { color: #11365A; }
.tt-tab-panel { display: none; }
.tt-tab-panel.active { display: block; }
.tt-event-list { display: flex; flex-direction: column; gap: .75rem; }
.tt-event-row { display: grid; grid-template-columns: 64px 1fr auto; align-items: center; gap: 1rem; background: var(--tt-paper); padding: 1rem 1.25rem; border-left: 3px solid var(--tt-rust); transition: border-color .2s; }
.tt-event-row:hover { border-color: var(--tt-teal); }
.tt-ev-badge { display: flex; flex-direction: column; align-items: center; background: var(--tt-navy); padding: .3rem .5rem; border-radius: 2px; text-align: center; }
.tt-ev-month { font-family: 'Nunito Sans', sans-serif; font-size: .55rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--tt-rust); border-bottom: 1px solid rgba(255,255,255,.15); padding-bottom: 2px; margin-bottom: 2px; width: 100%; text-align: center; }
.tt-ev-day { font-family: 'DM Serif Display', serif; font-size: 1.3rem; line-height: 1; color: var(--tt-cream); }
.tt-ev-info h3 { font-family: 'DM Serif Display', serif; font-size: 1rem; color: var(--tt-navy); margin-bottom: .2rem; line-height: 1.3; }
.tt-ev-loc { font-family: 'Nunito Sans', sans-serif; font-size: .78rem; color: var(--tt-teal); margin-bottom: .15rem; line-height: 1.4; }
.tt-ev-time { font-family: 'Nunito Sans', sans-serif; font-size: .72rem; color: var(--tt-sage); font-weight: 700; letter-spacing: .04em; }
.tt-ev-link { font-family: 'Nunito Sans', sans-serif; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--tt-rust); text-decoration: none; border-bottom: 1px solid currentColor; white-space: nowrap; transition: color .2s; }
.tt-ev-link:hover { color: var(--tt-orange); }
.tt-events-coming { font-family: 'Nunito Sans', sans-serif; font-size: .92rem; color: var(--tt-sage); font-style: italic; padding: 1.5rem 0; line-height: 1.7; }

/* ══════════════════════════════════════
   CONTACT
   ══════════════════════════════════════ */
.tt-contact { padding: 5rem 2rem; background: #C4E2E6; position: relative; overflow: hidden; box-sizing: border-box; }
.tt-contact-intro { font-family: 'Nunito Sans', sans-serif; font-size: 1rem; line-height: 1.8; color: #11365A; margin-bottom: 1.5rem; max-width: 100%; }
.tt-contact-links { display: flex; flex-direction: column; gap: .75rem; margin-bottom: 1.5rem; list-style: none !important; padding: 0 !important; }
.tt-contact-link { display: flex !important; align-items: center !important; gap: 1rem; text-decoration: none !important; color: #11365A !important; font-family: 'Nunito Sans', sans-serif; font-weight: 600; font-size: .95rem; transition: color .2s; }
.tt-contact-link:hover { color: #D84F24 !important; }
.tt-contact-icon { width: 42px !important; height: 42px !important; min-width: 42px; background: #11365A !important; border-radius: 50%; display: flex !important; align-items: center !important; justify-content: center !important; color: #FFFBF0 !important; transition: background .2s; }
.tt-contact-link:hover .tt-contact-icon { background: #D84F24 !important; }

/* ── WPFORMS ── */
.wpforms-container { max-width: 680px; background: #ffffff; border-radius: 6px; padding: 2.5rem !important; box-shadow: 0 8px 40px rgba(17,54,90,.12); box-sizing: border-box; }
.wpforms-field-container .wpforms-field { margin-bottom: 1.25rem !important; padding: 0 !important; }
.wpforms-field label.wpforms-field-label { font-family: 'Nunito Sans', sans-serif !important; font-size: .75rem !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: #11365A !important; margin-bottom: .35rem !important; }
.wpforms-field input,
.wpforms-field select,
.wpforms-field textarea { width: 100% !important; padding: .8rem 1rem !important; border: 1.5px solid #C4E2E6 !important; border-radius: 4px !important; font-family: 'Nunito Sans', sans-serif !important; font-size: 1rem !important; color: #11365A !important; background: #FFFBF0 !important; outline: none !important; box-sizing: border-box !important; -webkit-appearance: none !important; appearance: none !important; box-shadow: none !important; }
.wpforms-field input:focus,
.wpforms-field select:focus,
.wpforms-field textarea:focus { border-color: #0088A2 !important; background: #ffffff !important; }
.wpforms-field textarea { min-height: 110px !important; resize: vertical !important; }
.wpforms-field-select select,
.wpforms-field-select-style-classic select { display: block !important; width: 100% !important; height: 48px !important; min-height: unset !important; max-height: 48px !important; overflow: hidden !important; padding: .8rem 2.5rem .8rem 1rem !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2311365A' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 1rem center !important; background-color: #FFFBF0 !important; border: 1.5px solid #C4E2E6 !important; border-radius: 4px !important; font-family: 'Nunito Sans', sans-serif !important; font-size: 1rem !important; color: #11365A !important; -webkit-appearance: none !important; appearance: none !important; cursor: pointer !important; }
.wpforms-field-name .wpforms-field-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 1rem !important; width: 100% !important; float: none !important; overflow: hidden !important; }
.wpforms-field-name .wpforms-field-row::before,
.wpforms-field-name .wpforms-field-row::after { display: none !important; }
.wpforms-field-name .wpforms-field-row-block { float: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; clear: none !important; }
.wpforms-field-name .wpforms-field-row-block:first-child { order: 1 !important; }
.wpforms-field-name .wpforms-field-row-block:last-child { order: 2 !important; }
.wpforms-submit-container { margin-top: .5rem !important; padding: 0 !important; }
.wpforms-form button.wpforms-submit { width: 100% !important; padding: 1rem !important; background: #D84F24 !important; color: #FFFBF0 !important; font-family: 'Nunito Sans', sans-serif !important; font-size: .88rem !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; border: none !important; border-radius: 3px !important; cursor: pointer !important; box-shadow: 0 4px 16px rgba(216,79,36,.3) !important; transition: background .2s, transform .2s !important; }
.wpforms-form button.wpforms-submit:hover { background: #E9762C !important; transform: translateY(-2px) !important; }
.wpforms-confirmation-container-full { font-family: 'Nunito Sans', sans-serif !important; background: #11365A !important; color: #FFFBF0 !important; padding: 1.5rem !important; border-radius: 4px !important; font-size: .95rem !important; line-height: 1.6 !important; }
.wpforms-error-container { font-family: 'Nunito Sans', sans-serif !important; color: #D84F24 !important; font-size: .8rem !important; }
.wpforms-field .wpforms-error { color: #D84F24 !important; font-family: 'Nunito Sans', sans-serif !important; font-size: .78rem !important; margin-top: .3rem !important; }

/* ══════════════════════════════════════
   MOBILE
   ══════════════════════════════════════ */
@media (max-width: 768px) {
  .tt-section-inner { padding: 0; }

  /* Nav */
  #masthead.site-header { padding: 4px 0 !important; }
  #masthead .custom-logo { max-height: 45px !important; width: auto !important; }
  #masthead .site-branding { padding: 4px 0 !important; }

  /* Hero */
  .tt-hero { padding: 2.5rem 1.25rem 3rem; min-height: auto; }
  .tt-hero-inner { grid-template-columns: 1fr; gap: 1.5rem; }
  .tt-hero-visual { display: none; }
  .tt-hero-title { font-size: clamp(2.4rem, 10vw, 3.2rem); }
  .tt-hero-subtitle { font-size: .95rem; margin-bottom: 2rem; }
  .tt-hero-cta { flex-direction: column; gap: .75rem; }
  .tt-btn { width: 100%; justify-content: center; text-align: center; }
  .tt-hero-stamp { display: none; }

  /* Bookshelf */
  .tt-bookshelf { padding: 1.5rem 1rem 0; }
  .tt-shelf-books { gap: 4px; height: 110px; justify-content: flex-start; }
  .tt-book { flex-shrink: 0; }
  .tt-book span { font-size: 10px; letter-spacing: .06em; }

  /* About */
  .tt-about { padding: 3rem 1.25rem; }
  .tt-about-grid { grid-template-columns: 1fr; gap: 2rem; }
  .tt-about-sidebar { display: block; margin-top: 1.5rem; }
  .tt-about-sidebar img { width: 160px !important; height: 160px !important; margin-left: auto; margin-right: auto; }
  .tt-about-body { font-size: .95rem; }
  .tt-reader-tags { display: none; }

  /* Find Us */
  .tt-schedule { padding: 2.5rem 1.25rem; }
  .tt-schedule-grid { grid-template-columns: 1fr; gap: 2.5rem; padding: 1rem 0 1.5rem; }
  .tt-schedule-card:nth-child(1),
  .tt-schedule-card:nth-child(2),
  .tt-schedule-card:nth-child(3) { transform: none; }
  .tt-schedule-card:hover { animation: none; transform: none; box-shadow: 0 8px 24px rgba(17,54,90,.14); }
  .tt-schedule-card { padding: 2rem 1.5rem 2.25rem; max-width: 100%; overflow: hidden; }
  .tt-torn-top svg, .tt-torn-bottom svg { width: 100%; min-width: 0; }
  .tt-schedule-intro { font-size: .93rem; margin-bottom: 2rem; }
  .tt-schedule-note { font-size: .8rem; margin-top: 1.75rem; }

  /* Tabs */
  .tt-event-row { grid-template-columns: 56px 1fr; grid-template-rows: auto auto; }
  .tt-ev-link { grid-column: 2; margin-top: .4rem; display: inline-block; }
  .tt-tab-btn { font-size: .78rem; padding: .5rem 1rem; }

  /* Contact */
  .tt-contact { padding: 3rem 1.25rem; }
  .wpforms-container { padding: 1.75rem 1.25rem !important; }
  .wpforms-field-name .wpforms-field-row { grid-template-columns: 1fr !important; }
}

@media (max-width: 480px) {
  .tt-shelf-books { height: 95px; gap: 3px; }
  .tt-book span { font-size: 9px; }
}
.wpforms-confirmation-container-full p {
  color: #FFFBF0 !important;
}
#wpforms-1322 input[type=text],
#wpforms-1322 input[type=email],
#wpforms-1322 input[type=tel],
#wpforms-1322 textarea,
#wpforms-1322 select {
  border: 1.5px solid #C4E2E6 !important;
  border-radius: 4px !important;
  background: #FFFBF0 !important;
  box-shadow: none !important;
  outline: none !important;
}

#wpforms-1322 input[type=text]:focus,
#wpforms-1322 input[type=email]:focus,
#wpforms-1322 input[type=tel]:focus,
#wpforms-1322 textarea:focus,
#wpforms-1322 select:focus {
  border: 1.5px solid #0088A2 !important;
  box-shadow: none !important;
  outline: none !important;
}

#wpforms-1322 input[type=text]:hover,
#wpforms-1322 input[type=email]:hover,
#wpforms-1322 input[type=tel]:hover,
#wpforms-1322 textarea:hover,
#wpforms-1322 select:hover {
  border: 1.5px solid #0088A2 !important;
  box-shadow: none !important;
}
/* Bigger Flossie image */
.tt-logo-float {
  width: min(480px, 90%) !important;
}

/* Remove the spinning circles */
.tt-hero-visual::before,
.tt-hero-visual::after {
  display: none !important;
}