/* Additive motion and below-hero callback form; original hero styling stays intact. */
.hero-call-preview{padding-bottom:300px}
.hero-call-preview .hero-inner{position:relative;z-index:3}
.hero-call-btn svg{animation:callback-arrow 3.6s ease-in-out infinite;transition:transform .25s ease}
.hero-call-btn:hover svg,.hero-call-btn:focus-visible svg{animation:none;transform:translateX(6px)}
@keyframes callback-arrow{0%,45%,100%{transform:translateX(0)}60%,75%{transform:translateX(6px)}}
.callback-section{padding:64px 0;background:var(--bg-alt);border-bottom:1px solid var(--line);scroll-margin-top:84px}
.callback-card{width:100%;max-width:500px;margin:0 auto;color:var(--ink);background:#fffefb;border:1px solid rgba(255,255,255,.6);border-radius:24px;padding:32px;box-shadow:0 24px 70px rgba(0,22,36,.24)}
.callback-card h2{font-family:'Fraunces',Georgia,serif;font-size:2rem;font-weight:600;letter-spacing:-.035em;margin:0 0 8px;color:var(--navy)}
.callback-promise{color:var(--muted);font-size:.92rem;line-height:1.5;margin:0 0 25px;max-width:32ch}
.callback-fields{border:0;padding:0;margin:0;min-width:0}
.callback-field{display:block;margin:0 0 16px}
.callback-field label{display:block;font-size:.8rem;font-weight:650;color:var(--navy);margin:0 0 7px}
.callback-field input{width:100%;font:inherit;font-size:.96rem;color:var(--ink);height:46px;padding:0 13px;background:#fff;border:1px solid #cfdae0;border-radius:9px;transition:border-color .2s,box-shadow .2s}
.callback-field input:focus-visible{outline:2px solid #0891b2;outline-offset:2px;border-color:#0891b2}
.callback-field input[aria-invalid="true"]{border-color:#b83a33;background:#fff9f8}
.callback-submit{appearance:none;border:0;border-radius:999px;cursor:pointer;width:100%;min-height:50px;padding:14px 17px;background:var(--sun);color:#2e1a00;font:650 .98rem 'Inter',system-ui,sans-serif;display:flex;align-items:center;justify-content:space-between;gap:18px;transition:background .2s,box-shadow .2s}
.callback-submit:hover{background:#ffc656;box-shadow:0 10px 30px rgba(245,181,68,.2)}
.callback-submit:focus-visible{outline:3px solid var(--aqua-deep);outline-offset:4px}
.callback-submit svg{width:23px;height:23px;flex-shrink:0;transition:transform .25s ease}
.callback-submit:hover svg,.callback-submit:focus-visible svg{transform:translateX(4px)}
.callback-submit:disabled{cursor:default;opacity:.7}
.callback-consent{font-size:.71rem;line-height:1.5;color:var(--muted);margin:14px 0 0}
.callback-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.callback-msg{font-size:.85rem;line-height:1.5;margin:16px 0 0;color:#8a1c1c}
.callback-msg:empty{display:none}
.callback-confirmation[hidden]{display:none}
.callback-confirmation{padding:12px 0}
.callback-confirmation .receipt-icon{width:44px;height:44px;border-radius:50%;background:#e3f7ef;color:#15764e;display:grid;place-items:center;margin-bottom:20px;font-size:1.4rem}
.callback-confirmation p{font-size:1rem;color:var(--muted);line-height:1.6;margin:0}
.callback-confirmation:focus{outline:none}
/* Cyclic SVG stacks crossfade, so no visible layer is abruptly reordered. */
.callback-waves{position:absolute;bottom:0;left:-2%;width:104%;height:110px;z-index:2;pointer-events:none}
.callback-wave{animation:callback-tide ease-in-out infinite alternate;transform-origin:center}
.callback-wave-1{animation-duration:1.07143s;animation-delay:-1.5s}
.callback-wave-2{animation-duration:1.42857s;animation-delay:-5s;animation-direction:alternate-reverse}
.callback-wave-3{animation-duration:1.28571s;animation-delay:-.3s}
@keyframes callback-tide{from{transform:translate(-64px,4px)}to{transform:translate(64px,-4px)}}
.wave-depth-stack{opacity:0;animation:wave-depth-crossfade 18s ease-in-out infinite}
.wave-depth-stack-1{opacity:1}
.wave-depth-stack-2{animation-delay:-12s}
.wave-depth-stack-3{animation-delay:-6s}
@keyframes wave-depth-crossfade{0%,25%{opacity:1}33.333333%,91.666667%{opacity:0}100%{opacity:1}}
/* The clipped stage sits behind the waves, with space reserved below the hero copy. */
.wave-review-stage{position:absolute;inset:auto 0 0;height:252px;z-index:1;overflow:hidden;pointer-events:none}
.wave-review{position:absolute;left:0;right:0;bottom:92px;width:min(460px,calc(100% - 48px));margin:0 auto;padding:18px 22px;border:1px solid rgba(255,255,255,.7);border-radius:22px;background:#fffefb;color:var(--navy);box-shadow:0 12px 34px rgba(0,22,36,.19);opacity:0;transform:translateY(180px);animation:wave-review-emerge 144s ease-in-out calc(var(--review-index)*12s) infinite both}
.wave-review blockquote{font:500 1rem/1.5 'Inter',system-ui,sans-serif;margin:0 0 9px;letter-spacing:0}
.wave-review figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font:600 .76rem/1.4 'Inter',system-ui,sans-serif;color:var(--muted)}
.wave-review-stars{color:#98640b;letter-spacing:.08em}
@keyframes wave-review-emerge{0%,8.333333%,100%{opacity:0;transform:translateY(180px)}0.9%,6.5%{opacity:1;transform:translateY(0)}}
.customer-proof .proof-review{animation:none}
.customer-proof .proof-review blockquote{white-space:pre-line}
.customer-proof .proof-review-list{display:grid;gap:16px}
.customer-proof .proof-review-list .proof-review{margin:0}
.customer-proof .proof-review-list figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.customer-proof .proof-review-list .proof-stars{color:#98640b}
.motion-toggle{position:absolute;top:12px;right:24px;z-index:4;padding:6px 10px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(7,42,64,.55);color:#fff;font:500 .72rem 'Inter',system-ui,sans-serif;cursor:pointer}
.motion-toggle[hidden]{display:none}
.motion-toggle:hover{background:rgba(7,42,64,.8)}
.motion-toggle:focus-visible{outline:2px solid #fff;outline-offset:3px}
body:not(.motion-controls-ready) *,body:not(.motion-controls-ready) *::before,body:not(.motion-controls-ready) *::after,
.decorative-motion-paused *,.decorative-motion-paused *::before,.decorative-motion-paused *::after{animation-play-state:paused!important}
.decorative-motion-paused .hero-call-btn:hover,.decorative-motion-paused .hero-call-btn:focus-visible,
.decorative-motion-paused .hero-call-btn:hover svg,.decorative-motion-paused .hero-call-btn:focus-visible svg,
.decorative-motion-paused .callback-submit:hover svg,.decorative-motion-paused .callback-submit:focus-visible svg{transform:none}
.motion-ready .reveal:not(.in){opacity:0;transform:translateY(14px)}
.motion-ready .reveal.in{opacity:1;transform:none}
.reveal{transition:opacity .6s ease,transform .6s ease}
.callback-nojs{margin:18px 0 0;font-size:.85rem;line-height:1.5;color:var(--muted)}
.callback-nojs a{color:var(--navy);text-decoration:underline;font-weight:650}

@media(max-width:720px){
 .hero-call-preview{padding-bottom:288px}
 .callback-section{padding:44px 0;scroll-margin-top:72px}
 .callback-card{padding:25px;border-radius:var(--radius-lg)}
 .callback-card h2{font-size:1.8rem}
 .callback-field input{font-size:16px}
 .callback-waves{height:72px}
 .wave-review-stage{height:256px}
 .wave-review{bottom:66px;padding:16px 18px;width:calc(100% - 40px)}
 .wave-review blockquote{font-size:.92rem;line-height:1.5}
 .wave-review figcaption{font-size:.71rem;gap:7px}
 .motion-toggle{right:16px;font-size:.69rem}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .wave-review-stage{display:none}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .reveal,.motion-ready .reveal:not(.in){opacity:1;transform:none}
 .hero-call-btn:hover,.hero-call-btn:focus-visible,
 .hero-call-btn:hover svg,.hero-call-btn:focus-visible svg,
 .callback-submit:hover svg,.callback-submit:focus-visible svg{transform:none}
}

/* Compact lower testimonial carousel; the hero wave styles above are unchanged. */
.customer-proof .proof-layout{display:block}
.customer-proof .proof-media{display:grid;grid-template-columns:220px minmax(0,1fr) auto;align-items:center;gap:24px;margin-bottom:28px}
.customer-proof .proof-media video{max-width:220px}
.customer-proof .proof-media .proof-note{margin:0;max-width:55ch}
.customer-proof .proof-media .proof-cta{margin:0;white-space:nowrap}
.customer-proof .review-carousel-ready .proof-review-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;opacity:1;transition:opacity .35s ease}
.customer-proof .review-carousel-ready .proof-review-list.is-fading{opacity:0}
.customer-proof .review-carousel-ready .proof-review{height:285px;min-width:0;display:flex;flex-direction:column;padding:22px}
.customer-proof .proof-review[hidden]{display:none!important}
.customer-proof .review-carousel-ready .proof-review blockquote{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;overflow:hidden;min-height:0;margin-bottom:14px;font-size:1rem;line-height:1.5}
.customer-proof .review-carousel-ready .proof-review figcaption{margin-top:auto;font-size:.8rem}
.customer-proof .review-read-full{align-self:flex-start;margin-top:12px;padding:7px 0;min-height:36px;background:none;border:0;color:var(--navy);font:650 .84rem 'Inter',system-ui,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.customer-proof .review-carousel-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin-top:18px}
.customer-proof .review-carousel-controls button,.customer-proof .review-dialog-close{min-height:44px;padding:10px 15px;border:1px solid #c6dce5;border-radius:999px;background:white;color:var(--navy);font:600 .82rem 'Inter',system-ui,sans-serif;cursor:pointer}
.customer-proof .review-carousel-controls button:disabled{cursor:default;color:var(--muted)}
.customer-proof .review-carousel-controls [hidden],.customer-proof .review-read-full[hidden]{display:none}
.customer-proof .review-carousel-status{font-size:.8rem;color:var(--muted);margin:0 6px}
.customer-proof button:focus-visible{outline:3px solid var(--aqua-deep);outline-offset:3px}
.customer-proof .proof-review-dialog{width:min(600px,calc(100% - 32px));max-height:80vh;overflow:auto;border:1px solid var(--line);border-radius:22px;padding:28px;color:var(--ink);background:#fffefb;box-shadow:var(--shadow-lg)}
.customer-proof .proof-review-dialog::backdrop{background:rgba(6,30,46,.6)}
.customer-proof .proof-review-dialog h3{font-size:1.25rem;padding-right:24px}
.customer-proof .proof-review-dialog p{white-space:pre-line;font-size:1rem;line-height:1.65;margin:20px 0}
.decorative-motion-paused .customer-proof .proof-review-list{transition:none}
@media(max-width:999px){
 .customer-proof .review-carousel-ready .proof-review-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .customer-proof .proof-media{grid-template-columns:180px minmax(0,1fr);gap:18px}
 .customer-proof .proof-media video{max-width:180px;grid-row:span 2}
 .customer-proof .proof-media .proof-cta{justify-self:start}
}
@media(max-width:639px){
 .customer-proof .review-carousel-ready .proof-review-list{grid-template-columns:minmax(0,1fr)}
 .customer-proof .proof-media{grid-template-columns:minmax(0,1fr);gap:14px}
 .customer-proof .proof-media video{width:100%;max-width:260px;grid-row:auto}
 .customer-proof .review-carousel-controls{gap:8px}
 .customer-proof .review-carousel-status{order:4;flex-basis:100%;text-align:center}
 .customer-proof .proof-review-dialog{padding:24px}
}
@media(prefers-reduced-motion:reduce){.customer-proof .proof-review-list{transition:none!important}}
