/* Silas Ozoya — Neo-Apple UI: glassy gradients (SUBA brand) */
@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap");

:root{
  --so-purple:#541592;
  --so-pink:#e3227e;
  --so-violet:#7b3fb8;
  --so-mist:#eef1f8;
  --so-fog:#f7f8fc;
  --so-ink:#1c1428;
  --so-mute:#5c5668;
  --so-glass:rgba(255,255,255,.62);
  --so-glass-strong:rgba(255,255,255,.78);
  --so-glass-border:rgba(255,255,255,.55);
  --so-glass-edge:rgba(84,21,146,.12);
  --so-ease:cubic-bezier(.32,.72,0,1);
  --so-radius:22px;
  --so-radius-sm:16px;
  --so-shadow:0 18px 50px rgba(28,20,40,.08),0 4px 14px rgba(84,21,146,.06);
  --so-shadow-soft:0 10px 30px rgba(28,20,40,.06);
}

html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--so-ink);
  font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(1200px 600px at 8% -10%,rgba(227,34,126,.16),transparent 55%),
    radial-gradient(900px 500px at 92% 8%,rgba(84,21,146,.18),transparent 50%),
    radial-gradient(700px 420px at 50% 100%,rgba(123,63,184,.1),transparent 55%),
    linear-gradient(180deg,var(--so-fog) 0%,var(--so-mist) 45%,#f3eef9 100%);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Ambient glass grain (fixed, non-interactive) */
body:before{
  content:"";
  position:fixed;inset:0;pointer-events:none;z-index:0;
  opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.wp-site-blocks{position:relative;z-index:1}

.so-shell{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.so-section{padding:100px 0;margin:0!important}
.so-section h1,.so-section h2,.so-section h3,.so-page-hero h1,.so-stage h1{
  letter-spacing:-.04em;
  font-weight:700;
}
/* Body copy stays readable; block text-color classes can override (no !important). */
.so-section p,.so-lead{color:var(--wp--preset--color--muted,var(--so-mute))}
.so-section h1,.so-section h2,.so-section h3,.so-section h4{
  color:var(--wp--preset--color--ink,var(--so-ink));
}
.so-kicker{
  display:inline-flex;
  align-items:center;
  padding:7px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid var(--so-glass-border);
  backdrop-filter:blur(12px) saturate(160%);
  -webkit-backdrop-filter:blur(12px) saturate(160%);
  color:var(--wp--preset--color--accent,var(--so-purple));
  font-size:11px;
  letter-spacing:.12em;
  font-weight:700;
  margin-bottom:20px;
  box-shadow:var(--so-shadow-soft);
}

/* —— Top bar + floating glass header —— */
.so-topbar{
  background:linear-gradient(90deg,#4a117f 0%,#541592 45%,#7b3fb8 100%)!important;
  border:0!important;
  padding:10px 0!important;
}
.so-topbar p,.so-topbar a{color:#fff}
.so-topbar-inner{justify-content:center;text-align:center;gap:12px 28px}
.wp-site-blocks>.wp-block-template-part:first-child{
  position:sticky;top:12px;z-index:100;
  margin:0 12px;
  width:auto;
}
.admin-bar .wp-site-blocks>.wp-block-template-part:first-child{top:44px}
.so-header{
  border:1px solid var(--so-glass-border);
  background:var(--so-glass-strong);
  backdrop-filter:blur(22px) saturate(180%);
  -webkit-backdrop-filter:blur(22px) saturate(180%);
  border-radius:999px;
  box-shadow:var(--so-shadow);
  margin-top:8px;
}
/* Center logo + navigation + CTA as one aligned bar */
.so-header-row{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap;
  min-height:76px;
  padding:10px 20px;
  gap:18px 28px!important;
  text-align:center;
}
.so-header-row>.so-logo,
.so-header-row>.wp-block-image.so-logo{
  margin:0!important;
  flex:0 0 auto;
}
.so-header-row>.wp-block-navigation,
.so-header-row .wp-block-navigation{
  margin:0!important;
  margin-left:0!important;
  margin-right:0!important;
  flex:0 1 auto;
  justify-content:center;
}
.so-header-row .wp-block-navigation__container{
  justify-content:center!important;
  gap:8px 18px;
}
.so-header-row>.wp-block-buttons{
  margin:0!important;
  flex:0 0 auto;
}
.so-header-row a{text-decoration:none;transition:color .35s var(--so-ease)}
.so-header-row .wp-block-navigation a,
.so-header-row .wp-block-navigation-item__content{
  color:var(--wp--preset--color--ink,var(--so-ink));
  font-weight:600;
}
.so-header-row .wp-block-navigation a:hover,
.so-header-row .wp-block-navigation-item__content:hover{
  color:var(--wp--preset--color--pink,var(--so-pink));
}
.so-header-cta .wp-block-button__link{
  border-radius:999px;
  background:linear-gradient(135deg,var(--wp--preset--color--pink,var(--so-pink)),#c41a6a 40%,var(--wp--preset--color--accent,var(--so-purple)));
  border:0;
  color:#fff;
  box-shadow:0 10px 24px rgba(227,34,126,.28);
  padding:12px 20px;
}

/* —— Hero stage: glassy gradient plane —— */
.so-stage{
  min-height:780px!important;
  margin:20px 12px 0!important;
  border-radius:32px!important;
  overflow:hidden!important;
  padding:96px 36px 80px!important;
  background:
    radial-gradient(800px 480px at 20% 20%,rgba(227,34,126,.35),transparent 60%),
    radial-gradient(700px 500px at 85% 30%,rgba(123,63,184,.45),transparent 55%),
    linear-gradient(160deg,#12081c 0%,#2a0f45 42%,#541592 100%)!important;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 30px 80px rgba(28,20,40,.28);
}
.so-stage>.wp-block-cover__background{
  background:linear-gradient(180deg,rgba(8,4,16,.35),rgba(18,8,32,.55))!important;
  opacity:1!important;
  backdrop-filter:blur(2px);
}
.so-stage:after{
  background:
    linear-gradient(180deg,transparent 40%,rgba(8,4,16,.45)),
    radial-gradient(circle at 50% 120%,rgba(227,34,126,.25),transparent 50%)!important;
  opacity:1!important;
}
.so-stage-content{
  padding:28px 32px;
  border-radius:28px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 20px 50px rgba(0,0,0,.18);
}
.so-stage .so-featured-label{
  color:#f4d6ea!important;
  letter-spacing:.18em!important;
}
.so-featured-chips span{
  background:rgba(255,255,255,.1)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-radius:999px!important;
  transition:transform .4s var(--so-ease),background .4s var(--so-ease);
}
.so-featured-chips span:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.18)!important;
}

/* —— Expertise strip —— */
.so-expertise{
  margin:16px 12px 0!important;
  border-radius:18px!important;
  background:linear-gradient(90deg,#3d0d6e,#541592 40%,#8e48a0 70%,#e3227e)!important;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:var(--so-shadow-soft);
  overflow:hidden!important;
}
.so-expertise-line,.so-expertise-seg{color:#fff!important}

/* —— Page heroes —— */
.so-page-hero{
  margin:20px 12px 0!important;
  border-radius:32px!important;
  padding:100px 0 78px!important;
  background:
    radial-gradient(700px 360px at 15% 0%,rgba(227,34,126,.35),transparent 55%),
    radial-gradient(600px 320px at 90% 40%,rgba(255,255,255,.12),transparent 50%),
    linear-gradient(145deg,#160b22 0%,#541592 55%,#2d1148 100%)!important;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 24px 60px rgba(28,20,40,.22);
  overflow:hidden;
}
.so-page-hero .so-kicker{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.22)!important;
  color:#f4b2d2!important;
}
.so-page-hero .so-lead{color:#efe6f7!important}

/* —— Glass cards —— */
.so-card,.so-service-card,.so-community-card,.so-proof-point{
  position:relative;
  background:var(--so-glass-strong);
  border:1px solid var(--so-glass-border);
  border-radius:var(--so-radius);
  backdrop-filter:blur(18px) saturate(170%);
  -webkit-backdrop-filter:blur(18px) saturate(170%);
  box-shadow:var(--so-shadow-soft);
  transition:transform .5s var(--so-ease),box-shadow .5s var(--so-ease),border-color .4s ease;
  color:var(--wp--preset--color--ink,var(--so-ink));
}
.so-card p,.so-service-card p,.so-community-card p,.so-proof-point p{
  color:var(--wp--preset--color--muted,var(--so-mute));
}
.so-card h3,.so-service-card h3,.so-community-card h3{
  color:var(--wp--preset--color--ink,var(--so-ink));
}
.so-card:before,.so-service-card:before,.so-community-card:before{
  content:"";
  position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}
.so-card:hover,.so-service-card:hover,.so-community-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--so-shadow);
  border-color:rgba(84,21,146,.22)!important;
}
.so-card-index{
  color:var(--so-purple)!important;
  font-weight:700;
  letter-spacing:.08em;
  font-size:12px!important;
}

/* —— Buttons —— */
.wp-block-button__link{
  border-radius:999px!important;
  padding:14px 24px!important;
  font-weight:600!important;
  letter-spacing:.01em;
  border:0!important;
  background:linear-gradient(135deg,var(--so-purple),var(--so-violet))!important;
  box-shadow:0 12px 28px rgba(84,21,146,.28);
  transition:transform .35s var(--so-ease),box-shadow .35s var(--so-ease),filter .35s ease;
}
.wp-block-button__link:hover{
  transform:translateY(-2px) scale(1.01);
  filter:brightness(1.05);
  background:linear-gradient(135deg,var(--so-pink),var(--so-purple))!important;
  color:#fff!important;
  text-decoration:none;
}
.wp-block-button__link:active{transform:scale(.98)}
.is-style-outline .wp-block-button__link{
  background:rgba(255,255,255,.45)!important;
  color:var(--so-purple)!important;
  border:1px solid rgba(84,21,146,.22)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:var(--so-shadow-soft);
}
.so-stage .is-style-outline .wp-block-button__link,
.so-page-hero .is-style-outline .wp-block-button__link{
  background:rgba(255,255,255,.1)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.35)!important;
}

/* —— Sections & media —— */
.so-why,.so-services,.so-proof,.so-library,.so-community,.so-watch,.so-about{
  background:transparent!important;
}
.so-section-heading{margin-bottom:36px}
.so-portrait,.so-about-photo,.so-book img,.so-watch img{
  border-radius:24px!important;
  box-shadow:var(--so-shadow);
  border:1px solid rgba(255,255,255,.4);
}
.so-book{transition:transform .5s var(--so-ease)}
.so-book:hover{transform:translateY(-6px)}
.so-caption{
  background:linear-gradient(135deg,var(--so-purple),var(--so-violet))!important;
  border-radius:0 0 22px 22px;
}

/* Forms */
.so-enquiry{
  padding:28px;
  border-radius:var(--so-radius);
  background:var(--so-glass-strong);
  border:1px solid var(--so-glass-border);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  box-shadow:var(--so-shadow);
}
.so-enquiry input,.so-enquiry textarea,.so-enquiry select{
  border-radius:14px!important;
  border:1px solid rgba(84,21,146,.15)!important;
  background:rgba(255,255,255,.7)!important;
  transition:border-color .3s ease,box-shadow .3s ease;
}
.so-enquiry input:focus,.so-enquiry textarea:focus,.so-enquiry select:focus{
  border-color:rgba(227,34,126,.45)!important;
  box-shadow:0 0 0 4px rgba(227,34,126,.12);
  outline:none;
}

/* Footer glass */
.so-footer,.wp-site-blocks>.wp-block-template-part:last-child .so-footer{
  margin:24px 12px 20px!important;
  border-radius:28px!important;
  background:linear-gradient(160deg,rgba(22,11,34,.92),rgba(84,21,146,.88))!important;
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  box-shadow:var(--so-shadow);
  overflow:hidden;
}
.so-footer a,.so-footer p,.so-footer h2,.so-footer h3{color:#f5eefb!important}

/* Proof strip */
.so-proof-strip{
  margin:0 12px;
  border:0!important;
  border-radius:20px;
  background:rgba(255,255,255,.45);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

/* Scroll reveal */
.so-in-view{animation:so-glass-rise .8s var(--so-ease) both}
@keyframes so-glass-rise{
  from{opacity:0;transform:translateY(18px) scale(.985);filter:blur(4px)}
  to{opacity:1;transform:none;filter:none}
}

/* Mobile */
@media(max-width:1000px){
  .so-shell{width:min(1120px,calc(100% - 28px))}
  .wp-site-blocks>.wp-block-template-part:first-child{margin:0 8px;top:8px}
  .so-header{border-radius:24px}
  .so-header-row{gap:14px 18px!important;padding:12px 16px}
  .so-stage,.so-page-hero{margin:12px 8px 0;border-radius:24px;padding:72px 22px 56px}
  .so-expertise{margin:12px 8px 0}
  .so-stage-content{padding:22px 20px;border-radius:20px}
}
@media(max-width:781px){
  .so-section{padding:64px 0}
  .so-header-row{min-height:auto;padding:12px 14px;justify-content:center!important}
  .so-card,.so-service-card,.so-community-card{border-radius:18px}
  .so-footer{margin:16px 8px 12px;border-radius:22px}
}
@media(max-width:480px){
  .so-stage-content{padding:18px 16px}
  .so-kicker{letter-spacing:.1em!important}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .so-card:hover,.so-service-card:hover,.so-community-card:hover,.so-book:hover,.wp-block-button__link:hover{transform:none}
  .so-in-view{animation:none;filter:none}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .so-header,.so-card,.so-service-card,.so-community-card,.so-stage-content,.so-enquiry{
    background:rgba(255,255,255,.92)!important;
  }
  .so-stage-content{background:rgba(30,12,48,.72)!important}
}
