.portfolio-hero {
  padding: clamp(2rem, 6vw, 6rem) 0;
  background: radial-gradient(ellipse at 20% 35%, #20193c, transparent 62%), #09080e;
}
.portfolio-hero .portfolio-hero__layout,
.portfolio-detail .case-hero {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  align-items: center;
  gap: clamp(1.5rem, 5vw, 5rem);
}
.portfolio-hero h1,
.portfolio-detail .case-hero h1 {
  margin: 0;
  font-size: clamp(2.8rem, 6vw, 6.2rem);
  line-height: .94;
  letter-spacing: -.065em;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.portfolio-hero h1 em { color: #61f3ce; }
.portfolio-hero .eyebrow,
.portfolio-detail .eyebrow { color: #61f3ce; }
.portfolio-hero .lead { max-width: 36rem; }
.portfolio-hero .button:not(.alt),
.portfolio-detail .growth-actions .button:not(.alt) {
  background: #61f3ce;
  border-color: #61f3ce;
}
.portfolio-hero__photo {
  position: relative;
  margin: 0;
  overflow: hidden;
  isolation: isolate;
  border-radius: 1.5rem;
  box-shadow: 0 24px 65px #0008;
  background: #21172e;
}
.portfolio-hero__photo img {
  display: block;
  width: 100%;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  object-position: center 38%;
}
.portfolio-hero__photo figcaption {
  position: absolute;
  inset: auto 0 0;
  padding: 2.5rem 1.25rem 1rem;
  background: linear-gradient(transparent, #0a0714ed);
  color: #fff;
  font-size: .9rem;
}
.portfolio-collection { background: linear-gradient(160deg, #120e1e, #09090c 50%); }
.portfolio-collection .portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.3vw, 2rem);
}
.portfolio-grid .portfolio-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 0;
  padding: 0;
  border: 1px solid #ffffff25;
  border-radius: 1.15rem;
  background: linear-gradient(145deg, #1b1726, #111017);
  box-shadow: 0 12px 25px #0004;
  transition: border-color .2s, transform .2s;
}
.portfolio-grid .portfolio-card:hover,
.portfolio-grid .portfolio-card:focus-visible {
  border-color: #61f3ce;
  transform: translateY(-4px);
}
.portfolio-card:focus-visible, .portfolio-hero a:focus-visible { outline: 2px solid #61f3ce; outline-offset: 4px; }
.portfolio-card__photo {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center 31%;
  background: #242031;
}
.portfolio-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: .75rem;
  padding: clamp(1.15rem, 2vw, 1.75rem);
}
.portfolio-card .kicker,
.portfolio-card .read { color: #61f3ce; }
.portfolio-card .metric { color: #f0e9ff; }
.portfolio-card h3,
.portfolio-card p { margin: 0; }
.portfolio-card .read { margin-top: auto; padding-top: .5rem; }
.portfolio-detail {
  background: radial-gradient(ellipse at 80% 28%, #21183c, transparent 64%), #0a0911;
}
.portfolio-detail .case-photo {
  overflow: hidden;
  border: 1px solid #ffffff24;
  border-radius: 1.5rem;
  box-shadow: 0 24px 65px #0008;
  background: #141020;
}
.portfolio-detail .case-photo img {
  display: block;
  width: 100%;
  height: clamp(290px, 41vw, 550px);
  object-fit: contain;
}
.portfolio-detail .case-result-big {
  border-color: #61f3ce80;
  background: #61f3ce12;
}
.portfolio-tool-hero h1 { font-size: clamp(2.6rem, 5vw, 5.4rem); }
.portfolio-tool-hero .portfolio-hero__photo img { aspect-ratio: 16 / 10; }

@media (max-width: 900px) {
  .portfolio-collection .portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 660px) {
  .portfolio-hero .portfolio-hero__layout,
  .portfolio-detail .case-hero,
  .portfolio-collection .portfolio-grid { grid-template-columns: minmax(0, 1fr); }
  .portfolio-hero__photo img { aspect-ratio: 16 / 11; }
  .portfolio-hero h1, .portfolio-detail .case-hero h1 { text-wrap: pretty; }
  .portfolio-detail .case-photo img { height: min(72vw, 390px); }
}
@media (prefers-reduced-motion: reduce) {
  .portfolio-grid .portfolio-card { transition: none; }
}

.growth-section { padding: clamp(2.5rem, 6vw, 6rem) 0; }
.growth-section.alt { background: #100d17; }
.growth-title { margin: 0 0 1rem; font-size: clamp(2rem, 4vw, 3.75rem); line-height: 1.04; letter-spacing: -.05em; }
.growth-intro { max-width: 68ch; margin-bottom: 2rem; color: var(--muted); line-height: 1.65; }
.growth-actions, .crosslinks { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.growth-actions .button, .crosslinks a { border-radius: .65rem; }
.crosslinks a { padding: .75rem 1rem; border: 1px solid #ffffff30; text-decoration: none; }
.crosslinks a:hover { border-color: #61f3ce; }
.portfolio-card { text-decoration: none; color: var(--ink); }
.portfolio-card h3 { font-size: clamp(1.35rem, 2.4vw, 1.9rem); line-height: 1.12; letter-spacing: -.025em; }
.portfolio-card p { color: #c5bdcd; line-height: 1.55; }
.portfolio-card .kicker { font-size: .72rem; font-weight: 800; }
.portfolio-card .read { font-size: .86rem; font-weight: 800; }
.case-result-big { display: grid; gap: .35rem; width: fit-content; margin-top: 1.25rem; padding: .8rem 1rem; border: 1px solid #61f3ce80; border-radius: .75rem; }
.case-result-big span { font-size: .8rem; color: #bce8df; }
.case-result-big strong { font-size: clamp(1.05rem, 2.25vw, 1.55rem); }
.case-columns, .proof-gallery, .form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.case-panel, .tool-panel, .tool-result { padding: clamp(1.25rem, 3vw, 2.5rem); border: 1px solid #ffffff24; border-radius: 1.2rem; background: #181421; }
.case-panel h3, .tool-panel h2, .tool-result h2 { margin-top: 0; }
.case-panel p, .definition { line-height: 1.65; color: #c5bdcd; }
.definition { margin-block: 1.75rem; border-inline-start: 3px solid #61f3ce; padding: .75rem 1rem; }
.definition strong { display: block; color: var(--ink); }
.proof-gallery figure { margin: 0; padding: .75rem; border: 1px solid #ffffff22; border-radius: .8rem; background: #15111e; }
.proof-gallery img { display: block; width: 100%; height: auto; border-radius: .45rem; }
.proof-gallery figcaption { margin-top: .65rem; color: #c5bdcd; font-size: .88rem; }
.tool-wrap { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 1rem; align-items: start; }
.tool-wrap .field { display: grid; align-content: start; gap: .5rem; }
.tool-wrap .field label { font-weight: 700; }
.tool-wrap .field input, .tool-wrap .field select { width: 100%; min-height: 46px; padding: .7rem; border: 1px solid #ffffff38; border-radius: .55rem; background: #100d17; color: var(--ink); font: inherit; }
.tool-wrap .field input:focus-visible, .tool-wrap .field select:focus-visible { outline: 2px solid #61f3ce; outline-offset: 2px; }
.tool-wrap .field small, .tool-note { color: #bcb3c7; line-height: 1.5; }
.tool-panel .button { margin-top: 1.25rem; border-radius: .65rem; background: #61f3ce; border-color: #61f3ce; cursor: pointer; }
.result-number { color: #61f3ce; font-size: clamp(1.75rem, 4vw, 3rem); font-weight: 850; }
@media (max-width: 760px) { .tool-wrap { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .case-columns, .proof-gallery, .form-grid { grid-template-columns: 1fr; } }

.result-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .35rem 1rem; padding: .85rem 0; border-top: 1px solid #ffffff22; }
.result-row strong, .timeline-date { color: #61f3ce; }
.timeline-item { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 1rem; padding: 1rem 0; border-top: 1px solid #ffffff22; }
.timeline-item h3, .timeline-item p { margin: 0; }
.timeline-item p { margin-top: .35rem; color: #c5bdcd; line-height: 1.5; }
.timeline-date { font-weight: 800; }
@media (max-width: 560px) { .timeline-item { grid-template-columns: minmax(0,1fr); gap: .3rem; } }

.tool-next { display: none; margin-top: 1.75rem; padding-top: 1.5rem; border-top: 1px solid #ffffff26; }
.tool-result:has(.result-list:not(:empty), .timeline:not(:empty)) .tool-next { display: grid; gap: 1rem; }
.tool-next h3, .tool-next h4, .tool-next p { margin: 0; }
.tool-next h3 { font-size: 1.35rem; letter-spacing: -.035em; }
.tool-next h4 { font-size: 1.13rem; line-height: 1.25; color: #fff; }
.tool-next p { color: #e0e2e7; line-height: 1.55; font-size: .94rem; }
.tool-next__card { overflow: hidden; border: 1px solid #ffffff35; border-radius: 1rem; }
.tool-next__card--ads { background: linear-gradient(145deg, #123a33, #13221f); }
.tool-next__card--service { background: radial-gradient(ellipse at 100% 0%, #3b2d59, transparent 75%), #241d32; }
.tool-next__card img { display: block; width: 100%; height: auto; }
.tool-next__copy { display: grid; gap: .65rem; padding: 1.15rem; }
.tool-next__link { justify-self: start; padding: .65rem .85rem; border-radius: .55rem; background: #61f3ce; color: #08241b; text-decoration: none; font-size: .9rem; font-weight: 800; }
.tool-next__card--service .tool-next__link { background: #e9dcff; color: #251838; }
.tool-next__link:hover { text-decoration: underline; }
.tool-next__link:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

.release-page .article-shell { display: grid; grid-template-columns: minmax(0,1fr) minmax(11rem,14rem); gap: clamp(1.5rem,4vw,4rem); align-items: start; }
.release-page .main-copy > h2, .release-cta h2 { margin: 2.5rem 0 1rem; font-size: clamp(1.8rem,3vw,2.65rem); line-height: 1.1; letter-spacing: -.04em; scroll-margin-top: 1.5rem; }
.release-page .main-copy > h2:first-child, .release-cta h2 { margin-top: 0; }
.release-page .main-copy > p, .release-page .main-copy > ul { color: #e0dbe7; line-height: 1.7; }
.release-page .main-copy > ul { padding-left: 1.2rem; }
.release-page .main-copy > ul li { margin: .55rem 0; }
.release-page li::marker { color: #61f3ce; }
.release-page .service-scope { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .9rem; }
.release-page .scope-item, .release-page .callout, .release-page .sticky-side, .release-page .faq-list details { padding: 1.15rem; border: 1px solid #ffffff28; border-radius: .9rem; background: #171321; }
.release-page .scope-item h3, .release-page .callout h3 { margin: 0 0 .5rem; }
.release-page .scope-item p, .release-page .callout p, .release-page .faq-list p { margin: 0; color: #d2c9dc; line-height: 1.55; }
.release-page .callout { margin-top: 1.15rem; }
.release-page .sticky-side { position: sticky; top: 1rem; display: grid; gap: .8rem; font-size: .88rem; }
.release-page .sticky-side a { color: #d8d2e3; text-decoration: none; }
.release-page .sticky-side a:hover { color: #61f3ce; text-decoration: underline; }
.release-page .portfolio-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.release-page .faq-list { display: grid; gap: .65rem; }
.release-page .faq-list summary { cursor: pointer; font-weight: 750; }
.release-page .faq-list details[open] p { margin-top: .65rem; }
.release-cta { margin-top: 2.5rem; padding: clamp(1.4rem,4vw,3rem); border: 1px solid #61f3ce66; border-radius: 1.15rem; background: linear-gradient(135deg,#15342f,#20182f); }
.release-cta p { color: #ece4f1; line-height: 1.65; }
.release-cta .button { background: #61f3ce; border-color: #61f3ce; border-radius: .65rem; }
@media(max-width: 900px) { .release-page .article-shell { grid-template-columns: minmax(0,1fr); } .release-page .sticky-side { position: static; } }
@media(max-width: 620px) { .release-page .service-scope, .release-page .portfolio-grid { grid-template-columns: minmax(0,1fr); } }
