/*
 * Final responsive layout guardrails.
 * This file is loaded last so the current visual system keeps its character
 * while the navigation, hero, and content grids remain stable at each width.
 */

.pine-home .section,
.pine-home .pine-final-cta,
.pine-footer {
    scroll-margin-top: 24px;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .pine-home .pine-hero {
        min-height: 0 !important;
        padding-bottom: 34px !important;
    }

    .pine-home .pine-hero__layout,
    .pine-home .pine-hero__visual {
        min-height: 0 !important;
    }

    .pine-home .pine-dashboard-stack {
        position: static !important;
        display: grid !important;
        width: min(100%, 720px) !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        margin-top: 28px !important;
    }

    .pine-home .pine-dashboard-stack article,
    .pine-home .pine-dashboard-stack article:nth-child(4) {
        grid-column: auto !important;
        width: auto !important;
        min-height: 112px;
        margin-left: 0 !important;
    }

    .pine-home .pine-journey {
        margin-top: 26px !important;
    }
}

@media (max-width: 991.98px) {
    .header {
        inset: 8px 10px auto !important;
        width: auto !important;
        height: auto !important;
        padding: 0 !important;
        border: 1px solid rgba(255, 255, 255, 0.64) !important;
        border-radius: 18px !important;
        background: rgba(248, 242, 232, 0.94) !important;
        box-shadow: 0 14px 36px rgba(7, 17, 31, 0.12) !important;
        backdrop-filter: blur(20px);
    }

    .header .container {
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        padding: 0 12px !important;
    }

    .header .navbar {
        min-height: 80px !important;
        height: auto !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 5px 0 !important;
    }

    .header .navbar .navbar-brand.pine-brand {
        display: inline-flex !important;
        width: auto !important;
        min-width: 0 !important;
        height: auto !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .header .pine-brand .pine-brand__logo {
        width: 104px !important;
        height: 70px !important;
        flex-basis: 104px !important;
    }

    .header .navbar-toggler {
        display: inline-flex;
        width: 44px;
        height: 44px;
        flex: 0 0 44px;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 1px solid rgba(7, 17, 31, 0.1) !important;
        border-radius: 50% !important;
        background: rgba(7, 17, 31, 0.06) !important;
    }

    .header .navbar-collapse {
        width: 100%;
        flex-basis: 100%;
        max-height: calc(100vh - 108px);
        margin: 5px 0 0;
        padding: 10px 4px 8px !important;
        overflow-y: auto;
        border-top: 1px solid rgba(7, 17, 31, 0.1);
        background: transparent !important;
    }

    .header .navbar-nav,
    .header .pine-sidebar-owner,
    .header .pine-sidebar-services {
        width: 100%;
        align-items: stretch !important;
        gap: 2px !important;
    }

    .header .nav-link,
    .navbar-light .navbar-nav .nav-link,
    .navbar-light .navbar-nav .nav-link.active,
    .navbar-light .navbar-nav .active > .nav-link {
        min-height: 42px !important;
        justify-content: flex-start !important;
        padding: 11px 12px !important;
        border-radius: 6px !important;
        font-size: 0.78rem !important;
        text-align: left !important;
    }

    .header .pine-nav-text {
        width: 100%;
        text-align: left !important;
    }

    .header .pine-sidebar-card,
    .header .pine-sidebar-help,
    .header .pine-sidebar-label {
        display: none !important;
    }

    .pine-home .pine-hero {
        min-height: 0 !important;
        padding: 112px 0 48px !important;
    }

    .pine-home .pine-hero .container {
        width: 100%;
        max-width: 960px;
    }

    .pine-home .pine-hero__bg {
        background:
            linear-gradient(90deg, rgba(248, 242, 232, 0.96) 0%, rgba(248, 242, 232, 0.82) 58%, rgba(248, 242, 232, 0.42) 100%),
            linear-gradient(180deg, rgba(248, 242, 232, 0.24) 0%, rgba(248, 242, 232, 0.12) 64%, rgba(248, 242, 232, 0.94) 100%),
            var(--pine-asset-hero) 64% center / cover no-repeat !important;
    }

    .pine-home .pine-hero__layout {
        min-height: 0 !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 30px !important;
        align-items: start !important;
        padding: 0 !important;
    }

    .pine-home .pine-hero__copy {
        width: 100%;
        max-width: 720px;
        margin: 0;
        padding: 0 !important;
    }

    .pine-home .pine-hero__copy .before-title {
        margin-bottom: 12px;
    }

    .pine-home .pine-hero__copy .description {
        max-width: 650px;
        margin-top: 18px;
        font-size: 1rem;
        line-height: 1.6;
    }

    .pine-home .pine-hero__visual {
        position: relative;
        min-height: 0 !important;
        margin: 0;
    }

    .pine-home .pine-hero__image,
    .pine-home .pine-control-panel {
        display: none !important;
    }

    .pine-home .pine-dashboard-stack {
        position: static !important;
        display: grid !important;
        width: 100% !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        margin: 0 !important;
    }

    .pine-home .pine-dashboard-stack article,
    .pine-home .pine-dashboard-stack article:nth-child(4) {
        grid-column: auto !important;
        width: auto !important;
        min-width: 0;
        min-height: 116px;
        margin: 0 !important;
        padding: 16px !important;
    }

    .pine-home .pine-dashboard-stack strong {
        line-height: 1.25;
    }

    .pine-home .pine-journey {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        margin: 30px 0 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .pine-home .pine-journey span {
        min-width: 0;
        min-height: 98px;
        padding: 15px !important;
        border: 1px solid rgba(7, 17, 31, 0.1) !important;
        border-radius: 12px !important;
        background: rgba(248, 242, 232, 0.78) !important;
    }

    .pine-home .pine-journey span:last-child {
        grid-column: 1 / -1;
    }

    .pine-home .section,
    .pine-home .pine-final-cta,
    .pine-footer {
        scroll-margin-top: 104px;
    }

    .pine-home .section {
        padding-top: 82px;
        padding-bottom: 82px;
    }

    .pine-home .pine-section-head {
        margin-bottom: 32px;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .pine-home .pine-hero .container {
        padding-right: 32px;
        padding-left: 32px;
    }

    .pine-home .pine-dashboard-stack article {
        min-height: 122px;
    }

    .pine-home .pine-journey {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .pine-home .pine-journey span:last-child {
        grid-column: 2 / 4;
    }
}

@media (max-width: 767.98px) {
    .header {
        border-radius: 16px !important;
    }

    .header .navbar {
        min-height: 70px !important;
    }

    .header .pine-brand .pine-brand__logo {
        width: 92px !important;
        height: 62px !important;
        flex-basis: 92px !important;
    }

    .pine-home .pine-hero {
        padding-top: 96px !important;
        padding-bottom: 40px !important;
    }

    .pine-home .pine-hero__bg {
        background:
            linear-gradient(180deg, rgba(248, 242, 232, 0.86) 0%, rgba(248, 242, 232, 0.74) 68%, rgba(248, 242, 232, 0.96) 100%),
            linear-gradient(90deg, rgba(248, 242, 232, 0.92), rgba(248, 242, 232, 0.62)),
            var(--pine-asset-hero) 58% center / cover no-repeat !important;
    }

    .pine-home .pine-hero__layout {
        gap: 26px !important;
    }

    .pine-home .pine-hero__copy .title-h1 {
        font-size: clamp(3rem, 12vw, 4.5rem);
        line-height: 0.96;
    }

    .pine-home .pine-hero__actions {
        gap: 16px;
        margin-top: 28px;
    }

    .pine-home .pine-dashboard-stack article {
        min-height: 124px;
        padding: 14px !important;
    }

    .pine-home .pine-dashboard-stack strong {
        font-size: 0.95rem;
    }

    .pine-home .pine-dashboard-stack small,
    .pine-home .pine-dashboard-stack em {
        font-size: 0.72rem;
        line-height: 1.35;
    }

    .pine-home .pine-journey {
        grid-template-columns: 1fr !important;
    }

    .pine-home .pine-journey span:last-child {
        grid-column: auto;
    }

    .pine-home .section,
    .pine-home .pine-final-cta,
    .pine-footer {
        scroll-margin-top: 90px;
    }

    .pine-home .section {
        padding-top: 68px;
        padding-bottom: 68px;
    }

    .pine-home .pine-section-head {
        margin-bottom: 28px;
    }

    .pine-home .pine-control-stories .pine-story__media {
        min-height: 270px;
        height: 300px;
    }

    .pine-home .pine-control-stories .pine-story__copy {
        padding: 24px;
    }

    .pine-home .pine-control-stories .pine-story__copy .title-h2 {
        font-size: clamp(2.15rem, 10vw, 3rem);
    }

    .pine-footer .pine-brand--footer,
    .pine-footer .pine-brand--footer .pine-brand__logo {
        width: 190px !important;
        min-width: 190px !important;
    }

    .pine-footer .pine-brand--footer .pine-brand__logo {
        height: 136px !important;
    }
}

@media (max-width: 575.98px) {
    .pine-home .pine-dashboard-stack {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .pine-home .pine-proof-row {
        grid-template-columns: 1fr !important;
        gap: 8px;
    }

    .pine-home .pine-proof-row span {
        min-height: 42px;
        padding: 12px 14px;
    }
}

@media (max-width: 359.98px) {
    .pine-home .pine-dashboard-stack {
        grid-template-columns: 1fr !important;
    }

    .pine-home .pine-hero__actions {
        align-items: flex-start;
    }
}

/* Platform independence objections */
.pine-home .pine-platform-exit {
    padding: 118px 0 126px;
    background: #f1e9dd !important;
}

.pine-platform-exit__head {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.82fr);
    align-items: end;
    gap: 84px;
}

.pine-platform-exit__head .title-h2 {
    max-width: 760px;
    margin: 0;
    color: #07111f;
    font-size: 4rem;
    line-height: 1;
    letter-spacing: 0;
}

.pine-platform-exit__intro > p {
    max-width: 650px;
    margin: 0;
    color: rgba(7, 17, 31, 0.66);
    font-size: 0.95rem;
    line-height: 1.85;
}

.pine-platform-exit__route {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    align-items: center;
    gap: 14px;
    margin-top: 30px;
    padding-top: 17px;
    border-top: 1px solid rgba(7, 17, 31, 0.2);
}

.pine-platform-exit__route span {
    color: #07111f;
    font-size: 0.69rem;
    font-weight: 850;
    line-height: 1.35;
    text-transform: uppercase;
}

.pine-platform-exit__route small {
    display: block;
    margin-bottom: 5px;
    color: #1f6b4e;
    font-size: 0.63rem;
    font-weight: 900;
}

.pine-platform-exit__route i {
    color: #d6a84f;
    font-size: 1rem;
    font-style: normal;
}

.pine-platform-exit__list {
    margin-top: 82px;
    border-bottom: 1px solid rgba(7, 17, 31, 0.16);
}

.pine-platform-exit__item {
    display: grid;
    grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
    border-top: 1px solid rgba(7, 17, 31, 0.16);
    background: transparent !important;
    box-shadow: none !important;
}

.pine-platform-exit__fear,
.pine-platform-exit__answer {
    min-width: 0;
    padding-top: 46px;
    padding-bottom: 48px;
}

.pine-platform-exit__fear {
    padding-right: 60px;
}

.pine-platform-exit__answer {
    padding-left: 60px;
    border-left: 1px solid rgba(7, 17, 31, 0.16);
}

.pine-platform-exit__topline {
    display: flex;
    align-items: center;
    gap: 13px;
}

.pine-platform-exit__topline span {
    color: #d94a38;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.05rem;
    line-height: 1;
}

.pine-platform-exit__topline small,
.pine-platform-exit__answer-label,
.pine-platform-exit__outcome > span,
.pine-platform-exit__footer > div > span {
    color: rgba(7, 17, 31, 0.5);
    font-size: 0.68rem;
    font-weight: 900;
    line-height: 1.4;
    text-transform: uppercase;
}

.pine-platform-exit__fear h3 {
    max-width: 460px;
    margin: 20px 0 15px;
    color: #07111f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.14;
    letter-spacing: 0;
}

.pine-platform-exit__fear > p {
    max-width: 440px;
    margin: 0;
    color: rgba(7, 17, 31, 0.58);
    font-size: 0.83rem;
    line-height: 1.75;
}

.pine-platform-exit__answer-label {
    color: #1f6b4e;
}

.pine-platform-exit__answer h3 {
    margin: 14px 0 12px;
    color: #07111f;
    font-size: 1.65rem;
    font-weight: 820;
    line-height: 1.2;
    letter-spacing: 0;
}

.pine-platform-exit__answer > p {
    max-width: 800px;
    margin: 0;
    color: rgba(7, 17, 31, 0.66);
    font-size: 0.86rem;
    line-height: 1.8;
}

.pine-platform-exit__answer ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
}

.pine-platform-exit__answer li {
    position: relative;
    min-width: 0;
    padding: 14px 0 0 18px;
    border-top: 1px solid rgba(7, 17, 31, 0.16);
    color: #07111f;
    font-size: 0.73rem;
    font-weight: 800;
    line-height: 1.5;
}

.pine-platform-exit__answer li::before {
    content: "";
    position: absolute;
    top: 17px;
    left: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #d6a84f;
}

.pine-platform-exit__outcome {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 22px;
    margin-top: 30px;
    padding: 18px 0 0 18px;
    border-top: 1px solid rgba(31, 107, 78, 0.32);
    border-left: 3px solid #1f6b4e;
}

.pine-platform-exit__outcome > span {
    padding-top: 3px;
    color: #1f6b4e;
}

.pine-platform-exit__outcome p {
    max-width: 720px;
    margin: 0;
    color: rgba(7, 17, 31, 0.78);
    font-size: 0.82rem;
    font-weight: 650;
    line-height: 1.7;
}

.pine-platform-exit__footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 70px;
    margin-top: 70px;
    padding: 46px 0 0;
    border-top: 3px solid #07111f;
}

.pine-platform-exit__footer > div {
    max-width: 830px;
}

.pine-platform-exit__footer > div > span {
    color: #d94a38;
}

.pine-platform-exit__footer h3 {
    margin: 13px 0 11px;
    color: #07111f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0;
}

.pine-platform-exit__footer p {
    max-width: 760px;
    margin: 0;
    color: rgba(7, 17, 31, 0.62);
    font-size: 0.84rem;
    line-height: 1.75;
}

.pine-platform-exit__footer .btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

@media (max-width: 1199.98px) {
    .pine-platform-exit__head {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .pine-platform-exit__head .title-h2 {
        max-width: 880px;
        font-size: 3.7rem;
    }

    .pine-platform-exit__intro > p {
        max-width: 780px;
    }

    .pine-platform-exit__route {
        max-width: 760px;
    }
}

@media (max-width: 899.98px) {
    .pine-platform-exit__item {
        grid-template-columns: minmax(230px, 0.72fr) minmax(0, 1.28fr);
    }

    .pine-platform-exit__fear {
        padding-right: 34px;
    }

    .pine-platform-exit__answer {
        padding-left: 34px;
    }

    .pine-platform-exit__answer ul {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .pine-platform-exit__footer {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 28px;
    }
}

@media (max-width: 767.98px) {
    .pine-home .pine-platform-exit {
        padding: 82px 0 90px;
    }

    .pine-platform-exit__head .title-h2 {
        font-size: 3rem;
    }

    .pine-platform-exit__route {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 7px;
    }

    .pine-platform-exit__route i {
        transform: rotate(90deg);
        transform-origin: center;
    }

    .pine-platform-exit__list {
        margin-top: 58px;
    }

    .pine-platform-exit__item {
        grid-template-columns: 1fr;
    }

    .pine-platform-exit__fear,
    .pine-platform-exit__answer {
        padding: 34px 0;
    }

    .pine-platform-exit__fear {
        padding-bottom: 27px;
    }

    .pine-platform-exit__answer {
        padding-top: 27px;
        border-top: 1px dashed rgba(7, 17, 31, 0.18);
        border-left: 0;
    }

    .pine-platform-exit__outcome {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .pine-platform-exit__footer {
        margin-top: 54px;
    }

    .pine-platform-exit__footer .btn {
        width: 100%;
        justify-content: center;
        white-space: normal;
        text-align: center;
    }
}

@media (max-width: 419.98px) {
    .pine-platform-exit__head .title-h2 {
        font-size: 2.55rem;
    }

    .pine-platform-exit__fear h3,
    .pine-platform-exit__footer h3 {
        font-size: 1.72rem;
    }

    .pine-platform-exit__answer h3 {
        font-size: 1.45rem;
    }
}

/* Search and answer hub */
.pine-home-questions {
    background: #0c1928;
    color: #f7f1e5;
}

.pine-faq {
    scroll-margin-top: 100px;
    display: grid;
    grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
    gap: 72px;
    align-items: start;
    padding: 72px 0;
}

.pine-faq__intro {
    position: sticky;
    top: 48px;
}

.pine-faq__intro .before-title {
    color: #d6a84f;
}

.pine-faq__intro .title-h2 {
    margin-bottom: 24px;
    color: #f7f1e5;
    font-size: 3.35rem;
    line-height: 1.08;
}

.pine-faq__intro > p:last-child {
    max-width: 440px;
    margin: 0;
    color: rgba(247, 241, 229, 0.68);
    font-size: 1.02rem;
    line-height: 1.72;
}

.pine-faq__list {
    border-top: 1px solid rgba(247, 241, 229, 0.17);
}

.pine-faq details {
    border-bottom: 1px solid rgba(247, 241, 229, 0.17);
}

.pine-faq summary {
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 24px;
    gap: 16px;
    align-items: center;
    min-height: 86px;
    padding: 18px 4px;
    color: #f7f1e5;
    cursor: pointer;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.34rem;
    line-height: 1.35;
    list-style: none;
}

.pine-faq summary::-webkit-details-marker {
    display: none;
}

.pine-faq summary > span {
    color: #6f8f77;
    font-family: Arial, sans-serif;
    font-size: 0.72rem;
    font-weight: 700;
}

.pine-faq summary::after {
    content: "+";
    color: #d6a84f;
    font-family: Arial, sans-serif;
    font-size: 1.45rem;
    font-weight: 400;
    text-align: center;
}

.pine-faq details[open] summary::after {
    content: "-";
}

.pine-faq details > div {
    padding: 0 44px 28px 62px;
}

.pine-faq details p {
    max-width: 760px;
    margin: 0;
    color: rgba(247, 241, 229, 0.73);
    font-size: 1rem;
    line-height: 1.75;
}

.pine-detail-content > .pine-faq {
    grid-template-columns: 1fr;
    gap: 34px;
    margin-top: 34px;
    padding: 44px;
    border: 1px solid rgba(247, 241, 229, 0.14);
    background: #0c1928;
}

.pine-detail-content > .pine-faq .pine-faq__intro {
    position: static;
}

.pine-detail-content > .pine-faq .pine-faq__intro .title-h2 {
    max-width: 760px;
    font-size: 2.65rem;
}

@media (max-width: 991.98px) {
    .pine-faq {
        grid-template-columns: 1fr;
        gap: 42px;
        padding: 58px 0;
    }

    .pine-faq__intro {
        position: static;
    }
}

@media (max-width: 575.98px) {
    .pine-faq {
        gap: 30px;
        padding: 46px 0;
    }

    .pine-faq__intro .title-h2 {
        font-size: 2.35rem;
    }

    .pine-faq summary {
        grid-template-columns: 30px minmax(0, 1fr) 20px;
        gap: 10px;
        min-height: 78px;
        font-size: 1.16rem;
    }

    .pine-faq details > div {
        padding: 0 28px 24px 40px;
    }

    .pine-detail-content > .pine-faq {
        margin-top: 24px;
        padding: 30px 22px;
    }

    .pine-detail-content > .pine-faq .pine-faq__intro .title-h2 {
        font-size: 2.15rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .header,
    .pine-home .pine-dashboard-stack article,
    .pine-home .pine-journey span {
        transition: none !important;
    }
}

/* About page: isolated from the legacy template's overlapping section rules. */
.pine-about-page {
    overflow: hidden;
    background: #f8f2e8;
}

.pine-about-page .container,
.pine-about-stats .container {
    width: 100%;
    max-width: 1180px;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 28px;
    padding-left: 28px;
}

.pine-about-page .pine-page-hero {
    display: flex;
    min-height: 480px;
    align-items: flex-end;
    padding: 168px 0 72px !important;
    background: #07111f !important;
}

.pine-about-page .pine-page-hero > .container {
    position: relative;
    z-index: 3;
}

.pine-about-page .pine-page-hero .section-banner__box {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block !important;
    width: 100%;
    height: 100%;
    opacity: 1 !important;
}

.pine-about-page .pine-page-hero .section-banner__box::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block !important;
    background: rgba(7, 17, 31, 0.34) !important;
    pointer-events: none;
}

.pine-about-page .pine-page-hero .section-banner__thumb,
.pine-about-page .pine-page-hero .section-banner__img {
    position: absolute;
    inset: 0;
    display: block !important;
    width: 100%;
    height: 100%;
    min-height: 0;
}

.pine-about-page .pine-page-hero .section-banner__img {
    object-fit: cover;
    object-position: center 58%;
    filter: saturate(1.04) contrast(1.04) brightness(0.94) !important;
}

.pine-about-page .pine-page-hero .before-title {
    margin-bottom: 12px;
    color: #d6a84f;
    text-shadow: 0 2px 18px rgba(7, 17, 31, 0.5);
}

.pine-about-page .pine-page-hero .title-h2 {
    max-width: 760px;
    margin-bottom: 20px;
    color: #f7f1e5;
    font-size: clamp(4rem, 7vw, 6.8rem);
    line-height: 0.92;
    text-shadow: 0 4px 30px rgba(7, 17, 31, 0.55);
}

.pine-about-page .pine-page-hero .breadcrumb {
    margin: 0;
    padding: 0;
    background: transparent;
}

.pine-about-page .pine-page-hero .breadcrumb-item,
.pine-about-page .pine-page-hero .breadcrumb-item.active,
.pine-about-page .pine-page-hero .breadcrumb-item a {
    color: rgba(247, 241, 229, 0.84) !important;
}

.pine-about-page .pine-page-hero .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(214, 168, 79, 0.82) !important;
}

.pine-about-intro {
    padding: 118px 0 124px;
    background: #f8f2e8 !important;
}

.pine-about-intro__layout {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 72px;
    align-items: center;
}

.pine-about-intro__copy {
    min-width: 0;
}

.pine-about-intro__copy .before-title,
.pine-about-difference .before-title,
.pine-about-clients .before-title {
    color: #1f6b4e;
}

.pine-about-intro__copy .title-h2 {
    margin: 0;
    color: #07111f;
    font-size: clamp(2.85rem, 3.55vw, 4rem);
    line-height: 0.98;
}

.pine-about-intro__lead {
    max-width: 590px;
    margin: 28px 0 0;
    color: #1f6b4e;
    font-size: 1.18rem;
    font-weight: 700;
    line-height: 1.58;
}

.pine-about-intro__body {
    display: grid;
    gap: 14px;
    margin-top: 26px;
}

.pine-about-intro__body p {
    margin: 0;
    color: rgba(7, 17, 31, 0.72);
    font-size: 0.98rem;
    line-height: 1.72;
}

.pine-about-text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 30px;
    padding-bottom: 6px;
    border-bottom: 1px solid #d6a84f;
    color: #07111f;
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pine-about-text-link:hover,
.pine-about-text-link:focus {
    color: #1f6b4e;
}

.pine-about-intro__media {
    display: grid;
    min-width: 0;
    min-height: 620px;
    grid-template-columns: minmax(0, 1.18fr) minmax(176px, 0.82fr);
    grid-template-rows: 390px 216px;
    gap: 14px;
}

.pine-about-intro__image {
    position: relative;
    min-width: 0;
    min-height: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(7, 17, 31, 0.12);
    border-radius: 8px;
    background: #e8e3da;
}

.pine-about-intro__image--primary {
    grid-column: 1 / 3;
    grid-row: 1;
}

.pine-about-intro__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pine-about-intro__image--primary img {
    object-position: 48% center;
}

.pine-about-intro__image--secondary img {
    object-position: 42% center;
}

.pine-about-intro__module-note {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 16px;
    padding: 24px;
    border-radius: 8px;
    background: #1f6b4e;
    color: #f7f1e5;
}

.pine-about-intro__module-note strong {
    flex: 0 0 auto;
    color: #d6a84f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 4rem;
    line-height: 0.8;
}

.pine-about-intro__module-note span {
    color: #f7f1e5;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.48;
    text-transform: uppercase;
}

.pine-about-stats {
    background: #07111f;
    color: #f7f1e5;
}

.pine-about-stats__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-right: 1px solid rgba(247, 241, 229, 0.14);
    border-left: 1px solid rgba(247, 241, 229, 0.14);
}

.pine-about-stat {
    display: flex;
    min-width: 0;
    min-height: 178px;
    flex-direction: column;
    justify-content: center;
    padding: 32px 26px;
    border-right: 1px solid rgba(247, 241, 229, 0.14);
}

.pine-about-stat:last-child {
    border-right: 0;
}

.pine-about-stat strong {
    display: block;
    color: #d6a84f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.5rem, 3.5vw, 4rem);
    font-weight: 500;
    line-height: 0.98;
}

.pine-about-stat:first-child strong {
    font-size: clamp(2rem, 2.9vw, 3.35rem);
}

.pine-about-stat span {
    display: block;
    max-width: 190px;
    margin-top: 14px;
    color: rgba(247, 241, 229, 0.72);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.48;
    text-transform: uppercase;
}

.pine-about-difference {
    padding: 124px 0 130px;
    background: #f7f1e5 !important;
}

.pine-about-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
    gap: 70px;
    align-items: end;
}

.pine-about-section-head .title-h2 {
    max-width: 760px;
    margin: 0;
    color: #07111f;
    font-size: clamp(3rem, 4.8vw, 5rem);
    line-height: 0.98;
}

.pine-about-section-head > p {
    margin: 0 0 7px;
    color: rgba(7, 17, 31, 0.68);
    font-size: 1.02rem;
    line-height: 1.72;
}

.pine-about-principles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 70px;
    margin-top: 70px;
}

.pine-about-principle {
    display: grid;
    min-width: 0;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 18px;
    padding: 30px 0 32px;
    border-top: 1px solid rgba(7, 17, 31, 0.17);
}

.pine-about-principle:nth-last-child(-n + 2) {
    border-bottom: 1px solid rgba(7, 17, 31, 0.17);
}

.pine-about-principle > span {
    color: #d6a84f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.32rem;
    line-height: 1.2;
}

.pine-about-principle h3 {
    margin: 0 0 9px;
    color: #07111f;
    font-size: 1.18rem;
    font-weight: 800;
    line-height: 1.3;
}

.pine-about-principle p {
    margin: 0;
    color: rgba(7, 17, 31, 0.65);
    font-size: 0.91rem;
    line-height: 1.64;
}

.pine-about-clients {
    display: grid;
    min-height: 740px;
    grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr);
    background: #eef1e8;
}

