/* Toro Bravo - section styles carried over from the GLW landing system,
   prefix-renamed glw-fr -> tb-fr. Fonts mapped to the brand faces
   (Archivo / Open Sans) per the logo spec; everything else untouched so the
   pages render identically to the source. Loads after TB Design System, so
   where both define a selector this file wins - that is intentional: this
   file is the authoritative GLW look. */


.tb-fr{
  --ink:#1a1a1a; --body:#4a4a4a; --muted:#767676;
  --green:#1C6B3A; --accent:#1C6B3A;
  --line:#e0e0e0; --wash:#f7f7f5; --mint:#e8f5e9;
  --maxw:900px; --pad:clamp(20px,5vw,44px); --sect:clamp(34px,5vw,58px);
  font-family:'Open Sans',system-ui,sans-serif;
  color:var(--body); font-size:17px; line-height:1.65;
}
.tb-fr *,.tb-fr *::before,.tb-fr *::after{box-sizing:border-box}
body .tb-fr h1,body .tb-fr h2,body .tb-fr h3{
  font-family:'Archivo',system-ui,sans-serif; color:var(--ink); line-height:1.2; margin:0 0 .5em;
}
body .tb-fr h1{font-size:clamp(28px,5.2vw,40px);font-weight:700;letter-spacing:-.01em;line-height:1.05}
/* headline block ends at the headline; the 24px row-gap is the only spacing below it */
body .tb-fr .tb-fr__hero-head h1{margin-bottom:0}
body .tb-fr h2{font-size:clamp(24px,4vw,32px);font-weight:700}
body .tb-fr h3{font-size:18px;font-weight:700}
body .tb-fr p{margin:0 0 1em;color:var(--body)}
.tb-fr p:last-child{margin-bottom:0}
.tb-fr__sect{padding:var(--sect) var(--pad)}
.tb-fr__in{max-width:var(--maxw);margin:0 auto}
.tb-fr__wash{background:var(--wash)}
.tb-fr__eyebrow{font-family:'Archivo',system-ui,sans-serif;font-size:13px;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin:0 0 .6em}
.tb-fr__lede{font-size:clamp(17px,2.2vw,19px);color:var(--body)}
.tb-fr__hero{padding:clamp(10px,2vw,22px) var(--pad) var(--sect)}
.tb-fr__hero-grid{max-width:var(--maxw);margin:0 auto;display:grid;gap:clamp(20px,4vw,32px);
  grid-template-columns:1fr;align-items:start;
  grid-template-areas:"head" "form"}
