/* Tidewell supporting sections: structured service choices, fictional proof,
   a practical gallery and a protected demo booking form. */
.services{padding:clamp(82px,10vw,148px) var(--gutter);background:var(--yellow)}
.services header{display:grid;grid-template-columns:minmax(170px,.55fr) minmax(0,1.45fr);gap:clamp(28px,7vw,116px);align-items:start}.services header .eyebrow{color:var(--blue-dark)}.services header h2{max-width:720px;margin:0;font-size:clamp(40px,4.8vw,70px);font-weight:700;letter-spacing:-.055em;line-height:1.02}.services header div>p{max-width:510px;margin:20px 0 0;color:#4c4a35;font-size:17px}
.service-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:clamp(46px,6vw,80px)}.service-card{display:grid;grid-template-columns:minmax(150px,.77fr) 1fr;min-height:250px;overflow:hidden;border-radius:14px;background:#fff;box-shadow:0 12px 25px rgba(77,61,14,.12)}.service-card figure{margin:0;min-height:100%}.service-card:nth-child(2) figure img{object-position:65% center}.service-card:nth-child(3) figure img{object-position:40% center}.service-card>div{display:flex;flex-direction:column;padding:25px 25px 22px}.service-number{margin:0;color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.service-card h3{margin:34px 0 10px;font-size:clamp(25px,2.35vw,35px);font-weight:700;letter-spacing:-.05em;line-height:1.02}.service-card p:not(.service-number){margin:0;color:var(--muted);font-size:14px}.service-card a{display:flex;justify-content:space-between;gap:14px;margin-top:auto;padding-top:19px;border-top:1px solid #d7e2e2;color:var(--blue-dark);font-size:13px;font-weight:700}.service-card a span{font-size:18px}
.reviews{padding:clamp(82px,11vw,160px) var(--gutter);background:var(--blue-dark);color:#fff}.reviews header{max-width:735px}.reviews .eyebrow{color:var(--yellow)}.reviews h2{margin:0;font-size:clamp(38px,4.7vw,68px);font-weight:650;letter-spacing:-.055em;line-height:1.04}.review-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1120px;margin:clamp(46px,6vw,75px) 0 0}.review-card{min-height:278px;padding:27px;background:#fff;color:var(--ink);border-radius:12px;box-shadow:0 14px 28px rgba(0,0,0,.14)}.review-card__top{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center}.review-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#d8e9ec;color:var(--blue-dark);font-weight:700}.review-card__top strong,.review-card__top small{display:block}.review-card__top strong{font-size:14px}.review-card__top small,.review-google,.review-disclosure{font-size:10px;color:var(--muted)}.review-google{font-weight:700}.review-card .stars{margin:25px 0 13px;color:#e0a300;letter-spacing:.14em;font-size:17px}.review-card>p:not(.stars){margin:0;max-width:460px;font-size:18px;line-height:1.35}.review-disclosure{display:block;margin-top:25px;line-height:1.35}
.project-gallery{padding:clamp(82px,11vw,160px) var(--gutter);background:#fff}.project-gallery header{display:grid;grid-template-columns:minmax(190px,.6fr) minmax(0,1.4fr);gap:clamp(28px,7vw,120px);align-items:end}.project-gallery h2{max-width:620px;margin:0;font-size:clamp(40px,4.8vw,68px);font-weight:650;letter-spacing:-.055em;line-height:1.04}.project-gallery header>p:last-child{grid-column:2;max-width:390px;margin:18px 0 0;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:clamp(44px,6vw,78px)}.gallery-grid figure{min-height:210px;margin:0;position:relative;overflow:hidden;background:#dce8e9}.gallery-grid .gallery-large{grid-column:span 3;min-height:clamp(330px,36vw,540px)}.gallery-grid figure:not(.gallery-large){grid-column:span 2}.gallery-grid figure:nth-child(3) img{object-position:65% center}.gallery-grid figure:nth-child(4) img{object-position:center 70%}.gallery-grid figure:nth-child(5) img{object-position:25% center}.gallery-grid figcaption{position:absolute;right:0;bottom:0;max-width:80%;padding:9px 11px;background:#fff;color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.booking-backdrop{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(86px,11vw,155px);background:var(--blue-dark) url('../assets/tidewell-contact.webp') center/cover no-repeat}.booking-backdrop::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(4,41,54,.94),rgba(4,41,54,.76))}.booking-backdrop__copy{max-width:515px}.booking-backdrop .contact-form{background:#fff;color:var(--ink);border-radius:12px;box-shadow:0 18px 45px rgba(0,0,0,.26)}.booking-backdrop .contact-form [data-form-status]{color:var(--muted)}.booking-backdrop .contact-form details{border-color:#d7e2e2}.booking-backdrop .eyebrow{color:var(--yellow)}.booking-backdrop>div>p:last-child{color:#e3eeee}
@media(max-width:760px){.services header,.project-gallery header{grid-template-columns:1fr;gap:18px}.service-card-grid,.review-card-grid{grid-template-columns:1fr}.service-card{grid-template-columns:minmax(125px,.7fr) 1fr;min-height:215px}.service-card>div{padding:20px}.service-card h3{margin-top:25px}.project-gallery header>p:last-child{grid-column:auto;margin-top:0}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}.gallery-grid .gallery-large{grid-column:span 2;min-height:310px}.gallery-grid figure:not(.gallery-large){grid-column:span 1;min-height:170px}.booking-backdrop{background-position:55% center}.booking-backdrop::before{background:rgba(4,41,54,.86)}.booking-backdrop .contact-form{padding:22px}.review-card{min-height:0}}
.service-card{transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 35px #4d3d1424}.service-card img,.gallery-grid img{transition:filter .5s,transform .5s}.service-card:hover img,.gallery-grid figure:hover img{filter:brightness(.9)}
@media(max-width:420px){.service-card{grid-template-columns:1fr}.service-card figure{height:200px}.service-card>div{min-height:230px}.service-card h3{margin-top:18px}}
#book,#services,#about,#areas,#faq{scroll-margin-top:125px}
/* FixUp lower-page treatment. */
.reviews{position:relative;overflow:hidden;background-color:#1476ed;background-image:linear-gradient(90deg,transparent 0 18%,rgba(255,255,255,.09) 18.1% 18.55%,transparent 18.65% 49%,rgba(255,255,255,.08) 49.1% 49.55%,transparent 49.65% 78%,rgba(255,255,255,.09) 78.1% 78.55%,transparent 78.65%),linear-gradient(0deg,transparent 0 31%,rgba(255,255,255,.08) 31.1% 31.5%,transparent 31.6% 67%,rgba(255,255,255,.08) 67.1% 67.5%,transparent 67.6%),radial-gradient(circle at 18.3% 31.3%,transparent 0 24px,rgba(255,255,255,.12) 25px 27px,transparent 28px),radial-gradient(circle at 49.3% 67.3%,transparent 0 24px,rgba(255,255,255,.11) 25px 27px,transparent 28px);background-size:260px 260px,260px 260px,260px 260px,260px 260px}.reviews header,.project-gallery header{display:block;max-width:790px;margin:0 auto;text-align:center}.reviews h2,.project-gallery h2{margin-inline:auto}.reviews .eyebrow{color:#fff}.review-card-grid{margin-inline:auto}.project-gallery header>p:last-child{max-width:430px;margin:18px auto 0}.service-card{box-shadow:0 12px 26px rgba(94,73,10,.13)}.service-card a{color:var(--blue-dark)}
/* Reference-led service introduction: eyebrow and title share one left edge. */
.services header{display:block;max-width:760px}.services header .eyebrow{margin-bottom:24px}.services header h2{max-width:760px;font-size:clamp(38px,4.5vw,64px);letter-spacing:-.045em}.services header div>p{max-width:560px}.service-card h3{font-size:clamp(23px,2.1vw,30px);letter-spacing:-.035em}.gallery-grid figure{border-radius:14px}
/* One blue and a barely visible flowing motif across the blue sections. */
:root{--blue:#187ffa;--tidewell-flow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1400' height='1000' viewBox='0 0 1400 1000'%3E%3Cpath d='M-140-220C-30 30-110 430 250 455S1120 235 1220 625 1080 1120 825 1040 900 705 510 740 80 915 70 1120' fill='none' stroke='white' stroke-opacity='.028' stroke-width='64' stroke-linecap='round'/%3E%3C/svg%3E")}
.site-header{background-color:var(--blue);background-image:none;border-bottom-color:transparent}
.hero{background-color:var(--blue)}.hero::before{background-image:var(--tidewell-flow);background-size:1400px 1000px;background-position:left -220px;background-repeat:no-repeat}
.reviews{background-color:var(--blue);background-image:var(--tidewell-flow);background-size:cover;background-position:center;background-repeat:no-repeat}
.review-strip{background-color:var(--blue)}
@media(max-width:760px){.hero::before{background-size:850px 1000px;background-position:-120px -90px}.reviews{background-size:auto 100%;background-position:center}}
/* Sampled from supplied reference, converted from its monitor profile to sRGB. */
:root{--blue:#1881ff;--tidewell-flow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1100' height='1050' viewBox='0 0 1100 1050'%3E%3Cpath d='M-130 0C-60 170-20 340 220 365S810 265 945 480 1020 920 850 1020 655 930 650 790 520 650 365 690 80 745-40 900' fill='none' stroke='%232b87fe' stroke-width='65' stroke-linecap='round'/%3E%3C/svg%3E")}
.site-header,.hero,.reviews,.review-strip{background-color:var(--blue)}
.hero::before{background-image:var(--tidewell-flow);background-size:1100px 1050px;background-position:left -95px;background-repeat:no-repeat}
.reviews{background-image:var(--tidewell-flow);background-size:cover;background-position:center;background-repeat:no-repeat}
@media(max-width:760px){.hero::before{background-size:760px 1000px;background-position:-90px -40px}}

/* Refero lock: Slingshot's tinted visual panels; WalletConnect's lightweight
   graphic surfaces. Existing Tidewell palette and type remain authoritative. */
.benefits.visit-journey{display:block;background:#fff;padding-block:clamp(64px,8vw,120px)}
.visit-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}
.visit-heading h2{max-width:630px;font-size:clamp(38px,4.7vw,68px);line-height:1.03;letter-spacing:-.055em}
.visit-heading>p{max-width:330px;font-size:17px;line-height:1.65;color:var(--muted);margin:0 0 4px}
.benefits .visit-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;border:0}
.benefits .visit-steps>li{display:block;padding:0;border:0;min-width:0}
.visit-visual{height:232px;border-radius:20px;background:#edf4ff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px;overflow:hidden}
.visit-calendar{width:100%;max-width:265px;background:#fff;border:1px solid #d4e3f6;border-radius:12px;transform:rotate(-4deg);box-shadow:0 8px 22px #12396109;transition:transform .4s}
.visit-calendar>span{display:block;border-bottom:1px solid #e1eaf6;padding:12px 16px;font-size:12px;font-weight:700;color:#38618c}
.visit-calendar>div{display:flex;align-items:center;gap:16px;padding:16px}
.visit-calendar b{display:grid;place-items:center;background:var(--yellow);border-radius:9px;width:47px;height:47px;font-size:17px}
.visit-calendar i{font-style:normal;font-size:11px;line-height:1.8;color:var(--muted)}.visit-calendar strong{font-size:12px;color:var(--ink)}
.visit-calendar em{display:block;padding:0 16px 15px;font-size:11px;font-style:normal;color:#285b80}
.visit-visual--options{background:#e9f2ff;gap:12px;align-items:flex-start}
.visit-note{background:#fff;border:1px solid #d4e3f6;border-radius:13px 13px 13px 3px;padding:17px 19px;font-size:15px;font-weight:650;transform:translateX(0);transition:transform .4s}
.visit-note span{display:block;font-size:12px;font-weight:400;margin-top:5px;color:var(--muted)}
.visit-reply{align-self:flex-end;background:var(--blue);color:white;padding:14px 18px;border-radius:13px 13px 3px 13px;font-size:12px;transition:transform .4s}.visit-reply b{margin-left:14px}
.visit-visual--finish{background:#f1f5f9}.visit-check{display:flex;align-items:center;gap:18px}.visit-check svg{width:72px;flex-shrink:0;stroke:var(--blue);stroke-width:2}.visit-check svg path{stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.visit-check span{font-size:13px;line-height:1.8}.visit-check strong{font-size:12px}
.visit-step-copy{padding:27px 4px 0}.benefits .visit-number{display:block;color:#2465a8;font-size:10px;letter-spacing:.1em;font-weight:750;margin-bottom:13px}
.benefits .visit-steps h3{font-size:clamp(23px,2.1vw,30px);line-height:1.14;letter-spacing:-.04em;max-width:290px}.benefits .visit-steps p{font-size:16px;line-height:1.65;margin:14px 0 0;color:var(--muted);max-width:340px}
.visit-next{display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid #dce6ef;padding-top:28px;margin-top:42px}.visit-next p{font-size:18px;font-weight:600;margin:0}.visit-next .button{border-radius:8px}.visit-next .button span{transition:transform .25s}.visit-next .button:hover span{transform:translate(3px,-3px)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){html:not([data-motion=reduced]) .visit-steps li:hover .visit-calendar{transform:rotate(0) translateY(-4px)}html:not([data-motion=reduced]) .visit-steps li:hover .visit-note{transform:translateX(4px)}html:not([data-motion=reduced]) .visit-steps li:hover .visit-reply{transform:translateX(-4px)}}
@media(max-width:760px){.visit-heading{display:block;margin-bottom:30px}.visit-heading>p{margin-top:22px;max-width:430px}.benefits .visit-steps{grid-template-columns:1fr;gap:36px}.visit-visual{height:220px}.visit-step-copy{padding-top:20px}.benefits .visit-steps h3,.benefits .visit-steps p{max-width:none}.visit-next{align-items:flex-start;flex-direction:column}.visit-next .button{width:100%}}
.visit-journey{scroll-margin-top:145px}
@media(max-width:760px){.visit-journey{scroll-margin-top:120px}}

.coverage-section{grid-template-columns:1fr 1.4fr;gap:45px;background:#eef4fa}.coverage-section header>p:not(.eyebrow){max-width:440px;color:var(--muted);font-size:17px;line-height:1.65;margin:24px 0}.coverage-section h2{font-size:clamp(38px,4vw,62px)}.coverage-map{overflow:hidden;border-radius:16px;background:#dbe7ed;min-width:0}.coverage-map iframe{width:100%;height:440px;border:0;display:block}.coverage-map>a{display:block;background:#fff;padding:14px 20px;font-size:12px;font-weight:650}.coverage-places{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-top:30px;border-top:1px solid #c7d7e2}.coverage-places p{font-size:14px;line-height:1.9;margin:0;color:var(--muted)}.coverage-places strong{display:block;color:var(--ink);font-size:16px;margin-bottom:10px}
.booking-backdrop{background-image:url('../assets/tidewell-contact-people.webp');background-position:30% center;grid-template-columns:1.15fr 1fr;gap:7vw;min-height:850px}.booking-backdrop::before{background:linear-gradient(90deg,rgba(5,24,30,.64) 0%,rgba(5,24,30,.34) 46%,rgba(5,24,30,.20) 100%)}.booking-backdrop__copy{max-width:490px;text-shadow:0 2px 12px #0005}.booking-backdrop__copy>p:not(.eyebrow){color:#fff;font-size:18px;line-height:1.65}.contact-person{display:flex;align-items:center;gap:14px;margin-top:35px;color:white;font-size:12px;line-height:1.7}.contact-person img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid #ffffffa0}.contact-person strong{display:block;font-size:14px}.booking-backdrop .contact-form{padding:30px}.booking-backdrop{scroll-margin-top:120px}
@media(max-width:760px){.coverage-section{grid-template-columns:1fr}.coverage-places{grid-template-columns:1fr;gap:22px}.coverage-map iframe{height:330px}.booking-backdrop{grid-template-columns:1fr;gap:42px;background-position:30% top;background-size:auto 650px;background-color:#102c36;background-repeat:no-repeat}.booking-backdrop::before{background:linear-gradient(180deg,#071e2866 0,#071e2888 480px,#102c36 680px)}.booking-backdrop__copy{min-height:350px}.booking-backdrop .contact-form{padding:24px}}

.coverage-map-image{position:relative;height:480px;overflow:hidden;background:#fff}.coverage-map-image img{position:absolute;width:153%;max-width:none;height:auto;left:-6.5%;top:-6%;object-fit:initial}.coverage-map .map-source{font-size:10px;padding-top:0;color:#536575}@media(max-width:760px){.coverage-map-image{height:auto;aspect-ratio:1.03}}

/* Final Tidewell polish: photo-led illustrative review cards, restrained media response. */
.reviews{padding-block:clamp(96px,12vw,174px)}
.reviews header{max-width:740px}
.reviews-label,.review-card__meta{margin:0;color:#dcecff;font-size:11px;font-weight:750;letter-spacing:.095em;text-transform:uppercase}
.reviews h2{max-width:650px;margin-top:18px;font-size:clamp(42px,5vw,70px);line-height:1.01;letter-spacing:-.04em}
.reviews-intro{max-width:500px;margin:20px auto 0;color:#e6f0ff;font-size:15px;line-height:1.6}
.review-card-grid{max-width:1190px;gap:26px;margin-top:clamp(48px,6.5vw,82px)}
.review-card{display:grid;grid-template-columns:minmax(170px,.8fr) 1fr;min-height:310px;padding:0;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 18px 38px rgba(5,53,107,.22)}
.review-card__image{min-height:100%;margin:0;overflow:hidden;background:#bddcff}
.review-card__image img{object-position:27% center;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.review-card__image--second img{object-position:72% center}
.review-card__body{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(24px,3vw,36px)}
.review-card__meta{color:#37689e}
.review-card .stars{margin:clamp(26px,3vw,42px) 0 15px;color:#bd7900;font-size:17px;letter-spacing:.12em}
.review-card blockquote{max-width:345px;margin:0;color:var(--ink);font-size:clamp(19px,1.75vw,24px);font-weight:600;letter-spacing:-.025em;line-height:1.27}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.review-card:hover .review-card__image img{transform:scale(1.045)}.service-card:hover img,.gallery-grid figure:hover img{filter:brightness(.94);transform:scale(1.025)}}
@media(max-width:760px){.reviews{padding-block:78px}.reviews h2{font-size:clamp(39px,11vw,54px)}.reviews-intro{font-size:14px}.review-card-grid{gap:18px}.review-card{grid-template-columns:125px 1fr;min-height:238px}.review-card__body{padding:22px 20px}.review-card .stars{margin:23px 0 12px;font-size:15px}.review-card blockquote{font-size:18px}.review-card__image img{object-position:30% center}.review-card__image--second img{object-position:69% center}}
@media(max-width:420px){.review-card{grid-template-columns:1fr}.review-card__image{height:188px}.review-card__body{min-height:212px}}
@media(prefers-reduced-motion:reduce){.review-card__image img,.service-card img,.gallery-grid img{transform:none!important;transition:none!important}}
/* Two distinct generated homeowner portraits; each occupies one source half. */
.review-card__image{position:relative;overflow:hidden}
.review-card__image img{position:absolute;inset:0 auto 0 0;width:200%;max-width:none;height:100%;object-fit:cover;object-position:center;transform:none!important}
.review-card__image--second img{left:-100%}
@media(max-width:760px){.review-card__image img{object-position:center top}.review-card__image{min-height:235px}}

/* Supplied Google map: retain the complete geography and attribution. */
.coverage-map-image{height:auto;aspect-ratio:2494/1554;background:#c9e2df}.coverage-map-image img{position:static;display:block;width:100%;max-width:100%;height:auto;object-fit:contain}
