/* ============================================================
   WOODYER CAPITAL — INTELLIGENCE PLATFORM
   An immersive, classified-system scroll experience.
   Dark, minimal, luxury. Uses tokens from base.css.
============================================================ */
#wc-plat{ position:relative; background:var(--wc-ink); display:block; isolation:isolate; }
#wc-plat [data-r]{ will-change:opacity,transform; }

/* ============================================================
   IMMERSIVE ATMOSPHERE (fixed backdrop behind every section)
============================================================ */
.wc-atmos{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.wc-atmos__grid{
  position:absolute; inset:-20%;
  background-image:
    linear-gradient(rgba(201,169,97,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,169,97,.05) 1px, transparent 1px);
  background-size:54px 54px;
  -webkit-mask-image:radial-gradient(70% 60% at 50% 42%, #000 0%, rgba(0,0,0,.35) 55%, transparent 82%);
          mask-image:radial-gradient(70% 60% at 50% 42%, #000 0%, rgba(0,0,0,.35) 55%, transparent 82%);
  opacity:0; transform:translateY(0);
  transition:opacity 1.2s ease;
  animation:wcGridDrift 24s linear infinite;
}
.wc-atmos.is-live .wc-atmos__grid{ opacity:1; }
@keyframes wcGridDrift{ from{ background-position:0 0, 0 0; } to{ background-position:0 54px, 54px 0; } }
.wc-atmos__particles{ position:absolute; inset:0; width:100%; height:100%; opacity:0; transition:opacity 1.6s ease; }
.wc-atmos.is-live .wc-atmos__particles{ opacity:.9; }
.wc-atmos__scan{
  position:absolute; inset:0; pointer-events:none; opacity:.5;
  background:repeating-linear-gradient(180deg, rgba(246,243,238,.018) 0 1px, transparent 1px 3px);
  mix-blend-mode:overlay;
}
.wc-atmos__glow{
  position:absolute; inset:0;
  background:
    radial-gradient(60% 42% at 78% 8%, rgba(201,169,97,.10) 0%, rgba(201,169,97,0) 60%),
    radial-gradient(60% 50% at 12% 96%, rgba(92,31,38,.16) 0%, rgba(92,31,38,0) 60%);
}

/* Sections float above the atmosphere */
.wc-ph, .wc-gmap, .wc-div, .wc-cls, .wc-black, .wc-pcta{ position:relative; z-index:1; }

/* ============================================================
   01 . ENTRY
============================================================ */
.wc-ph{
  min-height:100vh; min-height:100svh; display:flex; align-items:center;
  padding:calc(var(--wc-h) + clamp(60px,12vh,150px)) 0 clamp(80px,12vh,150px);
}
.wc-ph__in{ position:relative; }
.wc-ph__eyebrow{ margin-bottom:30px; }
.wc-ph__h1{
  margin:0; font-family:var(--wc-serif); font-weight:340; letter-spacing:-.03em;
  font-size:clamp(58px,12vw,168px); line-height:.94; color:var(--wc-white);
}
.wc-ph__h1 em{ font-style:italic; font-weight:360; color:var(--wc-brass); }
.wc-ph__sub{
  margin:36px 0 0; font-family:var(--wc-serif); font-weight:300; font-style:italic;
  font-size:clamp(20px,2.6vw,34px); line-height:1.3; color:rgba(246,243,238,.72);
}
.wc-ph__sub span{ color:var(--wc-brass); }
.wc-ph__meta{ margin-top:clamp(44px,6vw,72px); display:flex; flex-wrap:wrap; gap:14px clamp(28px,4vw,56px);
  border-top:1px solid rgba(246,243,238,.1); padding-top:26px; }
.wc-ph__stat{ font-family:var(--wc-sans); font-size:12px; font-weight:500; letter-spacing:.14em;
  text-transform:uppercase; color:rgba(246,243,238,.5); }
.wc-ph__stat b{ font-family:var(--wc-serif); font-style:normal; font-weight:400; font-size:20px;
  letter-spacing:0; color:var(--wc-brass); margin-right:10px; }
.wc-ph__cue{ position:absolute; left:50%; bottom:clamp(24px,4vh,44px); transform:translateX(-50%);
  z-index:1; display:flex; flex-direction:column; align-items:center; gap:12px; }
.wc-ph__cue span{ font-family:var(--wc-mono); font-size:10px; font-weight:600; letter-spacing:.34em;
  text-transform:uppercase; color:rgba(246,243,238,.4); }
.wc-ph__cue i{ width:1px; height:52px; background:linear-gradient(rgba(201,169,97,.9),rgba(201,169,97,0));
  animation:wcCue 2.4s ease-in-out infinite; }
@keyframes wcCue{ 0%,100%{ transform:scaleY(1); opacity:1; } 50%{ transform:scaleY(.5); opacity:.4; } }

/* ============================================================
   02 . GLOBAL MAP
============================================================ */
.wc-gmap{ padding:clamp(80px,11vw,150px) 0 clamp(90px,12vw,168px); }
.wc-gmap__head{ max-width:820px; }
.wc-gmap__h{ margin:22px 0 0; font-family:var(--wc-serif); font-weight:360; letter-spacing:-.02em;
  font-size:clamp(38px,6vw,80px); line-height:1.02; color:var(--wc-white); }
.wc-gmap__h em{ font-style:italic; color:var(--wc-brass); }
.wc-gmap__p{ margin:28px 0 0; max-width:60ch; font-family:var(--wc-sans); font-weight:300;
  font-size:clamp(16px,1.5vw,19px); line-height:1.68; color:rgba(246,243,238,.7); }

.wc-gmap__stage{ margin:clamp(40px,5vw,68px) 0 0; }
.wc-gmap__frame{
  position:relative; width:100%; max-width:1500px; margin:0 auto;
  padding:clamp(16px,3vw,40px) clamp(12px,4vw,64px);
  border-top:1px solid rgba(246,243,238,.08); border-bottom:1px solid rgba(246,243,238,.08);
}
.wc-gmap__svg{ display:block; width:100%; height:auto; overflow:visible; }
/* graticule */
.wc-gmap__grat line{ stroke:rgba(246,243,238,.07); stroke-width:.6; }
.wc-gmap__grat .wc-eq{ stroke:rgba(201,169,97,.14); stroke-dasharray:2 5; }
/* arcs (built by JS) */
.wc-arc{ fill:none; stroke:rgba(201,169,97,.34); stroke-width:1; stroke-linecap:round;
  filter:drop-shadow(0 0 2px rgba(201,169,97,.5)); }
/* nodes */
.wc-node{ cursor:default; }
.wc-node__halo{ fill:rgba(201,169,97,.14); opacity:0; transform-box:fill-box; transform-origin:center;
  transform:scale(.4); transition:opacity .5s ease, transform .5s ease; }
.wc-node__dot{ fill:rgba(246,243,238,.32); transition:fill .45s ease, filter .45s ease; }
.wc-node.is-on .wc-node__dot{ fill:var(--wc-brass); filter:drop-shadow(0 0 5px rgba(201,169,97,.9)); }
.wc-node.is-on .wc-node__halo{ opacity:1; animation:wcPulse 2.8s ease-in-out infinite; }
.wc-node--hub .wc-node__dot{ fill:var(--wc-brass); }
.wc-node.is-live:hover .wc-node__halo{ opacity:1; transform:scale(1.25); }
@keyframes wcPulse{ 0%,100%{ transform:scale(1); opacity:.5; } 50%{ transform:scale(1.5); opacity:.12; } }

.wc-gmap__readout{ position:absolute; left:clamp(14px,4vw,64px); bottom:clamp(14px,3vw,40px);
  display:flex; flex-direction:column; gap:3px; padding:14px 18px;
  background:rgba(5,5,5,.5); border:1px solid rgba(246,243,238,.1); backdrop-filter:blur(6px);
  min-width:210px; }
.wc-gmap__rlab{ font-family:var(--wc-mono); font-size:9.5px; font-weight:600; letter-spacing:.24em;
  text-transform:uppercase; color:var(--wc-brass-d); }
.wc-gmap__rname{ font-family:var(--wc-serif); font-size:clamp(18px,1.8vw,23px); color:var(--wc-white);
  line-height:1.1; }
.wc-gmap__rtag{ font-family:var(--wc-sans); font-size:11px; font-weight:600; letter-spacing:.16em;
  text-transform:uppercase; color:var(--wc-brass); }

/* country index */
.wc-gmap__index{ list-style:none; margin:clamp(40px,5vw,68px) 0 0; padding:0; display:grid;
  grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(246,243,238,.08);
  border:1px solid rgba(246,243,238,.08); }
.wc-gmap__i{ position:relative; display:flex; flex-direction:column; gap:6px;
  padding:clamp(20px,2vw,28px) clamp(16px,1.6vw,24px); background:var(--wc-ink);
  opacity:.38; transition:opacity .5s ease, background-color .5s ease; }
.wc-gmap__i.is-on{ opacity:1; background:#0a0906; }
.wc-gmap__ik{ font-family:var(--wc-mono); font-size:11px; font-weight:600; letter-spacing:.1em;
  color:var(--wc-brass-d); }
.wc-gmap__i.is-on .wc-gmap__ik{ color:var(--wc-brass); }
.wc-gmap__i b{ font-family:var(--wc-serif); font-weight:440; font-size:clamp(16px,1.5vw,20px);
  line-height:1.14; color:var(--wc-white); }
.wc-gmap__it{ font-family:var(--wc-sans); font-size:11px; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:rgba(246,243,238,.5); }
.wc-gmap__i::before{ content:''; position:absolute; left:0; top:0; width:2px; height:100%;
  background:var(--wc-brass); transform:scaleY(0); transform-origin:top; transition:transform .4s ease; }
.wc-gmap__i.is-on::before{ transform:scaleY(1); }

/* ============================================================
   03 . INTELLIGENCE DIVISIONS
============================================================ */
.wc-div{ padding:clamp(80px,11vw,150px) 0; border-top:1px solid rgba(246,243,238,.06); }
.wc-div__head{ max-width:760px; }
.wc-div__h{ margin:22px 0 0; font-family:var(--wc-serif); font-weight:360; letter-spacing:-.02em;
  font-size:clamp(36px,5.4vw,72px); line-height:1.03; color:var(--wc-white); }
.wc-div__h em{ font-style:italic; color:var(--wc-brass); }
.wc-div__p{ margin:26px 0 0; max-width:58ch; font-family:var(--wc-sans); font-weight:300;
  font-size:clamp(16px,1.5vw,19px); line-height:1.66; color:rgba(246,243,238,.7); }
.wc-div__grid{ margin-top:clamp(48px,6vw,80px); display:grid; grid-template-columns:repeat(3,1fr);
  gap:clamp(16px,2vw,26px); }
.wc-dcard{ position:relative; overflow:hidden; padding:clamp(28px,3vw,40px);
  background:rgba(246,243,238,.028); border:1px solid rgba(246,243,238,.1);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  transition:transform .5s cubic-bezier(.2,.7,.2,1), border-color .4s ease, background-color .4s ease;
}
.wc-dcard::after{ content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(160deg, rgba(246,243,238,.06), rgba(246,243,238,0) 40%); }
.wc-dcard:hover, .wc-dcard:focus-within{ transform:translateY(-6px);
  border-color:rgba(201,169,97,.4); background:rgba(201,169,97,.04); }
.wc-dcard__glow{ position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .5s ease;
  background:radial-gradient(60% 60% at 50% 0%, rgba(201,169,97,.16) 0%, rgba(201,169,97,0) 70%); }
.wc-dcard:hover .wc-dcard__glow, .wc-dcard:focus-within .wc-dcard__glow{ opacity:1; }
.wc-dcard--flag{ border-color:rgba(201,169,97,.32); background:rgba(201,169,97,.035); }
.wc-dcard__top{ position:relative; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.wc-dcard__k{ font-family:var(--wc-mono); font-size:12px; font-weight:600; letter-spacing:.12em;
  color:var(--wc-brass-d); }
.wc-dcard__flagtag{ padding:6px 12px; font-size:10px; }
.wc-dcard__t{ position:relative; margin:clamp(30px,4vw,48px) 0 0; font-family:var(--wc-serif);
  font-weight:480; letter-spacing:-.01em; font-size:clamp(23px,2.3vw,30px); line-height:1.1; color:var(--wc-white); }
.wc-dcard__d{ position:relative; margin:14px 0 0; font-family:var(--wc-sans); font-size:14.5px;
  font-weight:400; line-height:1.62; color:rgba(246,243,238,.66); }
.wc-dcard__list{ position:relative; list-style:none; margin:0; padding:0; overflow:hidden;
  max-height:0; opacity:0; transition:max-height .55s cubic-bezier(.2,.7,.2,1), opacity .4s ease, margin-top .4s ease; }
.wc-dcard:hover .wc-dcard__list, .wc-dcard:focus-within .wc-dcard__list{ max-height:260px; opacity:1; margin-top:24px; }
.wc-dcard__list li{ padding:11px 0 11px 22px; position:relative; font-family:var(--wc-sans);
  font-size:14px; font-weight:500; color:rgba(246,243,238,.82); border-top:1px solid rgba(246,243,238,.09); }
.wc-dcard__list li::before{ content:''; position:absolute; left:0; top:50%; width:8px; height:1px;
  background:var(--wc-brass); }
.wc-dcard__more{ position:relative; display:block; margin-top:26px; font-family:var(--wc-mono);
  font-size:10px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--wc-brass-d);
  transition:opacity .3s ease; }
.wc-dcard:hover .wc-dcard__more, .wc-dcard:focus-within .wc-dcard__more{ opacity:0; }
.wc-div__note{ margin:clamp(40px,5vw,60px) auto 0; font-family:var(--wc-sans); font-weight:300;
  font-size:clamp(14px,1.3vw,16px); line-height:1.6; color:rgba(246,243,238,.5); max-width:60ch; }

/* ============================================================
   04 . AIP CLASSIFICATIONS
============================================================ */
.wc-cls{ padding:clamp(80px,11vw,150px) 0; border-top:1px solid rgba(246,243,238,.06); }
.wc-cls__head{ max-width:760px; }
.wc-cls__h{ margin:22px 0 0; font-family:var(--wc-serif); font-weight:360; letter-spacing:-.02em;
  font-size:clamp(36px,5.4vw,72px); line-height:1.03; color:var(--wc-white); }
.wc-cls__h em{ font-style:italic; color:var(--wc-brass); }
.wc-cls__p{ margin:26px 0 0; max-width:56ch; font-family:var(--wc-sans); font-weight:300;
  font-size:clamp(16px,1.5vw,19px); line-height:1.66; color:rgba(246,243,238,.7); }
.wc-cls__grid{ margin-top:clamp(48px,6vw,80px); display:grid; grid-template-columns:1fr 1.08fr;
  gap:clamp(18px,2.4vw,32px); align-items:stretch; }
.wc-plan{ position:relative; overflow:hidden; padding:clamp(30px,3.4vw,52px);
  background:rgba(246,243,238,.03); border:1px solid rgba(246,243,238,.12);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.wc-plan__glow{ position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(70% 46% at 50% 0%, rgba(201,169,97,.12) 0%, rgba(201,169,97,0) 66%); opacity:.7; }
.wc-plan--pro{ border-color:rgba(201,169,97,.42); box-shadow:0 40px 90px -60px rgba(201,169,97,.5); }
.wc-plan--exec{ background:rgba(10,9,7,.55); border-color:rgba(246,243,238,.16); }
.wc-plan--exec .wc-plan__glow{ background:radial-gradient(70% 46% at 50% 0%, rgba(246,243,238,.08) 0%, rgba(246,243,238,0) 66%); }
.wc-plan__top{ position:relative; display:flex; align-items:baseline; justify-content:space-between; gap:16px;
  padding-bottom:22px; border-bottom:1px solid rgba(246,243,238,.12); }
.wc-plan__tier{ font-family:var(--wc-serif); font-weight:440; letter-spacing:-.01em;
  font-size:clamp(24px,2.6vw,36px); color:var(--wc-white); }
.wc-plan__badge{ font-family:var(--wc-sans); font-size:10px; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--wc-brass); border:1px solid rgba(201,169,97,.45); padding:6px 11px;
  white-space:nowrap; }
.wc-plan__badge--exec{ color:rgba(246,243,238,.7); border-color:rgba(246,243,238,.28); }
.wc-plan__lede{ position:relative; margin:22px 0 0; font-family:var(--wc-sans); font-weight:300;
  font-size:clamp(15px,1.4vw,17px); line-height:1.6; color:rgba(246,243,238,.72); }
.wc-plan__list{ position:relative; list-style:none; margin:clamp(24px,3vw,34px) 0 0; padding:0;
  display:grid; grid-template-columns:1fr 1fr; gap:0 clamp(18px,2vw,30px); }
.wc-plan--exec .wc-plan__list{ grid-template-columns:1fr; }
.wc-plan__list li{ padding:12px 0 12px 24px; position:relative; font-family:var(--wc-sans);
  font-size:14.5px; font-weight:400; color:rgba(246,243,238,.8); border-top:1px solid rgba(246,243,238,.08); }
.wc-plan__list li::before{ content:''; position:absolute; left:0; top:19px; width:9px; height:9px;
  border:1px solid var(--wc-brass-d); }
.wc-plan__list li span{ font-family:var(--wc-serif); font-weight:500; color:var(--wc-brass);
  font-variant-numeric:tabular-nums; }
.wc-plan__inc{ font-weight:600; color:var(--wc-white); }
.wc-plan__inc::before{ background:var(--wc-brass); border-color:var(--wc-brass); }

/* ============================================================
   05 . CLASSIFIED (Black)
============================================================ */
.wc-black{ padding:clamp(90px,15vw,190px) 0; }
.wc-black__in{ display:flex; justify-content:center; }
.wc-black__card{ position:relative; width:min(760px,100%); padding:clamp(44px,6vw,88px) clamp(28px,5vw,72px);
  text-align:center; border-radius:2px;
  background:linear-gradient(160deg, rgba(14,13,12,.66), rgba(4,4,4,.66));
  border:1px solid rgba(246,243,238,.05); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  box-shadow:0 60px 120px -60px rgba(0,0,0,.9), inset 0 1px 0 rgba(246,243,238,.05);
  opacity:0; transform:translateY(30px); transition:opacity 1.1s ease, transform 1.1s ease;
}
.wc-black__card.is-in{ opacity:1; transform:none; }
.wc-black__card::before{ content:''; position:absolute; inset:0; pointer-events:none; border-radius:2px;
  background:radial-gradient(120% 80% at 50% -10%, rgba(246,243,238,.06) 0%, rgba(246,243,238,0) 60%); }
.wc-black__seal{ display:inline-block; width:34px; height:34px; margin-bottom:26px; border-radius:50%;
  border:1px solid rgba(201,169,97,.45); position:relative; opacity:0; transition:opacity 1s ease .1s; }
.wc-black__seal::after{ content:''; position:absolute; inset:9px; border-radius:50%;
  background:rgba(201,169,97,.5); }
.wc-black__card.is-in .wc-black__seal{ opacity:1; }
.wc-black__label{ margin:0; font-family:var(--wc-mono); font-size:12px; font-weight:600; letter-spacing:.46em;
  text-transform:uppercase; color:var(--wc-brass); text-indent:.46em;
  opacity:0; transition:opacity .9s ease; }
.wc-black__lines{ margin-top:clamp(26px,3vw,40px); display:flex; flex-direction:column; gap:clamp(14px,1.8vw,22px); }
.wc-black__line{ margin:0; font-family:var(--wc-serif); font-weight:340; letter-spacing:-.01em;
  font-size:clamp(19px,2.4vw,30px); line-height:1.28; color:rgba(246,243,238,.9);
  opacity:0; transform:translateY(12px); transition:opacity 1s ease, transform 1s ease; }
.wc-black__line--last{ color:var(--wc-brass); font-style:italic; }
.wc-black__label.is-on, .wc-black__line.is-on{ opacity:1; transform:none; }

/* ============================================================
   06 . CTA
============================================================ */
.wc-pcta{ position:relative; overflow:hidden; padding:clamp(100px,14vw,190px) 0;
  border-top:1px solid rgba(246,243,238,.06); }
.wc-pcta__glow{ position:absolute; left:50%; bottom:-40%; width:120%; height:120%;
  transform:translateX(-50%); pointer-events:none;
  background:radial-gradient(46% 50% at 50% 50%, rgba(92,31,38,.3) 0%, rgba(92,31,38,0) 62%); }
.wc-pcta__in{ position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; }
.wc-pcta__h{ margin:30px 0 0; font-family:var(--wc-serif); font-weight:360; letter-spacing:-.02em;
  font-size:clamp(38px,6vw,84px); line-height:1.04; color:var(--wc-white); }
.wc-pcta__h em{ font-style:italic; color:var(--wc-brass); }
.wc-pcta__btn{ margin-top:44px; }
.wc-pcta__note{ margin:26px 0 0; font-family:var(--wc-sans); font-size:12px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:rgba(246,243,238,.45); }

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width:980px){
  .wc-gmap__index{ grid-template-columns:1fr 1fr; }
  .wc-div__grid{ grid-template-columns:1fr; }
  .wc-dcard__list{ max-height:none; opacity:1; margin-top:22px; }
  .wc-dcard__more{ display:none; }
  .wc-cls__grid{ grid-template-columns:1fr; }
  .wc-plan__list{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .wc-gmap__index{ grid-template-columns:1fr; }
  .wc-gmap__readout{ position:static; margin-top:16px; min-width:0; }
  .wc-plan__list{ grid-template-columns:1fr; }
}
@media (hover:none){
  .wc-dcard__list{ max-height:none; opacity:1; margin-top:22px; }
  .wc-dcard__more{ display:none; }
}

/* ============================================================
   REDUCED MOTION
============================================================ */
@media (prefers-reduced-motion:reduce){
  .wc-atmos__grid, .wc-atmos__particles{ animation:none; }
  .wc-ph__cue i{ animation:none; }
  .wc-node.is-on .wc-node__halo{ animation:none; }
  .wc-black__card{ opacity:1; transform:none; transition:none; }
  .wc-black__label, .wc-black__line, .wc-black__seal{ opacity:1; transform:none; transition:none; }
  .wc-node__dot{ fill:var(--wc-brass); }
  .wc-node__halo{ opacity:0; }
  .wc-gmap__i{ opacity:1; }
  .wc-gmap__i::before{ transform:scaleY(1); }
}
