/* New home layout — loaded only on the Home New template */
body.admin-bar header#siteHeader{top:32px;}
@media (max-width:782px){body.admin-bar header#siteHeader{top:46px;}}
.nav-toggle{display:none;width:38px;height:38px;border:0;border-radius:50%;background:var(--bg-soft);align-items:center;justify-content:center;cursor:pointer;padding:0;}
.nav-toggle span{display:block;width:16px;height:2px;background:var(--navy);margin:3px 0;border-radius:2px;}
header#siteHeader nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:78px;gap:16px;}
header#siteHeader .logo{justify-self:start;}
header#siteHeader .navlinks{justify-self:center;}
header#siteHeader .nav-right{justify-self:end;display:flex;align-items:center;gap:10px;}
header#siteHeader .navlinks ul{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0;}
header#siteHeader .navlinks li{position:relative;margin:0;}
header#siteHeader .navlinks .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:180px;flex-direction:column;gap:0;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px -12px rgba(18,23,63,.18);padding:8px 0;z-index:102;}
header#siteHeader .navlinks li:hover > .sub-menu{display:flex;}
header#siteHeader .navlinks .sub-menu a{display:block;padding:8px 16px;}
@media (max-width:980px){
  .nav-toggle{display:flex;flex-direction:column;}
  header#siteHeader nav{grid-template-columns:minmax(0,1fr) auto;position:relative;}
  header#siteHeader .logo{min-width:0;max-width:100%;overflow:hidden;}
  header#siteHeader .logo img{
    height:36px !important;max-height:36px !important;width:auto !important;
    max-width:min(158px,46vw);object-fit:contain;object-position:left center;
  }
  header#siteHeader .wrap{padding:0 16px;}
  header#siteHeader .nav-right{gap:6px;flex:none;}
  /* Icon-only account chip — long names crush the logo on phones */
  .acct-chip{padding:4px;max-width:none;gap:0;}
  .acct-chip-name{display:none;}
}
:root{
  --navy:#12173F;
  --navy-soft:#525C82;
  --navy-faint:#9198B5;
  --red:#D81F26;
  --red-dark:#AD181D;
  --bg:#FFFFFF;
  --bg-soft:#F7F8FC;
  --card:#FFFFFF;
  --line:#E7E9F2;
  --radius-lg:22px;
  --radius-md:14px;
  --shadow:0 26px 60px -26px rgba(18,23,63,.22);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:clip;}
body{margin:0;background:var(--bg);color:var(--navy);font-family:'Lato',sans-serif;-webkit-font-smoothing:antialiased;}
body.gst-new-home,
body.gst-checkout,
body.gst-contact,
body.gst-blog,
body.gst-legal,
body.gst-account,
body.gst-404,
body.gst-detail-landing-page{overflow-x:clip;max-width:100%;}
h1,h2,h3,h4{font-family:'Lato',sans-serif;font-weight:700;margin:0;color:var(--navy);letter-spacing:-.01em;}
p{margin:0;color:var(--navy-soft);line-height:1.7;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;position:relative;}
.pill-label{display:inline-flex;align-items:center;gap:8px;background:#FDECEC;color:var(--red);font-size:12.5px;font-weight:700;letter-spacing:.03em;padding:7px 16px;border-radius:99px;}
.pill-label .dot{width:6px;height:6px;border-radius:50%;background:var(--red);}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.16,.8,.3,1),transform .6s cubic-bezier(.16,.8,.3,1);}
.reveal.in{opacity:1;transform:translateY(0);}
.stagger > *{transition-delay:calc(var(--i,0) * 80ms);}

/* pricing cards: rise up one by one, bottom to top */
.price-grid.stagger{--pg-stagger:150ms;}
.price-grid.stagger > .reveal{opacity:0;transform:translateY(52px) scale(.96);transition:opacity .65s cubic-bezier(.16,.8,.3,1),transform .65s cubic-bezier(.16,.8,.3,1);transition-delay:calc(var(--i,0) * var(--pg-stagger));}
.price-grid.stagger > .reveal.in{opacity:1;transform:translateY(0) scale(1);}

/* features: rise up one by one when section enters */
.feat-grid.stagger{--feat-stagger:140ms;}
.feat-grid.stagger > .feat.reveal{
	opacity:0;transform:translateY(56px);
	transition:
		opacity .7s cubic-bezier(.16,.8,.3,1),
		transform .7s cubic-bezier(.16,.8,.3,1),
		box-shadow .3s ease,
		border-color .3s ease;
	transition-delay:calc(var(--i,0) * var(--feat-stagger));
}
.feat-grid.stagger > .feat.reveal.in{opacity:1;transform:translateY(0);}
.feat-grid.stagger > .feat.reveal.in:hover{transform:translateY(-5px);}
@media (prefers-reduced-motion: reduce){
	.feat-grid.stagger > .feat.reveal{opacity:1;transform:none;transition:none;}
}

/* ---------- nav ---------- */
header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:box-shadow .3s ease;}
header.scrolled{box-shadow:0 8px 24px -18px rgba(18,23,63,.18);}
header#siteHeader .logo img{height:48px;width:auto;max-width:220px;object-fit:contain;}
.navlinks{display:flex;align-items:center;gap:32px;font-size:14.5px;font-weight:600;color:var(--navy-soft);}
.navlinks a{position:relative;padding:4px 0;}
.navlinks a::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:2px;border-radius:2px;background:var(--red);transition:width .25s ease;}
.navlinks a:hover::after{width:100%;}
.navlinks a:hover{color:var(--navy);}
/* Mobile menu must come AFTER desktop .navlinks{display:flex} or the menu stays visible under the toggle */
@media (max-width:980px){
  header#siteHeader .navlinks{
    display:none !important;
    position:absolute;top:78px;left:0;right:0;
    background:#fff;border-bottom:1px solid var(--line);
    flex-direction:column;align-items:stretch;gap:0;
    padding:8px 16px 16px;z-index:101;
    box-shadow:0 12px 28px -18px rgba(18,23,63,.22);
  }
  header#siteHeader .navlinks.is-open{display:flex !important;}
  header#siteHeader .navlinks.is-open ul,
  header#siteHeader .navlinks ul{
    display:flex !important;flex-direction:column !important;align-items:stretch !important;
    gap:0 !important;width:100%;margin:0;padding:0;list-style:none;
  }
  header#siteHeader .navlinks li{width:100%;margin:0;padding:0;border-bottom:1px solid var(--line);}
  header#siteHeader .navlinks li:last-child{border-bottom:0;}
  header#siteHeader .navlinks a,
  header#siteHeader .navlinks li > a{
    display:block !important;width:100%;
    padding:14px 4px !important;margin:0 !important;
    font-size:15px;line-height:1.35;white-space:normal;
  }
  header#siteHeader .navlinks a:after,
  header#siteHeader .navlinks li > a:after{display:none !important;}
  header#siteHeader .navlinks .sub-menu{
    position:static !important;display:flex !important;flex-direction:column !important;
    box-shadow:none !important;border:0 !important;padding:0 0 8px 14px !important;min-width:0;
    background:transparent;
  }
  header#siteHeader .navlinks .sub-menu a{padding:10px 4px !important;font-size:14px;font-weight:500;}
  header#siteHeader .navlinks .sub-menu li{border-bottom:0;}
}
.navicons{display:flex;align-items:center;gap:14px;}
.navicons .cart-chip{width:38px;height:38px;border-radius:50%;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;color:var(--navy-soft);transition:.25s;}
.navicons .cart-chip:hover{background:var(--navy);color:#fff;}
.acct-drop{position:relative;}
.acct-chip{display:flex;align-items:center;gap:9px;padding:4px 12px 4px 4px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--navy);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;max-width:220px;text-decoration:none;}
a.acct-chip{color:var(--navy);}
.acct-chip .av{width:34px;height:34px;border-radius:50%;background:var(--bg-soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--navy-soft);flex:none;}
.acct-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.acct-chip:hover{border-color:var(--navy);}
.acct-menu{display:none;position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 36px -18px rgba(18,23,63,.22);padding:8px 0;z-index:120;}
.acct-menu::before{content:'';position:absolute;left:0;right:0;bottom:100%;height:14px;}
.acct-drop:hover .acct-menu,
.acct-drop.is-open .acct-menu{display:block;}
.acct-menu a{display:block;padding:9px 16px;font-size:13.5px;font-weight:600;color:var(--navy-soft);white-space:nowrap;}
.acct-menu a:hover{background:var(--bg-soft);color:var(--navy);}
.acct-menu a:first-child{font-weight:700;color:var(--navy);}
.acct-menu a:nth-child(2),
.acct-menu a:nth-child(5){border-top:1px solid var(--line);}
.acct-menu a:last-child{color:var(--red);}

