/* BSS AIMS — Shared Styles
   ========================= */
:root{
  --navy:#001E60;--navy-d:#000f38;--navy-x:#000820;
  --cy:#009FDF;--cy-l:#33bbf0;--cy-t:#0068a0;--cy-bg:#EDF5FC;--cy-bg2:#E0EEF8;--cy-bg3:#D2E6F4;
  --w:#ffffff;--off:#F5F7FB;
  --tx:#142241;--tx-s:#3d4f6f;--tx-m:#6b7a96;
  --bdr:#D0D8E8;--bdr-cy:rgba(0,159,223,0.22);
  --sh:0 2px 12px rgba(0,30,96,0.06);--sh-m:0 4px 20px rgba(0,30,96,0.09);--sh-l:0 6px 32px rgba(0,30,96,0.12);
  --focus:#33bbf0;--wrap:1080px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Barlow',sans-serif;background:var(--w);color:var(--tx);overflow-x:hidden;-webkit-font-smoothing:antialiased;}
.skip{position:absolute;top:-100px;left:0;background:var(--cy);color:#fff;padding:0.5rem 1rem;font-weight:700;z-index:999;text-decoration:none;}.skip:focus{top:0;}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}
@keyframes r{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes p{0%,100%{opacity:1}50%{opacity:0.3}}
.a{opacity:0;animation:r 0.6s 0.1s forwards;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.5rem;}

/* ─── NAV ─── */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 calc((100% - var(--wrap))/2);height:100px;background:rgba(0,8,32,0.97);backdrop-filter:blur(14px);transition:box-shadow 0.3s;}
nav.s{box-shadow:0 2px 16px rgba(0,0,0,0.25);}
nav.s .nc{box-shadow:0 0 10px rgba(0,159,223,0.3);}
.nb{display:flex;align-items:center;text-decoration:none;height:100%;padding-left:1.5rem;}.nb img{height:86px;}
.nl{list-style:none;display:flex;align-items:center;gap:1.6rem;padding-right:1.5rem;}
.nl a{font-size:0.72rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.82);text-decoration:none;transition:color 0.2s;}.nl a:hover,.nl a.active{color:var(--cy);}
.nc{background:var(--cy)!important;color:var(--navy-x)!important;font-weight:700!important;padding:0.5rem 1.3rem;border-radius:3px;transition:all 0.3s!important;}.nc:hover{background:var(--cy-l)!important;}

/* Hamburger */
.ham{display:none!important;background:none;border:none;cursor:pointer;padding:0.5rem;-webkit-appearance:none;appearance:none;outline:none;}.ham span{display:block;width:22px;height:2px;background:var(--w);margin:5px 0;transition:all 0.3s;}
.ham.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.ham.open span:nth-child(2){opacity:0;}
.ham.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}
@media(max-width:860px){
  .ham{display:block!important;}
  .nl{position:fixed;top:100px;right:0;width:280px;height:calc(100vh - 100px);background:rgba(0,8,32,0.98);flex-direction:column;align-items:flex-start;padding:1.5rem 2rem;gap:0;transform:translateX(100%);transition:transform 0.3s;overflow-y:auto;}
  .nl.open{transform:translateX(0);}
  .nl li{width:100%;border-bottom:1px solid rgba(255,255,255,0.06);}
  .nl a{display:block;padding:0.9rem 0;font-size:0.85rem;}
  .nl .nc{margin-top:0.8rem;text-align:center;display:block;}
}

/* ─── UTILITY ─── */
.tag{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.15rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--cy-t);margin-bottom:0.6rem;display:inline-flex;align-items:center;gap:0.5rem;}
h1{font-family:'Barlow Condensed',sans-serif;font-weight:700;line-height:1.08;color:var(--navy);}
h2{font-family:'Barlow Condensed',sans-serif;font-weight:600;line-height:1.15;letter-spacing:-0.005em;font-size:clamp(1.2rem,1.8vw,1.5rem);color:var(--tx-s);margin-bottom:0.6rem;}
h3{font-family:'Barlow Condensed',sans-serif;font-weight:700;line-height:1.15;color:var(--navy);}
/* Body text */
.body-text{font-size:0.9rem;font-weight:300;color:var(--tx-s);line-height:1.75;margin-bottom:0.8rem;}
.bp{background:var(--cy);color:var(--w);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.78rem;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;padding:0.6rem 1.4rem;border-radius:3px;border:none;cursor:pointer;display:inline-block;transition:all 0.2s;}.bp:hover{background:var(--cy-l);transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,159,223,0.25);}
.bd{background:transparent;color:var(--cy-t);border:1px solid var(--cy-t);font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:0.78rem;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;padding:0.6rem 1.4rem;border-radius:3px;display:inline-block;transition:all 0.2s;}.bd:hover{background:var(--cy-t);color:var(--w);}
.ss{border-radius:6px;overflow:hidden;box-shadow:var(--sh-l);border:1px solid var(--bdr);background:var(--w);}.ss img{width:100%;display:block;}

