.story {
  --blue: #071a31;
  --blue-2: #1e3b63;
  --gold: #ffb20f;
  --paper: #f4f0e5;
  --ink: #102945;
  position: relative;
  overflow: clip;
  background: var(--paper);
  color: var(--ink);
}

.story-progress {
  position: fixed;
  z-index: 200;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  pointer-events: none;
  transform: scaleX(var(--story-progress, 0));
  transform-origin: left center;
  background: var(--gold);
  box-shadow: 0 0 20px rgba(255, 178, 15, .55);
}

.story [data-story-reveal] {
  opacity: 1;
  filter: none;
  transform: none;
}

.story-motion-ready .story [data-story-reveal] {
  opacity: .72;
  filter: blur(2px);
  transform: translateY(34px);
  transition: opacity .8s ease, filter .8s ease, transform 1s cubic-bezier(.16, 1, .3, 1);
  transition-delay: calc(var(--i, 0) * 70ms);
}

.story-motion-ready .story [data-story-reveal].story-visible { opacity: 1; filter: none; transform: none; }

.mark { width: 52px; height: 60px; object-fit: contain; }
.chapter { display: block; margin-bottom: 24px; color: var(--gold); font-size: 10px; font-weight: 900; letter-spacing: .2em; }

.hero { position: relative; min-height: 900px; height: 100svh; overflow: hidden; background: var(--blue); color: white; }
.heroImage { position: absolute; inset: -6%; background: url('../../images/photos/crav-2014-2015.webp') center 32% / cover no-repeat; transform: translateY(var(--story-drift, 0px)) scale(1.03); filter: saturate(.78) contrast(1.08); }
.heroShade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5, 20, 39, .98) 0%, rgba(5, 20, 39, .88) 38%, rgba(5, 20, 39, .18) 78%), linear-gradient(0deg, rgba(4, 18, 35, .9), transparent 48%); }
.nav { position: relative; z-index: 3; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; width: min(1320px, calc(100% - 64px)); height: 108px; margin: auto; border-bottom: 1px solid rgba(255,255,255,.18); }
.brand { display: flex; align-items: center; gap: 14px; width: max-content; }
.brand > span, .footerBrand > span { display: grid; }
.brand b, .footerBrand b { font-family: var(--font-display); font-size: 24px; line-height: 1; }
.brand small, .footerBrand small { margin-top: 5px; font-size: 7px; font-weight: 900; letter-spacing: .16em; opacity: .65; }
.navChapters { display: flex; gap: 34px; color: rgba(255,255,255,.7); font-size: 12px; font-weight: 800; }
.navChapters a { transition: color .2s; }
.navChapters a:hover { color: var(--gold); }
.back { justify-self: end; padding: 16px 18px; border: 1px solid rgba(255,255,255,.35); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.back span { margin-left: 20px; color: var(--gold); }
.heroCopy { position: relative; z-index: 2; width: min(1320px, calc(100% - 64px)); margin: clamp(85px, 13vh, 150px) auto 0; }
.kicker { margin: 0 0 30px; color: var(--gold); font-size: 11px; font-weight: 900; letter-spacing: .24em; }
.hero h1 { margin: 0; font-size: clamp(7rem, min(14vw, 19vh), 13.5rem); line-height: .76; text-transform: uppercase; }
.hero h1 em { color: var(--gold); }
.heroIntro { display: grid; grid-template-columns: minmax(280px, 470px) 1fr; align-items: end; gap: 60px; max-width: 930px; margin-top: 44px; }
.heroIntro p { margin: 0; color: rgba(255,255,255,.82); font-size: 20px; line-height: 1.55; }
.heroIntro span { padding-bottom: 5px; color: rgba(255,255,255,.55); font-size: 9px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.heroFoot { position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: 82px; padding: 0 max(32px, calc((100% - 1320px) / 2)); border-top: 1px solid rgba(255,255,255,.17); background: rgba(5,20,39,.77); backdrop-filter: blur(12px); font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.heroFoot strong { color: var(--gold); }
.heroFoot span:last-child { text-align: right; }

.rail { position: fixed; z-index: 20; top: 50%; right: 18px; display: grid; gap: 12px; transform: translateY(-50%); }
.rail a { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid rgba(16,41,69,.24); border-radius: 50%; background: rgba(244,240,229,.82); font-size: 8px; font-weight: 900; backdrop-filter: blur(8px); }

.origin { display: grid; grid-template-columns: .95fr 1.05fr; width: min(1320px, calc(100% - 64px)); margin: auto; padding: 150px 0; }
.originLead { align-self: start; padding-right: 60px; }
.origin h2, .field h2, .resistance h2, .world h2, .generations h2, .river h2, .legacy h2 { margin: 0; font-family: var(--font-display); font-size: clamp(3.5rem, 6.6vw, 7rem); line-height: .9; letter-spacing: -.06em; text-transform: uppercase; }
.originText { display: grid; grid-template-columns: 1.25fr .75fr; gap: 40px; align-self: end; padding-top: 75px; }
.originText p { margin: 0; color: #526b83; font-size: 15px; line-height: 1.8; }
.originText .dropcap { color: var(--ink); font-size: 20px; }
.dropcap::first-letter { float: left; margin: 5px 10px 0 0; color: var(--gold); font-family: var(--font-display); font-size: 72px; line-height: .72; }
.originPhoto { position: relative; grid-column: 1 / -1; height: 610px; margin: 100px 0 0; overflow: hidden; }
.originPhoto img { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; filter: saturate(.82); }
.originPhoto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,20,39,.86), transparent 52%); }
.originPhoto figcaption { position: absolute; z-index: 2; right: 42px; bottom: 38px; left: 42px; display: flex; align-items: end; justify-content: space-between; color: white; }
.originPhoto figcaption b { font-family: var(--font-display); font-size: 25px; }
.originPhoto figcaption span { color: var(--gold); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.originQuote { grid-column: 1 / -1; max-width: 950px; margin: 85px auto 0; color: var(--blue-2); font-family: var(--font-display); font-size: clamp(2rem, 4.5vw, 4.5rem); line-height: 1.02; text-align: center; text-transform: uppercase; }

.field { padding: 145px 0 0; background: var(--blue-2); color: white; }
.fieldIntro { display: grid; grid-template-columns: 1fr .7fr; gap: 70px; width: min(1320px, calc(100% - 64px)); margin: auto; }
.fieldIntro .chapter { grid-column: 1 / -1; }
.fieldIntro p { align-self: end; max-width: 430px; margin: 0; color: rgba(255,255,255,.66); font-size: 17px; line-height: 1.7; }
.yearField { display: grid; grid-template-columns: repeat(3, 1fr); width: min(1320px, calc(100% - 64px)); margin: 105px auto 0; border-top: 1px solid rgba(255,255,255,.18); border-left: 1px solid rgba(255,255,255,.18); }
.yearMark { position: relative; min-height: 330px; padding: 30px; border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.yearMark time { color: var(--gold); font-family: var(--font-display); font-size: 44px; }
.yearMark > span { position: absolute; top: 33px; right: 28px; color: rgba(255,255,255,.32); font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.yearMark h3 { margin: 95px 0 16px; font-family: var(--font-display); font-size: 23px; text-transform: uppercase; }
.yearMark p { max-width: 330px; margin: 0; color: rgba(255,255,255,.6); font-size: 13px; line-height: 1.7; }
.breakPhoto { position: relative; height: 720px; margin: 140px 0 0; overflow: hidden; }
.breakPhoto img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.breakPhoto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,20,39,.92), transparent 65%); }
.breakPhoto figcaption { position: absolute; z-index: 2; right: max(32px, calc((100% - 1320px)/2)); bottom: 50px; left: max(32px, calc((100% - 1320px)/2)); display: flex; align-items: end; justify-content: space-between; }
.breakPhoto span { color: var(--gold); font-size: 9px; font-weight: 900; letter-spacing: .18em; }
.breakPhoto b { max-width: 560px; font-family: var(--font-display); font-size: 30px; line-height: 1.08; text-align: right; text-transform: uppercase; }

.resistance { position: relative; min-height: 850px; overflow: hidden; padding: 150px max(32px, calc((100% - 1320px)/2)); background: var(--gold); }
.resistanceWord { position: absolute; top: -4vw; left: -1vw; color: rgba(7,26,49,.08); font-family: var(--font-display); font-size: 28vw; line-height: 1; letter-spacing: -.08em; }
.resistanceCopy { position: relative; z-index: 1; width: 58%; margin-left: 42%; }
.resistanceCopy .chapter { color: var(--blue); }
.resistanceCopy h2 em { color: white; }
.resistanceCopy p { max-width: 660px; margin: 38px 0 0; font-size: 18px; line-height: 1.75; }
.resistanceFacts { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 105px; border-block: 1px solid rgba(7,26,49,.25); }
.resistanceFacts div { display: flex; align-items: center; gap: 20px; padding: 30px 25px; border-right: 1px solid rgba(7,26,49,.25); }
.resistanceFacts div:last-child { border: 0; }
.resistanceFacts b { font-family: var(--font-display); font-size: 34px; }
.resistanceFacts span { font-size: 10px; font-weight: 900; line-height: 1.5; text-transform: uppercase; }

.world { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; padding: 150px max(32px, calc((100% - 1320px)/2)); background: var(--blue); color: white; }
.worldTitle { grid-column: 1 / -1; }
.worldTitle h2 { max-width: 1050px; }
.worldMap { position: relative; display: grid; gap: 45px; min-height: 540px; padding: 55px; border: 1px solid rgba(255,255,255,.2); background: radial-gradient(circle at center, rgba(41,79,124,.7), transparent 64%); }
.routeLine { position: absolute; top: 12%; bottom: 12%; left: 75px; width: 1px; background: rgba(255,178,15,.65); }
.place { position: relative; z-index: 1; display: grid; grid-template-columns: 16px 1fr; column-gap: 20px; align-items: center; }
.place i { grid-row: 1 / 3; width: 12px; height: 12px; border: 3px solid var(--gold); border-radius: 50%; background: var(--blue); }
.place b { font-family: var(--font-display); font-size: 25px; }
.place span { color: rgba(255,255,255,.5); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.worldCopy { align-self: center; }
.worldCopy p { max-width: 580px; margin: 0 0 25px; color: rgba(255,255,255,.68); font-size: 17px; line-height: 1.8; }
.sevens { grid-column: 1 / -1; display: grid; grid-template-columns: .55fr 1fr 1.2fr; align-items: center; gap: 45px; margin-top: 20px; padding: 48px 0; border-block: 1px solid rgba(255,255,255,.2); }
.sevens > div { display: grid; }
.sevens > div span { color: var(--gold); font-size: 9px; font-weight: 900; letter-spacing: .18em; }
.sevens > div b { font-family: var(--font-display); font-size: 72px; line-height: 1; }
.sevens h3 { margin: 0; color: var(--gold); font-family: var(--font-display); font-size: 50px; line-height: .85; }
.sevens p { margin: 0; color: rgba(255,255,255,.67); font-size: 15px; line-height: 1.7; }

.generations { padding: 150px max(32px, calc((100% - 1320px)/2)); background: var(--paper); }
.generationsHead { display: grid; grid-template-columns: 1fr .72fr; gap: 80px; }
.generationsHead .chapter { grid-column: 1 / -1; }
.generationsHead p { align-self: end; margin: 0; color: #526b83; font-size: 17px; line-height: 1.75; }
.gallery { display: grid; grid-template-columns: 1.2fr .8fr; grid-template-rows: 320px 320px; gap: 16px; margin-top: 100px; }
.gallery figure { position: relative; margin: 0; overflow: hidden; background: var(--blue); color: white; }
.gallery figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,20,39,.9), transparent 68%); }
.gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.16,1,.3,1); }
.gallery figure:hover img { transform: scale(1.035); }
.galleryAcademy { grid-row: 1 / 3; }
.galleryAcademy img { object-position: 45% center; }
.galleryWomen img { object-position: 50% 43%; }
.gallerySenior img { object-position: center 45%; }
.gallery figcaption { position: absolute; z-index: 2; right: 28px; bottom: 25px; left: 28px; display: flex; align-items: end; justify-content: space-between; }
.gallery figcaption span { color: var(--gold); font-size: 8px; font-weight: 900; letter-spacing: .16em; }
.gallery figcaption b { font-family: var(--font-display); font-size: 24px; line-height: 1.05; text-align: right; text-transform: uppercase; }
.generationNotes { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; margin-top: 70px; }
.generationNotes > p { margin: 0; color: #526b83; font-size: 18px; line-height: 1.8; }
.generationNotes aside { padding: 25px; border-left: 4px solid var(--gold); background: #ebe5d6; }
.generationNotes aside b { display: block; margin-bottom: 10px; font-size: 9px; letter-spacing: .16em; }
.generationNotes aside span { color: #63778b; font-size: 12px; line-height: 1.65; }

.river { position: relative; min-height: 880px; display: flex; align-items: center; overflow: hidden; color: white; }
.riverImage { position: absolute; inset: 0; background: url('../../images/photos/crav-40anos-084.webp') center 50% / cover no-repeat; filter: grayscale(.18) contrast(1.08); }
.riverImage::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,20,39,.97), rgba(5,20,39,.66) 60%, rgba(5,20,39,.25)), linear-gradient(0deg, rgba(20,59,99,.75), transparent 55%); }
.riverCopy { position: relative; z-index: 1; width: min(760px, calc(100% - 64px)); margin-left: max(32px, calc((100% - 1320px)/2)); }
.riverCopy p { max-width: 620px; margin: 38px 0 0; color: rgba(255,255,255,.75); font-size: 18px; line-height: 1.75; }
.riverCaption { position: absolute; z-index: 1; right: 32px; bottom: 35px; color: var(--gold); font-size: 9px; font-weight: 900; letter-spacing: .2em; }

