/* SERI editorial design, based on the supplied visual handoff. Only loaded by its dedicated document. */

:root {
  --wine: #491820;
  --wine2: #6b2737;
  --gold: #d6ad75;
  --gold2: #e9cfa9;
  --dark: #1b1014;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Arial, Helvetica, sans-serif;
}
html[data-theme="dark"] {
  --page: #21161b;
  --surface: #2a1a23;
  --surface2: #321d25;
  --text: #f6ede5;
  --dim: #c9b7b2;
  --border: rgba(233, 202, 170, 0.18);
  --ink: #f6ede5;
  --paper: #24151b;
  --chip: #3a2530;
  --warm: #ddb77e;
}
html[data-theme="light"] {
  --page: #fbf6ef;
  --surface: #fffaf4;
  --surface2: #f1e5d9;
  --text: #352024;
  --dim: #775f5b;
  --border: rgba(94, 47, 40, 0.18);
  --ink: #352024;
  --paper: #fdf7f0;
  --chip: #f0e4d7;
  --warm: #8e502d;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--page);
  color: var(--text);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}
img {
  max-width: 100%;
  display: block;
}
a {
  text-decoration: none;
  color: inherit;
}
button {
  font: inherit;
  cursor: pointer;
}
button:focus-visible,
a:focus-visible {
  outline: 2px solid #efbf8b;
  outline-offset: 4px;
}
.wrap {
  max-width: 1340px;
  margin: 0 auto;
  padding: 0 54px;
}
.eyebrow {
  font-family: var(--sans);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 3.3px;
  font-weight: 700;
  color: var(--warm);
}

.section {
  padding: 116px 0;
}
.line {
  height: 1px;
  background: var(--border);
}

.nav {
  height: 90px;
  position: relative;
  z-index: 20;
  background: rgba(18, 10, 12, 0.94);
  border-bottom: 1px solid rgba(222, 174, 128, 0.13);
  color: #f6e8d4;
}
.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  gap: 24px;
}
.nav-left {
  display: flex;
  align-items: center;
  gap: 32px;
}
.back {
  font-size: 10px;
  letter-spacing: 1.4px;
  color: #c8b29a;
  white-space: nowrap;
}
.nav-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 69px;
}
.nav-logo img {
  width: 98px;
  max-height: 68px;
  object-fit: contain;
}
.nav-links {
  display: flex;
  align-items: center;
  gap: 26px;
}
.nav-links a {
  font-size: 11px;
  color: #d5c5b8;
  letter-spacing: 0.3px;
}
.nav-links a:hover {
  color: #fff;
}
.nav-actions {
  display: flex;
  align-items: center;
  gap: 14px;
}
.theme-btn {
  color: #f0d4b0;
  border: 1px solid rgba(230, 189, 138, 0.32);
  background: transparent;
  border-radius: 50%;
  height: 36px;
  width: 36px;
}

.hero {
  min-height: 735px;
  position: relative;
  overflow: hidden;
  background: #1a1114;
  color: #fbf2e8;
}
.hero-back {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(18, 9, 13, 0.99) 0%,
      rgba(28, 13, 20, 0.94) 35%,
      rgba(36, 17, 21, 0.44) 71%,
      rgba(21, 11, 12, 0.3) 100%
    ),
    url("../../ventures/seri/hero-wedding.webp") center 35% / cover no-repeat;
}

.hero-inner {
  display: grid;
  grid-template-columns: 1.16fr 0.84fr;
  align-items: center;
  min-height: 735px;
  position: relative;
  gap: 15px;
}
.hero-copy {
  position: relative;
  z-index: 4;
  max-width: 720px;
  padding: 67px 0 92px;
}
.hero-copy .eyebrow {
  color: #e0b986;
}
.hero-title {
  font-family: var(--serif);
  font-size: clamp(52px, 5.6vw, 82px);
  font-weight: 400;
  letter-spacing: -2.6px;
  line-height: 1.06;
  margin: 27px 0 30px;
}
.hero-title em {
  color: #e2bc8e;
  font-weight: 400;
}
.hero-desc {
  font-size: 14px;
  line-height: 1.95;
  color: #e5d3c9;
  max-width: 490px;
}
.buttons {
  display: flex;
  gap: 13px;
  margin-top: 33px;
  flex-wrap: wrap;
}
.btn {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  justify-content: space-between;
  padding: 16px 20px;
  min-height: 49px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.45px;
}
.btn-gold {
  background: #c69a68;
  color: #1c1111;
}
.btn-ghost {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(237, 209, 166, 0.4);
  color: #fbeedc;
}

.hero-visual {
  position: relative;
  z-index: 5;
  min-height: 600px;
}
.hero-logo {
  position: absolute;
  top: 43px;
  right: 0;
  width: min(310px, 70%);
}
.hero-logo img {
  width: 100%;
}
.hero-caption {
  position: absolute;
  right: 0;
  top: 330px;
  text-align: right;
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #e7d1ae;
  line-height: 1.9;
}
.hero-display {
  position: absolute;
  width: 520px;
  right: 2px;
  bottom: 23px;
  transform: rotate(-5deg);
  background: #2b191a;
  padding: 9px;
  border: 1px solid rgba(252, 211, 156, 0.56);
  box-shadow: 0 26px 90px rgba(0, 0, 0, 0.55);
}
.hero-display img {
  width: 100%;
  border-radius: 2px;
}
.floating-stamp {
  position: absolute;
  left: -46px;
  bottom: 150px;
  background: #efe4d6;
  color: #4d2731;
  padding: 20px 20px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  text-align: center;
  transform: rotate(10deg);
  font: italic 20px/1.1 var(--serif);
  box-shadow: 0 10px 45px rgba(0, 0, 0, 0.2);
}
.floating-stamp small {
  font: 700 8px/1.5 var(--sans);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #6e4b50;
}
.hero-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border-top: 1px solid rgba(240, 213, 178, 0.18);
  z-index: 7;
  background: rgba(19, 9, 11, 0.62);
}
.hero-bottom-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 28px;
  padding-top: 20px;
  padding-bottom: 20px;
}
.hero-bottom-item {
  font-size: 10px;
  letter-spacing: 1.9px;
  color: #bfa88d;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 14px;
}
.hero-bottom-item b {
  font: italic 20px var(--serif);
  color: #e9cba4;
  letter-spacing: 0;
}
.intro {
  background: var(--page);
}
.intro-grid {
  display: grid;
  grid-template-columns: 0.88fr 1.12fr;
  gap: 100px;
  align-items: center;
}
.intro-text h2 {
  font: 400 clamp(43px, 4.3vw, 66px)/1.15 var(--serif);
  letter-spacing: -1.7px;
  margin: 27px 0 23px;
}
.intro-text h2 em {
  color: var(--warm);
}
.intro-text p {
  color: var(--dim);
  font-size: 14px;
  line-height: 2;
  max-width: 455px;
}
.challenges {
  margin-top: 46px;
}
.challenge {
  padding: 20px 0;
  border-top: 1px solid var(--border);
  display: grid;
  grid-template-columns: 51px 1fr;
  gap: 14px;
}
.challenge b {
  font: italic 21px var(--serif);
  color: var(--warm);
}
.challenge strong {
  font-size: 13px;
  font-weight: 600;
}
.challenge small {
  display: block;
  color: var(--dim);
  font-size: 11px;
  line-height: 1.8;
  margin-top: 6px;
}
.intro-art {
  position: relative;
  height: 620px;
}
.intro-large {
  position: absolute;
  right: 0;
  top: 10px;
  width: 77%;
  height: 530px;
  object-fit: cover;
  object-position: 50% 45%;
  border-radius: 100px 100px 4px 4px;
}
.intro-small {
  position: absolute;
  left: 0;
  bottom: 10px;
  width: 52%;
  height: 270px;
  object-fit: cover;
  border: 10px solid var(--page);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}
