@font-face{font-family:"Poppins";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/poppins-400.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/poppins-500.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/poppins-600.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/poppins-700.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-weight:800;font-style:normal;font-display:swap;src:url(../fonts/poppins-800.woff2) format("woff2")}

/* Layout concept: TopTen-style structure (utility bar, mega-menu, flat-colour hero with a big disc, tile row, dark form band,
   split sections, stats band, yellow CTA band) rebuilt in CanGrow navy + yellow. The logo disc is the hero; the kangaroo leaps out of it. */
:root{
  --navy:#082340; --navy-2:#0E3563; --yellow:#FDB913; --yellow-2:#FFD25A; --ink:#242424;
  --bg:#FFFFFF; --bg-soft:#F2F5FA; --line:#E1E7F0; --muted:#53647A; --on-navy:#B9C7DA;
  --font:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --wrap:1180px; --gut:max(16px,env(safe-area-inset-left,0px));
  --r-pill:999px; --r-card:10px;
  --shadow:0 18px 40px -18px rgba(8,35,64,.35);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:116px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%}
a{color:inherit}
h1,h2,h3,h4,p,ul{margin:0}
ul{padding:0;list-style:none}
:focus-visible{outline:3px solid var(--yellow);outline-offset:3px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;max-width:calc(var(--wrap) + 2*16px);margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.ico{display:inline-block;flex:none;--sw:1.5}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;border:2px solid transparent;border-radius:var(--r-pill);padding:13px 30px;font:600 13px/1.2 var(--font);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn-y{background:var(--yellow);color:var(--navy)}
.btn-y:hover{background:var(--yellow-2)}
.btn-n{background:var(--navy);color:#fff}
.btn-n:hover{background:var(--navy-2)}
.btn-o{border-color:#fff;color:#fff;background:transparent}
.btn-o:hover{background:#fff;color:var(--navy)}
.btn-on{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-on:hover{background:var(--navy);color:#fff}

/* section heads: TopTen-style segmented rule, tinted to the brand */
.sec{padding-block:96px}
.head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;margin-bottom:56px}
.head.left{align-items:flex-start;text-align:left}
h2{font-size:clamp(28px,3.4vw,42px);line-height:1.2;font-weight:700;color:var(--navy);text-wrap:balance}
.rule{display:flex;width:132px;height:3px}
.rule i{flex:1}
.rule i:nth-child(1){background:var(--navy)}
.rule i:nth-child(2){background:var(--yellow)}
.rule i:nth-child(3){background:var(--ink)}
.rule i:nth-child(4){background:#9AA9BD}
.on-dark i:nth-child(1),.on-dark i:nth-child(3){background:#fff!important}.on-dark i:nth-child(4){background:#7D8CA3!important}
.lead{max-width:60ch;color:var(--muted);text-wrap:pretty}

/* top bar */
.topbar{background:#171D26;color:#E6ECF4;font-size:13.5px}
.topbar .wrap{display:flex;flex-wrap:wrap;align-items:stretch}
.tb{display:flex;align-items:center;gap:8px;padding:11px 22px;border-right:1px solid rgba(255,255,255,.12);text-decoration:none}
.tb:first-child{padding-left:0}
a.tb:hover{color:var(--yellow)}
.tb .ico{color:#fff}
.tb-social{margin-left:auto;border-right:0;padding-right:0;gap:14px}
.tb-social a{display:inline-flex;color:#E6ECF4}
.tb-social a:hover{color:var(--yellow)}

/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:#fff;box-shadow:0 1px 0 var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:104px;gap:24px}
.logo{display:flex;flex:none;width:236px}
.logo svg{width:100%;height:auto}
.menu{display:flex;align-items:center;height:100%;gap:4px}
.menu>li{display:flex;align-items:center;height:100%;position:relative}
.menu a.nl,.menu button.nl{display:inline-flex;align-items:center;gap:6px;padding:8px 15px;font:500 16.5px/1 var(--font);color:var(--navy);background:none;border:0;border-bottom:2px solid transparent;text-decoration:none;cursor:pointer;border-radius:0}
.menu a.nl:hover,.menu button.nl:hover,.menu .nl[aria-current]{border-bottom-color:var(--yellow)}
.nl .ico{transition:transform .2s}
.has-mega:hover .nl .ico,.has-mega.open .nl .ico{transform:rotate(180deg)}
.mega{position:absolute;top:100%;left:50%;width:410px;transform:translate(-50%,8px);background:#fff;border-radius:6px;padding:30px 34px 22px;box-shadow:0 28px 60px -20px rgba(8,35,64,.35);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}
.has-mega:hover .mega,.has-mega:focus-within .mega,.has-mega.open .mega{opacity:1;visibility:visible;transform:translate(-50%,0)}
.mega-t{font-weight:600;font-size:18px;color:var(--navy);line-height:1.3}
.mega-s{color:#8493A8;font-size:15px;margin-bottom:12px}
.mega a{display:flex;align-items:center;gap:22px;padding:11px 0;text-decoration:none;color:var(--navy);font-size:15.5px}
.mega a .ico{color:#9AA9BD;transition:color .2s}
.mega a:hover .ico{color:var(--navy)}
.mega a:hover{color:var(--navy-2);font-weight:500}
.burger{display:none;background:none;border:2px solid var(--navy);border-radius:8px;width:46px;height:46px;color:var(--navy);cursor:pointer;align-items:center;justify-content:center}
.nav-cta{flex:none}
.progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--line)}
.progress i{display:block;height:100%;width:0;background:var(--yellow)}
.rider{position:absolute;bottom:3px;left:0;width:30px;height:24px;color:var(--navy);pointer-events:none;transform:translateX(-50%);will-change:left}
.rider svg{display:block;width:100%;height:100%;transform-origin:50% 100%}
.rider.go svg{animation:ridehop .5s ease-in-out infinite}
@keyframes ridehop{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(-8deg)}}

/* hero */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding-block:64px 72px}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 76% 50%,rgba(14,53,99,.9),transparent 70%);pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);align-items:center;gap:24px}
.hero h1{font-size:clamp(40px,5.4vw,70px);line-height:1.08;font-weight:700;letter-spacing:-.015em;text-wrap:balance}
.hero h1 .g{color:var(--yellow)}
.hero p{margin-top:24px;max-width:46ch;font-size:18px;color:var(--on-navy)}
.hero .cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.hero-art{width:100%;max-width:600px;justify-self:end}
.hero-art svg{display:block;width:100%;height:auto;overflow:visible}
.hop{animation:hop 2.6s cubic-bezier(.45,0,.55,1) infinite;transform-box:fill-box;transform-origin:50% 100%}
@keyframes hop{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(12px,-46px) rotate(-5deg)}}
.bar{transform-box:fill-box;transform-origin:50% 100%;animation:pulse 2.6s ease-in-out infinite}
.bar.b2{animation-delay:.14s}.bar.b3{animation-delay:.28s}
@keyframes hops{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(8px,-26px) rotate(-5deg)}}
.hop.sm{animation-name:hops}
@keyframes pulse{0%,100%{transform:scaleY(1)}12%{transform:scaleY(1.06)}30%{transform:scaleY(1)}}
.fl{animation:fl 5s ease-in-out infinite alternate}
.fl.d2{animation-delay:-1.6s}.fl.d3{animation-delay:-3s}.fl.d4{animation-delay:-4.2s}
@keyframes fl{from{transform:translateY(-5px)}to{transform:translateY(6px)}}
.spin{transform-box:fill-box;transform-origin:center;animation:spin 60s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* service tile row (overlaps TopTen's colour strip idea) */
.tiles{display:grid;grid-template-columns:repeat(6,1fr)}
.tile{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:140px;padding:26px 72px 26px 24px;text-decoration:none;transition:filter .2s}
.tile:hover{filter:brightness(1.05)}
.tile b{font-size:17px;font-weight:600;line-height:1.3;position:relative}
.tile span{font-size:13.5px;line-height:1.45;opacity:.85;position:relative}
.tile .ico{position:absolute;right:-8px;bottom:-8px;width:76px;height:76px;opacity:.22;transition:transform .3s,opacity .3s}
.tile:hover .ico{transform:scale(1.12) rotate(-6deg);opacity:.4}
.t1{background:#EDF1F7;color:var(--navy)}
.t2{background:var(--yellow);color:var(--navy)}
.t3{background:var(--navy-2);color:#fff}
.t4{background:var(--ink);color:#fff}
.t5{background:var(--yellow-2);color:var(--navy)}
.t6{background:#D5E0EF;color:var(--navy)}

/* what you get */
.get{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.get article{display:flex;gap:22px}
.get .ico{color:var(--navy);width:64px;height:64px;--sw:1.2;flex:none;margin-top:2px}
.get h3,.svc h3{font-size:20px;font-weight:600;color:var(--navy);line-height:1.3;margin-bottom:8px}
.get p,.svc p{color:var(--muted);font-size:15.5px}

/* quote band */
.quote{position:relative;background:var(--ink);color:#fff;text-align:center;overflow:hidden;padding-top:84px}
.pat{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22200%22 height=%22200%22 viewBox=%220 0 200 200%22%3E%3Cg fill=%22%23fff%22 fill-opacity=%22.05%22%3E%3Cpath transform=%22translate(16 26) rotate(-8) scale(.46) translate(-124 -135)%22 d=%22M 293.242188 163.757812 C 290.921875 165.757812 287.160156 165.160156 286.140625 164.308594 C 285.441406 163.722656 282.605469 161.421875 279.792969 162.375 C 279.738281 162.398438 279.671875 162.425781 279.589844 162.453125 C 279.164062 162.621094 278.742188 162.863281 278.324219 163.207031 C 277.152344 164.3125 276.84375 166.070312 276.84375 166.070312 L 276.839844 166.070312 C 276.167969 169.296875 274.726562 172.417969 272.488281 175.140625 C 269.609375 178.640625 265.84375 180.964844 261.785156 182.078125 C 258.699219 179.375 253.175781 178.953125 252.921875 178.886719 C 252.921875 178.886719 260.164062 184.660156 260.191406 184.707031 L 260.207031 184.730469 C 260.410156 186.796875 266.398438 197.917969 265.929688 199.109375 C 265.449219 200.324219 260.453125 204.332031 258.703125 204.816406 C 256.957031 205.300781 252.242188 202.875 252.695312 200.355469 C 253.152344 197.839844 255.011719 197.804688 256.589844 199.128906 C 258.171875 200.457031 260.78125 200.308594 261.109375 199.097656 C 261.4375 197.886719 259.679688 195.15625 257.105469 191.789062 C 254.667969 188.597656 250.238281 185.128906 248.230469 186.347656 C 248.144531 186.414062 248.058594 186.480469 247.972656 186.546875 C 247.957031 186.5625 247.9375 186.574219 247.925781 186.585938 C 247.652344 186.859375 247.25 187.136719 246.738281 187.414062 C 243.339844 189.625 239.300781 190.941406 234.945312 191.019531 C 233.679688 191.046875 232.4375 190.957031 231.226562 190.777344 C 229.742188 190.679688 228.378906 190.273438 227.183594 189.824219 L 227.117188 189.753906 C 224.082031 186.484375 216.992188 185.367188 216.691406 185.324219 C 216.691406 185.324219 221.117188 188.667969 222.515625 189.902344 C 222.53125 190.191406 222.5625 190.480469 222.566406 190.773438 C 222.8125 204.109375 212.203125 215.117188 198.867188 215.367188 C 198.824219 215.367188 198.78125 215.363281 198.738281 215.363281 C 193.429688 216.070312 184.816406 222.550781 181.453125 225.125 C 178.085938 227.695312 175.78125 238.785156 175.292969 241.339844 C 174.804688 243.890625 172.34375 255.585938 171.175781 257.75 C 170.011719 259.914062 159.609375 269.34375 157.257812 265.234375 C 154.902344 261.128906 160.1875 257.148438 160.585938 256.875 C 160.980469 256.597656 165.867188 253.027344 167.566406 250.71875 C 169.265625 248.410156 171.050781 229.230469 171.519531 225.472656 C 171.984375 221.714844 174.078125 219 177.527344 217.464844 C 180.980469 215.925781 182.832031 214.550781 191.285156 208.238281 C 196.328125 204.46875 197.898438 201.242188 197.996094 198.632812 L 197.925781 198.617188 C 197.816406 194.207031 194.171875 190.707031 189.757812 190.789062 C 187.25 190.835938 185.035156 192.027344 183.597656 193.855469 C 179.992188 199.789062 175.621094 209.082031 173.367188 213.1875 C 170.0625 219.207031 162.070312 228.660156 151.015625 231.808594 C 139.960938 234.960938 130.910156 227.027344 128.574219 223.789062 C 126.238281 220.550781 129.195312 221.167969 129.195312 221.167969 C 134.875 227.824219 140.53125 227.789062 140.53125 227.789062 C 160.464844 230.53125 170.09375 202.738281 173.921875 192.425781 C 175.308594 188.683594 176.679688 185.390625 178.90625 182.125 C 188.714844 165.949219 206.34375 154.996094 226.652344 154.621094 C 236.683594 154.4375 246.15625 156.855469 254.429688 161.25 C 254.53125 161.289062 254.585938 161.308594 254.585938 161.308594 C 264.585938 164.015625 270.535156 154.199219 272.125 151.125 C 272.960938 152.089844 276.230469 151.851562 277.433594 152.742188 C 277.433594 152.742188 273.84375 150.285156 271.003906 149.078125 C 264.601562 143.804688 266.714844 137.578125 268.257812 137.457031 C 269.910156 137.328125 273.074219 142.839844 280.175781 146.726562 C 287.277344 150.613281 290.347656 156.480469 292.242188 158.402344 C 294.136719 160.328125 295.566406 161.757812 293.242188 163.757812%22/%3E%3Cpath transform=%22translate(132 122) rotate(10) scale(.36) translate(-124 -135)%22 d=%22M 293.242188 163.757812 C 290.921875 165.757812 287.160156 165.160156 286.140625 164.308594 C 285.441406 163.722656 282.605469 161.421875 279.792969 162.375 C 279.738281 162.398438 279.671875 162.425781 279.589844 162.453125 C 279.164062 162.621094 278.742188 162.863281 278.324219 163.207031 C 277.152344 164.3125 276.84375 166.070312 276.84375 166.070312 L 276.839844 166.070312 C 276.167969 169.296875 274.726562 172.417969 272.488281 175.140625 C 269.609375 178.640625 265.84375 180.964844 261.785156 182.078125 C 258.699219 179.375 253.175781 178.953125 252.921875 178.886719 C 252.921875 178.886719 260.164062 184.660156 260.191406 184.707031 L 260.207031 184.730469 C 260.410156 186.796875 266.398438 197.917969 265.929688 199.109375 C 265.449219 200.324219 260.453125 204.332031 258.703125 204.816406 C 256.957031 205.300781 252.242188 202.875 252.695312 200.355469 C 253.152344 197.839844 255.011719 197.804688 256.589844 199.128906 C 258.171875 200.457031 260.78125 200.308594 261.109375 199.097656 C 261.4375 197.886719 259.679688 195.15625 257.105469 191.789062 C 254.667969 188.597656 250.238281 185.128906 248.230469 186.347656 C 248.144531 186.414062 248.058594 186.480469 247.972656 186.546875 C 247.957031 186.5625 247.9375 186.574219 247.925781 186.585938 C 247.652344 186.859375 247.25 187.136719 246.738281 187.414062 C 243.339844 189.625 239.300781 190.941406 234.945312 191.019531 C 233.679688 191.046875 232.4375 190.957031 231.226562 190.777344 C 229.742188 190.679688 228.378906 190.273438 227.183594 189.824219 L 227.117188 189.753906 C 224.082031 186.484375 216.992188 185.367188 216.691406 185.324219 C 216.691406 185.324219 221.117188 188.667969 222.515625 189.902344 C 222.53125 190.191406 222.5625 190.480469 222.566406 190.773438 C 222.8125 204.109375 212.203125 215.117188 198.867188 215.367188 C 198.824219 215.367188 198.78125 215.363281 198.738281 215.363281 C 193.429688 216.070312 184.816406 222.550781 181.453125 225.125 C 178.085938 227.695312 175.78125 238.785156 175.292969 241.339844 C 174.804688 243.890625 172.34375 255.585938 171.175781 257.75 C 170.011719 259.914062 159.609375 269.34375 157.257812 265.234375 C 154.902344 261.128906 160.1875 257.148438 160.585938 256.875 C 160.980469 256.597656 165.867188 253.027344 167.566406 250.71875 C 169.265625 248.410156 171.050781 229.230469 171.519531 225.472656 C 171.984375 221.714844 174.078125 219 177.527344 217.464844 C 180.980469 215.925781 182.832031 214.550781 191.285156 208.238281 C 196.328125 204.46875 197.898438 201.242188 197.996094 198.632812 L 197.925781 198.617188 C 197.816406 194.207031 194.171875 190.707031 189.757812 190.789062 C 187.25 190.835938 185.035156 192.027344 183.597656 193.855469 C 179.992188 199.789062 175.621094 209.082031 173.367188 213.1875 C 170.0625 219.207031 162.070312 228.660156 151.015625 231.808594 C 139.960938 234.960938 130.910156 227.027344 128.574219 223.789062 C 126.238281 220.550781 129.195312 221.167969 129.195312 221.167969 C 134.875 227.824219 140.53125 227.789062 140.53125 227.789062 C 160.464844 230.53125 170.09375 202.738281 173.921875 192.425781 C 175.308594 188.683594 176.679688 185.390625 178.90625 182.125 C 188.714844 165.949219 206.34375 154.996094 226.652344 154.621094 C 236.683594 154.4375 246.15625 156.855469 254.429688 161.25 C 254.53125 161.289062 254.585938 161.308594 254.585938 161.308594 C 264.585938 164.015625 270.535156 154.199219 272.125 151.125 C 272.960938 152.089844 276.230469 151.851562 277.433594 152.742188 C 277.433594 152.742188 273.84375 150.285156 271.003906 149.078125 C 264.601562 143.804688 266.714844 137.578125 268.257812 137.457031 C 269.910156 137.328125 273.074219 142.839844 280.175781 146.726562 C 287.277344 150.613281 290.347656 156.480469 292.242188 158.402344 C 294.136719 160.328125 295.566406 161.757812 293.242188 163.757812%22/%3E%3C/g%3E%3Cg fill=%22none%22 stroke=%22%23fff%22 stroke-opacity=%22.06%22 stroke-width=%223%22 stroke-linecap=%22round%22%3E%3Ccircle cx=%22150%22 cy=%2240%22 r=%2215%22/%3E%3Ccircle cx=%2246%22 cy=%22150%22 r=%2210%22/%3E%3Cpath d=%22M96 150v14M106 142v22M116 134v30%22/%3E%3Cpath d=%22M92 40h14M99 33v14%22/%3E%3C/g%3E%3C/svg%3E");background-size:200px 200px}
.quote h2{color:#fff}
.quote .rule{margin-inline:auto}
.quote p.sub{margin-top:14px;color:#D6DEE9}
.qform{display:grid;grid-template-columns:1fr 1fr;max-width:720px;margin:36px auto 0;border-radius:var(--r-pill);background:#3A3F46;overflow:hidden}
.qform label{display:block}
.qform input{width:100%;background:transparent;border:0;color:#fff;font:400 15px var(--font);padding:16px 26px;min-width:0}
.qform input::placeholder{color:#B6C0CD}
.qform label+label{border-left:1px solid rgba(255,255,255,.14)}
.qform input:focus-visible{outline:3px solid var(--yellow);outline-offset:-3px;border-radius:var(--r-pill)}
.qbtn{margin-top:22px}
.qmsg{min-height:26px;margin-top:14px;font-size:14px;color:var(--yellow-2)}
.scene{display:block;width:min(560px,92%);height:auto;margin:10px auto 0;overflow:visible}

/* about */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.ticks{display:grid;gap:14px;margin-block:24px 34px}
.ticks li{display:flex;gap:14px;color:var(--muted);font-size:15.5px}
.ticks .ico{color:var(--navy);width:22px;height:22px;margin-top:3px;--sw:2.4}
.btns{display:flex;flex-wrap:wrap;gap:14px}
.about-art svg{display:block;width:100%;height:auto;overflow:visible}

/* services */
.svc-sec{background:var(--bg-soft)}
.svcs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.svc{background:#fff;border-radius:var(--r-card);padding:34px 30px 30px;box-shadow:0 1px 0 var(--line);position:relative;overflow:hidden;transition:box-shadow .25s,transform .25s}
.svc:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.svc .ib{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--navy);color:#fff;margin-bottom:22px;transition:background .25s,color .25s}
.svc:hover .ib{background:var(--yellow);color:var(--navy)}
.svc .ib .ico{width:34px;height:34px;--sw:1.5}

/* why: split */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.split-l{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding:96px max(24px,calc((100vw - var(--wrap))/2)) 96px 24px;padding-left:max(24px,calc((100vw - var(--wrap))/2));padding-right:56px;display:flex;flex-direction:column;justify-content:center;gap:26px}
.split-l h2{color:#fff}
.split-l .ghost{position:absolute;right:-60px;bottom:-30px;width:min(520px,90%);color:var(--navy-2);pointer-events:none}
.split-l>*:not(.ghost){position:relative}
.split-r{background:#EFF3F9;padding:96px 24px 96px 56px;padding-right:max(24px,calc((100vw - var(--wrap))/2));display:flex;align-items:center}
.why{display:grid;gap:12px;width:100%}
.why li{display:flex;align-items:center;gap:18px;background:#fff;border-radius:var(--r-card);padding:18px 22px;color:var(--navy);font-weight:500;line-height:1.45}
.why .ck{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--yellow);color:var(--navy)}
.why .ck .ico{width:18px;height:18px;--sw:3}

/* how it works */
.how{position:relative;overflow:hidden}
.how::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;background:linear-gradient(#0000,#0000),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 300' preserveAspectRatio='none'%3E%3Cpath d='M0 300V250l150-20 120 30 150-60 160 25 170-90 150 20 150-110 150 30v225z' fill='%23EEF2F8'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;pointer-events:none;z-index:0}
.how .wrap{position:relative;z-index:1}
.steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-top:66px}
.steps::before{content:"";position:absolute;left:12.5%;right:12.5%;top:calc(66px + 48px);border-top:3px dotted #B7C3D4}
.step{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.step-node{position:relative;display:grid;place-items:center;width:96px;height:96px;border-radius:50%;background:#fff;color:var(--navy);border:3px solid var(--navy);transition:background .35s,transform .35s}
.step-node .ico{width:42px;height:42px;--sw:1.4}
.step-node.active{background:var(--yellow);transform:scale(1.06)}
.step-node em{position:absolute;top:-6px;right:-6px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font:600 13px var(--font);font-style:normal}
.step h3{font-size:18px;font-weight:600;color:var(--navy);margin-top:10px}
.step p{font-size:15px;color:var(--muted);max-width:26ch}
.hopper{position:absolute;top:12px;left:calc(12.5% - 30px);width:60px;height:47px;color:var(--navy);pointer-events:none;z-index:2}
.hopper svg{display:block;width:100%;height:100%}

/* stats */
.stats{background:var(--navy);color:#fff;padding-block:68px}
.stats .pat{position:absolute}
.stats{position:relative}
.stats .grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;text-align:center}
.stats b{display:block;font-size:clamp(48px,6vw,84px);line-height:1.05;font-weight:700;color:var(--yellow);font-variant-numeric:tabular-nums}
.stats span{display:block;margin-top:6px;font-size:18px;font-weight:500}

/* clients */
.clients{background:var(--bg-soft)}
.logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.logos li{display:grid;place-items:center;min-height:120px;background:#fff;border-radius:var(--r-card);padding:20px;color:#6C7C92;font-size:clamp(20px,2.2vw,28px);font-weight:700;letter-spacing:-.01em;text-align:center;transition:color .2s,box-shadow .2s}
.logos li:hover{color:var(--navy);box-shadow:var(--shadow)}
.logos li small{display:block;font-size:.5em;font-weight:500;letter-spacing:.14em;text-transform:uppercase;opacity:.8}

/* yellow CTA band with speech bubble */
.band{background:var(--yellow);padding-block:84px}
.band .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:center}
.bubble{position:relative;background:var(--navy);color:#fff;border-radius:84px 0 84px 84px;padding:54px 56px 48px 120px;margin-left:44px}
.bubble .av{position:absolute;left:-44px;top:-8px;display:grid;place-items:center;width:104px;height:104px;border-radius:50%;background:#fff;border:6px solid var(--bg-soft);color:var(--navy)}
.bubble .av svg{width:66px;height:52px}
.bubble blockquote{margin:0;font-size:clamp(19px,2vw,24px);line-height:1.55;font-weight:500}
.bubble cite{display:block;margin-top:18px;font-style:normal;font-weight:600;color:var(--yellow)}
.bubble small{display:block;color:var(--on-navy);font-size:14px}
.band h2{font-size:clamp(28px,3.4vw,42px)}
.band p{margin-top:16px;max-width:46ch;color:#3A3417;font-weight:500}
.band .btn{margin-top:28px}

/* footer */
footer{background:#1B2028;color:#C6CFDB}
.f-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:56px;padding-block:72px 48px}
.f-top h4{font-size:22px;font-weight:600;color:#fff;margin-bottom:20px}
.f-top .logo{width:210px;margin-bottom:22px}
.f-top p{max-width:52ch;font-size:15px;color:#9EABBD}
.soc{display:flex;gap:12px;margin-top:22px}
.soc a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;transition:background .2s,color .2s}
.soc a:hover{background:var(--yellow);color:var(--navy)}
.links{display:grid;gap:12px}
.links a{display:inline-flex;gap:10px;align-items:center;text-decoration:none;font-size:15px;color:#E6ECF4}
.links a::before{content:"";width:0;height:0;border-left:5px solid var(--yellow);border-block:4px solid transparent}
.links a:hover{color:var(--yellow)}
.f-contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-block:36px;border-top:1px solid rgba(255,255,255,.12)}
.f-contact div{display:flex;gap:18px;align-items:center}
.f-contact .ico{color:#fff;width:44px;height:44px;--sw:1.3}
.f-contact b{display:block;font-size:20px;color:#fff;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.f-contact small{color:#8F9DB1;font-size:14px}
.copy{background:#12161C;text-align:center;padding:18px 16px;font-size:14px;color:#8F9DB1}

/* responsive */
@media (max-width:1100px){
  .tiles{grid-template-columns:repeat(6,1fr)}
  .tile{grid-column:span 2}
  .get{gap:32px}
  .svcs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1080px){
  .burger{display:inline-flex}
  .nav-cta{display:none}
  .menu{position:absolute;top:100%;left:0;right:0;height:auto;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:8px max(16px,env(safe-area-inset-left,0px)) 20px;box-shadow:0 24px 40px -20px rgba(8,35,64,.35);display:none}
  .menu.open{display:flex}
  .menu>li{height:auto;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}
  .menu a.nl,.menu button.nl{padding:16px 4px;width:100%;justify-content:space-between;border-bottom:0}
  .mega{position:static;width:auto;transform:none;box-shadow:none;padding:0 4px 8px;display:none;opacity:1;visibility:visible}
  .has-mega:hover .mega{transform:none}
  .has-mega.open .mega{display:block;transform:none}
  .has-mega:hover:not(.open) .mega{display:none}
}
@media (max-width:960px){
    .hero{padding-block:48px 56px}
  .hero .wrap{grid-template-columns:minmax(0,1fr)}
  .hero-art{justify-self:center;max-width:460px}
  .get{grid-template-columns:minmax(0,1fr)}
  .about{grid-template-columns:minmax(0,1fr);gap:40px}
  .split{grid-template-columns:minmax(0,1fr)}
  .split-l,.split-r{padding:72px max(16px,env(safe-area-inset-left,0px))}
  .band .wrap{grid-template-columns:minmax(0,1fr);gap:48px}
  .f-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .f-top>div:first-child{grid-column:1/-1}
  .f-contact{grid-template-columns:minmax(0,1fr)}
  .steps{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:40px;padding-top:0}
  .steps::before,.hopper{display:none}
  .step-node{background:var(--yellow)}
  .sec{padding-block:72px}
}
@media (max-width:640px){
  .tb{padding:8px 14px 8px 0;border-right:0}
  .tb-social,.tb.hide-s{display:none}
  .tiles{grid-template-columns:repeat(2,1fr)}
  .tile,.tile:nth-child(n+4){grid-column:auto}
  .tile{padding:22px 14px 44px 16px;min-height:150px}
  .tile .ico{width:48px;height:48px;right:-4px;bottom:-4px}
  .svcs{grid-template-columns:minmax(0,1fr)}
  .logos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats .grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px}
  .qform{grid-template-columns:1fr;border-radius:28px}
  .qform label+label{border-left:0;border-top:1px solid rgba(255,255,255,.14)}
  .bubble{margin-left:0;margin-top:44px;padding:64px 28px 36px;border-radius:56px 0 56px 56px}
  .bubble .av{left:24px;top:-44px}
  .steps{grid-template-columns:minmax(0,1fr)}
  .f-top{grid-template-columns:minmax(0,1fr)}
  .logo{width:190px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ===== homepage content v2 ===== */
.skip{position:absolute;left:12px;top:-64px;z-index:100;background:var(--yellow);color:var(--navy);padding:10px 16px;font-weight:600;border-radius:6px;text-decoration:none}
.skip:focus{top:12px}
.hero h1{font-size:clamp(40px,5.4vw,70px);line-height:1.08}
.hero .tagline{margin-top:20px;font-size:clamp(18px,1.7vw,22px);font-weight:600;line-height:1.4;color:#fff;max-width:30ch}
.hero p.lead{margin-top:14px;font-size:17.5px;max-width:50ch;color:var(--on-navy)}
.hero .note{margin-top:22px;font-size:14.5px;color:var(--on-navy);max-width:48ch}
.hero .note a{color:#fff;text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:3px}
.btn .ico{--sw:2}
.hero-art text{font-family:var(--font)}
.svc .more{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-weight:600;font-size:14.5px;color:var(--navy);text-decoration:none;border-bottom:2px solid var(--yellow);padding-bottom:2px}
.svc .more:hover{border-bottom-color:var(--navy)}
.svc.also{background:var(--navy);color:#fff}
.svc.also h3{color:#fff}
.svc.also p{color:var(--on-navy);font-size:15px;margin-bottom:10px}
.svc.also p b{color:#fff;font-weight:600}
.svc.also .ib{background:var(--yellow);color:var(--navy)}
.svc.also:hover .ib{background:#fff}
.places{display:grid;gap:26px;margin-top:30px}
.places li{display:flex;gap:20px}
.places .ib2{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--navy);color:#fff}
.places .ib2 .ico{width:28px;height:28px;--sw:1.5}
.places h3{font-size:19px;font-weight:600;color:var(--navy);margin-bottom:4px;line-height:1.3}
.places p{color:var(--muted);font-size:15.5px}
.places a{display:inline-block;margin-top:6px;font-weight:600;font-size:14.5px;color:var(--navy);text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:4px}
.quote .sub{max-width:58ch;margin-inline:auto}
.cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:32px}
.inds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.ind{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:26px 24px;transition:box-shadow .25s,transform .25s}
.ind:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.ind .ico{width:42px;height:42px;color:var(--navy);--sw:1.4;margin-bottom:8px}
.ind h3{font-size:18px;font-weight:600;color:var(--navy)}
.ind p{font-size:14.5px;color:var(--muted);line-height:1.6}
.ind.go{background:var(--navy);border-color:var(--navy);color:#fff;justify-content:center;text-decoration:none}
.ind.go h3{color:#fff;font-size:20px}
.ind.go p{color:var(--on-navy)}
.ind.go span{display:inline-flex;align-items:center;gap:8px;margin-top:10px;color:var(--yellow);font-weight:600;font-size:14.5px}
.why li{align-items:flex-start;padding:20px 22px;font-weight:400}
.why li b{display:block;font-weight:600;color:var(--navy);font-size:17px;line-height:1.35;margin-bottom:2px}
.why li p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}
.why .ck{margin-top:2px}
.guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.guide{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-card);overflow:hidden;box-shadow:0 0 0 1px var(--line);text-decoration:none;color:inherit;transition:box-shadow .25s,transform .25s}
.guide:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.guide .top{position:relative;display:flex;align-items:flex-end;min-height:128px;padding:18px 22px;overflow:hidden}
.guide .top .ico{position:absolute;right:10px;top:6px;width:96px;height:96px;opacity:.22;--sw:1.2}
.guide .tag{position:relative;display:inline-block;padding:5px 14px;border-radius:var(--r-pill);font-size:12.5px;font-weight:600;background:rgba(255,255,255,.16);color:inherit}
.g1{background:var(--navy);color:#fff}
.g2{background:var(--yellow);color:var(--navy)}
.g2 .tag{background:rgba(8,35,64,.12)}
.g3{background:var(--ink);color:#fff}
.guide .gb{display:flex;flex-direction:column;gap:10px;flex:1;padding:24px 24px 26px}
.guide h3{font-size:19px;font-weight:600;color:var(--navy);line-height:1.35}
.guide p{font-size:15px;color:var(--muted);line-height:1.65}
.guide .go{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14.5px;color:var(--navy)}
.guide .go::after{content:"";width:28px;height:2px;background:var(--yellow);transition:width .2s}
.guide:hover .go::after{width:44px}
.faq{max-width:860px;margin-inline:auto;display:grid;gap:12px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r-card)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;font-weight:600;font-size:17px;line-height:1.4;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;background:var(--yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 1v10M1 6h10' stroke='%23082340' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details[open]{box-shadow:var(--shadow)}
.faq .answer{padding:0 24px 22px;color:var(--muted);font-size:15.5px}
.faq .answer p{margin:0}
.faq a{color:var(--navy);text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:3px}
.f-contact{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.f-contact b{font-size:18px}
.copy{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 24px}
.sec-foot{display:flex;justify-content:center;margin-top:44px}
@media (max-width:1180px){.f-contact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:960px){
  .inds{grid-template-columns:repeat(2,minmax(0,1fr))}
  .guides{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .inds{grid-template-columns:minmax(0,1fr)}
  .f-contact{grid-template-columns:minmax(0,1fr)}
  .hero-art .sub{display:none}
  .faq summary{padding:18px 18px;font-size:16px}
  .faq .answer{padding:0 18px 20px}
}

.quote .scene{margin-top:76px}
.stats{background:var(--yellow);color:var(--navy)}
.stats b{color:var(--navy)}
.stats .pat{filter:invert(1)}
.bubble blockquote{text-wrap:balance}
@media (max-width:640px){.hero-art .lab{font-size:20px}}
@media (max-width:640px){.nav .wrap{height:96px}.rider{width:24px;height:19px}}

.stats .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:640px){
  .stats .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;row-gap:12px}
  .stats b{font-size:clamp(32px,10vw,44px)}
  .stats span{font-size:14px;line-height:1.35}
}

/* ===== enquiry forms ===== */
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.req{color:#B45309;text-decoration:none;font-weight:700;margin-left:2px}
.quote .enq{display:grid;justify-items:center}
.qform{grid-template-columns:repeat(3,minmax(0,1fr));max-width:860px;width:100%}
.qform label+label{border-left:1px solid rgba(255,255,255,.14)}
.qform select{width:100%;background:transparent;border:0;color:#B6C0CD;font:400 15px var(--font);padding:16px 22px;min-width:0;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23B6C0CD' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 22px center;background-size:12px}
.qform select:focus-visible{outline:3px solid var(--yellow);outline-offset:-3px;border-radius:var(--r-pill)}
.qform select option{color:#082340;background:#fff}
.qform input:invalid:not(:placeholder-shown):not(:focus){box-shadow:inset 0 -2px 0 #F59E0B}
.fnote{font-size:13px;line-height:1.55;color:var(--muted)}
.fnote a{color:inherit;text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:3px}
.on-dark-note{margin-top:14px;max-width:56ch;text-align:center;color:#C6D1E1}
.on-dark-note a{color:#fff}
.form-status{padding:12px 18px;border-radius:10px;font-size:15px;line-height:1.55}
.form-status.ok{background:#E7F6EC;color:#14532D}
.form-status.err{background:#FDECEC;color:#7F1D1D}
.form-status a{color:inherit;font-weight:600}
.qmsg{margin-top:14px;min-height:0;max-width:560px;text-align:left}
.quote .cta-row{margin-top:20px}
@media (max-width:640px){.qform{grid-template-columns:1fr}.qform label+label{border-left:0;border-top:1px solid rgba(255,255,255,.14)}.qform select{padding:16px 26px;background-position:right 26px center}}
