/* ============================================================
   BELOW-FOLD + INNER PAGE CSS — preloaded, not render-blocking.
   Critical above-fold rules (vars, reset, nav, hero) live in
   client-critical.css.
   ============================================================ */

html, body { overflow-x: clip; }

.vine-svg path{ transition:stroke-dashoffset 2.4s cubic-bezier(.16,1,.3,1) }

.mobile-nav-close-wrap{border-bottom:none !important; width:0 !important; height:0 !important; overflow:visible !important}
.mobile-nav-close{
  position:absolute;top:10px;right:20px;width:44px;height:44px;
  background:transparent;border:0;cursor:pointer;padding:0;
  display:none;align-items:center;justify-content:center;color:var(--cream);
  transition:transform .25s ease;
}
.mobile-nav-close:hover{transform:rotate(90deg)}
.mobile-nav-close svg{width:22px;height:22px;display:block}
@media (max-width:768px),(hover:none) and (pointer:coarse) and (max-height:500px){
  .mobile-nav-close{display:flex}
}

/* ============ INTRO (journal entry) ============ */
.intro{padding:var(--sec-y) 0; background:var(--cream)}
.intro-inner{max-width:820px; margin:0 auto; text-align:left}
.intro-heading{font-style:italic; color:var(--teal-dark); font-size:clamp(1.6rem,3vw,2.1rem); margin-bottom:16px}
.intro-photo{margin:30px 0 34px; text-align:center}
.intro-photo-mat{display:inline-block; max-width:100%; background:var(--cream); padding:12px 12px 38px; box-shadow:0 24px 50px rgba(28,37,41,.18); transform:rotate(-1deg)}
.intro-photo img{width:100%; height:auto; max-width:560px; aspect-ratio:1500/604; object-fit:cover; display:block; filter:sepia(.12) saturate(1.05)}
.intro-photo-cap{display:block; text-align:center; font-family:var(--font-head); font-style:italic; color:var(--ink); font-size:14px; margin-top:10px}
.intro p:last-of-type{font-style:italic; color:var(--teal-dark); border-top:1px solid rgba(28,37,41,.15); padding-top:18px; margin-top:18px}

/* ============ PAIN SPINE (dark, vine grows down) ============ */
.spine-section{background:var(--ink); color:var(--cream); padding:calc(var(--sec-y) + 10px) 0}
.spine-wrap{position:relative}
.vine-svg{position:absolute; left:50%; top:0; bottom:0; width:40px; height:100%; transform:translateX(-50%); z-index:0}
.entries-list{position:relative}
.entry{position:relative; z-index:1; display:grid; grid-template-columns:1fr 60px 1fr; align-items:center; gap:0; padding:34px 0}
.entry-copy{max-width:520px; grid-row:1}
.entry-photo{grid-row:1}
.entry.right .entry-copy{grid-column:1; text-align:right; justify-self:end}
.entry.right .entry-photo{grid-column:3}
.entry.left .entry-copy{grid-column:3; justify-self:start}
.entry.left .entry-photo{grid-column:1; justify-self:end}
.entry-mark{grid-column:2; grid-row:1; justify-self:center; width:22px; height:22px; border-radius:50%; background:var(--ochre); border:3px solid var(--ink); box-shadow:0 0 0 1px rgba(251,247,236,.3)}
.entry-dateline{font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--ochre-light); font-weight:700; display:block; margin-bottom:10px}
.entry h3{font-size:clamp(1.1rem, 2.3vw, 1.6rem); font-style:italic; color:var(--white)}
.entry p{color:rgba(251,247,236,.78); font-size:1rem}
.entry-photo{width:100%; max-width:310px}
.entry-photo-mat{background:var(--cream); padding:8px 8px 24px; transform:rotate(1.5deg); box-shadow:0 14px 34px rgba(0,0,0,.35)}
.entry.left .entry-photo-mat{transform:rotate(-1.5deg)}
.entry-photo-mat img{width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; filter:sepia(.12) saturate(1.05)}
.spine-disclaimer{position:relative; z-index:1; text-align:center; max-width:640px; margin:26px auto 0; font-size:13.5px; font-style:italic; color:rgba(251,247,236,.55); padding:0 24px}