.pine-about-clients__media {
    min-width: 0;
    min-height: 600px;
    overflow: hidden;
}

.pine-about-clients__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 61% center;
}

.pine-about-clients__copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: 76px clamp(38px, 4.5vw, 66px);
}

.pine-about-clients__copy .title-h2 {
    max-width: 590px;
    margin: 0;
    color: #07111f;
    font-size: clamp(2.85rem, 3.75vw, 4rem);
    line-height: 0.98;
}

.pine-about-clients__copy > p:not(.before-title) {
    max-width: 590px;
    margin: 26px 0 0;
    color: rgba(7, 17, 31, 0.68);
    font-size: 0.98rem;
    line-height: 1.7;
}

.pine-about-client-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 26px;
    margin: 40px 0 0;
    padding: 0;
    list-style: none;
}

.pine-about-client-list li {
    position: relative;
    min-width: 0;
    padding: 15px 0 15px 18px;
    border-top: 1px solid rgba(7, 17, 31, 0.15);
    color: #07111f;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.38;
}

.pine-about-client-list li::before {
    content: "";
    position: absolute;
    top: 21px;
    left: 0;
    width: 6px;
    height: 6px;
    background: #1f6b4e;
}

.pine-about-cta {
    display: grid;
    min-height: 560px;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
    background: #07111f;
}

.pine-about-cta__copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 78px clamp(40px, 5vw, 72px);
}

.pine-about-cta__copy .before-title {
    color: #d6a84f;
}

.pine-about-cta__copy .title-h2 {
    max-width: 700px;
    margin: 0;
    color: #f7f1e5;
    font-size: clamp(2.9rem, 3.8vw, 4.1rem);
    line-height: 0.98;
}

.pine-about-cta__copy > p:not(.before-title) {
    max-width: 620px;
    margin: 28px 0 0;
    color: rgba(247, 241, 229, 0.72);
    font-size: 0.98rem;
    line-height: 1.7;
}

.pine-about-cta .btn-primary {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    gap: 12px;
    margin-top: 34px;
    padding: 15px 24px;
    border-radius: 4px;
    background: #d6a84f !important;
    box-shadow: none;
    color: #07111f !important;
    text-transform: uppercase;
}

.pine-about-cta .btn-primary:hover,
.pine-about-cta .btn-primary:focus {
    background: #f7f1e5 !important;
    color: #07111f !important;
}

.pine-about-cta__media {
    min-width: 0;
    min-height: 560px;
    overflow: hidden;
}

.pine-about-cta__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 54% center;
}

@media (max-width: 1199.98px) {
    .pine-about-page .pine-page-hero {
        min-height: 430px;
        padding-top: 142px !important;
        padding-bottom: 62px !important;
    }

    .pine-about-intro__layout {
        gap: 44px;
    }

    .pine-about-intro__media {
        min-height: 544px;
        grid-template-rows: 340px 190px;
    }

    .pine-about-section-head,
    .pine-about-principles {
        gap: 42px;
    }

    .pine-about-clients,
    .pine-about-cta {
        min-height: 0;
    }
}

@media (max-width: 991.98px) {
    .pine-about-page .pine-page-hero {
        min-height: 420px;
        padding-top: 154px !important;
    }

    .pine-about-page .pine-page-hero .section-banner__box {
        display: block !important;
    }

    .pine-about-page .pine-page-hero .section-banner__box::before {
        background: rgba(7, 17, 31, 0.42) !important;
    }

    .pine-about-page .pine-page-hero .section-banner__img {
        object-position: 62% center;
    }

    .pine-about-intro {
        padding: 92px 0 96px;
    }

    .pine-about-intro__layout {
        grid-template-columns: 1fr;
        gap: 54px;
    }

    .pine-about-intro__copy {
        max-width: 760px;
    }

    .pine-about-intro__media {
        min-height: 650px;
        grid-template-columns: minmax(0, 1.2fr) minmax(220px, 0.8fr);
        grid-template-rows: 420px 216px;
    }

    .pine-about-stats__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pine-about-stat:nth-child(2) {
        border-right: 0;
    }

    .pine-about-stat:nth-child(-n + 2) {
        border-bottom: 1px solid rgba(247, 241, 229, 0.14);
    }

    .pine-about-difference {
        padding: 96px 0 102px;
    }

    .pine-about-section-head {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .pine-about-section-head > p {
        max-width: 680px;
    }

    .pine-about-principles {
        column-gap: 34px;
        margin-top: 54px;
    }

    .pine-about-clients,
    .pine-about-cta {
        grid-template-columns: 1fr;
    }

    .pine-about-clients__media {
        min-height: 480px;
        max-height: 560px;
    }

    .pine-about-clients__copy,
    .pine-about-cta__copy {
        padding: 78px 42px 84px;
    }

    .pine-about-cta__media {
        min-height: 440px;
    }
}

@media (max-width: 767.98px) {
    .pine-about-page .container,
    .pine-about-stats .container {
        padding-right: 20px;
        padding-left: 20px;
    }

    .pine-about-page .pine-page-hero {
        min-height: 390px;
        padding-top: 132px !important;
        padding-bottom: 50px !important;
    }

    .pine-about-page .pine-page-hero .title-h2 {
        font-size: clamp(3.25rem, 15vw, 4.8rem);
    }

    .pine-about-intro {
        padding: 74px 0 80px;
    }

    .pine-about-intro__copy .title-h2,
    .pine-about-section-head .title-h2,
    .pine-about-clients__copy .title-h2,
    .pine-about-cta__copy .title-h2 {
        font-size: clamp(2.55rem, 11vw, 3.55rem);
        line-height: 1;
    }

    .pine-about-intro__lead {
        margin-top: 22px;
        font-size: 1.05rem;
    }

    .pine-about-intro__media {
        min-height: 0;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 380px auto;
    }

    .pine-about-intro__image--primary {
        grid-column: 1 / 3;
        grid-row: 1;
    }

    .pine-about-intro__image--secondary {
        min-height: 190px;
    }

    .pine-about-intro__module-note {
        min-height: 190px;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
    }

    .pine-about-intro__module-note strong {
        font-size: 3.4rem;
    }

    .pine-about-stats__grid {
        border: 0;
    }

    .pine-about-stat {
        min-height: 150px;
        padding: 25px 18px;
    }

    .pine-about-stat strong,
    .pine-about-stat:first-child strong {
        font-size: clamp(1.8rem, 9vw, 2.7rem);
    }

    .pine-about-stat span {
        font-size: 0.67rem;
    }

    .pine-about-difference {
        padding: 80px 0 84px;
    }

    .pine-about-principles {
        grid-template-columns: 1fr;
        gap: 0;
        margin-top: 42px;
    }

    .pine-about-principle,
    .pine-about-principle:nth-last-child(-n + 2) {
        border-bottom: 0;
    }

    .pine-about-principle:last-child {
        border-bottom: 1px solid rgba(7, 17, 31, 0.17);
    }

    .pine-about-clients__media {
        min-height: 360px;
    }

    .pine-about-clients__copy,
    .pine-about-cta__copy {
        padding: 68px 20px 74px;
    }

    .pine-about-client-list {
        grid-template-columns: 1fr;
        margin-top: 32px;
    }

    .pine-about-cta__media {
        min-height: 350px;
    }
}

@media (max-width: 479.98px) {
    .pine-about-intro__media {
        grid-template-columns: 1fr;
        grid-template-rows: 330px 230px auto;
    }

    .pine-about-intro__image--primary {
        grid-column: 1;
    }

    .pine-about-intro__module-note {
        min-height: 142px;
        flex-direction: row;
        align-items: center;
    }

    .pine-about-stats__grid {
        grid-template-columns: 1fr;
    }

    .pine-about-stat,
    .pine-about-stat:nth-child(2) {
        min-height: 128px;
        border-right: 0;
        border-bottom: 1px solid rgba(247, 241, 229, 0.14);
    }

    .pine-about-stat:last-child {
        border-bottom: 0;
    }

    .pine-about-stat span {
        max-width: none;
    }

    .pine-about-principle {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pine-about-page *,
    .pine-about-page *::before,
    .pine-about-page *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}

/* Services page: full service showcases with stable, page-scoped layout rules. */
.pine-services-page {
    overflow: hidden;
    background: #f8f2e8;
}

.pine-services-page .container {
    width: 100%;
    max-width: 1180px;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 28px;
    padding-left: 28px;
}

.pine-services-overview-hero {
    position: relative;
    display: flex;
    min-height: 720px;
    align-items: flex-end;
    overflow: hidden;
    padding: 176px 0 88px;
    background: #e8e4d9;
}

.pine-services-overview-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.pine-services-overview-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    filter: saturate(1.04) contrast(1.02);
}

.pine-services-overview-hero > .container {
    position: relative;
    z-index: 2;
}

.pine-services-overview-hero__copy {
    max-width: 680px;
}

.pine-services-overview-hero__copy .before-title {
    margin-bottom: 14px;
    color: #1f6b4e;
}

.pine-services-overview-hero__copy .title-h1 {
    max-width: 680px;
    margin: 0;
    color: #07111f;
    font-size: clamp(4.1rem, 5.2vw, 5.4rem);
    line-height: 0.94;
    text-shadow: 0 2px 20px rgba(247, 241, 229, 0.72);
}

.pine-services-overview-hero__copy > p:not(.before-title) {
    max-width: 610px;
    margin: 28px 0 0;
    padding: 11px 14px;
    border-left: 3px solid #d6a84f;
    background: rgba(247, 241, 229, 0.8);
    color: rgba(7, 17, 31, 0.78);
    font-size: 1.02rem;
    line-height: 1.7;
    text-shadow: none;
}

.pine-services-overview-hero__actions {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-top: 34px;
}

.pine-services-overview-hero .btn-primary {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    gap: 12px;
    padding: 15px 24px;
    border-radius: 4px;
    background: #07111f !important;
    box-shadow: none;
    color: #f7f1e5 !important;
    text-transform: uppercase;
}

.pine-services-overview-hero .btn-primary:hover,
.pine-services-overview-hero .btn-primary:focus {
    background: #1f6b4e !important;
}

.pine-services-overview-hero__link {
    padding-bottom: 5px;
    border-bottom: 1px solid #d6a84f;
    color: #07111f;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pine-services-overview-hero__link:hover,
.pine-services-overview-hero__link:focus {
    color: #1f6b4e;
}

.pine-services-index {
    background: #07111f;
}

.pine-services-index__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-left: 1px solid rgba(247, 241, 229, 0.14);
}

.pine-services-index__grid a {
    display: flex;
    min-width: 0;
    min-height: 148px;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
    padding: 25px 22px;
    border-right: 1px solid rgba(247, 241, 229, 0.14);
    border-bottom: 1px solid rgba(247, 241, 229, 0.14);
    color: #f7f1e5;
}

.pine-services-index__grid a:hover,
.pine-services-index__grid a:focus {
    background: #1f6b4e;
    color: #f7f1e5;
}

.pine-services-index__grid span {
    color: #d6a84f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.25rem;
}

.pine-services-index__grid strong {
    color: inherit;
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1.42;
    text-transform: uppercase;
}

.pine-services-showcase {
    padding: 124px 0 132px;
    background: #f8f2e8 !important;
}

.pine-services-showcase,
.pine-services-story {
    scroll-margin-top: 24px;
}

.pine-services-showcase__head {
    display: grid;
    grid-template-columns: minmax(0, 1.22fr) minmax(270px, 0.78fr);
    gap: 70px;
    align-items: end;
}

.pine-services-showcase__head .before-title,
.pine-services-story__copy .before-title {
    color: #1f6b4e;
}

.pine-services-showcase__head .title-h2 {
    max-width: 730px;
    margin: 0;
    color: #07111f;
    font-size: clamp(3.25rem, 4.9vw, 5.2rem);
    line-height: 0.97;
}

.pine-services-showcase__head > p {
    margin: 0 0 6px;
    color: rgba(7, 17, 31, 0.68);
    font-size: 1rem;
    line-height: 1.72;
}

.pine-services-story-stack {
    margin-top: 76px;
    border-bottom: 1px solid rgba(7, 17, 31, 0.16);
}

.pine-services-story {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
    gap: 72px;
    align-items: center;
    padding: 92px 0;
    border-top: 1px solid rgba(7, 17, 31, 0.16);
}

.pine-services-story--reverse .pine-services-story__media {
    order: 2;
}

.pine-services-story--reverse .pine-services-story__copy {
    order: 1;
}

.pine-services-story__media {
    position: relative;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    aspect-ratio: 8 / 5;
    border: 1px solid rgba(7, 17, 31, 0.12);
    border-radius: 8px;
    background: #dfe4db;
}

.pine-services-story__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pine-services-story__media > span {
    position: absolute;
    top: 16px;
    left: 16px;
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: #07111f;
    color: #d6a84f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.1rem;
}

.pine-services-story__copy {
    min-width: 0;
}

.pine-services-story__copy .title-h2 {
    max-width: 600px;
    margin: 0;
    color: #07111f;
    font-size: clamp(2.65rem, 3.65vw, 3.85rem);
    line-height: 1;
}

.pine-services-story__copy .pine-services-story__title--long {
    font-size: clamp(2.25rem, 3.05vw, 3.15rem);
    line-height: 1.04;
}

.pine-services-story__message {
    max-width: 610px;
    margin: 24px 0 0;
    color: #1f6b4e;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.58;
}

.pine-services-story__description {
    max-width: 610px;
    margin: 17px 0 0;
    color: rgba(7, 17, 31, 0.66);
    font-size: 0.94rem;
    line-height: 1.68;
}

.pine-services-story__outcomes {
    max-width: 610px;
    margin: 28px 0 0;
    padding: 0;
    border-top: 1px solid rgba(7, 17, 31, 0.16);
    list-style: none;
}

.pine-services-story__outcomes li {
    position: relative;
    padding: 12px 0 12px 20px;
    border-bottom: 1px solid rgba(7, 17, 31, 0.12);
    color: rgba(7, 17, 31, 0.78);
    font-size: 0.82rem;
    font-weight: 650;
    line-height: 1.45;
}

.pine-services-story__outcomes li::before {
    content: "";
    position: absolute;
    top: 18px;
    left: 0;
    width: 7px;
    height: 7px;
    background: #1f6b4e;
}

.pine-services-story__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 28px;
    padding-bottom: 6px;
    border-bottom: 1px solid #d6a84f;
    color: #07111f;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pine-services-story__link:hover,
.pine-services-story__link:focus {
    color: #1f6b4e;
}

.pine-services-problems {
    padding: 124px 0 132px;
    background: #07111f;
}

.pine-services-problems__head {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
    gap: 70px;
    align-items: end;
}

.pine-services-problems__head .before-title {
    grid-column: 1 / -1;
    margin-bottom: -44px;
    color: #d6a84f;
}

.pine-services-problems__head .title-h2 {
    max-width: 850px;
    margin: 0;
    color: #f7f1e5;
    font-size: clamp(3.25rem, 4.9vw, 5.15rem);
    line-height: 0.98;
}

.pine-services-problems__head > p:not(.before-title) {
    margin: 0 0 7px;
    color: rgba(247, 241, 229, 0.66);
    font-size: 0.98rem;
    line-height: 1.7;
}

.pine-services-problems__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 34px;
    margin-top: 72px;
}

