/* ==========================================================================
   DARKCONE — main.css
   Refactor: layout / breathing / executive navbar / narrative structure
   ========================================================================== */

:root{
  --bg-0:#111214;
  --bg-1:#151719;
  --bg-2:#191c1f;
  --bg-3:#1d2024;

  --text:#e8e5df;
  --text-soft:rgba(232,229,223,.82);
  --muted:rgba(188,192,198,.60);
  --muted-2:rgba(188,192,198,.40);

  --ink:#1a1814;
  --ink-soft:#2a2622;
  --ink-muted:#5a5650;
  --ink-faint:#7a7670;

    --gold:#b29d63;
  --gold-2:#a99257;
  --gold-bright:#c1aa6a;
  --gold-soft:rgba(168,152,98,.07);
  --gold-line:rgba(168,152,98,.11);
  --gold-line-2:rgba(168,152,98,.18);

  --smoke-bg:rgba(8,8,10,.54);
  --smoke-bg-deep:rgba(6,6,8,.72);
  --smoke-border:rgba(255,255,255,.06);
  --smoke-border-top:rgba(255,255,255,.14);

  --line:rgba(18,17,15,.18);
  --line-soft:rgba(18,17,15,.09);
  --line-strong:rgba(18,17,15,.24);
  --line-white:rgba(255,255,255,.052);
  --line-white-soft:rgba(255,255,255,.03);

  --panel:rgba(255,255,255,.22);
  --panel-2:rgba(255,255,255,.36);
  --panel-3:rgba(255,255,255,.52);

  --shadow-1:0 8px 20px rgba(0,0,0,.12);
  --shadow-2:0 16px 42px rgba(0,0,0,.18);
  --shadow-3:0 28px 64px rgba(0,0,0,.28);
  --shadow-modal:0 40px 100px rgba(0,0,0,.52), 0 0 0 1px rgba(255,255,255,.042);

  --radius-xs:10px;
  --radius-sm:14px;
  --radius-md:20px;
  --radius-lg:26px;
  --radius-xl:32px;
  --radius-pill:999px;

  --container:1360px;
  --container-wide:1640px;

  --font-display:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  --font-body:Inter, system-ui, -apple-system, sans-serif;
  --font-hero:"General Sans", Inter, system-ui, -apple-system, sans-serif;

  --hero-shift-x:4.35rem;
  --hero-title-shift-x:5.55rem;
  --hero-max:clamp(820px, 72vw, 1120px);

  --space-1:.4rem;
  --space-2:.65rem;
  --space-3:.95rem;
  --space-4:1.3rem;
  --space-5:1.75rem;
  --space-6:2.35rem;
  --space-7:3rem;
  --space-8:3.75rem;
  --space-9:4.8rem;

  --section-y:clamp(3.2rem, 4.8vw, 5rem);
  --section-y-tight:clamp(2.2rem, 3.2vw, 3.2rem);

  --t-fast:150ms ease;
  --t-mid:230ms ease;
  --t-slow:360ms ease;
}

/* ==========================================================================
   PUBLIC HOMEPAGE REDESIGN / SYSTEM GATEWAY
   ========================================================================== */

.dc-home{
  overflow:hidden;
}

.dc-home .container{
  position:relative;
}

.dc-section{
  padding:clamp(2.2rem, 4.2vw, 4.6rem) 0;
}

.dc-section + .dc-section{
  padding-top:clamp(1.4rem, 2.6vw, 2.8rem);
}

.dc-surface,
.dc-surface-soft,
.dc-system-panel{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.05);
  border-radius:8px;
  background:
    linear-gradient(145deg, rgba(22,23,27,.18), rgba(10,11,14,.10));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 18px 45px rgba(0,0,0,.10);
  backdrop-filter:blur(10px) saturate(115%);
  -webkit-backdrop-filter:blur(10px) saturate(115%);
}

.dc-surface-soft{
  background:
    linear-gradient(145deg, rgba(24,25,29,.13), rgba(8,9,11,.07));
}

.dc-surface::before,
.dc-surface-soft::before,
.dc-system-panel::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(193,170,106,0),
    rgba(193,170,106,.32),
    rgba(255,255,255,.10),
    rgba(193,170,106,.18),
    rgba(193,170,106,0)
  );
  pointer-events:none;
}

.dc-section-header{
  display:grid;
  gap:.65rem;
}

.dc-section-header h2{
  max-width:16ch;
  font-family:var(--font-display);
  font-size:clamp(1.8rem, 3.3vw, 3.35rem);
  line-height:1.02;
  font-weight:650;
  letter-spacing:0;
  color:rgba(245,239,228,.96);
  text-wrap:balance;
}

.dc-section-header p:not(.eyebrow){
  max-width:64ch;
  color:rgba(226,219,206,.84);
  font-size:clamp(.98rem, 1vw, 1.06rem);
  line-height:1.72;
}

.dc-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  color:rgba(193,170,106,.94);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.18em;
  line-height:1.2;
  text-transform:uppercase;
}

.dc-eyebrow::before{
  content:"";
  width:30px;
  height:1px;
  background:rgba(193,170,106,.58);
}

.dc-signal{
  position:relative;
  display:flex;
  align-items:center;
  min-height:38px;
  padding:.58rem .75rem .58rem 1rem;
  border-left:1px solid rgba(193,170,106,.28);
  background:linear-gradient(90deg, rgba(255,255,255,.035), rgba(255,255,255,.01));
  color:rgba(238,231,218,.88);
  font-size:.86rem;
  line-height:1.35;
}

.dc-signal::before{
  content:"";
  position:absolute;
  left:-4px;
  top:50%;
  width:7px;
  height:7px;
  border:1px solid rgba(193,170,106,.48);
  background:rgba(22,23,27,.74);
  transform:translateY(-50%) rotate(45deg);
}

.dc-gateway{
  padding:clamp(3.4rem, 7vw, 6.8rem) 0 clamp(2.4rem, 4.6vw, 4.8rem);
}

.dc-gateway-shell{
  display:grid;
  grid-template-columns:minmax(0, 1.04fr) minmax(360px, .96fr);
  align-items:center;
  gap:clamp(1.2rem, 4vw, 4.8rem);
  min-height:clamp(600px, 78svh, 780px);
}

.dc-gateway-copy{
  display:grid;
  gap:1.05rem;
  max-width:760px;
}

.dc-gateway-title{
  max-width:11ch;
  font-family:var(--font-display);
  font-size:clamp(3.05rem, 7vw, 6.85rem);
  line-height:.89;
  font-weight:650;
  letter-spacing:0;
  color:rgba(246,241,232,.98);
  text-wrap:balance;
}

.dc-gateway-lead{
  max-width:54ch;
  color:rgba(239,232,219,.9);
  font-size:clamp(1.06rem, 1.36vw, 1.28rem);
  line-height:1.58;
}

.dc-gateway-secondary{
  max-width:48ch;
  color:rgba(216,207,190,.76);
  font-size:.98rem;
  line-height:1.72;
}

.dc-gateway .hero-cta,
.dc-gateway-actions{
  justify-content:flex-start;
  margin-top:.55rem;
  transform:none;
}

.dc-gateway .btn,
.dc-cta-panel .btn{
  border-radius:4px;
  border-color:rgba(193,170,106,.24);
  background:rgba(18,17,15,.76);
  color:rgba(246,241,232,.95);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.dc-gateway .btn-outline,
.dc-cta-panel .btn-outline{
  background:rgba(255,255,255,.018);
  border-color:rgba(255,255,255,.075);
  color:rgba(239,232,219,.84);
}

.dc-gateway .btn:hover,
.dc-gateway .btn:focus-visible,
.dc-cta-panel .btn:hover,
.dc-cta-panel .btn:focus-visible{
  border-color:rgba(193,170,106,.44);
  background:rgba(22,21,18,.92);
  color:#fff;
}

.dc-gateway-panel{
  min-height:520px;
  padding:clamp(1rem, 2vw, 1.45rem);
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:1.2rem;
  isolation:isolate;
}

.dc-gateway-panel::after{
  content:"";
  position:absolute;
  inset:12%;
  z-index:-1;
  background:
    radial-gradient(circle at 74% 20%, rgba(193,170,106,.12), transparent 30%),
    linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px);
  background-size:auto, 44px 44px, 44px 44px;
  opacity:.55;
  mask-image:linear-gradient(180deg, transparent, #000 18%, #000 74%, transparent);
}

.dc-panel-topline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding-bottom:1rem;
  border-bottom:1px solid rgba(255,255,255,.055);
}

.dc-panel-kicker{
  color:rgba(193,170,106,.82);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.2em;
  line-height:1.2;
  text-transform:uppercase;
}

.dc-panel-topline h2{
  margin-top:.35rem;
  color:rgba(245,239,228,.94);
  font-family:var(--font-display);
  font-size:clamp(1.3rem, 2vw, 1.75rem);
  font-weight:650;
  letter-spacing:0;
}

.dc-panel-seal{
  width:clamp(42px, 5vw, 62px);
  opacity:.28;
  filter:sepia(1) saturate(.7) brightness(1.08) contrast(.94);
}

.dc-module-rows{
  display:grid;
  align-content:center;
  gap:.52rem;
}

.dc-module-row{
  display:grid;
  grid-template-columns:44px minmax(0, 1fr);
  align-items:center;
  min-height:54px;
  border-top:1px solid rgba(255,255,255,.045);
  background:linear-gradient(90deg, rgba(255,255,255,.04), rgba(255,255,255,.012));
}

.dc-module-row:last-child{
  border-bottom:1px solid rgba(255,255,255,.045);
}

.dc-row-index{
  color:rgba(193,170,106,.72);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.14em;
  text-align:center;
  font-variant-numeric:tabular-nums;
}

.dc-module-row span:last-child{
  color:rgba(243,237,226,.9);
  font-size:.94rem;
  font-weight:600;
  letter-spacing:.01em;
}

.dc-status-strip{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.5rem;
}

.dc-status-strip .dc-signal{
  min-height:44px;
  padding:.55rem .62rem .55rem .78rem;
  font-size:.74rem;
}

.dc-editorial{
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);
  gap:clamp(1rem, 4vw, 4rem);
  padding:clamp(1.25rem, 3vw, 2.8rem);
}

.dc-editorial .dc-section-header h2{
  max-width:18ch;
}

.dc-editorial-copy{
  display:grid;
  align-content:center;
  gap:1.15rem;
}

.dc-editorial-copy > p{
  color:rgba(232,224,211,.86);
  font-size:clamp(1rem, 1.1vw, 1.12rem);
  line-height:1.78;
}

.dc-signal-list,
.dc-client-signals{
  display:grid;
  gap:.58rem;
}

.dc-problem-rail{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(320px, .95fr);
  align-items:end;
  gap:clamp(1rem, 3vw, 3rem);
  padding:clamp(1.1rem, 2.4vw, 2.2rem);
}

.dc-problem-rail .dc-section-header h2{
  max-width:18ch;
  font-size:clamp(1.8rem, 3vw, 2.85rem);
}

.dc-rail{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.55rem;
  align-self:stretch;
}

.dc-rail .dc-signal{
  align-items:flex-end;
  min-height:116px;
}

.dc-layer-map{
  padding:clamp(1.15rem, 2.8vw, 2.5rem);
}

.dc-layer-header{
  max-width:980px;
  margin-bottom:clamp(1rem, 2.4vw, 2rem);
}

.dc-layer-header h2{
  max-width:14ch;
}

.dc-layer-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:.62rem;
}

.dc-layer-grid::before{
  content:"";
  position:absolute;
  left:4%;
  right:4%;
  top:2.7rem;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(193,170,106,.30), transparent);
  pointer-events:none;
}

.dc-layer{
  position:relative;
  min-height:260px;
  padding:1rem .92rem 1.05rem;
  display:grid;
  align-content:start;
  gap:.72rem;
  border:1px solid rgba(255,255,255,.052);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.014));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}

.dc-layer::before{
  content:"";
  position:absolute;
  left:50%;
  top:2.7rem;
  width:9px;
  height:9px;
  border:1px solid rgba(193,170,106,.44);
  background:rgba(18,18,20,.86);
  transform:translate(-50%, -50%) rotate(45deg);
}

.dc-layer-index{
  color:rgba(193,170,106,.76);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
  font-variant-numeric:tabular-nums;
}

.dc-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  color:rgba(224,207,151,.86);
}

.dc-icon svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.dc-layer h3{
  color:rgba(246,241,232,.94);
  font-size:1rem;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.01em;
}

.dc-layer p{
  color:rgba(220,212,198,.82);
  font-size:.9rem;
  line-height:1.58;
}

.dc-process{
  padding:clamp(1.1rem, 2.6vw, 2.3rem);
}

.dc-process .dc-section-header{
  margin-bottom:1.35rem;
}

.dc-process .dc-section-header h2{
  max-width:18ch;
}

.dc-process-rail{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:.55rem;
}

.dc-process-rail::before{
  content:"";
  position:absolute;
  left:2%;
  right:2%;
  top:1.28rem;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(193,170,106,.34), transparent);
}

.dc-process-step{
  position:relative;
  min-height:154px;
  padding:.9rem .9rem 1rem;
  display:grid;
  align-content:start;
  gap:.42rem;
  border-top:1px solid rgba(255,255,255,.055);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.008));
}

.dc-process-step::before{
  content:"";
  position:absolute;
  top:1.28rem;
  left:.95rem;
  width:9px;
  height:9px;
  border:1px solid rgba(193,170,106,.48);
  background:rgba(18,18,20,.86);
  transform:translateY(-50%) rotate(45deg);
}

.dc-process-step .method-num{
  margin-left:1.1rem;
}

.dc-process-step h3{
  margin-top:.25rem;
  color:rgba(246,241,232,.94);
  font-size:1.05rem;
  line-height:1.2;
  font-weight:700;
}

.dc-process-step p{
  max-width:28ch;
  color:rgba(220,212,198,.82);
  font-size:.9rem;
  line-height:1.58;
}

.dc-client-panel{
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(360px, 1.05fr);
  gap:clamp(1rem, 3vw, 3rem);
  padding:clamp(1.15rem, 2.6vw, 2.25rem);
}

.dc-client-panel .dc-section-header h2{
  max-width:15ch;
}

.dc-client-signals{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  align-content:center;
}

.dc-cta-panel{
  width:min(100%, 1120px);
  margin-inline:auto;
  padding:clamp(1.1rem, 2.6vw, 2.2rem);
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:1.25rem 2rem;
  align-items:center;
}

.dc-cta-panel .dc-section-header{
  margin:0;
  padding:0;
  justify-items:start;
  text-align:left;
}

.dc-cta-panel .dc-section-header h2{
  max-width:18ch;
  font-size:clamp(1.8rem, 3vw, 2.85rem);
}

.dc-cta-actions{
  justify-content:flex-end;
  padding:0;
}

.dc-cta-panel .contact-note-final{
  grid-column:1 / -1;
  max-width:none;
  margin:0;
  padding:.85rem 0 0;
  border-top:1px solid rgba(255,255,255,.055);
  color:rgba(220,212,198,.72);
  text-align:left;
}

.footer-clean .footer-inner{
  gap:clamp(1.2rem, 3vw, 2.6rem);
}

@media (max-width: 1180px){
  .dc-gateway-shell,
  .dc-editorial,
  .dc-problem-rail,
  .dc-client-panel{
    grid-template-columns:1fr;
  }

  .dc-gateway-shell{
    min-height:auto;
  }

  .dc-gateway-panel{
    min-height:auto;
  }

  .dc-layer-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .dc-layer-grid::before{
    display:none;
  }
}

@media (max-width: 920px){
  .dc-gateway{
    padding:clamp(2.4rem, 8vw, 4rem) 0 clamp(1.6rem, 6vw, 3rem);
  }

  .dc-gateway-title{
    max-width:10.5ch;
    font-size:clamp(2.55rem, 12vw, 4.4rem);
  }

  .dc-status-strip,
  .dc-rail,
  .dc-process-rail,
  .dc-client-signals,
  .dc-cta-panel{
    grid-template-columns:1fr;
  }

  .dc-rail .dc-signal{
    min-height:48px;
    align-items:center;
  }

  .dc-process-rail::before{
    left:1rem;
    right:auto;
    top:.75rem;
    bottom:.75rem;
    width:1px;
    height:auto;
    background:linear-gradient(180deg, transparent, rgba(193,170,106,.34), transparent);
  }

  .dc-process-step{
    min-height:auto;
    padding:.9rem .9rem .95rem 2.25rem;
  }

  .dc-process-step::before{
    left:1rem;
  }

  .dc-process-step .method-num{
    margin-left:0;
  }

  .dc-cta-actions{
    justify-content:flex-start;
  }
}

@media (max-width: 640px){
  .dc-section-header h2{
    max-width:100%;
    font-size:clamp(1.58rem, 9vw, 2.35rem);
  }

  .dc-gateway .hero-cta,
  .dc-gateway-actions{
    align-items:stretch;
  }

  .dc-panel-topline{
    align-items:center;
  }

  .dc-panel-seal{
    width:42px;
  }

  .dc-module-row{
    min-height:50px;
  }

  .dc-layer-grid{
    grid-template-columns:1fr;
  }

  .dc-layer{
    min-height:auto;
  }

  .dc-cta-panel .contact-note-final{
    text-align:left;
  }
}

*,*::before,*::after{ box-sizing:border-box; }

html{
  scroll-behavior:smooth;
  background:transparent;
}

body{
  margin:0;
  position:relative;
  background:transparent;
  color:var(--text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

body.modal-open{
  overflow:hidden;
}

body.diagnostic-modal-open{
  position:fixed;
  left:0;
  right:0;
  width:100%;
  overflow:hidden;
}

.brand-wordmark,
.nav-link,
.nav-service-trigger,
.nav-link-static,
.lang,
.cta,
.btn,
.section-head h2,
.section-intro h2{
  font-family:var(--font-display);
}

.tagline-main,
.hero-subline,
.hero-support-copy{
  font-family:var(--font-hero);
}

::selection{
  background:rgba(168,148,92,.22);
  color:#1a1814;
}

img,svg,canvas{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button,input,textarea,select{ font:inherit; }
button{ background:none; border:0; color:inherit; cursor:pointer; }
ul{ list-style:none; margin:0; padding:0; }
h1,h2,h3,h4,p{ margin:0; }

/* ==========================================================================
   BACKGROUND LAYER SYSTEM
   ========================================================================== */

#bg-base{
  position:fixed;
  inset:0;
  z-index:-10;
  pointer-events:none;
  background:
    linear-gradient(
      180deg,
      #d7d1c6 0%,
      #d0c9be 42%,
      #cac3b8 100%
    );
}

#bg-texture{
  position:fixed;
  inset:0;
  z-index:-8;
  pointer-events:none;
  background:url("/assets/bg-mineral-light.webp") center/cover no-repeat;
  opacity:.56;
  mix-blend-mode:multiply;
  filter:saturate(.78) brightness(.93) contrast(1.02);
}

#bg-texture::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.22) 0%,
      rgba(0,0,0,.10) 38%,
      rgba(0,0,0,.16) 100%
    );
  mix-blend-mode:multiply;
}

#bg-texture::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.14;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(0,0,0,.010) 0px,
      rgba(0,0,0,.010) 1px,
      transparent 1px,
      transparent 420px
    );
  mix-blend-mode:multiply;
}

#bg-texture-mask{
  position:fixed;
  inset:0;
  z-index:-7;
  pointer-events:none;
  background:
    linear-gradient(
      180deg,
      rgba(10,10,12,.10) 0%,
      rgba(10,10,12,.03) 22%,
      rgba(10,10,12,.06) 48%,
      rgba(10,10,12,.10) 100%
    ),
    radial-gradient(
      ellipse 88% 62% at 52% 42%,
      rgba(0,0,0,.04) 0%,
      rgba(0,0,0,.08) 42%,
      rgba(0,0,0,.12) 100%
    ),
    linear-gradient(
      132deg,
      rgba(0,0,0,.10) 18%,
      rgba(0,0,0,.02) 34%,
      rgba(0,0,0,.08) 52%,
      rgba(0,0,0,.02) 68%,
      rgba(0,0,0,.10) 84%
    );
  mix-blend-mode:multiply;
  opacity:.72;
}

#bg-atmo{
  position:fixed;
  inset:0;
  z-index:-6;
  pointer-events:none;
  background:
    linear-gradient(
      to bottom,
      rgba(6,6,8,.94) 0%,
      rgba(6,6,8,.82) 8%,
      rgba(6,6,8,.48) 16%,
      rgba(6,6,8,.20) 25%,
      rgba(6,6,8,.04) 35%,
      rgba(6,6,8,0) 46%
    );
}

#dc-canvas{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  z-index:-3;
  pointer-events:none;
  opacity:.05;
}

/* ==========================================================================
   LAYOUT
   ========================================================================== */

.container,
.footer-inner{
  width:min(calc(100% - 2rem), var(--container));
  margin-inline:auto;
}

.hero{
  position:relative;
  z-index:2;
  padding:0;
}

.section{
  position:relative;
  z-index:2;
  padding:var(--section-y) 0;
}

.section + .section{
  padding-top:var(--section-y-tight);
}

.section-head,
.section-intro{
  max-width:960px;
  margin-bottom:1.5rem;
}

.section-head-tight{
  margin-bottom:.7rem;
}

.section-copy{
  margin-top:1rem;
  max-width:68ch;
  color:rgba(225,218,205,.92);
  font-size:.98rem;
  line-height:1.82;
  font-weight:400;
}

.editorial-grid{
  display:grid;
  gap:1.8rem;
  align-items:start;
}

.editorial-grid-2{
  grid-template-columns:minmax(0, .94fr) minmax(0, 1.06fr);
}

.editorial-copy{
  max-width:none;
  color:var(--ink-muted);
  font-size:1rem;
  line-height:1.9;
  display:grid;
  gap:1rem;
}

.editorial-copy-lead{
  color:rgba(234,226,212,.94);
  font-size:1.06rem;
  line-height:1.86;
}

.editorial-copy-support{
  color:rgba(223,214,198,.88);
  max-width:60ch;
}

.line-grid{
  display:grid;
  gap:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.line-grid-3{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.line-grid-4{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

.line-grid-5{
  grid-template-columns:repeat(5, minmax(0, 1fr));
}

.line-item{
  position:relative;
  min-height:220px;
  padding:1.6rem 1.4rem 1.35rem;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:.85rem;
}

.line-item + .line-item{
  border-left:1px solid var(--line);
}

.line-item-compact{
  min-height:182px;
}

.line-index{
  color:rgba(168,148,92,.58);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.22em;
  font-variant-numeric:tabular-nums;
}

.line-item h3{
  max-width:18ch;
  color:rgba(236,229,214,.94);
  font-size:1rem;
  font-weight:600;
  line-height:1.32;
  letter-spacing:.01em;
}

.line-item p{
  max-width:34ch;
  color:rgba(221,214,201,.88);
  font-size:.93rem;
  line-height:1.76;
}

.muted{ color:var(--ink-faint); }
.small{ font-size:.9rem; }

/* ==========================================================================
   TYPOGRAPHY
   ========================================================================== */

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin-bottom:.08rem;
  color:rgba(178,157,99,.98);
  font-size:1.02rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  opacity:1;
}

.eyebrow::before{
  content:"";
  display:block;
  width:30px;
  height:1px;
  background:rgba(168,152,98,.66);
  flex-shrink:0;
}

.section-head h2,
.section-intro h2{
  max-width:18ch;
  font-family:"Cinzel", Georgia, serif;
  font-size:clamp(1.58rem, 2.5vw, 2.34rem);
  font-weight:600;
  line-height:1.08;
  letter-spacing:.038em;
  text-transform:uppercase;
  text-wrap:balance;
  color:rgba(236,229,214,.94);
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 1.25rem;
  border-radius:var(--radius-sm);
  background:rgba(18,17,15,.88);
  border:1px solid rgba(18,17,15,.72);
  color:rgba(240,238,234,.94);
  font-size:.88rem;
  font-weight:500;
  letter-spacing:.02em;
  white-space:nowrap;
  transition:
    background var(--t-fast),
    border-color var(--t-fast),
    color var(--t-fast),
    transform var(--t-fast),
    box-shadow var(--t-fast);
}

.btn:hover,
.btn:focus-visible{
  background:rgba(18,17,15,.97);
  border-color:rgba(18,17,15,.92);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  outline:none;
}

.btn-outline{
  background:transparent;
  border-color:rgba(18,17,15,.30);
  color:rgba(30,27,22,.78);
}

.btn-outline:hover,
.btn-outline:focus-visible{
  background:rgba(18,17,15,.06);
  border-color:rgba(18,17,15,.44);
  color:rgba(18,17,15,.96);
}

/* ==========================================================================
   NAVBAR
   ========================================================================== */

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  padding:.42rem 0 0;
  pointer-events:auto;
}

.nav-shell{
  width:min(calc(100% - 2rem), var(--container-wide));
  margin-inline:auto;
  overflow:visible;
}

.navbar{
  min-height:58px;
  display:grid;
  grid-template-columns:280px minmax(0,1fr) 300px;
  align-items:center;
  gap:1rem;
  padding:.46rem .72rem;
  position:relative;
  overflow:visible;
  z-index:1000;
  border-radius:12px;

  background:
    linear-gradient(
      180deg,
      rgba(96,95,88,.34) 0%,
      rgba(73,72,67,.38) 48%,
      rgba(54,53,49,.42) 100%
    ),
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.070), transparent 34%),
    linear-gradient(105deg, rgba(193,170,106,.042), transparent 46%, rgba(255,255,255,.024));

  border:1px solid rgba(255,255,255,.105);
  border-top-color:rgba(255,255,255,.16);
  border-bottom-color:rgba(0,0,0,.20);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.095),
    inset 0 -1px 0 rgba(0,0,0,.18),
    0 16px 36px rgba(0,0,0,.18);

  backdrop-filter:blur(18px) saturate(1.18) brightness(1.02);
  -webkit-backdrop-filter:blur(18px) saturate(1.18) brightness(1.02);
}

.navbar::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.082) 0%, rgba(255,255,255,.024) 36%, transparent 64%),
    linear-gradient(90deg, transparent, rgba(255,255,255,.032), transparent);
}

.navbar::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,.10) 10%,
    rgba(255,255,255,.18) 50%,
    rgba(255,255,255,.10) 90%,
    transparent 100%
  );
  opacity:.9;
}

/* unified internal zones */
.brand,
.nav-links,
.nav-right{
  position:relative;
  z-index:1;
  background:none;
  border:0;
  box-shadow:none;
}

/* brand */
.brand{
  display:flex;
  align-items:center;
  gap:.92rem;
  min-width:0;
  min-height:48px;
  padding:0;
  overflow:visible;
}

.brand-dot{
  width:40px;
  height:40px;
  border-radius:50%;
  overflow:visible;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:transparent;
  border:0;
  box-shadow:none;
  position:relative;
}

.brand-dot::before{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:50%;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.08), transparent 62%);
  opacity:.45;
}

.brand-dot-clu{
  isolation:isolate;
}

#headerSphere,
.header-sphere-3d{
  position:relative;
  width:40px;
  height:40px;
  display:block;
  border-radius:50%;
  overflow:visible;
}

.header-sphere-3d::before{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:50%;
  opacity:.28;
  pointer-events:none;
  background:
    radial-gradient(circle at 38% 28%, rgba(255,255,255,.35), rgba(193,170,106,.22) 28%, rgba(92,78,42,.28) 62%, transparent 76%);
  box-shadow:
    0 0 12px rgba(193,170,106,.10);
  transition:opacity var(--t-fast);
}

.header-sphere-3d.is-clu-mounted::before,
.brand-dot-clu.is-clu-mounted::before,
.brand-dot-clu.is-clu-mounted::after{
  opacity:0;
}

.header-sphere-3d canvas{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  border-radius:50%;
  z-index:2;
}

.brand-wordmark{
  min-width:0;
  font-family:"Cinzel", Georgia, serif;
  font-size:1.05rem;
  line-height:1;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(240,238,234,.94);
  white-space:nowrap;
}

/* center nav */
.nav-links{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.2rem;
  min-width:0;
  min-height:48px;
  padding:0;
}

.nav-link,
.nav-service-trigger,
.nav-link-static{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.42rem;
  min-height:38px;
  padding:0 .8rem;
  color:rgba(233,228,218,.88);
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.05em;
  text-transform:uppercase;
  border-radius:9px;
  border:1px solid transparent;
  transition:
    color var(--t-fast),
    background var(--t-fast),
    border-color var(--t-fast),
    transform var(--t-fast),
    box-shadow var(--t-fast);
}

.nav-link:hover,
.nav-link:focus-visible,
.nav-service-trigger:hover,
.nav-service-trigger:focus-visible,
.nav-link-static:hover,
.nav-link-static:focus-visible{
  outline:none;
  color:#fff;
  border-color:rgba(255,255,255,.060);
  background:linear-gradient(180deg, rgba(255,255,255,.074), rgba(255,255,255,.032));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.075);
}

.nav-service-dropdown{
  position:relative;
  display:flex;
  align-items:center;
}

.nav-service-trigger[aria-expanded="true"]{
  border-color:rgba(255,255,255,.075);
  background:
    linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.038)),
    linear-gradient(90deg, rgba(193,170,106,.038), transparent);
  color:#fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.080),
    0 4px 10px rgba(0,0,0,.08);
}

.nav-service-trigger[aria-current="page"],
.nav-link-static[aria-current="page"]{
  color:#fff;
  border-color:rgba(193,170,106,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.078), rgba(255,255,255,.034)),
    linear-gradient(90deg, rgba(193,170,106,.038), transparent);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.076),
    inset 0 -1px 0 rgba(193,170,106,.026);
}

.nav-chevron{
  opacity:.78;
  transition:transform var(--t-fast), opacity var(--t-fast);
}

.nav-service-trigger[aria-expanded="true"] .nav-chevron{
  transform:rotate(180deg);
  opacity:1;
}

.nav-service-panel{
  position:absolute;
  left:50%;
  top:calc(100% + .72rem);
  transform:translateX(-50%) translateY(10px);
  min-width:min(560px, 85vw);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:
    opacity var(--t-mid),
    transform var(--t-mid),
    visibility var(--t-mid);
  z-index:1200;
}

.nav-service-dropdown.is-open .nav-service-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}

.nav-service-panel-inner{
  border:1px solid rgba(255,255,255,.10);
  border-top-color:rgba(255,255,255,.15);
  background:
    linear-gradient(180deg, rgba(66,65,60,.82), rgba(48,47,43,.84)),
    radial-gradient(circle at 12% 0%, rgba(193,170,106,.050), transparent 38%),
    linear-gradient(110deg, rgba(255,255,255,.026), transparent 54%);
  box-shadow:
    0 18px 42px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.075);
  backdrop-filter:blur(16px) saturate(1.10);
  -webkit-backdrop-filter:blur(16px) saturate(1.10);
}

.nav-service-panel-mega .nav-service-panel-inner{
  border-radius:15px;
  overflow:hidden;
}

.nav-service-panel-grid{
  display:grid;
  grid-template-columns:minmax(158px, 184px) minmax(0, 1fr);
}

.nav-panel-intro{
  padding:.82rem .9rem;
  border-right:1px solid rgba(255,255,255,.026);
  background:linear-gradient(180deg, rgba(255,255,255,.026), rgba(255,255,255,.008));
}

.nav-panel-label{
  color:var(--gold-bright);
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:.48rem;
}

.nav-panel-title{
  font-family:var(--font-display);
  font-size:.86rem;
  line-height:1.18;
  letter-spacing:0;
  text-transform:none;
  color:rgba(242,238,232,.88);
  margin-bottom:.42rem;
}

.nav-panel-desc{
  color:rgba(226,219,206,.64);
  font-size:.76rem;
  line-height:1.42;
}

.nav-panel-items{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:0;
}

.nav-panel-items li{
  border-left:1px solid rgba(255,255,255,.020);
  border-bottom:1px solid rgba(255,255,255,.020);
}

.nav-panel-items li:nth-child(odd){
  border-left:0;
}

.nav-panel-items li:nth-last-child(-n + 2){
  border-bottom:0;
}

.nav-panel-items a{
  display:flex;
  align-items:center;
  min-height:56px;
  padding:.82rem .95rem;
  color:rgba(236,229,214,.84);
  font-size:.84rem;
  line-height:1.4;
  transition:background var(--t-fast), color var(--t-fast);
}

.nav-panel-items a:hover,
.nav-panel-items a:focus-visible{
  outline:none;
  background:linear-gradient(180deg, rgba(255,255,255,.048), rgba(255,255,255,.022));
  color:#fff;
}

/* right nav */
.nav-right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.55rem;
  min-width:0;
  min-height:48px;
  padding:0;
}

.dropdown{
  position:relative;
}

.lang{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  min-height:38px;
  padding:0 .82rem;
  border-radius:9px;
  border:1px solid transparent;
  color:rgba(233,228,218,.88);
  transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast), box-shadow var(--t-fast);
}

.lang:hover,
.lang:focus-visible{
  outline:none;
  border-color:rgba(255,255,255,.060);
  background:linear-gradient(180deg, rgba(255,255,255,.074), rgba(255,255,255,.032));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.075);
  color:#fff;
}

.lang-prefix{
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  opacity:.62;
}

#langCurrent{
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.12em;
}

.dropdown-menu{
  position:absolute;
  right:0;
  top:calc(100% + .72rem);
  min-width:180px;
  padding:.38rem;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  border-top-color:rgba(255,255,255,.15);
  background:
    linear-gradient(180deg, rgba(66,65,60,.82), rgba(48,47,43,.84)),
    radial-gradient(circle at 20% 0%, rgba(193,170,106,.050), transparent 38%),
    linear-gradient(110deg, rgba(255,255,255,.026), transparent 54%);
  box-shadow:
    0 18px 42px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.075);
  backdrop-filter:blur(16px) saturate(1.10);
  -webkit-backdrop-filter:blur(16px) saturate(1.10);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity var(--t-mid), transform var(--t-mid), visibility var(--t-mid);
}

.dropdown.is-open .dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}

.dropdown-menu button{
  width:100%;
  display:grid;
  grid-template-columns:20px 28px 1fr;
  align-items:center;
  gap:.7rem;
  min-height:38px;
  padding:0 .7rem;
  border-radius:9px;
  color:rgba(236,229,214,.84);
  text-align:left;
}