/* ============ BRIDGE — specimen card, image right half ============ */
.bridge{background:var(--ink-2); padding:var(--sec-y) 0}
.specimen-card{
  background:var(--cream); color:var(--ink); max-width:1000px; margin:0 auto;
  transform:rotate(-.6deg); box-shadow:0 40px 80px rgba(0,0,0,.35);
  display:grid; grid-template-columns:1fr 1fr;
}
.specimen-copy{padding:52px 48px; display:flex; flex-direction:column; justify-content:center}
.specimen-copy h2{font-size:clamp(1.7rem,3vw,2.3rem); font-style:italic; color:var(--teal-dark); max-width:16ch}
.specimen-copy p{font-size:1rem; max-width:420px}
.specimen-photo{position:relative; padding:20px 20px 20px 0}
.specimen-photo-inner{position:relative; height:100%}
.specimen-photo img{width:100%; height:100%; object-fit:cover; border:6px solid var(--cream); box-shadow:0 10px 26px rgba(0,0,0,.2)}
.specimen-cap{position:absolute; bottom:8px; right:20px; background:var(--cream); font-family:var(--font-head); font-style:italic; font-size:14px; padding:3px 10px; color:var(--ink)}

/* ============ BIO — 50/50, photo left / notebook page right ============ */
.bio{display:grid; grid-template-columns:1fr 1fr; align-items:stretch; background:var(--ink); min-height:560px}
.bio-photo{position:relative}
.bio-photo img{width:100%; height:100%; object-fit:cover; object-position:50% 15%}
.bio-scrim{position:absolute; inset:0; background:linear-gradient(90deg, rgba(28,37,41,.15) 0%, rgba(28,37,41,0) 40%)}
.bio-page{position:relative; z-index:1; background:var(--cream-dim); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:var(--sec-y) 56px}
.bio-page h2{font-style:italic; color:var(--teal-dark); font-size:2rem}
.bio-page p{font-size:1rem}

/* ============ DECLARATION (ledger continuation) ============ */
.ledger-declaration{background:var(--cream); padding:var(--sec-y) 0}
.ledger-declaration .container{max-width:760px}
.ledger-rule{border:none; border-top:1px solid rgba(28,37,41,.2); margin:26px 0}
.ledger-declaration h2{font-style:italic; color:var(--teal-dark); font-size:2.1rem}
.ledger-declaration h3{font-style:italic; color:var(--ochre); font-size:1.4rem; margin-top:6px}
.ledger-line{font-weight:700; font-size:1.2rem; margin-top:10px; color:var(--ink)}

/* ============ SPECIALTY INDEX (specimen cards) ============ */
.index-section{background:var(--ink); color:var(--cream); padding:var(--sec-y) 0}
.index-section .kicker{color:var(--ochre-light)}
.index-section h2{font-style:italic; color:var(--white); margin-bottom:36px}
.index-cards{display:grid; grid-template-columns:repeat(2,1fr); gap:24px; list-style:none; margin:0; padding:0}
.index-card{
  position:relative; background:var(--ink-2); border:1px solid rgba(251,247,236,.16);
  padding:38px 34px 32px; transition:transform .3s cubic-bezier(.16,1,.3,1), border-color .3s ease;
}
.index-card::before{content:''; position:absolute; top:0; left:34px; width:32px; height:3px; background:var(--ochre)}
.index-card svg{color:var(--ochre-light); margin-bottom:16px}
.index-card h3{font-size:1.5rem; font-style:italic; color:var(--cream); margin:0}
.index-card a, .index-card span{display:block}
.index-card:hover{transform:translateY(-5px); border-color:var(--ochre-light)}
.index-card:hover h3{color:var(--ochre-light)}
.index-card--soon{opacity:.6}
.index-card--soon:hover{transform:none; border-color:rgba(251,247,236,.16)}
.index-card--soon:hover h3{color:var(--cream)}
.index-card--soon span{cursor:default}

