/* ==========================================================================
   TRIPLE H THE TRASH KINGS - brand.css
   junkremovalfortmyers.net | Fort Myers & Naples, FL

   PALETTE RULE: the raw logo cyan and pink are FILL colors. Both fail WCAG
   as text (#00E4D8 on white = 1.60:1, white on #F0248C = 3.94:1), so each has
   a deepened sibling used wherever text is involved.

   SPECIFICITY NOTE: button rules are scoped '.th .th-btn' on purpose. The link
   rule '.th a' is (0,1,1) and would otherwise beat a bare '.th-btn' (0,1,0),
   repainting every anchor button pink. Do not simplify those selectors.
   ========================================================================== */

:root{
  --cyan:#00E4D8; --cyan-light:#54F0F0; --cyan-pale:#C4FBF8; --cyan-deep:#0B7A76; --cyan-tint:#EEFDFC;
  --pink:#F0248C; --pink-light:#FC309C; --pink-pale:#FFD1E8; --pink-deep:#D6197C; --pink-deeper:#C4136F; --pink-tint:#FFF0F7;
  --ink:#101820; --ink-soft:#46525F; --ink-mute:#6B7885; --line:#E2E9ED; --white:#FFF; --bg:#FFF; --bg-alt:#F7FDFD;
  --outline:#101820;
  --red:#D92D20; --red-soft:#FDECEA; --green:#0B8F5E; --green-soft:#E6F7F0;
  --gold:#F5B301; --gold-deep:#C98A00;
  --grad-brand:linear-gradient(100deg,var(--cyan) 0%,var(--cyan-light) 38%,var(--pink-light) 78%,var(--pink) 100%);
  --h1-size:3.15rem; --h2-size:2.5rem; --h3-size:1.5rem; --h4-size:1.25rem;
  --body-size:1rem; --small-size:.875rem; --btn-size:1rem; --btn-sm-size:.875rem;
  --h1-lh:1.08; --h2-lh:1.15; --h3-lh:1.2; --body-lh:1.6;
  --font-display:"Poppins","Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --section-y:5.5rem; --section-x:2rem; --card-pad:2rem; --btn-pad:1rem 1.75rem; --gap:1.5rem;
  --r-sm:8px; --r:14px; --r-lg:22px; --r-pill:999px;
  --shadow:0 4px 18px rgba(16,24,32,.08); --shadow-lg:0 14px 40px rgba(16,24,32,.14);
  --shadow-pop:4px 4px 0 var(--outline); --shadow-pop-lg:6px 6px 0 var(--outline);
  --header-h:120px;
}
@media(max-width:1024px){:root{--h1-size:2.5rem;--h2-size:2rem;--h3-size:1.375rem;--btn-size:.9375rem;--btn-sm-size:.8125rem;--section-y:4.5rem;--section-x:1.5rem;--card-pad:1.5rem;--header-h:104px}}
@media(max-width:640px){:root{--h1-size:2.05rem;--h2-size:1.75rem;--h3-size:1.25rem;--h1-lh:1.15;--h2-lh:1.25;--h3-lh:1.3;--body-lh:1.7;--btn-size:.875rem;--btn-sm-size:.75rem;--section-y:3.5rem;--section-x:1.25rem;--btn-pad:.875rem 1.25rem;--header-h:88px}}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body.th{margin:0;font-family:var(--font-body);font-size:var(--body-size);line-height:var(--body-lh);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
.th h1,.th h2,.th h3,.th h4{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;color:var(--ink);margin:0 0 .5em}
.th h1{font-size:var(--h1-size);line-height:var(--h1-lh)}
.th h2{font-size:var(--h2-size);line-height:var(--h2-lh)}
.th h3{font-size:var(--h3-size);line-height:var(--h3-lh)}
.th h4{font-size:var(--h4-size)}
.th p{margin:0 0 1rem}
.th a{color:var(--pink-deeper);text-decoration:none}
.th a:hover{text-decoration:underline}
.th [id]{scroll-margin-top:calc(var(--header-h) + 20px)}

.th-section{padding:var(--section-y) var(--section-x)}
.th-section--tint{background:var(--cyan-tint)}
.th-section--pink{background:var(--pink-tint)}
.th-wrap{max-width:1180px;margin:0 auto}
.th-wrap--narrow{max-width:820px;margin:0 auto}
.th-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.th-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap)}
@media(max-width:900px){.th-grid-3,.th-grid-2{grid-template-columns:1fr}}
.th-rule{height:6px;border:0;background:var(--grad-brand);margin:0}
.th-lede{font-size:1.125rem;color:var(--ink-soft);max-width:70ch}
.th-eyebrow{font-family:var(--font-display);font-weight:800;font-size:.8125rem;letter-spacing:.085em;text-transform:uppercase;color:var(--cyan-deep);margin:0 0 .9rem;line-height:1.5}
.th-eyebrow b{color:var(--pink-deeper);font-weight:800}
.th-eyebrow i{font-style:normal;color:var(--ink-mute);padding:0 .15rem}

