/*
Theme Name: Stratus Partners Premium
Theme URI: https://stratuspartners.co.uk
Author: Stratus Partners Limited
Author URI: https://stratuspartners.co.uk
Description: Enterprise cloud engineering for regulated institutions — Premium edition with scroll-reveal animations, counter effects, and micro-interactions.
Version: 1.0.0
License: Private
Text Domain: stratus-partners-premium
*/

/* ── RESET & BASE ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --purple:#6b21a8; --purple-dk:#4c1d95; --purple-mid:#7c3aed;
  --purple-lt:#f3e8ff; --purple-muted:#ddd6fe;
  --navy:#1a1a2e; --ink:#1e1e2e; --body:#475569; --muted:#64748b;
  --border:#e2e8f0; --off:#f8fafc; --white:#ffffff;
  --fh:'Cormorant Garant',serif; --fb:'Outfit',sans-serif; --r:14px;
}
html{scroll-behavior:smooth;}
body{font-family:var(--fb);background:var(--white);color:var(--body);line-height:1.65;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{max-width:1160px;margin:0 auto;padding:0 28px;}

/* ── HEADER ── */
header{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.97);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);}
.hdr{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:20px;}
.logo-link{text-decoration:none;display:flex;align-items:center;}
.logo-link img{height:38px;width:auto;object-fit:contain;max-width:220px;}
header nav{display:flex;gap:24px;}
header nav a{font-size:15px;font-weight:500;color:#111827;text-decoration:none;transition:color .2s;}
header nav a:hover,header nav a.active{color:var(--purple);}
.hcta{background:var(--purple);color:#fff;padding:11px 26px;border-radius:50px;font-size:14px;font-weight:600;transition:all .2s;white-space:nowrap;text-decoration:none;display:inline-block;}
.hcta:hover{background:var(--purple-dk);}

/* ── MOBILE NAV TOGGLE ── */
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);border-radius:2px;transition:all .3s;}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-nav{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,.99);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);padding:20px 28px 28px;flex-direction:column;gap:4px;z-index:199;}
.mobile-nav.open{display:flex;}
.mobile-nav a{font-size:16px;font-weight:500;color:var(--ink);padding:10px 0;border-bottom:1px solid var(--border);transition:color .2s;text-decoration:none;}
.mobile-nav a:last-child{border-bottom:none;}
.mobile-nav a:hover,.mobile-nav a.active{color:var(--purple);}
.mobile-nav .hcta{margin-top:12px;text-align:center;padding:12px 24px;border-radius:50px;}

/* ── PAGE HERO (shared dark hero used on inner pages) ── */
.page-hero{background:#0B0C10;padding:88px 0 80px;position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;opacity:0.20;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Ccircle cx='40' cy='40' r='28' fill='none' stroke='%236D28D9' stroke-width='1.5'/%3E%3Ccircle cx='40' cy='40' r='14' fill='none' stroke='%236D28D9' stroke-width='1'/%3E%3Cline x1='40' y1='4' x2='40' y2='76' stroke='%236D28D9' stroke-width='1'/%3E%3Cline x1='4' y1='40' x2='76' y2='40' stroke='%236D28D9' stroke-width='1'/%3E%3C/svg%3E");background-size:80px 80px;pointer-events:none;}
.page-hero::after{content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(109,40,217,.16) 0%,transparent 65%);pointer-events:none;}
.page-hero-inner{position:relative;z-index:1;}
.page-hero-eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(167,139,250,.65);margin-bottom:22px;}
.page-hero h1{font-family:var(--fh);font-size:clamp(44px,5.5vw,80px);font-weight:700;color:#fff;line-height:1.0;letter-spacing:-.03em;margin-bottom:24px;}
.page-hero h1 em{font-style:italic;color:#fff;}
.page-hero-sub{font-size:17px;color:rgba(255,255,255,.55);max-width:560px;line-height:1.78;}

/* ── BREADCRUMB ── */
.breadcrumb{font-size:12px;color:rgba(255,255,255,.35);margin-bottom:28px;display:flex;align-items:center;gap:6px;}
.breadcrumb a{color:rgba(167,139,250,.6);text-decoration:none;transition:color .2s;}
.breadcrumb a:hover{color:rgba(167,139,250,1);}
.breadcrumb span{color:rgba(255,255,255,.25);}

/* ── PAGE CTA (shared dark CTA section) ── */
.page-cta{background:#0B0C10;padding:96px 0;position:relative;overflow:hidden;}
.page-cta::before{content:'';position:absolute;inset:0;opacity:0.20;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Ccircle cx='40' cy='40' r='28' fill='none' stroke='%236D28D9' stroke-width='1.5'/%3E%3Ccircle cx='40' cy='40' r='14' fill='none' stroke='%236D28D9' stroke-width='1'/%3E%3Cline x1='40' y1='4' x2='40' y2='76' stroke='%236D28D9' stroke-width='1'/%3E%3Cline x1='4' y1='40' x2='76' y2='40' stroke='%236D28D9' stroke-width='1'/%3E%3C/svg%3E");background-size:80px 80px;pointer-events:none;}
.page-cta::after{content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(109,40,217,.14) 0%,transparent 65%);pointer-events:none;}
.cta-inner{position:relative;z-index:1;text-align:center;}
.cta-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(167,139,250,.6);margin-bottom:16px;}
.cta-inner h2{font-family:var(--fh);font-size:clamp(32px,4vw,58px);font-weight:700;color:#fff;line-height:1.06;letter-spacing:-.02em;margin-bottom:20px;}
.cta-inner h2 em{font-style:italic;color:rgba(255,255,255,.45);}
.cta-inner p{font-size:16px;color:rgba(255,255,255,.4);max-width:500px;margin:0 auto 40px;line-height:1.75;}
.cta-btn{display:inline-flex;align-items:center;gap:10px;background:var(--purple);color:#fff;padding:15px 32px;border-radius:8px;font-size:14px;font-weight:600;transition:all .22s;text-decoration:none;}
.cta-btn:hover{background:var(--purple-dk);transform:translateY(-2px);box-shadow:0 10px 28px rgba(107,33,168,.4);}
.cta-btn svg{width:15px;height:15px;}

/* ── FOOTER ── */
footer{background:#0B0C10;padding:72px 0 36px;}
.footer-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:48px;margin-bottom:52px;}
.footer-brand{display:flex;flex-direction:column;}
.footer-logo-wrap{margin-bottom:18px;}
.footer-logo-wrap img{height:30px;filter:brightness(0) invert(1);opacity:.85;}
.footer-tagline{font-size:13.5px;color:rgba(255,255,255,.35);line-height:1.78;max-width:260px;margin-bottom:24px;}
.footer-col h5{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:20px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:12px;}
.footer-col a{font-size:13.5px;color:rgba(255,255,255,.4);transition:color .2s;text-decoration:none;}
.footer-col a:hover{color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-top:28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.footer-reg,.footer-copy{font-size:12px;color:rgba(255,255,255,.2);line-height:1.6;}

/* ── SCROLL REVEAL ── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease;}
.reveal.visible{opacity:1;transform:none;}

/* ── RESPONSIVE ── */
@media(max-width:980px){
  header nav,.hcta{display:none;}
  .nav-toggle{display:flex;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .footer-brand{grid-column:1/-1;}
}
@media(max-width:640px){
  .footer-grid{grid-template-columns:1fr;}
  .page-hero{padding:64px 0 56px;}
  .page-cta{padding:72px 0;}
}
