/* R.it Space — responsive, dependency-free website */
:root{--blue:#112a99;--blue-2:#2547e8;--blue-dark:#0c217d;--ink:#101a33;--slate:#57647b;--gray:#d9d9d9;--pale:#b4b4b4;--light:#f5f7fb;--white:#fff;--line:#e0e6f0;--navy:#091537;--shadow:0 20px 70px rgba(9,24,68,.09);--radius:18px;--width:1216px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;color:var(--ink);background:#fff;font-family:Inter,"Avenir Next","Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6;overflow-x:hidden}
body.menu-open{overflow:hidden}
::selection{background:#d9e3ff;color:#0c217d}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
svg{display:block}
img{max-width:100%}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{letter-spacing:-.047em;line-height:1.14}
p{color:var(--slate)}
.container{width:min(calc(100% - 88px),var(--width));margin-inline:auto}
.skip-link{position:fixed;top:-100px;left:16px;background:#fff;color:var(--blue);padding:12px 20px;z-index:200;border-radius:6px;box-shadow:0 0 0 3px var(--blue)}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid #5b84ff;outline-offset:4px}
.site-header{height:90px;position:sticky;z-index:100;top:0;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid rgba(226,230,236,.9)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:inline-flex;align-items:center;gap:13px;flex-shrink:0;min-width:max-content}
.brand-mark{position:relative;display:block;width:57px;height:52px;border:3px solid #0b111c;border-right:0;border-radius:1px;margin-right:7px}
.brand-mark::before,.brand-mark::after{content:"";position:absolute;right:0;width:11px;height:3px;background:#0b111c}
.brand-mark::before{top:-3px}.brand-mark::after{bottom:-3px}
.brand-r{position:absolute;left:8px;top:0;line-height:47px;font-size:41px;font-weight:900;letter-spacing:-.11em;color:#050910}
.brand-it{position:absolute;left:45px;top:11px;color:var(--blue);font-size:28px;font-weight:900;line-height:1;letter-spacing:-.07em}
.brand-dot{position:absolute;left:45px;top:3px;width:6px;height:6px;border-radius:50%;background:#9ba4b5;border:1px solid white}
.brand-space{position:absolute;bottom:-15px;left:14px;font-size:12px;font-weight:900;letter-spacing:-.045em;color:#080b13}
.brand-name{display:flex;flex-direction:column;gap:0;margin-left:5px;line-height:1.3}
.brand-name strong{font-size:19px;letter-spacing:-.055em;font-weight:850;color:var(--ink)}
.brand-name small{font-size:10px;color:#7b879a;letter-spacing:.07em;text-transform:uppercase;font-weight:700}
.main-nav{display:flex;align-items:center;gap:28px;margin-left:auto}
.main-nav>a{font-size:13px;font-weight:700;color:#344059;transition:color .2s;white-space:nowrap}
.main-nav>a:not(.nav-cta):hover{color:var(--blue)}
.main-nav .nav-cta{padding:12px 18px;border-radius:8px;background:var(--blue);color:#fff;display:inline-flex;align-items:center;gap:16px;box-shadow:0 6px 15px rgba(17,42,153,.14)}
.main-nav .nav-cta:hover{background:#1d3cc9}
.nav-cta span{font-size:16px}
.menu-toggle{display:none;border:0;background:transparent;width:40px;height:40px;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.menu-toggle span{height:2px;background:var(--ink);width:23px;transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:22px;border-radius:8px;font-size:14px;font-weight:800;line-height:1.25;min-height:56px;padding:16px 21px;transition:transform .2s,background .2s,box-shadow .2s;white-space:nowrap}
.button:hover{transform:translateY(-2px)}
.button-primary{color:#fff;background:var(--blue);box-shadow:0 12px 22px rgba(17,42,153,.14)}
.button-primary:hover{background:var(--blue-2);box-shadow:0 15px 30px rgba(17,42,153,.21)}
.button-arrow{font-size:20px;line-height:1;font-weight:500}
.button-text{padding-inline:5px;background:transparent;color:var(--ink);font-weight:750;box-shadow:none}
.button-text:hover{color:var(--blue)}
.button-text span{font-size:20px;line-height:1}
.button-light{background:#fff;color:var(--blue)}
.button-light:hover{background:#edf2ff}
.text-blue{color:var(--blue)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.155em;font-weight:850;color:var(--blue)}
.eyebrow-dot{display:inline-block;width:7px;height:7px;background:var(--blue);border-radius:50%;box-shadow:0 0 0 5px #e2e9ff}
.section-label{display:block;font-size:11px;font-weight:850;letter-spacing:.15em;color:var(--blue);margin-bottom:22px;text-transform:uppercase}
.section{padding-block:118px}
.section-intro{margin-bottom:48px}
.section-intro h2,.control-copy h2,.faq-intro h2{font-size:clamp(38px,4.15vw,60px);font-weight:800;margin:0;line-height:1.11}
.section-intro p{margin:0;max-width:460px;font-size:16px;line-height:1.85}
.intro-grid,.service-intro,.process-intro,.roles-intro{display:grid;grid-template-columns:1fr .63fr;align-items:end;gap:70px}
/* Hero */
.hero{position:relative;background:radial-gradient(circle at 95% 20%,#edf1ff 0,transparent 33%),linear-gradient(165deg,#fafbfe 0%,#f6f8fc 55%,#fff 100%);overflow:hidden}
.hero-noise{pointer-events:none;position:absolute;inset:0;opacity:.2;background-image:radial-gradient(#aeb8d2 0.8px,transparent .8px);background-size:25px 25px;mask-image:linear-gradient(90deg,transparent 26%,#000 100%)}
.hero-grid{min-height:710px;display:grid;grid-template-columns:1.07fr .93fr;align-items:center;gap:54px;padding-block:65px 84px;position:relative}
.hero-copy{position:relative;z-index:2;padding-block:20px}
.hero-copy h1{font-size:clamp(44px,4.75vw,68px);font-weight:830;letter-spacing:-.062em;line-height:1.09;margin:28px 0 25px;max-width:730px}
.hero-copy>p{font-size:17px;line-height:1.82;max-width:560px;color:#566278;margin-bottom:32px}
.hero-copy>p strong{font-weight:750;color:#27364f}
.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.hero-proof{display:flex;gap:10px 24px;flex-wrap:wrap;margin-top:49px;padding-top:22px;border-top:1px solid #dae1ed;max-width:610px}
.proof-item{font-size:12px;color:#56647c;font-weight:700;white-space:nowrap;display:flex;align-items:center;gap:7px}
.proof-icon{width:17px;height:17px;background:#e3ebff;border-radius:50%;color:var(--blue);font-size:11px;text-align:center;line-height:17px;font-weight:900}
.hero-bottom-line{height:5px;width:100%;background:linear-gradient(90deg,#112a99 0 25%,#d9d9d9 25% 55%,#b4b4b4 55% 75%,#e9ebf0 75%)}
.hero-art{min-height:580px;background:linear-gradient(145deg,#102b98 0%,#0a205f 61%,#091638 100%);position:relative;border-radius:23px;isolation:isolate;overflow:hidden;box-shadow:0 34px 68px rgba(15,41,115,.18);padding:22px 26px 27px;display:flex;flex-direction:column;justify-content:space-between}
.art-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.042) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.042) 1px,transparent 1px);background-size:42px 42px;z-index:-1;mask-image:linear-gradient(transparent,#000)}
.art-rings span{position:absolute;border:1px solid rgba(209,227,255,.18);width:520px;height:520px;right:-260px;top:-180px;border-radius:50%}
.art-rings span:nth-child(2){transform:scale(.76)}
.art-rings span:nth-child(3){transform:scale(.53)}
.art-topline{position:relative;color:#dfe8ff;font-size:10px;font-weight:800;letter-spacing:.095em;display:flex;align-items:center;gap:9px}
.art-topline>span:last-child{margin-left:auto;opacity:.8}
.art-live-dot{width:6px;height:6px;background:#84e1d7;border-radius:50%;box-shadow:0 0 0 4px rgba(132,225,215,.15)}
.talent-board{position:relative;margin:25px 22px 11px 0;background:#fff;border-radius:13px;padding:26px 24px 16px;box-shadow:0 20px 42px rgba(2,13,51,.22);z-index:1}
.board-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:23px}
.mini-overline{display:block;font-size:10px;letter-spacing:.16em;color:#7f8ba2;font-weight:800;margin-bottom:8px}
.board-head h2{margin:0;font-size:25px;letter-spacing:-.055em;line-height:1.15;font-weight:800}
.board-spark{color:var(--blue);font-size:30px}
.member-list{display:grid;gap:0}
.member{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #e9edf5}
.member-avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}
.member-avatar svg{height:19px;width:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.avatar-one{background:#dfe8ff;color:#2442ac}.avatar-two{background:#e8e7ff;color:#6650b5}.avatar-three{background:#dff2ef;color:#287f77}
.member>div{display:flex;flex-direction:column;line-height:1.5;min-width:0}
.member strong{font-size:12px;letter-spacing:-.01em;color:#1d2845}
.member small{font-size:10px;color:#919bad}
.member-end{margin-left:auto;color:#b4bccd;font-size:11px;font-weight:800}
.board-foot{border-top:1px solid #e8ebf2;padding-top:11px;margin-top:2px;display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#8a96aa;font-weight:700}
.board-foot>span:first-child{display:inline-flex;align-items:center;gap:5px}
.small-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#39b4a4}
.support-chips{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.support-chip{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.12);padding:12px 11px;border-radius:9px;border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(10px);min-width:0}
.chip-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:7px;flex-shrink:0}
.chip-icon svg{width:16px;height:16px}.chip-light{color:#15419a;background:#e2ecff}.chip-blue{color:#fff;background:#4962d2}
.support-chip>div{display:flex;flex-direction:column;line-height:1.5;min-width:0}
.support-chip b{font-size:9px;letter-spacing:.065em;color:#fff}
.support-chip div span{font-size:9px;color:#dae4ff;white-space:nowrap}
.art-caption{margin-top:18px;font-size:9px;letter-spacing:.16em;font-weight:850;color:#b4c6f6;text-align:center}
.art-caption span{color:#fff;font-size:13px;margin-inline:6px}
/* Sector ribbon */
.sectors{background:#fff;border-bottom:1px solid var(--line)}
.sector-inner{min-height:99px;display:flex;justify-content:space-between;align-items:center;gap:25px}
.sector-inner p{color:#8b95a5;font-size:12px;font-weight:750;margin:0;white-space:nowrap}
.sector-list{display:flex;align-items:center;justify-content:flex-end;gap:30px;flex-wrap:wrap}
.sector-list span{font-size:13px;font-weight:850;color:#536178;white-space:nowrap;letter-spacing:-.02em}
/* Model */
.model-grid{display:grid;grid-template-columns:1.18fr 1fr 1fr;gap:17px}
.model-card{border:1px solid #dfe6f1;border-radius:15px;padding:32px;min-height:380px;display:flex;flex-direction:column;background:#fff;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}
.model-card:hover,.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.model-card h3{font-size:24px;letter-spacing:-.044em;margin:0 0 14px;line-height:1.23}
.model-card p{font-size:14px;line-height:1.75;margin:0}
.card-index{font-size:10px;letter-spacing:.13em;font-weight:850;color:#7884a0;margin-bottom:auto;display:block}
.model-card-feature{background:#102b9f;color:#fff;border-color:#102b9f;padding:26px 31px 32px}
.model-card-feature p{color:#d7e2ff}
.model-card-feature .card-index{color:#aec6ff;margin:0 0 13px}
.model-card-feature .model-card-art{height:176px;position:relative;margin-bottom:19px}
.feature-inside{font-size:42px;font-weight:830;letter-spacing:-.075em;line-height:1;position:absolute;left:15px;top:38px}
.feature-star{font-size:40px;position:absolute;right:12px;top:5px;color:#afc5ff}
.curve{border:1px solid rgba(255,255,255,.28);border-radius:50%;width:230px;height:230px;position:absolute;left:105px;top:-49px}
.curve-two{width:310px;height:310px;left:60px;top:-87px}
.curve-three{width:390px;height:390px;left:17px;top:-127px}
.model-icon{width:56px;height:56px;background:#eef2ff;color:var(--blue);border-radius:12px;margin:0 0 30px;display:grid;place-items:center}
.model-icon svg,.service-icon svg{height:25px;width:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.model-card:not(.model-card-feature) .card-index{margin-bottom:22px}
/* Services */
.services-section{background:#f6f8fb}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.service-card{background:#fff;border:1px solid #e0e6f0;padding:28px 27px 31px;border-radius:13px;min-height:280px;transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}
.service-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:auto}
.service-number{font-size:12px;font-weight:850;color:#9ca9bb}
.service-icon{width:45px;height:45px;display:grid;place-items:center;color:var(--blue);background:#eff3ff;border-radius:11px}
.service-card h3{font-size:21px;letter-spacing:-.038em;margin:39px 0 10px;max-width:275px}
.service-card p{font-size:13px;margin:0;line-height:1.78}
.service-card-extra{background:#dfe7fc;border-color:#dfe7fc}
.extra-badge{align-self:flex-start;border:1px solid #bdc9e6;color:#2b47a2;font-size:10px;font-weight:850;letter-spacing:.08em;padding:7px 10px;border-radius:4px}
.service-card-extra h3{font-size:26px;margin:25px 0 12px}
.service-card-extra p{margin:0 0 18px;color:#52638a}
.text-link{display:inline-flex;align-items:center;gap:15px;color:var(--blue);font-size:13px;font-weight:850;line-height:1.4}
.text-link span{font-size:18px;font-weight:500;transition:transform .2s}
.text-link:hover span{transform:translate(3px,-3px)}
/* control */
.control-section{background:#fff}
.control-layout{display:grid;grid-template-columns:.84fr 1.16fr;align-items:center;gap:110px}
.control-copy h2{margin-bottom:27px}
.control-copy p{font-size:15px;line-height:1.85;margin-bottom:27px;max-width:410px}
.responsibility-card{border-radius:17px;background:#f3f6fc;border:1px solid #dfe7f6;overflow:hidden;box-shadow:0 20px 50px rgba(40,60,100,.06)}
.responsibility-head{padding:22px 29px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce4f1;font-size:11px;letter-spacing:.12em;font-weight:850;color:#71819b}
.responsibility-mark{width:31px;height:31px;border-radius:7px;background:#e1e9fd;color:var(--blue);display:grid;place-items:center;font-size:20px;line-height:1}
.responsibility-split{display:grid;grid-template-columns:1fr 1fr}
.responsibility-split>div{padding:36px 29px 31px}
.responsibility-split>div:first-child{border-right:1px solid #dce4f1}
.resp-label{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.12em;font-weight:850;color:var(--blue)}
.resp-label-dark{color:#53627c}
.resp-label-dark .small-dot{background:#a6b2c5}
.responsibility-split h3{font-size:30px;margin:16px 0 20px}
.check-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.check-list li{font-size:12px;line-height:1.6;color:#485671;position:relative;padding-left:20px}
.check-list li:before{content:'✓';color:#1d49bb;position:absolute;left:0;font-weight:900}
.responsibility-foot{padding:18px 29px;background:#e7ecf6;color:#50627d;font-size:11px;font-weight:750;text-align:center}
/* process */
.process-section{background:#f6f8fb}
.process-layout{display:grid;grid-template-columns:.91fr 1.09fr;gap:12px;align-items:stretch}
.process-steps{display:grid;gap:7px}
.process-step{appearance:none;width:100%;background:#fff;text-align:left;border:1px solid #e0e6f0;border-radius:11px;padding:20px 20px;display:flex;align-items:center;gap:19px;transition:background .2s,border .2s,transform .2s;color:var(--ink)}
.process-step:hover{transform:translateX(3px);border-color:#c7d3f2}
.process-step.is-active{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 9px 24px rgba(17,42,153,.16)}
.step-no{font-size:16px;color:#a3afc5;font-weight:850;letter-spacing:-.045em}
.process-step.is-active .step-no{color:#c3d2ff}
.process-step>span:nth-child(2){display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.process-step strong{font-size:14px;line-height:1.35;letter-spacing:-.015em}
.process-step small{font-size:11px;color:#93a0b5;line-height:1.35}
.process-step.is-active small{color:#cfdaff}
.step-arrow{color:#9aabc4;font-size:17px}
.process-step.is-active .step-arrow{color:#fff}
.process-panel-wrap{background:linear-gradient(145deg,#fff,#fdfdff);border:1px solid #e0e6f0;border-radius:12px;padding:43px 46px 24px;min-height:450px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.process-watermark{position:absolute;bottom:55px;right:-10px;font-size:155px;font-weight:900;color:#f6f8fd;pointer-events:none;letter-spacing:-.09em}
.process-panel{position:relative;z-index:1}
.process-panel[hidden]{display:none}
.panel-overline{font-size:11px;font-weight:850;letter-spacing:.12em;color:var(--blue)}
.panel-num{margin:30px 0 9px;font-size:57px;line-height:1;font-weight:850;letter-spacing:-.07em;color:var(--blue)}
.panel-num span{font-size:18px;letter-spacing:0;color:#a2afc8}
.process-panel h3{font-size:30px;letter-spacing:-.054em;line-height:1.2;max-width:430px;margin:0 0 18px}
.process-panel p{font-size:14px;line-height:1.8;max-width:430px;margin:0}
.panel-takeaway{border-left:3px solid var(--blue);padding:3px 0 4px 16px;margin-top:27px;display:flex;flex-direction:column;gap:5px;max-width:420px}
.panel-takeaway span{font-size:10px;font-weight:850;letter-spacing:.12em;color:#8894a9}
.panel-takeaway strong{font-size:12px;font-weight:760;color:#2f3e5c;line-height:1.65}
.process-controls{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:auto;position:relative;z-index:2;padding-top:18px}
.process-controls button{width:38px;height:38px;background:#edf1f9;color:var(--blue);border:1px solid #dce4f1;border-radius:7px;font-size:20px;display:grid;place-items:center;transition:background .2s}
.process-controls button:hover{background:#dce7ff}
#process-counter{font-size:10px;letter-spacing:.1em;color:#7e8ba2;font-weight:850;padding-inline:8px}
/* Mauritius */
.mauritius-section{background:radial-gradient(circle at 78% 26%,#1b399c,transparent 42%),linear-gradient(135deg,#071535 0%,#0c226c 100%);color:#fff;padding-bottom:87px;overflow:hidden}
.mauritius-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;min-height:380px}
.label-light{color:#b9ccff}
.mauritius-copy h2{font-size:clamp(39px,4.4vw,64px);max-width:640px;line-height:1.12;margin-bottom:23px}
.mauritius-copy h2 span{color:#a8c1ff}
.mauritius-copy p{font-size:15px;color:#d0dcf8;max-width:500px;line-height:1.85;margin-bottom:28px}
.mauritius-visual{height:340px;position:relative;display:flex;align-items:center;justify-content:center}
.geo-circles span{position:absolute;border-radius:50%;border:1px solid rgba(203,224,255,.2);width:265px;height:265px;left:50%;top:45%;transform:translate(-50%,-50%)}
.geo-circles span:nth-child(2){width:350px;height:350px}
.geo-circles span:nth-child(3){width:440px;height:440px}
.geo-circles::after{content:'';position:absolute;left:50%;top:45%;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,#3d61d4 0,#193d9e 38%,transparent 70%);transform:translate(-50%,-50%);filter:blur(4px);opacity:.8}
.geo-card{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:2px;background:#fff;border-radius:9px;color:var(--navy);padding:16px 25px;min-width:210px;box-shadow:0 15px 35px rgba(0,0,0,.17)}
.geo-dot{position:absolute;left:15px;top:20px;background:#37bba9;width:7px;height:7px;border-radius:50%}
.geo-card strong{font-size:13px;letter-spacing:.1em}
.geo-card>span:last-child{font-size:10px;color:#8090a7}
.floating-tag{position:absolute;z-index:3;font-size:10px;font-weight:850;letter-spacing:.065em;background:#173ba0;color:#fff;border:1px solid #6682d1;padding:10px 12px;border-radius:6px;white-space:nowrap;box-shadow:0 12px 18px rgba(0,0,0,.1)}
.floating-tag span{margin-left:10px;color:#b3c8ff}
.floating-tag-one{left:1%;top:22%}.floating-tag-two{right:3%;bottom:16%}
.map-cross{position:absolute;top:20%;right:18%;font-size:37px;opacity:.3}
.geo-coordinates{position:absolute;bottom:7px;left:33%;font-size:9px;color:#adc1eb;letter-spacing:.13em}
.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:75px;border-top:1px solid rgba(255,255,255,.2)}
.benefit{padding:28px 26px 0 0}
.benefit:not(:last-child){border-right:1px solid rgba(255,255,255,.17);margin-right:22px}
.benefit>span{color:#94b4ff;font-size:11px;font-weight:850}
.benefit h3{font-size:19px;letter-spacing:-.035em;margin:14px 0 8px}
.benefit p{font-size:12px;line-height:1.75;color:#b4c3e4;margin:0}
/* roles */
.roles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #dbe2ed;border-left:1px solid #dbe2ed}
.role-item{position:relative;border-right:1px solid #dbe2ed;border-bottom:1px solid #dbe2ed;padding:28px 29px 31px;min-height:183px;transition:background .2s}
.role-item:hover{background:#f6f8fe}
.role-item>span:first-child{display:block;color:#9eabc0;font-size:11px;font-weight:850;margin-bottom:26px}
.role-item h3{font-size:21px;margin:0 0 8px}
.role-item p{font-size:12px;line-height:1.6;margin:0;max-width:250px}
.role-plus{position:absolute;right:27px;top:24px;color:#9fa9c0;font-size:22px}
.role-item-cta{background:#e9efff}
.role-item-cta>span:first-child{color:var(--blue);font-size:10px;letter-spacing:.06em;margin-bottom:21px}
.role-item-cta h3{font-size:25px;max-width:210px;margin-bottom:17px}
/* careers */
.career-section{background:#eef2fc;overflow:hidden}
.career-content{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:center;padding-block:82px}
.career-left h2{font-size:clamp(36px,4.05vw,58px);margin-bottom:22px}
.career-left p{font-size:15px;line-height:1.85;max-width:555px;margin-bottom:28px}
.career-note{display:block;max-width:365px;font-size:10px;line-height:1.5;color:#76859e;margin-top:15px}
.career-right{position:relative;height:366px;display:grid;place-items:center}
.career-circle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #c5d2f1;border-radius:50%;width:400px;height:400px}
.career-circle-b{width:510px;height:510px}
.career-card{position:relative;z-index:2;width:340px;height:273px;background:var(--blue);padding:26px;border-radius:14px;color:#fff;box-shadow:0 25px 38px rgba(17,42,153,.16);display:flex;flex-direction:column;justify-content:space-between;transform:rotate(-5deg)}
.career-card-label{font-size:10px;letter-spacing:.12em;font-weight:850;color:#c4d1ff}
.career-card-big{font-size:47px;letter-spacing:-.065em;line-height:1.1;font-weight:850}
.career-card-big em{font-style:normal;color:#b5c8ff}
.career-card-big span{float:right;transform:rotate(5deg);font-size:34px;font-weight:400}
.career-card-bottom{border-top:1px solid rgba(255,255,255,.25);padding-top:13px;font-size:11px;color:#d3ddff;font-weight:750}
/* FAQ */
.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:95px}
.faq-intro h2{margin-bottom:22px}
.faq-intro p{max-width:300px;font-size:14px;line-height:1.8;margin-bottom:24px}
.faq-list{border-top:1px solid #d9e1ed}
.faq-list details{border-bottom:1px solid #d9e1ed}
.faq-list summary{list-style:none;cursor:pointer;font-size:16px;line-height:1.5;font-weight:750;letter-spacing:-.025em;padding:24px 0;display:flex;justify-content:space-between;gap:25px;align-items:center}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:hover{color:var(--blue)}
.faq-plus{width:30px;height:30px;border:1px solid #d5deee;display:grid;place-items:center;border-radius:7px;color:var(--blue);font-size:20px;font-weight:400;flex-shrink:0;transition:transform .2s}
.faq-list details[open] .faq-plus{transform:rotate(45deg)}
.faq-list details p{font-size:13px;line-height:1.8;margin:-2px 40px 23px 0;max-width:580px}
/* Contact */
.contact-section{background:#0a1844;padding-block:106px;color:#fff;position:relative;overflow:hidden}
.contact-section:before{content:'';position:absolute;right:-15%;top:-70%;width:770px;height:770px;border:1px solid rgba(255,255,255,.06);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.015),0 0 0 180px rgba(255,255,255,.015)}
.contact-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:105px;position:relative;align-items:center}
.contact-copy h2{font-size:clamp(40px,4.5vw,63px);line-height:1.12;max-width:500px;margin-bottom:23px}
.contact-copy>p{color:#c3cfea;font-size:15px;line-height:1.85;max-width:470px}
.contact-methods{margin-top:45px;display:grid;gap:4px;max-width:430px}
.contact-methods a{display:flex;align-items:center;gap:15px;border-bottom:1px solid rgba(255,255,255,.17);padding:14px 0}
.contact-methods a:hover strong{color:#b2caff}
.contact-method-icon{border:1px solid rgba(255,255,255,.25);width:40px;height:40px;border-radius:9px;display:grid;place-items:center;font-weight:900;font-size:18px;color:#c3d2ff}
.contact-methods a>span:nth-child(2){display:flex;flex-direction:column;flex:1}
.contact-methods a small{color:#91a9e3;font-size:10px;letter-spacing:.11em;font-weight:850}
.contact-methods a strong{font-size:17px;transition:color .2s}
.contact-methods a>span:last-child{color:#c1d3ff;font-size:18px}
.contact-location{margin-top:30px;font-size:11px;color:#94a9d4}
.contact-form-card{background:#fff;color:var(--ink);padding:32px;border-radius:14px;box-shadow:0 28px 60px rgba(0,0,0,.11)}
.form-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.form-heading h3{font-size:25px;margin:0}
.form-heading span{font-size:9px;letter-spacing:.08em;font-weight:850;color:var(--blue);padding:5px 9px;background:#eef3ff;border-radius:4px;white-space:nowrap}
#contact-form{display:grid;gap:15px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#contact-form label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:780;color:#36435b}
#contact-form label>span{color:#2646bc}
#contact-form input,#contact-form textarea,#contact-form select{border:1px solid #dce3ed;background:#f9fbff;color:#17223d;border-radius:6px;font-size:13px;outline:none;min-height:46px;padding:11px 13px;width:100%;transition:border-color .2s,box-shadow .2s}
#contact-form textarea{min-height:94px;resize:vertical}
#contact-form input:focus,#contact-form select:focus,#contact-form textarea:focus{border-color:#5172e0;box-shadow:0 0 0 3px #edf1ff}
#contact-form input::placeholder,#contact-form textarea::placeholder{color:#a5aec0}
#contact-form .form-submit{width:100%;justify-content:space-between;border-radius:7px;margin-top:3px}
.form-note{font-size:10px;line-height:1.65;color:#8a94a8;text-align:center;margin:0}
/* footer */
.site-footer{background:#f7f9fc;border-top:1px solid #dfe5ef}
.footer-top{padding-block:72px;display:grid;grid-template-columns:1.4fr .67fr .8fr 1fr;gap:48px}
.footer-brand .brand{margin-bottom:27px}
.footer-brand p{font-size:13px;line-height:1.8;max-width:260px;margin:0}
.footer-col h3{font-size:12px;letter-spacing:.04em;margin-bottom:20px}
.footer-col a{display:block;font-size:12px;color:#68758c;padding:5px 0}
.footer-col a:hover{color:var(--blue)}
.footer-phrase{align-self:end;font-size:31px;font-weight:850;letter-spacing:-.06em;line-height:1.17;color:#a4b0c7}
.footer-phrase em{display:block;font-style:normal;color:var(--blue)}
.footer-bottom{min-height:65px;border-top:1px solid #dce4ef;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:10px;font-weight:650;color:#8190a8}
.footer-bottom a:hover{color:var(--blue)}
/* Privacy page */
.legal-main{padding-block:90px 120px;max-width:820px}
.legal-main h1{font-size:clamp(39px,4vw,59px);margin:10px 0 20px}
.legal-main h2{font-size:23px;margin:38px 0 14px}
.legal-main p,.legal-main li{font-size:14px;line-height:1.85;color:#526179}
.legal-main ul{padding-left:20px}
.legal-notice{border-left:3px solid var(--blue);background:#eff3ff;padding:15px 20px;margin-block:24px;font-size:13px;color:#3a4f83}
/* motion */
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.reveal{transition:opacity .6s ease,transform .6s ease}.js-reveals .reveal:not(.is-visible){opacity:0;transform:translateY(18px)}}
@media(min-width:1440px){.hero-grid{min-height:765px}}
@media(max-width:1180px){.container{width:min(calc(100% - 60px),var(--width))}.main-nav{gap:17px}.main-nav>a{font-size:12px}.brand-name small{font-size:9px}.hero-grid{gap:35px}.hero-copy h1{font-size:clamp(42px,4.7vw,60px)}.hero-proof{gap:10px 15px}.support-chip{padding:10px 7px;gap:7px}.support-chip div span{font-size:8px}.sector-list{gap:18px}.control-layout{gap:55px}.contact-grid{gap:65px}.footer-top{gap:28px}}
@media(max-width:920px){html{scroll-padding-top:78px}.site-header{height:76px}.container{width:min(calc(100% - 44px),var(--width))}.brand-mark{transform:scale(.84);transform-origin:left center;margin-right:-1px}.brand-name{margin-left:-2px}.brand-name strong{font-size:17px}.menu-toggle{display:flex}.main-nav{position:absolute;top:76px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 32px rgba(9,24,68,.08);display:none;flex-direction:column;align-items:stretch;padding:19px 24px 24px;gap:0;max-height:calc(100dvh - 76px);overflow:auto}.main-nav.is-open{display:flex}.main-nav>a{font-size:15px;padding:12px 5px}.main-nav .nav-cta{padding:15px;margin-top:10px;justify-content:space-between}.hero-grid{grid-template-columns:1fr;gap:5px;padding-block:68px 75px}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(44px,7.5vw,68px)}.hero-copy>p{max-width:690px}.hero-proof{margin-top:30px}.hero-art{margin-top:28px;min-height:555px;max-width:640px;width:100%;margin-inline:auto}.sector-inner{flex-direction:column;align-items:flex-start;padding-block:22px;gap:15px}.sector-list{justify-content:flex-start;gap:13px 25px}.section{padding-block:85px}.intro-grid,.service-intro,.process-intro,.roles-intro{gap:20px;grid-template-columns:1fr}.section-intro h2{font-size:clamp(38px,6vw,54px)}.section-intro p{max-width:700px}.model-grid{grid-template-columns:repeat(2,1fr)}.model-card-feature{grid-column:span 2;min-height:300px}.model-card-feature .model-card-art{height:110px}.feature-inside{top:7px}.service-grid{grid-template-columns:repeat(2,1fr)}.control-layout{grid-template-columns:1fr;gap:35px}.control-copy p{max-width:650px}.process-layout{grid-template-columns:.83fr 1.17fr}.process-step{padding:17px 12px;gap:12px}.process-step strong{font-size:12px}.process-panel-wrap{padding:30px 26px 20px;min-height:450px}.process-panel h3{font-size:26px}.mauritius-grid{grid-template-columns:1fr 1fr;gap:20px}.mauritius-copy h2{font-size:clamp(38px,5.3vw,54px)}.benefits-grid{grid-template-columns:repeat(2,1fr);gap:20px}.benefit:nth-child(2){margin-right:0;border-right:0}.roles-grid{grid-template-columns:repeat(2,1fr)}.career-content{gap:20px;grid-template-columns:1fr 1fr}.career-card{width:295px;height:250px}.career-card-big{font-size:42px}.faq-grid{grid-template-columns:.75fr 1.25fr;gap:35px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-copy h2{max-width:690px}.contact-methods{max-width:700px;grid-template-columns:1fr 1fr;gap:20px}.contact-form-card{max-width:740px;width:100%}.footer-top{grid-template-columns:1.2fr 1fr 1fr}.footer-phrase{display:none}}
@media(max-width:620px){.container{width:calc(100% - 36px)}.brand-name small{display:none}.brand-name strong{font-size:17px}.hero-grid{padding-top:53px;padding-bottom:55px}.hero-copy h1{font-size:clamp(37px,10.2vw,55px);margin:23px 0 20px}.hero-copy>p{font-size:15px;line-height:1.75;margin-bottom:26px}.eyebrow{font-size:9px;letter-spacing:.1em}.hero-actions{gap:9px;align-items:stretch}.hero-actions .button-primary{width:100%;justify-content:space-between}.hero-actions .button-text{min-height:42px}.hero-proof{margin-top:17px;gap:8px 15px}.proof-item{font-size:10px}.hero-art{min-height:500px;padding:18px 17px 20px;border-radius:18px}.art-topline{font-size:8px}.talent-board{margin:20px 0 8px;padding:21px 17px 13px}.board-head h2{font-size:22px}.board-foot{font-size:8px}.support-chips{grid-template-columns:1fr;gap:7px}.support-chip{padding:8px 10px}.support-chip div span{font-size:9px}.art-caption{font-size:8px}.sector-list span{font-size:11px}.sector-inner p{font-size:10px}.section{padding-block:69px}.section-label{font-size:10px;margin-bottom:15px}.section-intro{margin-bottom:32px}.section-intro h2,.control-copy h2,.faq-intro h2{font-size:clamp(34px,8.5vw,45px)}.section-intro p{font-size:14px;line-height:1.7}.model-grid,.service-grid{grid-template-columns:1fr;gap:12px}.model-card{min-height:285px;padding:25px}.model-card-feature{grid-column:auto;min-height:340px}.model-card h3{font-size:23px}.model-card-feature .model-card-art{height:150px}.service-card{min-height:230px;padding:25px}.service-card h3{font-size:20px;margin-top:25px}.control-layout{gap:27px}.control-copy p{font-size:14px}.responsibility-split{grid-template-columns:1fr}.responsibility-split>div{padding:27px}.responsibility-split>div:first-child{border-right:0;border-bottom:1px solid #dce4f1}.responsibility-split h3{font-size:26px;margin:10px 0 13px}.check-list{grid-template-columns:1fr;gap:9px}.process-layout{grid-template-columns:1fr}.process-steps{grid-template-columns:1fr;gap:4px}.process-step{padding:12px 16px}.process-step>span:nth-child(2){flex-direction:row;justify-content:space-between;align-items:center;gap:10px}.process-step strong{font-size:12px}.process-step small{font-size:9px;text-align:right;max-width:120px}.process-panel-wrap{min-height:385px;padding:27px 24px 22px}.panel-num{font-size:45px;margin:22px 0 10px}.process-panel h3{font-size:25px}.process-panel p{font-size:13px}.panel-takeaway{margin-top:20px}.mauritius-grid{grid-template-columns:1fr;gap:15px}.mauritius-copy h2{font-size:clamp(39px,9vw,48px)}.mauritius-copy p{font-size:14px}.mauritius-visual{height:305px}.geo-circles span:nth-child(3){width:365px;height:365px}.floating-tag{font-size:8px}.floating-tag-one{left:0}.floating-tag-two{right:0}.benefits-grid{margin-top:28px;gap:10px}.benefit{padding:21px 5px 0 0}.benefit:not(:last-child){margin-right:0}.benefit:nth-child(odd){margin-right:12px;border-right:1px solid rgba(255,255,255,.15)}.benefit h3{font-size:17px}.benefit p{font-size:11px}.roles-grid{grid-template-columns:1fr}.role-item{min-height:155px;padding:20px 23px}.role-item>span:first-child{margin-bottom:18px}.role-item h3{font-size:20px}.role-plus{top:17px;right:20px}.career-content{grid-template-columns:1fr;padding-block:65px 40px}.career-left h2{font-size:clamp(34px,8.2vw,48px)}.career-left p{font-size:14px}.career-right{height:300px}.career-card{height:240px;width:min(315px,78vw)}.career-card-big{font-size:40px}.faq-grid{grid-template-columns:1fr;gap:21px}.faq-list summary{font-size:14px;padding:20px 0}.faq-list details p{font-size:12px}.contact-section{padding-block:72px}.contact-copy h2{font-size:clamp(36px,9vw,48px)}.contact-copy>p{font-size:14px}.contact-methods{margin-top:28px;grid-template-columns:1fr;gap:0}.contact-methods a strong{font-size:14px}.contact-form-card{padding:23px 17px}.form-heading h3{font-size:23px}.form-heading span{font-size:8px}.field-row{grid-template-columns:1fr;gap:14px}.footer-top{grid-template-columns:1fr 1fr;gap:32px 17px;padding-block:55px}.footer-brand{grid-column:span 2}.footer-brand .brand{margin-bottom:25px}.footer-bottom{padding-block:16px;flex-wrap:wrap;line-height:1.6}.footer-bottom span:nth-child(2){display:none}.legal-main{padding-block:60px 80px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Keep required-field asterisks inline with their labels. */
#contact-form label{display:block}
#contact-form label>span{display:inline;color:var(--blue)}
#contact-form label input,#contact-form label select,#contact-form label textarea{display:block;margin-top:7px}


/* Interactive Mauritius globe — retains original section background, copy and brand palette. */
.mauritius-grid{min-height:535px;gap:54px}
.mauritius-visual{height:550px;isolation:isolate}
.mauritius-visual .geo-circles span{left:50%;top:45%;width:340px;height:340px;z-index:0}
.mauritius-visual .geo-circles span:nth-child(2){width:430px;height:430px}
.mauritius-visual .geo-circles span:nth-child(3){width:505px;height:505px}
.mauritius-visual .geo-circles::after{display:none}
.globe-shell{position:absolute;z-index:1;width:min(100%,488px);aspect-ratio:1;left:50%;top:45%;transform:translate(-50%,-50%);touch-action:none;user-select:none;cursor:grab;filter:drop-shadow(0 8px 32px rgba(0,8,58,.30))}
.globe-shell:active{cursor:grabbing}
.globe-shell:focus-visible{outline:2px solid #b5d8ff;outline-offset:-8px;border-radius:50%}
.globe-shell:before{content:'';position:absolute;inset:1%;border-radius:50%;pointer-events:none;box-shadow:0 0 24px rgba(96,164,255,.23),0 0 56px rgba(55,112,230,.18)}
#globe-earth{display:block;width:100%;height:100%;position:relative;z-index:1}
.globe-pin{position:absolute;z-index:4;display:flex;align-items:center;gap:9px;white-space:nowrap;pointer-events:none;transform:translate(0,-50%);opacity:0;transition:opacity .2s}
.globe-pin-dot{width:10px;height:10px;border-radius:50%;background:#37d6ba;border:2px solid white;box-shadow:0 0 0 5px rgba(55,214,186,.25),0 0 14px rgba(55,214,186,.85)}
.globe-pin-label{font-size:9px;font-weight:800;letter-spacing:.07em;color:#fff;background:#173ba0de;border:1px solid #86b2ff;border-radius:5px;padding:6px 8px}
.mauritius-visual .geo-card{z-index:5;pointer-events:none;min-width:210px}
.mauritius-visual .map-cross{z-index:4;right:14%;top:16%;pointer-events:none}
.mauritius-visual .floating-tag{z-index:6;pointer-events:none}
.mauritius-visual .floating-tag-one{left:0;top:26%}
.mauritius-visual .floating-tag-two{right:0;bottom:23%}
.mauritius-visual .geo-coordinates{left:50%;bottom:16%;transform:translateX(-50%);z-index:4;white-space:nowrap;color:#c7d9ff;text-shadow:0 1px 7px rgba(0,0,0,.55);pointer-events:none}
.globe-toolbar{position:absolute;z-index:7;bottom:0;left:50%;transform:translateX(-50%);display:flex;gap:5px;justify-content:center;align-items:center;width:max-content;max-width:100%;background:rgba(8,23,72,.42);border:1px solid rgba(164,191,255,.24);padding:5px;border-radius:11px;backdrop-filter:blur(10px)}
.globe-control{font:inherit;background:rgba(46,83,168,.34);color:#e3edff;font-size:10px;line-height:1.1;font-weight:730;white-space:nowrap;border:1px solid rgba(186,210,255,.25);padding:9px 10px;border-radius:7px;cursor:pointer;transition:background .18s,border-color .18s}
.globe-control:hover{background:#2f54a8;border-color:#acc9ff}
.globe-control:focus-visible{outline:2px solid #7bd2e5;outline-offset:2px}
.globe-control-locate{background:rgba(46,83,168,.62)}
.globe-control-icon{min-width:33px;font-size:15px;padding:6px 8px}
.mauritius-section .benefits-grid{margin-top:44px}
@media(max-width:1080px) and (min-width:921px){.mauritius-grid{gap:22px}.globe-shell{width:min(100%,430px)}.mauritius-visual .geo-circles span:nth-child(3){width:444px;height:444px}.mauritius-visual .geo-circles span:nth-child(2){width:375px;height:375px}}
@media(max-width:920px){.mauritius-grid{grid-template-columns:1fr;gap:28px;min-height:0}.mauritius-copy{max-width:680px}.mauritius-visual{width:min(100%,560px);margin-inline:auto;height:545px}.mauritius-section .benefits-grid{margin-top:20px}}
@media(max-width:620px){.mauritius-grid{gap:20px}.mauritius-visual{height:440px;max-width:100%}.globe-shell{width:min(100%,355px);top:44%}.mauritius-visual .geo-circles span{top:44%;width:255px;height:255px}.mauritius-visual .geo-circles span:nth-child(2){width:320px;height:320px}.mauritius-visual .geo-circles span:nth-child(3){width:365px;height:365px}.mauritius-visual .geo-card{padding:13px 19px;min-width:190px}.mauritius-visual .floating-tag{font-size:8px;padding:9px}.mauritius-visual .floating-tag-one{top:23%;left:0}.mauritius-visual .floating-tag-two{bottom:23%;right:0}.mauritius-visual .map-cross{top:16%;right:11%;font-size:27px}.mauritius-visual .geo-coordinates{bottom:13%;font-size:8px}.globe-toolbar{bottom:0}.globe-control{font-size:9px;padding:8px}.globe-control-icon{font-size:14px;min-width:29px;padding:6px}.globe-pin-label{font-size:7px;padding:4px 5px}.mauritius-section .benefits-grid{margin-top:25px}}
@media(max-width:360px){.mauritius-visual{height:397px}.globe-shell{width:min(100%,306px)}.mauritius-visual .geo-circles span:nth-child(3){width:313px;height:313px}.mauritius-visual .geo-circles span:nth-child(2){width:280px;height:280px}.mauritius-visual .floating-tag{font-size:7px}.globe-control{font-size:8px;padding:7px 6px}}

.contact-location a{color:#c6d7ff;text-decoration:underline;text-underline-offset:3px}.contact-location a:hover{color:#fff}
