/* ============================================================
Aman : Cinematic Growth Portfolio
Container: #gs-portfolio Prefix: gs-
Narrative: the page you are reading is the proof.
Acts: I Hook / II Reveal (method, cases, range) / III Invitation
============================================================ */
#gs-portfolio *, #gs-portfolio *::before, #gs-portfolio *::after  {
  box-sizing:border-box;
  margin:0;
  padding:0;
}
#gs-portfolio  {
  /* ===== PALETTE ===== */
  --canvas: #F5F2EA;
  --canvas-2: #ECE8DC;
  --white: #ffffff;
  --ink: #0C1811;
  --ink-soft: #44544A;
  --ink-mute: #7C8A80;
  --deep: #06120C;
  --deep-2: #0C2417;
  --forest: #0F3D25;
  --on-deep: #F3F8EF;
  --on-deep-mute: #93AE9C;
  --accent: #50B948;
  --accent-bright: #74DA6B;
  --accent-leaf: #2E8B45;
  --accent-deep: #0F3D25;
  --gold: #C8A24A;
  --gold-bright: #E6C572;
  --line: rgba(12,24,17,0.10);
  --line-strong: rgba(12,24,17,0.20);
  --line-deep: rgba(243,248,239,0.13);
  --sec: clamp(80px, 12vh, 150px);
  --sec-quiet: clamp(64px, 10vh, 120px);
  --w: 1280px;
  --w-narrow: 900px;
  --gut: clamp(20px, 5vw, 64px);
  --r-sm: 12px;
  --r-md: 20px;
  --r-lg: 28px;
  --r-xl: 38px;
  --sh-card: 0 18px 56px rgba(6,18,12,0.12);
  --sh-hover: 0 30px 80px rgba(6,18,12,0.22);
  --sh-soft: 0 6px 24px rgba(6,18,12,0.08);
  --ease: cubic-bezier(0.22, 0.8, 0.22, 1);
  --fast: 220ms;
  --dur: 460ms;
  --slow: 820ms;
  --display: 'Sora', 'Outfit', -apple-system, sans-serif;
  --body: 'Open Sans', -apple-system, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, monospace;
  --progress: 0;
  font-family: var(--body);
  font-size:16px;
  line-height:1.6;
  color: var(--ink);
  background: var(--canvas);
  position: relative;
  isolation: isolate;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: transparent;
}
#gs-portfolio img, #gs-portfolio picture, #gs-portfolio video, #gs-portfolio svg  {
  max-width:100%;
  display:block;
}
#gs-portfolio a  {
  color:inherit;
  text-decoration:none;
}
#gs-portfolio h1,#gs-portfolio h2,#gs-portfolio h3,#gs-portfolio h4  {
  font-family:var(--display);
  font-weight:600;
  line-height:1.04;
  letter-spacing:-0.025em;
  color:inherit;
}
#gs-portfolio ul,#gs-portfolio ol  {
  list-style:none;
}
#gs-portfolio button  {
  font-family:inherit;
  background:none;
  border:0;
  cursor:pointer;
  color:inherit;
}
/* grain */
#gs-portfolio::before  {
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:0.035;
  background-image:radial-gradient(rgba(12,24,17,0.9) 0.5px, transparent 0.5px);
  background-size:3px 3px;
}
/* ===== UTILITIES ===== */
#gs-portfolio .gs-wrap  {
  width:100%;
  max-width:var(--w);
  margin:0 auto;
  padding:0 var(--gut);
  position:relative;
  z-index:1;
}
#gs-portfolio .gs-sec  {
  position:relative;
  padding:var(--sec) 0;
}

#gs-portfolio .gs-sec--alt  {
  background:var(--canvas-2);
}
#gs-portfolio .gs-sec--white  {
  background:var(--white);
}
#gs-portfolio .gs-sec--deep  {
  background: radial-gradient(70% 50% at 86% 0%, rgba(80,185,72,0.16) 0%, transparent 55%), radial-gradient(60% 50% at 4% 100%, rgba(200,162,74,0.11) 0%, transparent 55%), linear-gradient(168deg, var(--deep-2) 0%, var(--deep) 100%);
  color:var(--on-deep);
}
#gs-portfolio .gs-kicker  {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--mono);
  font-size:12px;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--accent-leaf);
}
#gs-portfolio .gs-kicker::before  {
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--accent);
  flex:none;
  box-shadow:0 0 0 4px rgba(80,185,72,0.16);
}
#gs-portfolio .gs-kicker--deep  {
  color:var(--gold-bright);
}
#gs-portfolio .gs-kicker--deep::before  {
  background:var(--gold-bright);
  box-shadow:0 0 0 4px rgba(230,197,114,0.16);
}
#gs-portfolio .gs-h2  {
  font-size:clamp(34px,5.4vw,72px);
  margin-top:20px;
  letter-spacing:-0.03em;
  line-height:1.0;
  max-width:18ch;
}
#gs-portfolio .gs-lead  {
  margin-top:20px;
  font-size:clamp(17px,1.5vw,21px);
  line-height:1.6;
  color:var(--ink-soft);
  max-width:56ch;
}
#gs-portfolio .gs-sec--deep .gs-lead  {
  color:var(--on-deep-mute);
}
#gs-portfolio .gs-method .gs-lead  {
  color:rgba(243,248,239,0.85);
}
#gs-portfolio .gs-btn  {
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:16px 30px;
  border-radius:100px;
  font-weight:700;
  font-size:15px;
  transition:transform var(--fast) var(--ease), box-shadow var(--dur) var(--ease), background var(--fast) var(--ease), color var(--fast) var(--ease), border-color var(--fast) var(--ease);
  will-change:transform;
}

#gs-portfolio .gs-btn--ink  {
  background:var(--ink);
  color:#fff;
  box-shadow:0 12px 30px rgba(12,24,17,0.28);
}
#gs-portfolio .gs-btn--ink:hover  {
  background:var(--accent-deep);
}

/* reveal */
#gs-portfolio [data-reveal]  {
  opacity:0;
  transform:translateY(34px);
  transition:opacity .9s var(--ease), transform .9s var(--ease);
  transition-delay:var(--d,0ms);
  will-change:opacity, transform;
}
#gs-portfolio [data-reveal].gs-in  {
  opacity:1;
  transform:none;
}
/* ===== SCROLL PROGRESS BAR ===== */
#gs-portfolio .gs-progress  {
  position:fixed;
  top:0;
  left:0;
  height:3px;
  z-index:60;
  width:100%;
  transform:scaleX(var(--progress));
  transform-origin:left;
  background:linear-gradient(90deg, var(--accent), var(--gold-bright));
  box-shadow:0 0 12px rgba(80,185,72,0.5);
}
/* ===== NAV ===== */
#gs-portfolio .gs-nav  {
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:55;
  transition:background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
#gs-portfolio .gs-nav.is-stuck  {
  background:rgba(245,242,234,0.78);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:0 1px 0 var(--line), 0 12px 30px rgba(6,18,12,0.06);
}
#gs-portfolio .gs-nav__in  {
  max-width:var(--w);
  margin:0 auto;
  padding:15px var(--gut);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
#gs-portfolio .gs-brand  {
  display:inline-flex;
  align-items:center;
  gap:11px;
  font-family:var(--display);
  font-weight:700;
  font-size:18px;
  letter-spacing:-0.02em;
}
#gs-portfolio .gs-brand__mark  {
  width:34px;
  height:34px;
  border-radius:10px;
  flex:none;
  display:grid;
  place-items:center;
  background:linear-gradient(150deg,var(--accent),var(--accent-deep));
  box-shadow:0 6px 16px rgba(80,185,72,0.3);
}
#gs-portfolio .gs-brand__mark svg  {
  width:18px;
  height:18px;
}
#gs-portfolio .gs-navlinks  {
  display:flex;
  align-items:center;
  gap:28px;
}
#gs-portfolio .gs-navlinks a  {
  font-size:14.5px;
  font-weight:600;
  color:var(--ink-soft);
  transition:color var(--fast);
}
#gs-portfolio .gs-navlinks a:hover  {
  color:var(--accent-leaf);
}
#gs-portfolio .gs-nav__cta  {
  display:inline-flex;
}
#gs-portfolio .gs-burger  {
  display:none;
  width:44px;
  height:44px;
  border-radius:12px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  background:var(--white);
}
#gs-portfolio .gs-burger span, #gs-portfolio .gs-burger span::before, #gs-portfolio .gs-burger span::after  {
  content:"";
  display:block;
  width:18px;
  height:2px;
  background:var(--ink);
  position:relative;
  transition:transform var(--fast);
}
#gs-portfolio .gs-burger span::before  {
  position:absolute;
  top:-6px;
  left:0;
}
#gs-portfolio .gs-burger span::after  {
  position:absolute;
  top:6px;
  left:0;
}
#gs-portfolio .gs-mobnav  {
  position:fixed;
  inset:0;
  z-index:54;
  background:rgba(6,18,12,0.97);
  backdrop-filter:blur(8px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  opacity:0;
  visibility:hidden;
  transition:opacity var(--dur), visibility var(--dur);
}
#gs-portfolio .gs-mobnav.is-open  {
  opacity:1;
  visibility:visible;
}
#gs-portfolio .gs-mobnav a  {
  color:var(--on-deep);
  font-family:var(--display);
  font-weight:600;
  font-size:26px;
  padding:12px 20px;
}
#gs-portfolio .gs-mobnav a:last-child  {
  margin-top:18px;
}
/* ===== HERO ===== */
#gs-portfolio .gs-hero  {
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:center;
  padding:clamp(120px,16vh,170px) 0 clamp(60px,9vh,100px);
  overflow:hidden;
  background:radial-gradient(60% 50% at 92% 4%, rgba(80,185,72,0.12) 0%, transparent 60%), radial-gradient(46% 42% at 2% 98%, rgba(200,162,74,0.10) 0%, transparent 60%), var(--canvas);
}
#gs-portfolio .gs-hero__canvas  {
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  opacity:0.9;
}
#gs-portfolio .gs-hero__grid  {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.08fr 0.92fr;
  gap:clamp(40px,6vw,84px);
  align-items:center;
}
#gs-portfolio .gs-hero__kick  {
  display:inline-flex;
  align-items:center;
  gap:11px;
  font-family:var(--mono);
  font-size:12px;
  font-weight:600;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--accent-leaf);
  padding:9px 16px;
  border-radius:100px;
  background:var(--white);
  border:1px solid var(--line);
  box-shadow:var(--sh-soft);
  opacity:0;
  transform:translateY(16px);
}
#gs-portfolio .gs-hero__title  {
  margin-top:clamp(22px,3.2vh,32px);
  font-size:clamp(42px,7vw,108px);
  font-weight:700;
  letter-spacing:-0.04em;
  line-height:0.97;
  max-width:14ch;
}
#gs-portfolio .gs-hero__ln  {
  display:block;
  overflow:hidden;
}
#gs-portfolio .gs-hero__ln > span  {
  display:block;
  transform:translateY(112%);
}
#gs-portfolio .gs-hero__title em  {
  font-style:normal;
  color:var(--accent-leaf);
  position:relative;
  white-space:nowrap;
}
#gs-portfolio .gs-hero__title em::after  {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0.02em;
  height:0.08em;
  border-radius:100px;
  background:linear-gradient(90deg,var(--gold),var(--gold-bright));
  transform:scaleX(0);
  transform-origin:left;
}
#gs-portfolio .gs-hero__sub  {
  margin-top:clamp(20px,3vh,28px);
  font-size:clamp(16px,1.5vw,20px);
  line-height:1.62;
  color:var(--ink-soft);
  max-width:50ch;
  opacity:0;
  transform:translateY(16px);
}
#gs-portfolio .gs-hero__sub b  {
  color:var(--ink);
  font-weight:700;
}
#gs-portfolio .gs-hero__actions  {
  margin-top:clamp(24px,3.6vh,34px);
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  opacity:0;
  transform:translateY(16px);
}

/* hero proof card */
#gs-portfolio .gs-hero__media  {
  position:relative;
  opacity:0;
  transform:translateY(26px) scale(0.985);
}

/* mini live chart */

@keyframes gs-bob  {
  0%,100% {
    transform:translateY(0)
  }
  50% {
    transform:translateY(-10px)
  }
}

/* hero choreography */
#gs-portfolio.gs-loaded .gs-hero__kick,#gs-portfolio.gs-loaded .gs-hero__sub,#gs-portfolio.gs-loaded .gs-hero__actions  {
  opacity:1;
  transform:none;
  transition:opacity .9s var(--ease), transform .9s var(--ease);
}
#gs-portfolio.gs-loaded .gs-hero__kick  {
  transition-delay:.35s;
}
#gs-portfolio.gs-loaded .gs-hero__ln > span  {
  transform:translateY(0);
  transition:transform 1s var(--ease);
}
#gs-portfolio.gs-loaded .gs-hero__ln:nth-child(1) > span  {
  transition-delay:.45s;
}
#gs-portfolio.gs-loaded .gs-hero__ln:nth-child(2) > span  {
  transition-delay:.57s;
}
#gs-portfolio.gs-loaded .gs-hero__ln:nth-child(3) > span  {
  transition-delay:.69s;
}
#gs-portfolio.gs-loaded .gs-hero__title em::after  {
  transform:scaleX(1);
  transition:transform .9s var(--ease) 1.35s;
}
#gs-portfolio.gs-loaded .gs-hero__sub  {
  transition-delay:.9s;
}
#gs-portfolio.gs-loaded .gs-hero__actions  {
  transition-delay:1.0s;
}

#gs-portfolio.gs-loaded .gs-hero__media  {
  opacity:1;
  transform:none;
  transition:opacity 1.1s var(--ease) .55s, transform 1.1s var(--ease) .55s;
}

/* ===== BRAND MARQUEE ===== */
#gs-portfolio .gs-marq-band  {
  padding:clamp(26px,3.6vh,40px) 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:var(--white);
}
#gs-portfolio .gs-marq-band__label  {
  text-align:center;
  margin-bottom:20px;
  font-family:var(--mono);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--ink-mute);
}
#gs-portfolio .gs-marq  {
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}
#gs-portfolio .gs-marq__track  {
  display:flex;
  width:max-content;
  align-items:center;
  animation:gs-marq 46s linear infinite;
  will-change:transform;
}
#gs-portfolio .gs-marq:hover .gs-marq__track  {
  animation-play-state:paused;
}
#gs-portfolio .gs-marq__item  {
  flex:none;
  padding:0 clamp(24px,3.2vw,52px);
  font-family:var(--display);
  font-weight:700;
  font-size:clamp(18px,2vw,27px);
  letter-spacing:-0.01em;
  color:var(--ink-mute);
  opacity:0.62;
  transition:opacity var(--fast), color var(--fast);
  white-space:nowrap;
}
#gs-portfolio .gs-marq__item:hover  {
  opacity:1;
  color:var(--ink);
}
@keyframes gs-marq  {
  from {
    transform:translateX(0)
  }
  to {
    transform:translateX(-50%)
  }
}
/* ===== SIGNATURE: SCROLLYTELLING METHOD ===== */
#gs-portfolio .gs-method  {
  background:linear-gradient(180deg, var(--deep) 0%, var(--deep-2) 100%);
  color:var(--on-deep);
  position:relative;
}
#gs-portfolio .gs-method__intro  {
  padding:clamp(70px,10vh,120px) 0 clamp(20px,4vh,40px);
}

#gs-portfolio .gs-method__grid  {
  display:grid;
  grid-template-columns:0.95fr 1.05fr;
  gap:clamp(30px,5vw,70px);
  align-items:start;
}
#gs-portfolio .gs-method__sticky  {
  position:sticky;
  top:0;
  height:100svh;
  display:flex;
  align-items:center;
}
#gs-portfolio .gs-method__viz  {
  width:100%;
  aspect-ratio:1/1;
  max-height:74vh;
  margin:0 auto;
  position:relative;
}
#gs-portfolio .gs-method__viz svg  {
  width:100%;
  height:100%;
  overflow:visible;
}
#gs-portfolio .gs-steps  {
  padding:clamp(40px,8vh,90px) 0;
}
#gs-portfolio .gs-step  {
  min-height:80vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  opacity:0.32;
  transition:opacity var(--dur) var(--ease);
}
#gs-portfolio .gs-step.is-active  {
  opacity:1;
}
#gs-portfolio .gs-step__no  {
  font-family:var(--mono);
  font-size:13px;
  font-weight:600;
  letter-spacing:0.16em;
  color:var(--gold-bright);
}
#gs-portfolio .gs-step h3  {
  margin-top:14px;
  font-size:clamp(28px,3.4vw,46px);
  letter-spacing:-0.025em;
  line-height:1.04;
}
#gs-portfolio .gs-step p  {
  margin-top:16px;
  font-size:clamp(15px,1.4vw,18px);
  line-height:1.66;
  color:var(--on-deep-mute);
  max-width:46ch;
}
#gs-portfolio .gs-step__tags  {
  margin-top:20px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
#gs-portfolio .gs-step__tags span  {
  font-family:var(--mono);
  font-size:11px;
  font-weight:500;
  letter-spacing:0.04em;
  color:var(--on-deep);
  background:rgba(255,255,255,0.06);
  border:1px solid var(--line-deep);
  padding:6px 12px;
  border-radius:100px;
}
/* viz nodes */
#gs-portfolio .gs-node circle.gs-node__ring  {
  fill:none;
  stroke:rgba(243,248,239,0.18);
  stroke-width:1.4;
}
#gs-portfolio .gs-node circle.gs-node__core  {
  fill:#0C2417;
  stroke:rgba(243,248,239,0.4);
  stroke-width:1.5;
  transition:fill var(--dur), stroke var(--dur), r var(--dur);
}
#gs-portfolio .gs-node text  {
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  fill:var(--on-deep-mute);
  transition:fill var(--dur);
}
#gs-portfolio .gs-node.is-on circle.gs-node__core  {
  fill:var(--accent);
  stroke:var(--accent-bright);
}
#gs-portfolio .gs-node.is-on text  {
  fill:var(--on-deep);
}
#gs-portfolio .gs-node__pulse  {
  fill:var(--accent);
  opacity:0;
}
#gs-portfolio .gs-node.is-on .gs-node__pulse  {
  animation:gs-nodepulse 2.2s ease-out infinite;
}
@keyframes gs-nodepulse  {
  0% {
    opacity:0.5;
    r:18px
  }
  100% {
    opacity:0;
    r:46px
  }
}
#gs-portfolio .gs-link  {
  fill:none;
  stroke:var(--accent);
  stroke-width:2.2;
  stroke-linecap:round;
  filter:drop-shadow(0 0 6px rgba(80,185,72,0.5));
}
#gs-portfolio .gs-link-bg  {
  fill:none;
  stroke:rgba(243,248,239,0.12);
  stroke-width:2.2;
  stroke-linecap:round;
}
#gs-portfolio .gs-orbit  {
  fill:none;
  stroke:rgba(230,197,114,0.18);
  stroke-width:1;
}
#gs-portfolio .gs-spark  {
  fill:var(--gold-bright);
}
/* ===== CASE STUDY EXPLORER ===== */
#gs-portfolio .gs-cases__tabs  {
  margin-top:clamp(30px,5vh,48px);
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
#gs-portfolio .gs-cases__tab  {
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 22px;
  border-radius:100px;
  font-weight:700;
  font-size:14px;
  color:var(--ink-soft);
  background:var(--white);
  border:1px solid var(--line);
  transition:all var(--fast) var(--ease);
}
#gs-portfolio .gs-cases__tab .gs-cases__tabno  {
  font-family:var(--mono);
  font-size:11px;
  color:var(--ink-mute);
  transition:color var(--fast);
}
#gs-portfolio .gs-cases__tab:hover  {
  transform:translateY(-2px);
  border-color:var(--line-strong);
}
#gs-portfolio .gs-cases__tab.is-on  {
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
}
#gs-portfolio .gs-cases__tab.is-on .gs-cases__tabno  {
  color:var(--accent-bright);
}
#gs-portfolio .gs-cases__panels  {
  margin-top:clamp(22px,3.5vh,36px);
}
#gs-portfolio .gs-case  {
  display:none;
  grid-template-columns:1fr 1.05fr;
  gap:clamp(28px,4vw,56px);
  align-items:center;
  background:linear-gradient(160deg,#0F3D25,#06120C);
  border:1px solid var(--line-deep);
  border-radius:var(--r-xl);
  padding:clamp(26px,3.4vw,52px);
  color:var(--on-deep);
  box-shadow:var(--sh-card);
}
#gs-portfolio .gs-case.is-on  {
  display:grid;
  animation:gs-fade .6s var(--ease);
}
@keyframes gs-fade  {
  from {
    opacity:0;
    transform:translateY(14px)
  }
  to {
    opacity:1;
    transform:none
  }
}
#gs-portfolio .gs-case__tagline  {
  font-family:var(--mono);
  font-size:12px;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--gold-bright);
}
#gs-portfolio .gs-case h3  {
  margin-top:14px;
  font-size:clamp(24px,2.7vw,38px);
  letter-spacing:-0.02em;
  line-height:1.08;
  max-width:18ch;
}
#gs-portfolio .gs-case p  {
  margin-top:14px;
  font-size:clamp(14.5px,1.2vw,16.5px);
  line-height:1.62;
  color:var(--on-deep-mute);
  max-width:48ch;
}
#gs-portfolio .gs-case__metrics  {
  margin-top:24px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 26px;
}
#gs-portfolio .gs-case__metric  {
  display:flex;
  flex-direction:column;
  gap:4px;
}
#gs-portfolio .gs-case__mv  {
  font-family:var(--display);
  font-weight:700;
  font-size:clamp(26px,3vw,40px);
  letter-spacing:-0.03em;
  line-height:1;
  color:var(--on-deep);
  font-variant-numeric:tabular-nums;
}
#gs-portfolio .gs-case__mv b  {
  color:var(--accent-bright);
}
#gs-portfolio .gs-case__ml  {
  font-family:var(--mono);
  font-size:10.5px;
  font-weight:500;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--on-deep-mute);
  max-width:18ch;
}
#gs-portfolio .gs-case__chart  {
  position:relative;
  border-radius:var(--r-lg);
  background:rgba(255,255,255,0.04);
  border:1px solid var(--line-deep);
  padding:20px;
  min-height:300px;
  display:flex;
  flex-direction:column;
}
#gs-portfolio .gs-case__chart-head  {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
}
#gs-portfolio .gs-case__chart-t  {
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--on-deep-mute);
}
#gs-portfolio .gs-case__chart-d  {
  font-family:var(--mono);
  font-size:11px;
  color:var(--accent-bright);
}
#gs-portfolio .gs-case__svg  {
  flex:1;
  width:100%;
  min-height:220px;
}
#gs-portfolio .gs-case__note  {
  margin-top:14px;
  font-family:var(--mono);
  font-size:10.5px;
  letter-spacing:0.04em;
  color:var(--on-deep-mute);
  opacity:0.7;
}
/* case-study narrative blocks */
#gs-portfolio .gs-case__steps  {
  margin-top:18px;
  display:flex;
  flex-direction:column;
  gap:11px;
}
#gs-portfolio .gs-case__step  {
  display:grid;
  grid-template-columns:76px 1fr;
  gap:14px;
  align-items:start;
}
#gs-portfolio .gs-case__k  {
  font-family:var(--mono);
  font-size:10px;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--gold-bright);
  padding-top:3px;
}
#gs-portfolio .gs-case__step p  {
  margin:0;
  font-size:13.5px;
  line-height:1.55;
  color:var(--on-deep-mute);
  max-width:48ch;
}
#gs-portfolio .gs-case__step p b  {
  color:var(--on-deep);
  font-weight:600;
}
#gs-portfolio .gs-case__chips  {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
#gs-portfolio .gs-case__chips span  {
  font-family:var(--mono);
  font-size:10.5px;
  color:var(--on-deep);
  background:rgba(255,255,255,0.06);
  border:1px solid var(--line-deep);
  padding:5px 10px;
  border-radius:100px;
}
#gs-portfolio .gs-case__metrics  {
  padding-top:20px;
  border-top:1px solid var(--line-deep);
}
@media (max-width:560px) {
  #gs-portfolio .gs-case__step {
    grid-template-columns:1fr;
    gap:3px
  }
}
/* ===== SPIDER HUNT SPOTLIGHT ===== */