.dropdown-menu button:hover,
.dropdown-menu button:focus-visible{
  outline:none;
  background:linear-gradient(180deg, rgba(255,255,255,.048), rgba(255,255,255,.022));
  color:#fff;
}

.flag-emoji{ font-size:.9rem; }
.flag-code{
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.12em;
}
.lang-label{ font-size:.84rem; }

.contact{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:9px;
  border:1px solid transparent;
  color:rgba(233,228,218,.88);
  transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast), box-shadow var(--t-fast);
}

.contact:hover,
.contact:focus-visible{
  outline:none;
  border-color:rgba(255,255,255,.060);
  background:linear-gradient(180deg, rgba(255,255,255,.074), rgba(255,255,255,.032));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.075);
  color:#fff;
}

.cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 1rem;
  border-radius:11px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.040), rgba(255,255,255,.018)),
    linear-gradient(90deg, rgba(193,170,106,.034), transparent);
  border:1px solid rgba(255,255,255,.080);
  color:rgba(232,229,223,.86);
  font-size:.76rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.96;
  box-shadow:none;
  transition:
    opacity var(--t-fast),
    color var(--t-fast),
    border-color var(--t-fast),
    background var(--t-fast),
    transform var(--t-fast),
    box-shadow var(--t-fast);
}

.cta:hover,
.cta:focus-visible{
  opacity:1;
  color:#fff;
  border-color:rgba(193,170,106,.14);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.060) 0%,
      rgba(255,255,255,.026) 100%
    ),
    linear-gradient(90deg, rgba(193,170,106,.050), transparent);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.080),
    0 6px 14px rgba(0,0,0,.10);
  transform:translateY(-1px);
  outline:none;
}

/* ==========================================================================
   HERO
   ========================================================================== */

.hero-minimal{ padding:0; }

.hero-stage-minimal{
  position:relative;
  width:min(calc(100% - 2rem), var(--container));
  min-height:clamp(620px, 86svh, 840px);
  padding-top:0;
  padding-bottom:2.2rem;
  display:grid;
  place-items:start center;
  overflow:hidden;
}

.hero-content{
  position:relative;
  z-index:1;
  text-align:center;
  display:grid;
  justify-items:center;
  gap:.12rem;
  width:min(calc(100% - 2rem), var(--hero-max));
  margin-inline:auto;
}


.hero-content-minimal{
  max-width:none;
  width:100%;
  padding-top:clamp(.35rem, .7vw, .7rem);
  gap:clamp(.24rem, .55vw, .55rem);
  padding-inline:clamp(.4rem, 1vw, 1rem);
}

.hero-content-minimal-compact{
  max-width:none;
  width:100%;
}

.hero-content-architectural{
  grid-template-rows:auto auto auto auto auto;
}

.tagline{
  text-transform:uppercase;
  color:rgba(240,232,219,.98);
}

.tagline-main{
  width:100%;
  max-width:34ch;
  margin-top:1.35rem;
  margin-inline:auto;
  text-align:center;
  font-size:clamp(1.74rem, 3.8vw, 3.26rem);
  line-height:.82;
  letter-spacing:.46em;
  font-weight:300;
  text-transform:uppercase;
  text-wrap:balance;
  transform:translateX(var(--hero-title-shift-x)) scaleX(1.02) scaleY(.88);
  transform-origin:center top;
}

.hero-emblem{
  display:grid;
  place-items:center;
  margin:0 auto;
  overflow:hidden;
  width:min(370px, 26.6vw);
  transform:translate(var(--hero-shift-x), -2.35rem);
}

.hero-emblem-logo{
  width:100%;
  min-width:0;
  opacity:.72;
  clip-path:inset(22% 18% 20% 18%);
  transform:scale(1.24);
  filter:
    sepia(1)
    saturate(1.14)
    brightness(1)
    contrast(1.03)
    drop-shadow(0 14px 32px rgba(0,0,0,.11));
}

.hero-subline{
  color:rgba(233,225,212,.96);
}

.hero-subline-architectural{
  width:min(860px, 76vw);
  max-width:none;
  margin-inline:auto;
  font-size:clamp(1.06rem, 1.12vw, 1.18rem);
  line-height:1.56;
  letter-spacing:.10em;
  font-weight:500;
  text-transform:uppercase;
  text-align:center;
  transform:translate(var(--hero-shift-x), -5.15rem) scaleY(.94);
  transform-origin:center top;
}

.hero-scope-block{
  display:grid;
  justify-items:center;
  gap:.5rem;
  margin-top:-3.85rem;
  transform:translateX(var(--hero-shift-x));
}

.hero-support-copy{
  max-width:none;
  width:min(1040px, 86vw);
  color:rgba(233,225,212,.82);
  text-wrap:balance;
  white-space:normal;
}

.hero-support-copy-architectural{
  font-size:clamp(.86rem, .94vw, .94rem);
  line-height:1.5;
  letter-spacing:.13em;
  font-weight:500;
  text-transform:none;
  transform:none;
}

.hero-scope-divider{
  display:block;
  width:min(1000px, 84vw);
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(184,168,112,0) 0%,
    rgba(184,168,112,.10) 9%,
    rgba(184,168,112,.28) 18%,
    rgba(184,168,112,.58) 50%,
    rgba(184,168,112,.28) 82%,
    rgba(184,168,112,.10) 91%,
    rgba(184,168,112,0) 100%
  );
  box-shadow:none;
}

.hero-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.9rem;
  flex-wrap:wrap;
  margin-top:1rem;
  transform:translateX(var(--hero-shift-x));
}

/* ==========================================================================
   IDENTITY / IMMEDIATE POSITIONING
   ========================================================================== */

.section-identity-positioning{
  padding-top:clamp(1.6rem, 2.4vw, 2.4rem);
  padding-bottom:clamp(2.4rem, 3.4vw, 3.6rem);
}

.identity-frame{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(18,17,15,.11);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.07) 0%,
      rgba(255,255,255,.03) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.11),
    0 16px 40px rgba(0,0,0,.06);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.identity-frame::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(184,168,112,0) 0%,
    rgba(184,168,112,.16) 20%,
    rgba(184,168,112,.34) 50%,
    rgba(184,168,112,.16) 80%,
    rgba(184,168,112,0) 100%
  );
  pointer-events:none;
}

.identity-split{
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(300px, .92fr);
  min-height:420px;
}

.identity-left{
  display:grid;
  align-items:center;
  justify-items:center;
  border-right:1px solid rgba(18,17,15,.10);
  padding:clamp(1rem, 1.7vw, 1.5rem);
}

.identity-left-inner{
  width:min(100%, 590px);
  display:grid;
  gap:.78rem;
}

.eyebrow-identity{
  margin-bottom:.08rem;
  color:rgba(178,157,99,.98);
  font-size:1.02rem;
  font-weight:700;
  letter-spacing:.15em;
}

.eyebrow-identity::before{
  width:30px;
  background:rgba(168,152,98,.68);
}

.identity-title{
  max-width:10.2ch;
  font-family:"Cinzel", Georgia, serif;
  font-size:clamp(2rem, 2.45vw, 3rem);
  line-height:.95;
  letter-spacing:.018em;
  text-transform:uppercase;
  color:rgba(236,229,214,.96);
  text-wrap:balance;
}

.identity-copy-stack{
  display:grid;
  gap:.72rem;
  max-width:37ch;
}

.identity-lead{
  color:rgba(236,229,214,.92);
  font-size:clamp(.98rem, .96vw, 1.06rem);
  line-height:1.64;
}

.identity-support{
  color:rgba(220,212,198,.84);
  font-size:.93rem;
  line-height:1.68;
}

.identity-right{
  display:grid;
  grid-template-columns:1fr;
  grid-auto-rows:1fr;
}

.identity-signal{
  position:relative;
  min-height:128px;
  padding:.82rem .9rem .8rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.42rem;
  background:rgba(255,255,255,.014);
  transition:
    background var(--t-mid),
    transform var(--t-mid),
    box-shadow var(--t-mid),
    border-color var(--t-mid);
  transform-origin:center center;
}

.identity-signal + .identity-signal{
  border-top:1px solid rgba(18,17,15,.10);
}

.identity-signal:hover{
  background:rgba(255,255,255,.04);
  transform:translateY(-2px) scale(1.008);
  box-shadow:0 10px 22px rgba(0,0,0,.07);
  z-index:2;
}

.identity-signal-index{
  color:rgba(178,157,99,.92);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  font-variant-numeric:tabular-nums;
}

.identity-signal h3{
  max-width:16ch;
  color:rgba(236,229,214,.95);
  font-size:.92rem;
  line-height:1.18;
  font-weight:600;
  letter-spacing:.01em;
}

.identity-signal p{
  max-width:29ch;
  color:rgba(218,210,195,.83);
  font-size:.84rem;
  line-height:1.52;
}

@media (max-width: 1120px){
  .identity-split{
    grid-template-columns:1fr;
    min-height:unset;
  }

  .identity-left{
    border-right:0;
    border-bottom:1px solid rgba(18,17,15,.10);
    justify-items:start;
  }

  .identity-left-inner{
    width:100%;
  }

  .identity-title{
    max-width:12ch;
    font-size:clamp(1.95rem, 5vw, 2.85rem);
  }

  .identity-right{
    grid-auto-rows:auto;
  }

  .identity-signal{
    min-height:unset;
  }
}

@media (max-width: 920px){
  .identity-left{
    padding:1.15rem 1rem;
  }

  .identity-signal{
    padding:1rem;
  }

  .eyebrow-identity{
    font-size:.76rem;
    letter-spacing:.21em;
  }

  .identity-title{
    font-size:clamp(1.95rem, 8vw, 2.8rem);
    max-width:100%;
  }

  .identity-copy-stack{
    max-width:100%;
  }
}

/* ==========================================================================
   PROBLEM STRIP / NARRATIVE BRIDGE
   ========================================================================== */

.section-pressure-system{
  padding-top:clamp(1.4rem, 2vw, 2rem);
  padding-bottom:clamp(2.2rem, 3vw, 3.2rem);
}

.pressure-frame{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(18,17,15,.11);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.062) 0%,
      rgba(255,255,255,.026) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 16px 38px rgba(0,0,0,.055);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.pressure-frame::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(184,168,112,0) 0%,
    rgba(184,168,112,.14) 20%,
    rgba(184,168,112,.30) 50%,
    rgba(184,168,112,.14) 80%,
    rgba(184,168,112,0) 100%
  );
  pointer-events:none;
}

.pressure-split{
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(280px, .92fr);
  min-height:360px;
}

.pressure-left{
  display:grid;
  align-items:center;
  justify-items:center;
  border-right:1px solid rgba(18,17,15,.10);
  padding:clamp(.9rem, 1.4vw, 1.25rem);
}

.pressure-left-inner{
  width:min(100%, 760px);
  display:grid;
  gap:.56rem;
}

.eyebrow-pressure{
  margin-bottom:.08rem;
  color:rgba(178,157,99,.98);
  font-size:1.02rem;
  font-weight:700;
  letter-spacing:.15em;
}

.eyebrow-pressure::before{
  width:30px;
  background:rgba(168,152,98,.66);
}

.pressure-title{
  max-width:14ch;
  font-family:"Cinzel", Georgia, serif;
  font-size:clamp(2.08rem, 2.22vw, 2.72rem);
  line-height:1.02;
  letter-spacing:.012em;
  text-transform:uppercase;
  color:rgba(236,229,214,.96);
}

.pressure-copy-stack{
  display:grid;
  gap:.5rem;
  max-width:54ch;
}

.pressure-lead{
  color:rgba(236,229,214,.92);
  font-size:clamp(1rem, .98vw, 1.1rem);
  line-height:1.58;
  max-width:100%;
  text-align:justify;
}

.pressure-support{
  color:rgba(220,212,198,.84);
  font-size:.97rem;
  line-height:1.6;
  max-width:100%;
  text-align:justify;
}

.pressure-right{
  display:grid;
  grid-template-columns:1fr;
  grid-auto-rows:1fr;
}

.pressure-signal{
  position:relative;
  min-height:104px;
  padding:.66rem .82rem .68rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.24rem;
  background:rgba(255,255,255,.014);
  transition:
    background var(--t-mid),
    transform var(--t-mid),
    box-shadow var(--t-mid),
    border-color var(--t-mid);
  transform-origin:center center;
}

.pressure-signal + .pressure-signal{
  border-top:1px solid rgba(18,17,15,.10);
}

.pressure-signal:hover{
  background:rgba(255,255,255,.04);
  transform:translateY(-2px) scale(1.008);
  box-shadow:0 10px 22px rgba(0,0,0,.07);
  z-index:2;
}

.pressure-signal-index{
  color:rgba(178,157,99,.92);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  font-variant-numeric:tabular-nums;
}

.pressure-signal h3{
  max-width:18ch;
  color:rgba(236,229,214,.95);
  font-size:1.02rem;
  line-height:1.12;
  font-weight:600;
  letter-spacing:.005em;
}

.pressure-signal p{
  max-width:34ch;
  color:rgba(218,210,195,.86);
  font-size:.94rem;
  line-height:1.46;
}

@media (max-width: 1120px){
  .pressure-split{
    grid-template-columns:1fr;
    min-height:unset;
  }

  .pressure-left{
    border-right:0;
    border-bottom:1px solid rgba(18,17,15,.10);
    justify-items:start;
  }

  .pressure-left-inner{
    width:100%;
  }

  .pressure-title{
    max-width:15ch;
    font-size:clamp(1.9rem, 4.5vw, 2.45rem);
  }

  .pressure-right{
    grid-auto-rows:auto;
  }

  .pressure-signal{
    min-height:unset;
  }
}

@media (max-width: 920px){
  .pressure-left{
    padding:1rem;
  }

  .pressure-signal{
    padding:.9rem;
  }

  .eyebrow-pressure{
    font-size:.86rem;
    letter-spacing:.16em;
  }

  .pressure-title{
    max-width:100%;
    font-size:clamp(1.8rem, 7vw, 2.34rem);
  }

  .pressure-copy-stack{
    max-width:100%;
  }
}


/* ==========================================================================
   WHO IT IS FOR / QUALIFICATION
   ========================================================================== */

.section-clients-system{
  padding-top:clamp(1.35rem, 2vw, 2rem);
  padding-bottom:clamp(2.2rem, 3vw, 3.2rem);
}

.clients-frame{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(18,17,15,.11);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.06) 0%,
      rgba(255,255,255,.028) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 16px 38px rgba(0,0,0,.055);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.clients-frame::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(184,168,112,0) 0%,
    rgba(184,168,112,.14) 20%,
    rgba(184,168,112,.30) 50%,
    rgba(184,168,112,.14) 80%,
    rgba(184,168,112,0) 100%
  );
  pointer-events:none;
}

.clients-split{
  display:grid;
  grid-template-columns:minmax(0, 1.06fr) minmax(300px, .94fr);
  min-height:350px;
}

.clients-left{
  display:grid;
  align-items:center;
  justify-items:center;
  border-right:1px solid rgba(18,17,15,.10);
  padding:clamp(.95rem, 1.45vw, 1.25rem);
}

.clients-left-inner{
  width:min(100%, 760px);
  display:grid;
  gap:.56rem;
}

.eyebrow-clients{
  margin-bottom:.08rem;
  color:rgba(178,157,99,.98);
  font-size:1.02rem;
  font-weight:700;
  letter-spacing:.15em;
}

.eyebrow-clients::before{
  width:30px;
  background:rgba(168,152,98,.66);
}

.clients-title{
  max-width:14ch;
  font-family:"Cinzel", Georgia, serif;
  font-size:clamp(2.02rem, 2.16vw, 2.62rem);
  line-height:1.02;
  letter-spacing:.012em;
  text-transform:uppercase;
  color:rgba(236,229,214,.96);
}

.clients-copy-stack{
  display:grid;
  gap:.5rem;
  max-width:54ch;
}

.clients-lead{
  color:rgba(236,229,214,.92);
  font-size:clamp(1rem, .98vw, 1.08rem);
  line-height:1.58;
  max-width:100%;
  text-align:justify;
}

.clients-support{
  color:rgba(220,212,198,.84);
  font-size:.97rem;
  line-height:1.6;
  max-width:100%;
  text-align:justify;
}

.clients-right{
  display:grid;
  align-content:center;
  gap:.72rem;
  padding:.8rem;
  background:rgba(255,255,255,.01);
}

.client-card{
  position:relative;
  min-height:102px;
  padding:.82rem .9rem .84rem;
  border:1px solid rgba(18,17,15,.10);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.04) 0%,
      rgba(255,255,255,.018) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.26rem;
  transition:
    background var(--t-mid),
    transform var(--t-mid),
    box-shadow var(--t-mid),
    border-color var(--t-mid);
  transform-origin:center center;
}

.client-card:hover{
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.06) 0%,
      rgba(255,255,255,.028) 100%
    );
  border-color:rgba(168,152,98,.18);
  transform:translateY(-2px) scale(1.008);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 10px 22px rgba(0,0,0,.07);
}

.client-card-index{
  color:rgba(178,157,99,.92);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  font-variant-numeric:tabular-nums;
}

.client-card h3{
  max-width:18ch;
  color:rgba(236,229,214,.95);
  font-size:1.02rem;
  line-height:1.12;
  font-weight:600;
  letter-spacing:.005em;
}

.client-card p{
  max-width:34ch;
  color:rgba(218,210,195,.86);
  font-size:.94rem;
  line-height:1.46;
}

@media (max-width: 1120px){
  .clients-split{
    grid-template-columns:1fr;
    min-height:unset;
  }

  .clients-left{
    border-right:0;
    border-bottom:1px solid rgba(18,17,15,.10);
    justify-items:start;
  }

  .clients-left-inner{
    width:100%;
  }

  .clients-title{
    max-width:15ch;
    font-size:clamp(1.9rem, 4.5vw, 2.45rem);
  }
}

@media (max-width: 920px){
  .clients-left{
    padding:1rem;
  }

  .clients-right{
    padding:.9rem;
    gap:.62rem;
  }

  .client-card{
    min-height:unset;
    padding:.9rem;
  }

  .eyebrow-clients{
    font-size:.86rem;
    letter-spacing:.16em;
  }

  .clients-title{
    max-width:100%;
    font-size:clamp(1.8rem, 7vw, 2.3rem);
  }

  .clients-copy-stack{
    max-width:100%;
  }
}

/* ==========================================================================
   METHOD
   ========================================================================== */

   .method-frame{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(18,17,15,.11);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.06) 0%,
      rgba(255,255,255,.028) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 16px 38px rgba(0,0,0,.055);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.method-frame::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(184,168,112,0) 0%,
    rgba(184,168,112,.14) 20%,
    rgba(184,168,112,.30) 50%,
    rgba(184,168,112,.14) 80%,
    rgba(184,168,112,0) 100%
  );
  pointer-events:none;
}

.section-method .section-head{
  max-width:880px;
  margin-bottom:0;
  padding:clamp(1.2rem, 2vw, 1.6rem) clamp(1.2rem, 2vw, 1.6rem) 1rem;
}

.method-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:.72rem;
  padding:.8rem;
  background:rgba(255,255,255,.01);
  border-top:0;
}

.section-method{
  position:relative;
}

.method-grid{
  position:relative;
  overflow:hidden;
}

.method-grid::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:calc(1.3rem + 1.15rem + 14px);
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(168,152,98,.00) 0%,
    rgba(168,152,98,.16) 8%,
    rgba(168,152,98,.22) 50%,
    rgba(168,152,98,.16) 92%,
    rgba(168,152,98,.00) 100%
  );
  transform:scaleX(.18);
  transform-origin:left center;
  opacity:0;
  transition:
    transform 900ms cubic-bezier(.22,.8,.2,1),
    opacity 420ms ease;
  pointer-events:none;
}

.method-step{
  position:relative;
  min-height:102px;
  padding:.82rem .9rem .84rem;
  border:1px solid rgba(18,17,15,.10);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.04) 0%,
      rgba(255,255,255,.018) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.26rem;
  opacity:0;
  transform:translateY(16px);
  transition:
    opacity 520ms ease,
    transform 720ms cubic-bezier(.22,.8,.2,1),
    background var(--t-mid),
    border-color var(--t-mid),
    box-shadow var(--t-mid);
  transform-origin:center center;
}

.method-step:hover{
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.06) 0%,
      rgba(255,255,255,.028) 100%
    );
  border-color:rgba(168,152,98,.18);
  transform:translateY(-2px) scale(1.008);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 10px 22px rgba(0,0,0,.07);
}

.method-grid::before{
  display:none;
}

.method-step::after{
  display:none;
}

.section-method.is-visible .method-grid::before{
  opacity:1;
  transform:scaleX(1);
}

.section-method.is-visible .method-step{
  opacity:1;
  transform:translateY(0);
}

.section-method.is-visible .method-step::before{
  opacity:1;
  transform:scale(1);
  box-shadow:0 0 0 6px rgba(168,152,98,.05);
}

.section-method.is-visible .method-step::after{
  display:none;
}

.section-method.is-visible .method-step:nth-child(1){
  transition-delay:80ms;
}
.section-method.is-visible .method-step:nth-child(2){
  transition-delay:180ms;
}
.section-method.is-visible .method-step:nth-child(3){
  transition-delay:280ms;
}
.section-method.is-visible .method-step:nth-child(4){
  transition-delay:380ms;
}

.section-method.is-visible .method-step:nth-child(1)::before,
.section-method.is-visible .method-step:nth-child(1)::after{
  transition-delay:160ms;
}
.section-method.is-visible .method-step:nth-child(2)::before,
.section-method.is-visible .method-step:nth-child(2)::after{
  transition-delay:260ms;
}
.section-method.is-visible .method-step:nth-child(3)::before,
.section-method.is-visible .method-step:nth-child(3)::after{
  transition-delay:360ms;
}
.section-method.is-visible .method-step:nth-child(4)::before,
.section-method.is-visible .method-step:nth-child(4)::after{
  transition-delay:460ms;
}

.method-step + .method-step{
  border-left:0;
}

.method-num{
  display:inline-block;
  padding-left:0rem;
  color:rgba(178,157,99,.92);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  font-variant-numeric:tabular-nums;
}

.method-step h3{
  max-width:16ch;
  color:rgba(236,229,214,.95);
  font-size:1rem;
  font-weight:650;
  line-height:1.2;
  letter-spacing:.01em;
}

.method-step p{
  max-width:30ch;
  color:rgba(221,214,201,.86);
  font-size:.91rem;
  line-height:1.58;
}

.section-method .section-copy{
  max-width:62ch;
}

@media (max-width: 920px){
  .section-method .section-head{
    padding:1rem 1rem .9rem;
  }
}

/* ==========================================================================
   WHY
   ========================================================================== */

   .why-frame{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(18,17,15,.11);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.058) 0%,
      rgba(255,255,255,.024) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    0 14px 34px rgba(0,0,0,.05);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.why-frame::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(184,168,112,0) 0%,
    rgba(184,168,112,.12) 20%,
    rgba(184,168,112,.24) 50%,
    rgba(184,168,112,.12) 80%,
    rgba(184,168,112,0) 100%
  );
  pointer-events:none;
}

.section-why-clean .section-head{
  max-width:900px;
  margin-bottom:0;
  padding:clamp(1.2rem, 2vw, 1.55rem) clamp(1.2rem, 2vw, 1.55rem) 1rem;
}

.why-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:.72rem;
  padding:.8rem;
  background:rgba(255,255,255,.01);
  border-top:0;
  border-bottom:0;
}

.why-card{
  position:relative;
  min-height:102px;
  padding:.82rem .9rem .84rem;
  border:1px solid rgba(18,17,15,.10);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.04) 0%,
      rgba(255,255,255,.018) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.26rem;
  opacity:0;
  transform:translateY(16px);
  transition:
    opacity 520ms ease,
    transform 720ms cubic-bezier(.22,.8,.2,1),
    background var(--t-mid),
    border-color var(--t-mid),
    box-shadow var(--t-mid);
  transform-origin:center center;
}

.why-card:hover{
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.06) 0%,
      rgba(255,255,255,.028) 100%
    );
  border-color:rgba(168,152,98,.18);
  transform:translateY(-2px) scale(1.008);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 10px 22px rgba(0,0,0,.07);
}

.why-card-index{
  color:rgba(178,157,99,.92);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  font-variant-numeric:tabular-nums;
}

.why-card h3{
  max-width:18ch;
  color:rgba(236,229,214,.95);
  font-size:1.02rem;
  line-height:1.12;
  font-weight:600;
  letter-spacing:.005em;
}

.why-card p{
  max-width:34ch;
  color:rgba(218,210,195,.86);
  font-size:.94rem;
  line-height:1.46;
}

.section-why-clean.is-visible .why-card{
  opacity:1;
  transform:translateY(0);
}

.section-why-clean.is-visible .why-card:nth-child(1){
  transition-delay:80ms;
}

.section-why-clean.is-visible .why-card:nth-child(2){
  transition-delay:180ms;
}

.section-why-clean.is-visible .why-card:nth-child(3){
  transition-delay:280ms;
}

.section-why-clean.is-visible .why-card:nth-child(4){
  transition-delay:380ms;
}

@media (max-width: 920px){
  .section-why-clean .section-head{
    padding:1rem 1rem .9rem;
  }

  .why-card{
    min-height:unset;
    padding:1rem;
  }
}

.section-why-clean.is-visible .why-card{
  opacity:1;
  transform:translateY(0);
}

.section-why-clean.is-visible .why-card:nth-child(1){
  transition-delay:80ms;
}
.section-why-clean.is-visible .why-card:nth-child(2){
  transition-delay:180ms;
}
.section-why-clean.is-visible .why-card:nth-child(3){
  transition-delay:280ms;
}
.section-why-clean.is-visible .why-card:nth-child(4){
  transition-delay:380ms;
}

/* ==========================================================================
   CONTACT
   ========================================================================== */

.contact-frame{
  position:relative;
  overflow:hidden;
  width:min(100%, 1120px);
  margin-inline:auto;
  border:1px solid rgba(18,17,15,.11);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.058) 0%,
      rgba(255,255,255,.024) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    0 14px 34px rgba(0,0,0,.05);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  padding:0;
}

.contact-frame::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(184,168,112,0) 0%,
    rgba(184,168,112,.12) 20%,
    rgba(184,168,112,.24) 50%,
    rgba(184,168,112,.12) 80%,
    rgba(184,168,112,0) 100%
  );
  pointer-events:none;
}

.section-contact-clean .section-head{
  max-width:680px;
  margin:0 auto;
  padding:clamp(1.5rem, 2.4vw, 2rem) clamp(1.2rem, 2vw, 1.6rem) .7rem;
  display:grid;
  justify-items:center;
  text-align:center;
}

.contact-head .section-copy{
  max-width:30ch;
  margin:.75rem auto 0;
  font-size:1rem;
  line-height:1.6;
}

.contact-actions-final{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.8rem;
  flex-wrap:wrap;
  padding:0 clamp(1.2rem, 2vw, 1.6rem) 1rem;
}

.contact-actions-final .btn{
  min-height:44px;
}

.contact-note-final{
  padding:0 clamp(1.2rem, 2vw, 1.6rem) clamp(1.3rem, 2vw, 1.5rem);
  color:rgba(221,214,201,.78);
  font-size:.88rem;
  line-height:1.58;
  max-width:30ch;
  margin:0 auto;
  text-align:center;
}

@media (max-width: 720px){
  .section-contact-clean .section-head{
    padding:1rem 1rem .7rem;
  }

.section-contact-clean .section-head h2{
  display:block;
  width:auto;
  max-width:none;
  margin:0;
  text-align:center;
  text-wrap:unset;
}

#contactTitle{
  display:table;
  width:auto;
  margin-inline:auto;
}

  .contact-actions-final{
    padding:0 1rem .9rem;
  }

  .contact-note-final{
    padding:0 1rem 1rem;
  }
}

/* ==========================================================================
   FOOTER
   ========================================================================== */

.footer{
  position:relative;
  z-index:2;
  padding:2.8rem 0 3rem;
}

.footer-clean{
  position:relative;
  border-top:0;
}

.footer-clean::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:min(calc(100% - 2rem), var(--container));
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(193,170,106,0) 0%,
    rgba(193,170,106,.18) 12%,
    rgba(193,170,106,.42) 50%,
    rgba(193,170,106,.18) 88%,
    rgba(193,170,106,0) 100%
  );
  box-shadow:0 0 10px rgba(193,170,106,.08);
  pointer-events:none;
}

.footer-inner{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:1.8rem;
  align-items:start;
}

.f-col{
  display:grid;
  gap:.7rem;
}

.f-col-brand{
  max-width:34ch;
}

.brand-mini{
  font-family:"Cinzel", Georgia, serif;
  font-size:1rem;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(236,229,214,.94);
}

.footer-brand-copy{
  color:rgba(221,214,201,.82);
  font-size:.94rem;
  line-height:1.68;
  max-width:32ch;
}

.footer-inline-link{
  color:rgba(236,229,214,.86);
  font-size:.92rem;
  line-height:1.5;
  transition:color var(--t-fast);
}

.footer-inline-link:hover,
.footer-inline-link:focus-visible{
  outline:none;
  color:#fff;
}

.footer-meta{
  color:rgba(221,214,201,.62);
  font-size:.88rem;
  line-height:1.55;
}

.footer h4{
  color:rgba(236,229,214,.92);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.footer ul{
  display:grid;
  gap:.45rem;
}

.footer a,
.footer-link-btn{
  color:rgba(218,208,189,.8);
  font-size:.92rem;
  line-height:1.7;
  text-align:left;
  transition:color var(--t-fast);
}

.footer a:hover,
.footer a:focus-visible,
.footer-link-btn:hover,
.footer-link-btn:focus-visible{
  outline:none;
  color:rgba(255,255,255,.96);
}

/* ==========================================================================
   FLOATING ACTIONS
   ========================================================================== */

.floating-actions{
  position:fixed;
  right:1rem;
  bottom:1rem;
  z-index:60;
  display:grid;
  gap:.55rem;
}

.fab{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(8,8,10,.78);
  color:rgba(244,241,235,.94);
  box-shadow:0 10px 28px rgba(0,0,0,.22);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:transform var(--t-fast), background var(--t-fast), color var(--t-fast);
}

.fab:hover,
.fab:focus-visible{
  outline:none;
  transform:translateY(-2px);
  background:rgba(8,8,10,.9);
  color:#fff;
}

.fab-icon{
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.12em;
}

/* ==========================================================================
   MODALS
   ========================================================================== */

.modal{
  position:fixed;
  inset:0;
  z-index:200;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity var(--t-mid), visibility var(--t-mid);
}

.modal.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(4,4,6,.56);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.modal-panel{
  position:relative;
  z-index:1;
  width:min(720px, calc(100% - 2rem));
  max-height:min(88vh, 880px);
  overflow:auto;
  margin:6.2vh auto 0;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.06);
  border-top-color:rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(10,10,12,.82), rgba(8,8,10,.92));
  box-shadow:var(--shadow-modal);
  transform:translateY(14px);
  transition:transform var(--t-mid);
}

.modal.is-open .modal-panel{
  transform:translateY(0);
}

.modal-shell{
  position:relative;
  padding:1.5rem 1.4rem 1.55rem;
}

.modal-close{
  position:absolute;
  right:.8rem;
  top:.75rem;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:rgba(236,229,214,.82);
  font-size:1.2rem;
  z-index:2;
}

.modal-close:hover,
.modal-close:focus-visible{
  outline:none;
  background:rgba(255,255,255,.06);
  color:#fff;
}

.modal-meta-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}

.modal-kicker{
  color:var(--gold-bright);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.24em;
  text-transform:uppercase;
}

.modal-layer-code{
  opacity:.72;
}

.modal-badge{
  padding:.22rem .5rem;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  color:rgba(236,229,214,.78);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.modal-panel h3{
  max-width:20ch;
  font-family:"Cinzel", Georgia, serif;
  font-size:clamp(1.2rem, 2.1vw, 1.7rem);
  line-height:1.16;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(244,241,235,.96);
}

.modal-lead{
  margin-top:.9rem;
  max-width:58ch;
  color:rgba(226,219,206,.84);
  font-size:.96rem;
  line-height:1.8;
}

.modal-divider{
  height:1px;
  margin:1.15rem 0 1rem;
  background:rgba(255,255,255,.06);
}

.modal-list{
  display:grid;
  gap:.7rem;
}

.modal-list li{
  position:relative;
  padding-left:1rem;
  color:rgba(236,229,214,.9);
  font-size:.94rem;
  line-height:1.7;
}

.modal-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.7rem;
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(168,152,98,.7);
}

.wa-modal-actions{
  display:grid;
  gap:1rem;
}

.wa-modal-actions-system{
  align-items:start;
}

.wa-qr-wrap{
  width:min(180px, 42vw);
  padding:.7rem;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.04);
}

.wa-qr-image{
  width:100%;
  height:auto;
}

.diagnostic-modal-panel{
  width:min(780px, calc(100% - 2rem));
  max-height:none;
  overflow:visible;
  margin:0 auto;
  border-color:rgba(255,255,255,.105);
  border-top-color:rgba(255,255,255,.19);
  background:
    linear-gradient(180deg, rgba(68,68,62,.66), rgba(38,38,35,.70)),
    radial-gradient(circle at 50% 0%, rgba(193,170,106,.08), transparent 42%);
  box-shadow:
    0 28px 72px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -1px 0 rgba(0,0,0,.20);
  backdrop-filter:blur(24px) saturate(118%);
  -webkit-backdrop-filter:blur(24px) saturate(118%);
}

.diagnostic-modal{
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:1.35rem 1rem;
}

.diagnostic-modal .modal-backdrop{
  background:rgba(10,10,11,.42);
  backdrop-filter:blur(10px) saturate(106%);
  -webkit-backdrop-filter:blur(10px) saturate(106%);
}

.diagnostic-modal-shell{
  padding:clamp(1rem, 1.9vw, 1.35rem);
}

.diagnostic-modal .modal-meta-row{
  justify-content:center;
  min-height:36px;
  padding-inline:3.3rem;
  text-align:center;
  margin-bottom:.68rem;
}

.diagnostic-modal .modal-kicker{
  text-align:center;
}

.diagnostic-modal .modal-badge{
  position:absolute;
  top:.78rem;
  right:3.55rem;
  width:60px;
  height:60px;
  padding:0;
  border:0;
  background:url("/assets/brand/darkcone-logo-transparent.png") center/contain no-repeat;
  color:transparent;
  font-size:0;
  line-height:0;
  opacity:.54;
  filter:sepia(1) saturate(.62) brightness(1.12) contrast(.88);
  pointer-events:none;
}

