:root{--navy:#0d1727;--red:#e31b23;--blue:#14598d;--sky:#eaf4fb;--ink:#142033;--muted:#627083;--line:#dce4eb;--warm:#f7f5f1}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:"Arial Nova",Arial,Helvetica,sans-serif;font-size:16px;font-weight:300;line-height:1.55}
a{color:inherit;text-decoration:none}
.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100% - 1240px)/2));background:#fff;border-bottom:1px solid #e5e9ed;position:sticky;top:0;z-index:20}
.site-brand,.footer-brand{display:flex;align-items:center;gap:13px;font-size:19px;font-weight:800}
.site-brand img{width:auto;height:48px}
.site-header nav{display:flex;align-items:center;gap:27px;font-size:14px;font-weight:700}
.site-header nav>a:not(.portal-link):hover{color:var(--red)}
.client-link{padding-left:17px;border-left:1px solid var(--line)}
.portal-link,.button{display:inline-flex;align-items:center;justify-content:center;border-radius:5px;font-weight:800;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.portal-link{padding:11px 16px;color:#fff;background:var(--navy)}
.portal-link:hover,.button.primary:hover{background:#22344a;transform:translateY(-1px)}
main{overflow:hidden}
.hero{min-height:650px;display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center;max-width:1240px;margin:auto;padding:82px 28px 70px}
.eyebrow{margin:0 0 15px;color:var(--red);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.hero h1{max-width:690px;margin:0;font-size:clamp(48px,5.5vw,76px);line-height:1.01;letter-spacing:-.052em}
.hero-intro{max-width:650px;margin:27px 0 0;color:#4f5f73;font-size:19px;line-height:1.65}
.hero-actions{display:flex;gap:12px;margin-top:31px}
.button{min-height:48px;padding:0 20px}
.button.primary{background:var(--navy);color:#fff}
.button.secondary{border:1px solid #b9c4ce;background:#fff}
.button.secondary:hover{border-color:var(--navy);transform:translateY(-1px)}
.trust-line{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:35px;color:#536276;font-size:13px;font-weight:700}
.trust-line span:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:9px;background:var(--red)}
.hero-visual{position:relative;height:500px;border-radius:28px;background:linear-gradient(145deg,var(--navy),#18324f);box-shadow:0 32px 70px #0b192c2e;overflow:hidden}
.hero-visual:after{content:"";position:absolute;inset:auto -90px -140px auto;width:360px;height:360px;border:60px solid #ffffff0c;border-radius:50%}
.signal{position:absolute;border:1px solid #72b7dd36;border-radius:50%}
.signal-one{width:370px;height:370px;left:70px;top:65px}
.signal-two{width:250px;height:250px;left:130px;top:125px}
.visual-centre{position:absolute;z-index:2;left:65px;top:177px;width:185px;padding:22px;border-radius:18px;background:#ffffff12;border:1px solid #ffffff26;color:#fff}
.visual-centre span{display:block;margin-bottom:9px;color:#ff3c44;font-size:28px;font-weight:950}
.visual-centre strong{font-size:17px;line-height:1.35}
.support-card{position:absolute;z-index:3;display:flex;align-items:center;gap:12px;width:248px;padding:15px 17px;border-radius:12px;background:#fff;box-shadow:0 14px 32px #06101e42}
.support-card small,.support-card strong{display:block}
.support-card small{color:#788699;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.support-card strong{margin-top:3px;font-size:13px}
.card-icon{display:grid;place-items:center;width:37px;height:37px;flex:0 0 auto;border-radius:50%;background:var(--sky);color:var(--blue);font-size:11px;font-weight:900}
.card-request{left:28px;top:32px}
.card-progress{right:25px;top:205px}
.card-resolved{left:42px;bottom:29px}
.card-resolved .card-icon{background:#e9f7ec;color:#287c45}
.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);max-width:1360px;margin:0 auto;padding:0 28px 68px}
.proof-strip div{padding:27px 25px;border:1px solid var(--line);border-right:0}
.proof-strip div:first-child{border-radius:12px 0 0 12px}
.proof-strip div:last-child{border-right:1px solid var(--line);border-radius:0 12px 12px 0}
.proof-strip strong,.proof-strip span{display:block}
.proof-strip strong{font-size:15px}
.proof-strip span{margin-top:5px;color:var(--muted);font-size:13px}
.section{padding:100px max(28px,calc((100% - 1184px)/2))}
.section-heading{max-width:820px}
.section-heading h2,.story h2,.access h2{margin:0;font-size:clamp(34px,4vw,52px);line-height:1.1;letter-spacing:-.035em}
.section-heading>p:last-child{max-width:700px;color:var(--muted);font-size:18px}
.benefits{background:#f4f7f9}
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
.benefit-grid article{min-height:295px;padding:28px;border:1px solid #d8e1e8;border-radius:12px;background:#fff}
.benefit-grid .number{color:var(--red);font-size:12px;font-weight:900}
.benefit-grid h3{margin:70px 0 12px;font-size:20px;line-height:1.25}
.benefit-grid p{margin:0;color:var(--muted);font-size:14px}
.process{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}
.section-heading.compact{position:sticky;top:120px}
.process-list{list-style:none;margin:0;padding:0}
.process-list li{display:grid;grid-template-columns:58px 1fr;gap:22px;padding:27px 0;border-bottom:1px solid var(--line)}
.process-list li:first-child{padding-top:0}
.process-list li>span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;font-weight:900}
.process-list h3{margin:2px 0 6px;font-size:20px}
.process-list p{margin:0;color:var(--muted)}
.story{background:var(--navy);color:#fff}
.story-panel{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.story .eyebrow{color:#ff5259}
.story-copy{color:#cad5e2;font-size:18px}
.story-copy p{margin:0 0 20px}
.access{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center;background:var(--warm)}
.access-copy>p:not(.eyebrow){max-width:700px;color:#556277;font-size:18px}
.access-note{padding-left:16px;border-left:3px solid var(--red);font-size:14px!important}
.access-card{padding:35px;border-radius:16px;background:#fff;border:1px solid #e3ded5;box-shadow:0 18px 45px #413b3020}
.access-card>span{color:var(--red);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.access-card h3{margin:8px 0;font-size:25px}
.access-card p{color:var(--muted)}
.access-card .button{margin-top:12px}
footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;padding:28px max(28px,calc((100% - 1240px)/2));background:#fff;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.footer-brand img{height:35px}
.footer-brand span{color:var(--ink);font-size:15px}
.passion{justify-self:center;margin:0;color:var(--red);font-size:15px;font-weight:900;letter-spacing:.055em;text-align:center;text-transform:uppercase}
.passion em{font-family:inherit;font-size:1.08em;font-style:italic;font-weight:700}
.copyright{justify-self:end;margin:0;text-align:right}
@media(max-width:1000px){.site-header nav>a:not(.portal-link):not(.client-link){display:none}
.hero{grid-template-columns:1fr;padding-top:60px}
.hero-copy{max-width:780px}
.hero-visual{max-width:650px;width:100%;justify-self:center}
.proof-strip{grid-template-columns:1fr 1fr}
.proof-strip div:nth-child(2){border-right:1px solid var(--line);border-radius:0 12px 12px 0}
.proof-strip div:nth-child(3){border-radius:12px 0 0 12px}
.benefit-grid{grid-template-columns:1fr 1fr}
.process{grid-template-columns:1fr;gap:45px}
.section-heading.compact{position:static}
.story-panel,.access{grid-template-columns:1fr;gap:45px}
footer{grid-template-columns:1fr;text-align:center}
.footer-brand{justify-content:center}
.passion{justify-self:center}
.copyright{justify-self:center;text-align:center}
}
@media(max-width:650px){.site-header{height:70px;padding:0 16px}
.site-brand img{height:42px}
.site-brand span{display:none}
.site-header nav{gap:9px}
.client-link{padding:9px 6px;border:0;font-size:12px}
.portal-link{padding:10px 11px;font-size:12px}
.hero{min-height:auto;padding:48px 18px}
.hero h1{font-size:45px}
.hero-intro{font-size:17px}
.hero-actions{flex-direction:column;align-items:stretch}
.hero-visual{height:550px}
.visual-centre{left:50%;top:145px;width:185px;transform:translateX(-50%)}
.support-card{width:220px}
.card-request{left:15px;top:20px}
.card-progress{right:12px;top:330px}
.card-resolved{left:15px;bottom:20px}
.proof-strip{grid-template-columns:1fr;padding:0 18px 45px}
.proof-strip div,.proof-strip div:nth-child(2),.proof-strip div:nth-child(3),.proof-strip div:last-child{border:1px solid var(--line);border-bottom:0;border-radius:0}
.proof-strip div:first-child{border-radius:10px 10px 0 0}
.proof-strip div:last-child{border-bottom:1px solid var(--line);border-radius:0 0 10px 10px}
.section{padding:72px 20px}
.benefit-grid{grid-template-columns:1fr}
.benefit-grid article{min-height:240px}
.benefit-grid h3{margin-top:45px}
.process-list li{grid-template-columns:46px 1fr;gap:14px}
.story-panel{gap:35px}
.access-card{padding:25px}
}

/* Branded atmosphere and movement */
body{background-image:radial-gradient(circle at 8% 15%,#e31b2308 0,transparent 24%),radial-gradient(circle at 92% 42%,#14598d0a 0,transparent 27%)}
.site-header{background:#ffffffed;box-shadow:0 8px 26px #0d17270a;backdrop-filter:blur(12px)}
.site-brand img,.footer-brand img{filter:drop-shadow(0 5px 8px #0d172726)}
.portal-link,.button.primary{box-shadow:0 10px 22px #0d172724}
.portal-link:hover,.button.primary:hover{box-shadow:0 14px 28px #0d17273d}

.hero{position:relative;isolation:isolate}
.hero>*{position:relative;z-index:2}
.hero:before{content:"";position:absolute;z-index:0;width:430px;height:430px;left:-300px;top:45px;border-radius:50%;background:radial-gradient(circle,#e31b2314 0 2px,transparent 3px);background-size:21px 21px;opacity:.8;transform:rotate(-10deg)}
.hero:after{content:"";position:absolute;z-index:0;width:340px;height:340px;right:-225px;bottom:20px;border:1px solid #14598d13;border-radius:50%;box-shadow:0 0 0 55px #14598d08,0 0 0 110px #e31b2305}
.hero-copy:before{content:"";display:block;width:64px;height:5px;margin-bottom:25px;border-radius:8px;background:linear-gradient(90deg,var(--red) 0 55%,var(--blue) 55%)}
.hero-visual{background:radial-gradient(circle at 22% 18%,#2a527b 0,transparent 33%),linear-gradient(145deg,var(--navy),#18324f);box-shadow:0 34px 75px #0b192c38,0 0 0 1px #ffffff0f inset}
.hero-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom right,#0009,transparent 72%)}
.signal-one{animation:signalPulse 5s ease-in-out infinite}
.signal-two{animation:signalPulse 5s ease-in-out 1.2s infinite}
.card-request{animation:cardFloat 6s ease-in-out infinite}
.card-progress{animation:cardFloat 6s ease-in-out 1.3s infinite}
.card-resolved{animation:cardFloat 6s ease-in-out 2.6s infinite}
.support-card{border:1px solid #ffffffb8}
.support-card:after{content:"";position:absolute;inset:auto 18px -1px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--red),#efaa2e,var(--blue));opacity:.7}

.proof-strip{position:relative}
.proof-strip:before{content:"";position:absolute;left:50%;top:-16px;width:110px;height:3px;transform:translateX(-50%);border-radius:9px;background:linear-gradient(90deg,transparent,var(--red),transparent)}
.proof-strip div{background:#ffffffd9;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.proof-strip div:hover{position:relative;z-index:2;background:#fff;transform:translateY(-5px);box-shadow:0 16px 30px #13243b16}

.benefits{position:relative;isolation:isolate;background-color:#f4f7f9;background-image:radial-gradient(circle at 100% 0,#14598d16 0,transparent 32%),radial-gradient(circle at 0 100%,#e31b230c 0,transparent 29%),linear-gradient(135deg,#ffffff60 25%,transparent 25% 50%,#ffffff60 50% 75%,transparent 75%);background-size:auto,auto,54px 54px}
.benefits:before{content:"";position:absolute;z-index:-1;width:220px;height:220px;right:7%;top:70px;border:34px solid #ffffff6e;border-radius:50%}
.benefit-grid article{position:relative;overflow:hidden;box-shadow:0 12px 35px #17273d0a;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.benefit-grid article:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--red),var(--blue));transform:scaleX(.16);transform-origin:left;transition:transform .25s ease}
.benefit-grid article:after{content:"";position:absolute;width:130px;height:130px;right:-90px;bottom:-90px;border:22px solid #14598d09;border-radius:50%}
.benefit-grid article:hover{transform:translateY(-9px);border-color:#b9cbd9;box-shadow:0 24px 45px #17273d1c}
.benefit-grid article:hover:before{transform:scaleX(1)}

.process{position:relative;isolation:isolate;background-image:radial-gradient(circle at 82% 14%,#14598d0d 0,transparent 25%),radial-gradient(circle at 9% 87%,#e31b230a 0,transparent 20%)}
.process:before{content:"IBS";position:absolute;z-index:-1;left:3%;bottom:3%;color:#0d172705;font-size:clamp(150px,25vw,380px);font-weight:950;line-height:.8;letter-spacing:-.08em}
.process-list li>span{box-shadow:0 8px 18px #0d172727;transition:background .2s ease,transform .2s ease}
.process-list li:hover>span{background:var(--red);transform:scale(1.08)}
.process-list li{transition:padding-left .2s ease}
.process-list li:hover{padding-left:10px}

.story{position:relative;overflow:hidden;background-color:var(--navy);background-image:radial-gradient(circle at 80% 25%,#14598d55 0,transparent 30%),radial-gradient(circle at 10% 100%,#e31b232d 0,transparent 31%)}
.story:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent,#000 48%,transparent)}
.story:after{content:"";position:absolute;width:360px;height:360px;right:-180px;top:-180px;border:1px solid #ffffff1c;border-radius:50%;box-shadow:0 0 0 55px #ffffff08,0 0 0 110px #ffffff05}
.story-panel{position:relative;z-index:2}

.access{position:relative;isolation:isolate;overflow:hidden;background-color:var(--warm);background-image:radial-gradient(circle at 75% 20%,#e31b230c 0,transparent 23%),radial-gradient(circle at 12% 85%,#14598d0d 0,transparent 28%)}
.access:before{content:"";position:absolute;z-index:-1;left:-75px;bottom:-95px;width:260px;height:260px;border:38px solid #ffffffb5;border-radius:50%}
.access-card{position:relative;overflow:hidden;box-shadow:0 24px 55px #413b3029;transition:transform .25s ease,box-shadow .25s ease}
.access-card:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--red),#efaa2e,#2a9b63,var(--blue))}
.access-card:hover{transform:translateY(-7px);box-shadow:0 32px 65px #413b3038}

footer{position:relative}
footer:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#4ab64c,#f0d51e,#ef7126,var(--red),#663a8f,var(--blue),#2ba69b)}

.ibs-website-cta{position:relative;isolation:isolate;overflow:hidden;padding:68px max(28px,calc((100% - 1240px)/2));background:linear-gradient(120deg,#0e1c30 0%,#132b48 57%,#174d70 100%);color:#fff}
.ibs-website-cta:before{content:"";position:absolute;z-index:-1;right:-85px;top:-155px;width:430px;height:430px;border:75px solid #ffffff0d;border-radius:50%}
.ibs-website-cta:after{content:"";position:absolute;z-index:-1;left:42%;bottom:-135px;width:260px;height:260px;background:#e31b2314;border-radius:50%;filter:blur(2px)}
.ibs-website-cta-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:55px;max-width:1240px;margin:auto}
.ibs-website-cta .eyebrow{margin-bottom:11px;color:#80c7ef}
.ibs-website-cta h2{max-width:790px;margin:0;font-size:clamp(30px,3vw,45px);line-height:1.1}
.ibs-website-cta p:not(.eyebrow){max-width:790px;margin:18px 0 0;color:#d5e1ed;font-size:17px;line-height:1.7}
.ibs-website-button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-width:270px;padding:18px 24px;border:2px solid #fff;border-radius:6px;background:#fff;color:var(--navy);font-size:16px;font-weight:900;box-shadow:0 18px 38px #07101f66;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
.ibs-website-button span{font-size:24px;line-height:0;transition:transform .2s ease}
.ibs-website-button:hover{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 22px 44px #07101f80;transform:translateY(-3px)}
.ibs-website-button:hover span{transform:translateX(5px)}

@keyframes signalPulse{0%,100%{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}
@keyframes cardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

@media(max-width:1000px){.hero:before{left:-335px}.hero:after{right:-275px}.benefits:before{opacity:.55}.process-list li:hover{padding-left:0}.ibs-website-cta-inner{grid-template-columns:1fr;gap:30px}.ibs-website-button{justify-self:start}}
@media(max-width:650px){.hero:before{display:none}.hero:after{right:-300px;bottom:80px}.hero-copy:before{margin-bottom:20px}.proof-strip div:hover,.benefit-grid article:hover,.access-card:hover{transform:none}.story:after{width:240px;height:240px;right:-150px;top:-140px}.process:before{font-size:150px;bottom:1%}.ibs-website-cta{padding:52px 20px}.ibs-website-button{width:100%;min-width:0}.passion{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.signal-one,.signal-two,.card-request,.card-progress,.card-resolved{animation:none}.portal-link,.button,.proof-strip div,.benefit-grid article,.process-list li,.process-list li>span,.access-card,.ibs-website-button,.ibs-website-button span{transition:none}}