.tb-fr__hero-head{grid-area:head}
/* Price anchor: the competitor hides pricing, so lead with ours. */
.tb-fr__hrule{border:0;border-top:1px solid var(--line);margin:20px 0 18px}
body .tb-fr .tb-fr__anchorlead{font-size:16px;color:var(--muted);margin:0}
body .tb-fr .tb-fr__anchor{font-family:'Archivo',system-ui,sans-serif;
  font-size:clamp(28px,5vw,38px);color:var(--ink);margin:2px 0 14px;line-height:1.1;
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.tb-fr__anchor strong{color:var(--ink);font-weight:700}
.tb-fr__anchor span{font-size:.46em;color:var(--muted);font-weight:400;white-space:nowrap}
.tb-fr__subhead{font-size:clamp(16px,2.1vw,18px);color:var(--body);margin:0 0 18px}
body .tb-fr .tb-fr__promise--hero{background:none;border-radius:0;margin:0 0 6px;padding:0}
body .tb-fr .tb-fr__promise--hero p{font-size:clamp(16px,2.1vw,18px);color:var(--body);margin:0}
body .tb-fr .tb-fr__promise--hero strong{color:var(--ink);font-weight:700}
/* One light ask above the fold instead of the whole form. */
/* Path to the ask stays visible at every scroll depth on mobile. */
.tb-fr__sticky{position:fixed;left:0;right:0;bottom:0;z-index:9990;
  background:rgba(255,255,255,.96);backdrop-filter:blur(8px);
  border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  box-shadow:0 -6px 20px rgba(20,32,20,.10)}
.tb-fr__sticky{transform:translateY(115%);transition:transform .18s ease}
.tb-fr__sticky.is-on{transform:translateY(0)}
.tb-fr__sticky a{display:block;width:100%;text-align:center;text-decoration:none;
  background:var(--green);color:#fff;font-family:'Archivo',system-ui,sans-serif;font-weight:600;
  font-size:17px;padding:15px 18px;border-radius:10px}
@media(prefers-reduced-motion:reduce){.tb-fr__sticky{transition:none}}

@media(min-width:860px){body .tb-fr__sticky{display:none}}

/* Form: bottom sheet on phones, plain column on desktop. Same node either way. */
.tb-fr__formwrap{grid-area:form}


.tb-fr__hero-shot{grid-area:shot;margin:0}
@media(max-width:859px){.tb-fr__hero-shot img{aspect-ratio:25/11}}
.tb-fr__hero-shot img{display:block;width:100%;height:auto;border-radius:10px;
  aspect-ratio:25/12;object-fit:cover;background:var(--wash)}
.tb-fr__hero-form{grid-area:form}
@media(min-width:860px){.tb-fr__hero-grid{
  grid-template-columns:1fr 1fr;column-gap:48px;row-gap:24px;align-content:start;
  grid-template-rows:max-content max-content 1fr;
  grid-template-areas:"head form"}}
.tb-fr__promise{display:flex;gap:10px;align-items:flex-start;background:var(--mint);
  border-radius:8px;padding:14px 16px;margin:20px 0 0}
.tb-fr__promise strong{color:var(--green);font-weight:700}
/* Hero card goes dark so the button is the only bright thing in it. Scoped to the
   hero only - the step-one card sits on an already-dark section and stays white. */
.tb-fr__formcard{background:#16251A;border:0;border-radius:14px;padding:clamp(18px,3vw,26px);
  box-shadow:0 18px 40px -18px rgba(0,0,0,.55)}
body .tb-fr .tb-fr__formcard .tb-fr__formh{color:#fff}
/* inputs recede: dark fill, hairline border, white text */
body .tb-fr .tb-fr__formcard input[type=text],
body .tb-fr .tb-fr__formcard input[type=tel],
body .tb-fr .tb-fr__formcard input[type=email],
body .tb-fr .tb-fr__formcard select,
body .tb-fr .tb-fr__formcard textarea{
  background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.28)!important;
  color:#fff!important;border-radius:8px!important}
body .tb-fr .tb-fr__formcard input::placeholder,
body .tb-fr .tb-fr__formcard textarea::placeholder{color:rgba(255,255,255,.55)!important;opacity:1}
body .tb-fr .tb-fr__formcard input:focus,
body .tb-fr .tb-fr__formcard select:focus{
  border-color:rgba(255,255,255,.6)!important;outline:2px solid #4FA96A;outline-offset:1px}
body .tb-fr .tb-fr__formcard .elementor-field-label{color:rgba(255,255,255,.85)!important}
/* the button keeps the forest green it had on white - it reads against near-black too */
body .tb-fr .tb-fr__formcard button[type=submit],
body .tb-fr .tb-fr__formcard .elementor-button{
  background:#1C6B3A!important;color:#fff!important;border:0!important}
body .tb-fr .tb-fr__formcard button[type=submit]:hover,
body .tb-fr .tb-fr__formcard .elementor-button:hover{background:#155029!important}
body .tb-fr .tb-fr__formh{font-size:17px;line-height:1.35;
  color:var(--ink);margin:0 0 18px}
/* reassurance sits in its own band across the foot of the card */
.tb-fr__formfoot{margin:20px 0 0;padding:16px 0 0;background:none;
  border-top:1px solid rgba(255,255,255,.18)}
body .tb-fr .tb-fr__formfoot p{font-size:15px;color:rgba(255,255,255,.82);margin:0}
body .tb-fr .tb-fr__formfoot strong{color:#fff;font-weight:700}
.tb-fr__formnote{font-size:14px;color:var(--muted);margin-top:14px}
body .tb-fr__formcard .elementor-field-label{color:var(--ink)!important;font-weight:600;
  font-size:15px;margin-bottom:6px}
body .tb-fr__formcard input::placeholder{color:#9aa39a}
.tb-fr__tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tb-fr__table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);
  border-radius:12px;overflow:hidden;font-variant-numeric:tabular-nums}
.tb-fr__table caption{caption-side:top;text-align:left;font-size:15px;color:var(--muted);padding:0 0 12px}
.tb-fr__table th,.tb-fr__table td{padding:14px clamp(14px,2.4vw,20px);text-align:left;
  border-bottom:1px solid var(--line)}
.tb-fr__table thead th{font-family:'Archivo',system-ui,sans-serif;font-size:13px;font-weight:600;
  letter-spacing:.07em;text-transform:uppercase;color:var(--muted);background:var(--wash)}
.tb-fr__table tbody tr{background:#fff}
.tb-fr__table tbody tr:nth-child(even){background:#fafaf9}
.tb-fr__table tbody tr:last-child td{border-bottom:0}
.tb-fr__table td:last-child,.tb-fr__table th:last-child{text-align:right}
.tb-fr__price{font-family:'Archivo',system-ui,sans-serif;font-size:clamp(19px,2.6vw,22px);
  font-weight:700;color:var(--ink);white-space:nowrap}
.tb-fr__est{font-weight:600;color:var(--muted);font-size:16px;white-space:nowrap}
/* Plus: same inset dark card as the pricing panel, so the two tiers match */
.tb-fr__plus .tb-fr__in{background:#16281B;color:#fff;border-radius:14px;
  padding:clamp(22px,4vw,34px)}
.tb-fr__badge{display:inline-block;font-family:'Archivo',system-ui,sans-serif;font-size:12px;
  font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.85);
  border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:8px 16px;margin:0 0 20px}
body .tb-fr .tb-fr__plustitle{color:#fff;font-size:clamp(30px,5.2vw,42px);margin:0}
body .tb-fr .tb-fr__plustitle em{font-family:'Archivo',Georgia,serif;
  font-style:italic;font-weight:500;color:#7FD08F;font-size:1.12em;letter-spacing:0}
body .tb-fr .tb-fr__plusprice{font-family:'Archivo',system-ui,sans-serif;
  font-size:clamp(44px,9vw,64px);font-weight:700;color:#fff;line-height:1;margin:14px 0 8px}
body .tb-fr .tb-fr__plusunit{font-size:16px;color:rgba(255,255,255,.7);margin:0}
.tb-fr__rule{border:0;border-top:1px solid rgba(255,255,255,.18);margin:24px 0}
body .tb-fr .tb-fr__plusbody{font-size:17px;color:rgba(255,255,255,.86);margin:0}
body .tb-fr .tb-fr__scarcity{font-family:'Archivo',Georgia,serif;font-style:italic;
  font-weight:500;font-size:clamp(26px,4.4vw,34px);color:#7FD08F;margin:0 0 10px;line-height:1.2}
body .tb-fr .tb-fr__plusnote{font-size:15px;color:rgba(255,255,255,.62);
  margin:14px 0 0;text-align:center}
.tb-fr__plus .tb-fr__cta--onDark{margin-top:28px}
/* Sequence carousel. First frame lines up with the text; the rest run off the
   right edge so the peek signals that it scrolls. */
.tb-fr__mech{padding-left:0;padding-right:0;padding-bottom:0}
.tb-fr__mech .tb-fr__in{padding-left:var(--pad);padding-right:var(--pad)}
.tb-fr__seqwrap{margin-top:24px}
.tb-fr__seq{--gutter:max(var(--pad),calc((100% - var(--maxw))/2 + var(--pad)));
  list-style:none;display:flex;gap:14px;margin:0;
  padding-left:var(--gutter);padding-right:var(--pad);
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--gutter);
  -webkit-overflow-scrolling:touch;scrollbar-width:none}
.tb-fr__seq::-webkit-scrollbar{display:none}
.tb-fr__seq:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.tb-fr__seq-item{flex:0 0 clamp(250px,78vw,460px);scroll-snap-align:start}
.tb-fr__seq figure{margin:0}
body .tb-fr .tb-fr__zoom{display:block;width:100%;padding:0;border:0;background:none;
  cursor:zoom-in;border-radius:12px;overflow:hidden;line-height:0}
.tb-fr__zoom:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.tb-fr__seq img{display:block;width:100%;height:auto;aspect-ratio:4/3;
  object-fit:cover;background:#e8eae6;transition:transform .3s ease}
.tb-fr__zoom:hover img{transform:scale(1.03)}
.tb-fr__seq figcaption{padding:12px 2px 0}
.tb-fr__seq figcaption b{display:block;font-family:'Archivo',system-ui,sans-serif;
  font-size:16px;color:var(--ink)}
.tb-fr__seq figcaption span{display:block;font-size:14px;color:var(--muted);margin-top:2px}
.tb-fr__seqnav{display:flex;align-items:center;gap:14px;justify-content:flex-start;
  padding:18px var(--pad) 0;max-width:var(--maxw);margin:0 auto}
body .tb-fr .tb-fr__seqbtn{width:42px;height:42px;border-radius:50%;padding:0;
  border:1px solid var(--line);background:#fff;color:var(--ink);font-size:22px;
  line-height:1;cursor:pointer}
.tb-fr__seqbtn:hover{background:var(--wash)}
.tb-fr__seqbtn[disabled]{opacity:.35;cursor:default}
.tb-fr__dots{display:flex;gap:8px}
.tb-fr__dots i{width:8px;height:8px;border-radius:50%;background:var(--line);display:block}
.tb-fr__dots i.is-on{background:var(--green);transform:scale(1.25)}
/* lightbox */
.tb-fr__lb{position:fixed;inset:0;z-index:99990;display:none;align-items:center;
  justify-content:center;background:rgba(12,20,13,.92);padding:20px}
.tb-fr__lb.is-open{display:flex}
.tb-fr__lb img{max-width:100%;max-height:82vh;border-radius:10px;display:block}
.tb-fr__lb figcaption{color:rgba(255,255,255,.85);font-size:15px;margin-top:12px;text-align:center}
.tb-fr__lbclose{position:absolute;top:14px;right:16px;width:44px;height:44px;border:0;
  border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:26px;cursor:pointer}
@media(prefers-reduced-motion:reduce){
  .tb-fr__seq{scroll-behavior:auto}
  .tb-fr__seq img{transition:none}
}
/* the rate lands on the dark band, so the colour says this number matters */
.tb-fr__band{background:#16281B;color:#fff;padding:clamp(26px,4vw,40px) 0}
.tb-fr__rateband .tb-fr__in{padding-left:var(--pad);padding-right:var(--pad)}
/* Pricing */
/* the card carries its own title now; "from $275" was redundant beside a live price */
.tb-fr__sizer{background:#16281B;color:#fff;border-radius:14px;
  padding:clamp(22px,4vw,34px)}
body .tb-fr .tb-fr__sizer-title{color:#fff;margin:0 0 10px}
body .tb-fr .tb-fr__sizer-desc{font-size:17px;color:rgba(255,255,255,.78);
  margin:0 0 24px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.16)}
.tb-fr__sizer-cap{font-family:'Archivo',system-ui,sans-serif;font-size:12px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.62);margin:0}
.tb-fr__sizer-cap--price{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.16)}
body .tb-fr .tb-fr__sizer-range{font-family:'Archivo',system-ui,sans-serif;font-weight:700;
  font-size:clamp(22px,3.4vw,28px);color:#fff;margin:6px 0 16px;line-height:1.1}
body .tb-fr .tb-fr__sizer-price{margin:6px 0 0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.tb-fr__sizer-num{font-family:'Archivo',system-ui,sans-serif;font-weight:700;
  font-size:clamp(38px,7vw,46px);color:#fff;line-height:1}
.tb-fr__sizer-num.is-est{font-size:clamp(24px,4vw,30px);color:rgba(255,255,255,.9)}
.tb-fr__sizer-tax{font-size:15px;color:rgba(255,255,255,.7)}
body .tb-fr .tb-fr__sizer-help{font-size:14px;color:rgba(255,255,255,.68);margin:14px 0 0}
.tb-fr__sizer-ends{display:flex;justify-content:space-between;font-size:13px;
  color:rgba(255,255,255,.6);margin-top:6px}
/* slider */
.tb-fr__slider{-webkit-appearance:none;appearance:none;width:100%;height:34px;
  background:transparent;cursor:pointer;display:block;margin:0}
.tb-fr__slider:focus{outline:none}
.tb-fr__slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(255,255,255,.45)}
.tb-fr__slider::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:rgba(255,255,255,.28)}
.tb-fr__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;
  width:28px;height:28px;border-radius:50%;background:#fff;border:5px solid #4FA96A;
  margin-top:-11px;cursor:grab}
.tb-fr__slider::-moz-range-track{height:6px;border-radius:999px;background:rgba(255,255,255,.28)}
.tb-fr__slider::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:#fff;
  border:5px solid #4FA96A;cursor:grab}
.tb-fr__slider::-moz-range-progress{height:6px;border-radius:999px;background:#4FA96A}
/* full ladder, kept so the transparency claim still holds */
.tb-fr__all{margin-top:24px;border-top:1px solid var(--line);padding-top:6px}
.tb-fr__all summary{cursor:pointer;padding:14px 0;font-family:'Archivo',system-ui,sans-serif;
  font-weight:600;font-size:16px;color:var(--ink)}
.tb-fr__all summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.tb-fr__alllist{list-style:none;margin:0;padding:0;font-variant-numeric:tabular-nums}
.tb-fr__alllist li{display:flex;justify-content:space-between;gap:16px;align-items:baseline;
  padding:12px 0;border-bottom:1px solid var(--line)}
.tb-fr__alllist li:last-child{border-bottom:0}
.tb-fr__taxnote{font-size:15px;color:var(--muted);margin:14px 0 0}
.tb-fr__rate{border-top:1px solid var(--line);margin-top:26px;padding-top:22px}
body .tb-fr .tb-fr__rate-lead{font-size:16px;color:rgba(255,255,255,.75);margin:0}
body .tb-fr .tb-fr__rate-num{font-family:'Archivo',system-ui,sans-serif;
  font-size:clamp(28px,5vw,40px);font-weight:700;color:#fff;
  line-height:1.1;margin:4px 0 8px;letter-spacing:-.01em}
body .tb-fr .tb-fr__rate-note{font-size:16px;color:rgba(255,255,255,.82);margin:0}
body .tb-fr .tb-fr__cta--onDark{background:#fff;color:var(--ink);margin:22px auto 0;
  display:block;width:fit-content}
body .tb-fr .tb-fr__cta--onDark:hover{background:#eef1ec;color:var(--ink)}
.tb-fr__sect .tb-fr__cta{margin-top:26px}
.tb-fr__cols{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:700px){.tb-fr__cols--2{grid-template-columns:1fr 1fr}}
@media(min-width:700px){.tb-fr__cols--3{grid-template-columns:repeat(3,1fr)}}
.tb-fr__card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px}
.tb-fr__card h3{margin-bottom:.35em}
.tb-fr__card p{font-size:16px;margin:0}
/* ruled list beats four cards: denser, and the items stop competing */
.tb-fr__inceyebrow{margin-top:28px}
.tb-fr__ruled{margin:10px 0 0;padding:0}
.tb-fr__ruled > div{border-top:1px solid var(--line);padding:18px 0}
.tb-fr__ruled > div:last-child{border-bottom:1px solid var(--line)}
body .tb-fr .tb-fr__ruled dt{font-family:'Archivo',system-ui,sans-serif;font-weight:700;
  font-size:17px;color:var(--ink);margin:0}
body .tb-fr .tb-fr__ruled dd{margin:4px 0 0;font-size:16px;color:var(--body)}
/* a boundary, not a warning - hence grey rather than amber */
.tb-fr__not{background:var(--wash);border-radius:12px;padding:clamp(18px,3vw,24px);margin-top:30px}
.tb-fr__noteyebrow{color:var(--muted);margin:0 0 6px}
body .tb-fr .tb-fr__notlede{font-family:'Archivo',system-ui,sans-serif;font-weight:700;
  font-size:17px;color:var(--ink);margin:0 0 12px}
.tb-fr__notlist{list-style:none;margin:0;padding:0}
.tb-fr__notlist li{font-size:16px;color:var(--muted);padding:3px 0}
body .tb-fr .tb-fr__notfoot{font-size:16px;color:var(--body);margin:14px 0 0;
  padding-top:14px;border-top:1px solid var(--line)}
body .tb-fr .tb-fr__cta--wide{display:block;width:100%;text-align:center;margin-top:28px}
/* D2: the whole section goes dark and the numerals carry the sequence */
.tb-fr__steps{background:#16281B;color:#fff;padding:var(--sect) var(--pad)}
body .tb-fr .tb-fr__stepsh{color:#fff;margin:0 0 26px}
.tb-fr__ghosts{list-style:none;margin:0;padding:0}
.tb-fr__ghost{display:grid;grid-template-columns:auto 1fr;column-gap:16px;
  align-items:baseline;padding:0 0 34px}
.tb-fr__ghost:last-child{padding-bottom:0}
.tb-fr__gnum{font-family:'Archivo',system-ui,sans-serif;font-weight:700;
  font-size:clamp(44px,9vw,58px);line-height:.9;color:rgba(255,255,255,.16);
  letter-spacing:-.03em}
.tb-fr__ghost--now .tb-fr__gnum{color:#7FD08F}
.tb-fr__gbody{min-width:0}
body .tb-fr .tb-fr__gmeta{font-family:'Archivo',system-ui,sans-serif;font-size:12px;
  font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.5);margin:0}
body .tb-fr .tb-fr__gtitle{font-family:'Archivo',system-ui,sans-serif;font-weight:700;
  font-size:clamp(19px,2.8vw,22px);color:#fff;margin:4px 0 0}
body .tb-fr .tb-fr__gtext{font-size:16px;color:rgba(255,255,255,.78);margin:8px 0 0}
/* the form card breaks out to full width under step one */
.tb-fr__ghost--now .tb-fr__step1{grid-column:1/-1;margin-top:18px}
.tb-fr__step1{background:#fff;border:0;border-radius:14px;
  padding:clamp(20px,3.4vw,28px);
  box-shadow:0 1px 2px rgba(20,32,20,.05), 0 12px 30px -10px rgba(0,0,0,.35)}
body .tb-fr .tb-fr__stephead{font-family:'Archivo',system-ui,sans-serif;font-weight:700;
  font-size:clamp(20px,3vw,24px);color:var(--ink);margin:0 0 8px;
  display:flex;align-items:baseline;gap:10px}
.tb-fr__stepn{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.72em;
  color:var(--green)}
.tb-fr__stepn--quiet{color:var(--muted);font-size:15px;flex:0 0 auto;min-width:14px}
body .tb-fr .tb-fr__stepbody{font-size:17px;color:var(--body);margin:0 0 18px}
body .tb-fr .tb-fr__step1note{font-size:15px;color:var(--muted);margin:14px 0 0;text-align:center}
/* 2 and 3 are not asks, so they read as a quiet "then" list */
.tb-fr__then{background:var(--wash);margin-top:34px;padding:clamp(24px,4vw,34px) 0}
.tb-fr__thenlist{list-style:none;margin:10px 0 0;padding:0}
.tb-fr__thenlist li{display:flex;gap:12px;align-items:baseline;padding:10px 0}
body .tb-fr .tb-fr__thenlist b{font-family:'Archivo',system-ui,sans-serif;font-size:17px;
  color:var(--ink);display:block}
body .tb-fr .tb-fr__thenlist p{font-size:16px;color:var(--body);margin:2px 0 0}
.tb-fr__step{display:flex;gap:16px;align-items:flex-start}
.tb-fr__stepnum{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--green);
  color:#fff;font-family:'Archivo',system-ui,sans-serif;font-weight:700;display:flex;
  align-items:center;justify-content:center;font-size:16px}
.tb-fr__chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;padding:0;list-style:none}
.tb-fr__chip{border:1px solid var(--line);background:#fff;border-radius:6px;padding:9px 16px;font-size:15px}
.tb-fr__chip a{color:var(--ink);text-decoration:none}
.tb-fr__chip a:hover{text-decoration:underline}
/* hairline scale that gives the town list its south-to-north shape */
.tb-fr__scale{display:flex;align-items:center;gap:12px;margin:20px 0 12px;
  font-family:'Archivo',system-ui,sans-serif;font-size:11px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.tb-fr__scale i{flex:1;border-top:1px solid var(--line)}
/* the rescue line reads as an answer, not a trailing sentence */
body .tb-fr .tb-fr__notsure{margin:26px 0 6px;padding-top:22px;border-top:1px solid var(--line);
  font-size:17px}
body .tb-fr .tb-fr__notsuretext{font-size:16px;color:var(--body);margin:0}
/* area and FAQ share one grey band; the dark section above already drew the edge */
.tb-fr__area{padding-top:clamp(24px,4vw,40px);padding-bottom:8px}
.tb-fr__area + section{padding-top:clamp(20px,3vw,30px)}
/* closing band */
.tb-fr__close{background:#16281B;color:#fff;text-align:center}
body .tb-fr .tb-fr__closeh{color:#fff;margin:0 auto 12px;max-width:16ch}
body .tb-fr .tb-fr__closesub{font-size:clamp(16px,2.2vw,18px);color:rgba(255,255,255,.8);
  max-width:44ch;margin:0 auto 26px}
body .tb-fr .tb-fr__close .tb-fr__cta--wide{display:block;width:100%;max-width:420px;
  margin:0 auto;text-align:center}
body .tb-fr .tb-fr__closenote{font-size:15px;color:rgba(255,255,255,.6);margin:16px auto 0;
  max-width:40ch}
/* local ground notes - the only genuinely city-specific prose on the page */
.tb-fr__ground{background:var(--wash);border-radius:12px;padding:clamp(20px,3.4vw,28px);margin-top:28px}
body .tb-fr .tb-fr__ground h3{font-size:clamp(18px,2.6vw,21px);margin:0 0 10px}
body .tb-fr .tb-fr__ground p{font-size:16px;color:var(--body);margin:0 0 12px}
body .tb-fr .tb-fr__groundhonest{padding-top:12px;border-top:1px solid var(--line);color:var(--ink)}
body .tb-fr .tb-fr__groundsrc{font-size:14px;color:var(--muted);margin:0}
.tb-fr__groundsrc a{color:var(--green)}
/* body links inherited the theme pink - pin them to brand green, underlined */
body .tb-fr p a{color:var(--green);text-decoration:underline;text-underline-offset:2px}
body .tb-fr p a:hover{color:#155029}
/* the closing band is dark - the green body link would disappear on it */
body .tb-fr .tb-fr__closenote a{color:#5FBF6A;text-decoration:underline;text-underline-offset:2px}
body .tb-fr .tb-fr__closenote a:hover{color:#8FD69B}
/* mowing quotes two cadences side by side under one slider */
.tb-fr__sizer-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
body .tb-fr .tb-fr__sizer-sub{font-family:'Archivo',system-ui,sans-serif;font-size:11px;
  font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.66);margin:0 0 2px}
body .tb-fr .tb-fr__sizer-two .tb-fr__sizer-price{margin:0}
@media(max-width:400px){ body .tb-fr .tb-fr__sizer-two .tb-fr__sizer-num{font-size:30px} }
/* three column size table, mowing only */
.tb-fr__allhead{display:grid;grid-template-columns:1fr 80px 80px;gap:8px;margin:0 0 6px;
  font-family:'Archivo',system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted)}
.tb-fr__allhead span:nth-child(2),.tb-fr__allhead span:nth-child(3){text-align:right}
body .tb-fr .tb-fr__alllist--two li{display:grid;grid-template-columns:1fr 80px 80px;gap:8px}
body .tb-fr .tb-fr__alllist--two li.is-est span:nth-child(2){grid-column:2 / span 2;text-align:right}
body .tb-fr .tb-fr__alllist--two li span:nth-child(2),
body .tb-fr .tb-fr__alllist--two li span:nth-child(3){text-align:right}
.tb-fr__faq{border-top:1px solid var(--line);padding:20px 0}
body .tb-fr .tb-fr__faq h3{text-transform:uppercase;font-size:15px;letter-spacing:.04em}
.tb-fr__faq p{font-size:16px;margin:0}
.tb-fr__cta{display:inline-block;background:var(--green);color:#fff;text-decoration:none;
  font-family:'Archivo',system-ui,sans-serif;font-weight:600;font-size:17px;padding:15px 30px;
  border-radius:8px;border:0;cursor:pointer}
.tb-fr__cta:hover{background:#155029;color:#fff}
.tb-fr a:focus-visible,.tb-fr button:focus-visible,
.tb-fr input:focus-visible,.tb-fr select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.tb-fr__confirm{max-width:620px;margin:0 auto;padding:clamp(48px,8vw,88px) var(--pad)}
.tb-fr__tick{width:46px;height:46px;border-radius:50%;background:var(--mint);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.tb-fr__tick span{color:var(--green);font-size:24px;font-weight:700;line-height:1}
.tb-fr__next{list-style:none;padding:0;margin:26px 0 0;border-top:1px solid var(--line)}
.tb-fr__next li{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px}
.tb-fr__next b{font-family:'Archivo',system-ui,sans-serif;color:var(--green);flex:0 0 auto}
@media(prefers-reduced-motion:reduce){
  .tb-fr *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/*# sourceURL=tb-fr-inline-css */


/* Allow bold text inside Elementor card descriptions */
.elementor-widget-image-box .elementor-image-box-description strong,
.elementor-widget-image-box .elementor-image-box-description b,
.elementor-widget-icon-box .elementor-icon-box-description strong,
.elementor-widget-icon-box .elementor-icon-box-description b {
  font-weight: 700 !important;
}

/* Scoped H3 styling for service area columns only */
.service-area-list h3 {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 10px;
}
.service-area-list ul {
  margin-top: 6px;
}

/* Prevents iPhone from zooming in on form fields */
@media screen and (max-width: 768px) {
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    select,
    textarea {
        font-size: 16px !important;
    }
}




/* glw-form-palette : hero form colours.
   REVERT: delete this block. Originals were
   input  bg rgba(255,255,255,.05) color #FFF border rgba(255,255,255,.28)
   button bg #1C6B3A color #FFF */
html body .tb-fr .tb-fr__formcard input[type="text"],
html body .tb-fr .tb-fr__formcard input[type="tel"],
html body .tb-fr .tb-fr__formcard input[type="email"],
html body .tb-fr .tb-fr__formcard textarea,
html body .tb-fr .tb-fr__formcard .elementor-field-textual{background:#FFFFFF !important;color:#16251A !important;border-color:rgba(0,0,0,.10) !important;}
html body .tb-fr .tb-fr__formcard .elementor-field-textual::placeholder{color:#7C7365 !important;opacity:1 !important;}
html body .tb-fr .tb-fr__formcard .elementor-field-textual:focus{border-color:#8FCB8F !important;box-shadow:0 0 0 3px rgba(143,203,143,.45) !important;}
html body .tb-fr .tb-fr__formcard button[type="submit"],
html body .tb-fr .tb-fr__formcard .elementor-button{background:#8FCB8F !important;background-color:#8FCB8F !important;color:#16251A !important;}
html body .tb-fr .tb-fr__formcard button[type="submit"]:hover,
html body .tb-fr .tb-fr__formcard .elementor-button:hover{background:#7FBE80 !important;background-color:#7FBE80 !important;color:#16251A !important;}


/* glw-hero-tweaks
   REVERT: delete this block. Originals were
   phone field elementor-col-50 ; consent inherited #4A4A4A ; promise p 18px */
html body .tb-fr .tb-fr__formcard .elementor-field-group-mobile_number{width:100% !important;max-width:100% !important;flex:0 0 100% !important;}
html body .tb-fr .tb-fr__formcard .glw-consent{color:#FFFFFF !important;opacity:.82 !important;}
html body .tb-fr .tb-fr__formcard .glw-consent a{color:#FFFFFF !important;text-decoration:underline !important;}
html body .tb-fr .tb-fr__promise--hero p{font-size:clamp(14px,1.1vw,16px) !important;line-height:1.45 !important;}


/* glw-mobile-pass
   REVERT: delete this block. Originals were
   consent margin-top 0 ; button #8FCB8F ; hrule visible ; card padding 18px ; labels visible */
html body .tb-fr .tb-fr__formcard .glw-consent{margin-top:16px !important;}
html body .tb-fr .tb-fr__formcard button[type="submit"],
html body .tb-fr .tb-fr__formcard .elementor-button{background:#A3E39C !important;background-color:#A3E39C !important;color:#12200F !important;font-weight:700 !important;transition:background-color .15s ease,transform .1s ease !important;}
html body .tb-fr .tb-fr__formcard button[type="submit"]:hover,
html body .tb-fr .tb-fr__formcard .elementor-button:hover{background:#8CD383 !important;background-color:#8CD383 !important;}
html body .tb-fr .tb-fr__formcard button[type="submit"]:active,
html body .tb-fr .tb-fr__formcard .elementor-button:active{transform:translateY(1px) !important;}
html body .tb-fr .tb-fr__hrule{display:none !important;}
html body .tb-fr .tb-fr__hero-head .tb-fr__anchorlead{margin-top:16px !important;}
@media (max-width:767px){
 html body .tb-fr .tb-fr__formcard{padding:12px !important;}
 html body .tb-fr .tb-fr__hero-form>p:first-child,
 html body .tb-fr .tb-fr__hero-form h2:first-child{font-size:17px !important;line-height:1.25 !important;margin-bottom:10px !important;}
 html body .tb-fr .tb-fr__formcard .elementor-field-group{margin-bottom:6px !important;}
 html body .tb-fr .tb-fr__formcard .elementor-field-label{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;}
}


/* glw-field-spacing
   REVERT: delete this block. Originals were
   field-group margin-bottom 6px ; anchorlead mt 16px ; anchor mb 14px */
html body .tb-fr .tb-fr__formcard .elementor-field-group{margin-bottom:14px !important;}
html body .tb-fr .tb-fr__formcard .elementor-field-group-address{margin-bottom:22px !important;}
@media (max-width:767px){
 html body .tb-fr .tb-fr__hero-head .tb-fr__anchorlead{margin-top:8px !important;}
 html body .tb-fr .tb-fr__hero-head .tb-fr__anchor{margin-bottom:8px !important;}
 html body .tb-fr .tb-fr__promise--hero{margin-bottom:0 !important;}
 html body .tb-fr .tb-fr__hero-grid{gap:16px !important;}
}


/* glw-mobile-header : bigger wordmark, balanced header bar (mobile only)
   REVERT: delete this block. Originals were
   bar min-height 65px ; logo font-size 15px ; logo container align-items flex-start */
@media (max-width:767px){
 html body header.elementor-location-header .elementor-element.e-con{min-height:56px !important;}
 html body header.elementor-location-header .e-con .e-con{align-items:center !important;}
 html body header.elementor-location-header a.glw-logo{font-size:20px !important;line-height:1.1 !important;}
}