.diagnostic-modal .modal-close{
  background:rgba(255,255,255,.035);
}

.diagnostic-modal .modal-close:hover,
.diagnostic-modal .modal-close:focus-visible{
  background:rgba(255,255,255,.075);
}

.diagnostic-modal .modal-panel h3{
  max-width:18ch;
  margin-inline:auto;
  text-align:center;
}

.diagnostic-modal .modal-lead{
  max-width:58ch;
  margin-top:.72rem;
  margin-inline:auto;
  text-align:center;
  line-height:1.58;
}

.diagnostic-modal .modal-divider{
  margin:.85rem 0 .8rem;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
}

.diagnostic-form{
  display:grid;
  gap:.58rem;
}

.diagnostic-form-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.65rem .78rem;
}

.diagnostic-field{
  display:grid;
  gap:.34rem;
  min-width:0;
  color:rgba(238,231,218,.88);
  font-size:.74rem;
  font-weight:650;
  letter-spacing:.08em;
  line-height:1.2;
  text-transform:uppercase;
}

.diagnostic-field input,
.diagnostic-field textarea{
  width:100%;
  min-height:40px;
  border:1px solid rgba(255,255,255,.10);
  border-top-color:rgba(255,255,255,.16);
  border-radius:4px;
  background:rgba(255,255,255,.062);
  color:rgba(246,241,232,.96);
  font-size:.9rem;
  font-weight:400;
  letter-spacing:0;
  line-height:1.45;
  text-transform:none;
  outline:none;
  padding:.62rem .72rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  transition:border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast);
}

.diagnostic-field textarea{
  min-height:92px;
  resize:vertical;
}

.diagnostic-field input::placeholder,
.diagnostic-field textarea::placeholder{
  color:rgba(226,219,206,.42);
}

.diagnostic-field input:focus,
.diagnostic-field textarea:focus{
  border-color:rgba(193,170,106,.44);
  background:rgba(255,255,255,.082);
  box-shadow:0 0 0 3px rgba(193,170,106,.095);
}

.diagnostic-field-full{
  grid-column:1 / -1;
}

.diagnostic-honeypot{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}

.diagnostic-turnstile-wrap{
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
}

.diagnostic-form-status{
  min-height:0;
  color:rgba(226,219,206,.76);
  font-size:.86rem;
  line-height:1.45;
}

.diagnostic-form-status.is-success{
  color:rgba(205,224,180,.94);
}

.diagnostic-form-status.is-error{
  color:rgba(242,180,160,.94);
}

.diagnostic-form-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.8rem;
  flex-wrap:wrap;
  margin-top:.18rem;
}

.diagnostic-form-actions .btn{
  width:min(100%, 214px);
}

.diagnostic-form-actions .btn-outline{
  background:rgba(255,255,255,.045);
  border-color:rgba(255,255,255,.13);
  color:rgba(246,241,232,.92);
}

.diagnostic-form-actions .btn-outline:hover,
.diagnostic-form-actions .btn-outline:focus-visible{
  background:rgba(255,255,255,.075);
  border-color:rgba(193,170,106,.34);
  color:#fff;
}

.diagnostic-form.is-sending .diagnostic-form-actions,
.diagnostic-form.is-sending .diagnostic-field{
  opacity:.72;
}

.diagnostic-form.is-sending [data-diagnostic-submit]{
  pointer-events:none;
}

/* ==========================================================================
   UTILITIES
   ========================================================================== */

[hidden]{ display:none !important; }

.reveal{
  opacity:1;
  transform:none;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 1280px){
  .navbar{
    grid-template-columns:250px minmax(0,1fr) 260px;
  }

  .cap-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .cap-card:nth-child(4){
    border-left:0;
  }

  .cap-card:nth-child(n + 4){
    border-top:1px solid var(--line);
  }

  .cap-card:nth-child(4),
  .cap-card:nth-child(5){
    grid-column:span 1;
  }

  .why-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .why-card:nth-child(3),
  .why-card:nth-child(4){
    border-top:1px solid var(--line);
  }

  .why-card:nth-child(3){
    border-left:0;
  }
}

@media (max-width: 1180px){
  .navbar{
    grid-template-columns:1fr;
    gap:.7rem;
    padding:.75rem .8rem;
  }

  .brand{
    justify-content:center;
  }

  .nav-links{
    flex-wrap:wrap;
    justify-content:center;
  }

  .nav-right{
    justify-content:center;
    flex-wrap:wrap;
  }

  .nav-service-panel{
  left:0;
  transform:translateX(0) translateY(10px);
  min-width:min(560px, 85vw);
  }

.nav-service-dropdown.is-open .nav-service-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(0) translateY(0);
}

  .nav-service-panel-grid{
    grid-template-columns:1fr;
  }

  .nav-panel-intro{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.05);
    padding:.82rem .9rem;
  }

  .line-grid-4,
  .method-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .line-grid-4 .line-item:nth-child(3),
  .line-grid-4 .line-item:nth-child(4),
  .method-step:nth-child(3),
  .method-step:nth-child(4){
    border-top:1px solid var(--line);
  }

  .line-grid-4 .line-item:nth-child(3),
  .method-step:nth-child(3){
    border-left:0;
  }

  .footer-inner{
    grid-template-columns:1fr 1fr;
  }

  .f-col:first-child{
    grid-column:1 / -1;
  }
}

@media (max-width: 1480px){
  :root{
    --hero-shift-x:3.6rem;
    --hero-title-shift-x:4.8rem;
  }

  .tagline-main{
    letter-spacing:.40em;
    font-size:clamp(1.62rem, 3.45vw, 3rem);
  }

  .hero-subline-architectural{
    width:min(780px, 78vw);
  }

  .hero-support-copy{
    width:min(900px, 88vw);
  }

  .hero-scope-divider{
    width:min(920px, 86vw);
  }
}

@media (max-width: 920px){
  .container,
  .footer-inner{
    width:min(calc(100% - 1.4rem), var(--container));
  }

  .section{
    padding:clamp(2.6rem, 7vw, 3.8rem) 0;
  }

  .section + .section{
    padding-top:clamp(1.7rem, 4vw, 2.6rem);
  }

  .section-head,
  .section-intro{
    max-width:100%;
  }

  .section-head h2,
  .section-intro h2{
    max-width:100%;
  }

  .editorial-grid-2,
  .line-grid-3,
  .cap-grid,
  .contact-points{
    grid-template-columns:1fr;
  }

  .line-item + .line-item,
  .cap-card + .cap-card,
  .contact-point + .contact-point{
    border-left:0;
  }

  .line-grid-3 .line-item + .line-item,
  .cap-card + .cap-card{
    border-top:1px solid var(--line);
  }

  .cap-card{
    min-height:unset;
  }

  .why-grid,
  .method-grid,
  .line-grid-4{
    grid-template-columns:1fr;
  }

  .why-card + .why-card,
.method-step + .method-step,
.line-grid-4 .line-item + .line-item{
  border-left:0;
}

.line-grid-4 .line-item + .line-item{
  border-top:1px solid var(--line);
}

  .contact-grid{
  grid-template-columns:1fr;
}

.contact-points{
  border-right:0;
  border-bottom:1px solid var(--line);
}

.contact-panel{
  border-left:0;
}

.section-contact-clean .section-head{
  padding:1rem 1rem .9rem;
}

.contact-point:nth-child(2),
.contact-point:nth-child(4){
  border-left:0;
}

.contact-point:nth-child(n + 2){
  border-top:1px solid var(--line);
}

.contact-bridge,
.contact-actions,
.contact-note{
  padding:1rem;
}

.hero-stage-minimal{
  min-height:clamp(560px, 82svh, 760px);
}

.hero-content-minimal{
  padding-top:.5rem;
}

.tagline-main{
  width:100%;
  max-width:27ch;
  margin-top:1.35rem;
  margin-inline:auto;
  text-align:center;
  font-family:Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(1.94rem, 4.02vw, 3.34rem);
  line-height:.92;
  letter-spacing:.08em;
  font-weight:700;
  text-transform:uppercase;
  text-wrap:balance;
  transform:translateX(var(--hero-title-shift-x)) scaleX(.96) scaleY(.99);
  transform-origin:center top;
}

.hero-emblem-logo{
  width:min(300px, 38vw);
  min-width:185px;
}

.hero-subline-architectural{
  max-width:36ch;
  font-size:.88rem;
  letter-spacing:.18em;
  line-height:1.68;
  font-weight:200;
  text-transform:uppercase;
  transform:scaleY(.9);
}

.hero-support-copy-architectural{
  max-width:36ch;
  font-size:.73rem;
  letter-spacing:.18em;
}

.hero-scope-divider{
  width:min(340px, 74vw);
}

  .floating-actions{
    right:.75rem;
    bottom:.75rem;
  }

  .hero-emblem{
  margin-top:15rem;
  margin-bottom:.1rem;
}

}

@media (max-width: 640px){
  .site-header{
    padding:.34rem 0 0;
  }

  .nav-shell{
    width:min(calc(100% - .8rem), var(--container-wide));
  }

  .navbar{
    padding:.65rem .6rem;
  }

  .brand-wordmark{
    font-size:.96rem;
    letter-spacing:.14em;
  }

  .nav-links{
    gap:.15rem;
  }

  .nav-link,
  .nav-service-trigger,
  .nav-link-static,
  .lang,
  .cta{
    min-height:36px;
    font-size:.72rem;
    padding:0 .68rem;
  }

  .nav-service-panel{
    position:fixed;
    left:.7rem;
    right:.7rem;
    top:84px;
    min-width:auto;
    max-width:none;
  }

  .nav-panel-items{
    grid-template-columns:1fr;
  }

  .nav-panel-items li{
    border-left:0;
  }

  .nav-panel-items li:nth-last-child(-n + 2){
    border-bottom:1px solid rgba(255,255,255,.04);
  }

  .nav-panel-items li:last-child{
    border-bottom:0;
  }

 .hero-content-minimal{
  padding-top:.35rem;
}

.tagline-main{
  width:100%;
  max-width:22ch;
  margin-inline:auto;
  font-size:clamp(1.34rem, 7.8vw, 2.06rem);
  line-height:.86;
  letter-spacing:.28em;
  font-weight:200;
  transform:translateX(.35rem) scaleY(.86);
}

.hero-emblem-logo{
  width:min(228px, 48vw);
  min-width:155px;
}

.hero-subline-architectural{
  max-width:26ch;
  font-size:.78rem;
  line-height:1.62;
  letter-spacing:.14em;
  font-weight:200;
  text-transform:uppercase;
  transform:scaleY(.9);
}

.hero-support-copy-architectural{
  max-width:28ch;
  font-size:.68rem;
  line-height:1.62;
  letter-spacing:.14em;
}

.hero-scope-divider{
  width:min(220px, 72vw);
}

  .hero-cta,
  .contact-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .btn,
  .cta{
    width:100%;
  }

  .modal-shell{
    padding:1.2rem 1rem 1.2rem;
  }

  .modal-panel{
    width:min(calc(100% - 1rem), 720px);
    margin:4.5vh auto 0;
  }

  .diagnostic-modal{
    place-items:start center;
    overflow-y:auto;
    padding:1rem .5rem;
  }

  .diagnostic-modal-panel{
    max-height:calc(100dvh - 2rem);
    overflow:auto;
    margin:0 auto;
  }

  .diagnostic-modal .modal-meta-row{
    min-height:34px;
    padding-inline:2.75rem;
  }

  .diagnostic-modal .modal-badge{
    right:3rem;
    width:44px;
    height:44px;
  }

  .diagnostic-form-grid{
    grid-template-columns:1fr;
  }

  .diagnostic-form-actions{
    align-items:stretch;
  }

  .diagnostic-form-actions .btn{
    width:100%;
  }

  .footer-inner{
    grid-template-columns:1fr;
  }

  .hero-emblem{
  margin-top:.1rem;
  margin-bottom:.08rem;
}

}

/* ==========================================================================
   CAPABILITIES / 5-LAYER SYSTEM
   ========================================================================== */

.section-capabilities-system{
  padding-top:clamp(1.4rem, 2vw, 2rem);
  padding-bottom:clamp(2.4rem, 3.3vw, 3.4rem);
}

.capabilities-frame{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(18,17,15,.11);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.06) 0%,
      rgba(255,255,255,.028) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 16px 38px rgba(0,0,0,.055);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.capabilities-frame::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(184,168,112,0) 0%,
    rgba(184,168,112,.14) 20%,
    rgba(184,168,112,.30) 50%,
    rgba(184,168,112,.14) 80%,
    rgba(184,168,112,0) 100%
  );
  pointer-events:none;
}

.capabilities-split{
  display:grid;
  grid-template-columns:minmax(320px, .88fr) minmax(720px, 1.12fr);
  align-items:stretch;
}

.capabilities-copy{
  display:flex;
  align-items:center;
  border-right:1px solid rgba(18,17,15,.10);
  padding:clamp(2.4rem, 4vw, 4rem) clamp(2rem, 3vw, 3rem) clamp(2.6rem, 4.2vw, 4.2rem);
}

.capabilities-copy-inner{
  width:min(100%, 35rem);
}

.eyebrow-capabilities{
  margin-bottom:.1rem;
  color:rgba(154,140,94,.98);
  font-size:1.02rem;
  font-weight:700;
  letter-spacing:.15em;
}

.eyebrow-capabilities::before{
  width:30px;
  background:rgba(168,152,98,.66);
}

.capabilities-title{
  max-width:8ch;
  font-family:"Cinzel", Georgia, serif;
  font-size:clamp(2.1rem, 3vw, 3.35rem);
  line-height:.98;
  letter-spacing:.01em;
  text-transform:uppercase;
  color:rgba(236,229,214,.96);
}

.capabilities-copy-stack{
  max-width:34rem;
}

.capabilities-lead{
  max-width:31ch;
}

.capabilities-support{
  margin-top:1.2rem;
}

.capabilities-visual{
  display:grid;
  align-items:center;
  padding:clamp(1.2rem, 1.8vw, 1.8rem);
}

.cap-system-inline{
  display:grid;
  grid-template-columns:220px minmax(0, 1fr);
  align-items:center;
  column-gap:clamp(1.4rem, 2vw, 2.2rem);
}

.cap-system-core{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:360px;
}

.cap-system-core::after{
  content:"";
  position:absolute;
  top:50%;
  right:clamp(-1.45rem, -1.8vw, -1.1rem);
  width:clamp(2rem, 3vw, 3rem);
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(168,152,98,.52) 0%,
    rgba(168,152,98,.18) 100%
  );
  transform:translateY(-50%);
  opacity:.9;
}

.cap-system-core-box{
  position:relative;
  overflow:hidden;
  width:100%;
  max-width:200px;
  min-height:188px;
  padding:1rem 1rem .95rem;
  border:1px solid rgba(18,17,15,.11);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.06) 0%,
      rgba(255,255,255,.028) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 16px 38px rgba(0,0,0,.055);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.65rem;
  isolation:isolate;
}

.cap-system-core-box::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(184,168,112,0) 0%,
    rgba(184,168,112,.14) 20%,
    rgba(184,168,112,.30) 50%,
    rgba(184,168,112,.14) 80%,
    rgba(184,168,112,0) 100%
  );
  pointer-events:none;
}

.cap-system-core-label{
  max-width:9ch;
  font-family:"Cinzel", Georgia, serif;
  font-size:1.02rem;
  line-height:1.08;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:rgba(236,229,214,.95);
  text-wrap:balance;
}

.cap-system-core-hint{
  font-size:.76rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(154,140,94,.82);
}

.cap-system-rail{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:clamp(.85rem, 1vw, 1rem);
  padding-left:0;
}

.cap-system-rail::before{
  display:none;
}

.cap-system-row{
  --row-delay:0ms;
  position:relative;
  display:grid;
  grid-template-columns:126px minmax(0, 1fr);
  align-items:center;
  column-gap:.9rem;
  min-height:82px;
  opacity:0;
  transform:translateY(10px) translateX(-8px);
  transition:
    opacity 520ms ease,
    transform 720ms cubic-bezier(.22, .8, .2, 1);
  transition-delay:var(--row-delay);
}

.capabilities-frame.is-visible .cap-system-row{
  opacity:1;
  transform:translateY(0) translateX(0);
}

.cap-system-row:nth-child(1){ --row-delay:120ms; }
.cap-system-row:nth-child(2){ --row-delay:240ms; }
.cap-system-row:nth-child(3){ --row-delay:360ms; }
.cap-system-row:nth-child(4){ --row-delay:480ms; }
.cap-system-row:nth-child(5){ --row-delay:600ms; }

.cap-system-line{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  min-height:64px;
  overflow:visible;
}

/* línea única, familia curva continua */
.cap-system-line::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:100%;
  height:32px;
  border-left:1px solid rgba(168,152,98,.30);
  border-top:1px solid rgba(168,152,98,.30);
  border-top-left-radius:28px;
  transform:translateY(-50%);
  opacity:.95;
}

/* sin segunda familia de línea */
.cap-system-line::after{
  display:none;
}

/* nodo de salida */
.cap-system-row::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:14px;
  height:14px;
  border-radius:50%;
  border:1px solid rgba(168,152,98,.32);
  background:rgba(214,201,160,.15);
  box-shadow:0 0 0 5px rgba(168,152,98,.05);
  transform:translate(-50%, -50%);
  z-index:2;
}

.cap-system-card{
  position:relative;
  overflow:hidden;
  min-height:92px;
  padding:1rem 1.15rem 1.04rem;
  border:1px solid rgba(18,17,15,.11);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.06) 0%,
      rgba(255,255,255,.028) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 16px 38px rgba(0,0,0,.055);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.cap-system-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(184,168,112,0) 0%,
    rgba(184,168,112,.14) 20%,
    rgba(184,168,112,.30) 50%,
    rgba(184,168,112,.14) 80%,
    rgba(184,168,112,0) 100%
  );
  pointer-events:none;
}

.cap-system-num{
  display:block;
  margin-bottom:.24rem;
  color:rgba(168,148,92,.74);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
}


.cap-system-card h3{
  max-width:15ch;
  color:rgba(236,229,214,.96);
  font-size:.95rem;
  font-weight:650;
  line-height:1.12;
  letter-spacing:.01em;
  text-transform:uppercase;
}

.cap-system-card p{
  margin-top:.18rem;
  max-width:26ch;
  color:rgba(221,214,201,.84);
  font-size:.88rem;
  line-height:1.42;
}

@media (max-width: 1280px){
  .capabilities-split{
    grid-template-columns:1fr;
  }

  .capabilities-copy{
    border-right:0;
    border-bottom:1px solid rgba(18,17,15,.10);
  }

  .capabilities-title{
    max-width:8ch;
  }

  .cap-system-inline{
    grid-template-columns:210px minmax(0, 1fr);
  }
}

@media (max-width: 980px){
  .cap-system-inline{
    grid-template-columns:1fr;
    gap:1.5rem;
  }

  .cap-system-core{
    justify-content:flex-start;
    min-height:auto;
  }

  .cap-system-core::after{
    display:none;
  }

  .cap-system-core-box{
    max-width:220px;
    min-height:170px;
  }

  .cap-system-rail{
    padding-left:0;
  }

  .cap-system-rail::before{
    left:7px;
    top:0;
    height:100%;
    transform:none;
  }

  .cap-system-row{
    grid-template-columns:92px minmax(0, 1fr);
  }

  .cap-system-row::before{
    left:7px;
    transform:translate(-50%, -50%);
  }

  .cap-system-line::before{
    left:7px;
    width:100%;
    height:38px;
    border-top-left-radius:26px;
  }

  .cap-system-line::after{
  content:"";
  position:absolute;
  left:-6px;
  top:50%;
  width:12px;
  height:12px;
  border-radius:50%;
  border:1px solid rgba(168,152,98,.34);
  background:rgba(214,201,160,.14);
  box-shadow:0 0 0 4px rgba(168,152,98,.05);
  transform:translateY(-50%);
}
}

@media (max-width: 680px){
  .capabilities-title{
    max-width:12ch;
    font-size:clamp(1.8rem, 8vw, 2.5rem);
  }

  .cap-system-row{
    grid-template-columns:72px minmax(0, 1fr);
    column-gap:.78rem;
    min-height:84px;
  }

  .cap-system-row::before{
    width:12px;
    height:12px;
  }

  .cap-system-line::before{
    width:100%;
    height:28px;
    border-top-left-radius:20px;
  }

  .cap-system-line::after{
    display:none;
  }

 .cap-system-card{
  position:relative;
  overflow:hidden;
  min-height:82px;
  padding:.88rem 1rem .9rem;
  border:1px solid rgba(18,17,15,.11);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.06) 0%,
      rgba(255,255,255,.028) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 16px 38px rgba(0,0,0,.055);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

  .cap-system-card h3{
    font-size:.92rem;
  }

  .cap-system-card p{
    font-size:.84rem;
  }
}


/* ==========================================================================
   INTERNAL PAGES
   ========================================================================== */

.internal-page{
  position:relative;
  z-index:2;
  padding-top:0;
}

.page-hero-internal{
  position:relative;
  z-index:2;
  padding:clamp(5.8rem, 9vw, 7.8rem) 0 clamp(1.4rem, 2.8vw, 2.1rem);
}

.page-hero-frame{
  position:relative;
  padding:clamp(1.6rem, 2.8vw, 2.35rem) clamp(1.25rem, 2.4vw, 2.1rem);
  border:1px solid rgba(18,17,15,.10);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.08) 0%,
      rgba(255,255,255,.028) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08);
  overflow:hidden;
}

.page-hero-copy{
  max-width:980px;
  display:grid;
  gap:1rem;
}

.page-hero-copy h1{
  max-width:13ch;
  font-family:"Cinzel", Georgia, serif;
  font-size:clamp(2.05rem, 5vw, 4rem);
  line-height:1.02;
  letter-spacing:.028em;
  text-transform:uppercase;
  color:rgba(236,229,214,.96);
  text-wrap:balance;
}

.page-hero-subline{
  max-width:62ch;
  color:rgba(221,214,201,.9);
  font-size:1.04rem;
  line-height:1.82;
}

.section-internal{
  position:relative;
  z-index:2;
}

.internal-frame{
  position:relative;
  border:1px solid rgba(18,17,15,.10);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.07) 0%,
      rgba(255,255,255,.024) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08);
  overflow:hidden;
}

.internal-frame-split{
  padding:0;
}

.internal-split{
  display:grid;
  grid-template-columns:minmax(0, .98fr) minmax(0, 1.02fr);
  align-items:stretch;
}

.internal-left{
  min-width:0;
  border-right:1px solid rgba(18,17,15,.08);
}

.internal-left-inner{
  padding:clamp(1.35rem, 2.4vw, 2rem);
  display:grid;
  gap:.7rem;
  align-content:start;
}

.internal-left-inner h2{
  max-width:14ch;
  font-family:"Cinzel", Georgia, serif;
  font-size:clamp(1.72rem, 3vw, 2.7rem);
  line-height:1.06;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:rgba(236,229,214,.95);
  text-wrap:balance;
}

.internal-right{
  min-width:0;
  padding:clamp(1.35rem, 2.4vw, 2rem);
  display:grid;
  gap:1rem;
  align-content:start;
}

.internal-copy{
  display:grid;
  gap:1rem;
  max-width:none;
}

.internal-copy p{
  max-width:62ch;
  color:rgba(221,214,201,.9);
  font-size:1rem;
  line-height:1.86;
}

.internal-section-head{
  max-width:980px;
  margin-bottom:1rem;
  padding:clamp(1.35rem, 2.4vw, 2rem) clamp(1.35rem, 2.4vw, 2rem) 0;
}

.internal-section-head h2{
  max-width:20ch;
}

.internal-card-grid,
.internal-step-grid{
  display:grid;
  gap:.72rem;
}

.internal-card-grid-4,
.internal-step-grid-4{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  padding:0 clamp(1.35rem, 2.4vw, 2rem) clamp(1.35rem, 2.4vw, 2rem);
}

.internal-card,
.internal-step{
  position:relative;
  min-height:118px;
  padding:.9rem .95rem .92rem;
  border:1px solid rgba(18,17,15,.10);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.04) 0%,
      rgba(255,255,255,.018) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:.32rem;
  transition:
    transform var(--t-mid),
    background var(--t-mid),
    border-color var(--t-mid),
    box-shadow var(--t-mid);
  transform-origin:center center;
}

.internal-card:hover,
.internal-step:hover{
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.06) 0%,
      rgba(255,255,255,.028) 100%
    );
  border-color:rgba(168,152,98,.18);
  transform:translateY(-2px) scale(1.008);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 10px 22px rgba(0,0,0,.07);
}

.internal-card-index,
.internal-step-index{
  color:rgba(178,157,99,.92);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  font-variant-numeric:tabular-nums;
}

.internal-card h3,
.internal-step h3{
  max-width:18ch;
  color:rgba(236,229,214,.95);
  font-size:1rem;
  line-height:1.18;
  font-weight:600;
  letter-spacing:.005em;
}

.internal-card p,
.internal-step p{
  max-width:34ch;
  color:rgba(218,210,195,.86);
  font-size:.93rem;
  line-height:1.52;
}

.internal-link-list{
  display:grid;
  gap:.72rem;
  margin-top:.25rem;
  max-width:420px;
}

.internal-link-item{
  display:flex;
  align-items:center;
  min-height:52px;
  padding:0 1rem;
  border:1px solid rgba(18,17,15,.10);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.04) 0%,
      rgba(255,255,255,.018) 100%
    );
  color:rgba(236,229,214,.9);
  font-size:.92rem;
  line-height:1.4;
  transition:
    transform var(--t-mid),
    background var(--t-mid),
    border-color var(--t-mid),
    color var(--t-mid),
    box-shadow var(--t-mid);
}

.internal-link-item:hover,
.internal-link-item:focus-visible{
  outline:none;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.06) 0%,
      rgba(255,255,255,.028) 100%
    );
  border-color:rgba(168,152,98,.18);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 10px 22px rgba(0,0,0,.07);
}

.section-diagnostics-cta{
  padding-top:var(--section-y-tight);
}

.internal-page-diagnostics .page-hero-internal{
  padding:clamp(5.1rem, 7.2vw, 6.5rem) 0 clamp(1rem, 2vw, 1.45rem);
}

.internal-page-diagnostics .page-hero-frame{
  padding:clamp(1.35rem, 2.15vw, 1.9rem) clamp(1.1rem, 2vw, 1.75rem);
}

.internal-page-diagnostics .page-hero-copy{
  gap:.78rem;
}

.internal-page-diagnostics .page-hero-copy h1{
  max-width:15ch;
  font-size:clamp(1.9rem, 4.1vw, 3.35rem);
}

.internal-page-diagnostics .page-hero-subline{
  max-width:54ch;
  font-size:1rem;
  line-height:1.68;
}

.section-diagnostics-why,
.section-diagnostics-scope,
.section-diagnostics-output{
  padding-top:var(--section-y-tight);
}

.diagnostics-compact-frame{
  overflow:hidden;
}

.diagnostics-section-head{
  max-width:860px;
  margin-bottom:.4rem;
  padding:clamp(1.1rem, 1.9vw, 1.55rem) clamp(1.1rem, 2vw, 1.65rem) 0;
}

.diagnostics-section-head h2{
  max-width:24ch;
  font-size:clamp(1.42rem, 2.3vw, 2.15rem);
}

.diagnostics-section-copy{
  margin-top:.8rem;
  max-width:66ch;
  color:rgba(221,214,201,.84);
  font-size:.96rem;
  line-height:1.7;
}

.diagnostics-plate-grid,
.diagnostics-output-grid{
  display:grid;
  gap:.68rem;
  padding:1rem clamp(1.1rem, 2vw, 1.65rem) clamp(1.1rem, 2vw, 1.65rem);
}

.diagnostics-plate-grid-3,
.diagnostics-output-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.diagnostics-plate,
.diagnostics-output-item{
  position:relative;
  min-height:118px;
  padding:.82rem .9rem .86rem;
  border:1px solid rgba(18,17,15,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.042), rgba(255,255,255,.016));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.diagnostics-plate::before,
.diagnostics-output-item::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg, rgba(178,157,99,0), rgba(178,157,99,.20), rgba(178,157,99,0));
  opacity:.62;
}

.diagnostics-plate-index,
.diagnostics-line-index{
  display:block;
  margin-bottom:.36rem;
  color:rgba(178,157,99,.72);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.17em;
  font-variant-numeric:tabular-nums;
}

.diagnostics-plate h3,
.diagnostics-output-item h3,
.diagnostics-line-item h3{
  color:rgba(236,229,214,.94);
  font-size:.96rem;
  line-height:1.2;
  font-weight:590;
  letter-spacing:.005em;
}

.diagnostics-plate p,
.diagnostics-output-item p,
.diagnostics-line-item p{
  margin-top:.46rem;
  max-width:36ch;
  color:rgba(218,210,195,.82);
  font-size:.86rem;
  line-height:1.55;
}

.diagnostics-line-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:0;
  padding:1rem clamp(1.1rem, 2vw, 1.65rem) clamp(1.1rem, 2vw, 1.65rem);
}

.diagnostics-line-item{
  position:relative;
  min-height:118px;
  padding:.85rem 1rem .9rem;
  border-top:1px solid rgba(18,17,15,.10);
}

.diagnostics-line-item:nth-child(odd){
  border-right:1px solid rgba(18,17,15,.08);
}

.diagnostics-line-item::before{
  content:"";
  position:absolute;
  left:0;
  top:.85rem;
  bottom:.9rem;
  width:1px;
  background:rgba(178,157,99,.22);
}

.diagnostics-output-item{
  min-height:112px;
}

.section-diagnostics-cta{
  padding-bottom:var(--section-y-tight);
}

.section-diagnostics-cta .contact-frame-minimal{
  padding:clamp(1.25rem, 2.2vw, 1.8rem);
}

.section-diagnostics-cta .contact-copy{
  max-width:760px;
}

.section-diagnostics-cta .contact-copy h2{
  max-width:16ch;
  font-size:clamp(1.55rem, 2.7vw, 2.4rem);
}

.section-diagnostics-cta .contact-copy-main{
  max-width:52ch;
  font-size:.98rem;
  line-height:1.7;
}

.section-diagnostics-cta .contact-actions{
  margin-top:1.15rem;
}

@media (max-width: 1180px){
  .internal-split{
    grid-template-columns:1fr;
  }

  .internal-left{
    border-right:0;
    border-bottom:1px solid rgba(18,17,15,.08);
  }

  .internal-card-grid-4,
  .internal-step-grid-4{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .diagnostics-plate-grid-3,
  .diagnostics-output-grid{
    grid-template-columns:1fr;
  }

  .page-hero-copy h1{
    max-width:14ch;
  }
}

@media (max-width: 760px){
  .page-hero-internal{
    padding:5.3rem 0 1.2rem;
  }

  .page-hero-frame,
  .internal-left-inner,
  .internal-right,
  .internal-section-head,
  .internal-card-grid-4,
  .internal-step-grid-4{
    padding-left:1rem;
    padding-right:1rem;
  }

  .internal-card-grid-4,
  .internal-step-grid-4{
    grid-template-columns:1fr;
    padding-bottom:1rem;
  }

  .diagnostics-section-head,
  .diagnostics-plate-grid,
  .diagnostics-output-grid,
  .diagnostics-line-grid{
    padding-left:1rem;
    padding-right:1rem;
  }

  .diagnostics-line-grid{
    grid-template-columns:1fr;
  }

  .diagnostics-line-item,
  .diagnostics-line-item:nth-child(odd){
    border-right:0;
  }

  .page-hero-copy h1{
    max-width:15ch;
    font-size:clamp(1.82rem, 8vw, 2.7rem);
  }

  .page-hero-subline,
  .internal-copy p{
    font-size:.98rem;
    line-height:1.74;
  }

  .internal-left-inner h2{
    max-width:16ch;
    font-size:clamp(1.46rem, 7vw, 2rem);
  }
}

/* ==========================================================================
   INTERNAL PAGE — DIAGNOSTIC SYSTEM MAP
   ========================================================================== */

.section-diagnostics-map{
  padding-top:var(--section-y-tight);
  padding-bottom:var(--section-y-tight);
}

.diagnostics-map-frame{
  overflow:hidden;
}

.diagnostics-map-head{
  max-width:940px;
  padding:
    clamp(1.2rem, 2vw, 1.7rem)
    clamp(1rem, 2vw, 1.65rem)
    0;
}

.diagnostics-map-head h2{
  max-width:19ch;
  font-family:"Cinzel", Georgia, serif;
  font-size:clamp(1.42rem, 2.25vw, 2.18rem);
  font-weight:600;
  line-height:1.08;
  letter-spacing:.038em;
  text-transform:uppercase;
  text-wrap:balance;
  color:rgba(236,229,214,.94);
}

.diagnostics-map-copy{
  margin-top:1rem;
  max-width:68ch;
  color:rgba(223,214,198,.82);
  font-size:.98rem;
  line-height:1.82;
  font-weight:400;
}

.diagnostic-system-map{
  position:relative;
  margin-top:1.15rem;
  min-height:440px;
  padding:clamp(.85rem, 1.55vw, 1.25rem);
  border-top:1px solid rgba(18,17,15,.12);
  background:
    radial-gradient(circle at 50% 38%, rgba(178,157,99,.045), transparent 35%),
    linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.010));
  overflow:hidden;
}

.diagnostic-system-map::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background:
    linear-gradient(rgba(18,17,15,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18,17,15,.10) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(circle at 50% 48%, black 0%, transparent 78%);
}

.diagnostic-system-map::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.075), transparent 18%, transparent 82%, rgba(0,0,0,.075)),
    linear-gradient(180deg, rgba(0,0,0,.045), transparent 30%, rgba(0,0,0,.06));
}

.diagnostics-map-lines{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:1;
  pointer-events:none;
}

