@font-face {
    font-family: "Alder Sans";
    src: url("../fonts/dm-sans-regular.ttf") format("truetype");
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Alder Sans";
    src: url("../fonts/dm-sans-medium.ttf") format("truetype");
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: "Alder Sans";
    src: url("../fonts/dm-sans-bold.ttf") format("truetype");
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "Alder Serif";
    src: url("../fonts/dm-serif-display.ttf") format("truetype");
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Alder Serif";
    src: url("../fonts/dm-serif-display-italic.ttf") format("truetype");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

.af-site,
.af-site * {
    box-sizing: border-box;
}

.af-site {
    margin: 0;
    color: #234c3c;
    background: #f6f5ef;
    font-family: "Alder Sans", sans-serif;
    font-size: 17px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

.af-site [hidden] {
    display: none !important;
}

.af-site h1,
.af-site h2,
.af-site h3,
.af-site p {
    margin: 0 0 22px;
}

.af-site h1,
.af-site h2,
.af-site h3 {
    font-family: "Alder Serif", Georgia, serif;
    font-weight: 400;
    line-height: 1.07;
    letter-spacing: -.035em;
}

.af-site h1 {
    font-size: clamp(48px, 5.2vw, 78px);
}

.af-site h2 {
    font-size: clamp(36px, 3.6vw, 54px);
}

.af-site h3 {
    font-size: 30px;
}

.af-site em {
    font-weight: 400;
    color: #607969;
}

.af-site a {
    color: inherit;
    text-underline-offset: 4px;
}

.af-site button,
.af-site input,
.af-site select {
    font: inherit;
}

.af-site button,
.af-site a,
.af-site input,
.af-site summary,
.af-site select {
    -webkit-tap-highlight-color: transparent;
}

.af-site button {
    cursor: pointer;
}

.af-site img {
    display: block;
    max-width: 100%;
}

.af-site :focus-visible {
    outline: 3px solid #9d6f26;
    outline-offset: 5px;
}

.af-wrap {
    width: min(1280px, calc(100% - 100px));
    margin: 0 auto;
}

.af-section {
    padding-top: 105px;
    padding-bottom: 105px;
}

.af-section-bottom {
    padding-bottom: 105px;
}

.af-site .af-eyebrow {
    font-family: "Alder Sans", sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .14em;
    margin-bottom: 24px;
}

.af-site .af-intro {
    font-size: 19px;
    line-height: 1.65;
    max-width: 550px;
}

.af-site .af-small {
    font-size: 14px;
    line-height: 1.6;
    color: #53665a;
}

.af-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    min-height: 54px;
    padding: 15px 24px;
    border: 1px solid #234c3c;
    border-radius: 3px;
    background: #234c3c;
    color: #fff !important;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    transition: background .2s, transform .2s;
}

.af-button:hover {
    background: #173729;
    transform: translateY(-2px);
}

.af-button-small {
    padding: 13px 19px;
    min-height: 48px;
    gap: 20px;
}

.af-button-outline {
    color: #234c3c !important;
    background: transparent;
}

.af-button-outline:hover {
    color: #fff !important;
}

.af-button-light {
    background: #f3f2e7;
    border-color: #f3f2e7;
    color: #234c3c !important;
}

.af-button-light:hover {
    background: #d9e3d7;
}

.af-text-link {
    display: inline-block;
    font-size: 15px;
    font-weight: 500;
    background: transparent;
    border: 0;
    padding: 8px 0;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 6px;
    color: inherit;
}

.af-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 22px;
}

.af-skip {
    position: fixed;
    left: 16px;
    top: -80px;
    z-index: 100;
    padding: 15px;
    background: #fff;
    border: 2px solid #234c3c;
}

.af-skip:focus {
    top: 12px;
}

.af-demo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 7px 50px;
    background: #e5e9df;
    font-size: 11px;
    line-height: 1.5;
}

.af-demo a {
    white-space: nowrap;
}

.af-header {
    position: relative;
    z-index: 30;
    background: #f6f5ef;
}

.af-header-inner {
    min-height: 106px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.af-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    flex-shrink: 0;
}

.af-brand > span {
    font-family: "Alder Serif", Georgia, serif;
    font-size: 37px;
    line-height: .95;
    letter-spacing: .05em;
}

.af-brand small {
    display: block;
    margin-top: 9px;
    font-family: "Alder Sans", sans-serif;
    font-size: 11px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: .15em;
}