/* ─── PAGE HERO ─── */
.page-hero{padding:8rem 0 2rem;background:var(--cy-bg);border-bottom:1px solid var(--bdr);}
.page-hero .tag{margin-bottom:0.5rem;}
.page-hero h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:0.7rem;}
.page-hero p{font-size:0.95rem;font-weight:300;color:var(--tx-s);line-height:1.7;}

/* ─── SECTION BASICS ─── */
section{padding:2.2rem 0;}
section+section{border-top:1px solid var(--bdr);}

/* ─── CARDS ─── */
.card{background:var(--off);border:1px solid var(--bdr);border-radius:5px;padding:1.2rem;transition:border-color 0.3s,box-shadow 0.3s;}.card:hover{border-color:var(--cy);box-shadow:var(--sh);}
.card h3{font-size:0.95rem;margin-bottom:0.3rem;}
.card p{font-size:0.8rem;font-weight:300;color:var(--tx-s);line-height:1.55;}

/* ─── BLOG ─── */
.blog-card{background:var(--w);border:1px solid var(--bdr);border-radius:5px;padding:1.5rem;transition:border-color 0.3s,box-shadow 0.3s;}.blog-card:hover{border-color:var(--cy);box-shadow:var(--sh-m);}
.blog-card .tag{font-size:0.65rem;margin-bottom:0.2rem;}
.blog-card h3{font-size:clamp(1.1rem,1.6vw,1.3rem);margin-bottom:0.3rem;}
.blog-card h3 a{color:var(--navy);text-decoration:none;}.blog-card h3 a:hover{color:var(--cy-t);}
.blog-card .meta{font-size:0.72rem;color:var(--tx-m);margin-bottom:0.5rem;}
.blog-card p{font-size:0.85rem;font-weight:300;color:var(--tx-s);line-height:1.6;}
.blog-card .read-more{display:inline-block;margin-top:0.6rem;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:0.78rem;color:var(--cy-t);text-decoration:none;letter-spacing:0.08em;}.blog-card .read-more:hover{color:var(--cy);}

/* Blog article */
.blog-article{max-width:720px;}
.blog-article .meta{font-size:0.8rem;color:var(--tx-m);margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--bdr);}
.blog-article h1{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:0.5rem;}
.blog-article h2{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.3rem;color:var(--navy);margin:1.8rem 0 0.5rem;}
.blog-article p{font-size:0.92rem;font-weight:300;line-height:1.8;color:var(--tx);margin-bottom:0.8rem;}
.blog-article strong{font-weight:600;color:var(--navy);}
.blog-article ul,.blog-article ol{margin:0.5rem 0 1rem 1.2rem;}.blog-article li{font-size:0.9rem;font-weight:300;line-height:1.7;color:var(--tx);margin-bottom:0.3rem;}
.blog-article blockquote{border-left:3px solid var(--cy);padding:0.6rem 1rem;margin:1rem 0;background:var(--cy-bg);border-radius:0 4px 4px 0;}
.blog-article blockquote p{font-size:0.82rem;color:var(--tx-s);margin-bottom:0;}
.blog-cta{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--bdr);}
.blog-cta p{font-size:0.85rem;font-style:italic;color:var(--tx-s);line-height:1.6;}
.blog-cta a{color:var(--cy-t);}
.blog-back{display:inline-flex;align-items:center;gap:0.3rem;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:0.78rem;color:var(--cy-t);text-decoration:none;letter-spacing:0.08em;margin-bottom:1.2rem;}.blog-back:hover{color:var(--cy);}