/* BUTTONS: every CTA button uses WHITE text. No exceptions. */
.th .th-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-display);font-weight:800;font-size:var(--btn-size);padding:var(--btn-pad);border-radius:var(--r-pill);border:2.5px solid var(--outline);cursor:pointer;text-align:center;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease;min-height:50px;color:var(--white)}
.th .th-btn:link,.th .th-btn:visited,.th .th-btn:hover,.th .th-btn:active,.th .th-btn:focus{color:var(--white)}
.th .th-btn:hover{text-decoration:none;transform:translate(-2px,-2px);box-shadow:var(--shadow-pop-lg)}
.th .th-btn:active{transform:translate(0,0);box-shadow:2px 2px 0 var(--outline)}
.th .th-btn:focus-visible{outline:3px solid var(--cyan-deep);outline-offset:3px}
.th .th-btn--primary{background:var(--pink-deep);box-shadow:var(--shadow-pop)}
.th .th-btn--secondary{background:var(--cyan-deep);box-shadow:var(--shadow-pop)}
.th .th-btn--dark{background:var(--ink);box-shadow:4px 4px 0 var(--pink-deep)}
.th .th-btn--sm{font-size:var(--btn-sm-size);padding:.625rem 1.25rem;min-height:44px}
.th .th-btn--full{width:100%}
.th-btn-pair{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.th-btn-pair .th-btn{font-size:clamp(.6875rem,2.5vw,var(--btn-size));padding:.9rem 1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
/* Same specificity trap applies to the sticky bar links. */
.th-callbar a:link,.th-callbar a:visited,.th-callbar a:hover{color:var(--white)}

/* HEADER */
.th-header{position:sticky;top:0;z-index:900;background:var(--white);border-bottom:3px solid var(--outline);height:var(--header-h);display:flex;align-items:center;padding:0 var(--section-x)}
.th-header__in{max-width:1180px;margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.th-header__logo img{height:104px;width:auto;display:block}
@media(max-width:1024px){.th-header__logo img{height:88px}}
@media(max-width:640px){.th-header__logo img{height:76px}}
.th-header__nav{display:flex;align-items:center;gap:1.35rem}
.th-header__nav a.th-header__link{font-family:var(--font-display);font-weight:700;color:var(--ink);font-size:.9375rem}
.th-header__phone{text-align:center;line-height:1.2}
/* Pink pill CTA. '.th-header__phone a' is (0,1,1) so it beats '.th a' on its own,
   but it is written after it in the file too. Do not move it above '.th a'. */
.th-header__phone a{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  background:var(--pink-deep);color:var(--white);border:2.5px solid var(--outline);
  border-radius:var(--r-pill);padding:.65rem 1.15rem;min-height:48px;
  box-shadow:var(--shadow-pop);font-family:var(--font-display);font-weight:900;
  font-size:clamp(.9375rem,3.4vw,1.125rem);white-space:nowrap;letter-spacing:-.01em;
  transition:transform .12s ease,box-shadow .12s ease}
.th-header__phone a:hover{color:var(--white);text-decoration:none;transform:translate(-2px,-2px);box-shadow:var(--shadow-pop-lg)}
.th-header__phone a:active{transform:translate(0,0);box-shadow:2px 2px 0 var(--outline)}
.th-header__phone a:link,.th-header__phone a:visited{color:var(--white)}
.th-header__phone a::before{content:"";width:16px;height:16px;flex:0 0 auto;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.4 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.4 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.4 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.4 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center/contain no-repeat}
.th-header__phone small{display:block;margin-top:.3rem;font-size:.6875rem;color:var(--ink-mute);letter-spacing:.02em}
@media(max-width:1000px){.th-header__nav .th-header__link{display:none}}
@media(max-width:640px){.th-header__phone small{display:none}.th-header__phone a{padding:.6rem .9rem}}

/* HERO: photo is a background texture, not a giant block element */
.th-hero{position:relative;border-bottom:3px solid var(--outline);padding:2.75rem var(--section-x) 3rem;overflow:hidden;background:var(--cyan-tint)}
.th-hero__bg{position:absolute;inset:0;background-image:url('images/garage-cleanout-after-fort-myers-triple-h.jpg');background-size:cover;background-position:center 62%;opacity:.32;z-index:0}
.th-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(96deg,rgba(238,253,252,.97) 0%,rgba(238,253,252,.94) 44%,rgba(238,253,252,.66) 70%,rgba(238,253,252,.48) 100%)}
.th-hero__in{position:relative;z-index:2;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:2.5rem;align-items:start}
@media(max-width:980px){
  .th-hero__in{grid-template-columns:1fr;gap:1.75rem;text-align:center}
  .th-hero::before{background:linear-gradient(180deg,rgba(238,253,252,.96) 0%,rgba(238,253,252,.94) 100%)}
  /* The ch based max-widths were what squeezed this into a narrow column.
     Let the copy run the full width and only cap the button pair. */
  .th-hero__pain,.th-hero__note{max-width:100%;margin-left:auto;margin-right:auto}
  .th-hero__cta{margin-left:auto;margin-right:auto}
  .th-hero .th-eyebrow{max-width:100%;margin-left:auto;margin-right:auto}
  /* Form labels and inputs stay left aligned inside the centered hero. */
  .th-hero .th-formcard{text-align:left}
  .th-hero .th-formcard__h,.th-hero .th-formcard__sub{text-align:center}
}
@media(max-width:640px){
  /* Tighter side padding buys the H1 the room to grow and still hold 3 lines. */
  .th-hero{padding:2rem 1rem 2.5rem}
  .th-hero__in{gap:1.5rem}
  .th-hero h1{font-size:2.3rem;letter-spacing:-.028em}
  .th-hero h1 .accent{font-size:.42em}
  /* Smaller, tighter type pulls the city list from 4 lines down to 2. */
  .th-hero .th-eyebrow{font-size:.6875rem;letter-spacing:.035em;line-height:1.45;margin-bottom:.7rem}
  .th-hero .th-eyebrow i{padding:0 .05rem}
  .th-hero__pain{font-size:1.0625rem}
}
.th-hero h1{margin-bottom:.4em}
.th-hero h1 .accent{color:var(--pink-deeper);display:block;font-size:.4em;letter-spacing:0;margin-top:.4em;font-weight:800}
.th-hero__pain{font-size:1.1875rem;color:var(--ink-soft);max-width:52ch;margin-bottom:1.5rem}
.th-hero__pain strong{color:var(--ink)}
.th-hero__cta{max-width:450px;margin-bottom:1rem}
.th-hero__note{font-size:.875rem;color:var(--ink-mute);margin:0;max-width:52ch}

/* ICON BADGE STRIP: deliberately not pill-shaped so it never reads as a button */
.th-iconbar{background:var(--white);border-bottom:2px solid var(--line);padding:1.75rem var(--section-x)}
.th-iconbar__in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem}
@media(max-width:1100px){.th-iconbar__in{grid-template-columns:repeat(3,1fr);gap:1.25rem}}
@media(max-width:600px){
  .th-iconbar__in{grid-template-columns:repeat(2,1fr);gap:1.5rem 1rem}
  /* Stack icon over text and centre it. The 5th item is an orphan in a 2 column
     grid, so it spans both and sits in the middle instead of hanging left. */
  .th-ib{flex-direction:column;align-items:center;text-align:center;gap:.5rem}
  .th-ib:last-child{grid-column:1 / -1}
  .th-ib__s{max-width:22ch;margin-left:auto;margin-right:auto}
}
.th-ib{display:flex;gap:.75rem;align-items:flex-start;position:relative}
.th-ib+.th-ib::before{content:"";position:absolute;left:-.75rem;top:.25rem;bottom:.25rem;width:1px;background:var(--line)}
@media(max-width:1100px){.th-ib+.th-ib::before{display:none}}
.th-ib__icon{flex:0 0 auto;width:42px;height:42px;border-radius:50%;background:var(--cyan-tint);border:2.5px solid var(--cyan-deep);display:flex;align-items:center;justify-content:center;color:var(--cyan-deep)}
.th-ib:nth-child(even) .th-ib__icon{background:var(--pink-tint);border-color:var(--pink-deep);color:var(--pink-deeper)}
.th-ib__icon svg{width:21px;height:21px}
.th-ib__t{font-family:var(--font-display);font-weight:800;font-size:.9375rem;line-height:1.25;margin:0 0 .15rem}
.th-ib__s{font-size:.8125rem;color:var(--ink-mute);line-height:1.35;margin:0}

/* JUMP NAV: removed by client request. Hidden here rather than stripped from the
   markup so it can be switched back on with one line if it is ever wanted again. */
.th-jump{display:none}

/* FORM CARD */
.th-formcard{background:var(--white);border:3px solid var(--outline);border-radius:var(--r-lg);padding:1.75rem;box-shadow:var(--shadow-pop-lg)}
@media(max-width:640px){.th-formcard{padding:1.25rem}}
.th-formcard__h{font-family:var(--font-display);font-weight:900;font-size:1.5rem;line-height:1.15;margin:0 0 .35rem;text-align:center}
.th-formcard__sub{text-align:center;font-size:.9375rem;color:var(--ink-mute);margin:0 0 1rem}
.th-speed{display:flex;justify-content:center;margin:0 0 1.15rem}
/* Must stay on ONE line. nowrap plus a viewport-scaled size guarantees it down
   to the narrowest handset instead of wrapping and pushing the bolt off on its own. */
.th-speed span{display:inline-flex;align-items:center;gap:.28rem;font-family:var(--font-display);font-weight:900;font-size:clamp(.5625rem,2.55vw,.8125rem);letter-spacing:.03em;color:var(--pink-deeper);text-transform:uppercase;line-height:1.2;white-space:nowrap}
.th-speed svg{width:1.25em;height:1.25em;flex:0 0 auto;fill:var(--gold);stroke:var(--gold-deep);stroke-width:1.5}

.th-form{display:grid;gap:.75rem}
.th-form label{font-family:var(--font-display);font-weight:700;font-size:.8125rem;display:block;margin-bottom:.25rem}
.th-form input,.th-form select,.th-form textarea{width:100%;padding:.8rem .9rem;min-height:48px;font-family:var(--font-body);font-size:1rem;color:var(--ink);background:var(--white);border:2.5px solid var(--outline);border-radius:var(--r)}
.th-form input::placeholder,.th-form textarea::placeholder{color:#9AA6B2}
.th-form input:focus,.th-form select:focus,.th-form textarea:focus{outline:none;border-color:var(--pink-deep);box-shadow:0 0 0 4px var(--pink-pale)}
.th-form textarea{min-height:92px;resize:vertical}
.th-form__row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
@media(max-width:640px){.th-form__row{grid-template-columns:1fr}}
.th-consent{font-size:.75rem;color:var(--ink-mute);line-height:1.45;margin:.25rem 0 0;text-align:center}
/* Progressive reveal. No-JS users see every field, so the form still works. */
.th-js .th-freveal{max-height:0;opacity:0;overflow:hidden;transform:translateY(-8px);transition:max-height .45s cubic-bezier(.4,0,.2,1),opacity .35s ease,transform .35s ease}
.th-js .th-freveal.revealed{max-height:280px;opacity:1;transform:translateY(0)}

/* PAIN / WHY US */
.th-pain{display:grid;grid-template-columns:1fr 1fr;gap:0;border:3px solid var(--outline);border-radius:var(--r-lg);overflow:hidden;margin-top:2.5rem}
@media(max-width:900px){.th-pain{grid-template-columns:1fr}}
.th-pain__col{padding:1.75rem}
.th-pain__col--bad{background:var(--bg-alt);border-right:3px solid var(--outline)}
@media(max-width:900px){.th-pain__col--bad{border-right:0;border-bottom:3px solid var(--outline)}}
.th-pain__col--good{background:var(--cyan-tint)}
.th-pain h3{font-size:1.125rem;margin-bottom:1rem}
.th-pain ul{list-style:none;padding:0;margin:0}
.th-pain li{position:relative;padding:.6rem .8rem .6rem 2.6rem;margin-bottom:.35rem;font-size:.9688rem;border-radius:12px;border:2px solid transparent;transition:background-color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.th-pain li:last-child{margin-bottom:0}
.th-pain li::before{position:absolute;left:.7rem;font-weight:900;transition:transform .18s ease}
.th-pain__col--bad li::before{content:"\00d7";top:.28rem;font-size:1.45rem;line-height:1;color:var(--red)}
.th-pain__col--good li::before{content:"\2713";top:.55rem;font-size:1.1rem;line-height:1;color:var(--green)}
.th-pain__col--bad li:hover{background:var(--red-soft);border-color:var(--red);transform:translateX(4px);box-shadow:2px 2px 0 var(--red)}
.th-pain__col--good li:hover{background:var(--green-soft);border-color:var(--green);transform:translateX(4px);box-shadow:2px 2px 0 var(--green)}
.th-pain li:hover::before{transform:scale(1.18)}
@media(hover:none){.th-pain li:hover{transform:none;box-shadow:none}}

/* CARDS */
.th-card{background:var(--white);border:2.5px solid var(--outline);border-radius:var(--r-lg);padding:var(--card-pad);box-shadow:var(--shadow-pop)}
.th-card--cyan{background:var(--cyan-tint)}
.th-card--pink{background:var(--pink-tint)}
.th-card h3{margin-top:0}
.th-card p:last-child{margin-bottom:0}
.th-card__more{font-family:var(--font-display);font-weight:800;font-size:.9375rem}

/* BEFORE / AFTER */
.th-ba{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1.5rem 0}
.th-ba figure{margin:0;position:relative}
.th-ba img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;display:block;border-radius:var(--r);border:2.5px solid var(--outline)}
.th-ba figcaption{position:absolute;left:.625rem;bottom:.625rem;padding:.3125rem .75rem;border-radius:var(--r-pill);border:2px solid var(--outline);background:var(--cyan);font-family:var(--font-display);font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink)}
.th-ba figure:last-child figcaption{background:var(--pink);color:var(--white)}

/* LISTS / NOTICE / STEPS */
.th-list{list-style:none;padding:0;margin:0 0 1rem}
.th-list li{position:relative;padding-left:1.75rem;margin-bottom:.5rem}
.th-list li::before{content:"";position:absolute;left:.25rem;top:.6em;width:9px;height:9px;border-radius:50%;background:var(--cyan);border:2px solid var(--outline)}
.th-list--no li::before{background:var(--pink)}
.th-notice{background:var(--pink-tint);border-left:6px solid var(--pink-deep);border-radius:0 var(--r) var(--r) 0;padding:1.125rem 1.375rem;margin:1.5rem 0}
.th-notice strong{color:var(--pink-deeper)}
.th-steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
@media(max-width:900px){.th-steps{grid-template-columns:1fr}}
.th-step{counter-increment:s;position:relative;padding-top:1.5rem}
.th-step::before{content:counter(s);position:absolute;top:-14px;left:0;width:48px;height:48px;border-radius:50%;background:var(--pink-deep);color:var(--white);border:2.5px solid var(--outline);font-family:var(--font-display);font-weight:900;font-size:1.25rem;display:flex;align-items:center;justify-content:center}
.th-step h3{margin-top:2rem}

/* CTA BANNER */
.th-cta{background:var(--grad-brand);border-top:3px solid var(--outline);border-bottom:3px solid var(--outline);padding:var(--section-y) var(--section-x);text-align:center}
.th-cta h2{color:var(--white);text-shadow:2px 3px 0 var(--outline)}
.th-cta p{color:var(--ink);font-weight:600;max-width:60ch;margin:0 auto 1.5rem}
.th-cta .th-phone{font-family:var(--font-display);font-weight:900;font-size:clamp(1.75rem,6vw,3rem);color:var(--white);text-shadow:2px 3px 0 var(--outline);display:inline-block;margin:.25rem 0 1.25rem}
.th-cta .th-phone:hover{text-decoration:none}

/* CITY BLOCKS */
.th-cities{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap)}
@media(max-width:900px){.th-cities{grid-template-columns:1fr}}
.th-city{border:2.5px solid var(--outline);border-radius:var(--r-lg);padding:1.5rem;background:var(--white)}
.th-city--feature{background:var(--pink-tint);grid-column:1 / -1}
.th-city h3{margin-top:0}
.th-city p{margin-bottom:.75rem}

