/* FTM Theme 0.1.0, the face-lift look. The written source is face-lift-2026-11/DESIGN-GUIDE.md; the sample is sample/index.html.
   Every rule is scoped under .ftm (the header, the menu sheet, the phone bar, the footer and, on converted pages, <main class="ftm">)
   so the pages that are not converted yet keep their own styles under the new header and footer. */

/* The three web fonts, served from this plugin (latin subsets, the same files Google served; variable files carry every weight
   used) and preloaded by ftm_theme_head(). Through fonts.googleapis.com they arrived two network hops late and the headline, the
   largest thing on most pages, waited for them: Lighthouse LCP 4.6–4.8 s on the homepage, Pensacola and Milton (11/8). */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:700 800;font-display:swap;src:url(fonts/bricolage-grotesque-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/instrument-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-mono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Fallback faces with the web fonts' metrics (measured in Chromium against Arial / Courier New, 11/8: size-adjust = width ratio
   of a long sample, ascent/descent from the font bounding box), so the text takes the same room before and after the web font
   lands and the swap moves nothing (Lighthouse had CLS 0.27 on the homepage hero from the swap alone). Phones without Arial
   (Android) skip these faces and fall through to sans-serif as before. */
@font-face{font-family:"Bricolage Fallback";src:local("Arial Bold"),local("Arial-BoldMT"),local("Arial");font-weight:700 800;size-adjust:92.95%;ascent-override:100.06%;descent-override:29.05%;line-gap-override:0%}
@font-face{font-family:"Instrument Fallback";src:local("Arial"),local("ArialMT");font-weight:400;size-adjust:101.54%;ascent-override:95.53%;descent-override:24.62%;line-gap-override:0%}
@font-face{font-family:"Instrument Fallback";src:local("Arial"),local("ArialMT");font-weight:500;size-adjust:102.92%;ascent-override:94.25%;descent-override:24.29%;line-gap-override:0%}
@font-face{font-family:"Instrument Fallback";src:local("Arial Bold"),local("Arial-BoldMT");font-weight:600 700;size-adjust:97.69%;ascent-override:99.3%;descent-override:25.59%;line-gap-override:0%}
@font-face{font-family:"Plex Mono Fallback";src:local("Courier New"),local("CourierNewPSMT");size-adjust:99.98%;ascent-override:103.02%;descent-override:28%;line-gap-override:0%}
:root{
  --bg:#060A07; --bg-2:#0B120D; --panel:rgba(255,255,255,.045); --panel-2:rgba(255,255,255,.08); --edge:rgba(255,255,255,.1);
  --ink:#F3F6F0; --muted:rgba(243,246,240,.64); --lime:#A6FF6E; --lime-2:#5FD64A; --green:#1E8A42; --green-deep:#0E3B1D; --amber:#F6C453;
  --display:"Bricolage Grotesque","Bricolage Fallback",ui-sans-serif,sans-serif; --text:"Instrument Sans","Instrument Fallback",ui-sans-serif,sans-serif; --mono:"IBM Plex Mono","Plex Mono Fallback",ui-monospace,monospace;
  --r:26px; --r-sm:16px; --pill:999px; --gut:20px; --bar:calc(78px + env(safe-area-inset-bottom,0px)); --navh:82px;
}
/* the header's height, preset to what it measures (82 px on phones, 90 px wider; 45 px more with the storm strip inside it)
   so the script's own measurement changes nothing and the page does not jump */