.af-navigation {
    display: flex;
    align-items: center;
    gap: 27px;
}

.af-navigation > a:not(.af-button) {
    font-size: 14px;
    line-height: 1.4;
    text-decoration: none;
    padding: 15px 0;
    border-bottom: 1px solid transparent;
}

.af-navigation > a:hover,
.af-navigation > a[aria-current="page"] {
    border-color: currentColor;
}

.af-menu {
    display: none;
    align-items: center;
    gap: 12px;
    min-height: 44px;
    padding: 8px 0 8px 12px;
    color: #234c3c;
    background: transparent;
    border: 0;
    font-size: 14px !important;
}

.af-menu span {
    font-size: 24px;
    line-height: 1;
}

.af-hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 660px;
    padding-top: 10px;
}

.af-hero-copy {
    align-self: center;
    padding: 32px 65px 28px 0;
}

.af-hero h1 {
    font-size: clamp(68px, 6.3vw, 94px);
    line-height: .98;
    margin-bottom: 27px;
}

.af-hero .af-intro {
    font-size: 18px;
    max-width: 390px;
    margin-bottom: 26px;
}

.af-leaf-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 10px 0;
    background: #64816b;
    margin-right: 6px;
}

.af-hero-photo {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border-radius: 160px 3px 3px 3px;
    background: #d7ddd0;
}

.af-hero-photo > img {
    width: 100%;
    height: 100%;
    max-height: 720px;
    object-fit: cover;
    object-position: 59% center;
}

.af-photo-note {
    position: absolute;
    bottom: 25px;
    left: 25px;
    right: 25px;
    display: grid;
    grid-template-columns: 1fr auto;
    padding: 20px 24px;
    background: rgba(249, 248, 240, .96);
    border: 1px solid rgba(255, 255, 255, .4);
}

.af-photo-note .af-eyebrow {
    grid-column: 1 / -1;
    font-size: 11px;
    margin-bottom: 8px;
}

.af-photo-note p {
    font-family: "Alder Serif", Georgia, serif;
    font-size: 25px;
    line-height: 1.17;
    margin: 0;
    letter-spacing: -.02em;
}

.af-photo-note a {
    display: flex;
    width: 42px;
    height: 42px;
    margin-left: 15px;
    align-items: center;
    justify-content: center;
    border: 1px solid #a3b09f;
    border-radius: 50%;
    text-decoration: none;
    font-size: 23px;
    align-self: center;
}

.af-hero-note {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 34px;
}

.af-hero-note > span {
    font-size: 38px;
    color: #788d72;
    line-height: 1;
}

.af-hero-note p {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
}

.af-care-ribbon {
    display: flex;
    justify-content: center;
    gap: 54px;
    padding: 30px 0;
    border-bottom: 1px solid #d8ddcf;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .15em;
}

.af-introduction {
    text-align: center;
    max-width: 770px;
}

.af-introduction > p:last-child {
    max-width: 620px;
    margin: 0 auto;
}

.af-services {
    color: #f6f5ef;
    background: #234c3c;
}

.af-services em {
    color: #c5d4b6;
}

.af-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 30px;
    margin-bottom: 38px;
}

.af-section-heading h2 {
    margin: 0;
}

.af-service-grid,
.af-principle-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.af-service-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    padding: 30px 35px 0 0;
    border-top: 1px solid #64816b;
    transition: background .2s;
}

.af-service-card + .af-service-card {
    padding-left: 35px;
    border-left: 1px solid #64816b;
}

.af-service-card:hover {
    background: #2d5946;
}

.af-service-number {
    display: block;
    color: #c5d4b6;
    font-size: 11px;
    letter-spacing: .12em;
    margin-bottom: 40px;
}

.af-service-card h3 {
    font-size: 48px;
    margin-bottom: 25px;
}

.af-service-card p {
    color: #dbe4d7;
    font-size: 16px;
    max-width: 310px;
    margin-bottom: 35px;
}

.af-service-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 20px;
    margin-top: auto;
    border-top: 1px solid #64816b;
    font-size: 13px;
}

.af-service-link b {
    font-size: 26px;
    font-weight: 400;
}

.af-story {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 80px;
    align-items: center;
}

.af-story-image {
    width: 100%;
    height: 570px;
    object-fit: cover;
    object-position: 35% center;
    border-radius: 3px 130px 3px 3px;
}

.af-tick-list {
    list-style: none;
    padding: 0;
    margin: 28px 0;
}