/* ============ OUTCOMES (growth timeline — sprout to bloom) ============ */
.growth-log{background:var(--cream); padding:var(--sec-y) 0}
.growth-log .container{max-width:1440px}
.growth-log h2{font-style:italic; color:var(--teal-dark); text-align:center; margin-bottom:8px}
.growth-log .kicker{display:block; text-align:center; margin-bottom:14px}
.timeline{position:relative; display:grid; grid-template-columns:repeat(4,1fr); column-gap:36px; margin-top:56px; padding:0 30px}
.timeline-rule{position:absolute; left:30px; right:30px; top:19px; height:2px; background:var(--ochre); opacity:.4}
.timeline-endpoint{position:absolute; top:2px; width:36px; height:36px; display:flex; align-items:center; justify-content:center; color:var(--ochre-light)}
.timeline-endpoint.start{left:-14px}
.timeline-endpoint.end{right:-14px}
.timeline-col{position:relative; text-align:center}
.timeline-dot{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:50%; background:var(--ink); border:3px solid var(--ochre);
  position:relative; z-index:1; margin-bottom:18px; color:var(--ochre-light);
}
.timeline-body{background:var(--cream-dim); padding:20px 20px 22px; position:relative}
.timeline-body::before{content:''; position:absolute; top:0; left:20px; width:26px; height:3px; background:var(--ochre)}
.timeline-col h3{font-size:1.1rem; font-style:italic; color:var(--teal-dark); margin-bottom:12px}
.timeline-col p{font-size:1.02rem; line-height:1.7; text-align:left; color:var(--ink); margin:0}

/* ============ FINAL CTA (homepage + template-parts/final-cta.php reuse) ============ */
.final-cta{position:relative; color:var(--cream); padding:var(--sec-y) 0; overflow:hidden; background:var(--ochre)}
.final-cta-bg{position:absolute; inset:0; z-index:0}
.final-cta-bg img{width:100%; height:100%; object-fit:cover; filter:sepia(.12) saturate(1.05)}
.final-cta-scrim{position:absolute; inset:0; z-index:0; background:linear-gradient(120deg, rgba(181,128,58,.94) 0%, rgba(181,128,58,.88) 45%, rgba(140,96,42,.82) 100%)}
.final-grid{position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start}
.final-copy h2{color:var(--white); font-style:italic; font-size:clamp(1.4rem,2vw,1.9rem)}
.final-copy p{color:rgba(251,247,236,.92); max-width:460px}
.final-right{display:flex; flex-direction:column; align-items:center; gap:26px}
.contact-direct{display:flex; flex-wrap:wrap; gap:22px; margin:14px 0 0; font-weight:700; color:var(--white)}
.contact-direct a{border-bottom:1px solid transparent}
.contact-direct a:hover{border-color:var(--white)}
.notecard{
  background:var(--cream); color:var(--ink); padding:36px; max-width:520px; width:100%;
  box-shadow:0 30px 60px rgba(0,0,0,.28); position:relative; transform:rotate(.6deg);
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%);
}
.notecard h3{color:var(--teal-dark); font-style:italic; font-size:1.3rem}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px}
.form-field{display:flex; flex-direction:column; gap:6px}
.form-field label{font-size:11.5px; font-weight:700; color:var(--teal-dark); text-transform:uppercase; letter-spacing:.08em}
.form-field input, .form-field textarea{
  font-family:var(--font-body); font-size:15px; padding:11px 13px;
  border:none; border-bottom:1.5px solid rgba(28,37,41,.35); border-radius:0; background:transparent; color:var(--ink);
}
.form-field textarea{resize:vertical; min-height:84px}
.form-field input:focus, .form-field textarea:focus{outline:none; border-color:var(--ochre)}
.form-captcha{font-size:13.5px; color:rgba(28,37,41,.6); margin-bottom:16px}

/* ============ FOOTER ============ */
.footer{background:var(--ink); color:rgba(251,247,236,.7); padding:40px 0 24px; border-top:1.5px solid rgba(251,247,236,.15)}
.footer-inner{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px}
.footer-brand{display:flex; align-items:center; gap:10px; font-family:var(--font-head); font-style:italic; color:var(--cream); font-size:18px}
.footer-brand img{height:30px; width:auto}
.footer-mid{display:flex; align-items:center; flex-wrap:wrap; gap:22px; font-size:13px}
.footer-mid a:hover{color:var(--ochre-light)}
.footer-mid img{height:26px; width:auto}
.footer-social{display:flex; gap:14px}
.footer-social a{width:32px; height:32px; border:1px solid rgba(251,247,236,.3); display:flex; align-items:center; justify-content:center; transition:border-color .2s ease}
.footer-social a:hover{border-color:var(--ochre-light); color:var(--ochre-light)}
.footer-bottom{margin-top:22px; padding-top:18px; border-top:1px solid rgba(251,247,236,.12); display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-size:12px}

/* ============================================================
   INNER PAGE CONTENT SYSTEM (Service / Specialty / About / Bio / FAQ)
   ============================================================ */
