/* SΛDB public-site internal page unification — 2026-09-28 */
:is(.architecture-page,.usecases-page,.cyber-page,.di-page,.sn-page,.sc-page,.ai-page,.about-page,.contact-page,.plans-page,.privacy-page){
  --internal-line:rgba(157,181,202,.18);
  --internal-ink:#f4f7f8;
  --internal-muted:#9eb1bf;
  --internal-gold:#d4a64d;
  background:
    radial-gradient(circle at 12% 10%,rgba(29,111,132,.12),transparent 34rem),
    linear-gradient(180deg,#050b12 0%,#07111b 48%,#050a10 100%);
  color:var(--internal-ink);
}

.architecture-page .arch-photo-bg{
  background-image:url("../assets/visual/architecture-global-protection-v3.png") !important;
  background-position:center !important;
  background-size:cover !important;
  filter:saturate(.88) brightness(.58) contrast(1.08) !important;
}

:is(.architecture-page,.usecases-page,.cyber-page,.di-page,.sn-page,.sc-page,.ai-page,.about-page,.contact-page,.plans-page,.privacy-page) main,
:is(.cyber-main,.di-main,.sn-main,.sc-main,.ai-main){
  width:min(1480px,calc(100% - 40px));
  margin-inline:auto;
}

:is(.architecture-hero-clean,.uc-hero,.cyber-hero,.di-hero,.sn-hero,.sc-hero,.ai-hero,.about-hero,.contact-hero,.plans-hero,.privacy-hero){
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:clamp(540px,70vh,760px);
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background-color:#07111a !important;
}

:is(.architecture-hero-clean,.uc-hero,.cyber-hero,.di-hero,.sn-hero,.sc-hero,.ai-hero,.about-hero,.contact-hero,.plans-hero,.privacy-hero)::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.54;
  background-position:center;
  background-size:cover;
  filter:saturate(.72) contrast(1.12);
}

:is(.architecture-hero-clean,.uc-hero,.cyber-hero,.di-hero,.sn-hero,.sc-hero,.ai-hero,.about-hero,.contact-hero,.plans-hero,.privacy-hero)::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(4,10,16,.97) 0%,rgba(4,10,16,.82) 47%,rgba(4,10,16,.32) 100%),
    linear-gradient(0deg,rgba(4,10,16,.82),transparent 55%);
}

.architecture-page .architecture-hero-clean::before{
  background-image:url("../assets/visual/architecture-global-protection-v3.png") !important;
  background-position:center !important;
  background-size:cover !important;
}

.plans-page .plans-hero::before,
.privacy-page .privacy-hero::before{
  background-image:url("../assets/visual/architecture-hero-v2.png") !important;
  background-position:center !important;
  background-size:cover !important;
}

.architecture-page .architecture-hero-clean::before{
  z-index:0 !important;
  opacity:.82 !important;
}

.architecture-page .architecture-hero-clean{
  background:
    linear-gradient(90deg,rgba(3,9,15,.94) 0%,rgba(3,9,15,.72) 44%,rgba(3,9,15,.12) 100%) !important;
  border-bottom:0 !important;
}

.architecture-page .architecture-hero-clean::after{
  z-index:1 !important;
  background:linear-gradient(180deg,rgba(4,10,16,.04) 0%,rgba(4,10,16,.5) 78%,rgba(4,10,16,.76) 100%) !important;
}

.architecture-page .architecture-hero-clean::before{
  background-image:
    linear-gradient(rgba(117,202,207,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(117,202,207,.06) 1px,transparent 1px) !important;
  background-size:72px 72px !important;
  filter:none !important;
  opacity:.32 !important;
}

.architecture-page main{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

.architecture-page .architecture-bridge{
  position:relative;
  width:100% !important;
  max-width:none !important;
  min-height:clamp(620px,76vh,820px);
  margin:0 !important;
  padding:clamp(92px,10vw,150px) max(56px,calc((100vw - 1380px)/2)) !important;
  overflow:hidden;
  border-top:0 !important;
  background:
    linear-gradient(180deg,rgba(4,10,16,.76) 0%,rgba(4,10,16,.54) 32%,rgba(4,10,16,.84) 100%) !important;
}

.architecture-page .architecture-bridge::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 60%,rgba(50,183,177,.15),transparent 28%),
    linear-gradient(90deg,transparent,rgba(117,202,207,.05),transparent);
}