.pine-services-problems__grid article {
    min-width: 0;
    padding: 28px 0 34px;
    border-top: 1px solid rgba(247, 241, 229, 0.18);
}

.pine-services-problems__grid article > span {
    color: #d94a38;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.24rem;
}

.pine-services-problems__grid h3 {
    margin: 18px 0 10px;
    color: #f7f1e5;
    font-size: 1.12rem;
    font-weight: 800;
    line-height: 1.3;
}

.pine-services-problems__grid p {
    margin: 0;
    color: rgba(247, 241, 229, 0.64);
    font-size: 0.88rem;
    line-height: 1.66;
}

.pine-services-cta {
    display: grid;
    min-height: 580px;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    background: #f7f1e5;
}

.pine-services-cta__copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 80px clamp(40px, 5vw, 76px);
}

.pine-services-cta__copy .before-title {
    color: #1f6b4e;
}

.pine-services-cta__copy .title-h2 {
    max-width: 720px;
    margin: 0;
    color: #07111f;
    font-size: clamp(2.95rem, 3.85vw, 4.15rem);
    line-height: 0.99;
}

.pine-services-cta__copy > p:not(.before-title) {
    max-width: 620px;
    margin: 26px 0 0;
    color: rgba(7, 17, 31, 0.68);
    font-size: 0.96rem;
    line-height: 1.7;
}

.pine-services-cta .btn-primary {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    gap: 12px;
    margin-top: 33px;
    padding: 15px 24px;
    border-radius: 4px;
    background: #07111f !important;
    box-shadow: none;
    color: #f7f1e5 !important;
    text-transform: uppercase;
}

.pine-services-cta .btn-primary:hover,
.pine-services-cta .btn-primary:focus {
    background: #1f6b4e !important;
    color: #f7f1e5 !important;
}

.pine-services-cta__media {
    min-width: 0;
    min-height: 580px;
    overflow: hidden;
}

.pine-services-cta__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 55% center;
}

@media (max-width: 1199.98px) {
    .pine-services-overview-hero {
        min-height: 650px;
        padding-top: 150px;
        padding-bottom: 76px;
    }

    .pine-services-overview-hero__copy {
        max-width: 610px;
    }

    .pine-services-overview-hero__copy .title-h1 {
        font-size: clamp(3.8rem, 6.2vw, 4.8rem);
    }

    .pine-services-index__grid a {
        min-height: 136px;
        padding: 22px 18px;
    }

    .pine-services-showcase__head,
    .pine-services-problems__head {
        gap: 42px;
    }

    .pine-services-story {
        gap: 46px;
        padding: 76px 0;
    }
}

@media (max-width: 991.98px) {
    .pine-services-page .container {
        padding-right: 28px;
        padding-left: 28px;
    }

    .pine-services-overview-hero {
        min-height: 680px;
        padding-top: 156px;
    }

    .pine-services-overview-hero__media img {
        object-position: 36% center;
    }

    .pine-services-overview-hero__copy {
        max-width: 620px;
    }

    .pine-services-index__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pine-services-index__grid a {
        min-height: 112px;
    }

    .pine-services-showcase {
        padding: 98px 0 104px;
    }

    .pine-services-showcase,
    .pine-services-story {
        scroll-margin-top: 104px;
    }

    .pine-services-showcase__head,
    .pine-services-problems__head {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .pine-services-showcase__head > p,
    .pine-services-problems__head > p:not(.before-title) {
        max-width: 680px;
    }

    .pine-services-story-stack {
        margin-top: 58px;
    }

    .pine-services-story {
        grid-template-columns: 1fr;
        gap: 38px;
        padding: 72px 0 78px;
    }

    .pine-services-story--reverse .pine-services-story__media,
    .pine-services-story--reverse .pine-services-story__copy {
        order: initial;
    }

    .pine-services-story__media {
        aspect-ratio: 16 / 9;
    }

    .pine-services-story__copy {
        max-width: 720px;
    }

    .pine-services-problems {
        padding: 98px 0 106px;
    }

    .pine-services-problems__head .before-title {
        grid-column: auto;
        margin-bottom: -8px;
    }

    .pine-services-problems__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 54px;
    }

    .pine-services-cta {
        grid-template-columns: 1fr;
    }

    .pine-services-cta__copy {
        padding: 78px 42px 84px;
    }

    .pine-services-cta__media {
        min-height: 440px;
    }
}

@media (max-width: 767.98px) {
    .pine-services-page .container {
        padding-right: 20px;
        padding-left: 20px;
    }

    .pine-services-overview-hero {
        min-height: 650px;
        padding-top: 128px;
        padding-bottom: 62px;
    }

    .pine-services-overview-hero__copy .title-h1 {
        font-size: clamp(3.35rem, 14.8vw, 4.6rem);
        line-height: 0.94;
    }

    .pine-services-overview-hero__copy > p:not(.before-title) {
        margin-top: 22px;
        font-size: 0.95rem;
    }

    .pine-services-overview-hero__actions {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
        margin-top: 28px;
    }

    .pine-services-index__grid a {
        min-height: 108px;
        padding: 18px 16px;
    }

    .pine-services-index__grid strong {
        font-size: 0.68rem;
    }

    .pine-services-showcase {
        padding: 78px 0 84px;
    }

    .pine-services-showcase__head .title-h2,
    .pine-services-problems__head .title-h2,
    .pine-services-cta__copy .title-h2 {
        font-size: clamp(2.55rem, 11vw, 3.55rem);
        line-height: 1;
    }

    .pine-services-story-stack {
        margin-top: 44px;
    }

    .pine-services-story {
        gap: 30px;
        padding: 58px 0 64px;
    }

    .pine-services-story__media {
        aspect-ratio: 4 / 3;
    }

    .pine-services-story__copy .title-h2 {
        font-size: clamp(2.4rem, 10vw, 3.1rem);
    }

    .pine-services-story__copy .pine-services-story__title--long {
        font-size: clamp(2.05rem, 8.6vw, 2.65rem);
    }

    .pine-services-story__message {
        margin-top: 20px;
        font-size: 1rem;
    }

    .pine-services-problems {
        padding: 82px 0 88px;
    }

    .pine-services-problems__grid {
        grid-template-columns: 1fr;
        gap: 0;
        margin-top: 42px;
    }

    .pine-services-problems__grid article {
        padding: 25px 0 30px;
    }

    .pine-services-cta__copy {
        padding: 68px 20px 74px;
    }

    .pine-services-cta__media {
        min-height: 350px;
    }
}

@media (max-width: 479.98px) {
    .pine-services-overview-hero {
        min-height: 680px;
    }

    .pine-services-index__grid {
        grid-template-columns: 1fr;
        border-right: 1px solid rgba(247, 241, 229, 0.14);
    }

    .pine-services-index__grid a {
        min-height: 82px;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 18px;
    }

    .pine-services-index__grid span {
        flex: 0 0 32px;
    }

    .pine-services-story__media > span {
        top: 12px;
        left: 12px;
        width: 42px;
        height: 42px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pine-services-page *,
    .pine-services-page *::before,
    .pine-services-page *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}

/* Contact page: strategy-call intake and remote implementation workflow. */
.pine-contact-page {
    overflow: hidden;
    background: #f8f2e8;
}

.pine-contact-page .container {
    width: 100%;
    max-width: 1180px;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 28px;
    padding-left: 28px;
}

.pine-contact-page .pine-page-hero {
    display: flex;
    min-height: 480px;
    align-items: flex-end;
    padding: 168px 0 72px !important;
    background: #07111f !important;
}

.pine-contact-page .pine-page-hero > .container {
    position: relative;
    z-index: 3;
}

.pine-contact-page .pine-page-hero .section-banner__box {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block !important;
    width: 100%;
    height: 100%;
    opacity: 1 !important;
}

.pine-contact-page .pine-page-hero .section-banner__box::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block !important;
    background: rgba(7, 17, 31, 0.34) !important;
    pointer-events: none;
}

.pine-contact-page .pine-page-hero .section-banner__thumb,
.pine-contact-page .pine-page-hero .section-banner__img {
    position: absolute;
    inset: 0;
    display: block !important;
    width: 100%;
    height: 100%;
    min-height: 0;
}

.pine-contact-page .pine-page-hero .section-banner__img {
    object-fit: cover;
    object-position: center 58%;
    filter: saturate(1.04) contrast(1.04) brightness(0.94) !important;
}

.pine-contact-page .pine-page-hero .before-title {
    margin-bottom: 12px;
    color: #d6a84f;
    text-shadow: 0 2px 18px rgba(7, 17, 31, 0.5);
}

.pine-contact-page .pine-page-hero .title-h2 {
    max-width: 760px;
    margin-bottom: 20px;
    color: #f7f1e5;
    font-size: clamp(4rem, 7vw, 6.8rem);
    line-height: 0.92;
    text-shadow: 0 4px 30px rgba(7, 17, 31, 0.55);
}

.pine-contact-page .pine-page-hero .breadcrumb {
    margin: 0;
    padding: 0;
    background: transparent;
}

.pine-contact-page .pine-page-hero .breadcrumb-item,
.pine-contact-page .pine-page-hero .breadcrumb-item.active,
.pine-contact-page .pine-page-hero .breadcrumb-item a {
    color: rgba(247, 241, 229, 0.84) !important;
}

.pine-contact-page .pine-page-hero .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(214, 168, 79, 0.82) !important;
}

.pine-contact-intake {
    padding: 120px 0 128px;
    background: #f8f2e8 !important;
    scroll-margin-top: 24px;
}

.pine-contact-intake__layout {
    display: grid;
    grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
    gap: 72px;
    align-items: start;
}

.pine-contact-intake__intro {
    min-width: 0;
}

.pine-contact-intake__intro .before-title {
    color: #1f6b4e;
}

.pine-contact-intake__intro .title-h2 {
    max-width: 560px;
    margin: 0;
    color: #07111f;
    font-size: clamp(3rem, 4.25vw, 4.55rem);
    line-height: 0.98;
}

.pine-contact-intake__lead {
    max-width: 560px;
    margin: 27px 0 0;
    color: #1f6b4e;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.58;
}

.pine-contact-intake__intro > p:not(.before-title):not(.pine-contact-intake__lead) {
    max-width: 560px;
    margin: 20px 0 0;
    color: rgba(7, 17, 31, 0.67);
    font-size: 0.96rem;
    line-height: 1.72;
}

.pine-contact-methods {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 28px;
    margin-top: 44px;
}

.pine-contact-methods article {
    min-width: 0;
    padding: 22px 0 25px;
    border-top: 1px solid rgba(7, 17, 31, 0.17);
}

.pine-contact-methods span {
    display: block;
    margin-bottom: 10px;
    color: #d94a38;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pine-contact-methods a,
.pine-contact-methods strong {
    display: block;
    overflow-wrap: anywhere;
    color: #07111f;
    font-size: 0.85rem;
    font-weight: 750;
    line-height: 1.48;
}

.pine-contact-methods a:hover,
.pine-contact-methods a:focus {
    color: #1f6b4e;
}

.pine-contact-form-panel {
    min-width: 0;
    padding: 42px;
    border: 1px solid rgba(247, 241, 229, 0.12);
    border-radius: 8px;
    background: #07111f;
    box-shadow: 0 24px 64px rgba(7, 17, 31, 0.16);
}

.pine-contact-form-panel > header .before-title {
    margin-bottom: 10px;
    color: #d6a84f;
}

.pine-contact-form-panel > header h3 {
    margin: 0;
    color: #f7f1e5;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.35rem, 3vw, 3.15rem);
    font-weight: 700;
    line-height: 1;
}

.pine-contact-form-panel > header > p:not(.before-title) {
    max-width: 570px;
    margin: 16px 0 0;
    color: rgba(247, 241, 229, 0.66);
    font-size: 0.88rem;
    line-height: 1.62;
}

.pine-contact-form-panel form {
    margin-top: 32px;
}

.pine-contact-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 18px;
}

.pine-contact-field {
    min-width: 0;
}

.pine-contact-field--full {
    grid-column: 1 / -1;
}

.pine-contact-field > label {
    display: block;
    margin-bottom: 8px;
    color: rgba(247, 241, 229, 0.82);
    font-size: 0.72rem;
    font-weight: 750;
}

.pine-contact-field > label span {
    color: #d6a84f;
}

.pine-contact-field input,
.pine-contact-field select,
.pine-contact-field textarea {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 52px;
    margin: 0;
    padding: 13px 14px;
    border: 1px solid rgba(247, 241, 229, 0.2);
    border-radius: 4px;
    outline: 0;
    background: rgba(247, 241, 229, 0.06);
    color: #f7f1e5;
    font-family: "Plus Jakarta Sans", Inter, sans-serif;
    font-size: 0.86rem;
    line-height: 1.45;
}

.pine-contact-field select {
    color-scheme: dark;
}

.pine-contact-field select option {
    background: #07111f;
    color: #f7f1e5;
}

.pine-contact-field textarea {
    min-height: 150px;
    resize: vertical;
}

.pine-contact-field input:focus,
.pine-contact-field select:focus,
.pine-contact-field textarea:focus {
    border-color: #d6a84f;
    box-shadow: 0 0 0 3px rgba(214, 168, 79, 0.14);
}

.pine-contact-field input[aria-invalid="true"],
.pine-contact-field select[aria-invalid="true"],
.pine-contact-field textarea[aria-invalid="true"] {
    border-color: #d94a38;
}

.pine-contact-field small,
.pine-contact-consent small {
    display: block;
    margin-top: 7px;
    color: #f19a8f;
    font-size: 0.7rem;
    line-height: 1.4;
}

.pine-contact-consent {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
}

.pine-contact-consent input {
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    accent-color: #d6a84f;
}

.pine-contact-consent label {
    margin: 0;
    color: rgba(247, 241, 229, 0.75);
    font-size: 0.76rem;
    line-height: 1.48;
}

.pine-contact-consent small {
    grid-column: 2;
}

.pine-contact-form-panel .btn-primary {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    gap: 12px;
    margin-top: 28px;
    padding: 15px 24px;
    border-radius: 4px;
    background: #d6a84f !important;
    box-shadow: none;
    color: #07111f !important;
    text-transform: uppercase;
}

.pine-contact-form-panel .btn-primary:hover,
.pine-contact-form-panel .btn-primary:focus {
    background: #f7f1e5 !important;
    color: #07111f !important;
}

.pine-contact-form-notice {
    margin-top: 24px;
    padding: 14px 16px;
    border-left: 3px solid currentColor;
    background: rgba(247, 241, 229, 0.06);
    font-size: 0.8rem;
    line-height: 1.5;
}

.pine-contact-form-notice--success {
    color: #86c8a8;
}

