/* A livelier layer on the approved Oakvale composition, 24 October 2026. */
.builder-page { --soft: #f6f6f0; }
.launch-hero { position: relative; padding-top: 72px; padding-bottom: 60px; }
.launch-hero h1 { position: relative; z-index: 1; }
.headline-highlight { position: relative; isolation: isolate; background: none; }
.headline-highlight::before {
  content: ''; position: absolute; inset: 2px -3px 0; z-index: -1;
  background: var(--sage); transform: rotate(-.8deg); transform-origin: left center;
}
.launch-bottom { margin-top: 48px; }
.launch-bottom>p { font-weight: 400; line-height: 1.55; }
.action-pill { transition: background .2s, color .2s, box-shadow .25s, transform .25s; }
.action-pill:focus-visible { outline: 3px solid #748e63; outline-offset: 5px; }
.action-light { background: transparent; border-color: #c5cdbf; }
.conviction-strip { background: var(--ink); color: #f1f5e9; border-color: transparent; }
.conviction-strip>.wrap { padding-block: 25px; }
.conviction-strip .oak-leaf { color: var(--sage); }
.conviction-strip>.wrap>span:not(:first-child) { border-left: 1px solid #ffffff30; padding-left: 28px; }
.section-label { display: flex; align-items: center; gap: 10px; }
.section-label::before { content: ''; width: 22px; height: 1px; background: currentColor; }
.builder-support { padding-top: 92px; padding-bottom: 108px; }
.section-heading { margin-bottom: 46px; }
.support-grid { gap: 30px; align-items: start; }
.support-card:nth-child(2) { margin-top: 48px; }
.support-card:nth-child(3) { margin-top: 22px; }
.support-card figure { aspect-ratio: 1.2; border-radius: 14px; }
.support-card:nth-child(2) figure { aspect-ratio: 1.35; }
.support-card:nth-child(3) figure { aspect-ratio: 1.15; }
.support-card .card-title { padding-top: 20px; margin-top: 20px; border-top: 1px solid #203c2e30; }
.support-card>p { margin-top: 14px; }
.arrow-link { position: relative; border-color: #203c2e35; }
.arrow-link::after { content: ''; height: 1px; position: absolute; left: 0; right: 0; bottom: -1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .25s; }
.arrow-link:hover::after, .arrow-link:focus-visible::after { transform: scaleX(1); }
.founder-feature { background: var(--ink); color: white; position: relative; isolation: isolate; overflow: hidden; }
.founder-feature::before {
  content: ''; position: absolute; inset: 0; z-index: -1; opacity: .075;
  background: url('/assets/brut-wallpaper.svg') -180px 30% / 700px; pointer-events: none;
}
.founder-feature .section-label { color: var(--sage); }
.feature-copy h2 { max-width: 590px; }
.feature-copy .company-wordmark { filter: brightness(0) invert(1); width: 120px; margin-block: 32px 24px; }
.feature-copy>p:not(.section-label):not(.founder-byline) { color: #e2eadc; }
.founder-byline>span { color: #c4d2bc; }
.founder-feature .action-pill { background: var(--sage); color: var(--ink); }
.founder-feature .action-pill:hover { background: #e6f3db; }
.feature-photo { border: 1px solid #ffffff30; border-radius: 16px; box-shadow: 10px 10px 0 #cde5b92b; height: 540px; }
.photo-label { bottom: 0; left: 0; right: 0; padding: 24px; background: linear-gradient(transparent, #15271fe6); font-size: 10px; }
.photo-corner { z-index: 1; background: var(--sage); color: var(--ink); border: 0; bottom: 18px; right: 18px; }
.mandate-section { background: #f4f3ec; padding-block: 112px; }
.mandate-tiles { gap: 16px; padding-bottom: 20px; }
.mandate-tile { border-radius: 12px; position: relative; padding: 28px 24px; min-height: 246px; }
.mandate-tile:nth-child(even) { top: 20px; }
.mandate-tile>.oak-leaf { margin-bottom: 40px; }
.mandate-tile strong { font-size: clamp(38px,4.3vw,62px); }
.mandate-tile.tile-ink strong { font-size: clamp(32px,3.3vw,48px); }
.mandate-tile>p { font-size: 12px; margin-top: 20px; }
.tile-white { border: 1px solid #d5dbcb; }
.film-section { padding-block: 90px; }
.film-copy { border-top: 1px solid #203c2e35; padding-top: 28px; }
.story-film { border-radius: 16px; }
.film-play { background: var(--sage); color: var(--ink); border: 0; }
.apply-heading h2 { font-size: clamp(44px,5.5vw,78px); }
.application-chapters>div { background: transparent; border-radius: 8px; transition: background .25s, border-color .25s; }
.application-chapters>div>span { font-size: 14px; }
.application-chapters>div:hover { background: #ffffff0d; border-color: #cde5b9a0; }
.apply-chapter .action-pill:focus-visible, .founder-feature .action-pill:focus-visible { outline-color: var(--sage); }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  html:not(.reduce-motion) .action-pill:hover { transform: translateY(-2px); box-shadow: 0 6px 16px #172d221a; }
  html:not(.reduce-motion) .support-card figure { transition: box-shadow .3s; }
  html:not(.reduce-motion) .support-card:hover figure { box-shadow: 0 10px 24px #172d221c; }
  html:not(.reduce-motion) .photo-corner { transition: transform .3s; }
  html:not(.reduce-motion) .feature-photo:hover .photo-corner { transform: rotate(45deg); }
}
@media (min-width: 1600px) { .launch-hero { padding-top: 90px; padding-bottom: 75px; } }
@media (max-width: 1150px) {
  .conviction-strip>.wrap>span:not(:first-child) { padding-left: 18px; }
  .feature-photo { height: 500px; }
  .mandate-tile { padding: 24px 20px; }
}
@media (max-width: 900px) {
  .launch-hero h1 { font-size: 7.1vw; }
  .conviction-strip>.wrap>span:not(:first-child) { padding-left: 0; border: 0; }
  .builder-support { padding-block: 72px; }
  .support-grid { gap: 20px; }
  .support-card:nth-child(2) { margin-top: 30px; }
  .support-card:nth-child(3) { margin-top: 15px; }
  .feature-photo { height: 470px; }
  .mandate-section { padding-block: 80px; }
  .mandate-layout { display: flex; flex-direction: column-reverse; align-items: stretch; gap: 36px; }
  .mandate-tile { min-height: 234px; padding: 22px 18px; }
  .mandate-tile strong { font-size: 38px; }
  .mandate-tile.tile-ink strong { font-size: 31px; }
}
@media (max-width: 700px) {
  .launch-hero { padding-top: 44px; padding-bottom: 30px; }
  .launch-hero h1 { font-size: 10.8vw; }
  .launch-bottom { margin-top: 30px; }
  .conviction-strip>.wrap { padding-block: 22px; }
  .section-label::before { width: 18px; }
  .builder-support { padding-block: 56px; }
  .support-grid, .feature-grid, .film-layout, .apply-heading { grid-template-columns: 1fr; }
  .support-card:nth-child(2), .support-card:nth-child(3) { margin-top: 0; }
  .support-card figure, .support-card:nth-child(2) figure, .support-card:nth-child(3) figure { aspect-ratio: 1.4; }
  .support-card .card-title { padding-top: 18px; margin-top: 18px; }
  .feature-photo { height: 420px; width: calc(100% - 7px); box-shadow: 7px 7px 0 #cde5b92b; }
  .photo-label { padding: 24px 18px; font-size: 8px; }
  .feature-copy .company-wordmark { width: 108px; margin-block: 26px 22px; }
  .mandate-section { padding-block: 60px; }
  .mandate-tile { min-height: 218px; padding: 22px 17px; }
  .mandate-tile>.oak-leaf { margin-bottom: 30px; }
  .mandate-tile strong { font-size: 35px; }
  .mandate-tile.tile-ink strong { font-size: 29px; }
  .mandate-tile>p { font-size: 11px; }
  .film-section { padding-block: 56px; }
  .film-copy { padding-top: 24px; }
  .apply-heading h2 { font-size: 43px; }
}
@media (max-width: 370px) {
  .mandate-tile strong { font-size: 30px; }
  .mandate-tile.tile-ink strong { font-size: 25px; }
  .feature-photo { height: 370px; }
}
@media print { .headline-highlight::before { animation: none; } }

/* Phone pass, 4 November 2026: the landing page's own header and labels, specific enough to win. */
@media (max-width: 700px) {
  html .builder-page .site-header { height: 64px; padding-inline: 18px; gap: 10px; }
  html .builder-page .site-header>.brand { width: 76px; height: 60px; margin-right: 0; }
  html .builder-page .site-header>.brand img { width: 150px; left: -37px; top: -11px; }
  html .builder-page .header-actions { gap: 10px; }
  html .builder-page .button-small { font-size: 12px; min-height: 40px; padding: 9px 14px; gap: 10px; }
  html .builder-page .menu-toggle { min-width: 44px; min-height: 44px; justify-content: center; }
  html .section-label { font-size: 11px !important; letter-spacing: .07em; }
  html .launch-kicker { font-size: 11px !important; letter-spacing: .05em; }
  html .photo-label, html .film-caption { font-size: 11px; }
  html .arrow-link { font-size: 14px; min-height: 44px; }
  html .application-bottom .motion-toggle { font-size: 11px; min-height: 44px; }
  html .application-bottom a { min-height: 44px; display: inline-flex; align-items: center; font-size: 14px; }
  html .feature-copy>p:not(.section-label):not(.founder-byline), html .mandate-explainer>p:not(.section-label), html .film-copy>p:not(.section-label) { font-size: 15px; line-height: 1.65; }
}

/* Phone hero, 5 November 2026: the hero owns the whole first screen (utility strip 29px + header 64px) so the next section does not peek in. */
@media (max-width: 700px) {
  html .builder-page .launch-hero { box-sizing: border-box; min-height: calc(100svh - 93px); display: flex; flex-direction: column; justify-content: center; padding-top: 24px; padding-bottom: 56px; }
  html .builder-page .launch-bottom { margin-top: 34px; }
}
@media (max-width: 700px) and (max-height: 560px) {
  html .builder-page .launch-hero { min-height: 0; padding-top: 44px; padding-bottom: 40px; }
}
