@media (max-width: 1199px) {
    .site-header__phone { display: none; }
    .hero__inner { grid-template-columns: minmax(0, 720px) 1fr; }
}

@media (max-width: 991px) {
    .site-switcher__inner { min-height: 58px; }
    .site-switcher__item { font-size: 18px; }
    .site-header { min-height: 78px; }
    .site-header__actions .button { display: none; }
    .menu-toggle { display: block; }
    .site-navigation {
        position: fixed;
        inset: 136px 0 0;
        display: flex;
        visibility: hidden;
        opacity: 0;
        margin: 0;
        padding: 42px var(--page-gutter);
        background: #fff;
        transform: translateY(-12px);
        transition: opacity var(--transition), transform var(--transition), visibility var(--transition);
    }
    .admin-bar .site-navigation { inset-block-start: 168px; }
    .site-navigation.is-open { visibility: visible; opacity: 1; transform: translateY(0); }
    .site-navigation__list, .site-navigation .menu { align-items: flex-start; flex-direction: column; gap: 24px; width: min(100%, 700px); margin: auto; }
    .site-navigation a { font-size: clamp(26px, 5vw, 48px); font-weight: 600; letter-spacing: -.04em; }
    .menu-open .menu-toggle__icon span:first-child { transform: translateY(4.5px) rotate(45deg); }
    .menu-open .menu-toggle__icon span:last-child { transform: translateY(-4.5px) rotate(-45deg); }
    .hero { min-height: auto; }
    .hero__inner { display: block; min-height: 570px; padding-top: 88px; }
    .hero__content { padding-bottom: 70px; }
    .hero__aside { display: none; }
    .hero__stats { grid-template-columns: repeat(2, 1fr); }
    .hero-stat:nth-child(2) { border-right: 0; }
    .hero-stat:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.18); }
}