.pine-contact-form-notice--error {
    color: #f19a8f;
}

.pine-contact-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.pine-contact-process {
    display: grid;
    min-height: 720px;
    grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr);
    background: #eef1e8;
}

.pine-contact-process__media {
    min-width: 0;
    min-height: 620px;
    overflow: hidden;
}

.pine-contact-process__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.pine-contact-process__copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: 82px clamp(40px, 5vw, 72px);
}

.pine-contact-process__copy .before-title {
    color: #1f6b4e;
}

.pine-contact-process__copy .title-h2 {
    max-width: 630px;
    margin: 0;
    color: #07111f;
    font-size: clamp(2.85rem, 3.8vw, 4rem);
    line-height: 0.99;
}

.pine-contact-process__copy > p:not(.before-title) {
    max-width: 610px;
    margin: 24px 0 0;
    color: rgba(7, 17, 31, 0.67);
    font-size: 0.94rem;
    line-height: 1.68;
}

.pine-contact-process__steps {
    margin: 36px 0 0;
    padding: 0;
    border-bottom: 1px solid rgba(7, 17, 31, 0.16);
    list-style: none;
}

.pine-contact-process__steps li {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 16px;
    padding: 22px 0 24px;
    border-top: 1px solid rgba(7, 17, 31, 0.16);
}

.pine-contact-process__steps li > span {
    color: #d94a38;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.12rem;
}

.pine-contact-process__steps strong {
    display: block;
    color: #07111f;
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.4;
}

.pine-contact-process__steps p {
    margin: 7px 0 0;
    color: rgba(7, 17, 31, 0.63);
    font-size: 0.82rem;
    line-height: 1.58;
}

@media (max-width: 1199.98px) {
    .pine-contact-page .pine-page-hero {
        min-height: 430px;
        padding-top: 142px !important;
        padding-bottom: 62px !important;
    }

    .pine-contact-intake__layout {
        gap: 44px;
    }

    .pine-contact-form-panel {
        padding: 34px;
    }
}

@media (max-width: 991.98px) {
    .pine-contact-page .pine-page-hero {
        min-height: 420px;
        padding-top: 154px !important;
    }

    .pine-contact-page .pine-page-hero .section-banner__box {
        display: block !important;
    }

    .pine-contact-page .pine-page-hero .section-banner__box::before {
        background: rgba(7, 17, 31, 0.42) !important;
    }

    .pine-contact-page .pine-page-hero .section-banner__img {
        object-position: 62% center;
    }

    .pine-contact-intake {
        padding: 94px 0 100px;
        scroll-margin-top: 104px;
    }

    .pine-contact-intake__layout {
        grid-template-columns: 1fr;
        gap: 54px;
    }

    .pine-contact-intake__intro {
        max-width: 760px;
    }

    .pine-contact-process {
        grid-template-columns: 1fr;
    }

    .pine-contact-process__media {
        min-height: 480px;
        max-height: 560px;
    }

    .pine-contact-process__copy {
        padding: 78px 42px 84px;
    }
}

@media (max-width: 767.98px) {
    .pine-contact-page .container {
        padding-right: 20px;
        padding-left: 20px;
    }

    .pine-contact-page .pine-page-hero {
        min-height: 390px;
        padding-top: 132px !important;
        padding-bottom: 50px !important;
    }

    .pine-contact-page .pine-page-hero .title-h2 {
        font-size: clamp(3.25rem, 15vw, 4.8rem);
    }

    .pine-contact-intake {
        padding: 74px 0 80px;
    }

    .pine-contact-intake__intro .title-h2,
    .pine-contact-process__copy .title-h2 {
        font-size: clamp(2.55rem, 11vw, 3.55rem);
        line-height: 1;
    }

    .pine-contact-intake__lead {
        margin-top: 22px;
        font-size: 1.04rem;
    }

    .pine-contact-methods {
        grid-template-columns: 1fr;
        margin-top: 36px;
    }

    .pine-contact-form-panel {
        padding: 26px 20px 28px;
    }

    .pine-contact-form-panel > header h3 {
        font-size: 2.35rem;
    }

    .pine-contact-form-grid {
        grid-template-columns: 1fr;
    }

    .pine-contact-field--full {
        grid-column: auto;
    }

    .pine-contact-process__media {
        min-height: 350px;
    }

    .pine-contact-process__copy {
        padding: 68px 20px 74px;
    }
}

@media (max-width: 359.98px) {
    .pine-contact-form-panel {
        padding-right: 16px;
        padding-left: 16px;
    }

    .pine-contact-form-panel .btn-primary {
        width: 100%;
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pine-contact-page *,
    .pine-contact-page *::before,
    .pine-contact-page *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}

/* Testimonials page
   ========================================================================== */

.pine-testimonials-page {
    overflow: hidden;
    color: #07111f;
    background: #f7f1e5;
}

.pine-testimonials-page .container {
    width: min(100%, 1240px);
    max-width: 1240px;
    padding-right: 32px;
    padding-left: 32px;
}

.pine-testimonials-page .pine-page-hero {
    position: relative;
    display: flex;
    min-height: 500px;
    align-items: center;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: #07111f !important;
}

.pine-testimonials-page .pine-page-hero > .container {
    position: relative;
    z-index: 3;
}

.pine-testimonials-page .pine-page-hero::before,
.pine-testimonials-page .pine-page-hero::after {
    display: none !important;
    content: none !important;
}

.pine-testimonials-page .pine-page-hero .section-banner__box {
    position: absolute !important;
    z-index: 1;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    opacity: 1 !important;
}

.pine-testimonials-page .pine-page-hero .section-banner__box::before {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: block;
    content: "";
    opacity: 1 !important;
    background: rgba(7, 17, 31, 0.42) !important;
    pointer-events: none;
}

.pine-testimonials-page .pine-page-hero .section-banner__thumb,
.pine-testimonials-page .pine-page-hero .section-banner__img {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    opacity: 1 !important;
    filter: none !important;
}

.pine-testimonials-page .pine-page-hero .section-banner__img {
    display: block;
    object-fit: cover;
    object-position: center 53%;
    filter: saturate(1.04) contrast(1.04) brightness(0.72) !important;
}

.pine-testimonials-page .pine-page-hero .before-title {
    margin-bottom: 13px;
    color: #d6a84f;
}

.pine-testimonials-page .pine-page-hero .title-h2 {
    max-width: 760px;
    margin-bottom: 20px;
    color: #f7f1e5;
    font-size: 5.25rem;
    line-height: 0.94;
    text-shadow: 0 2px 22px rgba(7, 17, 31, 0.32);
}

.pine-testimonials-page .pine-page-hero .breadcrumb {
    margin: 0;
    padding: 0;
    background: transparent;
}

.pine-testimonials-page .pine-page-hero .breadcrumb-item,
.pine-testimonials-page .pine-page-hero .breadcrumb-item.active,
.pine-testimonials-page .pine-page-hero .breadcrumb-item a {
    color: #f7f1e5;
}

.pine-testimonials-page .pine-page-hero .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(247, 241, 229, 0.68);
}

.pine-testimonials-feature {
    padding: 116px 0 126px;
    background: #f7f1e5;
}

.pine-testimonials-feature__layout {
    display: grid;
    grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
    align-items: center;
}

.pine-testimonials-feature__media {
    position: relative;
    z-index: 1;
    min-height: 650px;
    margin: 0;
    overflow: hidden;
    border-radius: 6px;
    background: #1f6b4e;
}

.pine-testimonials-feature__media img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.pine-testimonials-feature__media figcaption {
    position: absolute;
    z-index: 2;
    right: 20px;
    bottom: 20px;
    left: 20px;
    width: max-content;
    max-width: calc(100% - 40px);
    padding: 10px 14px;
    color: #f7f1e5;
    border: 1px solid rgba(247, 241, 229, 0.32);
    border-radius: 4px;
    background: rgba(7, 17, 31, 0.84);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.pine-testimonials-feature__quote {
    position: relative;
    z-index: 2;
    margin-left: -54px;
    padding: 70px 64px 72px;
    color: #f7f1e5;
    border: 1px solid rgba(214, 168, 79, 0.32);
    border-radius: 6px;
    background: #07111f;
    box-shadow: 0 28px 64px rgba(7, 17, 31, 0.14);
}

.pine-testimonials-feature__quote .before-title {
    margin-bottom: 17px;
    color: #d6a84f;
}

.pine-testimonials-feature__quote .title-h2 {
    max-width: 590px;
    margin: 0;
    color: #f7f1e5;
    font-size: 3.45rem;
    line-height: 1.02;
}

.pine-testimonials-feature__quote blockquote {
    margin: 40px 0 0;
    padding: 38px 0 0;
    border-top: 1px solid rgba(247, 241, 229, 0.2);
}

.pine-testimonials-feature__quote blockquote > p {
    margin: 0;
    color: #f7f1e5;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.25;
}

.pine-testimonials-feature__quote blockquote footer {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 30px;
}

.pine-testimonials-feature__quote blockquote strong {
    color: #d6a84f;
    font-size: 0.88rem;
    font-weight: 700;
    text-transform: uppercase;
}

.pine-testimonials-feature__quote blockquote span {
    color: rgba(247, 241, 229, 0.68);
    font-size: 0.88rem;
}

.pine-testimonials-grid-section {
    padding: 116px 0 126px;
    border-top: 1px solid rgba(7, 17, 31, 0.1);
    background: #efe8db;
}

.pine-testimonials-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.6fr);
    gap: 80px;
    align-items: end;
    margin-bottom: 64px;
}

.pine-testimonials-section-head .before-title {
    margin-bottom: 13px;
    color: #1f6b4e;
}

.pine-testimonials-section-head .title-h2 {
    max-width: 760px;
    margin: 0;
    color: #07111f;
    font-size: 4rem;
    line-height: 1;
}

.pine-testimonials-section-head > p {
    max-width: 430px;
    margin: 0 0 4px;
    color: rgba(7, 17, 31, 0.7);
    font-size: 1rem;
    line-height: 1.72;
}

.pine-testimonials-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.pine-testimonial-card {
    position: relative;
    display: flex;
    min-height: 382px;
    flex-direction: column;
    padding: 42px 42px 38px;
    border: 1px solid rgba(7, 17, 31, 0.13);
    border-radius: 6px;
    background: rgba(247, 241, 229, 0.76);
}

.pine-testimonial-card__number {
    display: block;
    margin-bottom: 48px;
    color: #d94a38;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.15rem;
    font-weight: 700;
}

.pine-testimonial-card blockquote {
    margin: 0;
}

.pine-testimonial-card blockquote p {
    margin: 0;
    color: #07111f;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.85rem;
    font-weight: 600;
    line-height: 1.25;
}

.pine-testimonial-card footer {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: auto;
    padding-top: 30px;
    border-top: 1px solid rgba(7, 17, 31, 0.12);
}

.pine-testimonial-card footer strong {
    color: #1f6b4e;
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pine-testimonial-card footer span {
    color: rgba(7, 17, 31, 0.62);
    font-size: 0.85rem;
}

.pine-testimonials-outcomes {
    padding: 120px 0 126px;
    color: #f7f1e5;
    background: #07111f;
}

.pine-testimonials-outcomes__layout {
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    gap: 104px;
    align-items: start;
}

.pine-testimonials-outcomes__intro {
    position: sticky;
    top: 70px;
}

.pine-testimonials-outcomes__intro .before-title {
    margin-bottom: 15px;
    color: #d6a84f;
}

.pine-testimonials-outcomes__intro .title-h2 {
    margin: 0;
    color: #f7f1e5;
    font-size: 3.55rem;
    line-height: 1.03;
}

.pine-testimonials-outcomes__intro > p:not(.before-title) {
    max-width: 500px;
    margin: 28px 0 0;
    color: rgba(247, 241, 229, 0.67);
    font-size: 1rem;
    line-height: 1.72;
}

.pine-testimonials-outcomes__list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgba(247, 241, 229, 0.2);
}

.pine-testimonials-outcomes__list li {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 22px;
    padding: 31px 0 33px;
    border-bottom: 1px solid rgba(247, 241, 229, 0.2);
}

.pine-testimonials-outcomes__list li > span {
    color: #d94a38;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.1rem;
    font-weight: 700;
}

.pine-testimonials-outcomes__list strong {
    display: block;
    margin-bottom: 8px;
    color: #f7f1e5;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.75rem;
    line-height: 1.14;
}

.pine-testimonials-outcomes__list p {
    max-width: 620px;
    margin: 0;
    color: rgba(247, 241, 229, 0.63);
    font-size: 0.94rem;
    line-height: 1.66;
}

.pine-testimonials-cta {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    min-height: 630px;
    background: #1f6b4e;
}

.pine-testimonials-cta__media {
    position: relative;
    min-height: 630px;
    overflow: hidden;
}

.pine-testimonials-cta__media img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.pine-testimonials-cta__copy {
    display: flex;
    max-width: 650px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 86px 72px;
    color: #f7f1e5;
}

.pine-testimonials-cta__copy .before-title {
    margin-bottom: 15px;
    color: #d6a84f;
}

.pine-testimonials-cta__copy .title-h2 {
    margin: 0;
    color: #f7f1e5;
    font-size: 3.7rem;
    line-height: 1.02;
}

.pine-testimonials-cta__copy > p:not(.before-title) {
    max-width: 540px;
    margin: 28px 0 34px;
    color: rgba(247, 241, 229, 0.78);
    font-size: 1rem;
    line-height: 1.72;
}

.pine-testimonials-cta .btn-primary {
    display: inline-flex;
    min-height: 56px;
    align-items: center;
    gap: 17px;
    padding: 16px 24px;
    color: #07111f !important;
    border: 1px solid #d6a84f !important;
    border-radius: 4px !important;
    background: #d6a84f !important;
    box-shadow: none !important;
}

.pine-testimonials-cta .btn-primary:hover,
.pine-testimonials-cta .btn-primary:focus {
    color: #07111f !important;
    border-color: #f7f1e5 !important;
    background: #f7f1e5 !important;
}

@media (max-width: 1199.98px) {
    .pine-testimonials-page .pine-page-hero .title-h2 {
        font-size: 4.6rem;
    }

    .pine-testimonials-feature__media {
        min-height: 590px;
    }

    .pine-testimonials-feature__quote {
        padding: 54px 48px 58px;
    }

    .pine-testimonials-feature__quote .title-h2 {
        font-size: 3.05rem;
    }

    .pine-testimonials-feature__quote blockquote > p {
        font-size: 1.75rem;
    }

    .pine-testimonials-section-head {
        gap: 50px;
    }

    .pine-testimonials-section-head .title-h2 {
        font-size: 3.55rem;
    }

    .pine-testimonials-outcomes__layout {
        gap: 68px;
    }

    .pine-testimonials-outcomes__intro .title-h2,
    .pine-testimonials-cta__copy .title-h2 {
        font-size: 3.2rem;
    }

    .pine-testimonials-cta__copy {
        padding-right: 48px;
        padding-left: 48px;
    }
}