/* ---------- hero ---------- */
.hero{position:relative;padding:90px 0 80px;overflow:hidden;}
.blob{position:absolute;border-radius:50%;filter:blur(60px);z-index:0;opacity:.5;animation:blobDrift 24s ease-in-out infinite alternate;will-change:transform;}
.blob.b1{width:420px;height:420px;background:#FDE3E3;top:-160px;right:-120px;}
.blob.b2{width:340px;height:340px;background:#E7EAF7;bottom:-140px;left:-100px;animation-duration:29s;animation-delay:-8s;}
@keyframes blobDrift{
  0%{transform:translate(0,0) scale(1);}
  50%{transform:translate(-34px,26px) scale(1.09);}
  100%{transform:translate(24px,-22px) scale(.95);}
}

/* ---------- floating icons (hero + sections) ---------- */
.hero-float,
.section-float{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.hero-float .ficon,
.section-float .ficon{position:absolute;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#fff;box-shadow:0 14px 30px -14px rgba(18,23,63,.18);opacity:0;animation:ficonFloat linear infinite;will-change:transform,opacity;}
.hero-float .ficon svg,
.section-float .ficon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;}
.hero-float .ficon.red,
.section-float .ficon.red{color:var(--red);}
.hero-float .ficon.navy,
.section-float .ficon.navy{color:var(--navy);}
@keyframes ficonFloat{
  0%{transform:translate3d(0,26px,0) rotate(-6deg) scale(.85);opacity:0;}
  12%{opacity:.9;}
  50%{transform:translate3d(var(--dx,14px),-26px,0) rotate(4deg) scale(1);}
  88%{opacity:.9;}
  100%{transform:translate3d(calc(var(--dx,14px) * -1),-64px,0) rotate(-4deg) scale(.85);opacity:0;}
}
.steps-pin .wrap{position:relative;z-index:1;}
@media (prefers-reduced-motion: reduce){
	.hero-float .ficon,
	.section-float .ficon{animation:none;opacity:.55;transform:none;}
}

/* ---------- hero grid pattern (right half) ---------- */
.hero-grid-bg{position:absolute;top:0;right:0;width:55%;height:100%;z-index:0;pointer-events:none;
  background-image:linear-gradient(to right, rgba(18,23,63,.10) 1px, transparent 1px),
                    linear-gradient(to bottom, rgba(18,23,63,.10) 1px, transparent 1px);
  background-size:34px 34px;
  -webkit-mask-image:radial-gradient(circle at 68% 42%, #000 0%, transparent 70%);
  mask-image:radial-gradient(circle at 68% 42%, #000 0%, transparent 70%);
  animation:gridDrift 16s ease-in-out infinite alternate;
}
@keyframes gridDrift{0%{background-position:0 0;}100%{background-position:17px 17px;}}
@media (max-width:980px){.hero-grid-bg{display:none;}}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;position:relative;z-index:1;}
.hero-text .pill-label{margin-bottom:24px;}
.hero-text h1{font-size:50px;line-height:1.14;}
.hero-text h1 span{color:var(--red);}
.hero-text p.lead{margin-top:22px;font-size:17px;max-width:470px;}
.hero-cta{display:flex;align-items:center;gap:22px;margin-top:36px;}
.btn{display:inline-flex;align-items:center;gap:9px;padding:16px 28px;border-radius:99px;font-weight:700;font-size:14.5px;border:none;cursor:pointer;transition:.25s ease;font-family:'Lato',sans-serif;}
.btn-primary{background:var(--navy);color:#fff;}
.btn-primary:hover{background:#0B0E28;transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(18,23,63,.45);}
.btn-red{background:var(--red);color:#fff;}
.btn-red:hover{background:var(--red-dark);transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(216,31,38,.4);}
.btn-ghost{background:var(--bg-soft);color:var(--navy);}
.btn-ghost:hover{background:var(--line);}
.link-arrow{color:var(--red);font-weight:700;font-size:14.5px;font-family:'Lato',sans-serif;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14.5px 26.5px;border:1.5px solid var(--red);border-radius:99px;background:#FDECEC;box-sizing:border-box;transition:.25s ease;}
.link-arrow:hover{background:#F9D9D9;transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(216,31,38,.25);}

.spec-row{display:flex;gap:40px;margin-top:46px;}
.spec-row .num{font-family:'Lato',sans-serif;font-size:26px;font-weight:700;color:var(--navy);}
.spec-row .lbl{font-size:12px;color:var(--navy-faint);display:block;margin-top:3px;font-weight:500;}

/* device / video mockup */
.mock-wrap{position:relative;animation:cardIn .7s cubic-bezier(.16,.8,.3,1) both;}
@keyframes cardIn{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
.device{background:#fff;border-radius:26px;padding:14px;box-shadow:var(--shadow);position:relative;}
.device-screen{border-radius:16px;overflow:hidden;position:relative;aspect-ratio:16/10.5;
  background:linear-gradient(150deg,#1E2D5D,#2C3D78 55%,#D81F26 130%);}
.device-screen::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px);background-size:16px 16px;}
.device-caption{position:absolute;top:24px;left:26px;right:26px;z-index:2;}
.device-caption .chip{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.14);color:#fff;font-size:11px;font-weight:700;padding:6px 13px;border-radius:99px;margin-bottom:14px;}
.device-caption .chip .rec{width:6px;height:6px;border-radius:50%;background:#fff;animation:blink 1.4s ease-in-out infinite;}
@keyframes blink{50%{opacity:.3;}}
.device-caption h3{color:#fff;font-size:20px;line-height:1.4;max-width:280px;}
.play-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2;cursor:pointer;border:none;background:transparent;padding:0;}
.play-btn{width:72px;height:72px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;position:relative;transition:transform .25s ease;box-shadow:0 14px 30px -10px rgba(0,0,0,.5);}
.play-wrap:hover .play-btn{transform:scale(1.07);}
.play-btn svg{width:22px;height:22px;fill:var(--red);margin-left:3px;}
.play-ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid #fff;animation:ring 2.2s ease-out infinite;}
.play-ring.d2{animation-delay:.6s;}
@keyframes ring{0%{transform:scale(1);opacity:.7;}100%{transform:scale(1.85);opacity:0;}}
.device-bar{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:16px 22px;background:linear-gradient(0deg, rgba(11,15,30,.75), transparent);}
.device-bar .yt{display:flex;align-items:center;gap:8px;color:#fff;font-size:12.5px;font-weight:600;}
.device-bar .yt svg{width:16px;height:16px;fill:#fff;}
.device-bar .dur{font-size:11px;color:#fff;background:rgba(255,255,255,.18);padding:5px 10px;border-radius:99px;font-weight:600;}
.device-chip{position:absolute;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 15px;font-size:12px;color:var(--navy-soft);font-weight:600;box-shadow:0 16px 30px -18px rgba(18,23,63,.35);z-index:3;display:flex;align-items:center;gap:8px;}
.device-chip .ico{width:26px;height:26px;border-radius:50%;background:#FDECEC;color:var(--red);display:flex;align-items:center;justify-content:center;font-size:13px;flex:none;}
.device-chip.c1{top:-18px;left:-20px;}
.device-chip.c2{bottom:-18px;right:16px;}

/* Hero video popup */
.video-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;}
.video-modal[hidden]{display:none !important;}
.video-modal-backdrop{position:absolute;inset:0;background:rgba(10,14,32,.72);backdrop-filter:blur(6px);}
.video-modal-dialog{
	position:relative;z-index:1;width:min(920px,100%);background:#0b0f1e;border-radius:18px;
	box-shadow:0 40px 80px -30px rgba(0,0,0,.65);overflow:hidden;transform:translateY(12px) scale(.98);
	opacity:0;transition:opacity .25s ease,transform .25s cubic-bezier(.16,.8,.3,1);
}
.video-modal.is-open .video-modal-dialog{opacity:1;transform:translateY(0) scale(1);}
.video-modal-close{
	position:absolute;top:12px;right:12px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;
	background:rgba(255,255,255,.14);color:#fff;display:flex;align-items:center;justify-content:center;
	cursor:pointer;transition:.2s;
}
.video-modal-close:hover{background:var(--red);transform:scale(1.05);}
.video-modal-close svg{width:18px;height:18px;}
.video-modal-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden;}
.video-modal-poster{
	position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;
	transition:opacity .35s ease;
}
.video-modal-loader{
	position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
	background:rgba(10,14,32,.45);color:#fff;opacity:0;pointer-events:none;transition:opacity .25s ease;
}
.video-modal-frame.is-loading .video-modal-loader{opacity:1;pointer-events:none;}
.video-modal-frame.is-ready .video-modal-poster,
.video-modal-frame.is-ready .video-modal-loader{opacity:0;pointer-events:none;}
.video-modal-spinner{
	width:42px;height:42px;border-radius:50%;
	border:3px solid rgba(255,255,255,.28);border-top-color:#fff;
	animation:videoSpin .7s linear infinite;
}
.video-modal-loader-text{font-size:13px;font-weight:700;letter-spacing:.02em;text-shadow:0 1px 8px rgba(0,0,0,.45);}
@keyframes videoSpin{to{transform:rotate(360deg);}}
.video-modal-iframe{
	position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3;
	opacity:0;transition:opacity .3s ease;
}
.video-modal-frame.is-ready .video-modal-iframe{opacity:1;}
@media (prefers-reduced-motion: reduce){
	.video-modal-spinner{animation:none;border-top-color:rgba(255,255,255,.7);}
	.video-modal-poster,.video-modal-loader,.video-modal-iframe{transition:none;}
}
body.video-modal-open{overflow:hidden;}
@media (max-width:640px){
	.video-modal{padding:16px;}
	.video-modal-close{top:8px;right:8px;width:36px;height:36px;}
}

/* ---------- sections ---------- */
section{padding:64px 0;position:relative;}
.alt{background:var(--bg-soft);}
.section-head{max-width:820px;margin:0 auto 44px;text-align:center;}
.section-head .pill-label{justify-content:center;margin:0 auto 18px;display:inline-flex;}
.section-head h2{font-size:36px;margin-top:4px;}
.section-head p{margin-top:14px;font-size:15.5px;}

/* ---------- invoice explainer ---------- */
.explain-head{max-width:820px;margin:0 auto 44px;text-align:center;}
.explain-head .pill-label{justify-content:center;margin:0 auto 18px;display:inline-flex;}
.explain-head h2{font-size:36px;margin-top:4px;}
.explain-head p{margin-top:14px;font-size:15.5px;}
.ie-wrap{position:relative;max-width:1060px;margin:0 auto;display:grid;grid-template-columns:250px 1fr 250px;gap:30px;align-items:center;}
.ie-card{background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:26px 28px;position:relative;max-width:420px;margin:0 auto;font-size:12.5px;border:1px solid var(--line);}
.ie-card .ie-top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:12px;border-bottom:2px solid var(--navy);}
.ie-card .ie-top b{font-family:'Lato',sans-serif;font-size:14px;}
.ie-card .ie-top span{font-size:10px;color:var(--navy-faint);font-weight:600;}
.ie-card .ie-brand{font-family:'Lato',sans-serif;font-weight:800;font-size:18px;margin:12px 0 8px;}
.ie-card .ie-meta{display:flex;justify-content:space-between;font-size:10.5px;color:var(--navy-soft);font-weight:600;padding:10px 0;border-bottom:1px dashed var(--line);}
.ie-card .ie-bill{padding:12px 0;border-bottom:1px dashed var(--line);font-size:11.5px;}
.ie-card .ie-bill .lbl{font-size:9px;color:var(--navy-faint);font-weight:700;letter-spacing:.06em;display:block;margin-bottom:4px;}
.ie-card .ie-bill b{font-size:12px;}
.ie-card table{width:100%;border-collapse:collapse;margin:12px 0;font-size:10.5px;}
.ie-card th{font-size:9px;color:var(--navy-faint);text-transform:uppercase;text-align:left;padding-bottom:7px;border-bottom:1px solid var(--line);font-weight:700;}
.ie-card td{padding:9px 0;border-bottom:1px solid var(--bg-soft);vertical-align:top;font-weight:500;}
.ie-card .ie-totals{margin-top:6px;}
.ie-card .ie-totals div{display:flex;justify-content:space-between;padding:6px 0;font-size:11px;color:var(--navy-soft);font-weight:600;}
.ie-card .ie-totals .grand{font-weight:800;color:var(--navy);font-size:14px;border-top:2px solid var(--navy);padding-top:11px;margin-top:4px;}
.ie-card .ie-totals .grand b{color:var(--red);}

.ie-note{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:0 16px 34px -22px rgba(18,23,63,.25);}
.ie-note .n{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--red);color:#fff;font-size:11px;font-weight:700;margin-bottom:8px;}
.ie-note p{font-size:12.5px;color:var(--navy);line-height:1.45;margin:0;font-weight:500;}

/* typewriter cursor for the invoice explainer note copy */
.ie-note p.tw::after{content:'';display:inline-block;width:2px;height:12px;margin-left:2px;background:var(--red);vertical-align:-1px;opacity:0;}
.ie-note p.tw.typing::after{opacity:1;animation:twBlink .8s steps(1) infinite;}
@keyframes twBlink{50%{opacity:0;}}

/* typewriter for the hero subheading */
.hero-text h1 .tw-hero{color:var(--red);white-space:nowrap;display:inline-block;min-width:9.5ch;}
.hero-text h1 .tw-hero::after{content:'';display:inline-block;width:3px;height:.85em;margin-left:3px;background:var(--red);vertical-align:-3px;opacity:1;animation:twBlink .8s steps(1) infinite;}
@media (max-width:640px){.hero-text h1 .tw-hero{white-space:normal;}}

/* pin icon pinning the invoice card */
.ie-card{overflow:visible;}
.ie-pin{position:absolute;top:-16px;left:50%;transform:translateX(-50%) rotate(0deg) scale(0);width:34px;height:34px;border-radius:50%;background:#fff;box-shadow:0 10px 22px -8px rgba(216,31,38,.5),0 0 0 3px var(--bg);display:flex;align-items:center;justify-content:center;z-index:4;color:var(--red);opacity:0;animation:pinDrop .7s cubic-bezier(.34,1.56,.64,1) .3s forwards;}
.ie-pin svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;}
.ie-pin::before{content:'';position:absolute;left:50%;top:100%;width:1.5px;height:10px;background:var(--navy-faint);opacity:.35;transform:translateX(-50%);}
@keyframes pinDrop{
  0%{opacity:0;transform:translateX(-50%) translateY(-26px) rotate(-25deg) scale(.4);}
  60%{opacity:1;transform:translateX(-50%) translateY(4px) rotate(8deg) scale(1.08);}
  80%{transform:translateX(-50%) translateY(-2px) rotate(-4deg) scale(.97);}
  100%{opacity:1;transform:translateX(-50%) translateY(0) rotate(0deg) scale(1);}
}
.ie-pin.settled{animation:pinIdle 3.4s ease-in-out 1.1s infinite;}
@keyframes pinIdle{0%,100%{transform:translateX(-50%) rotate(0deg);}50%{transform:translateX(-50%) rotate(4deg);}}
.ie-col{display:flex;flex-direction:column;gap:74px;}
.ie-arrow{position:absolute;top:50%;height:0;border-top:1.5px dashed var(--line);}
.ie-col.left .ie-arrow{right:-30px;width:30px;}
.ie-col.right .ie-arrow{left:-30px;width:30px;}
.ie-arrow::after{content:'';position:absolute;top:-3.5px;width:7px;height:7px;border-radius:50%;background:var(--red);animation:travel 2.4s linear infinite;}
.ie-col.left .ie-arrow::after{animation-name:travelR;}
.ie-col.right .ie-arrow::after{animation-name:travelL;}
@keyframes travelR{0%{left:0;opacity:0;}10%{opacity:1;}90%{opacity:1;}100%{left:100%;opacity:0;}}
@keyframes travelL{0%{right:0;opacity:0;}10%{opacity:1;}90%{opacity:1;}100%{right:100%;opacity:0;}}

/* ---------- features ---------- */
.feat-section{
	background:
		radial-gradient(520px 240px at 8% 0%, rgba(216,31,38,.06), transparent 70%),
		radial-gradient(480px 220px at 92% 100%, rgba(18,23,63,.05), transparent 70%),
		var(--bg-soft);
}
.feat-section .section-head{max-width:720px;margin-bottom:52px;}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.feat{
	position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
	padding:28px 26px 30px;
	display:flex;flex-direction:column;min-height:100%;overflow:hidden;
}
.feat::before{
	content:'';position:absolute;left:0;top:22px;bottom:22px;width:3px;border-radius:0 3px 3px 0;
	background:transparent;transition:background .25s ease;
}
.feat.in:hover{box-shadow:0 24px 48px -28px rgba(18,23,63,.28);border-color:#D7E4FB;}
.feat.in:hover::before{background:var(--red);}
.feat-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;}
.feat .icon{
	width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;
	transition:background .3s ease,color .3s ease,transform .3s ease;
}
.feat:nth-child(odd) .icon{background:#FDECEC;color:var(--red);}
.feat:nth-child(even) .icon{background:#EAECF6;color:var(--navy);}
.feat-num{font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--navy-faint);line-height:1;}
.feat h4{font-size:17.5px;margin:0 0 10px;line-height:1.35;letter-spacing:-.01em;}
.feat p{font-size:14px;line-height:1.65;margin:0;color:var(--navy-soft);}

/* animated feature icons — each plays a subtle looping motion */
.feat .icon svg{transform-origin:center;will-change:transform;width:24px;height:24px;stroke:currentColor;fill:none;}
.feat .icon img{width:24px;height:24px;object-fit:contain;display:block;}
.feat:hover .icon{background:var(--red) !important;color:#fff !important;transform:scale(1.04);}
.feat:hover .icon img{filter:brightness(0) invert(1);}
.feat:nth-child(1) .icon svg{animation:iconSpin 5s linear infinite;}
.feat:nth-child(2) .icon svg{animation:iconPop 2.4s ease-in-out infinite;}
.feat:nth-child(3) .icon svg{animation:iconBob 2.6s ease-in-out infinite;}
.feat:nth-child(4) .icon svg{animation:iconWiggle 3.2s ease-in-out infinite;}
.feat:nth-child(5) .icon svg{animation:iconArrow 1.8s ease-in-out infinite;}
.feat:nth-child(6) .icon svg{animation:iconPulseScale 2.2s ease-in-out infinite;}
@keyframes iconSpin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
@keyframes iconPop{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-4px) scale(1.08);}}
@keyframes iconBob{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-5px) rotate(-4deg);}}
@keyframes iconWiggle{0%,100%{transform:rotate(0deg);}25%{transform:rotate(-8deg);}75%{transform:rotate(8deg);}}
@keyframes iconArrow{0%,100%{transform:translateY(0);opacity:1;}45%{transform:translateY(5px);opacity:.5;}50%{transform:translateY(-6px);opacity:.5;}90%{transform:translateY(0);opacity:1;}}
@keyframes iconPulseScale{0%,100%{transform:scale(1);}50%{transform:scale(1.15);}}
@media (prefers-reduced-motion: reduce){.feat .icon svg{animation:none !important;}}
@media (max-width:980px){.feat-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.feat-grid{grid-template-columns:1fr;}.feat{padding:24px 22px;}}

/* ---------- pricing ---------- */
.pricing-section{background:var(--navy);}
.pricing-section .section-head{max-width:820px;}
.pricing-section .section-head h2{color:#fff;}
.pricing-section .section-head p{color:#B7BEDA;}
.pricing-section .pill-label{background:rgba(255,255,255,.12);color:#E9A6A9;}
.pricing-section .pill-label .dot{background:#E9A6A9;}
.tabs{display:flex;justify-content:center;gap:6px;margin:0 auto 50px;background:rgba(255,255,255,.08);width:max-content;padding:6px;border-radius:99px;}
.tab-btn{padding:11px 28px;border-radius:99px;border:none;background:transparent;color:#B7BEDA;font-weight:700;font-size:13.5px;cursor:pointer;font-family:'Lato',sans-serif;transition:.25s;display:inline-flex;align-items:center;gap:8px;}
.tab-btn.active{background:#fff;color:var(--navy);}
.tab-ic{flex:none;}

/* platform decoration icons above the pricing grid */
.price-panels{position:relative;}
.platform-icon{position:absolute;top:-64px;right:6px;width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s ease;z-index:2;}
.platform-icon.active{opacity:1;}
.platform-icon svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.6;position:relative;z-index:1;}
.wp-icon{background:rgba(255,255,255,.06);color:#9AA2C4;animation:pIconFloat 3.6s ease-in-out infinite;}
.wp-icon .wp-ring{position:absolute;inset:-6px;border-radius:50%;border:1.5px dashed rgba(154,162,196,.5);animation:wpSpin 8s linear infinite;}
@keyframes wpSpin{to{transform:rotate(360deg);}}
.shopify-icon{background:rgba(149,97,226,.14);color:#A78BFA;animation:pIconFloat 3.2s ease-in-out .2s infinite;}
@keyframes pIconFloat{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-7px) rotate(-4deg);}}
@media (max-width:640px){.platform-icon{display:none;}}

.price-grid.single{grid-template-columns:1fr;max-width:420px;margin:0 auto;}
.price-grid.cols-3{grid-template-columns:repeat(3,1fr);max-width:1080px;margin:0 auto;}
.price-grid.cols-3 .price-card h4{min-height:0;}
.price-card .plan-trial{margin-top:18px;padding-top:16px;border-top:1px solid #38446E;font-size:12px;color:#9AA2C4;font-weight:600;text-align:center;}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.price-card{background:#28345F;border-radius:var(--radius-lg);padding:30px 24px;color:#fff;display:flex;flex-direction:column;transition:.3s ease;position:relative;border:1px solid #38446E;}
.price-card:hover{transform:translateY(-8px);box-shadow:0 30px 60px -24px rgba(0,0,0,.5);}
.price-card.highlight{background:linear-gradient(160deg,#1B2354,#28345F);border-color:var(--red);}
.price-card.highlight .tag{position:absolute;top:-12px;right:22px;background:var(--red);color:#fff;font-size:10.5px;font-weight:700;padding:5px 12px;border-radius:99px;overflow:hidden;white-space:nowrap;letter-spacing:.04em;}
.price-card.highlight .tag::before{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.85),transparent);transform:skewX(-20deg);animation:tagSparkle 2.6s ease-in-out infinite;}
.price-card.highlight .tag .spark{position:absolute;width:5px;height:5px;background:#fff;border-radius:50%;box-shadow:0 0 6px 1px #fff;animation:sparkTwinkle 1.8s ease-in-out infinite;}
.price-card.highlight .tag .spark.s1{top:2px;left:8px;animation-delay:.1s;}
.price-card.highlight .tag .spark.s2{bottom:2px;right:10px;animation-delay:.7s;}
@keyframes tagSparkle{0%{left:-60%;}55%{left:130%;}100%{left:130%;}}
@keyframes sparkTwinkle{0%,100%{opacity:0;transform:scale(.4);}50%{opacity:1;transform:scale(1);}}
.price-card h4{color:#fff;font-size:15.5px;min-height:42px;}
.price-card .price{font-family:'Lato',sans-serif;font-size:28px;margin-top:14px;color:#fff;font-weight:700;}
.price-card .price span{font-size:12px;color:#9AA2C4;font-weight:400;}
.price-card .validity{font-size:11px;color:#9AA2C4;margin-top:4px;margin-bottom:22px;font-weight:600;}
.price-card .validity.is-hi{
  display:inline-block;font-size:13.5px;font-weight:800;letter-spacing:.04em;color:#fff;
  background:rgba(216,31,38,.22);border:1px solid rgba(216,31,38,.5);
  padding:5px 11px;border-radius:99px;margin-top:8px;
}
.price-card ul{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:11px;flex:1;}
.price-card li{display:flex;gap:10px;font-size:12.5px;color:#C7CCE6;align-items:flex-start;}
.price-card li.no{color:#7A81A8;}
.price-card li.is-hi{
  font-weight:800;letter-spacing:.04em;color:#fff;
  background:rgba(216,31,38,.18);border:1px solid rgba(216,31,38,.45);
  padding:8px 10px;border-radius:10px;margin:-2px 0;
}
.price-card li.is-hi .ico{background:var(--red);}
.price-card li .ico{flex:none;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff;margin-top:1px;}
.price-card li:not(.no) .ico{background:#1FA971;}
.price-card li.no .ico{background:#D64550;}
.price-card .btn{width:100%;justify-content:center;}
.price-actions{display:flex;gap:10px;}
.price-actions .btn{flex:1;width:auto;padding:14px 10px;font-size:13px;white-space:nowrap;justify-content:center;letter-spacing:-.01em;}
.btn-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.28);}
.btn-outline:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55);transform:translateY(-2px);}

/* ---------- CTA banner ---------- */
.cta-banner{text-align:center;padding:60px 0;}
.cta-banner.alt{position:relative;z-index:50;overflow:visible;}
.cta-banner.alt .wrap{overflow:visible;}
.cta-banner h2{font-size:32px;}
.cta-banner p{margin-top:12px;font-size:15px;}
.cta-banner .btn{margin-top:30px;}
.sample-btns{display:flex;justify-content:center;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-top:30px;}
.sample-btns .btn{margin-top:0;letter-spacing:.04em;}
.sample-dd{position:relative;display:inline-block;z-index:1;}
.sample-dd.is-open{z-index:60;}
.sample-btns .btn.sample-dd-toggle{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding-left:56px;
  padding-right:56px;
}
.sample-dd-label{position:relative;z-index:1;}
.sample-dd-ico{
  position:absolute;
  left:28px;
  top:50%;
  width:24px;
  height:24px;
  transform:translateY(-50%);
  z-index:2;
  pointer-events:none;
  transition:left .45s cubic-bezier(.22,1,.36,1);
}
.sample-dd-ico svg{width:24px;height:24px;display:block;overflow:visible;}
.sample-dd-toggle:hover .sample-dd-ico{left:calc(100% - 52px);}
.sample-dd-menu{position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);min-width:280px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:0 18px 40px -16px rgba(18,23,63,.35);padding:8px 0;z-index:70;text-align:left;}
.sample-dd-menu a{display:block;padding:10px 16px;font-size:14px;font-weight:600;color:var(--navy-soft);}
.sample-dd-menu a:hover{background:var(--bg-soft);color:var(--navy);}
@media (prefers-reduced-motion: reduce){
  .sample-dd-ico{transition:none;}
  .sample-dd-toggle:hover .sample-dd-ico{left:28px;}
}

/* ---------- process ---------- */
.flow{display:flex;justify-content:space-between;position:relative;gap:16px;}
.flow::before{content:'';position:absolute;top:28px;left:6%;right:6%;height:2px;background:var(--line);z-index:0;}
.flow-item{flex:1;text-align:center;position:relative;z-index:1;}
.flow-node{width:56px;height:56px;border-radius:50%;background:#fff;border:2px solid var(--line);color:var(--navy);display:flex;align-items:center;justify-content:center;font-family:'Lato',sans-serif;font-weight:700;margin:0 auto 22px;transition:.3s;}
.flow-item:hover .flow-node{background:var(--red);border-color:var(--red);color:#fff;}
.flow-item h4{font-size:15.5px;margin-bottom:10px;}
.flow-item p{font-size:13px;max-width:230px;margin:0 auto;}

/* ---------- four-step setup (scroll-pinned) ---------- */
.steps-scroll{padding:0;position:relative;z-index:1;}
.steps-spacer{height:320vh;position:relative;}
.steps-pin{position:sticky;top:78px;height:calc(100vh - 78px);display:flex;align-items:center;overflow:hidden;padding:60px 0;}
.steps-body{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center;margin-top:50px;width:100%;}
.steps-nav{position:relative;}
.steps-nav::before{content:'';position:absolute;left:13px;top:14px;bottom:14px;width:2px;background:var(--line);}
.steps-nav-fill{position:absolute;left:13px;top:14px;width:2px;background:var(--red);height:0%;transition:height .25s ease;z-index:1;}
.steps-nav-item{position:relative;z-index:2;display:flex;align-items:center;gap:16px;padding:18px 0;cursor:pointer;}
.steps-nav-item .dot{flex:none;width:28px;height:28px;border-radius:50%;background:var(--bg-soft);border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--navy-faint);transition:.3s;}
.steps-nav-item.active .dot{background:var(--red);border-color:var(--red);color:#fff;}
.steps-nav-item .lbl{font-size:15px;font-weight:500;color:var(--navy-faint);transition:.3s;}
.steps-nav-item.active .lbl{color:var(--navy);font-weight:700;}
.steps-panel{position:relative;min-height:190px;}
.steps-panel-card{position:absolute;inset:0;opacity:0;transform:translateY(16px);transition:opacity .4s ease,transform .4s ease;pointer-events:none;}
.steps-panel-card.active{opacity:1;transform:translateY(0);pointer-events:auto;}
.steps-panel-card .big-num{font-size:13px;font-weight:700;color:var(--red);letter-spacing:.1em;}
.steps-panel-card h4{font-size:27px;margin:14px 0 16px;}
.steps-panel-card p{font-size:16px;max-width:440px;}

/* 4K / ultra-wide — tighter vertical layout */
@media (min-width: 2560px){
  .steps-spacer{height:280vh;}
  .steps-pin{padding:32px 0;}
  .steps-scroll .section-head{margin-bottom:32px;}
  .steps-body{margin-top:28px;gap:48px;}
  .steps-nav-item{padding:12px 0;}
  .steps-panel{min-height:160px;}
}

/* ---------- reasons ---------- */
.reasons-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:8px 18px;}
.reasons-grid{display:flex;flex-direction:column;}

/* reasons section split layout with invoice mockup banner */
.reasons-split{display:grid;grid-template-columns:1fr .82fr;gap:36px;align-items:center;}
.reasons-split .reasons-col{display:flex;flex-direction:column;gap:0;}

/* right-side animated invoice banner */
.reasons-mock{position:relative;display:flex;justify-content:center;padding:10px 0;}
.reasons-mock .rm-shadow{position:absolute;width:100%;max-width:340px;height:100%;border-radius:20px;border:1px solid var(--line);top:16px;left:50%;transform:translateX(calc(-50% - 16px)) rotate(-4deg);z-index:0;background:var(--bg-soft);}
.reasons-mock .rm-card{width:100%;max-width:340px;background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:26px 24px;position:relative;border:1px solid var(--line);z-index:1;transform:rotate(1.6deg);animation:rmFloat 6s ease-in-out infinite;animation-play-state:paused;}
@keyframes rmFloat{0%,100%{transform:rotate(1.6deg) translateY(0);}50%{transform:rotate(1.6deg) translateY(-10px);}}
.reasons-mock .rm-head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:14px;border-bottom:1.5px dashed var(--line);}
.reasons-mock .rm-head .mark{width:30px;height:30px;border-radius:8px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Lato',sans-serif;font-size:12px;font-weight:700;}
.reasons-mock .rm-head .no{font-size:10.5px;color:var(--navy-faint);text-align:right;font-weight:600;line-height:1.5;}
.reasons-mock .rm-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--bg-soft);font-size:12.5px;}
.reasons-mock .rm-row .name{color:var(--navy);font-weight:600;overflow:hidden;}
.reasons-mock .rm-row .name span{display:inline-block;white-space:nowrap;overflow:hidden;width:0;}
.reasons-mock .rm-row .amt{font-weight:600;color:var(--navy-soft);}
.reasons-mock .rm-total{display:flex;justify-content:space-between;padding-top:16px;margin-top:4px;font-weight:800;}
.reasons-mock .rm-total .amt{color:var(--red);font-size:17px;}
.reasons-mock .rm-badges{display:flex;gap:8px;margin-top:16px;}
.reasons-mock .rm-badges span{font-size:9.5px;font-weight:700;background:var(--bg-soft);color:var(--navy-soft);padding:4px 9px;border-radius:6px;letter-spacing:.02em;}
.reasons-mock .rm-stamp{position:absolute;top:-18px;right:-18px;width:96px;height:96px;border-radius:50%;border:2.5px solid var(--red);color:var(--red);display:flex;align-items:center;justify-content:center;text-align:center;font-size:9.5px;font-weight:800;letter-spacing:.02em;background:rgba(255,255,255,.94);transform:scale(0) rotate(-18deg);opacity:0;z-index:2;}
.reasons-mock .rm-stamp::before{content:'';position:absolute;inset:7px;border:1px solid var(--red);border-radius:50%;opacity:.5;}

/* animations only run once this section scrolls into view */
.reasons-mock.in .rm-card{animation-play-state:running;}
.reasons-mock.in .rm-row .name span{animation:rmType .6s steps(20,end) forwards;}
@keyframes rmType{to{width:100%;}}
.reasons-mock.in .rm-stamp{animation:rmStampIn .5s cubic-bezier(.34,1.56,.64,1) 1.6s forwards;}
@keyframes rmStampIn{0%{transform:scale(2.4) rotate(-18deg);opacity:0;}70%{opacity:1;}100%{transform:scale(1) rotate(-14deg);opacity:1;}}
@media (max-width:980px){.reasons-split{grid-template-columns:1fr;}.reasons-mock{order:-1;margin-bottom:8px;}}
.reason-item{display:flex;align-items:center;gap:14px;font-size:15.5px;font-weight:600;color:var(--navy);padding:18px 2px;border-radius:14px;transition:.25s;border-bottom:1px solid var(--bg-soft);}
.reason-item:last-child{border-bottom:none;}
.reason-item:hover{background:var(--bg-soft);}
.reason-item .ico{flex:none;width:30px;height:30px;border-radius:50%;background:#FDECEC;color:var(--red);display:flex;align-items:center;justify-content:center;font-weight:700;}

/* ---------- support banner ---------- */
.support-banner{display:flex;align-items:center;gap:30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:44px 50px;}
.support-banner .ico{flex:none;width:64px;height:64px;border-radius:18px;background:#FDECEC;display:flex;align-items:center;justify-content:center;color:var(--red);}
.support-banner h4{font-size:20px;margin-bottom:6px;}
.support-banner p{font-size:14.5px;}
.support-banner .btn{margin-left:auto;flex:none;}

/* ---------- FAQ ---------- */
.faq-search{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:99px;padding:6px 6px 6px 22px;max-width:520px;margin:0 auto 46px;background:#fff;}
.faq-search input{flex:1;border:none;outline:none;font-size:14.5px;background:transparent;padding:10px 0;color:var(--navy);}
.faq-search button{background:var(--navy);color:#fff;border:none;border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.faq-item{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;cursor:pointer;font-weight:600;font-size:15px;}
.faq-q .plus{flex:none;width:28px;height:28px;border-radius:50%;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;position:relative;transition:.3s;}
.faq-q .plus::before,.faq-q .plus::after{content:'';position:absolute;background:var(--navy);transition:.3s;}
.faq-q .plus::before{width:10px;height:2px;}
.faq-q .plus::after{width:2px;height:10px;}
.faq-item.open .plus{background:var(--red);}
.faq-item.open .plus::before,.faq-item.open .plus::after{background:#fff;}
.faq-item.open .plus::after{transform:scaleY(0);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-a p{padding:0 24px 22px;font-size:14.5px;}

/* ---------- newsletter ---------- */
.newsletter{background:linear-gradient(120deg,var(--navy),#2C3D78);text-align:center;padding:56px 0;}
.newsletter h3{color:#fff;font-size:36px;line-height:1.25;}
.newsletter p{color:#B7BEDA;margin:10px auto 0;max-width:520px;}
.subscribe{max-width:520px;margin:26px auto 0;}
.subscribe .mc4wp-form,
.subscribe .mc4wp-form-fields{margin:0;}
.newsletter .mail-form{
  display:flex;align-items:stretch;gap:0;
  background:#fff;border-radius:99px;padding:5px;
  max-width:520px;margin:0 auto;position:relative;
}
.newsletter .mail-form input,
.newsletter .mail-form input.form-control{
  flex:1;min-width:0;width:auto;height:auto;min-height:0;
  border:none;outline:none;box-shadow:none;background:transparent;
  padding:12px 18px;font-family:'Lato',sans-serif;font-size:14px;
  color:var(--navy);border-radius:99px;line-height:1.3;
}
.newsletter .mail-form input::placeholder{color:#9AA2C4;}
.newsletter .mail-button{flex:none;display:flex;align-items:stretch;}
.newsletter .mail-button button,
.newsletter .mail-button button.btn{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--red);color:#fff;border:none;border-radius:99px;
  padding:12px 22px;min-width:0;min-height:0;height:auto;width:auto;
  font-family:'Lato',sans-serif;font-size:13.5px;font-weight:700;
  line-height:1;cursor:pointer;background-image:none;position:static;
}
.newsletter .mail-button button.btn.svg::after{content:'Subscribe';}
.newsletter .mail-button button:hover{background:var(--red-dark);}
.subscribe .mc4wp-response{margin-top:12px;color:#fff;font-size:14px;}

/* ---------- footer ---------- */
footer{background:var(--navy);color:#B7BEDA;padding:70px 0 30px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.1);align-items:start;}
.foot-menus{display:contents;}
.foot-logo{display:inline-flex;margin-bottom:16px;}
.foot-logo img{height:36px;width:auto;margin-bottom:0;background:transparent;}
footer p{color:#8B92C4;font-size:13.5px;}
.foot-col h5{color:#fff;font-size:13px;letter-spacing:.03em;margin-bottom:18px;}
.foot-col .foot-menu,
.foot-col .menu{list-style:none;margin:0;padding:0;}
.foot-col .foot-menu li,
.foot-col .menu li{margin:0;}
.foot-col a{display:block;color:#B7BEDA;font-size:14px;margin-bottom:12px;transition:.2s;}
.foot-col a:hover{color:#fff;}
.foot-social{display:flex;gap:10px;margin-top:20px;}
.foot-social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;display:flex;align-items:center;justify-content:center;}
.foot-social a:hover{background:var(--red);color:#fff;}
.foot-bottom{padding-top:26px;text-align:center;font-size:13px;color:#B7BEDA;line-height:1.6;}
.foot-bottom a{color:#fff;font-weight:700;}
.foot-bottom a:hover{color:#fff;text-decoration:underline;text-underline-offset:2px;}

.enquire-dock{position:fixed;right:0;bottom:130px;z-index:220;}
.enquire-dock-btn{
  width:46px;height:168px;padding:0;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  background:var(--red);color:#fff;border-radius:12px 0 0 12px;
  font-family:'Lato',sans-serif;box-shadow:-8px 14px 28px -14px rgba(216,31,38,.5);
}
.enquire-dock-btn span{
  display:inline-block;transform:rotate(-90deg);white-space:nowrap;
  font-weight:800;font-size:14px;letter-spacing:.06em;
}
.enquire-dock-btn:hover{background:var(--red-dark);}
.enquire-dock-panel{
  position:absolute;right:100%;bottom:0;width:360px;
  max-height:calc(100vh - 240px);overflow-y:auto;
  background:#fff;border:1px solid var(--line);border-radius:16px 0 0 16px;
  box-shadow:0 22px 48px -18px rgba(18,23,63,.38);padding:28px 20px 16px;text-align:left;
}
.enquire-dock-panel[hidden]{display:none;}
.enquire-dock-close{
  position:absolute;top:6px;right:8px;width:32px;height:32px;
  border:none;background:transparent;color:var(--navy);font-size:22px;line-height:1;cursor:pointer;
}
.enquire-dock-form .wpcf7 p{margin:0;}
.enquire-dock-form .wpcf7 br{display:none;}
.enquire-dock-form label{display:block;font-size:12.5px;font-weight:600;color:var(--navy);margin:5px 0;padding:0;line-height:1.25;}
.enquire-dock-form .wpcf7-form-control-wrap{display:block;margin:0 0 5px;}
.enquire-dock-form input[type=text],
.enquire-dock-form input[type=email],
.enquire-dock-form input[type=tel],
.enquire-dock-form textarea{
  width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;
  padding:8px 12px;margin:0;font:inherit;color:var(--navy);background:#fff;
}
.enquire-dock-form textarea{height:52px !important;min-height:52px;max-height:72px;resize:vertical;}
.enquire-dock-form input.wpcf7-submit,
.enquire-dock-form .wpcf7-submit,
.enquire-dock-form .form-control.btn{
  width:100%;background:var(--red);color:#fff;border:none;border-radius:99px;
  padding:14px 22px;font-weight:700;cursor:pointer;font-family:'Lato',sans-serif;
}
.enquire-dock-form .wpcf7-not-valid-tip{font-size:12px;color:var(--red);margin:-8px 0 12px;}
.enquire-dock-form .gst-req,
.lets-talk-form .gst-req,
.gst-req{color:var(--red);font-weight:700;margin-left:2px;}
.enquire-dock-form .wpcf7-response-output{margin:12px 0 0;font-size:13px;}
.enquire-dock-form .wpcf7-form.submitting .wpcf7-submit,
.enquire-dock-form .wpcf7-form[data-gst-locked="1"] .wpcf7-submit{opacity:.65;pointer-events:none;cursor:not-allowed;}
.enquire-dock-form .wpcf7-form-control-wrap .wpcf7-not-valid-tip ~ .wpcf7-not-valid-tip{display:none !important;}

.svgicon{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;}
  .mock-wrap{margin-top:44px;}
  .feat-grid{grid-template-columns:1fr 1fr;}
  .price-grid{grid-template-columns:1fr 1fr;}
  .price-grid.cols-3{grid-template-columns:1fr;}
  .foot-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .foot-brand{grid-column:1 / -1;}
  .foot-menus{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    width:100%;
  }
  .foot-col{min-width:0;}
  .foot-col h5{font-size:12px;margin-bottom:12px;}
  .foot-col a{font-size:12.5px;margin-bottom:8px;}
  .flow{flex-direction:column;gap:34px;}
  .flow::before{display:none;}
  .flow-item p{max-width:none;}
  .ie-wrap{grid-template-columns:1fr;}
  .ie-col{flex-direction:row;flex-wrap:wrap;gap:14px;justify-content:center;order:2;}
  .ie-arrow{display:none;}
  .ie-note{max-width:260px;}
  .ie-card{order:1;margin-bottom:24px;}
  /* Pricing tabs: avoid page-wide horizontal scroll */
  .tabs{
    width:100%;max-width:100%;box-sizing:border-box;
    flex-wrap:wrap;justify-content:center;gap:4px;
    overflow-x:auto;-webkit-overflow-scrolling:touch;
  }
  .tab-btn{padding:10px 18px;font-size:12.5px;}
  .sample-btns{flex-direction:column;align-items:stretch;}
  .sample-btns .btn,.sample-dd{width:100%;}
  .sample-dd .btn{width:100%;justify-content:center;}
  .sample-dd-menu{left:0;right:0;transform:none;min-width:0;width:100%;}
}
@media (max-width:640px){
  .wrap{padding:0 20px;}
  .hero-text h1{font-size:34px;}
  .feat-grid{grid-template-columns:1fr;}
  .price-grid{grid-template-columns:1fr;}
  .steps-spacer{height:auto !important;}
  .steps-pin{position:static !important;height:auto !important;padding:0;overflow:visible;}
  .steps-body{grid-template-columns:1fr;gap:0;margin-top:36px;}
  .steps-nav{display:none;}
  .steps-panel{min-height:auto;}
  .steps-panel-card{position:static !important;opacity:1 !important;transform:none !important;pointer-events:auto !important;padding:22px 0;border-bottom:1px solid var(--line);}
  .steps-panel-card:last-child{border-bottom:none;}
  .support-banner{flex-direction:column;text-align:center;}
  .support-banner .btn{margin-left:0;}
  .foot-grid{
    grid-template-columns:1fr;
    gap:22px;
    padding-bottom:28px;
  }
  .foot-brand{grid-column:1 / -1;}
  .foot-menus{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    width:100%;
  }
  .foot-col{min-width:0;}
  .foot-col h5{font-size:11.5px;letter-spacing:.02em;margin-bottom:10px;line-height:1.35;}
  .foot-col a{font-size:12px;margin-bottom:8px;line-height:1.35;}
  section{padding:48px 0;}
  .newsletter h3{font-size:26px;}
  .newsletter .mail-form{max-width:100%;}
  .ie-card{padding:18px 16px;font-size:11px;}
  .device-chip{display:none;}
  .floating-cta{right:96px;bottom:20px;}
  .enquire-dock{bottom:0;left:0;right:0;}
  .enquire-dock-btn{width:100%;height:auto;border-radius:0;padding:14px 16px;}
  .enquire-dock-btn span{transform:none;}
  .enquire-dock-panel{right:0;bottom:56px;width:100%;max-height:min(68vh, calc(100vh - 120px));border-radius:16px 16px 0 0;}
  /* Keep Designed By / copyright above the full-width Enquire bar */
  footer{padding-bottom:96px;}
  .foot-bottom{display:block !important;visibility:visible;position:relative;z-index:1;padding:22px 8px 8px;}
}

/* Keep header spacing identical on inner pages (old style.css still loads there). */
header#siteHeader{
  position:sticky !important;
  top:0;
  left:auto;
  right:auto;
  z-index:100;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  margin:0;
  background:rgba(255,255,255,.9);
  border-bottom:1px solid var(--line);
  box-shadow:none;
}
header#siteHeader.scrolled{box-shadow:0 8px 24px -18px rgba(18,23,63,.18);}
header#siteHeader .wrap{max-width:1180px;margin:0 auto;padding:0 32px;width:100%;}
header#siteHeader nav{
  display:grid !important;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  height:78px !important;
  min-height:0 !important;
  gap:16px;
  padding:0 !important;
  margin:0 !important;
  width:100%;
}
header#siteHeader .logo img{
  height:48px !important;
  width:auto !important;
  max-height:48px;
  max-width:220px;
  display:block;
  margin:0;
  padding:0;
  object-fit:contain;
  object-position:left center;
  background:transparent !important;
  box-shadow:none !important;
}
header#siteHeader .logo{
  margin:0 !important;
  padding:0 !important;
  justify-self:start;
  min-width:0;
  max-width:100%;
}
header#siteHeader .navlinks ul{
  display:flex;
  align-items:center;
  gap:32px;
  list-style:none;
  margin:0 !important;
  padding:0 !important;
}
header#siteHeader .navlinks li{
  position:relative;
  margin:0 !important;
  padding:0 !important;
}
header#siteHeader .navlinks li:after,
header#siteHeader .navlinks li:before{display:none !important;content:none !important;}
header#siteHeader .navlinks a,
header#siteHeader .navlinks li > a{
  position:relative;
  display:inline-block;
  padding:4px 0 !important;
  margin:0 !important;
  line-height:1.2;
  font-size:14.5px;
  font-weight:600;
  color:var(--navy-soft);
}
header#siteHeader .navlinks a:after,
header#siteHeader .navlinks li > a:after{
  content:'' !important;
  position:absolute !important;
  left:0 !important;
  right:auto !important;
  top:auto !important;
  bottom:-2px !important;
  width:0 !important;
  height:2px !important;
  border-radius:2px;
  background:var(--red) !important;
  opacity:1 !important;
  transform:none !important;
  transition:width .25s ease !important;
}
header#siteHeader .navlinks a:hover:after,
header#siteHeader .navlinks li > a:hover:after{
  width:100% !important;
  height:2px !important;
  opacity:1 !important;
  transform:none !important;
}
header#siteHeader .navlinks a:hover{color:var(--navy);}
header#siteHeader .nav-right{justify-self:end;display:flex;align-items:center;gap:10px;margin:0;padding:0;}
@media (max-width:980px){
  header#siteHeader nav{grid-template-columns:minmax(0,1fr) auto;height:78px !important;}
  header#siteHeader .logo img{
    height:36px !important;max-height:36px !important;
    max-width:min(158px,46vw) !important;
  }
  header#siteHeader .wrap{padding:0 16px !important;}
  /* Final mobile menu lock — hide until hamburger opens it */
  header#siteHeader .navlinks{display:none !important;}
  header#siteHeader .navlinks.is-open{display:flex !important;flex-direction:column !important;}
  header#siteHeader .navlinks.is-open > ul{
    display:flex !important;flex-direction:column !important;align-items:stretch !important;
    gap:0 !important;width:100%;
  }
  header#siteHeader .navlinks.is-open li{width:100%;border-bottom:1px solid var(--line);}
  header#siteHeader .navlinks.is-open li:last-child{border-bottom:0;}
  header#siteHeader .navlinks.is-open > ul > li > a{
    display:block !important;padding:14px 4px !important;white-space:normal;
  }
  header#siteHeader .navlinks.is-open a:after{display:none !important;width:0 !important;}
}

/* Logo typewriter preloader */
.gst-preloader{
  position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;
  background:#fff;
  transition:opacity .45s ease, visibility .45s ease;
}
.gst-preloader.is-done{opacity:0;visibility:hidden;pointer-events:none;}
.gst-preloader-word{
  display:flex;align-items:center;gap:12px;
  font-family:'Lato',sans-serif;font-weight:800;font-size:44px;letter-spacing:-.03em;line-height:1;
}
.gst-preloader-ico{
  width:46px;height:46px;object-fit:contain;opacity:0;transform:scale(.7);
  transition:opacity .35s ease, transform .45s cubic-bezier(.16,.8,.3,1);
}
.gst-preloader-ico.is-in{opacity:1;transform:scale(1);}
.gst-preloader-gst{color:#12173F;}
.gst-preloader-inv{color:#D81F26;}
.gst-preloader-caret{
  width:3px;height:.82em;background:#D81F26;border-radius:1px;margin-left:3px;
  animation:gstCaret .7s steps(1) infinite;
}
.gst-preloader-caret.is-off{opacity:0;animation:none;}
@keyframes gstCaret{50%{opacity:0;}}
@media (max-width:640px){
  .gst-preloader-word{font-size:32px;gap:8px;}
  .gst-preloader-ico{width:34px;height:34px;}
}
@media (prefers-reduced-motion: reduce){
  .gst-preloader-ico{opacity:1;transform:none;transition:none;}
  .gst-preloader-caret{animation:none;}
}

/* 404 page */
body.gst-404{background:var(--bg-soft);}
body.gst-404 .page-hero{position:relative;background:linear-gradient(120deg,var(--navy) 0%,#1B2260 100%);padding:56px 0 50px;overflow:hidden;}
body.gst-404 .page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(420px 220px at 12% 20%, rgba(216,31,38,.25), transparent 70%),radial-gradient(360px 220px at 90% 110%, rgba(255,255,255,.08), transparent 70%);}
body.gst-404 .page-hero .in{position:relative;z-index:1;}
body.gst-404 .page-hero h1{color:#fff;font-size:34px;margin:0;}
body.gst-404 .page-hero .crumb{margin-top:12px;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.65);display:flex;gap:8px;align-items:center;}
body.gst-404 .page-hero .crumb a{color:rgba(255,255,255,.65);}
body.gst-404 .page-hero .crumb a:hover{color:#fff;}
body.gst-404 .page-hero .crumb b{color:#fff;font-weight:700;}
.error-404-body{padding:56px 0 90px;}
.error-404-card{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 20px 44px -30px rgba(18,23,63,.2);padding:48px 40px;text-align:center;}
.error-404-code{font-size:72px;font-weight:900;line-height:1;color:var(--red);letter-spacing:-.04em;margin-bottom:12px;}
.error-404-card h2{font-size:28px;margin-bottom:12px;}
.error-404-card p{font-size:15px;margin-bottom:28px;}
.error-404-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:99px;font-size:14px;font-weight:700;border:1.5px solid var(--line);color:var(--navy);background:#fff;transition:.2s;}
.btn-ghost:hover{border-color:var(--navy-soft);transform:translateY(-2px);}
@media (max-width:640px){
  body.gst-404 .page-hero h1{font-size:26px;}
  .error-404-card{padding:36px 24px;}
  .error-404-code{font-size:56px;}
  .error-404-card h2{font-size:22px;}
}
