/* =====================================================================
   Yenopoya — main.css
   Design source: Figma "The Yenopoya World" homepage (1941 × 9721)
   Scale system: 1rem = 10 design-px at 1940w. html font-size shrinks
   proportionally below 1940px (0.5155vw), so the layout mirrors the
   Figma canvas at every viewport, with mobile overrides ≤ 768px.
   ===================================================================== */

:root {
  /* Palette — exact Figma values */
  --c-blue-1: #c9e9ee;   /* topbar, footer, tiles 1&3, panels */
  --c-blue-2: #d0edfc;   /* tile 2, CTA polygon, quote card */
  --c-blue-3: #d1defc;   /* stat numbers, testimonial panel, nav underline */
  --c-ink:    #343434;   /* nav, headings on white */
  --c-ink-2:  #454545;   /* body headings/text */
  --c-ink-3:  #272727;   /* form labels */
  --c-gray:   #838383;   /* footer links, muted headings, quote */
  --c-gray-2: #919191;   /* stat labels */
  --c-gray-3: #5b5b5b;   /* At A Glance heading */
  --c-pink:   #f0d7e8;   /* intro accent line */
  --c-plum:   #7a556e;   /* mission card accent bar */
  --c-border: #9c9c9c;   /* form input borders */
  --c-cream:  #feffda;   /* card image backdrop */
  --c-doodle: #e0e0e0;   /* sketch decorations */

  /* Type — Futura BT in design; Jost is the licensed-free stand-in.
     Drop licensed Futura BT files in and these stacks pick them up first. */
  --f-light:  'Futura Lt BT', 'Jost', sans-serif;   /* 300 */
  --f-book:   'Futura Bk BT', 'Jost', sans-serif;   /* 400 */
  --f-medium: 'Futura Md BT', 'Jost', sans-serif;   /* 500 */
  --f-heavy:  'Futura Hv BT', 'Jost', sans-serif;   /* 700 */
  --f-copy:   'Poppins', sans-serif;

  --ls: .09rem; /* 0.9px design letter-spacing */
}

/* ------------------------------------------------ scale + reset */
html { font-size: clamp(6px, 0.5155vw, 10px); }
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: var(--f-book);
  font-weight: 400;
  color: var(--c-ink-2);
  background: #fff;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button, input, textarea, select { font: inherit; color: inherit; }
:focus-visible { outline: .3rem solid var(--c-plum); outline-offset: .2rem; }

.yw-container { max-width: 194rem; margin-inline: auto; position: relative; }
.screen-reader-text {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}