@media (max-width: 991.98px) {
    .pine-testimonials-page .pine-page-hero {
        min-height: 480px;
    }

    .pine-testimonials-page .pine-page-hero .section-banner__box {
        display: block !important;
    }

    .pine-testimonials-page .pine-page-hero .section-banner__box::before {
        background: rgba(7, 17, 31, 0.4);
    }

    .pine-testimonials-feature {
        padding: 88px 0 96px;
    }

    .pine-testimonials-feature__layout {
        grid-template-columns: 1fr;
    }

    .pine-testimonials-feature__media {
        min-height: 0;
        aspect-ratio: 16 / 10;
    }

    .pine-testimonials-feature__quote {
        width: calc(100% - 52px);
        margin: -64px auto 0;
    }

    .pine-testimonials-grid-section {
        padding: 90px 0 96px;
    }

    .pine-testimonials-section-head {
        grid-template-columns: 1fr;
        gap: 25px;
        align-items: start;
        margin-bottom: 48px;
    }

    .pine-testimonials-section-head > p {
        max-width: 680px;
    }

    .pine-testimonial-card {
        min-height: 400px;
        padding: 36px 32px 34px;
    }

    .pine-testimonial-card blockquote p {
        font-size: 1.65rem;
    }

    .pine-testimonials-outcomes {
        padding: 94px 0 98px;
    }

    .pine-testimonials-outcomes__layout {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .pine-testimonials-outcomes__intro {
        position: static;
    }

    .pine-testimonials-outcomes__intro .title-h2 {
        max-width: 720px;
    }

    .pine-testimonials-cta {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .pine-testimonials-cta__media {
        min-height: 480px;
    }

    .pine-testimonials-cta__copy {
        max-width: none;
        padding: 76px 32px 82px;
    }
}

@media (max-width: 767.98px) {
    .pine-testimonials-page .container {
        padding-right: 20px;
        padding-left: 20px;
    }

    .pine-testimonials-page .pine-page-hero {
        min-height: 390px;
    }

    .pine-testimonials-page .pine-page-hero .title-h2 {
        font-size: 2.65rem;
        line-height: 0.98;
    }

    .pine-testimonials-feature {
        padding: 64px 0 72px;
    }

    .pine-testimonials-feature__media {
        aspect-ratio: 4 / 3;
    }

    .pine-testimonials-feature__media figcaption {
        right: 14px;
        bottom: 14px;
        left: 14px;
        max-width: calc(100% - 28px);
        font-size: 0.63rem;
    }

    .pine-testimonials-feature__quote {
        width: calc(100% - 20px);
        margin-top: -24px;
        padding: 36px 26px 40px;
    }

    .pine-testimonials-feature__quote .title-h2 {
        font-size: 2.45rem;
    }

    .pine-testimonials-feature__quote blockquote {
        margin-top: 28px;
        padding-top: 26px;
    }

    .pine-testimonials-feature__quote blockquote > p {
        font-size: 1.45rem;
    }

    .pine-testimonials-grid-section {
        padding: 68px 0 74px;
    }

    .pine-testimonials-section-head {
        margin-bottom: 36px;
    }

    .pine-testimonials-section-head .title-h2 {
        font-size: 2.7rem;
    }

    .pine-testimonials-grid {
        grid-template-columns: 1fr;
    }

    .pine-testimonial-card {
        min-height: 0;
        padding: 30px 26px;
    }

    .pine-testimonial-card__number {
        margin-bottom: 34px;
    }

    .pine-testimonial-card blockquote p {
        font-size: 1.58rem;
    }

    .pine-testimonial-card footer {
        margin-top: 42px;
        padding-top: 24px;
    }

    .pine-testimonials-outcomes {
        padding: 70px 0 76px;
    }

    .pine-testimonials-outcomes__layout {
        gap: 38px;
    }

    .pine-testimonials-outcomes__intro .title-h2 {
        font-size: 2.55rem;
    }

    .pine-testimonials-outcomes__list li {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 14px;
        padding: 26px 0 28px;
    }

    .pine-testimonials-outcomes__list strong {
        font-size: 1.5rem;
    }

    .pine-testimonials-cta__media {
        min-height: 360px;
    }

    .pine-testimonials-cta__copy {
        padding: 62px 20px 68px;
    }

    .pine-testimonials-cta__copy .title-h2 {
        font-size: 2.65rem;
    }
}

@media (max-width: 359.98px) {
    .pine-testimonials-page .pine-page-hero .title-h2 {
        font-size: 2.35rem;
    }

    .pine-testimonials-feature__quote {
        width: calc(100% - 12px);
        padding-right: 20px;
        padding-left: 20px;
    }

    .pine-testimonials-feature__quote .title-h2,
    .pine-testimonials-section-head .title-h2,
    .pine-testimonials-outcomes__intro .title-h2,
    .pine-testimonials-cta__copy .title-h2 {
        font-size: 2.25rem;
    }

    .pine-testimonial-card {
        padding-right: 22px;
        padding-left: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pine-testimonials-page *,
    .pine-testimonials-page *::before,
    .pine-testimonials-page *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}

/* iOS app building and integration offer
   ========================================================================== */

.pine-ios-page {
    overflow: hidden;
    color: #07111f;
    background: #f7f1e5;
}

.pine-ios-page .container {
    width: min(100%, 1240px);
    max-width: 1240px;
    padding-right: 32px;
    padding-left: 32px;
}

.pine-ios-hero {
    position: relative;
    display: flex;
    min-height: 780px;
    align-items: center;
    overflow: hidden;
    color: #f7f1e5;
    background: #07111f;
}

.pine-ios-hero__background,
.pine-ios-hero__background img,
.pine-ios-hero__background span {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.pine-ios-hero__background img {
    object-fit: cover;
    object-position: center 56%;
    filter: saturate(0.9) contrast(1.06) brightness(0.48);
}

.pine-ios-hero__background span {
    background: rgba(7, 17, 31, 0.48);
}

.pine-ios-hero__layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(430px, 0.92fr);
    gap: 60px;
    align-items: center;
    padding-top: 82px;
    padding-bottom: 66px;
}

.pine-ios-hero__copy {
    max-width: 690px;
}

.pine-ios-hero__copy .before-title {
    margin-bottom: 17px;
    color: #d6a84f;
    text-shadow: 0 2px 18px rgba(7, 17, 31, 0.5);
}

.pine-ios-hero__copy h1 {
    margin: 0;
    color: #f7f1e5;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 5.4rem;
    font-weight: 700;
    line-height: 0.92;
    letter-spacing: 0;
    text-shadow: 0 4px 28px rgba(7, 17, 31, 0.46);
}

.pine-ios-hero__copy > p:not(.before-title) {
    max-width: 640px;
    margin: 30px 0 0;
    color: rgba(247, 241, 229, 0.82);
    font-size: 1.08rem;
    line-height: 1.7;
}

.pine-ios-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 28px;
    align-items: center;
    margin-top: 36px;
}

.pine-ios-hero .btn-primary,
.pine-ios-final-cta .btn-primary {
    display: inline-flex;
    min-height: 58px;
    align-items: center;
    gap: 18px;
    justify-content: center;
    padding: 16px 24px;
    color: #07111f !important;
    border: 1px solid #d6a84f !important;
    border-radius: 4px !important;
    background: #d6a84f !important;
    box-shadow: none !important;
}

.pine-ios-hero .btn-primary:hover,
.pine-ios-hero .btn-primary:focus,
.pine-ios-final-cta .btn-primary:hover,
.pine-ios-final-cta .btn-primary:focus {
    color: #07111f !important;
    border-color: #f7f1e5 !important;
    background: #f7f1e5 !important;
}

.pine-ios-text-link {
    position: relative;
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    color: #f7f1e5;
    border-bottom: 1px solid rgba(214, 168, 79, 0.72);
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pine-ios-text-link:hover,
.pine-ios-text-link:focus {
    color: #d6a84f;
}

.pine-ios-hero__proof {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 40px 0 0;
    padding: 20px 0 0;
    border-top: 1px solid rgba(247, 241, 229, 0.22);
    list-style: none;
}

.pine-ios-hero__proof li {
    position: relative;
    padding: 0 18px;
    color: rgba(247, 241, 229, 0.72);
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
}

.pine-ios-hero__proof li:first-child {
    padding-left: 0;
}

.pine-ios-hero__proof li + li {
    border-left: 1px solid rgba(247, 241, 229, 0.2);
}

.pine-ios-hero__devices {
    position: relative;
    height: 640px;
}

.pine-ios-device {
    position: absolute;
    overflow: hidden;
    border: 8px solid #090f17;
    border-radius: 46px;
    background: #090f17;
    box-shadow: 0 28px 70px rgba(7, 17, 31, 0.38);
}

.pine-ios-device__speaker {
    position: absolute;
    z-index: 5;
    top: 10px;
    left: 50%;
    width: 72px;
    height: 22px;
    border-radius: 20px;
    background: #090f17;
    transform: translateX(-50%);
}

.pine-ios-device__screen {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: 37px;
    background: #f7f1e5;
    font-family: Arial, Helvetica, sans-serif;
}

.pine-ios-device--guest {
    z-index: 3;
    top: 0;
    right: 2px;
    width: 300px;
    height: 620px;
    transform: rotate(2deg);
}

.pine-ios-device--owner {
    z-index: 2;
    top: 91px;
    left: 0;
    width: 238px;
    height: 488px;
    opacity: 0.96;
    transform: rotate(-5deg);
}

.pine-ios-app-status {
    display: flex;
    height: 44px;
    align-items: center;
    justify-content: space-between;
    padding: 0 18px;
    color: #07111f;
    font-size: 9px;
    font-weight: 800;
}

.pine-ios-guest-home {
    padding: 8px 14px 18px;
}

.pine-ios-guest-home > header,
.pine-ios-role-screen > header {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pine-ios-guest-home > header span,
.pine-ios-role-screen > header small,
.pine-ios-owner-mini > span {
    color: #1f6b4e;
    font-size: 8px;
    font-weight: 800;
}

.pine-ios-guest-home > header strong {
    color: #07111f;
    font-family: Georgia, serif;
    font-size: 21px;
    line-height: 1.05;
}

.pine-ios-guest-home figure {
    position: relative;
    height: 202px;
    margin: 17px 0 0;
    overflow: hidden;
    border-radius: 7px;
    background: #07111f;
}

.pine-ios-guest-home figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.76);
}

.pine-ios-guest-home figcaption {
    position: absolute;
    right: 13px;
    bottom: 13px;
    left: 13px;
    display: flex;
    flex-direction: column;
    color: #fff;
}

.pine-ios-guest-home figcaption span {
    color: #d6a84f;
    font-size: 7px;
    font-weight: 800;
}

.pine-ios-guest-home figcaption strong {
    margin-top: 3px;
    font-family: Georgia, serif;
    font-size: 20px;
}

.pine-ios-guest-home figcaption small {
    margin-top: 3px;
    font-size: 9px;
}

.pine-ios-guest-home__progress {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 7px;
    margin-top: 15px;
    color: #07111f;
    font-size: 9px;
}

.pine-ios-guest-home__progress strong {
    color: #1f6b4e;
    font-size: 8px;
}

.pine-ios-guest-home__progress i {
    position: relative;
    grid-column: 1 / -1;
    display: block;
    height: 3px;
    overflow: hidden;
    background: rgba(7, 17, 31, 0.12);
}

.pine-ios-guest-home__progress i b {
    display: block;
    width: 75%;
    height: 100%;
    background: #1f6b4e;
}

.pine-ios-guest-home nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
    margin-top: 15px;
}

.pine-ios-guest-home nav span {
    display: flex;
    min-height: 58px;
    flex-direction: column;
    gap: 7px;
    align-items: center;
    justify-content: center;
    color: #07111f;
    border: 1px solid rgba(7, 17, 31, 0.12);
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.55);
    font-size: 8px;
    font-weight: 700;
}

.pine-ios-guest-home nav i {
    color: #1f6b4e;
    font-size: 16px;
}

.pine-ios-guest-home__next {
    display: flex;
    flex-direction: column;
    margin-top: 15px;
    padding: 12px;
    border-left: 3px solid #d6a84f;
    background: #07111f;
}

.pine-ios-guest-home__next span {
    color: #d6a84f;
    font-size: 7px;
    font-weight: 800;
}

.pine-ios-guest-home__next strong {
    margin-top: 4px;
    color: #f7f1e5;
    font-family: Georgia, serif;
    font-size: 13px;
}

.pine-ios-guest-home__next small {
    margin-top: 3px;
    color: rgba(247, 241, 229, 0.62);
    font-size: 8px;
}

.pine-ios-owner-mini {
    padding: 7px 14px;
}

.pine-ios-owner-mini > strong {
    display: block;
    margin-top: 5px;
    color: #07111f;
    font-family: Georgia, serif;
    font-size: 17px;
}

.pine-ios-owner-mini__metric {
    display: flex;
    flex-direction: column;
    margin-top: 19px;
    padding: 16px 14px;
    color: #f7f1e5;
    border-radius: 6px;
    background: #07111f;
}

.pine-ios-owner-mini__metric small {
    color: rgba(247, 241, 229, 0.62);
    font-size: 8px;
}

.pine-ios-owner-mini__metric b {
    margin-top: 5px;
    color: #d6a84f;
    font-family: Georgia, serif;
    font-size: 23px;
}

.pine-ios-owner-mini__metric em {
    margin-top: 6px;
    color: rgba(247, 241, 229, 0.52);
    font-size: 7px;
    font-style: normal;
}

.pine-ios-owner-mini__bars {
    display: flex;
    height: 90px;
    gap: 6px;
    align-items: flex-end;
    margin: 18px 0 14px;
    padding: 0 6px 10px;
    border-bottom: 1px solid rgba(7, 17, 31, 0.13);
}

.pine-ios-owner-mini__bars i {
    display: block;
    width: 14px;
    height: 40%;
    background: #1f6b4e;
}

.pine-ios-owner-mini__bars i:nth-child(2) { height: 57%; }
.pine-ios-owner-mini__bars i:nth-child(3) { height: 48%; }
.pine-ios-owner-mini__bars i:nth-child(4) { height: 72%; }
.pine-ios-owner-mini__bars i:nth-child(5) { height: 64%; }
.pine-ios-owner-mini__bars i:nth-child(6) { height: 86%; }
.pine-ios-owner-mini__bars i:nth-child(7) { height: 78%; background: #d6a84f; }

.pine-ios-owner-mini__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 2px;
    color: #07111f;
    border-bottom: 1px solid rgba(7, 17, 31, 0.1);
    font-size: 9px;
}

.pine-ios-owner-mini__row b {
    color: #1f6b4e;
}

.pine-ios-principles {
    border-bottom: 1px solid rgba(7, 17, 31, 0.12);
    background: #f7f1e5;
}

.pine-ios-principles .container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding-top: 0;
    padding-bottom: 0;
}

.pine-ios-principles .container > div {
    min-height: 176px;
    padding: 36px 34px 32px;
    border-left: 1px solid rgba(7, 17, 31, 0.12);
}

.pine-ios-principles .container > div:last-child {
    border-right: 1px solid rgba(7, 17, 31, 0.12);
}

.pine-ios-principles span {
    display: block;
    margin-bottom: 14px;
    color: #d94a38;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 700;
}

.pine-ios-principles strong {
    display: block;
    color: #07111f;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.55rem;
    line-height: 1.1;
}

.pine-ios-principles p {
    margin: 11px 0 0;
    color: rgba(7, 17, 31, 0.64);
    font-size: 0.84rem;
    line-height: 1.58;
}

.pine-ios-demo-section,
.pine-ios-capabilities,
.pine-ios-delivery,
.pine-ios-packages {
    padding: 118px 0 126px;
}

.pine-ios-demo-section,
.pine-ios-delivery {
    background: #f7f1e5;
}

.pine-ios-capabilities,
.pine-ios-packages {
    background: #efe8db;
}

.pine-ios-section-head {
    max-width: 940px;
    margin-bottom: 66px;
}

.pine-ios-section-head .before-title {
    margin-bottom: 14px;
    color: #1f6b4e;
}

.pine-ios-section-head h2 {
    margin: 0;
    color: #07111f;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 4.25rem;
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: 0;
}

.pine-ios-section-head > p:not(.before-title),
.pine-ios-section-head--split > p {
    max-width: 720px;
    margin: 26px 0 0;
    color: rgba(7, 17, 31, 0.68);
    font-size: 1rem;
    line-height: 1.72;
}

.pine-ios-section-head--split {
    display: grid;
    max-width: none;
    grid-template-columns: minmax(0, 1.12fr) minmax(290px, 0.58fr);
    gap: 80px;
    align-items: end;
}

.pine-ios-section-head--split > p {
    margin: 0 0 4px;
}

.pine-ios-demo {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(460px, 0.96fr);
    min-height: 820px;
    border: 1px solid rgba(7, 17, 31, 0.12);
    border-radius: 6px;
    overflow: hidden;
    background: #efe8db;
}

.pine-ios-demo__content {
    display: flex;
    flex-direction: column;
    padding: 56px 58px 62px;
}

.pine-ios-role-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-bottom: 1px solid rgba(7, 17, 31, 0.16);
}

.pine-ios-role-tabs button {
    position: relative;
    min-height: 52px;
    padding: 10px 8px 14px;
    color: rgba(7, 17, 31, 0.58);
    border: 0;
    border-radius: 0;
    background: transparent;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    cursor: pointer;
}

.pine-ios-role-tabs button::after {
    position: absolute;
    right: 12px;
    bottom: -1px;
    left: 12px;
    height: 3px;
    content: "";
    background: transparent;
}

.pine-ios-role-tabs button[aria-selected="true"] {
    color: #07111f;
}

.pine-ios-role-tabs button[aria-selected="true"]::after {
    background: #d6a84f;
}

.pine-ios-role-tabs button:focus-visible {
    outline: 2px solid #1f6b4e;
    outline-offset: -2px;
}

.pine-ios-role-copy {
    display: flex;
    flex: 1;
    align-items: center;
    padding-top: 52px;
}

.pine-ios-role-copy [hidden],
.pine-ios-role-screen[hidden] {
    display: none !important;
}

.pine-ios-role-copy .before-title {
    margin-bottom: 14px;
    color: #d94a38;
}

.pine-ios-role-copy h3 {
    max-width: 650px;
    margin: 0;
    color: #07111f;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 3.55rem;
    font-weight: 700;
    line-height: 1.02;
}

.pine-ios-role-copy section > p:not(.before-title) {
    max-width: 650px;
    margin: 26px 0 0;
    color: rgba(7, 17, 31, 0.68);
    line-height: 1.68;
}

.pine-ios-role-copy ul {
    display: grid;
    gap: 0;
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgba(7, 17, 31, 0.13);
}

.pine-ios-role-copy li {
    position: relative;
    padding: 13px 0 13px 24px;
    color: #07111f;
    border-bottom: 1px solid rgba(7, 17, 31, 0.13);
    font-size: 0.9rem;
    line-height: 1.45;
}

.pine-ios-role-copy li::before {
    position: absolute;
    top: 20px;
    left: 2px;
    width: 7px;
    height: 7px;
    content: "";
    background: #1f6b4e;
}

.pine-ios-demo__device {
    display: flex;
    min-height: 820px;
    align-items: center;
    justify-content: center;
    padding: 54px 34px;
    background: #07111f;
}

.pine-ios-device--demo {
    position: relative;
    width: 348px;
    height: 710px;
    transform: none;
}

.pine-ios-role-screen {
    padding: 8px 16px 18px;
    color: #07111f;
}

.pine-ios-role-screen > header strong {
    color: #07111f;
    font-family: Georgia, serif;
    font-size: 22px;
    line-height: 1.05;
}

.pine-ios-role-screen > header span {
    color: rgba(7, 17, 31, 0.55);
    font-size: 9px;
}

.pine-ios-role-screen--guest figure {
    position: relative;
    height: 230px;
    margin: 18px 0 0;
    overflow: hidden;
    border-radius: 7px;
}

.pine-ios-role-screen--guest figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.76);
}

.pine-ios-role-screen--guest figcaption {
    position: absolute;
    right: 12px;
    bottom: 12px;
    left: 12px;
    padding: 9px;
    color: #f7f1e5;
    border-left: 3px solid #d6a84f;
    background: rgba(7, 17, 31, 0.82);
    font-size: 8px;
    font-weight: 800;
}

.pine-ios-screen-actions {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: 14px;
}

.pine-ios-screen-actions span {
    display: flex;
    min-height: 56px;
    align-items: center;
    gap: 9px;
    justify-content: center;
    color: #07111f;
    border: 1px solid rgba(7, 17, 31, 0.13);
    border-radius: 5px;
    background: #fff;
    font-size: 9px;
    font-weight: 700;
}

.pine-ios-screen-actions i {
    color: #1f6b4e;
    font-size: 15px;
}

.pine-ios-screen-list {
    margin-top: 14px;
    border-top: 1px solid rgba(7, 17, 31, 0.12);
}

.pine-ios-screen-list p {
    display: flex;
    min-height: 52px;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 0 3px;
    border-bottom: 1px solid rgba(7, 17, 31, 0.12);
    font-size: 9px;
}

.pine-ios-screen-list p b {
    color: #07111f;
}

.pine-ios-screen-list p span {
    color: #1f6b4e;
    font-weight: 800;
}

.pine-ios-screen-list p span.is-alert {
    color: #d94a38;
}

.pine-ios-owner-kpis {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: 20px;
}

.pine-ios-owner-kpis > div {
    display: flex;
    min-height: 98px;
    flex-direction: column;
    justify-content: center;
    padding: 14px;
    border-radius: 6px;
    background: #07111f;
}

.pine-ios-owner-kpis small {
    color: rgba(247, 241, 229, 0.6);
    font-size: 8px;
}

.pine-ios-owner-kpis strong {
    margin-top: 7px;
    color: #d6a84f;
    font-family: Georgia, serif;
    font-size: 24px;
}

.pine-ios-owner-chart {
    margin-top: 16px;
    padding: 16px 14px 11px;
    border: 1px solid rgba(7, 17, 31, 0.12);
    border-radius: 6px;
    background: #fff;
}

.pine-ios-owner-chart > span {
    color: #1f6b4e;
    font-size: 8px;
    font-weight: 800;
}

.pine-ios-owner-chart > div {
    display: flex;
    height: 128px;
    gap: 9px;
    align-items: flex-end;
    padding: 16px 6px 9px;
    border-bottom: 1px solid rgba(7, 17, 31, 0.1);
}

.pine-ios-owner-chart i {
    display: block;
    width: 23px;
    height: 28%;
    background: #1f6b4e;
}