.legacy { display: grid; grid-template-columns: 1fr 1fr; min-height: 820px; background: var(--gold); }
.legacyNumber { display: flex; align-items: center; justify-content: center; overflow: hidden; background: var(--blue); color: white; font-family: var(--font-display); font-size: clamp(5rem, 10vw, 11rem); line-height: .8; writing-mode: vertical-rl; transform: rotate(180deg); }
.legacyNumber span { color: var(--gold); }
.legacyCopy { align-self: center; padding: 100px clamp(35px, 8vw, 120px); }
.legacyCopy .chapter { color: var(--blue); }
.legacyCopy h2 em { color: white; }
.legacyCopy p { max-width: 650px; margin: 38px 0; font-size: 17px; line-height: 1.75; }
.legacyActions { display: flex; align-items: center; gap: 28px; }
.legacyActions a:first-child { display: flex; justify-content: space-between; min-width: 245px; padding: 19px 21px; background: var(--blue); color: white; font-size: 11px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.legacyActions a:last-child { font-size: 11px; font-weight: 900; text-transform: uppercase; }

.footer { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 50px; padding: 60px max(32px, calc((100% - 1320px)/2)); background: #041426; color: white; }
.footerBrand { display: flex; align-items: center; gap: 14px; }
.footer p { margin: 0; color: rgba(255,255,255,.55); font-size: 12px; line-height: 1.6; }
.footer > a:last-child { color: var(--gold); font-size: 9px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }

@media (max-width: 980px) {
  .nav { grid-template-columns: 1fr auto; width: min(100% - 40px, 1320px); }
  .navChapters { display: none; }
  .heroCopy { width: min(100% - 40px, 1320px); }
  .hero h1 { font-size: clamp(6rem, 18vw, 10rem); }
  .origin, .fieldIntro, .yearField { width: min(100% - 40px, 1320px); }
  .origin { grid-template-columns: 1fr; }
  .originLead { padding-right: 0; }
  .originText { padding-top: 55px; }
  .originPhoto { margin-top: 70px; }
  .fieldIntro, .generationsHead { grid-template-columns: 1fr; gap: 35px; }
  .fieldIntro .chapter, .generationsHead .chapter { grid-column: auto; }
  .yearField { grid-template-columns: 1fr 1fr; }
  .resistanceCopy { width: 72%; margin-left: 28%; }
  .resistanceFacts { grid-template-columns: 1fr; }
  .resistanceFacts div { border-right: 0; border-bottom: 1px solid rgba(7,26,49,.25); }
  .world { grid-template-columns: 1fr; gap: 55px; }
  .worldTitle, .sevens { grid-column: auto; }
  .worldMap { min-height: 460px; }
  .sevens { grid-template-columns: .6fr .9fr 1.2fr; }
  .gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 480px 360px; }
  .galleryAcademy { grid-column: 1 / -1; grid-row: auto; }
  .generationNotes { gap: 40px; }
  .legacy { grid-template-columns: .38fr 1fr; }
  .footer { grid-template-columns: 1fr 1fr; }
  .footer > a:last-child { grid-column: 2; }
  .heroImage { background-position: 100% 42%; }
}

@media (max-width: 640px) {
  .rail { display: none; }
  .hero { min-height: 760px; }
  .heroImage { background-image: url('../../images/photos/crav-2014-2015-1280.webp'); background-position: 50% 42%; }
  .nav { height: 82px; }
  .mark { width: 42px; height: 48px; }
  .brand b { font-size: 20px; }
  .brand small { max-width: 120px; font-size: 6px; }
  .back { padding: 13px; font-size: 8px; }
  .back span { margin-left: 8px; }
  .heroCopy { margin-top: 100px; }
  .hero h1 { font-size: clamp(5.4rem, 27vw, 8rem); }
  .heroIntro { grid-template-columns: 1fr; gap: 18px; margin-top: 35px; }
  .heroIntro p { font-size: 16px; }
  .heroFoot { grid-template-columns: 1fr 1fr; height: 72px; padding-inline: 20px; }
  .heroFoot strong { text-align: right; }
  .heroFoot span:last-child { display: none; }
  .chapter { margin-bottom: 18px; }
  .origin, .fieldIntro, .yearField { width: min(100% - 32px, 1320px); }
  .origin { padding: 90px 0; }
  .origin h2, .field h2, .resistance h2, .world h2, .generations h2, .river h2, .legacy h2 { font-size: clamp(3rem, 15vw, 4.6rem); }
  .originText { grid-template-columns: 1fr; gap: 24px; padding-top: 45px; }
  .originText .dropcap { font-size: 18px; }
  .originPhoto { height: 470px; margin-top: 55px; }
  .originPhoto figcaption { right: 20px; bottom: 20px; left: 20px; flex-direction: column; align-items: flex-start; gap: 8px; }
  .originPhoto figcaption b { font-size: 20px; }
  .originQuote { margin-top: 55px; font-size: 2.2rem; }
  .field { padding-top: 90px; }
  .yearField { grid-template-columns: 1fr; margin-top: 60px; }
  .yearMark { min-height: 270px; padding: 25px; }
  .yearMark h3 { margin-top: 60px; }
  .breakPhoto { height: 560px; margin-top: 90px; }
  .breakPhoto figcaption { right: 18px; bottom: 25px; left: 18px; flex-direction: column; align-items: flex-start; gap: 14px; }
  .breakPhoto b { font-size: 23px; text-align: left; }
  .resistance { min-height: auto; padding: 90px 16px; }
  .resistanceWord { top: 25%; font-size: 45vw; }
  .resistanceCopy { width: 100%; margin-left: 0; }
  .resistanceCopy p { font-size: 16px; }
  .resistanceFacts { margin-top: 60px; }
  .resistanceFacts div { padding-inline: 10px; }
  .world, .generations { padding: 90px 16px; }
  .worldMap { min-height: 430px; padding: 32px 22px; }
  .routeLine { left: 39px; }
  .sevens { grid-template-columns: 1fr 1fr; gap: 25px; }
  .sevens p { grid-column: 1 / -1; }
  .sevens > div b { font-size: 55px; }
  .sevens h3 { font-size: 40px; }
  .gallery { grid-template-columns: 1fr; grid-template-rows: repeat(3, 420px); margin-top: 60px; }
  .galleryAcademy { grid-column: auto; }
  .gallery figcaption { right: 20px; bottom: 20px; left: 20px; }
  .gallery figcaption b { font-size: 20px; }
  .generationNotes { grid-template-columns: 1fr; gap: 35px; margin-top: 50px; }
  .generationNotes > p { font-size: 16px; }
  .river { min-height: 760px; }
  .riverImage { background-image: url('../../images/photos/crav-40anos-084-768.webp'); background-position: 58% center; }
  .riverCopy { width: calc(100% - 32px); margin-left: 16px; }
  .riverCopy p { font-size: 16px; }
  .riverCaption { right: 16px; bottom: 20px; }
  .legacy { grid-template-columns: 1fr; }
  .legacyNumber { min-height: 180px; font-size: 5rem; writing-mode: initial; transform: none; }
  .legacyCopy { padding: 80px 16px; }
  .legacyActions { align-items: flex-start; flex-direction: column; }
  .footer { grid-template-columns: 1fr; gap: 28px; padding: 48px 16px; }
  .footer > a:last-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .story [data-story-reveal], .story-motion-ready .story [data-story-reveal], .story-motion-ready .story [data-story-reveal].story-visible { opacity: 1; filter: none; transform: none; transition: none; }
  .heroImage { transform: scale(1.03); }
  .gallery img { transition: none; }
  .story-progress { display: none; }
}

@media (max-width: 380px) {
  .hero { min-height: 720px; }
  .heroCopy { width: calc(100% - 28px); margin-top: 82px; }
  .hero h1 { font-size: clamp(4rem, 23vw, 5rem); }
  .origin, .fieldIntro, .yearField { width: calc(100% - 28px); }
  .origin h2, .field h2, .resistance h2, .world h2, .generations h2, .river h2, .legacy h2 { font-size: clamp(2.55rem, 13vw, 3rem); }
  .originPhoto { height: 420px; }
  .world, .generations, .resistance { padding-inline: 14px; }
  .worldMap { padding-inline: 18px; }
  .sevens { grid-template-columns: 1fr; }
  .sevens p { grid-column: auto; }
  .gallery { grid-template-rows: repeat(3, 360px); }
  .legacyCopy { padding-inline: 14px; }
}

/* Mantém a expressão editorial sem deixar a escala dominar o conteúdo. */
.hero h1 { font-size: clamp(5.2rem, min(11.5vw, 16vh), 10.5rem); line-height: .8; }
.origin h2, .field h2, .resistance h2, .world h2, .generations h2, .river h2, .legacy h2 { font-size: clamp(3rem, 5.4vw, 5.8rem); line-height: .92; letter-spacing: -.05em; }
@media (max-width: 980px) { .hero h1 { font-size: clamp(4.5rem, 14vw, 7.5rem); } }
@media (max-width: 640px) {
  .hero h1 { font-size: clamp(3.4rem, 17vw, 5rem); }
  .origin h2, .field h2, .resistance h2, .world h2, .generations h2, .river h2, .legacy h2 { font-size: clamp(2.45rem, 11.5vw, 3.35rem); }
}
@media (max-width: 380px) { .hero h1 { font-size: clamp(3rem, 15.5vw, 3.65rem); } }

@media (min-width: 641px) {
  .hero { height: clamp(600px, calc(100svh - 96px), 760px); min-height: 600px; }
  .heroCopy { display: flex; flex-direction: column; justify-content: center; height: calc(100% - 82px); margin: 0 auto; }
}