.ornate {
  position: absolute;
  left: 16px;
  top: 12px;
  color: var(--warm);
  font: italic 44px var(--serif);
}
.image-tiny {
  position: absolute;
  right: 15px;
  bottom: 43px;
  color: var(--warm);
  font-size: 9px;
  letter-spacing: 2px;
  text-transform: uppercase;
  writing-mode: vertical-rl;
}
.product {
  background: #2a151d;
  color: #f8f0e8;
  position: relative;
  overflow: hidden;
}
.product::before {
  content: "✦";
  position: absolute;
  right: -60px;
  top: -110px;
  color: rgba(222, 177, 123, 0.05);
  font: 550px var(--serif);
}
.product-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 45px;
  margin-bottom: 48px;
}
.product-head h2 {
  font: 400 clamp(42px, 4.4vw, 67px)/1.11 var(--serif);
  margin: 19px 0 0;
  letter-spacing: -1.6px;
  max-width: 760px;
}
.product-head h2 em {
  color: #ddb180;
}
.product-head p {
  color: #cdb9b1;
  font-size: 12px;
  line-height: 1.9;
  max-width: 255px;
}
.screen-tabs {
  display: flex;
  gap: 7px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.screen-tab {
  padding: 12px 19px;
  background: #371e27;
  border: 1px solid rgba(238, 200, 165, 0.19);
  color: #d4bfb4;
  font-size: 11px;
  letter-spacing: 0.4px;
}
.screen-tab[aria-selected="true"] {
  background: #d1aa79;
  color: #29171b;
  border-color: #d1aa79;
}
.browser {
  border: 1px solid rgba(230, 179, 124, 0.38);
  background: #160b0f;
  padding: 0;
  box-shadow: 0 45px 100px rgba(0, 0, 0, 0.27);
}
.browser-top {
  height: 42px;
  border-bottom: 1px solid #422631;
  background: #180f14;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
}
.dots {
  display: flex;
  gap: 6px;
}
.dots i {
  width: 7px;
  height: 7px;
  background: #7b5d5d;
  border-radius: 50%;
  display: block;
}
.address {
  color: #a49186;
  font: 10px var(--sans);
  letter-spacing: 1px;
}
.screen-img {
  width: 100%;
  height: auto;
  aspect-ratio: 2/1;
  object-fit: cover;
  object-position: center;
}
.screen-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 18px;
  gap: 20px;
}
.screen-footer span {
  font-size: 11px;
  color: #c9b2a7;
}
.screen-footer a {
  color: #ecd1a4;
  font-size: 11px;
  font-weight: 700;
}