.af-tick-list li {
    padding: 13px 0 13px 28px;
    border-bottom: 1px solid #d8ddcf;
    position: relative;
}

.af-tick-list li::before {
    content: "+";
    position: absolute;
    left: 0;
    top: 11px;
    color: #65816b;
    font-size: 22px;
}

.af-start-panel {
    display: grid;
    grid-template-columns: 1.25fr 1fr;
    align-items: center;
    gap: 80px;
    background: #e5e9de;
    padding: 65px;
    margin-bottom: 30px;
}

.af-start-panel h2 {
    margin: 0;
    font-size: 43px;
}

.af-home-faq,
.af-two-columns {
    display: grid;
    grid-template-columns: 1fr 1.25fr;
    gap: 90px;
}

.af-accordions details {
    border-bottom: 1px solid #cdd6c8;
    padding: 23px 0;
}

.af-accordions details:first-child {
    border-top: 1px solid #cdd6c8;
}

.af-accordions summary {
    font-size: 18px;
    font-weight: 500;
    cursor: pointer;
    list-style: none;
    position: relative;
    padding-right: 35px;
}

.af-accordions summary::-webkit-details-marker {
    display: none;
}

.af-accordions summary::after {
    content: "+";
    position: absolute;
    right: 3px;
    top: -6px;
    font-size: 28px;
    font-weight: 400;
}

.af-accordions details[open] summary::after {
    content: "−";
}

.af-accordions details p {
    margin: 17px 35px 0 0;
    font-size: 16px;
}

.af-bottom-cta {
    padding: 85px 0;
    text-align: center;
    background: #234c3c;
    color: #f6f5ef;
}

.af-bottom-cta em {
    color: #c5d4b6;
}

.af-bottom-cta h2 {
    margin-bottom: 30px;
}

.af-bottom-cta .af-button + p {
    margin: 22px 0 0;
    color: #dbe4d7;
    font-size: 13px;
}

.af-page-hero {
    padding-top: 68px;
    padding-bottom: 70px;
    border-top: 1px solid #d8ddcf;
}

.af-page-hero h1 {
    max-width: 1070px;
    margin-bottom: 28px;
}

.af-page-hero .af-intro {
    max-width: 700px;
    margin-bottom: 0;
}

.af-tabs {
    display: flex;
    border-bottom: 1px solid #bdcbbc;
    gap: 10px;
}

.af-tabs button {
    flex: 1;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: #234c3c;
    font-size: 16px;
    padding: 20px 12px;
}

.af-tabs button[aria-selected="true"] {
    border-bottom-color: #234c3c;
    background: #e5e9de;
    font-weight: 700;
}

.af-tab-panel {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 70px;
    padding: 60px 0 0;
    scroll-margin-top: 30px;
}

.af-panel-list {
    padding: 35px;
    background: #e5e9de;
    align-self: start;
}

.af-panel-list h3 {
    font-size: 29px;
}

.af-panel-list ul {
    padding-left: 20px;
    margin: 0 0 25px;
}

.af-panel-list li {
    margin-bottom: 15px;
}

.af-panel-list .af-small {
    margin-bottom: 0;
}

.af-soft-section {
    background: #e9ede3;
}

.af-wide-photo {
    width: 100%;
    height: 560px;
    object-fit: cover;
    border-radius: 3px 100px 3px 3px;
}

.af-principle-grid {
    gap: 45px;
}

.af-principle-grid article {
    border-top: 1px solid #64816b;
    padding-top: 25px;
}

.af-principle-grid h2 {
    font-size: 36px;
}

.af-principle-grid p {
    font-size: 17px;
    color: #dbe4d7;
    margin: 0;
}

.af-question-stack > p {
    display: flex;
    align-items: baseline;
    gap: 25px;
    padding-bottom: 22px;
    border-bottom: 1px solid #cdd6c8;
}

.af-question-stack span {
    color: #607969;
    font-size: 13px;
}

.af-step-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 50px;
}

.af-step-number {
    display: block;
    font-size: 14px;
    color: #607969;
    border-top: 1px solid #bdcbbc;
    padding-top: 18px;
    margin-bottom: 25px;
}

.af-step-grid h2 {
    font-size: 31px;
}

.af-step-grid p {
    font-size: 16px;
    margin-bottom: 0;
}

.af-checklist-layout,
.af-question-builder {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 90px;
    align-items: start;
}

