/* Batch-1 additions: About + Contact + hub (apsb-) */
.apsb-pghero{padding-top:52px !important}
.apsb-lhead{align-items:flex-start !important;text-align:left;margin:0 0 34px !important;max-width:760px !important}
/* about hero */
.apsb-abgrid{display:grid !important;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.apsb-abtitle .elementor-heading-title{font-weight:800;font-size:clamp(30px,3.8vw,48px);letter-spacing:-.02em;line-height:1.05;margin:14px 0 0;color:var(--ink)}
.apsb-abtitle .em{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.apsb-ablead p{font-size:clamp(16px,1.6vw,19px);color:var(--ink-2);line-height:1.6;margin:16px 0 0}
.apsb-abchips .elementor-widget-container,.apsb-abchips{margin:22px 0 26px}
.apsb-abchips span{display:inline-block;font:600 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:9px 14px;background:#fff;margin:0 6px 8px 0}
.apsb-abcta{flex-direction:row !important;gap:12px !important;flex-wrap:wrap !important;width:auto !important}
.apsb-abphoto,.apsb-abphoto .elementor-widget-container{border-radius:22px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow);width:100%}
.apsb-abphoto img{width:100% !important;height:100% !important;object-fit:cover;display:block}
/* 3-col why variant */
.apsb-why3{grid-template-columns:repeat(3,1fr) !important}
/* steps3 cards */
.apsb-steps3{display:grid !important;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:6px}
.apsb-step3{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 24px !important;box-shadow:var(--shadow);width:auto}
.apsb-sn .elementor-heading-title{font-family:var(--mono);font-weight:800;font-size:13px;letter-spacing:.06em;color:var(--iris)}
.apsb-sic .elementor-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--iris-soft);margin:14px 0}
.apsb-sic i,.apsb-sic svg{color:var(--iris) !important;font-size:20px}
/* where we work */
.apsb-covwrap{display:grid !important;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.apsb-covphoto,.apsb-covphoto .elementor-widget-container{border-radius:22px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow);width:100%}
.apsb-covphoto img{width:100% !important;height:100% !important;object-fit:cover;display:block}
.apsb-covlist{margin-top:18px}
.apsb-covlist span{display:inline-block;font-size:13.5px;color:var(--ink-2);padding:9px 16px;border:1px solid var(--line);border-radius:100px;background:#fff;margin:0 8px 10px 0;transition:.2s}
.apsb-covlist span:hover{border-color:var(--iris);color:var(--iris)}
/* contact cards */
.apsb-ct{align-items:flex-start !important}
.apsb-ct .aps-p p{margin:6px 0 0}
.apsb-ct .ct-sub{color:var(--ink-2);font-size:13.5px}
.apsb-ct .elementor-button{margin-top:18px}
/* contact form card */
.apsb-formwrap{max-width:760px !important;margin:0 auto !important;background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(24px,3.5vw,40px) !important;box-shadow:0 24px 60px -34px rgba(30,20,80,.25);width:auto}
.apsb-formwrap .elementor-field-group{margin-bottom:14px}
.apsb-formwrap input[type=text],.apsb-formwrap input[type=email],.apsb-formwrap input[type=tel],.apsb-formwrap textarea{width:100%;border:1px solid var(--line-2);border-radius:12px;padding:13px 15px;font-family:var(--sans);font-size:14.5px;color:var(--ink);background:#fff}
.apsb-formwrap input:focus,.apsb-formwrap textarea:focus{outline:none;border-color:var(--iris);box-shadow:0 0 0 3px var(--iris-soft)}
.apsb-formwrap label{font-size:13px;font-weight:600;color:var(--ink);display:block;margin-bottom:6px}
.apsb-formwrap .elementor-button,.apsb-formwrap button[type=submit]{background:var(--grad);color:#fff;border-radius:100px;padding:14px 26px;font-weight:600;font-size:14.5px;border:0;box-shadow:0 12px 30px -12px rgba(46,111,224,.7)}
/* hub cards */
.apsb-hubgrid{display:grid !important;grid-template-columns:repeat(3,1fr);gap:18px}
.apsb-hubcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;padding:0 !important;transition:.3s;width:auto}
.apsb-hubcard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.apsb-hubimg,.apsb-hubimg .elementor-widget-container{width:100%;aspect-ratio:16/9;overflow:hidden}
.apsb-hubimg img{width:100% !important;height:100% !important;object-fit:cover;display:block}
.apsb-hubbody{padding:20px 22px 22px !important}
.apsb-hubbody .aps-h4 .elementor-heading-title{margin-bottom:6px}
.apsb-hublink .elementor-button{background:transparent;color:var(--iris);padding:0;font-weight:700;font-size:14px;box-shadow:none;border:0;margin-top:10px}
@media(max-width:900px){.apsb-abgrid{grid-template-columns:1fr}.apsb-why3{grid-template-columns:repeat(2,1fr) !important}.apsb-steps3{grid-template-columns:repeat(2,1fr)}.apsb-covwrap{grid-template-columns:1fr}.apsb-hubgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.apsb-why3{grid-template-columns:1fr !important}.apsb-steps3{grid-template-columns:1fr}.apsb-hubgrid{grid-template-columns:1fr}}

/* kit color override (load-order safe) */
.aps-h2 .elementor-heading-title,.apsb-abtitle .elementor-heading-title,.aps-covh2 .elementor-heading-title,.aps-proch2 .elementor-heading-title,.aps-h4 .elementor-heading-title,.aps-covt .elementor-heading-title,.aps-revh3 .elementor-heading-title{color:var(--ink) !important}
.aps-fh2 .elementor-heading-title{color:#fff !important}
.aps-eyebrow .elementor-heading-title{color:var(--iris) !important}
.apsb-sn .elementor-heading-title{color:var(--iris) !important}

/* fix: form fields must never exceed their column (live quote textarea overflowed at tablet) */
form.elementor-form .elementor-field-group{max-width:100%;min-width:0}
form.elementor-form .elementor-field{max-width:100% !important;width:100%;min-width:0 !important;flex:1 1 auto;box-sizing:border-box}

@media(max-width:900px){form.elementor-form label{display:block !important;width:auto !important;margin-bottom:6px}form.elementor-form .elementor-field{display:block !important}}

@media(max-width:900px){form.elementor-form .elementor-field-group>.elementor-field{flex:1 1 100% !important;flex-basis:100% !important;width:100% !important}}

/* root fix: column-direction field groups must not wrap sideways */
form.elementor-form .elementor-field-group{flex-wrap:nowrap !important}

/* fix: carousel arrow icon stays white + centered on hover (was iris-on-iris, invisible) */
.ap5 .tks-arrow:hover{color:#fff;border-color:transparent;background:#4646D8}
.ap5 .tks-arrow,.ap5 .svc2-mic{display:grid;place-items:center}

/* --- Home process section: professional card treatment --- */
.aps-step{background:#fff;border:1px solid var(--line,#E7E7F2);border-radius:18px;padding:20px 22px !important;margin-bottom:14px;box-shadow:0 12px 32px -26px rgba(30,30,80,.35);transition:transform .25s,box-shadow .25s,border-color .25s;gap:16px !important}
.aps-step:hover{transform:translateY(-2px);box-shadow:0 20px 46px -24px rgba(46,111,224,.38);border-color:rgba(46,111,224,.38)}
.aps-sic .elementor-icon{width:48px;height:48px;border-radius:14px;background:var(--iris-soft,rgba(46,111,224,.08))}
.aps-sn .elementor-heading-title{font-family:var(--mono,monospace);font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--iris,#2E6FE0);background:var(--iris-soft,rgba(46,111,224,.08));padding:4px 10px;border-radius:999px;display:inline-block}
.aps-h4 .elementor-heading-title{font-size:17px;font-weight:700;letter-spacing:-.01em;margin:0 0 6px}
.aps-p p{font-size:14.5px;line-height:1.62;color:var(--ink-2,#5A5A72);margin:0}
.aps-stext{min-width:0}

/* --- Home stat strip: polished tiles (corrected selectors) --- */
.aps-stats{background:#fff;border:1px solid var(--line,#E7E7F2);border-radius:20px;box-shadow:0 26px 64px -44px rgba(30,30,80,.45);overflow:hidden}
.aps-stat{padding:22px 26px !important;border-right:1px solid var(--line,#E7E7F2);flex-direction:row !important;align-items:center !important;gap:14px !important}
.aps-stat:last-child{border-right:0}
.aps-stpi .elementor-icon{width:44px;height:44px;border-radius:12px;background:var(--iris-soft,rgba(46,111,224,.08));display:grid;place-items:center}
.aps-stpi .elementor-icon i,.aps-stpi .elementor-icon svg{color:var(--iris,#2E6FE0);font-size:18px;width:20px;height:20px}
.aps-sb{background:none !important;border:0 !important;padding:0 !important;box-shadow:none !important;margin:0 !important}
.aps-ss{background:none !important;border:0 !important;padding:0 !important;box-shadow:none !important;margin:0 !important;overflow:visible !important}
.aps-sb .elementor-heading-title{font-size:21px;font-weight:800;color:var(--ink,#141428);line-height:1.05;margin:0;letter-spacing:-.02em;text-align:left}
.aps-ss .elementor-heading-title{font-size:12.5px;font-weight:500;color:var(--ink-2,#6B6B85);margin:3px 0 0;text-align:left;background:none;padding:0;border:0}
@media(max-width:900px){.aps-stats{border-radius:16px}.aps-stat{border-right:0;border-bottom:1px solid var(--line,#E7E7F2)}.aps-stat:last-child{border-bottom:0}}