:root {
  --bg:#080e0d;
  --paper:#f6efe5;
  --pink:#f658ac;
  --pink-light:#ff8cc9;
  --muted:#dededb;
  --border:#2b302f;
  --max:1440px;
  color-scheme:dark;
  font-family:Manrope,Arial,sans-serif;
  font-size:16px;
  color:#f9f9f7;
  background:var(--bg)
}


* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:24px
}

body {
  margin:0
}

a {
  color:inherit;
  text-decoration:none
}

button {
  font:inherit
}

button,a {
  -webkit-tap-highlight-color:transparent
}

button:focus-visible,a:focus-visible {
  outline:3px solid #e1ff90;
  outline-offset:5px
}

img {
  display:block;
  max-width:100%
}

svg {
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0
}

.svg-library {
  position:absolute;
  width:0;
  height:0;
  overflow:hidden
}

.wrap {
  width:calc(100% - 7%);
  max-width:var(--max);
  margin:auto
}

h1,h2,h3,p {
  margin:0
}

h1,h2,h3 {
  font-weight:800
}

h2 {
  font-size:clamp(26px,2.55vw,39px);
  line-height:1.06;
  letter-spacing:-1.2px
}

h3 {
  font-size:16px;
  line-height:1.2;
  letter-spacing:-.3px
}

p {
  font-size:16px;
  line-height:1.4
}

em {
  font-style:normal;
  color:var(--pink)
}

.light {
  background:var(--paper);
  color:#0c1010;
  color-scheme:light
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  min-height:46px;
  padding:12px 26px;
  border-radius:999px;
  background:linear-gradient(105deg,#f84aaa,#fb80be);
  color:#100910;
  font-size:14px;
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
  transition:transform .2s,box-shadow .2s,filter .2s
}

.button:hover {
  transform:translateY(-2px);
  box-shadow:0 5px 24px #f658ac35;
  filter:brightness(1.09)
}

.button svg {
  width:22px;
  height:22px
}

.eyebrow {
  font-size:13px;
  font-weight:600;
  letter-spacing:3px;
  color:#ffb2d9
}

.handwritten {
  font-family:Caveat,'Segoe Print',cursive;
  font-size:32px;
  line-height:1.04;
  font-weight:400;
  transform:rotate(-9deg)
}

.handwritten span {
  display:block;
  text-align:right;
  font-size:36px
}

.header {
  height:80px;
  position:absolute;
  inset:0 0 auto;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px
}

.brand {
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
  font-size:16px;
  font-weight:700;
  line-height:1.12
}

.brand-symbol {
  position:relative;
  width:67px;
  height:48px;
  overflow:hidden
}

.brand-symbol img {
  position:absolute;
  max-width:none;
  width:130px;
  height:195px;
  left:-32px;
  top:-64px;
  object-fit:contain
}

.header nav {
  display:flex;
  gap:26px;
  align-items:center
}

.header nav a {
  font-size:14px;
  white-space:nowrap;
  transition:color .2s
}

.header nav a:hover,.footer a:hover {
  color:var(--pink-light)
}

.header-cta {
  font-size:13px;
  padding-inline:22px;
  min-height:43px;
  gap:7px
}

.menu-toggle {
  display:none
}

.hero {
  position:relative;
  min-height:530px;
  overflow:hidden;
  padding-top:99px;
  padding-bottom:29px;
  background:#080d0c
}

.hero-content {
  position:relative;
  z-index:2;
  pointer-events:none
}

.hero-content a {
  pointer-events:auto
}

.hero h1 {
  font-size:clamp(36px,3.7vw,57px);
  line-height:.99;
  letter-spacing:-1.6px;
  margin:10px 0 16px;
  max-width:620px
}

.hero-description {
  max-width:440px;
  margin-bottom:18px
}

.hero-art {
  position:absolute;
  inset:55px 8% 0 34%
}

.photo-window {
  position:relative;
  overflow:hidden;
  aspect-ratio:var(--w)/var(--h);
  height:100%;
  width:100%;
  background:#1d2523
}

.photo-window img {
  position:absolute;
  max-width:none;
  width:calc(1024 / var(--w) * 100%);
  height:auto;
  left:calc(-1 * var(--x) / var(--w) * 100%);
  top:calc(-1 * var(--y) / var(--h) * 100%)
}

.hero-art .photo-window {
  aspect-ratio:auto
}

.hero-art .photo-window img {
  min-height:calc(1536 / 299 * 100%)
}

.hero-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#080d0c 0%,#080d0c 26%,#080d0c30 45%,transparent 58%,#080d0c25 86%,#080d0c 100%);
  z-index:1
}

