
/*
 * Desktop calibration — Sou Capitu.
 * Values read off the 1440 x 6693 Figma frame ("Slide 16:9 - 3"); sections are
 * fixed-height canvases and elements sit on their node coordinates.
 *
 * Section bands (frame Y):
 *   hero 0 · commitment 1024 · band 2049 · pains 2147 · band 3073
 *   access 3171 · community 4097 · about 5109 · footer 6330 · end 6693
 *
 * Known approximation: "Vector 1" (the organic gold blob behind the
 * commitment block) is a vector network that the .fig export does not expose
 * as a path. It is rebuilt with a border-radius curve. Exporting that one
 * node as SVG from Figma and dropping it in would close the last gap.
 */
@media (min-width: 1440px) {
  .page-capitu {
    width: 1440px;
    min-width: 1440px;
  }

  /*
   * These blocks carry Figma's own line breaks, so they must never re-wrap:
   * the stand-in fonts are wider than Moisette/Agharti. Everything else
   * (the Inter body copy) wraps naturally, exactly as it does in the file.
   */
  .capitu-hero h1,
  .plan-card h3,
  .capitu-pains h2,
  .pain-list li,
  .capitu-access h3,
  .access-card li,
  .capitu-community h2,
  .responsibility,
  .capitu-footer p {
    white-space: nowrap;
  }

  .page-capitu .container {
    position: absolute;
    inset: 0;
    width: 100%;
    max-width: none;
    margin: 0;
  }

  /* Group 43/50/54/58 — 433 x 44 pill, 20px Inter Bold, 32px arrow badge. */
  .capitu-cta {
    width: 433px;
    height: 44px;
    min-height: 0;
    padding: 6px 6px 6px 22px;
    border-radius: 75px;
    font-size: 20px;
    line-height: 0.96;
  }

  /* ---------------------------------------------------------------- hero */

  .capitu-hero {
    height: 1024px;
    min-height: 0;
    padding: 0;
  }

  .capitu-hero-copy {
    position: absolute;
    inset: 0;
    width: 100%;
    max-width: none;
  }

  .capitu-logo {
    position: absolute;
    top: 70px;
    left: 550px;
    width: 339px;
    height: 142px;
    margin: 0;
  }

  .capitu-hero h1 {
    position: absolute;
    top: 345px;
    left: 138px;
    width: 875px;
    max-width: none;
    margin: 0;
    font-size: 96px;
    line-height: 0.82;
  }

  .capitu-hero p {
    position: absolute;
    top: 557px;
    left: 138px;
    width: 637px;
    max-width: none;
    margin: 0;
    font-size: 24px;
    line-height: 0.96;
  }

  .capitu-hero .capitu-cta {
    position: absolute;
    top: 715px;
    left: 117px;
  }

  .capitu-hero-art {
    position: absolute;
    top: 531px;
    right: auto;
    bottom: auto;
    left: 639px;
    width: 757px;
    height: 504px;
    max-width: none;
  }

  /* ---------------------------------------------------------- commitment */

  .capitu-commitment {
    height: 1025px;
    min-height: 0;
    padding: 0;
  }

  /* Vector 1 ends at frame Y 1855; the page returns to cream below it. */
  .capitu-commitment::after {
    right: 0;
    bottom: 0;
    width: 1440px;
    height: 194px;
    border-radius: 46% 54% 0 0 / 100% 100% 0 0;
  }

  .commitment-copy {
    position: absolute;
    inset: 0;
    width: 100%;
    margin: 0;
  }

  .commitment-copy h2 {
    position: absolute;
    top: 100px;
    left: 470px;
    width: 730px;
    max-width: none;
    margin: 0;
    font-size: 64px;
    line-height: 1;
  }

  .commitment-copy > p {
    position: absolute;
    left: 469px;
    width: 530px;
    max-width: none;
    margin: 0;
    font-size: 24px;
    line-height: 0.96;
  }

  .commitment-copy > p:nth-of-type(1) {
    top: 277px;
  }

  .commitment-copy > p:nth-of-type(2) {
    top: 386px;
  }

  .commitment-images {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .commitment-images img {
    width: 421px;
    height: 526px;
    max-width: none;
    object-fit: cover;
    transform-origin: 0 0;
  }

  /* imagens mulheres-01 */
  .commitment-images img:first-child {
    top: 344px;
    right: auto;
    bottom: auto;
    left: 16px;
    transform: rotate(-12.75deg);
  }

  /* imagens mulheres-02 */
  .commitment-images img:last-child {
    top: 499px;
    right: auto;
    bottom: auto;
    left: 299px;
    transform: none;
  }

  .plan-card {
    position: absolute;
    top: 745px;
    left: 832px;
    width: 499px;
    max-width: none;
    margin: 0;
  }

  .plan-card h3 {
    margin: 0;
    font-size: 32px;
    line-height: 1.01;
  }

  /* Rectangle 32 is 547 wide and starts 24px left of the copy column. */
  .plan-card p {
    width: 547px;
    height: 173px;
    margin: 18px 0 0 -24px;
    padding: 39px 24px 0;
    font-size: 24px;
    line-height: 1.01;
  }

  /* --------------------------------------------------------------- bands */

  .capitu-band {
    height: 98px;
    min-height: 0;
    padding: 0;
  }

  .capitu-band p {
    font-size: 48px;
    line-height: 1.01;
    white-space: nowrap;
  }

  /* --------------------------------------------------------------- pains */

  .capitu-pains {
    position: relative;
    height: 926px;
    padding: 0;
  }

  .capitu-pains h2 {
    position: absolute;
    top: 89px;
    left: 343px;
    width: 748px;
    max-width: none;
    margin: 0;
    font-size: 64px;
    line-height: 0.84;
    transform: rotate(-2.93deg);
    transform-origin: 0 0;
  }

  .pain-list {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .pain-list li {
    position: absolute;
    width: 539px;
    height: 128px;
    margin: 0;
    padding: 0 20px;
    font-size: 32px;
    line-height: 1.01;
    transform-origin: 0 0;
  }

  .pain-list li:nth-child(1) { top: 230px; left: 452px; transform: rotate(0.66deg); }
  .pain-list li:nth-child(2) { top: 372px; left: 446px; transform: rotate(-5.35deg); }
  .pain-list li:nth-child(3) { top: 461px; left: 453px; transform: rotate(2.1deg); }
  .pain-list li:nth-child(4) { top: 595px; left: 448px; transform: rotate(-2.62deg); }

  .capitu-pains > .container > p {
    position: absolute;
    top: 751px;
    left: 386px;
    width: 667px;
    max-width: none;
    margin: 0;
    font-size: 24px;
    line-height: 1.01;
  }

  .capitu-pains .capitu-cta {
    position: absolute;
    top: 831px;
    left: 504px;
  }

  /* -------------------------------------------------------------- access */

  .capitu-access {
    position: relative;
    height: 926px;
    padding: 0;
  }

  .capitu-access .intro {
    position: absolute;
    top: 51px;
    left: 373px;
    width: 667px;
    max-width: none;
    margin: 0;
    font-size: 24px;
    line-height: 1.01;
  }

  .capitu-access h3 {
    position: absolute;
    top: 131px;
    left: 595px;
    width: 221px;
    margin: 0;
    font-size: 24px;
  }

  .access-card {
    position: absolute;
    top: 161px;
    left: 494px;
    width: 452px;
    height: 565px;
    min-height: 0;
    margin: 0;
    padding: 0;
  }

  .access-card ul {
    position: absolute;
    top: 121px;
    left: 94px;
    width: 265px;
    font-size: 32px;
    line-height: 60px;
  }

  .access-card li:last-child {
    line-height: 35px;
  }

  /* "shape 3 marrom" x10 — loose decorative diamonds around the list. */
  .access-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
      var(--diamond), var(--diamond), var(--diamond), var(--diamond), var(--diamond),
      var(--diamond), var(--diamond), var(--diamond), var(--diamond), var(--diamond);
    background-repeat: no-repeat;
    background-size: 17px 21px;
    background-position:
      79px 143px, 139px 203px, 139px 262px, 299px 203px, 301px 262px,
      278px 324px, 344px 384px, 94px 384px, 160px 324px, 359px 143px;
  }

  .capitu-access .belong {
    position: absolute;
    top: 760px;
    left: 416px;
    width: 606px;
    margin: 0;
    font-size: 40px;
    line-height: 0.86;
    transform-origin: 0 0;
  }

  /* ----------------------------------------------------------- community */

  .capitu-community {
    position: relative;
    height: 1012px;
    padding: 0;
  }

  .capitu-community h2 {
    position: absolute;
    top: 147px;
    left: 341px;
    width: 747px;
    max-width: none;
    margin: 0;
    font-size: 64px;
    line-height: 0.84;
    transform: rotate(-2.93deg);
    transform-origin: 0 0;
  }

  /* Group 52: a 562px brown plate behind an 848px caption. */
  .responsibility {
    position: absolute;
    top: 424px;
    left: 298px;
    display: block;
    width: 849px;
    height: 99px;
    margin: 0;
    padding: 12px 0 0;
    background: linear-gradient(
      90deg,
      transparent 0 146px,
      var(--capitu-brown) 146px 708px,
      transparent 708px
    );
    font-size: 36px;
    line-height: 1.01;
    transform: rotate(1.92deg);
    transform-origin: 0 0;
  }

  .process-grid {
    position: absolute;
    top: 632px;
    left: 33px;
    display: block;
    width: 1374px;
    height: 186px;
  }

  .process-grid article {
    position: absolute;
    top: 37px;
    min-height: 0;
    padding: 0;
    border: 0;
  }

  .process-grid article:nth-child(1) { left: 45px; width: 178px; }
  .process-grid article:nth-child(2) { left: 282px; width: 304px; }
  .process-grid article:nth-child(3) { left: 608px; width: 312px; }
  .process-grid article:nth-child(4) { left: 991px; width: 338px; }

  /* Line 4 / Line 5 / Line 6 */
  .process-grid article:nth-child(n + 2)::before {
    content: "";
    position: absolute;
    top: 4px;
    left: -54px;
    height: 87px;
    border-left: 1px solid var(--capitu-brown);
  }

  .process-grid h3 {
    font-size: 27px;
  }

  .process-grid p {
    font-size: 20px;
  }

  .capitu-community .capitu-cta {
    position: absolute;
    top: 876px;
    left: 504px;
    margin: 0;
  }

  /* --------------------------------------------------------------- about */

  .capitu-about {
    position: relative;
    height: 1221px;
    padding: 0;
  }

  .capitu-about-scene {
    position: absolute;
    inset: 0;
    min-height: 0;
  }

  /* shape 2 marrom */
  .capitu-about-back {
    top: 0;
    left: 335px;
    width: 686px;
    height: 857px;
    max-width: none;
  }

  /* Group 56 — Rectangle 37 plus the copy stack, tilted 3.35deg. */
  .capitu-about-card {
    top: 182px;
    left: 159px;
    width: 707px;
    height: 758px;
    padding: 68px 63px;
    border-radius: 47px;
    transform: rotate(-3.35deg);
    transform-origin: 0 0;
  }

  .capitu-about-card h2 {
    width: 377px;
    height: 102px;
    margin: 0;
    font-size: 64px;
    line-height: 51px;
  }

  .capitu-about-card h3 {
    margin: 38px 0 0;
    font-size: 32px;
    line-height: 1.17;
  }

  .capitu-about-card p {
    margin: 0;
    font-size: 32px;
    line-height: 1.17;
  }

  .capitu-about-card p:first-of-type {
    margin-top: 1.17em;
  }

  .capitu-about-card p + p {
    margin-top: 1.17em;
  }

  /* imagens mulher1 */
  .capitu-about-woman {
    top: 450px;
    right: auto;
    bottom: auto;
    left: 873px;
    width: 416px;
    height: 520px;
    max-width: none;
    transform: rotate(10.25deg);
    transform-origin: 0 0;
  }

  .capitu-about .capitu-cta {
    position: absolute;
    top: 1064px;
    left: 504px;
    width: 433px;
    margin: 0;
  }

  /* -------------------------------------------------------------- footer */

  .capitu-footer {
    height: 363px;
    padding: 104px 0 0;
  }

  .capitu-footer p {
    width: 565px;
    margin-inline: auto;
    font-size: 20px;
    line-height: var(--lh-dm);
  }
}

/*
 * Wide screens
 * Preserve the 1440px Figma composition in the center and extend every
 * full-bleed color field to the edges of larger displays.
 */
@media (min-width: 1441px) {
  body {
    overflow-x: hidden;
  }

  .site {
    overflow: visible;
  }

  .capitu-commitment {
    box-shadow: 0 0 0 100vmax var(--capitu-gold);
    clip-path: inset(0 -100vmax);
  }

  .capitu-commitment::after {
    right: 50%;
    width: 100vw;
    transform: translateX(50%);
  }

  .capitu-band {
    box-shadow: 0 0 0 100vmax var(--capitu-orange);
    clip-path: inset(0 -100vmax);
  }

  .capitu-access {
    box-shadow: 0 0 0 100vmax var(--capitu-gold);
    clip-path: inset(0 -100vmax);
  }
}
