/* Martbouy site styles. Built from preview 5 (Wiz-inspired). */
:root{--navy:#1A2246;--text:#3D4566;--muted:#6B7290;--blue:#0254EC;--blue-d:#0138B0;--blue-l:#E8EFFF;--pink:#FCE8F6;--lav:#EFEAFF;--line:#DCE2EE;--green:#2FC58E;--yellow:#FFC23D;--rose:#FF7AB8;--bg:#fff;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box;margin:0;padding:0}
/* Stop sideways panning on phones. Decorative art (e.g. the hero waves) paints past the screen edge, and
   overflow on body alone doesn't stop iOS Safari from panning. clip, unlike hidden, keeps the sticky header working. */
html{scroll-behavior:smooth;overflow-x:hidden;overflow-x:clip}
body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
h1,h2,h3{font-family:Poppins,sans-serif;color:var(--navy);letter-spacing:-.02em;line-height:1.15;font-weight:600}
.hl{color:var(--blue)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 24px;border-radius:999px;font:600 15px Inter,sans-serif;border:2px solid transparent;cursor:pointer;transition:.25s var(--ease);white-space:nowrap}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--blue-d);transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(2,84,236,.7)}
.btn-blue .ar{transition:transform .25s var(--ease)}
.btn-blue:hover .ar{transform:translateX(4px)}
.btn-line{border-color:var(--navy);color:var(--navy);background:#fff}
.btn-line:hover{background:var(--navy);color:#fff}
.kicker{font:600 13px Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease) var(--d,0s),transform .9s var(--ease) var(--d,0s)}
.js [data-reveal].in{opacity:1;transform:none}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .3s}
header.scrolled{border-color:var(--line)}
.nav{display:flex;align-items:center;gap:36px;height:68px}
.logo{font:700 22px Poppins,sans-serif;color:var(--navy);letter-spacing:-.03em;display:inline-flex;align-items:center;gap:9px;flex:none}
.logo .mark{width:30px;height:30px;flex:none;transition:transform .7s var(--ease)}
.logo:hover .mark{transform:rotate(90deg)}
.nav-links{display:flex;gap:26px;font-size:14.5px;font-weight:500;color:var(--text)}
.nav-links a{display:flex;align-items:center;gap:4px}
.nav-links a:hover{color:var(--blue)}
.dd-btn::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:4px;opacity:.7}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:18px;font-size:14.5px}
.nav-right .tel{text-decoration:underline;text-underline-offset:3px;color:var(--navy);font-weight:500}
.nav .btn{padding:9px 18px;font-size:14px}