/* ─── CONTACT FORM ─── */
.fm{background:var(--w);border:1px solid var(--bdr);border-radius:5px;padding:1.5rem;box-shadow:var(--sh-m);}
.fm h3{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.1rem;color:var(--navy);margin-bottom:0.7rem;}
.fg{margin-bottom:0.55rem;}.fg label{display:block;font-size:0.82rem;font-weight:600;color:var(--tx);margin-bottom:0.15rem;}
.fg input,.fg textarea{width:100%;padding:0.5rem 0.6rem;border:1px solid var(--bdr);border-radius:3px;font-family:'Barlow',sans-serif;font-size:0.88rem;color:var(--tx);transition:border-color 0.2s;}
.fg input:focus,.fg textarea:focus{border-color:var(--cy);outline:none;box-shadow:0 0 0 2px rgba(0,159,223,0.1);}
.fg textarea{min-height:56px;resize:vertical;}.fr{display:grid;grid-template-columns:1fr 1fr;gap:0.55rem;}
.gc{display:flex;gap:0.5rem;align-items:flex-start;margin-bottom:0.35rem;font-size:0.82rem;color:var(--tx-s);line-height:1.5;cursor:pointer;}.gc input{margin-top:0.15rem;flex-shrink:0;width:16px;height:16px;}
.gn{font-size:0.78rem;color:var(--tx-m);line-height:1.5;margin:0.4rem 0 0.6rem;}.gn a{color:var(--cy-t);}
.fs{width:100%;padding:0.65rem;background:var(--cy);color:var(--w);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.85rem;letter-spacing:0.12em;text-transform:uppercase;border:none;border-radius:3px;cursor:pointer;transition:background 0.2s;}.fs:hover{background:var(--cy-l);}
.fn2{font-size:0.76rem;color:var(--tx-m);text-align:center;margin-top:0.35rem;}

/* ─── FOOTER ─── */
footer{padding:2rem 0;background:var(--navy-x);}
.ft{max-width:var(--wrap);margin:0 auto;padding:0 1.5rem;}
.ft-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:1.2rem;border-bottom:1px solid rgba(255,255,255,0.08);}
.ft-top img{height:52px;opacity:0.9;}
.ft-r{display:flex;gap:1.2rem;}.ft-r a{font-size:0.7rem;color:rgba(255,255,255,0.72);text-decoration:none;transition:color 0.2s;letter-spacing:0.02em;}.ft-r a:hover{color:var(--cy);}
.ft-bottom{padding-top:1rem;}
.ft-c{font-size:0.66rem;color:rgba(255,255,255,0.55);}
@media(max-width:700px){
  .ft-top{flex-direction:column;gap:1.2rem;text-align:center;}
  .ft-r{justify-content:center;flex-wrap:wrap;}
  .ft-bottom{text-align:center;}
}

/* ─── SCROLL REVEAL ─── */
.sr{opacity:0;transform:translateY(24px);transition:opacity 0.7s ease-out,transform 0.7s ease-out;}
.sr.vis{opacity:1;transform:translateY(0);}
.sr-d1{transition-delay:0.1s;}.sr-d2{transition-delay:0.2s;}.sr-d3{transition-delay:0.3s;}.sr-d4{transition-delay:0.4s;}
@media(prefers-reduced-motion:reduce){.sr{opacity:1;transform:none;transition:none;}}

/* ─── COOKIE BANNER (UK PECR 2003) ─── */
.cb{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--navy-x);border-top:2px solid var(--cy);padding:1rem 1.5rem;display:none;animation:cbIn 0.4s ease-out;}
.cb.show{display:block;}
@keyframes cbIn{from{transform:translateY(100%)}to{transform:translateY(0)}}
.cb-inner{max-width:var(--wrap);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;}
.cb-text{flex:1;min-width:280px;}
.cb-text p{font-size:0.78rem;color:rgba(255,255,255,0.88);line-height:1.55;margin:0;}
.cb-text a{color:var(--cy);text-decoration:underline;}
.cb-btns{display:flex;gap:0.6rem;flex-shrink:0;}
.cb-accept{background:var(--cy);color:var(--navy-x);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.55rem 1.2rem;border:none;border-radius:3px;cursor:pointer;transition:background 0.2s;}
.cb-accept:hover{background:var(--cy-l);}
.cb-reject{background:transparent;color:rgba(255,255,255,0.7);font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.55rem 1.2rem;border:1px solid rgba(255,255,255,0.25);border-radius:3px;cursor:pointer;transition:all 0.2s;}
.cb-reject:hover{border-color:rgba(255,255,255,0.5);color:#fff;}

/* ─── RESPONSIVE ─── */
@media(max-width:900px){
  .fr{grid-template-columns:1fr;}
  .page-hero{padding:7rem 0 1.5rem;}
}
@media(max-width:600px){
  .cb-inner{flex-direction:column;text-align:center;}
  .cb-btns{width:100%;justify-content:center;}
}