/* FAQ */
.th-faq details{border:2.5px solid var(--outline);border-radius:var(--r);background:var(--white);margin-bottom:.75rem;overflow:hidden}
.th-faq summary{cursor:pointer;padding:1.125rem 1.25rem;font-family:var(--font-display);font-weight:800;font-size:1.0625rem;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.th-faq summary::-webkit-details-marker{display:none}
.th-faq summary::after{content:"+";font-size:1.5rem;color:var(--pink-deeper);line-height:1}
.th-faq details[open] summary::after{content:"\2013"}
.th-faq details[open] summary{background:var(--cyan-tint);border-bottom:2px solid var(--outline)}
.th-faq__body{padding:1.125rem 1.25rem}
.th-faq__body p:last-child{margin-bottom:0}
.th-faq h3{font-size:1.0625rem;margin:0}

/* FOOTER */
.th-footer{background:var(--ink);color:#C9D3DC;padding:3.5rem var(--section-x) 2rem}
.th-footer a{color:var(--cyan-light)}
.th-footer h4{color:var(--white);font-size:1rem;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}
.th-footer__in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem}
@media(max-width:900px){.th-footer__in{grid-template-columns:1fr;gap:1.75rem}}
.th-footer ul{list-style:none;padding:0;margin:0}
.th-footer li{margin-bottom:.5rem}
/* Cities as plain text on the inner pages: those pages have no per-city
   anchor to jump to, and we do not want an exit link. */
.th-footer__plain li{color:#C9D3DC}
.th-footer__bottom{max-width:1180px;margin:2.5rem auto 0;padding-top:1.5rem;border-top:1px solid #2A3846;font-size:.8125rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}

/* MOBILE STICKY BAR: slides up only after the hero CTAs scroll out */
.th-callbar{position:fixed;left:0;right:0;bottom:0;z-index:999;display:none;flex-wrap:nowrap;gap:.5rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:var(--white);border-top:3px solid var(--outline);box-shadow:0 -6px 20px rgba(16,24,32,.16);transform:translateY(130%);transition:transform .38s cubic-bezier(.4,0,.2,1)}
.th-callbar.visible{transform:translateY(0)}
.th-callbar a{flex:1;min-width:0;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:0 .4rem;border-radius:var(--r-pill);border:2.5px solid var(--outline);font-family:var(--font-display);font-weight:800;font-size:clamp(.625rem,2.1vw,.8125rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;color:var(--white)}
.th-callbar a svg{width:15px;height:15px;flex:0 0 auto}
.th-callbar__call{background:var(--pink-deep)}
.th-callbar__text{background:var(--ink)}
.th-callbar__quote{background:var(--cyan-deep)}
/* Very narrow handsets: drop the icons before the labels ever truncate. */
@media(max-width:345px){.th-callbar a svg{display:none}.th-callbar a{font-size:.625rem}}
@media(max-width:768px){
  .th-callbar{display:flex}
  body.th{padding-bottom:80px}
  .th a,.th button,.th .th-btn{min-height:44px}
}