.map-line{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.map-line-soft{
  stroke:rgba(18,17,15,.20);
  stroke-width:1;
}

.map-line-main{
  stroke:rgba(178,157,99,.42);
  stroke-width:1.15;
}

.map-line-return{
  stroke:rgba(18,17,15,.18);
  stroke-width:.95;
  stroke-dasharray:7 9;
}

.diagnostics-arrow-head{
  fill:rgba(178,157,99,.48);
}

.diagnostic-map-grid{
  position:relative;
  z-index:2;
  min-height:390px;
  display:grid;
  grid-template-columns:minmax(220px, .78fr) minmax(310px, 1fr) minmax(250px, .86fr);
  gap:clamp(.85rem, 2.35vw, 2.35rem);
  align-items:center;
}

.map-stack{
  display:grid;
  gap:.68rem;
}

.map-stack-left{
  align-self:center;
}

.map-stack-center{
  align-self:center;
  gap:.82rem;
}

.map-stack-right{
  align-self:center;
  gap:.92rem;
}

.map-node{
  position:relative;
  min-height:106px;
  padding:.76rem .82rem .78rem;
  border:1px solid rgba(18,17,15,.14);
  border-top-color:rgba(255,255,255,.075);
  background:
    linear-gradient(180deg, rgba(255,255,255,.058), rgba(255,255,255,.018));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    0 8px 18px rgba(0,0,0,.045);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.map-node::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:2px;
  background:rgba(178,157,99,.26);
  opacity:.55;
}

.map-node-kicker{
  display:block;
  margin-bottom:.42rem;
  color:rgba(178,157,99,.68);
  font-size:.56rem;
  font-weight:650;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.map-node h3{
  max-width:18ch;
  color:rgba(236,229,214,.95);
  font-family:var(--font-display);
  font-size:.94rem;
  font-weight:590;
  line-height:1.22;
  letter-spacing:.01em;
}

.map-node p{
  margin-top:.48rem;
  max-width:34ch;
  color:rgba(223,214,198,.78);
  font-size:.8rem;
  line-height:1.55;
}

.map-node-small{
  min-height:102px;
}

.map-node-core{
  min-height:136px;
  padding:.92rem .95rem .9rem;
  border-color:rgba(178,157,99,.24);
  background:
    radial-gradient(circle at 22% 0%, rgba(178,157,99,.10), transparent 38%),
    linear-gradient(180deg, rgba(18,17,15,.20), rgba(18,17,15,.075));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.085),
    0 10px 26px rgba(0,0,0,.08),
    0 0 0 1px rgba(178,157,99,.045);
}

.map-node-core h3{
  font-size:1.06rem;
  font-weight:620;
  letter-spacing:.015em;
}

.map-node-core p{
  font-size:.82rem;
  color:rgba(232,229,223,.80);
}

.map-node-reading{
  min-height:132px;
  border-color:rgba(18,17,15,.145);
  background:
    linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.018));
}

.map-readout-list{
  margin-top:.55rem;
  display:grid;
  gap:.36rem;
}

.map-readout-list li{
  position:relative;
  padding-left:.82rem;
  color:rgba(223,214,198,.78);
  font-size:.78rem;
  line-height:1.42;
}

.map-readout-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:rgba(178,157,99,.54);
}

.map-node-symptoms{
  min-height:124px;
}

.map-node-output{
  min-height:124px;
  border-color:rgba(178,157,99,.18);
}

@media (max-width: 1180px){
  .diagnostic-map-grid{
    grid-template-columns:1fr;
    min-height:unset;
    gap:1rem;
  }

  .diagnostics-map-lines{
    display:none;
  }

  .diagnostic-system-map{
    min-height:unset;
  }

  .map-stack-left,
  .map-stack-center,
  .map-stack-right{
    align-self:stretch;
  }

  .map-node,
  .map-node-small,
  .map-node-core,
  .map-node-reading,
  .map-node-symptoms,
  .map-node-output{
    min-height:unset;
  }

  .map-stack + .map-stack{
    margin-top:.35rem;
  }

  .map-stack-center::before,
  .map-stack-right::before{
    content:"";
    display:block;
    width:1px;
    height:30px;
    margin:0 auto -.1rem;
    background:linear-gradient(180deg, rgba(178,157,99,.55), rgba(178,157,99,.08));
  }
}

@media (max-width: 760px){
  .diagnostics-map-head{
    padding-left:1rem;
    padding-right:1rem;
  }

  .diagnostic-system-map{
    padding:1rem;
  }

  .map-node{
    padding:.95rem .9rem .9rem;
  }

  .map-node h3{
    max-width:100%;
  }

  .map-node p{
    max-width:100%;
  }
}

/* ==========================================================================
   CAPABILITY PAGE — OPERATIONAL DIAGNOSTICS
   ========================================================================== */

.capability-page{
  position:relative;
  z-index:2;
}

.capability-page .capability-hero{
  position:relative;
  z-index:2;
  padding:clamp(4.75rem, 6.5vw, 5.8rem) 0 clamp(.8rem, 1.45vw, 1.2rem);
}

.capability-page .capability-hero-frame{
  position:relative;
  padding:clamp(1rem, 1.6vw, 1.35rem) 0 clamp(.82rem, 1.25vw, 1.1rem);
  border-top:1px solid rgba(178,157,99,.16);
  border-bottom:1px solid rgba(18,17,15,.12);
}

.capability-page .capability-hero-frame::before{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:min(220px, 38vw);
  height:1px;
  background:linear-gradient(90deg, rgba(178,157,99,.64), rgba(178,157,99,0));
}

.capability-page .capability-hero-copy{
  max-width:720px;
  display:grid;
  gap:.58rem;
}

.capability-page .capability-hero-copy h1{
  max-width:15ch;
  font-family:"Cinzel", Georgia, serif;
  font-size:clamp(1.9rem, 4.2vw, 3.35rem);
  line-height:1.02;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:rgba(236,229,214,.96);
  text-wrap:balance;
}

.capability-page .capability-hero-subline{
  max-width:55ch;
  color:rgba(221,214,201,.88);
  font-size:clamp(.92rem, 1.15vw, .98rem);
  line-height:1.56;
}

.capability-page .capability-section{
  position:relative;
  z-index:2;
  padding:clamp(.72rem, 1.35vw, 1.15rem) 0;
}

.capability-page .capability-frame,
.capability-page .capability-cta-frame{
  position:relative;
  border:1px solid rgba(18,17,15,.11);
  background:
    linear-gradient(180deg, rgba(255,255,255,.046), rgba(255,255,255,.015));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.065);
  overflow:hidden;
}

.capability-page .capability-section-head{
  max-width:720px;
  padding:clamp(.78rem, 1.15vw, 1rem) clamp(.85rem, 1.35vw, 1.15rem) .24rem;
  display:grid;
  gap:.42rem;
}

.capability-page .capability-section-head h2,
.capability-page .capability-cta-copy h2{
  max-width:24ch;
  font-family:"Cinzel", Georgia, serif;
  font-size:clamp(1.02rem, 1.55vw, 1.36rem);
  font-weight:600;
  line-height:1.12;
  letter-spacing:.028em;
  text-transform:uppercase;
  text-wrap:balance;
  color:rgba(236,229,214,.94);
}

.capability-page .capability-section-copy,
.capability-page .capability-cta-copy p{
  max-width:65ch;
  color:rgba(221,214,201,.82);
  font-size:.84rem;
  line-height:1.45;
}

.capability-page .capability-why-grid,
.capability-page .capability-output-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:0;
  padding:.42rem clamp(.85rem, 1.35vw, 1.15rem) clamp(.75rem, 1.25vw, 1rem);
}

.capability-page .capability-point,
.capability-page .capability-output-item{
  position:relative;
  min-height:84px;
  padding:.58rem .72rem .62rem;
  border-top:1px solid rgba(18,17,15,.11);
}

.capability-page .capability-point + .capability-point,
.capability-page .capability-output-item + .capability-output-item{
  border-left:1px solid rgba(18,17,15,.09);
}

.capability-page .capability-index,
.capability-page .system-node-kicker{
  display:block;
  margin-bottom:.24rem;
  color:rgba(178,157,99,.74);
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-variant-numeric:tabular-nums;
}

.capability-page .capability-point h3,
.capability-page .capability-line-item h3,
.capability-page .capability-output-item h3,
.capability-page .system-node h3,
.capability-page .system-readout h3{
  color:rgba(236,229,214,.94);
  font-size:.86rem;
  line-height:1.2;
  font-weight:610;
  letter-spacing:.005em;
}

.capability-page .capability-point p,
.capability-page .capability-line-item p,
.capability-page .capability-output-item p,
.capability-page .system-node p{
  margin-top:.43rem;
  max-width:37ch;
  color:rgba(218,210,195,.80);
  font-size:.76rem;
  line-height:1.38;
}

.capability-page .capability-section-head-diagram{
  padding-bottom:.2rem;
}

.capability-page .diagnostics-system-diagram{
  position:relative;
  margin:.42rem clamp(.85rem, 1.35vw, 1.15rem) clamp(.85rem, 1.35vw, 1.15rem);
  min-height:340px;
  padding:clamp(.62rem, 1vw, .82rem);
  border:1px solid rgba(18,17,15,.14);
  background:
    radial-gradient(circle at 50% 43%, rgba(178,157,99,.07), transparent 31%),
    linear-gradient(180deg, rgba(10,10,9,.12), rgba(255,255,255,.012));
  overflow:hidden;
}

.capability-page .diagnostics-system-diagram::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.18;
  pointer-events:none;
  background:
    linear-gradient(rgba(18,17,15,.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18,17,15,.12) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(180deg, transparent, black 16%, black 84%, transparent);
}

.capability-page .diagnostics-system-lines{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  pointer-events:none;
}

.capability-page .system-line{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.capability-page .system-line-soft{
  stroke:rgba(220,214,198,.28);
  stroke-width:.9;
}

.capability-page .system-line-main{
  stroke:rgba(178,157,99,.54);
  stroke-width:1.1;
}

.capability-page .system-line-readout{
  stroke:rgba(178,157,99,.38);
  stroke-width:.95;
  stroke-dasharray:5 7;
}

.capability-page .diagnostics-system-arrow{
  fill:rgba(178,157,99,.58);
}

.capability-page .diagnostics-system-grid{
  position:relative;
  z-index:2;
  min-height:310px;
  display:grid;
  grid-template-columns:minmax(210px, .78fr) minmax(270px, 1fr) minmax(230px, .84fr);
  grid-template-rows:1fr auto;
  gap:clamp(.55rem, 1.1vw, .9rem) clamp(.9rem, 2.2vw, 2.35rem);
  align-items:center;
}

.capability-page .system-stack{
  display:grid;
  gap:.45rem;
}

.capability-page .system-stack-inputs{
  grid-column:1;
  grid-row:1;
}

.capability-page .system-stack-center{
  grid-column:2;
  grid-row:1;
}

.capability-page .system-stack-outputs{
  grid-column:3;
  grid-row:1;
  gap:.54rem;
}

.capability-page .system-stack-label{
  color:rgba(178,157,99,.78);
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.capability-page .system-node,
.capability-page .system-readout{
  position:relative;
  padding:.58rem .66rem .62rem;
  border:1px solid rgba(223,214,198,.13);
  background:rgba(8,8,7,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.048);
}

.capability-page .system-node::before{
  content:"";
  position:absolute;
  left:-1px;
  top:.5rem;
  bottom:.5rem;
  width:1px;
  background:rgba(178,157,99,.45);
}

.capability-page .system-node-input{
  min-height:72px;
}

.capability-page .system-node-core{
  min-height:112px;
  padding:.75rem .8rem .78rem;
  border-color:rgba(178,157,99,.31);
  background:
    linear-gradient(180deg, rgba(178,157,99,.09), rgba(8,8,7,.24));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 0 0 1px rgba(178,157,99,.045);
}

.capability-page .system-node-core h3{
  font-size:.98rem;
}

.capability-page .system-node-output{
  min-height:92px;
}

.capability-page .system-node-direction{
  border-color:rgba(178,157,99,.22);
}

.capability-page .system-readout{
  grid-column:1 / -1;
  grid-row:2;
  margin-top:.1rem;
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:.7rem;
  align-items:center;
  border-style:dashed;
  border-color:rgba(178,157,99,.24);
  background:rgba(255,255,255,.024);
}

.capability-page .system-readout-list{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.45rem;
}

.capability-page .system-readout-list li{
  position:relative;
  padding-left:.82rem;
  color:rgba(223,214,198,.82);
  font-size:.76rem;
  line-height:1.28;
}

.capability-page .system-readout-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.56em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:rgba(178,157,99,.58);
}

.capability-page .capability-line-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:0;
  padding:.4rem clamp(.85rem, 1.35vw, 1.15rem) clamp(.75rem, 1.25vw, 1rem);
}

.capability-page .capability-line-item{
  position:relative;
  min-height:78px;
  padding:.55rem .75rem .62rem;
  border-top:1px solid rgba(18,17,15,.11);
}

.capability-page .capability-line-item:nth-child(odd){
  border-right:1px solid rgba(18,17,15,.09);
}

.capability-page .capability-line-item::before,
.capability-page .capability-output-item::before{
  content:"";
  position:absolute;
  left:0;
  top:.78rem;
  bottom:.82rem;
  width:1px;
  background:rgba(178,157,99,.25);
}

.capability-page .capability-cta{
  padding-bottom:clamp(1.2rem, 2vw, 1.8rem);
}

.capability-page .capability-cta-frame{
  padding:clamp(.82rem, 1.35vw, 1.12rem) clamp(.85rem, 1.45vw, 1.2rem);
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:1rem 1.25rem;
  align-items:end;
}

.capability-page .capability-cta-copy{
  display:grid;
  gap:.42rem;
}

.capability-page .capability-cta-copy h2{
  max-width:17ch;
}

.capability-page .capability-cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  justify-content:flex-end;
}

.capability-page .capability-cta-note{
  grid-column:1 / -1;
  padding-top:.58rem;
  border-top:1px solid rgba(18,17,15,.10);
  color:rgba(178,157,99,.82);
  font-size:.74rem;
  line-height:1.45;
  letter-spacing:.02em;
}

@media (max-width: 1080px){
  .capability-page .capability-why-grid,
  .capability-page .capability-output-grid,
  .capability-page .capability-line-grid{
    grid-template-columns:1fr;
  }

  .capability-page .capability-point + .capability-point,
  .capability-page .capability-output-item + .capability-output-item,
  .capability-page .capability-line-item:nth-child(odd){
    border-left:0;
    border-right:0;
  }

  .capability-page .diagnostics-system-diagram{
    min-height:unset;
  }

  .capability-page .diagnostics-system-lines{
    display:none;
  }

  .capability-page .diagnostics-system-grid{
    min-height:unset;
    grid-template-columns:1fr;
    gap:.8rem;
  }

  .capability-page .system-stack-inputs,
  .capability-page .system-stack-center,
  .capability-page .system-stack-outputs{
    grid-column:1;
    grid-row:auto;
  }

  .capability-page .system-readout{
    grid-column:1;
    grid-row:auto;
    grid-template-columns:1fr;
    gap:.48rem;
  }

  .capability-page .system-readout-list{
    grid-template-columns:1fr;
  }

  .capability-page .system-stack-center::before,
  .capability-page .system-stack-outputs::before{
    content:"";
    display:block;
    width:1px;
    height:24px;
    margin:0 auto -.1rem;
    background:linear-gradient(180deg, rgba(178,157,99,.55), rgba(178,157,99,.10));
  }

  .capability-page .system-node,
  .capability-page .system-node-input,
  .capability-page .system-node-core,
  .capability-page .system-node-output{
    min-height:unset;
  }

  .capability-page .capability-cta-frame{
    grid-template-columns:1fr;
    align-items:start;
  }

  .capability-page .capability-cta-actions{
    justify-content:flex-start;
  }
}

@media (max-width: 760px){
  .capability-page .capability-hero{
    padding:4.85rem 0 1rem;
  }

  .capability-page .capability-hero-copy h1{
    font-size:clamp(1.78rem, 8vw, 2.55rem);
  }

  .capability-page .capability-section{
    padding:1rem 0;
  }

  .capability-page .capability-section-head,
  .capability-page .capability-why-grid,
  .capability-page .capability-output-grid,
  .capability-page .capability-line-grid{
    padding-left:.9rem;
    padding-right:.9rem;
  }

  .capability-page .diagnostics-system-diagram{
    margin-left:.9rem;
    margin-right:.9rem;
    padding:.8rem;
  }

  .capability-page .capability-point,
  .capability-page .capability-line-item,
  .capability-page .capability-output-item,
  .capability-page .system-node,
  .capability-page .system-readout{
    padding:.62rem .68rem .68rem;
  }

  .capability-page .capability-cta-frame{
    padding:.95rem .9rem;
  }
}

/* ==========================================================================
   OPERATIONAL DIAGNOSTICS — STRICT COMPACT CAPABILITY PAGE
   ========================================================================== */

.capability-page-diagnostics{
  position:relative;
  z-index:2;
  --diagnostics-section-max:1120px;
  --diagnostics-copy-max:760px;
  --diagnostics-card-radius:15px;
  --diagnostics-card-border:rgba(255,255,255,.042);
  --diagnostics-card-bg:linear-gradient(180deg, rgba(24,24,22,.16), rgba(10,10,10,.10));
  --diagnostics-card-shadow:0 12px 26px rgba(0,0,0,.045);
}

.capability-page-diagnostics .capability-hero{
  --diagnostics-hero-text-inset:clamp(2.55rem, 11.5vw, 13.25rem);
  margin-top:clamp(-2.15rem, -2.8vw, -1.25rem);
  padding:clamp(2.55rem, 3.5vw, 3.35rem) 0 clamp(.38rem, .68vw, .58rem);
}

.capability-page-diagnostics .capability-hero-visual{
  position:relative;
  width:116vw;
  min-height:clamp(330px, 38vw, 470px);
  margin-left:calc(50% - 58vw);
  aspect-ratio:19 / 6.05;
  overflow:hidden;
  border:0;
  background:
    linear-gradient(180deg, rgba(30,29,26,.30), rgba(12,12,11,.26));
  box-shadow:none;
  isolation:isolate;
  mask-image:
    linear-gradient(90deg, transparent 0, rgba(0,0,0,.55) 4%, black 12%, black 88%, rgba(0,0,0,.55) 96%, transparent 100%),
    linear-gradient(180deg, transparent 0, rgba(0,0,0,.52) 7%, black 16%, black 82%, rgba(0,0,0,.58) 92%, transparent 100%);
  mask-composite:intersect;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0, rgba(0,0,0,.55) 4%, black 12%, black 88%, rgba(0,0,0,.55) 96%, transparent 100%),
    linear-gradient(180deg, transparent 0, rgba(0,0,0,.52) 7%, black 16%, black 82%, rgba(0,0,0,.58) 92%, transparent 100%);
  -webkit-mask-composite:source-in;
}

.capability-page-diagnostics .capability-hero-visual img{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:40% center;
  filter:brightness(.70) grayscale(.12) sepia(.08) contrast(1.03) saturate(.96);
  transform:scale(1.012);
}

.capability-page-diagnostics .capability-hero-visual::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(11,10,9,.48) 0%, rgba(13,12,11,.30) 29%, rgba(13,12,11,.06) 72%, rgba(11,10,9,.22) 100%),
    linear-gradient(180deg, rgba(11,10,9,.12), rgba(11,10,9,.03) 48%, rgba(11,10,9,.26)),
    radial-gradient(circle at 31% 68%, rgba(178,157,99,.10), transparent 38%);
}

.capability-page-diagnostics .capability-hero-visual::after{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(to bottom, rgba(12,11,10,.42), rgba(12,11,10,.16) 14%, rgba(12,11,10,0) 34%),
    linear-gradient(to right, rgba(12,11,10,.32), rgba(12,11,10,.12) 10%, rgba(12,11,10,0) 25%, rgba(12,11,10,0) 75%, rgba(12,11,10,.12) 90%, rgba(12,11,10,.32)),
    linear-gradient(to top, rgba(12,11,10,.22), rgba(12,11,10,.08) 12%, rgba(12,11,10,0) 28%);
}

.capability-page-diagnostics .capability-hero-content{
  position:absolute;
  left:var(--diagnostics-hero-text-inset);
  bottom:clamp(1.05rem, 2.4vw, 2.25rem);
  z-index:3;
  max-width:min(640px, calc(100% - (var(--diagnostics-hero-text-inset) + 2rem)));
  padding:0;
  text-align:left;
  border:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}

.capability-page-diagnostics .capability-hero h1{
  max-width:16ch;
  margin-top:.52rem;
  font-family:"Cinzel", Georgia, serif;
  font-size:clamp(1.85rem, 3.35vw, 3.2rem);
  line-height:1.02;
  letter-spacing:.03em;
  text-transform:uppercase;
  text-wrap:balance;
  color:rgba(236,229,214,.96);
  text-shadow:0 2px 20px rgba(0,0,0,.58), 0 0 36px rgba(8,8,7,.36);
}

.capability-page-diagnostics .capability-hero p:not(.eyebrow){
  max-width:55ch;
  margin-top:.54rem;
  color:rgba(235,228,213,.90);
  font-size:clamp(.88rem, 1.02vw, .98rem);
  line-height:1.52;
  text-shadow:0 1px 16px rgba(0,0,0,.62), 0 0 28px rgba(8,8,7,.35);
}

.capability-page-diagnostics .capability-intro,
.capability-page-diagnostics .capability-strip,
.capability-page-diagnostics .capability-section,
.capability-page-diagnostics .capability-cta{
  position:relative;
  z-index:2;
  padding:clamp(2.15rem, 4.4vw, 4rem) 0;
}

.capability-page-diagnostics .capability-module:not(.capability-module-hero){
  padding:clamp(1.7rem, 3.6vw, 3.3rem) 0;
}

.capability-page-diagnostics .capability-strip-frame,
.capability-page-diagnostics .diagnostics-flow,
.capability-page-diagnostics .capability-cta-frame{
  border:1px solid rgba(255,255,255,.045);
  background:rgba(12,12,11,.11);
  box-shadow:none;
}

.capability-page-diagnostics .capability-module-frame{
  width:min(100%, var(--diagnostics-section-max));
  margin:0 auto;
  border-color:transparent;
  background:transparent;
  box-shadow:none;
}

.capability-page-diagnostics .capability-strip-frame{
  display:block;
  overflow:visible;
}

.capability-page-diagnostics .capability-intro-frame{
  width:min(100%, var(--diagnostics-section-max));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) minmax(280px, .72fr);
  gap:clamp(1.6rem, 4vw, 4rem);
  align-items:end;
}

.capability-page-diagnostics .capability-intro-copy{
  max-width:760px;
}

.capability-page-diagnostics .capability-intro-copy h2{
  max-width:30ch;
}

.capability-page-diagnostics .capability-intro-copy p{
  margin-top:clamp(.85rem, 1.5vw, 1.15rem);
  color:rgba(229,222,207,.78);
  font-size:clamp(.95rem, 1.08vw, 1.05rem);
  line-height:1.68;
}

.capability-page-diagnostics .capability-intro-highlights{
  display:grid;
  gap:.62rem;
  margin:0;
  padding:0;
  list-style:none;
}

.capability-page-diagnostics .capability-intro-highlights li{
  position:relative;
  padding:.78rem .88rem .78rem 1rem;
  border:1px solid rgba(255,255,255,.035);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(24,24,22,.12), rgba(10,10,10,.07));
  color:rgba(236,229,214,.86);
  font-size:.83rem;
  line-height:1.35;
  backdrop-filter:blur(7px);
}

.capability-page-diagnostics .capability-intro-highlights li::before{
  content:"";
  position:absolute;
  left:0;
  top:.78rem;
  bottom:.78rem;
  width:1px;
  background:rgba(202,182,126,.42);
}

.capability-page-diagnostics .capability-strip-head{
  padding:0 0 clamp(.9rem, 1.8vw, 1.3rem);
  border-right:0;
  border-bottom:0;
}

.capability-page-diagnostics h2{
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(1.22rem, 2.05vw, 1.82rem);
  font-weight:560;
  line-height:1.14;
  letter-spacing:.005em;
  text-transform:none;
  color:rgba(236,229,214,.94);
  text-wrap:balance;
}

.capability-page-diagnostics .capability-strip-head h2,
.capability-page-diagnostics .capability-section-head h2,
.capability-page-diagnostics .capability-cta-copy h2{
  max-width:34ch;
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(1.22rem, 2.05vw, 1.82rem);
  font-weight:560;
  line-height:1.14;
  letter-spacing:.005em;
  text-transform:none;
  text-wrap:balance;
  color:rgba(236,229,214,.94);
}

.capability-page-diagnostics .capability-cta-copy h2{
  max-width:34ch;
  font-size:clamp(1.04rem, 1.55vw, 1.34rem);
  line-height:1.16;
  letter-spacing:.006em;
}

.capability-page-diagnostics .capability-module-head{
  max-width:680px;
  margin:0 auto;
  padding:0 0 clamp(.9rem, 1.75vw, 1.28rem);
  text-align:center;
}

.capability-page-diagnostics .capability-module-head h2{
  max-width:none;
  margin:0 auto;
}

.capability-page-diagnostics .capability-strip-head p,
.capability-page-diagnostics .capability-section-head p,
.capability-page-diagnostics .capability-cta-copy p{
  margin-top:.7rem;
  color:rgba(225,218,203,.76);
  font-size:clamp(.9rem, 1vw, .98rem);
  line-height:1.62;
}

.capability-page-diagnostics .capability-module-head p{
  max-width:48ch;
  margin-left:auto;
  margin-right:auto;
}

.capability-page-diagnostics .capability-strip-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.capability-page-diagnostics .capability-card-grid{
  display:grid;
  width:min(100%, var(--diagnostics-section-max));
  margin:0 auto;
  gap:clamp(.72rem, 1.25vw, 1rem);
  border:0;
  background:transparent;
  box-shadow:none;
}

.capability-page-diagnostics .capability-strip-frame .capability-card-grid{
  padding:0;
}

.capability-page-diagnostics .capability-card-grid-3{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.capability-page-diagnostics .capability-card-grid-4{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

.capability-page-diagnostics .capability-note,
.capability-page-diagnostics .capability-grid-item,
.capability-page-diagnostics .diagnostics-flow-node{
  position:relative;
  background:rgba(8,8,7,.15);
}

.capability-page-diagnostics .capability-card{
  min-height:148px;
  padding:clamp(1.15rem, 1.8vw, 1.5rem);
  border:1px solid var(--diagnostics-card-border);
  border-radius:var(--diagnostics-card-radius);
  background:var(--diagnostics-card-bg);
  box-shadow:var(--diagnostics-card-shadow);
  backdrop-filter:blur(7px) saturate(1.02);
  transition:
    transform .22s ease,
    border-color .22s ease,
    background .22s ease;
}

.capability-page-diagnostics .capability-card::before{
  content:"";
  position:absolute;
  left:clamp(1.15rem, 1.8vw, 1.5rem);
  right:clamp(1.15rem, 1.8vw, 1.5rem);
  top:0;
  height:1px;
  background:linear-gradient(90deg, rgba(202,182,126,.18), rgba(202,182,126,0));
}

.capability-page-diagnostics .capability-card:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.065);
  background:linear-gradient(180deg, rgba(28,27,25,.18), rgba(10,10,10,.12));
}

.capability-page-diagnostics .capability-note span,
.capability-page-diagnostics .capability-grid-item span,
.capability-page-diagnostics .diagnostics-flow-index{
  display:block;
  margin-bottom:.44rem;
  color:rgba(202,182,126,.76);
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-variant-numeric:tabular-nums;
}

.capability-page-diagnostics h3{
  color:rgba(236,229,214,.94);
  font-size:.94rem;
  line-height:1.22;
  font-weight:590;
  letter-spacing:.005em;
}

.capability-page-diagnostics .capability-card h3{
  min-height:0;
  font-size:.96rem;
  line-height:1.24;
}

.capability-page-diagnostics .capability-note p,
.capability-page-diagnostics .capability-grid-item p,
.capability-page-diagnostics .diagnostics-flow-node p{
  margin-top:.36rem;
  color:rgba(218,210,195,.80);
  font-size:.79rem;
  line-height:1.45;
}

.capability-page-diagnostics .capability-card p{
  max-width:42ch;
  color:rgba(225,218,203,.78);
}

.capability-page-diagnostics .capability-section-head{
  max-width:var(--diagnostics-copy-max);
  margin:0 auto;
  padding:0 0 clamp(1.1rem, 2.1vw, 1.65rem);
  text-align:center;
}

.capability-page-diagnostics .capability-module-read .capability-section-head,
.capability-page-diagnostics .capability-module-output .capability-section-head{
  max-width:680px;
  padding:0 0 clamp(.9rem, 1.75vw, 1.28rem);
}

.capability-page-diagnostics .capability-flow-section .capability-section-head{
  padding-bottom:clamp(1.35rem, 2.4vw, 2rem);
}

.capability-page-diagnostics .capability-flow-section{
  padding:clamp(2rem, 4.5vw, 4rem) 0;
}

.capability-page-diagnostics .diagnostics-flow{
  position:relative;
  width:min(100%, var(--diagnostics-section-max));
  min-height:430px;
  margin:0 auto;
  padding:clamp(.82rem, 1.35vw, 1.15rem);
  display:grid;
  grid-template-columns:minmax(230px, .92fr) minmax(230px, .92fr);
  grid-template-rows:repeat(3, minmax(94px, auto));
  gap:clamp(.86rem, 2vw, 1.35rem) clamp(5rem, 10vw, 8.5rem);
  align-items:center;
  overflow:hidden;
  border-color:rgba(255,255,255,.05);
  border-radius:24px;
  background:
    radial-gradient(circle at 50% 42%, rgba(178,157,99,.055), transparent 38%),
    linear-gradient(180deg, rgba(15,15,14,.22), rgba(10,10,9,.11));
}

.capability-page-diagnostics .diagnostics-flow::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.15;
  background:
    linear-gradient(rgba(18,17,15,.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18,17,15,.13) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(180deg, transparent, black 14%, black 86%, transparent);
}

.capability-page-diagnostics .diagnostics-flow-lines{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  pointer-events:none;
  filter:drop-shadow(0 0 10px rgba(178,157,99,.12));
}

.capability-page-diagnostics .diagnostics-flow-rail{
  fill:none;
  stroke:rgba(178,157,99,.13);
  stroke-width:8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.capability-page-diagnostics .diagnostics-flow-line{
  fill:none;
  stroke:rgba(178,157,99,.72);
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.capability-page-diagnostics .diagnostics-flow-line-soft{
  stroke:rgba(218,210,195,.48);
  stroke-width:1.35;
}

.capability-page-diagnostics .diagnostics-flow-arrow{
  fill:rgba(178,157,99,.78);
}

.capability-page-diagnostics .diagnostics-flow-node{
  z-index:3;
  min-height:92px;
  padding:.72rem .78rem;
  border:1px solid rgba(223,214,198,.13);
  border-top-color:rgba(255,255,255,.07);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}

.capability-page-diagnostics .diagnostics-flow-node::before{
  content:"";
  position:absolute;
  left:-1px;
  top:.55rem;
  bottom:.55rem;
  width:1px;
  background:rgba(178,157,99,.42);
}

.capability-page-diagnostics .diagnostics-flow-node-01{ grid-column:1; grid-row:1; }
.capability-page-diagnostics .diagnostics-flow-node-02{ grid-column:2; grid-row:1; }
.capability-page-diagnostics .diagnostics-flow-node-03{ grid-column:1; grid-row:2; }
.capability-page-diagnostics .diagnostics-flow-node-04{ grid-column:1; grid-row:3; }
.capability-page-diagnostics .diagnostics-flow-node-05{ grid-column:2; grid-row:3; }

.capability-page-diagnostics .diagnostics-flow-node-02{
  border-color:rgba(178,157,99,.38);
  background:
    radial-gradient(circle at 100% 0%, rgba(178,157,99,.12), transparent 38%),
    linear-gradient(180deg, rgba(178,157,99,.095), rgba(8,8,7,.24));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.075),
    0 0 0 1px rgba(178,157,99,.055);
}

.capability-page-diagnostics .diagnostics-flow-node-02::before{
  width:2px;
  background:rgba(178,157,99,.74);
}

.capability-page-diagnostics .diagnostics-flow-node-02 .diagnostics-flow-index{
  display:inline-flex;
  align-items:center;
  min-height:1.2rem;
  margin-bottom:.34rem;
  padding:0 .36rem;
  border:1px solid rgba(178,157,99,.28);
  background:rgba(178,157,99,.075);
  color:rgba(218,196,132,.98);
}

.capability-page-diagnostics .diagnostics-flow-node-02 h3{
  color:rgba(247,239,218,.98);
}

.capability-page-diagnostics .diagnostics-flow-node-05{
  border-color:rgba(178,157,99,.22);
}

.capability-page-diagnostics .diagnostics-flow-kicker{
  color:rgba(178,157,99,.82) !important;
  font-size:.72rem !important;
}

.capability-page-diagnostics .diagnostics-flow-compact{
  min-height:285px;
  padding:clamp(1.25rem, 2.8vw, 2.2rem);
  grid-template-columns:repeat(4, minmax(0, 1fr));
  grid-template-rows:1fr;
  gap:clamp(.75rem, 1.6vw, 1.15rem);
  align-items:stretch;
  border:1px solid rgba(255,255,255,.038);
  border-radius:18px;
  background:
    radial-gradient(circle at 50% 42%, rgba(178,157,99,.06), transparent 36%),
    linear-gradient(180deg, rgba(22,21,19,.16), rgba(9,9,8,.08));
  box-shadow:0 16px 38px rgba(0,0,0,.055);
  backdrop-filter:blur(7px);
}

.capability-page-diagnostics .diagnostics-flow-compact::before{
  opacity:.06;
  background:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size:72px 72px;
}

.capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-lines{
  z-index:1;
  inset:0;
  filter:drop-shadow(0 0 14px rgba(178,157,99,.10));
}

.capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-rail{
  stroke:rgba(178,157,99,.08);
  stroke-width:10;
}

.capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-line{
  stroke:rgba(202,182,126,.54);
  stroke-width:1.25;
}

.capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-arrow{
  fill:rgba(202,182,126,.58);
}

.capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-node{
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:178px;
  padding:clamp(1rem, 1.75vw, 1.35rem);
  border:1px solid rgba(255,255,255,.04);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(28,27,25,.18), rgba(10,10,10,.10));
  box-shadow:0 12px 26px rgba(0,0,0,.045);
  backdrop-filter:blur(8px) saturate(1.02);
}

.capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-node::before{
  display:none;
}

.capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-node-01{ grid-column:1; grid-row:1; }
.capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-node-02{ grid-column:2; grid-row:1; }
.capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-node-03{ grid-column:3; grid-row:1; }
.capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-node-04{ grid-column:4; grid-row:1; }

.capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-node-02{
  border-color:rgba(202,182,126,.18);
  background:
    radial-gradient(circle at 100% 0%, rgba(178,157,99,.08), transparent 42%),
    linear-gradient(180deg, rgba(36,33,27,.19), rgba(10,10,10,.11));
}

.capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-node-04{
  border-color:rgba(202,182,126,.12);
}

.capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-node h3{
  max-width:16ch;
  font-size:clamp(.9rem, 1.05vw, 1rem);
}

.capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-node p{
  max-width:28ch;
  margin-top:.55rem;
  font-size:.8rem;
  line-height:1.5;
}

.capability-page-diagnostics .capability-grid{
  display:grid;
  gap:clamp(.78rem, 1.35vw, 1.08rem);
  border:0;
  background:transparent;
  box-shadow:none;
}

.capability-page-diagnostics .capability-grid-4{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

.capability-page-diagnostics .capability-grid-3{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.capability-page-diagnostics .capability-grid-item{
  border-left-color:rgba(207,190,139,.15);
}

.capability-page-diagnostics .capability-grid-item:first-child{
  border-left:0;
}

.capability-page-diagnostics .capability-grid-item.capability-card:first-child{
  border-left:1px solid rgba(207,190,139,.105);
}

.capability-page-diagnostics .capability-cta{
  padding:clamp(1.7rem, 3.3vw, 3rem) 0 clamp(2.05rem, 4vw, 3.8rem);
}

.capability-page-diagnostics .capability-cta-frame{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:.58rem clamp(1.25rem, 3vw, 2.5rem);
  align-items:center;
  padding:clamp(1.05rem, 2vw, 1.5rem) clamp(1.1rem, 2.4vw, 1.8rem);
  border:1px solid rgba(255,255,255,.055);
  border-radius:22px;
  background:
    radial-gradient(circle at 12% 0%, rgba(178,157,99,.075), transparent 32%),
    linear-gradient(180deg, rgba(32,30,27,.22), rgba(10,10,10,.15));
  box-shadow:0 12px 28px rgba(0,0,0,.08);
  backdrop-filter:blur(8px) saturate(1.04);
}

.capability-page-diagnostics .capability-cta-copy{
  grid-column:1;
  grid-row:1;
  display:grid;
  gap:.3rem;
}

.capability-page-diagnostics .capability-cta-copy h2{
  max-width:34ch;
  font-size:clamp(1.04rem, 1.55vw, 1.34rem);
  line-height:1.16;
  letter-spacing:.006em;
}

.capability-page-diagnostics .capability-cta-actions{
  grid-column:2;
  grid-row:1 / span 2;
  display:flex;
  flex-wrap:wrap;
  gap:.62rem;
  justify-content:flex-end;
  align-self:center;
}

.capability-page-diagnostics .capability-cta-note{
  grid-column:1;
  grid-row:2;
  padding-top:.02rem;
  border-top:0;
  color:rgba(178,157,99,.82);
  font-size:.74rem;
  line-height:1.32;
}

.capability-page-diagnostics .capability-cta-strip{
  overflow:hidden;
}

@media (max-width: 1180px){
  .capability-page-diagnostics .capability-grid-4,
  .capability-page-diagnostics .capability-card-grid-4{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .capability-page-diagnostics .diagnostics-flow-compact{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    grid-template-rows:auto auto;
  }

  .capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-lines{
    display:none;
  }

  .capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-node-01{ grid-column:1; grid-row:1; }
  .capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-node-02{ grid-column:2; grid-row:1; }
  .capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-node-03{ grid-column:1; grid-row:2; }
  .capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-node-04{ grid-column:2; grid-row:2; }
}

@media (max-width: 980px){
  .capability-page-diagnostics .capability-intro-frame{
    grid-template-columns:1fr;
    gap:1.2rem;
  }

  .capability-page-diagnostics .capability-intro-highlights{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .capability-page-diagnostics .capability-strip-frame,
  .capability-page-diagnostics .capability-cta-frame{
    grid-template-columns:1fr;
  }

  .capability-page-diagnostics .capability-strip-head{
    border-right:0;
    border-bottom:0;
  }

  .capability-page-diagnostics .capability-strip-grid,
  .capability-page-diagnostics .capability-grid-3,
  .capability-page-diagnostics .capability-card-grid-3{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .capability-page-diagnostics .capability-grid-4,
  .capability-page-diagnostics .capability-card-grid-4{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .capability-page-diagnostics .capability-note,
  .capability-page-diagnostics .capability-grid-item{
    border-left:0;
    border-top:1px solid rgba(18,17,15,.08);
  }

  .capability-page-diagnostics .capability-grid-item:first-child{
    border-top:0;
  }

  .capability-page-diagnostics .capability-card,
  .capability-page-diagnostics .capability-grid-item.capability-card:first-child{
    border:1px solid rgba(207,190,139,.105);
  }

  .capability-page-diagnostics .diagnostics-flow{
    min-height:unset;
    grid-template-columns:1fr;
    grid-template-rows:none;
    gap:1.9rem;
  }

  .capability-page-diagnostics .diagnostics-flow-lines{
    display:none;
  }

  .capability-page-diagnostics .diagnostics-flow-node-01,
  .capability-page-diagnostics .diagnostics-flow-node-02,
  .capability-page-diagnostics .diagnostics-flow-node-03,
  .capability-page-diagnostics .diagnostics-flow-node-04,
  .capability-page-diagnostics .diagnostics-flow-node-05{
    grid-column:1;
    grid-row:auto;
  }

  .capability-page-diagnostics .diagnostics-flow-node:not(:last-child)::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-1.45rem;
    width:1px;
    height:1rem;
    background:rgba(178,157,99,.55);
  }

  .capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-node{
    min-height:unset;
  }

  .capability-page-diagnostics .capability-cta-actions{
    grid-column:1;
    grid-row:auto;
    justify-content:flex-start;
  }

  .capability-page-diagnostics .capability-cta-note{
    grid-column:1;
    grid-row:auto;
  }
}

@media (max-width: 760px){
  .capability-page-diagnostics .capability-hero{
    --diagnostics-hero-text-inset:1.65rem;
    margin-top:-1.35rem;
    padding:3.05rem 0 .3rem;
  }

  .capability-page-diagnostics .capability-hero-visual{
    width:118vw;
    margin-left:calc(50% - 59vw);
    min-height:360px;
    aspect-ratio:auto;
  }

  .capability-page-diagnostics .capability-hero-visual img{
    object-position:48% center;
  }

  .capability-page-diagnostics .capability-hero-visual::before{
    background:
      linear-gradient(180deg, rgba(12,11,10,.18), rgba(12,11,10,.05) 34%, rgba(12,11,10,.42)),
      radial-gradient(circle at 32% 74%, rgba(178,157,99,.10), transparent 42%);
  }

  .capability-page-diagnostics .capability-hero-content{
    left:var(--diagnostics-hero-text-inset);
    right:1.25rem;
    bottom:1rem;
    max-width:none;
    padding:0;
    background:transparent;
  }

  .capability-page-diagnostics .capability-hero h1{
    font-size:clamp(1.55rem, 7.4vw, 2.2rem);
  }

  .capability-page-diagnostics .capability-strip,
  .capability-page-diagnostics .capability-section,
  .capability-page-diagnostics .capability-cta{
    padding:1.25rem 0;
  }

  .capability-page-diagnostics .capability-intro-frame,
  .capability-page-diagnostics .capability-intro-highlights{
    grid-template-columns:1fr;
  }

  .capability-page-diagnostics .capability-strip-grid,
  .capability-page-diagnostics .capability-grid-4,
  .capability-page-diagnostics .capability-grid-3,
  .capability-page-diagnostics .capability-card-grid-3,
  .capability-page-diagnostics .capability-card-grid-4{
    grid-template-columns:1fr;
  }

  .capability-page-diagnostics .diagnostics-flow{
    padding:.68rem;
  }

  .capability-page-diagnostics .capability-strip-head{
    padding:0 0 .85rem;
  }

  .capability-page-diagnostics .capability-card{
    min-height:unset;
    padding:.95rem;
  }

  .capability-page-diagnostics .capability-cta-frame{
    padding:1rem;
  }
}

/* Operational diagnostics tonal alignment with the current mineral system. */
.dc-diagnostics-page #dc-canvas{
  opacity:.028;
}

.dc-diagnostics-page .capability-page-diagnostics{
  --diagnostics-card-border:rgba(20,18,15,.105);
  --diagnostics-card-bg:
    linear-gradient(
      145deg,
      rgba(255,255,255,.16),
      rgba(255,255,255,.045) 74%,
      rgba(126,103,48,.026)
    );
  --diagnostics-card-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 14px 34px rgba(30,26,20,.045);
  color:rgba(36,32,25,.9);
}

.dc-diagnostics-page .capability-page-diagnostics .capability-hero{
  margin-top:clamp(-1.35rem, -1.8vw, -.7rem);
  padding:clamp(2.1rem, 3.1vw, 3rem) 0 clamp(.55rem, 1vw, .95rem);
}

.dc-diagnostics-page .capability-page-diagnostics .capability-hero-visual{
  min-height:clamp(280px, 31vw, 390px);
  background:
    linear-gradient(105deg, rgba(238,233,223,.34), rgba(238,233,223,.16) 56%, rgba(126,103,48,.055));
  box-shadow:0 18px 42px rgba(30,26,20,.07);
}

.dc-diagnostics-page .capability-page-diagnostics .capability-hero-visual img{
  opacity:.74;
  filter:brightness(.92) grayscale(.08) sepia(.08) contrast(.96) saturate(.82);
}

.dc-diagnostics-page .capability-page-diagnostics .capability-hero-visual::before{
  background:
    linear-gradient(90deg, rgba(238,233,223,.76) 0%, rgba(238,233,223,.42) 38%, rgba(238,233,223,.12) 72%, rgba(238,233,223,.36) 100%),
    linear-gradient(180deg, rgba(240,236,228,.30), rgba(240,236,228,.08) 48%, rgba(222,215,204,.24)),
    radial-gradient(circle at 31% 68%, rgba(126,103,48,.10), transparent 42%);
}

.dc-diagnostics-page .capability-page-diagnostics .capability-hero-visual::after{
  background:
    linear-gradient(to bottom, rgba(240,236,228,.36), rgba(240,236,228,.08) 28%, rgba(222,215,204,.22)),
    linear-gradient(to right, rgba(232,226,216,.38), rgba(232,226,216,.08) 24%, transparent 58%, rgba(232,226,216,.28) 100%);
}

.dc-diagnostics-page .capability-page-diagnostics .capability-hero h1{
  color:rgba(31,28,22,.94);
  text-shadow:none;
}

.dc-diagnostics-page .capability-page-diagnostics .capability-hero p:not(.eyebrow){
  color:rgba(45,40,32,.72);
  text-shadow:none;
}

.dc-diagnostics-page .capability-page-diagnostics .eyebrow{
  color:rgba(126,103,48,.86);
}

.dc-diagnostics-page .capability-page-diagnostics h2,
.dc-diagnostics-page .capability-page-diagnostics .capability-section-head h2,
.dc-diagnostics-page .capability-page-diagnostics .capability-cta-copy h2{
  color:rgba(31,28,22,.9);
}

.dc-diagnostics-page .capability-page-diagnostics .capability-intro-copy p,
.dc-diagnostics-page .capability-page-diagnostics .capability-section-head p,
.dc-diagnostics-page .capability-page-diagnostics .capability-cta-copy p{
  color:rgba(45,40,32,.66);
}

.dc-diagnostics-page .capability-page-diagnostics .capability-intro-highlights li,
.dc-diagnostics-page .capability-page-diagnostics .capability-card,
.dc-diagnostics-page .capability-page-diagnostics .diagnostics-flow,
.dc-diagnostics-page .capability-page-diagnostics .diagnostics-flow-node,
.dc-diagnostics-page .capability-page-diagnostics .capability-cta-frame{
  border-color:rgba(20,18,15,.105);
  background:var(--diagnostics-card-bg);
  box-shadow:var(--diagnostics-card-shadow);
  color:rgba(36,32,25,.86);
}

.dc-diagnostics-page .capability-page-diagnostics .capability-card:hover{
  border-color:rgba(126,103,48,.18);
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.22),
      rgba(255,255,255,.07) 74%,
      rgba(126,103,48,.035)
    );
}

.dc-diagnostics-page .capability-page-diagnostics .diagnostics-flow-compact{
  border-color:rgba(20,18,15,.105);
  background:
    radial-gradient(circle at 50% 42%, rgba(126,103,48,.055), transparent 36%),
    linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.045) 74%, rgba(126,103,48,.026));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 14px 34px rgba(30,26,20,.045);
}

.dc-diagnostics-page .capability-page-diagnostics .diagnostics-flow-compact::before{
  opacity:.12;
  background:
    linear-gradient(rgba(20,18,15,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20,18,15,.10) 1px, transparent 1px);
}

.dc-diagnostics-page .capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-node{
  border-color:rgba(20,18,15,.10);
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.14),
      rgba(255,255,255,.04) 74%,
      rgba(126,103,48,.026)
    );
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
}

.dc-diagnostics-page .capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-node-02{
  border-color:rgba(126,103,48,.22);
  background:
    radial-gradient(circle at 100% 0%, rgba(126,103,48,.075), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.15), rgba(255,255,255,.045) 74%, rgba(126,103,48,.035));
}

.dc-diagnostics-page .capability-page-diagnostics h3,
.dc-diagnostics-page .capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-node h3{
  color:rgba(31,28,22,.88);
}

.dc-diagnostics-page .capability-page-diagnostics .capability-card p,
.dc-diagnostics-page .capability-page-diagnostics .capability-grid-item p,
.dc-diagnostics-page .capability-page-diagnostics .diagnostics-flow-node p,
.dc-diagnostics-page .capability-page-diagnostics .diagnostics-flow-compact .diagnostics-flow-node p{
  color:rgba(45,40,32,.66);
}

.dc-diagnostics-page .capability-page-diagnostics .capability-note span,
.dc-diagnostics-page .capability-page-diagnostics .capability-grid-item span,
.dc-diagnostics-page .capability-page-diagnostics .diagnostics-flow-index,
.dc-diagnostics-page .capability-page-diagnostics .capability-cta-note{
  color:rgba(126,103,48,.78);
}

.dc-diagnostics-page .capability-page-diagnostics .diagnostics-flow-rail{
  stroke:rgba(126,103,48,.10);
}

.dc-diagnostics-page .capability-page-diagnostics .diagnostics-flow-line{
  stroke:rgba(126,103,48,.48);
}

.dc-diagnostics-page .capability-page-diagnostics .diagnostics-flow-arrow{
  fill:rgba(126,103,48,.52);
}

.dc-diagnostics-page .capability-page-diagnostics .capability-cta-actions .btn{
  border-radius:2px;
  border-color:rgba(24,23,22,.70);
  background:rgba(24,23,22,.82);
  color:rgba(246,241,232,.94);
  box-shadow:none;
}

.dc-diagnostics-page .capability-page-diagnostics .capability-cta-actions .btn-outline{
  border-color:rgba(32,29,23,.24);
  background:rgba(255,255,255,.12);
  color:rgba(34,30,24,.82);
}

@media (max-width: 760px){
  .dc-diagnostics-page .capability-page-diagnostics .capability-hero{
    margin-top:-.85rem;
    padding:2.4rem 0 .6rem;
  }

  .dc-diagnostics-page .capability-page-diagnostics .capability-hero-visual{
    min-height:320px;
  }

  .dc-diagnostics-page .capability-page-diagnostics .capability-hero-visual::before{
    background:
      linear-gradient(180deg, rgba(238,233,223,.54), rgba(238,233,223,.22) 44%, rgba(222,215,204,.42)),
      radial-gradient(circle at 32% 74%, rgba(126,103,48,.10), transparent 42%);
  }
}

/* Five layer pages: compact editorial system pages. */
.dc-layer-page-body #dc-canvas{
  opacity:.028;
}

.layer-page-main{
  position:relative;
  z-index:2;
  padding-top:0;
}

.layer-page-main .container{
  width:min(calc(100% - 2rem), 1320px);
  margin-inline:auto;
}

.layer-hero{
  padding:clamp(4.9rem, 8vw, 7rem) 0 clamp(1rem, 2.2vw, 2rem);
}

.layer-hero-frame,
.layer-panel,
.layer-final-cta{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(20,18,15,.13);
  border-radius:2px;
  background:
    linear-gradient(105deg, rgba(238,233,223,.34), rgba(238,233,223,.18) 52%, rgba(28,28,31,.12));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 18px 42px rgba(0,0,0,.08);
  backdrop-filter:blur(7px) saturate(105%);
  -webkit-backdrop-filter:blur(7px) saturate(105%);
}

.layer-hero-frame::before,
.layer-panel::before,
.layer-final-cta::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(126,103,48,.22), rgba(255,255,255,.22), transparent);
  pointer-events:none;
}

.layer-hero-frame{
  min-height:clamp(300px, 42svh, 450px);
  display:grid;
  align-content:center;
  gap:.7rem;
  padding:clamp(1.25rem, 4vw, 4rem);
}

.layer-hero-frame h1{
  max-width:13ch;
  color:rgba(31,28,22,.96);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(2.25rem, 4.8vw, 5.1rem);
  font-weight:540;
  line-height:1;
  letter-spacing:0;
  text-wrap:balance;
}

.layer-lead{
  max-width:58ch;
  color:rgba(39,35,28,.76);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(.98rem, 1.08vw, 1.14rem);
  line-height:1.64;
}

.layer-section{
  padding:clamp(1.15rem, 2.45vw, 2.55rem) 0;
}

.layer-panel{
  padding:clamp(1rem, 2.8vw, 2.45rem);
}

.layer-control-panel{
  display:grid;
  grid-template-columns:minmax(0, .78fr) minmax(360px, 1.22fr);
  gap:clamp(1.2rem, 3.5vw, 3.6rem);
  align-items:start;
}

.layer-split-panel{
  display:grid;
  grid-template-columns:minmax(0, .7fr) minmax(340px, 1fr);
  gap:clamp(1.2rem, 3.5vw, 3.6rem);
  align-items:center;
}

.layer-copy{
  display:grid;
  align-content:start;
  gap:.55rem;
  min-width:0;
}

.layer-copy h2{
  max-width:22ch;
  color:rgba(31,28,22,.92);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(1.35rem, 2.4vw, 2.45rem);
  font-weight:540;
  line-height:1.08;
  letter-spacing:0;
  text-wrap:balance;
}

.layer-copy p:not(.dc-kicker){
  max-width:62ch;
  color:rgba(45,40,32,.66);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.95rem;
  line-height:1.68;
}

.layer-topic-list{
  display:grid;
  gap:0;
  border-top:1px solid rgba(24,22,18,.12);
}

.layer-topic{
  position:relative;
  display:grid;
  grid-template-columns:42px minmax(0, 1fr);
  gap:.72rem;
  padding:.82rem 0;
  border-bottom:1px solid rgba(24,22,18,.095);
}

.layer-topic::before{
  content:"";
  position:absolute;
  left:0;
  top:.95rem;
  width:6px;
  height:6px;
  border:1px solid rgba(126,103,48,.36);
  background:rgba(238,234,225,.76);
  transform:translateX(-50%) rotate(45deg);
}

.layer-topic span{
  padding-left:.75rem;
  color:rgba(126,103,48,.68);
  font-size:.66rem;
  font-weight:650;
  letter-spacing:.14em;
  line-height:1.25;
  font-variant-numeric:tabular-nums;
}

.layer-topic h3{
  margin:0;
  color:rgba(31,28,22,.86);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:1rem;
  font-weight:560;
  line-height:1.22;
}

.layer-topic p{
  grid-column:2;
  max-width:64ch;
  margin:0;
  color:rgba(45,40,32,.62);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.86rem;
  line-height:1.56;
}

.dc-layer-anchor{
  scroll-margin-top:130px;
}

.layer-page-strategy,
.layer-page-engineering,
.layer-page-infrastructure,
.layer-page-security,
.layer-page-implementation{
  --strategy-surface-width:1120px;
}

.strategy-sheet-section{
  padding:clamp(2rem, 3.4vw, 3rem) 0 clamp(1.05rem, 2.4vw, 2rem);
}

.strategy-sheet{
  display:grid;
  gap:clamp(1.2rem, 2.6vw, 2.25rem);
  width:min(100%, var(--strategy-surface-width));
  margin-inline:auto;
  padding:clamp(1.25rem, 3.6vw, 3.8rem);
}

.strategy-sheet-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem .75rem;
  color:rgba(126,103,48,.76);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.66rem;
  font-weight:680;
  letter-spacing:.16em;
  line-height:1.2;
  text-transform:uppercase;
}

.strategy-sheet-meta span + span{
  position:relative;
  padding-left:.92rem;
}

.strategy-sheet-meta span + span::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:4px;
  height:4px;
  border:1px solid rgba(126,103,48,.42);
  transform:translateY(-50%) rotate(45deg);
}

.strategy-sheet-copy{
  display:grid;
  gap:.92rem;
  max-width:76ch;
}

.strategy-sheet-copy h1{
  max-width:13ch;
  margin:0 0 .18rem;
  color:rgba(31,28,22,.96);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(2.25rem, 3.9vw, 4.15rem);
  font-weight:540;
  line-height:1.03;
  letter-spacing:0;
  text-wrap:balance;
}

.strategy-sheet-copy p,
.strategy-sheet-close{
  margin:0;
  color:rgba(45,40,32,.66);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(.95rem, 1vw, 1.02rem);
  line-height:1.76;
}

.strategy-sheet-copy .strategy-sheet-lead{
  max-width:58ch;
  color:rgba(39,35,28,.76);
  font-size:clamp(.98rem, 1.08vw, 1.14rem);
  line-height:1.64;
}

.strategy-method-strip{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  border-top:1px solid rgba(24,22,18,.12);
  border-bottom:1px solid rgba(24,22,18,.10);
}

.strategy-method-item{
  position:relative;
  min-height:154px;
  display:grid;
  align-content:start;
  gap:.42rem;
  padding:clamp(.9rem, 1.35vw, 1.1rem) clamp(.72rem, 1.2vw, 1rem);
  border-right:1px solid rgba(24,22,18,.09);
}

.strategy-method-item:last-child{
  border-right:0;
}

.strategy-method-icon{
  width:19px;
  height:19px;
  display:block;
  object-fit:contain;
  margin-bottom:14px;
  opacity:.72;
  filter:invert(47%) sepia(22%) saturate(590%) hue-rotate(8deg) brightness(88%) contrast(86%);
}

.strategy-method-item h3{
  margin:0;
  color:rgba(31,28,22,.86);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(.92rem, 1vw, 1.02rem);
  font-weight:560;
  line-height:1.18;
}

.strategy-method-item p{
  max-width:26ch;
  margin:0;
  color:rgba(45,40,32,.62);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.82rem;
  line-height:1.52;
}

.strategy-sheet-close{
  max-width:68ch;
  padding-top:clamp(.25rem, .8vw, .65rem);
  color:rgba(31,28,22,.72);
}

.engineering-sheet-section{
  padding:clamp(2rem, 3.4vw, 3rem) 0 clamp(1.05rem, 2.4vw, 2rem);
}

.engineering-sheet{
  display:grid;
  gap:clamp(1rem, 2.2vw, 1.85rem);
  width:min(100%, var(--strategy-surface-width));
  margin-inline:auto;
  padding:clamp(1.15rem, 3.1vw, 3.25rem);
}

.engineering-sheet-head{
  display:grid;
  gap:.85rem;
  max-width:78ch;
}

.engineering-sheet-head h1{
  max-width:15ch;
  margin:0;
  color:rgba(31,28,22,.96);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(2rem, 3.3vw, 3.55rem);
  font-weight:540;
  line-height:1.04;
  letter-spacing:0;
  text-wrap:balance;
}

.engineering-sheet-copy{
  display:grid;
  gap:.72rem;
  max-width:72ch;
}

.engineering-sheet-copy p{
  margin:0;
  color:rgba(45,40,32,.66);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(.92rem, .98vw, 1rem);
  line-height:1.7;
}

.engineering-blueprint{
  position:relative;
  display:grid;
  grid-template-columns:minmax(170px, .34fr) minmax(0, 1fr);
  gap:clamp(1rem, 2.2vw, 1.8rem);
  overflow:hidden;
  padding:clamp(.85rem, 1.6vw, 1.25rem);
  border:1px solid rgba(24,22,18,.07);
  background:
    linear-gradient(rgba(24,22,18,.030) 1px, transparent 1px),
    linear-gradient(90deg, rgba(24,22,18,.025) 1px, transparent 1px),
    linear-gradient(145deg, rgba(255,255,255,.078), rgba(255,255,255,.020) 72%, transparent);
  background-size:56px 56px, 56px 56px, auto;
}

.engineering-blueprint::before{
  content:"";
  position:absolute;
  left:clamp(11.8rem, 24vw, 17.6rem);
  right:clamp(.85rem, 1.6vw, 1.25rem);
  top:50%;
  height:1px;
  background:linear-gradient(90deg, rgba(126,103,48,.16), rgba(126,103,48,.05), transparent);
  pointer-events:none;
}

.engineering-blueprint-core{
  position:relative;
  z-index:1;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:.82rem;
  min-height:220px;
  border:1px solid rgba(126,103,48,.11);
  background:radial-gradient(circle at 50% 50%, rgba(255,255,255,.14), rgba(255,255,255,.028) 72%, transparent);
}

.engineering-blueprint-core span{
  color:rgba(126,103,48,.82);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.68rem;
  font-weight:680;
  letter-spacing:.18em;
  line-height:1.2;
  text-align:center;
  text-transform:uppercase;
}

.engineering-blueprint-core ul{
  display:grid;
  gap:.34rem;
  margin:0;
  padding:.62rem 0 0;
  border-top:1px solid rgba(126,103,48,.14);
  list-style:none;
}

.engineering-blueprint-core li{
  color:rgba(45,40,32,.56);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.68rem;
  font-weight:520;
  letter-spacing:.10em;
  line-height:1.2;
  text-align:center;
  text-transform:uppercase;
}

.engineering-module-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:0;
  border-top:1px solid rgba(24,22,18,.075);
  border-left:1px solid rgba(24,22,18,.075);
}

.engineering-module{
  min-height:150px;
  display:grid;
  align-content:start;
  gap:.38rem;
  padding:clamp(.85rem, 1.3vw, 1rem);
  border-right:1px solid rgba(24,22,18,.075);
  border-bottom:1px solid rgba(24,22,18,.075);
  background:rgba(255,255,255,.026);
}

.engineering-module h3{
  max-width:18ch;
  margin:0;
  color:rgba(31,28,22,.86);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(.9rem, .95vw, 1rem);
  font-weight:560;
  line-height:1.18;
}

.engineering-module p{
  max-width:28ch;
  margin:0;
  color:rgba(45,40,32,.62);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.81rem;
  line-height:1.5;
}

.infrastructure-sheet-section{
  padding:clamp(2rem, 3.4vw, 3rem) 0 clamp(1.05rem, 2.4vw, 2rem);
}

.infrastructure-sheet{
  display:grid;
  gap:clamp(1.1rem, 2.3vw, 2rem);
  width:min(100%, var(--strategy-surface-width));
  margin-inline:auto;
  padding:clamp(1.2rem, 3.25vw, 3.4rem);
}

.infrastructure-sheet-head{
  display:grid;
  gap:.86rem;
  max-width:80ch;
}

.infrastructure-sheet-head h1{
  max-width:14ch;
  margin:0;
  color:rgba(31,28,22,.96);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(2.05rem, 3.5vw, 3.75rem);
  font-weight:540;
  line-height:1.04;
  letter-spacing:0;
  text-wrap:balance;
}

.infrastructure-sheet-copy{
  display:grid;
  gap:.74rem;
  max-width:74ch;
}

.infrastructure-sheet-copy p{
  margin:0;
  color:rgba(45,40,32,.66);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(.92rem, .98vw, 1rem);
  line-height:1.7;
}

.infrastructure-rack-system{
  display:grid;
  grid-template-columns:minmax(220px, .42fr) minmax(0, .58fr);
  gap:0;
  overflow:hidden;
  border-top:1px solid rgba(126,103,48,.20);
  border-bottom:1px solid rgba(24,22,18,.095);
  background:
    linear-gradient(105deg, rgba(255,255,255,.078), rgba(255,255,255,.024) 60%, rgba(126,103,48,.030)),
    linear-gradient(180deg, rgba(255,255,255,.060), rgba(255,255,255,.016));
}

.infrastructure-rack-visual{
  display:grid;
  align-content:center;
  justify-items:center;
  gap:clamp(.72rem, 1.4vw, 1.05rem);
  min-height:clamp(300px, 30vw, 380px);
  padding:clamp(1.1rem, 2.4vw, 2rem);
  border-right:1px solid rgba(24,22,18,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.016)),
    radial-gradient(circle at 50% 48%, rgba(126,103,48,.060), transparent 58%);
}

.infrastructure-rack-image{
  width:min(230px, 72%);
  max-height:310px;
  opacity:.54;
  filter:
    sepia(.34)
    saturate(.58)
    brightness(.76)
    contrast(.92);
}

.infrastructure-rack-caption{
  display:grid;
  justify-items:center;
  gap:.26rem;
  text-align:center;
}

.infrastructure-rack-caption span{
  color:rgba(126,103,48,.84);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.64rem;
  font-weight:650;
  letter-spacing:.15em;
  line-height:1.2;
}

.infrastructure-rack-caption p{
  margin:0;
  color:rgba(45,40,32,.54);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.7rem;
  font-weight:520;
  letter-spacing:.11em;
  line-height:1.35;
}

.infrastructure-capability-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:0;
  background:rgba(255,255,255,.018);
}

.infrastructure-capability{
  min-height:clamp(150px, 15vw, 188px);
  display:grid;
  align-content:start;
  gap:.42rem;
  padding:clamp(1rem, 1.7vw, 1.35rem);
  border-right:1px solid rgba(24,22,18,.082);
  border-bottom:1px solid rgba(24,22,18,.082);
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012));
}

.infrastructure-capability:nth-child(even){
  border-right:0;
}

.infrastructure-capability:nth-last-child(-n + 2){
  border-bottom:0;
}

.infrastructure-capability h3{
  max-width:19ch;
  margin:0;
  color:rgba(31,28,22,.86);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(.94rem, 1.05vw, 1.06rem);
  font-weight:560;
  line-height:1.18;
}

.infrastructure-capability p{
  max-width:31ch;
  margin:0;
  color:rgba(45,40,32,.62);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.82rem;
  line-height:1.52;
}

.security-sheet-section{
  padding:clamp(2rem, 3.4vw, 3rem) 0 clamp(1.05rem, 2.4vw, 2rem);
}

.security-sheet{
  display:grid;
  gap:clamp(1.1rem, 2.3vw, 2rem);
  width:min(100%, var(--strategy-surface-width));
  margin-inline:auto;
  padding:clamp(1.2rem, 3.25vw, 3.4rem);
}

.security-sheet-head{
  display:grid;
  gap:.86rem;
  max-width:82ch;
}

.security-sheet-head h1{
  max-width:14ch;
  margin:0;
  color:rgba(31,28,22,.96);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(2.05rem, 3.5vw, 3.75rem);
  font-weight:540;
  line-height:1.04;
  letter-spacing:0;
  text-wrap:balance;
}

.security-sheet-copy{
  display:grid;
  gap:.74rem;
  max-width:75ch;
}

.security-sheet-copy p{
  margin:0;
  color:rgba(45,40,32,.66);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(.92rem, .98vw, 1rem);
  line-height:1.7;
}

.security-anchor-targets{
  position:relative;
  height:0;
}

.dc-anchor-target{
  position:absolute;
  top:clamp(-170px, -12vw, -132px);
  display:block;
  width:1px;
  height:1px;
  overflow:hidden;
  pointer-events:none;
  visibility:hidden;
}

.security-shield-system{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(178px, .64fr) minmax(0, 1fr);
  grid-template-areas:
    "cyber core access"
    "monitor core physical";
  gap:0;
  overflow:hidden;
  border-top:1px solid rgba(126,103,48,.18);
  border-bottom:1px solid rgba(24,22,18,.095);
  background:
    radial-gradient(circle at 50% 50%, rgba(126,103,48,.060), transparent 34%),
    linear-gradient(115deg, rgba(255,255,255,.076), rgba(255,255,255,.020) 68%, rgba(126,103,48,.024));
}

.security-shield-system::before,
.security-shield-system::after{
  content:"";
  position:absolute;
  pointer-events:none;
}

.security-shield-system::before{
  left:clamp(1rem, 2vw, 1.4rem);
  right:clamp(1rem, 2vw, 1.4rem);
  top:50%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(126,103,48,.18), transparent);
}

.security-shield-system::after{
  top:clamp(1rem, 2vw, 1.4rem);
  bottom:clamp(1rem, 2vw, 1.4rem);
  left:50%;
  width:1px;
  background:linear-gradient(180deg, transparent, rgba(126,103,48,.16), transparent);
}

.security-shield-core{
  grid-area:core;
  position:relative;
  z-index:1;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:.72rem;
  min-height:clamp(280px, 28vw, 360px);
  padding:clamp(1rem, 2vw, 1.6rem);
  border-left:1px solid rgba(24,22,18,.075);
  border-right:1px solid rgba(24,22,18,.075);
  background:
    radial-gradient(circle at 50% 44%, rgba(255,255,255,.22), rgba(255,255,255,.050) 62%, transparent),
    linear-gradient(180deg, rgba(255,255,255,.042), rgba(255,255,255,.014));
  text-align:center;
}

.security-shield-icon{
  width:clamp(74px, 8vw, 116px);
  height:clamp(74px, 8vw, 116px);
  object-fit:contain;
  opacity:.46;
  filter:invert(47%) sepia(22%) saturate(590%) hue-rotate(8deg) brightness(88%) contrast(86%);
}

.security-shield-core span{
  max-width:18ch;
  color:rgba(126,103,48,.84);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.64rem;
  font-weight:650;
  letter-spacing:.15em;
  line-height:1.35;
  text-transform:uppercase;
}

.security-shield-core p{
  max-width:28ch;
  margin:0;
  color:rgba(45,40,32,.54);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.68rem;
  font-weight:520;
  letter-spacing:.10em;
  line-height:1.45;
}

.security-shield-layer{
  position:relative;
  z-index:1;
  min-height:clamp(140px, 14vw, 178px);
  display:grid;
  align-content:start;
  gap:.42rem;
  padding:clamp(1rem, 1.7vw, 1.35rem);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012));
}