.inner-content{padding:var(--sec-y) 0; background:var(--cream)}
.inner-lead{margin:0; text-align:left}
.inner-lead h2{font-family:var(--font-head); font-style:normal; font-weight:600; color:var(--bark, var(--teal-dark)); font-size:clamp(1.7rem,3vw,2.3rem); line-height:1.15}

.service-body > h2,
.service-body > .svc-img-section{margin-top:clamp(46px,7vw,84px)}
.service-body > .inner-lead{margin-top:0}
.service-body h2{font-style:italic; color:var(--teal-dark); font-size:clamp(1.5rem,2.6vw,2rem)}
.service-body p{font-size:1.02rem}
.service-body em{color:var(--ochre); font-style:italic}

.svc-img-section{margin:0; display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:stretch}
.svc-img-section--reverse{grid-template-columns:1fr 1fr}
.svc-img-section--reverse .svc-text-col{order:2}
.svc-img-section--reverse .svc-img-col{order:1}
.svc-text-col{display:flex; flex-direction:column; justify-content:center}
.svc-img-col img{width:100%; height:100%; object-fit:cover; min-height:280px}

.svc-closing{margin-top:clamp(46px,7vw,84px); max-width:760px}
.svc-closing p:last-of-type{font-style:italic; color:var(--teal-dark); border-top:1px solid rgba(28,37,41,.15); padding-top:18px; margin-top:18px}

/* Bio page (About Alana / About Amber) */
.bio-page-hero{display:grid; grid-template-columns:300px 1fr; gap:56px; align-items:center; margin-bottom:clamp(40px,6vw,64px)}
.bio-page-photo{position:relative}
.bio-page-photo-mat{
  background:var(--cream); padding:14px 14px 46px; transform:rotate(-2deg);
  box-shadow:0 30px 60px rgba(28,37,41,.28); max-width:300px; margin:0 auto;
  position:relative; z-index:1;
}
.bio-page-photo-mat img{width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; display:block; filter:sepia(.08) saturate(1.05)}
.bio-page-photo-cap{display:block; text-align:center; font-family:var(--font-head); font-style:italic; color:var(--ink); font-size:14px; margin-top:10px}
.bio-page-photo::before{
  content:''; position:absolute; top:16px; left:-16px; right:16px; bottom:-16px;
  background:var(--sage); opacity:.5; transform:rotate(2deg); z-index:0;
}
.bio-page-credentials{font-size:.95rem; color:var(--teal-dark); font-weight:600; margin-top:6px}

/* Contact page */
body.page-contact .inner-content{background:var(--cream-dim)}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; padding:var(--sec-y) 0}
.contact-grid .notecard{background:var(--white)}
.contact-info h2{font-style:italic; color:var(--teal-dark)}
.contact-info-line{margin:18px 0; font-size:1.05rem}
.contact-info-line strong{display:block; font-size:.75rem; text-transform:uppercase; letter-spacing:.1em; color:var(--ochre); margin-bottom:4px}

/* FAQ page — accordion, garden-log styled */
.faq-list{max-width:820px; margin:0 auto}
.faq-item{border-bottom:1.5px solid rgba(28,37,41,.15); padding:22px 0}
.faq-question{display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; font-family:var(--font-head); font-style:italic; font-size:1.25rem; color:var(--teal-dark); background:none; border:0; width:100%; text-align:left; padding:0}
.faq-toggle{flex-shrink:0; width:22px; height:22px; position:relative}
.faq-toggle::before, .faq-toggle::after{content:''; position:absolute; background:var(--ochre); transition:transform .3s cubic-bezier(.22,1,.36,1)}
.faq-toggle::before{left:0; top:50%; width:100%; height:2px; transform:translateY(-50%)}
.faq-toggle::after{top:0; left:50%; width:2px; height:100%; transform:translateX(-50%)}
.faq-item.open .faq-toggle::after{transform:translateX(-50%) rotate(90deg); opacity:0}
.faq-answer{display:grid; grid-template-rows:0fr; transition:grid-template-rows .38s cubic-bezier(.22,1,.36,1)}
.faq-answer-inner{overflow:hidden}
.faq-item.open .faq-answer{grid-template-rows:1fr}
.faq-answer p{padding-top:14px; font-size:1.02rem; color:var(--ink)}