.locations {
  display:flex;
  gap:10px;
  align-items:center;
  font-size:12px;
  margin-top:19px;
  flex-wrap:wrap
}

.locations svg {
  width:18px;
  height:21px;
  color:var(--pink-light)
}

.locations b {
  color:var(--pink-light)
}

.hero-note {
  position:absolute;
  right:2.8%;
  top:119px;
  z-index:2;
  font-size:28px;
  line-height:1.28
}

.safe-note {
  position:absolute;
  right:3.5%;
  bottom:30px;
  z-index:2;
  display:flex;
  align-items:center;
  gap:12px;
  background:#252723c9;
  border:1px solid #ffffff17;
  border-radius:12px;
  backdrop-filter:blur(10px);
  padding:12px;
  width:267px
}

.safe-note p {
  font-size:13px;
  line-height:1.25
}

.safe-note svg {
  width:29px;
  height:29px;
  color:#ff97ce
}

.identification {
  padding:30px 0
}

.identification-grid {
  display:grid;
  grid-template-columns:1.05fr 1.5fr .6fr;
  gap:48px;
  align-items:center
}

.identification h2 {
  font-size:clamp(25px,2.5vw,38px)
}

.identification-grid>div {
  max-width:540px
}

.statement {
  font-weight:800;
  font-size:19px;
  margin-top:7px;
  letter-spacing:-.5px
}

.identification .handwritten {
  justify-self:center
}

.activities {
  padding:26px 0
}

.activities-grid {
  display:grid;
  grid-template-columns:1.6fr 4.9fr;
  gap:30px;
  align-items:center
}

.section-intro p {
  margin-top:14px;
  font-size:14px;
  line-height:1.35
}

.activity-cards {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px
}

.activity-card {
  border:1px solid var(--border);
  border-radius:17px;
  padding:20px 13px 16px;
  text-align:center;
  transition:transform .25s,box-shadow .25s,border-color .25s;
  min-height:205px
}

.activity-card:hover {
  transform:translateY(-5px);
  box-shadow:0 4px 26px #f658ac18;
  border-color:#f658ac77
}

.activity-card>svg {
  width:43px;
  height:43px;
  color:#fa69b6;
  margin-bottom:12px
}

.activity-card h3 {
  min-height:38px
}

.activity-card p {
  font-size:13px;
  line-height:1.3;
  margin-top:9px
}

.objection {
  display:grid;
  grid-template-columns:36% 1fr 18%;
  min-height:227px;
  align-items:stretch
}

.friend-photo {
  position:relative;
  overflow:hidden;
  min-height:227px
}

.friend-photo .photo-window {
  position:absolute;
  inset:0
}

.friend-photo .handwritten {
  position:absolute;
  top:23px;
  left:5%;
  color:white;
  text-shadow:0 2px 10px #000;
  font-size:27px
}

.objection-copy {
  padding:30px 20px 27px 36px;
  align-self:center
}

.objection-copy .eyebrow {
  color:#9d175c;
  margin-bottom:11px
}

.objection-copy h2 {
  font-size:clamp(25px,2.4vw,35px);
  margin-bottom:12px
}

.objection-copy p:not(.eyebrow) {
  font-size:15px
}

.friendship-note {
  background:#f5a5d0;
  border-radius:53% 45% 55% 38%;
  padding:30px 18px;
  margin:25px 22px 25px 0;
  align-self:center;
  justify-self:center;
  font-size:29px
}

.groups {
  padding:22px 0 27px
}

.center {
  text-align:center
}

.center .eyebrow {
  text-transform:uppercase;
  font-size:12px;
  margin-top:12px
}

.regions-row {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr)) 1fr;
  gap:16px;
  align-items:stretch;
  margin-top:21px
}

.region-card {
  position:relative;
  border:1px solid #3b3f3c;
  border-radius:12px;
  overflow:hidden;
  text-align:center;
  padding:0 10px 9px;
  display:flex;
  align-items:center;
  flex-direction:column;
  justify-content:end;
  min-height:177px;
  transition:transform .25s,border-color .25s
}

.region-card:hover {
  transform:translateY(-4px);
  border-color:var(--pink)
}

.region-card .photo-window {
  position:absolute;
  inset:0;
  height:66%;
  aspect-ratio:auto;
  z-index:0
}

.region-card:after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(transparent 30%,#080e0d 76%);
  pointer-events:none
}