.security-shield-layer-cyber{
  grid-area:cyber;
  border-right:1px solid rgba(24,22,18,.070);
  border-bottom:1px solid rgba(24,22,18,.082);
}

.security-shield-layer-access{
  grid-area:access;
  border-left:1px solid rgba(24,22,18,.070);
  border-bottom:1px solid rgba(24,22,18,.082);
}

.security-shield-layer-monitor{
  grid-area:monitor;
  border-right:1px solid rgba(24,22,18,.070);
}

.security-shield-layer-physical{
  grid-area:physical;
  border-left:1px solid rgba(24,22,18,.070);
}

.security-shield-layer h3{
  max-width:20ch;
  margin:0;
  color:rgba(31,28,22,.86);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(.94rem, 1.05vw, 1.06rem);
  font-weight:560;
  line-height:1.18;
}

.security-shield-layer p{
  max-width:31ch;
  margin:0;
  color:rgba(45,40,32,.62);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.82rem;
  line-height:1.52;
}

.implementation-sheet-section{
  padding:clamp(2rem, 3.4vw, 3rem) 0 clamp(1.05rem, 2.4vw, 2rem);
}

.implementation-sheet{
  display:grid;
  gap:clamp(1.1rem, 2.3vw, 2rem);
  width:min(100%, var(--strategy-surface-width));
  margin-inline:auto;
  padding:clamp(1.2rem, 3.25vw, 3.4rem);
}

.implementation-sheet-head{
  display:grid;
  gap:.86rem;
  max-width:82ch;
}

.implementation-sheet-head h1{
  max-width:15ch;
  margin:0;
  color:rgba(31,28,22,.96);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(2.05rem, 3.5vw, 3.75rem);
  font-weight:540;
  line-height:1.04;
  letter-spacing:0;
  text-wrap:balance;
}

.implementation-sheet-copy{
  display:grid;
  gap:.74rem;
  max-width:75ch;
}

.implementation-sheet-copy p{
  margin:0;
  color:rgba(45,40,32,.66);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(.92rem, .98vw, 1rem);
  line-height:1.7;
}

.implementation-deployment{
  overflow:hidden;
  border-top:1px solid rgba(126,103,48,.18);
  border-bottom:1px solid rgba(24,22,18,.095);
  background:
    linear-gradient(115deg, rgba(255,255,255,.076), rgba(255,255,255,.022) 70%, rgba(126,103,48,.026)),
    radial-gradient(circle at 84% 20%, rgba(126,103,48,.050), transparent 34%);
}

.implementation-deployment-head{
  display:grid;
  gap:.22rem;
  padding:clamp(.9rem, 1.7vw, 1.25rem);
  border-bottom:1px solid rgba(24,22,18,.082);
}

.implementation-deployment-head span{
  color:rgba(126,103,48,.84);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.64rem;
  font-weight:650;
  letter-spacing:.15em;
  line-height:1.2;
}

.implementation-deployment-head p{
  margin:0;
  color:rgba(45,40,32,.54);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.7rem;
  font-weight:520;
  letter-spacing:.11em;
  line-height:1.35;
}

.implementation-deployment-rail{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1fr) 26px minmax(0, 1fr) 26px minmax(0, 1fr) 26px minmax(0, 1fr);
  align-items:stretch;
  gap:0;
}

.implementation-step{
  min-height:clamp(158px, 15vw, 190px);
  display:grid;
  align-content:start;
  gap:.42rem;
  padding:clamp(1rem, 1.7vw, 1.35rem);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012));
}

.implementation-step h3{
  max-width:20ch;
  margin:0;
  color:rgba(31,28,22,.86);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(.94rem, 1.05vw, 1.06rem);
  font-weight:560;
  line-height:1.18;
}

.implementation-step p{
  max-width:31ch;
  margin:0;
  color:rgba(45,40,32,.62);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.82rem;
  line-height:1.52;
}

.implementation-flow-arrow{
  align-self:center;
  justify-self:center;
  width:22px;
  height:22px;
  object-fit:contain;
  opacity:.44;
  filter:invert(47%) sepia(22%) saturate(590%) hue-rotate(8deg) brightness(88%) contrast(86%);
}

.layer-page-strategy .layer-final-cta,
.layer-page-engineering .layer-final-cta,
.layer-page-infrastructure .layer-final-cta,
.layer-page-security .layer-final-cta,
.layer-page-implementation .layer-final-cta{
  width:min(100%, var(--strategy-surface-width));
  margin-inline:auto;
  background:
    linear-gradient(105deg, rgba(238,233,223,.34), rgba(238,233,223,.18) 52%, rgba(28,28,31,.16));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 18px 42px rgba(0,0,0,.10);
}

.layer-page-strategy .layer-final-cta .dc-kicker,
.layer-page-engineering .layer-final-cta .dc-kicker,
.layer-page-infrastructure .layer-final-cta .dc-kicker,
.layer-page-security .layer-final-cta .dc-kicker,
.layer-page-implementation .layer-final-cta .dc-kicker{
  color:rgba(126,103,48,.86);
}

.layer-page-strategy .layer-final-cta .dc-kicker::before,
.layer-page-engineering .layer-final-cta .dc-kicker::before,
.layer-page-infrastructure .layer-final-cta .dc-kicker::before,
.layer-page-security .layer-final-cta .dc-kicker::before,
.layer-page-implementation .layer-final-cta .dc-kicker::before{
  background:rgba(126,103,48,.48);
}

.layer-page-strategy .layer-final-cta .dc-panel-copy h2,
.layer-page-engineering .layer-final-cta .dc-panel-copy h2,
.layer-page-infrastructure .layer-final-cta .dc-panel-copy h2,
.layer-page-security .layer-final-cta .dc-panel-copy h2,
.layer-page-implementation .layer-final-cta .dc-panel-copy h2{
  max-width:18ch;
  color:rgba(31,28,22,.94);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(1.35rem, 2.25vw, 2.35rem);
  font-weight:540;
  line-height:1.06;
}

.layer-page-strategy .layer-final-cta .dc-panel-copy p:not(.dc-kicker),
.layer-page-engineering .layer-final-cta .dc-panel-copy p:not(.dc-kicker),
.layer-page-infrastructure .layer-final-cta .dc-panel-copy p:not(.dc-kicker),
.layer-page-security .layer-final-cta .dc-panel-copy p:not(.dc-kicker),
.layer-page-implementation .layer-final-cta .dc-panel-copy p:not(.dc-kicker){
  max-width:56ch;
  color:rgba(45,40,32,.66);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(.88rem, .96vw, .98rem);
  line-height:1.6;
}

.layer-page-strategy .layer-final-cta .dc-final-actions p,
.layer-page-engineering .layer-final-cta .dc-final-actions p,
.layer-page-infrastructure .layer-final-cta .dc-final-actions p,
.layer-page-security .layer-final-cta .dc-final-actions p,
.layer-page-implementation .layer-final-cta .dc-final-actions p{
  max-width:32ch;
  color:rgba(64,58,48,.58);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.76rem;
  line-height:1.42;
  text-align:left;
}

.layer-signal-list{
  display:grid;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid rgba(24,22,18,.12);
}

.layer-signal-list li{
  position:relative;
  min-height:54px;
  padding:.82rem 0 .82rem 1.05rem;
  border-bottom:1px solid rgba(24,22,18,.095);
  color:rgba(35,31,25,.72);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.92rem;
  line-height:1.5;
}

.layer-signal-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:1.2rem;
  width:5px;
  height:5px;
  border:1px solid rgba(126,103,48,.34);
  background:rgba(238,234,225,.76);
  transform:rotate(45deg);
}

.layer-outcome-list li{
  color:rgba(31,28,22,.76);
}

.layer-final-section{
  padding-bottom:clamp(2rem, 4vw, 4rem);
}

.layer-final-cta{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(250px, 360px);
  align-items:center;
}

.layer-final-cta .dc-panel-copy{
  padding:clamp(1.15rem, 2.8vw, 2.55rem);
}

.layer-final-cta .dc-final-actions{
  padding:clamp(1.15rem, 2.8vw, 2.55rem);
  border-left:1px solid rgba(20,18,15,.13);
}

.layer-final-cta .dc-final-actions .btn{
  width:100%;
  max-width:270px;
}

@media (max-width: 980px){
  .layer-control-panel,
  .layer-split-panel,
  .layer-final-cta{
    grid-template-columns:1fr;
  }

  .strategy-method-strip{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .engineering-blueprint{
    grid-template-columns:1fr;
  }

  .engineering-blueprint::before{
    display:none;
  }

  .engineering-blueprint-core{
    min-height:96px;
  }

  .infrastructure-rack-system{
    grid-template-columns:1fr;
  }

  .infrastructure-rack-visual{
    min-height:240px;
    border-right:0;
    border-bottom:1px solid rgba(24,22,18,.10);
  }

  .security-shield-system{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "core core"
      "cyber access"
      "monitor physical";
  }

  .security-shield-system::after{
    display:none;
  }

  .security-shield-core{
    min-height:220px;
    border-left:0;
    border-right:0;
    border-bottom:1px solid rgba(24,22,18,.085);
  }

  .implementation-deployment-rail{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .implementation-flow-arrow{
    display:none;
  }

  .layer-final-cta .dc-final-actions{
    border-left:0;
    border-top:1px solid rgba(20,18,15,.13);
  }
}

@media (max-width: 640px){
  .layer-page-main .container{
    width:min(calc(100% - 1.1rem), 1320px);
  }

  .layer-hero{
    padding:clamp(3.4rem, 10vw, 4.8rem) 0 .9rem;
  }

  .layer-hero-frame,
  .layer-panel{
    padding:1rem;
  }

  .layer-hero-frame{
    min-height:280px;
  }

  .layer-hero-frame h1{
    font-size:clamp(2rem, 10vw, 3.2rem);
  }

  .layer-topic{
    grid-template-columns:34px minmax(0, 1fr);
  }

  .strategy-sheet-section{
    padding:clamp(1.65rem, 6vw, 2.4rem) 0 .9rem;
  }

  .strategy-sheet{
    padding:1rem;
  }

  .strategy-sheet-copy h1{
    font-size:clamp(2rem, 9vw, 3rem);
  }

  .strategy-method-strip{
    grid-template-columns:1fr;
  }

  .strategy-method-item{
    min-height:0;
    border-right:0;
    border-bottom:1px solid rgba(24,22,18,.09);
  }

  .strategy-method-item:last-child{
    border-bottom:0;
  }

  .engineering-sheet-section{
    padding:clamp(1.65rem, 6vw, 2.4rem) 0 .9rem;
  }

  .engineering-sheet{
    padding:1rem;
  }

  .engineering-sheet-head h1{
    font-size:clamp(1.9rem, 8.6vw, 2.8rem);
  }

  .engineering-module-grid{
    grid-template-columns:1fr;
  }

  .engineering-module{
    min-height:0;
  }

  .infrastructure-sheet-section{
    padding:clamp(1.65rem, 6vw, 2.4rem) 0 .9rem;
  }

  .infrastructure-sheet{
    padding:1rem;
  }

  .infrastructure-sheet-head h1{
    font-size:clamp(1.9rem, 8.6vw, 2.8rem);
  }

  .infrastructure-rack-visual{
    min-height:220px;
    padding:1rem;
  }

  .infrastructure-rack-image{
    width:min(180px, 62vw);
    max-height:240px;
  }

  .infrastructure-capability-grid{
    grid-template-columns:1fr;
  }

  .infrastructure-capability,
  .infrastructure-capability:nth-child(even),
  .infrastructure-capability:nth-last-child(-n + 2){
    min-height:0;
    border-right:0;
    border-bottom:1px solid rgba(24,22,18,.085);
  }

  .infrastructure-capability:last-child{
    border-bottom:0;
  }

  .security-sheet-section{
    padding:clamp(1.65rem, 6vw, 2.4rem) 0 .9rem;
  }

  .security-sheet{
    padding:1rem;
  }

  .security-sheet-head h1{
    font-size:clamp(1.9rem, 8.6vw, 2.8rem);
  }

  .security-shield-system{
    grid-template-columns:1fr;
    grid-template-areas:
      "core"
      "cyber"
      "access"
      "monitor"
      "physical";
  }

  .security-shield-system::before{
    display:none;
  }

  .security-shield-core{
    min-height:210px;
    padding:1rem;
  }

  .security-shield-layer,
  .security-shield-layer-cyber,
  .security-shield-layer-access,
  .security-shield-layer-monitor,
  .security-shield-layer-physical{
    min-height:0;
    border-left:0;
    border-right:0;
    border-bottom:1px solid rgba(24,22,18,.085);
  }

  .security-shield-layer-physical{
    border-bottom:0;
  }

  .implementation-sheet-section{
    padding:clamp(1.65rem, 6vw, 2.4rem) 0 .9rem;
  }

  .implementation-sheet{
    padding:1rem;
  }

  .implementation-sheet-head h1{
    font-size:clamp(1.9rem, 8.6vw, 2.8rem);
  }

  .implementation-deployment-rail{
    grid-template-columns:1fr;
  }

  .implementation-step{
    min-height:0;
    border-bottom:1px solid rgba(24,22,18,.085);
  }

  .implementation-step:last-child{
    border-bottom:0;
  }
}

/* Final homepage overrides: keep the public gateway system layer above legacy section rules. */
.dc-section.section-capabilities-system{
  padding-top:clamp(2.2rem, 4.2vw, 4.6rem);
  padding-bottom:clamp(2.2rem, 4.2vw, 4.6rem);
}

.dc-surface,
.dc-surface-soft,
.dc-system-panel,
.capabilities-frame.dc-layer-map,
.method-frame.dc-process,
.contact-frame.dc-cta-panel{
  border:1px solid rgba(255,255,255,.05);
  border-radius:8px;
  background:
    linear-gradient(145deg, rgba(22,23,27,.18), rgba(10,11,14,.10));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 18px 45px rgba(0,0,0,.10);
  backdrop-filter:blur(10px) saturate(115%);
  -webkit-backdrop-filter:blur(10px) saturate(115%);
}

.dc-surface-soft{
  background:
    linear-gradient(145deg, rgba(24,25,29,.13), rgba(8,9,11,.07));
}

.capabilities-frame.dc-layer-map,
.method-frame.dc-process,
.contact-frame.dc-cta-panel{
  overflow:hidden;
}

.capabilities-frame.dc-layer-map{
  padding:clamp(1.15rem, 2.8vw, 2.5rem);
}

.method-frame.dc-process{
  padding:clamp(1.1rem, 2.6vw, 2.3rem);
}

.contact-frame.dc-cta-panel{
  width:min(100%, 1120px);
  margin-inline:auto;
  padding:clamp(1.1rem, 2.6vw, 2.2rem);
}

.dc-cta-panel .contact-head,
.dc-cta-panel .contact-head-entry{
  max-width:none;
  margin:0;
  padding:0;
  display:grid;
  justify-items:start;
  text-align:left;
}

.dc-cta-panel .contact-head p:not(.eyebrow){
  max-width:58ch;
  margin:0;
}

.dc-cta-panel .contact-actions-final{
  padding:0;
}

.dc-cta-panel .contact-note-final{
  padding:.85rem 0 0;
}

@media (max-width: 920px){
  .dc-section.section-capabilities-system{
    padding-top:clamp(1.7rem, 4vw, 2.6rem);
    padding-bottom:clamp(2.6rem, 7vw, 3.8rem);
  }
}

/* Refinement pass: calmer public system shell, fewer cards, finer hierarchy. */
.dc-home{
  --dc-hairline:rgba(255,255,255,.045);
  --dc-hairline-strong:rgba(255,255,255,.07);
  --dc-gold-hairline:rgba(193,170,106,.18);
  --dc-panel-bg:linear-gradient(145deg, rgba(22,23,27,.115), rgba(9,10,12,.055));
}

.dc-section{
  padding:clamp(1.75rem, 3.1vw, 3.45rem) 0;
}

.dc-section + .dc-section{
  padding-top:clamp(1rem, 1.8vw, 1.95rem);
}

.dc-surface,
.dc-surface-soft,
.dc-system-panel,
.capabilities-frame.dc-layer-map,
.method-frame.dc-process,
.contact-frame.dc-cta-panel{
  border-color:var(--dc-hairline);
  border-radius:3px;
  background:var(--dc-panel-bg);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 12px 30px rgba(0,0,0,.055);
}

.dc-surface::before,
.dc-surface-soft::before,
.dc-system-panel::before,
.capabilities-frame.dc-layer-map::before,
.method-frame.dc-process::before,
.contact-frame.dc-cta-panel::before{
  height:1px;
  opacity:.68;
  background:linear-gradient(90deg, transparent, rgba(193,170,106,.16), rgba(255,255,255,.075), transparent);
}

.dc-section-header{
  gap:.48rem;
}

.dc-section-header h2,
.dc-cta-panel .dc-section-header h2,
.dc-layer-header h2,
.dc-process .dc-section-header h2,
.dc-client-panel .dc-section-header h2,
.dc-problem-rail .dc-section-header h2{
  max-width:22ch;
  font-size:clamp(1.28rem, 2vw, 2.05rem);
  line-height:1.12;
  font-weight:560;
  letter-spacing:0;
  text-transform:none;
}

.dc-section-header p:not(.eyebrow){
  max-width:66ch;
  font-size:.95rem;
  line-height:1.7;
  color:rgba(226,219,206,.78);
}

.dc-eyebrow{
  font-size:.68rem;
  letter-spacing:.17em;
  color:rgba(193,170,106,.82);
}

.dc-eyebrow::before{
  width:22px;
  opacity:.72;
}

.dc-gateway{
  padding:clamp(2.7rem, 5.4vw, 5.2rem) 0 clamp(1.6rem, 3.5vw, 3.7rem);
}

.dc-gateway-shell{
  grid-template-columns:minmax(0, 1.12fr) minmax(340px, .88fr);
  min-height:clamp(520px, 68svh, 680px);
  gap:clamp(1.6rem, 5vw, 6rem);
}

.dc-gateway-copy{
  gap:.86rem;
}

.dc-gateway-title{
  max-width:12ch;
  font-size:clamp(2.65rem, 5.45vw, 5.35rem);
  line-height:.94;
  font-weight:590;
}

.dc-gateway-lead{
  max-width:56ch;
  font-size:clamp(1rem, 1.08vw, 1.15rem);
  line-height:1.62;
}

.dc-gateway-secondary{
  max-width:52ch;
  font-size:.92rem;
  line-height:1.65;
}

.dc-gateway-panel{
  min-height:430px;
  padding:clamp(.85rem, 1.55vw, 1.2rem);
  gap:.95rem;
  background:
    linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.008)),
    linear-gradient(145deg, rgba(22,23,27,.10), rgba(9,10,12,.045));
}

.dc-gateway-panel::after{
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.014) 1px, transparent 1px);
  background-size:42px 42px;
  opacity:.34;
  mask-image:linear-gradient(180deg, transparent, #000 18%, #000 88%);
}

.dc-panel-topline{
  padding-bottom:.8rem;
  border-bottom-color:var(--dc-hairline);
}

.dc-panel-topline h2{
  font-size:clamp(1rem, 1.35vw, 1.25rem);
  font-weight:580;
}

.dc-panel-kicker{
  font-size:.62rem;
  letter-spacing:.18em;
}

.dc-panel-seal{
  display:none;
}

.dc-module-rows{
  gap:0;
  align-content:center;
  border-top:1px solid var(--dc-hairline);
}

.dc-module-row{
  min-height:48px;
  border-top:0;
  border-bottom:1px solid var(--dc-hairline);
  background:linear-gradient(90deg, rgba(255,255,255,.026), transparent 78%);
}

.dc-module-row span:last-child{
  font-size:.87rem;
  font-weight:540;
}

.dc-status-strip{
  gap:0;
  border-top:1px solid var(--dc-hairline);
}

.dc-status-strip .dc-signal{
  min-height:36px;
  border-left:0;
  border-right:1px solid var(--dc-hairline);
  background:transparent;
  font-size:.68rem;
}

.dc-status-strip .dc-signal:last-child{
  border-right:0;
}

.dc-editorial,
.dc-problem-rail,
.dc-client-panel{
  grid-template-columns:minmax(0, .98fr) minmax(320px, 1.02fr);
  gap:clamp(1.3rem, 4vw, 4.6rem);
  padding:clamp(1rem, 2.15vw, 1.85rem) clamp(1rem, 2.65vw, 2.35rem);
  align-items:center;
}

.dc-editorial-copy{
  gap:.9rem;
  padding-left:clamp(0rem, 2vw, 1.5rem);
  border-left:1px solid var(--dc-hairline);
}

.dc-editorial-copy > p{
  font-size:.96rem;
  line-height:1.72;
  color:rgba(232,224,211,.8);
}

.dc-signal-list,
.dc-client-signals{
  gap:0;
  border-top:1px solid var(--dc-hairline);
}

.dc-signal{
  min-height:42px;
  padding:.58rem .25rem .58rem 1rem;
  border-left:0;
  border-bottom:1px solid var(--dc-hairline);
  background:transparent;
  color:rgba(238,231,218,.82);
  font-size:.86rem;
}

.dc-signal::before{
  left:0;
  width:5px;
  height:5px;
  border-color:rgba(193,170,106,.38);
}

.dc-problem-rail{
  align-items:center;
}

.dc-rail{
  grid-template-columns:1fr;
  gap:0;
  align-self:center;
  border-top:1px solid var(--dc-hairline);
}

.dc-rail .dc-signal{
  min-height:52px;
  align-items:center;
}

.capabilities-frame.dc-layer-map{
  padding:clamp(1rem, 2.3vw, 2rem);
}

.dc-layer-header{
  display:grid;
  grid-template-columns:minmax(0, .82fr) minmax(0, 1.18fr);
  gap:clamp(1rem, 4vw, 4rem);
  max-width:none;
  margin-bottom:clamp(.9rem, 1.8vw, 1.4rem);
  padding-bottom:clamp(.9rem, 1.6vw, 1.25rem);
  border-bottom:1px solid var(--dc-hairline);
}

.dc-layer-header .eyebrow{
  grid-column:1;
}

.dc-layer-header h2{
  grid-column:1;
}

.dc-layer-header p:not(.eyebrow){
  grid-column:2;
  grid-row:1 / span 2;
  align-self:end;
}

.dc-layer-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:0;
  border-top:1px solid var(--dc-hairline);
  border-bottom:1px solid var(--dc-hairline);
}

.dc-layer-grid::before{
  display:none;
}

.dc-layer{
  min-height:188px;
  padding:.95rem .9rem 1rem;
  border:0;
  border-right:1px solid var(--dc-hairline);
  background:linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,.004));
  box-shadow:none;
  align-content:start;
  gap:.55rem;
}

.dc-layer:last-child{
  border-right:0;
}

.dc-layer::before{
  left:.95rem;
  top:0;
  width:7px;
  height:7px;
  border-color:rgba(193,170,106,.34);
  transform:translateY(-50%) rotate(45deg);
}

.dc-icon{
  width:26px;
  height:26px;
  margin-top:.05rem;
  color:rgba(224,207,151,.68);
}

.dc-icon svg{
  width:20px;
  height:20px;
  stroke-width:1.35;
}

.dc-layer-index{
  font-size:.66rem;
  color:rgba(193,170,106,.68);
}

.dc-layer h3{
  font-size:.9rem;
  font-weight:620;
}

.dc-layer p{
  font-size:.82rem;
  line-height:1.5;
  color:rgba(220,212,198,.74);
}

.method-frame.dc-process{
  padding:clamp(1rem, 2.2vw, 1.85rem);
}

.dc-process .dc-section-header{
  margin-bottom:clamp(.85rem, 1.5vw, 1.2rem);
  padding-bottom:.85rem;
  border-bottom:1px solid var(--dc-hairline);
}

.dc-process-rail{
  gap:0;
  border-top:0;
}

.dc-process-rail::before{
  left:1rem;
  right:1rem;
  top:1rem;
  background:linear-gradient(90deg, transparent, rgba(193,170,106,.24), transparent);
}

.dc-process-step{
  min-height:132px;
  padding:.72rem .9rem .85rem;
  border-top:0;
  border-right:1px solid var(--dc-hairline);
  background:transparent;
}

.dc-process-step:last-child{
  border-right:0;
}

.dc-process-step::before{
  top:1rem;
  left:.95rem;
  width:7px;
  height:7px;
  border-color:rgba(193,170,106,.38);
}

.dc-process-step .method-num{
  margin-left:1rem;
  font-size:.65rem;
}

.dc-process-step h3{
  margin-top:.36rem;
  font-size:.92rem;
  font-weight:620;
}

.dc-process-step p{
  font-size:.82rem;
  line-height:1.5;
  color:rgba(220,212,198,.74);
}

.dc-client-signals{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  column-gap:1.2rem;
  border-top:0;
}

.dc-client-signals .dc-signal{
  border-top:1px solid var(--dc-hairline);
}

.contact-frame.dc-cta-panel{
  padding:clamp(1rem, 2.15vw, 1.8rem) clamp(1rem, 2.65vw, 2.25rem);
  grid-template-columns:minmax(0, 1fr) auto;
  gap:1rem 2rem;
}

.dc-cta-panel .contact-head,
.dc-cta-panel .contact-head-entry{
  gap:.45rem;
}

.dc-cta-panel .contact-head p:not(.eyebrow){
  font-size:.94rem;
  line-height:1.65;
}

.dc-cta-panel .contact-actions-final{
  gap:.55rem;
}

.dc-cta-panel .contact-note-final{
  padding:.7rem 0 0;
  border-top-color:var(--dc-hairline);
  font-size:.78rem;
}

.dc-gateway .btn,
.dc-cta-panel .btn{
  min-height:38px;
  border-radius:2px;
  box-shadow:none;
  font-size:.8rem;
}

@media (max-width: 1180px){
  .dc-editorial,
  .dc-problem-rail,
  .dc-client-panel,
  .dc-layer-header{
    grid-template-columns:1fr;
  }

  .dc-editorial-copy{
    padding-left:0;
    border-left:0;
  }

  .dc-layer-header .eyebrow,
  .dc-layer-header h2,
  .dc-layer-header p:not(.eyebrow){
    grid-column:auto;
    grid-row:auto;
  }

  .dc-layer-grid{
    grid-template-columns:1fr;
  }

  .dc-layer{
    min-height:auto;
    border-right:0;
    border-bottom:1px solid var(--dc-hairline);
  }

  .dc-layer:last-child{
    border-bottom:0;
  }
}

@media (max-width: 920px){
  .dc-gateway-shell{
    grid-template-columns:1fr;
    gap:1.4rem;
  }

  .dc-gateway-title{
    font-size:clamp(2.3rem, 10vw, 3.75rem);
  }

  .dc-gateway-panel{
    min-height:auto;
  }

  .dc-status-strip{
    grid-template-columns:1fr;
  }

  .dc-status-strip .dc-signal{
    border-right:0;
  }

  .dc-process-rail{
    grid-template-columns:1fr;
  }

  .dc-process-rail::before{
    left:.95rem;
    top:.65rem;
    bottom:.65rem;
    width:1px;
    height:auto;
    background:linear-gradient(180deg, transparent, rgba(193,170,106,.24), transparent);
  }

  .dc-process-step{
    min-height:auto;
    padding:.7rem .8rem .8rem 2.05rem;
    border-right:0;
    border-bottom:1px solid var(--dc-hairline);
  }

  .dc-process-step:last-child{
    border-bottom:0;
  }

  .dc-process-step::before{
    left:.95rem;
  }

  .dc-process-step .method-num{
    margin-left:0;
  }

  .dc-client-signals,
  .contact-frame.dc-cta-panel{
    grid-template-columns:1fr;
  }

  .dc-client-signals{
    column-gap:0;
  }
}

@media (max-width: 640px){
  .dc-section-header h2,
  .dc-cta-panel .dc-section-header h2,
  .dc-layer-header h2,
  .dc-process .dc-section-header h2,
  .dc-client-panel .dc-section-header h2,
  .dc-problem-rail .dc-section-header h2{
    font-size:clamp(1.2rem, 7vw, 1.72rem);
  }

  .dc-gateway-title{
    font-size:clamp(2rem, 12vw, 3rem);
  }

  .dc-gateway-lead,
  .dc-gateway-secondary{
    font-size:.9rem;
  }
}

/* Major homepage organization pass: public operating-system gateway. */
body.dc-home-page #bg-texture-mask{
  opacity:.34;
  background:
    linear-gradient(
      180deg,
      rgba(10,10,12,.045) 0%,
      rgba(10,10,12,.015) 24%,
      rgba(10,10,12,.025) 54%,
      rgba(10,10,12,.05) 100%
    ),
    radial-gradient(
      ellipse 88% 62% at 52% 42%,
      rgba(0,0,0,.015) 0%,
      rgba(0,0,0,.032) 48%,
      rgba(0,0,0,.055) 100%
    );
}

body.dc-home-page #bg-atmo{
  background:
    linear-gradient(
      to bottom,
      rgba(6,6,8,.42) 0%,
      rgba(6,6,8,.31) 8%,
      rgba(6,6,8,.16) 18%,
      rgba(6,6,8,.055) 31%,
      rgba(6,6,8,0) 48%
    );
}

body.dc-home-page #bg-texture{
  opacity:.68;
  filter:saturate(.84) brightness(.98) contrast(1);
}

body.dc-home-page #dc-canvas{
  opacity:.032;
}

.dc-home-system{
  --dc-shell-line:rgba(255,255,255,.052);
  --dc-shell-line-strong:rgba(255,255,255,.082);
  --dc-shell-text:rgba(244,239,229,.94);
  --dc-shell-copy:rgba(229,222,209,.78);
  --dc-shell-muted:rgba(221,214,201,.58);
  --dc-shell-gold:rgba(193,170,106,.72);
  position:relative;
  z-index:2;
  overflow:hidden;
  padding-bottom:clamp(1rem, 2.5vw, 2.5rem);
}

.dc-home-system .container{
  width:min(calc(100% - 2rem), 1320px);
  margin-inline:auto;
}

.dc-public-gateway{
  padding:clamp(3.8rem, 7.4vw, 7rem) 0 clamp(1.35rem, 2.7vw, 2.6rem);
}

.dc-gateway-console,
.dc-shell-panel{
  position:relative;
  overflow:hidden;
  border:1px solid var(--dc-shell-line);
  border-radius:2px;
  background:
    linear-gradient(145deg, rgba(24,25,29,.082), rgba(8,9,11,.038));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.032),
    0 14px 34px rgba(0,0,0,.055);
  backdrop-filter:blur(8px) saturate(108%);
  -webkit-backdrop-filter:blur(8px) saturate(108%);
}

.dc-gateway-console::before,
.dc-shell-panel::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(193,170,106,.15), rgba(255,255,255,.075), transparent);
  pointer-events:none;
}

.dc-gateway-console{
  display:grid;
  grid-template-columns:minmax(0, .98fr) minmax(390px, .82fr);
  min-height:clamp(420px, 58svh, 590px);
}

.dc-gateway-primary{
  display:grid;
  align-content:center;
  gap:.78rem;
  padding:clamp(1.35rem, 4.8vw, 4.8rem);
  border-right:1px solid var(--dc-shell-line);
}

