:root {
  --navy:#2d3142;
  --navy-2:#3b4358;
  --blue:#4f5d75;
  --gold:#ef8354;
  --gold-2:#f5a37e;
  --cream:#f1f2f3;
  --paper:#ffffff;
  --ink:#2d3142;
  --muted:#6d7482;
  --line:#d7d9dc;
  --white:#fff;
  --shadow:0 24px 70px rgba(45,49,66,.14);
  --radius:22px;
  --container:min(1180px,calc(100% - 40px));
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Plus Jakarta Sans",Arial,sans-serif
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  line-height:1.65;
  overflow-x:hidden
}
body.menu-open,body.modal-open {
  overflow:hidden
}
a {
  color:inherit;
  text-decoration:none
}
button,input,select,textarea {
  font:inherit
}
button {
  cursor:pointer
}
img {
  max-width:100%;
  display:block
}
.container {
  width:var(--container);
  margin-inline:auto
}
.icon {
  width:25px;
  height:25px
}
.mini-icon {
  width:16px;
  height:16px
}
.tiny-icon {
  width:14px;
  height:14px
}
.btn-icon {
  width:18px;
  height:18px
}
.eyebrow {
  display:inline-flex;
  align-items:center;
  gap:9px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.75rem;
  font-weight:700;
  color:var(--blue);
  margin-bottom:20px
}
.eyebrow.light {
  color:var(--gold-2)
}
.eyebrow i {
  width:28px;
  height:1px;
  background:var(--gold)
}
h1,h2,h3,h4,p {
  margin-top:0
}
h1,h2 {
  font-family:var(--serif);
  letter-spacing:-.025em;
  line-height:1.08
}
h1 {
  font-size:clamp(3rem,6vw,6rem)
}
h2 {
  font-size:clamp(2.3rem,4.2vw,4.2rem);
  margin-bottom:22px
}
h3 {
  line-height:1.25
}
.btn {
  border:0;
  min-height:52px;
  padding:0 24px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  font-weight:700;
  transition:.3s ease;
  white-space:nowrap
}
.btn:hover {
  transform:translateY(-3px)
}
.btn-primary {
  background:linear-gradient(135deg,var(--gold),#f5a37e);
  color:#101c2e;
  box-shadow:0 15px 35px rgba(239,131,84,.28)
}
.btn-primary:hover {
  box-shadow:0 20px 45px rgba(239,131,84,.38)
}
.btn-secondary {
  background:var(--navy);
  color:#fff
}
.btn-light {
  background:#fff;
  color:var(--navy)
}
.btn-ghost {
  border:1px solid rgba(255,255,255,.35);
  color:#fff;
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(10px)
}
.btn-outline-light {
  border:1px solid rgba(255,255,255,.35);
  color:#fff;
  background:transparent
}
.btn-sm {
  min-height:42px;
  padding:0 19px;
  font-size:.9rem
}
.btn-block {
  width:100%
}
.inline-link,.card-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--blue);
  font-weight:700
}
.inline-link:hover .mini-icon,.card-link:hover .mini-icon {
  transform:translateX(5px)
}
.mini-icon {
  transition:.25s
}
.section {
  padding:115px 0
}
.pale-section {
  background:var(--cream)
}
.section-heading {
  max-width:760px;
  margin-bottom:58px
}
.section-heading.centered {
  text-align:center;
  margin-inline:auto
}
.section-heading p {
  color:var(--muted);
  font-size:1.05rem
}
.reveal {
  opacity:0;
  transform:translateY(32px);
  transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);
  transition-delay:var(--delay,0ms)
}
.reveal.visible {
  opacity:1;
  transform:none
}
/* Scopus Publishers signature welcome animation */
.site-loader {
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#2d3142;
  transition:visibility .9s step-end
}
.welcome-panel {
  position:absolute;
  top:0;
  bottom:0;
  width:51%;
  background:#2d3142;
  z-index:1;
  transition:transform 1.05s cubic-bezier(.77,0,.18,1) .95s
}
.welcome-panel-left {
  left:0
}
.welcome-panel-right {
  right:0
}
.welcome-content {
  position:relative;
  z-index:3;
  text-align:center;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  animation:welcomeEnter 1s cubic-bezier(.2,.8,.2,1) both
}
.welcome-kicker {
  text-transform:uppercase;
  letter-spacing:.34em;
  font-size:.68rem;
  font-weight:700;
  color:#bfc0c0;
  margin-bottom:9px;
  opacity:0;
  animation:welcomeText .65s ease .18s forwards
}
.welcome-logo {
  width:178px;
  height:170px;
  display:grid;
  place-items:center;
  position:relative
}
.welcome-logo img {
  width:168px;
  filter:drop-shadow(0 22px 28px rgba(0,0,0,.25));
  opacity:0;
  transform:scale(.72) translateY(16px);
  animation:welcomeLogo .95s cubic-bezier(.18,.9,.2,1.15) .28s forwards
}
.welcome-halo {
  position:absolute;
  inset:28px;
  border-radius:50%;
  background:rgba(239,131,84,.28);
  filter:blur(34px);
  transform:scale(.45);
  opacity:0;
  animation:welcomeHalo 1.2s ease .25s forwards
}
.welcome-name {
  display:flex;
  flex-direction:column;
  line-height:.92;
  margin-top:2px;
  overflow:hidden
}
.welcome-name strong {
  font-family:var(--serif);
  font-size:clamp(2.7rem,6vw,4.4rem);
  font-weight:600;
  letter-spacing:-.03em;
  transform:translateY(115%);
  animation:welcomeRise .75s cubic-bezier(.2,.8,.2,1) .66s forwards
}
.welcome-name small {
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:.65rem;
  font-weight:700;
  color:#f5a37e;
  margin-top:15px;
  opacity:0;
  animation:welcomeText .65s ease .94s forwards
}
.welcome-content>p {
  font-family:var(--serif);
  font-style:italic;
  font-size:1.04rem;
  color:#d9dadd;
  margin:16px 0 22px;
  opacity:0;
  animation:welcomeText .65s ease 1.06s forwards
}
.welcome-progress {
  width:190px;
  height:2px;
  background:rgba(255,255,255,.14);
  overflow:hidden;
  opacity:0;
  animation:welcomeText .3s ease .82s forwards
}
.welcome-progress span {
  display:block;
  height:100%;
  background:#ef8354;
  transform:translateX(-100%);
  animation:welcomeLoad 1.35s cubic-bezier(.65,0,.35,1) .82s forwards
}
.welcome-orbit {
  position:absolute;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  z-index:2;
  pointer-events:none
}
.welcome-orbit-one {
  width:480px;
  height:480px;
  animation:welcomeSpin 18s linear infinite
}
.welcome-orbit-two {
  width:340px;
  height:340px;
  border-style:dashed;
  animation:welcomeSpin 14s linear infinite reverse
}
.welcome-orbit-one:after,.welcome-orbit-two:before {
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#ef8354;
  top:12%;
  left:18%;
  box-shadow:0 0 22px rgba(239,131,84,.75)
}
.site-loader.loaded {
  visibility:hidden
}
.site-loader.loaded .welcome-panel-left {
  transform:translateX(-105%)
}
.site-loader.loaded .welcome-panel-right {
  transform:translateX(105%)
}
.site-loader.loaded .welcome-content {
  opacity:0;
  transform:scale(.96);
  transition:opacity .42s ease .62s,transform .42s ease .62s
}
.site-loader.loaded .welcome-orbit {
  opacity:0;
  transition:opacity .4s ease .55s
}
.site-loader.compact .welcome-kicker,.site-loader.compact .welcome-name,.site-loader.compact .welcome-content>p,.site-loader.compact .welcome-orbit {
  display:none
}
.site-loader.compact .welcome-logo {
  width:92px;
  height:92px
}
.site-loader.compact .welcome-logo img {
  width:88px;
  animation:welcomeLogo .45s ease forwards
}
.site-loader.compact .welcome-progress {
  margin-top:12px;
  width:110px;
  animation:none;
  opacity:1
}
.site-loader.compact .welcome-progress span {
  animation:welcomeLoad .55s ease forwards
}
.site-loader.compact .welcome-panel {
  transition-delay:.18s;
  transition-duration:.55s
}
@keyframes welcomeEnter {
  from {
    opacity:0;
    transform:translateY(12px)
  }
  to {
    opacity:1;
    transform:none
  }
}
@keyframes welcomeLogo {
  to {
    opacity:1;
    transform:none
  }
}
@keyframes welcomeHalo {
  45% {
    opacity:1;
    transform:scale(1)
  }
  to {
    opacity:.38;
    transform:scale(.88)
  }
}
@keyframes welcomeRise {
  to {
    transform:none
  }
}
@keyframes welcomeText {
  to {
    opacity:1
  }
}
@keyframes welcomeLoad {
  to {
    transform:none
  }
}
@keyframes welcomeSpin {
  to {
    transform:rotate(360deg)
  }
}
.scroll-progress {
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:3px;
  z-index:500;
  pointer-events:none
}
.scroll-progress span {
  display:block;
  height:100%;
  width:0;
  background:linear-gradient(90deg,#ef8354,#f5a37e);
  box-shadow:0 0 16px rgba(239,131,84,.55)
}
.hero-spark {
  position:absolute;
  z-index:1;
  color:#ef8354;
  opacity:.75;
  text-shadow:0 0 18px rgba(239,131,84,.55);
  animation:sparkPulse 3.2s ease-in-out infinite
}
.spark-one {
  left:8%;
  top:27%;
  font-size:1.35rem
}
.spark-two {
  right:8%;
  top:22%;
  font-size:.78rem;
  animation-delay:.8s
}
.spark-three {
  left:47%;
  bottom:13%;
  font-size:.65rem;
  animation-delay:1.5s
}
@keyframes sparkPulse {
  0%,100% {
    transform:scale(.72) rotate(0);
    opacity:.28
  }
  50% {
    transform:scale(1.12) rotate(45deg);
    opacity:.9
  }
}
.top-ribbon {
  background:#242835;
  color:#dce6f6;
  font-size:.78rem;
  position:relative;
  z-index:100
}
.ribbon-inner {
  height:36px;
  display:flex;
  align-items:center;
  justify-content:space-between
}
.ribbon-inner p {
  margin:0;
  display:flex;
  gap:8px;
  align-items:center
}
.text-action {
  background:none;
  border:0;
  color:var(--gold-2);
  display:flex;
  align-items:center;
  gap:7px;
  font-size:.78rem;
  font-weight:700
}
.site-header {
  height:84px;
  position:absolute;
  top:36px;
  left:0;
  right:0;
  z-index:90;
  transition:.35s
}
.site-header.scrolled {
  position:fixed;
  top:0;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 35px rgba(45,49,66,.08);
  backdrop-filter:blur(18px)
}
.nav-wrap {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between
}
.brand {
  display:flex;
  align-items:center;
  gap:11px
}
.brand img {
  width:58px;
  height:58px;
  object-fit:contain
}
.brand-copy {
  display:flex;
  flex-direction:column;
  line-height:1
}
.brand-copy strong {
  font-family:var(--serif);
  font-size:1.28rem;
  color:#fff
}
.brand-copy small {
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.59rem;
  color:#cad6e9;
  margin-top:6px
}
.site-header.scrolled .brand-copy strong {
  color:var(--navy)
}
.site-header.scrolled .brand-copy small {
  color:var(--muted)
}
.desktop-nav {
  display:flex;
  align-items:center;
  gap:29px;
  color:#fff;
  font-weight:600;
  font-size:.92rem
}
.site-header.scrolled .desktop-nav {
  color:var(--ink)
}
.desktop-nav>a,.nav-drop-trigger {
  position:relative;
  padding:30px 0;
  background:none;
  border:0;
  color:inherit;
  font-weight:inherit
}
.desktop-nav>a:after,.desktop-nav>a.active:after {
  content:"";
  position:absolute;
  bottom:23px;
  left:0;
  height:2px;
  width:0;
  background:var(--gold);
  transition:.3s
}
.desktop-nav>a:hover:after,.desktop-nav>a.active:after {
  width:100%
}
.nav-drop-trigger {
  display:flex;
  align-items:center;
  gap:5px
}
.chev {
  font-size:1rem;
  transition:.25s
}
.nav-dropdown:hover .chev {
  transform:rotate(180deg)
}
.nav-dropdown {
  position:relative
}
.dropdown-panel {
  position:absolute;
  top:75px;
  left:-25px;
  min-width:270px;
  background:#fff;
  border:1px solid rgba(79,93,117,.08);
  border-radius:18px;
  padding:10px;
  box-shadow:var(--shadow);
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:.25s
}
.dropdown-panel.wide {
  min-width:300px
}
.nav-dropdown:hover .dropdown-panel {
  opacity:1;
  visibility:visible;
  transform:none
}
.dropdown-panel a {
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-radius:11px;
  color:var(--ink);
  font-size:.88rem
}
.dropdown-panel a:hover {
  background:var(--cream);
  color:var(--blue)
}
.nav-actions {
  display:flex;
  align-items:center;
  gap:12px
}
.menu-toggle {
  display:none;
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.07);
  padding:0 12px
}
.site-header.scrolled .menu-toggle {
  border-color:var(--line);
  background:#fff
}
.menu-toggle span {
  display:block;
  height:2px;
  background:#fff;
  margin:5px 0;
  transition:.25s
}
.site-header.scrolled .menu-toggle span {
  background:var(--navy)
}
.menu-toggle.active span:nth-child(1) {
  transform:translateY(7px) rotate(45deg)
}
.menu-toggle.active span:nth-child(2) {
  opacity:0
}
.menu-toggle.active span:nth-child(3) {
  transform:translateY(-7px) rotate(-45deg)
}
.mobile-panel {
  display:none;
  position:fixed;
  top:84px;
  left:0;
  right:0;
  bottom:0;
  background:#fff;
  padding:28px 20px;
  overflow:auto
}
.mobile-nav-inner {
  width:min(620px,100%);
  margin:auto;
  display:flex;
  flex-direction:column
}
.mobile-nav-inner>a,.mobile-group>button {
  font-family:var(--serif);
  font-size:1.55rem;
  padding:14px 0;
  border:0;
  border-bottom:1px solid var(--line);
  background:none;
  text-align:left;
  display:flex;
  justify-content:space-between
}
.mobile-submenu {
  display:none;
  padding:8px 0 12px 18px
}
.mobile-submenu.open {
  display:block
}
.mobile-submenu a {
  display:block;
  padding:9px 0;
  color:var(--muted)
}
.mobile-nav-inner>.btn {
  margin-top:24px;
  font-family:var(--sans);
  font-size:1rem
}
.mobile-panel.open {
  display:block
}
.hero {
  position:relative;
  overflow:hidden
}
.home-hero {
  min-height:850px;
  background:radial-gradient(circle at 75% 38%,#64728a 0,#3d465b 28%,#2d3142 65%,#242835 100%);
  color:#fff;
  padding:170px 0 90px;
  display:flex;
  align-items:center
}
.hero-grid {
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:76px 76px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 88%)
}
.orb {
  position:absolute;
  border-radius:50%;
  filter:blur(2px);
  pointer-events:none
}
.orb-one {
  width:520px;
  height:520px;
  border:1px solid rgba(245,163,126,.22);
  right:-150px;
  top:100px
}
.orb-two {
  width:280px;
  height:280px;
  background:rgba(239,131,84,.08);
  filter:blur(50px);
  left:-100px;
  bottom:20px
}
.hero-layout {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  align-items:center;
  gap:70px
}
.hero-copy h1 {
  margin-bottom:28px
}
.hero-copy h1 span {
  font-family:var(--sans);
  font-weight:500;
  font-size:.43em;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#dbe5f6
}
.hero-copy h1 em {
  color:var(--gold-2);
  font-weight:600
}
.hero-copy>p {
  font-size:1.12rem;
  color:#d2dcec;
  max-width:650px
}
.hero-actions {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin:35px 0
}
.hero-trust {
  display:flex;
  gap:34px;
  margin-top:35px
}
.hero-trust>div {
  display:flex;
  gap:11px;
  align-items:center
}
.hero-trust .icon {
  color:var(--gold-2)
}
.hero-trust span {
  display:flex;
  flex-direction:column
}
.hero-trust small {
  color:#aebdd3
}
.hero-visual {
  min-height:550px;
  position:relative;
  display:grid;
  place-items:center
}
.logo-stage {
  position:relative;
  width:300px;
  height:300px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:radial-gradient(circle,rgba(255,255,255,.12),rgba(255,255,255,.02) 62%,transparent 63%);
  animation:stageFloat 5s ease-in-out infinite
}
.logo-stage img {
  width:250px;
  filter:drop-shadow(0 25px 30px rgba(0,0,0,.27))
}
.stage-glow {
  position:absolute;
  inset:60px;
  border-radius:50%;
  background:var(--gold);
  filter:blur(65px);
  opacity:.18
}
.visual-ring {
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.14)
}
.ring-one {
  width:450px;
  height:450px;
  animation:spin 24s linear infinite
}
.ring-two {
  width:365px;
  height:365px;
  border-style:dashed;
  animation:spin 18s linear infinite reverse
}
.ring-one:before,.ring-two:after {
  content:"";
  position:absolute;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--gold);
  top:14%;
  left:14%;
  box-shadow:0 0 22px var(--gold)
}
@keyframes spin {
  to {
    transform:rotate(360deg)
  }
}
@keyframes stageFloat {
  50% {
    transform:translateY(-12px)
  }
}
.floating-card {
  position:absolute;
  display:flex;
  align-items:center;
  gap:10px;
  background:rgba(255,255,255,.92);
  color:var(--ink);
  padding:12px 14px;
  border-radius:14px;
  box-shadow:0 25px 50px rgba(0,0,0,.18);
  min-width:190px;
  animation:floatCard 4s ease-in-out infinite
}
.floating-card>span {
  width:38px;
  height:38px;
  border-radius:10px;
  background:var(--cream);
  color:var(--blue);
  display:grid;
  place-items:center
}
.floating-card .icon {
  width:20px
}
.floating-card div {
  display:flex;
  flex-direction:column;
  line-height:1.2
}
.floating-card small {
  color:var(--muted);
  font-size:.7rem
}
.floating-card strong {
  font-size:.82rem
}
.floating-card i {
  font-style:normal;
  margin-left:auto;
  color:var(--blue);
  font-weight:800
}
.card-a {
  left:-15px;
  top:100px
}
.card-b {
  right:-25px;
  top:210px;
  animation-delay:-1.5s
}
.card-c {
  left:35px;
  bottom:75px;
  animation-delay:-.8s
}
@keyframes floatCard {
  50% {
    transform:translateY(-10px)
  }
}
.spark {
  position:absolute;
  color:var(--gold-2);
  animation:twinkle 2.5s ease-in-out infinite
}
.s1 {
  top:70px;
  right:90px;
  font-size:1.4rem
}
.s2 {
  bottom:110px;
  right:35px
}
.s3 {
  left:60px;
  top:270px;
  font-size:.8rem
}
@keyframes twinkle {
  50% {
    opacity:.3;
    transform:scale(.7) rotate(30deg)
  }
}
.scroll-cue {
  position:absolute;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  color:#b7c4d8;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.12em
}
.scroll-cue span {
  width:1px;
  height:35px;
  background:linear-gradient(var(--gold),transparent);
  margin-bottom:8px;
  animation:scrollCue 1.7s infinite
}
@keyframes scrollCue {
  0% {
    transform:scaleY(0);
    transform-origin:top
  }
  50% {
    transform:scaleY(1);
    transform-origin:top
  }
  51% {
    transform-origin:bottom
  }
  100% {
    transform:scaleY(0);
    transform-origin:bottom
  }
}
.metric-band {
  background:#fff;
  border-bottom:1px solid var(--line)
}
.metric-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr)
}
.metric-grid div {
  padding:28px 30px;
  border-right:1px solid var(--line);
  display:flex;
  align-items:center;
  gap:13px
}
.metric-grid div:first-child {
  border-left:1px solid var(--line)
}
.metric-grid strong {
  font-family:var(--serif);
  font-size:2.2rem;
  color:var(--blue)
}
.metric-grid span {
  color:var(--muted);
  font-size:.85rem
}
.split-intro {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px
}
.split-intro h2 {
  max-width:520px
}
.intro-text p {
  color:var(--muted);
  font-size:1.06rem
}
.services-section {
  background:linear-gradient(180deg,#f1f2f3,#fff)
}
.services-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px
}
.service-card {
  position:relative;
  background:#fff;
  border:1px solid #e3e7ec;
  border-radius:var(--radius);
  padding:34px;
  min-height:310px;
  overflow:hidden;
  transition:.35s
}
.service-card:before {
  content:"";
  position:absolute;
  inset:auto -45px -75px auto;
  width:170px;
  height:170px;
  border-radius:50%;
  background:var(--cream);
  transition:.4s
}
.service-card:hover {
  transform:translateY(-9px);
  box-shadow:var(--shadow);
  border-color:transparent
}
.service-card:hover:before {
  transform:scale(1.4);
  background:#fae1d5
}
.service-icon {
  width:56px;
  height:56px;
  border-radius:16px;
  background:var(--navy);
  color:var(--gold-2);
  display:grid;
  place-items:center;
  margin-bottom:30px
}
.service-card h3 {
  font-size:1.35rem;
  position:relative
}
.service-card p {
  color:var(--muted);
  position:relative
}
.card-index {
  position:absolute;
  top:28px;
  right:30px;
  color:#b8c0cb;
  font-family:var(--serif)
}
.card-link {
  position:absolute;
  bottom:28px;
  left:34px
}
.section-action {
  text-align:center;
  margin-top:40px
}
.editorial-section {
  background:var(--navy);
  color:#fff;
  overflow:hidden
}
.editorial-layout {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:center
}
.editorial-layout.reverse .editorial-copy {
  order:1
}
.editorial-layout.reverse .about-orbit {
  order:2
}
.editorial-section .editorial-copy p {
  color:#c7d2e4;
  font-size:1.05rem
}
.editorial-layout.reverse .editorial-copy p {
  color:var(--muted)
}
.editorial-layout.reverse .about-orbit {
  background:var(--navy);
  border-color:rgba(79,93,117,.16);
  box-shadow:0 30px 70px rgba(45,49,66,.18)
}
.document-window {
  background:#fff;
  border-radius:22px;
  box-shadow:0 40px 85px rgba(0,0,0,.3);
  overflow:hidden;
  transform:rotate(-2deg)
}
.doc-toolbar {
  height:45px;
  background:#e9edf3;
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 15px;
  color:#617087;
  font-size:.72rem
}
.doc-toolbar i {
  width:9px;
  height:9px;
  border-radius:50%;
  background:#c6ced9
}
.doc-toolbar span {
  margin-left:8px
}
.doc-body {
  padding:42px;
  position:relative
}
.doc-kicker,.doc-title,.doc-line {
  display:block;
  height:8px;
  background:#dfe5ec;
  border-radius:5px;
  margin-bottom:13px
}
.doc-kicker {
  width:24%;
  height:6px;
  background:var(--gold)
}
.doc-title {
  width:72%;
  height:17px;
  background:var(--navy);
  margin:16px 0 28px
}
.w90 {
  width:90%
}
.w76 {
  width:76%
}
.w84 {
  width:84%
}
.w94 {
  width:94%
}
.w70 {
  width:70%
}
.w88 {
  width:88%
}
.doc-comment {
  margin:28px -5px;
  padding:16px 18px;
  background:#fff4ef;
  border-left:3px solid var(--gold);
  color:var(--ink);
  font-size:.75rem
}
.doc-comment p {
  color:#5f6570;
  margin:4px 0 0
}
.quality-chip {
  position:absolute;
  right:-25px;
  bottom:-25px;
  background:#fff;
  color:var(--ink);
  display:flex;
  align-items:center;
  gap:12px;
  border-radius:16px;
  padding:14px 18px;
  box-shadow:var(--shadow)
}
.editorial-visual {
  position:relative
}
.quality-chip .icon {
  color:var(--gold)
}
.quality-chip span {
  display:flex;
  flex-direction:column
}
.quality-chip small {
  color:var(--muted)
}
.check-list {
  list-style:none;
  padding:0;
  margin:28px 0 35px
}
.check-list li {
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin:12px 0
}
.check-list .icon {
  width:19px;
  height:19px;
  color:var(--gold);
  flex:0 0 auto;
  margin-top:3px
}
.process-section {
  background:#fff
}
.process-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px
}
.process-card {
  border-top:2px solid var(--line);
  padding:30px 22px 10px;
  position:relative
}
.process-card:before {
  content:"";
  position:absolute;
  top:-2px;
  left:0;
  width:0;
  height:2px;
  background:var(--gold);
  transition:.4s
}
.process-card:hover:before {
  width:100%
}
.process-card>span {
  font-family:var(--serif);
  color:#aeb7c5
}
.process-card>.icon {
  color:var(--blue);
  margin:35px 0 22px
}
.process-card p {
  color:var(--muted)
}
.subject-marquee {
  background:var(--gold);
  overflow:hidden;
  padding:16px 0;
  white-space:nowrap
}
.marquee-track {
  display:inline-flex;
  align-items:center;
  gap:26px;
  font-family:var(--serif);
  font-weight:700;
  font-size:1.15rem;
  animation:marquee 28s linear infinite
}
.marquee-track i {
  font-style:normal;
  color:#fff
}
@keyframes marquee {
  to {
    transform:translateX(-50%)
  }
}
.why-section {
  background:var(--cream)
}
.why-layout {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:80px;
  align-items:center
}
.why-copy p {
  color:var(--muted)
}
.why-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px
}
.value-card {
  background:#fff;
  border-radius:18px;
  padding:27px;
  box-shadow:0 12px 35px rgba(45,49,66,.06)
}
.value-card .icon {
  color:var(--gold);
  margin-bottom:20px
}
.value-card p {
  color:var(--muted);
  margin-bottom:0
}
.faq-layout {
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:100px
}
.faq-title {
  position:sticky;
  top:130px;
  align-self:start
}
.faq-title p {
  color:var(--muted)
}
.faq-item {
  border-bottom:1px solid var(--line)
}
.faq-item button {
  width:100%;
  border:0;
  background:none;
  text-align:left;
  padding:23px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-weight:700;
  font-size:1.03rem;
  color:var(--ink)
}
.faq-item button span {
  font-size:1.5rem;
  font-weight:400;
  transition:.25s
}
.faq-item.open button span {
  transform:rotate(45deg)
}
.faq-answer {
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease
}
.faq-answer p {
  color:var(--muted);
  padding:0 40px 22px 0;
  margin:0
}
.cta-section {
  padding:90px 0;
  background:linear-gradient(135deg,#3d465b,#2d3142);
  color:#fff;
  position:relative;
  overflow:hidden
}
.cta-section:after {
  content:"";
  position:absolute;
  width:430px;
  height:430px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  right:-120px;
  top:-180px
}
.cta-inner {
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:45px
}
.cta-inner h2 {
  font-size:clamp(2.2rem,3.5vw,3.6rem);
  margin-bottom:12px
}
.cta-inner p {
  color:#c5d2e5;
  margin:0
}
.cta-inner>div {
  max-width:750px
}
.inner-hero,.service-hero,.legal-hero {
  position:relative;
  background:linear-gradient(135deg,#242835,#4f5d75);
  color:#fff;
  overflow:hidden
}
.inner-hero {
  padding:210px 0 110px
}
.inner-hero-layout {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr .75fr;
  gap:80px;
  align-items:center
}
.inner-hero p {
  color:#cad6e8;
  font-size:1.1rem;
  max-width:690px
}
.inner-emblem {
  position:relative;
  min-height:350px;
  display:grid;
  place-items:center
}
.inner-emblem img {
  width:230px;
  filter:drop-shadow(0 25px 35px rgba(0,0,0,.3))
}
.inner-emblem span {
  position:absolute;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  padding:8px 16px;
  font-size:.75rem;
  letter-spacing:.1em;
  text-transform:uppercase
}
.inner-emblem span:nth-of-type(1) {
  top:35px;
  right:40px
}
.inner-emblem span:nth-of-type(2) {
  bottom:45px;
  right:5px
}
.inner-emblem span:nth-of-type(3) {
  left:20px;
  top:50%
}
.values-row {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px
}
.principle {
  background:#fff;
  padding:32px;
  border-radius:18px
}
.principle b {
  font-family:var(--serif);
  font-size:2rem;
  color:var(--gold)
}
.principle p {
  color:var(--muted);
  margin-bottom:0
}
.about-orbit {
  width:440px;
  height:440px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
  position:relative;
  margin:auto;
  animation:spin 30s linear infinite
}
.orbit-center {
  position:absolute;
  inset:80px;
  border-radius:50%;
  background:rgba(255,255,255,.07);
  display:grid;
  place-items:center;
  animation:spin 30s linear infinite reverse
}
.orbit-center img {
  width:190px
}
.about-orbit>span {
  position:absolute;
  left:50%;
  top:50%;
  transform:rotate(var(--a)) translateX(220px) rotate(calc(var(--a) * -1));
  transform-origin:0 0;
  background:#fff;
  color:var(--navy);
  padding:9px 15px;
  border-radius:999px;
  font-size:.8rem;
  font-weight:700;
  animation:spin 30s linear infinite reverse
}
.service-hero {
  padding:205px 0 110px
}
.service-hero-layout {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr .65fr;
  gap:80px;
  align-items:center
}
.service-hero-copy h1 {
  margin-bottom:25px
}
.service-hero-copy p {
  color:#c7d4e8;
  font-size:1.1rem;
  max-width:700px
}
.service-orb {
  position:absolute;
  width:560px;
  height:560px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.14);
  right:-130px;
  bottom:-300px
}
.service-symbol {
  width:300px;
  height:300px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin:auto;
  background:rgba(255,255,255,.05);
  box-shadow:inset 0 0 80px rgba(255,255,255,.04)
}
.service-symbol>div {
  width:92px;
  height:92px;
  border-radius:24px;
  background:var(--gold);
  color:var(--navy);
  display:grid;
  place-items:center;
  margin-bottom:22px;
  transform:rotate(-6deg)
}
.service-symbol-icon {
  width:45px;
  height:45px
}
.service-symbol span {
  font-family:var(--serif);
  font-size:1.5rem
}
.service-symbol small {
  text-transform:uppercase;
  letter-spacing:.16em;
  color:#b8c7dc;
  font-size:.6rem
}
.service-anchor {
  height:65px;
  background:#fff;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:84px;
  z-index:40
}
.service-anchor .container {
  height:100%;
  display:flex;
  align-items:center;
  gap:30px
}
.service-anchor a {
  font-size:.83rem;
  font-weight:700;
  color:var(--muted)
}
.service-anchor button {
  margin-left:auto;
  border:0;
  background:none;
  color:var(--blue);
  font-weight:800
}
.service-detail-layout {
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:100px
}
.sticky-copy {
  position:sticky;
  top:180px;
  align-self:start
}
.sticky-copy p {
  color:var(--muted)
}
.feature-list {
  display:grid;
  gap:14px
}
.feature-item {
  display:grid;
  grid-template-columns:60px 1fr;
  gap:22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:30px;
  transition:.3s
}
.feature-item:hover {
  transform:translateX(8px);
  border-color:#ef8354;
  box-shadow:0 16px 35px rgba(45,49,66,.07)
}
.feature-item>span {
  font-family:var(--serif);
  font-size:1.7rem;
  color:var(--gold)
}
.feature-item p {
  color:var(--muted);
  margin:0
}
.service-process {
  background:var(--cream)
}
.vertical-process {
  list-style:none;
  padding:0;
  max-width:850px;
  margin:0 auto;
  position:relative
}
.vertical-process:before {
  content:"";
  position:absolute;
  left:32px;
  top:30px;
  bottom:30px;
  width:1px;
  background:#d7d9dc
}
.vertical-process li {
  display:grid;
  grid-template-columns:65px 1fr;
  gap:30px;
  padding:0 0 45px
}
.vertical-process li>span {
  width:64px;
  height:64px;
  background:var(--navy);
  color:var(--gold-2);
  border-radius:50%;
  display:grid;
  place-items:center;
  font-family:var(--serif);
  position:relative;
  z-index:2
}
.vertical-process p {
  color:var(--muted)
}
.deliverables-section {
  background:var(--navy);
  color:#fff
}
.deliverables-layout {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:center
}
.deliverable-card {
  background:#fff;
  color:var(--ink);
  padding:45px;
  border-radius:24px;
  transform:rotate(-1deg)
}
.deliverable-top {
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--blue);
  font-weight:700
}
.deliverables-copy p {
  color:#c6d1e2
}
.contact-hero .inner-hero-layout {
  grid-template-columns:1fr .65fr
}
.contact-mini {
  display:grid;
  gap:12px
}
.contact-mini>div {
  display:flex;
  gap:14px;
  align-items:center;
  padding:17px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px
}
.contact-mini .icon {
  color:var(--gold)
}
.contact-mini span {
  display:flex;
  flex-direction:column
}
.contact-mini small {
  color:#aebed5
}
.contact-layout {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:80px;
  align-items:start
}
.contact-copy {
  position:sticky;
  top:130px
}
.contact-copy p {
  color:var(--muted)
}
.contact-points {
  display:grid;
  gap:16px;
  margin-top:35px
}
.contact-points>div {
  display:flex;
  gap:13px
}
.contact-points .icon {
  color:var(--gold);
  width:20px
}
.contact-points span {
  display:flex;
  flex-direction:column
}
.contact-points small {
  color:var(--muted)
}
.contact-form,.quote-form {
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  padding:36px;
  box-shadow:0 20px 60px rgba(45,49,66,.08)
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px
}
.contact-form label,.quote-form label {
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:.82rem;
  font-weight:700;
  margin-bottom:17px
}
.contact-form input,.contact-form select,.contact-form textarea,.quote-form input,.quote-form select,.quote-form textarea {
  width:100%;
  border:1px solid #d9e0e8;
  border-radius:12px;
  padding:13px 14px;
  background:#fafbfc;
  color:var(--ink);
  outline:none;
  transition:.25s
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus,.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus {
  border-color:var(--gold);
  box-shadow:0 0 0 4px rgba(239,131,84,.12)
}
.file-field {
  border:1px dashed #c9d1dc;
  padding:16px;
  border-radius:12px;
  background:#fafbfc
}
.file-field input {
  border:0!important;
  padding:0!important;
  background:none!important
}
.file-field span {
  color:var(--muted);
  font-size:.72rem
}
.form-status {
  font-size:.82rem;
  margin:12px 0 0;
  color:var(--blue)
}
.legal-hero {
  padding:205px 0 90px
}
.legal-hero h1 {
  margin-bottom:12px
}
.legal-hero p {
  color:#c6d2e4
}
.legal-layout {
  display:grid;
  grid-template-columns:250px 1fr;
  gap:80px
}
.legal-layout aside {
  position:sticky;
  top:120px;
  align-self:start;
  display:grid
}
.legal-layout aside a {
  padding:11px 0;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font-size:.88rem
}
.legal-layout article {
  max-width:780px
}
.legal-layout article>div {
  margin-bottom:45px;
  scroll-margin-top:130px
}
.legal-layout h2 {
  font-size:2rem
}
.legal-layout p {
  color:var(--muted)
}
.not-found {
  min-height:100vh;
  background:var(--navy);
  color:#fff;
  display:grid;
  place-items:center;
  text-align:center;
  position:relative;
  overflow:hidden
}
.not-found .container {
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center
}
.not-found img {
  width:170px;
  margin-bottom:15px
}
.not-found h1 {
  max-width:800px;
  font-size:clamp(3rem,6vw,6rem)
}
.not-found p {
  color:#c6d2e5
}
.footer {
  background:#242835;
  color:#fff;
  padding-top:85px;
  position:relative;
  overflow:hidden
}
.footer-glow {
  position:absolute;
  width:400px;
  height:400px;
  border-radius:50%;
  background:rgba(239,131,84,.08);
  filter:blur(70px);
  left:-150px;
  top:-100px
}
.footer-main {
  position:relative;
  display:grid;
  grid-template-columns:1.7fr 1fr 1.2fr .9fr;
  gap:50px;
  padding-bottom:60px
}
.footer-brand img {
  width:70px
}
.footer-brand .brand-copy strong {
  color:#fff
}
.footer-brand-col>p {
  color:#aebcd1;
  max-width:420px
}
.footer-badges {
  display:flex;
  flex-wrap:wrap;
  gap:8px
}
.footer-badges span {
  display:flex;
  align-items:center;
  gap:7px;
  border:1px solid rgba(255,255,255,.13);
  padding:7px 10px;
  border-radius:999px;
  font-size:.72rem;
  color:#d5deec
}
.footer h4 {
  font-size:.83rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--gold-2);
  margin-bottom:22px
}
.footer ul {
  list-style:none;
  padding:0;
  margin:0 0 25px
}
.footer li {
  margin:10px 0
}
.footer li a {
  color:#aebcd1;
  font-size:.88rem
}
.footer li a:hover {
  color:#fff
}
.footer-note {
  border-top:1px solid rgba(255,255,255,.1);
  padding:25px 0;
  color:#9cacbf;
  font-size:.76rem
}
.footer-note p {
  margin:0
}
.footer-bottom {
  border-top:1px solid rgba(255,255,255,.1);
  padding:22px 0;
  display:flex;
  justify-content:space-between;
  color:#7f91a9;
  font-size:.72rem
}
.back-to-top {
  position:fixed;
  right:24px;
  bottom:24px;
  width:45px;
  height:45px;
  border-radius:50%;
  border:0;
  background:var(--gold);
  color:var(--navy);
  font-size:1.2rem;
  z-index:50;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:.25s
}
.back-to-top.show {
  opacity:1;
  visibility:visible;
  transform:none
}
.modal {
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:20px;
  opacity:0;
  visibility:hidden;
  transition:.3s
}
.modal.open {
  opacity:1;
  visibility:visible
}
.modal-backdrop {
  position:absolute;
  inset:0;
  background:rgba(36,40,53,.78);
  backdrop-filter:blur(8px)
}
.modal-card {
  position:relative;
  width:min(760px,100%);
  max-height:92vh;
  overflow:auto;
  background:#fff;
  border-radius:26px;
  padding:38px;
  transform:translateY(25px) scale(.97);
  transition:.3s
}
.modal.open .modal-card {
  transform:none
}
.modal-close {
  position:absolute;
  right:18px;
  top:14px;
  width:38px;
  height:38px;
  border-radius:50%;
  border:0;
  background:var(--cream);
  font-size:1.5rem
}
.modal-heading {
  text-align:center;
  max-width:590px;
  margin:0 auto 25px
}
.modal-heading h2 {
  font-size:2.7rem
}
.quote-form {
  box-shadow:none;
  padding:0;
  border:0
}
.toast {
  position:fixed;
  left:50%;
  bottom:30px;
  transform:translate(-50%,20px);
  background:var(--navy);
  color:#fff;
  padding:14px 20px;
  border-radius:12px;
  z-index:1200;
  opacity:0;
  visibility:hidden;
  transition:.3s;
  box-shadow:var(--shadow)
}
.toast.show {
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0)
}
@media(max-width:1050px) {
  .desktop-nav {
    display:none
  }
  .menu-toggle {
    display:block
  }
  .site-header.scrolled .mobile-panel {
    top:84px
  }
  .hero-layout,.inner-hero-layout,.service-hero-layout {
    grid-template-columns:1fr
  }
  .home-hero {
    padding-top:180px
  }
  .hero-copy {
    text-align:center
  }
  .hero-copy>p {
    margin-inline:auto
  }
  .hero-actions,.hero-trust {
    justify-content:center
  }
  .hero-visual {
    min-height:480px
  }
  .metric-grid {
    grid-template-columns:1fr 1fr
  }
  .services-grid {
    grid-template-columns:1fr 1fr
  }
  .process-grid {
    grid-template-columns:1fr 1fr
  }
  .footer-main {
    grid-template-columns:1.5fr 1fr 1fr
  }
  .footer-main>div:last-child {
    grid-column:2/4
  }
  .service-symbol {
    display:none
  }
  .inner-emblem {
    min-height:300px
  }
  .service-detail-layout {
    gap:55px
  }
  .why-layout {
    grid-template-columns:1fr
  }
  .about-orbit {
    width:380px;
    height:380px
  }
  .about-orbit>span {
    transform:rotate(var(--a)) translateX(190px) rotate(calc(var(--a) * -1))
  }
}
@media(max-width:760px) {
  :root {
    --container:min(100% - 28px,1180px)
  }
  .section {
    padding:80px 0
  }
  .top-ribbon {
    display:none
  }
  .site-header {
    top:0;
    height:76px
  }
  .site-header.scrolled {
    height:76px
  }
  .brand img {
    width:50px;
    height:50px
  }
  .brand-copy strong {
    font-size:1.1rem
  }
  .nav-actions>.btn {
    display:none
  }
  .mobile-panel {
    top:76px
  }
  .home-hero {
    min-height:auto;
    padding:145px 0 80px
  }
  .hero-copy h1 {
    font-size:3.65rem
  }
  .hero-layout {
    gap:35px
  }
  .hero-visual {
    min-height:410px;
    transform:scale(.86);
    margin:-30px
  }
  .floating-card {
    min-width:170px
  }
  .card-a {
    left:-5px
  }
  .card-b {
    right:-5px
  }
  .hero-trust {
    gap:17px;
    flex-direction:column;
    align-items:center
  }
  .metric-grid {
    grid-template-columns:1fr 1fr
  }
  .metric-grid div {
    padding:20px 15px;
    flex-direction:column;
    align-items:flex-start
  }
  .metric-grid div:first-child {
    border-left:0
  }
  .split-intro,.editorial-layout,.faq-layout,.deliverables-layout,.contact-layout,.legal-layout {
    grid-template-columns:1fr;
    gap:45px
  }
  .services-grid,.why-grid,.values-row {
    grid-template-columns:1fr
  }
  .service-card {
    min-height:285px
  }
  .process-grid {
    grid-template-columns:1fr
  }
  .subject-marquee {
    padding:12px 0
  }
  .editorial-visual {
    margin-bottom:30px
  }
  .quality-chip {
    right:0
  }
  .faq-title,.sticky-copy,.contact-copy {
    position:static
  }
  .cta-inner {
    flex-direction:column;
    align-items:flex-start
  }
  .footer-main {
    grid-template-columns:1fr 1fr
  }
  .footer-brand-col {
    grid-column:1/3
  }
  .footer-main>div:last-child {
    grid-column:auto
  }
  .footer-bottom {
    flex-direction:column;
    gap:7px
  }
  .inner-hero,.service-hero,.legal-hero {
    padding:150px 0 80px
  }
  .inner-hero h1,.service-hero h1 {
    font-size:3.3rem
  }
  .inner-emblem {
    display:none
  }
  .service-anchor {
    display:none
  }
  .service-detail-layout {
    grid-template-columns:1fr;
    gap:45px
  }
  .form-grid {
    grid-template-columns:1fr
  }
  .about-orbit {
    width:300px;
    height:300px
  }
  .about-orbit>span {
    transform:rotate(var(--a)) translateX(150px) rotate(calc(var(--a) * -1));
    font-size:.68rem
  }
  .orbit-center {
    inset:60px
  }
  .modal-card {
    padding:30px 20px
  }
  .modal-heading h2 {
    font-size:2.2rem
  }
}
@media(max-width:480px) {
  .hero-copy h1 {
    font-size:3rem
  }
  .hero-visual {
    transform:scale(.72);
    margin:-70px
  }
  .metric-grid {
    grid-template-columns:1fr
  }
  .metric-grid div {
    border-right:0;
    border-bottom:1px solid var(--line);
    flex-direction:row
  }
  .footer-main {
    grid-template-columns:1fr
  }
  .footer-brand-col {
    grid-column:auto
  }
  .footer-main>div:last-child {
    grid-column:auto
  }
  .footer-bottom {
    text-align:center
  }
  .hero-actions {
    flex-direction:column
  }
  .hero-actions .btn {
    width:100%
  }
  .cta-inner .btn {
    width:100%
  }
  .service-card {
    padding:28px
  }
  .card-link {
    left:28px
  }
  .contact-form {
    padding:24px
  }
  .inner-hero h1,.service-hero h1 {
    font-size:2.8rem
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important
  }
  .reveal {
    opacity:1;
    transform:none
  }
}
/* Scopus Publishers palette refinements */
body {
  background:#fff
}
.top-ribbon {
  background:#242835
}
.home-hero {
  background:radial-gradient(circle at 74% 36%,#64728a 0,#3d465b 30%,#2d3142 68%,#242835 100%)
}
.hero-grid {
  background-size:84px 84px
}
.btn-primary {
  background:linear-gradient(135deg,#ef8354,#f5a37e);
  color:#2d3142;
  box-shadow:0 15px 35px rgba(239,131,84,.28)
}
.btn-primary:hover {
  box-shadow:0 20px 45px rgba(239,131,84,.4)
}
.btn-secondary {
  background:#2d3142
}
.btn-light {
  color:#2d3142
}
.eyebrow {
  color:#4f5d75
}
.eyebrow.light {
  color:#f5a37e
}
.service-card:before,.value-card:before {
  background:linear-gradient(90deg,#ef8354,#f5a37e)
}
.site-header.scrolled {
  box-shadow:0 12px 38px rgba(45,49,66,.09)
}
.dropdown-panel {
  box-shadow:0 24px 70px rgba(45,49,66,.16)
}
.logo-stage img {
  filter:drop-shadow(0 28px 35px rgba(0,0,0,.3)) drop-shadow(0 0 1px rgba(255,255,255,.9))
}
.stage-glow {
  background:#ef8354;
  opacity:.2
}
.ring-one:before,.ring-two:after {
  background:#ef8354;
  box-shadow:0 0 22px #ef8354
}
.footer {
  background:#242835
}
.footer-glow {
  background:rgba(239,131,84,.11)
}
.back-to-top {
  background:#ef8354;
  color:#2d3142
}
.service-card,.value-card,.contact-form,.quote-form {
  border-color:#e1e2e4
}
.service-card:hover,.value-card:hover {
  box-shadow:0 28px 65px rgba(45,49,66,.13)
}
.brand-copy strong {
  font-weight:600
}
.brand-copy small {
  font-weight:700
}
.hero-copy h1 em {
  color:#f5a37e
}
.hero-copy h1 span {
  color:#f0f1f3
}
.hero-copy>p {
  color:#dde0e4
}
.hero-trust small {
  color:#c7c9cd
}
.floating-card>span {
  background:#ef8354
}
.cta-section {
  background:linear-gradient(135deg,#2d3142,#4f5d75)
}
.btn {
  position:relative;
  overflow:hidden
}
.btn:after {
  content:"";
  position:absolute;
  inset:auto auto -70% -20%;
  width:42%;
  height:230%;
  background:rgba(255,255,255,.24);
  transform:rotate(24deg) translateX(-250%);
  transition:transform .65s ease
}
.btn:hover:after {
  transform:rotate(24deg) translateX(430%)
}
@media(prefers-reduced-motion:reduce) {
  .site-loader {
    display:none
  }
  .scroll-progress {
    display:none
  }
  .hero-spark {
    display:none
  }
}
/* Updated hero workflow and discipline reveal animations */
.workflow-visual {
  min-height:590px;
  position:relative;
  display:grid;
  place-items:center;
  isolation:isolate;
  perspective:1200px
}
.workflow-aura {
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  z-index:-1
}
.workflow-aura-one {
  width:510px;
  height:510px;
  border:1px solid rgba(255,255,255,.12);
  background:radial-gradient(circle,rgba(239,131,84,.12),transparent 66%)
}
.workflow-aura-two {
  width:350px;
  height:350px;
  border:1px dashed rgba(255,255,255,.09);
  transform:rotate(-12deg)
}
.workflow-panel {
  width:min(585px,100%);
  min-height:455px;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.055));
  box-shadow:0 38px 85px rgba(12,16,28,.32),inset 0 1px rgba(255,255,255,.16);
  backdrop-filter:blur(18px);
  opacity:0;
  transform:translateY(28px) rotateX(4deg) scale(.97)
}
.page-ready .workflow-panel {
  animation:workflowPanelIn .9s cubic-bezier(.2,.78,.18,1) .12s forwards
}
.workflow-brand {
  position:relative;
  padding:34px 27px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  background:linear-gradient(180deg,rgba(45,49,66,.26),rgba(45,49,66,.48));
  border-right:1px solid rgba(255,255,255,.12)
}
.workflow-kicker {
  display:flex;
  align-items:center;
  gap:8px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.58rem;
  font-weight:800;
  color:#f5a37e
}
.workflow-kicker i {
  width:20px;
  height:1px;
  background:#ef8354
}
.workflow-emblem {
  width:180px;
  height:180px;
  display:grid;
  place-items:center;
  position:relative;
  margin:16px auto 10px
}
.workflow-emblem span {
  position:absolute;
  inset:30px;
  border-radius:50%;
  background:rgba(239,131,84,.25);
  filter:blur(28px);
  opacity:.75;
  animation:workflowBreathe 5.5s ease-in-out infinite
}
.workflow-emblem img {
  position:relative;
  width:170px;
  filter:drop-shadow(0 25px 25px rgba(0,0,0,.28))
}
.workflow-brand p {
  margin:0;
  color:#dce1e8;
  font-family:var(--serif);
  font-size:1.18rem;
  line-height:1.28
}
.workflow-ready {
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:20px;
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  font-size:.62rem;
  font-weight:700;
  color:#eef0f3
}
.workflow-ready i {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ef8354;
  box-shadow:0 0 0 5px rgba(239,131,84,.12);
  animation:workflowStatus 2.5s ease-in-out infinite
}
.workflow-steps {
  position:relative;
  padding:34px 24px 34px 39px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:19px
}
.workflow-track,.workflow-track-progress {
  position:absolute;
  left:20px;
  top:74px;
  bottom:74px;
  width:1px;
  background:rgba(255,255,255,.15)
}
.workflow-track-progress {
  background:linear-gradient(#ef8354,#f5a37e);
  transform:scaleY(0);
  transform-origin:top;
  box-shadow:0 0 12px rgba(239,131,84,.5)
}
.page-ready .workflow-track-progress {
  animation:workflowTrack 1.2s cubic-bezier(.65,0,.35,1) .78s forwards
}
.workflow-step {
  position:relative;
  min-height:105px;
  padding:18px 15px 15px 20px;
  display:grid;
  grid-template-columns:38px 1fr auto;
  align-items:center;
  gap:11px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;
  background:rgba(255,255,255,.93);
  color:#2d3142;
  box-shadow:0 16px 32px rgba(16,20,31,.12);
  opacity:0;
  transform:translateX(30px)
}
.page-ready .workflow-step-one {
  animation:workflowStepIn .72s cubic-bezier(.2,.78,.2,1) .45s forwards
}
.page-ready .workflow-step-two {
  animation:workflowStepIn .72s cubic-bezier(.2,.78,.2,1) .66s forwards
}
.page-ready .workflow-step-three {
  animation:workflowStepIn .72s cubic-bezier(.2,.78,.2,1) .87s forwards
}
.workflow-step:before {
  content:"";
  position:absolute;
  left:-24px;
  top:50%;
  width:11px;
  height:11px;
  border-radius:50%;
  background:#2d3142;
  border:3px solid #ef8354;
  transform:translateY(-50%);
  box-shadow:0 0 0 5px rgba(239,131,84,.12)
}
.workflow-number {
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#ef8354;
  color:#2d3142;
  font-family:var(--serif);
  font-weight:800
}
.workflow-step-copy {
  min-width:0;
  display:flex;
  flex-direction:column
}
.workflow-step-copy small {
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#7a8190;
  font-size:.54rem;
  font-weight:800
}
.workflow-step-copy strong {
  font-size:.84rem;
  line-height:1.28;
  margin-top:3px
}
.workflow-meter {
  height:3px;
  margin-top:10px;
  border-radius:999px;
  background:#e1e3e6;
  overflow:hidden
}
.workflow-meter i {
  display:block;
  width:var(--meter,88%);
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#4f5d75,#ef8354);
  transform:scaleX(0);
  transform-origin:left
}
.workflow-step-two .workflow-meter i {
  --meter:92%
}
.workflow-step-three .workflow-meter i {
  --meter:100%
}
.page-ready .workflow-step-one .workflow-meter i {
  animation:workflowMeter .8s ease 1.1s forwards
}
.page-ready .workflow-step-two .workflow-meter i {
  animation:workflowMeter .8s ease 1.3s forwards
}
.page-ready .workflow-step-three .workflow-meter i {
  animation:workflowMeter .8s ease 1.5s forwards
}
.workflow-check,.workflow-arrow {
  width:20px;
  height:20px;
  color:#4f5d75
}
.workflow-score {
  font-family:var(--serif);
  font-size:1.15rem;
  font-weight:800;
  color:#4f5d75
}
.workflow-step:hover {
  transform:translateX(5px)!important;
  border-color:rgba(239,131,84,.65);
  box-shadow:0 22px 42px rgba(16,20,31,.18);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease
}
@keyframes workflowPanelIn {
  to {
    opacity:1;
    transform:none
  }
}
@keyframes workflowStepIn {
  to {
    opacity:1;
    transform:none
  }
}
@keyframes workflowTrack {
  to {
    transform:scaleY(1)
  }
}
@keyframes workflowMeter {
  to {
    transform:scaleX(1)
  }
}
@keyframes workflowBreathe {
  0%,100% {
    transform:scale(.88);
    opacity:.42
  }
  50% {
    transform:scale(1.08);
    opacity:.82
  }
}
@keyframes workflowStatus {
  0%,100% {
    box-shadow:0 0 0 4px rgba(239,131,84,.1)
  }
  50% {
    box-shadow:0 0 0 8px rgba(239,131,84,.03)
  }
}
.discipline-showcase {
  position:relative;
  padding:68px 0;
  background:#2d3142;
  color:#fff;
  overflow:hidden
}
.discipline-showcase:before {
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:58px 58px;
  mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)
}
.discipline-showcase:after {
  content:"";
  position:absolute;
  width:330px;
  height:330px;
  border-radius:50%;
  right:-120px;
  top:-150px;
  background:rgba(239,131,84,.17);
  filter:blur(70px)
}
.discipline-layout {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  align-items:center;
  gap:68px
}
.discipline-intro h2 {
  font-size:clamp(2.2rem,3.5vw,3.55rem);
  margin-bottom:14px
}
.discipline-intro p {
  color:#c9cdd5;
  margin:0;
  max-width:510px
}
.discipline-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:11px
}
.discipline-pill {
  position:relative;
  display:flex;
  align-items:center;
  gap:13px;
  min-height:58px;
  padding:12px 17px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:15px;
  background:rgba(255,255,255,.065);
  font-family:var(--serif);
  font-size:1.05rem;
  font-weight:700;
  color:#f7f7f8;
  overflow:hidden
}
.discipline-pill:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.12) 48%,transparent 76%);
  transform:translateX(-120%);
  transition:transform .7s ease
}
.discipline-pill:hover {
  border-color:rgba(239,131,84,.65);
  background:rgba(239,131,84,.11);
  transform:translateY(-3px)
}
.discipline-pill:hover:after {
  transform:translateX(120%)
}
.discipline-pill b {
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  border-radius:9px;
  background:#ef8354;
  color:#2d3142;
  font-family:var(--sans);
  font-size:.64rem
}
@media(max-width:1050px) {
  .workflow-visual {
    min-height:540px
  }
  .workflow-panel {
    width:min(650px,100%)
  }
  .discipline-layout {
    grid-template-columns:1fr;
    gap:38px
  }
  .discipline-intro {
    text-align:center
  }
  .discipline-intro p {
    margin-inline:auto
  }
}
@media(max-width:760px) {
  .workflow-visual {
    min-height:auto!important;
    transform:none!important;
    margin:0!important;
    padding-top:10px
  }
  .workflow-aura {
    display:none
  }
  .workflow-panel {
    grid-template-columns:1fr;
    min-height:0;
    border-radius:24px
  }
  .workflow-brand {
    padding:26px 22px;
    align-items:center;
    text-align:center;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12)
  }
  .workflow-emblem {
    width:145px;
    height:145px;
    margin:8px auto 0
  }
  .workflow-emblem img {
    width:138px
  }
  .workflow-brand p {
    display:none
  }
  .workflow-ready {
    margin-top:8px
  }
  .workflow-steps {
    padding:25px 20px 28px 39px;
    gap:13px
  }
  .workflow-track,.workflow-track-progress {
    left:20px;
    top:58px;
    bottom:58px
  }
  .workflow-step {
    min-height:92px;
    padding:14px 13px 13px 16px;
    grid-template-columns:34px 1fr auto
  }
  .workflow-step:before {
    left:-24px
  }
  .discipline-showcase {
    padding:58px 0
  }
  .discipline-grid {
    grid-template-columns:1fr
  }
  .discipline-pill {
    min-height:55px
  }
}
@media(max-width:480px) {
  .workflow-visual {
    transform:none!important;
    margin:0!important
  }
  .workflow-panel {
    border-radius:20px
  }
  .workflow-brand {
    padding:22px 15px
  }
  .workflow-kicker {
    font-size:.52rem
  }
  .workflow-steps {
    padding:22px 12px 24px 34px
  }
  .workflow-track,.workflow-track-progress {
    left:17px
  }
  .workflow-step {
    grid-template-columns:31px 1fr auto;
    gap:8px;
    padding:13px 10px 12px 12px
  }
  .workflow-step:before {
    left:-22px
  }
  .workflow-number {
    width:31px;
    height:31px
  }
  .workflow-step-copy strong {
    font-size:.75rem
  }
  .workflow-score {
    font-size:1rem
  }
}
@media(prefers-reduced-motion:reduce) {
  .workflow-panel,.workflow-step {
    opacity:1;
    transform:none
  }
  .workflow-track-progress,.workflow-meter i {
    transform:none
  }
  .workflow-emblem span,.workflow-ready i {
    animation:none
  }
  .discipline-pill:hover {
    transform:none
  }
}