.architecture-page .architecture-bridge > *{
  position:relative;
  z-index:1;
}

.architecture-page .architecture-bridge .section-intro{
  max-width:760px;
  margin-bottom:54px;
  font-size:clamp(1.02rem,1.45vw,1.22rem);
}

.architecture-bridge-visual{
  width:min(1220px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(180px,1fr) 110px minmax(250px,1.15fr) 110px minmax(180px,1fr);
  align-items:center;
  gap:clamp(12px,2vw,28px);
}

.bridge-node,
.bridge-core{
  min-height:190px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  border:1px solid rgba(157,181,202,.22);
  background:linear-gradient(145deg,rgba(10,25,35,.84),rgba(4,12,19,.68));
  box-shadow:inset 0 1px rgba(255,255,255,.04),0 24px 60px rgba(0,0,0,.28);
}

.bridge-node > span{
  color:var(--internal-gold);
  font:700 .7rem/1 var(--font-mono,monospace);
  letter-spacing:.18em;
}

.bridge-node strong,
.bridge-core strong{
  margin-top:22px;
  color:#fff;
  font:600 clamp(1.15rem,1.8vw,1.55rem)/1.15 var(--font-title,"Inter",sans-serif);
}

.bridge-node small,
.bridge-core small{
  margin-top:12px;
  color:#8fa7b6;
  font:600 .68rem/1.45 var(--font-mono,monospace);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.bridge-core{
  position:relative;
  min-height:250px;
  border-color:rgba(197,164,109,.55);
  background:radial-gradient(circle at 50% 42%,rgba(50,183,177,.24),rgba(6,18,27,.88) 58%);
  animation:architectureCorePulse 3.4s ease-in-out infinite;
}

.bridge-core::before,
.bridge-core::after{
  content:"";
  position:absolute;
  inset:-18px;
  border:1px solid rgba(50,183,177,.2);
  border-radius:50%;
  animation:architectureOrbit 7s linear infinite;
}

.bridge-core::after{
  inset:-34px;
  border-color:rgba(197,164,109,.16);
  animation-duration:11s;
  animation-direction:reverse;
}

.bridge-core > span{
  color:#fff;
  font:750 clamp(1.05rem,1.7vw,1.42rem)/1 var(--font-title,"Inter",sans-serif);
  letter-spacing:.08em;
}

.bridge-link{
  position:relative;
  height:2px;
  background:linear-gradient(90deg,rgba(50,183,177,.15),rgba(50,183,177,.85),rgba(197,164,109,.38));
}

.bridge-link i{
  position:absolute;
  top:50%;
  left:0;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#6cf1e2;
  box-shadow:0 0 18px #45d7ca;
  transform:translate(-50%,-50%);
  animation:architectureSignal 2.2s linear infinite;
}

.bridge-link em{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  color:#7893a4;
  font:600 .6rem/1 var(--font-mono,monospace);
  font-style:normal;
  letter-spacing:.12em;
  text-transform:uppercase;
}

@keyframes architectureSignal{
  from{left:0}
  to{left:100%}
}

@keyframes architectureCorePulse{
  0%,100%{box-shadow:inset 0 1px rgba(255,255,255,.05),0 0 0 rgba(50,183,177,0),0 24px 60px rgba(0,0,0,.28)}
  50%{box-shadow:inset 0 1px rgba(255,255,255,.08),0 0 48px rgba(50,183,177,.18),0 24px 60px rgba(0,0,0,.34)}
}

@keyframes architectureOrbit{
  from{transform:rotate(0deg) scale(1)}
  50%{transform:rotate(180deg) scale(1.025)}
  to{transform:rotate(360deg) scale(1)}
}

@media (max-width:900px){
  .architecture-bridge-visual{
    grid-template-columns:1fr;
    max-width:620px;
  }
  .bridge-link{
    width:2px;
    height:72px;
    margin:0 auto;
    background:linear-gradient(180deg,rgba(50,183,177,.15),rgba(50,183,177,.85),rgba(197,164,109,.38));
  }
  .bridge-link i{
    top:0;
    left:50%;
    animation-name:architectureSignalVertical;
  }
  .bridge-link em{
    left:18px;
    bottom:50%;
    transform:translateY(50%);
  }
}

@keyframes architectureSignalVertical{
  from{top:0}
  to{top:100%}
}

@media (prefers-reduced-motion:reduce){
  .bridge-core,
  .bridge-core::before,
  .bridge-core::after,
  .bridge-link i{animation:none !important}
}

.architecture-page .architecture-hero-content{
  z-index:2 !important;
  justify-self:start !important;
  margin-left:clamp(20px,4vw,68px) !important;
  text-align:left !important;
}

.architecture-page .architecture-hero-content p{
  margin-left:0 !important;
}
:is(.uc-hero,.cyber-hero)::before{background-image:url("../assets/visual/usecases-hero.png")}
:is(.di-hero,.ai-hero)::before{background-image:url("../assets/visual/technology-bg.png")}
:is(.sn-hero,.sc-hero)::before{background-image:url("../assets/visual/architecture-bg.webp")}

:is(.architecture-hero-clean,.uc-hero,.cyber-hero,.di-hero,.sn-hero,.sc-hero,.ai-hero,.about-hero,.contact-hero,.plans-hero,.privacy-hero) h1{
  max-width:940px !important;
  margin-block:18px 26px !important;
  color:var(--internal-ink) !important;
  font-family:var(--font-title,"Inter",sans-serif) !important;
  font-size:clamp(3.2rem,7vw,7.4rem) !important;
  font-weight:650 !important;
  line-height:.92 !important;
  letter-spacing:-.065em !important;
  text-wrap:balance;
}

:is(.architecture-hero-clean,.uc-hero,.cyber-hero,.di-hero,.sn-hero,.sc-hero,.ai-hero,.about-hero,.contact-hero,.plans-hero,.privacy-hero) p{
  max-width:720px;
  color:#b9c7d0 !important;
  font-size:clamp(1rem,1.45vw,1.22rem) !important;
  line-height:1.68 !important;
}

:is(.cyber-eyebrow,.di-eyebrow,.sn-eyebrow,.sc-eyebrow,.ai-eyebrow,.architecture-kicker,.uc-kicker,.plans-kicker){
  color:var(--internal-gold) !important;
  font:700 .72rem/1.35 var(--font-mono,monospace) !important;
  letter-spacing:.18em !important;
  text-transform:uppercase;
}

:is(.cyber-section,.di-section,.sn-section,.sc-section,.ai-section,.architecture-section,.uc-section,.about-section,.contact-section,.plans-panel,.privacy-section){
  border:0 !important;
  border-top:1px solid var(--internal-line) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding-block:clamp(64px,8vw,120px) !important;
}

:is(.cyber-card,.di-card,.sn-card,.sc-card,.ai-card,.uc-card,.architecture-card,.about-card,.contact-card,.plans-card){
  border:0 !important;
  border-left:1px solid var(--internal-line) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

:is(.cyber-cta,.di-cta,.sn-cta,.sc-cta,.ai-cta,.architecture-cta,.uc-cta,.about-cta,.contact-cta){
  position:relative;
  overflow:hidden;
  margin-top:0 !important;
  border:0 !important;
  border-top:1px solid var(--internal-line) !important;
  border-radius:0 !important;
  background:radial-gradient(circle at 50% 0%,rgba(55,190,181,.15),transparent 46%) !important;
  padding-block:clamp(74px,10vw,150px) !important;
}

:is(.cyber-page,.di-page,.sn-page,.sc-page,.ai-page) :is(.cyber-hero,.di-hero,.sn-hero,.sc-hero,.ai-hero){
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:clamp(44px,7vw,110px);
  padding:clamp(54px,8vw,120px) !important;
}

@media (max-width:900px){
  :is(.cyber-page,.di-page,.sn-page,.sc-page,.ai-page) :is(.cyber-hero,.di-hero,.sn-hero,.sc-hero,.ai-hero){grid-template-columns:1fr}
  :is(.architecture-hero-clean,.uc-hero,.cyber-hero,.di-hero,.sn-hero,.sc-hero,.ai-hero,.about-hero,.contact-hero,.plans-hero,.privacy-hero)::after{
    background:linear-gradient(90deg,rgba(4,10,16,.95),rgba(4,10,16,.64));
  }
}

/* Architecture page: diagram title aligned with the conceptual-flow title. */
.architecture-page .arch-diagram .diagram-head h2{
  font-size:clamp(2.45rem,4.4vw,4.8rem);
  line-height:1.02;
}

.architecture-page .architecture-intro:last-of-type .home-cta-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:min(700px,100%);
  margin:32px auto 0;
}

.architecture-page .architecture-intro:last-of-type .home-cta-actions .btn{
  flex:0 1 300px;
  width:auto;
  margin:0 !important;
}

.architecture-page .architecture-intro:last-of-type .architecture-cta-button{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  min-height:76px;
  line-height:1.18;
  text-align:center;
}

.architecture-page .architecture-intro:last-of-type .architecture-cta-button span{
  display:block;
}

@media (max-width:700px){
  .architecture-page .arch-diagram .diagram-head h2{
    font-size:clamp(2.25rem,11vw,3.8rem);
  }

  .architecture-page .architecture-intro:last-of-type .home-cta-actions{
    flex-direction:column;
    width:min(420px,100%);
  }

  .architecture-page .architecture-intro:last-of-type .home-cta-actions .btn{
    flex:0 0 auto;
    width:100%;
  }
}

@media (max-width:620px){
  :is(.architecture-page,.usecases-page,.cyber-page,.di-page,.sn-page,.sc-page,.ai-page,.about-page,.contact-page,.plans-page,.privacy-page) main,
  :is(.cyber-main,.di-main,.sn-main,.sc-main,.ai-main){width:calc(100% - 24px)}
  :is(.architecture-hero-clean,.uc-hero,.cyber-hero,.di-hero,.sn-hero,.sc-hero,.ai-hero,.about-hero,.contact-hero,.plans-hero,.privacy-hero){min-height:520px}
  :is(.architecture-hero-clean,.uc-hero,.cyber-hero,.di-hero,.sn-hero,.sc-hero,.ai-hero,.about-hero,.contact-hero,.plans-hero,.privacy-hero) h1{font-size:clamp(2.7rem,14vw,4.2rem) !important}
}

/* Subtle section reveals keep the technical narrative paced without hiding content. */
.architecture-page.arch-reveal-ready main > .section:not(.architecture-hero-clean){
  opacity:0;
  transform:translateY(34px);
  transition:opacity .78s cubic-bezier(.2,.75,.25,1),transform .78s cubic-bezier(.2,.75,.25,1);
}

.architecture-page.arch-reveal-ready main > .section.is-visible:not(.architecture-hero-clean){
  opacity:1;
  transform:translateY(0);
}

.architecture-page.arch-reveal-ready .architecture-bridge :is(.bridge-node,.bridge-core,.bridge-link){
  opacity:0;
  transform:translateY(20px);
  transition:opacity .65s ease,transform .65s ease;
}

.architecture-page.arch-reveal-ready .architecture-bridge.is-visible :is(.bridge-node,.bridge-core,.bridge-link){
  opacity:1;
  transform:translateY(0);
}

.architecture-page.arch-reveal-ready .architecture-bridge.is-visible .bridge-link:nth-child(2){transition-delay:.12s}
.architecture-page.arch-reveal-ready .architecture-bridge.is-visible .bridge-core{transition-delay:.22s}
.architecture-page.arch-reveal-ready .architecture-bridge.is-visible .bridge-link:nth-child(4){transition-delay:.32s}
.architecture-page.arch-reveal-ready .architecture-bridge.is-visible .bridge-target{transition-delay:.42s}

@media (prefers-reduced-motion:reduce){
  .architecture-page.arch-reveal-ready main > .section,
  .architecture-page.arch-reveal-ready .architecture-bridge :is(.bridge-node,.bridge-core,.bridge-link){
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}
