/* Fixwright — sections (markup from Fixwright Core). Paper + ink, job tickets, snapshot photos. */
:root{--fw-pad:clamp(60px,7.5vw,112px)}
.fw-sec{padding-block:var(--fw-pad)}.fw-sec--soft{background:var(--fw-cream)}.fw-sec--paper{background:var(--fw-paper)}.fw-sec--tight{padding-top:0}.fw-center{text-align:center;margin-top:30px}
.fw-sec__head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(30px,4vw,56px)}.fw-sec__head .fw-h2{margin-top:.7rem;max-width:18ch}.fw-sec--center .fw-sec__head{justify-content:center;text-align:center}.fw-sec--center .fw-sec__head .fw-h2{max-width:none}
.elementor-widget-container:has(>.fw-hero),.elementor-widget-container:has(>.fw-sec),.elementor-widget-container:has(>.fw-trust),.elementor-widget-container:has(>.fw-brands),.elementor-widget-container:has(>.fw-pagehero){padding:0}
.fw-reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.fw-reveal.is-in,.no-js .fw-reveal{opacity:1;transform:none}
.fw-ticks{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}.fw-ticks li{display:flex;gap:12px;align-items:flex-start;font-weight:500}.fw-ticks .fw-i{flex:none;margin-top:3px;width:22px;height:22px;padding:3px;background:var(--fw-yellow);border:2px solid var(--fw-ink);border-radius:6px;color:var(--fw-ink)}

/* snapshot photos (printed-photo look) */
.fw-snap{position:relative;margin:0;background:#fff;padding:10px 10px 12px;border:2px solid var(--fw-ink);border-radius:6px;box-shadow:8px 8px 0 rgb(11 20 55/.9)}
.fw-snap__img{position:relative;aspect-ratio:var(--ar,4/3);overflow:hidden;background:var(--fw-paper)}
.fw .fw-snap__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.86) contrast(1.03)}
.fw-snap figcaption{font:600 .82rem var(--fw-font-b);color:var(--fw-mut);padding:10px 4px 0}
.fw-snap--tape::before{content:"";position:absolute;left:50%;top:-16px;width:96px;height:30px;margin-left:-48px;background:rgb(89 194 244/.8);border:1px solid rgb(11 20 55/.25);transform:rotate(-3deg);z-index:2}
.fw-sticker{position:absolute;display:grid;place-content:center;text-align:center;width:128px;height:128px;border-radius:50%;background:var(--fw-yellow);border:2px solid var(--fw-ink);box-shadow:4px 4px 0 var(--fw-ink);transform:rotate(-10deg);z-index:3;font-family:var(--fw-font-h);line-height:1}
.fw-sticker b{font-size:2.5rem;letter-spacing:-.04em}.fw-sticker span{font:700 .72rem var(--fw-font-b);letter-spacing:.1em;text-transform:uppercase;margin-top:5px}

