/* CSM depth and motion. The underlying document remains visible without JS. */
:root{--royal:#4172ad;--logo-cyan:#29a8df}
.hero{background:radial-gradient(ellipse at 87% 35%,#64a6e227,transparent 52%),linear-gradient(165deg,#fff 40%,#f3f8fd 100%)}
.hero h1 span{background:linear-gradient(115deg,#25456e 8%,#325b89 42%,#167ca7 100%);background-clip:text;-webkit-background-clip:text;color:transparent}
.button:not(.light){background:linear-gradient(115deg,#25456e,#325b89 55%,#4172ad);border-color:transparent;box-shadow:0 6px 18px #25456e18;transition:transform .25s,box-shadow .25s,background .25s}
.button:not(.light):hover{transform:translateY(-2px);box-shadow:0 10px 24px #25456e2b}
.button span,.text-link span{transition:transform .25s}.button:hover span,.text-link:hover span{transform:translate(3px,-2px)}
.product-scene{position:relative;isolation:isolate;padding-bottom:12px}
.dashboard{position:relative;z-index:1;box-shadow:0 28px 65px #25456e20,0 4px 12px #325b890b;transition:transform .5s ease;transform:perspective(1300px) rotateY(var(--tilt-x,0deg)) rotateX(var(--tilt-y,0deg))}
.product-scene::before,.product-scene::after{content:'';position:absolute;pointer-events:none;border-radius:22px;z-index:-1;inset:68px 5px 59px;background:linear-gradient(135deg,#64a6e24d,#4172ad14);border:1px solid #64a6e22b;transform:rotate(-4deg)}
.product-scene::after{inset:74px 10px 57px;transform:rotate(3deg);background:linear-gradient(155deg,#ffffffb3,#64a6e247)}
.dash-top{background:linear-gradient(110deg,#fff,#f0f7fd)}
.chart i{background:linear-gradient(0deg,#325b89,#4172ad);transform-origin:bottom;animation:chart-rise 1s cubic-bezier(.2,.7,.2,1) both;animation-delay:.35s}
.chart>div:nth-child(2) i{animation-delay:.45s}.chart>div:nth-child(3) i{animation-delay:.55s}.chart>div:last-child i{background:linear-gradient(0deg,#4172ad,#29a8df);animation-delay:.65s}
.delivery-note{position:relative;z-index:2;background:white;border:1px solid #dbe4ee;border-radius:12px;padding:14px 18px;margin: -7px 13px 0 38px;box-shadow:0 12px 28px #25456e14;animation:note-arrive .85s .4s both}
.service-strip{background:linear-gradient(95deg,#f3f7fb,#eaf3fb,#f3f7fb)}
.fit-section{background:radial-gradient(ellipse at 2% 85%,#64a6e220,transparent 55%),linear-gradient(120deg,#f3f7fb,#edf4fc 70%,#f8fbff)}
.step-number{border-top:0;position:relative;padding-top:19px}.step-number::before{content:'';position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#325b89,#64a6e2 72%,#64a6e210)}
.included{background:radial-gradient(ellipse at 95% 0%,#4172ad75,transparent 58%),linear-gradient(120deg,#10223a,#25456e);position:relative}
.included::before{content:'';position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,#64a6e2,transparent)}
.booking{background:radial-gradient(ellipse at 85% 80%,#64a6e22b,transparent 57%),linear-gradient(125deg,#f3f7fb,#edf4fc)}
.booking-placeholder{box-shadow:0 20px 45px #25456e0c;border-top:3px solid #4172ad}
.reveal-enter{animation:section-arrive .75s cubic-bezier(.2,.65,.3,1) both;animation-delay:var(--reveal-delay,0ms)}
.hero-copy{animation:section-arrive .85s cubic-bezier(.2,.65,.3,1) both}
@keyframes section-arrive{from{opacity:.3;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes chart-rise{from{transform:scaleY(.08)}to{transform:scaleY(1)}}
@keyframes note-arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.dashboard{transform:none}.product-scene::before{transform:rotate(-2deg)}.product-scene::after{transform:rotate(1.5deg)}}
@media(max-width:600px){.delivery-note{margin: -2px 8px 0 13px;padding:12px;gap:9px}.delivery-note strong{font-size:14px}.product-scene::before,.product-scene::after{inset-inline:7px}.hero{background:radial-gradient(ellipse at 100% 74%,#64a6e226,transparent 55%),linear-gradient(#fff,#f7faff)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.dashboard,.button:hover{transform:none!important}}
/* One-time, viewport-triggered search-to-enquiry choreography. */
.hero-copy,.chart i,.delivery-note,.reveal-enter{animation:none}
.search-story{position:relative;z-index:3;display:flex;align-items:center;gap:14px;padding:15px 18px;margin:0 24px 18px 0;border:1px solid #dbe4ee;background:#fff;border-radius:12px;box-shadow:0 12px 32px #25456e14}
.search-story small{display:block;font-size:10px;letter-spacing:.12em;color:#325b89;margin-bottom:3px}.search-story strong{display:block;font-size:14px;line-height:1.5}.search-symbol{font-size:29px;line-height:1;color:#325b89}.search-check{margin-left:auto;color:#325b89;background:#edf4fc;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;flex-shrink:0}
.product-scene::before{inset-block-start:142px;transition:transform 1.4s cubic-bezier(.16,1,.3,1)}.product-scene::after{inset-block-start:150px;transition:transform 1.4s cubic-bezier(.16,1,.3,1)}
.product-scene.journey-playing::before{transform:rotate(-5deg) translateY(8px)}.product-scene.journey-playing::after{transform:rotate(4deg) translateY(5px)}
.motion-replay{display:block;margin:14px 16px 0 auto;min-height:44px;background:transparent;border:0;padding:8px 4px;font:inherit;font-size:12px;color:#325b89;cursor:pointer}.motion-replay:hover{color:#10223a}.motion-replay:disabled{opacity:.5;cursor:default}.motion-replay:focus-visible{outline:3px solid #325b89;outline-offset:4px}.motion-replay[hidden]{display:none}
@media(max-width:600px){.search-story{margin:0 8px 16px 0;padding:12px;gap:10px}.search-story strong{font-size:12px}.search-story small{font-size:9px}.product-scene.journey-playing::before{transform:rotate(-2deg)}.product-scene.journey-playing::after{transform:rotate(1.5deg)}}
@media(prefers-reduced-motion:reduce){.product-scene::before,.product-scene::after{transition:none!important}.search-story strong{clip-path:none!important}}
/* Approved opening copy, official supplied logo and floating benefits. */
.brand-logo{display:block;width:245px;height:80px;object-fit:cover;object-position:center}
.hero h1{font-size:clamp(44px,4.6vw,66px);line-height:1.08}.hero .lead{max-width:520px;font-size:19px}.hero-grid{align-items:center}
.search-check{color:#18794e;background:#18865219}.included li::before{color:#60d6a2;background:#60d6a21a;border-radius:50%;width:23px;height:23px;text-align:center;line-height:23px;top:22px}
.benefits{position:relative;padding:23px 70px 23px 0}.benefits-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.benefits-track{display:flex;width:max-content;animation:benefits-drift 32s linear infinite}.benefits-group{display:flex;flex-shrink:0;align-items:center;gap:70px;padding-right:70px}.benefit{display:flex;align-items:center;gap:13px;white-space:nowrap;font-size:16px;font-weight:600;min-height:50px}.benefit::before{display:none}.benefit i{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border:1px solid #c5d9ed;border-radius:13px;background:linear-gradient(140deg,#fff,#deedfb);color:#325b89;font-size:25px;font-style:normal;box-shadow:0 4px 10px #25456e0b;animation:benefit-float 4s ease-in-out infinite}.benefit:nth-child(even) i{animation-delay:-2s}.benefits-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);min-height:44px;padding:8px;border:0;background:transparent;color:#325b89;font:inherit;font-size:12px;cursor:pointer}.benefits-toggle:focus-visible{outline:3px solid #325b89;outline-offset:2px}.benefits:is(:hover,:focus-within) .benefits-track,.benefits.is-paused .benefits-track,.benefits.is-paused .benefit i{animation-play-state:paused}
@keyframes benefits-drift{to{transform:translateX(-50%)}}@keyframes benefit-float{0%,100%{transform:translateY(2px)}50%{transform:translateY(-3px)}}
@media(max-width:900px){.hero h1{max-width:680px}.hero .lead{max-width:620px}.benefits-group{gap:44px;padding-right:44px}}
@media(max-width:600px){.brand-logo{width:190px;height:64px}.hero h1{font-size:44px}.hero .lead{font-size:18px}.benefit{font-size:14px}.benefits{padding-block:18px}.benefits-group{gap:30px;padding-right:30px}.benefit i{width:36px;height:36px;font-size:22px}}
@media(max-width:359px){.brand-logo{width:165px;height:58px}.hero h1{font-size:39px}}
@media(prefers-reduced-motion:reduce){.benefits{padding:20px}.benefits-window{mask-image:none;overflow:visible}.benefits-track{width:auto;animation:none}.benefits-group{flex-wrap:wrap;gap:16px 28px;padding:0}.benefits-group[aria-hidden]{display:none}.benefits-toggle{display:none}.benefit i{animation:none}}
@media(prefers-reduced-motion:reduce){.benefits-track{display:block}.benefits-group{width:100%;min-width:0}.benefit{white-space:normal}}
/* A complete repeated belt, sized to cover even ultrawide viewports. */
.benefits{padding:18px 0;background:linear-gradient(105deg,#f3f7fb,#edf5fc,#f3f7fb)}
.benefits-window{padding-block:14px;mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent)}
.benefits-track{animation:benefits-belt var(--belt-duration,18s) linear infinite}
.benefits-group{gap:20px;padding-right:20px}
.benefit{width:230px;min-height:74px;flex:0 0 230px;padding:14px 18px;border:1px solid #d6e4f2;border-radius:15px;background:linear-gradient(135deg,#fff,#f9fcff);box-shadow:0 7px 15px #25456e12,0 2px 3px #25456e08;gap:12px;font-size:15px;animation:benefit-float 4.5s ease-in-out infinite}
.benefit:nth-child(even){animation-delay:-2.25s}.benefit i{width:36px;height:36px;font-size:23px;animation:none;box-shadow:none}
.benefits-toggle{top:auto;bottom:0;right:12px;transform:none;min-height:24px;padding:2px 8px;font-size:11px;background:#f3f7fbe6;border-radius:4px;z-index:2}
.benefits:is(:hover,:focus-within) .benefit,.benefits.is-paused .benefit{animation-play-state:paused}
@keyframes benefits-belt{to{transform:translateX(calc(-1 * var(--belt-distance,1000px)))}}
@media(max-width:600px){.benefit{width:210px;flex-basis:210px;font-size:14px;padding:12px 14px;min-height:68px}.benefits-group{gap:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){.benefits{padding:20px}.benefits-window{padding:0}.benefits-track{animation:none}.benefits-group{gap:16px;padding:0}.benefit{animation:none;flex:1 1 210px;width:auto}.benefits-group[aria-hidden]{display:none}}
/* Benefit icons above centred labels. */
.benefit{flex-direction:column;justify-content:center;text-align:center;gap:10px;min-height:112px;padding:16px 18px}
@media(max-width:600px){.benefit{min-height:104px;padding:14px;gap:9px}}
/* Unified page canvas; only purposeful blue gradients vary by section. */
body,.site-header,footer,.preview-note{background:#fff}
.service-strip.benefits{background:#fff;border:0}
.benefits-toggle{background:#ffffffed}
.fit-section{background:radial-gradient(ellipse at 2% 85%,#64a6e220,transparent 55%),#fff}
.booking{background:radial-gradient(ellipse at 85% 80%,#64a6e22b,transparent 57%),#fff}
/* Opening section blends into the shared white page canvas. */
.hero{background:radial-gradient(ellipse at 87% 35%,#64a6e227,transparent 52%),#fff}
@media(max-width:600px){.hero{background:radial-gradient(ellipse at 100% 60%,#64a6e226,transparent 48%),#fff}}
/* Brighter success accent. */
.search-check{color:#008c42;background:#20d86b30;font-weight:800;box-shadow:0 0 0 1px #16b95b30}
/* Right-fit section: plain canvas pending the next design choice. */
.fit-section{background:#fff}
/* Compact qualification strip: approved option two. */
.fit-section{background:#fff;padding-block:36px}
.fit-banner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:40px;padding-block:30px;border-block:1px solid #dbe4ee;position:relative}
.fit-banner::before{content:'';position:absolute;top:-1px;left:0;width:110px;height:2px;background:linear-gradient(90deg,#325b89,#64a6e2)}
.fit-message .eyebrow{margin-bottom:10px;font-size:10px;letter-spacing:.16em}.fit-message h2{font-size:clamp(25px,2.5vw,34px);line-height:1.15;letter-spacing:-.025em}.fit-message>p{margin-top:12px;font-size:17px}.fit-message>p strong{color:#325b89}.fit-message>small{display:block;margin-top:6px;color:#465c74;font-size:13px}
.fit-value{padding-inline:34px;border-inline:1px solid #dbe4ee;text-align:center}.fit-value>span{display:block;font-size:62px;font-weight:700;letter-spacing:-.05em;line-height:1.1;background:linear-gradient(110deg,#25456e,#325b89,#1683b0);background-clip:text;-webkit-background-clip:text;color:transparent}.fit-value>span>span{font-size:.7em;vertical-align:top;display:inline-block;padding-top:5px}.fit-value>small{display:block;font-size:9px;letter-spacing:.11em;margin-top:10px;color:#325b89}.fit-cta{min-width:152px}
@media(max-width:1100px){.fit-banner{gap:24px}.fit-value{padding-inline:22px}.fit-value>span{font-size:52px}}
@media(max-width:900px){.fit-banner{grid-template-columns:minmax(0,1fr) auto;gap:24px}.fit-value{border-right:0;padding-right:0}.fit-cta{grid-column:1/-1;justify-self:start}.fit-section{padding-block:24px}}
@media(max-width:600px){.fit-banner{grid-template-columns:1fr;gap:22px;padding-block:26px}.fit-message h2{font-size:28px}.fit-message>p{font-size:16px}.fit-value{border:0;padding:0;display:flex;align-items:center;gap:15px;text-align:left}.fit-value>span{font-size:48px}.fit-value>small{max-width:105px;line-height:1.6;margin:0}.fit-cta{grid-column:auto;justify-self:stretch}.fit-message>small{font-size:13px}}
.fit-value>span>#fit-count{font-size:1em;vertical-align:baseline;padding-top:0;font-variant-numeric:tabular-nums}
.crm-showcase{background:#fff}.crm-video-space{aspect-ratio:16/9;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid #d5e3f0;border-radius:20px;background:linear-gradient(140deg,#f8fbfe,#edf5fd);box-shadow:0 20px 48px #25456e0c;text-align:center;padding:24px}.crm-video-symbol{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff;color:#325b89;font-size:36px;box-shadow:0 6px 20px #325b8910}.crm-video-space p{font-size:19px;font-weight:600;color:#25456e}.crm-video-space small{font-size:13px;color:#465c74}
.crm-intro{max-width:860px;margin:0 auto 38px;text-align:center}.crm-intro h2{font-size:clamp(30px,3.5vw,48px);line-height:1.15;text-wrap:balance}.crm-intro h2 span{color:#325b89}.crm-intro p{font-size:18px;line-height:1.6;margin-top:20px}@media(max-width:600px){.crm-intro{margin-bottom:26px}.crm-intro p{font-size:16px}.crm-intro p br{display:none}}
.crm-video-space{width:100%;max-width:100%;min-width:0}
/* Approved Sunburst artwork: four cells of the original sheet, no redraw. */
.benefit{min-height:168px;background:#fff;gap:12px;padding:15px 14px 20px}.benefit-art{display:block;width:160px;height:90px;flex:none;background-image:url('assets/benefits-sunburst.png');background-size:200% 200%;background-repeat:no-repeat}.benefit-art-0{background-position:0 0}.benefit-art-1{background-position:100% 0}.benefit-art-2{background-position:0 100%}.benefit-art-3{background-position:100% 100%}.benefit>span:last-child{line-height:1.35;font-size:14px;white-space:normal;max-width:200px}@media(max-width:600px){.benefit{min-height:155px}.benefit-art{width:144px;height:81px}.benefit>span:last-child{font-size:13px}}
.benefits .benefit::before,.benefits .benefit span::before{content:none}
/* Approved refined steel-blue and emerald set, 29 September. */
.benefit-art{background-image:url('assets/benefits-refined.png')}
/* Centre the visible artwork, compensating for each source cell's whitespace. */
.benefits .benefit{align-items:center;text-align:center}
.benefit-art-0{transform:translate(-7%,-1%)}
.benefit-art-1{transform:translate(8%,-3%)}
.benefit-art-2{transform:translate(-6.5%,6%)}
.benefit-art-3{transform:translate(8%,6%)}
