:root{
  --ink:#0D1326; --pink:#FF2D75; --orange:#FF8700; --teal:#19C2A4; --cream:#F7F3E9;
  --serif:'Newsreader', serif; --sans:'Manrope', sans-serif;
  --pad: clamp(24px, 5vw, 80px);
  --section-pad: clamp(100px, 10vw, 180px);
  --ease: cubic-bezier(.2,.8,.2,1);
}
*{ margin:0; padding:0; box-sizing:border-box; border-radius:0; }
html{ scroll-behavior:smooth; }
body{ background:var(--cream); color:var(--ink); font-family:var(--sans); line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--pink); color:var(--cream); }
.wrap{ max-width:1440px; margin:0 auto; padding-inline:var(--pad); }
h1,h2,h3{ font-weight:400; }
.serif{ font-family:var(--serif); font-optical-sizing:auto; }

/* wedge — the single recurring diagonal geometric device */
.wedge{ position:absolute; right:0; bottom:0; clip-path:polygon(100% 0%, 100% 100%, 0% 100%); z-index:0; pointer-events:none; }

/* ============ NAV ============ */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:80; height:80px;
  display:flex; align-items:center; justify-content:space-between;
  padding-inline:var(--pad);
  background:rgba(247,243,233,0); transition:background .35s ease, backdrop-filter .35s ease;
}
.nav.is-scrolled{ background:rgba(247,243,233,0.92); backdrop-filter:blur(8px); }
.nav__mark{
  display:block; flex:0 0 125px; width:125px; height:54px; overflow:hidden;
}
.nav__mark img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.nav__links{ list-style:none; display:flex; align-items:center; gap:clamp(1.1rem, 2.2vw, 2rem); font-size:clamp(14px, 1vw, 16px); font-weight:500; letter-spacing:0; }
.nav__item{ position:relative; }
.nav__link{ display:inline-flex; align-items:center; min-height:44px; color:var(--ink); font:inherit; font-weight:500; background:none; border:0; cursor:pointer; }
.nav__link:hover,.nav__link[aria-expanded="true"]{ color:var(--teal); }
.nav__products::after{ content:''; width:6px; height:6px; margin:0 0 3px 8px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); }
.nav__submenu{ position:absolute; top:calc(100% - 2px); left:-1rem; z-index:2; min-width:180px; padding:0.5rem; list-style:none; background:var(--cream); box-shadow:0 10px 28px rgba(13,19,38,0.14); }
.nav__submenu a{ display:flex; align-items:center; min-height:44px; padding:0.5rem 0.75rem; color:var(--ink); font-size:0.95rem; }
.nav__submenu a:hover,.nav__submenu a:focus-visible{ color:var(--teal); background:rgba(25,194,164,0.07); }
.nav__toggle{ display:none; }

/* ============ SHARED CTA ============ */
.cta{ display:inline-flex; align-items:center; gap:0.7rem; font-size:1.05rem; font-weight:600; color:var(--pink); }
.cta__text{ border-bottom:1.5px solid var(--pink); padding-bottom:3px; }
.cta .arrow{ display:inline-block; transition:transform .35s var(--ease); }
.cta:hover .arrow{ transform:translateX(6px); }

/* ============ HERO ============ */
.eyebrow{ font-size:0.7rem; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; margin-bottom:1.6rem; }
.hero{ position:relative; min-height:760px; display:flex; align-items:stretch; padding:80px 0 3rem; overflow:hidden; }
.hero__grid{ display:grid; grid-template-columns:46% 54%; gap:40px; align-items:start; width:100%; position:relative; z-index:2; }
.hero__left{ display:flex; flex-direction:column; justify-content:center; min-height:560px; height:100%; }
.hero__headline{
  font-weight:400; font-size:clamp(72px, 6.8vw, 104px);
  line-height:0.92; letter-spacing:-0.02em; max-width:680px;
  opacity:0; transform:translateY(16px); animation:rise .9s var(--ease) .1s forwards;
}
.hero__headline .accent{ color:var(--pink); }
.hero__sub strong{ color:var(--ink); font-weight:700; }
.hero__sub{
  margin-top:36px; font-size:1.15rem; max-width:520px; color:rgba(13,19,38,0.72); line-height:1.5;
  opacity:0; transform:translateY(14px); animation:rise .9s var(--ease) .35s forwards;
}
.hero__cta{ margin-top:32px; opacity:0; transform:translateY(12px); animation:rise .9s var(--ease) .55s forwards; }
@keyframes rise{ to{ opacity:1; transform:translateY(0); } }