.story {
  background: var(--paper);
}
.story-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: end;
  margin-bottom: 58px;
}
.story-head h2 {
  font: 400 clamp(44px, 4.3vw, 65px)/1.14 var(--serif);
  letter-spacing: -1.4px;
  margin: 18px 0 0;
}
.story-head h2 em {
  color: var(--warm);
}
.story-head p {
  font-size: 13px;
  line-height: 2;
  color: var(--dim);
  max-width: 380px;
}
.story-photo-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 19px;
}
.story-main {
  position: relative;
  overflow: hidden;
}
.story-main img {
  width: 100%;
  height: 385px;
  object-fit: cover;
}
.photo-foot {
  background: var(--surface2);
  padding: 20px 23px;
  border: 1px solid var(--border);
  font-size: 12px;
  line-height: 1.6;
}
.photo-foot b {
  color: var(--warm);
  display: block;
  font-size: 9px;
  letter-spacing: 2px;
  margin-bottom: 5px;
  text-transform: uppercase;
}
.story-stack {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 18px;
}
.story-stack img {
  width: 100%;
  height: 183px;
  object-fit: cover;
}
.story-stack figcaption {
  font-size: 10px;
  letter-spacing: 1.3px;
  text-transform: uppercase;
  color: var(--dim);
  padding-top: 9px;
}
.story-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 47px;
}
.step {
  border-top: 1px solid var(--border);
  padding: 21px 0 0;
}
.step span {
  font: italic 26px var(--serif);
  color: var(--warm);
}
.step h3 {
  font: 400 22px var(--serif);
  margin: 14px 0 9px;
}
.step p {
  margin: 0;
  color: var(--dim);
  font-size: 11px;
  line-height: 1.8;
}
.team {
  background: linear-gradient(115deg, #38131f, #6c2732);
  color: #fff1e8;
  padding: 105px 0 0;
  overflow: hidden;
}
.team-layout {
  display: grid;
  grid-template-columns: 0.93fr 1.07fr;
  gap: 36px;
  align-items: center;
  min-height: 550px;
}
.team-copy {
  padding-bottom: 85px;
}
.team h2 {
  font: 400 clamp(48px, 4.5vw, 71px)/1.1 var(--serif);
  letter-spacing: -1.9px;
  margin: 22px 0;
}
.team h2 em {
  color: #e4ba90;
}
.team-copy p {
  max-width: 400px;
  color: #e0c6c0;
  font-size: 13px;
  line-height: 2;
}
.team-names {
  margin-top: 33px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px 22px;
  max-width: 510px;
}
.team-names span {
  font-size: 11px;
  line-height: 1.55;
  color: #f9e9df;
  border-top: 1px solid rgba(241, 211, 189, 0.25);
  padding-top: 10px;
}
.team-photo {
  position: relative;
  align-self: end;
  display: flex;
  align-items: end;
  justify-content: center;
  height: 600px;
}
.team-photo img {
  width: 100%;
  max-height: 560px;
  object-fit: contain;
  object-position: bottom;
  filter: drop-shadow(0 16px 30px rgba(19, 4, 9, 0.27));
}
.team-flower {
  position: absolute;
  color: rgba(227, 191, 150, 0.19);
  font: italic 280px var(--serif);
  right: -36px;
  top: -70px;
  pointer-events: none;
}
.team-caption {
  position: absolute;
  right: 0;
  bottom: 23px;
  font-size: 9px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #e8c5ab;
}
.business {
  background: var(--page);
}
.business-grid {
  display: grid;
  grid-template-columns: 1fr 0.95fr;
  gap: 80px;
  align-items: center;
}
.business h2 {
  font: 400 clamp(40px, 4.3vw, 65px)/1.15 var(--serif);
  letter-spacing: -1.5px;
  margin: 20px 0;
}
.business h2 em {
  color: var(--warm);
}
.business p {
  color: var(--dim);
  font-size: 13px;
  line-height: 2;
  max-width: 480px;
}
.price-card {
  padding: 42px 44px;
  background: var(--surface);
  border: 1px solid var(--border);
  position: relative;
}
.price-card::after {
  content: "✳";
  position: absolute;
  right: 23px;
  top: 5px;
  font: 80px var(--serif);
  color: var(--warm);
  opacity: 0.3;
}
.price-card .eyebrow {
  color: var(--warm);
}
.price {
  font: 400 78px/1.2 var(--serif);
  letter-spacing: -3px;
  margin: 20px 0;
  color: var(--text);
}
.price small {
  font: 13px var(--sans);
  color: var(--dim);
  letter-spacing: 0;
}
.price-card p {
  font-size: 12px;
}
.price-tag {
  display: inline-block;
  margin-top: 24px;
  padding: 11px 14px;
  background: var(--chip);
  color: var(--dim);
  border: 1px solid var(--border);
  font-size: 10px;
  line-height: 1.6;
}
.final {
  position: relative;
  background: #1b1014;
  color: #f7ece2;
  overflow: hidden;
  padding: 105px 0 110px;
}
.final::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      #211114 2%,
      rgba(40, 17, 21, 0.93) 53%,
      rgba(41, 15, 20, 0.37) 100%
    ),
    url("../../ventures/seri/wedding-green.webp") right 48%/56% auto no-repeat;
}
.final-in {
  position: relative;
  z-index: 1;
}
.final h2 {
  font: 400 clamp(53px, 5vw, 77px)/1.12 var(--serif);
  letter-spacing: -1.8px;
  max-width: 760px;
  margin: 23px 0;
}
.final h2 em {
  color: #e2b483;
}
.final p {
  color: #e7cfc5;
  max-width: 480px;
  font-size: 13px;
  line-height: 2;
}
.footer {
  padding: 28px 0;
  background: #140d10;
  color: #bea99c;
}
.footer .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.footer span {
  font-size: 10px;
  letter-spacing: 1px;
}
.footer b {
  color: #dabc98;
}
@media (max-width: 1100px) {
  .wrap {
    padding: 0 34px;
  }
  .nav-links {
    gap: 14px;
  }
  .intro-grid {
    gap: 42px;
  }
  .hero-display {
    width: 430px;
  }
  .hero-title {
    font-size: 61px;
  }
  .hero-logo {
    right: -10px;
    width: 230px;
  }
  .hero-caption {
    top: 295px;
  }
  .team-photo {
    height: 500px;
  }
}
@media (max-width: 760px) {
  .wrap {
    padding: 0 21px;
  }
  .nav {
    height: 73px;
  }
  .nav-left {
    gap: 9px;
  }
  .back {
    font-size: 9px;
  }
  .nav-logo {
    width: 65px;
    height: 52px;
  }
  .nav-logo img {
    width: 65px;
    max-height: 50px;
  }
  .nav-links {
    display: none;
  }

  .theme-btn {
    height: 33px;
    width: 33px;
  }
  .hero {
    min-height: 775px;
  }
  .hero-back {
    background:
      linear-gradient(
        180deg,
        rgba(23, 9, 12, 0.9),
        rgba(28, 13, 18, 0.85) 50%,
        rgba(35, 15, 19, 0.53)
      ),
      url("../../ventures/seri/hero-wedding.webp") center/cover;
  }
  .hero-inner {
    grid-template-columns: 1fr;
    min-height: 775px;
    align-items: start;
  }
  .hero-copy {
    padding: 59px 0 0;
    max-width: 100%;
  }
  .hero-title {
    font-size: 48px;
    letter-spacing: -1.8px;
    margin: 21px 0;
  }
  .hero-desc {
    font-size: 12px;
    line-height: 1.8;
    max-width: 440px;
  }
  .hero-visual {
    min-height: 290px;
  }
  .hero-logo {
    width: 135px;
    top: 12px;
    right: 4px;
  }
  .hero-caption {
    top: 130px;
    font-size: 7px;
  }
  .hero-display {
    width: 64%;
    right: 6px;
    bottom: 30px;
    transform: rotate(-3deg);
  }
  .floating-stamp {
    left: 5px;
    bottom: 44px;
    width: 102px;
    height: 102px;
    font-size: 15px;
    padding: 10px;
  }
  .floating-stamp small {
    font-size: 6px;
  }
  .hero-bottom-grid {
    gap: 8px;
  }
  .hero-bottom-item {
    font-size: 7px;
    letter-spacing: 0.1px;
    gap: 5px;
  }
  .hero-bottom-item b {
    font-size: 15px;
  }
  .section {
    padding: 80px 0;
  }
  .intro-grid,
  .story-head,
  .business-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .intro-text h2,
  .product-head h2,
  .story-head h2,
  .business h2 {
    font-size: 42px;
  }
  .intro-art {
    height: 440px;
  }
  .intro-large {
    height: 390px;
  }
  .intro-small {
    height: 190px;
    width: 54%;
  }
  .product-head {
    display: block;
  }
  .product-head p {
    max-width: 600px;
  }
  .screen-tab {
    padding: 12px 13px;
    font-size: 9px;
  }
  .browser-top {
    height: 30px;
  }
  .address {
    font-size: 7px;
  }

  .story-photo-grid {
    grid-template-columns: 1fr;
  }
  .story-main img {
    height: 270px;
  }
  .story-stack {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: unset;
    gap: 12px;
  }
  .story-stack img {
    height: 150px;
  }
  .story-steps {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .team {
    padding-top: 72px;
  }
  .team-layout {
    grid-template-columns: 1fr;
    gap: 0;
    min-height: unset;
  }
  .team h2 {
    font-size: 49px;
  }
  .team-copy {
    padding-bottom: 15px;
  }
  .team-names {
    grid-template-columns: 1fr 1fr;
  }
  .team-photo {
    height: 330px;
  }
  .team-photo img {
    max-height: 325px;
  }
  .business-grid {
    gap: 30px;
  }
  .price-card {
    padding: 27px;
  }
  .price {
    font-size: 64px;
  }
  .final {
    padding: 85px 0;
  }
  .final::before {
    background:
      linear-gradient(90deg, rgba(29, 12, 17, 0.94), rgba(32, 13, 18, 0.81)),
      url("../../ventures/seri/wedding-green.webp") center/cover;
  }
  .final h2 {
    font-size: 50px;
  }
  .footer .wrap {
    align-items: start;
    flex-direction: column;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* Production refinements: local type, useful reading sizes and accessible controls. */
@font-face {
  font-family: Instrument;
  src: url("../../fonts/InstrumentSans.ttf") format("truetype");
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --sans: Instrument, Arial, Helvetica, sans-serif;
}
html {
  scroll-padding-top: 30px;
}
body {
  font-size: 16px;
  line-height: 1.6;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
}
a,
button {
  touch-action: manipulation;
}
button {
  border-radius: 0;
}
h1,
h2,
h3,
p,
figure {
  margin: 0;
}
h2 em,
h3 em {
  font-weight: 400;
  color: var(--warm);
}
[hidden] {
  display: none !important;
}
.wrap {
  width: 100%;
}
.section {
  padding: clamp(76px, 8vw, 128px) 0;
}
.eyebrow {
  font-size: 11px;
  letter-spacing: 2.6px;
}
.sr-skip {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 100;
  background: #ead4b3;
  color: #251215;
  padding: 12px 20px;
  transform: translateY(-160%);
}
.sr-skip:focus {
  transform: none;
}
.nav {
  height: 100px;
}
.nav-inner {
  gap: 16px;
}
.nav-left {
  gap: 22px;
}
.nav-logo {
  width: 112px;
  height: 85px;
}
.nav-logo img {
  width: 112px;
  max-height: 85px;
}
.back {
  font-size: 12px;
}
.nav-links {
  gap: 22px;
}
.nav-links a {
  font-size: 13px;
  padding: 10px 0;
}
.sr-present {
  font-size: 12px;
  white-space: nowrap;
  border-bottom: 1px solid #ad855e;
  padding: 10px 0;
}
.theme-btn,
.sr-menu {
  width: 44px;
  height: 44px;
  font-size: 21px;
  flex-shrink: 0;
}
.sr-menu {
  display: none;
  background: transparent;
  color: inherit;
  border: 1px solid #987455;
}
.hero-title {
  font-size: clamp(52px, 5.7vw, 82px);
}
.hero-desc {
  font-size: 16px;
  line-height: 1.85;
}
.hero-copy {
  padding: 62px 0 100px;
}
.hero-logo {
  top: 28px;
  width: 300px;
}
.hero-caption {
  top: 277px;
  font-size: 11px;
}
.hero-display {
  bottom: 40px;
  width: min(520px, 110%);
}
.hero-visual {
  min-height: 600px;
}
.floating-stamp {
  left: -45px;
  bottom: 153px;
  z-index: 2;
}
.btn {
  font-size: 13px;
  min-height: 50px;
  padding: 15px 20px;
}
.btn:hover {
  filter: brightness(1.1);
}
.intro-text p {
  font-size: 16px;
  line-height: 1.85;
}
.challenges {
  margin-top: 30px;
}
.challenge {
  padding: 18px 0;
  grid-template-columns: 35px 1fr;
}
.challenge h3 {
  font-size: 17px;
  font-weight: 550;
  line-height: 1.4;
}
.challenge p {
  font-size: 14px;
  line-height: 1.7;
  margin-top: 7px;
}
.intro-art {
  height: 620px;
}
.image-tiny {
  font-size: 10px;
  bottom: 20px;
}
.product-head p,
.story-head p,
.team-copy p,
.business p,
.final p {
  font-size: 16px;
  line-height: 1.8;
}
.product-head p {
  max-width: 310px;
}
.screen-tabs {
  margin-bottom: 18px;
  gap: 9px;
}
.screen-tab {
  font-size: 14px;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
}
.screen-tab[aria-selected="false"] {
  background: #371e27;
}
.browser-top {
  height: 44px;
  padding: 0 16px;
}
.address {
  font-size: 12px;
  letter-spacing: 0.5px;
}
.sr-zoom {
  font-size: 13px;
  color: #eed4ae;
  padding: 10px 0;
}
.screen-img {
  height: auto;
  aspect-ratio: 2/1;
  object-fit: contain;
  background: #fffaf6;
}
.sr-screen-panel {
  margin: 0;
}
.sr-screen-panel + .sr-screen-panel {
  margin-top: 30px;
}
.sr-screen-panel figcaption {
  font-size: 13px;
  color: #d8c5bb;
  line-height: 1.65;
  margin-top: 13px;
  max-width: 900px;
}
.screen-footer span,
.screen-footer a {
  font-size: 14px;
}
.screen-footer {
  margin-top: 24px;
}
.story-head {
  gap: 60px;
  margin-bottom: 38px;
}
.story-head p {
  max-width: 490px;
}
.story-photo-grid {
  align-items: start;
}
.story-main img {
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
}
.photo-foot {
  font-size: 15px;
  padding: 20px 22px;
}
.photo-foot b {
  font-size: 11px;
  letter-spacing: 1.5px;
}
.story-stack img {
  height: auto;
  aspect-ratio: 1.9;
  object-fit: contain;
}
.story-stack figcaption {
  font-size: 11px;
  letter-spacing: 1px;
  line-height: 1.5;
}
.story-steps {
  margin-top: 32px;
}
.step {
  padding-top: 16px;
}
.step h3 {
  font-size: 26px;
  margin: 9px 0;
}
.step p {
  font-size: 14px;
  line-height: 1.75;
}
.sr-note {
  font-size: 13px !important;
  line-height: 1.7 !important;
  color: var(--dim);
  margin-top: 22px;
}
.team {
  padding-top: 85px;
}
.team-layout {
  gap: 24px;
  grid-template-columns: 0.9fr 1.1fr;
}
.team-copy {
  padding-bottom: 56px;
}
.team-copy .eyebrow,
.sr-roster .eyebrow {
  color: #eac39c;
}
.team-copy p {
  max-width: 445px;
}
.team-names {
  gap: 14px 22px;
  margin-top: 24px;
}
.team-names span {
  font-size: 13px;
}
.team-photo {
  height: 570px;
}
.team-photo img {
  height: auto;
  max-height: 540px;
  width: 100%;
  filter: none;
}
.team-caption {
  bottom: 12px;
  font-size: 10px;
}
.sr-roster {
  padding-top: 60px;
  padding-bottom: 90px;
  border-top: 1px solid #b57d8060;
}
.sr-roster-head h3 {
  font: 400 44px/1.15 var(--serif);
  margin: 16px 0 30px;
}
.sr-roster-head em {
  color: #e4ba90;
}
.sr-portraits {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
}
.sr-portraits figure {
  min-width: 0;
}
.sr-portraits img {
  width: 100%;
  height: 260px;
  object-fit: contain;
  object-position: center bottom;
  background: #f0ded3;
  border-radius: 100px 100px 0 0;
}
.sr-portraits figcaption {
  font-size: 14px;
  line-height: 1.55;
  padding-top: 16px;
  overflow-wrap: anywhere;
}
.sr-portraits figcaption span {
  display: block;
  color: #e0c6c0;
  font-size: 12px;
  margin-top: 8px;
}
.price small {
  display: block;
  font-size: 16px;
  margin-top: 8px;
}
.price {
  font-size: 90px;
  line-height: 1.05;
}
.price-card p {
  font-size: 16px;
  line-height: 1.8;
  margin-top: 22px;
}
.price-tag {
  font-size: 13px;
}
.business-grid {
  gap: 65px;
}
.business h2 {
  font-size: clamp(40px, 4.1vw, 62px);
}
.final p {
  max-width: 500px;
}
.final .sr-demo-url {
  font-size: 14px;
  color: #e5bd90;
  margin-top: 30px;
  letter-spacing: 1px;
}
.footer span,
.footer a {
  font-size: 12px;
}
.footer a {
  padding: 8px 0;
}
.sr-solution {
  background: var(--surface2);
}
.sr-solution-head {
  max-width: 910px;
}
.sr-solution h2,
.sr-operations h2,
.sr-workflow h2 {
  font: 400 clamp(40px, 4.4vw, 65px)/1.12 var(--serif);
  letter-spacing: -1.5px;
  margin: 22px 0;
}
.sr-solution-head > p,
.sr-operations-head > p {
  font-size: 17px;
  line-height: 1.85;
  color: var(--dim);
  max-width: 720px;
}
.sr-worlds {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 65px;
  margin-top: 55px;
}
.sr-worlds article {
  border-top: 1px solid var(--border);
  padding-top: 26px;
}
.sr-status {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--warm);
  line-height: 1.7;
}
.sr-worlds h3 {
  font: 400 40px/1.2 var(--serif);
  margin: 18px 0;
}
.sr-worlds p {
  font-size: 17px;
  color: var(--dim);
  max-width: 460px;
}
.sr-worlds a {
  font-size: 14px;
  display: inline-block;
  margin-top: 26px;
  border-bottom: 1px solid var(--warm);
  padding: 5px 0;
}
.sr-operations-head {
  max-width: 800px;
  margin-bottom: 65px;
}
.sr-operation {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 65px;
  align-items: center;
}
.sr-operation + .sr-operation {
  margin-top: 100px;
  padding-top: 80px;
  border-top: 1px solid var(--border);
}
.sr-operation h3 {
  font: 400 clamp(34px, 3.4vw, 50px)/1.2 var(--serif);
  letter-spacing: -1px;
  margin: 22px 0;
}
.sr-operation p,
.sr-operation li {
  font-size: 16px;
  line-height: 1.8;
  color: var(--dim);
}
.sr-operation ul {
  padding-left: 22px;
  margin-top: 22px;
}
.sr-operation li {
  margin-top: 6px;
}
.sr-operation figure img {
  width: 100%;
  height: auto;
  border: 8px solid var(--surface2);
}
.sr-operation figure > a {
  display: block;
}
.sr-operation figcaption {
  font-size: 12px;
  color: var(--dim);
  margin-top: 12px;
}
.sr-workflow {
  background: var(--surface2);
}
.sr-workflow h2 {
  max-width: 900px;
}
.sr-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  margin-top: 50px;
}
.sr-flow article {
  border-top: 1px solid var(--border);
  padding-top: 22px;
}
.sr-flow article > span {
  font-size: 12px;
  color: var(--warm);
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.sr-flow h3 {
  font: 400 30px/1.2 var(--serif);
  margin: 18px 0 14px;
}
.sr-flow p {
  color: var(--dim);
  font-size: 16px;
}
.sr-flow small {
  display: block;
  font-size: 12px;
  color: var(--warm);
  margin-top: 18px;
}
.sr-operator-flow {
  border-top: 1px solid var(--border);
  margin-top: 45px;
  padding-top: 25px;
}
.sr-operator-flow p {
  font-size: 18px;
  margin-top: 12px;
}
.sr-operator-flow p span {
  color: var(--warm);
  padding: 0 10px;
}
#sr-mobile-nav {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #211217;
  padding: 20px 24px;
  box-shadow: 0 15px 30px #0005;
}
#sr-mobile-nav a {
  display: block;
  padding: 12px 0;
  font-size: 16px;
  border-bottom: 1px solid #5c3940;
}
dialog {
  color: var(--text);
  background: var(--page);
  border: 1px solid var(--border);
  padding: 0;
  width: min(1500px, 95vw);
  max-width: 95vw;
  max-height: 92dvh;
}
dialog::backdrop {
  background: #10080de8;
}
.sr-dialog-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 22px;
  position: sticky;
  top: 0;
  background: var(--page);
  gap: 20px;
  z-index: 1;
}
.sr-dialog-bar h2 {
  font: 400 24px var(--serif);
}
.sr-dialog-bar button {
  padding: 12px 20px;
  background: var(--chip);
  color: var(--text);
  border: 1px solid var(--border);
  min-height: 44px;
}
.sr-dialog-image {
  overflow: auto;
  padding: 0 18px 18px;
}
.sr-dialog-image img {
  max-width: none;
  width: 100%;
  height: auto;
}
.sr-dialog-image img[src*="pitch-"] {
  width: min(1300px, 100%);
}
@media (min-width: 1600px) {
  .wrap {
    max-width: 1530px;
    padding-left: 75px;
    padding-right: 75px;
  }
  .hero-inner {
    min-height: 810px;
  }
  .hero-title {
    font-size: 90px;
  }
  .hero-visual {
    min-height: 650px;
  }
  .hero-logo {
    top: 20px;
    width: 330px;
  }
  .hero-caption {
    top: 295px;
  }
  .hero-display {
    width: 580px;
    bottom: 35px;
  }
  .floating-stamp {
    bottom: 190px;
  }
  .intro-grid {
    gap: 110px;
  }
  .team-photo {
    height: 650px;
  }
  .team-photo img {
    max-height: 620px;
  }
}
@media (max-width: 1100px) {
  .nav-links {
    gap: 14px;
  }
  .nav-links a {
    font-size: 12px;
  }
  .nav-left {
    gap: 16px;
  }
  .nav-logo {
    width: 90px;
  }
  .nav-logo img {
    width: 90px;
  }
  .sr-present span {
    display: none;
  }
  .hero-title {
    font-size: 61px;
  }
  .hero-logo {
    right: 0;
    width: 250px;
  }
  .hero-caption {
    top: 257px;
  }
  .hero-display {
    width: 105%;
  }
  .floating-stamp {
    width: 125px;
    height: 125px;
    font-size: 18px;
    left: -20px;
    bottom: 175px;
  }
  .intro-grid {
    gap: 40px;
  }
  .intro-text h2 {
    font-size: 50px;
  }
  .intro-art {
    height: 590px;
  }
  .sr-operation {
    gap: 35px;
    grid-template-columns: 0.85fr 1.15fr;
  }
  .sr-portraits {
    gap: 16px;
  }
  .sr-portraits img {
    height: 220px;
  }
  .team-layout {
    grid-template-columns: 1fr 1fr;
  }
  .team-photo {
    height: 500px;
  }
  .team-names span {
    font-size: 12px;
  }
  .business-grid {
    gap: 40px;
  }
  .price-card {
    padding: 32px;
  }
}
@media (max-width: 900px) {
  .nav {
    height: 86px;
  }
  .nav-links {
    display: none;
  }
  .sr-menu {
    display: block;
  }
  .hero-inner {
    grid-template-columns: 1fr 1fr;
  }
  .hero-title {
    font-size: 54px;
    letter-spacing: -1.7px;
  }
  .hero-desc {
    font-size: 15px;
  }
  .hero-logo {
    width: 220px;
  }
  .hero-caption {
    top: 245px;
  }
  .hero-display {
    bottom: 65px;
    width: 110%;
  }
  .floating-stamp {
    display: none;
  }
  .intro-grid {
    grid-template-columns: 1fr;
  }
  .intro-text {
    max-width: 650px;
  }
  .intro-art {
    height: 510px;
    max-width: 620px;
    width: 100%;
    margin: 15px auto 0;
  }
  .intro-large {
    height: 450px;
  }
  .intro-small {
    height: 230px;
  }
  .image-tiny {
    bottom: 16px;
  }
  .product-head {
    display: block;
  }
  .product-head p {
    max-width: 650px;
    margin-top: 24px;
  }
  .sr-worlds {
    gap: 35px;
  }
  .sr-operation {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .sr-operation > div {
    max-width: 650px;
  }
  .sr-operation figure {
    max-width: 750px;
  }
  .sr-operation + .sr-operation {
    margin-top: 65px;
    padding-top: 60px;
  }
  .story-head {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .story-head p {
    max-width: 680px;
  }
  .team-layout {
    grid-template-columns: 1fr 1fr;
  }
  .team h2 {
    font-size: 48px;
  }
  .team-photo {
    height: 440px;
  }
  .sr-portraits {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
  }
  .sr-portraits img {
    height: 280px;
  }
  .sr-flow {
    gap: 22px;
  }
  .sr-flow h3 {
    font-size: 26px;
  }
  .sr-operator-flow p {
    font-size: 16px;
  }
  .sr-operator-flow p span {
    padding: 0 5px;
  }
}
@media (max-width: 760px) {
  .hero {
    min-height: 0;
  }
  .hero-inner {
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  .hero-copy {
    padding: 55px 0 20px;
    max-width: 560px;
  }
  .hero-title {
    font-size: clamp(43px, 9.2vw, 62px);
    line-height: 1.1;
    letter-spacing: -1.4px;
    margin: 22px 0;
  }
  .hero-desc {
    font-size: 16px;
    line-height: 1.8;
  }
  .hero .buttons {
    gap: 10px;
    margin-top: 27px;
  }
  .hero .btn {
    font-size: 12px;
    padding: 13px 15px;
    gap: 12px;
  }
  .hero-visual {
    min-height: 360px;
    width: 100%;
    max-width: 580px;
    align-self: center;
    margin-bottom: 70px;
  }
  .hero-logo {
    top: 0;
    right: 0;
    width: 170px;
  }
  .hero-caption {
    right: auto;
    left: 0;
    top: 35px;
    text-align: left;
    font-size: 10px;
    max-width: 150px;
    letter-spacing: 1.5px;
  }
  .hero-display {
    width: 92%;
    bottom: 25px;
    right: 8px;
    transform: rotate(-3deg);
    padding: 6px;
  }
  .hero-bottom-grid {
    gap: 10px;
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .hero-bottom-item {
    font-size: 8px;
    line-height: 1.5;
    letter-spacing: 0.2px;
    gap: 6px;
  }
  .hero-bottom-item b {
    font-size: 17px;
  }
  .intro-text h2,
  .product-head h2,
  .story-head h2,
  .business h2 {
    font-size: 43px;
  }
  .intro-text p {
    font-size: 16px;
  }
  .intro-art {
    height: 440px;
  }
  .intro-large {
    height: 380px;
  }
  .intro-small {
    height: 190px;
  }
  .challenge h3 {
    font-size: 17px;
  }
  .challenge p {
    font-size: 14px;
  }
  .product-head {
    margin-bottom: 30px;
  }
  .product-head p {
    font-size: 16px;
  }
  .screen-tab {
    font-size: 12px;
    padding: 12px 13px;
  }
  .browser-top {
    height: 42px;
    padding: 0 12px;
  }
  .address {
    font-size: 10px;
  }
  .sr-zoom {
    font-size: 12px;
  }
  .screen-img {
    aspect-ratio: auto;
  }
  .sr-screen-panel figcaption {
    font-size: 12px;
  }
  .screen-footer {
    align-items: start;
    flex-direction: column;
    gap: 12px;
  }
  .screen-footer span,
  .screen-footer a {
    font-size: 13px;
  }
  .story-head {
    gap: 22px;
    margin-bottom: 32px;
  }
  .story-main img {
    height: auto;
  }
  .story-stack {
    gap: 16px;
  }
  .story-stack img {
    height: auto;
  }
  .story-stack figcaption {
    font-size: 10px;
    letter-spacing: 0.3px;
  }
  .story-steps {
    grid-template-columns: 1fr;
    gap: 23px;
    margin-top: 28px;
  }
  .step h3 {
    font-size: 26px;
  }
  .step p {
    font-size: 15px;
  }
  .team {
    padding-top: 70px;
  }
  .team-layout {
    grid-template-columns: 1fr;
  }
  .team h2 {
    font-size: 51px;
  }
  .team-copy {
    padding-bottom: 20px;
  }
  .team-copy p {
    font-size: 16px;
  }
  .team-names span {
    font-size: 13px;
  }
  .team-photo {
    height: auto;
    min-height: 330px;
    padding-top: 10px;
  }
  .team-photo img {
    height: auto;
    max-height: 480px;
  }
  .team-caption {
    bottom: 12px;
    font-size: 9px;
  }
  .sr-roster {
    padding-top: 45px;
    padding-bottom: 70px;
  }
  .sr-roster-head h3 {
    font-size: 37px;
  }
  .sr-portraits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 16px;
  }
  .sr-portraits img {
    height: 235px;
  }
  .sr-portraits figcaption {
    font-size: 13px;
  }
  .business-grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .price-card {
    padding: 30px;
  }
  .price {
    font-size: 80px;
  }
  .price small {
    font-size: 15px;
  }
  .price-tag {
    font-size: 12px;
  }
  .final h2 {
    font-size: 50px;
  }
  .final p {
    font-size: 16px;
  }
  .footer .wrap {
    gap: 14px;
  }
  .sr-solution h2,
  .sr-operations h2,
  .sr-workflow h2 {
    font-size: 43px;
  }
  .sr-worlds {
    grid-template-columns: 1fr;
    gap: 35px;
    margin-top: 35px;
  }
  .sr-worlds h3 {
    font-size: 35px;
  }
  .sr-worlds p,
  .sr-solution-head > p,
  .sr-operations-head > p {
    font-size: 16px;
  }
  .sr-status {
    font-size: 11px;
    letter-spacing: 1px;
  }
  .sr-operations-head {
    margin-bottom: 42px;
  }
  .sr-operation h3 {
    font-size: 38px;
  }
  .sr-operation p,
  .sr-operation li {
    font-size: 16px;
  }
  .sr-flow {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 35px;
  }
  .sr-flow h3 {
    font-size: 30px;
    margin-top: 12px;
  }
  .sr-flow small {
    margin-top: 10px;
  }
  .sr-operator-flow p {
    font-size: 17px;
    line-height: 2;
  }
  .sr-dialog-bar {
    padding: 12px;
  }
  .sr-dialog-bar h2 {
    font-size: 19px;
  }
  .sr-dialog-bar button {
    padding: 10px 14px;
  }
  .sr-dialog-image {
    padding: 0 10px 10px;
  }
  .sr-dialog-image img {
    width: auto;
    max-width: none;
    max-height: 72vh;
  }
  .sr-dialog-image img[src*="pitch-"] {
    width: 100%;
    max-width: none;
    max-height: none;
  }
}
@media (max-width: 420px) {
  .wrap {
    padding-left: 22px;
    padding-right: 22px;
  }
  .nav-left {
    gap: 10px;
  }
  .nav-logo {
    width: 72px;
    height: 68px;
  }
  .nav-logo img {
    width: 72px;
    max-height: 68px;
  }
  .nav-inner {
    gap: 10px;
  }
  .nav-actions {
    gap: 10px;
  }
  .back {
    font-size: 10px;
  }
  .sr-present {
    font-size: 11px;
  }
  .theme-btn,
  .sr-menu {
    width: 40px;
    height: 44px;
  }
  .hero-visual {
    min-height: 320px;
  }
  .hero-logo {
    width: 160px;
  }
  .hero-title {
    font-size: 45px;
  }
  .hero-caption {
    font-size: 9px;
    max-width: 140px;
    top: 30px;
  }
  .hero-display {
    bottom: 20px;
  }
  .sr-portraits img {
    height: 210px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }
}
/* Preserve intrinsic image proportions, including the untouched official marks. */
img {
  height: auto;
}
.product .eyebrow {
  color: #e0b986;
}
.price-card::after {
  content: "✦";
  color: var(--warm);
}
.product::before {
  pointer-events: none;
}
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--warm);
  outline-offset: 4px;
}
.nav :focus-visible,
.hero :focus-visible,
.product :focus-visible,
.team :focus-visible,
.final :focus-visible,
.footer :focus-visible {
  outline-color: #efbf8b;
}
/* Keep the decorative flower behind the transparent group photograph. */
.team-flower {
  z-index: 0;
}
.team-photo img {
  position: relative;
  z-index: 1;
}
.team-caption {
  z-index: 2;
}
/* The framed screen owns the lower hero; keep its small caption clear on phones. */
.hero-caption {
  display: none;
}
.final .eyebrow {
  color: #e0b986;
}
@media (max-width: 760px) {
  .hero-caption {
    display: block;
  }
}

/* Founders only: original student poster artwork and three connected editorial beats. */
#founders.sr-founders {
  padding: 0;
  background: var(--page);
  color: var(--text);
  overflow: clip;
}
#founders .sr-founder-intro {
  padding: 90px 0 65px;
}
#founders .team-layout {
  min-height: 0;
  gap: 60px;
  align-items: center;
}
#founders .team-copy {
  padding-bottom: 0;
}
#founders .team-copy .eyebrow {
  color: var(--warm);
}
#founders .team-copy p,
#founders .team-names span {
  color: var(--dim);
}
#founders .team h2 em,
#founders .team-copy h2 em {
  color: var(--warm);
}
#founders .team-names span {
  border-color: var(--border);
}
#founders .team-photo {
  height: 570px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-self: center;
  padding: 0;
  min-width: 0;
}
#founders .team-photo img {
  position: static;
  width: 100%;
  height: calc(100% - 40px);
  max-height: none;
  object-fit: contain;
  filter: none;
}
#founders .team-caption {
  position: static;
  color: var(--warm);
  font-size: 11px;
  margin-top: 14px;
  letter-spacing: 1.8px;
}
#founders .sr-founder-discover {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  color: var(--warm);
  font-size: 13px;
  letter-spacing: 1px;
  margin-top: 30px;
  padding: 10px 0;
  border-bottom: 1px solid var(--border);
}
#founders .sr-founder-spotlight {
  padding: 75px 0 95px;
  background: var(--surface2);
  border-block: 1px solid var(--border);
}
#founders .sr-founder-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 50px;
  margin-bottom: 40px;
}
#founders .sr-founder-heading h3 {
  font: 400 clamp(42px, 4.2vw, 64px)/1.15 var(--serif);
  letter-spacing: -1.6px;
  margin-top: 16px;
}
#founders .sr-founder-heading p {
  max-width: 320px;
  font-size: 15px;
  line-height: 1.8;
  color: var(--dim);
}
#founders .sr-founder-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr);
  gap: 65px;
  align-items: start;
}
#founders .sr-founder-panel + .sr-founder-panel {
  margin-top: 60px;
}
#founders .sr-founder-art {
  width: min(100%, 530px);
  margin: 0 auto;
  padding: 12px;
  border: 1px solid var(--warm);
  background: var(--surface);
  box-shadow: 0 22px 60px #16060b20;
  min-width: 0;
}
#founders .sr-founder-art > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/5;
  object-fit: contain;
  object-position: center;
  filter: none;
  border-radius: 0;
  transform: none;
}
#founders .sr-founder-art figcaption {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  align-items: center;
  justify-content: space-between;
  padding: 15px 3px 3px;
  font-size: 12px;
  color: var(--dim);
}
#founders .sr-founder-art figcaption a {
  color: var(--warm);
  font-size: 13px;
  padding: 5px 0;
  border-bottom: 1px solid var(--border);
}
#founders .sr-founder-detail {
  min-width: 0;
  padding: 25px 0 0;
}
#founders .sr-founder-count {
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--warm);
  text-transform: uppercase;
}
#founders .sr-founder-detail h4 {
  font: 400 clamp(34px, 3.6vw, 56px)/1.14 var(--serif);
  letter-spacing: -1.3px;
  margin: 22px 0;
  overflow-wrap: anywhere;
}
#founders .sr-founder-role span {
  display: block;
  color: var(--dim);
  font-size: 12px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  margin-bottom: 10px;
}
#founders .sr-founder-role strong {
  display: block;
  font-size: 16px;
  line-height: 1.65;
  color: var(--warm);
  font-weight: 600;
}
#founders .sr-founder-navigation {
  min-width: 0;
  margin-top: 35px;
}
#founders .sr-founder-picker {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 20px;
  align-items: start;
}
#founders .sr-founder-tab {
  display: block;
  min-width: 0;
  color: var(--dim);
  padding: 5px;
  border: 1px solid var(--border);
  background: var(--surface);
}
#founders .sr-founder-tab img {
  width: 100%;
  height: auto;
  aspect-ratio: 4/5;
  display: block;
  object-fit: contain;
  filter: none;
  border-radius: 0;
  transform: none;
}
#founders .sr-founder-tab > span {
  display: block;
  font-size: 10px;
  line-height: 1.5;
  padding: 9px 0 2px;
  text-align: center;
}
#founders .sr-founder-tab[aria-selected="true"] {
  border-color: var(--warm);
  color: var(--warm);
  box-shadow: 0 0 0 2px var(--warm);
}
#founders .sr-founder-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 25px;
}
#founders .sr-founder-controls button {
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 50%;
  width: 48px;
  height: 48px;
  font-size: 23px;
}
#founders [data-founder-progress] {
  font-size: 13px;
  letter-spacing: 2px;
  color: var(--warm);
}
#founders .sr-founder-shell.is-enhanced {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr);
  gap: 0 65px;
}
#founders .is-enhanced .sr-founder-panel {
  grid-column: 1 / -1;
  grid-row: 1;
  margin-top: 0;
}
#founders .is-enhanced .sr-founder-detail {
  padding-bottom: 280px;
}
#founders .is-enhanced .sr-founder-navigation {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  margin: 0 0 35px;
}
#founders .sr-founder-moments {
  padding: 85px 0 100px;
}
#founders .sr-founder-candids {
  display: grid;
  grid-template-columns: 1.12fr 0.88fr;
  gap: 28px;
  align-items: start;
}
#founders .sr-founder-candids figure {
  min-width: 0;
  padding: 20px 24px 18px;
  background: var(--surface2);
  border: 1px solid var(--border);
}
#founders .sr-founder-candids figure:nth-child(2) {
  margin-top: 45px;
}
#founders .sr-founder-candids img {
  width: 100%;
  height: 465px;
  object-fit: contain;
  object-position: center bottom;
  filter: none;
}
#founders .sr-founder-candids figcaption {
  font-size: 11px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--warm);
  padding-top: 15px;
  text-align: center;
}
#founders :focus-visible {
  outline: 2px solid var(--warm);
  outline-offset: 5px;
}
#sr-lightbox.sr-poster-dialog {
  width: min(900px, 96vw);
  max-height: 94dvh;
}
#sr-lightbox.sr-poster-dialog .sr-dialog-image img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 78dvh;
  object-fit: contain;
  margin-inline: auto;
  filter: none;
}
@media (min-width: 1600px) {
  #founders .team-photo {
    height: 650px;
  }
}
@media (max-width: 1100px) {
  #founders .team-layout {
    gap: 35px;
  }
  #founders .team-photo {
    height: 500px;
  }
  #founders .sr-founder-panel,
  #founders .sr-founder-shell.is-enhanced {
    gap: 0 40px;
  }
  #founders .sr-founder-detail {
    padding-top: 10px;
  }
  #founders .sr-founder-detail h4 {
    font-size: 38px;
  }
  #founders .sr-founder-tab > span {
    font-size: 9px;
  }
  #founders .sr-founder-picker {
    gap: 7px;
  }
  #founders .is-enhanced .sr-founder-navigation {
    margin-bottom: 0;
  }
  #founders .sr-founder-candids img {
    height: 400px;
  }
}
@media (max-width: 900px) {
  #founders .team-layout {
    grid-template-columns: 1fr;
  }
  #founders .team-copy {
    max-width: 640px;
  }
  #founders .team-photo {
    height: 550px;
    width: min(100%, 650px);
    margin: 20px auto 0;
  }
  #founders .sr-founder-panel {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  #founders .sr-founder-shell.is-enhanced {
    display: block;
  }
  #founders .is-enhanced .sr-founder-detail {
    padding-bottom: 0;
  }
  #founders .sr-founder-detail {
    width: min(100%, 600px);
    margin-inline: auto;
  }
  #founders .sr-founder-detail h4 {
    font-size: 44px;
  }
  #founders .is-enhanced .sr-founder-navigation,
  #founders .sr-founder-navigation {
    width: min(100%, 600px);
    margin: 32px auto 0;
  }
  #founders .sr-founder-heading {
    display: block;
  }
  #founders .sr-founder-heading p {
    max-width: 580px;
    margin-top: 20px;
  }
  #founders .sr-founder-tab > span {
    font-size: 11px;
  }
  #founders .sr-founder-candids img {
    height: 350px;
  }
}
@media (max-width: 570px) {
  #founders .sr-founder-intro {
    padding: 65px 0 45px;
  }
  #founders .team-layout {
    gap: 0;
  }
  #founders .team-copy h2 {
    font-size: 50px;
  }
  #founders .team-names {
    gap: 14px 18px;
  }
  #founders .team-names span {
    font-size: 13px;
  }
  #founders .team-photo {
    height: auto;
    min-height: 0;
    margin-top: 30px;
  }
  #founders .team-photo img {
    height: auto;
    max-height: none;
  }
  #founders .team-caption {
    font-size: 10px;
    margin-top: 12px;
  }
  #founders .sr-founder-spotlight {
    padding: 55px 0 60px;
  }
  #founders .sr-founder-heading {
    margin-bottom: 30px;
  }
  #founders .sr-founder-heading h3 {
    font-size: 42px;
  }
  #founders .sr-founder-heading p {
    font-size: 15px;
  }
  #founders .sr-founder-art {
    padding: 8px;
  }
  #founders .sr-founder-art figcaption {
    font-size: 10px;
    gap: 8px 12px;
  }
  #founders .sr-founder-art figcaption a {
    font-size: 12px;
  }
  #founders .sr-founder-detail h4 {
    font-size: 36px;
  }
  #founders .sr-founder-role strong {
    font-size: 16px;
  }
  #founders .sr-founder-picker {
    gap: 6px;
  }
  #founders .sr-founder-tab {
    padding: 2px;
  }
  #founders .sr-founder-tab > span {
    font-size: 9px;
  }
  #founders .sr-founder-candids {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  #founders .sr-founder-candids figure {
    padding: 18px 18px 16px;
  }
  #founders .sr-founder-candids figure:nth-child(2) {
    margin: 0;
  }
  #founders .sr-founder-candids img {
    height: auto;
  }
  #founders .sr-founder-moments {
    padding: 55px 0 70px;
  }
}