/* Blog */
.blog-hero-lede{font-style:italic; color:rgba(251,247,236,.85); max-width:52ch}
.blog-list{max-width:780px; margin:0 auto; padding:var(--sec-y) 0}
.blog-card{padding:32px 0; border-bottom:1.5px solid rgba(28,37,41,.15)}
.blog-card:first-child{padding-top:0}
.blog-card-date{font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--ochre); font-weight:700}
.blog-card__title{font-style:italic; color:var(--teal-dark); font-size:1.7rem; margin:10px 0}
.blog-card-excerpt{font-size:1.02rem}
.blog-card-more{font-weight:700; font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ochre)}
.single-post-back{display:inline-block; margin-bottom:24px; font-weight:700; font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ochre)}
.single-post-meta{font-size:.85rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(28,37,41,.55); margin-bottom:10px}
.single-post-title{font-style:italic; color:var(--teal-dark); font-size:clamp(2rem,4vw,2.8rem)}
.single-post-body{max-width:720px; margin:0 auto; font-size:1.08rem; line-height:1.85}
.single-post-body p:first-of-type::first-letter{font-family:var(--font-head); font-style:italic; font-size:3.4em; float:left; line-height:.8; padding:6px 8px 0 0; color:var(--ochre)}
.single-post-body h2, .single-post-body h3{font-style:italic; color:var(--teal-dark)}
.single-post-body blockquote{font-style:italic; font-size:1.3rem; border-left:3px solid var(--ochre); padding-left:22px; margin:28px 0; color:var(--teal-dark)}

/* Landing-page-template placeholder (draft, permanent — no visual polish needed here) */

/* ========== MOBILE RESPONSIVE INVARIANTS — DO NOT REMOVE ========== */
@media (max-width: 768px) {
  .brand, .nav-logo { min-width: 0; flex: 1 1 auto; }
  .brand-text, .brand-text small, .nav-logo-text { white-space: normal; min-width: 0; }
  .mobile-toggle, .hamburger { flex-shrink: 0; margin-left: auto; }
  .nav-links > li { white-space: normal; }
  .dropdown-menu, .dropdown, .dropdown li, .dropdown a { white-space: normal; }

  .hero-grid{grid-template-columns:1fr}
  .entry{grid-template-columns:44px 1fr; gap:16px}
  .entry.right .entry-copy, .entry.left .entry-copy{grid-column:2; text-align:left; justify-self:start; order:2}
  .entry.right .entry-photo, .entry.left .entry-photo{grid-column:2; justify-self:start; order:1; max-width:280px}
  .entry-mark{grid-column:1; grid-row:1 / span 2}
  .vine-svg{left:22px; transform:none; width:24px}
  .specimen-card{grid-template-columns:1fr}
  .specimen-photo{padding:0 20px 20px}
  .specimen-copy{padding:40px}
  .bio{grid-template-columns:1fr; min-height:auto}
  .bio-photo{aspect-ratio:4/3}
  .bio-photo img{aspect-ratio:4/3; height:auto}
  .index-cards{grid-template-columns:1fr}
  .final-grid{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr; padding:0; row-gap:32px}
  .timeline-rule, .timeline-endpoint{display:none}
  .timeline-col{text-align:left; display:flex; gap:16px; align-items:flex-start}
  .timeline-dot{flex:0 0 auto; margin-bottom:0}
  .timeline-body{display:flex; flex-direction:column}
  .footer-inner, .footer-bottom{flex-direction:column; align-items:flex-start}
  .svc-img-section, .svc-img-section--reverse{grid-template-columns:1fr}
  .svc-img-section--reverse .svc-text-col, .svc-img-section--reverse .svc-img-col{order:initial}
  .contact-grid{grid-template-columns:1fr; gap:36px}
  .bio-page-hero{grid-template-columns:1fr; text-align:center}
  .bio-page-photo{max-width:220px; margin:0 auto}
  .bio-page-photo-mat{max-width:220px}
  .bio-page-photo::before{display:none}
}

/* ========== DESKTOP NAV — REQUIRED PATTERNS ========== */
.nav-links .dropdown > a.dropdown-toggle {
  cursor: default;
}
.dropdown-menu, .dropdown-menu li { list-style: none; margin: 0; padding: 0; }

/* ========== MOBILE DRAWER SUBMENU ========== */
.nav-links, .nav-links ul, .nav-links .dropdown-menu { list-style: none !important; padding: 0; margin: 0; }
.nav-links li, .nav-links .dropdown-menu li { list-style: none !important; }