/* fixed-dimension art-directed composition — image and pink accent positioned
   together as one system, not independently percentage-based */
.hero__visual{
  position:relative; width:100%; max-width:720px; height:560px;
  margin-top:40px; margin-right:calc(-1 * (var(--pad) - 20px));
}
.hero__accent{
  position:absolute; top:0; right:-40px; width:250px; height:560px; z-index:1;
  background:var(--pink);
  clip-path:polygon(32% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.hero__photo{
  position:absolute; top:30px; right:70px; width:620px; height:500px; z-index:2;
  background:var(--ink); overflow:hidden;
  clip-path:polygon(24% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 18%);
  display:flex; align-items:flex-end; justify-content:center;
}
.hero__photo img{ width:100%; height:100%; object-fit:cover; object-position:52% 25%; display:block; }
.hero__photo-caption{ font-family:var(--serif); font-style:italic; font-size:0.78rem; color:rgba(247,243,233,0.5); padding:1.6rem 2.2rem; text-align:center; line-height:1.4; }

.hero__scroll{
  position:absolute; left:50%; bottom:1.4rem; transform:translateX(-50%); z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:0.5rem;
  font-size:0.64rem; letter-spacing:0.14em; font-weight:700; color:rgba(13,19,38,0.5);
}
.hero__scroll-line{ width:1px; height:24px; background:rgba(13,19,38,0.3); position:relative; overflow:hidden; }
.hero__scroll-line::after{ content:''; position:absolute; left:0; top:-100%; width:100%; height:100%; background:var(--ink); animation:scrollDrip 2.4s ease-in-out infinite; }
@keyframes scrollDrip{ 0%{top:-100%;} 60%{top:100%;} 100%{top:100%;} }

/* ============ SPARK ============ */
.spark{ background:var(--ink); padding:2.4rem 0; border-top:1px solid rgba(247,243,233,0.08); }
.spark__field{ width:100%; height:340px; }
.spark__field svg{ width:100%; height:100%; display:block; overflow:visible; }
.spark-dot{ fill:#1E2740; transition:r .7s var(--ease), fill .5s ease; }
.spark-line{ stroke-width:1; opacity:0; transition:opacity .5s ease; }

/* ============ BELIEF / TERRITORIES ============ */
.belief{ background:var(--ink); color:var(--cream); padding:var(--section-pad) 0; }
.belief__grid{ display:grid; grid-template-columns:minmax(0, 650px) 1fr; gap:4vw; align-items:center; }
.belief__statement{
  font-weight:400; font-size:clamp(44.8px, 5.8vw, 80px); line-height:1.15;
  opacity:0; transform:translateY(14px); transition:opacity .75s ease, transform .75s ease;
}
.belief__statement.in{ opacity:1; transform:translateY(0); }

.territories{ display:grid; grid-template-columns:1fr 1fr; row-gap:3.5rem; column-gap:4vw; align-self:center; }
.territory{
  opacity:0; transform:translateY(14px); transition:opacity .7s ease, transform .7s ease;
}
.territory.in{ opacity:1; transform:translateY(0); }
.territory__label{ display:flex; align-items:center; gap:0.6rem; }
.territory__word{ font-family:var(--sans); font-weight:700; font-size:1.05rem; letter-spacing:0.04em; text-transform:uppercase; }
.territory--joy .territory__word{ color:var(--pink); }
.territory--connection .territory__word{ color:var(--teal); }
.territory--belonging .territory__word{ color:var(--orange); }
.territory--meaning .territory__word{ color:var(--cream); }
.territory__note{ margin-top:0.55rem; font-size:0.95rem; color:rgba(247,243,233,0.62); line-height:1.45; max-width:30ch; }
.territory__dot{ width:9px; height:9px; border-radius:50%; flex-shrink:0; }
.territory--joy .territory__dot{ background:var(--pink); }
.territory--connection .territory__dot{ background:var(--teal); }
.territory--belonging .territory__dot{ background:var(--orange); }
.territory--meaning .territory__dot{ background:var(--cream); }

/* ============ EVERY MOMENT / OPPORTUNITY ============ */
.moment{ position:relative; background:var(--cream); padding:var(--section-pad) 0; overflow:hidden; }
.moment__wedge{ width:300px; height:460px; right:-80px; bottom:-80px; background:var(--teal); }
.moment__grid{ position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:6vw; }
.moment__head{ font-weight:500; font-size:clamp(57.6px, 6.3vw, 96px); line-height:1.02; letter-spacing:-0.01em; }
.moment__head em{ font-style:italic; color:var(--teal); font-weight:500; }
.moment__opp{ align-self:center; }
.moment__opp .moment__lead{ font-weight:400; font-size:clamp(1.5rem, 2.4vw, 2rem); line-height:1.28; }
.moment__opp .moment__body{ font-family:var(--sans); margin-top:1.2rem; font-size:0.95rem; line-height:1.7; max-width:44ch; color:rgba(13,19,38,0.72); }
.moment__opp em{ font-style:italic; color:var(--pink); font-weight:500; }

/* ============ SOMETIMES ============ */
.sometimes{ position:relative; background:var(--ink); color:var(--cream); padding:var(--section-pad) 0; }
.sometimes__top{ display:grid; grid-template-columns:minmax(0, 0.95fr) minmax(0, 1.65fr); gap:4vw; align-items:center; }
.sometimes__lead{ font-size:clamp(2.75rem, 4.4vw, 4.2rem); font-weight:400; line-height:1.04; white-space:nowrap; }
.sometimes__list{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); column-gap:clamp(1.25rem, 2.4vw, 3rem); }
.sometimes__item{ display:flex; align-items:center; gap:0.9rem; min-height:76px; padding:1rem 0; border-bottom:1px solid rgba(247,243,233,0.2); font-size:clamp(0.9rem, 1.15vw, 1.05rem); line-height:1.4; }
.sometimes__dot{ width:10px; height:10px; flex:0 0 10px; border-radius:50%; }
.sometimes__dot--pink{ background:var(--pink); }
.sometimes__dot--teal{ background:var(--teal); }
.sometimes__dot--orange{ background:var(--orange); }
.sometimes__dot--cream{ background:var(--cream); }
.sometimes__dot--outline{ border:1px solid rgba(247,243,233,0.65); background:var(--cream); }
.sometimes__bottom{ display:grid; grid-template-columns:1fr 1fr; gap:6vw; margin-top:3rem; padding-top:2.6rem; border-top:1px solid rgba(247,243,233,0.24); }
.sometimes__bottom>p,.sometimes__thought>p{ max-width:58ch; color:rgba(247,243,233,0.8); font-size:clamp(0.95rem, 1.25vw, 1.08rem); line-height:1.65; }
.sometimes__thought{ max-width:56ch; }
.sometimes__thought span{ display:block; margin-top:0.5rem; color:var(--pink); font-family:var(--serif); font-size:clamp(2rem, 3.3vw, 3rem); line-height:1.05; }

/* ============ DIFFERENT IDEAS ============ */
.ideas{ position:relative; background:var(--cream); color:var(--ink); padding:var(--section-pad) 0; overflow:hidden; }
.ideas__inner{ position:relative; z-index:1; }
.ideas__intro{ max-width:900px; margin:0 auto 4rem; }
.ideas__intro .eyebrow{ margin-bottom:1.2rem; color:rgba(13,19,38,0.62); }
.ideas__intro .eyebrow span{ color:var(--pink); }
.ideas__headline{ max-width:850px; font-weight:400; font-size:clamp(3rem, 6.2vw, 5.8rem); line-height:1.02; letter-spacing:-0.025em; }
.ideas__summary{ max-width:62ch; margin-top:1.5rem; color:rgba(13,19,38,0.72); font-size:1.05rem; line-height:1.7; }
.ideas__cards{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:clamp(1.25rem, 3vw, 2.5rem); }
.ideas__card{ position:relative; display:flex; flex-direction:column; min-height:340px; padding:clamp(1.75rem, 3vw, 2.75rem); background:rgba(13,19,38,0.025); border:1px solid rgba(13,19,38,0.12); }
.ideas__card::before{ content:''; position:absolute; top:-1px; left:-1px; width:64px; height:4px; background:var(--pink); }
.ideas__card--products::before{ background:var(--teal); }
.ideas__card-label{ display:flex; align-items:center; gap:0.75rem; color:rgba(13,19,38,0.65); font-size:0.78rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; }
.ideas__card-label span{ color:var(--pink); font-variant-numeric:tabular-nums; }
.ideas__card--products .ideas__card-label span{ color:var(--teal); }
.ideas__card-title{ margin-top:2.4rem; font-size:clamp(2rem, 3.1vw, 2.75rem); font-weight:400; line-height:1.08; }
.ideas__card p{ max-width:48ch; margin-top:1rem; color:rgba(13,19,38,0.72); font-size:0.98rem; line-height:1.7; }
.ideas__card-link{ display:inline-flex; align-items:center; gap:0.6rem; align-self:flex-start; margin-top:auto; padding-top:2rem; color:var(--pink); font-size:0.92rem; font-weight:600; }
.ideas__card--products .ideas__card-link{ color:var(--ink); }
.ideas__card-link span{ transition:transform .2s ease; }
.ideas__card-link:hover span{ transform:translateX(4px); }
.ideas__card-link:hover{ color:var(--teal); }
.ideas__card-link:focus-visible{ outline:2px solid var(--teal); outline-offset:5px; }

/* ============ HUMAN MOMENT ============ */
.pause{ display:grid; grid-template-columns:1fr 1fr; min-height:520px; }
.pause__photo{ position:relative; background:var(--ink); overflow:hidden; }
.pause__photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.pause__panel{ position:relative; background:var(--ink); color:var(--cream); display:flex; align-items:center; padding:3rem var(--pad); overflow:hidden; }
.pause__wedge{ width:180px; height:520px; right:-60px; bottom:0; background:var(--orange); }
.pause__content{ position:relative; z-index:2; width:100%; max-width:560px; }
.pause__headline{ max-width:17ch; font-family:var(--serif); font-weight:500; font-size:clamp(2.15rem, 3.15vw, 2.7rem); line-height:1.08; letter-spacing:-0.015em; }
.pause__lead{ margin-top:1rem; font-size:0.98rem; font-weight:600; line-height:1.55; }
.pause__body{ margin-top:0.8rem; color:rgba(247,243,233,0.78); font-size:0.92rem; line-height:1.6; }
.pause__closing{ margin-top:1rem; color:var(--teal); font-family:var(--serif); font-size:clamp(1.4rem, 2vw, 1.8rem); line-height:1.2; }

/* ============ FINAL INVITATION ============ */
.finale{ position:relative; background:var(--cream); padding:var(--section-pad) 0; overflow:hidden; }
.finale__wedge{ width:260px; height:300px; right:-80px; bottom:-100px; background:var(--pink); }
.finale__inner{ position:relative; z-index:2; display:grid; grid-template-columns:minmax(0, 1fr) minmax(220px, 320px); align-items:center; gap:clamp(2rem, 6vw, 6rem); }
.finale__copy{ position:relative; z-index:2; }
.finale__headline{ font-weight:500; font-size:clamp(3rem, 6.8vw, 5rem); line-height:1; }
.finale__sub{ font-weight:500; font-size:clamp(1.7rem, 3vw, 2.4rem); color:var(--pink); margin-top:0.5rem; }
.finale__cta{ margin-top:2.2rem; }
.finale__network{ display:block; width:100%; max-width:320px; height:auto; overflow:visible; }
.finale__line{ fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; opacity:0.62; }
.finale__line--pink{ stroke:var(--pink); }
.finale__line--teal{ stroke:var(--teal); }
.finale__line--orange{ stroke:var(--orange); }
.finale__dot--pink{ fill:var(--pink); }
.finale__dot--teal{ fill:var(--teal); }
.finale__dot--orange{ fill:var(--orange); }

/* ============ FOOTER ============ */
.footer{ background:var(--ink); color:rgba(247,243,233,0.72); padding:2.6rem 0 1.5rem; }
.footer__main{ display:grid; grid-template-columns:minmax(280px, 1.25fr) auto auto; align-items:center; gap:clamp(1.5rem, 3.5vw, 3.5rem); padding-bottom:2rem; }
.footer__brand{ display:grid; grid-template-columns:max-content minmax(0, 1fr); align-items:center; gap:1rem; }
.footer__mark{ font-family:var(--sans); font-weight:700; font-size:0.76rem; letter-spacing:0.05em; color:var(--cream); white-space:nowrap; }
.footer__tagline{ font-size:0.82rem; line-height:1.5; white-space:nowrap; }
.footer__nav{ display:flex; flex-wrap:wrap; align-items:center; gap:clamp(1rem, 2vw, 1.8rem); font-size:0.82rem; }
.footer__nav a{ display:inline-flex; align-items:center; min-height:44px; }
.footer__socials{ display:flex; align-items:center; gap:1rem; }
.footer__socials a{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; }
.footer__socials svg{ width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.footer__socials .footer__icon--linkedin{ fill:currentColor; stroke:none; }
.footer__socials .footer__icon-dot{ fill:currentColor; stroke:none; }
.footer__legal-row{ display:flex; justify-content:space-between; align-items:center; gap:1.5rem; padding-top:1.2rem; border-top:1px solid rgba(247,243,233,0.16); }
.footer__legal{ display:flex; align-items:center; gap:clamp(1rem, 2vw, 1.8rem); flex-wrap:wrap; font-size:0.78rem; }
.footer__legal a{ display:inline-flex; align-items:center; min-height:40px; }
.footer__copyright{ font-size:0.76rem; white-space:nowrap; }
.footer a{ transition:color .2s ease; }
.footer a:hover,.footer a:focus-visible{ color:var(--teal); }
.legal__content{ max-width:760px; }
.legal__title{ margin-bottom:1.5rem; font-size:clamp(2.8rem, 5vw, 4.5rem); line-height:1.05; }
.legal__content h2{ margin-top:2.5rem; font-family:var(--serif); font-size:1.8rem; font-weight:500; }
.legal__content p{ max-width:68ch; margin-top:1rem; color:rgba(13,19,38,0.78); line-height:1.75; }
.legal__content a{ color:var(--ink); text-decoration:underline; text-decoration-color:var(--teal); text-underline-offset:3px; }
.legal__content a:hover,.legal__content a:focus-visible{ color:var(--teal); }

/* ============ LEGAL POLICY PAGES ============ */
.legal{ background:var(--cream); min-height:60vh; padding:calc(80px + 4rem) 0 var(--section-pad); }

/* ============ RESPONSIVE ============ */
@media (min-width:981px) and (max-width:1200px){
  .hero{ padding-top:7rem; min-height:0; }
  .hero__grid{ grid-template-columns:1fr; }
  .hero__left{ min-height:0; height:auto; }
  .hero__headline{ font-size:clamp(52px, 9vw, 64px); line-height:0.94; max-width:none; }
  .hero__visual{ width:100%; max-width:none; height:390px; margin:2.5rem 0 0; margin-right:0; }
  .hero__photo{ top:0; right:16px; width:calc(100% - 16px); height:390px; }
  .hero__accent{ top:0; right:0; width:100px; height:390px; }
  .hero__scroll{ display:none; }
}
@media (max-width:980px){
  .nav__links{ gap:clamp(0.8rem, 1.8vw, 1.2rem); }
  .hero{ padding-top:7rem; min-height:0; }
  .hero__grid{ grid-template-columns:1fr; }
  .hero__left{ min-height:0; height:auto; }
  .hero__headline{ font-size:clamp(52px, 9vw, 64px); line-height:0.94; max-width:none; }
  .hero__visual{ width:100%; max-width:none; height:390px; margin:2.5rem 0 0; margin-right:0; }
  .hero__photo{ top:0; right:16px; width:calc(100% - 16px); height:390px; }
  .hero__accent{ top:0; right:0; width:100px; height:390px; }
  .hero__scroll{ display:none; }
  .spark__field{ height:260px; }
  .belief__grid{ grid-template-columns:1fr; gap:2.4rem; align-items:start; }
  .territories{ grid-template-columns:1fr; grid-template-rows:none; height:auto; row-gap:2.2rem; }
  .moment__grid{ grid-template-columns:1fr; gap:2rem; }
  .moment__wedge{ width:150px; height:220px; right:-40px; bottom:-40px; }
  .sometimes__top{ grid-template-columns:1fr; gap:2rem; }
  .sometimes__lead{ white-space:normal; }
  .sometimes__bottom{ margin-top:2.5rem; }
  .ideas__intro{ margin-bottom:3rem; }
  .ideas__headline{ font-size:clamp(3rem, 7vw, 4.5rem); }
  .pause{ grid-template-columns:1fr; min-height:0; }
  .pause__photo{ min-height:280px; }
  .pause__panel{ padding:3rem var(--pad); }
  .pause__headline{ font-size:clamp(2.15rem, 7vw, 2.7rem); }
  .pause__body{ font-size:0.95rem; }
  .pause__wedge{ width:90px; height:260px; right:-30px; bottom:0; }
  .finale__wedge{ width:160px; height:180px; right:-40px; bottom:-60px; }
  .finale__inner{ grid-template-columns:minmax(0, 1fr) minmax(180px, 260px); gap:2rem; }
  .footer__main{ grid-template-columns:1fr; justify-items:start; gap:1rem; }
  .footer__legal-row{ align-items:flex-start; flex-direction:column; gap:0.5rem; }
  .footer__legal{ gap:0.6rem 1.2rem; }
}

@media (max-width:720px){
  .nav{ height:72px; }
  .nav__mark{ flex-basis:105px; width:105px; height:46px; }
  .nav__toggle{ width:44px; height:44px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; border:0; background:none; color:var(--ink); cursor:pointer; }
  .nav__toggle span{ width:21px; height:2px; background:currentColor; transition:transform .2s ease, opacity .2s ease; }
  .nav.is-open .nav__toggle span:first-child{ transform:translateY(7px) rotate(45deg); }
  .nav.is-open .nav__toggle span:nth-child(2){ opacity:0; }
  .nav.is-open .nav__toggle span:last-child{ transform:translateY(-7px) rotate(-45deg); }
  .nav__links{ display:none; position:absolute; top:100%; left:var(--pad); right:var(--pad); flex-direction:column; align-items:stretch; gap:0; padding:0.5rem 1rem; background:var(--cream); box-shadow:0 12px 28px rgba(13,19,38,0.14); }
  .nav.is-open .nav__links{ display:flex; }
  .nav__item{ width:100%; }
  .nav__link{ width:100%; justify-content:space-between; min-height:48px; }
  .nav__submenu{ position:static; min-width:0; padding:0 0 0.5rem 0.75rem; box-shadow:none; background:transparent; }
  .sometimes{ padding-block:clamp(4.5rem, 15vw, 6rem); }
  .sometimes__lead{ font-size:clamp(2.8rem, 11vw, 4rem); }
  .sometimes__list{ grid-template-columns:1fr; }
  .sometimes__item{ min-height:64px; }
  .sometimes__bottom{ grid-template-columns:1fr; gap:1.5rem; margin-top:2rem; padding-top:1.8rem; }
  .sometimes__thought span br{ display:none; }
  .ideas__intro{ margin-bottom:2.25rem; }
  .ideas__headline{ font-size:clamp(2.65rem, 11vw, 4rem); }
  .ideas__summary{ margin-top:1.2rem; font-size:1rem; }
  .ideas__cards{ grid-template-columns:1fr; gap:1rem; }
  .ideas__card{ min-height:0; padding:1.6rem; }
  .ideas__card-title{ margin-top:1.8rem; font-size:2rem; }
  .ideas__card-link{ padding-top:1.5rem; }
  .finale__inner{ grid-template-columns:1fr; gap:1.5rem; }
  .finale__network{ width:180px; justify-self:end; }
  .footer__tagline{ font-size:0.7rem; }
}
@media (max-width:380px){
  .footer__brand{ grid-template-columns:1fr; gap:0.3rem; }
}
[hidden]{ display:none !important; }

@media (prefers-reduced-motion:reduce){
  .hero__headline,.hero__sub,.hero__cta{ animation:none; opacity:1; transform:none; }
  .belief__statement,.territory{ transition:none; opacity:1; transform:none; }
  .hero__scroll-line::after{ animation:none; }
}

a:focus-visible, button:focus-visible{ outline:2px solid var(--teal); outline-offset:3px; }