:root:has(.ftm-nav #ftm-stormbar){--navh:127px}
@media (min-width:768px){:root{--gut:40px;--bar:0px;--navh:90px}:root:has(.ftm-nav #ftm-stormbar){--navh:135px}}
@media (min-width:1200px){:root{--gut:64px}}
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}

/* the light variant (ad landing pages, cost pages): same parts, flipped tokens */
body.ftm-light{--bg:#F4F9F3;--bg-2:#FFFFFF;--panel:rgba(14,59,29,.05);--panel-2:rgba(14,59,29,.09);--edge:rgba(14,59,29,.14);--ink:#0B1A0F;--muted:rgba(11,26,15,.66)}
body.ftm-dark{background:var(--bg);color:var(--ink)}
body.ftm-light{background:var(--bg);color:var(--ink)}
html.sheet-open,html.sheet-open body{overflow:hidden}

/* ---- scope reset ---- */
.ftm{font:400 16px/1.55 var(--text);color:var(--ink);-webkit-font-smoothing:antialiased;letter-spacing:0;text-transform:none}
.ftm *{box-sizing:border-box}
.ftm h1,.ftm h2,.ftm h3,.ftm p,.ftm ul,.ftm ol,.ftm figure,.ftm blockquote{margin:0;padding:0}
.ftm ul,.ftm ol{list-style:none}
.ftm img{display:block;max-width:100%;border:0}
.ftm a{color:inherit}
.ftm .wrap{width:min(100% - 2*var(--gut),1240px);margin-inline:auto}
.ftm h1,.ftm h2,.ftm .display{font-family:var(--display);font-weight:800;letter-spacing:-.04em;line-height:.95;text-wrap:balance;color:inherit}
.ftm h1{font-size:clamp(44px,10vw,104px)}
.ftm h2{font-size:clamp(36px,6vw,76px)}
.ftm h3{font:600 20px/1.3 var(--text);letter-spacing:-.01em;color:inherit}
.ftm .kicker{display:inline-flex;align-items:center;gap:10px;font:500 13.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.ftm .kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 0 rgba(166,255,110,.5);animation:ftm-pulse 2.2s ease-out infinite}
@keyframes ftm-pulse{70%{box-shadow:0 0 0 12px rgba(166,255,110,0)}100%{box-shadow:0 0 0 0 rgba(166,255,110,0)}}
.ftm .lead{font-size:clamp(17px,2vw,20px);line-height:1.55;color:var(--muted);max-width:36em}
.ftm .grad{background:linear-gradient(92deg,#fff 0%,var(--lime) 60%,var(--lime-2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
body.ftm-light .ftm .grad{background:linear-gradient(92deg,var(--green-deep) 0%,var(--green) 60%,var(--lime-2) 100%);-webkit-background-clip:text;background-clip:text}

/* ---- buttons ---- */
.ftm .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 26px;border-radius:var(--pill);font:600 16px/1 var(--text);text-decoration:none;border:0;cursor:pointer;white-space:nowrap;position:relative;isolation:isolate;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;will-change:transform;letter-spacing:0;text-transform:none;margin:0}
.ftm .btn svg{width:20px;height:20px;flex:none}
.ftm .btn--go{background:linear-gradient(135deg,#D4FF9E 0%,var(--lime) 45%,#6FDC52 100%);color:#06200C;box-shadow:0 0 0 1px rgba(255,255,255,.35),0 14px 44px -10px rgba(166,255,110,.85),inset 0 1px 0 rgba(255,255,255,.6);overflow:hidden;font-weight:700}
.ftm .btn--go::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.7) 50%,transparent 70%);transform:translateX(-130%);transition:transform .8s ease;z-index:-1}
.ftm .btn--go:hover::before{transform:translateX(130%)}
.ftm .btn--go:hover{color:#06200C}
.ftm .btn--glass{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.ftm .btn--glass:hover{background:rgba(255,255,255,.16);color:#fff}
body.ftm-light main.ftm .btn--glass{background:rgba(14,59,29,.06);color:var(--ink);border-color:rgba(14,59,29,.2)}
body.ftm-light main.ftm .btn--glass:hover{background:rgba(14,59,29,.12);color:var(--ink)}
.ftm .btn:active{transform:scale(.97)}
.ftm .btn:focus-visible,.ftm a:focus-visible,.ftm button:focus-visible,.ftm summary:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.ftm .ring{position:relative;display:inline-flex;border-radius:var(--pill);padding:2px;background:conic-gradient(from var(--ang),rgba(255,255,255,.15) 0%,#fff 25%,rgba(255,255,255,.15) 45%,var(--lime) 65%,rgba(255,255,255,.15) 100%);animation:ftm-spin 3s linear infinite;box-shadow:0 0 0 1px rgba(166,255,110,.2),0 18px 50px -14px rgba(166,255,110,.6)}
.ftm .ring>.btn{width:100%;box-shadow:none}
@keyframes ftm-spin{to{--ang:360deg}}
.ftm .btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* ---- header ---- */
.ftm-nav{position:fixed;inset:0 0 auto 0;z-index:40;padding-top:calc(12px + env(safe-area-inset-top,0px));padding-bottom:10px;transition:background .3s,backdrop-filter .3s;color:#F3F6F0}
.ftm-nav.solid{background:rgba(6,10,7,.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--edge)}
.ftm-nav>.wrap{display:flex;align-items:center;gap:16px}
.ftm-nav .progress{position:absolute;left:0;top:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--lime),var(--lime-2));box-shadow:0 0 12px rgba(166,255,110,.8);pointer-events:none}
.ftm .logo{display:inline-flex;align-items:center;background:#fff;border-radius:16px;padding:7px 12px;text-decoration:none;box-shadow:0 10px 30px -10px rgba(0,0,0,.6);flex:none}
.ftm .logo img{height:46px;width:auto}
.ftm-nav .nav__words{display:none;align-items:center;gap:2px;margin-left:8px;padding:4px;border-radius:var(--pill);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.ftm-nav .nav__words>a,.ftm-nav .nav__item>a{display:inline-flex;align-items:center;gap:5px;min-height:44px;color:rgba(255,255,255,.84);font:500 15px/1 var(--text);text-decoration:none;padding:0 14px;border-radius:var(--pill);transition:background .25s,color .25s,box-shadow .25s;white-space:nowrap}
.ftm-nav .nav__words>a:hover,.ftm-nav .nav__item>a:hover,.ftm-nav .nav__item.open>a{background:rgba(255,255,255,.12);color:#fff}
.ftm-nav .nav__words a.on{background:rgba(255,255,255,.2);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 4px 14px -6px rgba(0,0,0,.6)}
.ftm-nav .nav__item{position:relative}
.ftm-nav .nav__item .caret{width:14px;height:14px;opacity:.7;transition:transform .25s}
.ftm-nav .nav__item:hover .caret,.ftm-nav .nav__item.open .caret,.ftm-nav .nav__item:focus-within .caret{transform:rotate(180deg)}
.ftm-nav .nav__panel{position:absolute;left:-8px;top:100%;padding-top:10px;display:none;z-index:5}
.ftm-nav .nav__item:hover .nav__panel,.ftm-nav .nav__item.open .nav__panel,.ftm-nav .nav__item:focus-within .nav__panel{display:block}
.ftm-nav .nav__panel ul{min-width:250px;padding:8px;border-radius:20px;background:rgba(6,10,7,.975);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 30px 60px -20px rgba(0,0,0,.85)}
.ftm-nav .nav__panel a{display:flex;align-items:center;min-height:44px;padding:10px 14px;border-radius:12px;font:500 15px/1.25 var(--text);color:rgba(255,255,255,.86);text-decoration:none;white-space:nowrap}
.ftm-nav .nav__panel a:hover{background:rgba(255,255,255,.1);color:#fff}
.ftm-nav .nav__right{margin-left:auto;display:flex;gap:10px;align-items:center}
.ftm-nav .nav__est,.ftm-nav .nav__call{display:none}
.ftm-nav .ring .btn,.ftm-nav .btn--glass{min-height:50px;padding:0 22px;font-size:16px}
.ftm .menu-btn{width:46px;height:46px;border-radius:var(--pill);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;color:#fff;cursor:pointer;padding:0;margin:0;flex:none}
.ftm .menu-btn svg{width:22px;height:22px}
@media (min-width:768px){.ftm .logo img{height:54px}.ftm-nav .nav__call{display:inline-flex}}
@media (min-width:1024px){.ftm-nav .nav__words{display:flex}.ftm-nav .menu-btn{display:none}}
@media (min-width:1280px){.ftm-nav .nav__est{display:inline-flex}.ftm-nav .nav__words>a,.ftm-nav .nav__item>a{font-size:16px;padding:0 16px}}

/* the storm bar snippet (#ftm-stormbar) is moved into the header by the script and restyled here */
.ftm-nav #ftm-stormbar{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 12px;margin:calc(-12px - env(safe-area-inset-top,0px)) 0 8px;padding:calc(2px + env(safe-area-inset-top,0px)) var(--gut) 2px;background:rgba(246,196,83,.12);border-bottom:1px solid rgba(246,196,83,.35);color:#FFE8A8;font:500 13.5px/1.35 var(--text);text-align:center}
.ftm-nav #ftm-stormbar b{color:#fff;font-weight:700}
.ftm-nav #ftm-stormbar a{display:inline-flex;align-items:center;min-height:44px;color:#fff;text-decoration:none;font-weight:700;white-space:nowrap}
.ftm-nav #ftm-stormbar a.tel{min-height:44px;margin:0;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);padding:0 14px;border-radius:999px;line-height:1}
.ftm-nav #ftm-stormbar a.pg{text-decoration:underline;font-weight:500}
@media (max-width:1023px){.ftm-nav #ftm-stormbar .more{display:none}}
@media (max-width:767px){.ftm-nav #ftm-stormbar a.pg{display:none}.ftm-nav #ftm-stormbar{font-size:13px;gap:0 10px}}

/* the old slide-in and sticky bar (snippet 4623) step aside for the theme's own bar */
body.ftm-theme #ftm-sticky,body.ftm-theme #ftm-pill{display:none!important}
/* pages not converted yet sit below the fixed header */
body.ftm-plain #page{padding-top:var(--navh)}
body.ftm-plain{scroll-padding-top:var(--navh)}

/* ---- menu sheet (phones and tablets) ---- */
.ftm-sheet{position:fixed;inset:0;background:#080C09;color:#fff;z-index:50;padding:calc(84px + env(safe-area-inset-top,0px)) var(--gut) calc(40px + env(safe-area-inset-bottom,0px));overflow:auto;-webkit-overflow-scrolling:touch;display:block}
.ftm-sheet[hidden]{display:none}
.ftm-sheet .sheet__list>a,.ftm-sheet summary{display:flex;justify-content:space-between;align-items:center;font:800 30px/1.15 var(--display);letter-spacing:-.04em;text-decoration:none;padding:13px 0;border-bottom:1px solid var(--edge);color:#fff;cursor:pointer;list-style:none;margin:0}
.ftm-sheet summary::-webkit-details-marker{display:none}
.ftm-sheet summary::after{content:"+";font:500 28px/1 var(--mono);color:var(--lime)}
.ftm-sheet details[open] summary::after{content:"\2212"}
.ftm-sheet details a{display:block;font:500 18px/1.3 var(--text);letter-spacing:0;padding:11px 0 11px 14px;border-bottom:1px solid rgba(255,255,255,.06);color:rgba(255,255,255,.86);text-decoration:none}
.ftm-sheet details a:first-of-type{color:var(--lime)}
.ftm-sheet .sheet__cta{margin-top:22px;display:grid;gap:10px}
.ftm-sheet .sheet__cta .ring,.ftm-sheet .sheet__cta .btn{width:100%}
.ftm-sheet .close{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:var(--gut)}
@media (min-width:1024px){.ftm-sheet{display:none}}

/* ---- phone bar: Call, Text, Estimate ---- */
.ftm-bar{position:fixed;inset:auto 0 0 0;z-index:40;background:rgba(6,10,7,.78);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--edge);padding:11px var(--gut) calc(11px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:8px;transform:translateY(110%);transition:transform .35s ease;color:#fff}
.ftm-bar .btn{min-height:54px;padding:0 10px;font-size:15px;gap:7px}
.ftm-bar .ring{width:100%}
.ftm-bar.show,html:not(.js) .ftm-bar{transform:none}
@media (min-width:768px){.ftm-bar{display:none}}

/* ---- footer ---- */
.ftm-footer{background:#040705;color:#F3F6F0;padding:44px 0 calc(32px + var(--bar));border-top:1px solid rgba(255,255,255,.1);font:400 16px/1.55 var(--text)}
.ftm-footer .foot{display:grid;gap:28px 20px;grid-template-columns:repeat(2,minmax(0,1fr))}
.ftm-footer .brand,.ftm-footer .touch{grid-column:1 / -1}
@media (min-width:768px){.ftm-footer .foot{grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 28px}.ftm-footer .touch{grid-column:auto}}
@media (min-width:1200px){.ftm-footer .foot{grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:40px}.ftm-footer .brand{grid-column:auto}}
.ftm-footer h3{font:500 13px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(243,246,240,.64);margin:0 0 12px}
.ftm-footer li{font-size:16px;line-height:1.4;margin:0;padding:0}
.ftm-footer li span{display:inline-flex;align-items:center;min-height:44px;color:rgba(243,246,240,.82)}
.ftm-footer a{text-decoration:none;color:rgba(243,246,240,.82);display:inline-flex;align-items:center;min-height:44px;transition:color .2s}
.ftm-footer a:hover{color:var(--lime)}
.ftm-footer .brand{display:grid;gap:14px;align-content:start}
.ftm-footer .brand .logo{justify-self:start}
.ftm-footer .brand .logo img{height:72px}
.ftm-footer .brand p{color:rgba(243,246,240,.64);font-size:15px;max-width:30em}
.ftm-footer .social{display:flex;gap:8px;flex-wrap:wrap}
.ftm-footer .social a{width:46px;height:46px;min-height:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#fff}
.ftm-footer .social a:hover{background:var(--lime);color:#06200C;border-color:var(--lime)}
.ftm-footer .social svg{width:20px;height:20px;fill:currentColor}
.ftm-footer .legal{margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:8px 20px;font:400 13px/1.4 var(--mono);color:rgba(243,246,240,.64)}

/* ---- page parts (converted pages, <main class="ftm">) ---- */
.ftm .hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;isolation:isolate;overflow:hidden;background:#050806;padding:0}
.ftm .hero__bg{position:absolute;inset:0;z-index:-4}
.ftm .hero__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;transform:scale(1.06);filter:saturate(1.05)}
.ftm .hero__shade{position:absolute;inset:0;z-index:-3;background:linear-gradient(180deg,rgba(5,8,6,.36) 0%,rgba(5,8,6,.2) 28%,rgba(5,8,6,.8) 55%,#060A07 100%)}
.ftm .hero__gl,.ftm .hero__fx{position:absolute;inset:0;z-index:-2;pointer-events:none}
.ftm .hero__gl{mix-blend-mode:screen;opacity:.75}
.ftm .hero__fx{mix-blend-mode:screen}
.ftm .grain{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.ftm .hero>.wrap{padding:calc(var(--navh) + 58px) 0 48px;display:grid;gap:20px;position:relative}
.ftm .notice{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;background:rgba(6,10,7,.55);border:1px solid rgba(246,196,83,.5);color:#FFE8A8;border-radius:var(--pill);padding:9px 16px 9px 12px;font:500 14.5px/1.35 var(--text);justify-self:start;max-width:100%;backdrop-filter:blur(8px)}
.ftm .notice .dot{width:9px;height:9px;border-radius:50%;background:var(--amber);box-shadow:0 0 14px var(--amber);flex:none}
.ftm .notice a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);white-space:nowrap;padding:12px 0;margin:-12px 0}
.ftm .rating{display:inline-flex;align-items:center;gap:10px;justify-self:start;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(12px);border-radius:var(--pill);padding:8px 18px 8px 8px;font-size:15px;font-weight:500;box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
.ftm .rating .g{width:30px;height:30px;border-radius:50%;background:#fff;display:grid;place-items:center;font:700 16px/1 var(--display);color:#1a73e8}
.ftm .rating .stars{color:var(--amber);letter-spacing:1px;font-size:15px;text-shadow:0 0 10px rgba(246,196,83,.6)}
.ftm .stars .dim{opacity:.28;text-shadow:none}
.ftm .hero h1{max-width:7.06em;text-shadow:0 10px 60px rgba(0,0,0,.5)}
.ftm .hero h1 .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.06em;margin-bottom:-.06em}
.ftm .hero h1 .w>span{display:inline-block;will-change:transform,filter}
.ftm .hero .lead{color:rgba(255,255,255,.84);max-width:30em;font-size:16px}
@media (min-width:768px){.ftm .hero .lead{font-size:19px}}
.ftm .hero .btn{width:100%}.ftm .hero .ring{width:100%}
.ftm .hero .btn-row .btn--go,.ftm .hero .btn-row .btn--go:hover,main.ftm .hero .btn--go{color:#06200C}
body.ftm-theme main.ftm a.btn--go,body.ftm-theme main.ftm a.btn--go:hover{color:#06200C}
/* the kicker and the rating sit over the brightest part of the photo: a dark pill behind each */
.ftm .hero .kicker{background:rgba(6,10,7,.55);border:1px solid rgba(166,255,110,.25);border-radius:var(--pill);padding:9px 13px;justify-self:start;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);margin-bottom:2px}
.ftm .hero__text{display:grid;gap:14px}
.ftm .hero h1.long{font-size:clamp(34px,5.8vw,72px);max-width:16ch}
@media (min-width:640px){.ftm .hero .btn,.ftm .hero .ring{width:auto}}
.ftm .hero__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.ftm .chip{display:inline-flex;align-items:center;gap:7px;font:500 13px/1 var(--text);color:rgba(255,255,255,.9);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:var(--pill);padding:8px 12px 8px 9px;backdrop-filter:blur(8px)}
.ftm .chip svg{width:15px;height:15px;color:var(--lime)}
.ftm .hero__side{display:none}
@media (min-width:1024px){
  .ftm .hero>.wrap{padding-top:calc(var(--navh) + 78px);padding-bottom:84px;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:end;column-gap:48px}
  .ftm .hero__text{display:grid;gap:22px}
  .ftm .hero__chips{display:none}
  .ftm .hero__side{display:grid;gap:14px;border-radius:var(--r);padding:26px;position:relative;background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.03));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}
  .ftm .hero__side::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(166,255,110,.9),rgba(255,255,255,.08) 40%,rgba(166,255,110,.5));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
  .ftm .hero__side .num{font:800 clamp(44px,4vw,64px)/1 var(--display);letter-spacing:-.05em;text-shadow:0 0 40px rgba(166,255,110,.5)}
  .ftm .hero__side p{font-size:15px;color:rgba(255,255,255,.78)}
  .ftm .hero__side .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .ftm .hero__side .row div{padding:14px;border-radius:var(--r-sm);background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.08)}
  .ftm .hero__side .row b{font:700 17px/1.2 var(--text)}
  .ftm .hero__side .row span{display:block;font-size:13px;color:rgba(255,255,255,.65);margin-top:4px}
}
.ftm .scroll-cue{position:absolute;left:50%;bottom:calc(14px + var(--bar));transform:translateX(-50%);width:1px;height:48px;background:linear-gradient(180deg,transparent,var(--lime));opacity:.8;display:none}
@media (min-width:1024px){.ftm .scroll-cue{display:block}}
.ftm .scroll-cue::after{content:"";position:absolute;left:-2px;top:0;width:5px;height:14px;border-radius:3px;background:var(--lime);animation:ftm-cue 1.8s ease-in-out infinite;box-shadow:0 0 12px var(--lime)}
@keyframes ftm-cue{0%{top:0;opacity:0}30%{opacity:1}100%{top:36px;opacity:0}}

.ftm .kinetic{overflow:hidden;padding:26px 0;border-block:1px solid var(--edge);background:var(--bg)}
.ftm .kinetic ul{display:flex;width:max-content;animation:ftm-slide 40s linear infinite}
.ftm .kinetic li{font:800 clamp(40px,8vw,120px)/1 var(--display);letter-spacing:-.04em;white-space:nowrap;padding-right:.5em;color:transparent;-webkit-text-stroke:1px rgba(243,246,240,.35)}
.ftm .kinetic li:nth-child(even){color:var(--ink);-webkit-text-stroke:0}
.ftm .kinetic li::after{content:"\2726";font-size:.4em;vertical-align:middle;margin-left:.5em;color:var(--lime);-webkit-text-stroke:0;text-shadow:0 0 14px var(--lime)}
@keyframes ftm-slide{to{transform:translateX(-50%)}}

.ftm section{padding:88px 0;position:relative;scroll-margin-top:calc(var(--navh) + 12px)}
@media (min-width:768px){.ftm section{padding:130px 0}}
.ftm .head{display:grid;gap:16px;margin-bottom:40px}
.ftm .head h2{max-width:13ch}
.ftm .head h2 a{display:inline-block;padding:8px 0;margin:-8px 0;color:inherit;text-decoration:none}
.ftm .head h2 a:hover{color:var(--lime)}
body.ftm-light .ftm .head h2 a:hover{color:var(--green)}
@media (min-width:768px){.ftm .head{margin-bottom:60px;grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:end;column-gap:48px}.ftm .head .kicker{grid-column:1 / -1}}
html.js .ftm .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
html.js .ftm .reveal.in,html.no-motion .ftm .reveal{opacity:1;transform:none}

.ftm .svc{padding-bottom:0}
.ftm .svc .lead a{color:var(--ink);font-weight:600;display:inline-block;padding:12px 0;margin:-12px 0}
.ftm .track-wrap{padding-bottom:60px;position:relative}
.ftm .track{display:flex;gap:14px;padding:0 var(--gut) 40px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ftm .track::-webkit-scrollbar{display:none}
.ftm .pcard{position:relative;flex:0 0 78vw;max-width:420px;aspect-ratio:3 / 4;border-radius:var(--r);overflow:hidden;text-decoration:none;color:#fff;scroll-snap-align:center;background:var(--green-deep);box-shadow:0 40px 80px -30px rgba(0,0,0,.8);transform-style:preserve-3d;transition:transform .35s ease,box-shadow .35s ease}
.ftm .pcard img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.ftm .pcard:hover img{transform:scale(1.07)}
.ftm .pcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(6,10,7,.92) 100%)}
.ftm .pcard .sheen{position:absolute;inset:0;z-index:1;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(166,255,110,.22),transparent 55%);opacity:0;transition:opacity .3s}
.ftm .pcard:hover .sheen{opacity:1}
.ftm .pcard:hover{box-shadow:0 40px 80px -24px rgba(0,0,0,.9),0 0 0 1px rgba(166,255,110,.45),0 0 60px -10px rgba(166,255,110,.35)}
.ftm .pcard .t{position:absolute;inset:auto 0 0 0;padding:20px;z-index:2;display:grid;gap:6px}
.ftm .pcard .idx{font:500 13px/1 var(--mono);letter-spacing:.14em;color:var(--lime)}
.ftm .pcard h3{font:800 clamp(24px,2.4vw,34px)/1.02 var(--display);letter-spacing:-.03em;color:#fff}
.ftm .pcard p{font-size:14.5px;color:rgba(255,255,255,.78)}
.ftm .pcard .go{position:absolute;top:16px;right:16px;z-index:2;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);display:grid;place-items:center;transition:background .25s,transform .25s}
.ftm .pcard:hover .go{background:var(--lime);color:#06200C;transform:rotate(-45deg)}
.ftm .pcard .go svg{width:18px;height:18px}
@media (min-width:1024px){
  .ftm .track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;overflow:visible;scroll-snap-type:none;padding:0;width:min(100% - 2*var(--gut),1240px);margin-inline:auto}
  .ftm .pcard{flex:none;max-width:none;aspect-ratio:4 / 5}
  .ftm .pcard .t{padding:26px}
  .ftm .track .end{display:none}
}

.ftm .band{background:radial-gradient(120% 140% at 85% 0%,#14522A 0%,var(--green-deep) 50%,#06140B 100%);color:#fff;overflow:hidden;isolation:isolate}
.ftm .band .dots{position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(166,255,110,.25) 1px,transparent 1.5px);background-size:28px 28px;-webkit-mask-image:radial-gradient(60% 80% at 50% 50%,#000 30%,transparent 100%);mask-image:radial-gradient(60% 80% at 50% 50%,#000 30%,transparent 100%)}
.ftm .band .scan{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 0%,rgba(166,255,110,.12) 50%,transparent 100%);height:30%;animation:ftm-scan 6s ease-in-out infinite alternate}
@keyframes ftm-scan{to{transform:translateY(240%)}}
.ftm .bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ftm .tile{position:relative;display:grid;align-content:end;gap:8px;padding:22px;min-height:150px;border-radius:var(--r-sm);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14);color:#fff;text-decoration:none;transition:transform .3s,border-color .3s,background .3s}
.ftm .tile:hover{transform:translateY(-4px);border-color:rgba(166,255,110,.45);background:rgba(255,255,255,.11)}
.ftm .tile b{display:block;font:800 clamp(48px,6vw,88px)/1 var(--display);letter-spacing:-.05em;background:linear-gradient(180deg,#fff 30%,var(--lime));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px rgba(166,255,110,.25))}
.ftm .tile b small{font-size:.5em;margin-left:4px}
.ftm .tile .lbl{color:rgba(255,255,255,.72);font:500 13px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.ftm .tile--big,.ftm .tile--wide{grid-column:span 2}
.ftm .tile--big{min-height:250px;background:linear-gradient(160deg,rgba(166,255,110,.16),rgba(255,255,255,.05));border-color:rgba(166,255,110,.3)}
.ftm .tile--big b{font-size:clamp(84px,12vw,150px)}
.ftm .tile .stars{color:var(--amber);letter-spacing:3px;font-size:20px;text-shadow:0 0 12px rgba(246,196,83,.5)}
.ftm .tile .arrowc{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;background:var(--lime);color:#06200C;display:grid;place-items:center;box-shadow:0 0 24px rgba(166,255,110,.5);transition:transform .25s}
.ftm .tile--big:hover .arrowc{transform:rotate(-45deg)}
.ftm .tile .arrowc svg{width:18px;height:18px}
.ftm .chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0}
.ftm .chips li{list-style:none;font:500 13px/1 var(--text);padding:9px 12px;border-radius:var(--pill);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16)}
@media (min-width:1024px){
  .ftm .bento{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(170px,auto);gap:16px}
  .ftm .tile--big{grid-column:1 / span 2;grid-row:1 / span 2}
  .ftm .tile--wide{grid-column:3 / span 2}
}

.ftm .split{display:grid;gap:32px;align-items:center}
@media (min-width:1024px){.ftm .split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px}}
.ftm .pic{border-radius:var(--r);overflow:hidden;aspect-ratio:4 / 5;position:relative;box-shadow:0 40px 100px -30px rgba(0,0,0,.9)}
.ftm .pic img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);will-change:transform}
.ftm .pic .tag{position:absolute;left:16px;bottom:16px;background:rgba(6,10,7,.6);backdrop-filter:blur(12px);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:var(--pill);padding:10px 16px;font-weight:600;font-size:14px;display:inline-flex;gap:8px;align-items:center}
.ftm .points{display:grid;gap:14px;margin-top:30px}
.ftm .point{display:grid;grid-template-columns:50px 1fr;gap:16px;align-items:start;padding:20px;border-radius:var(--r-sm);background:var(--panel);border:1px solid var(--edge);transition:transform .3s,border-color .3s,background .3s}
.ftm .point:hover{transform:translateX(6px);border-color:rgba(166,255,110,.4);background:var(--panel-2)}
.ftm .point .ic{width:50px;height:50px;border-radius:14px;background:rgba(166,255,110,.1);color:var(--lime);display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(166,255,110,.25)}
body.ftm-light .ftm .point .ic{color:var(--green)}
.ftm .point .ic svg{width:24px;height:24px}
.ftm .point p{color:var(--muted);font-size:15px;margin-top:4px}

.ftm .steps-wrap{position:relative}
.ftm .steps{display:grid;gap:16px;position:relative;z-index:1}
@media (min-width:768px){.ftm .steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}
.ftm .step{background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:1px solid var(--edge);border-radius:var(--r);padding:28px;display:grid;gap:12px;position:relative;overflow:hidden;backdrop-filter:blur(10px);transition:transform .3s,border-color .3s}
.ftm .step:hover{transform:translateY(-6px);border-color:rgba(166,255,110,.45)}
.ftm .step .n{font:800 88px/1 var(--display);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px rgba(166,255,110,.85);text-shadow:0 0 30px rgba(166,255,110,.3);position:absolute;top:6px;right:18px}
.ftm .step .orb{width:14px;height:14px;border-radius:50%;background:var(--lime);box-shadow:0 0 20px var(--lime),0 0 0 6px rgba(166,255,110,.15)}
.ftm .step h3{margin-top:32px}
.ftm .step p{color:var(--muted);font-size:15px}
.ftm .wire{position:absolute;left:0;right:0;top:50%;height:4px;z-index:0;display:none}
@media (min-width:768px){.ftm .wire{display:block}}
.ftm .wire path{fill:none;stroke:url(#wg);stroke-width:2;stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(166,255,110,.8))}

.ftm .reviews{display:grid;gap:16px}
@media (min-width:768px){.ftm .reviews{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}
.ftm .rev{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r);padding:28px;display:grid;gap:16px;align-content:start;transition:transform .3s,border-color .3s,background .3s}
.ftm .rev:hover{transform:translateY(-6px);border-color:rgba(166,255,110,.4);background:var(--panel-2)}
.ftm .rev .stars{color:var(--amber);letter-spacing:2px;font-size:18px;text-shadow:0 0 12px rgba(246,196,83,.5)}
.ftm .rev blockquote{font:500 18px/1.45 var(--text);letter-spacing:-.01em}
.ftm .rev .who{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--muted)}
.ftm .rev .who .av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--lime-2));color:#fff;display:grid;place-items:center;font:700 15px/1 var(--display)}
.ftm .rev--all{text-decoration:none;justify-content:space-between;background:linear-gradient(160deg,#14522A,var(--green-deep));border-color:rgba(166,255,110,.3);color:#fff}
.ftm .rev--all b{font:800 clamp(60px,5.5vw,84px)/1 var(--display);letter-spacing:-.05em;color:#fff}
.ftm .rev--all span{color:rgba(255,255,255,.7)}
.ftm .rev--all .arrowc{width:48px;height:48px;border-radius:50%;background:var(--lime);color:#06200C;display:grid;place-items:center;justify-self:end;transition:transform .25s;box-shadow:0 0 24px rgba(166,255,110,.5)}
.ftm .rev--all:hover .arrowc{transform:translateX(6px)}
.ftm .rev--all .arrowc svg{width:20px;height:20px}

.ftm .est{display:grid;gap:32px}
@media (min-width:1024px){.ftm .est{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}}
.ftm .est__text{display:grid;gap:18px}
.ftm .est__text .huge{font:800 clamp(40px,5vw,72px)/1 var(--display);letter-spacing:-.05em}
.ftm .est__text .huge a{text-decoration:none}
.ftm .est .plans{color:var(--muted);font-size:15px;margin:-6px 0 0}
.ftm .form{position:relative;background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border-radius:var(--r);padding:26px;display:grid;gap:14px;backdrop-filter:blur(16px);box-shadow:0 50px 100px -40px rgba(166,255,110,.25);margin:0}
.ftm .form::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:conic-gradient(from var(--ang),rgba(166,255,110,.9),rgba(255,255,255,.08) 30%,rgba(166,255,110,.4) 60%,rgba(255,255,255,.06) 80%,rgba(166,255,110,.9));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;animation:ftm-spin 6s linear infinite}
@media (min-width:768px){.ftm .form{padding:38px}}
.ftm .form label{display:grid;gap:7px;font:500 13px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0}
.ftm .form input,.ftm .form textarea{font:400 16px/1.4 var(--text);color:var(--ink);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:0 16px;min-height:54px;width:100%;transition:border-color .2s,box-shadow .2s;margin:0}
body.ftm-light .ftm .form input,body.ftm-light .ftm .form textarea{background:#fff;border-color:var(--edge)}
.ftm .form textarea{padding:14px 16px;min-height:112px;resize:vertical}
.ftm .form input::placeholder,.ftm .form textarea::placeholder{color:rgba(128,140,128,.6)}
.ftm .form input:focus,.ftm .form textarea:focus{outline:0;border-color:var(--lime);box-shadow:0 0 0 4px rgba(166,255,110,.16),0 0 30px rgba(166,255,110,.25)}
.ftm .form .btn{width:100%;margin-top:6px}
.ftm .form small{font-size:13px;color:var(--muted);text-align:center}
.ftm .form small a{display:inline-block;padding:12px 0;margin:-12px 0;color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* ---- converted pages inside Astra: the content box goes full-bleed, the theme's own type wins over Astra and the Elementor kit ---- */
body.ftm-dark #page,body.ftm-light #page{padding-top:0}
body.ftm-dark #content,body.ftm-light #content{padding:0;margin:0;background:var(--bg)}
body.ftm-dark #content>.ast-container,body.ftm-light #content>.ast-container{max-width:none;width:100%;padding:0;margin:0;display:block}
body.ftm-dark #primary,body.ftm-light #primary{width:100%;max-width:none;margin:0;padding:0;float:none}
body.ftm-dark #secondary,body.ftm-light #secondary{display:none}
body.ftm-dark .ast-article-single,body.ftm-light .ast-article-single,body.ftm-dark .ast-article-post,body.ftm-light .ast-article-post,body.ftm-dark .ast-separate-container #primary,body.ftm-light .ast-separate-container #primary{padding:0;margin:0;background:transparent;border:0;box-shadow:none;border-radius:0}
/* Astra's "separate container" pages paint the article white with a :not() rule of higher specificity; nothing under the new look may be white */
body.ftm-dark.ast-separate-container .ast-article-single:not(.ast-related-post),body.ftm-light.ast-separate-container .ast-article-single:not(.ast-related-post),body.ftm-dark.ast-separate-container .ast-article-post,body.ftm-light.ast-separate-container .ast-article-post,body.ftm-dark.ast-separate-container,body.ftm-light.ast-separate-container{background-color:transparent !important}
body.ftm-dark.ast-separate-container,body.ftm-dark.ast-separate-container #content{background:var(--bg) !important}
body.ftm-light.ast-separate-container,body.ftm-light.ast-separate-container #content{background:var(--bg) !important}
body.ftm-dark .entry-content,body.ftm-light .entry-content,body.ftm-dark .entry-header,body.ftm-light .entry-header{margin:0;padding:0}
body.ftm-theme main.ftm h1,body.ftm-theme main.ftm h2{font-family:var(--display);font-weight:800;letter-spacing:-.04em;line-height:.95;color:inherit;margin:0;text-transform:none}
body.ftm-theme main.ftm h1{font-size:clamp(44px,10vw,104px)}
body.ftm-theme main.ftm h2{font-size:clamp(36px,6vw,76px)}
body.ftm-theme main.ftm h3{font:600 20px/1.3 var(--text);letter-spacing:-.01em;color:inherit;margin:0;text-transform:none}
body.ftm-theme main.ftm p,body.ftm-theme main.ftm ul,body.ftm-theme main.ftm ol,body.ftm-theme main.ftm figure,body.ftm-theme main.ftm blockquote{margin:0;padding:0}
body.ftm-theme main.ftm li{margin:0;list-style:none}
body.ftm-theme main.ftm a{color:inherit;text-decoration:none;text-transform:none;letter-spacing:inherit}
body.ftm-theme main.ftm .lead a,body.ftm-theme main.ftm .towns a,body.ftm-theme main.ftm .also a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(166,255,110,.55);color:var(--ink);font-weight:600}
body.ftm-theme main.ftm .lead a:hover,body.ftm-theme main.ftm .towns a:hover,body.ftm-theme main.ftm .also a:hover{color:var(--lime)}
/* inline text links keep their line but get a 44 px tap height */
.ftm .lead a,.ftm .towns a,.ftm .also a{display:inline-block;padding:12px 0;margin:-12px 0}
.ftm .county h3 a{display:inline-flex;align-items:center;min-height:44px}
body.ftm-theme main.ftm blockquote{color:var(--ink);border:0;padding:0;margin:0;background:none;font-style:normal;quotes:none}
body.ftm-theme main.ftm blockquote::before,body.ftm-theme main.ftm blockquote::after{content:none}

/* more services: three glass rows */
.ftm .points--row{margin-top:0;display:grid;gap:14px}
@media (min-width:768px){.ftm .points--row{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ftm a.point{text-decoration:none;color:inherit}
.ftm a.point h3{color:var(--ink)}

/* service areas: county cards with the towns */
.ftm .counties{display:grid;gap:14px;margin-top:8px}
@media (min-width:768px){.ftm .counties{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media (min-width:1200px){.ftm .counties{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ftm .county{padding:22px;border-radius:var(--r-sm);background:var(--panel);border:1px solid var(--edge);display:grid;gap:10px;align-content:start;transition:border-color .3s,background .3s}
.ftm .county:hover{border-color:rgba(166,255,110,.4);background:var(--panel-2)}
.ftm .county h3{font:800 22px/1.1 var(--display);letter-spacing:-.03em}
.ftm .county h3 a{color:var(--ink)}
.ftm .county h3 a:hover{color:var(--lime)}
.ftm .towns{color:var(--muted);font-size:15px;line-height:1.75}
.ftm .also{margin-top:24px;color:var(--muted);font-size:16px;max-width:60em}

/* FAQ accordion */
.ftm .faq{display:grid;gap:10px;max-width:860px}
.ftm .faq details{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-sm);padding:0 22px;transition:border-color .3s}
.ftm .faq details[open]{border-color:rgba(166,255,110,.35)}
.ftm .faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:16px 0;cursor:pointer;list-style:none;color:var(--ink)}
.ftm .faq summary::-webkit-details-marker{display:none}
.ftm .faq summary h3{font:600 18px/1.3 var(--text);letter-spacing:-.01em}
.ftm .faq summary::after{content:"+";font:500 26px/1 var(--mono);color:var(--lime);flex:none}
.ftm .faq details[open] summary::after{content:"\2212"}
.ftm .faq details p{color:var(--muted);padding:0 0 20px;font-size:16px;line-height:1.6}

/* the estimate form's states */
.ftm .form .hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;opacity:0}
.ftm .form .msg{font-size:15px;line-height:1.45;color:var(--muted);text-align:center;min-height:0}
.ftm .form .msg:empty{display:none}
.ftm .form .msg.err{color:#FFB4A8}
.ftm .form.sent label,.ftm .form.sent .btn,.ftm .form.sent small{display:none}
.ftm .form.sent .msg{font:600 20px/1.4 var(--text);color:var(--ink);padding:24px 0;text-align:left}
.ftm .form.sent .msg a{color:var(--lime)}

/* ---- inner pages (service hubs, county and city pages, cost pages): a shorter hero, a takeaways card, the body copy restyled ---- */
.ftm .hero--page{min-height:min(88svh,820px)}
.ftm .hero--page h1{font-size:clamp(38px,7.2vw,84px);max-width:14ch}
.ftm .hero--page .kicker{margin-bottom:-6px}
.ftm .takeaways{padding:0;margin-top:-28px;position:relative;z-index:2}
.ftm .take{padding:26px;border-radius:var(--r);background:linear-gradient(160deg,rgba(166,255,110,.12),rgba(255,255,255,.04));border:1px solid rgba(166,255,110,.3);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:grid;gap:14px}
.ftm .take h3{font:500 13px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--lime)}
.ftm .take ul{display:grid;gap:10px}
.ftm .take li{position:relative;padding-left:26px;color:var(--ink);font-size:16px;line-height:1.55}
.ftm .take li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:12px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px rgba(166,255,110,.6)}
.ftm .take strong,.ftm .prose__body strong{font-weight:600;color:var(--ink)}
@media (min-width:768px){.ftm .take{padding:34px 40px}.ftm .take ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px}}
.ftm section.prose{padding:56px 0}
@media (min-width:768px){.ftm section.prose{padding:84px 0}}
.ftm section.prose + section.prose{padding-top:0}
.ftm .prose .head{margin-bottom:22px}
.ftm .prose .head h2{font-size:clamp(30px,4.6vw,56px);max-width:18ch}
.ftm .prose__body{max-width:72ch;display:grid;gap:18px;color:rgba(243,246,240,.84);font-size:17px;line-height:1.65}
/* on a computer a titled text section runs as two columns, the heading pinned on the left, so the page is not one skinny column with an empty right side */
@media (min-width:1024px){
  .ftm section.prose .wrap:has(.head){display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr);column-gap:64px;align-items:start}
  .ftm section.prose .wrap:has(.head) .head{position:sticky;top:calc(var(--navh) + 28px);margin-bottom:0;grid-template-columns:minmax(0,1fr);align-items:start}
  .ftm section.prose .wrap:has(.head) .head h2{font-size:clamp(28px,2.7vw,42px);max-width:none}
  .ftm section.prose .wrap:has(.head) .prose__body{max-width:68ch}
}
body.ftm-light .ftm .prose__body{color:rgba(11,26,15,.84)}
.ftm .prose__body p{margin:0}
.ftm .prose__body > div{display:grid;gap:18px}
.ftm .prose__body .callout{display:grid;gap:10px}
.ftm .prose__body img{max-width:100%;height:auto;border-radius:var(--r-sm);display:block}
.ftm .prose__body figure{display:grid;gap:8px}
.ftm .prose__body figcaption{font-size:14px;color:var(--muted)}
.ftm .prose__body h3{font:700 22px/1.25 var(--text);letter-spacing:-.01em;color:var(--ink);margin-top:10px}
.ftm .prose__body h4{font:600 18px/1.3 var(--text);color:var(--ink)}
.ftm .prose__body ul,.ftm .prose__body ol{display:grid;gap:8px;padding-left:0}
.ftm .prose__body li{position:relative;padding-left:24px}
.ftm .prose__body ul>li::before{content:"";position:absolute;left:0;top:.6em;width:9px;height:9px;border-radius:50%;background:var(--lime)}
.ftm .prose__body ol{counter-reset:li}
.ftm .prose__body ol>li{counter-increment:li;padding-left:34px}
.ftm .prose__body ol>li::before{content:counter(li,decimal-leading-zero);position:absolute;left:0;top:.1em;font:500 13px/1.6 var(--mono);color:var(--lime);letter-spacing:.08em}
.ftm .prose__body a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(166,255,110,.55);font-weight:600}
.ftm .prose__body a:hover{color:var(--lime)}
.ftm .prose__body a,.ftm .take a,.ftm .faq__a a{display:inline-block;padding:12px 0;margin:-12px 0}
.ftm .prose__body .callout{padding:18px 22px;border-radius:var(--r-sm);background:rgba(246,196,83,.1);border:1px solid rgba(246,196,83,.35);color:#FFE8A8}
.ftm .prose__body .callout a{color:#fff}
.ftm .prose__body .callout strong{color:#fff}
.ftm .prose__body [class$="-box"],.ftm .prose__body [class$="-card"],.ftm .prose__body .storm-event,.ftm .prose__body .ftm-card{padding:20px 22px;border-radius:var(--r-sm);background:var(--panel);border:1px solid var(--edge);display:grid;gap:8px}
.ftm .prose__body [class$="-grid"],.ftm .prose__body .ftm-grid,.ftm .prose__body .storm-timeline{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.ftm .prose__body [class$="-card"] h3,.ftm .prose__body [class$="-box"] h3,.ftm .prose__body .ftm-card h3{margin-top:0;font-size:18px}
.ftm .tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r-sm);border:1px solid var(--edge);scrollbar-width:thin;line-height:1.5}
.ftm .tablewrap>*:not(table){display:none}
.ftm .tablewrap>table{margin:0}
.ftm table.price{width:100%;min-width:520px;border-collapse:collapse;font-size:15px;background:var(--panel)}
.ftm table.price th,.ftm table.price td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--edge);vertical-align:top}
.ftm table.price th{font:500 13px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--lime);background:rgba(166,255,110,.06)}
.ftm table.price td.nw{white-space:nowrap}
/* the old pages' Google rating link: the count on one line, "Read them all on Google" under it */
.ftm .prose__body a.ftm-rating{display:inline-grid;gap:3px;text-decoration:none}
.ftm .prose__body a.ftm-rating span{font-size:14px;text-decoration:underline;color:var(--muted)}
.ftm .tablewrap:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.ftm table.price tr:last-child td{border-bottom:0}
.ftm table.price td:nth-child(3){font-weight:600;color:var(--ink)}
@media (max-width:767px){.ftm table.price{min-width:0;font-size:14px}.ftm table.price th,.ftm table.price td{padding:10px 10px}.ftm table.price th{font-size:13px;letter-spacing:.06em}}

/* ---- the light variant's accents: lime stays on the Call button only; everything else turns green on the light ground ---- */
body.ftm-light .ftm .kicker,body.ftm-light .ftm .take h3,body.ftm-light .ftm .prose__body ol>li::before,body.ftm-light .ftm .faq summary::after,body.ftm-light .ftm .pcard .idx,body.ftm-light .ftm .tile .lbl{color:var(--green-deep)}
body.ftm-light .ftm .kicker::before,body.ftm-light .ftm .take li::before,body.ftm-light .ftm .prose__body ul>li::before,body.ftm-light .ftm .step .orb{background:var(--green);box-shadow:none;animation:none}
body.ftm-light .ftm .take{background:linear-gradient(160deg,rgba(30,138,66,.10),rgba(14,59,29,.03));border-color:rgba(30,138,66,.3);backdrop-filter:none}
body.ftm-light .ftm .step,body.ftm-light .ftm .rev,body.ftm-light .ftm .county,body.ftm-light .ftm .point,body.ftm-light .ftm .faq details{background:#fff;border-color:var(--edge);backdrop-filter:none;box-shadow:0 10px 30px -18px rgba(11,26,15,.25)}
body.ftm-light .ftm .step .n{-webkit-text-stroke-color:rgba(30,138,66,.6);text-shadow:none}
body.ftm-light .ftm .tablewrap{border-color:var(--edge)}
body.ftm-light .ftm table.price{background:#fff}
body.ftm-light .ftm table.price th{color:var(--green-deep);background:rgba(30,138,66,.08)}
body.ftm-light .ftm table.price th,body.ftm-light .ftm table.price td{border-color:var(--edge)}
body.ftm-light .ftm .prose__body a,body.ftm-light .ftm .towns a,body.ftm-light .ftm .lead a,body.ftm-light .ftm .also a{text-decoration-color:rgba(30,138,66,.5);color:var(--ink)}
body.ftm-light .ftm .prose__body a:hover,body.ftm-light .ftm .towns a:hover{color:var(--green)}
body.ftm-light .ftm .prose__body .callout{background:rgba(246,196,83,.18);border-color:rgba(200,150,30,.4);color:#4a3a05}
body.ftm-light .ftm .prose__body .callout a,body.ftm-light .ftm .prose__body .callout strong{color:#2a2003}
body.ftm-light .ftm .form{background:#fff;box-shadow:0 30px 80px -40px rgba(11,26,15,.35)}
body.ftm-light .ftm .form label{color:var(--muted)}
body.ftm-light .ftm .form input::placeholder,body.ftm-light .ftm .form textarea::placeholder{color:rgba(11,26,15,.4)}
body.ftm-light .ftm .form .msg.err{color:#9b2c1a}
body.ftm-light .ftm .form.sent .msg a{color:var(--green)}
body.ftm-light .ftm .est__text .huge .grad{background:linear-gradient(92deg,var(--green-deep),var(--green));-webkit-background-clip:text;background-clip:text}
body.ftm-light .ftm .faq__a,body.ftm-light .ftm .towns,body.ftm-light .ftm .prose__body,body.ftm-light .ftm .step p,body.ftm-light .ftm .point p{color:rgba(11,26,15,.8)}
body.ftm-light .ftm .faq__a a{color:var(--ink)}
body.ftm-light .ftm .county h3 a,body.ftm-light .ftm a.point h3{color:var(--ink)}
body.ftm-light .ftm .county:hover,body.ftm-light .ftm .point:hover{border-color:rgba(30,138,66,.45);background:#fff}
body.ftm-light .ftm .steps--list .step h3,body.ftm-light .ftm .take li,body.ftm-light .ftm .prose__body h3{color:var(--ink)}
.ftm .steps--list{grid-template-columns:1fr;max-width:880px}
.ftm .steps--list .step h3{margin-top:0;padding-right:90px}
.ftm .steps--list .step .n{font-size:64px;top:14px}
.ftm .steps-sec .prose__body,.ftm .areas-sec .prose__body{margin-top:28px}
.ftm .faq__a{color:var(--muted);padding:0 0 20px;font-size:16px;line-height:1.6;display:grid;gap:10px}
.ftm .faq__a p{margin:0}
.ftm .faq__a a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.ftm .areas-sec .also{max-width:72ch}

/* cursor glow on desktop (dark pages only; the script makes it) */
.ftm-glow{position:fixed;left:0;top:0;width:360px;height:360px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(closest-side,rgba(166,255,110,.055),transparent 70%);transform:translate(-50%,-50%);opacity:0;mix-blend-mode:screen}
@media (pointer:fine){.ftm-glow{opacity:1}}

@media (prefers-reduced-motion:reduce){
  .ftm *,.ftm *::before,.ftm *::after{animation:none!important;transition:none!important}
  html.js .ftm .reveal{opacity:1;transform:none}
  .ftm .kinetic ul{transform:none}
  .ftm-glow{display:none}
}

/* the hero stays a dark photo on light pages: its kicker, chips and glass button keep the dark-page colors */
body.ftm-light .ftm .hero .kicker{color:var(--lime)}
body.ftm-light .ftm .hero .kicker::before{background:var(--lime)}
body.ftm-light main.ftm .hero .btn--glass{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.22)}
body.ftm-light main.ftm .hero .btn--glass:hover{background:rgba(255,255,255,.16);color:#fff}

/* the ad pages' review block: quotes as cards, the count line and its button apart */
.ftm .prose__body .ftm-reviews{display:grid;gap:14px}
.ftm .prose__body .ftm-reviews blockquote,.ftm .prose__body .ftm-reviews > p{margin:0}
.ftm .prose__body .ftm-reviews blockquote{padding:18px 20px;border-radius:var(--r-sm);background:var(--panel);border:1px solid var(--edge);font:500 17px/1.5 var(--text);color:var(--ink)}
body.ftm-light .ftm .prose__body .ftm-reviews blockquote{background:#fff}
.ftm .prose__body .ftm-reviews cite,.ftm .prose__body .ftm-reviews em{display:block;font-style:normal;font-size:14px;color:var(--muted);margin-top:6px}
.ftm .prose__body .ftm-reviews a.btn,.ftm .prose__body .ftm-reviews .ftm-btn{display:inline-flex;margin-top:6px}
