/* floridachores.com: big, calm, easy to read for older homeowners (polish v2, 2026-11-11)
   Fonts (Fontshare, FFL licence, self-hosted, files unchanged):
   Zodiak = headings + logo | Switzer = text, buttons, menus | Kalam = small joke/aside lines only (.aside); Telma dropped 11-11 (hard to read) */
@font-face{font-family:Zodiak;src:url(/fonts/Zodiak-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Zodiak;src:url(/fonts/Zodiak-Extrabold.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:Switzer;src:url(/fonts/Switzer-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Switzer;src:url(/fonts/Switzer-Semibold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Switzer;src:url(/fonts/Switzer-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Kalam;src:url(/fonts/Kalam-Bold.woff2) format("woff2");font-weight:700;font-display:swap}

:root{--ink:#1d2433;--muted:#4a5468;--bg:#fffdf8;--card:#fff;--line:#e6e1d6;--green:#1f6b4a;--green-dk:#164f37;--red:#b3261e;--gold:#f3c34a;
  --display:Zodiak,Georgia,serif;--body:Switzer,"Segoe UI",system-ui,Arial,sans-serif;--fun:Kalam,"Segoe Print",cursive}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 20px/1.6 var(--body);font-synthesis:none}
a{color:var(--green-dk);text-underline-offset:3px}
.wrap{max-width:920px;margin:0 auto;padding:0 18px}
p,li{text-wrap:pretty}

/* headings: Zodiak only */
h1,h2,h3{font-family:var(--display);color:var(--ink);text-wrap:balance}
h1{font-weight:800;font-size:clamp(34px,5.2vw,52px);line-height:1.08;letter-spacing:-.015em;margin:0 0 14px}
h2{font-weight:700;font-size:clamp(26px,3.2vw,32px);line-height:1.15;letter-spacing:-.01em;margin:44px 0 12px}
h3{font-weight:700;font-size:23px;line-height:1.25;margin:22px 0 6px}

/* header + menu */
.topbar{background:var(--green);color:#fff;position:relative;z-index:20}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:space-between;padding:10px 18px}
.brand{display:inline-flex;align-items:center;text-decoration:none;color:#fff}
.brand svg{display:block;height:46px;width:auto}
.nav{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap}
.nav details{position:relative;background:none;border:0;padding:0;margin:0;border-radius:0}
.nav summary{list-style:none;cursor:pointer;font:600 18px var(--body);color:#fff;padding:10px 12px;border-radius:10px}
.nav summary::-webkit-details-marker{display:none}
.nav summary::after{content:" \25BE";font-size:14px}
.nav summary:hover,.nav details[open] summary{background:rgba(255,255,255,.14)}
.nav .menu{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:2px solid var(--ink);border-radius:12px;padding:8px;min-width:270px;box-shadow:6px 6px 0 var(--ink);display:grid;gap:2px}
.nav .menu a{display:block;padding:9px 12px;border-radius:8px;color:var(--ink);text-decoration:none;font:600 18px var(--body)}
.nav .menu a:hover,.nav .menu a:focus-visible{background:#fff3c4}
.callbtn,.btn{display:inline-block;background:var(--red);color:#fff;font:700 21px/1.2 var(--body);text-decoration:none;border-radius:10px;padding:15px 22px;border:2px solid var(--ink);position:relative;overflow:hidden;transition:box-shadow .18s ease,transform .18s ease}
.topbar .callbtn{font-size:19px;padding:11px 18px;border-color:#0f3a28}
.btn.alt{background:#fff;color:var(--green-dk)}

/* the lift-and-shadow on point/tap (UI kit box-link), the press on click, the shine sweep (kit-cta) */
.callbtn:focus-visible,.btn:focus-visible,.boxlink:focus-visible{box-shadow:6px 6px 0 var(--ink);transform:translate(-3px,-3px);outline:none}
@media(hover:hover) and (pointer:fine){
  .callbtn:hover,.btn:hover,.boxlink:hover{box-shadow:6px 6px 0 var(--ink);transform:translate(-3px,-3px)}
  .callbtn::after,.btn::after{content:"";position:absolute;top:-50%;left:-150%;height:200%;width:35%;background:linear-gradient(90deg,transparent,#fff8,transparent);transform:skewX(-20deg);pointer-events:none}
  .callbtn:hover::after,.btn:hover::after{animation:shine .9s ease}
}
.callbtn:active,.btn:active,.boxlink:active{box-shadow:1px 1px 0 var(--ink);transform:translate(1px,1px)}
@keyframes shine{to{left:250%}}

/* page parts */
.hero{padding:34px 0 20px}
.lead{font-size:23px;color:var(--muted)}
.ctas{display:flex;flex-wrap:wrap;gap:14px;margin:22px 0 10px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin:14px 0}
.boxlink{display:block;text-decoration:none;color:var(--ink);border:2px solid var(--ink);border-radius:14px;background:#fff;padding:18px 20px;transition:box-shadow .18s ease,transform .18s ease}
.boxlink h3{margin-top:0}.boxlink p{margin:0;color:var(--muted)}
.boxlink .go{display:inline-block;margin-top:8px;font-weight:700;color:var(--green-dk)}
.steps{counter-reset:s;list-style:none;padding:0}
.steps li{counter-increment:s;position:relative;padding:4px 0 14px 56px}
.steps li::before{content:counter(s);position:absolute;left:0;top:2px;width:40px;height:40px;border-radius:50%;background:var(--gold);border:2px solid var(--ink);font:700 18px var(--body);display:grid;place-items:center}
ul.check{padding-left:0;list-style:none}
ul.check li{padding:4px 0 4px 34px;position:relative}
ul.check li::before{content:"\2713";position:absolute;left:4px;color:var(--green);font-weight:700}
table{width:100%;border-collapse:collapse;background:var(--card)}
th,td{border:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}
th{background:#f4efe3;font-weight:600}
details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin:10px 0}
summary{font-weight:700;cursor:pointer}
.todo{background:#fff3c4;outline:2px dashed #c99a00;padding:0 4px}

/* the highlighter: readable at rest (full yellow), JS sweeps it in once when seen */
.hl{background:linear-gradient(transparent 58%,#ffd84d 58%,#ffd84d 92%,transparent 92%) no-repeat 0 0/100% 100%;padding:0 2px}
.js .hl{background-size:0% 100%;transition:background-size 1.1s cubic-bezier(.2,.8,.2,1)}
.js .hl.in{background-size:100% 100%}

/* the friendly aside (Kalam): short jokes only, never sentences that carry facts */
.aside{font-family:var(--fun);font-weight:700;color:var(--green-dk);font-size:24px;line-height:1.3;transform:rotate(-1.5deg);display:inline-block}

/* reasons people call first */
.reasons{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:10px}
.reasons div{background:#fff;border:1px solid var(--line);border-left:6px solid var(--gold);border-radius:12px;padding:14px 16px}
.reasons strong{display:block;font-family:var(--display);font-size:21px;margin-bottom:2px}

/* footer */
footer{margin-top:50px;padding:30px 0 26px;background:#f4efe3;font-size:18px;color:var(--muted)}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:14px 0}
footer h4{font:700 19px var(--display);color:var(--ink);margin:0 0 6px}
footer ul{list-style:none;padding:0;margin:0}footer li{padding:3px 0}

/* phones: call bar fixed at the bottom */
.callbar{display:none}
@media (max-width:700px){
  body{font-size:19px;padding-bottom:84px}
  .callbtn,.btn{width:100%;text-align:center}
  .topbar .callbtn{display:none}
  .brand svg{height:40px}
  .nav{width:100%;justify-content:space-between}
  .nav .menu{left:0;right:auto;min-width:260px}
  .callbar{display:grid;grid-template-columns:1.4fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:2px solid var(--ink)}
  .callbar a{display:block;text-align:center;text-decoration:none;font:700 19px var(--body);padding:13px 8px;border-radius:10px;border:2px solid var(--ink)}
  .callbar .c{background:var(--red);color:#fff}.callbar .t{background:#fff;color:var(--green-dk)}
}
@media (prefers-reduced-motion:reduce){
  .callbtn,.btn,.boxlink{transition:none}
  .callbtn:hover,.btn:hover,.boxlink:hover,.callbtn:focus-visible,.btn:focus-visible,.boxlink:focus-visible{transform:none}
  .callbtn:hover::after,.btn:hover::after{animation:none}
  .js .hl{background-size:100% 100%;transition:none}
  .aside{transform:none}
}

/* "why people call us first" strip on service pages */
.trust{margin:6px 0 4px;padding:16px 18px;background:#fff;border:2px solid var(--ink);border-radius:14px;box-shadow:5px 5px 0 var(--gold)}
.trust p{margin:0 0 8px;font:700 21px var(--display)}
.trust ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 18px}
.trust li{padding-left:26px;position:relative;font-weight:600}
.trust li::before{content:"\2713";position:absolute;left:2px;color:var(--green);font-weight:700}

/* short-top layout: quick chips + fold-out detail sections (content stays in the page for Google) */
.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:10px 0 6px}
.chips li a,.chips li span{display:inline-block;padding:9px 14px;border:2px solid var(--ink);border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;font-weight:600;transition:box-shadow .18s ease,transform .18s ease}
@media(hover:hover) and (pointer:fine){.chips li a:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-2px,-2px)}}
.folds{margin-top:30px}
.folds>h2{margin-bottom:8px}
details.fold{background:#fff;border:2px solid var(--ink);border-radius:14px;padding:0;margin:12px 0;overflow:hidden}
details.fold>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;font:700 21px/1.3 var(--display)}
details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary::after{content:"+";flex:0 0 34px;height:34px;border-radius:50%;background:var(--gold);border:2px solid var(--ink);display:grid;place-items:center;font:700 22px/1 var(--body)}
details.fold[open]>summary::after{content:"\2212"}
details.fold>summary:hover{background:#fffbe9}
details.fold>.inner{padding:0 20px 18px}
details.fold>.inner>*:first-child{margin-top:0}
/* 2026-11-11: reasons = own section. Desktop: fixed-size cards that flip in place (tap + to read, x to close; nothing else moves). Phone: sideways swipe row, title + text shown. */
.why{margin-top:48px}
.why>h2{margin-bottom:12px}
.swipe-hint{display:none}
.reasons{align-items:start}
.reasons details{position:relative;background:#fff;border:1px solid var(--line);border-left:6px solid var(--gold);border-radius:12px;padding:0;margin:0}
.reasons summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;font:700 20px/1.25 var(--display);color:var(--ink);border-radius:12px}
.reasons summary::after{content:"+";flex:0 0 30px;height:30px;border-radius:50%;background:var(--gold);border:2px solid var(--ink);display:grid;place-items:center;font:700 18px/1 var(--body);color:var(--ink)}
.reasons details p{margin:0;padding:0 18px 16px;color:var(--muted)}
@media (min-width:701px){
  .reasons details{height:168px;overflow:hidden}
  .reasons summary{height:100%;box-sizing:border-box}
  .reasons summary:hover{background:#fffbe9}
  .reasons details[open] summary{position:absolute;top:10px;right:10px;height:auto;padding:0;background:none;font-size:0;gap:0;z-index:1}
  .reasons details[open] summary::after{content:"\00D7";font-size:20px}
  .reasons details[open] p{padding:16px 52px 16px 18px;font-size:17px;line-height:1.45;color:var(--ink)}
}
@media (max-width:700px){
  .swipe-hint{display:block;margin:0 0 6px;font:700 18px Kalam,cursive;color:var(--green)}
  .reasons{display:flex;align-items:stretch;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:2px 2px 14px;-webkit-overflow-scrolling:touch}
  .reasons details{flex:0 0 80%;scroll-snap-align:start}
  .reasons summary{pointer-events:none}
  .reasons summary::after{display:none}
}
/* 2026-11-11: larger text for older readers (Max) + make-it-right promise band */
body{font-size:21px}
.lead{font-size:24px}
h3{font-size:24px}
details.fold>summary{font-size:22px}
footer{font-size:19px}
.nav summary,.nav .menu a{font-size:19px}
.reasons summary{font-size:21px}
@media (min-width:701px){
  .reasons details{height:196px}
  .reasons details[open] p{font-size:19px;line-height:1.45}
}
@media (max-width:700px){
  body{font-size:20px}
}
.promise{display:flex;align-items:center;gap:14px;margin:16px 0 6px;padding:14px 18px;background:#fff;border:2px solid var(--ink);border-radius:14px;box-shadow:5px 5px 0 var(--gold)}
.promise svg{flex:0 0 44px;width:44px;height:44px}
.promise p{margin:0;padding:0;max-width:none;font-size:20px;line-height:1.4;color:var(--ink)}
.promise strong{font-family:var(--display);font-size:22px}
.trust li.mr{color:var(--green-dk)}