/* ===== hero ===== */
.fw-hero{position:relative;background:var(--fw-cream);padding-block:clamp(36px,5vw,72px) clamp(64px,8vw,112px);overflow:hidden}
.fw-hero__grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(36px,5vw,84px);align-items:center}
.fw-hero__title{font:800 clamp(2.4rem,1.2rem + 3.7vw,4.2rem)/1 var(--fw-font-h);letter-spacing:-.04em;margin:18px 0 0}
.fw-hero .fw-lead{font-size:clamp(1.08rem,1rem + .3vw,1.22rem);margin-top:22px;max-width:50ch;color:#3A4262}
.fw-ticket{position:relative;margin-top:34px;max-width:620px;background:#fff;border:2px solid var(--fw-ink);border-radius:14px;box-shadow:6px 6px 0 var(--fw-ink)}
.fw-ticket__top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 22px;border-bottom:2px dashed var(--fw-ink);font:700 .72rem var(--fw-font-b);letter-spacing:.12em;text-transform:uppercase}
.fw-ticket__top span:last-child{color:var(--fw-brand)}
.fw-ticket::before,.fw-ticket::after{content:"";position:absolute;top:30px;width:20px;height:20px;border-radius:50%;background:var(--fw-cream);border:2px solid var(--fw-ink)}
.fw-ticket::before{left:-11px;clip-path:inset(0 0 0 50%)}.fw-ticket::after{right:-11px;clip-path:inset(0 50% 0 0)}
.fw-ticket__body{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px}
.fw-field{display:flex;flex-direction:column;justify-content:center;padding:6px 14px;border-radius:10px;background:var(--fw-cream)}
.fw-field label{font:700 .68rem var(--fw-font-b);letter-spacing:.1em;text-transform:uppercase;color:var(--fw-mut);margin:0}
.fw-field input,.fw-field select{border:0;background:transparent;padding:2px 0;font:700 1.08rem var(--fw-font-b);outline:none;width:100%;appearance:none;color:var(--fw-ink)}
.fw-ticket .fw-btn{height:auto;min-height:58px}
.fw-checks{list-style:none;padding:0;margin:20px 0 0;display:flex;gap:6px 26px;flex-wrap:wrap;color:var(--fw-mut);font-size:.95rem;font-weight:500}.fw-checks li{display:flex;align-items:center;gap:8px}.fw-checks li::before{content:"";width:14px;height:3px;background:var(--fw-ink)}.fw-checks .fw-i{display:none}
.fw-hero__visual{position:relative;min-height:520px;padding-top:26px}
.fw-hero__visual .fw-snap--a{width:88%;margin-left:auto;transform:rotate(2.2deg);--ar:5/5.2}
.fw-hero__visual .fw-snap--b{position:absolute;left:0;bottom:-8px;width:44%;transform:rotate(-5deg);--ar:1/1;box-shadow:6px 6px 0 rgb(11 20 55/.9)}
.fw-hero__visual .fw-sticker{right:-14px;bottom:26%;transform:rotate(8deg)}

/* ===== trust strip ===== */
.fw-trust{background:var(--fw-ink);color:#fff}
.fw-trust__in{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0}
.fw-trust__item{display:flex;flex-direction:column;gap:6px;padding:28px 22px;border-left:2px dashed rgb(255 255 255/.28)}.fw-trust__item:first-child{border-left:0;padding-left:0}
.fw-trust__item b{font:800 2.3rem/1 var(--fw-font-h);letter-spacing:-.03em;color:var(--fw-yellow);white-space:nowrap}.fw-trust__item span{font-size:.9rem;color:#C9CFE6;line-height:1.35}

/* ===== services index ===== */
.fw-index{display:grid;grid-template-columns:minmax(250px,.78fr) 1.7fr;gap:clamp(36px,6vw,88px);align-items:start}
.fw-index__photo{position:sticky;top:110px;margin:0}.fw-index__photo .fw-snap{transform:rotate(-2.5deg);--ar:4/5}
.fw-index__list{list-style:none;margin:0;padding:0;border-top:2px solid var(--fw-ink);counter-reset:s}
.fw-index__list li{border-bottom:2px solid var(--fw-ink)}
.fw-index__list a{display:grid;grid-template-columns:54px 1fr 44px;grid-template-areas:"n t go" ". d go";gap:2px 14px;align-items:center;padding:20px 10px;transition:background .15s,padding .15s}
.fw-index__list a:hover{background:#DDF1FC;padding-left:18px}
.fw-index__n{grid-area:n;font:700 .95rem var(--fw-font-b);color:var(--fw-brand);font-variant-numeric:tabular-nums}
.fw-index__t{grid-area:t;font:800 clamp(1.35rem,1.1rem + .9vw,1.85rem) var(--fw-font-h);letter-spacing:-.025em;line-height:1.1}
.fw-index__d{grid-area:d;color:var(--fw-mut);font-size:.95rem;line-height:1.5;max-width:56ch}
.fw-index__go{grid-area:go;width:44px;height:44px;border:2px solid var(--fw-ink);border-radius:50%;display:grid;place-items:center;background:#fff;transition:.15s}
.fw-index__list a:hover .fw-index__go{background:var(--fw-ink);color:#fff;transform:rotate(-45deg)}

/* ===== meet ===== */
.fw-meet{background:var(--fw-paper)}
.fw-meet__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(36px,6vw,96px);align-items:center}
.fw-meet__media{position:relative;padding:12px 0 52px}
.fw-meet__m1{transform:rotate(-2deg);--ar:4/3.2}
.fw-meet__m2{position:absolute;right:-6px;bottom:0;width:42%;transform:rotate(4deg);--ar:1/1}
.fw-meet__copy .fw-h2{margin-top:.8rem}.fw-meet__copy .fw-lead{max-width:50ch;color:#3A4262}.fw-meet__acts{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}

/* ===== steps ===== */
.fw-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,64px);counter-reset:st}
.fw-step{position:relative;padding-top:8px}
.fw-step__n{display:block;font:800 clamp(4.2rem,3rem + 4vw,6.4rem)/.9 var(--fw-font-h);letter-spacing:-.06em;color:var(--fw-brand);margin-bottom:14px}
.fw-step h3{font-size:1.5rem;margin-bottom:10px}.fw-step p{color:var(--fw-mut);max-width:34ch}
.fw-step:not(:last-child)::after{content:"";position:absolute;right:-44px;top:34px;width:70px;height:34px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 34' fill='none' stroke='%230B1437' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 24c14-18 34-22 58-12' stroke-dasharray='1 7'/%3E%3Cpath d='M52 6l11 6-9 9'/%3E%3C/svg%3E") no-repeat center/contain}

/* ===== why (optional bento) ===== */
.fw-why{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fw-why__card{background:#fff;border:2px solid var(--fw-ink);border-radius:14px;padding:30px;display:flex;flex-direction:column;gap:10px}.fw-why__card h3{font-size:1.25rem}.fw-why__card p{color:var(--fw-mut);font-size:.95rem}.fw-why__big{font:800 3.2rem var(--fw-font-h);letter-spacing:-.04em;line-height:1;color:var(--fw-brand)}
.fw-why--tech{grid-template-columns:1.4fr 1fr 1fr}.fw-why--tech .fw-why__tech{grid-row:span 2}
.fw-why__tech{margin:0;background:var(--fw-ink);color:#fff;border-radius:14px;overflow:hidden;position:relative;min-height:420px;display:flex;align-items:flex-end}.fw-why__ph{position:absolute;inset:0}.fw-why__ph img{width:100%;height:100%;object-fit:cover;opacity:.6}.fw-why__ph::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--fw-ink) 8%,transparent 70%)}
.fw-why__in{position:relative;padding:34px}.fw-why__in blockquote{margin:14px 0;font-size:1.1rem;line-height:1.6;color:#dbeafe}.fw-eyebrow--light{color:var(--fw-yellow)}

/* ===== reviews ===== */
.fw-review__src{font:700 .72rem var(--fw-font-b);letter-spacing:.08em;text-transform:uppercase;background:var(--fw-yellow);border:1.5px solid var(--fw-ink);padding:3px 10px;border-radius:6px}

/* ===== brands (yellow ticker) ===== */
.fw-brands{padding-block:22px;background:var(--fw-yellow);border-block:2px solid var(--fw-ink);overflow:hidden}
.fw-brands__label{display:flex;justify-content:center;align-items:center;gap:12px;font:700 .74rem var(--fw-font-b);letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px!important}
.fw-pausebtn{border:2px solid var(--fw-ink);background:transparent;border-radius:8px;padding:3px 10px;font:700 .7rem var(--fw-font-b);cursor:pointer;color:var(--fw-ink);letter-spacing:0;text-transform:none}
.fw-marquee{display:flex;width:max-content;animation:fw-mq 60s linear infinite}.fw-marquee ul{display:flex;list-style:none;margin:0;padding:0}
.fw-marquee li{font:800 clamp(1.5rem,1.2rem + 1.2vw,2.2rem) var(--fw-font-h);letter-spacing:-.02em;white-space:nowrap;display:flex;align-items:center}
.fw-marquee li::after{content:"✱";font-size:.7em;margin:0 clamp(20px,3vw,40px)}
.fw-brands:hover .fw-marquee,.fw-paused .fw-marquee{animation-play-state:paused}
@keyframes fw-mq{to{transform:translateX(-50%)}}

/* ===== areas ===== */
.fw-areas{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(36px,6vw,92px);align-items:center}
.fw-areas .fw-sec__head{margin-bottom:26px}
.fw-chips{display:flex;flex-wrap:wrap;gap:9px}
.fw-chip{border:2px solid var(--fw-ink);background:#fff;border-radius:8px;padding:6px 13px;font-size:.92rem;font-weight:700;color:var(--fw-ink);transition:background .15s,transform .15s;display:inline-block}
a.fw-chip:hover,.fw-chip.is-on{background:var(--fw-yellow);transform:translateY(-2px)}
.fw-areas__media{position:relative;margin:0;padding:10px 0}.fw-areas__media .fw-snap{transform:rotate(2deg);--ar:5/4.4}
.fw-areas__badge{position:absolute;left:-10px;bottom:-6px}.fw-areas__badge.fw-sticker{transform:rotate(-8deg)}
.fw-map{background:#fff;border:2px solid var(--fw-ink);border-radius:14px;padding:14px;box-shadow:6px 6px 0 var(--fw-ink)}.fw-map svg{width:100%;height:auto;display:block}
.fw-mpt .c{fill:var(--fw-brand)}.fw-mpt .h{fill:var(--fw-yellow);opacity:.5}.fw-mpt text{font:700 11px var(--fw-font-b);fill:var(--fw-ink);paint-order:stroke;stroke:#fff;stroke-width:4px}

/* ===== jobs ===== */
.fw-jobs{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.fw-job{background:#fff;border:2px solid var(--fw-ink);border-radius:14px;overflow:hidden}.fw .fw-job img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-bottom:2px solid var(--fw-ink)}
.fw-job h3{font-size:1.05rem;padding:16px 18px 0;line-height:1.25}.fw-job__meta{padding:6px 18px 0;font-size:.85rem;color:var(--fw-mut)}.fw-job__fix{margin:12px 18px 18px;font-size:.88rem;font-weight:600;background:#E8F7EE;border-radius:8px;padding:8px 10px}

/* ===== pricing ticket ===== */
.fw-price{max-width:980px;margin-inline:auto;display:grid;grid-template-columns:1fr 1.15fr;background:#fff;border:2px solid var(--fw-ink);border-radius:18px;box-shadow:10px 10px 0 var(--fw-ink);overflow:hidden;position:relative}
.fw-price>div{padding:clamp(28px,4vw,52px);background:var(--fw-yellow);border-right:2px dashed var(--fw-ink)}
.fw-price__amt{font:800 clamp(4rem,3rem + 4vw,6.6rem)/.9 var(--fw-font-h);letter-spacing:-.06em;margin:16px 0 26px}.fw-price__amt small{display:block;font:600 1.05rem var(--fw-font-b);letter-spacing:0;margin-top:12px}
.fw-price ul{list-style:none;padding:clamp(28px,4vw,52px);margin:0;display:grid;gap:16px;align-content:center}.fw-price li{display:flex;gap:12px;align-items:flex-start;font-weight:500}.fw-price li .fw-i{flex:none;margin-top:3px;width:22px;height:22px;padding:3px;background:var(--fw-yellow);border:2px solid var(--fw-ink);border-radius:6px}
.fw-price__note{font-size:.8rem;margin-top:14px!important}.fw-price .fw-eyebrow--light{color:var(--fw-ink)}

/* ===== faq ===== */
.fw-sec--faq .fw-wrap{max-width:900px}
.fw-faq{border-top:2px solid var(--fw-ink)}
.fw-faq__item{border-bottom:2px solid var(--fw-ink);padding:22px 4px}
.fw-faq__item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;font:800 clamp(1.15rem,1rem + .6vw,1.4rem) var(--fw-font-h);letter-spacing:-.02em}.fw-faq__item summary::-webkit-details-marker{display:none}
.fw-faq__item summary i{flex-shrink:0;width:36px;height:36px;border:2px solid var(--fw-ink);border-radius:8px;display:grid;place-items:center;transition:.2s;font-style:normal;font-size:1.4rem;line-height:1;background:#fff}
.fw-faq__item[open] summary i{transform:rotate(45deg);background:var(--fw-yellow)}.fw-faq__item p{color:var(--fw-mut);margin-top:12px;max-width:66ch}

/* ===== cta, page hero, contact ===== */
.fw-ctawrap{padding-block:var(--fw-pad) clamp(40px,5vw,72px)}
.fw-cta{background:var(--fw-ink);color:#fff;border:2px solid var(--fw-ink);border-radius:18px;box-shadow:10px 10px 0 var(--fw-sky);padding:clamp(34px,5vw,68px);display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.fw-cta h2{color:#fff;font-size:clamp(2.3rem,1.4rem + 4vw,4.6rem);letter-spacing:-.045em;line-height:.98}.fw-cta p{color:#C9CFE6;margin-top:14px;font-size:1.12rem;max-width:40ch}.fw-cta__acts{display:flex;gap:14px;flex-wrap:wrap}
.fw-pagehero{background:var(--fw-cream);padding-block:clamp(32px,5vw,64px) clamp(44px,6vw,80px);border-bottom:2px solid var(--fw-ink)}
.fw-pagehero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,72px);align-items:center}
.fw-pagehero .fw-crumbs{margin-bottom:18px}.fw-pagehero .fw-lead{max-width:58ch;color:#3A4262}.fw-pagehero__acts{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.fw-pagehero__img{transform:rotate(1.8deg);--ar:4/3.1}
.fw-prose-sec .elementor-widget-container{max-width:820px;margin:0 auto;padding:var(--fw-pad) clamp(18px,4vw,32px) 0}
.fw-prose-sec{font-size:1.0625rem;line-height:1.78;color:#1D2542}.fw-prose-sec h2{font:800 clamp(1.55rem,1.2rem + 1.2vw,2.1rem) var(--fw-font-h);margin:2em 0 .6em;letter-spacing:-.025em}.fw-prose-sec h2:first-child{margin-top:0}.fw-prose-sec ul{padding-left:1.2em}.fw-prose-sec li{margin:.5em 0}.fw-prose-sec a{color:var(--fw-brand);text-decoration:underline}
.fw-contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:start}
.fw-crows{display:grid;gap:20px;margin-top:8px}.fw-crow{display:flex;gap:16px;align-items:flex-start}.fw-crow__ic{width:50px;height:50px;border:2px solid var(--fw-ink);border-radius:10px;background:var(--fw-yellow);display:grid;place-items:center;flex-shrink:0}
.fw-crow small{display:block;color:var(--fw-mut);font:700 .72rem var(--fw-font-b);text-transform:uppercase;letter-spacing:.12em}.fw-crow a:hover{color:var(--fw-brand)}
.fw-contact__form{background:#fff;border:2px solid var(--fw-ink);border-radius:14px;padding:clamp(22px,3vw,38px);box-shadow:8px 8px 0 var(--fw-ink)}
.fw-sec--booking{padding-block:clamp(36px,5vw,72px);background:var(--fw-cream)}

@media(max-width:1000px){.fw-trust__in{grid-auto-flow:row;grid-template-columns:1fr 1fr}.fw-trust__item{border-left:0;padding-left:0!important;border-top:2px dashed rgb(255 255 255/.2)}.fw-trust__item:nth-child(-n+2){border-top:0}.fw-index{grid-template-columns:1fr}.fw-index__photo{position:static;max-width:360px}}
@media(max-width:900px){.fw-hero__grid,.fw-areas,.fw-contact,.fw-meet__grid,.fw-pagehero__grid,.fw-price{grid-template-columns:1fr}.fw-hero__visual{max-width:520px;margin-inline:auto;width:100%}.fw-meet__media{max-width:560px}.fw-why,.fw-why--tech{grid-template-columns:1fr 1fr}.fw-why--tech .fw-why__tech{grid-column:span 2;grid-row:auto}.fw-steps{grid-template-columns:1fr}.fw-step::after{display:none}.fw-jobs{grid-template-columns:1fr 1fr}.fw-price>div{border-right:0;border-bottom:2px dashed var(--fw-ink)}}
@media(max-width:760px){.fw-ticket__body{grid-template-columns:1fr}.fw-ticket::before,.fw-ticket::after{display:none}}
@media(max-width:560px){.fw-jobs,.fw-why,.fw-why--tech{grid-template-columns:1fr}.fw-why--tech .fw-why__tech{grid-column:span 1}.fw-hero__visual{min-height:440px}.fw-sticker{width:104px;height:104px}.fw-sticker b{font-size:2rem}.fw-trust__item b{font-size:1.8rem}}

.fw .fw-hero__title,.fw .fw-h1,.fw .fw-h2,.fw .fw-index__t,.fw .fw-step h3,.fw .fw-cta h2,.fw .fw-faq__item summary,.fw .fw-price__amt,.fw .fw-svc h3{font-family:var(--fw-font-h)}

/* risograph-style duotone for heavily colour-graded photos */
.fw-snap--duo .fw-snap__img img{filter:grayscale(1) contrast(1.15) brightness(1.08)}
.fw-snap--duo .fw-snap__img::after{content:"";position:absolute;inset:0;background:#2438d9;mix-blend-mode:multiply;opacity:.92;pointer-events:none}
@media(prefers-reduced-motion:reduce){.fw-reveal{opacity:1!important;transform:none!important}}

.fw-price .fw-btn--cta{background:var(--fw-brand);color:#fff!important}
.fw-footer__call:only-child{margin-bottom:0}
@media(max-width:560px){.fw-hero__visual .fw-sticker{right:2px}.fw-index__photo{max-width:290px}.fw-label{font-size:.68rem;letter-spacing:.1em}.fw-index__list a{grid-template-columns:36px 1fr 40px}}

.fw-cta .fw-btn--cta,.fw-trust .fw-btn--cta{background:var(--fw-sky);color:var(--fw-ink)!important}
.fw-brands{background:var(--fw-sky)}
.fw-price>div{background:var(--fw-sky)}
.fw-ticket__top span:last-child{color:var(--fw-brand)}
.fw-hero{background:linear-gradient(180deg,var(--fw-sky-50),#fff 70%)}

.fw-hero{overflow:visible;overflow-x:clip}
.fw-ticket{z-index:5}

/* ===== CTA band: full width, brand blue, photo breaking out ===== */
.fw-label--light{color:var(--fw-sky)}.fw-label--light::before{background:var(--fw-sky);border-color:#fff}
.fw-ctaband{position:relative;background:var(--fw-brand);color:#fff;margin-top:clamp(36px,5vw,64px);padding-block:clamp(64px,8vw,116px) clamp(56px,7vw,96px)}
.fw-ctaband__in{display:grid;grid-template-columns:1fr;gap:clamp(28px,5vw,72px);align-items:center}
.fw-ctaband.has-photo .fw-ctaband__in{grid-template-columns:1.25fr .75fr}
.fw-ctaband h2{color:#fff;font-size:clamp(2.6rem,1.4rem + 5vw,5.6rem);letter-spacing:-.045em;line-height:.95;margin-top:16px}.fw-ctaband h2 a{color:#fff}
.fw .fw-ctaband__text{color:#DDF1FC;margin-top:18px;font-size:1.15rem;max-width:42ch}
.fw-ctaband__acts{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.fw-ctaband .fw-btn--primary{background:var(--fw-sky);border-color:var(--fw-ink);color:var(--fw-ink)!important}
.fw-ctaband__media{position:relative;z-index:2;transform:translateY(-84px) rotate(2.5deg);margin-bottom:-60px}
.fw-ctaband__media .fw-snap{--ar:4/3.3;box-shadow:8px 8px 0 var(--fw-ink)}
@media(max-width:900px){.fw-ctaband.has-photo .fw-ctaband__in{grid-template-columns:1fr}.fw-ctaband__media{transform:rotate(1.5deg);margin:12px auto 0;max-width:480px}}
.fw-ctaband h2{font-size:clamp(2.1rem,.9rem + 4.4vw,4.4rem)}.fw-ctaband h2 a{white-space:nowrap}
.fw-ctaband.has-photo .fw-ctaband__in{grid-template-columns:1.45fr .75fr}
/* tools hub + city ZIP chips */
.fw-toolcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.fw-toolcard{display:flex;flex-direction:column;gap:10px;padding:26px;background:#fff;border:2px solid var(--fw-ink);border-radius:var(--fw-r-lg);box-shadow:6px 6px 0 var(--fw-ink);text-decoration:none;color:var(--fw-ink);transition:transform .12s,box-shadow .12s}
.fw-toolcard:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--fw-ink)}
.fw-toolcard b{font:800 1.4rem/1.15 var(--fw-font-h);letter-spacing:-.02em}.fw-toolcard span{color:var(--fw-mut)}
.fw-toolcard em{font-style:normal;font-weight:700;color:var(--fw-brand);margin-top:auto}.fw-toolcard em::after{content:" →"}
.fw .fw-prose-sec p{margin:0 0 1.1em}.fw .fw-prose-sec p:last-child{margin-bottom:0}
.fw-prose-sec .elementor-widget-container{padding-bottom:clamp(36px,5vw,64px)}
.fw-marquee li a:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}

.fw-areas__note{margin-top:22px;color:var(--fw-mut)}.fw-areas__note a{color:var(--fw-brand);font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* reviews */
.fw-rsum{display:flex;gap:14px;flex-wrap:wrap}
.fw-rs{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #DCE6F2;border-radius:18px;padding:12px 20px 12px 16px;box-shadow:0 14px 30px -18px rgba(20,43,74,.4);text-decoration:none;color:var(--fw-ink);transition:transform .15s,box-shadow .15s}
.fw-rs:hover{transform:translateY(-2px);box-shadow:0 20px 34px -18px rgba(20,43,74,.5)}
.fw-rs b{font:800 2.3rem/1 var(--fw-font-h);letter-spacing:-.04em;color:var(--fw-brand)}
.fw-rs span{display:flex;flex-direction:column;gap:2px}.fw-rs .fw-stars{font-style:normal;letter-spacing:2px;color:var(--fw-brand);font-size:.95rem}.fw-rs small{font:600 .8rem var(--fw-font-b);color:var(--fw-mut)}
.fw-reviews{columns:3 310px;column-gap:20px;margin-top:8px}
.fw-review{position:relative;break-inside:avoid;background:#fff;border:1px solid #DCE6F2;border-radius:24px;padding:28px 26px 22px;margin:0 0 20px;box-shadow:0 18px 38px -24px rgba(20,43,74,.45);transition:transform .2s,box-shadow .2s;overflow:hidden}
.fw-review:hover{transform:translateY(-3px);box-shadow:0 26px 44px -24px rgba(20,43,74,.55)}
.fw-review__q{position:absolute;right:20px;top:-6px;font:800 7rem/1 Georgia,serif;color:var(--fw-sky-100);pointer-events:none;user-select:none}
.fw-review__stars{position:relative;color:var(--fw-brand);letter-spacing:3px;font-size:1.05rem;margin-bottom:14px}
.fw-review blockquote{position:relative;margin:0}.fw-review blockquote p{font-size:1.02rem;line-height:1.65;color:#1F3354;margin:0}
.fw-review footer{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:16px;border-top:1px dashed #D5E1EE}
.fw-review footer>div{min-width:0;flex:1}.fw-review footer strong{display:block;font:700 .95rem var(--fw-font-b);color:var(--fw-ink)}.fw-review footer small{display:block;color:var(--fw-mut);font-size:.78rem;line-height:1.3}
.fw-review__av{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font:800 .85rem var(--fw-font-b);letter-spacing:.02em}
.fw-review__av--0{background:var(--fw-sky-100);color:var(--fw-brand)}.fw-review__av--1{background:var(--fw-ink);color:#fff}.fw-review__av--2{background:var(--fw-brand);color:#fff}
.fw-review__src{display:inline-flex;align-items:center;gap:4px;flex:none;font:700 .74rem var(--fw-font-b);color:var(--fw-brand);background:var(--fw-sky-50);border:1px solid var(--fw-sky-100);border-radius:99px;padding:5px 10px;text-decoration:none}
.fw-review__src:hover{background:var(--fw-sky-100)}
@media(prefers-reduced-motion:reduce){.fw-review,.fw-rs{transition:none}}

/* review slider */
.fw-rslider{position:relative}
.fw-reviews--slider{display:flex;columns:auto;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 4px 22px;margin:0 -4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.fw-reviews--slider::-webkit-scrollbar{display:none}
.fw-reviews--slider .fw-review{flex:0 0 min(380px,86%);scroll-snap-align:start;margin:0;break-inside:auto}
.fw-reviews--slider:focus-visible{outline:3px solid var(--fw-brand);outline-offset:4px;border-radius:20px}
.fw-rslider__nav{display:flex;gap:10px;justify-content:center;margin-top:2px}
.fw-rslider__nav button{width:46px;height:46px;border-radius:50%;border:1px solid #CBDCEC;background:#fff;color:var(--fw-ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 18px -12px rgba(20,43,74,.5);transition:background .15s,color .15s,transform .15s}
.fw-rslider__nav button:hover{background:var(--fw-brand);color:#fff;border-color:var(--fw-brand);transform:translateY(-2px)}
.fw-rslider__nav svg{width:20px;height:20px}
@media(min-width:900px){.fw-rslider__nav{position:absolute;right:0;top:-78px;margin:0}}
