:root{
  --bg: #032120;
  --bg2: #06332F;
  --card: #0A423E;
  --ink: #EAF4F0;
  --ink2: #A6C6C0;
  --muted: #6E8D88;
  --line: rgba(234,244,240,0.14);
  --line2: rgba(234,244,240,0.07);
  --accent: #66C982;
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{ background:var(--bg); color:var(--ink); font-family:'Hanken Grotesk',system-ui,sans-serif; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
::selection{ background:var(--accent); color:#032120; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:none; cursor:pointer; }
input,textarea{ font:inherit; color:inherit; }
img{ max-width:100%; }
::-webkit-scrollbar{ width:10px; }
::-webkit-scrollbar-track{ background:var(--bg); }
::-webkit-scrollbar-thumb{ background:#2C524E; border-radius:10px; }

[data-reveal]{ opacity:0; will-change:opacity,transform; }

@keyframes pitch-hero-blob-a{
  0%{ transform:translate(-20%,-12%) scale(1); }
  35%{ transform:translate(20%,26%) scale(1.42); }
  70%{ transform:translate(-92%,-6%) scale(1.08); }
  100%{ transform:translate(-20%,-12%) scale(1); }
}
@media (prefers-reduced-motion:reduce){ .pitch-hero-blob{ animation:none !important; } }

@keyframes pitch-marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.pitch-marquee-track{ animation:pitch-marquee 38s linear infinite; }
.pitch-marquee:hover .pitch-marquee-track{ animation-play-state:paused; }
@media (max-width:860px){ .pitch-marquee-track{ animation-duration:24s; } }

@media (pointer:fine){ body{ cursor:none; } }

@media (max-width:920px){
  .pitch-navlinks{ display:none !important; }
  .pitch-burger{ display:flex !important; }
  .pitch-2col{ grid-template-columns:1fr !important; }
  .pitch-casegrid{ grid-template-columns:1fr !important; }
  .pitch-photogrid{ grid-template-columns:1fr !important; }
  .pitch-exgrid{ grid-template-columns:1fr !important; }
  .pitch-foot{ grid-template-columns:1fr 1fr !important; gap:32px !important; }
  .pitch-service{ grid-template-columns:44px 1fr !important; }
  .pitch-service p{ grid-column:1 / -1; }
  .pitch-caserow{ grid-template-columns:1fr auto !important; }
  .pitch-caserow span:first-of-type{ display:none; }
  .pitch-galgrid{ grid-template-columns:1fr 1fr !important; }
}
@media (max-width:560px){
  .pitch-foot{ grid-template-columns:1fr !important; }
}

/* Mobile menu */
.pitch-mobile-menu{ display:none; }
.pitch-mobile-menu.is-open{ display:flex; }

/* Case card hover */
.pitch-case-thumb img{ transition:transform 1.1s cubic-bezier(.16,1,.3,1); }
.pitch-case-card:hover .pitch-case-thumb img{ transform:scale(1.06); }

/* Service row hover */
.pitch-service{ transition:padding-left .5s cubic-bezier(.16,1,.3,1); }
.pitch-service:hover{ padding-left:18px; }

/* Expertise card hover */
.pitch-excard{ transition:background .4s; }
.pitch-excard:hover{ background:var(--bg2); }

/* Next case row hover */
.pitch-caserow{ transition:padding-left .5s cubic-bezier(.16,1,.3,1); }
.pitch-caserow:hover{ padding-left:20px; }

/* Custom cursor */
.pitch-cursor-ring{ position:fixed; top:0; left:0; width:34px; height:34px; border:1px solid rgba(255,255,255,.55); border-radius:50%; pointer-events:none; z-index:300; transform:translate(-50%,-50%); transition:width .25s,height .25s,background .25s,border-color .25s; mix-blend-mode:difference; }
.pitch-cursor-dot{ position:fixed; top:0; left:0; width:5px; height:5px; background:#fff; border-radius:50%; pointer-events:none; z-index:301; transform:translate(-50%,-50%); mix-blend-mode:difference; }
.pitch-cursor-ring.is-active{ width:56px; height:56px; background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.9); }

/* Preview follower for "next case" hover */
.pitch-preview{ position:fixed; top:0; left:0; width:300px; height:210px; border-radius:14px; background-size:cover; background-position:center; pointer-events:none; z-index:140; opacity:0; transition:opacity .4s cubic-bezier(.16,1,.3,1); box-shadow:0 30px 70px rgba(0,0,0,.5); }

/* Article body copy (blog posts) */
.pitch-article p{ font-size:clamp(17px,1.5vw,20px); line-height:1.65; color:var(--ink2); margin-top:20px; }
.pitch-article h2{ font-family:'Space Grotesk',sans-serif; font-weight:500; font-size:clamp(24px,2.8vw,36px); letter-spacing:-0.02em; color:var(--ink); margin-top:clamp(44px,6vw,72px); }
.pitch-article h3{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:clamp(19px,1.8vw,23px); letter-spacing:-0.01em; color:var(--ink); margin-top:28px; }
.pitch-article ul{ list-style:none; margin-top:16px; display:flex; flex-direction:column; gap:12px; }
.pitch-article li{ display:flex; align-items:flex-start; gap:12px; font-size:clamp(16px,1.4vw,18px); line-height:1.55; color:var(--ink2); }
.pitch-article li::before{ content:''; width:6px; height:6px; margin-top:9px; border-radius:50%; background:var(--accent); flex-shrink:0; }
.pitch-article li strong{ color:var(--ink); font-weight:600; }
