@font-face{font-family:Natify;src:url('fonts/gc-natify.ttf') format('truetype');font-display:swap;font-weight:700}
@font-face{font-family:Outfit;src:url('fonts/outfit-variable.ttf') format('truetype');font-display:swap;font-weight:100 900}
:root{--purple:#290880;--medium:#a991ff;--glow:#7234e6;--violet:#5415ff;--green:#004750;--bright:#00d27f;--mint:#aef9c7;--cream:#feeeb3;--ink:#16102a;--muted:#655f73;--line:#ded9e9;--white:#fff;--shell:min(1240px,calc(100% - 40px));--radius:22px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:Outfit,Arial,sans-serif;font-size:16px;line-height:1.6}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:12px;left:12px;z-index:1000;background:#fff;color:var(--purple);padding:10px 16px;border-radius:8px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.shell{width:var(--shell);margin-inline:auto}
.site-header{position:fixed;inset:0 0 auto;z-index:50;background:rgba(255,255,255,.95);border-bottom:1px solid rgba(41,8,128,.09);backdrop-filter:blur(16px)}
.nav-wrap{height:84px;display:flex;align-items:center;gap:28px}
.brand{display:block;width:190px;flex:0 0 auto}
.brand img{width:100%;height:auto}
.primary-nav{margin-left:auto;display:flex;align-items:center;gap:30px;font-size:.92rem;font-weight:550}
.primary-nav a{position:relative;padding:28px 0;color:#474050}
.primary-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:21px;height:2px;background:var(--violet);transition:right .2s}
.primary-nav a:hover:after,.primary-nav a:focus-visible:after,.primary-nav a.is-current:after{right:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:54px;padding:0 24px;border:1px solid var(--violet);border-radius:999px;background:var(--violet);color:#fff;font-weight:650;transition:transform .2s,background .2s,border-color .2s}
.button:hover,.button:focus-visible{transform:translateY(-2px);background:var(--glow);border-color:var(--glow)}
.button-small{min-height:44px;padding:0 19px;font-size:.9rem}
.header-cta{margin-left:4px}
.menu-toggle{display:none;margin-left:auto;width:44px;height:44px;border:0;border-radius:50%;background:#f4f0ff;padding:12px}
.menu-toggle span:not(.sr-only){display:block;height:2px;margin:4px 0;background:var(--purple)}
.hero{position:relative;min-height:760px;display:grid;align-items:end;overflow:hidden;background:var(--purple);color:#fff;padding-top:84px}
.hero-photo{position:absolute;inset:84px 0 0 44%;background:url('images/hero-workplace.webp') center/cover no-repeat;filter:saturate(.78) contrast(1.06)}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--purple) 0,rgba(41,8,128,.82) 12%,rgba(41,8,128,.15) 58%,rgba(41,8,128,.38) 100%)}
.hero-wash{position:absolute;inset:84px 51% 0 0;background:linear-gradient(135deg,#290880 0%,#38119a 58%,#5415ff 100%);clip-path:polygon(0 0,100% 0,86% 100%,0 100%)}
.hero-pattern{position:absolute;width:520px;height:520px;left:-150px;bottom:-195px;opacity:.22;transform:rotate(18deg)}
.pattern{background:radial-gradient(circle at 50% 8%,var(--medium) 0 7%,transparent 7.5%),linear-gradient(35deg,transparent 39%,var(--medium) 40% 49%,transparent 50%) 50% 7%/42% 42% no-repeat,linear-gradient(-35deg,transparent 39%,var(--medium) 40% 49%,transparent 50%) 50% 7%/42% 42% no-repeat}
.hero-inner{position:relative;z-index:2;padding:108px 50% 96px 0}
.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.13em;font-size:.78rem;font-weight:750;color:var(--violet)}
.eyebrow.light{color:var(--medium)}
h1,h2,h3{font-family:Natify,Outfit,sans-serif;line-height:.98;letter-spacing:-.035em;margin:0}
h1{max-width:750px;font-size:clamp(3.4rem,6.7vw,6.6rem)}
h1 span{display:block;color:var(--medium)}
.hero-copy{max-width:700px;margin:30px 0 36px;font-size:1.16rem;line-height:1.55;color:#e8e1ff}
.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.button-light{background:#fff;border-color:#fff;color:var(--purple)}
.button-light:hover,.button-light:focus-visible{background:var(--cream);border-color:var(--cream)}
.text-link{display:inline-flex;align-items:center;gap:14px;font-weight:650;color:var(--purple)}
.text-link span{transition:transform .2s}
.text-link:hover span,.text-link:focus-visible span{transform:translateX(5px)}
.text-link.light{color:#fff}
.hero-note{position:absolute;z-index:3;right:36px;bottom:26px;display:flex;align-items:center;gap:12px;font-size:.76rem;text-transform:uppercase;letter-spacing:.11em;color:rgba(255,255,255,.7);writing-mode:vertical-rl}
.hero-note span{color:var(--medium)}
.section{padding:130px 0}
.section-tight{padding:0 0 130px}
.intro{background:#fff}
.intro-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:10vw;align-items:start}
h2{font-size:clamp(2.7rem,5.1vw,5rem);color:var(--purple);max-width:760px}
.intro-copy{padding-top:34px;font-size:1.12rem;color:var(--muted)}
.intro-copy p{margin:0 0 18px;max-width:650px}
.intro-copy .text-link{margin-top:18px}
.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px;gap:32px}
.section-heading h2{font-size:clamp(2.4rem,4vw,4rem)}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.value-card{position:relative;min-height:380px;padding:32px 28px;display:flex;flex-direction:column;justify-content:flex-end;border-right:1px solid var(--line);background:#faf9fc}
.value-card:last-child{border-right:0}
.value-card.featured{background:var(--purple);color:#fff}
.card-number{position:absolute;top:26px;left:28px;font-size:.78rem;font-weight:700;letter-spacing:.12em;color:var(--glow)}
.featured .card-number{color:var(--medium)}
.value-card h3{font-size:1.65rem;line-height:1.05;margin-bottom:18px;color:var(--purple)}
.featured h3{color:#fff}
.value-card p{margin:0;color:var(--muted);line-height:1.52}
.featured p{color:#dcd3f8}
.mini-mark{position:absolute;right:-18px;top:42px;width:170px;height:170px;border:34px solid var(--medium);border-radius:50%;opacity:.18}
.dark-section{background:var(--purple);color:#fff}
.split-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:9vw;align-items:end;margin-bottom:60px}
.split-heading h2{color:#fff}.split-heading h2 span,.proof-copy h2 span{color:var(--medium)}
.split-heading>p{margin:0 0 8px;color:#dcd3f8;font-size:1.05rem}
.solution-panels{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--radius);overflow:hidden}
.solution-panel{min-height:430px;padding:44px;display:flex;flex-direction:column;justify-content:flex-end;background:#3a1098;border:1px solid rgba(255,255,255,.15)}
.solution-panel h3{font-size:clamp(2rem,3.4vw,3.3rem);margin:30px 0 20px;max-width:600px}
.solution-panel p{color:#dcd3f8;max-width:580px;margin:0 0 30px}
.solution-index,.model-tag{font-size:.78rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--medium)}
.accent-panel{background:var(--medium);color:var(--purple);border-color:var(--medium)}
.accent-panel p{color:#352269}.accent-panel .solution-index{color:var(--violet)}
.capability-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw;align-items:start}
.capability-intro{position:sticky;top:130px}.capability-intro h2{font-size:clamp(2.5rem,4.4vw,4.4rem);margin-bottom:36px}
.capability-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.capability-list li{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line);font-family:Natify,Outfit,sans-serif;font-size:1.35rem;color:var(--purple)}
.capability-list span{font-family:Outfit,sans-serif;font-size:.75rem;letter-spacing:.12em;color:var(--glow)}
.proof-card{display:grid;grid-template-columns:1.05fr .95fr;min-height:560px;background:var(--purple);border-radius:var(--radius);overflow:hidden}
.proof-image{min-height:520px;overflow:hidden}.proof-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.05)}
.proof-copy{padding:58px;display:flex;flex-direction:column;justify-content:center;color:#fff}
.proof-copy h2{color:#fff;font-size:clamp(2.5rem,4.3vw,4.5rem)}
.proof-copy>p:not(.eyebrow){color:#dcd3f8;margin:28px 0 34px;font-size:1.08rem}
.proof-copy .button{align-self:flex-start}
.closing-cta{background:linear-gradient(125deg,#290880,#5415ff);color:#fff}
.closing-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:end}
.closing-grid h2{color:#fff;font-size:clamp(2.7rem,5vw,5.2rem)}
.closing-grid>div:last-child p{margin:0 0 32px;color:#e4dcff;font-size:1.1rem}
.site-footer{padding:70px 0 24px;background:#110b21;color:#fff}
.footer-top{display:grid;grid-template-columns:.8fr 1.1fr 1fr;gap:7vw;align-items:start;padding-bottom:60px}
.footer-brand{width:190px;filter:brightness(0) invert(1);opacity:.95}.footer-top p{margin:0;color:#bbb2cb;max-width:430px}
.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px}.footer-top nav a:hover,.footer-top nav a:focus-visible{color:var(--medium)}
.footer-bottom{padding-top:22px;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;font-size:.8rem;color:#91899e}
.page-hero{position:relative;padding:215px 0 105px;background:linear-gradient(125deg,var(--purple),#4917b5);color:#fff;overflow:hidden}
.page-hero:after{content:"";position:absolute;right:-100px;bottom:-230px;width:620px;height:620px;border:110px solid var(--medium);border-radius:50%;opacity:.12}
.page-hero h1{max-width:1080px;font-size:clamp(3.4rem,6.7vw,6.8rem);position:relative;z-index:1}.page-hero>div>p:last-child{max-width:700px;margin:30px 0 0;color:#ded6f5;font-size:1.13rem;position:relative;z-index:1}
.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.editorial-grid h2{font-size:clamp(2.6rem,4.6vw,4.7rem)}
.large-copy{font-size:1.26rem;line-height:1.6;color:#4e485b}.large-copy p{margin:0 0 22px}
.statement-band{background:var(--medium);padding:95px 0;color:var(--purple)}
.statement-grid{display:grid;grid-template-columns:1fr auto;gap:80px;align-items:center}.statement-label{font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.13em}.statement-grid p{max-width:1000px;margin:18px 0 0;font-family:Natify,Outfit,sans-serif;font-size:clamp(2.1rem,4vw,4rem);line-height:1.08}.statement-mark{font-size:9rem;font-weight:200;line-height:1;color:rgba(41,8,128,.25)}
.heading-copy{max-width:420px;color:var(--muted);margin:0}
.process-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.process-grid li{min-height:310px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.process-grid li:nth-child(3n){border-right:0}.process-grid li:nth-last-child(-n+3){border-bottom:0}
.process-grid li>span{margin-bottom:auto;font-size:.75rem;letter-spacing:.12em;color:var(--glow)}.process-grid h3{font-size:1.55rem;color:var(--purple);margin-bottom:14px}.process-grid p{margin:0;color:var(--muted)}
.image-story{display:grid;grid-template-columns:1.05fr .95fr;background:var(--purple);color:#fff}.image-story-photo{max-height:760px;overflow:hidden}.image-story-photo img{width:100%;height:100%;object-fit:cover}.image-story-copy{padding:8vw;display:flex;flex-direction:column;justify-content:center}.image-story-copy h2{color:#fff}.image-story-copy>p:not(.eyebrow){color:#ddd5f2;font-size:1.1rem;margin:28px 0 34px}.image-story-copy .button{align-self:flex-start}
.solution-hero>div>p:last-child{max-width:760px}.solution-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:start}.solution-title{position:sticky;top:130px}.solution-title h2{font-size:clamp(2.6rem,4.6vw,4.8rem);margin:22px 0 36px}.alt-surface{background:#f5f2fb}.check-list{list-style:none;margin:44px 0 0;padding:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}.check-list li{padding:18px 10px 18px 34px;border-bottom:1px solid var(--line);position:relative;color:var(--purple);font-weight:600}.check-list li:before{content:"+";position:absolute;left:5px;color:var(--violet)}
.project-list{border-top:1px solid var(--line)}.project-row{display:grid;grid-template-columns:70px 1fr 1fr;gap:38px;align-items:center;padding:50px 0;border-bottom:1px solid var(--line)}.project-no{align-self:start;font-size:.8rem;letter-spacing:.12em;color:var(--glow)}.project-row h2{font-size:clamp(2rem,3.2vw,3.3rem);margin:14px 0 10px}.project-row p{margin:0;color:var(--muted)}.project-row dl{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-row dt{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:#8a8392}.project-row dd{margin:6px 0 0;color:var(--purple);font-weight:650}
.location-cards{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.location-cards article{min-height:340px;padding:36px;display:flex;flex-direction:column;justify-content:flex-end;background:#faf9fc;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.location-cards article:nth-child(2n){border-right:0}.location-cards article:nth-last-child(-n+2){border-bottom:0}.location-cards article>span{margin-bottom:auto;font-size:.75rem;letter-spacing:.12em;color:var(--glow)}.location-cards h3{font-size:2rem;color:var(--purple);margin-bottom:14px}.location-cards p{margin:0 0 24px;color:var(--muted)}
.contact-layout{display:grid;grid-template-columns:.76fr 1.24fr;min-height:100vh;padding-top:84px}.contact-intro{position:relative;padding:100px 6vw;background:linear-gradient(150deg,var(--purple),#5415ff);color:#fff;display:flex;align-items:flex-start}.contact-intro>div{position:sticky;top:150px}.contact-intro h1{font-size:clamp(3rem,5vw,5rem)}.contact-intro>div>p:last-child{max-width:580px;color:#ddd5f2;font-size:1.08rem;margin-top:28px}.contact-form-wrap{padding:90px 6vw;background:#faf9fc}.enquiry-form{max-width:920px;margin:auto}.form-heading{display:flex;gap:20px;align-items:center;margin-bottom:44px}.form-heading span{font-size:.78rem;letter-spacing:.12em;color:var(--glow)}.form-heading h2{font-size:2.5rem}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}label,legend{font-size:.86rem;font-weight:650;color:#403949}input,select,textarea{display:block;width:100%;margin-top:8px;border:1px solid #d5cfdf;border-radius:10px;background:#fff;color:var(--ink);font:inherit;padding:13px 14px;min-height:50px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(84,21,255,.18);border-color:var(--violet)}fieldset{border:0;margin:42px 0;padding:0}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.check-grid label{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #d5cfdf;border-radius:10px;background:#fff;font-weight:500}.check-grid input,.consent input{width:18px;min-height:18px;margin:0;accent-color:var(--violet)}.full-field{display:block;margin-bottom:20px}.consent{display:flex;align-items:flex-start;gap:10px;margin:24px 0}.enquiry-form .button{border:0;cursor:pointer}.form-status{font-weight:650;color:var(--green)}.form-note{font-size:.8rem;color:#777081;margin-top:12px}
@media(max-width:980px){
  .header-cta{display:none}.menu-toggle{display:block}.primary-nav{position:absolute;top:84px;left:0;right:0;margin:0;padding:22px 20px 28px;background:#fff;display:none;flex-direction:column;align-items:flex-start;gap:0;border-bottom:1px solid var(--line)}.primary-nav.is-open{display:flex}.primary-nav a{width:100%;padding:12px 0;font-size:1.05rem}.primary-nav a:after{bottom:8px}.hero{min-height:790px}.hero-photo{left:28%;opacity:.65}.hero-wash{right:25%;clip-path:polygon(0 0,100% 0,82% 100%,0 100%)}.hero-inner{padding-right:20%;padding-bottom:76px}.intro-grid{grid-template-columns:1fr;gap:28px}.intro-copy{padding-top:0}.value-grid{grid-template-columns:repeat(2,1fr)}.value-card:nth-child(2){border-right:0}.value-card{border-bottom:1px solid var(--line)}.value-card:nth-last-child(-n+2){border-bottom:0}.split-heading,.capability-grid,.closing-grid,.editorial-grid,.solution-detail-grid{grid-template-columns:1fr;gap:40px}.capability-intro,.solution-title{position:static}.proof-card,.image-story{grid-template-columns:1fr}.proof-image{min-height:400px}.footer-top{grid-template-columns:1fr 1fr}.footer-top nav{grid-column:1/-1}.process-grid{grid-template-columns:repeat(2,1fr)}.process-grid li:nth-child(3n){border-right:1px solid var(--line)}.process-grid li:nth-child(2n){border-right:0}.process-grid li:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.process-grid li:nth-last-child(-n+2){border-bottom:0}.project-row{grid-template-columns:50px 1fr}.project-row dl{grid-column:2}.contact-layout{grid-template-columns:1fr;padding-top:84px}.contact-intro{min-height:560px}.contact-intro>div{position:static}.contact-form-wrap{padding:70px 5vw}
}
@media(max-width:640px){
  :root{--shell:min(100% - 28px,1240px)}.nav-wrap{height:72px}.brand{width:160px}.primary-nav{top:72px}.hero{padding-top:72px;min-height:760px;align-items:end}.hero-photo{inset:72px 0 0 20%;opacity:.5}.hero-wash{inset:72px 0 0 0;clip-path:none;background:linear-gradient(180deg,rgba(41,8,128,.78),#290880 82%)}.hero-inner{padding:145px 0 60px}.hero h1,.page-hero h1,.contact-intro h1{font-size:3rem}.hero-copy{font-size:1.02rem}.hero-note{display:none}.section{padding:88px 0}.section-tight{padding-bottom:88px}.section-heading{display:block}.section-heading .eyebrow{margin-bottom:16px}.value-grid{grid-template-columns:1fr}.value-card{min-height:300px;border-right:0;border-bottom:1px solid var(--line)!important}.value-card:last-child{border-bottom:0!important}.solution-panels{grid-template-columns:1fr}.solution-panel{min-height:390px;padding:30px}.proof-copy{padding:40px 28px}.closing-grid{gap:30px}.footer-top{grid-template-columns:1fr;gap:28px}.footer-top nav{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}.page-hero{padding:165px 0 80px}.statement-grid{grid-template-columns:1fr}.statement-mark{display:none}.process-grid{grid-template-columns:1fr}.process-grid li{border-right:0!important;border-bottom:1px solid var(--line)!important}.process-grid li:last-child{border-bottom:0!important}.image-story-photo{max-height:500px}.image-story-copy{padding:70px 28px}.check-list{grid-template-columns:1fr}.project-row{grid-template-columns:1fr;gap:18px}.project-row dl{grid-column:auto;grid-template-columns:1fr}.location-cards{grid-template-columns:1fr}.location-cards article{border-right:0!important;border-bottom:1px solid var(--line)!important}.location-cards article:last-child{border-bottom:0!important}.contact-layout{padding-top:72px}.contact-intro{min-height:620px;padding:90px 22px 60px}.contact-form-wrap{padding:60px 20px}.field-grid,.check-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