.dc-kicker{
  display:inline-flex;
  align-items:center;
  gap:.62rem;
  color:var(--dc-shell-gold);
  font-size:.66rem;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.dc-kicker::before{
  content:"";
  width:22px;
  height:1px;
  background:rgba(193,170,106,.46);
}

.dc-gateway-primary h1{
  max-width:12.5ch;
  margin:0;
  color:rgba(247,243,234,.96);
  font-family:var(--font-display);
  font-size:clamp(2.35rem, 4.55vw, 4.75rem);
  line-height:.98;
  font-weight:570;
  letter-spacing:0;
  text-wrap:balance;
}

.dc-lead{
  max-width:50ch;
  color:rgba(239,233,222,.84);
  font-size:clamp(.98rem, 1.05vw, 1.12rem);
  line-height:1.68;
}

.dc-subcopy{
  max-width:50ch;
  color:var(--dc-shell-muted);
  font-size:.9rem;
  line-height:1.64;
}

.dc-action-row{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin-top:.35rem;
}

.dc-action-row .btn,
.dc-final-actions .btn{
  min-height:38px;
  border-radius:2px;
  border-color:rgba(255,255,255,.075);
  background:rgba(15,15,17,.54);
  color:rgba(246,241,232,.92);
  font-size:.78rem;
  box-shadow:none;
}

.dc-action-row .btn-outline,
.dc-final-actions .btn-outline{
  background:rgba(255,255,255,.018);
  color:rgba(236,229,216,.78);
}

.dc-action-row .btn:hover,
.dc-action-row .btn:focus-visible,
.dc-final-actions .btn:hover,
.dc-final-actions .btn:focus-visible{
  border-color:rgba(193,170,106,.34);
  background:rgba(18,17,15,.78);
}

.dc-ops-panel{
  position:relative;
  display:grid;
  grid-template-rows:auto 1fr auto;
  align-content:stretch;
  padding:clamp(1rem, 2vw, 1.55rem);
  isolation:isolate;
}

.dc-ops-panel::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(rgba(255,255,255,.016) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px);
  background-size:42px 42px;
  opacity:.38;
  mask-image:linear-gradient(180deg, transparent, #000 18%, #000 90%);
}

.dc-ops-panel-head{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding-bottom:.85rem;
  border-bottom:1px solid var(--dc-shell-line);
}

.dc-ops-panel-head span{
  color:var(--dc-shell-gold);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.dc-ops-panel-head strong{
  color:var(--dc-shell-text);
  font-size:.92rem;
  font-weight:600;
}

.dc-ops-layer-list{
  display:grid;
  align-content:center;
  border-top:1px solid var(--dc-shell-line);
}

.dc-ops-layer{
  display:grid;
  grid-template-columns:42px minmax(0, 1fr);
  align-items:center;
  min-height:46px;
  border-bottom:1px solid var(--dc-shell-line);
  background:linear-gradient(90deg, rgba(255,255,255,.022), transparent 82%);
}

.dc-ops-layer span,
.dc-model-column span,
.dc-method-node span,
.dc-line-item span{
  color:rgba(193,170,106,.62);
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.15em;
  font-variant-numeric:tabular-nums;
}

.dc-ops-layer strong{
  color:rgba(242,237,227,.86);
  font-size:.84rem;
  font-weight:560;
}

.dc-ops-status{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  border-top:1px solid var(--dc-shell-line);
}

.dc-ops-status span{
  min-height:34px;
  padding:.55rem .62rem;
  border-right:1px solid var(--dc-shell-line);
  color:rgba(226,219,206,.66);
  font-size:.66rem;
  line-height:1.25;
}

.dc-ops-status span:last-child{
  border-right:0;
}

.dc-system-section{
  position:relative;
  z-index:2;
  padding:clamp(1.05rem, 2.1vw, 2.15rem) 0;
}

.dc-split-panel{
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(340px, 1.08fr);
  align-items:stretch;
}

.dc-panel-copy{
  display:grid;
  align-content:center;
  gap:.62rem;
  padding:clamp(1rem, 2.6vw, 2.2rem);
}

.dc-panel-copy h2{
  max-width:22ch;
  margin:0;
  color:var(--dc-shell-text);
  font-family:var(--font-display);
  font-size:clamp(1.28rem, 2.1vw, 2rem);
  line-height:1.13;
  font-weight:560;
  letter-spacing:0;
  text-wrap:balance;
}

.dc-panel-copy p:not(.dc-kicker){
  max-width:62ch;
  color:var(--dc-shell-copy);
  font-size:.94rem;
  line-height:1.7;
}

.dc-symptom-list,
.dc-audience-list{
  display:grid;
  align-content:center;
  padding:clamp(.75rem, 1.4vw, 1.05rem);
  border-left:1px solid var(--dc-shell-line);
}

.dc-line-item{
  display:grid;
  grid-template-columns:42px minmax(0, 1fr);
  align-items:center;
  min-height:48px;
  border-top:1px solid var(--dc-shell-line);
}

.dc-line-item:last-child{
  border-bottom:1px solid var(--dc-shell-line);
}

.dc-line-item strong{
  color:rgba(241,235,224,.83);
  font-size:.88rem;
  font-weight:560;
}

.dc-model-panel{
  padding:0;
}

.dc-model-head{
  grid-template-columns:minmax(0, .82fr) minmax(0, 1.18fr);
  align-items:end;
  border-bottom:1px solid var(--dc-shell-line);
}

.dc-model-head .dc-kicker,
.dc-model-head h2{
  grid-column:1;
}

.dc-model-head p:not(.dc-kicker){
  grid-column:2;
  grid-row:1 / span 2;
  align-self:end;
}

.dc-model-strip{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  border-top:1px solid rgba(255,255,255,.022);
}

.dc-model-column{
  position:relative;
  min-height:164px;
  display:grid;
  align-content:start;
  gap:.45rem;
  padding:.92rem .86rem 1rem;
  border-right:1px solid var(--dc-shell-line);
}

.dc-model-column:last-child{
  border-right:0;
}

.dc-model-column::before{
  content:"";
  position:absolute;
  left:.86rem;
  top:0;
  width:7px;
  height:7px;
  border:1px solid rgba(193,170,106,.32);
  background:rgba(18,18,20,.72);
  transform:translateY(-50%) rotate(45deg);
}

.dc-model-column h3,
.dc-method-node h3{
  margin:0;
  color:rgba(244,239,229,.88);
  font-size:.88rem;
  line-height:1.2;
  font-weight:620;
}

.dc-model-column p,
.dc-method-node p{
  color:rgba(224,216,202,.68);
  font-size:.8rem;
  line-height:1.5;
}

.dc-method-panel{
  display:grid;
  grid-template-columns:minmax(0, .34fr) minmax(0, .66fr);
}

.dc-method-panel .dc-panel-copy{
  border-right:1px solid var(--dc-shell-line);
}

.dc-method-rail{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  align-content:center;
  padding:clamp(.8rem, 1.4vw, 1.05rem);
}

.dc-method-rail::before{
  content:"";
  position:absolute;
  left:calc(clamp(.8rem, 1.4vw, 1.05rem) + .9rem);
  right:calc(clamp(.8rem, 1.4vw, 1.05rem) + .9rem);
  top:2.05rem;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(193,170,106,.25), transparent);
}

.dc-method-node{
  position:relative;
  min-height:132px;
  display:grid;
  align-content:start;
  gap:.4rem;
  padding:.78rem .84rem .9rem;
  border-right:1px solid var(--dc-shell-line);
}

.dc-method-node:last-child{
  border-right:0;
}

.dc-method-node::before{
  content:"";
  position:absolute;
  left:.84rem;
  top:1.18rem;
  width:7px;
  height:7px;
  border:1px solid rgba(193,170,106,.36);
  background:rgba(18,18,20,.72);
  transform:rotate(45deg);
}

.dc-method-node span{
  margin-left:1rem;
}

.dc-audience-panel .dc-panel-copy{
  border-right:1px solid var(--dc-shell-line);
}

.dc-audience-list{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  column-gap:1.1rem;
  border-left:0;
}

.dc-final-section{
  padding-bottom:clamp(1.8rem, 4vw, 4rem);
}

.dc-final-cta{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
}

.dc-final-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:.58rem;
  padding:clamp(1rem, 2.6vw, 2.2rem);
}

.dc-final-actions p{
  flex-basis:100%;
  margin:0;
  color:var(--dc-shell-muted);
  font-size:.76rem;
  line-height:1.4;
  text-align:right;
}

@media (max-width: 1120px){
  .dc-gateway-console,
  .dc-split-panel,
  .dc-method-panel,
  .dc-final-cta,
  .dc-model-head{
    grid-template-columns:1fr;
  }

  .dc-gateway-primary,
  .dc-method-panel .dc-panel-copy,
  .dc-audience-panel .dc-panel-copy{
    border-right:0;
    border-bottom:1px solid var(--dc-shell-line);
  }

  .dc-symptom-list,
  .dc-audience-list{
    border-left:0;
  }

  .dc-model-head .dc-kicker,
  .dc-model-head h2,
  .dc-model-head p:not(.dc-kicker){
    grid-column:auto;
    grid-row:auto;
  }

  .dc-model-strip{
    grid-template-columns:1fr;
  }

  .dc-model-column{
    min-height:auto;
    border-right:0;
    border-bottom:1px solid var(--dc-shell-line);
  }

  .dc-model-column:last-child{
    border-bottom:0;
  }

  .dc-method-rail{
    grid-template-columns:1fr;
  }

  .dc-method-rail::before{
    left:1.74rem;
    top:1rem;
    bottom:1rem;
    width:1px;
    height:auto;
    background:linear-gradient(180deg, transparent, rgba(193,170,106,.25), transparent);
  }

  .dc-method-node{
    min-height:auto;
    padding:.76rem .84rem .86rem 2.2rem;
    border-right:0;
    border-bottom:1px solid var(--dc-shell-line);
  }

  .dc-method-node:last-child{
    border-bottom:0;
  }

  .dc-method-node::before{
    left:.88rem;
  }

  .dc-method-node span{
    margin-left:0;
  }

  .dc-final-actions{
    justify-content:flex-start;
  }

  .dc-final-actions p{
    text-align:left;
  }
}

@media (max-width: 760px){
  .dc-home-system .container{
    width:min(calc(100% - 1.1rem), 1320px);
  }

  .dc-public-gateway{
    padding:clamp(2.8rem, 9vw, 4rem) 0 1rem;
  }

  .dc-gateway-console{
    min-height:auto;
  }

  .dc-gateway-primary{
    padding:1.1rem;
  }

  .dc-gateway-primary h1{
    font-size:clamp(2rem, 10.5vw, 3rem);
  }

  .dc-ops-panel{
    padding:.9rem;
  }

  .dc-ops-status,
  .dc-audience-list{
    grid-template-columns:1fr;
  }

  .dc-ops-status span{
    border-right:0;
    border-bottom:1px solid var(--dc-shell-line);
  }

  .dc-ops-status span:last-child{
    border-bottom:0;
  }

  .dc-panel-copy{
    padding:1rem;
  }

  .dc-panel-copy h2{
    font-size:clamp(1.18rem, 6.2vw, 1.55rem);
  }

  .dc-panel-copy p:not(.dc-kicker),
  .dc-lead,
  .dc-subcopy{
    font-size:.88rem;
  }

  .dc-symptom-list,
  .dc-audience-list,
  .dc-method-rail{
    padding:.72rem;
  }

  .dc-action-row,
  .dc-final-actions{
    flex-direction:column;
    align-items:stretch;
  }
}

/* Hard redesign final layer: local icon rails and matte homepage background. */
body.dc-home-page #bg-base{
  background:
    linear-gradient(180deg, #ece8df 0%, #ddd7cc 46%, #d1cabf 100%);
}

body.dc-home-page #bg-texture{
  background:url("/assets/bg-mineral-light.webp") center/cover no-repeat;
  opacity:.88;
  mix-blend-mode:multiply;
  filter:saturate(.9) brightness(1.05) contrast(.98);
}

body.dc-home-page #bg-texture::before{
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.10) 0%,
      rgba(255,255,255,.02) 42%,
      rgba(0,0,0,.035) 100%
    );
  mix-blend-mode:normal;
}

body.dc-home-page #bg-texture::after{
  opacity:.07;
}

body.dc-home-page #bg-texture-mask{
  opacity:.22;
  background:
    linear-gradient(
      180deg,
      rgba(10,10,12,.025) 0%,
      rgba(10,10,12,.008) 32%,
      rgba(10,10,12,.018) 66%,
      rgba(10,10,12,.035) 100%
    );
}

body.dc-home-page #bg-atmo{
  background:
    linear-gradient(
      to bottom,
      rgba(6,6,8,.30) 0%,
      rgba(6,6,8,.20) 9%,
      rgba(6,6,8,.08) 22%,
      rgba(6,6,8,.02) 36%,
      rgba(6,6,8,0) 52%
    );
}

.dc-home-system .dc-icon{
  width:18px;
  height:18px;
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  color:rgba(208,190,128,.62);
  background:currentColor;
  opacity:.78;
  -webkit-mask-image:var(--icon);
  mask-image:var(--icon);
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
}

.dc-home-system .dc-ops-layer{
  grid-template-columns:42px 28px minmax(0, 1fr);
  column-gap:.2rem;
}

.dc-home-system .dc-ops-layer .dc-icon{
  width:16px;
  height:16px;
}

.dc-home-system .dc-model-column .dc-icon,
.dc-home-system .dc-method-node .dc-icon{
  margin:.08rem 0 .06rem;
}

.dc-home-system .dc-model-column > span:first-child,
.dc-home-system .dc-method-node > span:first-child{
  display:block;
  margin:0;
}

.dc-home-system .dc-method-node > span:first-child{
  margin-left:1rem;
}

.dc-home-system .dc-model-column .dc-icon,
.dc-home-system .dc-method-node .dc-icon{
  font-size:0;
  letter-spacing:0;
}

@media (max-width: 1120px){
  .dc-home-system .dc-method-node > span:first-child{
    margin-left:0;
  }
}

/* Homepage correction pass: restore image presence, reduce boxes, return nav smoke. */
body.dc-home-page #bg-base{
  background:
    linear-gradient(180deg, #f0eee8 0%, #e8e4dc 50%, #ded8cf 100%);
}

body.dc-home-page #bg-texture{
  background:url("/assets/bg-mineral-light.webp") center/cover no-repeat;
  opacity:1;
  mix-blend-mode:normal;
  filter:saturate(1) brightness(1.035) contrast(1.025);
}

body.dc-home-page #bg-texture::before{
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.006) 0%,
      rgba(255,255,255,0) 48%,
      rgba(0,0,0,.012) 100%
    );
  mix-blend-mode:normal;
}

body.dc-home-page #bg-texture::after{
  opacity:.026;
}

body.dc-home-page #bg-texture-mask{
  opacity:.035;
  background:
    radial-gradient(ellipse 80% 58% at 50% 36%, rgba(255,255,255,.026), transparent 64%),
    linear-gradient(180deg, rgba(10,10,12,.006), rgba(10,10,12,0) 48%, rgba(10,10,12,.010));
}

body.dc-home-page #bg-atmo{
  background:
    linear-gradient(
      to bottom,
      rgba(6,6,8,.24) 0%,
      rgba(6,6,8,.14) 8%,
      rgba(6,6,8,.045) 22%,
      rgba(6,6,8,.012) 38%,
      rgba(6,6,8,0) 54%
    );
}

/* Hero-only correction: compact gateway and brand lockup. */
.dc-public-gateway{
  padding:clamp(2.55rem, 5.2vw, 4.8rem) 0 clamp(.95rem, 2vw, 1.8rem);
}

.dc-gateway-console{
  min-height:clamp(360px, 46svh, 500px);
  grid-template-columns:minmax(0, 1.04fr) minmax(330px, .72fr);
}

.dc-gateway-primary{
  align-content:center;
  gap:.62rem;
  padding:clamp(1.15rem, 3.35vw, 3.25rem);
}

.dc-hero-brand-lockup{
  display:flex;
  align-items:center;
  gap:.78rem;
  margin-bottom:.08rem;
}

.dc-hero-brand-lockup img{
  width:clamp(44px, 4.6vw, 62px);
  height:clamp(44px, 4.6vw, 62px);
  object-fit:contain;
  opacity:.82;
  filter:
    sepia(.35)
    saturate(.72)
    brightness(.72)
    contrast(1.08)
    drop-shadow(0 8px 16px rgba(0,0,0,.10));
  clip-path:inset(8% 8% 8% 8%);
}

.dc-hero-brand-lockup .dc-kicker{
  margin:0;
}

.dc-gateway-primary h1{
  font-size:clamp(2.35rem, 4.35vw, 4.65rem);
  line-height:.98;
}

.dc-lead{
  max-width:48ch;
  line-height:1.58;
}

.dc-subcopy{
  max-width:46ch;
  line-height:1.55;
}

.dc-action-row{
  margin-top:.18rem;
}

.dc-ops-panel{
  padding:clamp(.78rem, 1.35vw, 1.05rem);
  align-content:center;
}

.dc-ops-panel-head{
  padding-bottom:.58rem;
}

.dc-ops-layer{
  min-height:42px;
}

.dc-ops-layer-list{
  align-content:center;
}

.dc-home-system .dc-ops-layer{
  grid-template-columns:38px 25px minmax(0, 1fr);
}

.dc-home-system .dc-ops-layer .dc-icon{
  width:14px;
  height:14px;
}

.dc-hero-brand-anchor{
  display:none;
}

@media (max-width: 1120px){
  .dc-gateway-console{
    grid-template-columns:1fr;
    min-height:auto;
  }
}

@media (max-width: 760px){
  .dc-public-gateway{
    padding:clamp(2.15rem, 8vw, 3.3rem) 0 .9rem;
  }

  .dc-gateway-primary{
    padding:1rem;
  }

  .dc-hero-brand-lockup{
    gap:.62rem;
  }

  .dc-hero-brand-lockup img{
    width:44px;
    height:44px;
  }
}

body.dc-home-page .site-header .navbar{
  background:
    linear-gradient(180deg, rgba(96,95,88,.34) 0%, rgba(73,72,67,.38) 48%, rgba(54,53,49,.42) 100%),
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.070), transparent 34%),
    linear-gradient(105deg, rgba(193,170,106,.042), transparent 48%, rgba(255,255,255,.024));
  border-color:rgba(255,255,255,.105);
  border-top-color:rgba(255,255,255,.16);
  border-bottom-color:rgba(0,0,0,.20);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.095),
    inset 0 -1px 0 rgba(0,0,0,.18),
    0 16px 36px rgba(0,0,0,.18);
  backdrop-filter:blur(20px) saturate(1.18);
  -webkit-backdrop-filter:blur(20px) saturate(1.18);
}

body.dc-home-page .site-header .navbar::before{
  background:
    linear-gradient(180deg, rgba(255,255,255,.082), rgba(255,255,255,.024) 36%, transparent 64%),
    linear-gradient(90deg, transparent, rgba(255,255,255,.032), transparent);
}

body.dc-home-page .site-header .navbar::after{
  opacity:.72;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.13), rgba(193,170,106,.10), transparent);
}

.dc-home-system{
  --dc-shell-line:rgba(26,24,20,.16);
  --dc-shell-line-strong:rgba(26,24,20,.24);
  --dc-shell-text:rgba(36,32,25,.94);
  --dc-shell-copy:rgba(48,43,34,.74);
  --dc-shell-muted:rgba(64,58,48,.58);
  --dc-shell-gold:rgba(126,103,48,.86);
  color:var(--dc-shell-text);
}

.dc-public-gateway{
  padding:clamp(3.4rem, 6.8vw, 6.3rem) 0 clamp(1.2rem, 2.6vw, 2.4rem);
}

.dc-gateway-console{
  border-color:rgba(20,18,15,.13);
  background:
    linear-gradient(105deg, rgba(238,233,223,.34), rgba(238,233,223,.18) 52%, rgba(28,28,31,.16));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 18px 42px rgba(0,0,0,.10);
  backdrop-filter:blur(7px) saturate(105%);
  -webkit-backdrop-filter:blur(7px) saturate(105%);
}

.dc-gateway-console::before{
  background:linear-gradient(90deg, transparent, rgba(126,103,48,.22), rgba(255,255,255,.22), transparent);
}

.dc-gateway-primary{
  border-right-color:rgba(20,18,15,.13);
  padding:clamp(1.4rem, 4.2vw, 4.2rem);
}

.dc-gateway-primary h1{
  max-width:13ch;
  color:rgba(31,28,22,.96);
  font-size:clamp(2.55rem, 4.75vw, 5.15rem);
  font-weight:590;
}

.dc-lead{
  color:rgba(39,35,28,.8);
}

.dc-subcopy{
  color:rgba(48,43,34,.62);
}

.dc-hero-brand-anchor{
  display:flex;
  align-items:center;
  width:min(170px, 34vw);
  margin:.1rem 0 .15rem;
  padding-top:.15rem;
  opacity:.42;
  filter:
    sepia(.45)
    saturate(.65)
    brightness(.72)
    contrast(1.08)
    drop-shadow(0 8px 18px rgba(0,0,0,.08));
}

.dc-hero-brand-anchor img{
  width:100%;
  max-height:44px;
  object-fit:contain;
  object-position:left center;
  clip-path:inset(16% 10% 16% 10%);
}

.dc-kicker{
  color:var(--dc-shell-gold);
}

.dc-kicker::before{
  background:rgba(126,103,48,.48);
}

.dc-action-row .btn,
.dc-final-actions .btn{
  background:rgba(24,23,22,.82);
  border-color:rgba(24,23,22,.70);
  color:rgba(246,241,232,.94);
}

.dc-action-row .btn-outline,
.dc-final-actions .btn-outline{
  background:rgba(255,255,255,.12);
  border-color:rgba(32,29,23,.24);
  color:rgba(34,30,24,.82);
}

.dc-ops-panel{
  padding:clamp(1rem, 1.8vw, 1.35rem);
  background:linear-gradient(180deg, rgba(22,23,26,.14), rgba(22,23,26,.05));
}

.dc-ops-panel::before{
  opacity:.22;
}

.dc-ops-panel-head{
  border-bottom-color:rgba(20,18,15,.13);
}

.dc-ops-panel-head span{
  color:rgba(126,103,48,.82);
}

.dc-ops-panel-head strong,
.dc-ops-layer strong{
  color:rgba(34,30,24,.86);
}

.dc-ops-layer-list{
  border-top-color:rgba(20,18,15,.12);
}

.dc-ops-layer{
  min-height:50px;
  border-bottom-color:rgba(20,18,15,.12);
  background:linear-gradient(90deg, rgba(255,255,255,.14), transparent 82%);
}

.dc-home-system .dc-icon{
  color:rgba(126,103,48,.58);
}

.dc-system-section{
  padding:clamp(1.45rem, 2.7vw, 3rem) 0;
}

.dc-system-section .dc-shell-panel{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.dc-system-section .dc-shell-panel::before{
  display:none;
}

.dc-split-panel,
.dc-method-panel,
.dc-final-cta{
  border-top:1px solid rgba(126,103,48,.18);
  border-bottom:1px solid rgba(26,24,20,.13);
}

.dc-panel-copy{
  padding:clamp(1.05rem, 2.7vw, 2.35rem) 0;
}

.dc-panel-copy h2{
  color:var(--dc-shell-text);
  font-size:clamp(1.45rem, 2.35vw, 2.35rem);
  font-weight:560;
}

.dc-panel-copy p:not(.dc-kicker){
  color:var(--dc-shell-copy);
}

.dc-symptom-list,
.dc-audience-list{
  padding:clamp(.75rem, 2vw, 1.5rem) 0 clamp(.75rem, 2vw, 1.5rem) clamp(1rem, 3vw, 3rem);
  border-left:1px solid var(--dc-shell-line);
}

.dc-line-item{
  border-top-color:var(--dc-shell-line);
}

.dc-line-item:last-child{
  border-bottom-color:var(--dc-shell-line);
}

.dc-line-item strong{
  color:rgba(38,34,27,.82);
}

.dc-model-panel{
  border-top:1px solid rgba(126,103,48,.20);
  border-bottom:1px solid rgba(26,24,20,.14);
}

.dc-model-head{
  border-bottom-color:var(--dc-shell-line);
}

.dc-model-strip{
  border-top:0;
}

.dc-model-column{
  min-height:150px;
  padding:1rem .95rem 1.05rem;
  border-right-color:var(--dc-shell-line);
}

.dc-model-column::before,
.dc-method-node::before{
  border-color:rgba(126,103,48,.36);
  background:rgba(222,215,201,.74);
}

.dc-model-column h3,
.dc-method-node h3{
  color:rgba(35,31,25,.86);
}

.dc-model-column p,
.dc-method-node p{
  color:rgba(48,43,34,.62);
}

.dc-method-panel .dc-panel-copy,
.dc-audience-panel .dc-panel-copy{
  border-right-color:var(--dc-shell-line);
}

.dc-method-rail{
  padding:clamp(.75rem, 1.8vw, 1.35rem) 0 clamp(.75rem, 1.8vw, 1.35rem) clamp(1rem, 3vw, 3rem);
}

.dc-method-rail::before{
  background:linear-gradient(90deg, transparent, rgba(126,103,48,.28), transparent);
}

.dc-method-node{
  min-height:120px;
  border-right-color:var(--dc-shell-line);
}

.dc-final-cta{
  background:
    linear-gradient(90deg, rgba(238,233,223,.20), rgba(238,233,223,.08));
}

.dc-final-actions{
  padding:clamp(1rem, 2.7vw, 2.35rem) 0 clamp(1rem, 2.7vw, 2.35rem) clamp(1rem, 3vw, 3rem);
}

.dc-final-actions p{
  color:var(--dc-shell-muted);
}

@media (max-width: 1120px){
  .dc-gateway-primary{
    border-right:0;
    border-bottom:1px solid rgba(20,18,15,.13);
  }

  .dc-symptom-list,
  .dc-audience-list,
  .dc-method-rail,
  .dc-final-actions{
    padding-left:0;
    border-left:0;
  }

  .dc-method-panel .dc-panel-copy,
  .dc-audience-panel .dc-panel-copy{
    border-right:0;
    border-bottom:1px solid var(--dc-shell-line);
  }

  .dc-method-rail::before{
    background:linear-gradient(180deg, transparent, rgba(126,103,48,.28), transparent);
  }
}

@media (max-width: 760px){
  .dc-gateway-primary h1{
    font-size:clamp(2rem, 10vw, 3.15rem);
  }

  .dc-panel-copy h2{
    font-size:clamp(1.24rem, 6.4vw, 1.85rem);
  }
}

/* Hero compaction pass only. */
.dc-public-gateway{
  padding:clamp(1.85rem, 3.6vw, 3.1rem) 0 clamp(.7rem, 1.45vw, 1.2rem);
}

.dc-gateway-console{
  min-height:clamp(230px, 30svh, 315px);
  grid-template-columns:minmax(0, 1.08fr) minmax(300px, .64fr);
}

.dc-gateway-primary{
  gap:.42rem;
  padding:clamp(.9rem, 2.25vw, 2.15rem);
}

.dc-hero-brand-lockup{
  gap:.72rem;
  margin-bottom:.02rem;
}

.dc-hero-brand-lockup img{
  width:clamp(61px, 6.2vw, 85px);
  height:clamp(61px, 6.2vw, 85px);
  opacity:.88;
}

.dc-gateway-primary h1{
  font-size:clamp(1.55rem, 2.85vw, 3rem);
  line-height:1.03;
  max-width:14ch;
}

.dc-lead{
  max-width:46ch;
  line-height:1.48;
}

.dc-subcopy{
  max-width:44ch;
  line-height:1.45;
}

.dc-action-row{
  margin-top:.08rem;
  gap:.5rem;
}

.dc-ops-panel{
  padding:clamp(.58rem, 1vw, .82rem);
  border-left:1px solid rgba(20,18,15,.075);
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  backdrop-filter:blur(3px) saturate(102%);
  -webkit-backdrop-filter:blur(3px) saturate(102%);
}

.dc-ops-panel-head{
  padding-bottom:.42rem;
  justify-content:flex-start;
}

.dc-ops-layer-list{
  align-content:center;
}

.dc-ops-layer{
  min-height:34px;
}

.dc-home-system .dc-ops-layer{
  grid-template-columns:24px minmax(0, 1fr);
  column-gap:.56rem;
}

.dc-home-system .dc-ops-layer .dc-icon{
  width:12px;
  height:12px;
}

@media (max-width: 1120px){
  .dc-gateway-console{
    min-height:auto;
    grid-template-columns:1fr;
  }
}

@media (max-width: 760px){
  .dc-public-gateway{
    padding:clamp(1.6rem, 6.5vw, 2.35rem) 0 .65rem;
  }

  .dc-gateway-primary{
    padding:.86rem;
  }

  .dc-hero-brand-lockup img{
    width:61px;
    height:61px;
  }

  .dc-gateway-primary h1{
    font-size:clamp(1.65rem, 8.6vw, 2.45rem);
  }
}

/* Hero ethereal rail pass. */
.dc-gateway-console{
  grid-template-columns:minmax(0, .98fr) minmax(360px, .82fr);
}

.dc-gateway-primary,
.dc-ops-panel,
.dc-ops-panel-head,
.dc-ops-layer strong{
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
}

.dc-gateway-primary h1{
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-weight:540;
  letter-spacing:0;
}

.dc-hero-brand-lockup img{
  width:clamp(67px, 6.85vw, 94px);
  height:clamp(67px, 6.85vw, 94px);
  opacity:.9;
}

.dc-ops-panel{
  padding:clamp(1rem, 2vw, 1.65rem) clamp(1rem, 2.3vw, 1.95rem);
  border-left:1px solid rgba(20,18,15,.045);
  background:transparent;
  box-shadow:none;
  backdrop-filter:blur(1.5px);
  -webkit-backdrop-filter:blur(1.5px);
}

.dc-ops-panel::before{
  opacity:.08;
}

.dc-ops-panel-head{
  padding-bottom:clamp(.78rem, 1.4vw, 1.12rem);
  border-bottom:1px solid rgba(126,103,48,.13);
  display:grid;
  gap:.32rem;
}

.dc-ops-panel-head strong{
  color:rgba(31,28,22,.78);
  font-size:.88rem;
  font-weight:650;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.dc-ops-panel-head p{
  margin:0;
  max-width:34ch;
  color:rgba(48,43,34,.58);
  font-size:.76rem;
  line-height:1.42;
}

.dc-ops-layer-list{
  display:grid;
  align-content:center;
  gap:clamp(.42rem, .8vw, .72rem);
  border-top:0;
  padding-top:clamp(.55rem, 1vw, .9rem);
}

.dc-ops-layer{
  min-height:56px;
  border-bottom:1px solid rgba(20,18,15,.075);
  background:transparent;
}

.dc-ops-layer:last-child{
  border-bottom:0;
}

.dc-home-system .dc-ops-layer{
  grid-template-columns:22px minmax(0, 1fr);
  column-gap:.88rem;
}

.dc-home-system .dc-ops-layer .dc-icon{
  width:19px;
  height:19px;
  color:rgba(126,103,48,.68);
  opacity:.78;
}

.dc-home-system .hero-system-icon-inline{
  background:none;
  -webkit-mask:none;
  mask:none;
}

.dc-home-system .hero-system-icon-inline svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.dc-ops-layer-copy{
  display:grid;
  gap:.16rem;
  min-width:0;
}

.dc-ops-layer strong{
  color:rgba(31,28,22,.78);
  font-size:.9rem;
  font-weight:520;
  letter-spacing:0;
}

.dc-ops-layer small{
  color:rgba(48,43,34,.6);
  font-size:.75rem;
  font-weight:400;
  line-height:1.38;
}

@media (max-width: 1120px){
  .dc-gateway-console{
    grid-template-columns:1fr;
  }

  .dc-ops-panel{
    border-left:0;
    border-top:1px solid rgba(20,18,15,.075);
  }
}

@media (max-width: 760px){
  .dc-hero-brand-lockup img{
    width:67px;
    height:67px;
  }

  .dc-ops-panel{
    padding:1rem;
  }
}

/* Operational path: connected system map below the hero. */
.dc-operational-path{
  padding:clamp(2.4rem, 5vw, 5.2rem) 0 clamp(1.8rem, 4vw, 4.2rem);
}

.dc-path-shell{
  position:relative;
  display:grid;
  gap:clamp(1.2rem, 2.8vw, 2.6rem);
  padding:clamp(1.1rem, 2.6vw, 2.35rem) 0;
  border-top:1px solid rgba(24,22,18,.12);
  border-bottom:1px solid rgba(24,22,18,.1);
}

.dc-path-shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent, rgba(126,103,48,.13), transparent) top / 100% 1px no-repeat,
    radial-gradient(circle at 50% 6%, rgba(126,103,48,.08), transparent 34%);
  opacity:.72;
}

.dc-path-intro{
  position:relative;
  display:grid;
  grid-template-columns:minmax(220px, .58fr) minmax(0, 1fr);
  align-items:end;
  gap:clamp(1rem, 3.5vw, 4rem);
  max-width:1060px;
}

.dc-path-intro .dc-kicker{
  align-self:start;
}

.dc-path-intro .dc-section-title{
  max-width:17ch;
  color:rgba(29,26,21,.86);
  font-size:clamp(1.65rem, 2.55vw, 2.85rem);
  line-height:1.06;
  font-weight:560;
}

.dc-path-intro .dc-section-copy{
  max-width:62ch;
  color:rgba(45,40,32,.68);
  font-size:clamp(.92rem, 1vw, 1rem);
  line-height:1.72;
}

.dc-path-map{
  position:relative;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  column-gap:clamp(1.4rem, 4vw, 4.2rem);
  row-gap:clamp(.9rem, 2vw, 1.7rem);
  padding-top:clamp(.45rem, 1vw, .9rem);
}

.dc-path-map::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:1px;
  background:linear-gradient(180deg, transparent, rgba(126,103,48,.18) 14%, rgba(24,22,18,.13) 50%, rgba(126,103,48,.16) 86%, transparent);
  transform:translateX(-50%);
  pointer-events:none;
}

.dc-path-module{
  position:relative;
  display:grid;
  grid-template-columns:clamp(2.4rem, 4vw, 3.2rem) minmax(0, 1fr);
  gap:clamp(.65rem, 1.4vw, 1rem);
  min-height:clamp(230px, 22vw, 288px);
  padding:clamp(1rem, 2vw, 1.55rem) clamp(.75rem, 1.8vw, 1.45rem);
  border-top:1px solid rgba(24,22,18,.105);
  background:linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.018) 58%, rgba(24,22,18,.018));
  backdrop-filter:blur(2px) saturate(104%);
  -webkit-backdrop-filter:blur(2px) saturate(104%);
}

.dc-path-module::before{
  content:"";
  position:absolute;
  top:-4px;
  left:clamp(.9rem, 2vw, 1.4rem);
  width:7px;
  height:7px;
  border:1px solid rgba(126,103,48,.42);
  background:rgba(238,234,225,.72);
  transform:rotate(45deg);
}

.dc-path-index{
  color:rgba(126,103,48,.58);
  font-size:.68rem;
  font-weight:650;
  letter-spacing:.13em;
  line-height:1.2;
  font-variant-numeric:tabular-nums;
}

.dc-path-content{
  display:grid;
  align-content:start;
  gap:.7rem;
  min-width:0;
}

.dc-path-label{
  margin:0;
  color:rgba(126,103,48,.72);
  font-size:.68rem;
  font-weight:620;
  letter-spacing:.12em;
  line-height:1.2;
  text-transform:uppercase;
}

.dc-path-content h3{
  max-width:24ch;
  margin:0;
  color:rgba(30,27,22,.86);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(1.05rem, 1.55vw, 1.42rem);
  line-height:1.16;
  font-weight:560;
  letter-spacing:0;
}

.dc-path-content > p:not(.dc-path-label){
  max-width:62ch;
  margin:0;
  color:rgba(45,40,32,.66);
  font-size:.9rem;
  line-height:1.64;
}

.dc-path-signals,
.dc-path-layer-line,
.dc-path-process,
.dc-path-fit-list{
  display:grid;
  gap:0;
  margin-top:.35rem;
  border-top:1px solid rgba(24,22,18,.105);
}

