/* Research @ PES University – home page styles (loads after main.css) */
/* colours come from main.css (:root = light, html[data-theme="dark"] = the site's dark palette) */
:root{--navy-deep:#001830;--head:var(--navy);--sh:0 24px 60px rgba(0,38,77,.16);--ease:cubic-bezier(.2,.8,.2,1)}
html[data-theme="dark"]{--head:var(--heading);--sh:0 24px 60px rgba(0,0,0,.55)}
main{background:var(--paper);color:var(--ink)}
html{scroll-padding-top:110px}
main{font-family:var(--body);line-height:1.65}
main h1,main h2,main h3,main h4{font-family:var(--display);color:var(--head);line-height:1.1;font-weight:700}
.pw{max-width:1240px;margin:0 auto;padding:0 28px}
main section{padding:120px 0;position:relative}
.peye{display:inline-flex;align-items:center;gap:10px;font-size:.76rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}
.peye::before{content:"";width:34px;height:2px;background:currentColor}
.title{font-size:clamp(1.7rem,3.2vw,2.6rem);margin:16px 0 18px;letter-spacing:-.02em}
.title em{font-style:italic;color:var(--orange)}
.plede{color:var(--muted);max-width:620px;font-size:1.05rem}
.pbtn{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;border-radius:99px;font-weight:600;font-size:.95rem;transition:.35s var(--ease);border:1.5px solid transparent;cursor:pointer;font-family:var(--body)}
.pbtn .ar{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.25);transition:.35s var(--ease)}
.pbtn:hover .ar{transform:rotate(-45deg)}
.pbtn.o{background:var(--orange);color:#fff;box-shadow:0 14px 30px -10px var(--orange)}
.pbtn.o:hover{background:var(--orange-light);transform:translateY(-3px)}
.pbtn.g{border-color:rgba(255,255,255,.4);color:#fff}
.pbtn.g:hover{background:#fff;color:var(--navy)}
.pbtn.n{background:var(--navy);color:#fff}.pbtn.n:hover{background:var(--orange)}

/* hero */
.phero{background:var(--navy-deep);color:#fff;width:100%;height:900px;display:flex;align-items:flex-end;padding:100px 0 200px;overflow:hidden;position:relative}
.hs-bg{position:absolute;inset:0}
.hs-slide{position:absolute;inset:0;background-size:cover;background-position:70% center;opacity:0;transform:scale(1.12);transition:opacity 1.4s ease}
.hs-slide.on{opacity:1;animation:kb 9s ease-out forwards}
@keyframes kb{from{transform:scale(1.12)}to{transform:scale(1)}}
.phero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,24,48,.96) 0%,rgba(0,24,48,.82) 34%,rgba(0,24,48,.25) 66%,rgba(0,24,48,.1) 100%),linear-gradient(0deg,rgba(0,24,48,.9) 0%,transparent 34%)}
.phero::after{content:"";position:absolute;left:-180px;top:-180px;width:520px;height:520px;border-radius:50%;z-index:1;background:radial-gradient(circle,rgba(239,126,26,.32),transparent 65%);pointer-events:none}
.phero .pw{position:relative;z-index:3;width:100%}
.hcopy{max-width:760px}
.ptag{display:inline-flex;align-items:center;gap:10px;padding:8px 18px 8px 10px;border-radius:99px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);font-size:.82rem;color:#d3deec;margin-bottom:22px}
.ptag i{background:var(--orange);color:#fff;font-style:normal;font-weight:700;padding:3px 12px;border-radius:99px;font-size:.72rem;letter-spacing:.08em}
.phero h1{color:#fff;font-size:clamp(1.9rem,3.8vw,3.5rem);letter-spacing:-.03em;font-weight:800}
.phero h1 .pl{display:block;overflow:hidden;padding-bottom:.12em;white-space:nowrap}
.phero h1 .pl>span{display:block;transform:translateY(110%);animation:up 1.1s var(--ease) forwards}
.phero h1 .pl:nth-child(2)>span{animation-delay:.15s}
@keyframes up{to{transform:none}}
.phero h1 em{font-style:italic;color:var(--orange-light);position:relative;display:inline-block}
.phero h1 em svg{position:absolute;left:0;bottom:-.1em;width:100%;height:.28em;overflow:visible}
.phero h1 em path{stroke:var(--orange);stroke-width:5;fill:none;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:420;animation:draw 1.4s .9s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.phero .psub{font-family:var(--display);font-style:italic;font-size:clamp(1.3rem,2.4vw,1.9rem);color:#c9d6e6;margin:28px 0 12px}
.phero .lead{color:#b4c3d8;max-width:520px;margin-bottom:28px}
.cta{display:flex;gap:14px;flex-wrap:wrap}
/* slide controller */
.hctl{position:absolute;z-index:4;right:max(28px,calc((100vw - 1240px)/2 + 28px));bottom:175px;display:flex;align-items:flex-end;gap:14px}
.hcap{width:260px;padding:18px 20px;border-radius:20px;background:rgba(255,255,255,.12);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.22)}
.hcap small{display:block;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-light);font-weight:700}
.hcap b{display:block;font-family:var(--display);font-size:1.25rem;margin:4px 0 12px;line-height:1.2;min-height:2.4em}
.hbar{height:3px;border-radius:3px;background:rgba(255,255,255,.25);overflow:hidden}
.hbar i{display:block;height:100%;width:0;background:var(--orange)}
.hbar.run i{animation:fill 6s linear forwards}
@keyframes fill{to{width:100%}}
.hthumbs{display:flex;gap:10px}
.hth{width:74px;height:98px;border-radius:16px;background-size:cover;background-position:70% center;border:2px solid transparent;cursor:pointer;opacity:.6;transition:.35s var(--ease);position:relative;overflow:hidden;padding:0}
.hth:hover{opacity:1;transform:translateY(-6px)}
.hth.on{opacity:1;border-color:var(--orange);transform:translateY(-10px);box-shadow:0 14px 30px -10px rgba(239,126,26,.7)}
.hero-foot{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px;max-width:560px}
.hero-foot a{padding:7px 16px;border-radius:99px;border:1px solid rgba(255,255,255,.28);font-size:.8rem;color:#d3deec;backdrop-filter:blur(6px);background:rgba(0,24,48,.3);transition:.25s}
.hero-foot a:hover{background:var(--orange);border-color:var(--orange);color:#fff}


/* hero island */
.isl{position:relative;z-index:6;height:0}
.isl>.pw{position:absolute;left:0;right:0;top:0;margin:0 auto;transform:translateY(-50%)}
.isl-in{border-radius:36px;overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--navy) 0%,#001a35 100%);box-shadow:0 40px 80px -24px rgba(0,24,48,.65),0 0 0 1px rgba(255,255,255,.08) inset;position:relative}
.isl-in::before{content:"";position:absolute;right:-120px;top:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(239,126,26,.28),transparent 65%);pointer-events:none}
.islg{display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.islc{padding:26px 28px 24px;position:relative;transition:background .4s var(--ease)}
.islc+.islc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:rgba(255,255,255,.16)}
.islc:hover{background:rgba(255,255,255,.06)}
.islc b{display:block;font-family:var(--display);font-weight:700;font-size:clamp(1.3rem,2.1vw,1.85rem);line-height:1.15;color:#fff;margin-bottom:8px}
.islc span{display:block;font-size:.78rem;color:#fff;line-height:1.5}
.islr{border-top:1px solid rgba(255,255,255,.16)}
.islc b em{font-style:normal;color:#fff}
.islc b{font-size:clamp(1.5rem,2.2vw,2rem);margin-bottom:4px}
.islr .islc b em{color:#fff}
.islr .islc span{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:600}
.islc .bar{display:block;width:28px;height:3px;border-radius:3px;background:var(--orange);margin-bottom:16px;transition:width .5s var(--ease)}
.islc:hover .bar{width:56px}
#what{padding-top:270px}

/* what we do */
.xps{display:flex;gap:16px;height:540px;margin-top:56px}
.xp{position:relative;flex:1;border-radius:28px;overflow:hidden;color:#fff;cursor:pointer;transition:flex .8s var(--ease);display:block;isolation:isolate}
.xp.on{flex:4.2}
.xp-bg{position:absolute;inset:0;background-size:cover;background-position:70% center;transition:transform 1.2s var(--ease);z-index:-2}
.xp.on .xp-bg{transform:scale(1.06)}
.xp::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,24,48,.95) 0%,rgba(0,24,48,.55) 45%,rgba(0,24,48,.35) 100%);transition:.6s}
.xp:not(.on)::before{background:linear-gradient(0deg,rgba(0,24,48,.9),rgba(0,38,77,.7))}
.xp::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.xp.on::after{transform:none;animation:xpbar 4s linear}
@keyframes xpbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.xp-no{position:absolute;top:26px;left:28px;font-family:var(--display);font-weight:700;font-size:1.1rem;color:var(--orange-light)}
.xp-ar{position:absolute;top:20px;right:20px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);transition:.5s var(--ease)}
.xp.on:hover .xp-ar{background:var(--orange);transform:rotate(-45deg)}
.xp-v{position:absolute;left:50%;bottom:32px;writing-mode:vertical-rl;transform:translateX(-50%) rotate(180deg);font-family:var(--display);font-size:1.7rem;font-weight:700;white-space:nowrap;opacity:1;transition:.4s}
.xp.on .xp-v{opacity:0;pointer-events:none}
.xp-b{position:absolute;left:0;right:0;bottom:0;padding:34px 34px 38px;opacity:0;transform:translateY(24px);transition:.6s var(--ease)}
.xp.on .xp-b{opacity:1;transform:none;transition-delay:.25s}
.xp-b h3{color:#fff;font-size:2.2rem;margin-bottom:10px;white-space:nowrap}
.xp-b p{max-width:420px;color:#d3deec;font-size:.95rem;margin-bottom:18px;min-width:300px}
.xp-b .chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.xp-b .chips span{padding:5px 14px;border-radius:99px;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);font-size:.78rem;white-space:nowrap}
.xp-b .go{display:inline-flex;align-items:center;gap:12px;padding:8px 8px 8px 22px;border-radius:99px;background:var(--orange);color:#fff;font-weight:700;font-size:.92rem;box-shadow:0 14px 30px -12px rgba(239,126,26,.9);transition:background .3s,box-shadow .3s}
.xp-b .go i{font-style:normal;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff;color:var(--orange);transition:transform .35s var(--ease)}
.xp-b .go i .ico{width:16px;height:16px}
.xp:hover .go{background:var(--orange-light);box-shadow:0 18px 36px -12px rgba(239,126,26,1)}
.xp:hover .go i{transform:rotate(-45deg)}

/* about */
.about{background:var(--paper-2);overflow:hidden}
.about .ahead{text-align:center;max-width:820px;margin:0 auto}
.about .ahead .title{font-size:clamp(1.9rem,3.6vw,3rem)}
.about .ahead .plede{margin:0 auto}
.meet{display:grid;grid-template-columns:1fr 440px 1fr;gap:28px;align-items:center;margin:70px 0 30px;position:relative}
.meet::before{content:"";position:absolute;left:10%;right:10%;top:50%;border-top:2px dashed var(--orange);opacity:.5}
.mc{position:relative;isolation:isolate;padding:44px 34px;filter:drop-shadow(0 18px 28px rgba(0,38,77,.14));transition:transform .5s var(--ease)}
.mc::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--surface);border-radius:32px;transition:background .5s}
.mc.l{margin-right:-80px;padding-right:130px}
.mc.r{margin-left:-80px;padding-left:130px}
.mc.l::before{-webkit-mask:radial-gradient(circle 228px at calc(100% + 168px) 50%,transparent 99%,#000 100%);mask:radial-gradient(circle 228px at calc(100% + 168px) 50%,transparent 99%,#000 100%)}
.mc.r::before{-webkit-mask:radial-gradient(circle 228px at -168px 50%,transparent 99%,#000 100%);mask:radial-gradient(circle 228px at -168px 50%,transparent 99%,#000 100%)}
.mc:hover{transform:translateY(-10px);color:#fff}
.mc:hover::before{background:var(--navy)}
.mc:hover h3{color:#fff}.mc:hover p{color:#c9d6e6}.mc:hover .mk{background:var(--orange);color:#fff}
.mk{display:inline-block;padding:5px 16px;border-radius:99px;background:var(--orange-pale);color:var(--orange);font-weight:700;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px;transition:.4s}
.mc h3{font-size:1.9rem;margin-bottom:10px}
.mc p{color:var(--muted);font-size:.93rem;transition:.4s}
.orb{position:relative;width:340px;height:340px;margin:0 auto;z-index:2}
.orb img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:10px solid #fff;box-shadow:0 30px 70px rgba(0,38,77,.28)}
.orb::before,.orb::after{content:"";position:absolute;border-radius:50%;border:2px dashed var(--orange);animation:rot 26s linear infinite}
.orb::before{inset:-18px}.orb::after{inset:-38px;border-color:var(--navy-pale-2);border-style:solid;animation-direction:reverse}
@keyframes rot{to{transform:rotate(360deg)}}
.orb .dot{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--orange);top:-27px;left:50%;box-shadow:0 0 0 6px rgba(239,126,26,.25)}
.orb .tag{position:absolute;z-index:1;left:50%;bottom:-22px;transform:translateX(-50%);background:var(--navy);color:#fff;padding:10px 22px;border-radius:99px;border:0;font-weight:600;font-size:.82rem;white-space:nowrap;box-shadow:var(--sh)}
.orb .tag b{color:var(--orange-light);font-family:var(--display);font-size:1.1rem;margin-right:6px}
.fnd{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:70px}
.fn{position:relative;background:var(--surface);border-radius:24px;padding:34px 30px 30px;border:1px solid var(--line);overflow:hidden;transition:.4s var(--ease)}
.fn::after{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:.5s var(--ease)}
.fn:hover{transform:translateY(-8px);box-shadow:0 24px 50px rgba(0,38,77,.12)}
.fn:hover::after{transform:none}
.fn .no{position:absolute;right:20px;top:6px;font-family:var(--display);font-weight:800;font-size:5.5rem;line-height:1;color:var(--navy-pale)}
.fn h4{position:relative;font-size:1.4rem;margin-bottom:10px}
.fn p{position:relative;color:var(--muted);font-size:.9rem}
.fn .ic2{position:relative;width:50px;height:50px;border-radius:15px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:1.4rem;margin-bottom:18px}
.acta{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:44px}
/* both buttons: same lift + shadow on hover, colours swap (orange -> navy, navy -> orange) */
.acta .pbtn{box-shadow:0 14px 30px -12px rgba(0,38,77,.45)}
.acta .pbtn.o{box-shadow:0 14px 30px -12px rgba(239,126,26,.8)}
.acta .pbtn:hover{transform:translateY(-3px)}
.acta .pbtn.o:hover{background:var(--navy);box-shadow:0 18px 34px -12px rgba(0,38,77,.6)}
.acta .pbtn.n:hover{background:var(--orange);box-shadow:0 18px 34px -12px rgba(239,126,26,.8)}
html[data-theme="dark"] .acta .pbtn.o:hover{background:var(--navy-light)}

/* programs */
.programs{background:linear-gradient(180deg,var(--paper),var(--paper-2))}
.path{position:relative;max-width:1000px;margin:70px auto 0;padding:10px 0}
.path::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:4px;margin-left:-2px;border-radius:4px;background:var(--navy-pale-2)}
.path .fill{position:absolute;left:50%;top:0;width:4px;margin-left:-2px;border-radius:4px;background:linear-gradient(var(--orange),var(--orange-light));height:0;transition:height .2s linear;box-shadow:0 0 16px rgba(239,126,26,.6)}
.step{position:relative;display:grid;grid-template-columns:1fr 90px 1fr;align-items:center;margin-bottom:46px}
.step:last-child{margin-bottom:0}
.node{grid-column:2;grid-row:1;justify-self:center;width:62px;height:62px;border-radius:50%;background:var(--surface);border:4px solid var(--navy-pale-2);display:grid;place-items:center;font-size:1.5rem;position:relative;z-index:2;transition:.5s var(--ease)}
.step.in .node{border-color:var(--orange);background:var(--orange);box-shadow:0 0 0 10px rgba(239,126,26,.18);transform:scale(1.08)}
.scard{grid-row:1;background:var(--surface);border-radius:26px;padding:30px 32px;box-shadow:0 18px 44px rgba(0,38,77,.1);border:1px solid var(--line);position:relative;transition:.5s var(--ease)}
.step:nth-child(odd) .scard{grid-column:1}
.step:nth-child(even) .scard{grid-column:3}
.scard::before{content:"";position:absolute;top:50%;width:18px;height:18px;background:var(--surface);border:1px solid var(--line);transform:translateY(-50%) rotate(45deg)}
.step:nth-child(odd) .scard::before{right:-10px;border-left:0;border-bottom:0}
.step:nth-child(even) .scard::before{left:-10px;border-right:0;border-top:0}
.scard:hover{transform:translateY(-8px);background:var(--navy);color:#fff}
.scard:hover::before{background:var(--navy);border-color:var(--navy)}
.scard:hover h3{color:#fff}.scard:hover p{color:#c9d6e6}.scard:hover .sk{background:var(--orange);color:#fff}
.sk{display:inline-block;padding:4px 14px;border-radius:99px;background:var(--orange-pale);color:var(--orange);font-weight:700;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px;transition:.4s}
.scard h3{font-size:1.7rem;margin-bottom:8px}
.scard p{color:var(--muted);font-size:.92rem;transition:.4s}
.scard .chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.scard .chips span{font-size:.76rem;padding:4px 12px;border-radius:99px;background:var(--navy-pale);color:var(--head);font-weight:600}
.step .rv-s{opacity:0;transition:opacity .8s var(--ease),transform .8s var(--ease)}
.step:nth-child(odd) .scard{transform:translateX(-40px);opacity:0}
.step:nth-child(even) .scard{transform:translateX(40px);opacity:0}
.step.in .scard{opacity:1;transform:none}
.step.in .scard:hover{transform:translateY(-8px)}
.pend{display:flex;justify-content:center;margin-top:56px}

/* output, resources, scholars */
.outg{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;margin-top:54px}
.oc{border-radius:30px;padding:42px 40px;position:relative;overflow:hidden;transition:.5s var(--ease)}
.oc:hover{transform:translateY(-8px);box-shadow:0 30px 60px -20px rgba(0,38,77,.35)}
.oc.pub{background:var(--navy);color:#fff}
.oc.pat{background:var(--orange-pale)}
.oc .k{font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orange)}
.oc.pub .k{color:var(--orange-light)}
.oc h3{font-size:1.9rem;margin:8px 0 6px}.oc.pub h3{color:#fff}
.oc .big{font-family:var(--display);font-weight:800;font-size:clamp(3rem,6vw,4.6rem);line-height:1;letter-spacing:-.03em}
.oc.pub .big{color:var(--orange-light)}.oc.pat .big{color:var(--head)}
.oc .cap{font-size:.9rem;opacity:.8;margin-top:6px}
.oc .grow{display:inline-block;margin-top:14px;padding:6px 16px;border-radius:99px;background:rgba(239,126,26,.2);color:var(--orange-light);font-weight:700;font-size:.8rem}
.ybars{display:flex;gap:18px;align-items:flex-end;height:190px;margin:30px 0 8px;padding-top:10px;border-bottom:1px solid rgba(255,255,255,.25)}
.yb{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:8px}
.yb i{display:block;width:100%;border-radius:12px 12px 0 0;background:linear-gradient(0deg,rgba(255,255,255,.18),rgba(255,255,255,.45));height:0;transition:height 1.4s var(--ease)}
.yb:last-child i{background:linear-gradient(0deg,var(--orange),var(--orange-light))}
.yb b{font-size:.85rem;font-family:var(--display)}
.ylab{display:flex;gap:18px}.ylab span{flex:1;text-align:center;font-size:.76rem;color:#9fb3cc;padding-top:8px}
.note{font-size:.72rem;opacity:.6;margin-top:10px}
.split{display:flex;height:14px;border-radius:14px;overflow:hidden;margin:22px 0 8px;background:var(--navy-pale-2)}
.split i{display:block;height:100%;width:0;transition:width 1.4s var(--ease)}
.split i:first-child{background:var(--orange)}.split i:last-child{background:var(--navy)}
.legend{display:flex;justify-content:space-between;font-size:.82rem;font-weight:600;color:var(--head)}
.legend span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;background:var(--orange)}
.legend span+span::before{background:var(--navy)}
.tp{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.tp span{padding:6px 14px;border-radius:99px;background:var(--surface);border:1px solid rgba(0,38,77,.12);font-size:.8rem;font-weight:600;color:var(--head)}
.olink{display:inline-flex;gap:10px;align-items:center;font-weight:700;color:var(--orange);margin-top:8px;transition:.3s}
.oc.pub .olink{color:var(--orange-light)}
.olink:hover{gap:16px}

.rsec{background:var(--paper-2)}
.rg{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:50px}
.rcard{background:var(--surface);border-radius:24px;padding:30px 26px;border:1px solid var(--line);transition:.4s var(--ease);position:relative;overflow:hidden}
.rcard:hover{transform:translateY(-8px);background:var(--navy);color:#fff;border-color:var(--navy)}
.rcard:hover h4{color:#fff}.rcard:hover p{color:#c9d6e6}.rcard:hover .tg2{background:rgba(255,255,255,.15);color:#fff}
.rcard .ri{width:54px;height:54px;border-radius:16px;background:var(--orange-pale);display:grid;place-items:center;font-size:1.5rem;margin-bottom:18px;transition:.4s}
.rcard:hover .ri{background:var(--orange)}
.rcard h4{font-size:1.25rem;margin-bottom:8px}
.rcard p{font-size:.88rem;color:var(--muted);transition:.4s}
.tg2{display:inline-block;margin:12px 6px 0 0;padding:3px 12px;border-radius:99px;background:var(--navy-pale);color:var(--head);font-size:.72rem;font-weight:700;transition:.4s}
.tg2.soon{background:var(--orange-pale);color:var(--orange)}
.pol{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;margin-top:26px;background:var(--surface);border-radius:28px;padding:38px 40px;border:1px solid var(--line);align-items:center}
.pol h3{font-size:1.7rem;margin:8px 0 8px}.pol>div>p{color:var(--muted);font-size:.92rem;margin-bottom:14px}
.pp{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pp div{padding:20px;border-radius:18px;background:var(--navy-pale);transition:.3s}
.pp div:hover{background:var(--orange-pale);transform:translateY(-5px)}
.pp b{display:block;font-family:var(--display);font-size:1.1rem;color:var(--head);margin-bottom:6px}
.pp span{font-size:.82rem;color:var(--muted);line-height:1.5;display:block}


/* campuses, quick links, faq */
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:54px}
.cmc{position:relative;border-radius:32px;overflow:hidden;isolation:isolate;color:#fff;padding:44px 40px;min-height:440px;display:flex;flex-direction:column;justify-content:flex-end;transition:.6s var(--ease)}
.cmc::before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:70% center;transition:transform 1.4s var(--ease)}
.cmc.rr::before{background-image:url(../../assets/img/research/about/rrcampus.jpg)}
.cmc.ec::before{background-image:url(../../assets/img/research/about/eccampus.jpg)}
.cmc::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,24,48,.97) 8%,rgba(0,24,48,.55) 60%,rgba(0,24,48,.3))}
.cmc:hover::before{transform:scale(1.1)}
.cmc:hover{transform:translateY(-10px);box-shadow:0 34px 70px -24px rgba(0,24,48,.7)}
.cmc .cn{position:absolute;top:26px;left:40px;font-family:var(--display);font-size:5.5rem;font-weight:800;line-height:1;color:var(--orange-light)}
.cmc .cn small{font-family:var(--body);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-left:10px}
.cmc h3{color:#fff;font-size:2rem;margin-bottom:6px}
.cmc p{color:#c9d6e6;font-size:.92rem;margin-bottom:16px}
.cmc .ct{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.cmc .ct span{padding:5px 14px;border-radius:99px;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2);font-size:.78rem;font-weight:600}
.cmc .cl{font-weight:700;color:var(--orange-light);display:inline-flex;gap:10px;transition:.3s;width:fit-content}
.cmc:hover .cl{gap:18px}

.qgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}
.qlk{display:flex;gap:18px;align-items:center;padding:24px 26px;border-radius:22px;background:var(--surface);border:1px solid var(--line);transition:.4s var(--ease);position:relative;overflow:hidden}
.qlk::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,var(--navy),var(--navy-light));transform:translateX(-101%);transition:transform .5s var(--ease);z-index:0}
.qlk>*{position:relative;z-index:1;transition:.3s}
.qlk:hover::before{transform:none}
.qlk:hover b,.qlk:hover small{color:#fff}.qlk:hover small{color:#c9d6e6}
.qlk i{flex:none;width:54px;height:54px;border-radius:16px;background:var(--orange-pale);display:grid;place-items:center;font-style:normal;font-size:1.5rem}
.qlk:hover i{background:var(--orange)}
.qlk b{display:block;font-family:var(--display);font-size:1.2rem;color:var(--head)}
.qlk small{color:var(--muted);font-size:.82rem}
.qlk .go{margin-left:auto;font-size:1.3rem;color:var(--orange)}
.qlk:hover .go{transform:translateX(6px);color:#fff}

.faqs{background:var(--paper-2)}
.faqs .pw{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.faqs .side{position:sticky;top:130px}
.fq{background:var(--surface);border:1px solid var(--line);border-radius:20px;margin-bottom:12px;transition:.3s var(--ease);overflow:hidden}
.fq[open]{border-color:var(--orange);box-shadow:0 16px 40px rgba(0,38,77,.1)}
.fq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px;font-family:var(--display);font-weight:700;font-size:1.15rem;color:var(--head)}
.fq summary::-webkit-details-marker{display:none}
.fq:hover{transform:translateX(4px)}
.fq .ans{padding:0 26px 24px;color:var(--muted);font-size:.93rem}
.fq .ans a{color:var(--orange);font-weight:700}

/* innovation */
.innov{background:var(--navy-deep);color:#fff;overflow:hidden;isolation:isolate}
.innov::before{content:"";position:absolute;inset:0;z-index:-2;background:url(../../assets/img/pages/innovation_bg.jpeg) 70% center/cover;opacity:.35}
.innov::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--navy-deep) 0%,rgba(0,24,48,.7) 40%,var(--navy-deep) 100%)}
.innov .title{color:#fff}.innov .plede{color:#b4c3d8}
.innov .ihead{text-align:center;max-width:760px;margin:0 auto}
.innov .plede{margin:0 auto}
.pipe{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;position:relative}
.pipe::before{content:"";position:absolute;left:12.5%;right:12.5%;top:34px;height:0;border-top:3px dashed rgba(255,255,255,.28)}
.pipe::after{content:"";position:absolute;top:28px;left:12.5%;width:14px;height:14px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 6px rgba(239,126,26,.3),0 0 24px var(--orange);animation:travel 5s linear infinite}
@keyframes travel{0%{left:12.5%;opacity:0}8%{opacity:1}92%{opacity:1}100%{left:calc(87.5% - 14px);opacity:0}}
.ps{text-align:center;position:relative;z-index:1}
.ps i{width:70px;height:70px;border-radius:50%;margin:0 auto 16px;display:grid;place-items:center;font-style:normal;font-size:1.7rem;background:var(--navy);border:3px solid rgba(255,255,255,.35);transition:.4s var(--ease)}
.ps:hover i{background:var(--orange);border-color:var(--orange);transform:scale(1.12) rotate(-6deg)}
.ps b{display:block;font-family:var(--display);font-size:1.35rem}
.ps span{font-size:.82rem;color:#9fb3cc}
.brk{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:34px}
.bc{position:relative;border-radius:28px;padding:42px 38px 38px;margin-top:22px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);backdrop-filter:blur(14px);transition:.5s var(--ease);overflow:hidden}
.bc::before{content:"";position:absolute;left:50%;top:-22px;width:2px;height:22px;background:rgba(255,255,255,.35)}
.bc:hover{transform:translateY(-10px);box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.bc.cie:hover{background:rgba(0,64,128,.55);border-color:rgba(255,255,255,.4)}
.bc.pvl:hover{background:rgba(239,126,26,.28);border-color:var(--orange)}
.bc .tg{display:inline-block;padding:5px 16px;border-radius:99px;font-weight:700;font-size:.74rem;letter-spacing:.16em;background:var(--orange);color:#fff}
.bc.cie .tg{background:#fff;color:var(--navy)}
.bc h3{color:#fff;font-size:2rem;margin:16px 0 10px}
.bc p{color:#c9d6e6;max-width:460px}
.bc .ft{display:flex;justify-content:space-between;align-items:flex-end;margin-top:26px;gap:16px;flex-wrap:wrap}
.bc .st{font-family:var(--display);font-size:3.6rem;font-weight:800;line-height:1;color:var(--orange-light)}
.bc .st small{display:block;font-family:var(--body);font-size:.8rem;font-weight:500;color:#c9d6e6;margin-top:4px}
.bc .lk{display:inline-flex;gap:10px;align-items:center;font-weight:700;padding:11px 22px;border-radius:99px;border:1.5px solid rgba(255,255,255,.4);transition:.3s}
.bc .lk:hover{background:#fff;color:var(--navy);gap:16px}
.bc .span-lbl{position:absolute;right:26px;top:22px;font-size:.72rem;letter-spacing:.14em;color:#9fb3cc;text-transform:uppercase}

/* what's happening: news / events / clubs cards */
.nhead{max-width:640px;margin-bottom:44px}
.nhg{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;align-items:stretch}
.nhc{position:relative;display:flex;flex-direction:column;border-radius:28px;padding:34px 30px 30px;background:var(--surface);border:1px solid var(--line);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.nhc:hover{transform:translateY(-8px);box-shadow:0 30px 60px -26px rgba(0,38,77,.3)}
.nhc.dark{background:linear-gradient(160deg,#00305f 0%,var(--navy-deep) 100%);border-color:transparent;color:#fff;box-shadow:0 30px 60px -28px rgba(0,24,48,.7)}
.nhi{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:var(--orange-pale);color:var(--orange);margin-bottom:22px}
.nhc.dark .nhi{background:rgba(255,255,255,.12);color:#fff}
.nhi svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nhc h3{font-size:1.45rem;margin-bottom:10px}
.nhc.dark h3{color:#fff}
.nhc>p{color:var(--muted);font-size:.92rem;line-height:1.7;margin-bottom:22px}
.nhc.dark>p{color:#c9d6e6}
.nhl{margin-bottom:26px}
.nhr{display:flex;gap:18px;align-items:flex-start;padding:13px 0;border-top:1px solid var(--line);transition:padding .3s var(--ease)}
.nhr:first-child{border-top:0;padding-top:0}
.nhc.dark .nhr{border-color:rgba(255,255,255,.14)}
.nhr:hover{padding-left:6px}
.nd{flex:none;min-width:58px;font-weight:700;font-size:.78rem;letter-spacing:.02em;color:var(--orange);line-height:1.6;white-space:nowrap}
.nhc.dark .nd{color:var(--orange-light)}
.nhr b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-family:var(--body);font-weight:500;font-size:.9rem;line-height:1.55;color:var(--ink)}
.nhc.dark .nhr b{color:#fff;font-size:.8rem;line-height:1.5}
.nhc.dark .nd{font-size:.72rem}
.nhr:hover b{color:var(--orange)}
.nhc.dark .nhr:hover b{color:var(--orange-light)}
.nh-empty{font-size:.88rem;color:var(--muted);margin-bottom:26px}
.nhc.dark .nh-empty{color:#c9d6e6}
.logos{display:flex;margin:10px 0 34px}
.logos img{flex:none;width:calc((100% + 84px)/4);height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;background:#fff;border:4px solid #fff;box-shadow:0 10px 26px rgba(0,38,77,.2);margin-left:-28px;transition:transform .4s var(--ease)}
.logos img:first-child{margin-left:0}
.logos img:hover{transform:translateY(-8px) scale(1.08);z-index:2;position:relative}
.nhb{margin-top:auto;display:flex;justify-content:center;align-items:center;gap:10px;padding:15px 24px;border-radius:99px;font-weight:700;font-size:.92rem;border:1.5px solid var(--head);color:var(--head);transition:.3s var(--ease)}
.nhb:hover{background:var(--navy);color:#fff;gap:16px}
.nhb.o{background:var(--orange);border-color:var(--orange);color:#fff;box-shadow:0 14px 30px -12px var(--orange)}
.nhb.o:hover{background:var(--orange-light);border-color:var(--orange-light)}

/* contact cta */
.big-cta{padding:100px 24px 100px;margin-top:0}
.cbox{max-width:1240px;margin:0 auto;border-radius:36px;position:relative;overflow:hidden;isolation:isolate;color:#fff;padding:80px 64px;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;background:var(--navy-deep)}
.cbox::before{content:"";position:absolute;inset:0;z-index:-2;background:url(../../assets/img/pages/2.jpeg) 75% center/cover;transform:scale(1.05);transition:transform 6s ease-out}
.cbox:hover::before{transform:scale(1)}
.cbox::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(0,24,48,.96) 0%,rgba(0,38,77,.85) 45%,rgba(0,38,77,.45) 100%),radial-gradient(circle at 0% 100%,rgba(239,126,26,.45),transparent 45%)}
.cbox h2{color:#fff;font-size:clamp(2.2rem,4.6vw,3.8rem);letter-spacing:-.03em;font-weight:800;margin:14px 0 16px}
.cbox h2 em{color:var(--orange-light);font-style:italic}
.cbox .cp{color:#c9d6e6;max-width:480px;margin-bottom:32px}
.cbox .cta{display:flex;gap:14px;flex-wrap:wrap}
.cbox .peye{color:var(--orange-light)}
.cinfo{display:grid;gap:14px}
.ci{display:flex;gap:18px;align-items:center;padding:20px 24px;border-radius:22px;background:rgba(255,255,255,.1);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.2);transition:.4s var(--ease)}
.ci:hover{background:rgba(255,255,255,.2);transform:translateX(-8px);border-color:var(--orange)}
.ci i{flex:none;width:50px;height:50px;border-radius:15px;display:grid;place-items:center;font-style:normal;font-size:1.4rem;background:var(--orange);transition:.4s var(--ease)}
.ci:hover i{transform:rotate(-8deg) scale(1.08)}
.ci small{display:block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-light);font-weight:700}
.ci span{font-size:.95rem;color:#fff;line-height:1.45}

.rv{opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}

@media(max-width:800px){.path::before,.path .fill{left:30px}.step{grid-template-columns:62px 1fr;gap:18px;align-items:start}.node{grid-column:1;width:50px;height:50px;font-size:1.2rem}.step:nth-child(odd) .scard,.step:nth-child(even) .scard{grid-column:2;grid-row:1;transform:translateX(30px)}.step.in .scard{transform:none}.scard::before{display:none}.path{margin-top:50px}}
@media(max-width:1000px){.xps{flex-direction:row;height:460px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:14px;margin-left:-28px;margin-right:-28px;padding:0 28px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.xps::-webkit-scrollbar{display:none}.xp,.xp.on{flex:0 0 min(300px,82vw);height:100%;scroll-snap-align:center}.xp-v{display:none}.xp-b{opacity:1;transform:none;padding:26px 24px 30px}.xp-b h3{font-size:1.6rem;white-space:normal}.xp-b p{min-width:0}.xp::before,.xp:not(.on)::before{background:linear-gradient(0deg,rgba(0,24,48,.95),rgba(0,24,48,.4))}.xp::after,.xp.on::after{transform:none;animation:none}.xp-ar{top:18px;right:18px}}
@media(max-width:1000px){.cbox{grid-template-columns:1fr;padding:56px 32px;gap:36px}.ci:hover{transform:none}}
@media(max-width:1000px){.outg,.pol{grid-template-columns:1fr}.rg{grid-template-columns:repeat(2,1fr)}.pp{grid-template-columns:1fr}}
@media(max-width:600px){.rg{grid-template-columns:1fr}.oc{padding:32px 24px}.pol{padding:28px 24px}}
@media(max-width:1000px){.cmp,.faqs .pw{grid-template-columns:1fr}.qgrid{grid-template-columns:repeat(2,1fr)}.faqs .pw{gap:36px}.faqs .side{position:static}}
@media(max-width:600px){.qgrid{grid-template-columns:1fr}.cmc{padding:32px 26px;min-height:420px}.cmc .cn{left:26px;font-size:4.2rem}.fq summary{padding:18px 20px;font-size:1.02rem}.fq .ans{padding:0 20px 20px}}
@media(max-width:1000px){.islg{grid-template-columns:repeat(2,1fr)}.islc:nth-child(odd)::before{display:none}.islc:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}.hctl{bottom:260px}#what{padding-top:370px}}
@media(max-width:600px){#what{padding-top:360px}.islc{padding:24px 20px}.isl-in{border-radius:28px}}
@media(max-width:1200px){.mc.l,.mc.r{margin:0;padding:38px 30px}.mc.l::before,.mc.r::before{-webkit-mask:none;mask:none}.meet{grid-template-columns:1fr;gap:24px}.meet::before{display:none}.orb{order:-1;margin:40px auto 50px}}
@media(max-width:1000px){
  main section{padding:80px 0}
  .meet{grid-template-columns:1fr;gap:24px}.meet::before{display:none}.mc.l,.mc.r{margin:0}.orb{margin:30px auto 40px;width:min(300px,80vw);height:min(300px,80vw);order:-1}
  .fnd{grid-template-columns:1fr}
  .brk{grid-template-columns:1fr}
}
@media(max-width:1000px){.hctl{left:28px;right:28px;justify-content:space-between}.hcap{flex:1;width:auto}.phero{height:auto;min-height:900px;padding:90px 0 360px}.phero::before{background:linear-gradient(90deg,rgba(0,24,48,.95),rgba(0,24,48,.6)),linear-gradient(0deg,rgba(0,24,48,.9),transparent 40%)}}
@media(max-width:600px){.pipe{grid-template-columns:repeat(2,1fr);gap:26px 0}.pipe::before,.pipe::after{display:none}.bc{padding:36px 24px 30px}.bc h3{font-size:1.6rem}.bc .span-lbl{display:none}.hcap{display:none}.hctl{justify-content:center}.hth{width:60px;height:80px}
  .pw{padding:0 20px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.phero h1 .pl>span{transform:none}.phero h1 em path{stroke-dashoffset:0}}
/* hero – tablet & mobile: keep the title clear of the header (must stay last) */
@media(max-width:1000px){
  .phero{display:block;height:auto;min-height:0;padding:170px 0 380px}
  .phero .hcopy{padding-top:0}
}
@media(max-width:600px){
  .phero{padding:190px 0 400px}
}
/* programs journey – mobile: pop-up instead of side slide (must stay last) */
@media(max-width:800px){
  .step:nth-child(n) .scard{opacity:0;transform:scale(.8) translateY(28px);transition:transform .75s cubic-bezier(.34,1.56,.64,1),opacity .5s ease,background .4s}
  .step.in:nth-child(n) .scard{opacity:1;transform:none}
  .step.in:nth-child(n) .scard:hover{transform:translateY(-6px)}
  .node{transform:scale(.5);transition:transform .7s cubic-bezier(.34,1.56,.64,1),background .4s,border-color .4s,box-shadow .4s}
  .step.in .node{transform:scale(1.08)}
  .path{overflow:visible}
}
main section.nhub{padding-top:120px;background:var(--navy-pale)}
@media(max-width:600px){main section.nhub{padding-top:80px}.nhc{padding:28px 22px 26px}}

/* background images (kept in CSS so the HTML stays clean) */
.bg-s1{background-image:url(../../assets/img/research/slider/slider-1.jpg)}
.bg-s3{background-image:url(../../assets/img/research/slider/slider-3.jpg)}
.bg-s4{background-image:url(../../assets/img/research/slider/slider-4.jpg)}
.bg-s5{background-image:url(../../assets/img/research/slider/slider-5.jpg)}
.bg-xp-domains{background-image:url(../../assets/img/pages/2.jpeg)}
.bg-xp-centres{background-image:url(../../assets/img/pages/1.jpeg)}
.bg-xp-innovation{background-image:url(../../assets/img/pages/innovation_bg.jpeg)}

/* helpers that replaced inline style="" attributes */
.c-muted{color:var(--muted)}
.faq-btn{margin-top:26px}
.shead{text-align:center;max-width:720px;margin:0 auto}
.shead .plede{margin:0 auto}

/* phones: the card row bleeds out of the 20px page padding, not the 28px one (prevents sideways overflow) */
@media(max-width:600px){
  .xps{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}
}

/* svg icons (every icon on the page is an inline svg) */
.ico{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-.14em}
.ar .ico{width:14px;height:14px;vertical-align:0}
.xp-ar .ico{width:20px;height:20px;vertical-align:0}
.go i .ico,.olink .ico,.more .ico{width:1em;height:1em}
.ic2,.ri,.ps i,.qlk i,.ci i,.node{line-height:0}
.node{color:var(--head)}.step.in .node{color:#fff}
.ps i{color:#fff}
.ri{color:var(--orange)}.rcard:hover .ri{color:#fff}
.qlk i{color:var(--orange)}.qlk:hover i{color:#fff}
.ci i{color:#fff}
.fq .pm{flex:none;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--head);display:grid;place-items:center;transition:.4s var(--ease);color:var(--head)}
.fq .pm .ico{width:16px;height:16px;vertical-align:0}
.fq[open] .pm{transform:rotate(45deg);background:var(--orange);border-color:var(--orange);color:#fff}

/* dark mode – uses the same dark palette as research.pes.edu (variables come from main.css) */
html[data-theme="dark"] .rcard,
html[data-theme="dark"] .about .fn,
html[data-theme="dark"] .rsec .pol,
html[data-theme="dark"] .faqs .fq{background:var(--navy-pale);border-color:var(--line-strong)}
html[data-theme="dark"] .rcard:hover{background:var(--navy-light);border-color:var(--navy-light)}
html[data-theme="dark"] .pp div{background:var(--navy-pale-2)}
html[data-theme="dark"] .tp span{border-color:var(--line-strong);background:var(--navy-pale)}
html[data-theme="dark"] .split{background:var(--navy-pale-2)}
html[data-theme="dark"] .split i:last-child{background:var(--navy-light)}
html[data-theme="dark"] .pbtn.n{background:var(--navy-light)}
html[data-theme="dark"] .pbtn.n:hover{background:var(--orange)}
html[data-theme="dark"] .nhb:hover{background:var(--navy-light);border-color:var(--navy-light)}
html[data-theme="dark"] .scard .chips span,html[data-theme="dark"] .tg2{background:var(--navy-pale-2)}
html[data-theme="dark"] .qlk i,html[data-theme="dark"] .rcard .ri{background:var(--orange-pale)}

/* dark mode – outline for the two curved cards (border layer = ::before, fill layer = ::after, both follow the curve) */
html[data-theme="dark"] .mc::before{background:rgba(255,255,255,.3)}
html[data-theme="dark"] .mc::after{content:"";position:absolute;inset:1px;z-index:-1;border-radius:31px;background:var(--navy-pale);transition:background .5s}
html[data-theme="dark"] .mc.l::after{-webkit-mask:radial-gradient(circle 229px at calc(100% + 169px) 50%,transparent 99%,#000 100%);mask:radial-gradient(circle 229px at calc(100% + 169px) 50%,transparent 99%,#000 100%)}
html[data-theme="dark"] .mc.r::after{-webkit-mask:radial-gradient(circle 229px at -169px 50%,transparent 99%,#000 100%);mask:radial-gradient(circle 229px at -169px 50%,transparent 99%,#000 100%)}
html[data-theme="dark"] .mc:hover::before{background:var(--orange)}
html[data-theme="dark"] .mc:hover::after{background:var(--navy-light)}
@media(max-width:1200px){
  html[data-theme="dark"] .mc.l::after,html[data-theme="dark"] .mc.r::after{-webkit-mask:none;mask:none}
}


/* contact card: let grid columns shrink so long text (email) wraps instead of overflowing */
.cbox>*,.ci>div{min-width:0}
.ci span{overflow-wrap:anywhere}

/* contact card spacing on phones */
@media(max-width:600px){
  .big-cta{padding:64px 16px 70px}
  .cbox{padding:40px 22px;border-radius:28px;gap:28px}
  .cbox h2{font-size:2.1rem;margin:12px 0 12px}
  .cbox .cp{margin-bottom:24px}
  .cbox .cta{flex-direction:column;gap:12px}
  .cbox .cta .pbtn{width:100%;justify-content:center;padding:14px 22px}
  .cinfo{gap:12px}
  .ci{padding:16px;gap:14px;border-radius:18px}
  .ci i{width:44px;height:44px;border-radius:13px}
  .ci span{font-size:.9rem}
}

/* ---------- About Us banner (full-width row after "What We Do") ---------- */
main section.abx{padding:0 0 40px}
.abx-in{position:relative;display:flex;align-items:center;min-height:420px;border-radius:28px;overflow:hidden;isolation:isolate;color:#fff;box-shadow:0 30px 60px -34px rgba(0,24,48,.7)}
.abx-bg{position:absolute;inset:0;z-index:-2;background:url(../../assets/img/pages/about.jpeg) center/cover;transition:transform 1.2s var(--ease)}
.abx-in::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,24,48,.95) 0%,rgba(0,24,48,.78) 45%,rgba(0,24,48,.2) 100%)}
.abx-in::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.abx-in:hover .abx-bg{transform:scale(1.06)}
.abx-in:hover::after{transform:none}
.abx-b{max-width:560px;padding:56px 56px}
.abx-b .peye{color:var(--orange-light)}
.abx-b h2{color:#fff;font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.15;margin:14px 0 14px}
.abx-b h2 em{color:var(--orange-light)}
.abx-b p{color:#d3deec;font-size:1rem;line-height:1.7;margin-bottom:20px}
.abx-b .chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.abx-b .chips span{padding:5px 14px;border-radius:99px;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);font-size:.78rem;white-space:nowrap}
.abx-b .go{display:inline-flex;align-items:center;gap:12px;padding:8px 8px 8px 22px;border-radius:99px;background:var(--orange);color:#fff;font-weight:700;font-size:.92rem;box-shadow:0 14px 30px -12px rgba(239,126,26,.9);transition:background .3s,box-shadow .3s,transform .35s var(--ease)}
.abx-b .go i{font-style:normal;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff;color:var(--orange);transition:transform .35s var(--ease),color .3s}
.abx-b .go i .ico{width:16px;height:16px}
.abx-in:hover .go{background:var(--navy-light);box-shadow:0 18px 34px -12px rgba(0,38,77,.8);transform:translateY(-3px)}
.abx-in:hover .go i{transform:rotate(-45deg);color:var(--navy-light)}
@media(max-width:700px){
  .abx-in{min-height:0;border-radius:22px}
  .abx-in::before{background:linear-gradient(0deg,rgba(0,24,48,.95) 30%,rgba(0,24,48,.55) 100%)}
  .abx-b{padding:120px 24px 30px}
}