@media (max-width:768px),(hover:none) and (pointer:coarse) and (max-height:500px){
  .nav-links .dropdown > .dropdown-menu{
    padding-left:20px; margin:4px 0 8px 0; border-left:2px solid var(--ochre);
  }
  .nav-links .dropdown > .dropdown-menu li a{
    font-size:1rem; font-weight:500; padding:10px 0 10px 16px;
    border-bottom:1px solid rgba(214,164,94,.35);
  }
  .nav-links .dropdown > .dropdown-menu li:last-child a{border-bottom:none}
  /* Mobile-drawer-only expand/collapse affordance — desktop nav stays
     text-only to match the approved mockup exactly (no chevrons there). */
  .nav-links .dropdown > a.dropdown-toggle::after{
    content:''; display:inline-block; width:6px; height:6px; margin-left:6px;
    border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
    transform:rotate(45deg) translateY(-2px);
  }
  .nav-links .dropdown.open > a.dropdown-toggle::after{
    transform:rotate(-135deg) translateY(2px);
  }
}

/* ========== TOUCH-DEVICE ACCESSIBILITY ========== */
@media (hover: none) and (pointer: coarse) {
  button { font-size: 14px !important; }
  .nav-logo, .nav-logo-text { font-size: 14px !important; line-height: 1.3 !important; }
  .nav-links > li > a {
    font-size: 14px !important; min-height: 44px; min-width: 44px;
    padding: 12px 4px !important; box-sizing: border-box;
    display: inline-flex; align-items: center; justify-content: center;
  }
  .dropdown-menu a {
    font-size: 14px !important; min-height: 44px; padding: 12px 0 !important;
    box-sizing: border-box; display: flex; align-items: center;
  }
  .nav-cta, .btn {
    font-size: 14px !important; min-height: 44px; box-sizing: border-box;
    display: inline-flex; align-items: center; justify-content: center;
  }
  .bio-page-credentials, .about-bio-credentials { font-size: 14px !important; line-height: 1.4 !important; }
  .hamburger span { flex-shrink: 0; height: 2px; min-height: 2px; }

  .nav-links .dropdown{ flex-direction:column; align-items:stretch; height:auto; width:100% }
  .nav-links .dropdown > a.dropdown-toggle{ position:relative; display:block; text-align:center; width:100%; padding:12px 36px }

  .footer-brand, .footer-mid, .footer-bottom, .footer-mid a { font-size: 14px !important; }
  .footer a { min-height: 44px; padding: 8px 0; display: inline-block; box-sizing: border-box; }

  a[href^="tel:"], a[href^="mailto:"] {
    min-height: 44px; padding: 12px 0; display: inline-block; box-sizing: border-box;
  }

  .wpforms-form .wpforms-submit,
  .notecard .wpforms-form .wpforms-submit,
  button[type="submit"].wpforms-submit {
    min-height: 44px !important; padding-top: 12px !important; padding-bottom: 12px !important; box-sizing: border-box !important;
  }
  .wpforms-container .wpforms-field-label,
  .wpforms-container .wpforms-field-label.wpforms-field-label,
  .notecard .wpforms-container .wpforms-field-label.wpforms-field-label {
    font-size: 14px !important; line-height: 1.4 !important;
  }

  body.page-privacy-policy .inner-body a,
  body.page-terms-and-conditions .inner-body a,
  body.page-terms-conditions .inner-body a {
    display: inline-block; min-height: 44px; padding: 11px 0; line-height: 1.4; box-sizing: border-box;
  }

  .form-captcha, .spine-disclaimer { font-size: 14px !important; }
}

@media (max-width:520px){
  .nav-logo-text{ font-size:.7rem; line-height:1.15 }
}

@media (max-height:500px) and (orientation:landscape){
  .nav-links{ padding-top:8px }
}

/* ========== LEGAL PAGES: NEVER FADE IN ========== */
body.page-terms-and-conditions .reveal,
body.page-terms-and-conditions .fade-in,
body.page-privacy-policy .reveal,
body.page-privacy-policy .fade-in {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}

/* ========== forceVisible safety net ========== */
@keyframes forceVisible {
  to { opacity: 1; transform: none; }
}
.inner-content,
.contact-grid,
.bio-page-hero,
.faq-list {
  animation: forceVisible 0.01s 8s forwards;
}