/* hero */
.hero{padding:64px 0 40px}
.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(38px,4.4vw,56px);margin-bottom:22px}
.hero h1 .nw{white-space:nowrap}
.hero p{font-size:17px;max-width:500px}
.hero p b{color:var(--navy)}
.cap-form{display:flex;gap:8px;margin-top:32px;max-width:470px}
.cap-form input{flex:1;min-width:0;font:500 15px Inter,sans-serif;padding:13px 20px;border:1.5px solid var(--line);border-radius:999px;color:var(--navy);outline:none;transition:border-color .2s}
.cap-form input:focus{border-color:var(--blue)}
.cap-ok{display:none;margin-top:32px;max-width:470px;padding:14px 20px;border-radius:999px;background:var(--blue-l);color:var(--blue);font-weight:600}
.hero-note{margin-top:14px;font-size:13.5px;color:var(--muted)}
.illo{position:relative}
.illo svg{width:100%;height:auto;display:block;overflow:visible}
.cell-tick{transform-box:fill-box;transform-origin:center;animation:tick 7s var(--ease) infinite;opacity:0}
@keyframes tick{0%,8%{opacity:0;transform:scale(.2)}14%,80%{opacity:1;transform:scale(1)}92%,100%{opacity:0;transform:scale(1)}}
.pencil{transform-box:fill-box;transform-origin:20% 90%;animation:scribble 1.4s ease-in-out infinite}
@keyframes scribble{50%{transform:rotate(-6deg) translate(-4px,3px)}}
.cal{transform-box:fill-box;transform-origin:center;animation:hover 6s ease-in-out infinite}
@keyframes hover{50%{transform:translateY(-8px) rotate(-1deg)}}
.spark{transform-box:fill-box;transform-origin:center;animation:twinkle 2.4s ease-in-out infinite}
.spark.s2{animation-delay:.8s}.spark.s3{animation-delay:1.6s}
@keyframes twinkle{50%{transform:scale(.4) rotate(45deg);opacity:.3}}
.toast{position:absolute;left:2%;bottom:24%;display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--navy);border-radius:14px;padding:10px 14px;box-shadow:4px 4px 0 var(--navy);font-size:13px;color:var(--navy);font-weight:600;animation:toast 7s var(--ease) infinite}
.toast small{display:block;font-weight:500;color:var(--muted);font-size:12px}
.toast i{width:30px;height:30px;border-radius:50%;background:var(--green);display:grid;place-items:center;color:#fff;font-style:normal;font-size:15px;flex:none}
@keyframes toast{0%,20%{opacity:0;transform:translateY(-14px)}28%,80%{opacity:1;transform:none}90%,100%{opacity:0;transform:translateY(-8px)}}

section{padding:100px 0}

/* rating + chart */
.rate{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center}
.rate h2{font-size:clamp(30px,3.6vw,42px);margin:12px 0 24px}
.shields{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.shield{width:78px;height:92px;background:var(--c,var(--blue));clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%);padding:2px;transition:transform .3s var(--ease)}
.shield:hover{transform:translateY(-4px) rotate(-3deg)}
.shield div{height:100%;background:#fff;clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%);display:flex;flex-direction:column;align-items:center;padding-top:10px;text-align:center;font:600 9.5px/1.25 Inter,sans-serif;color:var(--navy);text-transform:uppercase;letter-spacing:.02em}
.shield div::before{content:"";width:22px;height:22px;border-radius:50%;background:var(--c,var(--blue));margin-bottom:7px;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 1a11 11 0 1 0 0 22 11 11 0 0 0 0-22zm-1.5 15.5-4-4 1.4-1.4 2.6 2.6 5.6-5.6 1.4 1.4z'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 1a11 11 0 1 0 0 22 11 11 0 0 0 0-22zm-1.5 15.5-4-4 1.4-1.4 2.6 2.6 5.6-5.6 1.4 1.4z'/></svg>") center/contain no-repeat}
.stars{display:flex;align-items:center;gap:10px;margin-bottom:26px;color:var(--navy);font-weight:600}
.stars span{color:#FFB400;letter-spacing:2px;font-size:18px}
.chart{position:relative;background:linear-gradient(135deg,#F7F2FF,#FDF3FA);border-radius:18px;aspect-ratio:1.5;overflow:hidden}
.chart::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#E6E0F5 1px,transparent 1px),linear-gradient(90deg,#E6E0F5 1px,transparent 1px);background-size:34px 34px;opacity:.6}
.chart .axis{position:absolute;background:#B9B1D6}
.chart .ax-x{left:8%;right:8%;top:50%;height:1.5px}
.chart .ax-y{top:10%;bottom:10%;left:50%;width:1.5px}
.chart .q{position:absolute;font-size:11px;color:var(--muted);font-weight:500}
.chart .q-y{left:10%;top:6%}
.chart .q-x{right:8%;bottom:6%}
.chart .dot{position:absolute;width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:50%;background:#fff;border:2px solid var(--c,var(--blue));box-shadow:0 4px 10px -4px rgba(26,34,70,.4);transform:scale(0);transition:transform .6s cubic-bezier(.3,1.7,.5,1) var(--d,0s)}
.chart.in .dot{transform:scale(1)}
.chart .me{position:absolute;right:9%;top:13%;width:54px;height:54px;border-radius:50%;background:#fff;border:2px solid var(--navy);display:grid;place-items:center;font:700 14px Poppins,sans-serif;color:var(--navy);box-shadow:0 8px 20px -8px rgba(26,34,70,.5);transform:scale(0);transition:transform .8s cubic-bezier(.3,1.7,.5,1) 1.2s}
.chart.in .me{transform:scale(1)}
.chart .me::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--blue);animation:ping 2.4s var(--ease) infinite}
@keyframes ping{from{opacity:.7;transform:scale(.9)}to{opacity:0;transform:scale(1.6)}}
.chart .note{position:absolute;left:12px;bottom:10px;font-size:11px;color:var(--muted)}

/* carousel */
.carousel{position:relative;border-radius:22px;background:linear-gradient(120deg,#FDE6F5 0%,#F3EAFF 60%,#E9F0FF 100%);overflow:hidden;min-height:440px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center}
.carousel::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(26,34,70,.09) 1.2px,transparent 1.6px);background-size:22px 22px}
.c-text{position:relative;padding:56px 56px 80px;display:grid}
.c-slide{grid-area:1/1;opacity:0;transform:translateY(16px);transition:.7s var(--ease);pointer-events:none}
.c-slide.on{opacity:1;transform:none;pointer-events:auto}
.c-slide h2{font-size:clamp(34px,4.4vw,56px);margin:12px 0 16px}
.c-slide p{font-size:17px;max-width:420px;margin-bottom:26px}
/* Each dot button is a 40px-tall tap area; the visible dot is its ::before */
.c-dots{position:absolute;left:48px;bottom:20px;display:flex;z-index:2}
.c-dots button{height:40px;padding:0 8px;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.c-dots button::before{content:"";width:8px;height:8px;border-radius:99px;background:#C3BCE0;transition:width .4s var(--ease),background .3s}
.c-dots button.on::before{width:30px;background:var(--blue)}
.buoy{position:relative;height:100%;min-height:380px}
.buoy svg{position:absolute;left:50%;bottom:-6px;translate:-50% 0;width:min(380px,92%);height:auto;overflow:visible}
.bob{transform-box:fill-box;transform-origin:50% 100%;animation:bob 3.2s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-10px) rotate(3deg)}}
.waves{animation:waves 4s linear infinite}
.waves.w2{animation-duration:6s;animation-direction:reverse}
@keyframes waves{to{transform:translateX(-80px)}}
.lamp{animation:lamp 1.6s ease-in-out infinite}
@keyframes lamp{50%{opacity:.25}}

/* operating model */
.model{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.model h2{font-size:clamp(30px,3.6vw,42px);margin-bottom:28px}
.model h4{font:600 17px Inter,sans-serif;color:var(--navy);margin-bottom:10px}
.model p{margin-bottom:16px}
.model p b{color:var(--navy)}
.model .blue-line{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

/* tabs */
.tabs{display:grid;grid-template-columns:300px 1fr;border:1.5px solid #B9C8F5;border-radius:20px;overflow:hidden;margin-top:56px;background:#fff}
.tab-list{border-right:1.5px solid #E1E7F7;display:flex;flex-direction:column}
.tab{text-align:left;background:none;border:0;border-bottom:1px solid #EEF1F8;padding:24px 26px;cursor:pointer;font:inherit;color:var(--text);position:relative;transition:background .3s}
.tab:last-child{border-bottom:0}
.tab b{display:block;font:600 17px Poppins,sans-serif;color:var(--navy);margin-bottom:4px}
.tab span{font-size:14px;display:none}
.tab.on{background:#F7F9FF}
.tab.on b{color:var(--blue)}
.tab.on span{display:block}
.tab .bar{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--line)}
.tab.on .bar::after{content:"";position:absolute;inset:0;background:var(--blue);transform-origin:top;animation:tabfill 7s linear forwards}
@keyframes tabfill{from{transform:scaleY(0)}}
.tab .more{display:none;margin-top:4px;padding:8px 0;color:var(--blue);font-weight:600;font-size:14px}
.tab.on .more{display:inline-block}
.panel-wrap{position:relative;padding:34px;background-image:radial-gradient(circle,#D9E1F2 1.2px,transparent 1.6px);background-size:20px 20px;display:grid}
.panel{grid-area:1/1;opacity:0;transition:opacity .5s;pointer-events:none;display:flex;flex-direction:column;gap:26px}
.panel.on{opacity:1;pointer-events:auto}
.flow-box{background:rgba(255,255,255,.85);border:1.5px solid #C9D5F5;border-radius:16px;padding:30px 20px 24px}
.flow{display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.flow::before{content:"";position:absolute;left:12.5%;right:12.5%;top:32px;height:2px;background:repeating-linear-gradient(90deg,var(--navy) 0 8px,transparent 8px 14px);opacity:.35}
.flow .runner{position:absolute;top:28px;left:12.5%;width:10px;height:10px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(2,84,236,.15);animation:run 3.4s var(--ease) infinite}
@keyframes run{0%{left:12.5%;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:calc(87.5% - 10px);opacity:0}}
.node{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;z-index:1}
.node .ic{width:64px;height:64px;border-radius:50%;background:var(--c);border:2.5px solid var(--navy);display:grid;place-items:center;position:relative;box-shadow:0 0 0 6px #fff;transform:scale(.6);opacity:0;transition:.6s cubic-bezier(.3,1.6,.5,1) var(--d,0s)}
.panel.on .node .ic{transform:none;opacity:1}
.node .ic svg{width:28px;height:28px}
.node .st{position:absolute;right:-6px;bottom:-4px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;border:2px solid #fff}
.st.good{background:var(--green);color:#fff}
.st.warn{background:var(--yellow);color:var(--navy);border-radius:6px;transform:rotate(45deg)}
.st.warn em{transform:rotate(-45deg);font-style:normal}
.node b{margin-top:14px;font:600 14.5px Inter,sans-serif;color:var(--navy)}
.node small{font-size:12.5px;color:var(--muted)}
.agent{display:flex;gap:16px;align-items:center;background:#fff;border:1.5px solid #E1E7F7;border-radius:14px;padding:16px 18px}
.agent svg{width:54px;height:54px;flex:none}
.agent b{color:var(--navy);font-size:15px}
.agent p{font-size:14px}

/* agents */
.agents{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.ag{border-radius:20px;padding:30px;background:var(--bgc);position:relative;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s}
.ag:hover{transform:translateY(-6px);box-shadow:0 24px 40px -24px rgba(26,34,70,.4)}
.ag:hover .bot{transform:rotate(-8deg) scale(1.06)}
.ag .bot{width:86px;height:86px;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.ag .live{position:absolute;right:22px;top:24px;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--navy);background:#fff;border-radius:99px;padding:5px 11px}
.ag .live i{width:7px;height:7px;border-radius:50%;background:var(--green);animation:lamp 1.4s infinite}
.ag h3{font-size:21px;margin:22px 0 8px}
.ag p{font-size:15px}
.blink{animation:blinkeye 4s infinite;transform-box:fill-box;transform-origin:center}
@keyframes blinkeye{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{border-top:3px solid var(--blue);padding-top:18px}
.stat b{display:block;font:600 clamp(36px,4.4vw,52px)/1.1 Poppins,sans-serif;color:var(--navy);letter-spacing:-.03em}
.stat>span{font-size:14.5px}

/* testimonials */
.tbg{background:#F6F8FD}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.qt{background:#fff;border-radius:18px;padding:30px;border:1px solid #E6EAF4;display:flex;flex-direction:column;gap:20px;transition:transform .35s var(--ease),box-shadow .35s}
.qt:hover{transform:translateY(-5px);box-shadow:0 22px 40px -26px rgba(26,34,70,.45)}
.qt .st5{color:#FFB400;letter-spacing:2px}
.qt p{color:var(--navy);font-size:16px}
.qt .who{display:flex;gap:12px;align-items:center;margin-top:auto}
.qt .av{width:44px;height:44px;border-radius:50%;background:var(--blue-l);color:var(--blue);display:grid;place-items:center;font:600 14px Poppins,sans-serif}
.qt .who b{display:block;color:var(--navy);font-size:15px}
.qt .who span{font-size:13.5px;color:var(--muted)}

/* booking */
.book{background:linear-gradient(125deg,var(--blue) 0%,#2A6BFF 55%,#6A5CFF 100%);border-radius:26px;padding:56px;display:grid;grid-template-columns:1fr 1.05fr;gap:48px;color:#DCE6FF;position:relative;overflow:hidden}
.book::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.25);right:-160px;top:-200px;animation:spinr 60s linear infinite}
@keyframes spinr{to{transform:rotate(360deg)}}
.book h2{color:#fff;font-size:clamp(32px,4vw,46px);margin:12px 0 16px}
.book .kicker{color:#BFD2FF}
.chips{display:grid;gap:10px;margin-top:30px}
.chips a{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:14px 16px;color:#fff;font-weight:600;transition:background .25s}
.chips a:hover{background:rgba(255,255,255,.22)}
.chips small{display:block;font-weight:500;color:#BFD2FF;font-size:12px}
.chips .ci{width:38px;height:38px;border-radius:50%;background:#fff;color:var(--blue);display:grid;place-items:center;flex:none}
form.card{background:#fff;border-radius:20px;padding:30px;color:var(--text);position:relative;z-index:1;box-shadow:0 30px 60px -30px rgba(10,20,60,.6)}
.fields{display:grid;gap:14px}
.form-title{font:600 22px Poppins,sans-serif;color:var(--navy)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--navy)}
input,select{font:500 15px Inter,sans-serif;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;color:var(--navy);background:#fff;width:100%;outline:none;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(2,84,236,.12)}
.ok{display:none;text-align:center;padding:50px 10px}
.ok .tick{width:60px;height:60px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:28px;margin:0 auto 16px}
.ok h3{font-size:24px;margin-bottom:8px}

footer{background:var(--navy);color:#AEB5CF;padding:64px 0 32px}
.foot{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:36px}
.foot .logo{color:#fff}
.foot p{font-size:14.5px;margin-top:14px;max-width:280px}
.foot h4{color:#fff;font:600 14px Inter,sans-serif;margin-bottom:14px}
.foot ul{list-style:none;display:grid;gap:8px;font-size:14.5px}
.foot a:hover{color:#fff}
.legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:48px;padding-top:22px;border-top:1px solid #2E3760;font-size:13.5px}

.wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;border:2px solid var(--navy);box-shadow:3px 3px 0 var(--navy);transition:transform .25s var(--ease)}
.wa-float:hover{transform:translate(-2px,-2px) rotate(-6deg)}
/* Quick contact (phones): one round button that opens Book a call / Call / WhatsApp as slim stacked pills */
.qc{display:none}
.qc-btn{width:54px;height:54px;border-radius:50%;background:var(--blue);color:#fff;border:2px solid var(--navy);box-shadow:3px 3px 0 var(--navy);display:grid;place-items:center;cursor:pointer;transition:transform .25s var(--ease)}
.qc-btn svg{grid-area:1/1;transition:opacity .2s,transform .3s var(--ease)}
.qc-btn .x{opacity:0;transform:rotate(-90deg)}
.qc.open .qc-btn .chat{opacity:0;transform:rotate(90deg)}
.qc.open .qc-btn .x{opacity:1;transform:none}
.qc-menu{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin-bottom:12px;visibility:hidden;transition:visibility .3s}
.qc.open .qc-menu{visibility:visible}
.qc-menu a{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:#fff;border:1.5px solid var(--navy);color:var(--navy);font-weight:600;font-size:14px;line-height:1.3;box-shadow:0 8px 20px -10px rgba(26,34,70,.45);opacity:0;transform:translateY(10px);transition:opacity .2s,transform .3s var(--ease)}
.qc-menu a.go{background:var(--blue);border-color:var(--blue);color:#fff}
.qc-menu a svg{flex:none}
.qc.open .qc-menu a{opacity:1;transform:none}
.qc.open .qc-menu a:nth-child(2){transition-delay:.04s}
.qc.open .qc-menu a:nth-child(1){transition-delay:.08s}

@media (max-width:980px){
  .nav-links,.nav-right .tel{display:none}
  .hero-grid,.rate,.model,.book{grid-template-columns:1fr}
  .illo{max-width:560px;margin:0 auto;width:100%}
  .carousel{grid-template-columns:1fr}
  .buoy{min-height:300px}
  .c-text{padding-bottom:20px}
  .c-dots{top:8px;bottom:auto;left:auto!important;right:16px}
  .tabs{grid-template-columns:1fr}
  .tab-list{border-right:0;border-bottom:1.5px solid #E1E7F7}
  .agents,.quotes{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .foot{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .wrap{padding:0 16px}
  section{padding:72px 0}
  .hero{padding-top:40px}
  .nav .btn{display:none}
  .cap-form{flex-direction:column}
  .c-text{padding:36px 22px 70px}
  .c-dots{left:22px}
  .panel-wrap{padding:16px}
  .flow{grid-template-columns:1fr 1fr;row-gap:28px}
  .flow::before,.flow .runner{display:none}
  .book{padding:26px 18px}
  form.card{padding:20px}
  .row2{grid-template-columns:1fr}
  .toast{left:0;bottom:14%;transform-origin:left bottom;scale:.85}
  .foot{grid-template-columns:1fr}
  .wa-float{display:none}
  .qc{display:flex;flex-direction:column;align-items:flex-end;position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60}
  footer{padding-bottom:84px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js [data-reveal]{opacity:1;transform:none}
  .cell-tick,.toast{opacity:1}
  .chart .dot,.chart .me{transform:scale(1)}
  .node .ic{transform:none;opacity:1}
}

/* ---------- Site-wide additions (multi-page site) ---------- */
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--navy);color:#fff;padding:10px 16px;border-radius:10px;font-weight:600}
.skip:focus{top:12px}
:focus-visible{outline:3px solid rgba(2,84,236,.45);outline-offset:3px;border-radius:6px}
.nav-links a[aria-current=page],.dd-btn[aria-current=page]{color:var(--blue)}
.btn-white{background:#fff;color:var(--navy)}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(0,0,0,.5)}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.foot-btn{margin-top:22px}
.legal a:hover{color:#fff}

/* services dropdown */
.dd-wrap{position:relative}
.dd-btn{background:none;border:0;font:inherit;color:inherit;cursor:pointer;display:flex;align-items:center;gap:4px;padding:0}
.dd-btn:hover{color:var(--blue)}
.dd-menu{position:absolute;top:calc(100% + 18px);left:-22px;width:330px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:0 24px 50px -20px rgba(26,34,70,.35);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .25s var(--ease),visibility .25s}
.dd-menu::before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}
.dd-wrap:hover .dd-menu,.dd-wrap.open .dd-menu{opacity:1;visibility:visible;transform:none}
.nav-links .dd-menu a{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:12px;color:var(--text)}
.nav-links .dd-menu a:hover,.nav-links .dd-menu a[aria-current=page]{background:#F4F7FF;color:var(--text)}
.dd-menu i,.mnav .svc i{width:38px;height:38px;border-radius:11px;background:var(--c);border:1.5px solid var(--navy);display:grid;place-items:center;flex:none}
.dd-menu i svg,.mnav .svc i svg{width:18px;height:18px}
.dd-menu b{display:block;color:var(--navy);font-size:14.5px}
.dd-menu small{display:block;color:var(--muted);font-size:13px;line-height:1.45;font-weight:400}

/* hamburger + mobile menu */
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:#fff;cursor:pointer;position:relative;flex:none}
.burger span{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:var(--navy);transition:transform .3s var(--ease),opacity .2s,top .3s var(--ease)}
.burger span:nth-child(1){top:14px}.burger span:nth-child(2){top:20px}.burger span:nth-child(3){top:26px}
.menu-open .burger span:nth-child(1){top:20px;transform:rotate(45deg)}
.menu-open .burger span:nth-child(2){opacity:0}
.menu-open .burger span:nth-child(3){top:20px;transform:rotate(-45deg)}
.mnav{position:fixed;left:0;right:0;top:68px;bottom:0;z-index:49;background:#fff;overflow-y:auto;padding:20px 0 130px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .3s,transform .3s var(--ease),visibility .3s}
.menu-open .mnav{opacity:1;visibility:visible;transform:none}
body.menu-open{overflow:hidden}
.menu-open header{border-color:var(--line)}
.mnav .grp{font:600 12.5px Inter,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:4px 0 10px}
.mnav .svc{display:grid;gap:8px;margin-bottom:14px}
.mnav .svc a{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1.5px solid #E1E7F7;border-radius:14px;font-weight:600;color:var(--navy)}
.mnav .svc a[aria-current=page]{border-color:var(--blue);background:#F4F7FF}
.mnav a.big{display:flex;justify-content:space-between;align-items:center;padding:16px 4px;border-bottom:1px solid var(--line);font:600 20px Poppins,sans-serif;color:var(--navy)}
.mnav a.big span{color:var(--blue)}
.mnav a.big[aria-current=page]{color:var(--blue)}
.mnav .cta{display:grid;gap:10px;margin-top:28px}

/* inner page hero */
.phero{position:relative;padding:72px 0 64px;overflow:hidden}
.phero.soft{background:linear-gradient(120deg,#FDF0F8 0%,#F3EEFF 55%,#EDF3FF 100%)}
.phero.soft::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(26,34,70,.08) 1.2px,transparent 1.6px);background-size:22px 22px}
.phero .wrap{position:relative}
.phero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.phero h1{font-size:clamp(34px,4.4vw,54px);margin:14px 0 20px}
.phero .lead{font-size:18px;max-width:560px}
.phero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.phero.center{text-align:center}
.phero.center .lead{margin:0 auto}
.phero.center .ctas,.phero.center .crumbs{justify-content:center}
.crumbs{font-size:13.5px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}
.crumbs a:hover{color:var(--blue)}
.illo-card{border:1.5px solid #B9C8F5;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 30px 60px -40px rgba(26,34,70,.45)}

/* section headings */
.sh{max-width:680px}
.sh h2{font-size:clamp(30px,3.6vw,42px);margin-top:12px}
.sh p{margin-top:14px;font-size:17px}
.sh.center{text-align:center;margin:0 auto}
.alt{background:#F6F8FD}

/* feature cards */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.feats.four{grid-template-columns:repeat(4,1fr)}
.feat{border:1.5px solid #E1E7F7;border-radius:18px;padding:28px;background:#fff;transition:transform .35s var(--ease),border-color .3s,box-shadow .35s}
.feat:hover{transform:translateY(-4px);border-color:#B9C8F5;box-shadow:0 22px 40px -28px rgba(26,34,70,.45)}
.feat .fi{width:52px;height:52px;border-radius:14px;background:var(--c,#C9D9FF);border:2px solid var(--navy);display:grid;place-items:center;margin-bottom:18px}
.feat .fi svg{width:24px;height:24px}
.feat h3{font-size:19px;margin-bottom:8px}
.feat p{font-size:15px}

/* numbered steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}
.steps.three{grid-template-columns:repeat(3,1fr)}
.step{border-radius:18px;padding:28px 24px;background:#fff;border:1.5px solid #E1E7F7}
.alt .step{border-color:transparent}
.step .n{width:42px;height:42px;border-radius:50%;background:var(--blue);color:#fff;font:600 16px Poppins,sans-serif;display:grid;place-items:center;margin-bottom:18px;box-shadow:3px 3px 0 var(--navy)}
.step small{font-weight:600;color:var(--blue);font-size:12.5px;text-transform:uppercase;letter-spacing:.05em}
.step h3{font-size:18px;margin:6px 0 8px}
.step p{font-size:14.5px}

/* split + checklists */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split h2{font-size:clamp(28px,3.4vw,40px);margin:12px 0 16px}
.checks{list-style:none;display:grid;gap:14px;margin-top:24px}
.checks li{display:flex;gap:12px;align-items:flex-start}
.checks li::before{content:"✓";width:24px;height:24px;border-radius:50%;background:var(--green);color:#fff;font-size:13px;font-weight:700;display:grid;place-items:center;flex:none;margin-top:1px}
.box{border-radius:22px;padding:34px;background:linear-gradient(135deg,#F7F2FF,#FDF3FA);border:1.5px solid #ECE4F7}
.box h3{font-size:21px;margin-bottom:18px}
.deliv{display:grid;gap:10px}
.deliv div{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border-radius:12px;padding:14px 16px;border:1px solid #E6EAF4;font-weight:600;color:var(--navy);font-size:15px}
.deliv span{color:var(--muted);font-weight:500;font-size:13.5px;text-align:right}

/* big quote */
.bigq{max-width:860px;margin:0 auto;text-align:center}
.bigq .st5{color:#FFB400;letter-spacing:3px;font-size:18px}
.bigq p{font:500 clamp(20px,2.4vw,28px)/1.45 Poppins,sans-serif;color:var(--navy);letter-spacing:-.01em;margin-top:16px}
.bigq .who{display:inline-flex;gap:12px;align-items:center;margin-top:28px;text-align:left}
.av{width:44px;height:44px;border-radius:50%;background:var(--c,var(--blue-l));color:var(--navy);display:grid;place-items:center;font:600 14px Poppins,sans-serif;flex:none;border:1.5px solid var(--navy)}
.who b{display:block;color:var(--navy);font-size:15px}
.who span{font-size:13.5px;color:var(--muted)}
.more-link{display:inline-flex;margin-top:22px;padding:10px 0;color:var(--blue);font-weight:600}
.more-link:hover{text-decoration:underline;text-underline-offset:4px}

/* case studies */
.cases{display:grid;gap:24px;margin-top:48px}
.case{display:grid;grid-template-columns:1.35fr 1fr;border:1.5px solid #E1E7F7;border-radius:22px;overflow:hidden;background:#fff}
.case .cb{padding:36px}
.tag{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--navy);background:#F4F7FF;border:1px solid #DCE5FB;border-radius:99px;padding:5px 12px}
.case h3{font-size:clamp(21px,2.2vw,26px);margin:14px 0 18px}
.case dl{display:grid;gap:14px}
.case dt{font-weight:600;color:var(--navy);font-size:14px}
.case dd{font-size:15px}
.case .cr{background:var(--bgc);padding:36px;display:grid;gap:22px;align-content:center}
.case .cr b{display:block;font:600 clamp(34px,3.6vw,44px)/1 Poppins,sans-serif;color:var(--navy);letter-spacing:-.03em}
.case .cr span{font-size:14px}

/* FAQ */
.faq{max-width:820px;margin:40px auto 0;display:grid;gap:12px}
.faq details{border:1.5px solid #E1E7F7;border-radius:16px;background:#fff;padding:0 22px;transition:border-color .2s}
.faq details[open]{border-color:#B9C8F5}
.faq summary{list-style:none;cursor:pointer;padding:20px 0;font:600 16.5px Inter,sans-serif;color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:500 26px/1 Inter,sans-serif;color:var(--blue);transition:transform .3s var(--ease);flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 20px}

/* CTA band */
.cta-sec{padding:0 0 100px}
.cta-band{background:var(--navy);border-radius:26px;padding:56px;display:flex;justify-content:space-between;align-items:center;gap:32px;color:#C9CFE6;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.18);right:-140px;top:-180px;animation:spinr 60s linear infinite}
.cta-band>*{position:relative}
.cta-band h2{color:#fff;font-size:clamp(26px,3.2vw,38px);margin-bottom:10px;max-width:560px}
.cta-band p{max-width:520px}
.cta-band .btns{display:flex;gap:12px;flex-wrap:wrap;flex:none}

/* booking block tweaks */
.book-copy{position:relative;z-index:1}
.form-note{font-size:13px;color:var(--muted);text-align:center}

/* legal pages */
.prose{max-width:760px}
.prose h2{font-size:23px;margin:40px 0 12px}
.prose p,.prose li{margin-bottom:12px}
.prose ul{padding-left:22px}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}

/* 404 */
.nf{text-align:center;padding:110px 0 120px}
.nf .mark{width:110px;height:110px;margin:0 auto 26px;display:block;animation:bob 3.2s ease-in-out infinite}
.nf h1{font-size:clamp(34px,4.4vw,52px);margin-bottom:14px}
.nf p{max-width:480px;margin:0 auto}
.nf .ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}

@media (max-width:980px){
  .burger{display:block}
  .phero-grid,.split,.case{grid-template-columns:1fr}
  .phero{padding:48px 0 52px}
  .feats,.feats.four,.steps,.steps.three{grid-template-columns:1fr 1fr}
  .cta-band{flex-direction:column;align-items:flex-start;padding:44px 36px}
}
@media (max-width:600px){
  .feats,.feats.four,.steps,.steps.three{grid-template-columns:1fr}
  .phero{padding:36px 0 44px}
  .phero .lead{font-size:16.5px}
  .phero .ctas .btn{flex:1 1 auto}
  .case .cb,.case .cr{padding:26px 22px}
  .box{padding:24px 20px}
  .cta-band{padding:34px 22px;border-radius:22px}
  .cta-band .btns,.cta-band .btns .btn{width:100%}
  .cta-sec{padding-bottom:72px}
  .faq details{padding:0 16px}
  .logo{font-size:20px}
  .logo .mark{width:27px;height:27px}
  .deliv div{flex-direction:column;align-items:flex-start;gap:2px}
  .deliv span{text-align:left}
}
@media (prefers-reduced-motion:reduce){
  .mnav,.dd-menu{transition:none}
}

/* about page mascot */
.about-buoy{background:linear-gradient(120deg,#FDE6F5 0%,#F3EAFF 60%,#E9F0FF 100%);display:flex;justify-content:center;padding:34px 20px 0}
.about-buoy svg{width:min(340px,100%);height:auto;display:block;overflow:visible;margin-bottom:-2px}
.menu-open .qc,.menu-open .wa-float{display:none}

.stats-wrap{padding-bottom:100px}

/* Phones: readable text, bigger tap targets and a shorter homepage */
@media (max-width:600px){
  section{padding:56px 0}
  .stats-wrap{padding-bottom:56px}
  /* rating badges become a two-column checklist */
  .shields{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
  .shield,.shield:hover{width:auto;height:auto;padding:0;background:none;clip-path:none;transform:none}
  .shield div{clip-path:none;flex-direction:row;gap:8px;padding:0;text-align:left;font:600 14px/1.3 Inter,sans-serif;text-transform:none;letter-spacing:0}
  .shield div::before{width:18px;height:18px;margin:0;flex:none}
  .chart .q,.chart .note{font-size:12.5px}
  .chart .q-x{bottom:auto;top:calc(50% + 6px)}
  .buoy{min-height:220px}
  .buoy svg{width:min(260px,80%)}
  /* agent cards: robot beside the title instead of above it */
  .agents{margin-top:32px;gap:14px}
  .ag{padding:22px;display:grid;grid-template-columns:52px 1fr;column-gap:14px;align-items:center}
  .ag .bot{width:52px;height:52px}
  .ag h3{margin:0;font-size:19px;padding-right:64px}
  .ag p{grid-column:1/-1;margin-top:12px}
  .ag .live{top:20px;right:18px}
  .quotes{margin-top:32px;gap:14px}
  .qt{padding:24px;gap:16px}
  .quotes-home .qt:nth-child(3){display:none}
  .chips a{padding:10px 14px}
  .chips .ci{width:34px;height:34px}
  /* footer: two columns, taller links */
  .foot{grid-template-columns:1fr 1fr;gap:28px 20px}
  .foot>div:first-child,.foot>div:last-child{grid-column:1/-1}
  .foot ul{gap:0}
  .foot ul a{display:inline-block;padding:9px 0}
  .legal{margin-top:32px}
  .legal a{display:inline-block;padding:8px 0}
}