@media (max-width: 767px) {
    :root { --page-gutter: var(--page-gutter-mobile); --space-9: 88px; }
    .site-switcher__item { padding: 10px; text-align: center; font-size: 15px; }
    .site-header__inner { gap: 12px; }
    .site-branding__capital { font-size: 21px; }
    .site-branding__finance { margin-left: 19px; font-size: 13px; }
    .site-navigation { inset-block-start: 126px; padding-inline: var(--page-gutter-mobile); }
    .admin-bar .site-navigation { inset-block-start: 172px; }
    .hero { background-position: 62% center; }
    .hero__inner { min-height: 600px; padding-top: 72px; }
    .hero__title { font-size: clamp(46px, 14vw, 66px); }
    .hero__description { font-size: 17px; }
    .hero__actions { align-items: stretch; flex-direction: column; }
    .hero__actions .button { width: 100%; }
    .hero-stat { min-height: 125px; padding: 22px 18px; }
    .hero-stat__label { font-size: 10px; }
    .section-preview--dark { margin-inline: 0; padding: 46px 28px; border-radius: 20px; }
    .site-footer__inner { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 479px) {
    .site-switcher__inner { width: 100%; }
    .site-switcher__item { font-size: 14px; }
    .hero__title { font-size: 45px; }
    .hero__stats { width: 100%; }
    .hero-stat__value { font-size: 26px; }
}

@media (max-width: 1199px) {
    .pillars-grid,
    .about-features {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pillar-card:nth-child(2) {
        border-right: 0;
    }

    .pillar-card:nth-child(-n+2) {
        border-bottom: 1px solid var(--color-border);
    }
}

@media (max-width: 991px) {
    .home-intro__lead,
    .section-heading--wide,
    .about-story,
    .experience-section__inner,
    .contact-section__grid {
        grid-template-columns: 1fr;
    }

    .about-story__brand {
        min-height: 380px;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.14);
    }

    .experience-section {
        min-height: 760px;
    }

    .experience-section__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .home-intro__lead {
        gap: 28px;
        margin-bottom: 48px;
    }

    .home-intro__description {
        font-size: 16px;
    }

    .pillars-grid,
    .about-features {
        grid-template-columns: 1fr;
    }

    .pillar-card {
        border-right: 0;
        border-bottom: 1px solid var(--color-border);
        padding: 30px 0;
    }

    .pillar-card:last-child {
        border-bottom: 0;
    }

    .about-feature {
        min-height: 280px;
    }

    .about-story {
        border-radius: 18px;
    }

    .about-story__brand,
    .about-story__content {
        padding: 34px 26px;
    }

    .about-story__brand {
        min-height: 340px;
    }

    .experience-section {
        min-height: 700px;
    }

    .experience-section__inner {
        padding-top: 90px;
        padding-bottom: 70px;
    }

    .experience-section__stats {
        grid-template-columns: 1fr;
    }

    .contact-section__form,
    .contact-card {
        padding: 34px 24px;
        border-radius: 18px;
    }

    .contact-list > div {
        grid-template-columns: 1fr;
        gap: 5px;
    }
}

@media (max-width: 991px) {
    .contact-section__heading { grid-template-columns: 1fr; gap: 22px; }
}
@media (max-width: 767px) {
    .contact-section__heading h2 { font-size: 46px; }
    .finance-form__grid { grid-template-columns: 1fr; }
    .finance-form__full { grid-column: auto; }
    .finance-form__footer { align-items: stretch; flex-direction: column; }
    .finance-form__footer .button { width: 100%; }
}

/* v0.5.2 responsive refinements */
@media (max-width: 991px) {
    .home-intro__lead {
        grid-template-columns: 1fr;
        grid-template-areas: "eyebrow" "title" "description";
        gap: 22px;
    }
    .home-intro__lead > .eyebrow { padding-top: 0; }
    .contact-section__grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
    .home-intro__title { font-size: 40px; }
    .home-intro__description { font-size: 16px; }
    .contact-section__heading h2 { font-size: 42px; }
    .finance-form__grid { grid-template-columns: 1fr; }
    .finance-form__full { grid-column: auto; }
    .finance-form__footer { align-items: stretch; flex-direction: column; }
    .finance-form__footer .button { width: 100%; }
}

@media (max-width: 767px) {
    .site-branding { gap: 8px; }
    .site-branding__symbol { width: 36px; max-height: 36px; }
    .about-story__identity { gap: 14px; }
    .about-story__symbol { width: 58px; max-height: 58px; }
    .site-footer__watermark { right: 10px; opacity: .04; }
}


/* Stage 2 — spacing on tablet and mobile */
@media (max-width: 991px) {
    :root {
        --section-space: 96px;
        --section-space-compact: 76px;
        --content-gap: 48px;
    }
    .section-heading--wide,
    .contact-section__heading {
        margin-bottom: 48px;
    }
    .about-story { margin-top: 72px; }
}

@media (max-width: 767px) {
    :root {
        --section-space: var(--section-space-mobile);
        --section-space-compact: 64px;
        --content-gap: 36px;
    }
    .section { padding-block: var(--section-space-mobile); }
    .home-intro__lead { margin-bottom: 48px; }
    .section-heading--wide,
    .contact-section__heading { margin-bottom: 36px; }
    .about-story { margin-top: 56px; }
    .experience-section__inner { padding-top: 76px; padding-bottom: 64px; }
    .site-footer { padding-block: 28px; }
}

/* Stage 3 — responsive typography */
@media (max-width: 991px) {
    :root {
        --type-display: clamp(54px, 9vw, 76px);
        --type-h1-page: clamp(48px, 8vw, 70px);
        --type-h2: clamp(40px, 6.5vw, 58px);
        --type-h3: clamp(24px, 3.2vw, 31px);
    }
    .site-navigation a {
        line-height: 1.08;
        letter-spacing: -.045em;
    }
    .hero__description,
    .loan-hero__lead,
    .cooperation-hero__lead {
        max-width: 620px;
    }
}

@media (max-width: 767px) {
    :root {
        --type-display: clamp(46px, 13vw, 62px);
        --type-h1-page: clamp(43px, 12vw, 58px);
        --type-h2: clamp(36px, 10vw, 48px);
        --type-h3: clamp(23px, 6.5vw, 29px);
        --type-lead: 17px;
        --type-body-lg: 16px;
    }
    body {
        font-size: 15px;
        line-height: 1.68;
    }
    .eyebrow {
        margin-bottom: 16px;
        font-size: 10px;
        letter-spacing: .18em;
    }
    .hero__title,
    .loan-hero__content h1,
    .cooperation-hero h1 {
        line-height: .99;
        letter-spacing: -.052em;
    }
    .hero__description,
    .loan-hero__lead,
    .cooperation-hero__lead,
    .home-intro__description {
        font-size: 16px;
        line-height: 1.68;
    }
    .pillar-card__title,
    .about-feature h3,
    .loan-timeline__card h3 {
        font-size: 23px;
    }
    .pillar-card__text,
    .about-feature p,
    .rich-copy p,
    .cooperation-model__content p,
    .loan-timeline__card li {
        font-size: 15px;
        line-height: 1.7;
    }
    .about-story__content h3 {
        font-size: clamp(36px, 10vw, 48px);
        line-height: 1.04;
    }
    .cooperation-model h3 {
        font-size: 30px;
    }
    .contact-section__heading h2 {
        font-size: var(--type-h2);
    }
}

@media (max-width: 479px) {
    :root {
        --type-display: 44px;
        --type-h1-page: 42px;
        --type-h2: 36px;
    }
    .hero__title {
        font-size: var(--type-display);
    }
    .hero-stat__value {
        font-size: 27px;
    }
    .hero-stat__label {
        font-size: 9px;
        letter-spacing: .09em;
    }
}

/* Stage 4 — Mobile polish and iOS reliability */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
body {
    overflow-wrap: break-word;
}
a[href^="tel:"],
a[href^="mailto:"] {
    color: inherit;
    text-decoration-color: currentColor;
}
a[x-apple-data-detectors],
.x-apple-data-detectors,
.x-apple-data-detectors * {
    color: inherit !important;
    font: inherit !important;
    text-decoration: none !important;
}

@media (max-width: 991px) {
    body.menu-open {
        position: fixed;
        inset: 0;
        width: 100%;
        overflow: hidden;
        touch-action: none;
    }
    .site-header {
        min-height: 76px;
        padding-top: env(safe-area-inset-top, 0px);
    }
    .site-header__inner {
        min-height: 76px;
    }
    .menu-toggle {
        display: inline-grid;
        place-items: center;
        width: 50px;
        height: 50px;
        min-width: 50px;
        border: 1px solid var(--color-border);
        border-radius: 50%;
        color: var(--color-brand-deep);
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }
    .menu-toggle:focus-visible {
        outline: 3px solid rgba(200, 169, 106, .42);
        outline-offset: 3px;
    }
    .site-navigation {
        inset: calc(76px + env(safe-area-inset-top, 0px)) 0 0;
        display: flex;
        flex-direction: column;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 34px max(var(--page-gutter), env(safe-area-inset-right, 0px)) calc(28px + env(safe-area-inset-bottom, 0px)) max(var(--page-gutter), env(safe-area-inset-left, 0px));
        background: var(--cf-mobile-menu-bg, #ffffff);
        -webkit-overflow-scrolling: touch;
    }
    .admin-bar .site-navigation {
        inset-block-start: calc(108px + env(safe-area-inset-top, 0px));
    }
    .site-navigation__list,
    .site-navigation .menu {
        flex: 0 0 auto;
        gap: 0;
        width: 100%;
        margin: 0;
    }
    .site-navigation li {
        width: 100%;
        border-bottom: 1px solid var(--color-border);
    }
    .site-navigation a {
        display: flex;
        align-items: center;
        min-height: 60px;
        width: 100%;
        font-size: clamp(23px, 6vw, 34px);
        line-height: 1.12;
        -webkit-tap-highlight-color: transparent;
    }
    .site-navigation a::after { display: none; }
    .site-navigation__mobile-actions {
        display: grid;
        gap: 12px;
        width: 100%;
        margin-top: auto;
        padding-top: 30px;
    }
    .mobile-contact-link {
        display: flex !important;
        align-items: center;
        gap: 14px;
        min-height: 62px !important;
        padding: 10px 0;
        border: 0 !important;
        font-size: 16px !important;
        text-decoration: none;
    }
    .mobile-contact-link svg {
        width: 26px;
        height: 26px;
        color: var(--color-accent);
    }
    .mobile-contact-link span { display: grid; gap: 2px; }
    .mobile-contact-link small {
        color: var(--color-muted);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
    .mobile-contact-link strong { font-size: 18px; }
    .site-navigation__mobile-actions .button {
        min-height: 58px;
        width: 100%;
        font-size: 16px;
    }

    .button,
    button,
    input[type="submit"] {
        min-height: 52px;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
    }
    .button--small { min-height: 50px; }

    .hero__actions,
    .loan-hero__actions,
    .cooperation-hero__actions {
        gap: 12px;
    }
    .hero__actions .button,
    .loan-hero__actions .button,
    .cooperation-hero__actions .button {
        min-height: 56px;
        padding-inline: 22px;
        font-size: 15px;
    }

    .contact-section__grid {
        gap: 18px;
    }
    .contact-section__form,
    .contact-card {
        min-width: 0;
    }
    .finance-form__grid {
        gap: 18px;
    }
    .form-field label {
        display: block;
        margin-bottom: 8px;
    }
    .form-field input,
    .form-field select,
    .form-field textarea {
        width: 100%;
        min-width: 0;
        min-height: 56px;
        padding: 14px 16px;
        border-radius: 12px;
        font-size: 16px; /* prevents Safari iOS auto zoom */
        line-height: 1.35;
        -webkit-appearance: none;
        appearance: none;
    }
    .form-field select {
        padding-right: 44px;
        background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
        background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50%;
        background-size: 6px 6px, 6px 6px;
        background-repeat: no-repeat;
    }
    .form-field textarea {
        min-height: 150px;
        resize: vertical;
    }
    .form-consent {
        align-items: flex-start;
        gap: 12px;
        font-size: 14px;
        line-height: 1.5;
    }
    .form-consent input[type="checkbox"] {
        width: 22px;
        height: 22px;
        min-width: 22px;
        margin: 1px 0 0;
        border: 1px solid var(--color-border-strong, #aab2af);
        border-radius: 6px;
        accent-color: var(--color-brand);
    }
    .finance-form__footer .button {
        min-height: 58px;
        font-size: 16px;
    }
    .contact-list dd,
    .contact-list a {
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}

@media (max-width: 767px) {
    :root {
        --page-gutter-mobile: 20px;
    }
    .container {
        padding-left: max(var(--page-gutter-mobile), env(safe-area-inset-left, 0px));
        padding-right: max(var(--page-gutter-mobile), env(safe-area-inset-right, 0px));
    }
    .site-branding__symbol { width: 38px; max-height: 38px; }
    .custom-logo { max-width: 138px; max-height: 42px; }
    .hero__inner {
        padding-top: 58px;
        padding-bottom: 0;
    }
    .hero__content { padding-bottom: 52px; }
    .hero__stats { margin-inline: calc(var(--page-gutter-mobile) * -1); }
    .hero-stat {
        min-height: 112px;
        padding: 20px;
    }
    .section-preview--dark,
    .contact-section__form,
    .contact-card,
    .about-story,
    .loan-timeline__card,
    .cooperation-model {
        border-radius: 16px;
    }
    .contact-section__form,
    .contact-card {
        padding: 28px 20px;
    }
    .contact-card h3 {
        overflow-wrap: anywhere;
    }
    .ui-arrow-icon {
        width: 17px;
        height: 17px;
    }
}

@media (max-width: 479px) {
    .site-header__inner { gap: 8px; }
    .site-branding { gap: 7px; }
    .site-branding__symbol { width: 34px; max-height: 34px; }
    .custom-logo { max-width: 116px; }
    .menu-toggle { width: 46px; height: 46px; min-width: 46px; }
    .hero__actions .button,
    .loan-hero__actions .button,
    .cooperation-hero__actions .button {
        width: 100%;
    }
    .hero__stats { grid-template-columns: 1fr 1fr; }
    .hero-stat { padding-inline: 16px; }
}

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

/* v0.6.6 — iPhone spacing, overflow and mobile rhythm */
@media (max-width: 767px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .site-header {
        min-height: 82px;
        padding-top: 0;
    }

    .site-header__inner {
        min-height: 82px;
        padding-block: 10px;
    }

    .site-branding {
        min-width: 0;
    }

    .custom-logo {
        max-width: 142px;
        max-height: 46px;
    }

    .site-branding__symbol {
        width: 36px;
        max-height: 36px;
    }

    .menu-toggle {
        width: 48px;
        height: 48px;
        min-width: 48px;
    }

    .site-navigation {
        inset-block-start: calc(82px + env(safe-area-inset-top, 0px));
        padding-top: 24px;
    }

    .admin-bar .site-navigation {
        inset-block-start: calc(128px + env(safe-area-inset-top, 0px));
    }

    .site-navigation a {
        min-height: 56px;
        font-size: clamp(22px, 6vw, 30px);
    }

    /* Page heroes: less empty space below the header and no clipped headings. */
    .loan-hero,
    .cooperation-hero {
        padding-top: 54px;
        padding-bottom: 72px;
    }

    .loan-hero__grid,
    .cooperation-hero__grid {
        gap: 42px;
    }

    .loan-hero__content,
    .cooperation-hero__content {
        min-width: 0;
        max-width: 100%;
    }

    .loan-hero__content h1,
    .cooperation-hero h1 {
        max-width: 100%;
        margin-top: 14px;
        margin-bottom: 24px;
        font-size: clamp(39px, 10.6vw, 50px);
        line-height: 1.01;
        letter-spacing: -.048em;
        overflow-wrap: normal;
        word-break: normal;
        hyphens: none;
    }

    .loan-hero__lead,
    .cooperation-hero__lead,
    .cooperation-hero__text {
        max-width: 100%;
        font-size: 16px;
        line-height: 1.62;
    }

    .loan-hero__actions,
    .cooperation-hero__actions {
        margin-top: 30px;
    }

    .loan-hero__facts {
        margin-top: 38px;
    }

    .loan-hero__visual,
    .loan-hero__image,
    .cooperation-hero__visual {
        min-height: 390px;
        height: 390px;
    }

    .loan-trust__content h2,
    .loan-section-heading h2,
    .loan-process__heading h2,
    .loan-cta h2,
    .cooperation-section-heading h2,
    .cooperation-principles__intro h2,
    .cooperation-cta h2 {
        max-width: 100%;
        font-size: clamp(35px, 9.7vw, 46px);
        line-height: 1.04;
        letter-spacing: -.045em;
        overflow-wrap: normal;
        word-break: normal;
    }

    .loan-page .section,
    .cooperation-page .section {
        padding-block: 68px;
    }

    .loan-section-heading,
    .cooperation-section-heading {
        gap: 18px;
        margin-bottom: 36px;
    }

    .loan-timeline__card,
    .cooperation-model {
        min-width: 0;
    }

    .cooperation-model h3 {
        font-size: clamp(27px, 7.6vw, 34px);
    }

    /* Homepage mobile rhythm. */
    .hero__inner {
        min-height: auto;
        padding-top: 54px;
    }

    .hero__content {
        padding-bottom: 46px;
    }

    .hero__title {
        max-width: 100%;
        font-size: clamp(43px, 12vw, 56px);
        line-height: 1;
        overflow-wrap: normal;
        word-break: normal;
    }

    .home-intro,
    .about-section,
    .contact-section {
        overflow: hidden;
    }

    .home-intro__lead,
    .section-heading--wide,
    .contact-section__heading {
        gap: 20px;
    }
}

@media (max-width: 390px) {
    :root {
        --page-gutter-mobile: 18px;
    }

    .custom-logo {
        max-width: 128px;
    }

    .site-branding__symbol {
        width: 33px;
        max-height: 33px;
    }

    .loan-hero__content h1,
    .cooperation-hero h1 {
        font-size: 40px;
    }

    .hero__title {
        font-size: 43px;
    }

    .loan-hero__actions .button,
    .cooperation-hero__actions .button,
    .hero__actions .button {
        min-height: 54px;
        padding-inline: 18px;
    }
}

/* v0.6.7 — iOS mobile menu contrast and focus fix */
@media (max-width: 991px) {
    .site-navigation {
        z-index: 999;
        background: var(--cf-mobile-menu-bg, #ffffff);
    }

    .site-navigation a:focus,
    .site-navigation a:focus-visible,
    .site-navigation a:active {
        outline: 0;
        outline-offset: 0;
        box-shadow: none;
    }

    .site-navigation li > a:focus-visible {
        color: var(--color-brand-deep);
        background: rgba(200, 169, 106, .10);
    }

    .site-navigation .site-navigation__mobile-actions .button--primary,
    .site-navigation .site-navigation__mobile-actions .button--primary:visited,
    .site-navigation .site-navigation__mobile-actions .button--primary:hover,
    .site-navigation .site-navigation__mobile-actions .button--primary:focus,
    .site-navigation .site-navigation__mobile-actions .button--primary:active {
        color: #ffffff;
        background: var(--color-brand);
        border-color: var(--color-brand);
        box-shadow: none;
    }

    .site-navigation .mobile-contact-link,
    .site-navigation .mobile-contact-link:visited,
    .site-navigation .mobile-contact-link:hover,
    .site-navigation .mobile-contact-link:focus,
    .site-navigation .mobile-contact-link:active {
        color: var(--color-text);
        background: transparent;
        box-shadow: none;
    }

    .site-navigation__mobile-actions {
        position: relative;
        z-index: 2;
        background: var(--cf-mobile-menu-bg, #ffffff);
    }
}


/* v1.0.0 — header controls on mobile */
@media (max-width: 991px) {
    .custom-logo,
    .capital-finance-header-logo {
        height: var(--cf-header-logo-height-mobile, 42px);
        max-height: var(--cf-header-logo-height-mobile, 42px);
        max-width: min(220px, calc(100vw - 112px));
    }
    .capital-finance-header-logo-link { max-width: min(220px, calc(100vw - 112px)); }
    .site-navigation,
    .site-navigation__mobile-actions { background: var(--cf-mobile-menu-bg, #ffffff); }
}



@media (max-width: 767px) {
    .about-story__identity--custom {
        width: min(100%, 270px);
    }

    .about-story__custom-logo {
        max-height: 68px;
    }
}