/* Buttons — design pattern: white pill-less rectangle, 5.8rem tall */
.yw-btn {
  display: inline-flex; align-items: center; justify-content: center;
  height: 5.8rem; padding-inline: 3.9rem;
  background: #fff; border: none; cursor: pointer;
  font-family: var(--f-medium); font-weight: 500; font-size: 2.6rem;
  letter-spacing: var(--ls); color: var(--c-ink);
  transition: transform .2s ease, box-shadow .2s ease;
}
.yw-btn--outline { border: 1px solid #000; }
.yw-btn--outline-soft { border: 1px solid #585858; color: var(--c-ink); }
.yw-btn:hover { transform: translateY(-.2rem); box-shadow: 0 .8rem 2rem rgba(0,0,0,.12); }

/* Graph-paper background used across the doodle mid-page zones */
.yw-paper {
  background-image:
    linear-gradient(rgba(163, 201, 226, .14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(163, 201, 226, .14) 1px, transparent 1px);
  background-size: 5.4rem 5.4rem;
}

/* ------------------------------------------------ topbar */
.yw-topbar { background: var(--c-blue-1); }
.yw-topbar__inner {
  min-height: 10.3rem; display: flex; align-items: center; justify-content: center;
}
.yw-topbar a {
  font-family: var(--f-book); font-size: 2rem; letter-spacing: var(--ls);
  color: var(--c-ink-2); line-height: 4.2rem;
}

/* ------------------------------------------------ header / nav */
.yw-header { background: #fff; position: relative; z-index: 50; }
.yw-header__inner {
  display: flex; align-items: center; justify-content: space-between;
  min-height: 16rem; padding-inline: 6.9rem 8rem;
}
.yw-header__logo img { width: 13.5rem; height: auto; }
.yw-header__logo .yw-logo-fallback {
  font-family: var(--f-medium); font-size: 2.4rem; color: var(--c-ink);
  letter-spacing: var(--ls);
}
.yw-nav ul { display: flex; gap: 6.9rem; }
.yw-nav a {
  font-family: var(--f-book); font-size: 2rem; color: var(--c-ink);
  letter-spacing: var(--ls); line-height: 4.2rem; position: relative;
  padding-bottom: .6rem;
}
.yw-nav li.current-menu-item > a::after,
.yw-nav li.current_page_item > a::after,
.yw-nav a.is-active::after {
  content: ""; position: absolute; left: 0; bottom: -.4rem;
  width: 8.8rem; max-width: 100%; height: 3px; background: var(--c-blue-3);
}
.yw-nav a:hover::after {
  content: ""; position: absolute; left: 0; bottom: -.4rem;
  width: 100%; height: 3px; background: var(--c-blue-3);
}
.yw-nav-toggle {
  display: none; background: none; border: none; cursor: pointer;
  width: 4.4rem; height: 4.4rem; position: relative;
}
.yw-nav-toggle span, .yw-nav-toggle span::before, .yw-nav-toggle span::after {
  content: ""; position: absolute; left: .6rem; right: .6rem; height: 3px;
  background: var(--c-ink); transition: transform .25s ease, opacity .25s ease;
}
.yw-nav-toggle span { top: 50%; transform: translateY(-50%); }
.yw-nav-toggle span::before { top: -1rem; }
.yw-nav-toggle span::after { top: 1rem; }
.yw-nav-toggle[aria-expanded="true"] span { background: transparent; }
.yw-nav-toggle[aria-expanded="true"] span::before { transform: translateY(1rem) rotate(45deg); }
.yw-nav-toggle[aria-expanded="true"] span::after { transform: translateY(-1rem) rotate(-45deg); }

/* ------------------------------------------------ carousels (hero + strip) */
.yw-carousel { overflow: hidden; position: relative; }
.yw-carousel__track { display: flex; gap: var(--gap, 1.8rem); will-change: transform; }
.yw-carousel__item { flex: none; }
.yw-carousel__item img { width: 100%; height: 100%; object-fit: cover; }

.yw-hero { margin-top: 0; }
.yw-hero .yw-carousel__track { --gap: 1.8rem; height: 46rem; }
.yw-hero .yw-carousel__item:nth-child(3n+1) { width: 92rem; }
.yw-hero .yw-carousel__item:nth-child(3n+2) { width: 55.7rem; }
.yw-hero .yw-carousel__item:nth-child(3n+3) { width: 42.7rem; }

.yw-strip .yw-carousel__track { --gap: 2.3rem; height: 15rem; }
.yw-strip .yw-carousel__item:nth-child(6n+1) { width: 40.8rem; }
.yw-strip .yw-carousel__item:nth-child(6n+2) { width: 26.3rem; }
.yw-strip .yw-carousel__item:nth-child(6n+3) { width: 19.7rem; }
.yw-strip .yw-carousel__item:nth-child(6n+4) { width: 40.8rem; }
.yw-strip .yw-carousel__item:nth-child(6n+5) { width: 19.7rem; }
.yw-strip .yw-carousel__item:nth-child(6n+6) { width: 35.5rem; }

/* ------------------------------------------------ intro */
.yw-intro { padding-top: 10.3rem; position: relative; }
.yw-intro__title {
  font-family: var(--f-medium); font-weight: 500; font-size: 7rem;
  color: var(--c-ink-2); letter-spacing: var(--ls); text-align: center;
  line-height: 1;
}
.yw-intro__line {
  position: absolute; top: 8.5rem; right: 0; width: 30.8vw; max-width: 59.8rem;
  height: 4px; background: var(--c-pink);
}
.yw-intro__decor {
  position: absolute; left: 14.1vw; top: 8.6rem; width: 31.7rem; height: 46.3rem;
  border-top: 1px solid #000; border-left: 1px solid #000; pointer-events: none;
}
.yw-intro__sub {
  font-family: var(--f-light); font-weight: 300; font-size: 2.4rem;
  line-height: 3rem; letter-spacing: var(--ls); text-align: center;
  max-width: 88.1rem; margin: 3.4rem auto 0;
}
.yw-intro__socials {
  display: flex; justify-content: flex-end; padding-inline: 6.5rem;
  margin-top: 4.5rem;
}
.yw-intro__socials img { height: 2.4rem; width: auto; }

/* ------------------------------------------------ strip spacing */
.yw-strip { margin-top: 2.1rem; }

/* ------------------------------------------------ at a glance */
.yw-glance { padding-top: 17rem; position: relative; }
.yw-glance__head { padding-left: 13.3vw; }
.yw-glance__title {
  font-family: var(--f-medium); font-weight: 500; font-size: 5rem;
  color: var(--c-gray-3); letter-spacing: var(--ls); line-height: 1;
}
.yw-glance__sub {
  font-family: var(--f-light); font-weight: 300; font-size: 2.4rem;
  line-height: 3rem; letter-spacing: var(--ls); margin-top: 1.3rem;
}
.yw-glance__stats {
  width: 111.8rem; max-width: calc(100% - 8rem);
  margin-left: 13.3vw; margin-top: 4.5rem;
  border: 1px solid #000;
  display: flex; align-items: center; justify-content: space-around;
  padding: 5rem 3rem; gap: 2rem;
}
.yw-stat { text-align: center; }
.yw-stat__num {
  font-family: var(--f-heavy); font-weight: 700; font-size: 5rem;
  color: var(--c-blue-3); letter-spacing: var(--ls); line-height: 1;
}
.yw-stat__label {
  font-family: var(--f-book); font-size: 2.4rem; color: var(--c-gray-2);
  letter-spacing: var(--ls); margin-top: 1rem; line-height: 3.7rem;
}
.yw-glance__doodle {
  position: absolute; right: 26.4vw; top: 20.5rem; width: 9.9rem;
  color: var(--c-doodle); pointer-events: none;
}

/* ------------------------------------------------ CTA band */
.yw-band {
  position: relative; height: 68.2rem; margin-top: 2.4rem;
  background: url('../img/placeholders/cta-band-bg.jpg') center/cover no-repeat;
}
.yw-band__strip {
  position: absolute; left: 0; bottom: 9.1rem; width: 100%; height: 35rem;
  object-fit: cover; opacity: .9;
}
.yw-band__polygon {
  position: absolute; top: 0; right: 0; width: 33.8vw; max-width: 65.7rem; height: 100%;
  background: var(--c-blue-2);
  clip-path: polygon(28% 0, 100% 0, 100% 100%, 0 100%);
  filter: drop-shadow(-6px 15px 28px rgba(0, 0, 0, .2));
}
.yw-band__decor {
  position: absolute; right: 15vw; top: -11.8rem; width: 27.4rem; height: 37.2rem;
  border-top: 1px solid #000; border-right: 1px solid #000; pointer-events: none;
  z-index: 2;
}
.yw-band__quote {
  position: absolute; right: 4vw; top: 4.3rem; width: 60.4rem; max-width: 90%;
  background: #fff; padding: 3.2rem 2.9rem; z-index: 3;
}
.yw-band__quote p {
  font-family: var(--f-heavy); font-weight: 700; font-style: italic;
  font-size: 3rem; line-height: 4.3rem; color: var(--c-gray);
  letter-spacing: var(--ls); text-align: center;
}
.yw-band__notebook {
  position: absolute; left: 6.5vw; top: 10.2rem; width: 51.5rem; z-index: 2;
}
.yw-band__row {
  position: absolute; left: 35vw; right: 8vw; top: 39.1rem; z-index: 4;
  display: flex; align-items: center; justify-content: space-between; gap: 4rem;
}
.yw-band__heading {
  font-family: var(--f-medium); font-weight: 500; font-size: 5rem;
  color: var(--c-gray); letter-spacing: var(--ls); line-height: 1;
}
.yw-band__row .yw-btn { font-size: 3rem; color: #080808; padding-inline: 3.9rem; }

/* ------------------------------------------------ inquire (reused twice) */
.yw-inquire { text-align: center; padding: 12.7rem 2rem 6rem; position: relative; }
.yw-inquire__title {
  font-family: var(--f-medium); font-weight: 500; font-size: 7rem;
  color: var(--c-ink-2); letter-spacing: var(--ls); line-height: 1;
}
.yw-inquire__sub {
  font-family: var(--f-light); font-weight: 300; font-size: 2.6rem;
  line-height: 3rem; letter-spacing: var(--ls); margin-top: 3.6rem;
}
.yw-inquire__doodle { width: 10.5rem; margin: 0 auto 3.6rem; color: var(--c-doodle); }

/* ------------------------------------------------ mission */
.yw-mission {
  display: flex; align-items: flex-start; padding: 8rem 5.9vw 14rem;
  position: relative;
}
.yw-mission__panel {
  background: var(--c-blue-1); width: 92.3rem; max-width: 54%;
  min-height: 65.9rem; padding: 14.5rem 8rem 6rem 8.3rem; position: relative;
}
.yw-mission__panel h2 {
  font-family: var(--f-heavy); font-weight: 700; font-size: 5rem;
  color: var(--c-ink-2); letter-spacing: var(--ls); line-height: 1;
}
.yw-mission__panel p {
  font-family: var(--f-light); font-weight: 300; font-size: 3rem;
  line-height: 4.3rem; letter-spacing: var(--ls); margin-top: 3rem;
  max-width: 80rem;
}
.yw-mission__panel .yw-btn { margin-top: 4rem; }
.yw-mission__books {
  position: absolute; right: 8.8rem; bottom: 5rem; width: 21rem;
}
.yw-mission__card {
  background: #fff; width: 78.8rem; max-width: 46%;
  margin-left: 0; margin-top: .4rem; position: relative;
  box-shadow: -8px 0 21px rgba(0, 0, 0, .1);
  padding: 0;
}
.yw-mission__card::before {
  content: ""; position: absolute; left: 0; top: 0; width: 10px; height: 16.5rem;
  background: var(--c-plum);
}
.yw-mission__row {
  padding: 4.7rem 8.3rem 3.2rem; border-bottom: .5px solid #000;
  position: relative;
}
.yw-mission__row:last-child { border-bottom: none; }
.yw-mission__row h3 {
  font-family: var(--f-heavy); font-weight: 700; font-size: 4rem;
  color: var(--c-ink); letter-spacing: var(--ls); line-height: 1;
}
.yw-mission__row p {
  font-family: var(--f-light); font-weight: 300; font-size: 2.4rem;
  line-height: 4.3rem; letter-spacing: var(--ls); margin-top: .5rem;
  color: var(--c-ink-2);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.yw-mission__row .yw-mission__arrow {
  position: absolute; right: 3.3rem; top: 5.7rem; width: 5.4rem; height: 5.4rem;
}

/* ------------------------------------------------ category tiles */
.yw-tiles {
  display: flex; gap: 4rem; justify-content: center;
  padding: 6rem 7.3vw 0;
}
.yw-tile {
  position: relative; width: 52.4rem; height: 25.1rem; overflow: hidden;
  display: flex; align-items: center;
  transition: transform .25s ease;
}
.yw-tile:hover { transform: translateY(-.6rem); }
.yw-tile--blue-1 { background: var(--c-blue-1); }
.yw-tile--blue-2 { background: var(--c-blue-2); }
.yw-tile__label {
  font-family: var(--f-heavy); font-weight: 700; font-size: 4rem;
  color: #fff; letter-spacing: var(--ls); text-transform: uppercase;
  padding-left: 10.2rem; position: relative; z-index: 2;
}
.yw-tile__icon {
  position: absolute; right: 2.4rem; top: 50%; transform: translateY(-50%);
  z-index: 1;
}
.yw-tile__icon--academics { width: 13.9rem; right: .8rem; }
.yw-tile__icon--students  { width: 13rem; right: 6.3rem; }
.yw-tile__icon--admissions { width: 8.1rem; right: 8.6rem; }

/* ------------------------------------------------ assistance banner */
.yw-banner {
  width: 165.4rem; max-width: calc(100% - 4rem); height: 47.4rem;
  margin: 15.6rem auto 0; position: relative; overflow: hidden;
  background: url('../img/placeholders/Rectangle-768.png') center/cover no-repeat;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 2rem;
}
.yw-banner::before {
  content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .35);
}
.yw-banner > * { position: relative; z-index: 1; }
.yw-banner h2 {
  font-family: var(--f-medium); font-weight: 500; font-size: 7rem;
  color: #fff; letter-spacing: var(--ls); line-height: 1;
}
.yw-banner p {
  font-family: var(--f-light); font-weight: 300; font-size: 2.6rem;
  line-height: 3rem; color: #fff; letter-spacing: var(--ls); margin-top: 3.5rem;
}
.yw-banner .yw-btn { margin-top: 4.9rem; }

/* ------------------------------------------------ discover cards band */
.yw-cards-band {
  position: relative; margin-top: 8rem; padding: 17.3rem 0 13.4rem;
  background: var(--c-blue-1);
}
.yw-cards-band::before {
  content: ""; position: absolute; inset: 0;
  background: url('../img/placeholders/image7.jpg') center/cover no-repeat;
  opacity: .18; pointer-events: none;
}
.yw-cards {
  display: flex; gap: 8.8rem; justify-content: center; position: relative;
}
.yw-card {
  background: #fff; width: 51.1rem; height: 57.4rem; position: relative;
  padding-top: 7.2rem; text-align: center;
  transition: transform .25s ease, box-shadow .25s ease;
}
.yw-card:hover { transform: translateY(-.8rem); box-shadow: 0 1.6rem 3.2rem rgba(0,0,0,.1); }
.yw-card__media {
  width: 34.9rem; height: 32.3rem; margin-inline: auto; position: relative;
  background: var(--c-cream);
}
.yw-card__media > img { width: 100%; height: 100%; object-fit: cover; }
.yw-card__badge {
  position: absolute; left: 0; bottom: -4.7rem; width: 14.1rem; height: 13.5rem;
  background: var(--c-blue-1);
  box-shadow: 4px -2px 8.8px rgba(121, 121, 113, .2);
  display: flex; align-items: center; justify-content: center;
}
.yw-card__badge img { width: 6rem; height: auto; max-height: 6rem; }
.yw-card__title {
  font-family: var(--f-heavy); font-weight: 700; font-size: 3rem;
  color: var(--c-ink-2); letter-spacing: var(--ls); margin-top: 6.6rem;
  line-height: 4.3rem;
}
.yw-card__sub {
  font-family: var(--f-light); font-weight: 300; font-size: 2rem;
  color: var(--c-ink-2); letter-spacing: var(--ls); line-height: 4.3rem;
}
.yw-cards-band__cta { text-align: center; margin-top: 9rem; position: relative; }

/* ------------------------------------------------ testimonials */
.yw-testi { position: relative; height: 81.3rem; margin-top: 12rem; }
.yw-testi__panel {
  position: absolute; left: 38vw; right: 0; top: 0; bottom: 0;
  background: var(--c-blue-3); overflow: hidden;
}
.yw-testi__collage {
  position: absolute; inset: 0; display: flex; gap: 0;
}
.yw-testi__col { flex: 1 1 33.33%; display: flex; flex-direction: column; }
.yw-testi__col img { width: 100%; height: 81.3rem; object-fit: cover; flex: none; }
.yw-testi__col--up { transform: translateY(-40.6rem); }
.yw-testi__head { position: absolute; left: 5.6vw; top: 27rem; z-index: 2; }
.yw-testi__title {
  font-family: var(--f-medium); font-weight: 500; font-size: 7rem;
  color: var(--c-ink-2); letter-spacing: var(--ls); line-height: 1;
}
.yw-testi__sub {
  font-family: var(--f-light); font-weight: 300; font-size: 2.6rem;
  letter-spacing: var(--ls); margin-top: 3.6rem;
}
.yw-testi__quote {
  position: absolute; left: 0; top: 43.4rem; width: 110.8rem; max-width: 92%;
  background: rgba(208, 237, 252, .92); backdrop-filter: blur(27px);
  -webkit-backdrop-filter: blur(27px);
  padding: 6.5rem 8.8rem 6rem; z-index: 3;
}
.yw-testi__quote-mark { width: 8.5rem; margin-bottom: 2.5rem; }
.yw-testi__quote p {
  font-family: var(--f-book); font-size: 2.4rem; line-height: 3.6rem;
  color: var(--c-ink-2); letter-spacing: var(--ls); max-width: 90.6rem;
}
.yw-testi__author {
  position: absolute; right: 5.5rem; top: 5.5rem;
  font-family: var(--f-light); font-weight: 300; font-style: italic;
  font-size: 2.4rem; color: var(--c-ink-2); letter-spacing: var(--ls);
}
.yw-testi__arrow {
  position: absolute; left: 116.4rem; top: 58.7rem; width: 6.1rem; height: 6.1rem;
  z-index: 4; background: none; border: none; cursor: pointer; padding: 0;
}
.yw-testi__arrow img { width: 100%; }
.yw-testi__line {
  position: absolute; left: 0; bottom: 0; width: 8.4rem; height: 1px; background: #000;
}

/* ------------------------------------------------ contact form */
.yw-form-sec {
  position: relative; min-height: 129.2rem; margin-top: 8.8rem;
  background: url('../img/placeholders/Trehaus-Website-0088.jpg.png') center/cover no-repeat;
  display: flex; align-items: center; justify-content: center;
  padding: 23.4rem 2rem;
}
.yw-form {
  width: 106.7rem; max-width: 100%;
  background: rgba(255, 255, 255, .8);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  padding: 10.5rem 4.7rem 8.3rem; text-align: center;
}
.yw-form__grid { display: grid; gap: 3.6rem; }
.yw-form input, .yw-form textarea {
  width: 97.2rem; max-width: 100%; height: 6.6rem; margin-inline: auto;
  background: transparent; border: 1px solid var(--c-border);
  padding-inline: 2.2rem; display: block;
  font-family: var(--f-light); font-weight: 300; font-size: 2.6rem;
  color: var(--c-ink-3); letter-spacing: var(--ls);
}
.yw-form textarea { padding-top: 1.6rem; resize: vertical; }
.yw-form ::placeholder { color: var(--c-ink-3); opacity: 1; }
.yw-form .yw-btn { margin-top: 5.8rem; }
.yw-form__notice {
  font-family: var(--f-book); font-size: 2.4rem; margin-bottom: 3rem;
  color: var(--c-ink-2);
}
.yw-form__hp { position: absolute; left: -9999px; opacity: 0; height: 0; overflow: hidden; }

/* ------------------------------------------------ footer CTA */
.yw-footer-cta { text-align: center; margin-top: 6rem; }
.yw-footer-cta__logo { width: 20.6rem; margin: 0 auto 6.6rem; }
.yw-footer-cta__band {
  position: relative; height: 47rem; background: var(--c-blue-1);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  overflow: hidden; padding: 2rem;
}
.yw-footer-cta__band::before {
  content: ""; position: absolute; inset: 0;
  background: url('../img/placeholders/image-6.png') center/cover no-repeat;
  opacity: .85;
}
.yw-footer-cta__band > * { position: relative; z-index: 1; }
.yw-footer-cta__band h2 {
  font-family: var(--f-medium); font-weight: 500; font-size: 7rem;
  color: #fff; letter-spacing: var(--ls); line-height: 1;
}
.yw-footer-cta__band p {
  font-family: var(--f-book); font-size: 2.4rem; line-height: 3rem;
  color: #fff; letter-spacing: var(--ls); margin-top: 2.9rem; max-width: 74.2rem;
}
.yw-footer-cta__band .yw-btn { margin-top: 5.6rem; }

/* ------------------------------------------------ footer */
.yw-footer { background: var(--c-blue-1); padding-top: 7.6rem; }
.yw-footer__cols {
  display: flex; align-items: flex-start; gap: 4rem;
  padding-inline: 10vw 5vw; justify-content: space-between; flex-wrap: wrap;
}
.yw-footer__col li { margin-bottom: 1.6rem; }
.yw-footer__col a, .yw-footer__col span {
  font-family: var(--f-book); font-size: 2.4rem; line-height: 3.8rem;
  color: var(--c-gray); letter-spacing: var(--ls);
}
.yw-footer__col a:hover { color: var(--c-ink-2); }
.yw-footer__socials img { height: 3.3rem; width: auto; }
.yw-footer__rule {
  border: none; border-top: 1px solid var(--c-gray);
  margin: 7.6rem 7.3rem 0;
}
.yw-footer__copy {
  font-family: var(--f-copy); font-size: 2rem; line-height: 1.4;
  color: var(--c-gray); text-align: center; padding: 2.6rem 2rem 5rem;
}

/* ------------------------------------------------ responsive */
@media (max-width: 1200px) {
  html { font-size: max(0.5155vw, 6px); }
}
@media (max-width: 992px) {
  .yw-nav {
    position: absolute; top: 100%; left: 0; right: 0; background: #fff;
    display: none; box-shadow: 0 2rem 3rem rgba(0,0,0,.08); z-index: 60;
  }
  .yw-nav.is-open { display: block; }
  .yw-nav ul { flex-direction: column; gap: 0; padding: 2rem 4rem; }
  .yw-nav a { font-size: 3rem; line-height: 7rem; display: block; }
  .yw-nav-toggle { display: block; }
  .yw-mission { flex-direction: column; gap: 6rem; }
  .yw-mission__panel, .yw-mission__card { max-width: 100%; width: 100%; }
  .yw-tiles { flex-wrap: wrap; }
  .yw-tile { width: min(52.4rem, 100%); }
  .yw-band__notebook { display: none; }
  .yw-band__row { left: 8vw; }
  .yw-testi__panel { left: 0; }
  .yw-testi__head { top: 6rem; }
  .yw-testi__head .yw-testi__title, .yw-testi__head .yw-testi__sub {
    color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.25);
  }
  .yw-testi__arrow { left: auto; right: 4rem; }
}
@media (max-width: 768px) {
  html { font-size: 7px; }
  .yw-header__inner { padding-inline: 2.4rem; min-height: 11rem; }
  .yw-hero .yw-carousel__track { height: 34rem; }
  .yw-intro__decor, .yw-band__decor, .yw-glance__doodle { display: none; }
  .yw-intro__line { width: 22vw; }
  .yw-glance__head, .yw-glance__stats { margin-left: 0; padding-left: 2.4rem; }
  .yw-glance__stats { max-width: calc(100% - 4.8rem); flex-wrap: wrap; row-gap: 4rem; }
  .yw-band { height: auto; padding: 6rem 2.4rem 8rem; }
  .yw-band__quote { position: static; margin: 0 0 4rem auto; }
  .yw-band__row { position: static; margin-top: 6rem; flex-direction: column; align-items: flex-start; }
  .yw-band__strip { display: none; }
  .yw-mission__panel { padding: 8rem 3rem 14rem; }
  .yw-mission__row { padding: 4rem 3rem 3rem; }
  .yw-mission__row .yw-mission__arrow { right: 2rem; top: 4rem; }
  .yw-cards { flex-direction: column; align-items: center; gap: 6rem; }
  .yw-card { max-width: calc(100% - 4rem); }
  .yw-testi { height: auto; padding-bottom: 8rem; }
  .yw-testi__panel { position: relative; height: 60rem; inset: auto; }
  .yw-testi__col img { height: 60rem; }
  .yw-testi__col--up { transform: translateY(-20rem); }
  .yw-testi__head { position: relative; inset: auto; padding: 4rem 2.4rem 0; }
  .yw-testi__head .yw-testi__title, .yw-testi__head .yw-testi__sub {
    color: var(--c-ink-2); text-shadow: none;
  }
  .yw-testi__quote { position: relative; inset: auto; margin: -8rem auto 0; padding: 5rem 3rem 4rem; }
  .yw-testi__author { position: static; display: block; margin-top: 2rem; text-align: right; }
  .yw-testi__arrow { position: relative; inset: auto; margin: 3rem 2.4rem 0 auto; display: block; }
  .yw-form input, .yw-form textarea { font-size: 3rem; height: 8rem; }
  .yw-footer__cols { flex-direction: column; gap: 5rem; padding-inline: 2.4rem; }
}

/* ------------------------------------------------ motion + print */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important; animation-iteration-count: 1 !important;
    transition-duration: .01ms !important; scroll-behavior: auto !important;
  }
}

/* Reduced motion: carousels stop auto-scrolling (JS), so let them be
   swiped/scrolled manually instead of hiding the overflowing images. */
@media (prefers-reduced-motion: reduce) {
  .yw-carousel { overflow-x: auto; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
  .yw-carousel__track { transform: none !important; }
}

/* ------------------------------------------------ inner pages */
.yw-page-body { padding: 9rem 6.9rem 12rem; }
.yw-page-body__title {
  font-family: var(--f-medium); font-weight: 500; font-size: 7rem;
  line-height: 1.05; color: var(--c-ink-2); letter-spacing: var(--ls);
}
.yw-page-body__content { margin-top: 3.4rem; font-family: var(--f-book); font-size: 2.4rem; line-height: 1.6; color: var(--c-ink-2); }
.yw-page-body__content > * + * { margin-top: 2.4rem; }
@media (max-width: 768px) { .yw-page-body { padding: 6rem 2.4rem 8rem; } }