.af-checklist-card,
.af-question-output {
    background: #f9f8f2;
    padding: 40px;
    border: 1px solid #d5dece;
}

.af-checklist-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 16px;
}

.af-checklist-top h3 {
    font-size: 27px;
    margin: 0;
}

.af-checklist-top span {
    font-size: 12px;
    white-space: nowrap;
}

.af-checklist-card progress {
    display: block;
    width: 100%;
    height: 5px;
    accent-color: #234c3c;
    margin-bottom: 22px;
}

.af-check {
    display: flex;
    align-items: start;
    gap: 15px;
    padding: 16px 0;
    border-bottom: 1px solid #d5dece;
    font-size: 16px;
    cursor: pointer;
}

.af-check input,
.af-choice input {
    flex: 0 0 auto;
    width: 19px;
    height: 19px;
    margin: 4px 0 0;
    accent-color: #234c3c;
}

.af-check b {
    display: block;
    font-weight: 500;
}

.af-check small,
.af-choice small {
    display: block;
    font-size: 13px;
    line-height: 1.5;
    color: #53665a;
    margin-top: 3px;
}

.af-checklist-card .af-actions,
.af-question-output .af-actions {
    margin-top: 25px;
}

.af-coverage-note {
    display: flex;
    gap: 20px;
    align-items: center;
    background: #e9ede3;
    padding: 24px 30px;
}

.af-coverage-note > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border: 1px solid #859e83;
    border-radius: 50%;
    font-family: Georgia, serif;
}

.af-coverage-note p {
    margin: 0;
    font-size: 14px;
}

.af-site fieldset {
    padding: 0;
    margin: 0 0 24px;
    border: 0;
    min-width: 0;
}

.af-site legend {
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 10px;
}

.af-topic-options .af-check {
    border-bottom-color: #c9d4c3;
}

.af-question-output ol {
    padding-left: 25px;
    margin: 25px 0;
}

.af-question-output li {
    padding: 0 0 18px 8px;
}

.af-question-output li::marker {
    color: #788d72;
}

.af-faq-content {
    max-width: 900px;
}

.af-search {
    margin-bottom: 35px;
}

.af-search label,
.af-book-card form > section > label {
    display: block;
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 10px;
}

.af-search input,
.af-book-card select {
    display: block;
    width: 100%;
    min-height: 55px;
    padding: 13px 16px;
    background: #fffefa;
    color: #234c3c;
    border: 1px solid #afbfaa;
    border-radius: 3px;
    font-size: 16px;
}

.af-search .af-small {
    margin: 12px 0 0;
}

.af-empty-state {
    padding: 45px 30px;
    background: #e9ede3;
    text-align: center;
}

.af-empty-state h2 {
    font-size: 34px;
}

.af-book-layout {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 100px;
    align-items: start;
    padding-top: 60px;
}

.af-book-intro h1 {
    font-size: clamp(50px, 5.3vw, 78px);
}

.af-book-benefits {
    list-style: none;
    counter-reset: benefits;
    padding: 0;
    margin: 35px 0;
}

.af-book-benefits li {
    counter-increment: benefits;
    padding: 12px 0;
    display: flex;
    gap: 15px;
    align-items: center;
    font-size: 16px;
}

.af-book-benefits li::before {
    content: "0" counter(benefits);
    font-size: 12px;
    color: #607969;
}

.af-note {
    padding: 22px 25px;
    margin-bottom: 25px;
    background: #e9ede3;
    border-left: 2px solid #8ea181;
    font-size: 14px;
}

.af-note p {
    margin: 8px 0 0;
}

.af-book-card {
    padding: 44px;
    border: 1px solid #ced9c7;
    background: #fffefa;
    box-shadow: 0 20px 60px rgba(35, 76, 60, .045);
}

.af-book-progress {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0 0 40px;
    gap: 8px;
}

.af-book-progress li {
    flex: 1;
    font-size: 11px;
    color: #5c6e62;
    border-top: 2px solid #dce3d6;
    padding-top: 10px;
}

.af-book-progress .is-active {
    border-top-color: #234c3c;
    color: #234c3c;
    font-weight: 700;
}

.af-book-card h2 {
    font-size: 43px;
    margin-bottom: 30px;
}

.af-book-card .af-eyebrow {
    font-size: 11px;
    margin-bottom: 12px;
}

.af-book-card select {
    margin-bottom: 22px;
}