#gs-portfolio .gs-hunt__stage  {
  position:relative;
  aspect-ratio:4/3;
  border-radius:var(--r-lg);
  overflow:hidden;
  background:radial-gradient(120% 90% at 30% 20%,#1d4a33,#06120C);
  border:1px solid var(--line-deep);
  box-shadow:var(--sh-card);
}
#gs-portfolio .gs-hunt__img  {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
#gs-portfolio .gs-hunt__decoy  {
  position:absolute;
  left:8%;
  top:10%;
  width:clamp(54px,7vw,84px);
  color:rgba(255,255,255,0.92);
  filter:drop-shadow(0 6px 14px rgba(0,0,0,0.45));
  animation:gs-hunt-bob 3.2s ease-in-out infinite;
}
#gs-portfolio .gs-hunt__bug  {
  position:absolute;
  right:13%;
  bottom:17%;
  width:30px;
  height:30px;
  padding:4px;
  border-radius:50%;
  color:rgba(255,255,255,0.4);
  background:transparent;
  border:0;
  cursor:pointer;
  transition:color var(--fast), transform var(--fast), box-shadow var(--fast);
}
#gs-portfolio .gs-hunt__bug svg  {
  width:100%;
  height:100%;
  display:block;
}
#gs-portfolio .gs-hunt__bug:hover, #gs-portfolio .gs-hunt__bug:focus-visible  {
  color:var(--gold-bright);
  transform:scale(1.25);
  outline:none;
}
#gs-portfolio .gs-hunt__stage.is-hint .gs-hunt__bug  {
  box-shadow:0 0 0 6px rgba(230,197,114,0.25), 0 0 0 14px rgba(230,197,114,0.1);
}
#gs-portfolio .gs-hunt__found  {
  position:absolute;
  left:50%;
  bottom:20px;
  transform:translate(-50%,16px);
  width:min(88%,380px);
  padding:16px 18px;
  border-radius:var(--r-sm);
  background:rgba(6,18,12,0.88);
  border:1px solid rgba(230,197,114,0.45);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  opacity:0;
  pointer-events:none;
  transition:opacity .45s var(--ease), transform .45s var(--ease);
}
#gs-portfolio .gs-hunt__found-k  {
  font-family:var(--mono);
  font-size:11px;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--gold-bright);
}
#gs-portfolio .gs-hunt__found p  {
  margin-top:6px;
  font-size:14px;
  line-height:1.5;
  color:var(--on-deep);
}
#gs-portfolio .gs-hunt__stage.is-found .gs-hunt__found  {
  opacity:1;
  transform:translate(-50%,0);
}
#gs-portfolio .gs-hunt__stage.is-found .gs-hunt__bug  {
  color:var(--gold-bright);
  transform:scale(1.6);
}
#gs-portfolio .gs-hunt__bar  {
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
#gs-portfolio .gs-hunt__prompt  {
  font-size:14px;
  line-height:1.5;
  color:var(--on-deep-mute);
  flex:1 1 240px;
}
#gs-portfolio .gs-hunt__clue  {
  font-family:var(--mono);
  font-size:12px;
  font-weight:600;
  color:var(--gold-bright);
  background:transparent;
  border:1px solid rgba(230,197,114,0.45);
  border-radius:100px;
  padding:9px 16px;
  cursor:pointer;
  transition:background var(--fast);
}
#gs-portfolio .gs-hunt__clue:hover  {
  background:rgba(230,197,114,0.1);
}
@keyframes gs-hunt-bob  {
  0%,100%  {
    transform:translateY(0) rotate(-6deg);
  }
  50%  {
    transform:translateY(-6px) rotate(4deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  #gs-portfolio .gs-hunt__decoy {
    animation:none
  }
}
/* page-anatomy panel for hub case studies */
#gs-portfolio .gs-anat  {
  gap:14px;
}
#gs-portfolio .gs-anat__img  {
  border-radius:var(--r-sm);
  overflow:hidden;
  background:#fff;
  aspect-ratio:16/7;
}
#gs-portfolio .gs-anat__img img  {
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
#gs-portfolio .gs-anat__img--wide img  {
  object-fit:cover;
}
#gs-portfolio .gs-anat__list  {
  list-style:none;
  counter-reset:anat;
  display:flex;
  flex-direction:column;
  gap:2px;
}
#gs-portfolio .gs-anat__list li  {
  counter-increment:anat;
  display:grid;
  grid-template-columns:28px 1fr;
  column-gap:10px;
  padding:7px 0;
  border-top:1px solid var(--line-deep);
  font-size:13px;
  line-height:1.4;
  color:var(--on-deep-mute);
}
#gs-portfolio .gs-anat__list li::before  {
  content:counter(anat,decimal-leading-zero);
  grid-row:span 2;
  font-family:var(--mono);
  font-size:11px;
  color:var(--accent-bright);
  padding-top:2px;
}
#gs-portfolio .gs-anat__list li b  {
  display:block;
  color:var(--on-deep);
  font-weight:600;
}
@media (max-width:820px) {
  #gs-portfolio .gs-cases__tabs  {
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
    margin-left:-16px;
    margin-right:-16px;
    padding:2px 16px 6px;
    -webkit-overflow-scrolling:touch;
  }
  #gs-portfolio .gs-cases__tabs::-webkit-scrollbar  {
    display:none;
  }
  #gs-portfolio .gs-cases__tab  {
    white-space:nowrap;
    flex-shrink:0;
  }
}
/* ===== TESTIMONIAL ===== */
#gs-portfolio .gs-tmnl  {
  position:relative;
  max-width:1000px;
  margin:0 auto;
  padding:clamp(40px,6vw,78px) clamp(26px,5vw,80px);
  border-radius:var(--r-xl);
  overflow:hidden;
  text-align:center;
  color:var(--on-deep);
  background:linear-gradient(165deg,#11341f 0%, #06120C 100%);
  border:1px solid var(--line-deep);
  box-shadow:0 44px 96px rgba(6,18,12,0.36);
}
#gs-portfolio .gs-tmnl::before  {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:radial-gradient(48% 42% at 86% 4%, rgba(80,185,72,0.18), transparent 60%), radial-gradient(44% 44% at 6% 100%, rgba(200,162,74,0.14), transparent 60%);
}
#gs-portfolio .gs-tmnl__watermark  {
  position:absolute;
  top:-30px;
  left:16px;
  z-index:1;
  font-family:var(--display);
  font-weight:800;
  font-size:clamp(150px,22vw,250px);
  line-height:1;
  color:rgba(230,197,114,0.13);
  pointer-events:none;
}
#gs-portfolio .gs-tmnl__in  {
  position:relative;
  z-index:2;
}
#gs-portfolio .gs-tmnl__badge  {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--mono);
  font-size:11px;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--accent-bright);
  background:rgba(80,185,72,0.1);
  border:1px solid rgba(80,185,72,0.3);
  padding:7px 14px;
  border-radius:100px;
}
#gs-portfolio .gs-tmnl__badge::before  {
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--accent-bright);
  box-shadow:0 0 0 4px rgba(80,185,72,0.16);
}
#gs-portfolio .gs-tmnl__text  {
  margin-top:clamp(20px,3vh,28px);
  font-family:var(--display);
  font-weight:500;
  font-size:clamp(21px,2.7vw,35px);
  line-height:1.34;
  letter-spacing:-0.02em;
  color:var(--on-deep);
}
#gs-portfolio .gs-tmnl__text strong  {
  color:var(--gold-bright);
  font-weight:600;
}
#gs-portfolio .gs-tmnl__rule  {
  width:50px;
  height:2px;
  border-radius:100px;
  background:linear-gradient(90deg,var(--accent),var(--gold));
  margin:clamp(26px,4vh,36px) auto 0;
}
#gs-portfolio .gs-tmnl__by  {
  margin-top:clamp(22px,3vh,28px);
  display:inline-flex;
  align-items:center;
  gap:13px;
}
#gs-portfolio .gs-tmnl__mark  {
  width:52px;
  height:52px;
  border-radius:50%;
  flex:none;
  display:grid;
  place-items:center;
  font-family:var(--display);
  font-weight:700;
  font-size:20px;
  color:#fff;
  background:#000;
  border:1px solid rgba(243,248,239,0.18);
  box-shadow:0 10px 24px rgba(0,0,0,0.45);
}
#gs-portfolio .gs-tmnl__id  {
  display:flex;
  flex-direction:column;
  text-align:left;
}
#gs-portfolio .gs-tmnl__id b  {
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-family:var(--display);
  font-weight:700;
  font-size:17px;
  letter-spacing:-0.01em;
  color:var(--on-deep);
}
#gs-portfolio .gs-tmnl__id b svg  {
  width:18px;
  height:18px;
  flex:none;
}
#gs-portfolio .gs-tmnl__id span  {
  font-size:12.5px;
  color:var(--on-deep-mute);
}
/* brand cards */
#gs-portfolio .gs-brands  {
  margin-top:clamp(28px,4vh,44px);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
#gs-portfolio .gs-brandcard  {
  border-radius:var(--r-lg);
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--white);
  box-shadow:var(--sh-soft);
  transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  display:flex;
  flex-direction:column;
}
#gs-portfolio .gs-brandcard:hover  {
  transform:translateY(-6px);
  box-shadow:var(--sh-hover);
}
#gs-portfolio .gs-brandcard__img  {
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  background:var(--canvas-2);
}
#gs-portfolio .gs-brandcard__img img  {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform var(--slow) var(--ease);
}
#gs-portfolio .gs-brandcard:hover .gs-brandcard__img img  {
  transform:scale(1.05);
}
#gs-portfolio .gs-brandcard__tag  {
  position:absolute;
  top:12px;
  left:12px;
  font-family:var(--mono);
  font-size:10px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#fff;
  background:rgba(6,18,12,0.55);
  border:1px solid rgba(255,255,255,0.22);
  padding:5px 11px;
  border-radius:100px;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
#gs-portfolio .gs-brandcard__body  {
  padding:clamp(20px,2.2vw,28px);
  flex:1;
  display:flex;
  flex-direction:column;
}
#gs-portfolio .gs-brandcard__body h3  {
  font-size:clamp(20px,2vw,27px);
  letter-spacing:-0.02em;
}
#gs-portfolio .gs-brandcard__body p  {
  margin-top:10px;
  font-size:14px;
  line-height:1.58;
  color:var(--ink-soft);
  flex:1;
}
#gs-portfolio .gs-brandcard__chips  {
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
#gs-portfolio .gs-brandcard__chips span  {
  font-family:var(--mono);
  font-size:10.5px;
  color:var(--ink-mute);
  background:var(--canvas-2);
  border:1px solid var(--line);
  padding:5px 10px;
  border-radius:100px;
}
#gs-portfolio .gs-brandcard__link  {
  margin-top:16px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:var(--mono);
  font-size:11px;
  font-weight:600;
  letter-spacing:0.04em;
  color:var(--accent-leaf);
  transition:gap var(--fast) var(--ease);
}
#gs-portfolio .gs-brandcard:hover .gs-brandcard__link  {
  gap:11px;
}
@media (max-width:1080px) {
  #gs-portfolio .gs-brands {
    grid-template-columns:repeat(2,1fr)
  }
}
@media (max-width:600px) {
  #gs-portfolio .gs-brands {
    grid-template-columns:1fr;
    max-width:420px;
    margin-left:auto;
    margin-right:auto
  }
}

/* ===== BEFORE / AFTER EXPERIENCE SLIDER ===== */
#gs-portfolio .gs-ba  {
  position:relative;
  margin-top:clamp(30px,5vh,52px);
  border-radius:var(--r-xl);
  overflow:hidden;
  border:1px solid var(--line-deep);
  box-shadow:0 34px 90px rgba(6,18,12,0.4);
}

#gs-portfolio .gs-ba__view  {
  position:relative;
  aspect-ratio:16/10;
  max-height:72vh;
  overflow:hidden;
  touch-action:pan-y;
  background:#fff;
}
#gs-portfolio .gs-ba__layer  {
  position:absolute;
  inset:0;
  overflow:hidden;
}
#gs-portfolio .gs-ba__before  {
  background:var(--white);
  z-index:1;
}
#gs-portfolio .gs-ba__after  {
  z-index:2;
  clip-path:inset(0 calc((100 - var(--posn,4)) * 1%) 0 0);
}
#gs-portfolio .gs-ba__view  {
  cursor:ew-resize;
}
#gs-portfolio .gs-ba__tag  {
  position:absolute;
  top:14px;
  z-index:4;
  font-family:var(--mono);
  font-size:10px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:6px 12px;
  border-radius:100px;
  backdrop-filter:blur(6px);
}
#gs-portfolio .gs-ba__tag--l  {
  left:14px;
  color:var(--ink-soft);
  background:rgba(255,255,255,0.8);
  border:1px solid var(--line);
}
#gs-portfolio .gs-ba__tag--r  {
  right:14px;
  color:var(--on-deep);
  background:rgba(6,18,12,0.5);
  border:1px solid rgba(255,255,255,0.2);
}
#gs-portfolio .gs-ba__divider  {
  position:absolute;
  top:0;
  bottom:0;
  left:calc(var(--posn,4) * 1%);
  width:2px;
  background:var(--accent-bright);
  transform:translateX(-1px);
  z-index:5;
  box-shadow:0 0 14px rgba(80,185,72,0.6);
}
#gs-portfolio .gs-ba__tag--l  {
  opacity:0;
  transition:opacity var(--dur) var(--ease);
}
#gs-portfolio .gs-ba--revealed .gs-ba__tag--l  {
  opacity:1;
}
#gs-portfolio .gs-ba__hint  {
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  z-index:6;
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-family:var(--mono);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:0.03em;
  color:#08210F;
  background:var(--accent-bright);
  padding:9px 17px;
  border-radius:100px;
  box-shadow:0 8px 22px rgba(6,18,12,0.35);
  transition:opacity var(--dur) var(--ease), visibility var(--dur);
  pointer-events:none;
  animation:gs-bob 3.4s ease-in-out infinite;
}
#gs-portfolio .gs-ba--touched .gs-ba__hint  {
  opacity:0;
  visibility:hidden;
}
#gs-portfolio .gs-ba__handle  {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:46px;
  height:46px;
  border-radius:50%;
  background:var(--white);
  border:2px solid var(--accent);
  box-shadow:0 8px 22px rgba(6,18,12,0.3);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  cursor:ew-resize;
  touch-action:none;
}
#gs-portfolio .gs-ba__handle:focus-visible  {
  outline:3px solid var(--gold-bright);
  outline-offset:3px;
}
#gs-portfolio .gs-ba__handle svg  {
  width:13px;
  height:13px;
  color:var(--accent-leaf);
}
/* AFTER (crafted) */

#gs-portfolio .gs-ba__cap  {
  margin-top:clamp(18px,2.6vh,26px);
  text-align:center;
  font-size:clamp(14px,1.4vw,18px);
  color:var(--on-deep-mute);
}
#gs-portfolio .gs-ba__cap b  {
  color:var(--on-deep);
  font-weight:700;
}
/* real CDN images swapped into the recreations */

#gs-portfolio .gs-ba__img  {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
/* live links + case link */
#gs-portfolio .gs-ba__live  {
  margin-top:clamp(16px,2.2vh,22px);
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
}
#gs-portfolio .gs-ba__live a  {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--mono);
  font-size:12px;
  color:var(--on-deep);
  background:rgba(255,255,255,0.05);
  border:1px solid var(--line-deep);
  padding:9px 16px;
  border-radius:100px;
  transition:border-color var(--fast), background var(--fast);
}
#gs-portfolio .gs-ba__live a:hover  {
  border-color:var(--accent);
  background:rgba(80,185,72,0.1);
}
#gs-portfolio .gs-ba__live a b  {
  color:var(--gold-bright);
  font-weight:600;
}
#gs-portfolio .gs-case__link  {
  margin-top:18px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--mono);
  font-size:12px;
  font-weight:600;
  color:var(--gold-bright);
  border-bottom:1px solid rgba(230,197,114,0.4);
  padding-bottom:3px;
  transition:gap var(--fast);
}
#gs-portfolio .gs-case__link:hover  {
  gap:13px;
}

@media (max-width:680px) {

  #gs-portfolio .gs-ba__view {
    aspect-ratio:16/10
  }

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

@media (max-width:900px) {
  #gs-portfolio .gs-navlinks, #gs-portfolio .gs-nav__cta {
    display:none
  }
  #gs-portfolio .gs-burger {
    display:inline-flex
  }
}
@media (max-width:820px) {
  #gs-portfolio .gs-hero__grid {
    grid-template-columns:1fr;
    text-align:center
  }
  #gs-portfolio .gs-hero {
    min-height:0
  }
  #gs-portfolio .gs-hero__media {
    max-width:460px;
    margin:8px auto 0
  }
  #gs-portfolio .gs-hero__title,#gs-portfolio .gs-hero__sub {
    margin-left:auto;
    margin-right:auto
  }
  #gs-portfolio .gs-hero__actions {
    justify-content:center
  }

  #gs-portfolio .gs-case {
    grid-template-columns:1fr
  }
  #gs-portfolio .gs-case__chart {
    order:-1
  }
  /* method: drop the pin, stack visual above each step on mobile */
  #gs-portfolio .gs-method__grid {
    grid-template-columns:1fr
  }
  #gs-portfolio .gs-method__sticky {
    position:relative;
    height:auto;
    padding:20px 0 10px
  }
  #gs-portfolio .gs-method__viz {
    max-height:48vh
  }
  #gs-portfolio .gs-step {
    min-height:0;
    padding:26px 0;
    opacity:1
  }

}

/* ===== REDUCED MOTION ===== */
@media (prefers-reduced-motion: reduce) {
  #gs-portfolio *, #gs-portfolio *::before, #gs-portfolio *::after  {
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  #gs-portfolio [data-reveal] {
    opacity:1;
    transform:none
  }
  #gs-portfolio .gs-hero__kick,#gs-portfolio .gs-hero__sub,#gs-portfolio .gs-hero__actions,#gs-portfolio .gs-hero__media {
    opacity:1;
    transform:none
  }
  #gs-portfolio .gs-hero__ln > span {
    transform:none
  }
  #gs-portfolio .gs-hero__title em::after {
    transform:scaleX(1)
  }
  #gs-portfolio .gs-marq__track {
    animation:none
  }
  #gs-portfolio .gs-step {
    opacity:1
  }
}
/* Evolution of the supplied portfolio. Its content and interaction system remain the foundation. */
html {
  scroll-behavior:smooth;
  scroll-padding-top:88px
}
body {
  margin:0;
  background:#f5f2ea
}
::selection {
  background:#c9b36d;
  color:#06120c
}
#gs-portfolio {
  --w:1500px;
  --canvas:#f6f3eb;
  --canvas-2:#eae7dc;
  --gold:#b69a50;
  --accent:#70ac68;
  --accent-bright:#a1d39a;
  --r-xl:22px;
  --r-lg:16px;
  --r-md:10px;
  --gut:clamp(24px,5.8vw,90px)
}
#gs-portfolio .gs-btn {
  border-radius:5px;
  padding:17px 25px;
  font-size:13px;
  box-shadow:none
}
#gs-portfolio .gs-kicker {
  font-size:10px;
  letter-spacing:.17em
}
#gs-portfolio .gs-kicker:before {
  width:5px;
  height:5px;
  box-shadow:none
}
#gs-portfolio .gs-h2 {
  font-size:clamp(37px,4.8vw,72px);
  line-height:1.08;
  letter-spacing:-.055em;
  max-width:22ch
}
#gs-portfolio .gs-h2 em {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:500;
  color:#396547;
  letter-spacing:-.04em
}
#gs-portfolio .gs-lead {
  font-size:16px;
  line-height:1.9;
  max-width:64ch;
  color:#647165
}
#gs-portfolio .gs-sec--deep .gs-lead {
  color:#b0c2b1
}
#gs-portfolio .gs-nav {
  background:#f6f3ebed;
  border-bottom:1px solid #13261a17;
  backdrop-filter:blur(18px)
}
#gs-portfolio .gs-nav__in {
  padding-top:19px;
  padding-bottom:19px
}
#gs-portfolio .gs-brand {
  font-size:20px;
  font-weight:600;
  letter-spacing:-.06em
}
#gs-portfolio .gs-brand:after {
  content:'GROWTH & EXPERIENCE';
  font-family:var(--mono);
  letter-spacing:.1em;
  font-size:11.5px;
  color:#75816e;
  border-left:1px solid #183b222b;
  margin-left:6px;
  padding-left:17px
}
#gs-portfolio .gs-brand__mark {
  background:#163e29;
  border-radius:50%;
  box-shadow:none;
  width:35px;
  height:35px
}
#gs-portfolio .gs-navlinks {
  gap:24px
}
#gs-portfolio .gs-navlinks a {
  font-size:11px;
  font-weight:500
}
#gs-portfolio .gs-nav__cta {
  padding:11px 18px;
  font-size:10px
}
#gs-portfolio .gs-nav.is-stuck {
  background:#f6f3ebef;
  box-shadow:none
}

#gs-portfolio .gs-hero {
  display:block;
  min-height:850px;
  min-height:max(850px,100svh);
  padding:0;
  background:var(--canvas);
  overflow:hidden
}
#gs-portfolio .gs-hero:before {
  content:'';
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:43%;
  background:radial-gradient(ellipse at 0 45%,#345b3c,#102e20 60%,#0b2118);
  z-index:0
}
#gs-portfolio .gs-hero:after {
  content:'';
  position:absolute;
  right:1%;
  top:12%;
  width:40%;
  height:70%;
  background:repeating-radial-gradient(ellipse at 50% 50%,transparent 0,transparent 48px,#a2c69d0c 49px,transparent 50px);
  pointer-events:none;
  z-index:0
}
#gs-portfolio .gs-hero__canvas {
  opacity:.22;
  width:60%;
  pointer-events:none
}
#gs-portfolio .ev-hero-meta {
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  padding:119px var(--gut) 0;
  max-width:1500px;
  margin:auto;
  font:12px var(--mono);
  letter-spacing:.14em;
  color:#65745f
}
#gs-portfolio .ev-hero-meta>span:last-child {
  color:#b1bea8
}
#gs-portfolio .gs-hero__grid {
  grid-template-columns:1.05fr 1fr;
  gap:5%;
  padding-top:62px;
  padding-bottom:115px;
  align-items:center
}
#gs-portfolio .gs-hero__kick {
  padding:0;
  background:none;
  border:0;
  box-shadow:none;
  color:#6b7c62;
  font-size:13px;
  letter-spacing:.12em;
  border-radius:0
}
#gs-portfolio .gs-hero__title {
  font-size:clamp(65px,7.7vw,119px);
  line-height:.99;
  font-weight:500;
  letter-spacing:-.075em;
  margin-top:27px;
  max-width:10ch
}
#gs-portfolio .gs-hero__ln {
  padding-bottom:.08em;
  margin-bottom:-.08em
}
#gs-portfolio .gs-hero__title em {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-size:1.21em;
  font-weight:500;
  color:#306343;
  letter-spacing:-.075em
}
#gs-portfolio .gs-hero__title em:after {
  display:none
}
#gs-portfolio .gs-hero__sub {
  max-width:36ch;
  font-size:14px;
  line-height:1.9;
  margin-top:27px;
  font-weight:400
}
#gs-portfolio .gs-hero__actions {
  gap:25px;
  align-items:center;
  margin-top:28px
}
#gs-portfolio .ev-text-link {
  font-size:11px;
  font-weight:500;
  display:inline-flex;
  align-items:center;
  gap:13px;
  border-bottom:1px solid #16351d35;
  padding:8px 0
}
#gs-portfolio .ev-person {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:39px
}
#gs-portfolio .ev-person-mark {
  background:#e5e9dc;
  border:1px solid #cdd6c5;
  border-radius:50%;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  font-family:'Cormorant Garamond',serif;
  font-size:26px;
  color:#31513a
}
#gs-portfolio .ev-person div {
  display:flex;
  flex-direction:column;
  gap:4px
}
#gs-portfolio .ev-person b {
  font-family:var(--display);
  font-size:11px;
  font-weight:600
}
#gs-portfolio .ev-person div>span {
  font-size:13px;
  color:#77816f
}
#gs-portfolio .ev-person i {
  width:5px;
  height:5px;
  background:#5c9f52;
  border-radius:50%;
  margin-left:10px
}