.dc-path-signals,
.dc-path-fit-list{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.dc-path-signals span,
.dc-path-layer-line span,
.dc-path-process span,
.dc-path-fit-list span{
  min-width:0;
  padding:.58rem .68rem .58rem 0;
  border-bottom:1px solid rgba(24,22,18,.08);
  color:rgba(35,31,25,.7);
  font-size:.78rem;
  font-weight:450;
  line-height:1.34;
}

.dc-path-signals span:nth-child(odd),
.dc-path-fit-list span:nth-child(odd){
  border-right:1px solid rgba(24,22,18,.075);
}

.dc-path-signals span:nth-child(even),
.dc-path-fit-list span:nth-child(even){
  padding-left:.68rem;
}

.dc-path-layer-line{
  grid-template-columns:repeat(5, minmax(0, 1fr));
}

.dc-path-layer-line span{
  position:relative;
  padding-top:1.05rem;
  text-align:center;
}

.dc-path-layer-line span::before,
.dc-path-process span::before{
  content:"";
  position:absolute;
  top:-4px;
  left:50%;
  width:7px;
  height:7px;
  border:1px solid rgba(126,103,48,.42);
  background:rgba(238,234,225,.78);
  transform:translateX(-50%) rotate(45deg);
}

.dc-path-process{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

.dc-path-process span{
  position:relative;
  padding-top:1.05rem;
  text-align:center;
}

@media (max-width: 980px){
  .dc-path-intro{
    grid-template-columns:1fr;
    gap:.8rem;
  }

  .dc-path-map{
    grid-template-columns:1fr;
  }

  .dc-path-map::before{
    left:1.35rem;
    transform:none;
  }

  .dc-path-module{
    min-height:0;
    padding-left:clamp(1rem, 4vw, 1.4rem);
  }
}

@media (max-width: 640px){
  .dc-operational-path{
    padding-top:2rem;
  }

  .dc-path-module{
    grid-template-columns:2rem minmax(0, 1fr);
  }

  .dc-path-signals,
  .dc-path-layer-line,
  .dc-path-process,
  .dc-path-fit-list{
    grid-template-columns:1fr;
  }

  .dc-path-layer-line span,
  .dc-path-process span{
    padding-top:.58rem;
    text-align:left;
  }

  .dc-path-layer-line span::before,
  .dc-path-process span::before{
    left:0;
    transform:translateY(-50%) rotate(45deg);
  }

  .dc-path-signals span:nth-child(odd),
  .dc-path-fit-list span:nth-child(odd){
    border-right:0;
  }

  .dc-path-signals span:nth-child(even),
  .dc-path-fit-list span:nth-child(even){
    padding-left:0;
  }
}

/* Operational path reveal scene. Content is open by default for no-JS access. */
.dc-hero-brand-lockup img{
  width:clamp(77px, 7.9vw, 108px);
  height:clamp(77px, 7.9vw, 108px);
}

.dc-hero-brand-lockup .dc-kicker{
  color:rgba(126,103,48,.84);
  font-size:.76rem;
  font-weight:650;
}

.dc-operational-path{
  padding:clamp(3rem, 6vw, 6.4rem) 0 clamp(2.4rem, 5vw, 5.2rem);
}

.dc-path-stage{
  position:relative;
  min-height:clamp(680px, 72vw, 820px);
  overflow:hidden;
  border-top:1px solid rgba(24,22,18,.1);
  border-bottom:1px solid rgba(24,22,18,.09);
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.2), transparent 24%),
    radial-gradient(circle at 50% 50%, rgba(126,103,48,.035), transparent 48%);
}

.dc-path-stage::before,
.dc-path-stage::after{
  content:"";
  position:absolute;
  pointer-events:none;
}

.dc-path-stage::before{
  display:none;
}

.dc-path-stage::after{
  display:none;
}

.dc-path-core{
  position:absolute;
  left:50%;
  top:50%;
  z-index:2;
  width:min(420px, 58vw);
  display:grid;
  justify-items:center;
  gap:.72rem;
  text-align:center;
  transform:translate(-50%, -50%);
}

.dc-path-core::before{
  content:"";
  position:absolute;
  inset:-1.15rem -1rem;
  z-index:-1;
  border:1px solid rgba(126,103,48,.09);
  background:radial-gradient(circle, rgba(255,255,255,.24), rgba(255,255,255,.045) 64%, transparent);
  opacity:.74;
}

.dc-path-core .dc-kicker{
  margin:0;
  color:rgba(126,103,48,.78);
  font-size:.68rem;
  font-weight:650;
  letter-spacing:.16em;
}

.dc-path-core .dc-section-title{
  max-width:13ch;
  color:rgba(28,25,20,.88);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(1.75rem, 3.2vw, 3.15rem);
  font-weight:540;
  line-height:1.04;
  letter-spacing:0;
}

.dc-path-orbit{
  position:absolute;
  inset:0;
  z-index:1;
}

.dc-path-module{
  position:absolute;
  z-index:2;
  display:grid;
  grid-template-columns:1fr;
  gap:.58rem;
  width:clamp(280px, 27vw, 420px);
  min-height:0;
  padding:clamp(.95rem, 1.45vw, 1.3rem) clamp(.95rem, 1.6vw, 1.35rem);
  border-top:1px solid rgba(24,22,18,.11);
  border-bottom:1px solid rgba(24,22,18,.06);
  background:linear-gradient(110deg, rgba(255,255,255,.12), rgba(255,255,255,.035) 78%, transparent);
  backdrop-filter:blur(1.5px) saturate(104%);
  -webkit-backdrop-filter:blur(1.5px) saturate(104%);
  opacity:1;
  transform:none;
}

.dc-path-module::before{
  content:"";
  position:absolute;
  top:-4px;
  left:0;
  width:7px;
  height:7px;
  border:1px solid rgba(126,103,48,.4);
  background:rgba(238,234,225,.78);
  transform:rotate(45deg);
}

.dc-path-module-problem{
  top:clamp(2.4rem, 5.8vw, 4.8rem);
  left:clamp(1.2rem, 5.4vw, 4.8rem);
  --path-from:translate(clamp(120px, 18vw, 260px), clamp(145px, 19vw, 230px)) scale(.96);
}

.dc-path-module-model{
  top:clamp(2.4rem, 5.8vw, 4.8rem);
  right:clamp(1.2rem, 5.4vw, 4.8rem);
  --path-from:translate(clamp(-260px, -18vw, -120px), clamp(145px, 19vw, 230px)) scale(.96);
}

.dc-path-module-method{
  bottom:clamp(2.4rem, 5.8vw, 4.8rem);
  left:clamp(1.2rem, 5.4vw, 4.8rem);
  --path-from:translate(clamp(120px, 18vw, 260px), clamp(-230px, -19vw, -145px)) scale(.96);
}

.dc-path-module-fit{
  bottom:clamp(2.4rem, 5.8vw, 4.8rem);
  right:clamp(1.2rem, 5.4vw, 4.8rem);
  --path-from:translate(clamp(-260px, -18vw, -120px), clamp(-230px, -19vw, -145px)) scale(.96);
}

.dc-path-label{
  margin:0;
  color:rgba(126,103,48,.76);
  font-size:.66rem;
  font-weight:620;
  letter-spacing:.12em;
  line-height:1.2;
  text-transform:uppercase;
}

.dc-path-module h3{
  max-width:29ch;
  margin:0;
  color:rgba(30,27,22,.84);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(1.02rem, 1.38vw, 1.28rem);
  font-weight:540;
  line-height:1.18;
  letter-spacing:0;
}

.dc-path-module p:not(.dc-path-label){
  max-width:44ch;
  margin:0;
  color:rgba(45,40,32,.64);
  font-size:.88rem;
  font-weight:400;
  line-height:1.62;
}

.dc-path-stage.is-armed .dc-path-module{
  opacity:0;
  transform:var(--path-from);
  transition:
    opacity 1800ms cubic-bezier(.16, 1, .3, 1),
    transform 2400ms cubic-bezier(.16, 1, .3, 1);
}

.dc-path-stage.is-armed .dc-path-core::before{
  animation:dcPathCorePulse 2100ms ease-in-out infinite;
}

.dc-path-stage.is-open .dc-path-module{
  opacity:1;
  transform:none;
}

.dc-path-stage.is-open .dc-path-core::before{
  animation:none;
}

@keyframes dcPathCorePulse{
  0%, 100%{
    opacity:.58;
    transform:scale(.985);
  }
  50%{
    opacity:.94;
    transform:scale(1.018);
  }
}

@media (prefers-reduced-motion: reduce){
  .dc-path-stage.is-armed .dc-path-module,
  .dc-path-stage.is-open .dc-path-module{
    opacity:1;
    transform:none;
    transition:none;
  }

  .dc-path-stage.is-armed .dc-path-core::before{
    animation:none;
  }
}

@media (max-width: 980px){
  .dc-path-stage{
    display:grid;
    gap:1.2rem;
    min-height:0;
    padding:1.2rem 0;
    overflow:visible;
  }

  .dc-path-stage::before,
  .dc-path-stage::after{
    display:none;
  }

  .dc-path-core,
  .dc-path-orbit,
  .dc-path-module{
    position:relative;
    inset:auto;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    width:auto;
    transform:none;
  }

  .dc-path-core{
    justify-self:center;
    margin-bottom:.4rem;
  }

  .dc-path-orbit{
    display:grid;
    gap:.82rem;
  }

  .dc-path-stage.is-armed .dc-path-module,
  .dc-path-stage.is-open .dc-path-module{
    opacity:1;
    transform:none;
    transition:none;
  }
}

@media (max-width: 760px){
  .dc-hero-brand-lockup img{
    width:77px;
    height:77px;
  }

  .dc-path-core{
    width:min(360px, 82vw);
  }

  .dc-path-core .dc-section-title{
    font-size:clamp(1.65rem, 8vw, 2.35rem);
  }
}

/* Operational path: two-column route layout. */
.dc-operational-path .container{
  width:min(calc(100% - 2rem), 1180px);
}

.dc-path-stage{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(320px, .42fr) minmax(420px, .58fr);
  align-items:center;
  gap:clamp(2rem, 4.2vw, 4.8rem);
  padding:clamp(2.2rem, 5vw, 4.8rem) 0;
  overflow:visible;
  background:radial-gradient(circle at 35% 50%, rgba(255,255,255,.18), transparent 32%);
}

.dc-path-stage::before,
.dc-path-stage::after{
  display:none;
}

.dc-path-core{
  position:relative;
  left:auto;
  top:auto;
  width:min(390px, 100%);
  justify-items:start;
  align-self:center;
  text-align:left;
  transform:none;
}

.dc-path-core::before{
  inset:-1.1rem -1rem;
  border-color:rgba(126,103,48,.075);
  background:radial-gradient(circle at 18% 50%, rgba(255,255,255,.22), rgba(255,255,255,.035) 62%, transparent);
}

.dc-path-core .dc-section-title{
  max-width:12.5ch;
  font-size:clamp(1.75rem, 2.65vw, 2.65rem);
}

.dc-path-orbit{
  position:relative;
  inset:auto;
  z-index:1;
  display:grid;
  gap:clamp(.72rem, 1.2vw, 1rem);
}

.dc-path-module,
.dc-path-module-problem,
.dc-path-module-model,
.dc-path-module-method,
.dc-path-module-fit{
  position:relative;
  inset:auto;
  left:auto;
  right:auto;
  top:auto;
  bottom:auto;
  width:min(100%, 620px);
  min-width:0;
  justify-self:stretch;
  transform:none;
  --path-from:translate3d(0, 18px, 0);
}

.dc-path-module{
  padding:clamp(.9rem, 1.35vw, 1.2rem) clamp(1rem, 1.7vw, 1.45rem);
  border-top:1px solid rgba(24,22,18,.09);
  border-bottom:1px solid rgba(24,22,18,.045);
  background:linear-gradient(100deg, rgba(255,255,255,.11), rgba(255,255,255,.032) 78%, transparent);
}

.dc-path-module::before{
  left:0;
  opacity:.72;
}

.dc-path-module h3{
  max-width:34ch;
  font-size:clamp(1rem, 1.2vw, 1.18rem);
}

.dc-path-module p:not(.dc-path-label){
  max-width:58ch;
  font-size:.88rem;
  line-height:1.58;
}

.dc-path-stage.is-armed .dc-path-core{
  opacity:1;
  transform:none;
}

.dc-path-stage.is-armed .dc-path-module{
  opacity:0;
  transform:var(--path-from);
  transition:
    opacity 1250ms cubic-bezier(.16, 1, .3, 1),
    transform 1250ms cubic-bezier(.16, 1, .3, 1);
}

.dc-path-stage.is-open .dc-path-module{
  opacity:1;
  transform:none;
}

.dc-path-stage.is-open .dc-path-module-problem{
  transition-delay:250ms;
}

.dc-path-stage.is-open .dc-path-module-model{
  transition-delay:550ms;
}

.dc-path-stage.is-open .dc-path-module-method{
  transition-delay:850ms;
}

.dc-path-stage.is-open .dc-path-module-fit{
  transition-delay:1150ms;
}

@media (prefers-reduced-motion: reduce){
  .dc-path-stage.is-open .dc-path-module-problem,
  .dc-path-stage.is-open .dc-path-module-model,
  .dc-path-stage.is-open .dc-path-module-method,
  .dc-path-stage.is-open .dc-path-module-fit{
    transition-delay:0ms;
  }
}

@media (max-width: 980px){
  .dc-path-stage{
    grid-template-columns:1fr;
    gap:1.2rem;
    padding:1.4rem 0;
  }

  .dc-path-core{
    width:min(460px, 100%);
    justify-self:start;
    justify-items:start;
    text-align:left;
  }

  .dc-path-stage.is-armed .dc-path-module,
  .dc-path-stage.is-open .dc-path-module{
    opacity:1;
    transform:none;
    transition:none;
    transition-delay:0ms;
  }
}

/* Operational path: compact system surface. */
.dc-operational-path{
  padding:clamp(2.4rem, 5vw, 4.8rem) 0 clamp(2rem, 4.4vw, 4rem);
}

.dc-operational-path .container{
  width:min(calc(100% - 2rem), 1120px);
}

.dc-path-stage{
  min-height:0;
  display:grid;
  grid-template-columns:1fr;
  align-items:start;
  gap:clamp(1.25rem, 2.4vw, 2rem);
  padding:clamp(1.25rem, 3vw, 2.4rem);
  overflow:hidden;
  border:1px solid rgba(24,22,18,.075);
  border-radius:8px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.055) 58%, rgba(126,103,48,.035)),
    radial-gradient(circle at 16% 8%, rgba(255,255,255,.28), transparent 34%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 18px 42px rgba(30,26,20,.055);
  backdrop-filter:blur(5px) saturate(108%);
  -webkit-backdrop-filter:blur(5px) saturate(108%);
}

.dc-path-stage::before,
.dc-path-stage::after{
  display:none;
}

.dc-path-core{
  width:min(720px, 100%);
  justify-self:start;
  justify-items:start;
  gap:.6rem;
  text-align:left;
}

.dc-path-core::before{
  display:none;
}

.dc-path-core .dc-kicker{
  font-size:.66rem;
  letter-spacing:.15em;
}

.dc-path-core .dc-section-title{
  max-width:16ch;
  font-size:clamp(1.75rem, 3vw, 3rem);
  line-height:1.06;
}

.dc-path-orbit{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:clamp(.72rem, 1.45vw, 1.1rem);
}

.dc-path-module,
.dc-path-module-problem,
.dc-path-module-model,
.dc-path-module-method,
.dc-path-module-fit{
  width:100%;
  --path-from:translate3d(0, 16px, 0);
}

.dc-path-module{
  min-height:clamp(150px, 15vw, 188px);
  align-content:start;
  padding:clamp(.95rem, 1.55vw, 1.35rem);
  border:1px solid rgba(24,22,18,.055);
  border-left:1px solid rgba(126,103,48,.13);
  background:
    linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.035) 74%, transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}

.dc-path-module::before{
  top:.95rem;
  left:-4px;
  opacity:.62;
}

.dc-path-label{
  font-size:.64rem;
  letter-spacing:.11em;
}

.dc-path-module h3{
  max-width:36ch;
  font-size:clamp(1rem, 1.25vw, 1.2rem);
}

.dc-path-module p:not(.dc-path-label){
  max-width:62ch;
  font-size:.88rem;
  line-height:1.58;
}

.dc-path-stage.is-armed .dc-path-module{
  opacity:0;
  transform:var(--path-from);
  transition:
    opacity 1250ms cubic-bezier(.16, 1, .3, 1),
    transform 1250ms cubic-bezier(.16, 1, .3, 1);
}

.dc-path-stage.is-open .dc-path-module{
  opacity:1;
  transform:none;
}

@media (max-width: 760px){
  .dc-path-stage{
    padding:1rem;
  }

  .dc-path-orbit{
    grid-template-columns:1fr;
  }

  .dc-path-module{
    min-height:0;
  }
}

/* Operational path + footer refinement. */
.dc-operational-path{
  padding:clamp(1.05rem, 2.2vw, 2.4rem) 0 clamp(1.8rem, 3.8vw, 3.6rem);
}

.dc-operational-path .container{
  width:min(calc(100% - 2rem), 1320px);
}

.dc-path-stage{
  gap:clamp(.95rem, 1.8vw, 1.45rem);
  padding:clamp(1.4rem, 4.2vw, 4.2rem);
  border:1px solid rgba(20,18,15,.13);
  border-radius:2px;
  background:
    linear-gradient(105deg, rgba(238,233,223,.34), rgba(238,233,223,.18) 52%, rgba(28,28,31,.16));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 18px 42px rgba(0,0,0,.10);
  backdrop-filter:blur(7px) saturate(105%);
  -webkit-backdrop-filter:blur(7px) saturate(105%);
}

.dc-path-core{
  display:grid;
  grid-template-columns:1fr;
  align-items:start;
  width:min(620px, 100%);
  gap:.42rem;
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
}

.dc-path-core .dc-kicker{
  grid-column:1;
}

.dc-path-core .dc-section-title{
  grid-column:1;
}

.dc-path-support{
  grid-column:1;
  grid-row:auto;
  max-width:54ch;
  margin:0;
  color:rgba(45,40,32,.62);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(.86rem, .92vw, .94rem);
  line-height:1.58;
}

.dc-path-core .dc-kicker{
  color:rgba(126,103,48,.84);
  font-size:.66rem;
  font-weight:650;
  letter-spacing:.16em;
}

.dc-path-core .dc-section-title{
  max-width:16.5ch;
  color:rgba(31,28,22,.94);
  font-size:clamp(1.55rem, 2.55vw, 2.65rem);
  font-weight:540;
  line-height:1.05;
}

.dc-path-orbit{
  gap:clamp(.62rem, 1.05vw, .86rem);
}

.dc-path-module,
.dc-path-module-problem,
.dc-path-module-model,
.dc-path-module-method,
.dc-path-module-fit{
  --path-from:translate3d(0, 16px, 0);
}

.dc-path-module{
  min-height:clamp(122px, 11vw, 150px);
  gap:.44rem;
  padding:clamp(.8rem, 1.1vw, 1rem);
  border:1px solid rgba(24,22,18,.07);
  border-left:1px solid rgba(126,103,48,.12);
  border-radius:2px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.03) 78%, transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
}

.dc-path-module::before{
  display:none;
}

.dc-path-label{
  color:rgba(126,103,48,.78);
  font-size:.63rem;
  font-weight:620;
  letter-spacing:.12em;
}

.dc-path-module h3{
  color:rgba(31,28,22,.86);
  font-size:clamp(.98rem, 1.15vw, 1.14rem);
  font-weight:540;
  line-height:1.18;
}

.dc-path-module p:not(.dc-path-label){
  color:rgba(45,40,32,.64);
  font-size:.86rem;
  line-height:1.56;
}

.dc-path-stage.is-armed .dc-path-core .dc-kicker,
.dc-path-stage.is-armed .dc-path-core .dc-section-title,
.dc-path-stage.is-armed .dc-path-support{
  opacity:0;
  transform:translate3d(0, 14px, 0);
  transition:
    opacity 620ms cubic-bezier(.22, 1, .36, 1),
    transform 620ms cubic-bezier(.22, 1, .36, 1);
}

.dc-path-stage.is-open .dc-path-core .dc-kicker,
.dc-path-stage.is-open .dc-path-core .dc-section-title,
.dc-path-stage.is-open .dc-path-support{
  opacity:1;
  transform:none;
}

.dc-path-stage.is-open .dc-path-core .dc-kicker{
  transition-delay:0ms;
}

.dc-path-stage.is-open .dc-path-core .dc-section-title{
  transition-delay:90ms;
}

.dc-path-stage.is-open .dc-path-support{
  transition-delay:180ms;
}

.dc-path-stage.is-armed .dc-path-module{
  opacity:0;
  transform:var(--path-from);
  transition:
    opacity 880ms cubic-bezier(.22, 1, .36, 1),
    transform 880ms cubic-bezier(.22, 1, .36, 1);
}

.dc-path-stage.is-open .dc-path-module{
  opacity:1;
  transform:none;
}

.dc-path-stage.is-open .dc-path-module-problem{
  transition-delay:280ms;
}

.dc-path-stage.is-open .dc-path-module-model{
  transition-delay:370ms;
}

.dc-path-stage.is-open .dc-path-module-method{
  transition-delay:460ms;
}

.dc-path-stage.is-open .dc-path-module-fit{
  transition-delay:550ms;
}

@media (prefers-reduced-motion: reduce){
  .dc-path-stage.is-armed .dc-path-core .dc-kicker,
  .dc-path-stage.is-armed .dc-path-core .dc-section-title,
  .dc-path-stage.is-armed .dc-path-support,
  .dc-path-stage.is-open .dc-path-core .dc-kicker,
  .dc-path-stage.is-open .dc-path-core .dc-section-title,
  .dc-path-stage.is-open .dc-path-support,
  .dc-path-stage.is-open .dc-path-module-problem,
  .dc-path-stage.is-open .dc-path-module-model,
  .dc-path-stage.is-open .dc-path-module-method,
  .dc-path-stage.is-open .dc-path-module-fit{
    opacity:1;
    transform:none;
    transition:none;
    transition-delay:0ms;
  }
}

.dc-faq-section{
  padding:clamp(1.2rem, 2.6vw, 2.8rem) 0 clamp(1.05rem, 2.4vw, 2.4rem);
}

.dc-faq-section .container{
  width:min(calc(100% - 2rem), 1320px);
}

.dc-faq-panel{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0, .42fr) minmax(0, .58fr);
  align-items:start;
  gap:0;
  overflow:hidden;
  border:1px solid rgba(20,18,15,.13);
  border-radius:2px;
  background:
    linear-gradient(105deg, rgba(238,233,223,.34), rgba(238,233,223,.18) 52%, rgba(28,28,31,.16));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 18px 42px rgba(0,0,0,.10);
  backdrop-filter:blur(7px) saturate(105%);
  -webkit-backdrop-filter:blur(7px) saturate(105%);
}

.dc-faq-panel::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  border-radius:inherit;
  background:
    linear-gradient(90deg, transparent, rgba(126,103,48,.10), transparent) top / 100% 1px no-repeat,
    linear-gradient(180deg, rgba(255,255,255,.10), transparent 42%);
}

.dc-faq-head{
  gap:.5rem;
  min-height:100%;
  padding:clamp(1.15rem, 2.8vw, 2.55rem);
  border-right:1px solid rgba(20,18,15,.13);
  background:linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.025));
}

.dc-faq-head h2{
  max-width:16ch;
  color:rgba(31,28,22,.94);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(1.45rem, 2.45vw, 2.55rem);
  font-weight:540;
  line-height:1.05;
}

.dc-faq-head p:not(.dc-kicker){
  max-width:56ch;
  color:rgba(45,40,32,.66);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(.88rem, .96vw, .98rem);
  line-height:1.6;
}

.dc-faq-list{
  display:grid;
  gap:0;
  padding:clamp(.82rem, 1.45vw, 1.15rem);
  background:linear-gradient(145deg, rgba(255,255,255,.072), rgba(255,255,255,.018));
}

.dc-faq-item{
  border-bottom:1px solid rgba(24,22,18,.095);
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015));
}

.dc-faq-item:first-child{
  border-top:1px solid rgba(24,22,18,.095);
}

.dc-faq-item summary{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1fr) 24px;
  align-items:center;
  gap:1rem;
  min-height:54px;
  padding:.82rem 0 .82rem 1rem;
  color:rgba(31,28,22,.86);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.92rem;
  font-weight:560;
  line-height:1.32;
  cursor:pointer;
  list-style:none;
}

.dc-faq-item summary::-webkit-details-marker{
  display:none;
}

.dc-faq-item summary::after{
  content:"+";
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  color:rgba(126,103,48,.78);
  font-size:1rem;
  font-weight:520;
  line-height:1;
}

.dc-faq-item[open]{
  background:linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.018));
}

.dc-faq-item[open] summary::after{
  content:"-";
}

.dc-faq-item p{
  max-width:68ch;
  margin:0;
  padding:0 1rem .95rem;
  color:rgba(45,40,32,.64);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.86rem;
  line-height:1.58;
}

.dc-final-section{
  padding:clamp(1.2rem, 2.5vw, 2.8rem) 0 clamp(1.8rem, 3.4vw, 3.6rem);
}

.dc-final-section .container{
  width:min(calc(100% - 2rem), 1320px);
}

.dc-final-section .dc-final-cta{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(250px, 360px);
  align-items:center;
  gap:0;
  overflow:hidden;
  border:1px solid rgba(20,18,15,.13);
  border-radius:2px;
  background:
    linear-gradient(105deg, rgba(238,233,223,.34), rgba(238,233,223,.18) 52%, rgba(28,28,31,.16));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 18px 42px rgba(0,0,0,.10);
  backdrop-filter:blur(7px) saturate(105%);
  -webkit-backdrop-filter:blur(7px) saturate(105%);
}

.dc-final-section .dc-panel-copy{
  gap:.48rem;
  padding:clamp(1.15rem, 2.8vw, 2.55rem);
}

.dc-final-section .dc-panel-copy h2{
  max-width:18ch;
  color:rgba(31,28,22,.94);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(1.45rem, 2.45vw, 2.55rem);
  font-weight:540;
  line-height:1.05;
}

.dc-final-section .dc-panel-copy p:not(.dc-kicker){
  max-width:56ch;
  color:rgba(45,40,32,.66);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(.88rem, .96vw, .98rem);
  line-height:1.6;
}

.dc-final-section .dc-final-actions{
  display:grid;
  align-content:center;
  justify-items:start;
  gap:.58rem;
  padding:clamp(1.15rem, 2.8vw, 2.55rem);
  border-left:1px solid rgba(20,18,15,.13);
}

.dc-final-section .dc-final-actions .btn{
  width:100%;
  max-width:270px;
}

.dc-final-section .dc-final-actions p{
  max-width:32ch;
  color:rgba(64,58,48,.58);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:.76rem;
  line-height:1.42;
  text-align:left;
}

.dc-footer-system{
  margin-top:clamp(1.2rem, 2.6vw, 2.6rem);
  padding:clamp(1.85rem, 3.6vw, 3rem) 0 clamp(1.2rem, 2.5vw, 2rem);
  border-top:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(12,12,12,.64), rgba(12,12,13,.70)),
    radial-gradient(circle at 14% 0%, rgba(193,170,106,.072), transparent 34%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    0 -16px 42px rgba(20,18,14,.07);
  backdrop-filter:blur(18px) saturate(112%);
  -webkit-backdrop-filter:blur(18px) saturate(112%);
}

.dc-footer-system.footer-clean::before{
  width:min(calc(100% - 2rem), 1320px);
  background:linear-gradient(90deg, transparent, rgba(193,170,106,.28), rgba(255,255,255,.11), rgba(193,170,106,.18), transparent);
  opacity:.76;
}

.dc-footer-system .footer-inner{
  width:min(calc(100% - 2rem), 1320px);
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  align-items:start;
  gap:clamp(1.1rem, 2.6vw, 2.5rem);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
}

.dc-footer-system .f-col{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.68rem;
  min-width:0;
}

.dc-footer-system .f-col-brand{
  max-width:38ch;
}

.dc-footer-system .brand-mini{
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  color:rgba(245,239,228,.94);
  font-size:.95rem;
  font-weight:560;
  letter-spacing:.06em;
  text-transform:none;
}

.dc-footer-system .footer-brand-copy{
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  color:rgba(226,219,206,.70);
  font-size:.9rem;
  font-weight:400;
  line-height:1.62;
}

.dc-footer-system .footer-inline-link,
.dc-footer-system a,
.dc-footer-system .footer-link-btn,
.dc-footer-system li span{
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  color:rgba(226,219,206,.66);
  font-size:.88rem;
  font-weight:400;
  line-height:1.62;
}

.dc-footer-system h4{
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  color:rgba(193,170,106,.76);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.16em;
}

.dc-footer-system ul{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.28rem;
}

.dc-footer-system li,
.dc-footer-system a,
.dc-footer-system .footer-link-btn,
.dc-footer-system li span{
  margin:0;
  padding:0;
  text-align:left;
}

.dc-footer-system .footer-meta{
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  grid-column:1 / -1;
  margin:clamp(.65rem, 1.6vw, 1.2rem) 0 0;
  padding-top:clamp(.8rem, 1.6vw, 1.2rem);
  border-top:1px solid rgba(255,255,255,.075);
  color:rgba(226,219,206,.54);
  font-size:.84rem;
  font-weight:400;
}

@media (max-width: 860px){
  .dc-faq-panel{
    grid-template-columns:1fr;
  }

  .dc-faq-head{
    border-right:0;
    border-bottom:1px solid rgba(20,18,15,.13);
  }

  .dc-final-section .dc-final-cta{
    grid-template-columns:1fr;
  }

  .dc-final-section .dc-final-actions{
    border-left:0;
    border-top:1px solid rgba(20,18,15,.13);
  }

  .dc-path-core{
    grid-template-columns:1fr;
  }

  .dc-path-support{
    grid-column:1;
    grid-row:auto;
  }

  .dc-path-stage.is-armed .dc-path-module{
    opacity:0;
    transform:var(--path-from);
    transition:
      opacity 880ms cubic-bezier(.22, 1, .36, 1),
      transform 880ms cubic-bezier(.22, 1, .36, 1);
  }

  .dc-path-stage.is-open .dc-path-module{
    opacity:1;
    transform:none;
  }

  .dc-footer-system .footer-inner{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .dc-footer-system .f-col-brand{
    grid-column:1 / -1;
  }
}

@media (max-width: 560px){
  .dc-faq-section .container{
    width:min(calc(100% - 1.1rem), 1320px);
  }

  .dc-faq-head,
  .dc-faq-list{
    padding:1rem;
  }

  .dc-faq-head h2{
    font-size:clamp(1.35rem, 7vw, 2rem);
  }

  .dc-faq-item summary{
    padding:.82rem 0;
    font-size:.88rem;
  }

  .dc-faq-item p{
    padding:0 0 .9rem;
  }

  .dc-footer-system .footer-inner{
    grid-template-columns:1fr;
  }

  .dc-footer-system .footer-meta,
  .dc-footer-system .f-col-brand{
    grid-column:auto;
  }
}

/* About page correction: one uninterrupted editorial surface. */
.dc-about-editorial-block{
  padding:clamp(1.8rem, 3.4vw, 3.2rem) 0 clamp(1rem, 2vw, 1.8rem);
}

.dc-about-editorial-block .dc-about-single-sheet{
  display:block;
  min-height:0;
  padding:clamp(28px, 3vw, 44px) clamp(24px, 3vw, 44px);
  border:1px solid rgba(20,18,15,.13);
  border-radius:2px;
  background:
    linear-gradient(105deg, rgba(238,233,223,.30), rgba(238,233,223,.16) 62%, rgba(28,28,31,.075));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    0 18px 42px rgba(0,0,0,.10);
  backdrop-filter:blur(7px) saturate(105%);
  -webkit-backdrop-filter:blur(7px) saturate(105%);
}

.dc-about-editorial-block .dc-about-single-sheet::before{
  display:none;
}

.dc-about-editorial-block .dc-about-brand-lockup{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  max-width:86ch;
  gap:clamp(.72rem, 1.2vw, .95rem);
  margin-inline:auto;
}

.dc-about-editorial-block .dc-about-brand-lockup::after{
  content:"—";
  order:1;
  color:rgba(126,103,48,.52);
  font-size:clamp(1rem, 1.15vw, 1.2rem);
  line-height:1;
}

.dc-about-editorial-block .dc-about-brand-lockup img{
  width:clamp(76px, 5.8vw, 98px);
  height:clamp(76px, 5.8vw, 98px);
  object-fit:contain;
  opacity:.88;
  filter:
    sepia(.35)
    saturate(.72)
    brightness(.72)
    contrast(1.08)
    drop-shadow(0 10px 18px rgba(0,0,0,.10));
  clip-path:inset(8% 8% 8% 8%);
}

.dc-about-editorial-block .dc-about-brand-lockup p{
  min-width:0;
  order:2;
  margin:0;
  color:rgba(126,103,48,.88);
  font-size:clamp(.88rem, 1vw, 1.08rem);
  font-weight:650;
  letter-spacing:.11em;
  line-height:1.16;
  text-transform:uppercase;
}

.dc-about-story{
  display:block;
  width:100%;
  max-width:86ch;
  margin:clamp(.9rem, 1.9vw, 1.55rem) auto 0;
  text-align:left;
}

.dc-about-story h1{
  max-width:24ch;
  margin:0;
  color:rgba(31,28,22,.96);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(1.9rem, 2.12rem, 2.35rem);
  font-weight:560;
  line-height:1.08;
  letter-spacing:0;
  text-wrap:balance;
}

.dc-about-copy{
  display:block;
  width:100%;
  max-width:86ch;
  margin-top:clamp(.85rem, 1.45vw, 1.15rem);
}

.dc-about-copy p{
  margin:0;
  color:rgba(45,40,32,.68);
  font-family:"General Sans", Inter, system-ui, -apple-system, sans-serif;
  font-size:clamp(.98rem, 1vw, 1.05rem);
  line-height:1.64;
}

.dc-about-copy p + p{
  margin-top:clamp(.68rem, .95vw, .88rem);
}

.dc-about-copy .dc-about-close{
  max-width:68ch;
  margin-top:clamp(.85rem, 1.4vw, 1.15rem);
  color:rgba(34,30,24,.86);
  font-size:clamp(.98rem, 1vw, 1.05rem);
  font-weight:400;
  line-height:1.64;
  text-wrap:balance;
}

@media (max-width: 980px){
  .dc-about-editorial-block .dc-about-single-sheet{
    min-height:0;
  }

  .dc-about-story,
  .dc-about-copy{
    max-width:100%;
  }
}

@media (max-width: 760px){
  .dc-about-editorial-block{
    padding:clamp(1.9rem, 7vw, 2.7rem) 0 .8rem;
  }

  .dc-about-editorial-block .dc-about-single-sheet{
    padding:clamp(24px, 6vw, 34px) clamp(18px, 5vw, 26px);
  }

  .dc-about-editorial-block .dc-about-brand-lockup{
    align-items:center;
    gap:.62rem;
  }

  .dc-about-editorial-block .dc-about-brand-lockup::after{
    font-size:1rem;
  }

  .dc-about-editorial-block .dc-about-brand-lockup img{
    width:66px;
    height:66px;
  }

  .dc-about-editorial-block .dc-about-brand-lockup p{
    max-width:10.75rem;
    font-size:.82rem;
    letter-spacing:.1em;
  }

  .dc-about-story{
    max-width:100%;
    margin-top:1rem;
  }

  .dc-about-story h1{
    font-size:clamp(1.55rem, 6vw, 1.95rem);
  }
}
