
:root {
    --outer: #141510;
    --outer-2: #202117;
    --paper: #d8c8a5;
    --paper-light: #eee3c7;
    --paper-dark: #b9a77f;
    --ink: #181913;
    --olive: #4b4d31;
    --olive-dark: #2d3020;
    --tan: #bda77a;
    --rust: #8d4c2c;
    --blueprint: #275663;
    --blueprint-dark: #193942;
    --cream: #f0e5ca;
    --headline: "Oswald", Impact, sans-serif;
    --typewriter: "Courier Prime", "Courier New", monospace;
    --shadow: 0 40px 80px rgba(0,0,0,.46);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background:
        radial-gradient(circle at 50% -10%, rgba(120,122,79,.14), transparent 28%),
        repeating-linear-gradient(90deg, rgba(255,255,255,.015) 0 1px, transparent 1px 7px),
        linear-gradient(180deg, var(--outer-2), var(--outer));
    font-family: var(--typewriter);
    font-size: 18px;
    line-height: 1.65;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, input { font: inherit; }
.skip-link, .sr-only {
    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 {
    width: auto; height: auto; margin: 10px; padding: 10px 14px;
    clip: auto; z-index: 9999; background: #fff; color: #000;
}
.outer-surface { padding: 0 14px 48px; }
.page-shell {
    width: min(1180px, calc(100% - 34px));
    margin-inline: auto;
}
.site-header {
    position: relative;
    top: auto;
    z-index: 100;
    width: 100%;
    max-width: 1380px;
    margin: 0 auto;
    color: var(--cream);
    background: rgba(20,21,16,.94);
    border: 1px solid rgba(242,229,193,.38);
    border-bottom: 1px solid rgba(216,200,165,.26);
    backdrop-filter: blur(10px);
}
.header-inner {
    min-height: 92px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.brand-lockup {
    display: inline-flex;
    flex-direction: column;
    gap: 8px;
    text-decoration: none;
    text-transform: uppercase;
    line-height: 1;
    width: min(520px, 100%);
}
.brand-kicker {
    color: var(--tan);
    font: 700 10px/1 var(--typewriter);
    letter-spacing: .16em;
}
.brand-logo {
    display: block;
    width: min(520px, 100%);
    height: auto;
}

.primary-nav { display: none; }
.primary-nav.is-open {
    position: fixed;
    inset: 82px 14px auto;
    display: flex;
    flex-direction: column;
    padding: 24px;
    color: var(--cream);
    background: var(--ink);
    border: 1px solid var(--tan);
    box-shadow: 0 22px 60px rgba(0,0,0,.52);
}
.primary-nav a {
    padding: 12px 0;
    border-bottom: 1px solid rgba(238,227,199,.15);
    text-decoration: none;
    text-transform: uppercase;
    font: 700 13px/1 var(--typewriter);
    letter-spacing: .08em;
}
.primary-nav .nav-cta {
    margin-top: 14px;
    padding: 14px;
    color: var(--ink);
    background: var(--paper-light);
    border: 0;
    text-align: center;
}
.nav-toggle {
    width: 48px; height: 42px;
    display: grid;
    place-content: center;
    gap: 5px;
    border: 1px solid rgba(238,227,199,.45);
    background: transparent;
}
.nav-toggle > span:not(.sr-only) { width: 24px; height: 2px; background: var(--cream); }

.master-page {
    position: relative;
    max-width: 1380px;
    margin: 0 auto;
    overflow: hidden;
    background:
        radial-gradient(circle at 11% 7%, rgba(255,255,255,.34), transparent 18%),
        radial-gradient(circle at 88% 23%, rgba(92,64,27,.10), transparent 17%),
        repeating-linear-gradient(0deg, rgba(40,35,22,.026) 0 1px, transparent 1px 5px),
        linear-gradient(180deg, var(--paper-light), var(--paper));
    border: 1px solid rgba(242,229,193,.38);
    box-shadow: var(--shadow);
}
.master-page::before,
.master-page::after {
    content: "";
    position: absolute;
    z-index: 7;
    pointer-events: none;
}
.master-page::before {
    inset: 0;
    border: 11px solid transparent;
    border-image:
        repeating-linear-gradient(90deg, rgba(61,51,28,.28) 0 3px, transparent 3px 8px) 12;
    opacity: .6;
}
.master-page::after {
    inset: 0;
    background:
        linear-gradient(90deg, rgba(77,59,28,.13), transparent 2.2%, transparent 97.5%, rgba(77,59,28,.15)),
        linear-gradient(rgba(255,255,255,.11), transparent 3.4%, transparent 97%, rgba(63,49,24,.11));
    mix-blend-mode: multiply;
}
.paper-edge {
    position: absolute;
    z-index: 8;
    top: 0; bottom: 0;
    width: 12px;
    opacity: .5;
    pointer-events: none;
    background: repeating-linear-gradient(0deg, transparent 0 5px, rgba(45,38,24,.33) 5px 8px);
}
.paper-edge-left { left: 0; }
.paper-edge-right { right: 0; }
.page-tabs {
    position: fixed;
    z-index: 20;
    right: max(0px, calc((100vw - 1380px)/2 - 15px));
    top: 170px;
    display: none;
    flex-direction: column;
    gap: 7px;
}
.page-tabs span {
    writing-mode: vertical-rl;
    padding: 14px 7px;
    color: var(--paper-light);
    background: var(--olive-dark);
    border: 1px solid rgba(238,227,199,.42);
    font: 700 10px/1 var(--typewriter);
    letter-spacing: .12em;
    box-shadow: 4px 5px 0 rgba(0,0,0,.28);
}
.page-section { position: relative; z-index: 2; padding: 86px 0; }
.field-label {
    margin: 0 0 18px;
    font: 700 12px/1.35 var(--typewriter);
    letter-spacing: .15em;
    text-transform: uppercase;
}
.dark-label, .ink-label { color: #604d28; }
.paper-label { color: var(--tan); }
h1, h2, h3 {
    margin: 0;
    font-family: var(--headline);
    text-transform: uppercase;
}
h1 { font-size: clamp(52px, 9vw, 96px); line-height: .88; letter-spacing: -.02em; }
h1 em { display: block; margin-top: 8px; color: var(--olive); font-style: normal; }
h2 { font-size: clamp(46px, 7vw, 78px); line-height: .9; letter-spacing: -.012em; }
h3 { line-height: 1.03; }
.hero {
    padding-top: 92px;
    padding-bottom: 92px;
    border-bottom: 2px solid rgba(24,25,19,.55);
    background: url("../img/stained-grid-paper-v4.jpg") center center / cover no-repeat;
}
.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(232,218,184,.68) 0%, rgba(232,218,184,.52) 34%, rgba(232,218,184,.20) 58%, rgba(232,218,184,.06) 80%, rgba(232,218,184,.04) 100%);
}
.hero > .page-shell { position: relative; z-index: 2; }

.hero-grid { display: grid; gap: 46px; align-items: center; width: min(1280px, calc(100% - 28px)); }
.hero-lead {
    max-width: 720px;
    margin: 28px 0 0;
    font-size: clamp(21px, 3vw, 29px);
    line-height: 1.45;
}
.hero-copy {
    position: relative;
    padding: 6px 0 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}
.button-row {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 30px;
}
.button {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 20px;
    border: 2px solid var(--ink);
    text-decoration: none;
    text-transform: uppercase;
    font: 700 14px/1 var(--typewriter);
    letter-spacing: .05em;
    box-shadow: 5px 5px 0 rgba(0,0,0,.22);
    transition: transform .16s ease, box-shadow .16s ease;
}
.button:hover { transform: translate(-2px,-2px); box-shadow: 7px 7px 0 rgba(0,0,0,.24); }
.button-dark { color: var(--cream); background: var(--ink); }
.button-outline { color: var(--ink); background: transparent; }
.button-paper { color: var(--ink); background: var(--paper-light); border-color: var(--paper-light); }
.button.full { width: 100%; }
.field-note {
    position: relative;
    max-width: 670px;
    margin-top: 34px;
    padding: 25px 24px 20px;
    border: 2px solid rgba(24,25,19,.65);
    background: rgba(216,200,165,.18);
    box-shadow: 7px 7px 0 rgba(24,25,19,.10);
    transform: rotate(-.35deg);
}
.field-note strong { display: block; font-size: 18px; text-transform: uppercase; }
.field-note p { margin: 6px 0 0; }
.note-stamp {
    position: absolute;
    right: 16px;
    top: -16px;
    padding: 7px 10px;
    color: var(--rust);
    background: var(--paper-light);
    border: 3px solid var(--rust);
    font: 700 12px/1 var(--headline);
    letter-spacing: .08em;
    text-transform: uppercase;
    transform: rotate(4deg);
}
.hero-product { margin: 0; }
.hero-photo-frame, .document-photo, .inside-photo, .flywheel-official, .author-photo, .purchase-photo {
    position: relative;
    padding: 10px;
    background: rgba(255,255,255,.24);
    border: 2px solid var(--ink);
    box-shadow: 14px 16px 0 rgba(24,25,19,.16);
    overflow: hidden;
}
.hero-photo-frame img, .document-photo img, .inside-photo img, .flywheel-official img,
.author-photo img, .purchase-photo img { width: 100%; }
.hero-photo-frame img { aspect-ratio: 1; object-fit: cover; }
.inspection-stamp {
    position: absolute;
    right: 6%;
    bottom: 7%;
    padding: 8px 12px;
    color: rgba(141,76,44,.96);
    background: rgba(238,227,199,.86);
    border: 3px solid rgba(141,76,44,.9);
    font: 700 18px/1 var(--headline);
    text-transform: uppercase;
    transform: rotate(-8deg);
}
figcaption {
    padding-top: 10px;
    font: 700 11px/1.45 var(--typewriter);
    letter-spacing: .07em;
    text-transform: uppercase;
}
.field-divider {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 0 4.5%;
    color: var(--paper-light);
    background: var(--ink);
    min-height: 56px;
}
.field-divider::before,
.field-divider::after { content: ""; height: 1px; flex: 1; background: rgba(238,227,199,.35); }
.field-divider span {
    font: 700 12px/1 var(--typewriter);
    letter-spacing: .16em;
    text-transform: uppercase;
}
.split-grid, .flywheel-grid, .author-grid, .blueprint-grid, .final-grid {
    display: grid;
    gap: 46px;
}
.document-photo { transform: rotate(-.7deg); }
.document-photo img { aspect-ratio: 4/3; object-fit: cover; }
.file-stamp {
    display: inline-block;
    margin-top: 25px;
    padding: 9px 13px;
    border: 1px dashed rgba(24,25,19,.62);
    color: #66522f;
    font: 700 11px/1.2 var(--typewriter);
    letter-spacing: .12em;
    transform: rotate(-1deg);
}
.directive-copy p, .flywheel-copy p, .author-copy p { margin: 0 0 20px; }
.lead-copy { font-size: clamp(23px, 3vw, 30px); line-height: 1.42; font-weight: 700; }
.document-box {
    position: relative;
    margin-top: 30px;
    padding: 26px 24px 22px;
    border: 2px solid var(--ink);
    background: rgba(255,255,255,.16);
    box-shadow: 8px 8px 0 rgba(24,25,19,.12);
}
.document-number { color: #645331; font: 700 11px/1 var(--typewriter); letter-spacing: .12em; }
.document-box h3 { margin-top: 10px; font-size: 31px; }
.check-list { margin: 18px 0 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding: 6px 0 6px 25px; }
.check-list li::before { content: "■"; position: absolute; left: 0; top: 7px; font-size: 10px; }

.protocol-section, .operator-section, .endorsement-section {
    color: var(--cream);
    background:
        radial-gradient(circle at 14% 15%, rgba(255,255,255,.04), transparent 22%),
        repeating-linear-gradient(0deg, rgba(255,255,255,.015) 0 1px, transparent 1px 6px),
        var(--olive-dark);
}
.section-heading { margin-bottom: 38px; }
.section-heading.narrow { max-width: 830px; }
.section-heading.centered { max-width: 850px; margin-inline: auto; text-align: center; }
.section-heading > p:last-child { margin: 20px 0 0; color: #e3d8c0; font-size: 20px; }
.protocol-grid { display: grid; gap: 16px; }
.protocol-card {
    position: relative;
    min-height: 260px;
    padding: 26px 23px;
    border: 1px solid rgba(238,227,199,.34);
    background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(0,0,0,.05));
    overflow: hidden;
}
.protocol-card::after {
    content: "";
    position: absolute;
    right: -44px; bottom: -44px;
    width: 88px; height: 88px;
    border: 2px solid rgba(189,167,122,.24);
    transform: rotate(45deg);
}
.protocol-number { color: rgba(238,227,199,.62); font: 700 58px/.8 var(--headline); text-shadow: 1px 1px 0 rgba(0,0,0,.18); }
.protocol-label { margin: 20px 0 8px; color: var(--tan); font: 700 11px/1.2 var(--typewriter); letter-spacing: .12em; text-transform: uppercase; }
.protocol-card h3 { font-size: 31px; }
.protocol-card > p:last-child { color: #e2d7c0; font-size: 17px; }

.blueprint-section {
    overflow: hidden;
    color: var(--cream);
    background: url("../img/stained-grid-paper-v4.jpg") center/cover no-repeat;
    border-block: 10px solid rgba(69,53,28,.52);
}
.blueprint-grid-lines {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .08;
    background-image:
        linear-gradient(rgba(45,35,20,.12) 1px, transparent 1px),
        linear-gradient(90deg, rgba(45,35,20,.12) 1px, transparent 1px);
    background-size: 80px 80px, 80px 80px;
}
.blueprint-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(232,218,184,.06) 0%, rgba(232,218,184,.08) 38%, rgba(232,218,184,.38) 56%, rgba(232,218,184,.62) 74%, rgba(232,218,184,.78) 100%);
}
.blueprint-grid { position: relative; z-index: 2; width: min(1280px, calc(100% - 28px)); }
.inside-photo {
    padding: 0;
    background: transparent;
    border: 0;
    transform: rotate(-1.15deg);
    box-shadow: 18px 22px 0 rgba(44,33,18,.20);
}
.inside-photo img { aspect-ratio: 4/3; object-fit: cover; }
.blueprint-tape {
    position: absolute;
    width: 90px; height: 28px;
    background: rgba(228,207,158,.72);
    box-shadow: 0 2px 6px rgba(0,0,0,.18);
}
.tape-one { left: -18px; top: 18px; transform: rotate(-12deg); }
.tape-two { right: -20px; bottom: 24px; transform: rotate(9deg); }
.inside-copy h2 { font-size: clamp(58px, 8vw, 104px); color: var(--ink); text-shadow: 1px 1px 0 rgba(255,255,255,.18); line-height: .88; }
.coffee-ring {
    position: absolute;
    z-index: 1;
    width: 190px;
    aspect-ratio: 1;
    border: 11px solid rgba(91,53,24,.18);
    border-radius: 50%;
}
.coffee-ring::after {
    content: "";
    position: absolute;
    inset: -22px;
    border: 3px dotted rgba(97,54,25,.18);
    border-radius: 50%;
}
.coffee-ring-one { right: 5%; top: 8%; transform: rotate(14deg) scaleX(.92); opacity: .55; }
.coffee-ring-two { left: 4%; bottom: -80px; width: 260px; opacity: .42; }
.text-link { font-weight: 700; text-transform: uppercase; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.light-link { color: var(--ink); }

.flywheel-official { background: rgba(255,255,255,.2); }
.flywheel-official img { aspect-ratio: 1; object-fit: cover; }
.margin-note, .author-note {
    margin-top: 28px;
    padding: 18px;
    border-left: 6px solid var(--olive);
    background: rgba(255,255,255,.18);
}
.margin-note strong, .margin-note span, .author-note span, .author-note strong { display: block; }
.margin-note span, .author-note strong { margin-top: 4px; font-weight: 700; }

.audience-grid { display: grid; gap: 18px; }
.audience-card {
    position: relative;
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 18px;
    align-items: start;
    min-height: 185px;
    padding: 25px;
    border: 2px solid rgba(238,227,199,.72);
    background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(0,0,0,.10));
    box-shadow: 9px 9px 0 rgba(0,0,0,.28);
    overflow: hidden;
}
.audience-card::after {
    content: "FIELD CLASS";
    position: absolute;
    right: -35px;
    top: 24px;
    padding: 6px 40px;
    color: var(--ink);
    background: var(--paper-light);
    font: 700 9px/1 var(--typewriter);
    letter-spacing: .12em;
    transform: rotate(35deg);
}
.audience-number {
    display: grid;
    place-items: center;
    width: 62px; height: 62px;
    border: 2px solid var(--paper-light);
    color: var(--paper-light);
    font: 700 33px/1 var(--headline);
}
.operator-label {
    display: block;
    margin-bottom: 7px;
    color: var(--tan);
    font: 700 10px/1 var(--typewriter);
    letter-spacing: .13em;
    text-transform: uppercase;
}
.audience-card h3 { padding-right: 46px; color: #fff8e8; font-size: clamp(29px, 3vw, 40px); }
.audience-card p { margin: 14px 0 0; color: #e8dcc2; font-size: 17px; line-height: 1.5; }

.author-photo { background: var(--paper-dark); }
.author-photo img { aspect-ratio: 4/5; object-fit: cover; object-position: center 18%; filter: sepia(.17) contrast(1.05) saturate(.82); }
.author-copy h2 { margin-bottom: 28px; }
.author-link {
    color: inherit;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}
.author-link:hover, .author-link:focus { color: var(--olive); }
.author-note { border-left-color: var(--rust); }

.endorsement-grid, .price-grid { display: grid; gap: 18px; }
.endorsement-card {
    margin: 0;
    padding: 27px 24px;
    border: 1px solid rgba(238,227,199,.36);
    background: rgba(0,0,0,.12);
}
.endorsement-card > p { margin: 0; color: #f0e5ca; font-size: 20px; line-height: 1.55; }
.endorsement-card footer { margin-top: 22px; }
.endorsement-card strong, .endorsement-card span { display: block; }
.endorsement-card span { margin-top: 4px; color: var(--tan); font-size: 14px; }

.purchase-photo { width: min(100%, 1040px); margin: 0 auto 58px; }
.purchase-photo img { aspect-ratio: 16/9; object-fit: cover; object-position: center; }
.price-card {
    position: relative;
    padding: 28px 24px;
    border: 2px solid var(--ink);
    background: rgba(255,255,255,.17);
    box-shadow: 9px 9px 0 rgba(24,25,19,.12);
}
.price-card.featured { background: rgba(75,77,49,.14); transform: translateY(-8px); }
.price-eyebrow { margin: 0 0 10px; color: #6c5731; font: 700 11px/1 var(--typewriter); letter-spacing: .12em; text-transform: uppercase; }
.price-card h3 { font-size: 32px; }
.price { margin: 12px 0 18px; font: 700 47px/1 var(--headline); }
.price-card ul { margin: 22px 0 26px; padding-left: 19px; }
.price-card li { margin: 7px 0; }
.recommended-stamp {
    position: absolute;
    right: 18px; top: 18px;
    padding: 7px 10px;
    color: var(--rust);
    border: 3px solid var(--rust);
    background: rgba(238,227,199,.85);
    font: 700 13px/1 var(--headline);
    text-transform: uppercase;
    transform: rotate(5deg);
}

.final-cta {
    color: var(--cream);
    background:
        radial-gradient(circle at 80% 15%, rgba(189,167,122,.12), transparent 25%),
        var(--ink);
}
.final-cta h2 { font-size: clamp(52px, 8vw, 86px); }
.final-cta p { max-width: 700px; color: #e5d9c1; font-size: 20px; }
.signup-box {
    padding: 28px 24px;
    border: 2px solid rgba(238,227,199,.52);
    background: rgba(255,255,255,.05);
    box-shadow: 10px 10px 0 rgba(0,0,0,.28);
}
.signup-kicker { color: var(--tan); font: 700 11px/1 var(--typewriter); letter-spacing: .13em; text-transform: uppercase; }
.signup-box h3 { margin-top: 10px; font-size: 32px; }
.signup-box small { display: block; margin-top: 14px; color: #bfb39d; }
.site-footer {
    position: relative;
    z-index: 3;
    color: var(--cream);
    background: #0d0e0b;
    border-top: 1px solid rgba(238,227,199,.25);
}
.footer-grid {
    min-height: 132px;
    display: grid;
    gap: 18px;
    align-items: center;
    padding-block: 28px;
}
.footer-grid strong, .footer-grid span, .footer-grid a { display: block; }
.footer-grid strong { font: 700 25px/1 var(--headline); text-transform: uppercase; }
.footer-grid span, .footer-grid a { margin-top: 5px; color: #cbbd9f; font-size: 14px; }

.page-stain {
    position: absolute;
    z-index: 0;
    width: 260px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, transparent 49%, rgba(104,67,25,.08) 50% 54%, transparent 55%);
    transform: rotate(-12deg) scaleX(.88);
}
.stain-a { left: -80px; top: -75px; }
.stain-b { right: -60px; bottom: -95px; }
.reveal { opacity: 0; transform: translateY(20px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
.delay-1 { transition-delay: .12s; }
.parallax-card { --parallax-y: 0px; }
.parallax-card > img,
.parallax-card > div > img { transform: translate3d(0,var(--parallax-y),0) scale(1.025); will-change: transform; }

@media (min-width: 760px) {
    .button-row { flex-direction: row; }
    .protocol-grid, .endorsement-grid, .price-grid { grid-template-columns: repeat(3, 1fr); }
    .audience-grid { grid-template-columns: repeat(2, 1fr); }
    .audience-card:last-child { grid-column: 1 / -1; min-height: 155px; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-grid > div:last-child { text-align: right; }
}
@media (min-width: 940px) {
    .outer-surface { padding-inline: 34px; }
    .nav-toggle { display: none; }
    .brand-lockup { width: 255px; }
    .primary-nav {
        display: flex;
        align-items: center;
        gap: 26px;
    }
    .primary-nav a {
        padding: 10px 0;
        border: 0;
        font-size: 12px;
    }
    .primary-nav .nav-cta {
        margin: 0;
        padding: 13px 16px;
    }
    .hero-grid { grid-template-columns: 1.05fr .95fr; gap: 70px; }
    .split-grid { grid-template-columns: .92fr 1.08fr; gap: 78px; }
    .blueprint-grid, .flywheel-grid, .author-grid, .final-grid { grid-template-columns: 1fr 1fr; gap: 78px; align-items: center; }
    .directive-visual { position: sticky; top: 112px; align-self: start; }
    .page-tabs { display: flex; }
}
@media (max-width: 939px) {
    .primary-nav { display: none; }
    .primary-nav.is-open { display: flex; }
    .page-section { padding: 68px 0; }
}
@media (max-width: 759px) {
    body { font-size: 17px; }
    .hero-copy { padding: 0; backdrop-filter: none; }
    .outer-surface { padding: 0 0 24px; }
    .master-page { margin-top: 0; border-inline: 0; }
    .page-shell { width: min(100% - 28px, 1180px); }
    .brand-lockup { width: 190px; }
    .brand-main b { font-size: 25px; letter-spacing: .27em; }
    .brand-lockup { width: min(290px, calc(100% - 60px)); }
    .brand-logo { width: 100%; }
    .blueprint-grid { width: calc(100% - 18px); }
    .inside-copy {
    position: relative;
    padding: 18px 0;
    max-width: 620px;
    color: var(--ink);
    background: transparent;
    border: 0;
    box-shadow: none;
    text-shadow: none;
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .reveal { opacity: 1; transform: none; transition: none; }
    .parallax-card > img,
    .parallax-card > div > img { transform: none !important; }
}

.endorsement-card.pending {
    border-style: dashed;
    opacity: .92;
}
.endorsement-card.pending p {
    font-style: italic;
}

.master-page::before, .master-page::after { display:none; }
.paper-edge { display:none; }

.hero::after { content:""; position:absolute; inset:0; pointer-events:none; background: linear-gradient(180deg, rgba(72,54,28,.04), transparent 22%, transparent 78%, rgba(72,54,28,.05)); }
.hero > .page-shell { position: relative; z-index: 2; }

.blueprint-section::after { content:""; position:absolute; inset:0; pointer-events:none; background: linear-gradient(180deg, rgba(72,54,28,.03), transparent 18%, transparent 82%, rgba(72,54,28,.05)); }

.blueprint-section .field-label,
.blueprint-section .inside-copy p,
.blueprint-section .blueprint-note,
.blueprint-section .text-link {
    position: relative;
    z-index: 2;
}
.blueprint-section .inside-copy p {
    max-width: 560px;
    font-size: 19px;
    line-height: 1.7;
    color: #181913;
}
.blueprint-section .field-label {
    display: inline-block;
    padding: 3px 10px;
    background: rgba(232,218,184,.38);
}
.blueprint-note {
    display: inline-block;
    margin: 22px 0 20px;
    padding: 12px 14px;
    border: 2px dashed rgba(24,25,19,.42);
    background: rgba(232,218,184,.42);
    color: #181913;
    font: 700 13px/1.45 var(--typewriter);
    letter-spacing: .08em;
    transform: rotate(-1deg);
}
.light-link {
    color: #181913;
    background: rgba(232,218,184,.42);
    padding: 5px 7px;
}

.eo-form-wrap {
    margin-top: 18px;
}
.eo-form-wrap iframe,
.eo-form-wrap form,
.eo-form-wrap > div {
    max-width: 100%;
}


/* V9 readability fix for Open It. Mark It. Run It. */
.blueprint-section .inside-copy {
    position: relative;
    z-index: 3;
}
.blueprint-section .blueprint-label {
    display: inline-block;
    color: #2a2218;
    background: rgba(232,218,184,.56);
    padding: 4px 10px;
    text-shadow: none;
}
.blueprint-section .inside-copy h2 {
    color: #141510;
    text-shadow: 1px 1px 0 rgba(255,255,255,.18);
    margin-bottom: 18px;
}
.inside-copy-box {
    display: inline-block;
    max-width: 600px;
    padding: 20px 22px 18px;
    background: rgba(236,223,193,.72);
    border: 1px solid rgba(67,49,27,.28);
    box-shadow: 10px 10px 0 rgba(55,40,21,.14);
    backdrop-filter: blur(1px);
}
.blueprint-section .inside-copy-box p {
    margin: 0 0 16px;
    color: #1c1914;
    font-size: 19px;
    line-height: 1.75;
    text-shadow: none;
}
.blueprint-section .blueprint-note {
    display: inline-block;
    margin: 0 0 14px;
    padding: 11px 14px;
    color: #1c1914;
    background: rgba(232,218,184,.74);
    border: 2px dashed rgba(28,25,20,.42);
    text-shadow: none;
}
.blueprint-section .light-link {
    display: inline-block;
    color: #11110f;
    background: rgba(232,218,184,.84);
    padding: 6px 8px;
    text-shadow: none;
}
@media (max-width: 759px) {
    .inside-copy-box {
        max-width: 100%;
        padding: 16px 16px 14px;
        box-shadow: 6px 6px 0 rgba(55,40,21,.12);
    }
    .blueprint-section .inside-copy-box p {
        font-size: 18px;
        line-height: 1.68;
    }
}


/* V10 forced readability override for Open It. Mark It. Run It. */
.blueprint-section .inside-copy,
.blueprint-section .inside-copy * {
    color: #181913;
}
.blueprint-section .blueprint-label {
    color: #221b12 !important;
    background: rgba(236,223,193,.72) !important;
}
.blueprint-section .inside-copy h2 {
    color: #11110f !important;
    text-shadow: 1px 1px 0 rgba(255,255,255,.14) !important;
}
.blueprint-section .inside-copy-box {
    display: inline-block;
    max-width: 610px;
    padding: 22px 24px 20px;
    background: rgba(240,229,202,.88) !important;
    border: 1px solid rgba(62,48,28,.30);
    box-shadow: 10px 10px 0 rgba(55,40,21,.12);
}
.blueprint-section .inside-copy-box p,
.blueprint-section .inside-copy-box .blueprint-note,
.blueprint-section .inside-copy-box .light-link {
    color: #181913 !important;
    text-shadow: none !important;
}
.blueprint-section .inside-copy-box p {
    margin: 0 0 16px;
    font-size: 19px;
    line-height: 1.75;
}
.blueprint-section .inside-copy-box .blueprint-note {
    display: inline-block;
    margin: 0 0 14px;
    padding: 10px 14px;
    background: rgba(230,216,181,.82) !important;
    border: 2px dashed rgba(24,25,19,.40);
}
.blueprint-section .inside-copy-box .light-link {
    display: inline-block;
    padding: 6px 8px;
    background: rgba(230,216,181,.92) !important;
    font-weight: 700;
}
@media (max-width: 759px) {
    .blueprint-section .inside-copy-box {
        max-width: 100%;
        padding: 18px 18px 16px;
    }
    .blueprint-section .inside-copy-box p {
        font-size: 18px;
        line-height: 1.68;
    }
}


/* V11 updates */
.site-header {
    position: relative;
    top: auto;
}
.back-to-top {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 120;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    min-height: 48px;
    padding: 12px 16px;
    border: 2px solid var(--ink);
    background: rgba(240,229,202,.92);
    color: var(--ink);
    box-shadow: 6px 6px 0 rgba(0,0,0,.18);
    text-transform: uppercase;
    font: 700 12px/1 var(--typewriter);
    letter-spacing: .08em;
    cursor: pointer;
    transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
}
.back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.back-to-top:hover {
    transform: translate(-2px,-2px);
    box-shadow: 8px 8px 0 rgba(0,0,0,.2);
}
@media (max-width: 759px) {
    .back-to-top {
        right: 12px;
        bottom: 12px;
        min-height: 44px;
        padding: 10px 12px;
        font-size: 11px;
    }
}


/* V12 absolute readability override */
.blueprint-section .inside-copy,
.blueprint-section .inside-copy *,
.blueprint-section .inside-copy-box,
.blueprint-section .inside-copy-box * {
    color:#181913 !important;
    text-shadow:none !important;
}
.blueprint-section .inside-copy h2 {
    color:#11110f !important;
}


/* V13 simplify Open It panel into one readable box */
.inside-panel { width: 100%; }
@media (max-width: 759px) {
  .inside-panel { padding: 18px 18px 18px !important; }
  .inside-panel p { font-size: 18px !important; line-height: 1.68 !important; }
}
