/* Premium reference hero — only the hero presentation is replaced. */
.site-header{height:104px;padding:15px 4vw;box-shadow:none}
.site-header:not(.is-scrolled){background:transparent;border-bottom-color:transparent;opacity:0;transform:translateY(-110%);pointer-events:none}
.site-header.is-scrolled{background:#14181d;border-bottom:1px solid #ffffff1c;color:#f5f3ed;opacity:1;transform:translateY(0);pointer-events:auto}
.site-header.is-scrolled .main-nav a{color:#c6cbd3}
.site-header .header-cta{background:#f5f3ed;color:#14181d;border:0;text-transform:none;letter-spacing:0;font:600 13px/1.3 Manrope,Arial,sans-serif;padding:14px 18px;border-radius:3px}
.site-header .header-cta span{color:#0b3fc4}.site-header .menu-toggle span{background:#f5f3ed}

.supplied-hero{position:relative;margin:0;padding:0;background:#11100e;scroll-margin-top:104px;overflow:hidden}
.premium-hero-art{position:relative;display:block;width:100%;margin:0;aspect-ratio:1672/941;overflow:hidden;background:#11100e}
.premium-hero-reference{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.hero-accessible-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* The supplied reference contains old placeholder social labels. This soft patch
   replaces only that small area so the requested real links can be interactive. */
.premium-social-scrub{position:absolute;z-index:2;left:4.7%;top:71.7%;width:23.6%;height:8.5%;pointer-events:none;background:linear-gradient(90deg,rgba(18,17,15,.995) 0%,rgba(18,17,15,.985) 78%,rgba(18,17,15,.78) 90%,rgba(18,17,15,0) 100%);filter:blur(.15px)}
.premium-hero-socials{position:absolute;z-index:3;left:5.55%;top:73.65%;display:flex;align-items:center;gap:clamp(28px,3.25vw,58px)}
.premium-social-link{display:inline-flex;align-items:center;gap:12px;color:#f1ede4;text-decoration:none;font:500 clamp(13px,1.2vw,20px)/1.1 Manrope,Arial,sans-serif;letter-spacing:-.02em;transition:color .22s ease,transform .22s ease}
.premium-social-link:hover{color:#7aa2ff;transform:translateY(-2px)}
.premium-social-link:focus-visible{outline:2px solid #0b3fc4;outline-offset:6px;border-radius:4px}
.premium-social-icon{display:grid;place-items:center;width:clamp(29px,2.1vw,38px);height:clamp(29px,2.1vw,38px);border:1px solid rgba(70,111,230,.72);border-radius:50%;background:rgba(18,17,15,.74);color:#9cb7ff;font:800 clamp(11px,.88vw,15px)/1 Manrope,Arial,sans-serif;box-shadow:0 4px 18px rgba(0,0,0,.22)}
.premium-social-icon--linkedin{font-family:Arial,sans-serif;font-weight:800}
.premium-social-icon--upwork{font-size:clamp(9px,.72vw,12px);letter-spacing:-.08em}

.site-intro{position:fixed;z-index:60;inset:0;display:grid;place-items:center;overflow:hidden;background:#000;clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .55s cubic-bezier(.76,0,.24,1),visibility .55s linear}
.site-intro.is-complete{clip-path:inset(0 0 100% 0);visibility:hidden;pointer-events:none}
.intro-mark{position:relative;display:grid;place-items:center;width:clamp(170px,20vw,270px);animation:intro-mark-in .6s cubic-bezier(.22,1,.36,1) both}
.intro-monogram{display:block;width:100%;height:auto;overflow:visible}
.intro-triangle-line{fill:none;stroke:#f3f0e8;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:190;stroke-dashoffset:190;animation:intro-triangle-draw .72s cubic-bezier(.22,1,.36,1) forwards}.intro-triangle-right{animation-delay:.14s}
@keyframes intro-triangle-draw{to{stroke-dashoffset:0}}@keyframes intro-mark-in{from{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:none}}

.social-link-float{position:fixed;z-index:14;right:auto;bottom:8px;left:4vw;width:clamp(128px,13vw,190px);aspect-ratio:1;pointer-events:none;opacity:0;visibility:hidden;transform:translateY(12px) scale(.96);transition:opacity .35s ease,visibility .35s ease,transform .35s ease}
.social-link-float.is-page-two-visible{opacity:1;visibility:visible;transform:none}.social-link-float img{display:block;width:100%;height:100%;object-fit:contain}.social-trigger{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;pointer-events:auto;cursor:pointer}.social-trigger:focus-visible{outline:2px solid #f5f3ed;outline-offset:3px}
.social-popover{position:fixed;z-index:16;left:4vw;bottom:clamp(132px,15vw,218px);width:min(248px,calc(100vw - 32px));opacity:0;visibility:hidden;transform:translateY(10px) scale(.97);transition:opacity .24s ease,visibility .24s ease,transform .24s ease}.social-popover.is-open{opacity:1;visibility:visible;transform:none}.social-popover-card{position:relative;padding:18px;background:#10141a;border:1px solid rgba(11,63,196,.85);box-shadow:0 18px 44px rgba(0,0,0,.38);border-radius:6px}.social-popover-kicker{margin:0 30px 12px 0;color:#f3f0e8;font:500 10px/1.2 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase}.social-popover-close{position:absolute;top:8px;right:10px;padding:2px 7px;border:0;background:transparent;color:rgba(243,240,232,.65);font-size:20px;line-height:1;cursor:pointer}.social-popover-close:hover{color:#f3f0e8}.social-popover-card a{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:11px 0;border-top:1px solid rgba(243,240,232,.14);color:#f3f0e8;text-decoration:none;font-size:13px;font-weight:700}.social-popover-card a:hover{color:#6e4b7a}.social-popover-card a b{display:grid;place-items:center;width:25px;height:25px;border:1px solid rgba(243,240,232,.42);border-radius:50%;font-size:12px}.social-popover-card a i{font-style:normal;color:#0b3fc4;font-size:17px}

@media(max-width:760px){
  .site-header{height:82px;padding:12px 6vw}
  .supplied-hero{scroll-margin-top:82px;background:#11100e}
  .premium-hero-art{aspect-ratio:1672/941}
  .premium-hero-reference{object-fit:contain;background:#11100e}
  .premium-social-scrub{left:4.5%;top:70.8%;width:30%;height:10%}
  .premium-hero-socials{left:5.4%;top:73.2%;gap:14px}
  .premium-social-link{gap:6px;font-size:clamp(7px,2vw,10px)}
  .premium-social-icon{width:clamp(16px,4.4vw,22px);height:clamp(16px,4.4vw,22px);font-size:clamp(7px,1.7vw,9px)}
  .premium-social-icon--upwork{font-size:clamp(6px,1.45vw,8px)}
  .social-link-float{right:auto;bottom:8px;left:6vw;width:clamp(112px,30vw,148px)}
  .social-popover{left:6vw;bottom:clamp(120px,36vw,176px);width:min(232px,calc(100vw - 24px))}
  .intro-mark{width:min(62vw,220px)}
}
@media(prefers-reduced-motion:reduce){.site-intro,.intro-mark,.intro-triangle-line{animation:none!important;transition:none!important}.site-intro{display:none}.premium-social-link{transition:none}}

/* WHITE HERO REFINEMENT — removes the gold/champagne cast without changing the hero composition. */
.supplied-hero,
.premium-hero-art{
  background:#f4f4f1;
}
.premium-hero-reference{
  filter:grayscale(1) saturate(0) brightness(1.34) contrast(.82);
  opacity:.94;
}
.premium-hero-art::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:rgba(255,255,255,.12);
}
.premium-social-scrub{
  z-index:2;
  background:linear-gradient(90deg,rgba(244,244,241,.98) 0%,rgba(244,244,241,.96) 80%,rgba(244,244,241,.74) 91%,rgba(244,244,241,0) 100%);
  filter:none;
}
.premium-hero-socials{z-index:3}
.premium-social-link{
  color:#111417;
}
.premium-social-link:hover{color:#0b3fc4}
.premium-social-icon{
  border-color:rgba(17,20,23,.28);
  background:rgba(255,255,255,.82);
  color:#111417;
  box-shadow:none;
}
@media(max-width:760px){
  .supplied-hero,.premium-hero-art{background:#f4f4f1}
  .premium-hero-reference{filter:grayscale(1) saturate(0) brightness(1.28) contrast(.84);opacity:.96}
}

/* WHITE EDITORIAL HERO — replaces the previous gold/champagne artwork. */
.white-editorial-hero{
  position:relative;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#f7f7f4;
  color:#111417;
  border-bottom:1px solid rgba(17,20,23,.12);
}
.white-hero-service-strip{
  position:relative;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(12px,1.8vw,30px);
  min-height:68px;
  padding:18px 4vw;
  border-bottom:1px solid rgba(17,20,23,.12);
  color:#62676c;
  font:500 clamp(9px,.76vw,12px)/1.2 'DM Mono',monospace;
  letter-spacing:.11em;
  text-transform:uppercase;
  white-space:nowrap;
}
.white-hero-service-strip i{
  font-style:normal;
  color:#0b3fc4;
}
.white-hero-stage{
  position:relative;
  z-index:1;
  flex:1;
  display:grid;
  grid-template-columns:minmax(0,46%) minmax(0,54%);
  align-items:center;
  width:100%;
  min-height:calc(100svh - 136px);
  padding:clamp(50px,7vh,88px) 5vw clamp(72px,8vh,100px);
}
.white-hero-ghost{
  position:absolute;
  z-index:0;
  left:50%;
  top:47%;
  transform:translate(-50%,-50%);
  width:100%;
  text-align:center;
  color:rgba(17,20,23,.055);
  font:800 clamp(170px,28vw,520px)/.74 Manrope,Arial,sans-serif;
  letter-spacing:-.085em;
  user-select:none;
  pointer-events:none;
  white-space:nowrap;
}
.white-hero-copy{
  position:relative;
  z-index:3;
  max-width:700px;
  padding-top:clamp(8px,2vh,24px);
}
.white-hero-kicker{
  margin:0 0 22px;
  color:#6b7177;
  font:500 clamp(10px,.8vw,12px)/1.2 'DM Mono',monospace;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.white-hero-copy h1{
  margin:0;
  color:#111417;
  font:800 clamp(78px,9.2vw,164px)/.78 Manrope,Arial,sans-serif;
  letter-spacing:-.095em;
}
.white-hero-dot{color:#0b3fc4}
.white-hero-copy h2{
  margin:28px 0 0;
  max-width:12ch;
  color:#111417;
  font:500 clamp(34px,4.25vw,70px)/.96 Manrope,Arial,sans-serif;
  letter-spacing:-.06em;
}
.white-hero-support{
  max-width:620px;
  margin:26px 0 0;
  color:#50565b;
  font:500 clamp(16px,1.28vw,21px)/1.55 Manrope,Arial,sans-serif;
  letter-spacing:-.025em;
}
.white-hero-socials{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:34px;
}
.white-hero-socials a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-height:52px;
  padding:0 22px;
  border-radius:2px;
  text-decoration:none;
  font:700 13px/1 Manrope,Arial,sans-serif;
  transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease;
}
.white-hero-socials a:hover{transform:translateY(-2px)}
.white-hero-primary{
  background:#111417;
  border:1px solid #111417;
  color:#fff;
}
.white-hero-primary:hover{background:#0b3fc4;border-color:#0b3fc4}
.white-hero-secondary{
  background:transparent;
  border:1px solid rgba(17,20,23,.23);
  color:#111417;
}
.white-hero-secondary:hover{border-color:#111417;background:#fff}
.white-hero-portrait-wrap{
  position:relative;
  z-index:2;
  align-self:center;
  justify-self:end;
  width:min(64vw,940px);
  height:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  transform:translateY(-2.5vh);
  pointer-events:none;
}
.white-hero-portrait{
  position:relative;
  z-index:1;
  display:block;
  width:min(100%,1020px);
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:right center;
  filter:saturate(.86) contrast(1.02);
}
.white-hero-side-note{
  position:absolute;
  z-index:3;
  right:0;
  top:23%;
  margin:0;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  color:#6d7378;
  font:500 clamp(9px,.72vw,11px)/1.2 'DM Mono',monospace;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.white-hero-side-note span{color:#0b3fc4}
.white-hero-footer{
  position:absolute;
  z-index:5;
  left:5vw;
  right:5vw;
  bottom:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:#777d82;
  font:500 9px/1.2 'DM Mono',monospace;
  letter-spacing:.11em;
  text-transform:uppercase;
}

@media(max-width:1100px){
  .white-hero-stage{grid-template-columns:minmax(0,48%) minmax(0,52%);padding-left:4vw;padding-right:3vw}
  .white-hero-copy h1{font-size:clamp(68px,9vw,112px)}
  .white-hero-copy h2{font-size:clamp(31px,4.2vw,50px)}
  .white-hero-portrait-wrap{width:58vw;height:auto;transform:translateY(-1.5vh)}
}

@media(max-width:760px){
  .white-editorial-hero{min-height:auto}
  .white-hero-service-strip{
    justify-content:flex-start;
    min-height:52px;
    overflow:hidden;
    padding:15px 6vw;
    gap:10px;
    font-size:8px;
  }
  .white-hero-stage{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    min-height:auto;
    padding:58px 6vw 78px;
  }
  .white-hero-ghost{
    top:49%;
    left:50%;
    font-size:clamp(116px,38vw,190px);
    opacity:.9;
  }
  .white-hero-copy{max-width:none;padding:0}
  .white-hero-kicker{margin-bottom:16px;font-size:9px}
  .white-hero-copy h1{font-size:clamp(68px,20vw,96px);line-height:.82}
  .white-hero-copy h2{margin-top:18px;max-width:10ch;font-size:clamp(34px,10vw,48px)}
  .white-hero-support{max-width:34em;margin-top:18px;font-size:15px;line-height:1.5}
  .white-hero-socials{margin-top:24px;flex-wrap:wrap}
  .white-hero-socials a{min-height:48px;padding:0 18px;font-size:12px}
  .white-hero-portrait-wrap{
    width:112%;
    height:auto;
    margin:34px -6% -2px auto;
    align-self:auto;
    transform:none;
  }
  .white-hero-portrait{width:100%;max-height:none}
  .white-hero-side-note{display:none}
  .white-hero-footer{left:6vw;right:6vw;bottom:18px;font-size:8px}
  .white-hero-footer span:first-child{display:none}
  .white-hero-footer{justify-content:flex-end}
}

@media(prefers-reduced-motion:reduce){
  .white-hero-socials a{transition:none}
}

/* FINAL POLISH — compact neutral floating contact control. */
.social-link-float{
  left:clamp(18px,2.3vw,36px);
  bottom:clamp(18px,2.1vw,30px);
  width:auto;
  aspect-ratio:auto;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .25s ease,visibility .25s ease,transform .25s ease;
}
.social-link-float.is-page-two-visible{opacity:1;visibility:visible;transform:none}
.social-link-float .social-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:auto;
  height:42px;
  padding:0 15px 0 16px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:999px;
  background:#11151a;
  color:#f4f4f1;
  box-shadow:0 6px 18px rgba(0,0,0,.14);
  font:600 11px/1 Manrope,Arial,sans-serif;
  letter-spacing:.02em;
  pointer-events:auto;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.social-link-float .social-trigger:hover{transform:translateY(-1px);background:#080a0d;border-color:rgba(255,255,255,.32)}
.social-link-float .social-trigger i{font-style:normal;font-size:13px;line-height:1}
.social-link-float .social-trigger:focus-visible{outline:2px solid #0b3fc4;outline-offset:3px}
.social-popover{
  left:clamp(18px,2.3vw,36px);
  bottom:clamp(70px,6vw,88px);
  width:min(224px,calc(100vw - 36px));
}
.social-popover-card{
  padding:16px;
  background:#11151a;
  border:1px solid rgba(243,240,232,.18);
  box-shadow:0 14px 34px rgba(0,0,0,.24);
  border-radius:10px;
}
.social-popover-card a:hover{color:#fff}
.social-popover-card a i{color:rgba(243,240,232,.72)}
@media(max-width:760px){
  .social-link-float,.social-popover{display:none!important}
}