.af-choice {
    display: flex;
    gap: 14px;
    align-items: start;
    padding: 16px;
    border: 1px solid #ced9c7;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 16px;
}

.af-choice:has(input:checked) {
    background: #edf1e7;
    border-color: #859e83;
}

.af-book-summary {
    margin: 0 0 25px;
    display: grid;
    grid-template-columns: .9fr 1.3fr;
    gap: 0 20px;
    font-size: 15px;
}

.af-book-summary dt,
.af-book-summary dd {
    margin: 0;
    padding: 15px 0;
    border-bottom: 1px solid #dce3d6;
}

.af-book-summary dt {
    color: #607969;
}

.af-book-summary dd {
    overflow-wrap: anywhere;
}

.af-sample-profile {
    background: #edf1e7;
    padding: 20px;
    margin: 0 0 25px;
}

.af-sample-profile p {
    margin: 7px 0 0;
    font-size: 16px;
}

.af-sample-profile p span {
    font-size: 14px;
    color: #53665a;
}

.af-form-error {
    font-size: 14px;
    color: #963f29;
    margin: 18px 0 0 !important;
}

.af-form-error:empty {
    display: none;
}

.af-success-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background: #e9ede3;
    border-radius: 50%;
    font-size: 30px;
    margin-bottom: 25px;
}

.af-book-done > .af-text-link {
    display: block;
    margin-top: 20px;
}

.af-reading {
    max-width: 880px;
}

.af-reading h2 {
    font-size: 32px;
    margin-top: 40px;
}

.af-reading h2:first-child {
    margin-top: 0;
}

.af-source-note {
    max-width: 900px;
    text-align: center;
}

.af-footer {
    padding-top: 80px;
    background: #eff0e6;
}

.af-footer-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1.2fr;
    gap: 40px;
    padding-bottom: 65px;
}

.af-footer-grid > div > h2 {
    font-family: "Alder Sans", sans-serif;
    letter-spacing: 0;
    font-size: 14px;
    font-weight: 700;
    margin: 10px 0 20px;
}

.af-footer-grid > div > a:not(.af-brand):not(.af-button) {
    display: block;
    font-size: 13px;
    padding: 6px 0;
    text-decoration: none;
}

.af-footer-grid > div > a:hover {
    text-decoration: underline;
}

.af-footer-intro p {
    font-size: 14px;
    margin: 25px 0 15px;
}

.af-footer-owner .af-eyebrow {
    margin: 10px 0 14px;
    font-size: 11px;
}

.af-footer-grid .af-footer-owner h2 {
    font-family: "Alder Serif", Georgia, serif;
    font-size: 28px;
    font-weight: 400;
    letter-spacing: -.02em;
}

.af-footer-owner .af-button {
    padding: 13px 17px;
    font-size: 13px;
    min-height: 48px;
}

.af-footer-bottom {
    border-top: 1px solid #cdd6c8;
    padding-top: 27px;
    padding-bottom: 27px;
    color: #53665a;
    font-size: 11px;
    line-height: 1.7;
}

.af-footer-bottom p {
    max-width: 1080px;
    margin-bottom: 20px;
}