#gs-portfolio .ev-hero-foot {
  position:absolute;
  bottom:29px;
  left:var(--gut);
  right:var(--gut);
  display:flex;
  justify-content:space-between;
  align-items:center;
  font:11.5px/1.8 var(--mono);
  letter-spacing:.07em;
  color:#74816a
}
#gs-portfolio .ev-hero-foot>a {
  display:flex;
  align-items:center;
  gap:22px;
  margin-left:-30px
}
#gs-portfolio .ev-hero-foot b {
  font-size:22px;
  font-weight:400
}
#gs-portfolio .ev-hero-foot>span:last-child {
  color:#a5b99b;
  text-align:right
}
#gs-portfolio .gs-marq-band {
  padding:28px 0 30px;
  background:#eeece1;
  border-block:1px solid #1f3e2420
}
#gs-portfolio .gs-marq-band__label {
  font-size:12px;
  color:#86917d;
  margin-bottom:18px
}
#gs-portfolio .gs-marq__item {
  font-family:Georgia,serif;
  font-size:26px;
  font-weight:600;
  color:#2f4732;
  opacity:.7
}
#gs-portfolio .ev-selected {
  background:#f7f4ed;
  padding-bottom:78px
}
#gs-portfolio .ev-selected-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:50px;
  margin-bottom:45px
}
#gs-portfolio .ev-selected-head>div:last-child {
  padding-bottom:8px
}
#gs-portfolio .ev-selected-head p {
  font-size:12px;
  line-height:1.9;
  color:#6a7966;
  margin-bottom:17px
}
#gs-portfolio .ev-selected-head h2 {
  font-size:clamp(36px,4.5vw,65px)
}
#gs-portfolio .ev-reel {
  display:flex;
  gap:26px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:5px 0 15px;
  cursor:grab
}
#gs-portfolio .ev-reel::-webkit-scrollbar {
  display:none
}
#gs-portfolio .ev-project {
  flex:0 0 65%;
  scroll-snap-align:start;
  text-align:left;
  min-width:0;
  padding:0
}
#gs-portfolio .ev-project-image {
  position:relative;
  aspect-ratio:1.75;
  overflow:hidden;
  background:#102b1c;
  border-radius:9px
}
#gs-portfolio .ev-project-image:after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,#03190ee6,transparent 90%)
}
#gs-portfolio .ev-project-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .9s;
  opacity:.85
}
#gs-portfolio .ev-project:hover img {
  transform:scale(1.045)
}
#gs-portfolio .ev-project-id {
  position:absolute;
  left:26px;
  top:23px;
  font:12px var(--mono);
  letter-spacing:.12em;
  color:#f8f8ed;
  z-index:2
}
#gs-portfolio .ev-project-arrow {
  position:absolute;
  right:22px;
  top:20px;
  font-size:22px;
  width:39px;
  height:39px;
  border:1px solid #fff5;
  border-radius:50%;
  color:#f8f8ed;
  display:grid;
  place-items:center;
  z-index:2;
  transition:.3s
}
#gs-portfolio .ev-project:hover .ev-project-arrow {
  background:#e1cb8d;
  color:#163521;
  border-color:#e1cb8d
}
#gs-portfolio .ev-project-overlay {
  position:absolute;
  bottom:28px;
  left:30px;
  z-index:2;
  color:#f5f2e8
}
#gs-portfolio .ev-project-overlay>span {
  font:11.5px var(--mono);
  letter-spacing:.13em;
  color:#d0d6b9
}
#gs-portfolio .ev-project-overlay strong {
  display:block;
  font-family:var(--display);
  font-size:clamp(34px,4vw,61px);
  line-height:1.04;
  letter-spacing:-.06em;
  font-weight:500;
  margin-top:13px
}
#gs-portfolio .ev-project-light img {
  object-fit:contain;
  background:#e1e2d9;
  opacity:1;
  object-position:80% 50%;
  padding:5% 0 5% 20%
}
#gs-portfolio .ev-project-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:22px 3px 0;
  gap:20px
}
#gs-portfolio .ev-project-bottom h3 {
  font-size:16px;
  letter-spacing:-.04em;
  line-height:1.3
}
#gs-portfolio .ev-project-bottom div>span {
  display:block;
  font-size:13px;
  color:#7c8772;
  margin-top:9px
}
#gs-portfolio .ev-project-bottom>b {
  font-family:var(--display);
  font-size:34px;
  letter-spacing:-.07em;
  font-weight:500;
  color:#34613e;
  white-space:nowrap
}
#gs-portfolio .ev-project-bottom small {
  font:11px var(--mono);
  display:block;
  letter-spacing:.05em;
  color:#8a947e
}
#gs-portfolio .ev-reel-controls {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:24px;
  border-top:1px solid #1d3b2320;
  padding-top:18px
}
#gs-portfolio .ev-reel-controls>span {
  font:11.5px var(--mono);
  letter-spacing:.06em;
  color:#7b886f
}
#gs-portfolio .ev-reel-controls>div {
  display:flex;
  gap:8px
}
#gs-portfolio .ev-reel-controls button {
  width:40px;
  height:40px;
  border:1px solid #28442b40;
  border-radius:50%;
  font-size:18px;
  transition:background .2s
}
#gs-portfolio .ev-reel-controls button:hover {
  background:#dce3d3
}
#gs-portfolio .ev-source {
  font:12px/1.8 var(--mono);
  color:#929980;
  margin-top:24px
}
#gs-portfolio .gs-method {
  background:radial-gradient(ellipse at 15% 50%,#25483277,transparent 60%),#091e15
}
#gs-portfolio .gs-method .gs-h2 {
  max-width:20ch
}
#gs-portfolio .gs-step h3 {
  letter-spacing:-.045em;
  font-weight:500
}
#gs-portfolio .gs-step p {
  font-size:15px;
  line-height:1.9;
  color:#a7bca5
}
#gs-portfolio .gs-method__viz {
  filter:drop-shadow(0 0 40px #99bc6b15)
}
#gs-portfolio .gs-cases__tabs {
  border-radius:7px;
  background:#dedfd1;
  padding:6px;
  gap:5px
}
#gs-portfolio .gs-cases__tab {
  font-size:10px;
  border-radius:4px;
  padding:14px 17px
}
#gs-portfolio .gs-cases__tab.is-on {
  background:#133a25;
  color:#f7f4ec;
  box-shadow:none
}
#gs-portfolio .gs-case {
  border-radius:12px;
  background:#f8f5ed;
  overflow:hidden;
  box-shadow:0 15px 60px #0823150a
}
#gs-portfolio .gs-case h3 {
  font-size:clamp(27px,3vw,43px);
  letter-spacing:-.05em;
  line-height:1.15
}
#gs-portfolio .gs-case__chart {
  border-radius:8px;
  background:radial-gradient(ellipse at 0 0,#31553688,transparent 90%),#102c1c
}
#gs-portfolio .ev-case-cover {
  grid-column:1/-1;
  position:relative;
  height:300px;
  overflow:hidden;
  border-radius:7px;
  margin-bottom:15px
}
#gs-portfolio .ev-case-cover img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top
}
#gs-portfolio .ev-case-cover>span {
  position:absolute;
  bottom:18px;
  left:20px;
  font:12px var(--mono);
  padding:8px 12px;
  background:#0b251ee6;
  color:#e3e5cc;
  border:1px solid #ffffff30
}

#gs-portfolio .gs-case__mv {
  letter-spacing:-.06em
}
#gs-portfolio .gs-case__link {
  font-size:11px
}
#gs-portfolio .gs-hunt__stage {
  box-shadow:0 30px 60px #0003;
  border-radius:12px
}

#gs-portfolio .gs-tmnl {
  border-radius:10px;
  background:radial-gradient(ellipse at 50% 110%,#31593699,transparent 80%),#0c2418;
  box-shadow:none
}
#gs-portfolio .gs-tmnl__text {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:500;
  font-size:clamp(26px,3.4vw,46px);
  line-height:1.35;
  letter-spacing:-.015em
}
#gs-portfolio .gs-tmnl__text strong {
  color:#d7c58a;
  font-weight:500
}
#gs-portfolio .gs-ba {
  border-radius:10px;
  box-shadow:0 40px 90px #0005
}
#gs-portfolio .gs-ba__divider {
  background:#e1c87e;
  box-shadow:0 0 20px #e1c87e44
}
#gs-portfolio .gs-ba__handle {
  border-color:#d2b870
}
#gs-portfolio .gs-ba__hint {
  border-radius:4px;
  background:#e1cb8d;
  font-size:10px
}

