/* Handyman Ninja: printed cards, punchy colour and a mischievous edge. */
:root{--bg:#171717;--text:#faf2df;--muted:#c5c1b8;--accent:#d6fa48;--orange:#ff744d;--purple:#c9b5fa;--line:#49483f}body{background:#171717;font-family:'Trebuchet MS',Arial,sans-serif}.preview{background:#c9b5fa;border-bottom:2px solid #171717;color:#171717}header{border:0;padding-block:24px}.brand{letter-spacing:1.4px;transform:rotate(-2deg)}.brand b{font-style:italic;font-size:29px;letter-spacing:-1px}.brand svg{color:var(--accent);transform:rotate(12deg)}nav{font-weight:bold;color:var(--text)}nav a:first-child{border-bottom:2px solid var(--orange);padding-bottom:3px}.button{border:2px solid #171717;border-radius:2px;box-shadow:4px 4px 0 #faf2df;font-family:inherit;font-weight:800;transition:translate .15s,box-shadow .15s}.button:hover{filter:none;translate:2px 2px;box-shadow:2px 2px 0 #faf2df}.small{transform:rotate(2deg);background:var(--orange);box-shadow:3px 3px 0 #faf2df}.hero{padding-top:45px;padding-bottom:70px;background-image:radial-gradient(#38382e .8px,transparent .8px);background-size:19px 19px}.hero>.eyebrow{display:inline-block;color:var(--text);background:var(--bg);padding:7px 0}.dot{background:var(--orange)}h1{font-family:Arial,Helvetica,sans-serif;font-weight:900;font-size:clamp(78px,8.4vw,126px);letter-spacing:-6px;line-height:1.04;margin:25px 0 38px;position:relative;z-index:2;max-width:720px}.headline-card{display:table;background:#faf2df;color:#171717;padding:2px 21px 12px;box-shadow:5px 6px 0 #050505;border:2px solid #171717}.headline-plain{display:block;padding:9px 0 14px 14px}.headline-card:last-child{background:var(--accent);color:#171717;font-style:normal;padding-right:28px}.hero-bottom{gap:45px}.hero-bottom p{background:var(--bg);max-width:385px;padding:5px 0}.hero-bottom strong{color:var(--orange)}.hero-bottom>.button{transform:rotate(-2deg)}.mission-art{position:absolute;width:360px;height:430px;right:7%;top:135px}.repair-ticket{background:#f5edda;color:#24231f;border:2px solid #080808;padding:25px 24px 35px;transform:rotate(7deg);box-shadow:10px 12px 0 #060606;position:relative}.repair-ticket:after{content:'';position:absolute;bottom:-10px;left:0;right:0;height:12px;background:linear-gradient(135deg,#f5edda 25%,transparent 25%) -6px 0/12px 12px,linear-gradient(225deg,#f5edda 25%,transparent 25%) -6px 0/12px 12px}.ticket-top{display:flex;justify-content:space-between;font:8px monospace;letter-spacing:.8px;border-bottom:1px dashed #77715f;padding-bottom:15px}.ticket-title{font-size:26px;font-weight:900;letter-spacing:-1px;margin:15px 0 12px}.ticket-row{display:flex;align-items:center;gap:14px;border-bottom:1px solid #d0c9b7;padding:12px 0;font-size:14px}.ticket-row i{font-size:23px;font-weight:bold;color:#22c55e}.ticket-row span{text-decoration:line-through;text-decoration-thickness:2px}.ticket-footer{font:11px monospace;display:flex;justify-content:space-between;padding-top:22px}.ticket-footer span{font-size:9px}.credit-sticker{background:var(--orange);color:#171717;border:2px solid #171717;box-shadow:5px 5px 0 #060606;padding:13px 18px;position:absolute;bottom:-4px;left:-40px;transform:rotate(-9deg);font-size:14px;font-weight:bold;line-height:1.3}.credit-sticker b{font-size:25px;letter-spacing:-1px}.credit-sticker>span{display:block;font-size:9px;letter-spacing:1px;margin-top:7px}.ninja-seal{position:absolute;right:-25px;bottom:-24px;width:125px;height:125px;border-radius:50%;background:var(--purple);border:2px solid #171717;box-shadow:5px 5px 0 #050505;transform:rotate(12deg);display:flex;align-items:center;justify-content:center;flex-direction:column}.ninja-seal svg{width:92px;height:85px}.ninja-seal span{font-size:8px;font-weight:900;margin-top:-4px}.steps{gap:25px;border:0;padding:60px 0 35px}.steps>div,.steps>div:first-child{border:1px solid var(--line);padding:24px;position:relative;background:#21211f}.steps span{color:#171717;background:var(--purple);padding:6px 10px;font-weight:bold;display:inline-block;letter-spacing:1px}.steps>div:nth-child(2) span{background:var(--accent)}.steps>div:nth-child(3) span{background:var(--orange)}.steps p{font-size:21px;line-height:1.35;margin-top:20px}.request{padding-top:75px;gap:10%}.paper-heading{background:var(--purple);color:#171717;display:table;padding:20px 24px 24px;transform:rotate(-4deg);border:2px solid #050505;box-shadow:7px 7px 0 #050505;position:relative;margin-bottom:42px;font-weight:900;letter-spacing:-3px}.paper-heading:before{content:'';display:block;position:absolute;width:65px;height:23px;top:-11px;left:36%;background:#e8e0c9cc;transform:rotate(6deg);border-inline:1px solid #b9af97}.paper-heading span{display:block;font:10px monospace;letter-spacing:1.6px;margin-top:20px}.section-intro .quiet{padding:16px 0 16px 20px;border-left:4px solid var(--orange);color:var(--text)}.builder{border:2px solid #080808;border-radius:2px;box-shadow:9px 9px 0 var(--accent);background:#faf2df;padding:30px;position:relative}.builder:before{content:'YOUR REPAIR LIST';position:absolute;top:-14px;right:24px;background:var(--orange);border:2px solid #171717;transform:rotate(3deg);padding:5px 15px;font-size:10px;font-weight:900;letter-spacing:1px}.progress{border-bottom:2px solid #24231e}.progress b{font-size:18px}.searchbox{border:2px solid #24231e;border-radius:2px}.service{padding:17px 3px;border-color:#d0c6ae}.service>span{display:flex;align-items:center;justify-content:center;background:#e3dfce;border:1px solid #c0b89f;border-radius:50%;width:26px;height:26px;font-size:21px}.service:hover{background:#e8efcd;filter:none}.custom{border:2px dashed #7d806c;border-radius:0}.builder .button{box-shadow:3px 3px 0 #666b50}.full{background:var(--accent);color:#171717}.repair{background:#eeebdf;border:1px solid #a4a78e;border-radius:2px}.upload{background:#e4edc7;border-radius:2px}.standard{background:var(--accent);color:#171717;border-block:2px solid #080808;padding-block:80px}.standard>.eyebrow,.standard .eyebrow{color:#3b4326}.standard .paper-heading{background:#171717;color:#faf2df;transform:rotate(3deg);box-shadow:6px 6px 0 #8baa20}.standard article{border-color:#a3bf37;padding-left:45px}.standard article>span{color:#171717;background:#faf2df;border:1px solid #171717;padding:3px 6px;transform:rotate(-7deg)}.standard h3{font-weight:900}.standard p{color:#3c4429;font-size:15px}.faq{padding-block:90px;grid-template-columns:1fr 1.4fr}.faq h2{font-weight:900;font-size:45px;line-height:1.15}.highlight-word{display:inline-block;background:var(--orange);color:#171717;padding:2px 10px 6px;transform:rotate(-3deg);margin-top:8px}.faq details{padding:20px;border:1px solid #555447;background:#22221f;margin-bottom:10px}.faq summary{font-weight:bold}.faq details[open]{border-color:var(--purple)}footer .brand{color:var(--accent)}
@media(min-width:1500px){.mission-art{right:9%}}
@media(max-width:1000px){h1{font-size:88px;max-width:550px}.mission-art{width:280px;right:5%;top:130px}.repair-ticket{padding:22px 18px 30px}.ticket-title{font-size:22px}.ticket-row{font-size:12px}.ticket-top{font-size:6px}.ticket-footer{font-size:9px}.credit-sticker{bottom:50px;left:-15px}.ninja-seal{bottom:20px;right:-8px;width:100px;height:100px}.ninja-seal svg{width:75px;height:70px}.ninja-seal span{font-size:6px}.hero-bottom{gap:25px}.hero-bottom p{max-width:330px}.steps p{font-size:17px}}
@media(max-width:760px){h1{font-size:76px;letter-spacing:-5px}.mission-art{width:240px;right:4%;top:170px}.ticket-title{font-size:19px}.ticket-row{font-size:10px;gap:7px}.repair-ticket{padding-inline:15px}.ticket-top{font-size:5px}.ticket-footer{font-size:8px}.ticket-footer span{font-size:7px}.credit-sticker b{font-size:19px}.credit-sticker{font-size:11px;bottom:60px}.ninja-seal{bottom:25px}.request{gap:7%}.paper-heading{padding:18px;font-size:43px}.steps{gap:14px}.steps>div,.steps>div:first-child{padding:19px 14px}.steps span{font-size:9px}.builder{padding:27px 20px}.faq{grid-template-columns:1fr;gap:24px}.faq h2{font-size:37px}}
@media(max-width:620px){header{padding-block:22px}.brand b{font-size:23px}.small{font-size:10px;padding:11px;box-shadow:2px 2px 0 #faf2df}.hero{padding-top:23px;padding-bottom:42px;overflow:hidden}.hero>.eyebrow{font-size:8px;letter-spacing:1px}h1{font-size:clamp(58px,14vw,85px);letter-spacing:-4px;line-height:1.07;margin:25px 0 15px;max-width:none}.headline-card{padding:2px 14px 7px}.headline-plain{padding:8px 0 12px 12px}.headline-card:last-child{padding-right:17px}.mission-art{position:relative;top:auto;right:auto;width:260px;height:330px;margin:42px 12px 56px auto}.repair-ticket{padding:20px 18px 25px}.ticket-top{font-size:6px}.ticket-title{font-size:22px;margin:10px 0 6px}.ticket-row{font-size:11px;padding-block:5px}.ticket-row i{font-size:19px}.ticket-footer{padding-top:10px}.credit-sticker{bottom:-42px;left:-48px;padding:10px 13px;font-size:10px}.credit-sticker b{font-size:21px}.credit-sticker>span{font-size:7px}.ninja-seal{bottom:-15px;right:-10px;width:88px;height:88px}.ninja-seal svg{width:65px;height:61px}.ninja-seal span{font-size:6px}.hero-bottom{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:25px}.hero-bottom p{max-width:none;font-size:15px;margin-bottom:10px}.hero-bottom .button{margin-top:0;transform:rotate(-1deg)}.steps{grid-template-columns:1fr;padding-top:35px;padding-bottom:0;gap:15px}.steps>div,.steps>div:first-child{display:flex;align-items:center;gap:20px;padding:17px 20px}.steps p{font-size:16px;margin:0}.steps span{font-size:9px;min-width:100px;text-align:center}.request{padding-top:55px;padding-bottom:60px}.paper-heading{font-size:45px;margin-block:15px 35px;letter-spacing:-2px}.section-intro h2 br{display:block}.paper-heading span{margin-top:14px;font-size:9px}.section-intro .quiet{font-size:13px}.builder{margin-top:18px;padding:28px 17px;box-shadow:6px 6px 0 var(--accent);width:calc(100% - 6px)}.progress b{font-size:16px}.standard{padding-block:55px}.standard .paper-heading{font-size:42px}.standard article{padding-left:42px}.faq{grid-template-columns:1fr;padding-block:55px;gap:18px}.faq h2{font-size:40px}.faq details{padding:17px}.faq summary{font-size:14px}footer{font-size:11px}.actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Approved orange brush wordmark. */
.brand{transform:none;flex-shrink:0;display:flex;align-items:center}.brand-logo{display:block;width:320px;height:78px;object-fit:cover;object-position:center}footer .brand-logo{width:260px;height:64px}@media(max-width:620px){header{gap:14px;flex-wrap:wrap}.brand-logo{width:230px;height:57px}header>.small{margin-left:auto}footer .brand-logo{width:240px;height:59px}}

.standard-intro{max-width:355px;color:#3c4429;font-size:16px;line-height:1.65;margin-top:30px}

/* Prominent custom repair entry. */
#custom{background:var(--orange);color:#171717;border:2px solid #171717;border-radius:2px;box-shadow:3px 3px 0 #171717;padding:19px 17px;margin:22px 0;text-align:left;line-height:1.45}#custom strong{display:flex;justify-content:space-between;gap:12px;font-size:16px}#custom strong>span{font-size:22px;line-height:1}#custom .custom-help{display:block;margin-top:8px;font-size:13px;font-weight:normal;max-width:380px}#custom:hover{background:#ff8c6c;filter:none}#custom:focus-visible{outline:3px solid #171717;outline-offset:5px}

/* Keep custom requests outside the scrollable, searchable catalogue. */
#services{max-height:360px;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding-right:8px;scrollbar-color:#817b68 #e5dfce}#services:focus-visible{outline:2px solid #171717;outline-offset:3px}@media(max-width:620px){#services{max-height:300px}}

button:disabled{opacity:.5;cursor:not-allowed}#running-total{margin:20px 0}#running-total p{margin:8px 0}.repair .quantity{max-width:120px}nav{flex-wrap:wrap}

/* === LOCAL PREVIEW CHANGE (approved by Funz): ninja star (shuriken) replaces the tape strips. ===
   Inline SVG (data URI; source: local/shuriken-embedded.svg). Dark steel, thrown-in tilt (skew + foreshortening),
   bottom point clipped at the paper surface with a puncture slit, dent shadow, tiny tear and highlight
   (highlight keeps it readable on the dark pad). Pins the 3 .paper-heading pads + the hero to-do list (.repair-ticket). */
.paper-heading:before,.repair-ticket:before,.headline-board:before{content:'';display:block;position:absolute;z-index:3;width:78px;height:78px;top:-41px;left:36%;border:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='.8' y2='1'%3E%3Cstop offset='0' stop-color='%238d939b'/%3E%3Cstop offset='.45' stop-color='%233f434a'/%3E%3Cstop offset='1' stop-color='%2316181b'/%3E%3C/linearGradient%3E%3CradialGradient id='d'%3E%3Cstop offset='0' stop-color='%23000' stop-opacity='.9'/%3E%3Cstop offset='.5' stop-color='%23000' stop-opacity='.45'/%3E%3Cstop offset='1' stop-color='%23000' stop-opacity='0'/%3E%3C/radialGradient%3E%3CclipPath id='c'%3E%3Crect x='-80' y='-80' width='160' height='98.31'/%3E%3C/clipPath%3E%3ClinearGradient id='e' gradientUnits='userSpaceOnUse' x1='0' y1='8.31' x2='0' y2='18.31'%3E%3Cstop offset='0' stop-color='%23000' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23000' stop-opacity='.75'/%3E%3C/linearGradient%3E%3CclipPath id='k'%3E%3Crect x='-40' y='8.31' width='80' height='10'/%3E%3C/clipPath%3E%3Cfilter id='b' x='-30%25' y='-30%25' width='160%25' height='160%25'%3E%3CfeGaussianBlur stdDeviation='2.2'/%3E%3C/filter%3E%3C/defs%3E%3Cg transform='translate%2850 50%29'%3E%3Cg transform='translate%28-2.20 18.31%29 matrix%28.96 0 .18 .62 3 3%29 translate%282.20 -18.31%29' filter='url%28%23b%29' opacity='.6'%3E%3Cpath clip-path='url%28%23c%29' d='M5.72%2C-47.69Q7.14%2C-15.75 14.91%2C-11.91Q17.78%2C-4.48 47.0%2C0.0Q16.25%2C4.35 11.22%2C11.08Q3.06%2C14.34 -4.41%2C36.73Q-6.5%2C14.34 -13.88%2C11.08Q-17.29%2C4.35 -47.0%2C0.0Q-16.7%2C-4.48 -12.06%2C-11.91Q-3.36%2C-15.75 5.72%2C-47.69Z'/%3E%3C/g%3E%3Cellipse cx='-1.20' cy='19.91' rx='15.35' ry='5.5' fill='url%28%23d%29'/%3E%3Cpath d='M-12.55%2C17.11 Q-2.20%2C13.31 8.15%2C17.11' fill='none' stroke='%23fff' stroke-opacity='.65' stroke-width='1.3' stroke-linecap='round'/%3E%3Cg clip-path='url%28%23c%29'%3E%3Cpath fill='url%28%23g%29' fill-rule='evenodd' stroke='%230a0a0b' stroke-width='2.4' stroke-linejoin='round' d='M5.72%2C-47.69Q7.14%2C-15.75 14.91%2C-11.91Q17.78%2C-4.48 47.0%2C0.0Q16.25%2C4.35 11.22%2C11.08Q3.06%2C14.34 -4.41%2C36.73Q-6.5%2C14.34 -13.88%2C11.08Q-17.29%2C4.35 -47.0%2C0.0Q-16.7%2C-4.48 -12.06%2C-11.91Q-3.36%2C-15.75 5.72%2C-47.69ZM8.0%2C0.0 L7.7%2C1.22 L7.17%2C2.4 L6.43%2C3.49 L5.51%2C4.48 L4.42%2C5.32 L3.2%2C6.0 L1.9%2C6.5 L0.54%2C6.81 L-0.83%2C6.91 L-2.18%2C6.81 L-3.46%2C6.5 L-4.65%2C6.0 L-5.7%2C5.32 L-6.58%2C4.48 L-7.27%2C3.49 L-7.75%2C2.4 L-7.99%2C1.22 L-8.0%2C0.0 L-7.76%2C-1.23 L-7.28%2C-2.43 L-6.58%2C-3.57 L-5.66%2C-4.61 L-4.57%2C-5.5 L-3.33%2C-6.24 L-1.98%2C-6.78 L-0.57%2C-7.11 L0.87%2C-7.22 L2.27%2C-7.11 L3.61%2C-6.78 L4.83%2C-6.24 L5.89%2C-5.5 L6.77%2C-4.61 L7.43%2C-3.57 L7.87%2C-2.43 L8.06%2C-1.23Z'/%3E%3Cpath fill='none' stroke='%23d3d8dd' stroke-opacity='.6' stroke-width='1.6' stroke-linecap='round' d='M4.9%2C-40.82 L1.09%2C-9.08 M41.0%2C0.0 L10.0%2C0.0 M-1.91%2C15.94 L-1.03%2C8.59 M-41.0%2C0.0 L-10.0%2C0.0'/%3E%3Cpath fill='none' stroke='%23a6adb5' stroke-opacity='.75' stroke-width='1.5' d='M10.5%2C0.0 L10.1%2C1.6 L9.39%2C3.14 L8.42%2C4.57 L7.19%2C5.85 L5.77%2C6.95 L4.18%2C7.83 L2.48%2C8.48 L0.71%2C8.88 L-1.08%2C9.01 L-2.84%2C8.88 L-4.51%2C8.48 L-6.06%2C7.83 L-7.44%2C6.95 L-8.6%2C5.85 L-9.51%2C4.57 L-10.15%2C3.14 L-10.48%2C1.6 L-10.5%2C0.0 L-10.2%2C-1.62 L-9.58%2C-3.2 L-8.66%2C-4.7 L-7.47%2C-6.07 L-6.03%2C-7.26 L-4.4%2C-8.24 L-2.62%2C-8.96 L-0.75%2C-9.4 L1.15%2C-9.55 L3.0%2C-9.4 L4.77%2C-8.96 L6.37%2C-8.24 L7.77%2C-7.26 L8.92%2C-6.07 L9.79%2C-4.7 L10.35%2C-3.2 L10.59%2C-1.62Z'/%3E%3Cpath d='M5.72%2C-47.69Q7.14%2C-15.75 14.91%2C-11.91Q17.78%2C-4.48 47.0%2C0.0Q16.25%2C4.35 11.22%2C11.08Q3.06%2C14.34 -4.41%2C36.73Q-6.5%2C14.34 -13.88%2C11.08Q-17.29%2C4.35 -47.0%2C0.0Q-16.7%2C-4.48 -12.06%2C-11.91Q-3.36%2C-15.75 5.72%2C-47.69Z' fill='url%28%23e%29' clip-path='url%28%23k%29'/%3E%3C/g%3E%3Cpath d='M-13.05%2C17.51 Q-2.20%2C20.51 8.65%2C17.51 Q-2.20%2C23.91 -13.05%2C17.51Z' fill='%23000'/%3E%3Cpath d='M-13.05%2C17.51 l-4.5%2C-1.4 M8.65%2C17.51 l4.6%2C-.8' stroke='%23000' stroke-opacity='.85' stroke-width='1.2' stroke-linecap='round'/%3E%3Cpath d='M-10.55%2C18.91 L-16.55%2C23.91 L-7.05%2C21.71Z M6.15%2C18.91 L12.15%2C24.11 L2.65%2C21.71Z' fill='%23f4efe4' fill-opacity='.8' stroke='%23000' stroke-opacity='.6' stroke-width='.6' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;transform:rotate(-8deg);transform-origin:48% 68%}
.standard .paper-heading:before{transform:rotate(7deg)}
.repair-ticket:before{left:auto;right:28%;top:-40px;transform:rotate(16deg)}
@media(max-width:620px){.paper-heading:before,.repair-ticket:before,.headline-board:before{width:56px;height:56px;top:-28px}.paper-heading:before{left:56%}.repair-ticket:before{top:-28px}}
/* LOCAL PREVIEW: mailing-address placeholder. */
.addr-placeholder{background:#ff744d;color:#171717;padding:2px 6px;font-weight:700}
/* LOCAL PREVIEW: draft marker for terms pending Ontario legal review. */
.draft-flag{display:inline-block;font:700 10px/1.4 monospace;letter-spacing:.5px;color:#171717;background:#c9b5fa;padding:2px 6px;margin:4px 0}
.contact-line{font-size:13px}
/* LOCAL PREVIEW (A3): $200 visit minimum / bundling messages. */
.bundle-note{margin:14px 0 6px;padding:8px 10px;border:2px dashed #171717;background:#d6fa48;color:#171717;font-size:13px}
.under-min{color:#c2410c}
/* Quote form: opt-in, honeypot, Turnstile, privacy note (2026-10-25) */
.check.optin{align-items:flex-start}.check.optin input{flex:0 0 18px;margin-top:1px}.check.optin small{display:block;opacity:.7;font-size:.9em}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.turnstile-slot{margin:12px 0}.turnstile-slot .ts-placeholder{display:inline-block;border:1px dashed currentColor;opacity:.65;padding:10px 14px;font-size:.85em;border-radius:6px}
.privacy-note{font-size:.85em;line-height:1.45;opacity:.85;margin:10px 0 0;max-width:62ch}
.pending{font-size:.85em;opacity:.7;font-style:italic}
/* /privacy page */
.privacy-page{max-width:760px;margin:0 auto;padding:50px 5% 70px;color:var(--text)}.privacy-page h1{font-size:clamp(36px,5vw,56px);letter-spacing:-2px;margin:10px 0 20px}.privacy-page h2{font-size:24px;letter-spacing:0;margin:38px 0 10px}.privacy-page p,.privacy-page li{color:var(--muted);font-size:15px}.privacy-page strong{color:var(--text)}.privacy-page a{text-decoration:underline}.privacy-page table{border-collapse:collapse;width:100%;font-size:14px;color:var(--muted)}.privacy-page th,.privacy-page td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.privacy-page th{color:var(--text)}.privacy-draft{display:block;margin:10px 0 20px}.privacy-draft p{margin:0;color:inherit}
/* A5 coming-soon group (not selectable) */
.coming-soon-group{margin:18px 0 0;border:1px dashed #b9bda9;border-radius:6px;padding:10px 14px;background:rgba(255,255,255,.35)}
.cs-head{font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#6a6d60;margin-bottom:2px}
.service.coming-soon{cursor:not-allowed;color:#8a8e80;padding:11px 4px}.service.coming-soon:last-of-type{border-bottom:0}
.cs-badge{font-size:10px!important;font-weight:700;letter-spacing:1px;text-transform:uppercase;border:1px solid #b9bda9;border-radius:20px;padding:2px 8px;color:#6a6d60}
.cs-note{font-size:13px;color:#4f5842;margin:6px 0 2px}.cs-link{background:none;border:0;padding:0 0 0 4px;text-decoration:underline;color:#22251f;font-size:13px}
.service.coming-soon>span.cs-badge{width:auto;height:auto;border-radius:20px;background:transparent;white-space:nowrap;flex:0 0 auto;margin-left:10px}
.service.coming-soon:hover{background:transparent}
.privacy-page mark.fill{background:#ffd84d;color:#1b1b1b;padding:0 4px;border-radius:3px;font-weight:700}

/* 2026-10-27 hero plain H1 (Funz 8:35 PM — no notepad card; one visual = right to-do list)
   Warm-white weight-900 H1 on dark; keep orange swipe on "done quietly."; keep slogan font;
   eyebrow → H1 → slogan → body → CTA; desktop right mission-art aligned to H1. */
@font-face{font-family:'Permanent Marker';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/permanent-marker.woff2') format('woff2')}
@font-face{font-family:'Ninja Brush';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/ninja-brush.woff2') format('woff2')}

.nowrap{white-space:nowrap}

.hero{
  --hero-gap:16px;
}

.hero > .eyebrow{
  display:block;
  position:relative;
  z-index:3;
  width:fit-content;
  max-width:100%;
  margin:0 0 var(--hero-gap);
  padding:0;
  color:var(--text);
  background:transparent;
  font-size:11px;
  font-weight:700;
  letter-spacing:1.6px;
}
.hero > .eyebrow .dot{background:var(--orange)}

/* Plain big bold warm-white H1 — no card, no board, no pin, no peek */
.hero h1,
.hero h1.hero-headline{
  font-family:Arial,Helvetica,sans-serif;
  font-weight:900;
  font-size:clamp(2.55rem,6.2vw,4.1rem);
  letter-spacing:-.05em;
  line-height:1.08;
  max-width:14em;
  margin:0 0 var(--hero-gap);
  padding:0;
  position:relative;
  z-index:2;
  color:#faf2df; /* warm white */
  background:none;
  border:0;
  box-shadow:none;
  filter:none;
  clip-path:none;
  -webkit-clip-path:none;
  transform:none;
}
.hero h1 .headline-card,
.hero h1 .headline-board{
  display:inline;
  background:none;
  border:0;
  box-shadow:none;
  filter:none;
  clip-path:none;
  padding:0;
  color:inherit;
}
.hero h1 .headline-board:before,
.hero h1 .headline-board:after{display:none;content:none}

/* Orange paint swipe behind "done quietly." (reads on dark) */
.hero h1 .swipe{
  position:relative;
  display:inline;
  white-space:nowrap;
  z-index:1;
  color:#faf2df;
}
.hero h1 .swipe:before{
  content:'';
  position:absolute;z-index:-1;
  left:-.12em;right:-.14em;top:18%;bottom:2%;
  background:url('/assets/paint-swipe.svg') center/100% 100% no-repeat;
  transform:rotate(-1.5deg);opacity:.95;
}

/* Slogan — Permanent Marker (Ninja Brush parked until rebuild) */
.hero-sub,.hero-sub--brush{
  font-family:'Permanent Marker',cursive;
  font-size:clamp(1.05rem,2.4vw,1.45rem);
  font-weight:400;font-style:normal;
  color:#ff744d;
  max-width:28em;
  margin:0 0 var(--hero-gap);
  line-height:1.35;letter-spacing:.01em;
  transform:rotate(-2.5deg);transform-origin:left center;
}

/* Body + CTA column */
.hero .hero-bottom{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--hero-gap);
  margin:0;
  max-width:28rem;
}
.hero .hero-bottom p{
  background:transparent;
  max-width:none;
  width:100%;
  margin:0;
  padding:0;
  color:var(--muted);
  font-size:16px;
}
.hero .hero-bottom strong{color:var(--orange);display:inline;margin:0}
.hero .hero-bottom > .button{
  transform:rotate(-2deg);
  margin:0;
  align-self:flex-start;
}

/* Desktop: left stack + right to-do illustration aligned with H1 */
@media(min-width:900px){
  .hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    grid-template-rows:auto auto auto auto;
    column-gap:48px;
    align-items:start;
  }
  .hero > .eyebrow{grid-column:1;grid-row:1}
  .hero h1,.hero h1.hero-headline{grid-column:1;grid-row:2}
  .hero-sub{grid-column:1;grid-row:3}
  .hero .hero-bottom{grid-column:1;grid-row:4}
  .mission-art{
    grid-column:2;grid-row:2 / span 3;
    position:relative;
    top:auto;right:auto;
    width:360px;height:auto;
    margin:0;
    justify-self:end;
  }
  .hero h1,.hero h1.hero-headline{font-size:clamp(2.7rem,4.6vw,3.85rem);max-width:13em}
}

@media(min-width:1280px){
  .hero{grid-template-columns:minmax(0,1fr) 380px;column-gap:56px}
  .mission-art{width:380px}
}
@media(min-width:1440px){
  .hero h1,.hero h1.hero-headline{font-size:4rem}
}

@media(max-width:1000px){
  .hero h1,.hero h1.hero-headline{font-size:clamp(2.35rem,5.6vw,3.2rem);max-width:14em}
  .hero-sub{font-size:clamp(1.02rem,2.6vw,1.28rem)}
}

@media(max-width:899px){
  .mission-art{position:relative;top:auto;right:auto}
}

@media(max-width:620px){
  .hero{--hero-gap:16px;padding-top:24px}
  .hero > .eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:12px}
  .hero h1,.hero h1.hero-headline{
    font-size:clamp(2.05rem,8vw,2.65rem);
    letter-spacing:-.045em;
    max-width:none;
    line-height:1.1;
    margin:0 0 16px;
  }
  .hero-sub{font-size:clamp(1rem,4.2vw,1.18rem);margin:0 0 16px;transform:rotate(-1.5deg)}
  .hero .hero-bottom{gap:16px;margin:0;max-width:none}
  .hero .hero-bottom p{font-size:15px}
  .hero .hero-bottom > .button{transform:rotate(-1deg);width:auto}
}

@media(max-width:430px){
  .hero h1,.hero h1.hero-headline{font-size:clamp(1.95rem,8.4vw,2.4rem)}
}
@media(max-width:390px){
  .hero h1,.hero h1.hero-headline{font-size:clamp(1.9rem,8.6vw,2.3rem)}
}
@media(max-width:360px){
  .hero h1,.hero h1.hero-headline{font-size:1.8rem}
}

/* How it works — section header above the 3 step cards (Funz 2026-10-28) */
.how{padding:50px 0 20px}
.how>.paper-heading{margin:0 5% 26px;font-size:clamp(36px,5.5vw,52px);letter-spacing:-2px;transform:rotate(-3deg);line-height:1.05}
.how .steps{padding-top:8px;padding-bottom:20px}
@media(max-width:620px){
  .how{padding:36px 0 8px}
  .how>.paper-heading{margin:0 5% 20px;font-size:clamp(32px,9vw,42px);letter-spacing:-1.5px}
  .how .steps{padding-top:4px;grid-template-columns:1fr;padding-bottom:0}
}

/* === UX fixes 2026-10-28 (Funz approved) === */
.header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}
.header-call{font-size:15px;font-weight:800;color:var(--text);text-decoration:none;padding:8px 4px;white-space:nowrap}
.header-call:hover{color:var(--orange)}
header>.button.small,header .header-actions>.button.small{
  min-height:44px;font-size:16px;padding:12px 18px;line-height:1.2;transform:rotate(1deg);
  display:inline-flex;align-items:center;box-sizing:border-box
}
@media(max-width:620px){
  header .header-actions>.button.small{font-size:15px;padding:11px 14px;min-height:44px;box-shadow:2px 2px 0 #faf2df}
  .header-call{display:none}
}
.mobile-contact-bar{display:none}
@media(max-width:767px){
  .mobile-contact-bar{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;
    align-items:center;justify-content:space-between;gap:10px;
    min-height:56px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));
    background:#ff744d;border-top:2px solid #171717;color:#171717;
    box-shadow:0 -4px 0 #171717
  }
  .mobile-contact-bar a{
    flex:1;text-align:center;font-weight:900;font-size:16px;line-height:1;
    padding:14px 10px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;
    border:2px solid #171717;background:#faf2df;color:#171717;border-radius:2px;
    box-shadow:2px 2px 0 #171717
  }
  .mobile-contact-bar .mcb-text{background:#171717;color:#faf2df}
  .mobile-contact-bar .mcb-num{display:none}
  body{padding-bottom:72px}
  footer{padding-bottom:24px}
}
@media(min-width:768px){
  .mobile-contact-bar{display:none!important}
}

/* #request intro card — cream paper ticket (replaces old prose paragraph) */
.request-intro-card{background:#f5edda;color:#24231f;border:2px solid #080808;box-shadow:6px 6px 0 #060606;padding:16px 16px 14px;margin:14px 0 14px;max-width:335px;transform:rotate(1.2deg);position:relative}
.request-intro-card .ric-top{display:flex;justify-content:space-between;font:8px monospace;letter-spacing:.8px;border-bottom:1px dashed #77715f;padding-bottom:8px;margin-bottom:10px;color:#555}
.request-intro-card .ric-facts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.request-intro-card .ric-chip{display:inline-block;background:#fff8e8;border:1.5px solid #080808;box-shadow:2px 2px 0 #060606;padding:7px 10px;font-size:12px;font-weight:800;letter-spacing:-.2px;line-height:1.2;color:#111}
.request-intro-card .ric-line{margin:0;font-size:14px;line-height:1.4;font-weight:600;color:#24231f !important;max-width:none}

/* A16 Spend & save card — orange ticket so it pops (#FD6D0E); #111 text = 6.63:1 WCAG AA */
.spend-save-card{background:#FD6D0E;color:#111;border:2px solid #080808;box-shadow:6px 6px 0 #060606;padding:16px 16px 14px;margin:10px 0 8px;max-width:335px;transform:rotate(-1.5deg);position:relative}
.spend-save-card .ssc-top{display:flex;justify-content:space-between;font:8px monospace;letter-spacing:.8px;border-bottom:1px dashed #8a3a08;padding-bottom:8px;margin-bottom:8px;color:#111}
.spend-save-card .ssc-title{font-size:22px;font-weight:900;letter-spacing:-1px;margin:0 0 6px;line-height:1.1;color:#111}
.spend-save-card .ssc-body{color:#111 !important;margin:0 0 10px;font-size:14px;line-height:1.35;font-weight:600}
.spend-save-card .ssc-steps{margin:0 0 10px;padding-left:18px;font-size:13px;line-height:1.4;color:#111}
.spend-save-card .ssc-steps li{margin:3px 0}
.spend-save-card .ssc-fine{margin:0;color:#111 !important;font-size:11px;line-height:1.35;border-top:1px dashed #8a3a08;padding-top:8px;opacity:.92}
@media(max-width:620px){
 .request-intro-card{max-width:none;width:100%;transform:rotate(.6deg);margin:12px 0 12px;padding:14px 14px 12px;box-shadow:4px 4px 0 #060606}
 .request-intro-card .ric-facts{flex-direction:column;gap:7px}
 .request-intro-card .ric-chip{width:100%;box-sizing:border-box;text-align:center}
 .request-intro-card .ric-line{font-size:13px}
 .spend-save-card{max-width:none;width:100%;transform:rotate(-1deg);margin:10px 0 4px;padding:14px 14px 12px;box-shadow:4px 4px 0 #060606}
 .spend-save-card .ssc-title{font-size:20px}
 .spend-save-card .ssc-body{font-size:13px}
 .spend-save-card .ssc-steps{font-size:12px}
}

/* === Local SEO town/service pages (DRAFT 2026-10-29) === */
.local-page .local-main{max-width:760px;margin:0 auto;padding:36px 5% 70px;color:var(--text)}
.local-page .local-kicker{font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.local-page .local-target{font-weight:600;letter-spacing:0;text-transform:none;color:#8a8578}
.local-page h1{font-size:clamp(32px,5vw,48px);letter-spacing:-1.5px;line-height:1.12;max-width:18em;margin:0 0 22px;color:#faf2df}
.local-page .local-intro p{color:var(--muted);font-size:16px;line-height:1.55;margin:0 0 14px;max-width:62ch}
.local-page .local-facts{margin:18px 0 28px;padding:16px 18px 16px 36px;background:#21211f;border:1px solid var(--line);border-left:4px solid var(--orange)}
.local-page .local-facts li{color:var(--text);font-size:14px;margin:8px 0;line-height:1.4}
.local-page .local-cta-row{margin:8px 0 36px}
.local-page .local-offer{background:#FD6D0E;color:#111;border:2px solid #080808;box-shadow:5px 5px 0 #060606;padding:18px 18px 14px;margin:0 0 36px;max-width:420px;transform:rotate(-1deg)}
.local-page .local-offer h2{font-size:22px;letter-spacing:-.5px;margin:0 0 8px;color:#111}
.local-page .local-offer p{color:#111;font-size:14px;line-height:1.4;margin:0 0 8px}
.local-page .local-offer .local-fine{font-size:11px;opacity:.92;border-top:1px dashed #8a3a08;padding-top:8px;margin:0}
.local-page .local-links h2,.local-page .local-contact h2{font-size:22px;letter-spacing:-.5px;margin:0 0 12px;color:#faf2df}
.local-page .local-links ul{list-style:none;padding:0;margin:0 0 36px;display:flex;flex-wrap:wrap;gap:10px}
.local-page .local-links li a{display:inline-block;padding:10px 14px;border:1.5px solid var(--line);background:#21211f;font-size:13px;font-weight:700}
.local-page .local-links li a:hover{border-color:var(--orange);color:var(--orange)}
.local-page .local-contact p{color:var(--muted);font-size:15px;line-height:1.5;margin:0 0 10px}
.local-page .local-contact a{text-decoration:underline}
.local-page .local-hours{font-size:13px}
.local-page .local-gbp{font-size:13px}
.local-page .local-draft-notes{margin:36px 0 0;padding:14px 16px;background:#c9b5fa;color:#171717;border:2px solid #171717;font-size:12px;line-height:1.45}
.local-page .local-draft-notes strong{display:block;font:700 10px/1.4 monospace;letter-spacing:.6px;margin-bottom:8px}
.local-page .local-draft-notes ul{margin:0;padding-left:18px}
.local-page .local-footer{flex-wrap:wrap;align-items:flex-start}
.local-page .footer-local{display:flex;flex-wrap:wrap;gap:8px 14px;width:100%;align-items:center;margin-top:8px;font-size:12px}
.local-page .footer-local strong{color:var(--text);margin-right:4px}
.local-page .footer-local a{text-decoration:underline;color:var(--muted)}
.local-page mark.fill{background:#ffd84d;color:#1b1b1b;padding:0 4px;border-radius:3px;font-weight:700}
@media(max-width:620px){
  .local-page .local-main{padding-top:24px}
  .local-page h1{font-size:clamp(28px,8vw,36px);letter-spacing:-1px}
  .local-page .local-offer{max-width:none;width:100%;transform:rotate(-.5deg)}
}

/* Homepage footer: compact Areas / Services lists (local SEO drafts) */
footer .footer-local{display:flex;flex-wrap:wrap;gap:6px 12px;width:100%;align-items:center;margin-top:6px;font-size:11px;color:var(--muted)}
footer .footer-local strong{color:var(--text);font-size:11px;margin-right:2px}
footer .footer-local a{text-decoration:underline;color:var(--muted)}
footer .footer-local a:hover{color:var(--orange)}

/* Spend & save unlock (request form running total) */
.ss-unlock-banner{
  margin:10px 0 6px;padding:10px 12px;border-radius:8px;border:2px solid #FD6D0E;
  background:#fff4ec;color:#FD6D0E;font-weight:700;font-size:15px;line-height:1.3;
  animation:ss-banner-in .45s ease-out both;
}
@keyframes ss-banner-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.ss-line{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:6px 0 2px;font-size:15px}
.ss-line .ss-save{color:#FD6D0E;font-weight:800}
.ss-note{margin:0 0 6px;font-size:12px;color:var(--muted);line-height:1.35}
.ss-nudge{margin:6px 0 2px;font-size:15px;font-weight:700;color:#171717}
.ss-mute{display:inline-block;margin-top:8px;padding:4px 8px;border:1px solid #c5c9ba;border-radius:6px;background:#fff;color:#55594d;font-size:11px;cursor:pointer}
.ss-mute[aria-pressed="true"]{opacity:.7}
.ss-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Spend & save ninja unlock overlay (mock C on live form) */
.ss-ninja-unlock{
  position:fixed;left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:min(360px,92vw);z-index:9998;pointer-events:none;
  opacity:1;transition:opacity .45s ease;
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.4));
  /* keep clear of mobile call/text bar: max height + slight upward bias via max() if needed */
  max-height:min(78vh, calc(100vh - 96px - env(safe-area-inset-bottom,0px)));
}
.ss-ninja-unlock.is-off{opacity:0}
.ss-ninja-unlock--static{opacity:0}
.ss-ninja-unlock--static.is-on{opacity:1}
.ss-ninja-unlock .ssnu-stage{
  background:#faf2df;color:#171717;border:2px solid #080808;
  box-shadow:6px 6px 0 #d6fa48;padding:12px 12px 12px;border-radius:2px;
  position:relative;overflow:hidden;
}

.ss-ninja-unlock .ssnu-headline{
  margin:0 0 8px;padding:2px 4px 6px;
  font:800 17px/1.25 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:#171717;letter-spacing:-0.01em;text-align:center;
  text-wrap:balance;
}
.ss-ninja-unlock .ssnu-headline .ssnu-amp{color:#FD6D0E}
.ss-ninja-unlock .ssnu-headline .ssnu-pct{color:#FD6D0E;font-weight:900}
.ss-ninja-unlock .ssnu-scene{
  position:relative;height:200px;
  background:#eeebdf;border:1px solid #a4a78e;border-radius:2px;overflow:hidden;
}
.ss-ninja-unlock .bill-wrap{
  position:absolute;left:58%;top:42%;width:120px;height:64px;
  transform:translate(-50%,-50%);z-index:3;transform-origin:center center;
}
.ss-ninja-unlock .bill{
  position:absolute;inset:0;
  background:linear-gradient(145deg,#2f7a45 0%,#3d9a58 45%,#2a6b3d 100%);
  border:2px solid #163d24;border-radius:7px;overflow:hidden;
  box-shadow:0 3px 0 #0f2818, inset 0 0 0 3px rgba(255,255,255,.1);
}
.ss-ninja-unlock .bill .ring{
  position:absolute;inset:6px;border:1px dashed rgba(255,255,255,.32);border-radius:4px;
  display:flex;align-items:center;justify-content:center;
}
.ss-ninja-unlock .bill .dollar{font:900 28px/1 Georgia,serif;color:#e8f8ec;text-shadow:1px 1px 0 #163d24}
.ss-ninja-unlock .bill .micro{position:absolute;font:5px monospace;color:rgba(232,248,236,.65);letter-spacing:.6px}
.ss-ninja-unlock .bill .micro.tl{top:6px;left:8px}.ss-ninja-unlock .bill .micro.br{bottom:6px;right:8px}
.ss-ninja-unlock .bill-half{position:absolute;inset:0;overflow:hidden;opacity:0;pointer-events:none}
.ss-ninja-unlock .bill-half.up{clip-path:polygon(0 0,100% 0,100% 28%,0 72%)}
.ss-ninja-unlock .bill-half.dn{clip-path:polygon(0 72%,100% 28%,100% 100%,0 100%)}
.ss-ninja-unlock .bill-half .bill{box-shadow:none}
.ss-ninja-unlock .slash-arc{
  position:absolute;left:50%;top:40%;width:0;height:1px;z-index:8;
  background:linear-gradient(90deg,transparent 0%,#fff 12%,#fff 88%,transparent 100%);
  transform:translate(-50%,-50%) rotate(-36deg);
  opacity:0;pointer-events:none;
  box-shadow:0 0 2px 0 rgba(255,255,255,.75), 0 0 6px 0 rgba(253,109,14,.25);
}
.ss-ninja-unlock .flash{
  position:absolute;inset:0;z-index:7;opacity:0;pointer-events:none;
  background:radial-gradient(circle at 62% 40%, rgba(255,255,255,.5) 0%, rgba(253,109,14,.18) 18%, transparent 42%);
}
.ss-ninja-unlock .ninja{
  position:absolute;left:8%;bottom:10px;width:118px;height:148px;
  z-index:5;transform-origin:50% 100%;
  --lean:0deg; --squash:1; --stretch:1;
  transform:scale(var(--squash), var(--stretch)) rotate(var(--lean));
}
.ss-ninja-unlock .ninja .body{
  position:absolute;left:50%;top:32px;width:100px;height:112px;
  transform:translateX(-50%);z-index:2;
}
.ss-ninja-unlock .ninja .body svg,
.ss-ninja-unlock .ninja .sword-layer svg{width:100%;height:100%;display:block;overflow:visible}
.ss-ninja-unlock .ninja .head{
  position:absolute;left:50%;top:30px;width:86px;height:76px;
  transform:translateX(-50%);z-index:4;
  filter:drop-shadow(1px 2px 0 rgba(0,0,0,.22));
  -webkit-mask-image:radial-gradient(ellipse 58% 56% at 50% 44%, #000 62%, transparent 78%);
  mask-image:radial-gradient(ellipse 58% 56% at 50% 44%, #000 62%, transparent 78%);
}
.ss-ninja-unlock .ninja .head img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}
.ss-ninja-unlock .ninja .neck-cover{
  position:absolute;left:50%;top:86px;width:52px;height:28px;
  transform:translateX(-50%);z-index:5;pointer-events:none;
  background:radial-gradient(ellipse at 50% 40%, #141414 0%, #1a1a1a 58%, transparent 78%);
  border-radius:50%;
}
.ss-ninja-unlock .ninja .sword-layer{
  position:absolute;left:50%;top:32px;width:100px;height:112px;
  transform:translateX(-50%);z-index:6;pointer-events:none;
}
.ss-ninja-unlock .sword-group{transform-origin:80px 62px;transform:rotate(-115deg) translate(-2px,2px)}

.ss-ninja-unlock .ssnu-star{
  position:absolute;width:28px;height:28px;z-index:9;pointer-events:none;
  opacity:0;left:38%;top:58%;
  transform:translate(-50%,-50%) rotate(0) scale(.85);
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.45));
}
.ss-ninja-unlock .ssnu-star svg{width:100%;height:100%;display:block;overflow:visible}
.ss-ninja-unlock .ssnu-star--a{--embed-rot:-38deg}
.ss-ninja-unlock .ssnu-star--b{--embed-rot:42deg}
.ss-ninja-unlock .ssnu-spark{
  position:absolute;width:18px;height:18px;z-index:10;pointer-events:none;
  opacity:0;border-radius:50%;
  background:radial-gradient(circle, #fff 0%, #fdc48a 35%, transparent 70%);
  transform:translate(-50%,-50%) scale(.3);
}
.ss-ninja-unlock .ssnu-spark--a{left:42%;top:22%}
.ss-ninja-unlock .ssnu-spark--b{left:70%;top:60%}


.ss-ninja-unlock.play .ninja{animation:ssnu-ninja 2.22s cubic-bezier(.33,.1,.2,1) forwards, ssnu-throw 1.3s 2.55s cubic-bezier(.33,.1,.2,1) forwards}
.ss-ninja-unlock.play .sword-group{animation:ssnu-sword 2.22s cubic-bezier(.2,.8,.15,1) forwards}
.ss-ninja-unlock.play .blade-glint{animation:ssnu-glint 2.22s ease-out forwards}
.ss-ninja-unlock.play .bill-wrap{animation:ssnu-bill 2.22s cubic-bezier(.25,.8,.25,1) forwards}
.ss-ninja-unlock.play .bill.whole{animation:ssnu-billHide 2.22s steps(1) forwards}
.ss-ninja-unlock.play .bill-half.up{animation:ssnu-halfUp 2.22s cubic-bezier(.2,.85,.2,1) forwards, ssnu-halfJoltA .45s 3.45s ease-out forwards}
.ss-ninja-unlock.play .bill-half.dn{animation:ssnu-halfDn 2.22s cubic-bezier(.2,.85,.2,1) forwards, ssnu-halfJoltB .45s 3.75s ease-out forwards}
.ss-ninja-unlock.play .slash-arc{animation:ssnu-slash 2.22s ease-out forwards}
.ss-ninja-unlock.play .flash{animation:ssnu-flash 2.22s ease-out forwards}
.ss-ninja-unlock.play .ninja .head{animation:ssnu-nod 2.22s ease-out forwards}
.ss-ninja-unlock.play .ssnu-star--a{animation:ssnu-starA 5s linear forwards}
.ss-ninja-unlock.play .ssnu-star--b{animation:ssnu-starB 5s linear forwards}
.ss-ninja-unlock.play .ssnu-spark--a{animation:ssnu-sparkHit 5s linear forwards}
.ss-ninja-unlock.play .ssnu-spark--b{animation:ssnu-sparkHitB 5s linear forwards}

@keyframes ssnu-ninja{
  0%{left:-28%;bottom:10px;--lean:-8deg;--squash:1.1;--stretch:.86;opacity:0}
  6%{opacity:1;left:-6%;--squash:1.14;--stretch:.8;--lean:-12deg}
  18%{left:18%;bottom:28px;--squash:.9;--stretch:1.14;--lean:8deg}
  28%{left:28%;bottom:10px;--squash:1.16;--stretch:.86;--lean:-4deg}
  34%{left:29%;bottom:12px;--squash:.96;--stretch:1.06;--lean:-2deg}
  38%{left:30%;bottom:10px;--squash:1.08;--stretch:.92;--lean:-14deg}
  46%{left:36%;bottom:16px;--squash:.94;--stretch:1.1;--lean:18deg}
  52%{left:38%;bottom:10px;--squash:1.06;--stretch:.94;--lean:6deg}
  62%{left:34%;bottom:10px;--squash:1;--stretch:1;--lean:-2deg}
  78%{left:32%;bottom:10px;--squash:1;--stretch:1;--lean:0deg}
  100%{left:32%;bottom:10px;--squash:1;--stretch:1;--lean:0deg;opacity:1}
}
@keyframes ssnu-sword{
  0%,18%{transform:rotate(-115deg) translate(-2px,2px)}
  28%{transform:rotate(-100deg) translate(-1px,1px)}
  38%{transform:rotate(-140deg) translate(-4px,2px)}
  46%{transform:rotate(-10deg) translate(4px,-8px)}
  52%{transform:rotate(8deg) translate(6px,-4px)}
  62%{transform:rotate(-55deg) translate(1px,0)}
  78%{transform:rotate(-110deg) translate(-1px,2px)}
  100%{transform:rotate(-115deg) translate(-2px,2px)}
}
@keyframes ssnu-glint{
  0%,34%{opacity:0;stroke-dashoffset:120}
  38%{opacity:1;stroke-dashoffset:120}
  44%{opacity:1;stroke-dashoffset:0}
  48%{opacity:0;stroke-dashoffset:-28}
  100%{opacity:0;stroke-dashoffset:-28}
}
@keyframes ssnu-bill{
  0%{left:70%;top:70%;transform:translate(-50%,-50%) rotate(-8deg) scale(.85);opacity:0}
  10%{opacity:1}
  28%{left:60%;top:36%;transform:translate(-50%,-50%) rotate(6deg) scale(1)}
  40%{left:58%;top:40%;transform:translate(-50%,-50%) rotate(-3deg) scale(1)}
  46%{left:56%;top:40%;transform:translate(-50%,-50%) rotate(0) scale(1)}
  100%{left:56%;top:40%;transform:translate(-50%,-50%) rotate(0) scale(1);opacity:1}
}
@keyframes ssnu-billHide{0%,47%{opacity:1}48%,100%{opacity:0}}
@keyframes ssnu-halfUp{
  0%,47%{opacity:0;transform:translate(0,0) rotate(0)}
  48%{opacity:1;transform:translate(0,0) rotate(0)}
  70%{opacity:1;transform:translate(-14px,-18px) rotate(-14deg)}
  100%{opacity:.95;transform:translate(-32px,-38px) rotate(-28deg)}
}
@keyframes ssnu-halfDn{
  0%,47%{opacity:0;transform:translate(0,0) rotate(0)}
  48%{opacity:1;transform:translate(0,0) rotate(0)}
  70%{opacity:1;transform:translate(18px,20px) rotate(16deg)}
  100%{opacity:.95;transform:translate(36px,40px) rotate(32deg)}
}
@keyframes ssnu-slash{
  0%,42%{opacity:0;width:0}
  46%{opacity:1;width:180px}
  52%{opacity:.9;width:210px}
  58%{opacity:0;width:230px}
  100%{opacity:0;width:230px}
}
@keyframes ssnu-flash{
  0%,44%{opacity:0}
  47%{opacity:.65}
  56%{opacity:.18}
  65%{opacity:0}
  100%{opacity:0}
}
@keyframes ssnu-nod{
  0%,70%{transform:translateX(-50%) rotate(0)}
  78%{transform:translateX(-50%) rotate(8deg)}
  86%{transform:translateX(-50%) rotate(-3deg)}
  100%{transform:translateX(-50%) rotate(0)}
}

@keyframes ssnu-starA{
  0%,55.9%{opacity:0;left:38%;top:56%;transform:translate(-50%,-50%) rotate(0) scale(.7)}
  56%{opacity:1;left:38%;top:56%;transform:translate(-50%,-50%) rotate(0) scale(.85)}
  62%{opacity:1;left:40%;top:38%;transform:translate(-50%,-50%) rotate(420deg) scale(1)}
  68.9%{opacity:1;left:42%;top:22%;transform:translate(-50%,-50%) rotate(780deg) scale(1)}
  69%{opacity:1;left:42%;top:22%;transform:translate(-50%,-50%) rotate(var(--embed-rot)) scale(1.05)}
  72%{opacity:1;left:42%;top:22%;transform:translate(-50%,-50%) rotate(var(--embed-rot)) scale(.98)}
  100%{opacity:1;left:42%;top:22%;transform:translate(-50%,-50%) rotate(var(--embed-rot)) scale(1)}
}
@keyframes ssnu-starB{
  0%,61.9%{opacity:0;left:40%;top:58%;transform:translate(-50%,-50%) rotate(0) scale(.7)}
  62%{opacity:1;left:40%;top:58%;transform:translate(-50%,-50%) rotate(0) scale(.85)}
  68%{opacity:1;left:55%;top:55%;transform:translate(-50%,-50%) rotate(-480deg) scale(1)}
  74.9%{opacity:1;left:70%;top:60%;transform:translate(-50%,-50%) rotate(-900deg) scale(1)}
  75%{opacity:1;left:70%;top:60%;transform:translate(-50%,-50%) rotate(var(--embed-rot)) scale(1.05)}
  78%{opacity:1;left:70%;top:60%;transform:translate(-50%,-50%) rotate(var(--embed-rot)) scale(.98)}
  100%{opacity:1;left:70%;top:60%;transform:translate(-50%,-50%) rotate(var(--embed-rot)) scale(1)}
}
@keyframes ssnu-sparkHit{
  0%,68.8%{opacity:0;transform:translate(-50%,-50%) scale(.2)}
  69%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}
  72%{opacity:.5;transform:translate(-50%,-50%) scale(.6)}
  76%,100%{opacity:0;transform:translate(-50%,-50%) scale(.2)}
}
@keyframes ssnu-sparkHitB{
  0%,74.8%{opacity:0;transform:translate(-50%,-50%) scale(.2)}
  75%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}
  78%{opacity:.5;transform:translate(-50%,-50%) scale(.6)}
  82%,100%{opacity:0;transform:translate(-50%,-50%) scale(.2)}
}
@keyframes ssnu-halfJoltA{
  0%{transform:translate(-32px,-38px) rotate(-28deg) scale(1)}
  40%{transform:translate(-40px,-46px) rotate(-36deg) scale(1.07)}
  100%{transform:translate(-32px,-38px) rotate(-28deg) scale(1)}
}
  69%{transform:translate(-38px,-44px) rotate(-34deg) scale(1.05)}
  71%{transform:translate(-30px,-36px) rotate(-24deg) scale(.97)}
  74%{transform:translate(-32px,-38px) rotate(-28deg) scale(1)}
  100%{transform:translate(-32px,-38px) rotate(-28deg) scale(1)}
}
@keyframes ssnu-halfJoltB{
  0%{transform:translate(36px,40px) rotate(32deg) scale(1)}
  40%{transform:translate(46px,48px) rotate(42deg) scale(1.07)}
  100%{transform:translate(36px,40px) rotate(32deg) scale(1)}
}
  75%{transform:translate(44px,46px) rotate(40deg) scale(1.05)}
  77%{transform:translate(34px,38px) rotate(28deg) scale(.97)}
  80%{transform:translate(36px,40px) rotate(32deg) scale(1)}
  100%{transform:translate(36px,40px) rotate(32deg) scale(1)}
}
@keyframes ssnu-throw{
  0%{left:32%;bottom:10px;--lean:0deg;--squash:1;--stretch:1}
  12%{left:32%;bottom:10px;--lean:-10deg;--squash:1.06;--stretch:.94}
  22%{left:34%;bottom:14px;--lean:18deg;--squash:.92;--stretch:1.1}
  38%{left:32%;bottom:10px;--lean:2deg;--squash:1;--stretch:1}
  52%{left:32%;bottom:10px;--lean:-12deg;--squash:1.06;--stretch:.94}
  62%{left:35%;bottom:16px;--lean:20deg;--squash:.9;--stretch:1.12}
  80%{left:32%;bottom:10px;--lean:2deg;--squash:1;--stretch:1}
  100%{left:32%;bottom:10px;--lean:0deg;--squash:1;--stretch:1}
}
  55%{left:32%;bottom:10px;--lean:-8deg;--squash:1.04;--stretch:.96}
  56%{left:33%;bottom:12px;--lean:16deg;--squash:.94;--stretch:1.08}
  58%{left:32%;bottom:10px;--lean:4deg;--squash:1;--stretch:1}
  61%{left:32%;bottom:10px;--lean:-10deg;--squash:1.05;--stretch:.95}
  62%{left:34%;bottom:14px;--lean:18deg;--squash:.92;--stretch:1.1}
  65%{left:32%;bottom:10px;--lean:2deg;--squash:1;--stretch:1}
  100%{left:32%;bottom:10px;--lean:0deg;--squash:1;--stretch:1}
}

/* Reduced-motion / static end pose */
.ss-ninja-unlock--static .ninja{left:32%;bottom:10px;opacity:1;--lean:0deg;--squash:1;--stretch:1}
.ss-ninja-unlock--static .sword-group{transform:rotate(-115deg) translate(-2px,2px)}
.ss-ninja-unlock--static .bill.whole{opacity:0}
.ss-ninja-unlock--static .bill-half.up{opacity:1;transform:translate(-32px,-38px) rotate(-28deg)}
.ss-ninja-unlock--static .bill-half.dn{opacity:1;transform:translate(36px,40px) rotate(32deg)}
.ss-ninja-unlock--static .ssnu-star--a{opacity:1;left:42%;top:22%;transform:translate(-50%,-50%) rotate(-38deg) scale(1)}
.ss-ninja-unlock--static .ssnu-star--b{opacity:1;left:70%;top:60%;transform:translate(-50%,-50%) rotate(42deg) scale(1)}

@media (max-width:420px){
  .ss-ninja-unlock{width:min(320px,94vw);max-height:min(72vh, calc(100vh - 110px - env(safe-area-inset-bottom,0px)))}
  .ss-ninja-unlock .ssnu-headline{font-size:15px;line-height:1.3;margin-bottom:6px;padding:0 2px 4px}
  .ss-ninja-unlock .ssnu-scene{height:168px}
  .ss-ninja-unlock .ninja{width:104px;height:132px}
  .ss-ninja-unlock .ninja .head{width:76px;height:68px;top:26px}
  .ss-ninja-unlock .ninja .body,
  .ss-ninja-unlock .ninja .sword-layer{top:28px;width:90px;height:100px}
  .ss-ninja-unlock .ninja .neck-cover{top:76px;width:46px;height:24px}
  .ss-ninja-unlock .bill-wrap{width:104px;height:56px}
  .ss-ninja-unlock .ssnu-star{width:24px;height:24px}
}
@media (prefers-reduced-motion: reduce){
  .ss-unlock-banner{animation:none}
  .ss-ninja-unlock.play .ninja,
  .ss-ninja-unlock.play .sword-group,
  .ss-ninja-unlock.play .blade-glint,
  .ss-ninja-unlock.play .bill-wrap,
  .ss-ninja-unlock.play .bill.whole,
  .ss-ninja-unlock.play .bill-half,
  .ss-ninja-unlock.play .slash-arc,
  .ss-ninja-unlock.play .flash,
  .ss-ninja-unlock.play .ninja .head,
  .ss-ninja-unlock.play .ssnu-star,
  .ss-ninja-unlock.play .ssnu-spark,
  .ss-ninja-unlock.play .bill-half{animation:none!important}
}


/* —— Ninja Care (sage, hard-coded; private preview 2026-11-01) —— */
.ninja-care-home,
.nc-page{
  --nc-bg:#F3F0E6;
  --nc-surface:#FAF8F1;
  --nc-ink:#2F3A32;
  --nc-muted:#5F6B62;
  --nc-accent:#6B8F71;
  --nc-soft:#D8E2D4;
  --nc-line:#D4CFC2;
  --nc-chip:#E5EDE4;
  --nc-soon-bg:#A8C3A9;
  --nc-soon-ink:#243028;
}

.ninja-care-home{
  background:var(--nc-bg);
  border:0;
  padding:0;
  display:block;
  color:var(--nc-ink);
}
.ninja-care-home .nc-band{
  padding:56px 5% 64px;
}
.ninja-care-home .nc-band-inner{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:36px;
  align-items:start;
}
.nc-eyebrow{
  margin:0 0 10px;
  font-size:12px;
  font-weight:800;
  letter-spacing:1.4px;
  text-transform:uppercase;
  color:var(--nc-accent);
}
.nc-heading{
  margin:0 0 18px;
  font-size:clamp(40px,5.5vw,58px);
  line-height:1.05;
  letter-spacing:-1.5px;
  font-weight:900;
  color:var(--nc-ink);
  font-family:Arial,Helvetica,sans-serif;
}
.nc-mascot{
  display:block;
  width:180px;
  height:auto;
  margin:4px 0 18px;
  border-radius:28px;
  background:var(--nc-surface);
  box-shadow:0 10px 28px rgba(61,44,36,.10);
}
.nc-mascot--lg{width:220px;border-radius:32px}
.nc-tagline{
  color:var(--nc-ink);
  font-size:18px;
  font-weight:700;
  max-width:28em;
  margin:0 0 12px;
  line-height:1.35;
}
.nc-tagline--lg{font-size:clamp(18px,2.4vw,22px)}
.nc-promise,.nc-lead{
  color:var(--nc-muted);
  font-size:15px;
  max-width:36em;
  margin:0 0 18px;
  line-height:1.55;
}
.nc-values{
  list-style:none;
  padding:0;
  margin:0 0 22px;
  display:grid;
  gap:10px;
  max-width:380px;
}
.nc-values li{
  color:var(--nc-ink);
  font-size:14px;
  padding:12px 16px;
  border:1px solid var(--nc-line);
  border-radius:18px;
  background:var(--nc-chip);
}
.nc-values--page{
  max-width:none;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.nc-values--page li{background:var(--nc-surface);line-height:1.4}
.nc-values--page strong{display:block;margin-bottom:4px;color:var(--nc-ink)}
.nc-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--nc-accent);
  font-weight:800;
  font-size:14px;
  text-decoration:underline;
  text-underline-offset:3px;
  min-height:44px;
}
.nc-guarantee-panel{
  background:var(--nc-surface);
  border:1px solid var(--nc-line);
  border-radius:28px;
  padding:28px 26px;
  box-shadow:0 12px 30px rgba(47,58,50,.06);
}
.nc-guarantee-label{
  margin:0 0 8px;
  font-size:12px;
  font-weight:800;
  letter-spacing:1.4px;
  text-transform:uppercase;
  color:var(--nc-accent);
}
.nc-guarantee-lead{
  color:var(--nc-ink);
  font-size:15px;
  margin:0 0 18px;
  font-weight:650;
  line-height:1.45;
}
.ninja-care-home .nc-guarantee-panel article{
  padding:0 0 16px;
  margin:0 0 16px;
  border-bottom:1px solid var(--nc-line);
  position:static;
}
.ninja-care-home .nc-guarantee-panel article:last-child{
  border:0;margin:0;padding-bottom:0;
}
.ninja-care-home .nc-guarantee-panel h3{
  font-size:17px;
  margin:0 0 6px;
  color:var(--nc-ink);
}
.ninja-care-home .nc-guarantee-panel p{
  color:var(--nc-muted);
  font-size:14px;
  margin:0;
  max-width:none;
}

.nc-page{
  background:var(--nc-bg);
  color:var(--nc-ink);
  max-width:none;
  margin:0;
  padding:0 0 70px;
}
.nc-page-hero{
  max-width:820px;
  margin:0 auto;
  padding:40px 5% 10px;
}
.nc-page .nc-block{
  max-width:820px;
  margin:0 auto 28px;
  padding:22px 5% 8px;
  border-top:0;
}
.nc-page .nc-block h2{
  font-size:clamp(26px,3.5vw,34px);
  letter-spacing:-1px;
  margin:8px 0 16px;
  color:var(--nc-ink);
}
.nc-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.nc-cards article{
  border:1px solid var(--nc-line);
  border-radius:22px;
  padding:18px 16px;
  background:var(--nc-surface);
  box-shadow:0 6px 18px rgba(61,44,36,.05);
}
.nc-cards h3{font-size:16px;margin:0 0 8px;color:var(--nc-ink)}
.nc-cards p{margin:0;color:var(--nc-muted);font-size:14px;line-height:1.45}
.nc-day p{color:var(--nc-muted);font-size:15px;max-width:36em}
.nc-soon{
  display:inline-block;
  font-size:11px;
  font-weight:800;
  letter-spacing:1px;
  color:var(--nc-soon-ink);
  background:var(--nc-soon-bg);
  padding:5px 10px;
  border-radius:999px;
  margin-right:8px;
  vertical-align:middle;
}
.nc-cards--guarantee{grid-template-columns:1fr}
.nc-cta-wrap{max-width:820px;margin:28px auto 10px;padding:0 5%}
.nc-page .home-back{color:var(--nc-ink);margin-left:5%}
.nc-page .nc-cta{
  background:var(--nc-accent);
  color:#fff8f2;
  box-shadow:4px 4px 0 var(--nc-soft);
  border-color:var(--nc-ink);
}
.nc-page .nc-cta:hover{filter:none;translate:2px 2px;box-shadow:2px 2px 0 var(--nc-soft)}

@media(max-width:850px){
  .ninja-care-home .nc-band-inner{grid-template-columns:1fr;gap:28px}
}
@media(max-width:620px){
  .ninja-care-home .nc-band{padding:44px 5% 52px}
  .nc-mascot{width:150px;border-radius:24px}
  .nc-mascot--lg{width:170px}
  .nc-values--page,.nc-cards{grid-template-columns:1fr}
  .nc-heading{font-size:clamp(34px,10vw,44px)}
}

@media(min-width:851px){
  header nav{gap:22px;flex-wrap:nowrap;white-space:nowrap;font-size:13px}
  .header-actions{flex-shrink:0}
}

.nc-hero-top{
  display:flex;
  align-items:flex-start;
  gap:22px;
  margin:0 0 22px;
}
.nc-mascot-inline{
  display:block;
  width:150px;
  height:auto;
  flex:0 0 auto;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  opacity:1 !important;
  filter:none !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
  position:static !important;
}
.nc-page-hero .nc-mascot-inline{width:180px}
.nc-hero-copy{flex:1 1 auto; min-width:0}
.nc-bg-mascot,.nc-mascot{display:none!important}
.ninja-care-home .nc-band,
.nc-page-hero{
  position:relative;
  overflow:visible;
}
@media(max-width:620px){
  .nc-hero-top{
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:14px;
  }
  .nc-mascot-inline{width:130px}
  .nc-page-hero .nc-mascot-inline{width:150px}
  .nc-hero-copy .nc-tagline,
  .nc-hero-copy .nc-promise,
  .nc-hero-copy .nc-lead{margin-left:auto;margin-right:auto}
}
@media(min-width:621px){
  .nc-hero-top{align-items:center}
}

.nc-logo-title{
  margin:2px 0 16px;
  transform:rotate(-1.5deg);
  transform-origin:left center;
  max-width:min(100%,420px);
  line-height:1;
}
.nc-logo-text{
  display:inline-flex;
  align-items:baseline;
  gap:.14em;
  font-family:'Permanent Marker',cursive;
  font-weight:400;
  font-style:normal;
  font-size:clamp(2.35rem,6.2vw,3.6rem);
  letter-spacing:.01em;
  line-height:1.05;
  white-space:nowrap;
}
.nc-logo-ninja{color:var(--orange,#ff744d)}
.nc-logo-care{color:var(--nc-ink,#2F3A32)}
.nc-page-hero .nc-logo-title{max-width:min(100%,560px);margin:4px 0 18px}
.nc-page-hero .nc-logo-text{font-size:clamp(2.7rem,5.4vw,4.2rem)}
@media(max-width:620px){
  .nc-logo-title{
    transform:rotate(-1.2deg);
    transform-origin:center center;
    margin-left:auto;
    margin-right:auto;
    max-width:min(100%,340px);
    text-align:center;
  }
  .nc-logo-text{font-size:clamp(2.15rem,11vw,2.7rem);letter-spacing:.015em}
  .nc-page-hero .nc-logo-title{max-width:min(100%,360px)}
  .nc-page-hero .nc-logo-text{font-size:clamp(2.35rem,12vw,3rem)}
}

/* Reach preference: Call / Text pills on estimate details form */
.reach{border:0;margin:4px 0 8px;padding:0;min-inline-size:0}
.reach legend{font-size:13px;font-weight:bold;margin:0 0 10px;padding:0;color:#22251f}
.reach-opts{display:flex;gap:10px}
.reach-opt{
  position:relative;flex:1;display:flex;align-items:center;justify-content:center;
  min-height:48px;padding:12px 16px;border:2px solid #c5c9ba;border-radius:999px;
  background:#fff;font-weight:700;font-size:16px;color:#22251f;cursor:pointer;user-select:none;
}
.reach-opt input{
  position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none;
}
.reach-opt span{pointer-events:none}
.reach-opt:has(input:checked){background:#161712;color:#e4ee8d;border-color:#161712}
.reach-opt:has(input:focus-visible){outline:3px solid #161712;outline-offset:3px}
.reach-talk{
  margin:2px 0 16px;font-size:15px;line-height:1.4;font-weight:normal;color:#3a3f34;
}
.reach-talk a{
  display:inline-flex;align-items:center;min-height:44px;padding:0 2px;
  font-weight:700;text-decoration:underline;color:#161712;
}


/* Shorter estimate form */
.repair-more{margin:8px 0 12px;border:0;padding:0}
.repair-more summary{
  cursor:pointer;font-size:13px;font-weight:700;color:#3a3f34;
  text-decoration:underline;list-style:none;min-height:44px;
  display:inline-flex;align-items:center;
}
.repair-more summary::-webkit-details-marker{display:none}
.repair-more[open] summary{margin-bottom:6px}
.repair-more .hint{margin:6px 0}
.upload-compact{
  display:flex;align-items:center;justify-content:flex-start;
  min-height:44px;padding:10px 14px;margin:8px 0;font-size:14px;font-weight:700;
  text-align:left;cursor:pointer;
}
.upload-compact input{position:absolute;opacity:0;width:1px;height:1px}
.builder .spend-save-card{
  max-width:none;width:100%;transform:none;margin:12px 0 8px;
  box-shadow:4px 4px 0 #060606;
}
.opt-tag{font-weight:normal;color:#6a6d60;font-size:12px}

/* === Mockup spendsave-sticky-20261101: sticky side Spend & save until All jokes aside === */
.section-intro{position:relative}
.spend-save-sticky{
  position:sticky;top:24px;z-index:5;
  margin-top:22px;max-width:335px;
  transition:opacity .35s ease, transform .35s ease, visibility .35s;
}
.spend-save-sticky.is-away{
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(-8px);
}
.spend-save-mobile{display:none}
@media(max-width:767px){
  .spend-save-sticky{display:none!important}
  .spend-save-mobile{
    display:block;position:fixed;left:0;right:0;z-index:89;
    bottom:calc(56px + env(safe-area-inset-bottom,0px));
    background:#FD6D0E;color:#111;border-top:2px solid #171717;
    box-shadow:0 -2px 0 #171717;
    transition:opacity .3s ease, transform .3s ease, visibility .3s;
  }
  .spend-save-mobile a{
    display:flex;align-items:center;justify-content:center;gap:6px;
    min-height:40px;padding:8px 12px;font-size:13px;font-weight:700;
    line-height:1.25;text-align:center;color:#111;
  }
  .spend-save-mobile a strong{font-weight:900}
  .spend-save-mobile.is-away{
    opacity:0;visibility:hidden;pointer-events:none;
    transform:translateY(6px);
  }
  body{padding-bottom:116px}
}
@media(min-width:768px){
  .spend-save-mobile{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .spend-save-sticky,.spend-save-mobile{transition:none}
}
/* Hide fixed bottom bars while keyboard is open, viewport is short, or page is pinch-zoomed (low-vision). */
@media(max-width:767px){
  body.vv-bars-hidden .mobile-contact-bar,
  body.vv-bars-hidden .spend-save-mobile{
    display:none!important;
  }
}


/* Launch fixes 2026-11-03 */
#request .section-intro .paper-heading{margin-bottom:12px}
.visit-min-line{margin:8px 0 4px;font-weight:700}
.ss-compact{margin:6px 0 14px;padding:8px 10px;border:1.5px dashed #171717;background:#fff8e8;font-size:14px;line-height:1.35}
.email-hint{display:block;font-size:14px;margin-top:4px;color:#7a3b00;font-weight:600}
.email-hint:empty{display:none}
.email-fix{background:none;border:0;padding:0;font:inherit;font-weight:800;text-decoration:underline;color:inherit;cursor:pointer}
.sent-to{font-size:17px}
.sent-to strong{display:block;overflow-wrap:anywhere;margin-top:4px}
.footer-call a{font-weight:800}
@media(max-width:767px){body.ss-compact-visible .spend-save-mobile{opacity:0;visibility:hidden;pointer-events:none}}
@media(max-width:767px){#request{row-gap:20px}}

/* === Mockup mobile-fixes-20261104: Call/Text moves from the bottom bar to a slim strip at the top === */
.mobile-call-top{display:none}
@media(max-width:767px){
  .mobile-contact-bar{display:none!important}
  body{padding-bottom:0!important}
  .mobile-call-top{
    display:flex;align-items:center;gap:8px;padding:6px 12px;
    background:#faf2df;color:#171717;border-bottom:2px solid #171717
  }
  .mct-label{flex:1;font-size:15px;font-weight:700;line-height:1.2}
  .mct-label b{white-space:nowrap}
  .mobile-call-top a{
    min-height:44px;min-width:64px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;
    font-size:17px;font-weight:900;text-decoration:none;border:2px solid #171717;border-radius:2px
  }
  .mct-call{background:#ff744d;color:#171717}
  .mct-text{background:#171717;color:#faf2df}
  /* Orange Spend & save bar now sits on the bottom edge */
  .spend-save-mobile{bottom:0!important;padding-bottom:env(safe-area-inset-bottom,0px)}
  body:has(.spend-save-mobile){padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))!important}
}
@media(max-width:360px){.mct-label{font-size:13px}.mobile-call-top a{min-width:56px;padding:0 10px}}

.repair-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;width:100%;min-height:48px;padding:.6rem .8rem;border:2px solid #111;border-radius:10px;background:#fff;color:#111;font:inherit;font-size:1.05rem;text-align:left;cursor:pointer}
.repair-summary .rs-name{font-weight:700}.repair-summary .rs-detail{color:#333}
.repair-summary .rs-edit{margin-left:auto;font-weight:700;text-decoration:underline}
.repair.collapsed{padding:0;border:0;background:none;box-shadow:none}
.save-back{display:block;width:100%;min-height:48px;margin-top:1rem;padding:.75rem 1rem;border:0;border-radius:10px;background:#111;color:#fff;font:inherit;font-size:1.1rem;font-weight:700;cursor:pointer}
.save-back:focus-visible,.repair-summary:focus-visible{outline:3px solid #f2b600;outline-offset:2px}

/* mascot-right-20261105: peace mascot on the right of the Ninja Care title (homepage only) */
@media(min-width:621px){.ninja-care-home .nc-hero-top{flex-direction:row-reverse;justify-content:space-between}}

/* Footer in clear columns (next push) */
footer.ft{display:block;font-size:13px;line-height:1.5}
footer.ft .ft-grid{display:grid;grid-template-columns:1.2fr 1.2fr 1.3fr .9fr;gap:28px 32px;align-items:start}
footer.ft .ft-col{display:flex;flex-direction:column;gap:4px;min-width:0}
footer.ft p{margin:0}
footer.ft .ft-h{color:var(--text);font-weight:800;font-size:13px;letter-spacing:.5px;text-transform:uppercase;margin-top:10px;margin-bottom:4px}
footer.ft .ft-col>.ft-h:first-child{margin-top:0}
footer.ft .ft-brand .brand{margin-bottom:6px}
footer.ft .ft-list{display:grid;gap:6px}
footer.ft .ft-two{grid-template-columns:1fr 1fr;column-gap:16px}
footer.ft a{color:var(--muted);text-decoration:underline}
footer.ft a:hover{color:var(--orange)}
footer.ft .footer-call a{color:var(--text);font-weight:800}
footer.ft .ft-bottom{display:flex;gap:10px;justify-content:center;border-top:1px solid var(--line);margin-top:26px;padding-top:16px}
@media(max-width:900px){footer.ft .ft-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){footer.ft{font-size:14px}footer.ft .ft-grid{grid-template-columns:1fr;gap:22px}footer.ft .ft-list a{padding:4px 0}}
footer.ft nav a,footer.ft nav a:first-child{border:0;padding-bottom:0;font-weight:400}
@media(max-width:620px){footer.ft .ft-list a,footer.ft .ft-list a:first-child{padding:4px 0}}

/* FAQ vanish ninja: walks in, turns, smoke ball, poof, gone, repeats (8s) */
.faq-left{min-width:0}
.vanish{position:relative;height:270px;margin-top:22px;pointer-events:none}
.vanish picture{display:contents}
.vanish img,.vanish span,.vanish div{position:absolute;display:block}
.vn-ninja{left:50%;bottom:0;width:0;height:170px;animation:vnWalk 8s linear infinite}
@keyframes vnWalk{0%{transform:translateX(calc(-50vw - 240px))}44%,100%{transform:translateX(0)}}
.vn-side{left:-63px;bottom:0;width:126px;height:170px;transform-origin:50% 100%;animation:vnSide 8s linear infinite}
@keyframes vnSide{0%,44%{opacity:1;transform:scaleX(1)}47%{opacity:1;transform:scaleX(0)}47.1%,100%{opacity:0;transform:scaleX(0)}}
.vn-body{left:0;top:0;width:126px;height:170px;animation:vnBob .32s ease-in-out infinite alternate}
@keyframes vnBob{from{transform:translateY(0) rotate(-1.5deg)}to{transform:translateY(-5px) rotate(1.5deg)}}
.vn-upper{left:0;top:0;width:126px;height:130px;z-index:2}
.vn-leg{top:110px;width:21px;height:50px;margin-left:-10px;background:#111;border-radius:10px 10px 7px 7px;transform-origin:50% 7px;z-index:1;filter:drop-shadow(2.5px 0 0 #fff) drop-shadow(-2.5px 0 0 #fff) drop-shadow(0 2.5px 0 #fff) drop-shadow(0 0 .6px #000);animation:vnLeg .64s ease-in-out infinite alternate}
.vn-leg::after{content:"";position:absolute;bottom:-2px;left:3px;width:27px;height:14px;background:#111;border-radius:6px 13px 9px 6px}
.vn-leg.l1{left:60px}.vn-leg.l2{left:76px;animation-delay:-.64s}
@keyframes vnLeg{from{transform:rotate(34deg)}to{transform:rotate(-32deg)}}
.vn-front{left:-78px;bottom:0;height:165px;width:auto;opacity:0;transform-origin:50% 100%;animation:vnFront 8s linear infinite}
@keyframes vnFront{0%,46.9%{opacity:0;transform:scaleX(0)}47%{opacity:1;transform:scaleX(0)}50%{opacity:1;transform:scaleX(1)}54%{transform:translateY(-4px) rotate(-5deg)}57.9%{opacity:1;transform:rotate(4deg)}58%,100%{opacity:0}}
.vn-peace{left:-70px;bottom:0;height:165px;width:auto;opacity:0;animation:vnPeace 8s linear infinite}
@keyframes vnPeace{0%,57.9%{opacity:0}58%,63.9%{opacity:1}64%,100%{opacity:0}}
.vn-ball{left:50%;bottom:72px;margin-left:-78px;width:36px;height:auto;opacity:0;animation:vnBall 8s cubic-bezier(.5,0,1,.6) infinite}
@keyframes vnBall{0%,57.9%{opacity:0;transform:none}58%{opacity:1;transform:none}63.5%{opacity:1;transform:translate(48px,72px) rotate(240deg)}64%,100%{opacity:0;transform:translate(48px,72px)}}
.vn-smoke{left:50%;bottom:-6px;width:auto;opacity:0;transform-origin:50% 100%}
.vn-smoke.s0{height:102px;margin-left:-56px;animation:vnS0 8s ease-out infinite}
.vn-smoke.s1{height:190px;margin-left:-60px;animation:vnS1 8s ease-out infinite}
.vn-smoke.s2{height:220px;margin-left:-99px;animation:vnS2 8s ease-out infinite}
.vn-smoke.s3{height:203px;margin-left:-59px;animation:vnS3 8s ease-out infinite}
@keyframes vnS0{0%,63.9%{opacity:0;transform:scale(.3)}64.5%{opacity:1;transform:scale(1.1)}67%{opacity:1;transform:scale(1.3)}68%,100%{opacity:0}}
@keyframes vnS1{0%,66%{opacity:0;transform:scaleY(.4)}68%{opacity:1;transform:scaleY(1)}71%{opacity:1}72.5%,100%{opacity:0}}
@keyframes vnS2{0%,70.5%{opacity:0;transform:scale(.85)}72.5%{opacity:1;transform:scale(1)}84%{opacity:1;transform:scale(1.06)}86%,100%{opacity:0;transform:scale(1.08)}}
@keyframes vnS3{0%,84%{opacity:0;transform:scale(1)}86%{opacity:1}92%{opacity:.6;transform:translateY(-10px) scale(1.05)}96%,100%{opacity:0;transform:translateY(-18px) scale(1.08)}}
@media(max-width:620px){.vanish{height:250px;margin-top:12px}}
@media(prefers-reduced-motion:reduce){.vanish *{animation:none !important}.vn-side,.vn-front,.vn-ball,.vn-smoke{opacity:0 !important}.vn-peace{opacity:1 !important}}

/* ===== "Win $10" game tab (win-tab-20261105) ===== */
header nav a.nav-win{display:inline-flex;align-items:center;gap:6px;background:var(--orange,#ff7a00);color:#171717;border:2px solid #171717;box-shadow:3px 3px 0 #faf2df;padding:4px 12px;margin:-6px 0;font-weight:900;border-bottom:2px solid #171717}
header nav a.nav-win:hover{translate:1px 1px;box-shadow:2px 2px 0 #faf2df}
.win-tab-m{display:none}
@media(max-width:850px){
  .win-tab-m{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;background:var(--orange,#ff7a00);color:#171717;border:2px solid #171717;box-shadow:3px 3px 0 #faf2df;font-weight:900;font-size:15px;white-space:nowrap}
}
/* local (city) pages have no other nav links: keep the header row tidy */
.local-page header nav{margin-left:auto}
/* coupon field on the estimate form */
.coupon-field{margin:4px 0 14px;padding:12px 14px;border:2px dashed #7d806c;background:#fffaf0}
.coupon-field label{margin-bottom:6px}
.coupon-field small{font-weight:normal;color:#55594d}
.coupon-row{display:flex;gap:8px;align-items:stretch}
.coupon-row input{margin-top:0;text-transform:uppercase;letter-spacing:1.5px;font-weight:700;flex:1;min-width:0}
.coupon-check{flex:none;min-height:44px;padding:0 14px;background:#171717;color:#faf2df;border:2px solid #171717;font-weight:800}
.coupon-check:disabled{opacity:.6}
.coupon-msg{margin:8px 0 0;font-size:15px;font-weight:700;min-height:0}
.coupon-msg:empty{display:none}
.coupon-msg.is-ok{color:#1d6b2a}
.coupon-msg.is-bad{color:#b3261e}
.coupon-help{margin:6px 0 0;font-size:13px;color:#55594d}
.coupon-help a{text-decoration:underline}
.coupon-review{border-left:4px solid var(--orange,#ff7a00)}

/* FAQ vanish cartoon video: fills the existing art box; CSS sprites stay as fallback */
.vanish.vanish-cartoon{overflow:hidden}
.vanish.vanish-cartoon video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;pointer-events:none;background:transparent}
/* Our why — keep ticket label in the same small monospace as FIELD NOTES / 001 */
.ticket-top .our-why-link{color:#a54b32;text-decoration:none;font:inherit;letter-spacing:inherit}
.ticket-top .our-why-link:hover,.ticket-top .our-why-link:focus-visible{color:#8c3f2a;text-decoration:underline}
.our-why-page main.our-why-story{max-width:42rem;margin:0 auto;padding:20px 22px 72px}
.our-why-page h1{font-size:clamp(2rem,7vw,2.75rem);letter-spacing:-.04em;line-height:1.2;margin:12px 0 28px;max-width:none;color:#faf2df}
.our-why-page .our-why-story p{font-size:1.25rem;line-height:1.75;margin:0 0 1.15em;color:#faf2df;max-width:40rem}
.our-why-page .our-why-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 8px}
.our-why-page .home-back{display:inline-flex;align-items:center;min-height:48px;font-weight:800;color:#d6fa48;text-decoration:none}
.our-why-page .home-back:hover,.our-why-page .home-back:focus-visible{text-decoration:underline}
.free-estimate-card{max-width:335px;margin:26px 0 26px;padding:22px 24px;background:#d6fa48;color:#171717;border:2px solid #171717;border-left:6px solid #ff744d;box-shadow:4px 4px 0 #c9b5fa}.free-estimate-card h3{margin:0 0 10px;font:900 29px/1.1 Arial,sans-serif;letter-spacing:-.6px}.section-intro .free-estimate-card p{color:#171717;max-width:none}.free-estimate-card .estimate-time{margin:0 0 12px;font-size:22px;font-weight:bold;line-height:1.3}.free-estimate-card .estimate-help{margin:0;font-size:18px;line-height:1.4}@media(max-width:767px){.free-estimate-card{max-width:100%;margin:26px 4px 4px 0;padding:22px}.free-estimate-card h3{font-size:29px}}
.hero-dash{margin:0 .06em}

/* A23 Nov 9 2026: approved insured trust line (Fully insured, $2M liability). Calm, small. */
.trust-line{display:inline-flex;align-items:center;gap:8px;margin:10px 0 0;padding:0;color:var(--muted);font-size:15px;font-weight:600;letter-spacing:.2px;line-height:1.35}
.trust-line .trust-icon{flex:0 0 auto;opacity:.85;color:var(--accent)}
.hero-cta{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.hero .hero-bottom > .hero-cta > .button{transform:rotate(-2deg)}
.hero .trust-line{margin-top:0;color:#d8d2c4;font-size:15px}
footer.ft .trust-line{margin:8px 0 4px;color:var(--muted);font-size:14px}
footer.ft .trust-line .trust-icon{color:var(--accent)}
@media(max-width:620px){
  .hero-cta{align-items:stretch}
  .hero .hero-bottom > .hero-cta > .button{transform:rotate(-1deg);width:auto}
  .hero .trust-line{font-size:14px;justify-content:center}
}