.af-footer-bottom > div {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

.af-mobile-cta {
    display: none;
}

.af-js-only {
    display: none;
}

.af-js-ready .af-js-only {
    display: block;
}

.af-js-ready .af-actions.af-js-only {
    display: flex;
}

@media (min-width: 1600px) {
    .af-hero-photo > img {
        height: 710px;
    }
}

@media (max-width: 1100px) {
    .af-wrap {
        width: calc(100% - 64px);
    }

    .af-navigation {
        gap: 19px;
    }

    .af-navigation > a:not(.af-button) {
        font-size: 13px;
    }

    .af-brand > span {
        font-size: 32px;
    }

    .af-hero-copy {
        padding-right: 32px;
    }

    .af-hero h1 {
        font-size: 76px;
    }

    .af-hero {
        min-height: 640px;
    }

    .af-story,
    .af-home-faq,
    .af-two-columns,
    .af-checklist-layout,
    .af-question-builder,
    .af-book-layout {
        gap: 50px;
    }

    .af-start-panel {
        padding: 45px;
        gap: 45px;
    }

    .af-service-card h3 {
        font-size: 41px;
    }

    .af-footer-grid {
        grid-template-columns: 1.2fr 1fr;
        gap: 45px;
    }

    .af-book-card {
        padding: 30px;
    }
}

@media (max-width: 950px) {
    .af-menu {
        display: inline-flex;
    }

    .af-navigation {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 15px 32px 25px;
        background: #f6f5ef;
        border-top: 1px solid #d8ddcf;
        border-bottom: 1px solid #cdd6c8;
        box-shadow: 0 18px 20px rgba(35, 76, 60, .08);
    }

    .af-navigation.is-open {
        display: flex;
    }

    .af-navigation > a:not(.af-button) {
        font-size: 17px;
        border-bottom: 1px solid #d8ddcf;
    }

    .af-navigation .af-button {
        margin-top: 20px;
    }

    .af-hero h1 {
        font-size: 65px;
    }

    .af-hero .af-intro {
        font-size: 17px;
    }

    .af-hero .af-actions {
        gap: 10px 25px;
    }

    .af-hero-photo {
        border-top-left-radius: 100px;
    }

    .af-photo-note {
        bottom: 15px;
        left: 15px;
        right: 15px;
        padding: 17px;
    }

    .af-photo-note p {
        font-size: 22px;
    }

    .af-service-grid,
    .af-step-grid,
    .af-principle-grid {
        gap: 25px;
    }

    .af-service-card,
    .af-service-card + .af-service-card {
        border-left: 0;
        padding: 25px 0 0;
    }

    .af-service-card h3 {
        font-size: 35px;
    }

    .af-service-link {
        font-size: 12px;
    }

    .af-story {
        gap: 40px;
    }

    .af-tab-panel,
    .af-checklist-layout,
    .af-question-builder,
    .af-book-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .af-book-intro .af-intro {
        max-width: 630px;
    }

    .af-book-benefits {
        margin: 22px 0;
    }

    .af-book-card {
        max-width: 740px;
        width: 100%;
    }

    .af-principle-grid h2 {
        font-size: 30px;
    }
}

@media (max-width: 700px) {
    .af-site {
        font-size: 17px;
    }

    .af-wrap {
        width: calc(100% - 40px);
    }

    .af-section {
        padding-top: 65px;
        padding-bottom: 65px;
    }

    .af-section-bottom {
        padding-bottom: 65px;
    }

    .af-demo {
        justify-content: center;
        padding: 7px 20px;
        font-size: 11px;
    }

    .af-demo > span {
        display: none;
    }

    .af-header-inner {
        min-height: 87px;
    }

    .af-brand > img {
        width: 34px;
        height: 42px;
    }

    .af-brand > span {
        font-size: 31px;
    }

    .af-brand small {
        font-size: 11px;
        letter-spacing: .1em;
        margin-top: 7px;
    }

    .af-navigation {
        padding-left: 20px;
        padding-right: 20px;
    }

    .af-hero {
        grid-template-columns: 1fr;
        min-height: 0;
        padding-top: 5px;
    }

    .af-hero-copy {
        padding: 30px 0 35px;
    }

    .af-site .af-hero h1 {
        font-size: clamp(63px, 15.5vw, 88px);
        line-height: .98;
        margin-bottom: 24px;
    }

    .af-hero .af-eyebrow {
        font-size: 11px;
        margin-bottom: 22px;
    }

    .af-hero .af-intro {
        max-width: 470px;
        font-size: 17px;
        margin-bottom: 22px;
    }

    .af-hero-note {
        margin-top: 25px;
    }

    .af-hero-photo {
        height: 450px;
        border-top-left-radius: 100px;
    }

    .af-hero-photo > img {
        object-position: center 36%;
    }

    .af-photo-note {
        padding: 20px;
    }

    .af-photo-note .af-eyebrow {
        margin-bottom: 8px;
    }

    .af-photo-note p {
        font-size: 25px;
    }

    .af-care-ribbon {
        gap: 10px;
        flex-wrap: wrap;
        font-size: 11px;
        letter-spacing: .05em;
        padding: 24px 0;
    }

    .af-site h1 {
        font-size: 47px;
    }

    .af-site h2 {
        font-size: 38px;
    }

    .af-site .af-intro {
        font-size: 18px;
    }

    .af-section-heading {
        display: block;
        margin-bottom: 25px;
    }

    .af-section-heading h2 {
        margin-bottom: 20px;
    }

    .af-service-grid,
    .af-principle-grid,
    .af-step-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .af-service-card,
    .af-service-card + .af-service-card {
        padding: 25px 0 0;
    }

    .af-service-number {
        margin-bottom: 22px;
    }

    .af-service-card h3 {
        font-size: 42px;
    }

    .af-service-card p {
        max-width: none;
        margin-bottom: 24px;
    }

    .af-service-link {
        font-size: 14px;
    }

    .af-story,
    .af-home-faq,
    .af-two-columns {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .af-story-image {
        height: 370px;
        border-top-right-radius: 80px;
    }

    .af-start-panel {
        grid-template-columns: 1fr;
        padding: 35px 25px;
        gap: 25px;
        margin-bottom: 0;
    }

    .af-start-panel h2 {
        font-size: 36px;
    }

    .af-accordions summary {
        font-size: 17px;
    }

    .af-accordions details p {
        margin-right: 15px;
    }

    .af-bottom-cta {
        padding: 65px 0;
    }

    .af-page-hero {
        padding-top: 42px;
        padding-bottom: 45px;
    }

    .af-page-hero h1 {
        font-size: clamp(41px, 10.5vw, 57px);
        line-height: 1.09;
    }

    .af-tabs {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 6px;
    }

    .af-tabs button {
        font-size: 14px;
        padding: 15px 9px;
        border: 1px solid #bdcbbc;
        border-bottom-width: 3px;
    }

    .af-tab-panel {
        padding-top: 35px;
        gap: 30px;
    }

    .af-panel-list {
        padding: 27px;
    }

    .af-wide-photo {
        height: 340px;
        border-top-right-radius: 70px;
    }

    .af-principle-grid h2,
    .af-step-grid h2 {
        font-size: 31px;
    }

    .af-checklist-card,
    .af-question-output {
        padding: 26px 22px;
    }

    .af-checklist-top {
        align-items: start;
        gap: 12px;
        flex-wrap: wrap;
    }

    .af-checklist-top h3 {
        font-size: 27px;
    }

    .af-checklist-top span {
        font-size: 12px;
    }

    .af-coverage-note {
        padding: 23px;
        align-items: start;
        gap: 15px;
    }

    .af-book-layout {
        padding-top: 38px;
        gap: 28px;
    }

    .af-book-intro h1 {
        font-size: 54px;
    }

    .af-book-card {
        padding: 26px 20px;
    }

    .af-book-card h2 {
        font-size: 36px;
    }

    .af-book-card .af-actions {
        gap: 15px;
        justify-content: space-between;
    }

    .af-book-card .af-actions .af-button {
        padding-left: 17px;
        padding-right: 17px;
        font-size: 14px;
    }

    .af-book-progress {
        margin-bottom: 32px;
    }

    .af-book-progress li {
        font-size: 11px;
    }

    .af-book-summary {
        grid-template-columns: .85fr 1.2fr;
        font-size: 14px;
    }

    .af-reading h2 {
        font-size: 30px;
    }

    .af-footer {
        padding-top: 60px;
        padding-bottom: 79px;
    }

    .af-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 35px 20px;
        padding-bottom: 35px;
    }

    .af-footer-intro,
    .af-footer-owner {
        grid-column: 1 / -1;
    }

    .af-footer-owner {
        border-top: 1px solid #cdd6c8;
        padding-top: 25px;
    }

    .af-footer-bottom > div {
        gap: 10px;
    }

    .af-mobile-cta {
        display: flex;
        position: fixed;
        z-index: 25;
        bottom: 0;
        left: 0;
        right: 0;
        justify-content: space-between;
        align-items: center;
        gap: 20px;
        padding: 10px 20px calc(10px + env(safe-area-inset-bottom));
        background: #f6f5ef;
        border-top: 1px solid #cdd6c8;
    }

    .af-mobile-cta > a:first-child {
        font-size: 14px;
    }

    .af-mobile-cta .af-button {
        min-height: 46px;
        padding: 11px 18px;
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .af-site * {
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

@media print {
    .af-demo,
    .af-header,
    .af-footer,
    .af-mobile-cta,
    .af-actions,
    .af-button,
    .af-skip {
        display: none !important;
    }

    .af-site {
        font-size: 12pt;
        color: #111;
        background: #fff;
    }

    .af-wrap {
        width: 100%;
    }

    .af-section,
    .af-section-bottom,
    .af-page-hero {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .af-checklist-layout,
    .af-question-builder {
        display: block;
    }

    .af-checklist-card,
    .af-question-output,
    .af-soft-section {
        background: #fff;
    }

    .af-checklist-card,
    .af-question-output {
        break-inside: avoid;
    }
}