#gs-portfolio a:focus-visible,#gs-portfolio button:focus-visible {
  outline:2px solid #bd9c4b;
  outline-offset:5px
}
#ev-brief {
  width:min(650px,92vw);
  max-height:90svh;
  background:#f6f3eb;
  color:#163521;
  border:1px solid #d4d6bf;
  padding:0;
  border-radius:10px;
  font-family:'Open Sans',sans-serif
}
#ev-brief::backdrop {
  background:#031a12d9;
  backdrop-filter:blur(10px)
}
body:has(#ev-brief[open]) {
  overflow:hidden
}
.ev-dialog-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:17px 28px;
  border-bottom:1px solid #18371d20;
  font:12px monospace;
  letter-spacing:.08em
}
.ev-dialog-top button {
  border:0;
  background:none;
  color:#23452c;
  font-size:27px;
  cursor:pointer
}
#ev-brief form {
  padding:35px
}
.ev-eyebrow {
  font:12px monospace;
  color:#8a915d;
  letter-spacing:.12em
}
#ev-brief h2 {
  font-family:Sora,sans-serif;
  font-size:43px;
  letter-spacing:-2px;
  line-height:1.1;
  font-weight:500;
  margin:20px 0 30px
}
#ev-brief h2 em {
  font-family:'Cormorant Garamond',serif;
  font-size:1.2em;
  color:#47714a
}
#ev-brief label {
  display:block;
  font-size:12px;
  margin-top:20px
}
#ev-brief select,#ev-brief textarea {
  display:block;
  width:100%;
  margin-top:10px;
  background:#eeeee2;
  color:#173a24;
  border:1px solid #bfcbb8;
  border-radius:4px;
  padding:12px;
  font:13px 'Open Sans',sans-serif;
  box-sizing:border-box
}
.ev-dialog-button {
  border:0;
  background:#173e28;
  color:#f8f3e5;
  border-radius:3px;
  font:12px 'Open Sans',sans-serif;
  padding:15px 20px;
  margin-top:22px;
  cursor:pointer
}
#ev-brief form>p {
  font-size:10px;
  color:#869477;
  margin-top:25px
}
#ev-brief pre {
  white-space:pre-wrap;
  font:12px/1.9 'Open Sans',sans-serif;
  background:#e8ecdd;
  padding:20px;
  border-radius:4px
}
#ev-copy-status {
  display:block;
  font-size:11px;
  margin-top:15px
}
@media(min-width:1600px) {
  #gs-portfolio .gs-hero__grid {
    padding-top:100px;
    padding-bottom:150px
  }
  #gs-portfolio .gs-hero__title {
    font-size:126px
  }
}
@media(max-width:1100px) {
  #gs-portfolio .gs-navlinks {
    gap:15px
  }
  #gs-portfolio .gs-brand:after {
    display:none
  }
  #gs-portfolio .gs-nav__cta {
    font-size:13px;
    padding:10px 14px
  }
  #gs-portfolio .gs-hero__grid {
    gap:4%
  }
  #gs-portfolio .gs-hero__title {
    font-size:8vw
  }
  #gs-portfolio .gs-hero__actions {
    gap:15px
  }
  #gs-portfolio .gs-hero__actions .gs-btn {
    padding:15px 18px;
    font-size:11px
  }
  #gs-portfolio .ev-text-link {
    font-size:10px
  }

  #gs-portfolio .ev-hero-foot>span:last-child {
    max-width:230px
  }

  #gs-portfolio .ev-selected-head {
    gap:30px
  }
  #gs-portfolio .gs-case__chart {
    min-height:270px
  }
}
@media(max-width:820px) {
  #gs-portfolio .gs-hero {
    min-height:0;
    padding-bottom:95px
  }
  #gs-portfolio .gs-hero:before {
    top:56%;
    bottom:0;
    width:100%;
    background:radial-gradient(ellipse at 50% 20%,#30553a,#102d1f 75%)
  }
  #gs-portfolio .gs-hero:after {
    top:58%;
    height:40%;
    width:100%;
    right:0
  }
  #gs-portfolio .ev-hero-meta {
    padding-top:110px;
    font-size:11.5px
  }
  #gs-portfolio .ev-hero-meta>span:last-child {
    display:none
  }
  #gs-portfolio .gs-hero__grid {
    display:block;
    padding-top:42px;
    padding-bottom:0;
    text-align:left
  }
  #gs-portfolio .gs-hero__title {
    font-size:clamp(68px,12vw,100px);
    line-height:.99;
    max-width:12ch;
    margin:22px 0 0;
    letter-spacing:-.07em
  }
  #gs-portfolio .gs-hero__ln:nth-child(1),#gs-portfolio .gs-hero__ln:nth-child(2) {
    display:inline
  }
  #gs-portfolio .gs-hero__ln:nth-child(1)>span,#gs-portfolio .gs-hero__ln:nth-child(2)>span {
    display:inline
  }
  #gs-portfolio .gs-hero__ln:nth-child(1)>span:after {
    content:' '
  }
  #gs-portfolio .gs-hero__ln:nth-child(3) {
    display:block;
    margin-top:5px
  }
  #gs-portfolio .gs-hero__sub {
    font-size:14px;
    max-width:46ch;
    margin:25px 0 0
  }
  #gs-portfolio .gs-hero__actions {
    justify-content:flex-start;
    margin-top:25px
  }
  #gs-portfolio .ev-person {
    margin-top:28px
  }
  #gs-portfolio .gs-hero__media {
    max-width:560px;
    margin:85px auto 0;
    padding:0 13px 82px
  }

  #gs-portfolio .ev-hero-foot {
    bottom:23px;
    font-size:11px
  }
  #gs-portfolio .ev-hero-foot>span:last-child {
    display:none
  }
  #gs-portfolio .ev-hero-foot>span:first-child {
    color:#a4b49b
  }
  #gs-portfolio .ev-hero-foot>a {
    margin-left:0;
    color:#c5cead;
    font-size:11px
  }
  #gs-portfolio .ev-selected-head {
    display:block;
    margin-bottom:25px
  }
  #gs-portfolio .ev-selected-head>div:last-child {
    margin-top:25px
  }
  #gs-portfolio .ev-selected-head p {
    font-size:12px;
    display:none
  }
  #gs-portfolio .ev-reel {
    gap:17px
  }
  #gs-portfolio .ev-project {
    flex-basis:89%
  }
  #gs-portfolio .ev-project-image {
    aspect-ratio:1.25
  }
  #gs-portfolio .ev-project-overlay strong {
    font-size:42px
  }
  #gs-portfolio .ev-project-overlay {
    left:24px;
    bottom:23px
  }
  #gs-portfolio .ev-project-bottom h3 {
    font-size:14px
  }
  #gs-portfolio .ev-project-bottom div>span {
    font-size:12px;
    line-height:1.6
  }
  #gs-portfolio .ev-project-bottom>b {
    font-size:30px
  }
  #gs-portfolio .ev-project-bottom small {
    font-size:10.5px
  }
  #gs-portfolio .ev-reel-controls>span {
    font-size:11px;
    max-width:160px;
    line-height:1.8
  }
  #gs-portfolio .ev-case-cover {
    height:230px;
    order:-2;
    margin-bottom:0
  }
  #gs-portfolio .gs-case__chart {
    order:0
  }
  #gs-portfolio .gs-case>div:not(.gs-case__chart):not(.ev-case-cover) {
    order:-1
  }

  #gs-portfolio .gs-h2 {
    font-size:40px;
    letter-spacing:-.055em
  }
  #gs-portfolio .gs-lead {
    font-size:14px;
    line-height:1.85
  }
  #gs-portfolio .gs-tmnl__text {
    font-size:29px
  }
  #gs-portfolio .gs-nav__in {
    padding-top:15px;
    padding-bottom:15px
  }
  #gs-portfolio .gs-burger {
    border-radius:50%;
    width:36px;
    height:36px;
    background:transparent
  }
  #gs-portfolio .gs-case h3 {
    font-size:29px
  }
  #gs-portfolio .gs-case__metrics {
    gap:16px
  }

}
@media(max-width:440px) {
  #gs-portfolio .gs-hero__title {
    font-size:16vw
  }
  #gs-portfolio .gs-hero__kick {
    font-size:11.5px
  }
  #gs-portfolio .gs-hero__sub {
    font-size:12px
  }
  #gs-portfolio .gs-hero__actions {
    gap:16px
  }
  #gs-portfolio .gs-hero__actions .gs-btn {
    font-size:10px;
    padding:14px 15px
  }
  #gs-portfolio .ev-text-link {
    font-size:13px
  }
  #gs-portfolio .ev-person div>span {
    font-size:12px
  }
  #gs-portfolio .gs-hero__media {
    margin-top:78px
  }
  #gs-portfolio .gs-hero:before {
    top:53%
  }

  #gs-portfolio .ev-project-overlay strong {
    font-size:33px
  }
  #gs-portfolio .ev-project-id {
    left:20px;
    font-size:11.5px
  }
  #gs-portfolio .ev-project-bottom h3 {
    font-size:12px
  }
  #gs-portfolio .ev-project-bottom>b {
    font-size:26px
  }
  #gs-portfolio .ev-project-overlay>span {
    font-size:11px
  }
  #gs-portfolio .ev-project-bottom div>span {
    font-size:11.5px
  }
  #gs-portfolio .ev-selected-head h2 {
    font-size:34px
  }
  #gs-portfolio .gs-case__mv {
    font-size:24px
  }
  #gs-portfolio .ev-case-cover {
    height:180px
  }
  #ev-brief form {
    padding:25px
  }
  #ev-brief h2 {
    font-size:35px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  #gs-portfolio .ev-project-image img {
    transition:none
  }

}
@media(max-width:820px) {
  #gs-portfolio .gs-hero__ln:nth-child(1),#gs-portfolio .gs-hero__ln:nth-child(2) {
    display:block
  }
  #gs-portfolio .gs-hero__ln:nth-child(1)>span,#gs-portfolio .gs-hero__ln:nth-child(2)>span {
    display:block
  }
  #gs-portfolio .gs-hero__ln:nth-child(1)>span:after {
    content:none
  }
}
#gs-portfolio .gs-case {
  background:linear-gradient(150deg,#183c29,#0a2116);
  color:var(--on-deep);
  border:1px solid #b2c69d24
}
#gs-portfolio .gs-case__chart {
  background:#061a11;
  border-color:#c5d5b322
}
/* Consultancy: one spacing rhythm, one type scale, clear offers and a deliberate close. */
#gs-portfolio {
  --cp-ink:#173924;
  --cp-soft:#66745f;
  --cp-paper:#f6f3eb;
  --cp-rule:#25422a24;
  --cp-gold:#d7c48a
}
#gs-portfolio .cp-section {
  padding:105px 0;
  scroll-margin-top:20px
}
#gs-portfolio .cp-label {
  font:12px/1.8 var(--mono);
  letter-spacing:.15em;
  color:#728367;
  display:block;
  margin-bottom:22px
}
#gs-portfolio .cp-section h2,#gs-portfolio .cp-help h2 {
  font-family:var(--display);
  font-size:clamp(36px,4vw,61px);
  line-height:1.12;
  letter-spacing:-.055em;
  font-weight:500;
  color:var(--cp-ink)
}
#gs-portfolio .cp-section h2 em,#gs-portfolio .cp-help h2 em {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:500;
  font-size:1.16em;
  font-style:italic;
  letter-spacing:-.04em;
  color:#50704a
}
#gs-portfolio .cp-section-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:55px;
  margin-bottom:46px
}
#gs-portfolio .cp-section-head>p {
  font-size:13px;
  line-height:1.9;
  color:var(--cp-soft);
  padding-bottom:5px;
  max-width:330px
}
#gs-portfolio .cp-button {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  background:#173e28;
  color:#f7f3e8;
  border:1px solid #173e28;
  border-radius:4px;
  font-size:11px;
  font-weight:600;
  padding:15px 19px;
  min-height:49px;
  transition:background .2s,transform .2s
}
#gs-portfolio .cp-button:hover {
  background:#244d33;
  transform:translateY(-2px)
}
#gs-portfolio .cp-button>span {
  font-size:18px;
  font-weight:400;
  line-height:1
}
#gs-portfolio .cp-button-outline {
  background:transparent;
  color:#23482d;
  border-color:#8b9b7d80
}
#gs-portfolio .cp-button-outline:hover {
  background:#e6ebdc
}
#gs-portfolio .cp-help {
  background:#eeece2;
  border-bottom:1px solid var(--cp-rule);
  padding:40px 0
}
#gs-portfolio .cp-help>.gs-wrap {
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr 1fr;
  gap:32px;
  align-items:stretch
}
#gs-portfolio .cp-help .cp-label {
  font-size:11px;
  margin-bottom:13px
}
#gs-portfolio .cp-help h2 {
  font-size:25px;
  letter-spacing:-.05em
}
#gs-portfolio .cp-help a {
  padding:0 0 0 25px;
  border-left:1px solid var(--cp-rule);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:12px
}
#gs-portfolio .cp-help-num {
  font:11.5px var(--mono);
  color:#9a9c7d
}
#gs-portfolio .cp-help h3 {
  font-size:13px;
  line-height:1.6;
  letter-spacing:-.025em;
  font-weight:500;
  transition:color .2s
}
#gs-portfolio .cp-help a:hover h3 {
  color:#78905f
}
#gs-portfolio .cp-help a>span:last-child {
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:12px;
  color:#7b896f;
  gap:10px
}
#gs-portfolio .cp-help b {
  font-size:19px;
  font-weight:400;
  color:#536e47
}
#gs-portfolio .cp-services {
  background:#f6f3eb;
  border-top:1px solid var(--cp-rule)
}
#gs-portfolio .cp-offers {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch
}
#gs-portfolio .cp-offer {
  border:1px solid var(--cp-rule);
  border-radius:9px;
  overflow:hidden;
  background:#faf8f1;
  display:flex;
  flex-direction:column;
  scroll-margin-top:110px;
  min-width:0
}
#gs-portfolio .cp-offer-featured {
  border-color:#6c825b80;
  background:#f1f2e6;
  box-shadow:0 15px 35px #203d2007
}
#gs-portfolio .cp-offer-art {
  height:235px;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:none;
  background:#e2e7d8;
  border-bottom:1px solid #51654314;
  user-select:none
}
#gs-portfolio .cp-art-audit {
  background:radial-gradient(ellipse at 70% 0,#e5eada,#d4ddc9)
}
#gs-portfolio .cp-paper {
  width:66%;
  height:79%;
  position:absolute;
  left:17%;
  top:13%;
  background:#fbfaf4;
  padding:21px;
  transform:rotate(-7deg);
  box-shadow:0 8px 25px #173b2520;
  border:1px solid #e5e5d3;
  color:#24482d
}
#gs-portfolio .cp-paper-back {
  transform:rotate(7deg) translate(12px,-4px);
  background:#eaf0dc
}
#gs-portfolio .cp-paper>span {
  font:5px var(--mono);
  letter-spacing:.05em;
  color:#8c967a
}
#gs-portfolio .cp-paper>b {
  display:block;
  font-family:var(--display);
  font-size:23px;
  line-height:1.2;
  letter-spacing:-.06em;
  font-weight:500;
  margin-top:13px
}
#gs-portfolio .cp-paper>i {
  display:block;
  width:80%;
  height:2px;
  background:#e0e5d4;
  margin-top:15px
}
#gs-portfolio .cp-paper>i+i {
  width:60%;
  margin-top:5px
}
#gs-portfolio .cp-mini-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid #23442718;
  padding-top:7px;
  margin-top:9px;
  font:10.5px var(--mono);
  gap:7px
}
#gs-portfolio .cp-mini-row>em {
  font-family:var(--body);
  font-style:normal;
  font-size:11px;
  color:#687b52;
  background:#e6edda;
  padding:3px 5px
}
#gs-portfolio .cp-art-caption {
  position:absolute;
  bottom:12px;
  left:0;
  right:0;
  text-align:center;
  font:5px var(--mono);
  letter-spacing:.12em;
  color:#7e8a71
}
#gs-portfolio .cp-art-sprint {
  background:radial-gradient(ellipse at 50% 0,#31533b,#143423);
  perspective:700px
}
#gs-portfolio .cp-browser {
  width:76%;
  height:78%;
  background:#edf0e3;
  border:1px solid #c7d2b959;
  transform:rotate(-5deg) rotateY(-10deg);
  border-radius:4px;
  overflow:hidden;
  box-shadow:0 15px 40px #00190dbb;
  margin-top:5px
}
#gs-portfolio .cp-browser-bar {
  height:19px;
  background:#0d291b;
  display:flex;
  align-items:center;
  gap:3px;
  padding:0 9px
}
#gs-portfolio .cp-browser-bar i {
  width:3px;
  height:3px;
  background:#b5c3a966;
  border-radius:50%
}
#gs-portfolio .cp-browser-content {
  padding:19px;
  color:#22452b;
  position:relative
}
#gs-portfolio .cp-browser-content>span {
  font:5px var(--mono);
  letter-spacing:.05em;
  color:#829273;
  display:block
}
#gs-portfolio .cp-browser-content>b {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:34px;
  font-weight:500;
  line-height:.94;
  letter-spacing:-.04em;
  display:block;
  margin-top:11px
}
#gs-portfolio .cp-browser-cta {
  font:5px var(--mono);
  padding:7px 9px;
  background:#274b30;
  color:#eff0dd;
  width:max-content;
  margin-top:12px
}
#gs-portfolio .cp-browser-grid {
  position:absolute;
  right:20px;
  top:40px;
  display:flex;
  gap:5px;
  align-items:end;
  width:29%;
  height:90px
}
#gs-portfolio .cp-browser-grid i {
  display:block;
  flex:1;
  height:80%;
  background:#bccba7;
  border-radius:30px 30px 2px 2px
}
#gs-portfolio .cp-browser-grid i:nth-child(2) {
  height:100%;
  background:#8fa679
}
#gs-portfolio .cp-browser-grid i:nth-child(3) {
  height:60%;
  background:#d0d8ba
}
#gs-portfolio .cp-art-sprint .cp-art-caption {
  color:#9aaf8f
}
#gs-portfolio .cp-art-advisory {
  background:#e6e2d4
}
#gs-portfolio .cp-plan {
  width:71%;
  padding:20px 24px;
  background:#f5f2e8;
  box-shadow:0 10px 30px #493c2020;
  border:1px solid #fff8;
  transform:rotate(5deg);
  margin-top:-5px
}
#gs-portfolio .cp-plan>span {
  font:5px var(--mono);
  letter-spacing:.08em;
  color:#a3956e
}
#gs-portfolio .cp-plan>b {
  display:block;
  font-family:var(--display);
  font-size:24px;
  font-weight:500;
  line-height:1.15;
  letter-spacing:-.06em;
  margin:12px 0 17px;
  color:#28412a
}
#gs-portfolio .cp-plan>div {
  border-top:1px solid #29462c1a;
  padding:8px 0;
  display:flex;
  gap:10px;
  align-items:center;
  color:#5d7052;
  font-size:7px
}
#gs-portfolio .cp-plan>div i {
  font:5px var(--mono);
  color:#aca078
}
#gs-portfolio .cp-plan>div em {
  margin-left:auto;
  font-style:normal;
  font-size:11px
}
#gs-portfolio .cp-offer-body {
  padding:29px;
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:stretch
}
#gs-portfolio .cp-offer-type {
  font:11.5px var(--mono);
  letter-spacing:.12em;
  color:#7e8c6f;
  margin-bottom:17px
}
#gs-portfolio .cp-offer h3 {
  font-size:28px;
  font-weight:500;
  line-height:1.14;
  letter-spacing:-.055em;
  color:#24462c
}
#gs-portfolio .cp-offer-body>p {
  font-size:12px;
  line-height:1.9;
  color:#6e7a64;
  margin-top:17px;
  min-height:70px
}
#gs-portfolio .cp-best {
  border-block:1px solid var(--cp-rule);
  padding:17px 0;
  margin-top:22px;
  min-height:100px
}
#gs-portfolio .cp-best b {
  font:11px var(--mono);
  letter-spacing:.1em;
  color:#a19367;
  display:block;
  margin-bottom:8px
}
#gs-portfolio .cp-best>span {
  font-size:11px;
  line-height:1.8;
  color:#586d4f;
  display:block
}
#gs-portfolio .cp-offer ul {
  list-style:none;
  display:grid;
  gap:11px;
  margin:23px 0 28px;
  padding:0;
  flex:1
}
#gs-portfolio .cp-offer li {
  font-size:10px;
  line-height:1.6;
  display:flex;
  gap:8px;
  color:#576b4e
}
#gs-portfolio .cp-offer li:before {
  content:'✓';
  color:#8a9e6d;
  flex:none
}
#gs-portfolio .cp-proof-link {
  font-size:12px;
  margin-top:16px;
  text-align:center;
  color:#7a896a;
  line-height:1.7
}
#gs-portfolio .cp-proof-link:hover {
  color:#244c2f
}
#gs-portfolio .cp-scope-note {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  padding-top:23px;
  margin-top:30px;
  border-top:1px solid var(--cp-rule)
}
#gs-portfolio .cp-scope-note>span {
  font:11.5px/1.9 var(--mono);
  letter-spacing:.08em;
  color:#7d8b6d;
  flex:none
}
#gs-portfolio .cp-scope-note p {
  font-size:10px;
  line-height:1.9;
  color:#8a927c;
  max-width:570px
}
#gs-portfolio .cp-process {
  background:#e9ecdf;
  border-block:1px solid #25422a16
}
#gs-portfolio .cp-process-steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:50px;
  list-style:none;
  padding:0;
  margin:0;
  counter-reset:none
}
#gs-portfolio .cp-process-steps li {
  border-top:1px solid #46613b40;
  padding-top:22px;
  display:flex;
  flex-direction:column
}
#gs-portfolio .cp-process-steps li>span {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:44px;
  color:#95a07b;
  line-height:1;
  margin-bottom:29px
}
#gs-portfolio .cp-process-steps h3 {
  font-size:20px;
  line-height:1.4;
  font-weight:500;
  letter-spacing:-.04em;
  color:#2b4d30;
  max-width:16ch;
  margin-bottom:14px
}
#gs-portfolio .cp-process-steps p {
  font-size:12px;
  line-height:1.9;
  color:#738067;
  flex:1;
  max-width:34ch
}
#gs-portfolio .cp-process-steps small {
  font:11px/1.9 var(--mono);
  letter-spacing:.07em;
  color:#8b9678;
  display:block;
  margin-top:27px
}
#gs-portfolio .cp-about {
  background:#f7f4ed
}
#gs-portfolio .cp-about-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:11%;
  align-items:start
}
#gs-portfolio .cp-about h2 {
  font-size:clamp(35px,3.7vw,54px)
}
#gs-portfolio .cp-about h2 em {
  line-height:1.05;
  display:block;
  margin-top:7px;
  max-width:15ch
}
#gs-portfolio .cp-signature {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-size:67px;
  color:#4c7149;
  margin-top:48px;
  line-height:1
}
#gs-portfolio .cp-signature>span {
  font:11px/1.9 var(--mono);
  letter-spacing:.09em;
  display:block;
  color:#8b947c;
  margin-top:14px;
  max-width:270px
}
#gs-portfolio .cp-about-copy>p {
  font-size:13px;
  line-height:1.95;
  color:#718069;
  margin-bottom:20px
}
#gs-portfolio .cp-about-copy>p.cp-about-lead {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:29px;
  line-height:1.35;
  letter-spacing:-.02em;
  color:#3e603e;
  margin-top:-5px;
  margin-bottom:23px
}
#gs-portfolio .cp-credentials {
  display:flex;
  gap:48px;
  padding:23px 0 26px;
  border-block:1px solid var(--cp-rule);
  margin-top:30px
}
#gs-portfolio .cp-credentials strong {
  font-family:var(--display);
  font-size:43px;
  line-height:1.2;
  letter-spacing:-.06em;
  font-weight:500;
  color:#365e37;
  display:block
}
#gs-portfolio .cp-credentials span {
  font:11px/1.8 var(--mono);
  letter-spacing:.05em;
  color:#8a967a;
  display:block;
  margin-top:7px
}
#gs-portfolio .cp-about-copy>p.cp-fit-note {
  font-size:10px;
  margin:18px 0 0;
  color:#8a957d;
  max-width:47ch
}
#gs-portfolio .cp-faq {
  background:#f0eee5;
  border-top:1px solid var(--cp-rule)
}
#gs-portfolio .cp-faq-grid {
  display:grid;
  grid-template-columns:.8fr 1fr;
  gap:12%;
  align-items:start
}
#gs-portfolio .cp-faq-grid>div>p {
  font-size:12px;
  line-height:1.9;
  color:#7a866d;
  margin-top:24px
}
#gs-portfolio .cp-text-button {
  font-size:10px;
  color:#41623c;
  padding:0 0 5px;
  border-bottom:1px solid #7e956180;
  margin-top:26px;
  text-align:left;
  line-height:1.8
}
#gs-portfolio .cp-questions {
  border-top:1px solid #324e2b38
}
#gs-portfolio .cp-questions details {
  border-bottom:1px solid #324e2b2b;
  padding:0
}
#gs-portfolio .cp-questions summary {
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:24px 0;
  cursor:pointer;
  font-size:12px;
  font-weight:500;
  color:#365532;
  line-height:1.6
}
#gs-portfolio .cp-questions summary::-webkit-details-marker {
  display:none
}
#gs-portfolio .cp-questions summary>span {
  font-size:21px;
  font-weight:400;
  color:#8c9b75;
  line-height:1;
  transition:transform .2s;
  flex:none
}
#gs-portfolio .cp-questions details[open] summary>span {
  transform:rotate(45deg)
}
#gs-portfolio .cp-questions details p {
  font-size:12px;
  line-height:1.9;
  color:#7e896f;
  padding:0 23px 25px 0;
  max-width:60ch
}
#gs-portfolio .cp-contact {
  background:radial-gradient(ellipse at 0 0,#244a3199,transparent 75%),#0a2418;
  color:#f4f0df;
  padding-bottom:28px
}
#gs-portfolio .cp-contact-inner {
  display:grid;
  grid-template-columns:1.45fr .65fr;
  gap:12%;
  align-items:center
}
#gs-portfolio .cp-contact .cp-label {
  color:#a8ba8b
}
#gs-portfolio .cp-contact h2 {
  color:#eff0de;
  font-size:clamp(36px,4.4vw,65px);
  max-width:17ch;
  line-height:1.1
}
#gs-portfolio .cp-contact h2 em {
  color:#d7c48a
}
#gs-portfolio .cp-contact-inner>div>p {
  font-size:13px;
  line-height:1.9;
  color:#a0b493;
  margin-top:26px
}
#gs-portfolio .cp-button-gold {
  background:#d7c48a;
  border-color:#d7c48a;
  color:#163822;
  margin-top:30px;
  width:max-content;
  min-width:230px
}
#gs-portfolio .cp-button-gold:hover {
  background:#e8d69c
}
#gs-portfolio .cp-contact-note {
  font-size:12px;
  line-height:1.9;
  color:#738e68;
  display:block;
  margin-top:14px;
  max-width:320px
}
#gs-portfolio .cp-contact-aside {
  border-left:1px solid #acc79830;
  padding:14px 0 14px 35px
}
#gs-portfolio .cp-contact-aside>span {
  font:11.5px var(--mono);
  letter-spacing:.12em;
  color:#a9b88e
}
#gs-portfolio .cp-contact-aside ul {
  list-style:none;
  display:grid;
  gap:18px;
  padding:25px 0 0;
  margin:0;
  color:#bac7a8;
  font-size:11px;
  line-height:1.7
}
#gs-portfolio .cp-contact-aside li {
  display:flex;
  gap:10px
}
#gs-portfolio .cp-contact-aside li:before {
  content:'↗';
  color:#9b9464
}
#gs-portfolio .cp-contact-aside>p {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:27px!important;
  line-height:1.2!important;
  color:#859c73!important;
  margin-top:32px!important
}
#gs-portfolio .cp-footer {
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
  border-top:1px solid #a9bc8e24;
  margin-top:85px;
  padding-top:30px
}
#gs-portfolio .cp-footer-brand {
  font-family:var(--display);
  font-size:24px;
  color:#dbe3cc;
  letter-spacing:-.06em
}
#gs-portfolio .cp-footer-brand>span {
  font:10.5px/1.8 var(--mono);
  letter-spacing:.12em;
  display:block;
  color:#7e936d;
  margin-top:8px
}
#gs-portfolio .cp-footer nav {
  display:flex;
  gap:25px;
  font-size:13px;
  color:#9db08c
}
#gs-portfolio .cp-footer nav a:hover {
  color:#d7c48a
}
#gs-portfolio .cp-footer>div {
  display:flex;
  gap:18px;
  flex-direction:column;
  text-align:right;
  font:11px var(--mono);
  letter-spacing:.07em;
  color:#7b926a
}
#gs-portfolio .cp-footer>div a {
  color:#abb98e
}
#ev-brief input[type=url] {
  display:block;
  width:100%;
  margin-top:10px;
  background:#eeeee2;
  color:#173a24;
  border:1px solid #bfcbb8;
  border-radius:4px;
  padding:12px;
  font:13px 'Open Sans',sans-serif;
  box-sizing:border-box
}
#ev-brief .cp-optional {
  font-size:10px;
  color:#8b967d;
  margin-left:6px
}
#ev-brief .cp-download {
  background:transparent;
  color:#2e5434;
  border:1px solid #8c9e7e;
  margin-left:8px
}
#ev-brief #ev-brief-result {
  border-top:1px solid #38562e25;
  padding-top:20px;
  margin-top:25px
}
#ev-brief input:focus-visible,#ev-brief textarea:focus-visible,#ev-brief select:focus-visible {
  outline:2px solid #708b58;
  outline-offset:3px
}
@media(max-width:1150px) {
  #gs-portfolio .cp-offer-body {
    padding:23px
  }
  #gs-portfolio .cp-offers {
    gap:16px
  }
  #gs-portfolio .cp-offer h3 {
    font-size:25px
  }
  #gs-portfolio .cp-offer-body>p {
    font-size:11px
  }
  #gs-portfolio .cp-offer li {
    font-size:13px
  }
  #gs-portfolio .cp-offer-art {
    height:200px
  }
  #gs-portfolio .cp-paper {
    padding:15px
  }
  #gs-portfolio .cp-paper>b {
    font-size:20px
  }
  #gs-portfolio .cp-mini-row {
    font-size:10.5px
  }
  #gs-portfolio .cp-mini-row>em {
    font-size:10.5px
  }
  #gs-portfolio .cp-browser-content {
    padding:15px
  }
  #gs-portfolio .cp-browser-content>b {
    font-size:27px
  }
  #gs-portfolio .cp-browser-content>span {
    font-size:4px
  }
  #gs-portfolio .cp-browser-grid {
    right:12px;
    width:25%;
    height:65px
  }
  #gs-portfolio .cp-plan {
    padding:16px
  }
  #gs-portfolio .cp-plan>b {
    font-size:20px
  }
  #gs-portfolio .cp-plan>div {
    padding:6px 0
  }
  #gs-portfolio .cp-button {
    font-size:10px;
    padding:14px
  }
  #gs-portfolio .cp-help>.gs-wrap {
    gap:22px
  }
  #gs-portfolio .cp-help h3 {
    font-size:11px
  }
  #gs-portfolio .cp-help a {
    padding-left:18px
  }
  #gs-portfolio .cp-help h2 {
    font-size:22px
  }
  #gs-portfolio .cp-process-steps {
    gap:30px
  }
}
@media(max-width:900px) {
  #gs-portfolio .cp-section {
    padding:75px 0
  }
  #gs-portfolio .cp-offers {
    grid-template-columns:1fr;
    gap:22px
  }
  #gs-portfolio .cp-offer {
    display:grid;
    grid-template-columns:.75fr 1fr;
    align-items:stretch
  }
  #gs-portfolio .cp-offer-art {
    height:100%;
    min-height:330px;
    border-bottom:0;
    border-right:1px solid var(--cp-rule)
  }
  #gs-portfolio .cp-offer-body {
    padding:30px
  }
  #gs-portfolio .cp-offer h3 br {
    display:none
  }
  #gs-portfolio .cp-offer h3 {
    font-size:26px;
    line-height:1.25
  }
  #gs-portfolio .cp-offer-body>p {
    font-size:12px;
    min-height:0
  }
  #gs-portfolio .cp-best {
    min-height:0
  }
  #gs-portfolio .cp-offer li {
    font-size:10px
  }
  #gs-portfolio .cp-paper {
    height:190px;
    top:calc(50% - 105px);
    width:80%;
    left:10%;
    padding:20px
  }
  #gs-portfolio .cp-paper>b {
    font-size:25px
  }
  #gs-portfolio .cp-paper>span {
    font-size:5px
  }
  #gs-portfolio .cp-mini-row {
    font-size:10.5px
  }
  #gs-portfolio .cp-mini-row>em {
    font-size:11px
  }
  #gs-portfolio .cp-browser {
    height:210px;
    width:90%
  }
  #gs-portfolio .cp-browser-content {
    padding:20px
  }
  #gs-portfolio .cp-browser-content>b {
    font-size:35px
  }
  #gs-portfolio .cp-browser-content>span {
    font-size:5px
  }
  #gs-portfolio .cp-plan {
    width:86%;
    padding:22px
  }
  #gs-portfolio .cp-plan>b {
    font-size:28px
  }
  #gs-portfolio .cp-plan>div {
    font-size:9px;
    padding:10px 0
  }
  #gs-portfolio .cp-plan>span {
    font-size:5px
  }
  #gs-portfolio .cp-art-caption {
    font-size:5px;
    bottom:20px
  }
  #gs-portfolio .cp-offer .cp-button {
    font-size:11px
  }
  #gs-portfolio .cp-help>.gs-wrap {
    grid-template-columns:1fr 1fr 1fr;
    gap:22px
  }
  #gs-portfolio .cp-help-intro {
    grid-column:1/-1;
    display:flex;
    justify-content:space-between;
    align-items:start;
    gap:30px
  }
  #gs-portfolio .cp-help h2 {
    font-size:26px
  }
  #gs-portfolio .cp-help .cp-label {
    font-size:11px;
    max-width:110px;
    line-height:1.9
  }
  #gs-portfolio .cp-help h3 {
    font-size:12px
  }
  #gs-portfolio .cp-help a:first-of-type {
    padding-left:0;
    border-left:0
  }
  #gs-portfolio .cp-help a>span:last-child {
    font-size:11.5px
  }
  #gs-portfolio .cp-section-head {
    gap:30px
  }
  #gs-portfolio .cp-section-head>p {
    font-size:11px
  }
  #gs-portfolio .cp-process-steps h3 {
    font-size:17px
  }
  #gs-portfolio .cp-process-steps p {
    font-size:11px
  }
  #gs-portfolio .cp-faq-grid {
    grid-template-columns:.7fr 1fr;
    gap:7%
  }
  #gs-portfolio .cp-faq h2 {
    font-size:34px
  }
  #gs-portfolio .cp-questions summary {
    font-size:11px
  }
  #gs-portfolio .cp-questions details p {
    font-size:11px
  }
  #gs-portfolio .cp-about-grid {
    gap:7%
  }
  #gs-portfolio .cp-about h2 {
    font-size:33px
  }
  #gs-portfolio .cp-about-copy>p {
    font-size:12px
  }
  #gs-portfolio .cp-about-copy>p.cp-about-lead {
    font-size:25px
  }
  #gs-portfolio .cp-credentials {
    gap:30px
  }
  #gs-portfolio .cp-contact-inner {
    gap:7%;
    grid-template-columns:1.3fr .7fr
  }
  #gs-portfolio .cp-contact h2 {
    font-size:40px
  }
  #gs-portfolio .cp-contact-aside {
    padding-left:22px
  }
  #gs-portfolio .cp-contact-aside li {
    font-size:10px
  }
  #gs-portfolio .cp-footer nav {
    gap:15px;
    font-size:12px
  }
}
@media(max-width:600px) {
  #gs-portfolio .cp-section {
    padding:65px 0
  }
  #gs-portfolio .cp-label {
    font-size:11.5px;
    margin-bottom:18px
  }
  #gs-portfolio .cp-section h2 {
    font-size:36px;
    line-height:1.1
  }
  #gs-portfolio .cp-section-head {
    display:block;
    margin-bottom:32px
  }
  #gs-portfolio .cp-section-head>p {
    font-size:12px;
    margin-top:23px;
    max-width:34ch
  }
  #gs-portfolio .cp-help {
    padding:32px 0 15px
  }
  #gs-portfolio .cp-help>.gs-wrap {
    display:block
  }
  #gs-portfolio .cp-help-intro {
    display:block;
    margin-bottom:25px
  }
  #gs-portfolio .cp-help .cp-label {
    max-width:none;
    margin-bottom:14px
  }
  #gs-portfolio .cp-help h2 {
    font-size:29px
  }
  #gs-portfolio .cp-help h2 br {
    display:none
  }
  #gs-portfolio .cp-help a {
    display:grid;
    grid-template-columns:22px 1fr;
    gap:8px 15px;
    justify-content:start;
    border-left:0!important;
    border-top:1px solid var(--cp-rule);
    padding:20px 0!important
  }
  #gs-portfolio .cp-help-num {
    grid-row:span 2;
    padding-top:4px
  }
  #gs-portfolio .cp-help h3 {
    font-size:14px;
    line-height:1.5
  }
  #gs-portfolio .cp-help h3 br {
    display:none
  }
  #gs-portfolio .cp-help a>span:last-child {
    font-size:13px;
    grid-column:2
  }
  #gs-portfolio .cp-help b {
    font-size:18px;
    position:relative;
    top:-12px
  }
  #gs-portfolio .cp-offer {
    display:flex
  }
  #gs-portfolio .cp-offer-art {
    height:190px;
    min-height:0;
    border-right:0;
    border-bottom:1px solid var(--cp-rule)
  }
  #gs-portfolio .cp-paper {
    top:18px;
    height:170px;
    width:60%;
    left:20%;
    padding:16px
  }
  #gs-portfolio .cp-paper>b {
    font-size:22px;
    margin-top:9px
  }
  #gs-portfolio .cp-paper>i {
    margin-top:10px
  }
  #gs-portfolio .cp-mini-row {
    padding-top:5px;
    margin-top:6px
  }
  #gs-portfolio .cp-art-caption {
    bottom:8px;
    font-size:4px
  }
  #gs-portfolio .cp-browser {
    height:160px;
    width:65%;
    margin-top:8px
  }
  #gs-portfolio .cp-browser-content {
    padding:15px
  }
  #gs-portfolio .cp-browser-content>b {
    font-size:28px;
    margin-top:8px
  }
  #gs-portfolio .cp-browser-content>span {
    font-size:4px
  }
  #gs-portfolio .cp-browser-cta {
    margin-top:9px;
    font-size:4px
  }
  #gs-portfolio .cp-browser-grid {
    height:65px;
    top:32px
  }
  #gs-portfolio .cp-plan {
    width:60%;
    padding:14px 20px;
    margin-top:0
  }
  #gs-portfolio .cp-plan>b {
    font-size:22px;
    margin:8px 0 10px
  }
  #gs-portfolio .cp-plan>div {
    padding:5px 0;
    font-size:7px
  }
  #gs-portfolio .cp-plan>span {
    font-size:4px
  }
  #gs-portfolio .cp-offer-body {
    padding:25px
  }
  #gs-portfolio .cp-offer-type {
    font-size:11.5px;
    margin-bottom:14px
  }
  #gs-portfolio .cp-offer h3 {
    font-size:28px;
    max-width:17ch
  }
  #gs-portfolio .cp-offer-body>p {
    font-size:12px;
    line-height:1.85
  }
  #gs-portfolio .cp-best {
    margin-top:20px;
    padding:15px 0
  }
  #gs-portfolio .cp-best b {
    font-size:11px
  }
  #gs-portfolio .cp-best>span {
    font-size:11px
  }
  #gs-portfolio .cp-offer ul {
    margin:20px 0 25px;
    gap:9px
  }
  #gs-portfolio .cp-offer li {
    font-size:11px
  }
  #gs-portfolio .cp-offer .cp-button {
    font-size:11px;
    padding:14px 17px
  }
  #gs-portfolio .cp-proof-link {
    font-size:13px
  }
  #gs-portfolio .cp-scope-note {
    display:block;
    margin-top:25px;
    padding-top:20px
  }
  #gs-portfolio .cp-scope-note>span {
    font-size:11px
  }
  #gs-portfolio .cp-scope-note p {
    font-size:10px;
    line-height:1.9;
    margin-top:10px
  }
  #gs-portfolio .cp-process-steps {
    grid-template-columns:1fr;
    gap:30px
  }
  #gs-portfolio .cp-process-steps li {
    display:grid;
    grid-template-columns:37px 1fr;
    gap:0 18px;
    padding-top:24px
  }
  #gs-portfolio .cp-process-steps li>span {
    font-size:31px;
    grid-row:span 3;
    margin:0
  }
  #gs-portfolio .cp-process-steps h3 {
    font-size:19px;
    max-width:21ch;
    margin-bottom:12px
  }
  #gs-portfolio .cp-process-steps p {
    font-size:12px;
    max-width:40ch
  }
  #gs-portfolio .cp-process-steps small {
    grid-column:2;
    margin-top:19px;
    font-size:11px
  }
  #gs-portfolio .cp-about-grid {
    grid-template-columns:1fr;
    gap:35px
  }
  #gs-portfolio .cp-about h2 {
    font-size:37px
  }
  #gs-portfolio .cp-about h2 em {
    max-width:18ch
  }
  #gs-portfolio .cp-signature {
    font-size:50px;
    margin-top:28px
  }
  #gs-portfolio .cp-signature>span {
    max-width:260px;
    font-size:10.5px;
    margin-top:11px
  }
  #gs-portfolio .cp-about-copy>p {
    font-size:12px
  }
  #gs-portfolio .cp-about-copy>p.cp-about-lead {
    font-size:28px;
    max-width:24ch
  }
  #gs-portfolio .cp-credentials {
    gap:45px;
    margin-top:26px
  }
  #gs-portfolio .cp-credentials strong {
    font-size:40px
  }
  #gs-portfolio .cp-credentials span {
    font-size:11px
  }
  #gs-portfolio .cp-faq-grid {
    grid-template-columns:1fr;
    gap:35px
  }
  #gs-portfolio .cp-faq-grid>div>p {
    font-size:12px;
    margin-top:20px
  }
  #gs-portfolio .cp-text-button {
    font-size:11px;
    margin-top:20px
  }
  #gs-portfolio .cp-questions summary {
    font-size:12px;
    padding:22px 0
  }
  #gs-portfolio .cp-questions details p {
    font-size:12px;
    padding-bottom:22px
  }
  #gs-portfolio .cp-contact-inner {
    grid-template-columns:1fr;
    gap:35px
  }
  #gs-portfolio .cp-contact h2 {
    font-size:37px;
    max-width:16ch
  }
  #gs-portfolio .cp-contact-inner>div>p {
    font-size:12px;
    margin-top:22px
  }
  #gs-portfolio .cp-button-gold {
    font-size:11px;
    padding:16px 20px;
    margin-top:26px
  }
  #gs-portfolio .cp-contact-note {
    font-size:12px;
    max-width:275px
  }
  #gs-portfolio .cp-contact-aside {
    border-left:0;
    border-top:1px solid #acc79830;
    padding:25px 0 0
  }
  #gs-portfolio .cp-contact-aside ul {
    gap:12px;
    padding-top:20px
  }
  #gs-portfolio .cp-contact-aside li {
    font-size:11px
  }
  #gs-portfolio .cp-contact-aside>p {
    font-size:25px!important;
    margin-top:23px!important
  }
  #gs-portfolio .cp-footer {
    flex-wrap:wrap;
    gap:25px;
    margin-top:45px;
    padding-top:25px
  }
  #gs-portfolio .cp-footer-brand {
    font-size:24px
  }
  #gs-portfolio .cp-footer nav {
    width:100%;
    order:3;
    justify-content:space-between;
    font-size:13px;
    gap:15px;
    border-top:1px solid #a9bc8e18;
    padding-top:22px
  }
  #gs-portfolio .cp-footer>div {
    font-size:10.5px;
    gap:13px
  }
  #gs-portfolio .cp-footer-brand>span {
    font-size:10.5px;
    max-width:135px;
    line-height:1.9
  }
  #ev-brief .cp-download {
    margin-left:0;
    display:block
  }
  #ev-brief h2 {
    font-size:32px
  }
}
@media(prefers-reduced-motion:reduce) {
  #gs-portfolio .cp-button,#gs-portfolio .cp-questions summary>span {
    transition:none
  }
}
/* Outcome-led consultancy and a scroll-directed case-study film. */
#gs-portfolio .nx-hero-title {
  font-size:clamp(58px,6.25vw,94px);
  letter-spacing:-.065em;
  line-height:1.02;
  max-width:none
}
#gs-portfolio .nx-hero-title em {
  font-size:1.1em;
  letter-spacing:-.05em
}
#gs-portfolio .gs-hero__sub {
  max-width:43ch;
  font-size:14px;
  line-height:1.9
}
#gs-portfolio .gs-hero__actions {
  gap:20px
}
#gs-portfolio .gs-hero__actions .gs-btn {
  font-size:11px;
  padding:17px 20px
}
#gs-portfolio .nx-hero-art {
  position:relative;
  min-width:0;
  padding:20px 0 65px;
  perspective:1100px
}
#gs-portfolio .nx-art-meta {
  display:flex;
  justify-content:space-between;
  gap:15px;
  color:#a2b492;
  font:11px/1.8 var(--mono);
  letter-spacing:.09em;
  margin:0 0 22px 5px
}
#gs-portfolio .nx-art-meta>span:last-child {
  font-size:10.5px;
  color:#728c68
}
#gs-portfolio .nx-journey-board {
  position:relative;
  background:linear-gradient(140deg,#234831,#0d2a1b);
  border:1px solid #b5ca9e42;
  border-radius:9px;
  box-shadow:0 35px 75px #061b115c;
  padding:30px 29px 18px;
  transform:rotate(-4deg) rotateY(-8deg);
  transform-style:preserve-3d;
  will-change:transform;
  overflow:hidden;
  transition:transform .7s cubic-bezier(.2,.8,.2,1)
}
#gs-portfolio .nx-journey-board:before {
  content:'';
  position:absolute;
  inset:0;
  background-image:linear-gradient(#d5dfb609 1px,transparent 1px),linear-gradient(90deg,#d5dfb609 1px,transparent 1px);
  background-size:35px 35px;
  mask-image:linear-gradient(0deg,#000,transparent 90%);
  pointer-events:none
}
#gs-portfolio .nx-board-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
  z-index:1;
  font:6px var(--mono);
  letter-spacing:.14em;
  color:#90a77c
}
#gs-portfolio .nx-board-top i {
  width:5px;
  height:5px;
  background:#d7c48a;
  border-radius:50%;
  box-shadow:0 0 15px #d7c48a60
}
#gs-portfolio .nx-journey-board h2 {
  font-family:var(--display);
  font-size:clamp(27px,3vw,45px);
  font-weight:500;
  line-height:1.1;
  letter-spacing:-.055em;
  color:#e3ead4;
  margin-top:29px;
  position:relative;
  z-index:1
}
#gs-portfolio .nx-journey-board h2 em {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-size:1.18em;
  color:#d7c48a;
  letter-spacing:-.03em
}
#gs-portfolio .nx-journey-path {
  width:100%;
  height:auto;
  margin:3px 0 0;
  overflow:visible
}
#gs-portfolio .nx-route-shadow {
  fill:none;
  stroke:#aec59012;
  stroke-width:25
}
#gs-portfolio .nx-route-main {
  fill:none;
  stroke:url(#nx-route);
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-dasharray:900;
  stroke-dashoffset:900;
  transition:stroke-dashoffset 1.8s cubic-bezier(.2,.8,.2,1) .5s
}
#gs-portfolio.gs-loaded .nx-route-main {
  stroke-dashoffset:0
}
#gs-portfolio .nx-route-node circle {
  fill:#163f27;
  stroke:#d6c68f;
  stroke-width:1.5
}
#gs-portfolio .nx-route-label {
  font:7px var(--mono);
  letter-spacing:1px;
  fill:#a3b88a
}
#gs-portfolio .nx-board-legend {
  display:flex;
  justify-content:space-between;
  gap:12px;
  border-top:1px solid #b4ca9724;
  padding-top:14px;
  position:relative;
  z-index:1
}
#gs-portfolio .nx-board-legend>span {
  display:flex;
  align-items:center;
  gap:5px;
  font:5px var(--mono);
  letter-spacing:.08em;
  color:#8ca278
}
#gs-portfolio .nx-board-legend i {
  width:3px;
  height:3px;
  background:#d7c48a;
  border-radius:50%
}
#gs-portfolio .nx-hero-note {
  position:absolute;
  bottom:5px;
  right:-5%;
  width:83%;
  background:#efece0;
  padding:22px 20px;
  border:1px solid #fffa;
  box-shadow:0 20px 45px #00190c40;
  border-radius:6px;
  display:flex;
  align-items:start;
  gap:15px;
  transform:rotate(4deg)
}
#gs-portfolio .nx-note-number {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:29px;
  line-height:1;
  color:#a09362
}
#gs-portfolio .nx-hero-note b {
  font-family:var(--display);
  font-size:13px;
  font-weight:500;
  line-height:1.55;
  letter-spacing:-.03em;
  color:#315437;
  display:block
}
#gs-portfolio .nx-hero-note div>span {
  font:10.5px var(--mono);
  letter-spacing:.13em;
  color:#8d9778;
  display:block;
  margin-top:10px
}
#gs-portfolio .nx-note-arrow {
  margin-left:auto;
  color:#6a8056;
  font-size:23px;
  line-height:1
}
#gs-portfolio .nx-art-foot {
  display:flex;
  align-items:center;
  gap:20px;
  justify-content:space-between;
  font:6px var(--mono);
  letter-spacing:.04em;
  color:#92a77e;
  position:absolute;
  bottom:-43px;
  left:3%;
  right:0
}
#gs-portfolio .nx-art-foot>a {
  font-size:23px;
  color:#d7c48a
}
#gs-portfolio .nx-spotlight {
  background:#071c13;
  color:#f5f1e5;
  position:relative;
  --story-progress:0;
  --camera-x:0;
  --camera-y:0;
  --story-reveal:1
}
#gs-portfolio .nx-spot-intro {
  padding-top:83px;
  padding-bottom:54px;
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:45px
}
#gs-portfolio .nx-eyebrow {
  font:12px/1.9 var(--mono);
  letter-spacing:.14em;
  color:#a1b68b;
  display:block;
  margin-bottom:22px
}
#gs-portfolio .nx-spot-intro h2 {
  font-family:var(--display);
  font-size:clamp(40px,5.1vw,77px);
  line-height:1.03;
  font-weight:500;
  letter-spacing:-.055em
}
#gs-portfolio .nx-spot-intro h2 em,#gs-portfolio .nx-playground h3 em {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-weight:500;
  letter-spacing:-.03em;
  color:#d3c18a;
  font-size:1.14em
}
#gs-portfolio .nx-spot-intro>p {
  font-size:12px;
  line-height:1.9;
  color:#9bb18c;
  max-width:310px;
  padding-bottom:7px
}
#gs-portfolio .nx-story {
  height:285svh;
  position:relative
}
#gs-portfolio .nx-story-sticky {
  position:sticky;
  top:78px;
  height:calc(100svh - 78px);
  min-height:650px;
  max-height:1100px;
  isolation:isolate;
  overflow:hidden;
  background:#0c2619;
  border-block:1px solid #b2ca9627
}
#gs-portfolio .nx-story-backdrop {
  position:absolute;
  inset:-4%;
  z-index:-3;
  overflow:hidden
}
#gs-portfolio .nx-story-backdrop img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:65% 50%;
  transform:translate3d(calc(var(--camera-x)*1px),calc(var(--camera-y)*1px),0) scale(calc(1.11 - var(--story-progress)*.07));
  filter:saturate(.7) brightness(.82);
  will-change:transform
}
#gs-portfolio .nx-story-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#02160ff5 0%,#071e15dc 29%,#06201666 66%,#041a1330 100%),linear-gradient(0deg,#051d15f2,transparent 50%,#071c1470);
  z-index:1
}
#gs-portfolio .nx-story-grid {
  position:absolute;
  inset:0;
  background-image:linear-gradient(#e5e3bc09 1px,transparent 1px),linear-gradient(90deg,#e5e3bc09 1px,transparent 1px);
  background-size:90px 90px;
  mask-image:radial-gradient(ellipse at 70% 50%,#000,transparent 70%);
  z-index:-1;
  pointer-events:none
}
#gs-portfolio .nx-story-orbits {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:-1;
  pointer-events:none;
  overflow:visible
}
#gs-portfolio .nx-story-orbits ellipse {
  fill:none;
  stroke:#c6c48727;
  stroke-width:.7;
  transform-origin:70% 50%
}
#gs-portfolio .nx-story-orbits ellipse:first-child {
  stroke-dasharray:2 9
}
#gs-portfolio .nx-draw-route {
  fill:none;
  stroke:#d5c183;
  stroke-width:1;
  stroke-dasharray:1;
  stroke-dashoffset:calc(1 - var(--story-progress));
  opacity:.65
}
#gs-portfolio .nx-orbit-marker {
  fill:#e3ce87;
  filter:drop-shadow(0 0 12px #e3ce87)
}
#gs-portfolio .nx-story-top {
  display:flex;
  justify-content:space-between;
  gap:25px;
  position:absolute;
  top:30px;
  left:var(--gut);
  right:var(--gut);
  font:11.5px/1.8 var(--mono);
  letter-spacing:.14em;
  color:#c1c7a5
}
#gs-portfolio .nx-story-counter {
  font-size:13px;
  color:#e0ce99;
  white-space:nowrap
}
#gs-portfolio .nx-chapters {
  position:absolute;
  inset:16% auto 16% var(--gut);
  width:54%;
  max-width:760px;
  display:grid;
  align-items:center
}
#gs-portfolio .nx-chapter {
  grid-area:1/1;
  opacity:0;
  transform:translateY(23px);
  transition:opacity .65s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);
  pointer-events:none
}
#gs-portfolio .nx-chapter.is-active {
  opacity:1;
  transform:translateY(0);
  pointer-events:auto
}
#gs-portfolio .nx-chapter-kicker {
  font:12px var(--mono);
  letter-spacing:.16em;
  color:#c8bc80;
  display:block;
  margin-bottom:28px
}
#gs-portfolio .nx-chapter h3 {
  font-family:var(--display);
  font-size:clamp(44px,5.25vw,79px);
  line-height:1.06;
  letter-spacing:-.065em;
  font-weight:500;
  max-width:15ch;
  text-wrap:balance
}
#gs-portfolio .nx-chapter h3 em {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:500;
  font-style:italic;
  font-size:1.12em;
  letter-spacing:-.03em;
  color:#d7c48a;
  white-space:normal
}
#gs-portfolio .nx-chapter>p {
  font-size:13px;
  line-height:1.95;
  color:#b0bfa1;
  max-width:42ch;
  margin-top:27px
}
#gs-portfolio .nx-chapter-bottom {
  display:block;
  font:11px/1.9 var(--mono);
  letter-spacing:.1em;
  color:#718f65;
  margin-top:30px
}
#gs-portfolio .nx-story-tags {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:29px;
  font:11.5px var(--mono);
  letter-spacing:.08em;
  color:#bcbe97
}
#gs-portfolio .nx-story-tags i {
  font-size:20px;
  font-style:normal;
  color:#5e8154
}
#gs-portfolio .nx-story-result {
  display:flex;
  align-items:center;
  gap:27px;
  margin-top:28px
}
#gs-portfolio .nx-story-result>strong {
  font-family:var(--display);
  font-size:145px;
  line-height:1;
  letter-spacing:-.09em;
  font-weight:500;
  color:#dcc98d
}
#gs-portfolio .nx-story-result>strong span {
  font-family:'Cormorant Garamond',serif;
  font-size:.65em;
  vertical-align:13%;
  margin-left:6px
}
#gs-portfolio .nx-story-result>div {
  font-size:14px;
  line-height:1.7;
  color:#c6d0b3
}
#gs-portfolio .nx-story-result small {
  display:block;
  font-size:12px;
  line-height:1.9;
  margin-top:13px;
  color:#7c9770;
  max-width:170px
}
#gs-portfolio .nx-story-link {
  display:inline-flex;
  align-items:center;
  gap:25px;
  color:#d7c48a;
  border-bottom:1px solid #bfb67d55;
  padding:10px 0;
  font-size:11px;
  margin-top:24px;
  font-weight:500;
  transition:gap .25s
}
#gs-portfolio .nx-story-link:hover {
  gap:35px
}
#gs-portfolio .nx-story-link>span {
  font-size:22px;
  font-weight:400;
  line-height:1
}
#gs-portfolio .nx-story-brand {
  position:absolute;
  right:7%;
  top:21%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  transform:rotate(-90deg) translateY(-20px);
  transform-origin:center;
  opacity:.75
}
#gs-portfolio .nx-story-brand>span {
  font:11px var(--mono);
  letter-spacing:.3em;
  color:#b6c29a
}
#gs-portfolio .nx-story-brand>strong {
  font-family:var(--display);
  font-size:84px;
  line-height:1;
  letter-spacing:-.07em;
  font-weight:500;
  color:transparent;
  -webkit-text-stroke:1px #d8d4a781
}
#gs-portfolio .nx-story-float {
  position:absolute;
  right:7%;
  bottom:19%;
  padding:23px 27px;
  border:1px solid #c8c49240;
  background:#09281994;
  backdrop-filter:blur(10px);
  transform:rotate(-5deg) translateY(calc((.5 - var(--story-progress))*35px));
  box-shadow:0 25px 45px #00170e40;
  max-width:290px
}
#gs-portfolio .nx-story-float>span {
  font:11px var(--mono);
  letter-spacing:.11em;
  color:#879d71;
  display:block;
  margin-bottom:13px
}
#gs-portfolio .nx-story-float>b {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:27px;
  line-height:1.18;
  letter-spacing:-.02em;
  font-weight:500;
  color:#d4d5b4
}
#gs-portfolio .nx-story-bottom {
  position:absolute;
  bottom:30px;
  left:var(--gut);
  right:var(--gut);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px
}
#gs-portfolio .nx-chapter-controls {
  display:flex;
  gap:10px
}
#gs-portfolio .nx-chapter-controls button {
  display:flex;
  align-items:center;
  gap:12px;
  font:12px var(--mono);
  color:#8fa87d;
  border:1px solid #a8bf8a30;
  padding:12px 14px;
  min-height:40px;
  border-radius:3px;
  transition:background .25s,border-color .25s,color .25s
}
#gs-portfolio .nx-chapter-controls button>span {
  font-family:var(--body);
  font-size:10px
}
#gs-portfolio .nx-chapter-controls button.is-active {
  color:#e3d5a2;
  border-color:#cfbb7a88;
  background:#bfb4720e
}
#gs-portfolio .nx-scroll-cue {
  font:11px var(--mono);
  letter-spacing:.13em;
  color:#9db28a;
  display:flex;
  align-items:center;
  gap:18px
}
#gs-portfolio .nx-scroll-cue>b {
  font-size:21px;
  font-weight:400;
  color:#d7c48a
}
#gs-portfolio .nx-motion-toggle {
  color:#9daf89;
  font:11.5px var(--mono);
  border-bottom:1px solid #738c5a70;
  padding:5px 0;
  min-width:62px;
  text-align:right
}
#gs-portfolio .nx-story-progress {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:2px;
  background:#bcbd7e1a
}
#gs-portfolio .nx-story-progress i {
  display:block;
  width:100%;
  height:100%;
  background:#d7c48a;
  transform-origin:left;
  transform:scaleX(var(--story-progress));
  will-change:transform
}
#gs-portfolio .nx-playground {
  padding-top:85px;
  padding-bottom:90px;
  display:grid;
  grid-template-columns:.85fr 1fr;
  gap:10%;
  align-items:center
}
#gs-portfolio .nx-playground h3 {
  font-family:var(--display);
  font-size:clamp(34px,4vw,57px);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.055em
}
#gs-portfolio .nx-playground-copy>p {
  font-size:13px;
  line-height:1.95;
  color:#9fb393;
  max-width:42ch;
  margin-top:25px
}
#gs-portfolio .nx-lesson {
  border-left:1px solid #bcb47455;
  padding-left:20px;
  margin-top:28px
}
#gs-portfolio .nx-lesson>span {
  font:11px/1.9 var(--mono);
  color:#a9a773;
  letter-spacing:.1em
}
#gs-portfolio .nx-lesson>p {
  font-size:11px;
  line-height:1.9;
  color:#819d74;
  max-width:43ch;
  margin-top:9px
}
#gs-portfolio .nx-playground-demo .gs-hunt__stage {
  border-radius:9px;
  aspect-ratio:1.24;
  box-shadow:0 30px 65px #0004;
  border-color:#c3c38c33
}
#gs-portfolio .nx-playground-demo .gs-hunt__img {
  object-fit:cover;
  height:100%;
  width:100%
}
#gs-portfolio .nx-playground-demo .gs-hunt__bar {
  align-items:start;
  margin-top:19px;
  flex-wrap:nowrap
}
#gs-portfolio .nx-playground-demo .gs-hunt__prompt {
  font-size:10px;
  line-height:1.9;
  color:#819c74;
  flex-basis:auto
}
#gs-portfolio .nx-playground-demo .gs-hunt__clue {
  font-size:13px;
  white-space:nowrap;
  padding:9px 12px;
  border-radius:3px;
  color:#c9bc81;
  border-color:#b5b57866
}
#gs-portfolio .nx-spotlight.motion-off .nx-story-backdrop img {
  transform:none!important;
  will-change:auto
}
#gs-portfolio .nx-spotlight.motion-off .nx-story-float {
  transform:rotate(-5deg)!important
}
#gs-portfolio .nx-spotlight.motion-off .nx-chapter {
  transition:none;
  transform:none
}
#gs-portfolio .nx-spotlight.motion-off .nx-story-progress i {
  will-change:auto
}
@media(min-width:1600px) {
  #gs-portfolio .nx-hero-title {
    font-size:103px
  }
  #gs-portfolio .nx-journey-board {
    padding:40px 35px 20px
  }
  #gs-portfolio .nx-journey-board h2 {
    font-size:47px
  }
}
@media(max-width:1100px) {
  #gs-portfolio .nx-art-meta {
    font-size:10.5px
  }
  #gs-portfolio .nx-art-meta>span:last-child {
    display:none
  }
  #gs-portfolio .nx-journey-board {
    padding:23px 20px 15px
  }
  #gs-portfolio .nx-hero-note {
    right:-3%;
    width:92%;
    padding:17px
  }
  #gs-portfolio .nx-hero-note b {
    font-size:11px
  }
  #gs-portfolio .nx-art-foot {
    font-size:5px
  }
  #gs-portfolio .gs-hero__actions {
    gap:14px
  }
  #gs-portfolio .gs-hero__actions .gs-btn {
    font-size:10px;
    padding:15px 17px
  }
  #gs-portfolio .nx-story-sticky {
    min-height:600px
  }
  #gs-portfolio .nx-chapter h3 {
    font-size:5.6vw
  }
  #gs-portfolio .nx-story-float {
    right:5%;
    padding:20px;
    max-width:230px
  }
  #gs-portfolio .nx-story-float>b {
    font-size:24px
  }
  #gs-portfolio .nx-chapter-controls button {
    gap:7px;
    padding:11px 10px
  }
  #gs-portfolio .nx-chapter-controls button>span {
    font-size:13px
  }
  #gs-portfolio .nx-story-result>strong {
    font-size:115px
  }
  #gs-portfolio .nx-story-result>div {
    font-size:12px
  }
  #gs-portfolio .nx-story-brand {
    right:2%
  }
  #gs-portfolio .nx-playground {
    gap:6%
  }
  #gs-portfolio .nx-playground-demo .gs-hunt__bar {
    flex-wrap:wrap
  }
}
@media(max-width:900px) {
  #gs-portfolio .nx-spot-intro {
    display:block;
    padding-top:65px;
    padding-bottom:35px
  }
  #gs-portfolio .nx-spot-intro>p {
    margin-top:24px;
    font-size:12px
  }
  #gs-portfolio .nx-story {
    height:auto
  }
  #gs-portfolio .nx-story-sticky {
    position:relative;
    top:auto;
    height:700px;
    min-height:0;
    max-height:none
  }
  #gs-portfolio .nx-story-top {
    top:24px;
    font-size:11px
  }
  #gs-portfolio .nx-chapters {
    inset:14% auto 22% var(--gut);
    width:73%;
    max-width:none
  }
  #gs-portfolio .nx-chapter h3 {
    font-size:clamp(41px,6.5vw,65px);
    max-width:16ch;
    line-height:1.08
  }
  #gs-portfolio .nx-chapter>p {
    font-size:12px;
    max-width:40ch;
    line-height:1.9
  }
  #gs-portfolio .nx-chapter-kicker {
    font-size:11.5px;
    margin-bottom:24px
  }
  #gs-portfolio .nx-story-float {
    right:4%;
    bottom:20%;
    max-width:160px;
    opacity:.6;
    padding:15px;
    z-index:-1
  }
  #gs-portfolio .nx-story-float>b {
    font-size:20px
  }
  #gs-portfolio .nx-story-float>span {
    font-size:10.5px
  }
  #gs-portfolio .nx-story-brand {
    top:23%;
    right:0;
    opacity:.5
  }
  #gs-portfolio .nx-story-brand>strong {
    font-size:67px
  }
  #gs-portfolio .nx-story-brand>span {
    font-size:10.5px
  }
  #gs-portfolio .nx-story-shade {
    background:linear-gradient(90deg,#02160ff5 0%,#071e15dd 35%,#06201680 80%),linear-gradient(0deg,#051d15f2,transparent 60%)
  }
  #gs-portfolio .nx-scroll-cue {
    display:none
  }
  #gs-portfolio .nx-story-bottom {
    bottom:27px;
    gap:20px
  }
  #gs-portfolio .nx-chapter-controls {
    gap:8px
  }
  #gs-portfolio .nx-chapter-controls button {
    padding:11px 13px
  }
  #gs-portfolio .nx-chapter-controls button>span {
    font-size:13px
  }
  #gs-portfolio .nx-playground {
    padding-block:65px;
    gap:6%
  }
  #gs-portfolio .nx-playground h3 {
    font-size:37px
  }
  #gs-portfolio .nx-playground-copy>p {
    font-size:12px
  }
  #gs-portfolio .nx-eyebrow {
    font-size:11.5px
  }
  #gs-portfolio .nx-story-result>strong {
    font-size:125px
  }
}
@media(max-width:820px) {
  #gs-portfolio .nx-hero-title {
    font-size:clamp(58px,10.5vw,85px);
    letter-spacing:-.055em;
    max-width:10ch;
    margin:23px 0 0
  }
  #gs-portfolio .nx-hero-title em {
    font-size:1.11em;
    letter-spacing:-.04em
  }
  #gs-portfolio .gs-hero__sub {
    font-size:14px;
    max-width:43ch;
    line-height:1.9;
    margin-top:25px
  }
  #gs-portfolio .gs-hero:before {
    top:57%
  }
  #gs-portfolio .nx-hero-art {
    max-width:520px;
    margin:87px auto 0;
    padding:0 16px 69px
  }
  #gs-portfolio .nx-art-meta {
    font-size:11px;
    margin:0 0 20px
  }
  #gs-portfolio .nx-art-meta>span:last-child {
    display:block;
    font-size:10.5px
  }
  #gs-portfolio .nx-journey-board {
    padding:26px 25px 17px;
    transform:rotate(-3deg)
  }
  #gs-portfolio .nx-journey-board h2 {
    font-size:38px;
    margin-top:23px
  }
  #gs-portfolio .nx-board-top {
    font-size:6px
  }
  #gs-portfolio .nx-journey-path {
    margin-top:-7px
  }
  #gs-portfolio .nx-hero-note {
    width:85%;
    bottom:7px;
    right:0;
    padding:20px
  }
  #gs-portfolio .nx-hero-note b {
    font-size:13px
  }
  #gs-portfolio .nx-art-foot {
    bottom:-35px;
    font-size:5px;
    left:0
  }
  #gs-portfolio .ev-hero-foot>a {
    max-width:185px;
    text-align:right
  }
  #gs-portfolio .gs-hero {
    padding-bottom:125px
  }
  #gs-portfolio .nx-board-legend>span {
    font-size:5px
  }
  #gs-portfolio .nx-note-number {
    font-size:28px
  }
}
@media(max-width:600px) {
  #gs-portfolio .nx-hero-title {
    font-size:clamp(49px,11.9vw,70px);
    max-width:none;
    line-height:1.06
  }
  #gs-portfolio .gs-hero__sub {
    font-size:12px;
    max-width:39ch
  }
  #gs-portfolio .gs-hero__actions {
    align-items:flex-start;
    gap:10px 20px
  }
  #gs-portfolio .gs-hero__actions .gs-btn {
    font-size:10px;
    padding:15px 17px
  }
  #gs-portfolio .gs-hero__actions .ev-text-link {
    font-size:10px
  }
  #gs-portfolio .gs-hero:before {
    top:56%
  }
  #gs-portfolio .nx-hero-art {
    margin-top:75px;
    padding:0 4px 64px
  }
  #gs-portfolio .nx-art-meta {
    font-size:10.5px;
    letter-spacing:.06em
  }
  #gs-portfolio .nx-art-meta>span:last-child {
    display:none
  }
  #gs-portfolio .nx-journey-board {
    padding:22px 20px 15px
  }
  #gs-portfolio .nx-journey-board h2 {
    font-size:31px
  }
  #gs-portfolio .nx-journey-path {
    margin-top:0
  }
  #gs-portfolio .nx-hero-note {
    width:93%;
    padding:16px;
    right:-1%;
    bottom:4px;
    gap:12px
  }
  #gs-portfolio .nx-hero-note b {
    font-size:11px
  }
  #gs-portfolio .nx-note-number {
    font-size:25px
  }
  #gs-portfolio .nx-art-foot {
    font-size:4px;
    letter-spacing:.04em;
    bottom:-28px;
    gap:10px
  }
  #gs-portfolio .nx-art-foot>a {
    font-size:20px
  }
  #gs-portfolio .ev-hero-foot {
    font-size:10.5px;
    bottom:23px
  }
  #gs-portfolio .ev-hero-foot>a {
    font-size:10.5px;
    gap:12px;
    max-width:150px
  }
  #gs-portfolio .nx-spot-intro {
    padding-top:55px;
    padding-bottom:30px
  }
  #gs-portfolio .nx-spot-intro h2 {
    font-size:39px
  }
  #gs-portfolio .nx-eyebrow {
    font-size:11px;
    line-height:2;
    letter-spacing:.1em;
    max-width:46ch;
    margin-bottom:20px
  }
  #gs-portfolio .nx-spot-intro>p {
    font-size:11px;
    line-height:1.9;
    margin-top:22px
  }
  #gs-portfolio .nx-story-sticky {
    height:680px
  }
  #gs-portfolio .nx-story-top {
    font-size:10.5px;
    letter-spacing:.08em;
    top:23px;
    gap:20px
  }
  #gs-portfolio .nx-story-top>span:first-child {
    max-width:220px;
    line-height:1.9
  }
  #gs-portfolio .nx-story-counter {
    font-size:12px
  }
  #gs-portfolio .nx-chapters {
    top:16%;
    bottom:20%;
    width:86%
  }
  #gs-portfolio .nx-chapter h3 {
    font-size:clamp(39px,9vw,51px);
    line-height:1.06;
    max-width:14ch
  }
  #gs-portfolio .nx-chapter-kicker {
    font-size:11px;
    margin-bottom:24px
  }
  #gs-portfolio .nx-chapter>p {
    font-size:12px;
    max-width:34ch;
    margin-top:25px;
    line-height:1.9
  }
  #gs-portfolio .nx-chapter-bottom {
    font-size:10.5px;
    max-width:32ch;
    margin-top:25px
  }
  #gs-portfolio .nx-story-brand {
    top:15%;
    right:-11%;
    opacity:.32
  }
  #gs-portfolio .nx-story-brand>strong {
    font-size:65px
  }
  #gs-portfolio .nx-story-brand>span {
    display:none
  }
  #gs-portfolio .nx-story-float {
    display:none
  }
  #gs-portfolio .nx-story-backdrop img {
    object-position:70% 50%;
    filter:saturate(.7) brightness(.73)
  }
  #gs-portfolio .nx-story-shade {
    background:linear-gradient(90deg,#041a11ed,#071e15b8 90%),linear-gradient(0deg,#051d15f2,transparent 70%)
  }
  #gs-portfolio .nx-story-orbits {
    width:170%;
    left:-40%
  }
  #gs-portfolio .nx-chapter-controls {
    gap:6px;
    flex:1;
    justify-content:space-between
  }
  #gs-portfolio .nx-chapter-controls button {
    padding:10px 10px;
    gap:7px;
    min-height:43px;
    font-size:11.5px;
    flex:1;
    justify-content:center
  }
  #gs-portfolio .nx-chapter-controls button>span {
    font-size:12px;
    white-space:nowrap
  }
  #gs-portfolio .nx-story-bottom {
    bottom:55px;
    gap:0
  }
  #gs-portfolio .nx-motion-toggle {
    position:absolute;
    right:0;
    bottom:-28px;
    font-size:11px;
    min-width:0
  }
  #gs-portfolio .nx-story-tags {
    font-size:11px;
    gap:9px;
    margin-top:24px
  }
  #gs-portfolio .nx-story-result {
    gap:20px;
    margin-top:25px
  }
  #gs-portfolio .nx-story-result>strong {
    font-size:117px
  }
  #gs-portfolio .nx-story-result>div {
    font-size:11px;
    line-height:1.7
  }
  #gs-portfolio .nx-story-result small {
    font-size:11.5px;
    max-width:120px;
    line-height:1.8
  }
  #gs-portfolio .nx-story-link {
    font-size:10px;
    margin-top:23px;
    gap:20px
  }
  #gs-portfolio .nx-playground {
    grid-template-columns:1fr;
    gap:35px;
    padding-block:55px
  }
  #gs-portfolio .nx-playground h3 {
    font-size:39px
  }
  #gs-portfolio .nx-playground-copy>p {
    font-size:12px;
    max-width:38ch;
    margin-top:22px
  }
  #gs-portfolio .nx-lesson {
    padding-left:17px;
    margin-top:24px
  }
  #gs-portfolio .nx-lesson>span {
    font-size:11px
  }
  #gs-portfolio .nx-lesson>p {
    font-size:11px
  }
  #gs-portfolio .nx-playground-demo .gs-hunt__stage {
    aspect-ratio:1.2
  }
  #gs-portfolio .nx-playground-demo .gs-hunt__prompt {
    font-size:10px
  }
  #gs-portfolio .nx-playground-demo .gs-hunt__bar {
    gap:13px
  }
  #gs-portfolio .nx-playground-demo .gs-hunt__clue {
    font-size:13px
  }
}
@media(prefers-reduced-motion:reduce) {
  #gs-portfolio .nx-route-main {
    stroke-dashoffset:0;
    transition:none
  }
  #gs-portfolio .nx-journey-board {
    transition:none;
    will-change:auto
  }
  #gs-portfolio .nx-story-backdrop img {
    transform:none!important;
    will-change:auto
  }
  #gs-portfolio .nx-chapter {
    transform:none;
    transition:none
  }
  #gs-portfolio .nx-story-float {
    transform:rotate(-5deg)!important
  }
  #gs-portfolio .nx-story {
    height:auto
  }
  #gs-portfolio .nx-story-sticky {
    position:relative;
    top:auto;
    height:760px;
    min-height:0
  }
  #gs-portfolio .nx-scroll-cue {
    display:none
  }
}
#gs-portfolio .nx-proof-links {
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px
}
#gs-portfolio .nx-proof-links a {
  font-size:10px
}
#gs-portfolio .nx-spotlight.motion-off .nx-story {
  height:auto
}
#gs-portfolio .nx-spotlight.motion-off .nx-story-sticky {
  position:relative;
  top:auto;
  height:760px;
  min-height:0
}
@media(max-width:820px) {
  #gs-portfolio .gs-hero:before {
    top:55%
  }
}
@media(max-width:600px) {
  #gs-portfolio .nx-spotlight.motion-off .nx-story-sticky {
    height:680px
  }
}
#gs-portfolio .nx-story-focus {
  position:absolute;
  right:13%;
  top:39%;
  width:180px;
  height:180px;
  color:#dccc94;
  opacity:0;
  transform:translateY(20px) scale(.7);
  transition:opacity .8s,transform 1.2s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
  filter:drop-shadow(0 0 20px #e2d08b20)
}
#gs-portfolio .nx-story-focus>svg {
  width:100%;
  height:100%;
  overflow:visible
}
#gs-portfolio .nx-story-focus circle {
  fill:#e0cd8005;
  stroke:#dccc9470;
  stroke-width:.8;
  stroke-dasharray:1;
  stroke-dashoffset:1;
  transition:stroke-dashoffset 1.5s cubic-bezier(.2,.8,.2,1)
}
#gs-portfolio .nx-focus-inner {
  stroke:#dccc9433!important;
  transition-delay:.18s!important
}
#gs-portfolio .nx-story-focus path {
  fill:none;
  stroke:#dccc9480;
  stroke-width:1
}
#gs-portfolio .nx-story-focus>span {
  position:absolute;
  top:113%;
  left:50%;
  transform:translateX(-50%);
  white-space:nowrap;
  font:11px var(--mono);
  letter-spacing:.13em;
  color:#d0cc9b;
  background:#092218a0;
  border:1px solid #b1b78038;
  padding:8px 11px
}
#gs-portfolio .nx-spotlight[data-chapter="1"] .nx-story-focus {
  opacity:1;
  transform:none
}
#gs-portfolio .nx-spotlight[data-chapter="1"] .nx-story-focus circle {
  stroke-dashoffset:0
}
#gs-portfolio .nx-story-shade {
  transition:opacity 1s
}
#gs-portfolio .nx-spotlight[data-chapter="1"] .nx-story-shade {
  opacity:.83
}
@media(max-width:900px) {
  #gs-portfolio .nx-story-focus {
    width:110px;
    height:110px;
    right:7%;
    top:52%;
    opacity:0!important
  }
  #gs-portfolio .nx-spotlight.motion-off .nx-story-sticky {
    height:700px
  }
}
@media(max-width:600px) {
  #gs-portfolio .nx-story-focus {
    display:none
  }
  #gs-portfolio .nx-spotlight.motion-off .nx-story-sticky {
    height:680px
  }
}
@media(prefers-reduced-motion:reduce) {
  #gs-portfolio .nx-story-focus,#gs-portfolio .nx-story-focus circle,#gs-portfolio .nx-story-shade {
    transition:none
  }
  #gs-portfolio .nx-story-focus circle {
    stroke-dashoffset:0
  }
}
#gs-portfolio .nx-spotlight.motion-off .nx-story-focus,#gs-portfolio .nx-spotlight.motion-off .nx-story-focus circle,#gs-portfolio .nx-spotlight.motion-off .nx-story-shade {
  transition:none
}
/* conversion.css */
#gs-portfolio .cv-results {
  background:#eeece1;
  border-bottom:1px solid #1b3e2420;
  padding:28px 0
}
#gs-portfolio .cv-results>.gs-wrap {
  display:grid;
  grid-template-columns:repeat(3,1fr) 1fr;
  gap:30px;
  align-items:center
}
#gs-portfolio .cv-results strong {
  font-family:var(--display);
  display:block;
  font-size:38px;
  line-height:1.1;
  letter-spacing:-.065em;
  font-weight:500;
  color:#385f3c
}
#gs-portfolio .cv-results strong>span {
  font-size:.65em;
  margin-left:2px
}
#gs-portfolio .cv-results div>span {
  font:11px/1.9 var(--mono);
  letter-spacing:.06em;
  color:#748468;
  display:block;
  margin-top:9px
}
#gs-portfolio .cv-results small {
  font-size:12px;
  line-height:1.9;
  color:#90987f;
  display:block;
  margin-top:3px
}
#gs-portfolio .cv-results p {
  font:11px/2 var(--mono);
  color:#8b967b;
  border-left:1px solid #38572d28;
  padding-left:24px
}
#gs-portfolio .cv-service-result {
  margin-top:22px;
  padding:18px 0 0;
  border-top:1px solid #38572d24
}
#gs-portfolio .cv-service-result>span {
  font:11px var(--mono);
  letter-spacing:.1em;
  color:#9a8a60
}
#gs-portfolio .cv-service-result>b {
  font-family:var(--display);
  font-size:13px;
  line-height:1.55;
  color:#345b38;
  display:block;
  margin-top:9px;
  font-weight:500
}
#gs-portfolio .cv-service-result>p {
  font-size:10px;
  line-height:1.8;
  color:#829073;
  margin-top:6px;
  min-height:36px
}
#gs-portfolio .cv-service-result>div {
  display:flex;
  gap:16px;
  align-items:center;
  padding-top:18px;
  margin-top:15px;
  border-top:1px dashed #38572d29
}
#gs-portfolio .cv-service-result strong {
  font-family:var(--display);
  font-size:37px;
  line-height:1;
  letter-spacing:-.065em;
  font-weight:500;
  color:#496b42;
  white-space:nowrap
}
#gs-portfolio .cv-service-result div>span {
  font-size:10px;
  line-height:1.7;
  color:#546c48
}
#gs-portfolio .cv-service-result small {
  font-size:11.5px;
  line-height:1.8;
  color:#929a80;
  display:block;
  margin-top:6px
}
#gs-portfolio .cv-service-result>[data-case-jump] {
  font-size:12px;
  color:#617c4f;
  border-bottom:1px solid #98a47b55;
  padding:0 0 4px;
  margin-top:14px
}
#gs-portfolio .cv-teardown {
  background:#e7ebdd;
  border-block:1px solid #294e2426
}
#gs-portfolio .cv-teardown-grid {
  display:grid;
  grid-template-columns:1fr .83fr;
  gap:13%;
  align-items:center
}
#gs-portfolio .cv-teardown h2 {
  font-size:clamp(36px,4.2vw,62px);
  max-width:18ch
}
#gs-portfolio .cv-teardown-grid>div>p {
  font-size:13px;
  line-height:1.9;
  color:#718064;
  max-width:42ch;
  margin-top:25px
}
#gs-portfolio .cv-teardown .cp-button {
  margin-top:28px;
  width:max-content;
  min-width:230px
}
#gs-portfolio .cv-offer-note {
  display:block;
  font-size:12px;
  line-height:1.8;
  color:#8a977b;
  margin-top:14px
}
#gs-portfolio .cv-teardown-deliverable {
  background:#f6f5e9;
  border:1px solid #8a9c6d38;
  padding:32px;
  box-shadow:0 20px 50px #31512a08;
  border-radius:7px;
  transform:rotate(1deg)
}
#gs-portfolio .cv-teardown-deliverable>span {
  font:11.5px var(--mono);
  letter-spacing:.12em;
  color:#9b8c64
}
#gs-portfolio .cv-teardown ol {
  list-style:none;
  display:grid;
  gap:23px;
  padding:26px 0 0;
  margin:0
}
#gs-portfolio .cv-teardown li {
  display:flex;
  align-items:start;
  gap:18px
}
#gs-portfolio .cv-teardown li>b {
  font-family:'Cormorant Garamond',serif;
  font-size:27px;
  line-height:1;
  color:#a2ac88;
  font-weight:500
}
#gs-portfolio .cv-teardown h3 {
  font-family:var(--display);
  font-size:16px;
  letter-spacing:-.04em;
  line-height:1.4;
  font-weight:500;
  color:#365834
}
#gs-portfolio .cv-teardown li p {
  font-size:11px;
  line-height:1.9;
  color:#819073;
  margin-top:7px
}
#gs-portfolio .cv-teardown-deliverable>p {
  font-size:13px!important;
  line-height:1.9!important;
  border-top:1px solid #36583420;
  padding-top:18px;
  margin-top:24px!important
}
#gs-portfolio .cv-library {
  background:#efeee4;
  border-block:1px solid #36583420
}
#gs-portfolio .cv-library>summary {
  list-style:none;
  display:flex;
  align-items:center;
  gap:30px;
  padding:32px var(--gut);
  max-width:1500px;
  margin:auto;
  cursor:pointer
}
#gs-portfolio .cv-library>summary::-webkit-details-marker {
  display:none
}
#gs-portfolio .cv-library>summary>span {
  font-family:var(--display);
  font-size:22px;
  letter-spacing:-.04em;
  color:#345b38
}
#gs-portfolio .cv-library>summary small {
  font:11.5px/1.9 var(--mono);
  color:#8a977a;
  margin-left:auto
}
#gs-portfolio .cv-library>summary>b {
  font-size:26px;
  font-weight:400;
  color:#93a47c;
  transition:transform .2s
}
#gs-portfolio .cv-library[open]>summary>b {
  transform:rotate(45deg)
}
#gs-portfolio .cv-delivery-note {
  font:12px/1.9 var(--mono)!important;
  color:#8ca47b!important;
  margin-top:15px!important
}
#gs-portfolio .cv-contact-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:18px 25px;
  margin-top:29px
}
#gs-portfolio .cv-contact-actions .cp-button-gold {
  margin-top:0
}
#gs-portfolio .cv-contact-secondary {
  font-size:10px;
  color:#c3bf8c;
  border-bottom:1px solid #a6a37166;
  padding:8px 0
}
body:has(#cv-lead[open]) {
  overflow:hidden
}
#cv-lead {
  width:min(660px,92vw);
  max-height:90svh;
  background:#f6f3eb;
  color:#173924;
  border:1px solid #d4d6bf;
  border-radius:9px;
  padding:0;
  font-family:'Open Sans',sans-serif
}
#cv-lead::backdrop {
  background:#031a12d9;
  backdrop-filter:blur(10px)
}
#cv-lead form {
  padding:32px
}
#cv-lead h2 {
  font:500 36px/1.15 Sora,sans-serif;
  letter-spacing:-1.5px;
  margin:0 0 20px
}
#cv-lead form>p {
  font-size:12px;
  line-height:1.9;
  color:#728367
}
#cv-lead .cv-connection-note {
  background:#e5e9da;
  padding:12px 15px;
  font-size:10px;
  margin-top:18px;
  border-left:2px solid #9aa97a
}
#cv-lead label {
  font-size:11px;
  display:block;
  margin-top:20px
}
#cv-lead input,#cv-lead textarea {
  display:block;
  width:100%;
  box-sizing:border-box;
  padding:12px;
  border:1px solid #bfcbb8;
  background:#eeeee2;
  color:#24452a;
  border-radius:4px;
  margin-top:9px;
  font:13px 'Open Sans',sans-serif
}
#cv-lead input:focus-visible,#cv-lead textarea:focus-visible {
  outline:2px solid #708b58;
  outline-offset:3px
}
#cv-lead pre {
  white-space:pre-wrap;
  font:12px/1.9 'Open Sans',sans-serif;
  background:#e5e9da;
  padding:18px;
  border-radius:4px
}
#cv-lead form>small {
  display:block;
  font-size:13px;
  line-height:1.9;
  color:#8b977d;
  margin-top:22px
}
#cv-lead .ev-dialog-button {
  display:inline-block;
  font-size:10px;
  padding:13px 15px;
  margin:12px 8px 0 0;
  text-decoration:none
}
#cv-lead a[hidden] {
  display:none
}
#cv-lead #cv-lead-status {
  font-size:10px;
  color:#718a5c;
  line-height:1.9
}
@media(max-width:900px) {
  #gs-portfolio .cv-results>.gs-wrap {
    grid-template-columns:repeat(3,1fr);
    gap:25px 20px
  }
  #gs-portfolio .cv-results p {
    grid-column:1/-1;
    border-left:0;
    border-top:1px solid #38572d20;
    padding:13px 0 0;
    font-size:11px
  }
  #gs-portfolio .cv-results strong {
    font-size:33px
  }
  #gs-portfolio .cv-results div>span {
    font-size:10.5px
  }
  #gs-portfolio .cv-results small {
    font-size:11.5px
  }
  #gs-portfolio .cv-teardown-grid {
    gap:7%
  }
  #gs-portfolio .cv-teardown-deliverable {
    padding:25px
  }
  #gs-portfolio .cv-teardown h2 {
    font-size:37px
  }
  #gs-portfolio .cv-teardown li {
    gap:13px
  }
  #gs-portfolio .cv-teardown h3 {
    font-size:14px
  }
  #gs-portfolio .cv-teardown li p {
    font-size:10px
  }
  #gs-portfolio .cv-teardown-grid>div>p {
    font-size:12px
  }
  #gs-portfolio .cv-library>summary>span {
    font-size:18px
  }
  #gs-portfolio .cv-library>summary small {
    font-size:11px
  }
}
@media(max-width:600px) {
  #gs-portfolio .cv-results {
    padding:25px 0
  }
  #gs-portfolio .cv-results>.gs-wrap {
    gap:20px 13px
  }
  #gs-portfolio .cv-results strong {
    font-size:30px
  }
  #gs-portfolio .cv-results div>span {
    font-size:10.5px;
    line-height:1.9;
    max-width:15ch
  }
  #gs-portfolio .cv-results small {
    font-size:11.5px;
    line-height:1.8;
    max-width:15ch
  }
  #gs-portfolio .cv-results p {
    font-size:10.5px;
    line-height:2
  }
  #gs-portfolio .cv-service-result {
    margin-top:20px
  }
  #gs-portfolio .cv-service-result>p {
    min-height:0;
    font-size:11px
  }
  #gs-portfolio .cv-service-result>b {
    font-size:14px
  }
  #gs-portfolio .cv-service-result strong {
    font-size:38px
  }
  #gs-portfolio .cv-service-result div>span {
    font-size:11px
  }
  #gs-portfolio .cv-service-result small {
    font-size:12px
  }
  #gs-portfolio .cv-service-result>[data-case-jump] {
    font-size:13px
  }
  #gs-portfolio .cv-teardown-grid {
    grid-template-columns:1fr;
    gap:33px
  }
  #gs-portfolio .cv-teardown h2 {
    font-size:37px
  }
  #gs-portfolio .cv-teardown-grid>div>p {
    font-size:12px;
    margin-top:22px
  }
  #gs-portfolio .cv-teardown .cp-button {
    font-size:11px;
    margin-top:25px
  }
  #gs-portfolio .cv-offer-note {
    font-size:12px
  }
  #gs-portfolio .cv-teardown-deliverable {
    padding:27px;
    transform:none
  }
  #gs-portfolio .cv-teardown ol {
    gap:22px
  }
  #gs-portfolio .cv-teardown h3 {
    font-size:16px
  }
  #gs-portfolio .cv-teardown li p {
    font-size:11px
  }
  #gs-portfolio .cv-library>summary {
    gap:15px;
    flex-wrap:wrap;
    padding-block:26px
  }
  #gs-portfolio .cv-library>summary>span {
    font-size:19px;
    max-width:21ch
  }
  #gs-portfolio .cv-library>summary small {
    order:3;
    width:100%;
    margin-left:0;
    font-size:11px
  }
  #gs-portfolio .cv-library>summary>b {
    margin-left:auto
  }
  #gs-portfolio .cv-contact-actions {
    gap:17px;
    margin-top:26px
  }
  #gs-portfolio .cv-contact-secondary {
    font-size:10px
  }
  #cv-lead form {
    padding:25px
  }
  #cv-lead h2 {
    font-size:30px
  }
  #cv-lead .cv-connection-note {
    font-size:10px
  }
}