.region-card h3,.region-card a {
  position:relative;
  z-index:1
}

.region-card h3 {
  font-size:18px;
  margin-bottom:11px
}

.region-card .button,.national .button {
  font-size:12px;
  min-height:39px;
  padding:10px 18px;
  max-width:100%
}

.national {
  border-left:1px solid #cbc7c7;
  margin-left:15px;
  padding-left:25px;
  display:flex;
  flex-direction:column;
  align-items:start;
  justify-content:space-between;
  gap:12px
}

.national h3 {
  font-size:19px
}

.national p {
  font-size:14px;
  line-height:1.3
}

.instagram {
  padding:24px 0
}

.instagram-grid {
  display:grid;
  grid-template-columns:1.1fr 4.7fr 1fr;
  gap:17px;
  align-items:stretch
}

.instagram h2 {
  font-size:30px
}

.instagram .section-intro p {
  font-size:13px;
  margin-top:8px
}

.social-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px
}

.social-placeholder {
  min-height:168px;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:end;
  align-items:center;
  text-align:center;
  border-radius:8px;
  padding:15px 5px;
  color:white;
  background:radial-gradient(ellipse at 20% 15%,#713458,transparent 65%),#141717
}

.social-placeholder:nth-child(2) {
  background:radial-gradient(ellipse at 80% 0,#645037,transparent 70%),#161311
}

.social-placeholder:nth-child(3) {
  background:radial-gradient(ellipse at 50% 20%,#563b21,transparent 70%),#14120f
}

.social-placeholder:nth-child(5) {
  background:radial-gradient(ellipse at 15% 25%,#581386,transparent 75%),#110d18
}

.social-placeholder:nth-child(6) {
  background:radial-gradient(ellipse at 90% 10%,#6f5740,transparent 75%),#171310
}

.social-placeholder svg {
  width:38px;
  height:38px;
  color:#f9bbdc;
  opacity:.7;
  margin:auto
}

.social-placeholder .handwritten {
  font-size:27px;
  transform:rotate(-6deg)
}

.neon-words {
  color:#f6a0d0;
  text-shadow:0 0 7px #ef61c5;
  font-size:clamp(14px,1.4vw,22px);
  line-height:1.2;
  letter-spacing:1px;
  font-weight:800;
  margin:auto
}

.instagram-link {
  border:1px solid #d0c8c1;
  border-radius:13px;
  padding:25px 16px;
  box-shadow:0 2px 5px #34231210;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:18px;
  transition:border-color .2s
}

.instagram-link:hover {
  border-color:#bd2272
}

.instagram-link>span:first-child {
  display:flex;
  align-items:center;
  gap:10px
}

.instagram-link strong {
  font-size:14px;
  line-height:1.2
}

.instagram-link svg {
  width:31px;
  height:31px;
  color:#db2990
}

.instagram-link u {
  font-size:12px;
  font-weight:700;
  text-underline-offset:3px;
  color:#6c1845
}

.instagram-link .link-arrow {
  align-self:flex-end;
  width:21px;
  height:21px;
  color:#111
}

.events {
  padding:22px 0
}

.events-grid {
  display:grid;
  grid-template-columns:1.1fr 4.5fr .85fr;
  align-items:center;
  gap:25px
}

.event-cards {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px
}

.event-card {
  display:grid;
  grid-template-columns:43% 57%;
  background:var(--paper);
  color:#111;
  border-radius:9px;
  overflow:hidden;
  min-height:166px;
  scroll-margin-top:28px
}

.event-image {
  display:flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(at 10% 10%,#8b745c,#262c29)
}

.event-image svg {
  width:42px;
  height:42px;
  color:#f5decb
}

.event-image.pink {
  background:radial-gradient(at 30% 10%,#b3319b,#241728)
}

.event-image.listening {
  background:radial-gradient(at 20% 10%,#728465,#2b3630)
}

.event-card>div:last-child {
  padding:18px 12px;
  display:flex;
  flex-direction:column;
  gap:10px
}

.event-category {
  font-size:11px;
  font-weight:800
}

.event-card h3 {
  font-size:14px;
  font-weight:600;
  line-height:1.35
}

.event-card p:not(.event-category) {
  font-size:12px
}

.event-card button {
  border:0;
  background:none;
  padding:0;
  text-align:left;
  font-size:10px;
  letter-spacing:1px;
  font-weight:700;
  color:#777;
  margin-top:auto
}

.events-note {
  font-size:29px;
  justify-self:center;
  line-height:1.2
}

.final-cta {
  position:relative;
  overflow:hidden;
  background:#372d2a;
  min-height:192px
}

.final-art {
  position:absolute;
  inset:0 26% 0 28%
}

.final-art .photo-window {
  aspect-ratio:auto
}

.final-cta:after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#373333 0%,#373333b3 25%,#14131220 40%,#14131220 60%,#373333 78%)
}

.final-grid {
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  gap:28px;
  align-items:center;
  min-height:192px;
  padding-block:24px
}

.final-grid h2 {
  font-size:29px;
  line-height:1.16;
  letter-spacing:-.7px
}

.final-grid .button {
  margin-top:17px
}

.footer {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  min-height:96px
}

.footer .brand {
  font-size:12px
}

.footer .brand-symbol {
  width:59px
}

.footer p {
  font-size:12px
}

.footer p span {
  font-size:23px;
  vertical-align:middle;
  margin-left:14px
}

.footer nav {
  display:flex;
  align-items:center;
  gap:13px
}

.footer nav a {
  font-size:12px
}

.footer nav i {
  height:11px;
  width:1px;
  background:#bcbdb9
}

.social-links {
  display:flex;
  gap:18px
}

.social-links a {
  display:flex;
  min-width:26px;
  min-height:32px;
  align-items:center;
  justify-content:center
}

.social-links svg {
  width:23px;
  height:23px
}

.toast {
  position:fixed;
  z-index:50;
  bottom:24px;
  left:50%;
  transform:translate(-50%,20px);
  background:var(--paper);
  color:#161314;
  border:1px solid #f658ac55;
  box-shadow:0 10px 40px #0007;
  border-radius:14px;
  padding:16px 22px;
  max-width:calc(100% - 32px);
  width:max-content;
  opacity:0;
  visibility:hidden;
  transition:.2s;
  font-size:14px
}

.toast.visible {
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0)
}

.sr-only,.skip-link:not(:focus) {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

.skip-link:focus {
  position:fixed;
  top:12px;
  left:12px;
  z-index:99;
  background:white;
  color:black;
  padding:15px
}

.js .reveal {
  transition:opacity .55s,transform .55s
}

.js .reveal.waiting {
  opacity:0;
  transform:translateY(14px)
}


@media(min-width:1550px) {
  .hero {
  min-height:580px
}

.hero-art {
  left:39%;
  right:14%
}

.hero-note {
  right:8%
}

.hero-content {
  padding-top:20px
}

.safe-note {
  right:7%
}


}


@media(max-width:1190px) {
  .header {
  gap:18px
}

.header nav {
  gap:17px
}

.header nav a {
  font-size:12px
}

.header-cta {
  font-size:11px;
  padding-inline:16px
}

.brand {
  font-size:14px
}

.brand-symbol {
  width:55px
}

.hero {
  min-height:490px
}

.hero-description {
  max-width:350px;
  font-size:15px
}

.hero h1 {
  font-size:44px
}

.hero-art {
  left:34%;
  right:7%;
  top:67px
}

.hero-note {
  font-size:23px;
  right:2%
}

.safe-note {
  width:235px
}

.identification-grid {
  gap:30px
}

.activity-cards {
  gap:10px
}

.activity-card {
  padding:15px 9px;
  min-height:216px
}

.activity-card p {
  font-size:12px
}

.activity-card h3 {
  font-size:14px
}

.activities-grid {
  gap:23px;
  grid-template-columns:1.55fr 4.9fr
}

.objection {
  grid-template-columns:36% 1fr 18%
}

.objection-copy {
  padding:26px
}

.objection-copy .eyebrow {
  font-size:11px;
  letter-spacing:2px
}

.objection-copy p:not(.eyebrow) {
  font-size:13px
}

.friendship-note {
  font-size:25px;
  padding:25px 13px
}

.regions-row {
  gap:12px
}

.region-card {
  min-height:155px;
  padding-inline:6px
}

.region-card h3 {
  font-size:15px
}

.region-card .button,.national .button {
  font-size:10px;
  padding:9px 13px;
  min-height:35px
}

.national {
  padding-left:20px;
  margin-left:10px
}

.national p {
  font-size:12px
}

.national h3 {
  font-size:17px
}

.instagram h2 {
  font-size:25px
}

.instagram-grid {
  grid-template-columns:1.12fr 4.7fr 1fr;
  gap:14px
}

.instagram-link {
  padding:17px 10px
}

.instagram-link strong {
  font-size:12px
}

.instagram-link u {
  font-size:10px
}

.instagram-link svg {
  width:25px
}

.social-placeholder {
  min-height:155px
}

.social-placeholder .handwritten {
  font-size:24px
}

.event-cards {
  gap:12px
}

.event-card>div:last-child {
  padding:15px 10px
}

.event-category {
  font-size:10px
}

.event-card h3 {
  font-size:12px
}

.events-grid {
  gap:20px
}

.events-note {
  font-size:25px
}

.footer {
  gap:20px
}

.footer nav {
  gap:10px
}

.footer p,.footer nav a {
  font-size:10px
}

.final-grid h2 {
  font-size:26px
}


}


@media(max-width:960px) {
  .header {
  height:76px
}

.header-cta {
  margin-left:auto
}

.menu-toggle {
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:44px;
  height:44px;
  border:1px solid #ffffff40;
  background:#101613;
  border-radius:9px;
  color:white;
  order:3;
  padding:10px
}

.menu-toggle span {
  height:1px;
  width:22px;
  background:currentColor;
  transition:.2s
}

.menu-toggle[aria-expanded=true] span:nth-child(1) {
  transform:translateY(6px) rotate(45deg)
}

.menu-toggle[aria-expanded=true] span:nth-child(2) {
  opacity:0
}

.menu-toggle[aria-expanded=true] span:nth-child(3) {
  transform:translateY(-6px) rotate(-45deg)
}

.header nav {
  display:none;
  position:absolute;
  right:0;
  top:69px;
  width:270px;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  padding:12px;
  background:#111815fa;
  border:1px solid #3a3438;
  border-radius:14px;
  box-shadow:0 15px 40px #0008
}

.header nav.open {
  display:flex
}

.header nav a {
  font-size:15px;
  padding:13px
}

.hero {
  min-height:500px
}

.hero-art {
  left:30%;
  right:-10%;
  opacity:.85
}

.hero-shade {
  background:linear-gradient(90deg,#080d0c 0%,#080d0cda 25%,#080d0c44 62%,#080d0c66)
}

.hero-note {
  display:none
}

.safe-note {
  width:217px
}

.identification-grid {
  grid-template-columns:1fr 1.2fr .5fr;
  gap:25px
}

.identification h2 {
  font-size:27px
}

.identification p {
  font-size:14px
}

.identification .statement {
  font-size:17px
}

.identification .handwritten {
  font-size:27px
}

.activities-grid {
  grid-template-columns:1fr
}

.section-intro h2 br {
  display:none
}

.activities-grid .section-intro {
  display:flex;
  justify-content:space-between;
  gap:35px;
  align-items:center
}

.activities-grid .section-intro p {
  max-width:420px;
  margin:0
}

.activity-card {
  min-height:195px
}

.objection {
  grid-template-columns:35% 1fr
}

.friendship-note {
  display:none
}

.objection-copy {
  padding:26px
}

.regions-row {
  grid-template-columns:repeat(5,minmax(0,1fr))
}

.national {
  grid-column:1/-1;
  flex-direction:row;
  align-items:center;
  border-left:0;
  border-top:1px solid #363c39;
  margin:8px 0 0;
  padding:20px 0 0
}

.national h3 br {
  display:none
}

.national p {
  max-width:330px;
  font-size:13px
}

.instagram-grid {
  grid-template-columns:1fr 4fr
}

.instagram-link {
  grid-column:1/-1;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  padding:14px;
  gap:30px
}

.instagram-link>span:first-child {
  gap:12px
}

.instagram-link strong br {
  display:none
}

.instagram-link u {
  font-size:13px
}

.instagram-link .link-arrow {
  align-self:center
}

.events-grid {
  grid-template-columns:1fr
}

.events-grid>.section-intro {
  display:flex;
  gap:30px;
  align-items:center;
  justify-content:space-between
}

.events-grid>.section-intro p {
  max-width:430px;
  margin:0
}

.events-note {
  display:none
}

.final-grid h2 {
  font-size:23px
}

.final-grid .button {
  font-size:12px;
  padding:13px 20px;
  gap:18px
}

.footer {
  flex-wrap:wrap;
  padding-block:24px;
  row-gap:18px
}

.footer nav {
  margin-left:auto
}

.footer p {
  font-size:11px
}

.footer .social-links {
  margin-left:auto
}

.social-placeholder .handwritten {
  font-size:22px
}


}


@media(max-width:640px) {
  :root {
  font-size:16px
}

.wrap {
  width:calc(100% - 40px)
}

h2 {
  font-size:29px;
  letter-spacing:-1px
}

.header {
  height:74px;
  gap:10px
}

.brand {
  font-size:12px;
  gap:3px
}

.brand-symbol {
  width:51px;
  height:43px
}

.header-cta {
  font-size:9px;
  padding:10px 13px;
  min-height:36px;
  gap:5px
}

.header-cta svg {
  width:15px;
  height:15px
}

.menu-toggle {
  width:38px;
  height:38px;
  padding:8px
}

.header nav {
  width:100%;
  top:68px
}

.hero {
  padding-top:95px;
  padding-bottom:23px;
  min-height:730px;
  display:flex;
  align-items:start
}

.hero h1 {
  font-size:39px;
  line-height:1.01;
  letter-spacing:-1.3px;
  margin-top:12px
}

.hero .eyebrow {
  font-size:9px;
  letter-spacing:1.6px;
  max-width:330px
}

.hero-description {
  font-size:15px;
  line-height:1.45;
  max-width:340px
}

.hero-content>.button {
  font-size:12px;
  min-height:44px;
  padding-inline:26px
}

.hero-art {
  inset:360px -2% 0 4%;
  opacity:1
}

.hero-shade {
  background:linear-gradient(#080d0c 0%,#080d0c 41%,#080d0cdd 48%,#080d0c00 67%,#080d0c00 88%,#080d0c 100%)
}

.locations {
  font-size:10px;
  gap:5px;
  max-width:340px;
  margin-top:16px
}

.locations svg {
  width:14px;
  height:17px
}

.safe-note {
  bottom:20px;
  right:20px;
  max-width:210px;
  padding:10px;
  gap:9px
}

.safe-note p {
  font-size:11px
}

.safe-note svg {
  width:24px;
  height:24px
}

.identification {
  padding:35px 0
}

.identification-grid {
  grid-template-columns:1fr;
  gap:21px;
  position:relative
}

.identification h2 {
  font-size:30px;
  max-width:340px
}

.identification h2 br {
  display:none
}

.identification h2 br:first-child:after {
  content:' '
}

.identification-grid>div {
  max-width:100%
}

.identification-grid>div p {
  font-size:16px
}

.identification-grid .statement {
  font-size:18px;
  margin-top:14px
}

.identification .handwritten {
  justify-self:end;
  font-size:28px;
  max-width:190px;
  padding-right:17px;
  margin:3px 0 0;
  line-height:1.05
}

.identification .handwritten br {
  display:none
}

.identification .handwritten span {
  display:inline-block;
  margin-left:8px
}

.activities {
  padding:35px 0
}

.activities-grid {
  gap:23px
}

.activities-grid .section-intro {
  display:block
}

.activities-grid .section-intro p {
  margin-top:15px;
  font-size:15px
}

.activity-cards {
  display:grid;
  grid-template-columns:repeat(5,160px);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding:7px 1px 15px;
  gap:12px;
  scrollbar-width:thin;
  scrollbar-color:#a94479 #161d1a
}

.activity-card {
  scroll-snap-align:start;
  min-height:235px;
  padding:19px 14px
}

.activity-card p {
  font-size:14px;
  line-height:1.35
}

.activity-card h3 {
  font-size:16px
}

.activity-card>svg {
  margin-bottom:15px
}

.objection {
  grid-template-columns:1fr
}

.friend-photo {
  min-height:236px;
  grid-row:2
}

.friend-photo .photo-window img {
  top:calc(-1 * var(--y) / var(--h) * 100%)
}

.friend-photo .handwritten {
  left:25px;
  top:27px;
  font-size:29px
}

.objection-copy {
  padding:34px 20px
}

.objection-copy .eyebrow {
  font-size:11px;
  letter-spacing:1.5px
}

.objection-copy h2 {
  font-size:29px;
  margin:10px 0 17px
}

.objection-copy p:not(.eyebrow) {
  font-size:16px;
  margin-top:8px
}

.groups {
  padding-block:35px
}

.center h2 {
  font-size:29px
}

.center .eyebrow {
  font-size:10px;
  letter-spacing:1.6px
}

.regions-row {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
  margin-top:25px
}

.region-card {
  min-height:180px;
  border-radius:12px
}

.region-card h3 {
  font-size:17px;
  margin-bottom:12px
}

.region-card .button {
  font-size:10px;
  padding-inline:14px;
  min-height:38px
}

.region-card:nth-child(5) {
  grid-column:1/-1;
  min-height:190px;
  max-width:100%
}

.region-card:nth-child(5) .photo-window {
  height:75%
}

.region-card:nth-child(5) .photo-window img {
  top:calc(-1 * var(--y) / var(--h) * 100% - 90%)
}

.national {
  flex-direction:column;
  align-items:start;
  gap:13px;
  padding-top:25px;
  margin-top:9px
}

.national h3 {
  font-size:22px
}

.national p {
  font-size:16px;
  max-width:none
}

.national .button {
  font-size:12px;
  min-height:42px;
  padding:12px 24px
}

.instagram {
  padding:34px 0
}

.instagram-grid {
  grid-template-columns:1fr;
  gap:23px
}

.instagram h2 {
  font-size:30px;
  max-width:300px
}

.instagram h2 br {
  display:none
}

.instagram .section-intro p {
  font-size:16px;
  line-height:1.4
}

.social-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px
}

.social-placeholder {
  min-height:150px
}

.social-placeholder .handwritten {
  font-size:26px
}

.neon-words {
  font-size:18px
}

.instagram-link {
  justify-content:space-between;
  gap:10px;
  padding:19px 14px;
  flex-wrap:wrap
}

.instagram-link strong {
  font-size:13px
}

.instagram-link u {
  font-size:12px
}

.events {
  padding:35px 0
}

.events-grid {
  gap:24px
}

.events-grid>.section-intro {
  display:block
}

.events-grid>.section-intro p {
  font-size:16px;
  margin-top:13px
}

.event-cards {
  grid-template-columns:1fr;
  gap:14px
}

.event-card {
  min-height:155px;
  grid-template-columns:38% 62%
}

.event-card>div:last-child {
  padding:21px;
  gap:9px
}

.event-category {
  font-size:12px
}

.event-card h3 {
  font-size:16px
}

.event-card p:not(.event-category) {
  font-size:14px
}

.event-card button {
  font-size:11px
}

.final-cta {
  min-height:375px
}

.final-art {
  inset:105px -35% 60px -25%
}

.final-cta:after {
  background:linear-gradient(#373333 0%,#373333a0 35%,#27282720 50%,#292a2ae0 75%,#292a2a 100%)
}

.final-grid {
  min-height:375px;
  flex-direction:column;
  align-items:start;
  padding-block:28px;
  gap:110px
}

.final-grid h2 {
  font-size:25px
}

.final-grid>h2 br {
  display:none
}

.final-grid>h2 {
  max-width:320px
}

.final-grid>div {
  width:100%
}

.final-grid>div h2 br {
  display:none
}

.final-grid>div h2 {
  font-size:24px
}

.final-grid .button {
  margin-top:17px;
  font-size:12px
}

.footer {
  display:grid;
  grid-template-columns:1fr auto;
  gap:23px;
  padding-block:30px
}

.footer .brand {
  font-size:13px
}

.footer p {
  grid-column:1/-1;
  grid-row:2;
  font-size:12px
}

.footer p span {
  margin-left:5px
}

.footer nav {
  grid-column:1/-1;
  grid-row:3;
  justify-self:start;
  margin-left:0;
  gap:12px
}

.footer nav a {
  font-size:11px
}

.footer .social-links {
  grid-column:2;
  grid-row:1;
  gap:13px
}

.social-links a {
  min-width:27px;
  min-height:40px
}

.social-links svg {
  width:21px;
  height:21px
}


}


/* Recortes apenas fotográficos da referência. O fator cover mantém o recorte
   correto em qualquer proporção, sem revelar os textos ao redor da fotografia. */
.hero-content {
  margin-block:0
}


@media(max-width:640px) {
  .hero-art {
  top:420px
}

.hero-shade {
  background:linear-gradient(#080d0c 0%,#080d0c 52%,#080d0cbd 59%,transparent 75%,transparent 88%,#080d0c 100%)
}


}


.photo-window {
  container-type:size
}


.photo-window img,.hero-art .photo-window img,.friend-photo .photo-window img,.region-card:nth-child(5) .photo-window img {
  --unit:max(calc(100cqw / var(--w)),calc(100cqh / var(--h)));
  width:calc(1024 * var(--unit));
  height:calc(1536 * var(--unit));
  min-height:0;
  left:calc((100cqw - var(--w) * var(--unit)) / 2 - var(--x) * var(--unit));
  top:calc((100cqh - var(--h) * var(--unit)) / 2 - var(--y) * var(--unit));
  max-width:none
}


@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto
}

*,*:before,*:after {
  animation:none!important;
  transition:none!important
}

.js .reveal.waiting {
  opacity:1;
  transform:none
}


}



/* Assets definitivos: enquadramento nativo, sem recortes do mockup. */
.photo-window { aspect-ratio:auto; container-type:normal; }
.photo-window img,
.hero-art .photo-window img,
.friend-photo .photo-window img,
.region-card:nth-child(5) .photo-window img {
  inset:0; width:100%; height:100%; min-height:0; max-width:100%;
  object-fit:cover; object-position:center;
}
.hero-art .photo-window img { object-position:52% center; }
.friend-photo .photo-window img { object-position:42% center; }
.friend-photo:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#0008,transparent 65%); pointer-events:none; }
.friend-photo .handwritten { z-index:1; }
.final-art { inset:0; }
.final-art .photo-window img { object-position:center 48%; }
.final-cta:after { background:linear-gradient(90deg,#111b 0%,#1115 47%,#111b 100%); }
.regions-row { grid-template-columns:repeat(5,minmax(0,1fr)); }
.national { grid-column:1/-1; flex-direction:row; align-items:center; border-left:0; border-top:1px solid var(--border); padding:22px 0 0; margin:8px 0 0; gap:24px; }
.national h3 { font-size:16px; }
.national p { max-width:530px; }
.national .button,.region-card .button { min-height:44px; }
.region-card .photo-window { height:100%; }
.region-card:after { background:linear-gradient(transparent 10%,#080e0d33 35%,#080e0dee 86%); }
.instagram-editorial { display:grid; grid-template-columns:1.15fr 1.5fr .7fr; align-items:center; gap:38px; padding-block:12px; }
.instagram-editorial .section-intro h2 { font-size:clamp(28px,2.55vw,39px); }
.instagram-editorial .section-intro p { font-size:16px; max-width:390px; }
.instagram-invite { padding:18px 30px; border-left:1px solid #d0c2c9; }
.instagram-mark { width:32px; height:32px; color:#be2879; margin-bottom:9px; }
.instagram-handle { font-size:clamp(21px,2.1vw,30px); font-weight:800; letter-spacing:-.8px; color:#87194f; }
.instagram-question { margin:10px 0 17px; font-size:16px; }
.instagram-invite .button { font-size:12px; gap:16px; }
.instagram-signature { color:#96265f; font-size:31px; }
.event-cards { grid-template-columns:1fr 1fr 1.6fr; }
#espaco-de-escuta { grid-template-columns:25% 75%; border:1px solid #f658ac55; }
#espaco-de-escuta p:not(.event-category) { font-size:14px; line-height:1.45; }
.coming-soon { letter-spacing:1.5px; padding-block:12px; }
.pending-link { color:inherit; opacity:.6; cursor:default; }
.footer nav .pending-link { font-size:12px; }
.social-links .pending-link { display:flex; align-items:center; justify-content:center; min-width:26px; min-height:32px; }
@media(max-width:960px) {
  .instagram-editorial { grid-template-columns:1fr 1.3fr; gap:24px; }
  .instagram-signature { display:none; }
  .instagram-invite { padding:14px 0 14px 22px; }
  .instagram-invite .button { white-space:normal; font-size:11px; padding:12px 18px; }
  .event-cards { grid-template-columns:1fr 1fr 1.5fr; }
  .footer nav .pending-link { font-size:10px; }
}
@media(max-width:640px) {
  .hero-art { inset:420px 0 0; }
  .hero-art .photo-window img { object-position:50% center; }
  .header-cta { min-height:44px; padding-inline:10px; }
  .menu-toggle { min-width:44px; height:44px; }
  .regions-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .region-card:nth-child(5) .photo-window { height:100%; }
  .region-card:nth-child(5) .photo-window img { object-position:center 46%; }
  .national { flex-direction:column; align-items:start; gap:14px; }
  .national h3 { font-size:20px; }
  .region-card .button { padding-inline:10px; font-size:10px; }
  .instagram-editorial { grid-template-columns:1fr; gap:24px; padding-block:0; }
  .instagram-invite { padding:24px 0 0; border-left:0; border-top:1px solid #d0c2c9; }
  .instagram-handle { font-size:26px; }
  .instagram-invite .button { min-height:48px; font-size:12px; }
  .event-cards { grid-template-columns:1fr; }
  #espaco-de-escuta { grid-template-columns:30% 70%; }
  .final-art { inset:0; }
  .final-cta:after { background:linear-gradient(#111b,#1114 48%,#111c 100%); }
  .final-art .photo-window img { object-position:center; }
  .footer nav .pending-link { font-size:11px; }
}