.pine-ios-owner-chart i:nth-child(2) { height: 43%; }
.pine-ios-owner-chart i:nth-child(3) { height: 38%; }
.pine-ios-owner-chart i:nth-child(4) { height: 58%; }
.pine-ios-owner-chart i:nth-child(5) { height: 52%; }
.pine-ios-owner-chart i:nth-child(6) { height: 76%; }
.pine-ios-owner-chart i:nth-child(7) { height: 68%; }
.pine-ios-owner-chart i:nth-child(8) { height: 88%; background: #d6a84f; }

.pine-ios-owner-chart footer {
    display: flex;
    justify-content: space-between;
    padding-top: 7px;
    color: rgba(7, 17, 31, 0.42);
    font-size: 7px;
}

.pine-ios-team-summary {
    display: flex;
    min-height: 108px;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
    padding: 16px;
    color: #f7f1e5;
    border-radius: 6px;
    background: #07111f;
}

.pine-ios-team-summary div {
    display: flex;
    flex-direction: column;
}

.pine-ios-team-summary small {
    color: rgba(247, 241, 229, 0.58);
    font-size: 8px;
}

.pine-ios-team-summary strong {
    margin-top: 6px;
    color: #d6a84f;
    font-family: Georgia, serif;
    font-size: 25px;
}

.pine-ios-team-summary > span {
    font-size: 9px;
}

.pine-ios-team-tasks {
    margin-top: 14px;
    border-top: 1px solid rgba(7, 17, 31, 0.12);
}

.pine-ios-team-tasks article {
    display: grid;
    grid-template-columns: 12px 1fr auto;
    gap: 10px;
    align-items: center;
    min-height: 74px;
    border-bottom: 1px solid rgba(7, 17, 31, 0.12);
}

.pine-ios-team-tasks article > i {
    display: block;
    width: 9px;
    height: 9px;
    border: 2px solid #1f6b4e;
    border-radius: 50%;
}

.pine-ios-team-tasks article > i.is-done {
    border-color: #1f6b4e;
    background: #1f6b4e;
}

.pine-ios-team-tasks article > i.is-alert {
    border-color: #d94a38;
    background: #d94a38;
}

.pine-ios-team-tasks article div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pine-ios-team-tasks article strong {
    color: #07111f;
    font-size: 10px;
}

.pine-ios-team-tasks article small,
.pine-ios-team-tasks article > span {
    color: rgba(7, 17, 31, 0.55);
    font-size: 8px;
}

.pine-ios-team-tasks article > span {
    color: #1f6b4e;
    font-weight: 800;
}

.pine-ios-capability-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.pine-ios-capability-grid article {
    min-height: 430px;
    padding: 36px 32px 34px;
    border: 1px solid rgba(7, 17, 31, 0.13);
    border-top: 3px solid #d6a84f;
    border-radius: 6px;
    background: rgba(247, 241, 229, 0.72);
}

.pine-ios-capability-grid article > span {
    color: #d94a38;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.1rem;
    font-weight: 700;
}

.pine-ios-capability-grid h3 {
    margin: 34px 0 0;
    color: #07111f;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 2rem;
    line-height: 1.08;
}

.pine-ios-capability-grid article > p {
    margin: 18px 0 0;
    color: rgba(7, 17, 31, 0.66);
    font-size: 0.9rem;
    line-height: 1.65;
}

.pine-ios-capability-grid ul,
.pine-ios-package-grid ul {
    display: grid;
    gap: 0;
    margin: 25px 0 0;
    padding: 0;
    border-top: 1px solid rgba(7, 17, 31, 0.12);
    list-style: none;
}

.pine-ios-capability-grid li,
.pine-ios-package-grid li {
    position: relative;
    padding: 10px 0 10px 17px;
    color: #07111f;
    border-bottom: 1px solid rgba(7, 17, 31, 0.12);
    font-size: 0.8rem;
    line-height: 1.38;
}

.pine-ios-capability-grid li::before,
.pine-ios-package-grid li::before {
    position: absolute;
    top: 16px;
    left: 1px;
    width: 6px;
    height: 6px;
    content: "";
    background: #1f6b4e;
}

.pine-ios-integrations {
    padding: 122px 0 128px;
    color: #f7f1e5;
    background: #07111f;
}

.pine-ios-integrations__layout {
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    gap: 100px;
    align-items: start;
}

.pine-ios-integrations__intro {
    position: sticky;
    top: 60px;
}

.pine-ios-integrations .before-title {
    margin-bottom: 15px;
    color: #d6a84f;
}

.pine-ios-integrations h2 {
    margin: 0;
    color: #f7f1e5;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 3.65rem;
    line-height: 1.01;
}

.pine-ios-integrations__intro > p:not(.before-title) {
    max-width: 510px;
    margin: 28px 0 0;
    color: rgba(247, 241, 229, 0.67);
    line-height: 1.7;
}

.pine-ios-integrations__core {
    display: flex;
    flex-direction: column;
    margin-top: 38px;
    padding: 25px 26px;
    border-left: 4px solid #d6a84f;
    background: #1f6b4e;
}

.pine-ios-integrations__core span {
    color: #d6a84f;
    font-size: 0.7rem;
    font-weight: 800;
}

.pine-ios-integrations__core strong {
    margin-top: 8px;
    color: #f7f1e5;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.8rem;
}

.pine-ios-integrations__core small {
    margin-top: 7px;
    color: rgba(247, 241, 229, 0.62);
    line-height: 1.5;
}

.pine-ios-integration-list {
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(247, 241, 229, 0.2);
    list-style: none;
}

.pine-ios-integration-list li {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 20px;
    padding: 29px 0 31px;
    border-bottom: 1px solid rgba(247, 241, 229, 0.2);
}

.pine-ios-integration-list li > span {
    color: #d94a38;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.05rem;
    font-weight: 700;
}

.pine-ios-integration-list strong {
    display: block;
    color: #f7f1e5;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.7rem;
    line-height: 1.12;
}

.pine-ios-integration-list p {
    margin: 9px 0 0;
    color: rgba(247, 241, 229, 0.62);
    font-size: 0.9rem;
    line-height: 1.62;
}

.pine-ios-delivery__steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(7, 17, 31, 0.14);
    border-left: 1px solid rgba(7, 17, 31, 0.14);
    list-style: none;
}

.pine-ios-delivery__steps li {
    min-height: 270px;
    padding: 32px 30px 34px;
    border-right: 1px solid rgba(7, 17, 31, 0.14);
    border-bottom: 1px solid rgba(7, 17, 31, 0.14);
}

.pine-ios-delivery__steps li > span {
    color: #d94a38;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.05rem;
    font-weight: 700;
}

.pine-ios-delivery__steps strong {
    display: block;
    margin-top: 42px;
    color: #07111f;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.85rem;
    line-height: 1.08;
}

.pine-ios-delivery__steps p {
    margin: 14px 0 0;
    color: rgba(7, 17, 31, 0.64);
    font-size: 0.86rem;
    line-height: 1.62;
}

.pine-ios-package-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.pine-ios-package-grid article {
    display: flex;
    min-height: 580px;
    flex-direction: column;
    padding: 40px 34px 36px;
    border: 1px solid rgba(7, 17, 31, 0.14);
    border-radius: 6px;
    background: #f7f1e5;
}

.pine-ios-package-grid article.is-recommended {
    color: #f7f1e5;
    border-color: #07111f;
    background: #07111f;
}

.pine-ios-package-grid .before-title {
    min-height: 34px;
    margin: 0;
    color: #1f6b4e;
}

.pine-ios-package-grid .is-recommended .before-title {
    color: #d6a84f;
}

.pine-ios-package-grid h3 {
    margin: 26px 0 0;
    color: #07111f;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 2.45rem;
    line-height: 1.04;
}

.pine-ios-package-grid article > p:not(.before-title) {
    margin: 20px 0 0;
    color: rgba(7, 17, 31, 0.66);
    font-size: 0.9rem;
    line-height: 1.65;
}

.pine-ios-package-grid .is-recommended h3,
.pine-ios-package-grid .is-recommended li {
    color: #f7f1e5;
}

.pine-ios-package-grid .is-recommended > p:not(.before-title) {
    color: rgba(247, 241, 229, 0.66);
}

.pine-ios-package-grid .is-recommended ul,
.pine-ios-package-grid .is-recommended li {
    border-color: rgba(247, 241, 229, 0.18);
}

.pine-ios-package-grid .is-recommended li::before {
    background: #d6a84f;
}

.pine-ios-package-grid article > a {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    gap: 15px;
    align-self: flex-start;
    margin-top: auto;
    padding-top: 25px;
    color: #07111f;
    border-bottom: 1px solid #d6a84f;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pine-ios-package-grid .is-recommended > a {
    color: #f7f1e5;
}

.pine-ios-package-grid article > a:hover,
.pine-ios-package-grid article > a:focus {
    color: #1f6b4e;
}

.pine-ios-package-grid .is-recommended > a:hover,
.pine-ios-package-grid .is-recommended > a:focus {
    color: #d6a84f;
}

.pine-ios-ownership-note {
    margin: 34px 0 0;
    padding: 24px 26px;
    color: rgba(7, 17, 31, 0.7);
    border-left: 4px solid #1f6b4e;
    background: rgba(247, 241, 229, 0.7);
    font-size: 0.9rem;
    line-height: 1.62;
}

.pine-ios-ownership-note strong {
    color: #07111f;
}

.pine-ios-final-cta {
    position: relative;
    display: flex;
    min-height: 680px;
    align-items: center;
    overflow: hidden;
    color: #f7f1e5;
    background: #07111f;
}

.pine-ios-final-cta__media,
.pine-ios-final-cta__media img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.pine-ios-final-cta__media img {
    object-fit: cover;
    object-position: center;
    filter: saturate(0.85) brightness(0.36);
}

.pine-ios-final-cta .container {
    position: relative;
    z-index: 2;
}

.pine-ios-final-cta__copy {
    max-width: 790px;
}

.pine-ios-final-cta .before-title {
    margin-bottom: 15px;
    color: #d6a84f;
}

.pine-ios-final-cta h2 {
    margin: 0;
    color: #f7f1e5;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 4.5rem;
    line-height: 0.98;
}

.pine-ios-final-cta__copy > p:not(.before-title) {
    max-width: 650px;
    margin: 28px 0 34px;
    color: rgba(247, 241, 229, 0.75);
    font-size: 1rem;
    line-height: 1.72;
}

@media (max-width: 1199.98px) {
    .pine-ios-hero {
        min-height: 700px;
    }

    .pine-ios-hero__layout {
        grid-template-columns: minmax(0, 1fr) minmax(390px, 0.78fr);
        gap: 36px;
        padding-top: 58px;
        padding-bottom: 42px;
    }

    .pine-ios-hero__copy h1 {
        font-size: 4.65rem;
    }

    .pine-ios-device--guest {
        width: 276px;
        height: 590px;
    }

    .pine-ios-device--owner {
        width: 216px;
        height: 458px;
    }

    .pine-ios-hero__devices {
        height: 560px;
        overflow: hidden;
    }

    .pine-ios-section-head h2 {
        font-size: 3.8rem;
    }

    .pine-ios-demo {
        grid-template-columns: minmax(0, 1fr) 430px;
    }

    .pine-ios-demo__content {
        padding-right: 42px;
        padding-left: 42px;
    }

    .pine-ios-role-copy h3 {
        font-size: 3rem;
    }

    .pine-ios-capability-grid article {
        padding-right: 26px;
        padding-left: 26px;
    }

    .pine-ios-integrations__layout {
        gap: 64px;
    }

    .pine-ios-integrations h2 {
        font-size: 3.15rem;
    }

    .pine-ios-final-cta h2 {
        font-size: 4rem;
    }
}

@media (max-width: 991.98px) {
    .pine-ios-hero {
        min-height: 0;
    }

    .pine-ios-hero__layout {
        grid-template-columns: 1fr;
        gap: 22px;
        padding-top: 118px;
        padding-bottom: 34px;
    }

    .pine-ios-hero__copy {
        max-width: 730px;
    }

    .pine-ios-hero__devices {
        width: min(100%, 560px);
        height: 240px;
        margin: 0 auto;
        overflow: hidden;
    }

    .pine-ios-device--guest {
        right: 36px;
        width: 250px;
        height: 540px;
    }

    .pine-ios-device--owner {
        top: 66px;
        left: 42px;
        width: 208px;
        height: 430px;
    }

    .pine-ios-principles .container {
        grid-template-columns: 1fr;
    }

    .pine-ios-principles .container > div,
    .pine-ios-principles .container > div:last-child {
        min-height: 0;
        padding: 28px 26px;
        border-right: 1px solid rgba(7, 17, 31, 0.12);
        border-bottom: 1px solid rgba(7, 17, 31, 0.12);
    }

    .pine-ios-demo-section,
    .pine-ios-capabilities,
    .pine-ios-delivery,
    .pine-ios-packages {
        padding: 90px 0 98px;
    }

    .pine-ios-section-head--split {
        grid-template-columns: 1fr;
        gap: 24px;
        align-items: start;
    }

    .pine-ios-section-head--split > p {
        max-width: 720px;
    }

    .pine-ios-demo {
        grid-template-columns: 1fr;
    }

    .pine-ios-demo__content {
        min-height: 720px;
    }

    .pine-ios-demo__device {
        min-height: 790px;
    }

    .pine-ios-capability-grid,
    .pine-ios-package-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pine-ios-capability-grid article {
        min-height: 410px;
    }

    .pine-ios-integrations {
        padding: 94px 0 100px;
    }

    .pine-ios-integrations__layout {
        grid-template-columns: 1fr;
        gap: 54px;
    }

    .pine-ios-integrations__intro {
        position: static;
    }

    .pine-ios-delivery__steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pine-ios-package-grid article {
        min-height: 560px;
    }

    .pine-ios-package-grid article:last-child {
        grid-column: 1 / -1;
        min-height: 500px;
    }
}

@media (max-width: 767.98px) {
    .pine-ios-page .container {
        padding-right: 20px;
        padding-left: 20px;
    }

    .pine-ios-hero__background img {
        object-position: 62% center;
    }

    .pine-ios-hero__layout {
        gap: 22px;
        padding-top: 116px;
        padding-bottom: 34px;
    }

    .pine-ios-hero__copy .before-title {
        margin-bottom: 13px;
    }

    .pine-ios-hero__copy h1 {
        font-size: 3.25rem;
        line-height: 0.96;
    }

    .pine-ios-hero__copy > p:not(.before-title) {
        margin-top: 22px;
        font-size: 0.94rem;
        line-height: 1.58;
    }

    .pine-ios-hero__actions {
        align-items: flex-start;
        margin-top: 27px;
    }

    .pine-ios-hero__proof {
        display: grid;
        gap: 9px;
        margin-top: 26px;
        padding-top: 15px;
    }

    .pine-ios-hero__proof li,
    .pine-ios-hero__proof li:first-child {
        padding: 0;
        border: 0;
        font-size: 0.66rem;
    }

    .pine-ios-hero__devices {
        width: 100%;
        height: 226px;
    }

    .pine-ios-device--guest {
        right: 14px;
        width: 214px;
        height: 466px;
        border-width: 6px;
        border-radius: 38px;
    }

    .pine-ios-device--owner {
        top: 48px;
        left: 12px;
        width: 174px;
        height: 370px;
        border-width: 6px;
        border-radius: 36px;
    }

    .pine-ios-device__screen {
        border-radius: 31px;
    }

    .pine-ios-device__speaker {
        top: 7px;
        width: 58px;
        height: 18px;
    }

    .pine-ios-device--guest .pine-ios-guest-home {
        transform: scale(0.78);
        transform-origin: top left;
        width: 126%;
    }

    .pine-ios-device--owner .pine-ios-owner-mini {
        transform: scale(0.78);
        transform-origin: top left;
        width: 126%;
    }

    .pine-ios-principles strong {
        font-size: 1.4rem;
    }

    .pine-ios-demo-section,
    .pine-ios-capabilities,
    .pine-ios-delivery,
    .pine-ios-packages {
        padding: 68px 0 74px;
    }

    .pine-ios-section-head {
        margin-bottom: 40px;
    }

    .pine-ios-section-head h2 {
        font-size: 2.75rem;
    }

    .pine-ios-section-head > p:not(.before-title),
    .pine-ios-section-head--split > p {
        margin-top: 20px;
        font-size: 0.92rem;
    }

    .pine-ios-demo__content {
        min-height: 0;
        padding: 34px 20px 42px;
    }

    .pine-ios-role-tabs button {
        min-height: 48px;
        padding-right: 3px;
        padding-left: 3px;
        font-size: 0.66rem;
    }

    .pine-ios-role-copy {
        padding-top: 38px;
    }

    .pine-ios-role-copy h3 {
        font-size: 2.5rem;
    }

    .pine-ios-role-copy section > p:not(.before-title) {
        font-size: 0.9rem;
    }

    .pine-ios-demo__device {
        min-height: 660px;
        padding: 42px 18px;
    }

    .pine-ios-device--demo {
        width: 286px;
        height: 590px;
        border-width: 7px;
        border-radius: 42px;
    }

    .pine-ios-device--demo .pine-ios-device__screen {
        border-radius: 34px;
    }

    .pine-ios-device--demo .pine-ios-role-screen {
        transform: scale(0.82);
        transform-origin: top left;
        width: 122%;
    }

    .pine-ios-capability-grid,
    .pine-ios-package-grid,
    .pine-ios-delivery__steps {
        grid-template-columns: 1fr;
    }

    .pine-ios-capability-grid article,
    .pine-ios-package-grid article,
    .pine-ios-package-grid article:last-child {
        min-height: 0;
        grid-column: auto;
    }

    .pine-ios-capability-grid article {
        padding: 30px 26px;
    }

    .pine-ios-capability-grid h3 {
        margin-top: 26px;
    }

    .pine-ios-integrations {
        padding: 72px 0 76px;
    }

    .pine-ios-integrations h2 {
        font-size: 2.6rem;
    }

    .pine-ios-integration-list li {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 13px;
    }

    .pine-ios-integration-list strong {
        font-size: 1.5rem;
    }

    .pine-ios-delivery__steps li {
        min-height: 0;
    }

    .pine-ios-package-grid article {
        padding: 32px 26px;
    }

    .pine-ios-package-grid article > a {
        margin-top: 38px;
    }

    .pine-ios-ownership-note {
        padding: 20px;
    }

    .pine-ios-final-cta {
        min-height: 690px;
    }

    .pine-ios-final-cta h2 {
        font-size: 3rem;
    }
}