/* Accessibility and progressive enhancement: normal layouts stay unchanged. */
[hidden] { display: none !important; }
.skip-link {
  position: fixed;
  z-index: 10000;
  top: 12px;
  left: 12px;
  padding: 12px 20px;
  background: #f7f4ed;
  color: #0c1811;
  font: 600 15px/1.5 'Open Sans', sans-serif;
  border: 2px solid #193d29;
  border-radius: 6px;
  transform: translateY(-180%);
}
.skip-link:focus { transform: none; }
#gs-portfolio :is(a, button, summary, [role='tab'], [role='slider']):focus-visible,
dialog :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #a97920;
  outline-offset: 5px;
}
#main-content:focus { outline: none; }
#gs-portfolio :is(section, article, header, main)[tabindex='-1'] { scroll-margin-top: 100px; }
html.motion-paused *, html.motion-paused *::before, html.motion-paused *::after {
  animation-play-state: paused !important;
  scroll-behavior: auto !important;
  transition-duration: 0s !important;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; scroll-behavior: auto !important; transition-duration: 0s !important; }
}
#gs-portfolio.no-js :is(.gs-hero__kick, .gs-hero__ln > span, .gs-hero__sub, .gs-hero__actions, .gs-hero__media, [data-reveal], .gs-step) {
  opacity: 1 !important;
  transform: none !important;
}
#gs-portfolio.no-js .gs-case { display: grid; margin-block: 32px; }
#gs-portfolio.no-js :is(.gs-cases__tabs, .nx-story-bottom, .gs-burger, .gs-hunt__bug, .gs-hunt__bar, .gs-ba__handle, .ev-reel-controls, [data-offer], [data-free-teardown], [data-book-call]) { display: none; }
#gs-portfolio.no-js .nx-story { height: auto; }
#gs-portfolio.no-js .nx-story-sticky { position: relative; height: auto; min-height: 0; }
#gs-portfolio.no-js .nx-chapters { position: relative; display: grid; gap: 48px; height: auto; padding-block: 80px; }
#gs-portfolio.no-js .nx-chapter { position: relative; grid-area: auto; opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
#gs-portfolio.no-js .gs-mobnav { display: none; }
.script-note { padding: 16px; font: 16px/1.5 sans-serif; background: #f7f4ed; color: #0c1811; }

/* Stronger supporting text retains the forest and gold palette. */
#gs-portfolio .cv-results .gs-wrap > div > span,
#gs-portfolio .cv-results small,
#gs-portfolio .cv-results p,
#gs-portfolio .gs-marq-band__label,
#gs-portfolio .cp-label,
#gs-portfolio .cp-help-num,
#gs-portfolio .cp-help a > span:last-child,
#gs-portfolio .cp-section-head > p,
#gs-portfolio .cp-offer-type,
#gs-portfolio .cp-offer-body > p,
#gs-portfolio .cv-service-result > p,
#gs-portfolio .cv-service-result small,
#gs-portfolio .cv-service-result [data-case-jump],
#gs-portfolio .cp-proof-link,
#gs-portfolio .cp-scope-note > span,
#gs-portfolio .cp-scope-note > p,
#gs-portfolio .cv-teardown-grid > div > p,
#gs-portfolio .cv-offer-note,
#gs-portfolio .cv-teardown .cv-teardown-deliverable li p,
#gs-portfolio .cv-teardown-deliverable > p,
#gs-portfolio .ev-selected-head > div > p,
#gs-portfolio .gs-brandcard__chips span,
#gs-portfolio .ev-project-bottom div > span,
#gs-portfolio .ev-project-bottom small,
#gs-portfolio .ev-reel-controls > span,
#gs-portfolio .ev-source,
#gs-portfolio .cp-process-steps li > p,
#gs-portfolio .cp-process-steps li > small,
#gs-portfolio .cv-library > summary > small,
#gs-portfolio .cp-signature > span,
#gs-portfolio .cp-about-copy > p:not(.cp-about-lead),
#gs-portfolio .cp-credentials span,
#gs-portfolio .cp-faq-grid > div > p,
#gs-portfolio .cp-questions details p { color: #53634c; }
#gs-portfolio .cv-service-result > span,
#gs-portfolio .cp-best > b,
#gs-portfolio .cv-teardown-deliverable > span { color: #756333; }
#gs-portfolio .cv-teardown-deliverable li > b,
#gs-portfolio .cp-process-steps li > span { color: #75825c; }
#gs-portfolio .cp-paper > span,
#gs-portfolio .cp-mini-row > em,
#gs-portfolio .cp-art-audit .cp-art-caption,
#gs-portfolio .cp-art-advisory .cp-art-caption,
#gs-portfolio .cp-plan > span,
#gs-portfolio .cp-plan > div > i { color: #586646; }
#gs-portfolio .gs-cases__tab:not(.is-on) .gs-cases__tabno { opacity: 1; color: #53634c; }
#gs-portfolio .gs-case__note { color: #9aaa9e; opacity: 1; }
#gs-portfolio #selected .gs-kicker,
#gs-portfolio .gs-brandcard__link,
#gs-portfolio #work .gs-kicker,
#gs-portfolio #samples .gs-kicker { color: #276c38; }
#gs-portfolio #work .gs-lead,
#gs-portfolio #samples .gs-lead { color: #53634c; }
#gs-portfolio .cp-contact .cp-label { color: #a8ba8b; }
/* Links retain the same project-card and evidence-link geometry as the original buttons. */
#gs-portfolio .ev-project { color: inherit; font: 13.3333px var(--body); border: 0; background: transparent; display: block; }
#gs-portfolio .cv-service-result [data-case-jump] { display: inline-block; box-sizing: border-box; font-family: var(--body); line-height: normal; }
#gs-portfolio.no-js [data-case-panel] { scroll-margin-top: 100px; }
#ev-brief .ev-eyebrow,
#ev-brief .cp-optional,
#ev-brief form > p,
#ev-copy-status,
#cv-lead #cv-lead-intro,
#cv-lead #cv-connection-note,
#cv-lead-status { color: #53634c; }

/* ===== Launch additions: headshot, profile links, privacy ===== */
#gs-portfolio .cv-headshot { display:block; width:min(100%,300px); aspect-ratio:4/5; object-fit:cover; border-radius:20px; margin-top:36px; box-shadow:0 18px 40px rgba(6,18,12,0.14); }
#gs-portfolio .cv-headshot[hidden] { display:none; }
#gs-portfolio .cv-profile-links { margin-top:18px; display:flex; flex-wrap:wrap; gap:18px; }
#gs-portfolio .cv-profile-links[hidden], #gs-portfolio .cv-profile-links a[hidden] { display:none; }
#gs-portfolio .cv-profile-links a { font-size:14px; font-weight:600; color:#dbe3cc; border-bottom:1px solid rgba(230,197,114,0.45); padding-bottom:2px; }
#gs-portfolio .cv-profile-links a:hover { color:var(--gold-bright); }
#gs-portfolio .cv-privacy { text-align:right; }
#gs-portfolio .cv-privacy summary { cursor:pointer; list-style:none; letter-spacing:.07em; text-transform:uppercase; }
#gs-portfolio .cv-privacy summary::-webkit-details-marker { display:none; }
#gs-portfolio .cv-privacy summary:hover { color:#d7c48a; }
#gs-portfolio .cv-privacy p { margin-top:8px; max-width:34ch; margin-left:auto; font-family:var(--body, 'Open Sans', sans-serif); font-size:12px; line-height:1.55; letter-spacing:0; text-transform:none; color:#9db08c; }
@media (max-width:820px){ #gs-portfolio .cv-privacy { text-align:left; } #gs-portfolio .cv-privacy p { margin-left:0; } }

/* ===== Multi-page: page heroes, "go deeper" cards, open case library ===== */
#gs-portfolio .mp-hero {
  padding:clamp(140px,18vh,190px) 0 clamp(56px,8vh,90px);
  background:radial-gradient(120% 90% at 85% 0%,#e7efdf 0%,transparent 60%),var(--canvas);
  border-bottom:1px solid var(--line)
}
#gs-portfolio .mp-crumb {
  display:inline-block;
  font:13px/1.6 var(--mono);
  letter-spacing:.08em;
  color:var(--ink-soft);
  text-decoration:none;
  margin-bottom:34px
}
#gs-portfolio .mp-crumb:hover { color:var(--ink) }
#gs-portfolio .mp-hero .cp-label { margin-bottom:18px }
#gs-portfolio .mp-hero h1 {
  font-family:var(--display);
  font-size:clamp(42px,6vw,88px);
  line-height:1.04;
  letter-spacing:-.055em;
  font-weight:500;
  color:var(--ink);
  max-width:14ch;
  margin:0
}
#gs-portfolio .mp-hero h1 em {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:500;
  font-size:1.14em;
  font-style:italic;
  letter-spacing:-.04em;
  color:#50704a
}
#gs-portfolio .mp-hero p {
  max-width:620px;
  margin:28px 0 0;
  font-size:clamp(17px,1.4vw,19px);
  line-height:1.65;
  color:var(--ink-soft)
}
#gs-portfolio .mp-hero-actions { margin-top:34px }
#gs-portfolio .gs-navlinks a[aria-current="page"] { color:var(--ink); text-decoration:underline; text-underline-offset:6px }
#gs-portfolio .mp-next { background:var(--canvas); border-top:1px solid var(--line) }
#gs-portfolio .mp-next-head { margin-bottom:42px }
#gs-portfolio .mp-next-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:18px
}
#gs-portfolio .mp-next-card {
  position:relative;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:220px;
  padding:28px 26px;
  border-radius:var(--r-md);
  background:var(--white);
  border:1px solid var(--line);
  color:var(--ink);
  text-decoration:none;
  box-shadow:var(--sh-soft);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease
}
#gs-portfolio .mp-next-card:hover { transform:translateY(-4px); box-shadow:var(--sh-card); border-color:var(--line-strong) }
#gs-portfolio .mp-next-card span { font:12px/1.6 var(--mono); letter-spacing:.14em; color:#728367 }
#gs-portfolio .mp-next-card b { font-family:var(--display); font-size:26px; line-height:1.15; letter-spacing:-.03em; font-weight:500 }
#gs-portfolio .mp-next-card small { font-size:15px; line-height:1.55; color:var(--ink-soft) }
#gs-portfolio .mp-next-card i { position:absolute; top:24px; right:24px; font-style:normal; font-size:20px; color:var(--accent-leaf) }
#gs-portfolio .mp-library-open > summary { display:none }
@media (prefers-reduced-motion: reduce) { #gs-portfolio .mp-next-card { transition:none } }

/* Merged from the concept build: an atmospheric orbit layer beneath the existing journey illustration. */
#gs-portfolio .nx-journey-board { isolation: isolate; overflow: hidden; }
#gs-portfolio .concept-orbit { position:absolute; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none; opacity:.68; }
/* A cinematic editorial bridge between proof and services. */
#gs-portfolio .journey-film{background:#06120C;color:#f5f1e5;overflow:hidden}
#gs-portfolio .film-intro{padding:clamp(90px,12vw,170px) 0 90px}
#gs-portfolio .film-kicker,#gs-portfolio .film-headline>span,#gs-portfolio .film-index,#gs-portfolio .film-bottom,#gs-portfolio .film-outcomes article>span{font:10px var(--mono);letter-spacing:.16em;color:#93AE9C}
#gs-portfolio .film-intro h2{font:500 clamp(44px,6vw,88px)/1.02 var(--display);letter-spacing:-.06em;margin:30px 0;color:#f4f2e8}
#gs-portfolio .film-intro h2 em,#gs-portfolio .film-headline em{font-family:'Cormorant Garamond',serif;font-weight:500;color:#cfc392}
#gs-portfolio .film-intro p{max-width:480px;color:#bfccc2;font-size:15px;line-height:1.8}
#gs-portfolio .film-stage{height:210vh;position:relative}
#gs-portfolio .film-sticky{height:calc(100vh - 76px);min-height:580px;position:sticky;top:76px;overflow:hidden;background:radial-gradient(ellipse at 75% 50%,#1d4a31,#0C2417 42%,#06120C 80%)}
#gs-portfolio .film-grid{position:absolute;inset:0;background-image:linear-gradient(#c1d6c210 1px,transparent 1px),linear-gradient(90deg,#c1d6c210 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(90deg,transparent,#000000)}
#gs-portfolio .film-index{position:absolute;top:7%;left:6%}
#gs-portfolio .film-headline{position:absolute;left:7%;top:28%;max-width:530px;z-index:2;transform:translateY(calc(var(--film-progress,0) * -35px))}
#gs-portfolio .film-headline strong{display:block;font:500 clamp(45px,6vw,82px)/1.04 var(--display);letter-spacing:-.06em;margin:24px 0}
#gs-portfolio .film-headline p{font-size:14px;line-height:1.8;color:#c8d4ca;max-width:360px}
#gs-portfolio .film-headline a{display:inline-block;color:#e5d8a4;font-size:12px;margin-top:30px;border-bottom:1px solid #dfd2a477;padding-bottom:10px}
#gs-portfolio .film-sphere{position:absolute;right:4%;top:12%;width:min(50vw,660px);aspect-ratio:1;border:1px solid #b3d1b438;border-radius:50%;transform:rotate(calc(var(--film-progress,0) * 30deg)) scale(calc(.91 + var(--film-progress,0) * .13));background:radial-gradient(circle at 35% 25%,#b9d8b633,transparent 20%),radial-gradient(circle,#2f6b4744,#0C241722 65%,transparent 70%);box-shadow:inset 0 0 80px #a9d0a51a,0 0 100px #74DA6B16}
#gs-portfolio .film-sphere:before,#gs-portfolio .film-sphere:after{content:'';position:absolute;inset:8%;border:1px solid #b3d1b447;border-radius:50%;transform:rotate(55deg) scaleX(.35)}
#gs-portfolio .film-sphere:after{transform:rotate(-55deg) scaleX(.35)}
#gs-portfolio .film-sphere-inner{position:absolute;inset:22%;border:1px solid #d3c68b70;border-radius:50%;display:grid;place-items:center;color:#d8d1a6;font:9px var(--mono);letter-spacing:.15em}
#gs-portfolio .film-sphere-inner span{position:absolute}#gs-portfolio .film-sphere-inner span:nth-child(1){top:8%}#gs-portfolio .film-sphere-inner span:nth-child(2){right:3%;bottom:23%}#gs-portfolio .film-sphere-inner span:nth-child(3){left:3%;bottom:23%}#gs-portfolio .film-sphere-inner i{width:10px;height:10px;border-radius:50%;background:#e2d29d;box-shadow:0 0 30px #e4d69d}
#gs-portfolio .film-orbit{position:absolute;width:70%;height:80%;border:1px solid #d0d5a918;border-radius:50%;right:-3%;top:8%;transform:rotate(-30deg) translateY(calc(var(--film-progress,0)*-60px))}#gs-portfolio .film-orbit-b{transform:rotate(25deg) translateY(calc(var(--film-progress,0)*45px));width:60%}
#gs-portfolio .film-bottom{position:absolute;bottom:6%;left:6%;right:6%;display:flex;justify-content:space-between}
#gs-portfolio .film-outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:100px 0}#gs-portfolio .film-outcomes article{border-top:1px solid #93AE9C60;padding-top:25px}#gs-portfolio .film-outcomes h3{font:500 25px var(--display);margin:25px 0 14px;color:#f4f2e8}#gs-portfolio .film-outcomes p{color:#bcc9bf;font-size:13px;line-height:1.8;max-width:30ch}
#gs-portfolio .film-controls{padding-bottom:35px;text-align:right}#gs-portfolio .concept-motion{border:1px solid #93AE9C80;color:#d9e4db;border-radius:30px;padding:10px 18px;font-size:11px}
@media(max-width:800px){#gs-portfolio .film-stage{height:auto}#gs-portfolio .film-sticky{position:relative;top:0;min-height:760px;height:auto}#gs-portfolio .film-headline{top:10%;left:7%;right:7%}#gs-portfolio .film-sphere{width:72vw;right:8%;top:47%}#gs-portfolio .film-bottom{font-size:8px}#gs-portfolio .film-outcomes{grid-template-columns:1fr;gap:35px;padding:70px 0}}
@media(prefers-reduced-motion:reduce){#gs-portfolio .film-stage{height:auto}#gs-portfolio .film-sticky{position:relative;top:0}#gs-portfolio .film-headline,#gs-portfolio .film-sphere,#gs-portfolio .film-orbit{transform:none}}
/* Tighter pacing and consistent gutters for the journey sequence. */
#gs-portfolio .film-intro { padding:clamp(75px,9vw,125px) var(--gut) clamp(55px,6vw,85px); }
#gs-portfolio .film-outcomes { padding:clamp(65px,7vw,100px) var(--gut); }
#gs-portfolio .film-controls { padding:0 var(--gut) 35px; }
#gs-portfolio .gs-method__intro { padding-left:var(--gut); padding-right:var(--gut); }
#gs-portfolio .film-stage { height:145vh; }
#gs-portfolio .gs-step { min-height:52vh; }
#gs-portfolio .film-sphere { will-change:transform; }
#gs-portfolio .ev-project-image img { translate:0 var(--image-drift, 0px); scale:1.08; will-change:translate; }
#gs-portfolio .film-intro { position:relative; }
#gs-portfolio .film-intro:after { content:''; position:absolute; width:clamp(160px,24vw,310px); aspect-ratio:1; right:8%; top:15%; border:1px solid #b3d1b446; border-radius:50%; box-shadow:0 0 0 35px #b3d1b40a,0 0 0 75px #b3d1b407; pointer-events:none; }
@media(max-width:800px) {
 #gs-portfolio .film-stage { height:auto; }
 #gs-portfolio .film-intro:after { width:130px; right:-45px; top:38%; opacity:.5; }
 #gs-portfolio .gs-step { min-height:0; }
 #gs-portfolio .film-sphere { top:44%; }
}
@media(prefers-reduced-motion:reduce) {
 #gs-portfolio .ev-project-image img { translate:none; scale:1; }
}
/* Clip decorative edges without creating a scroll container that breaks sticky positioning. */
#gs-portfolio .journey-film { overflow:clip; }
@media (prefers-reduced-motion: reduce) {
 #gs-portfolio .film-stage { height:auto; }
}

/* Scotty Cameron card: a product shot on a softly lit gallery plinth. Multiply drops the photo's
   white backdrop into the light, so the putter sits on the card rather than in a white box. */
#gs-portfolio .ev-project-plinth { background:radial-gradient(ellipse 26% 46% at 27% 34%, #ecebe3 0%, #d6d8cc 34%, #2a4a35 72%, #0d2016 100%); }
#gs-portfolio .ev-project-plinth img { object-fit:contain; object-position:27% 0; mix-blend-mode:multiply; opacity:1; padding:7% 0 30%; }
@media (max-width:820px) { #gs-portfolio .ev-project-plinth { background:radial-gradient(ellipse 46% 58% at 66% 42%, #ecebe3 0%, #d6d8cc 34%, #2a4a35 72%, #0d2016 100%); } #gs-portfolio .ev-project-plinth img { object-position:74% 0; padding:4% 0 34%; } }

/* ============================================================
   Personal hero, About and Notes (ph- / ab- / nt-)
   ============================================================ */
#gs-portfolio .ph-hero {
  position:relative;
  padding:clamp(120px,15vh,160px) 0 clamp(60px,8vh,96px);
  background:radial-gradient(90% 70% at 82% 20%,#e3ecd9 0%,transparent 62%),radial-gradient(60% 60% at 0% 100%,#efe6cf 0%,transparent 60%),var(--canvas);
  overflow:clip
}
#gs-portfolio .ph-hero__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:clamp(40px,5vw,84px); align-items:center }
#gs-portfolio .ph-status { display:inline-flex; align-items:center; gap:10px; padding:8px 14px; border:1px solid var(--line-strong); border-radius:99px; font:12px var(--mono); letter-spacing:.06em; color:var(--ink-soft); background:#fffc }
#gs-portfolio .ph-status i { width:8px; height:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px #50b94826; animation:ph-pulse 2.4s infinite }
@keyframes ph-pulse { 50% { box-shadow:0 0 0 8px #50b94800 } }
#gs-portfolio .ph-hello { display:flex; align-items:center; gap:14px; margin:34px 0 6px; font:500 clamp(22px,2.2vw,30px) var(--display); letter-spacing:-.03em; color:var(--ink-soft) }
#gs-portfolio .ph-title { font:500 clamp(64px,8.4vw,128px)/.92 var(--display); letter-spacing:-.07em; color:var(--ink); margin:0 }
#gs-portfolio .ph-title em { display:block; margin-top:18px; max-width:21ch; font:italic 500 clamp(30px,3.3vw,48px)/1.08 'Cormorant Garamond',Georgia,serif; letter-spacing:-.02em; color:#3f6b3a }
#gs-portfolio .ph-sub { max-width:540px; margin:26px 0 0; font-size:clamp(16px,1.25vw,18px); line-height:1.7; color:var(--ink-soft) }
#gs-portfolio .ph-sub b { color:var(--ink); font-weight:600 }
#gs-portfolio .ph-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px 28px; margin-top:32px }
#gs-portfolio .ph-proof { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:44px 0 0; padding-top:24px; border-top:1px solid var(--line-strong); max-width:560px }
#gs-portfolio .ph-proof dt { font:500 clamp(28px,2.6vw,38px) var(--display); letter-spacing:-.05em; color:var(--forest) }
#gs-portfolio .ph-proof dd { margin:6px 0 0; font-size:12.5px; line-height:1.45; color:var(--ink-soft) }

/* Headshot slot: shows a placeholder until headshotUrl is set in site-config.js. */
#gs-portfolio .ph-photo { position:relative; overflow:hidden; background:linear-gradient(160deg,#e9e2cf,#d6dcc8 60%,#c3cfb8); }
#gs-portfolio .ph-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover }
#gs-portfolio .ph-photo.has-photo .ph-photo__placeholder { display:none }
#gs-portfolio .ph-photo__placeholder { position:absolute; inset:0; display:grid; place-content:center; justify-items:center; gap:10px; border:1.5px dashed #0f3d2559; border-radius:inherit; color:var(--forest) }
#gs-portfolio .ph-photo__mono { font:italic 500 1em 'Cormorant Garamond',Georgia,serif; line-height:1 }
#gs-portfolio .ph-photo__hint { font:11px var(--mono); letter-spacing:.12em; text-transform:uppercase; color:#0f3d25a6 }
#gs-portfolio .ph-photo--mini { width:54px; height:54px; border-radius:50%; font-size:30px; flex:none }
#gs-portfolio .ph-photo--mini .ph-photo__hint { display:none }
#gs-portfolio .ph-photo--mini .ph-photo__placeholder { gap:0 }
#gs-portfolio .ph-photo--hero { position:absolute; z-index:3; left:-4%; bottom:-4%; width:clamp(140px,13vw,190px); aspect-ratio:4/5; border-radius:18px; font-size:clamp(70px,7vw,104px); box-shadow:0 30px 60px -24px #06120c80,0 0 0 6px var(--canvas) }
#gs-portfolio .ph-photo--about { width:100%; max-width:360px; aspect-ratio:4/5; border-radius:20px; margin:26px 0; font-size:120px }

#gs-portfolio .ph-hero__stage { position:relative; padding:0 0 6% 6% }
#gs-portfolio .ph-reel { position:relative; border-radius:18px; background:var(--deep); box-shadow:0 50px 90px -40px #06120caa; overflow:hidden; transform:rotate(1.2deg) }
#gs-portfolio .ph-reel__bar { display:flex; align-items:center; gap:7px; padding:12px 16px; background:#0c2417; border-bottom:1px solid var(--line-deep) }
#gs-portfolio .ph-reel__bar i { width:9px; height:9px; border-radius:50%; background:#f3f8ef33 }
#gs-portfolio .ph-reel__bar span { margin-left:12px; padding:5px 14px; border-radius:99px; background:#f3f8ef14; font:11px var(--mono); color:var(--on-deep-mute); white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
#gs-portfolio .ph-reel__view { position:relative; aspect-ratio:16/10.4 }
#gs-portfolio .ph-slide { position:absolute; inset:0; margin:0; opacity:0; transition:opacity .9s ease }
#gs-portfolio .ph-slide.is-on { opacity:1 }
#gs-portfolio .ph-slide img { width:100%; height:100%; object-fit:cover; transform:scale(1.04); transition:transform 5s ease-out }
#gs-portfolio .ph-slide.is-on img { transform:scale(1.12) }
#gs-portfolio .ph-slide--product { background:radial-gradient(ellipse 36% 70% at 68% 46%,#f1ecdf 0%,#d9d3c0 30%,#556552 64%,#102b1c 88%) }
#gs-portfolio .ph-slide--product img { object-fit:contain; mix-blend-mode:multiply; padding:6% 10% 16% 36%; transform:none !important }
#gs-portfolio .ph-reel__view:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#03190ef2 0%,#03190e66 34%,transparent 60%); pointer-events:none }
#gs-portfolio .ph-reel__caption { position:absolute; z-index:2; left:clamp(130px,30%,230px); right:22px; bottom:58px; display:grid; gap:8px; color:var(--on-deep); text-decoration:none }
#gs-portfolio .ph-reel__caption span { font:11px var(--mono); letter-spacing:.14em; color:#d0d6b9 }
#gs-portfolio .ph-reel__caption b { font:500 clamp(22px,2.2vw,34px)/1.08 var(--display); letter-spacing:-.04em; max-width:18ch }
#gs-portfolio .ph-reel__caption i { position:absolute; right:0; bottom:4px; width:40px; height:40px; display:grid; place-items:center; border:1px solid #fff5; border-radius:50%; font-style:normal; transition:.3s }
#gs-portfolio .ph-reel__caption:hover i { background:#e1cb8d; border-color:#e1cb8d; color:#163521 }
#gs-portfolio .ph-reel__dots { position:absolute; z-index:2; left:clamp(130px,30%,230px); bottom:24px; display:flex; gap:8px }
#gs-portfolio .ph-dot { width:26px; height:4px; padding:0; border:0; border-radius:4px; background:#f3f8ef40; cursor:pointer; transition:.3s }
#gs-portfolio .ph-dot.is-on { width:44px; background:var(--gold-bright) }
#gs-portfolio .ph-note { position:absolute; z-index:3; right:-2%; top:-6%; max-width:230px; padding:14px 16px; border-radius:14px; background:#fff; box-shadow:0 20px 40px -20px #06120c55; font-size:13px; line-height:1.45; color:var(--ink); transform:rotate(-2deg) }
#gs-portfolio .ph-note span { display:block; margin-bottom:5px; font:10.5px var(--mono); letter-spacing:.14em; color:var(--accent-leaf) }
#gs-portfolio .ph-proof-note { margin:12px 0 0; font-size:12px; color:var(--ink-mute) }
#gs-portfolio .ph-story-link { display:inline-block; margin:6px 0 18px }

@media (max-width:900px) {
  #gs-portfolio .ph-hero__grid { grid-template-columns:minmax(0,1fr) }
  #gs-portfolio .ph-hero__stage { padding:0 0 12% 10%; margin-top:10px }
  #gs-portfolio .ph-photo--hero { left:0; bottom:0; width:34%; }
  #gs-portfolio .ph-note { right:0; top:-8% }
  #gs-portfolio .ph-reel__caption { left:36%; bottom:52px }
  #gs-portfolio .ph-reel__dots { left:36% }
  #gs-portfolio .ph-proof { gap:12px }
}
@media (max-width:560px) {
  #gs-portfolio .ph-title { font-size:58px }
  #gs-portfolio .ph-reel__caption { left:18px; right:18px }
  #gs-portfolio .ph-reel__caption i { display:none }
  #gs-portfolio .ph-reel__dots { left:auto; right:18px }
  #gs-portfolio .ph-note { display:none }
  #gs-portfolio .ph-reel__view { aspect-ratio:4/4.2 }
  #gs-portfolio .ph-hero__stage { padding:0 0 18% 0 }
  #gs-portfolio .ph-photo--hero { display:none }
}
@media (prefers-reduced-motion:reduce) {
  #gs-portfolio .ph-slide img { transition:none; transform:none }
  #gs-portfolio .ph-status i { animation:none }
}

/* About page */
#gs-portfolio .ab-hero { padding:clamp(130px,17vh,180px) 0 clamp(60px,8vh,96px); background:radial-gradient(80% 80% at 90% 10%,#e3ecd9,transparent 60%),var(--canvas); border-bottom:1px solid var(--line) }
#gs-portfolio .ab-hero__grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:clamp(40px,6vw,96px); align-items:end }
#gs-portfolio .ab-hero h1 { font:500 clamp(46px,6.4vw,96px)/1.02 var(--display); letter-spacing:-.06em; color:var(--ink); margin:18px 0 0 }
#gs-portfolio .ab-hero h1 em, #gs-portfolio .ab-section h2 em { font:italic 500 1.1em 'Cormorant Garamond',Georgia,serif; letter-spacing:-.03em; color:#3f6b3a }
#gs-portfolio .ab-lead { max-width:600px; margin:28px 0 0; font-size:clamp(17px,1.4vw,20px); line-height:1.65; color:var(--ink-soft) }
#gs-portfolio .ab-facts { list-style:none; display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:30px 0 0 }
#gs-portfolio .ab-facts li { padding:9px 16px; border:1px solid var(--line-strong); border-radius:99px; background:#fff9; font-size:14px; color:var(--ink-soft) }
#gs-portfolio .ab-facts b { color:var(--forest); font-family:var(--display) }
#gs-portfolio .ab-toc { display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:34px; font:12px var(--mono); letter-spacing:.08em; text-transform:uppercase }
#gs-portfolio .ab-toc a { color:var(--ink-soft); text-decoration:none; border-bottom:1px solid var(--line-strong); padding-bottom:4px }
#gs-portfolio .ab-toc a:hover { color:var(--ink); border-color:var(--ink) }
#gs-portfolio .ph-photo--about-hero { width:100%; aspect-ratio:4/5; border-radius:24px; font-size:clamp(120px,14vw,200px); box-shadow:0 40px 80px -40px #06120c66 }
#gs-portfolio .ab-section { padding:clamp(80px,11vh,130px) 0; border-bottom:1px solid var(--line); background:var(--canvas) }
#gs-portfolio .ab-section--deep { background:var(--deep); color:var(--on-deep) }
#gs-portfolio .ab-section.ab-section--deep h2, #gs-portfolio .ab-section.ab-section--deep h3 { color:var(--on-deep) }
#gs-portfolio .ab-section.ab-section--deep h2 em { color:var(--gold-bright) }
#gs-portfolio .ab-section--deep .cp-label { color:var(--on-deep-mute) }
#gs-portfolio .ab-section--soft { background:#ece8dc }
#gs-portfolio .ab-section h2 { font:500 clamp(36px,4.4vw,64px)/1.04 var(--display); letter-spacing:-.05em; color:var(--ink); margin:16px 0 0 }
#gs-portfolio .ab-split { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:clamp(40px,7vw,120px); align-items:start }
#gs-portfolio .ab-side { position:sticky; top:110px }
#gs-portfolio .ab-side p { margin-top:20px; color:var(--ink-soft); line-height:1.7; max-width:32ch }
#gs-portfolio .ab-head { margin-bottom:46px }
#gs-portfolio .ab-timeline { list-style:none; padding:0; margin:0; border-left:1px solid var(--line-strong) }
#gs-portfolio .ab-timeline li { position:relative; padding:0 0 48px 36px }
#gs-portfolio .ab-timeline li:before { content:''; position:absolute; left:-6px; top:4px; width:11px; height:11px; border-radius:50%; background:var(--canvas); border:2px solid var(--accent-leaf) }
#gs-portfolio .ab-when { font:11.5px var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--accent-leaf) }
#gs-portfolio .ab-timeline h3 { font:500 clamp(22px,2vw,28px) var(--display); letter-spacing:-.03em; color:var(--ink); margin:8px 0 12px }
#gs-portfolio .ab-timeline p { color:var(--ink-soft); line-height:1.75; max-width:60ch; margin:0 0 12px }
#gs-portfolio .ab-beliefs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line-deep); border:1px solid var(--line-deep); border-radius:18px; overflow:hidden; margin-bottom:28px }
#gs-portfolio .ab-beliefs article { background:var(--deep); padding:clamp(26px,3vw,40px) }
#gs-portfolio .ab-beliefs span { font:12px var(--mono); color:var(--gold-bright) }
#gs-portfolio .ab-beliefs h3 { font:500 clamp(21px,1.8vw,26px)/1.2 var(--display); letter-spacing:-.03em; margin:16px 0 12px }
#gs-portfolio .ab-beliefs p { color:var(--on-deep-mute); line-height:1.7; margin:0 }
#gs-portfolio .ab-quote { margin:0 0 34px; padding:0 0 0 26px; border-left:3px solid var(--gold); font:italic 500 clamp(24px,2.4vw,34px)/1.3 'Cormorant Garamond',Georgia,serif; color:var(--ink) }
#gs-portfolio .ab-quote cite { display:block; margin-top:14px; font:normal 12px var(--mono); letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft) }
#gs-portfolio .ab-how { list-style:none; padding:0; margin:0 0 28px; display:grid; gap:14px }
#gs-portfolio .ab-how li { padding:18px 20px; border-radius:14px; background:#fff; border:1px solid var(--line); color:var(--ink-soft); line-height:1.6 }
#gs-portfolio .ab-how b { color:var(--ink) }
#gs-portfolio .ab-outside { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px }
#gs-portfolio .ab-now { list-style:none; padding:0; margin:0; display:grid; gap:0 }
#gs-portfolio .ab-now li { display:grid; grid-template-columns:140px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid var(--line-strong); align-items:start }
#gs-portfolio .ab-now b { font:12px var(--mono); letter-spacing:.12em; text-transform:uppercase; color:var(--accent-leaf); padding-top:4px }
#gs-portfolio .ab-now span { color:var(--ink); line-height:1.6; font-size:17px }
#gs-portfolio .ab-updated { font:12px var(--mono); color:var(--ink-mute) }

/* Content slots: dashed boxes that mark where Aman's own words go. */
#gs-portfolio .ab-slot { padding:18px 20px; border:1.5px dashed #a98a3c88; border-radius:14px; background:#fbf6e6; color:#5a4a1f }
#gs-portfolio .ab-slot span { display:block; font:11px var(--mono); letter-spacing:.14em; text-transform:uppercase; color:#8a6d22; margin-bottom:6px }
#gs-portfolio .ab-slot p { margin:0 !important; font-size:14.5px; line-height:1.6; color:#5a4a1f !important }
#gs-portfolio .ab-section--deep .ab-slot { background:#f3ead21a; border-color:#e6c57266 }
#gs-portfolio .ab-section--deep .ab-slot p { color:#e9dfbf !important }
#gs-portfolio .ab-section--deep .ab-slot span { color:var(--gold-bright) }

/* Notes library */
#gs-portfolio .nt-start { background:var(--canvas) }
#gs-portfolio .nt-start h2, #gs-portfolio .nt-library h2 { font:500 clamp(32px,3.6vw,52px) var(--display); letter-spacing:-.05em; color:var(--ink); margin:14px 0 0 }
#gs-portfolio .nt-start__list { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px }
#gs-portfolio .nt-start__list a { display:grid; gap:10px; height:100%; padding:26px; border-radius:18px; background:var(--deep); color:var(--on-deep); text-decoration:none; transition:transform .3s }
#gs-portfolio .nt-start__list a:hover { transform:translateY(-4px) }
#gs-portfolio .nt-start__list span { font:12px var(--mono); color:var(--gold-bright) }
#gs-portfolio .nt-start__list b { font:500 22px/1.2 var(--display); letter-spacing:-.03em }
#gs-portfolio .nt-start__list small { color:var(--on-deep-mute); font-size:14px; line-height:1.5 }
#gs-portfolio .nt-library { background:#fff; border-top:1px solid var(--line) }
#gs-portfolio .nt-library__head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:24px; margin-bottom:18px }
#gs-portfolio .nt-filters { display:flex; flex-wrap:wrap; gap:8px }
#gs-portfolio .nt-filters button { padding:9px 15px; border:1px solid var(--line-strong); border-radius:99px; background:transparent; font:13px var(--body); color:var(--ink-soft); cursor:pointer }
#gs-portfolio .nt-filters button[aria-pressed="true"] { background:var(--ink); border-color:var(--ink); color:#fff }
#gs-portfolio .nt-status { font:12px var(--mono); color:var(--ink-mute); margin:0 0 26px }
#gs-portfolio .nt-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-bottom:34px }
#gs-portfolio .nt-card { display:flex; flex-direction:column; gap:10px; padding:22px; border:1px solid var(--line); border-radius:18px; background:var(--canvas); color:var(--ink); text-decoration:none; transition:border-color .3s,transform .3s }
#gs-portfolio .nt-card[hidden] { display:none }
#gs-portfolio .nt-card:hover { border-color:var(--forest); transform:translateY(-3px) }
#gs-portfolio .nt-card__img { display:block; margin:-22px -22px 8px; aspect-ratio:16/9; overflow:hidden; border-radius:18px 18px 0 0; background:var(--deep) }
#gs-portfolio .nt-card__img img { width:100%; height:100%; object-fit:cover }
#gs-portfolio .nt-card__img--product { background:radial-gradient(ellipse 40% 75% at 50% 50%,#f1ecdf,#d9d3c0 35%,#556552 70%,#102b1c) }
#gs-portfolio .nt-card__img--product img { object-fit:contain; mix-blend-mode:multiply; padding:6% }
#gs-portfolio .nt-card:not(.nt-card--image):before { content:''; display:block; margin:-22px -22px 8px; aspect-ratio:16/9; border-radius:18px 18px 0 0; background:radial-gradient(60% 80% at 80% 20%,#2e8b4566,transparent 70%),repeating-linear-gradient(90deg,#f3f8ef0d 0 1px,transparent 1px 36px),repeating-linear-gradient(0deg,#f3f8ef0d 0 1px,transparent 1px 36px),var(--deep) }
#gs-portfolio .nt-card__k { font:11px var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--accent-leaf) }
#gs-portfolio .nt-card h3 { font:500 21px/1.22 var(--display); letter-spacing:-.03em; margin:0 }
#gs-portfolio .nt-card p { color:var(--ink-soft); font-size:14.5px; line-height:1.6; margin:0; flex:1 }
#gs-portfolio .nt-card__more { font-size:13px; font-weight:600; color:var(--forest) }
#gs-portfolio .nt-subscribe { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:30px; align-items:center; margin-top:40px; padding:34px; border-radius:20px; background:var(--canvas); border:1px solid var(--line) }
#gs-portfolio .nt-subscribe h3 { font:500 28px var(--display); letter-spacing:-.04em; margin:10px 0 8px; color:var(--ink) }
#gs-portfolio .nt-subscribe p { color:var(--ink-soft); margin:0 }

@media (max-width:900px) {
  #gs-portfolio .ab-hero__grid, #gs-portfolio .ab-split, #gs-portfolio .nt-subscribe { grid-template-columns:minmax(0,1fr) }
  #gs-portfolio .ph-photo--about-hero { max-width:300px }
  #gs-portfolio .ab-side { position:static }
  #gs-portfolio .ab-beliefs, #gs-portfolio .ab-outside, #gs-portfolio .nt-start__list, #gs-portfolio .nt-grid { grid-template-columns:minmax(0,1fr) }
  #gs-portfolio .ab-now li { grid-template-columns:1fr; gap:8px }
}
@media (min-width:901px) and (max-width:1180px) {
  #gs-portfolio .nt-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
}