@media (max-width: 359.98px) {
    .pine-ios-hero__layout {
        gap: 14px;
        padding-top: 106px;
        padding-bottom: 24px;
    }

    .pine-ios-hero__copy h1 {
        font-size: 2.85rem;
    }

    .pine-ios-hero .btn-primary {
        width: 100%;
    }

    .pine-ios-hero__actions {
        gap: 10px;
        margin-top: 22px;
    }

    .pine-ios-hero__proof {
        display: none;
    }

    .pine-ios-hero__devices {
        height: 120px;
    }

    .pine-ios-device--guest {
        right: 50%;
        width: 194px;
        transform: translateX(50%) rotate(2deg);
    }

    .pine-ios-device--owner {
        display: none;
    }

    .pine-ios-section-head h2,
    .pine-ios-role-copy h3,
    .pine-ios-integrations h2,
    .pine-ios-final-cta h2 {
        font-size: 2.35rem;
    }

    .pine-ios-device--demo {
        width: 266px;
        height: 566px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pine-ios-page *,
    .pine-ios-page *::before,
    .pine-ios-page *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}

/* Home: five-cabin subscription pressure model */
.pine-home .pine-subscription-pressure {
    position: relative;
    overflow: hidden;
    padding: 126px 0 132px;
    background: #07111f !important;
    color: #f7f1e5;
}

.pine-home .pine-subscription-pressure::before,
.pine-home .pine-subscription-pressure::after,
.pine-home .pine-subscription-card::before,
.pine-home .pine-subscription-card::after {
    content: none !important;
    display: none !important;
}

.pine-subscription-pressure__head {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(330px, 0.72fr);
    gap: 72px;
    align-items: end;
}

.pine-subscription-pressure__head .before-title,
.pine-ownership-model .before-title {
    margin-bottom: 18px;
    color: #d6a84f;
}

.pine-subscription-pressure__head .title-h2 {
    max-width: 840px;
    margin: 0;
    color: #f7f1e5;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 4.65rem;
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: 0;
}

.pine-subscription-pressure__head .title-h2 span {
    color: #d6a84f;
}

.pine-subscription-pressure__intro > p {
    margin: 0;
    color: rgba(247, 241, 229, 0.72);
    font-size: 1rem;
    line-height: 1.78;
}

.pine-subscription-assumptions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 30px;
    border-top: 1px solid rgba(247, 241, 229, 0.17);
    border-bottom: 1px solid rgba(247, 241, 229, 0.17);
}

.pine-subscription-assumptions span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
    padding: 17px 12px;
    color: rgba(247, 241, 229, 0.58);
    font-size: 0.7rem;
    font-weight: 800;
    line-height: 1.35;
    text-align: center;
    text-transform: uppercase;
}

.pine-subscription-assumptions span + span {
    border-left: 1px solid rgba(247, 241, 229, 0.17);
}

.pine-subscription-assumptions strong {
    color: #f7f1e5;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.45rem;
    font-weight: 400;
}

.pine-subscription-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 72px;
}

.pine-subscription-card {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 224px;
    grid-template-columns: 56px minmax(0, 1fr) 112px;
    gap: 18px;
    align-items: start;
    padding: 24px;
    border: 1px solid rgba(247, 241, 229, 0.13) !important;
    border-radius: 6px !important;
    background: #0c1a2a !important;
    box-shadow: none !important;
}

.pine-subscription-card__logo {
    display: flex;
    width: 56px;
    height: 56px;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border: 1px solid rgba(7, 17, 31, 0.08);
    border-radius: 6px;
    background: #f7f1e5;
}

.pine-subscription-card__logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.pine-subscription-card__copy {
    min-width: 0;
}

.pine-subscription-card__category {
    display: block;
    margin-bottom: 5px;
    color: #d6a84f;
    font-size: 0.68rem;
    font-weight: 900;
    line-height: 1.35;
    text-transform: uppercase;
}

.pine-subscription-card h3 {
    margin: 0;
    color: #f7f1e5;
    font-size: 1.22rem;
    font-weight: 800;
    line-height: 1.25;
}

.pine-subscription-card p {
    margin: 12px 0 8px;
    color: rgba(247, 241, 229, 0.64);
    font-size: 0.82rem;
    line-height: 1.6;
}

.pine-subscription-card small {
    display: block;
    color: rgba(247, 241, 229, 0.82);
    font-size: 0.73rem;
    font-weight: 800;
    line-height: 1.45;
}

.pine-subscription-card__copy a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 15px;
    color: rgba(247, 241, 229, 0.58);
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.3;
    text-decoration: underline;
    text-decoration-color: rgba(214, 168, 79, 0.4);
    text-underline-offset: 4px;
}

.pine-subscription-card__copy a:hover,
.pine-subscription-card__copy a:focus {
    color: #d6a84f;
}

.pine-subscription-card__price {
    min-width: 0;
    padding-top: 2px;
    text-align: right;
}

.pine-subscription-card__price strong {
    display: block;
    color: #f7f1e5;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.65rem;
    font-weight: 400;
    line-height: 1;
}

.pine-subscription-card__price span {
    display: block;
    margin-top: 7px;
    color: rgba(247, 241, 229, 0.47);
    font-size: 0.66rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pine-subscription-disclosure {
    max-width: 1060px;
    margin: 22px 0 0;
    color: rgba(247, 241, 229, 0.44);
    font-size: 0.72rem;
    line-height: 1.65;
}

.pine-ownership-model {
    display: grid;
    grid-template-columns: minmax(300px, 0.76fr) minmax(0, 1.5fr);
    margin-top: 78px;
    border-top: 1px solid rgba(247, 241, 229, 0.18);
    border-bottom: 1px solid rgba(247, 241, 229, 0.18);
}

.pine-ownership-model__summary {
    padding: 52px 52px 52px 0;
    border-right: 1px solid rgba(247, 241, 229, 0.18);
}

.pine-ownership-model__total-label {
    display: block;
    color: rgba(247, 241, 229, 0.58);
    font-size: 0.77rem;
    font-weight: 900;
    text-transform: uppercase;
}

.pine-ownership-model__total {
    display: block;
    margin-top: 12px;
    color: #d94a38;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 4.5rem;
    font-weight: 400;
    line-height: 0.94;
}

.pine-ownership-model__total small {
    margin-left: 7px;
    color: rgba(247, 241, 229, 0.52);
    font-family: inherit;
    font-size: 1rem;
}

.pine-ownership-model__annual {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 26px;
    padding: 18px 0;
    border-top: 1px solid rgba(247, 241, 229, 0.14);
    border-bottom: 1px solid rgba(247, 241, 229, 0.14);
}

.pine-ownership-model__annual span {
    flex: 0 0 auto;
    color: #f7f1e5;
    font-size: 1.3rem;
    font-weight: 800;
}

.pine-ownership-model__annual small {
    color: rgba(247, 241, 229, 0.5);
    font-size: 0.73rem;
    line-height: 1.5;
}

.pine-ownership-model__summary > p:last-child {
    margin: 24px 0 0;
    color: rgba(247, 241, 229, 0.63);
    font-size: 0.88rem;
    line-height: 1.7;
}

.pine-ownership-model__summary > p:last-child strong {
    color: #f7f1e5;
}

.pine-ownership-model__calculator {
    min-width: 0;
    padding: 52px 0 52px 52px;
}

.pine-ownership-model__calculator-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.62fr);
    gap: 38px;
    align-items: end;
}

.pine-ownership-model__calculator-head h3 {
    margin: 0;
    color: #f7f1e5;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.65rem;
    font-weight: 400;
    line-height: 1.02;
}

.pine-ownership-model__calculator-head > p {
    margin: 0 0 4px;
    color: rgba(247, 241, 229, 0.54);
    font-size: 0.78rem;
    line-height: 1.65;
}

.pine-ownership-inputs {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 16px;
    align-items: end;
    margin-top: 38px;
}

.pine-ownership-inputs label,
.pine-ownership-inputs fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.pine-ownership-inputs label > span:first-child,
.pine-ownership-inputs legend {
    display: block;
    margin-bottom: 9px;
    color: rgba(247, 241, 229, 0.65);
    font-size: 0.68rem;
    font-weight: 900;
    line-height: 1.4;
    text-transform: uppercase;
}

.pine-money-input {
    display: grid;
    height: 50px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    border: 1px solid rgba(247, 241, 229, 0.2);
    border-radius: 4px;
    background: #0c1a2a;
}

.pine-money-input:focus-within {
    border-color: #d6a84f;
    box-shadow: 0 0 0 3px rgba(214, 168, 79, 0.14);
}

.pine-money-input b,
.pine-money-input em {
    padding: 0 12px;
    color: rgba(247, 241, 229, 0.5);
    font-size: 0.76rem;
    font-style: normal;
    font-weight: 800;
}

.pine-money-input input {
    width: 100%;
    min-width: 0;
    height: 46px;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #f7f1e5;
    font-size: 1rem;
    font-weight: 800;
}

.pine-horizon-control {
    display: grid;
    height: 50px;
    grid-template-columns: repeat(4, 44px);
    overflow: hidden;
    border: 1px solid rgba(247, 241, 229, 0.2);
    border-radius: 4px;
}

.pine-horizon-control button {
    padding: 0;
    border: 0;
    border-right: 1px solid rgba(247, 241, 229, 0.12);
    background: #0c1a2a;
    color: rgba(247, 241, 229, 0.62);
    font-size: 0.75rem;
    font-weight: 900;
    cursor: pointer;
}

.pine-horizon-control button:last-child {
    border-right: 0;
}

.pine-horizon-control button:hover,
.pine-horizon-control button:focus,
.pine-horizon-control button.is-active {
    background: #d6a84f;
    color: #07111f;
}

.pine-ownership-results {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 34px;
    border-top: 1px solid rgba(247, 241, 229, 0.17);
    border-bottom: 1px solid rgba(247, 241, 229, 0.17);
}

.pine-ownership-results > div {
    min-width: 0;
    padding: 21px 15px;
}

.pine-ownership-results > div:first-child {
    padding-left: 0;
}

.pine-ownership-results > div + div {
    border-left: 1px solid rgba(247, 241, 229, 0.17);
}

.pine-ownership-results span {
    display: block;
    min-height: 34px;
    color: rgba(247, 241, 229, 0.48);
    font-size: 0.66rem;
    font-weight: 900;
    line-height: 1.45;
    text-transform: uppercase;
}

.pine-ownership-results strong {
    display: block;
    margin-top: 5px;
    color: #f7f1e5;
    font-size: 1.2rem;
    line-height: 1.2;
}

.pine-ownership-results__saving strong {
    color: #65b58d;
}

.pine-ownership-results__saving.is-negative strong {
    color: #d94a38;
}

.pine-ownership-model__note {
    margin: 25px 0 0;
    color: rgba(247, 241, 229, 0.43);
    font-size: 0.71rem;
    line-height: 1.7;
}

.pine-ownership-timeline {
    margin-top: 54px;
}

.pine-ownership-timeline__head,
.pine-ownership-timeline__row {
    display: grid;
    grid-template-columns: 0.75fr repeat(3, minmax(0, 1fr));
    align-items: center;
}

.pine-ownership-timeline__head {
    padding: 0 18px 13px;
    color: rgba(247, 241, 229, 0.42);
    font-size: 0.67rem;
    font-weight: 900;
    text-transform: uppercase;
}

.pine-ownership-timeline__row {
    min-height: 66px;
    padding: 14px 18px;
    border-top: 1px solid rgba(247, 241, 229, 0.13);
}

.pine-ownership-timeline__row:last-child {
    border-bottom: 1px solid rgba(247, 241, 229, 0.13);
}

.pine-ownership-timeline__row strong {
    color: #d6a84f;
    font-size: 0.82rem;
    text-transform: uppercase;
}

.pine-ownership-timeline__row span {
    color: rgba(247, 241, 229, 0.74);
    font-size: 0.9rem;
    font-weight: 800;
}

.pine-ownership-timeline__row .is-positive {
    color: #65b58d;
}

.pine-ownership-timeline__row .is-negative {
    color: #d94a38;
}

@media (max-width: 1199.98px) {
    .pine-subscription-pressure__head {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .pine-subscription-pressure__head .title-h2 {
        max-width: 960px;
        font-size: 4.15rem;
    }

    .pine-subscription-pressure__intro {
        max-width: 760px;
    }

    .pine-subscription-grid {
        margin-top: 56px;
    }

    .pine-subscription-card {
        grid-template-columns: 50px minmax(0, 1fr);
    }

    .pine-subscription-card__logo {
        width: 50px;
        height: 50px;
    }

    .pine-subscription-card__price {
        grid-column: 2;
        display: flex;
        align-items: baseline;
        gap: 8px;
        text-align: left;
    }

    .pine-subscription-card__price strong,
    .pine-subscription-card__price span {
        display: inline;
    }

    .pine-subscription-card__price span {
        margin-top: 0;
    }

    .pine-ownership-model {
        grid-template-columns: 1fr;
    }

    .pine-ownership-model__summary {
        padding: 48px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(247, 241, 229, 0.18);
    }

    .pine-ownership-model__calculator {
        padding: 48px 0;
    }
}

@media (max-width: 767.98px) {
    .pine-home .pine-subscription-pressure {
        padding: 90px 0 96px;
    }

    .pine-subscription-pressure__head .title-h2 {
        font-size: 3.2rem;
        line-height: 1;
    }

    .pine-subscription-grid {
        grid-template-columns: 1fr;
        margin-top: 46px;
    }

    .pine-subscription-card {
        min-height: 0;
    }

    .pine-ownership-model {
        margin-top: 58px;
    }

    .pine-ownership-model__calculator-head {
        grid-template-columns: 1fr;
        gap: 17px;
    }

    .pine-ownership-model__calculator-head h3 {
        font-size: 2.35rem;
    }

    .pine-ownership-inputs {
        grid-template-columns: 1fr 1fr;
    }

    .pine-ownership-inputs fieldset {
        grid-column: 1 / -1;
    }

    .pine-horizon-control {
        grid-template-columns: repeat(4, minmax(44px, 1fr));
    }

    .pine-ownership-results {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pine-ownership-results > div:nth-child(3) {
        border-left: 0;
        border-top: 1px solid rgba(247, 241, 229, 0.17);
    }

    .pine-ownership-results > div:nth-child(4) {
        border-top: 1px solid rgba(247, 241, 229, 0.17);
    }

    .pine-ownership-results > div:first-child,
    .pine-ownership-results > div:nth-child(3) {
        padding-left: 0;
    }
}

@media (max-width: 575.98px) {
    .pine-home .pine-subscription-pressure {
        padding: 76px 0 82px;
    }

    .pine-subscription-pressure__head .title-h2 {
        font-size: 2.62rem;
    }

    .pine-subscription-pressure__intro > p {
        font-size: 0.91rem;
    }

    .pine-subscription-assumptions span {
        padding: 14px 7px;
        font-size: 0.61rem;
    }

    .pine-subscription-card {
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 14px;
        padding: 20px 17px;
    }

    .pine-subscription-card__logo {
        width: 46px;
        height: 46px;
        padding: 8px;
    }

    .pine-subscription-card__price strong {
        font-size: 1.45rem;
    }

    .pine-ownership-model__total {
        font-size: 3.6rem;
    }

    .pine-ownership-model__annual {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .pine-ownership-inputs {
        grid-template-columns: 1fr;
    }

    .pine-ownership-inputs fieldset {
        grid-column: auto;
    }

    .pine-ownership-results strong {
        font-size: 1.05rem;
    }

    .pine-ownership-timeline__head {
        display: none;
    }

    .pine-ownership-timeline__row {
        grid-template-columns: 1fr 1fr;
        gap: 15px 12px;
        padding: 18px 0;
    }

    .pine-ownership-timeline__row strong {
        grid-column: 1 / -1;
    }

    .pine-ownership-timeline__row span {
        font-size: 0.86rem;
    }

    .pine-ownership-timeline__row span::before {
        display: block;
        margin-bottom: 4px;
        color: rgba(247, 241, 229, 0.4);
        font-size: 0.58rem;
        font-weight: 900;
        text-transform: uppercase;
    }

    .pine-ownership-timeline__row span:nth-of-type(1)::before {
        content: "Subscriptions";
    }

    .pine-ownership-timeline__row span:nth-of-type(2)::before {
        content: "Owned system";
    }

    .pine-ownership-timeline__row span:nth-of-type(3)::before {
        content: "Net position";
    }

    .pine-ownership-timeline__row span:nth-of-type(3) {
        grid-column: 1 / -1;
    }
}

@media (max-width: 359.98px) {
    .pine-subscription-pressure__head .title-h2 {
        font-size: 2.35rem;
    }

    .pine-subscription-card {
        grid-template-columns: 42px minmax(0, 1fr);
        padding-right: 14px;
        padding-left: 14px;
    }

    .pine-subscription-card__logo {
        width: 42px;
        height: 42px;
    }

    .pine-subscription-assumptions {
        grid-template-columns: 1fr;
    }

    .pine-subscription-assumptions span + span {
        border-top: 1px solid rgba(247, 241, 229, 0.17);
        border-left: 0;
    }

    .pine-ownership-model__total {
        font-size: 3.1rem;
    }

    .pine-ownership-results {
        grid-template-columns: 1fr;
    }

    .pine-ownership-results > div,
    .pine-ownership-results > div:first-child,
    .pine-ownership-results > div:nth-child(3) {
        padding-left: 0;
        border-top: 1px solid rgba(247, 241, 229, 0.17);
        border-left: 0;
    }

    .pine-ownership-results > div:first-child {
        border-top: 0;
    }

    .pine-ownership-results span {
        min-height: 0;
    }
}

/* Home: platform dependency and property-owned foundation */
.pine-home .pine-dependency-risk {
    position: relative;
    overflow: hidden;
    padding: 126px 0 132px;
    background: #f7f1e5 !important;
    color: #07111f;
}

.pine-home .pine-dependency-risk::before,
.pine-home .pine-dependency-risk::after,
.pine-dependency-map__property::before,
.pine-dependency-map__property::after,
.pine-platform-risk-card::before,
.pine-platform-risk-card::after,
.pine-owned-foundation::before,
.pine-owned-foundation::after,
.pine-owned-foundation__grid article::before,
.pine-owned-foundation__grid article::after {
    content: none !important;
    display: none !important;
}

.pine-dependency-risk__head,
.pine-platform-risk-intro,
.pine-owned-foundation__head {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.65fr);
    gap: 68px;
    align-items: end;
}

.pine-dependency-risk__head .before-title,
.pine-platform-risk-intro .before-title,
.pine-owned-foundation .before-title {
    margin-bottom: 18px;
    color: #1f6b4e;
}

.pine-dependency-risk__head .title-h2,
.pine-platform-risk-intro .title-h2,
.pine-owned-foundation .title-h2 {
    max-width: 850px;
    margin: 0;
    color: #07111f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 4.45rem;
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: 0;
}

.pine-dependency-risk__head > p,
.pine-platform-risk-intro > p,
.pine-owned-foundation__head > p {
    margin: 0 0 6px;
    color: rgba(7, 17, 31, 0.68);
    font-size: 0.98rem;
    line-height: 1.78;
}

.pine-dependency-map {
    display: grid;
    grid-template-columns: 294px 64px minmax(0, 1fr);
    align-items: stretch;
    margin-top: 72px;
}

.pine-dependency-map__property {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(7, 17, 31, 0.12) !important;
    border-radius: 6px !important;
    background: #fffaf2 !important;
    box-shadow: none !important;
}

.pine-dependency-map__property-media {
    position: relative;
    height: 276px;
    overflow: hidden;
}

.pine-dependency-map__property-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 17, 31, 0.03), rgba(7, 17, 31, 0.58));
}

.pine-dependency-map__property-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pine-dependency-map__property-media span {
    position: absolute;
    right: 16px;
    bottom: 15px;
    left: 16px;
    z-index: 1;
    color: #f7f1e5;
    font-size: 0.7rem;
    font-weight: 900;
    text-transform: uppercase;
}

.pine-dependency-map__property-copy {
    padding: 24px;
}

.pine-dependency-map__property-copy small {
    color: #1f6b4e;
    font-size: 0.67rem;
    font-weight: 900;
    text-transform: uppercase;
}

.pine-dependency-map__property-copy h3 {
    margin: 8px 0 10px;
    color: #07111f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.06;
}

.pine-dependency-map__property-copy p {
    margin: 0;
    color: rgba(7, 17, 31, 0.62);
    font-size: 0.82rem;
    line-height: 1.65;
}

.pine-dependency-map__bridge {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
    color: #d94a38;
    text-align: center;
}

.pine-dependency-map__bridge span {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.2rem;
    line-height: 1;
}

.pine-dependency-map__bridge small {
    max-width: 58px;
    color: rgba(7, 17, 31, 0.48);
    font-size: 0.59rem;
    font-weight: 900;
    line-height: 1.45;
    text-transform: uppercase;
}

.pine-dependency-map__external {
    min-width: 0;
    padding: 28px;
    border-radius: 6px;
    background: #0b1725;
    color: #f7f1e5;
}

.pine-dependency-map__external-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 21px;
    border-bottom: 1px solid rgba(247, 241, 229, 0.17);
}

.pine-dependency-map__external-head span {
    color: #d6a84f;
    font-size: 0.68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.pine-dependency-map__external-head strong {
    color: rgba(247, 241, 229, 0.72);
    font-size: 0.74rem;
    font-weight: 800;
}

.pine-dependency-group {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    padding: 25px 0;
    border-bottom: 1px solid rgba(247, 241, 229, 0.13);
}

.pine-dependency-group:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.pine-dependency-group__copy h3 {
    margin: 0;
    color: #f7f1e5;
    font-size: 0.96rem;
    font-weight: 800;
    line-height: 1.3;
}

.pine-dependency-group__copy p {
    margin: 8px 0 0;
    color: rgba(247, 241, 229, 0.5);
    font-size: 0.72rem;
    line-height: 1.55;
}

.pine-dependency-tools {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: 8px 14px;
}

.pine-dependency-tool {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
    padding: 5px 0;
    color: rgba(247, 241, 229, 0.8);
}

.pine-dependency-tool img,
.pine-dependency-tool b {
    display: flex;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
    padding: 4px;
    border-radius: 4px;
    background: #f7f1e5;
    object-fit: contain;
}

.pine-dependency-tool b {
    padding: 0;
    color: #07111f;
    font-size: 0.48rem;
    font-weight: 900;
}

.pine-dependency-tool em {
    min-width: 0;
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 800;
    line-height: 1.2;
}

.pine-platform-risk-intro {
    margin-top: 122px;
}

.pine-platform-risk-intro .title-h2 {
    font-size: 3.9rem;
}

.pine-platform-risk-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 58px;
}

.pine-platform-risk-card {
    min-width: 0;
    padding: 30px;
    border: 1px solid rgba(7, 17, 31, 0.12) !important;
    border-radius: 6px !important;
    background: #fffaf2 !important;
    box-shadow: none !important;
}

.pine-platform-risk-card__topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(7, 17, 31, 0.11);
}

.pine-platform-risk-card__topline span {
    color: #d94a38;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.25rem;
}

.pine-platform-risk-card__topline small {
    color: rgba(7, 17, 31, 0.5);
    font-size: 0.66rem;
    font-weight: 900;
    text-transform: uppercase;
}

.pine-platform-risk-card h3 {
    max-width: 500px;
    margin: 26px 0 13px;
    color: #07111f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.08;
}

.pine-platform-risk-card > p {
    margin: 0;
    color: rgba(7, 17, 31, 0.64);
    font-size: 0.86rem;
    line-height: 1.72;
}

.pine-platform-risk-chain {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1.18fr);
    gap: 10px;
    align-items: center;
    margin-top: 27px;
    padding: 18px 0;
    border-top: 1px solid rgba(7, 17, 31, 0.1);
    border-bottom: 1px solid rgba(7, 17, 31, 0.1);
}

.pine-platform-risk-chain span {
    color: #07111f;
    font-size: 0.69rem;
    font-weight: 900;
    line-height: 1.4;
    text-align: center;
    text-transform: uppercase;
}

.pine-platform-risk-chain i {
    display: inline-flex;
    width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    justify-self: center;
    color: #d94a38;
    font-size: 1rem;
    line-height: 1;
}

.pine-platform-risk-card__sources {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 18px;
    margin-top: 20px;
}

.pine-platform-risk-card__sources a,
.pine-platform-risk-card__inference {
    color: #1f6b4e;
    font-size: 0.7rem;
    font-weight: 800;
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.pine-platform-risk-card__sources a:hover,
.pine-platform-risk-card__sources a:focus {
    color: #07111f;
}

.pine-platform-risk-card__inference {
    display: inline-block;
    margin-top: 20px;
    color: rgba(7, 17, 31, 0.48);
    text-decoration: none;
}

.pine-platform-policy-note {
    max-width: 940px;
    margin: 20px 0 0;
    color: rgba(7, 17, 31, 0.45);
    font-size: 0.7rem;
    line-height: 1.65;
}

.pine-owned-foundation {
    margin-top: 116px;
    padding: 58px;
    border-radius: 6px;
    background: #10231f;
    color: #f7f1e5;
}

.pine-owned-foundation__head {
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.68fr);
}

.pine-owned-foundation .before-title {
    color: #d6a84f;
}

.pine-owned-foundation .title-h2 {
    color: #f7f1e5;
    font-size: 3.9rem;
}

.pine-owned-foundation__head > p {
    color: rgba(247, 241, 229, 0.65);
}

.pine-owned-foundation__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 54px;
    border-top: 1px solid rgba(247, 241, 229, 0.17);
    border-left: 1px solid rgba(247, 241, 229, 0.17);
}

.pine-owned-foundation__grid article {
    min-width: 0;
    padding: 26px;
    border-right: 1px solid rgba(247, 241, 229, 0.17) !important;
    border-bottom: 1px solid rgba(247, 241, 229, 0.17) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.pine-owned-foundation__grid article > span {
    color: #65b58d;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.05rem;
}

.pine-owned-foundation__grid h3 {
    margin: 18px 0 9px;
    color: #f7f1e5;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}

.pine-owned-foundation__grid p {
    margin: 0;
    color: rgba(247, 241, 229, 0.55);
    font-size: 0.77rem;
    line-height: 1.65;
}

.pine-owned-foundation__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 38px;
    margin-top: 38px;
}

.pine-owned-foundation__footer p {
    max-width: 690px;
    margin: 0;
    color: rgba(247, 241, 229, 0.72);
    font-size: 0.9rem;
    line-height: 1.7;
}

.pine-owned-foundation__footer .btn {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

@media (max-width: 1199.98px) {
    .pine-dependency-risk__head,
    .pine-platform-risk-intro,
    .pine-owned-foundation__head {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .pine-dependency-risk__head .title-h2,
    .pine-platform-risk-intro .title-h2,
    .pine-owned-foundation .title-h2 {
        max-width: 920px;
        font-size: 3.8rem;
    }

    .pine-dependency-risk__head > p,
    .pine-platform-risk-intro > p,
    .pine-owned-foundation__head > p {
        max-width: 760px;
    }

    .pine-dependency-map {
        grid-template-columns: 260px 48px minmax(0, 1fr);
    }

    .pine-dependency-group {
        grid-template-columns: 155px minmax(0, 1fr);
        gap: 18px;
    }

    .pine-platform-risk-chain {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .pine-platform-risk-chain i {
        transform: rotate(90deg);
        text-align: center;
    }
}

@media (max-width: 899.98px) {
    .pine-dependency-map {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .pine-dependency-map__property {
        display: grid;
        grid-template-columns: minmax(260px, 0.82fr) minmax(0, 1fr);
    }

    .pine-dependency-map__property-media {
        height: 100%;
        min-height: 260px;
    }

    .pine-dependency-map__property-copy {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 32px;
    }

    .pine-dependency-map__bridge {
        min-height: 76px;
        flex-direction: row;
    }

    .pine-dependency-map__bridge span {
        transform: rotate(90deg);
    }

    .pine-dependency-map__bridge small {
        max-width: 220px;
    }

    .pine-platform-risk-grid {
        grid-template-columns: 1fr;
    }

    .pine-platform-risk-chain {
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1.18fr);
    }

    .pine-platform-risk-chain i {
        transform: none;
    }

    .pine-owned-foundation {
        padding: 46px 34px;
    }

    .pine-owned-foundation__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .pine-home .pine-dependency-risk {
        padding: 92px 0 96px;
    }

    .pine-dependency-risk__head .title-h2,
    .pine-platform-risk-intro .title-h2,
    .pine-owned-foundation .title-h2 {
        font-size: 3rem;
        line-height: 1;
    }

    .pine-dependency-map {
        margin-top: 54px;
    }

    .pine-dependency-map__external {
        padding: 24px 20px;
    }

    .pine-dependency-group {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .pine-platform-risk-intro {
        margin-top: 92px;
    }

    .pine-platform-risk-grid {
        margin-top: 44px;
    }

    .pine-owned-foundation {
        margin-top: 88px;
    }

    .pine-owned-foundation__footer {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 575.98px) {
    .pine-home .pine-dependency-risk {
        padding: 76px 0 82px;
    }

    .pine-dependency-risk__head .title-h2,
    .pine-platform-risk-intro .title-h2,
    .pine-owned-foundation .title-h2 {
        font-size: 2.5rem;
    }

    .pine-dependency-risk__head > p,
    .pine-platform-risk-intro > p,
    .pine-owned-foundation__head > p {
        font-size: 0.9rem;
    }

    .pine-dependency-map__property {
        display: block;
    }

    .pine-dependency-map__property-media {
        height: 230px;
        min-height: 0;
    }

    .pine-dependency-map__property-copy {
        display: block;
        padding: 24px 20px;
    }

    .pine-dependency-map__external-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .pine-dependency-tool {
        width: calc(50% - 7px);
    }

    .pine-platform-risk-card {
        padding: 24px 20px;
    }

    .pine-platform-risk-card h3 {
        font-size: 1.72rem;
    }

    .pine-platform-risk-chain {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .pine-platform-risk-chain i {
        transform: rotate(90deg);
        text-align: center;
    }

    .pine-owned-foundation {
        padding: 38px 20px;
    }

    .pine-owned-foundation__grid {
        grid-template-columns: 1fr;
        border-left: 0;
    }

    .pine-owned-foundation__grid article {
        padding: 23px 0;
        border-right: 0 !important;
    }

    .pine-owned-foundation__footer .btn {
        width: 100%;
        justify-content: center;
        white-space: normal;
        text-align: center;
    }
}

@media (max-width: 359.98px) {
    .pine-dependency-risk__head .title-h2,
    .pine-platform-risk-intro .title-h2,
    .pine-owned-foundation .title-h2 {
        font-size: 2.25rem;
    }

    .pine-dependency-tool {
        width: 100%;
    }

    .pine-platform-risk-card__topline {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }
}

/* Bespoke property-owned systems */
.pine-home .pine-bespoke-system {
    padding: 122px 0 128px;
    background: #07111f !important;
    color: #f7f1e5;
}

.pine-bespoke-system__head {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(340px, 0.72fr);
    align-items: end;
    gap: 84px;
}

.pine-bespoke-system .before-title {
    color: #d6a84f;
}

.pine-bespoke-system__head .title-h2 {
    max-width: 780px;
    margin: 0;
    color: #f7f1e5;
    font-size: 4rem;
    line-height: 1;
    letter-spacing: 0;
}

.pine-bespoke-system__intro {
    padding-left: 28px;
    border-left: 2px solid #1f6b4e;
}

.pine-bespoke-system__intro strong {
    display: block;
    color: #f7f1e5;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.35;
}

.pine-bespoke-system__intro p {
    margin: 19px 0 0;
    color: rgba(247, 241, 229, 0.62);
    font-size: 0.86rem;
    line-height: 1.75;
}

.pine-bespoke-system__body {
    display: grid;
    grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
    gap: 58px;
    margin-top: 78px;
}

.pine-bespoke-system__media {
    position: relative;
    min-width: 0;
    min-height: 660px;
    margin: 0;
    overflow: hidden;
    border-radius: 6px;
    background: #10231f;
}

.pine-bespoke-system__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 17, 31, 0.02) 38%, rgba(7, 17, 31, 0.9) 100%);
    pointer-events: none;
}

.pine-bespoke-system__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 48% center;
}

.pine-bespoke-system__media figcaption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    padding: 36px;
}

.pine-bespoke-system__media figcaption span,
.pine-bespoke-system__blueprint-label,
.pine-bespoke-system__comparison article > span {
    display: block;
    color: #d6a84f;
    font-size: 0.68rem;
    font-weight: 900;
    line-height: 1.4;
    text-transform: uppercase;
}

.pine-bespoke-system__media figcaption strong {
    display: block;
    max-width: 470px;
    margin-top: 10px;
    color: #f7f1e5;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.2;
}

.pine-bespoke-system__blueprint {
    min-width: 0;
    padding: 8px 0 0;
}

.pine-bespoke-system__blueprint-label {
    color: #65b58d;
}

.pine-bespoke-system__blueprint > h3 {
    max-width: 590px;
    margin: 15px 0 15px;
    color: #f7f1e5;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.35rem;
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: 0;
}

.pine-bespoke-system__blueprint > p {
    max-width: 650px;
    margin: 0;
    color: rgba(247, 241, 229, 0.62);
    font-size: 0.86rem;
    line-height: 1.75;
}

.pine-bespoke-system__dimensions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 32px;
    margin-top: 42px;
    border-bottom: 1px solid rgba(247, 241, 229, 0.16);
}

.pine-bespoke-system__dimensions article {
    min-width: 0;
    padding: 25px 0 29px;
    border-top: 1px solid rgba(247, 241, 229, 0.16);
    background: transparent !important;
    box-shadow: none !important;
}

.pine-bespoke-system__dimensions article > span {
    color: #d6a84f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.05rem;
}

.pine-bespoke-system__dimensions h4 {
    margin: 13px 0 9px;
    color: #f7f1e5;
    font-size: 0.92rem;
    font-weight: 850;
    line-height: 1.35;
}

.pine-bespoke-system__dimensions p {
    margin: 0;
    color: rgba(247, 241, 229, 0.52);
    font-size: 0.76rem;
    line-height: 1.65;
}

.pine-bespoke-system__comparison {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 74px minmax(0, 1fr);
    align-items: stretch;
    margin-top: 72px;
    overflow: hidden;
    border: 1px solid rgba(247, 241, 229, 0.18);
    border-radius: 6px;
}

.pine-bespoke-system__comparison article {
    min-width: 0;
    padding: 38px;
    background: transparent !important;
    box-shadow: none !important;
}

.pine-bespoke-system__comparison .pine-bespoke-system__generic {
    background: rgba(217, 74, 56, 0.08) !important;
}

.pine-bespoke-system__comparison .pine-bespoke-system__owned {
    background: rgba(31, 107, 78, 0.2) !important;
}

.pine-bespoke-system__generic > span {
    color: #e37667 !important;
}

.pine-bespoke-system__owned > span {
    color: #75c69c !important;
}

.pine-bespoke-system__comparison h3 {
    margin: 14px 0 10px;
    color: #f7f1e5;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.65rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0;
}

.pine-bespoke-system__comparison p {
    max-width: 540px;
    margin: 0;
    color: rgba(247, 241, 229, 0.58);
    font-size: 0.8rem;
    line-height: 1.7;
}

.pine-bespoke-system__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid rgba(247, 241, 229, 0.18);
    border-left: 1px solid rgba(247, 241, 229, 0.18);
    color: #d6a84f;
    font-size: 1.5rem;
}

.pine-bespoke-system__footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 60px;
    margin-top: 52px;
}

.pine-bespoke-system__footer p {
    max-width: 790px;
    margin: 0;
    color: rgba(247, 241, 229, 0.62);
    font-size: 0.9rem;
    line-height: 1.75;
}

.pine-bespoke-system__footer p strong {
    color: #f7f1e5;
}

.pine-bespoke-system__footer .btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

@media (max-width: 1199.98px) {
    .pine-bespoke-system__head {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .pine-bespoke-system__head .title-h2 {
        max-width: 900px;
        font-size: 3.7rem;
    }

    .pine-bespoke-system__intro {
        max-width: 790px;
    }

    .pine-bespoke-system__body {
        gap: 42px;
    }

    .pine-bespoke-system__media {
        min-height: 700px;
    }

    .pine-bespoke-system__dimensions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 899.98px) {
    .pine-bespoke-system__body {
        grid-template-columns: 1fr;
    }

    .pine-bespoke-system__media {
        min-height: 520px;
        aspect-ratio: 16 / 10;
    }

    .pine-bespoke-system__dimensions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pine-bespoke-system__footer {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 28px;
    }
}

@media (max-width: 767.98px) {
    .pine-home .pine-bespoke-system {
        padding: 84px 0 92px;
    }

    .pine-bespoke-system__head .title-h2 {
        font-size: 3rem;
    }

    .pine-bespoke-system__intro {
        padding-left: 20px;
    }

    .pine-bespoke-system__intro strong {
        font-size: 1.28rem;
    }

    .pine-bespoke-system__body {
        gap: 42px;
        margin-top: 54px;
    }

    .pine-bespoke-system__media {
        width: 100%;
        max-width: 100%;
        height: 390px;
        min-height: 0;
        aspect-ratio: auto;
    }

    .pine-bespoke-system__media figcaption {
        padding: 25px 22px;
    }

    .pine-bespoke-system__media figcaption strong {
        font-size: 1.5rem;
    }

    .pine-bespoke-system__blueprint > h3 {
        font-size: 2rem;
    }

    .pine-bespoke-system__dimensions {
        grid-template-columns: 1fr;
    }

    .pine-bespoke-system__comparison {
        grid-template-columns: 1fr;
        margin-top: 54px;
    }

    .pine-bespoke-system__comparison article {
        padding: 30px 24px;
    }

    .pine-bespoke-system__arrow {
        min-height: 58px;
        border: 0;
        border-top: 1px solid rgba(247, 241, 229, 0.18);
        border-bottom: 1px solid rgba(247, 241, 229, 0.18);
        transform: none;
        font-size: 0;
    }

    .pine-bespoke-system__arrow::before {
        content: "\2193";
        font-size: 1.5rem;
    }

    .pine-bespoke-system__footer .btn {
        width: 100%;
        justify-content: center;
        white-space: normal;
        text-align: center;
    }
}

@media (max-width: 419.98px) {
    .pine-bespoke-system__head .title-h2 {
        font-size: 2.55rem;
    }

    .pine-bespoke-system__media {
        height: 350px;
    }

    .pine-bespoke-system__comparison h3 {
        font-size: 1.45rem;
    }
}
