@charset "UTF-8";

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-height: 100dvh;
    overflow-x: hidden;
    font-family: "Arimo", sans-serif;
}

:focus-visible {
    outline: 2px dashed #799F41;
    outline-offset: 3px;
    animation: focus-spin 3s linear infinite;
}

@keyframes focus-spin {
    0% {
        outline-offset: 3px;
    }

    50% {
        outline-offset: 5px;
    }

    100% {
        outline-offset: 3px;
    }
}

.site-header {
    position: relative;
    background: linear-gradient(135deg, #2d3a1e 0%, #3d4f28 60%, #4a5f2f 100%);
    box-shadow: 0 5px 28px 1px rgba(121, 159, 65, 0.09);
    z-index: 100;
}

.hd-stripe {
    background: #799F41;
    height: 4px;
    width: 100%;
}

.hd-body {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    align-items: center;
    gap: 40px;
    min-height: 88px;
}

.logo-zone {
    flex-shrink: 0;
    border-top: 2px solid rgba(183, 204, 146, 0.4);
    border-bottom: 2px solid rgba(183, 204, 146, 0.4);
    padding: 8px 20px;
    background: rgba(255, 255, 255, 0.06);
    box-shadow: 0 2px 3px 1px rgba(121, 159, 65, 0.06);
    border-radius: 0px;
}

.logo-zone img {
    display: block;
    width: 68px;
    height: 68px;
    object-fit: contain;
    object-position: center;
}

.hd-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.hd-top-bar {
    display: flex;
    align-items: center;
    gap: 20px;
}

.hd-contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #B7CC92;
    font-family: "Arimo", sans-serif;
    font-size: 15px;
    line-height: 1.5;
    text-decoration: none;
    transition: color 0.2s ease-out;
}

.hd-contact-item:hover {
    color: #F3F8EF;
}

.hd-contact-item svg {
    flex-shrink: 0;
}

.region-sel {
    display: flex;
    align-items: center;
    gap: 4px;
    background: rgba(121, 159, 65, 0.18);
    border: 1px solid rgba(183, 204, 146, 0.3);
    border-radius: 10px;
    padding: 4px 8px;
    color: #F3F8EF;
    font-family: "Arimo", sans-serif;
    font-size: 15px;
    line-height: 1.5;
    cursor: pointer;
    transition: background 0.25s ease-out;
}

.region-sel:hover {
    background: rgba(121, 159, 65, 0.32);
}

.region-sel svg {
    flex-shrink: 0;
}

.main-nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

.nav-item {
    position: relative;
}

.nav-link {
    display: block;
    font-family: "Cabin", sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
    color: #B7CC92;
    text-decoration: none;
    padding: 8px 20px;
    border-radius: 22px;
    letter-spacing: -0.01em;
    transition: color 0.2s ease-out, background 0.18s ease-out;
    white-space: nowrap;
}

.nav-link:hover,
.nav-link.active {
    color: #F3F8EF;
    background: rgba(121, 159, 65, 0.25);
}

.nav-link.active {
    background: rgba(121, 159, 65, 0.38);
    box-shadow: 0 2px 3px 1px rgba(121, 159, 65, 0.06);
}

.nav-item.has-sub .nav-link {
    display: flex;
    align-items: center;
    gap: 4px;
}

.nav-item.has-sub .nav-link svg {
    transition: transform 0.22s ease-out;
}

.nav-item.has-sub:hover .nav-link svg {
    transform: rotate(180deg);
}

.sub-drop {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    min-width: 220px;
    background: #2d3a1e;
    border: 1px solid rgba(183, 204, 146, 0.2);
    border-radius: 10px;
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
    padding: 8px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity 0.2s ease-out, transform 0.22s ease-out;
    z-index: 200;
}

.nav-item.has-sub:hover .sub-drop,
.nav-item.has-sub:focus-within .sub-drop {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.sub-link {
    display: block;
    font-family: "Arimo", sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #B7CC92;
    text-decoration: none;
    padding: 8px 20px;
    border-radius: 10px;
    transition: color 0.18s ease-out, background 0.18s ease-out;
    white-space: nowrap;
}

.sub-link:hover {
    color: #F3F8EF;
    background: rgba(121, 159, 65, 0.2);
}

.site-footer {
    background: #1e2812;
    border-top: 3px solid #799F41;
    position: relative;
}

.ft-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(183, 204, 146, 0.3) 30%, rgba(121, 159, 65, 0.5) 50%, rgba(183, 204, 146, 0.3) 70%, transparent 100%);
    margin: 0 40px;
}

.ft-upper {
    max-width: 1140px;
    margin: 0 auto;
    padding: 40px 40px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ft-logo-zone {
    border-top: 2px solid rgba(183, 204, 146, 0.3);
    border-bottom: 2px solid rgba(183, 204, 146, 0.3);
    padding: 8px 20px;
    background: rgba(255, 255, 255, 0.04);
    box-shadow: 0 2px 3px 1px rgba(121, 159, 65, 0.06);
}

.ft-logo-zone img {
    display: block;
    width: 68px;
    height: 68px;
    object-fit: contain;
    object-position: center;
}

.ft-lower {
    max-width: 1140px;
    margin: 0 auto;
    padding: 20px 40px 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.ft-legal-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.ft-sep {
    width: 4px;
    height: 4px;
    border-radius: 0px;
    background: #799F41;
    display: inline-block;
    vertical-align: middle;
}

.ft-link {
    font-family: "Arimo", sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #B7CC92;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s ease-out;
}

.ft-link:hover {
    color: #F3F8EF;
}

.ft-copy {
    font-family: "Arimo", sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: rgba(183, 204, 146, 0.6);
    text-align: center;
}

.cookie-tray {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 8000;
    width: 320px;
    max-width: calc(100vw - 40px);
    display: none;
}

.cookie-tile {
    background: #2d3a1e;
    border: 1px solid rgba(183, 204, 146, 0.25);
    border-radius: 10px;
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
    padding: 20px;
    transform: translateY(-20px);
    opacity: 0;
    transition: transform 0.18s ease-out, opacity 0.18s ease-out;
}

.cookie-tile.shown {
    transform: translateY(0);
    opacity: 1;
}

.cookie-desc {
    font-family: "Arimo", sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #B7CC92;
    margin: 0 0 20px;
}

.cookie-actions {
    display: flex;
    gap: 20px;
    align-items: center;
}

.cookie-btn {
    font-family: "Cabin", sans-serif;
    font-size: 15px;
    line-height: 1.5;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s ease-out, filter 0.2s ease-out;
}

.cookie-btn:hover {
    filter: brightness(1.2);
}

.cookie-btn:focus-visible {
    outline: 2px dashed #799F41;
    outline-offset: 3px;
}

.cookie-btn.accept {
    color: #F3F8EF;
}

.cookie-btn.decline {
    color: #B7CC92;
}

.pref-opener {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 7900;
    width: 44px;
    height: 44px;
    border-radius: 22px;
    background: #799F41;
    border: none;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    box-shadow: 0 5px 28px 1px rgba(121, 159, 65, 0.09);
    transition: filter 0.2s ease-out;
}

.pref-opener:hover {
    filter: brightness(1.15);
}

.pref-opener svg {
    display: block;
}

@media (max-width: 1024px) {
    .hd-body {
        padding: 0 20px;
        gap: 20px;
        flex-wrap: wrap;
        min-height: auto;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .hd-right {
        width: 100%;
        align-items: flex-start;
    }

    .main-nav {
        gap: 4px;
    }

    .nav-link {
        padding: 8px 8px;
        font-size: 15px;
    }

    .ft-upper {
        padding: 40px 20px 20px;
    }

    .ft-lower {
        padding: 20px 20px 40px;
    }
}

@media (max-width: 768px) {
    .hd-top-bar {
        flex-wrap: wrap;
        gap: 8px;
    }

    .hd-contact-item {
        font-size: 15px;
    }

    .main-nav {
        gap: 4px;
    }

    .nav-link {
        padding: 8px;
        font-size: 15px;
    }

    .sub-drop {
        right: auto;
        left: 0;
    }
}

@media (max-width: 360px) {
    .hd-body {
        padding: 20px 8px;
    }

    .logo-zone {
        padding: 8px;
    }

    .logo-zone img {
        width: 60px;
        height: 60px;
    }

    .nav-link {
        padding: 8px 4px;
        font-size: 15px;
    }

    .cookie-tray {
        width: calc(100vw - 16px);
        left: 8px;
        bottom: 8px;
    }
}

.policy-section {
    max-width: 1140px;
    margin: 0 auto;
    padding: 80px 40px;
    color: #2d3a1e;
}

.policy-section h1 {
    font-size: 50px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #2d3a1e;
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: 2px solid #B7CC92;
}

.policy-section h2 {
    font-size: 36px;
    line-height: 1.2;
    letter-spacing: -0.015em;
    color: #2d3a1e;
    margin-top: 80px;
    margin-bottom: 20px;
}

.policy-section h3 {
    font-size: 26px;
    line-height: 1.5;
    letter-spacing: -0.01em;
    color: #3a4d20;
    margin-top: 40px;
    margin-bottom: 20px;
}

.policy-section h4 {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: -0.005em;
    color: #3a4d20;
    margin-top: 40px;
    margin-bottom: 8px;
}

.policy-section h5 {
    font-size: 17px;
    line-height: 1.5;
    color: #3a4d20;
    margin-top: 20px;
    margin-bottom: 8px;
}

.policy-section h6 {
    font-size: 15px;
    line-height: 1.5;
    color: #799F41;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-top: 20px;
    margin-bottom: 8px;
}

.policy-section div {
    margin-bottom: 20px;
}

.policy-section ul {
    margin: 20px 0;
    padding-left: 20px;
    list-style: none;
}

.policy-section ol {
    margin: 20px 0;
    padding-left: 20px;
    list-style: none;
    counter-reset: policy-counter;
}

.policy-section ul li {
    font-size: 17px;
    line-height: 1.7;
    color: #2d3a1e;
    margin-bottom: 8px;
    padding-left: 20px;
    position: relative;
}

.policy-section ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 6px;
    height: 6px;
    border-radius: 0px;
    background-color: #799F41;
    transform: rotate(45deg);
}

.policy-section ol li {
    font-size: 17px;
    line-height: 1.7;
    color: #2d3a1e;
    margin-bottom: 8px;
    padding-left: 20px;
    position: relative;
    counter-increment: policy-counter;
}

.policy-section ol li::before {
    content: counter(policy-counter) ".";
    position: absolute;
    left: 0;
    top: 0;
    font-size: 15px;
    font-weight: 700;
    color: #799F41;
    line-height: 1.7;
}

.policy-section ul ul,
.policy-section ol ol,
.policy-section ul ol,
.policy-section ol ul {
    margin-top: 8px;
    margin-bottom: 8px;
}

.policy-section strong,
.policy-section b {
    font-weight: 700;
    color: #2d3a1e;
}

.policy-section em,
.policy-section i {
    font-style: italic;
    color: #4a6128;
}

.policy-section a {
    color: #799F41;
    text-decoration: underline;
    text-decoration-color: #B7CC92;
    text-underline-offset: 3px;
    transition: color 0.2s ease-out, text-decoration-color 0.25s ease-out;
}

.policy-section a:hover {
    color: #4a6128;
    text-decoration-color: #799F41;
}

.policy-section hr {
    border: none;
    height: 1px;
    background-color: #B7CC92;
    margin: 40px 0;
    opacity: 0.6;
}

@media (max-width: 1024px) {
    .policy-section {
        padding: 80px 40px;
    }

    .policy-section h1 {
        font-size: 36px;
    }

    .policy-section h2 {
        font-size: 26px;
    }

    .policy-section h3 {
        font-size: 20px;
    }
}

@media (max-width: 768px) {
    .policy-section {
        padding: 40px 20px;
    }

    .policy-section h1 {
        font-size: 26px;
        margin-bottom: 20px;
    }

    .policy-section h2 {
        font-size: 20px;
        margin-top: 40px;
    }

    .policy-section h3 {
        font-size: 17px;
        margin-top: 20px;
    }

    .policy-section h4,
    .policy-section h5,
    .policy-section h6 {
        font-size: 15px;
    }

    .policy-section ul li,
    .policy-section ol li {
        font-size: 15px;
    }
}

@media (max-width: 360px) {
    .policy-section {
        padding: 20px 8px;
    }

    .policy-section h1 {
        font-size: 20px;
    }

    .policy-section h2 {
        font-size: 17px;
    }
}

.intv-det {
    background: #fff;
    max-width: 100%;
    overflow-x: hidden;
}

.intv-det .grid-container {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
}

.intv-det .art-hero {
    background: linear-gradient(128deg, #2d3a1e 0%, #799F41 52%, #F3F8EF 100%);
    padding: 80px 20px 40px;
    position: relative;
}

.intv-det .art-hero-inner {
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 40px;
}

.intv-det .art-hero-text {
    flex: 1 1 60%;
    position: relative;
    z-index: 2;
}

.intv-det .art-tag-pill {
    display: inline-block;
    background: rgba(183, 204, 146, 0.22);
    border: 1.5px solid #B7CC92;
    color: #F3F8EF;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 4px 20px;
    border-radius: 22px;
    margin-bottom: 20px;
}

.intv-det .art-h1 {
    font-size: clamp(36px, 5vw, 68px);
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #fff;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.intv-det .art-meta-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.intv-det .art-meta-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    color: #F3F8EF;
    font-size: 15px;
    opacity: 0.88;
}

.intv-det .art-meta-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.intv-det .art-hero-img-col {
    flex: 0 0 38%;
    max-width: 420px;
    position: relative;
}

.intv-det .art-hero-img-frame {
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
    border: 2.5px solid rgba(183, 204, 146, 0.35);
    position: relative;
}

.intv-det .art-hero-img-frame::before {
    content: '';
    display: block;
    position: absolute;
    inset: 6px;
    border: 1.5px solid rgba(243, 248, 239, 0.18);
    border-radius: 17px;
    z-index: 1;
    pointer-events: none;
}

.intv-det .art-hero-img-frame img {
    display: block;
    width: 100%;
    height: 280px;
    object-fit: cover;
    object-position: center;
}

.intv-det .art-deco-shape {
    position: absolute;
    border-radius: 38px;
    pointer-events: none;
    z-index: 0;
}

.intv-det .art-deco-shape.ds1 {
    width: 180px;
    height: 180px;
    background: rgba(183, 204, 146, 0.10);
    top: -40px;
    right: -60px;
    border-radius: 38px;
}

.intv-det .art-deco-shape.ds2 {
    width: 90px;
    height: 90px;
    background: rgba(243, 248, 239, 0.08);
    bottom: 20px;
    left: -30px;
    border-radius: 22px;
}

.intv-det .art-divider-grad {
    height: 4px;
    background: linear-gradient(90deg, #799F41 0%, #B7CC92 60%, #F3F8EF 100%);
    border: none;
    margin: 0;
}

.intv-det .art-body-sec {
    padding: 80px 20px;
    background: #fff;
}

.intv-det .art-body-inner {
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start;
}

.intv-det .art-body-main {
    flex: 2 1 0;
    min-width: 0;
}

.intv-det .art-body-side {
    flex: 1 1 0;
    min-width: 220px;
    max-width: 320px;
}

.intv-det .art-body-main .art-text-block p {
    font-size: 17px;
    line-height: 1.7;
    color: #2d3a1e;
    margin-bottom: 20px;
}

.intv-det .art-body-main .art-text-block h2 {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #2d3a1e;
    margin-bottom: 20px;
    margin-top: 40px;
    line-height: 1.2;
}

.intv-det .art-body-main .art-text-block blockquote {
    border: none;
    background: #F3F8EF;
    border-radius: 10px;
    padding: 20px 40px;
    margin: 40px 0;
    font-size: 20px;
    line-height: 1.5;
    color: #799F41;
    font-weight: 600;
    font-style: italic;
    box-shadow: 0 2px 3px 1px rgba(121, 159, 65, 0.06);
    position: relative;
}

.intv-det .art-body-main .art-text-block blockquote::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 10px;
    bottom: 10px;
    width: 4px;
    border-radius: 0px 0px 0px 0px;
    background: linear-gradient(180deg, #799F41, #B7CC92);
    border-radius: 10px;
}

.intv-det .art-body-main .art-text-block ul {
    margin: 20px 0 20px 8px;
    padding: 0;
    list-style: none;
}

.intv-det .art-body-main .art-text-block ul li {
    font-size: 17px;
    line-height: 1.7;
    color: #2d3a1e;
    padding: 4px 0 4px 28px;
    position: relative;
}

.intv-det .art-body-main .art-text-block ul li::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 10px;
    clip-path: polygon(0 40%, 45% 40%, 45% 0%, 100% 50%, 45% 100%, 45% 60%, 0 60%);
    background: #799F41;
}

.intv-det .art-body-main .art-text-block abbr {
    text-decoration: underline dotted #799F41;
    cursor: help;
    color: inherit;
}

.intv-det .art-side-card {
    background: #F3F8EF;
    border-radius: 22px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 5px 28px 1px rgba(121, 159, 65, 0.09);
}

.intv-det .art-side-card-title {
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #799F41;
    margin-bottom: 20px;
}

.intv-det .art-stat-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(121, 159, 65, 0.12);
}

.intv-det .art-stat-row:last-child {
    border-bottom: none;
}

.intv-det .art-stat-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.intv-det .art-stat-label {
    font-size: 15px;
    color: #4a5c2e;
    flex: 1;
}

.intv-det .art-stat-val {
    font-size: 15px;
    font-weight: 700;
    color: #2d3a1e;
}

.intv-det .art-cta-card {
    background: linear-gradient(135deg, #2d3a1e 0%, #799F41 100%);
    border-radius: 22px;
    padding: 20px;
    margin-top: 20px;
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
}

.intv-det .art-cta-card h4 {
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #fff;
    line-height: 1.2;
    margin-bottom: 8px;
}

.intv-det .art-cta-card p {
    font-size: 15px;
    color: #F3F8EF;
    line-height: 1.5;
    margin-bottom: 20px;
    opacity: 0.9;
}

.intv-det .art-btn {
    display: inline-block;
    background: #F3F8EF;
    color: #2d3a1e;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.06em;
    padding: 8px 20px;
    border-radius: 10px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: brightness 0.22s ease-out, box-shadow 0.18s ease-out;
    box-shadow: 0 2px 3px 1px rgba(121, 159, 65, 0.06);
}

.intv-det .art-btn:hover {
    filter: brightness(1.07);
    box-shadow: 0 5px 28px 1px rgba(121, 159, 65, 0.09);
}

.intv-det .art-btn:focus {
    outline: 2px solid #799F41;
    outline-offset: 2px;
}

.intv-det .art-btn-outline {
    display: inline-block;
    background: transparent;
    color: #799F41;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.06em;
    padding: 8px 20px;
    border-radius: 10px;
    border: 2px solid #799F41;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.25s ease-out, color 0.2s ease-out;
}

.intv-det .art-btn-outline:hover {
    background: #799F41;
    color: #fff;
}

.intv-det .art-btn-outline:focus {
    outline: 2px solid #2d3a1e;
    outline-offset: 2px;
}

.intv-det .art-divider-dots {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 20px 0;
}

.intv-det .art-divider-dots span {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 22px;
    background: #B7CC92;
}

.intv-det .art-divider-dots span:nth-child(2) {
    background: #799F41;
    width: 14px;
}

.intv-det .art-divider-dots span:nth-child(3) {
    background: #B7CC92;
}

.intv-det .art-engage-sec {
    background: #F3F8EF;
    padding: 80px 20px;
}

.intv-det .art-engage-inner {
    max-width: 1140px;
    margin: 0 auto;
}

.intv-det .art-engage-top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 40px;
    gap: 20px;
    flex-wrap: wrap;
}

.intv-det .art-engage-head h2 {
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #2d3a1e;
    line-height: 1.2;
    margin-bottom: 8px;
}

.intv-det .art-engage-head p {
    font-size: 17px;
    color: #4a5c2e;
    line-height: 1.5;
    max-width: 520px;
}

.intv-det .art-engage-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.intv-det .art-engage-card {
    background: #fff;
    border-radius: 22px;
    padding: 20px;
    box-shadow: 0 5px 28px 1px rgba(121, 159, 65, 0.09);
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: box-shadow 0.28s ease-out, transform 0.22s ease-out;
    position: relative;
}

.intv-det .art-engage-card:hover {
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
    transform: translateY(-4px);
}

.intv-det .art-engage-card-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #F3F8EF;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
    flex-shrink: 0;
}

.intv-det .art-engage-card h5 {
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #2d3a1e;
    line-height: 1.2;
    margin: 0;
}

.intv-det .art-engage-card p {
    font-size: 15px;
    line-height: 1.5;
    color: #4a5c2e;
    margin: 0;
}

.intv-det .art-engage-card .card-link {
    font-size: 15px;
    font-weight: 700;
    color: #799F41;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 4px;
    position: relative;
    width: fit-content;
}

.intv-det .art-engage-card .card-link::after {
    content: '';
    display: block;
    position: absolute;
    bottom: -2px;
    left: 50%;
    right: 50%;
    height: 2px;
    background: #799F41;
    border-radius: 0px;
    transition: left 0.28s ease-out, right 0.28s ease-out;
}

.intv-det .art-engage-card .card-link:hover::after {
    left: 0;
    right: 0;
}

.intv-det .art-engage-card .card-link:focus {
    outline: 2px solid #799F41;
    outline-offset: 2px;
    border-radius: 4px;
}

.intv-det .art-back-row {
    margin-top: 40px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

@media (max-width: 1024px) {
    .intv-det .art-engage-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .intv-det .art-hero-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .intv-det .art-hero-img-col {
        max-width: 100%;
        width: 100%;
    }

    .intv-det .art-body-inner {
        flex-direction: column;
    }

    .intv-det .art-body-side {
        max-width: 100%;
        width: 100%;
    }
}

@media (max-width: 768px) {
    .intv-det .art-hero {
        padding: 40px 20px 40px;
    }

    .intv-det .art-h1 {
        font-size: 36px;
    }

    .intv-det .art-engage-grid {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .intv-det .art-body-sec {
        padding: 40px 20px;
    }

    .intv-det .art-engage-sec {
        padding: 40px 20px;
    }

    .intv-det .art-engage-top {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 360px) {
    .intv-det .art-engage-grid {
        grid-template-columns: 1fr;
    }

    .intv-det .art-meta-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}

.nws-pg {
    max-width: 100%;
    overflow-x: hidden;
}

.nws-pg .pg-bound {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
}

.nws-pg ::selection {
    background: rgba(121, 159, 65, 0.18);
    color: #2a3a10;
}

.nws-pg .acc-bar {
    width: 48px;
    height: 4px;
    background: #799F41;
    margin-bottom: 20px;
    border-radius: 0px;
}

.nws-pg .arr-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.nws-pg .arr-list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    padding: 4px 0;
    font-size: 15px;
    line-height: 1.7;
    color: #2c3a1a;
}

.nws-pg .arr-list li .arr-icon {
    flex-shrink: 0;
    margin-top: 4px;
    width: 14px;
    height: 14px;
}

/* ── SECTION 1: TITLE BLOCK ── */
.nws-pg .titl-blk {
    padding-top: 80px;
    padding-bottom: 80px;
    background: #fff;
    position: relative;
}

.nws-pg .titl-blk .wave-div {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    pointer-events: none;
}

.nws-pg .titl-blk .wave-div svg {
    display: block;
    width: 100%;
}

.nws-pg .titl-blk .titl-row {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 40px;
}

.nws-pg .titl-blk .titl-img-col {
    flex: 0 0 260px;
    max-width: 260px;
}

.nws-pg .titl-blk .titl-img-wrap {
    width: 260px;
    height: 340px;
    overflow: hidden;
    border-radius: 0px;
    position: relative;
}

.nws-pg .titl-blk .titl-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.nws-pg .titl-blk .titl-img-wrap .img-tex {
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(121, 159, 65, 0.08) 0%, rgba(183, 204, 146, 0.18) 60%, rgba(243, 248, 239, 0.28) 100%);
    pointer-events: none;
}

.nws-pg .titl-blk .titl-txt-col {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}

.nws-pg .titl-blk .pg-label {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #799F41;
    line-height: 1.2;
}

.nws-pg .titl-blk .pg-h1 {
    font-size: clamp(36px, 5vw, 68px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #1b2a08;
    margin: 0;
}

.nws-pg .titl-blk .pg-sub {
    font-size: 20px;
    line-height: 1.7;
    color: #3d5220;
    max-width: 560px;
    margin: 0;
}

.nws-pg .titl-blk .pg-desc {
    font-size: 17px;
    line-height: 1.7;
    color: #4a5c2e;
    max-width: 540px;
    margin: 0;
}

.nws-pg .titl-blk .diag-line {
    position: absolute;
    top: 0;
    right: 80px;
    width: 1px;
    height: 100%;
    background: linear-gradient(180deg, transparent 0%, rgba(121, 159, 65, 0.18) 40%, rgba(121, 159, 65, 0.28) 60%, transparent 100%);
    transform: rotate(12deg);
    transform-origin: top center;
    pointer-events: none;
}

/* ── SECTION 2: ARTICLES GRID ── */
.nws-pg .art-grid-sec {
    padding-top: 80px;
    padding-bottom: 80px;
    background: #F3F8EF;
    position: relative;
}

.nws-pg .art-grid-sec .edge-strip {
    position: absolute;
    top: 0;
    right: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(180deg, #799F41 0%, #B7CC92 60%, #F3F8EF 100%);
    border-radius: 0px;
}

.nws-pg .art-grid-sec .spot-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    border-radius: 0px;
}

.nws-pg .art-grid-sec .spot-bg::after {
    content: '';
    position: absolute;
    width: 600px;
    height: 600px;
    border-radius: 38px;
    background: radial-gradient(ellipse at 30% 40%, rgba(183, 204, 146, 0.22) 0%, transparent 70%);
    top: -100px;
    left: -100px;
    animation: spotdrift 18s ease-out infinite alternate;
}

@keyframes spotdrift {
    0% {
        transform: translate(0, 0);
    }

    100% {
        transform: translate(80px, 60px);
    }
}

.nws-pg .art-grid-sec .sec-hd {
    margin-bottom: 40px;
}

.nws-pg .art-grid-sec .sec-hd h2 {
    font-size: clamp(26px, 3.5vw, 36px);
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #1b2a08;
    line-height: 1.2;
    margin: 0;
}

.nws-pg .art-grid-sec .sec-hd p {
    font-size: 17px;
    line-height: 1.7;
    color: #4a5c2e;
    margin: 20px 0 0;
    max-width: 600px;
}

.nws-pg .art-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.nws-pg .art-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 3px 1px rgba(121, 159, 65, 0.06);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.25s ease-out, transform 0.2s ease-out;
    position: relative;
}

.nws-pg .art-card:hover {
    box-shadow: 0 5px 28px 1px rgba(121, 159, 65, 0.09);
    transform: translateY(-2px);
}

.nws-pg .art-card .card-img-wr {
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.nws-pg .art-card .card-img-wr img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.4s ease-out;
}

.nws-pg .art-card:hover .card-img-wr img {
    transform: scale(1.04);
}

.nws-pg .art-card .card-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 auto;
}

.nws-pg .art-card .card-tag {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #799F41;
    line-height: 1.2;
}

.nws-pg .art-card .card-ttl {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    color: #1b2a08;
    margin: 0;
}

.nws-pg .art-card .card-txt {
    font-size: 15px;
    line-height: 1.7;
    color: #4a5c2e;
    margin: 0;
}

.nws-pg .art-card .card-lnk {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    margin-top: 8px;
    font-size: 15px;
    font-weight: 600;
    color: #799F41;
    text-decoration: none;
    transition: color 0.2s ease-out;
}

.nws-pg .art-card .card-lnk:hover {
    color: #1b2a08;
}

.nws-pg .art-card .card-lnk svg {
    transition: transform 0.2s ease-out;
}

.nws-pg .art-card .card-lnk:hover svg {
    transform: translateX(3px);
}

/* ── SECTION 3: FEATURED ARTICLE ── */
.nws-pg .feat-art {
    padding-top: 80px;
    padding-bottom: 80px;
    background: #fff;
    position: relative;
}

.nws-pg .feat-art .edge-strip-l {
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(180deg, #B7CC92 0%, #799F41 50%, #B7CC92 100%);
}

.nws-pg .feat-art .diag-line2 {
    position: absolute;
    bottom: 40px;
    left: 120px;
    width: 1px;
    height: 70%;
    background: linear-gradient(180deg, transparent 0%, rgba(183, 204, 146, 0.3) 50%, transparent 100%);
    transform: rotate(-8deg);
    transform-origin: bottom center;
    pointer-events: none;
}

.nws-pg .feat-art .feat-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 40px;
}

.nws-pg .feat-art .feat-img-col {
    flex: 0 0 420px;
    max-width: 420px;
}

.nws-pg .feat-art .feat-img-wr {
    width: 420px;
    height: 300px;
    overflow: hidden;
    border-radius: 10px;
}

.nws-pg .feat-art .feat-img-wr img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.nws-pg .feat-art .feat-txt-col {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.nws-pg .feat-art .feat-label {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #799F41;
}

.nws-pg .feat-art .feat-h2 {
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1.2;
    color: #1b2a08;
    margin: 0;
}

.nws-pg .feat-art .two-col-txt {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
    align-items: start;
}

.nws-pg .feat-art .two-col-txt .main-p {
    font-size: 17px;
    line-height: 1.7;
    color: #3d5220;
    margin: 0;
}

.nws-pg .feat-art .two-col-txt .side-p {
    font-size: 15px;
    line-height: 1.7;
    color: #5a6e3a;
    margin: 0;
    padding-left: 20px;
    border-left: none;
    position: relative;
}

.nws-pg .feat-art .two-col-txt .side-p::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 2px;
    background: #B7CC92;
    border-radius: 0px;
}

.nws-pg .feat-art .read-btn {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    background: #799F41;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 22px;
    letter-spacing: 0.04em;
    transition: filter 0.22s ease-out, background 0.22s ease-out;
    align-self: flex-start;
    cursor: pointer;
    border: none;
}

.nws-pg .feat-art .read-btn:hover {
    filter: brightness(1.12);
}

/* ── SECTION 4: EXPERT VOICES ── */
.nws-pg .exp-voices {
    padding-top: 80px;
    padding-bottom: 80px;
    background: linear-gradient(155deg, #1b2a08 0%, #3d5220 45%, #799F41 80%, #B7CC92 100%);
    position: relative;
}

.nws-pg .exp-voices .spot-bg2 {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.nws-pg .exp-voices .spot-bg2::after {
    content: '';
    position: absolute;
    width: 500px;
    height: 500px;
    background: radial-gradient(ellipse at 70% 30%, rgba(243, 248, 239, 0.08) 0%, transparent 65%);
    top: -80px;
    right: -60px;
    animation: spotdrift2 22s ease-out infinite alternate;
}

@keyframes spotdrift2 {
    0% {
        transform: translate(0, 0);
    }

    100% {
        transform: translate(-60px, 50px);
    }
}

.nws-pg .exp-voices .diag-line3 {
    position: absolute;
    top: 20px;
    right: 200px;
    width: 1px;
    height: 90%;
    background: linear-gradient(180deg, transparent 0%, rgba(243, 248, 239, 0.15) 50%, transparent 100%);
    transform: rotate(6deg);
    pointer-events: none;
}

.nws-pg .exp-voices .sec-hd-dark {
    margin-bottom: 40px;
}

.nws-pg .exp-voices .sec-hd-dark h2 {
    font-size: clamp(26px, 3.5vw, 36px);
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #F3F8EF;
    line-height: 1.2;
    margin: 0;
}

.nws-pg .exp-voices .sec-hd-dark p {
    font-size: 17px;
    line-height: 1.7;
    color: #B7CC92;
    margin: 20px 0 0;
    max-width: 560px;
}

.nws-pg .exp-voices .acc-bar-lt {
    width: 48px;
    height: 4px;
    background: #B7CC92;
    margin-bottom: 20px;
    border-radius: 0px;
}

.nws-pg .voices-row {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: stretch;
}

.nws-pg .voice-card {
    flex: 1 1 0;
    background: rgba(243, 248, 239, 0.08);
    border-radius: 10px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    transition: background 0.28s ease-out;
}

.nws-pg .voice-card:hover {
    background: rgba(243, 248, 239, 0.14);
}

.nws-pg .voice-card .vc-portrait {
    width: 80px;
    height: 100px;
    overflow: hidden;
    border-radius: 0px;
    flex-shrink: 0;
}

.nws-pg .voice-card .vc-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.nws-pg .voice-card .vc-top {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: flex-start;
}

.nws-pg .voice-card .vc-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    justify-content: center;
}

.nws-pg .voice-card .vc-name {
    font-size: 17px;
    font-weight: 700;
    color: #F3F8EF;
    line-height: 1.2;
}

.nws-pg .voice-card .vc-role {
    font-size: 15px;
    color: #B7CC92;
    line-height: 1.5;
}

.nws-pg .voice-card .vc-topic {
    font-size: 20px;
    font-weight: 700;
    color: #F3F8EF;
    line-height: 1.5;
    margin: 0;
}

.nws-pg .voice-card .vc-txt {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(243, 248, 239, 0.82);
    margin: 0;
}

.nws-pg .voice-card .vc-tag {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #799F41;
    background: rgba(121, 159, 65, 0.18);
    padding: 4px 8px;
    border-radius: 22px;
    align-self: flex-start;
}

.nws-pg .voice-no-port {
    flex: 1 1 0;
    background: rgba(243, 248, 239, 0.05);
    border-radius: 10px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    transition: background 0.35s ease-out;
}

.nws-pg .voice-no-port:hover {
    background: rgba(243, 248, 239, 0.11);
}

.nws-pg .voice-no-port .vnp-icon {
    width: 44px;
    height: 44px;
    border-radius: 22px;
    background: rgba(121, 159, 65, 0.28);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.nws-pg .voice-no-port .vnp-name {
    font-size: 17px;
    font-weight: 700;
    color: #F3F8EF;
    line-height: 1.2;
}

.nws-pg .voice-no-port .vnp-role {
    font-size: 15px;
    color: #B7CC92;
    line-height: 1.5;
}

.nws-pg .voice-no-port .vnp-topic {
    font-size: 20px;
    font-weight: 700;
    color: #F3F8EF;
    line-height: 1.5;
    margin: 0;
}

.nws-pg .voice-no-port .vnp-txt {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(243, 248, 239, 0.82);
    margin: 0;
}

.nws-pg .voice-no-port .vnp-tag {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #B7CC92;
    background: rgba(183, 204, 146, 0.15);
    padding: 4px 8px;
    border-radius: 22px;
    align-self: flex-start;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
    .nws-pg .titl-blk .titl-row {
        gap: 20px;
    }

    .nws-pg .titl-blk .titl-img-col {
        flex: 0 0 200px;
        max-width: 200px;
    }

    .nws-pg .titl-blk .titl-img-wrap {
        width: 200px;
        height: 280px;
    }

    .nws-pg .feat-art .feat-img-col {
        flex: 0 0 300px;
        max-width: 300px;
    }

    .nws-pg .feat-art .feat-img-wr {
        width: 300px;
        height: 240px;
    }

    .nws-pg .art-grid {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .nws-pg .voices-row {
        flex-direction: column;
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .nws-pg .titl-blk {
        padding-top: 40px;
        padding-bottom: 60px;
    }

    .nws-pg .titl-blk .titl-row {
        flex-direction: column;
        gap: 20px;
    }

    .nws-pg .titl-blk .titl-img-col {
        flex: none;
        max-width: 100%;
    }

    .nws-pg .titl-blk .titl-img-wrap {
        width: 100%;
        height: 220px;
    }

    .nws-pg .art-grid {
        grid-template-columns: 1fr;
    }

    .nws-pg .feat-art .feat-row {
        flex-direction: column;
        gap: 20px;
    }

    .nws-pg .feat-art .feat-img-col {
        flex: none;
        max-width: 100%;
    }

    .nws-pg .feat-art .feat-img-wr {
        width: 100%;
        height: 220px;
    }

    .nws-pg .feat-art .two-col-txt {
        grid-template-columns: 1fr;
    }

    .nws-pg .feat-art .two-col-txt .side-p {
        padding-left: 0;
    }

    .nws-pg .feat-art .two-col-txt .side-p::before {
        display: none;
    }

    .nws-pg .voices-row {
        flex-direction: column;
    }

    .nws-pg .art-grid-sec {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .nws-pg .feat-art {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .nws-pg .exp-voices {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}

@media (max-width: 360px) {
    .nws-pg .titl-blk .pg-h1 {
        font-size: 36px;
    }

    .nws-pg .pg-bound {
        padding-left: 8px;
        padding-right: 8px;
    }
}

.ptl-root {
    max-width: 100%;
    overflow-x: hidden;
}

.ptl-root .ptl-inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
}

.ptl-root ::selection {
    background: rgba(121, 159, 65, 0.18);
    color: #2a3a10;
}

.ptl-root input::placeholder,
.ptl-root textarea::placeholder {
    font-size: 15px;
    color: #8a9a7a;
}

@keyframes bg-breathe {

    0%,
    100% {
        background-size: 100% 100%;
    }

    50% {
        background-size: 108% 108%;
    }
}

@keyframes emerge-blur {
    0% {
        filter: blur(8px);
        opacity: 0;
    }

    100% {
        filter: blur(0);
        opacity: 1;
    }
}

/* ── SECTION 1: TITLE BLOCK ── */
.ptl-root .titl-blk {
    background: #fff;
    padding: 40px 0 40px;
    position: relative;
}

.ptl-root .titl-blk .ptl-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px;
}

.ptl-root .titl-blk .titl-txt {
    flex: 1 1 0;
    min-width: 0;
    position: relative;
    z-index: 1;
}

.ptl-root .titl-blk .titl-bgnum {
    position: absolute;
    top: -20px;
    left: -20px;
    font-size: 160px;
    font-weight: 900;
    color: rgba(121, 159, 65, 0.07);
    line-height: 1.2;
    pointer-events: none;
    user-select: none;
    z-index: 0;
    letter-spacing: -8px;
}

.ptl-root .titl-blk .titl-eyebrow {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #799F41;
    margin-bottom: 8px;
}

.ptl-root .titl-blk .titl-h1 {
    font-size: clamp(36px, 5vw, 68px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -0.03em;
    color: #1e2d0a;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.ptl-root .titl-blk .titl-h1 .kw-under {
    text-decoration: underline;
    text-decoration-color: #799F41;
    text-underline-offset: 6px;
}

.ptl-root .titl-blk .titl-sub {
    font-size: 17px;
    line-height: 1.7;
    color: #3a4a28;
    margin-bottom: 20px;
    max-width: 480px;
}

.ptl-root .titl-blk .titl-cta {
    display: inline-block;
    background: #799F41;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.06em;
    padding: 8px 40px;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: brightness 0.22s ease-out;
    box-shadow: 0 5px 28px 1px rgba(121, 159, 65, 0.09);
}

.ptl-root .titl-blk .titl-cta:hover {
    filter: brightness(1.12);
}

.ptl-root .titl-blk .titl-img-col {
    flex: 0 0 380px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ptl-root .titl-blk .titl-img-wrap {
    width: 340px;
    height: 300px;
    overflow: hidden;
    clip-path: polygon(12% 0%, 100% 0%, 88% 100%, 0% 100%);
    border: 4px solid #B7CC92;
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
}

.ptl-root .titl-blk .titl-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.ptl-root .titl-blk .titl-corner-tl {
    position: absolute;
    top: -8px;
    left: -8px;
    width: 0;
    height: 0;
    border-left: 38px solid #B7CC92;
    border-bottom: 38px solid transparent;
    pointer-events: none;
}

.ptl-root .titl-blk .titl-corner-br {
    position: absolute;
    bottom: -8px;
    right: -8px;
    width: 0;
    height: 0;
    border-right: 38px solid #799F41;
    border-top: 38px solid transparent;
    pointer-events: none;
}

@media (max-width: 768px) {
    .ptl-root .titl-blk .ptl-inner {
        flex-direction: column;
    }

    .ptl-root .titl-blk .titl-img-col {
        flex: none;
        width: 100%;
    }

    .ptl-root .titl-blk .titl-img-wrap {
        width: 100%;
        height: 220px;
    }

    .ptl-root .titl-blk .titl-bgnum {
        font-size: 100px;
    }
}

/* ── SECTION 1 CURVED DIVIDER ── */
.ptl-root .curve-div-1 {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #fff;
}

.ptl-root .curve-div-1 svg {
    display: block;
    width: 100%;
}

/* ── SECTION 2: RECOGNITION BLOCK ── */
.ptl-root .recog-blk {
    background: #F3F8EF;
    padding: 80px 0 80px;
    position: relative;
}

.ptl-root .recog-blk .ptl-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

.ptl-root .recog-blk .recog-img-side {
    position: relative;
}

.ptl-root .recog-blk .recog-img-wrap {
    width: 100%;
    height: 400px;
    overflow: hidden;
    border-radius: 22px;
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
    animation: emerge-blur 0.45s ease-out both;
}

.ptl-root .recog-blk .recog-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.ptl-root .recog-blk .recog-badge {
    position: absolute;
    bottom: 20px;
    left: -20px;
    background: #799F41;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    padding: 8px 20px;
    border-radius: 10px;
    box-shadow: 0 5px 28px 1px rgba(121, 159, 65, 0.09);
    letter-spacing: 0.04em;
}

.ptl-root .recog-blk .recog-txt {
    padding: 8px 0;
}

.ptl-root .recog-blk .recog-label {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #799F41;
    margin-bottom: 8px;
}

.ptl-root .recog-blk .recog-h2 {
    font-size: clamp(26px, 3.5vw, 36px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #1e2d0a;
    margin-bottom: 20px;
}

.ptl-root .recog-blk .recog-body {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
    align-items: start;
}

.ptl-root .recog-blk .recog-main-p {
    font-size: 17px;
    line-height: 1.7;
    color: #3a4a28;
}

.ptl-root .recog-blk .recog-aside {
    font-size: 15px;
    line-height: 1.7;
    color: #5a6e40;
    border-top: 2px solid #B7CC92;
    padding-top: 8px;
}

.ptl-root .recog-blk .recog-list {
    list-style: none;
    padding: 0;
    margin: 20px 0 0;
}

.ptl-root .recog-blk .recog-list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    font-size: 17px;
    line-height: 1.7;
    color: #3a4a28;
    margin-bottom: 8px;
}

.ptl-root .recog-blk .recog-list li .arr {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: 4px;
}

@media (max-width: 768px) {
    .ptl-root .recog-blk .ptl-inner {
        grid-template-columns: 1fr;
    }

    .ptl-root .recog-blk .recog-body {
        grid-template-columns: 1fr;
    }

    .ptl-root .recog-blk .recog-badge {
        left: 8px;
    }
}

/* ── SECTION 2 CURVED DIVIDER ── */
.ptl-root .curve-div-2 {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #F3F8EF;
}

.ptl-root .curve-div-2 svg {
    display: block;
    width: 100%;
}

/* ── SECTION 3: TESTIMONIALS ── */
.ptl-root .testi-blk {
    background: #fff;
    padding: 80px 0 80px;
}

.ptl-root .testi-blk .testi-head {
    text-align: center;
    margin-bottom: 40px;
}

.ptl-root .testi-blk .testi-label {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #799F41;
    margin-bottom: 8px;
}

.ptl-root .testi-blk .testi-h2 {
    font-size: clamp(26px, 3.5vw, 36px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #1e2d0a;
}

.ptl-root .testi-blk .testi-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.ptl-root .testi-blk .testi-card {
    background: #F3F8EF;
    border-radius: 22px;
    padding: 40px;
    box-shadow: 0 2px 3px 1px rgba(121, 159, 65, 0.06);
    transition: box-shadow 0.25s ease-out;
    position: relative;
}

.ptl-root .testi-blk .testi-card:hover {
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
}

.ptl-root .testi-blk .testi-card .testi-person {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}

.ptl-root .testi-blk .testi-card .testi-portrait {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    overflow: hidden;
    flex: 0 0 auto;
    box-shadow: 0 2px 3px 1px rgba(121, 159, 65, 0.06);
}

.ptl-root .testi-blk .testi-card .testi-portrait img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.ptl-root .testi-blk .testi-card .testi-name {
    font-size: 17px;
    font-weight: 700;
    color: #1e2d0a;
    line-height: 1.2;
}

.ptl-root .testi-blk .testi-card .testi-role {
    font-size: 15px;
    color: #5a6e40;
    margin-top: 4px;
}

.ptl-root .testi-blk .testi-card .testi-quote {
    font-size: 17px;
    line-height: 1.7;
    color: #3a4a28;
    font-style: italic;
}

.ptl-root .testi-blk .testi-card .testi-result {
    margin-top: 20px;
    padding: 8px 20px;
    background: #799F41;
    color: #fff;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    display: inline-block;
}

@media (max-width: 768px) {
    .ptl-root .testi-blk .testi-grid {
        grid-template-columns: 1fr;
    }
}

/* ── SECTION 3 CURVED DIVIDER ── */
.ptl-root .curve-div-3 {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #fff;
}

.ptl-root .curve-div-3 svg {
    display: block;
    width: 100%;
}

/* ── SECTION 4: APPROACH (numbered) ── */
.ptl-root .appr-blk {
    background: linear-gradient(160deg, #2a3a10 0%, #799F41 55%, #B7CC92 100%);
    background-size: 100% 100%;
    animation: bg-breathe 10s ease-in-out infinite;
    padding: 80px 0 80px;
    position: relative;
}

.ptl-root .appr-blk .ptl-inner {
    position: relative;
    z-index: 1;
}

.ptl-root .appr-blk .appr-head {
    margin-bottom: 40px;
}

.ptl-root .appr-blk .appr-label {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #F3F8EF;
    margin-bottom: 8px;
    opacity: 0.8;
}

.ptl-root .appr-blk .appr-h2 {
    font-size: clamp(26px, 3.5vw, 36px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #fff;
}

.ptl-root .appr-blk .appr-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.ptl-root .appr-blk .appr-step {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 22px;
    padding: 40px 20px 40px 20px;
    position: relative;
    transition: background 0.28s ease-out;
}

.ptl-root .appr-blk .appr-step:hover {
    background: rgba(255, 255, 255, 0.18);
}

.ptl-root .appr-blk .appr-step .step-num {
    font-size: 68px;
    font-weight: 900;
    line-height: 1.2;
    color: rgba(255, 255, 255, 0.15);
    letter-spacing: -0.04em;
    position: absolute;
    top: 8px;
    right: 20px;
    pointer-events: none;
    user-select: none;
}

.ptl-root .appr-blk .appr-step .step-h {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 8px;
    line-height: 1.2;
}

.ptl-root .appr-blk .appr-step .step-p {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(243, 248, 239, 0.88);
}

.ptl-root .appr-blk .appr-img-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 40px;
}

.ptl-root .appr-blk .appr-img-wrap {
    height: 220px;
    overflow: hidden;
    border-radius: 22px;
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
}

.ptl-root .appr-blk .appr-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

@media (max-width: 768px) {
    .ptl-root .appr-blk .appr-steps {
        grid-template-columns: 1fr;
    }

    .ptl-root .appr-blk .appr-img-row {
        grid-template-columns: 1fr;
    }
}

/* ── SECTION 4 CURVED DIVIDER ── */
.ptl-root .curve-div-4 {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: linear-gradient(160deg, #2a3a10 0%, #799F41 55%, #B7CC92 100%);
}

.ptl-root .curve-div-4 svg {
    display: block;
    width: 100%;
}

/* ── SECTION 5: CURRENT & CONNECTED ── */
.ptl-root .curr-blk {
    background: #F3F8EF;
    padding: 80px 0 80px;
    position: relative;
}

.ptl-root .curr-blk .diam-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background-image:
        repeating-linear-gradient(45deg,
            rgba(121, 159, 65, 0.07) 0px,
            rgba(121, 159, 65, 0.07) 1px,
            transparent 1px,
            transparent 20px),
        repeating-linear-gradient(-45deg,
            rgba(121, 159, 65, 0.07) 0px,
            rgba(121, 159, 65, 0.07) 1px,
            transparent 1px,
            transparent 20px);
}

.ptl-root .curr-blk .ptl-inner {
    position: relative;
    z-index: 1;
}

.ptl-root .curr-blk .curr-top {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
    align-items: start;
    margin-bottom: 40px;
}

.ptl-root .curr-blk .curr-label {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #799F41;
    margin-bottom: 8px;
}

.ptl-root .curr-blk .curr-h2 {
    font-size: clamp(26px, 3.5vw, 36px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #1e2d0a;
    margin-bottom: 20px;
}

.ptl-root .curr-blk .curr-main-p {
    font-size: 17px;
    line-height: 1.7;
    color: #3a4a28;
}

.ptl-root .curr-blk .curr-aside {
    padding-top: 8px;
    border-top: 2px solid #B7CC92;
}

.ptl-root .curr-blk .curr-aside p {
    font-size: 15px;
    line-height: 1.7;
    color: #5a6e40;
}

.ptl-root .curr-blk .curr-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.ptl-root .curr-blk .curr-metric {
    background: #fff;
    border-radius: 22px;
    padding: 40px 20px;
    text-align: center;
    box-shadow: 0 2px 3px 1px rgba(121, 159, 65, 0.06);
    transition: box-shadow 0.2s ease-out, transform 0.2s ease-out;
}

.ptl-root .curr-blk .curr-metric:hover {
    box-shadow: 0 5px 28px 1px rgba(121, 159, 65, 0.09);
    transform: translateY(-4px);
}

.ptl-root .curr-blk .curr-metric .met-val {
    font-size: 50px;
    font-weight: 900;
    line-height: 1.2;
    color: #799F41;
    letter-spacing: -0.03em;
}

.ptl-root .curr-blk .curr-metric .met-lbl {
    font-size: 15px;
    color: #5a6e40;
    margin-top: 4px;
    line-height: 1.5;
}

.ptl-root .curr-blk .curr-img-full {
    width: 100%;
    height: 280px;
    overflow: hidden;
    border-radius: 22px;
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
}

.ptl-root .curr-blk .curr-img-full img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

@media (max-width: 768px) {
    .ptl-root .curr-blk .curr-top {
        grid-template-columns: 1fr;
    }

    .ptl-root .curr-blk .curr-metrics {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 360px) {
    .ptl-root .titl-blk .titl-h1 {
        font-size: 36px;
    }

    .ptl-root .titl-blk .titl-img-wrap {
        height: 180px;
    }
}

@media (min-width: 1024px) {
    .ptl-root .curr-blk .curr-metrics {
        grid-template-columns: repeat(3, 1fr);
    }
}

.ctus-pg {
    max-width: 100%;
    overflow-x: hidden;
}

.ctus-pg .pg-bound {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
}

.ctus-pg .band-top {
    background: linear-gradient(170deg, #2a3a18 0%, #799F41 55%, #F3F8EF 100%);
    padding-top: 40px;
    padding-bottom: 40px;
    position: relative;
}

.ctus-pg .band-top-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px;
}

.ctus-pg .band-top-text {
    flex: 1 1 0;
    min-width: 0;
}

.ctus-pg .band-top-text .pg-label {
    display: inline-block;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #F3F8EF;
    opacity: 0.75;
    margin-bottom: 8px;
}

.ctus-pg .band-top-text h1 {
    font-size: clamp(36px, 5vw, 68px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.03em;
    color: #ffffff;
    margin-bottom: 8px;
    animation: track-expand 0.45s ease-out forwards;
}

@keyframes track-expand {
    from {
        letter-spacing: -0.08em;
        opacity: 0.4;
    }

    to {
        letter-spacing: -0.03em;
        opacity: 1;
    }
}

.ctus-pg .band-top-text .pg-desc {
    font-size: 17px;
    line-height: 1.7;
    color: #F3F8EF;
    max-width: 480px;
    border-top: 4px solid #B7CC92;
    padding-top: 20px;
    margin-top: 20px;
}

.ctus-pg .band-top-img {
    flex: 0 0 260px;
    width: 260px;
    height: 220px;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
    position: relative;
}

.ctus-pg .band-top-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: grayscale(100%) contrast(1.2);
    display: block;
}

.ctus-pg .dot-scatter {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
}

.ctus-pg .dot-scatter span {
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 0px;
    background: #B7CC92;
    opacity: 0.18;
}

.ctus-pg .dot-scatter span:nth-child(1) {
    top: 12%;
    left: 8%;
}

.ctus-pg .dot-scatter span:nth-child(2) {
    top: 28%;
    left: 22%;
}

.ctus-pg .dot-scatter span:nth-child(3) {
    top: 55%;
    left: 6%;
}

.ctus-pg .dot-scatter span:nth-child(4) {
    top: 70%;
    left: 35%;
}

.ctus-pg .dot-scatter span:nth-child(5) {
    top: 18%;
    left: 65%;
}

.ctus-pg .dot-scatter span:nth-child(6) {
    top: 40%;
    left: 80%;
}

.ctus-pg .dot-scatter span:nth-child(7) {
    top: 82%;
    left: 72%;
}

.ctus-pg .dot-scatter span:nth-child(8) {
    top: 8%;
    left: 90%;
}

.ctus-pg .dot-scatter span:nth-child(9) {
    top: 62%;
    left: 50%;
}

.ctus-pg .dot-scatter span:nth-child(10) {
    top: 90%;
    left: 15%;
}

.ctus-pg .main-form-sec {
    background: linear-gradient(105deg, #F3F8EF 0%, #eaf2de 60%, #ffffff 100%);
    padding-top: 80px;
    padding-bottom: 80px;
}

.ctus-pg .form-sec-inner {
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start;
}

.ctus-pg .form-left {
    flex: 2 1 0;
    min-width: 0;
}

.ctus-pg .form-right {
    flex: 1 1 0;
    min-width: 0;
}

.ctus-pg .form-heading {
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #2a3a18;
    margin-bottom: 8px;
}

.ctus-pg .form-sub {
    font-size: 15px;
    line-height: 1.7;
    color: #4a5a30;
    margin-bottom: 40px;
    max-width: 440px;
}

.ctus-pg .cform {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ctus-pg .cform .frow {
    display: flex;
    flex-direction: row;
    gap: 20px;
}

.ctus-pg .fgroup {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 0;
    min-width: 0;
}

.ctus-pg .fgroup label {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #2a3a18;
}

.ctus-pg .fgroup input,
.ctus-pg .fgroup select,
.ctus-pg .fgroup textarea {
    width: 100%;
    padding: 20px;
    font-size: 17px;
    line-height: 1.5;
    color: #2a3a18;
    background: #ffffff;
    border: 2px solid #B7CC92;
    border-radius: 10px;
    outline: none;
    box-shadow: 0 2px 3px 1px rgba(121, 159, 65, 0.06);
    transition: border-color 0.25s ease-out, box-shadow 0.2s ease-out;
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;
}

.ctus-pg .fgroup input::placeholder,
.ctus-pg .fgroup textarea::placeholder {
    font-size: 15px;
    color: #8fa870;
}

.ctus-pg .fgroup input:focus,
.ctus-pg .fgroup select:focus,
.ctus-pg .fgroup textarea:focus {
    border-color: #799F41;
    box-shadow: 0 5px 28px 1px rgba(121, 159, 65, 0.09);
}

.ctus-pg .fgroup .sel-wrap {
    position: relative;
}

.ctus-pg .fgroup .sel-wrap select {
    padding-right: 40px;
    cursor: pointer;
}

.ctus-pg .fgroup .sel-wrap .sel-arrow {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #799F41;
    pointer-events: none;
}

.ctus-pg .fgroup textarea {
    resize: vertical;
    min-height: 120px;
}

.ctus-pg .priv-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
}

.ctus-pg .priv-row input[type="checkbox"] {
    width: 20px;
    height: 20px;
    min-width: 20px;
    margin-top: 4px;
    accent-color: #799F41;
    border-radius: 0px;
    cursor: pointer;
    box-shadow: none;
    border: none;
    padding: 0;
}

.ctus-pg .priv-row .priv-txt {
    font-size: 15px;
    line-height: 1.7;
    color: #4a5a30;
}

.ctus-pg .priv-row .priv-txt a {
    color: #799F41;
    text-decoration: underline;
    transition: color 0.2s ease-out;
}

.ctus-pg .priv-row .priv-txt a:hover {
    color: #2a3a18;
}

.ctus-pg .btn-submit {
    display: inline-block;
    padding: 20px 40px;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #ffffff;
    background: #799F41;
    border: none;
    border-radius: 22px;
    cursor: pointer;
    box-shadow: 0 5px 28px 1px rgba(121, 159, 65, 0.09);
    transition: filter 0.2s ease-out, box-shadow 0.25s ease-out;
    text-transform: lowercase;
    align-self: flex-start;
}

.ctus-pg .btn-submit:hover {
    filter: brightness(1.12);
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
}

.ctus-pg .btn-submit:focus {
    outline: 3px solid #2a3a18;
    outline-offset: 3px;
}

.ctus-pg .btn-submit:active {
    filter: brightness(0.95);
}

.ctus-pg .form-right .info-panel {
    background: #2a3a18;
    border-radius: 10px;
    padding: 40px;
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
    position: sticky;
    top: 20px;
}

.ctus-pg .info-panel .ip-head {
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #B7CC92;
    margin-bottom: 20px;
}

.ctus-pg .info-panel .ip-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ctus-pg .info-panel .ip-list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
}

.ctus-pg .info-panel .ip-list li .ip-arrow {
    flex-shrink: 0;
    margin-top: 4px;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 7px solid #799F41;
}

.ctus-pg .info-panel .ip-list li .ip-detail {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ctus-pg .info-panel .ip-list li .ip-detail .ip-lbl {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #B7CC92;
    opacity: 0.7;
}

.ctus-pg .info-panel .ip-list li .ip-detail .ip-val {
    font-size: 17px;
    line-height: 1.5;
    color: #F3F8EF;
}

.ctus-pg .info-panel .ip-list li .ip-detail a {
    color: #B7CC92;
    text-decoration: none;
    transition: color 0.2s ease-out;
}

.ctus-pg .info-panel .ip-list li .ip-detail a:hover {
    color: #ffffff;
}

.ctus-pg .info-panel .divider-line {
    height: 4px;
    background: #799F41;
    border-radius: 0px;
    margin: 20px 0;
}

.ctus-pg .info-panel .response-note {
    font-size: 15px;
    line-height: 1.7;
    color: #B7CC92;
    opacity: 0.8;
}

.ctus-pg .bracket-left {
    display: inline-block;
    font-size: 50px;
    font-weight: 900;
    color: #B7CC92;
    line-height: 1;
    margin-right: 4px;
    opacity: 0.5;
    vertical-align: middle;
}

.ctus-pg .bracket-right {
    display: inline-block;
    font-size: 50px;
    font-weight: 900;
    color: #B7CC92;
    line-height: 1;
    margin-left: 4px;
    opacity: 0.5;
    vertical-align: middle;
}

@media (max-width: 1024px) {
    .ctus-pg .band-top-img {
        flex: 0 0 200px;
        width: 200px;
        height: 180px;
    }

    .ctus-pg .form-sec-inner {
        flex-direction: column;
    }

    .ctus-pg .form-right {
        width: 100%;
    }

    .ctus-pg .info-panel {
        position: static;
    }
}

@media (max-width: 768px) {
    .ctus-pg .band-top-inner {
        flex-direction: column;
        gap: 20px;
    }

    .ctus-pg .band-top-img {
        flex: 0 0 auto;
        width: 100%;
        height: 180px;
    }

    .ctus-pg .cform .frow {
        flex-direction: column;
        gap: 20px;
    }

    .ctus-pg .main-form-sec {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .ctus-pg .info-panel {
        padding: 20px;
    }
}

@media (max-width: 360px) {
    .ctus-pg .band-top-text h1 {
        font-size: 36px;
    }

    .ctus-pg .btn-submit {
        padding: 20px;
        width: 100%;
        text-align: center;
    }
}

.abt-us {
    max-width: 100%;
    overflow-x: hidden;
}

.abt-us .pg-wrap {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
}

.abt-us ::selection {
    background: rgba(121, 159, 65, 0.18);
    color: #2a3a10;
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideRight {
    from {
        opacity: 0;
        transform: translateX(-18px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.abt-us .anim-1 {
    animation: fadeUp 0.35s ease-out both;
    animation-delay: 0.05s;
}

.abt-us .anim-2 {
    animation: fadeUp 0.35s ease-out both;
    animation-delay: 0.15s;
}

.abt-us .anim-3 {
    animation: fadeUp 0.38s ease-out both;
    animation-delay: 0.25s;
}

.abt-us .anim-4 {
    animation: fadeUp 0.4s ease-out both;
    animation-delay: 0.35s;
}

.abt-us .anim-5 {
    animation: fadeUp 0.42s ease-out both;
    animation-delay: 0.45s;
}

.abt-us .anim-img {
    animation: fadeIn 0.45s ease-out both;
    animation-delay: 0.08s;
}

/* ── SECTION 1: TITLE BLOCK ── */
.abt-us .title-blk {
    background: #fff;
    padding: 80px 0 0;
}

.abt-us .title-blk .pg-wrap {
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start;
}

.abt-us .title-blk .txt-col {
    flex: 1 1 55%;
    padding: 40px 0 80px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.abt-us .title-blk .eyebrow {
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #799F41;
    font-weight: 700;
}

.abt-us .title-blk .main-hdg {
    font-size: clamp(36px, 5vw, 68px);
    line-height: 1.2;
    letter-spacing: -0.03em;
    font-weight: 800;
    color: #1e2a0e;
    margin: 0;
    text-transform: uppercase;
}

.abt-us .title-blk .main-hdg .grad-word {
    background: linear-gradient(135deg, #2a3a10 0%, #799F41 55%, #B7CC92 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.abt-us .title-blk .sub-para {
    font-size: 17px;
    line-height: 1.7;
    color: #3a4a28;
    max-width: 480px;
    margin: 0;
}

.abt-us .title-blk .img-col {
    flex: 0 0 42%;
    position: relative;
    align-self: stretch;
    min-height: 420px;
}

.abt-us .title-blk .img-frame {
    width: 100%;
    height: 100%;
    min-height: 420px;
    border-radius: 22px;
    overflow: hidden;
    position: relative;
}

.abt-us .title-blk .img-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.abt-us .title-blk .img-frame::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(30, 42, 14, 0.18) 0%, transparent 45%, rgba(30, 42, 14, 0.55) 100%);
    border-radius: 22px;
    pointer-events: none;
}

.abt-us .title-blk .dot-deco {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 120px;
    height: 120px;
    pointer-events: none;
    z-index: 1;
}

.abt-us .title-blk .dot-deco circle {
    fill: #B7CC92;
}

.abt-us .title-blk .shape-arrow {
    position: absolute;
    bottom: 40px;
    left: -20px;
    width: 48px;
    height: 48px;
    pointer-events: none;
    z-index: 1;
}

.abt-us .title-blk .divider-cross {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

.abt-us .title-blk .divider-cross .ln {
    flex: 1;
    height: 1px;
    background: #B7CC92;
    max-width: 60px;
}

.abt-us .title-blk .divider-cross .cross-icon {
    width: 14px;
    height: 14px;
    position: relative;
    flex-shrink: 0;
}

.abt-us .title-blk .divider-cross .cross-icon::before,
.abt-us .title-blk .divider-cross .cross-icon::after {
    content: "";
    position: absolute;
    background: #799F41;
    border-radius: 0px;
}

.abt-us .title-blk .divider-cross .cross-icon::before {
    width: 2px;
    height: 14px;
    left: 6px;
    top: 0;
}

.abt-us .title-blk .divider-cross .cross-icon::after {
    width: 14px;
    height: 2px;
    left: 0;
    top: 6px;
}

/* ── SECTION 2: ABOUT BODY ── */
.abt-us .about-body {
    background: #F3F8EF;
    padding: 80px 0;
    position: relative;
}

.abt-us .about-body::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    background: linear-gradient(180deg, #799F41 0%, #B7CC92 60%, #F3F8EF 100%);
    border-radius: 0px;
    pointer-events: none;
}

.abt-us .about-body .pg-wrap {
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start;
}

.abt-us .about-body .main-col {
    flex: 2 1 0%;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.abt-us .about-body .side-col {
    flex: 1 1 0%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-top: 8px;
}

.abt-us .about-body .sec-label {
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 700;
    color: #799F41;
}

.abt-us .about-body .sec-hdg {
    font-size: clamp(26px, 3.5vw, 36px);
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 800;
    color: #1e2a0e;
    margin: 0 0 8px;
}

.abt-us .about-body .body-para {
    font-size: 17px;
    line-height: 1.7;
    color: #2e3d1a;
    margin: 0;
}

.abt-us .about-body .arr-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.abt-us .about-body .arr-list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    font-size: 17px;
    line-height: 1.7;
    color: #2e3d1a;
}

.abt-us .about-body .arr-list li .arr {
    flex-shrink: 0;
    margin-top: 6px;
    width: 14px;
    height: 14px;
}

.abt-us .about-body .stat-card {
    background: #fff;
    border-radius: 22px;
    padding: 20px;
    box-shadow: 0 5px 28px 1px rgba(121, 159, 65, 0.09);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.abt-us .about-body .stat-card .stat-num {
    font-size: clamp(36px, 4vw, 50px);
    line-height: 1.2;
    font-weight: 800;
    color: #799F41;
    letter-spacing: -0.02em;
}

.abt-us .about-body .stat-card .stat-desc {
    font-size: 15px;
    line-height: 1.5;
    color: #3a4a28;
}

.abt-us .about-body .img-row {
    display: flex;
    flex-direction: row;
    gap: 20px;
}

.abt-us .about-body .img-thumb {
    flex: 1 1 0%;
    border-radius: 10px;
    overflow: hidden;
    height: 160px;
}

.abt-us .about-body .img-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.38s ease-out;
}

.abt-us .about-body .img-thumb:hover img {
    transform: scale(1.04);
}

.abt-us .about-body .sec-divider {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin: 8px 0;
}

.abt-us .about-body .sec-divider .d-line {
    height: 1px;
    width: 40px;
    background: #B7CC92;
}

.abt-us .about-body .sec-divider .d-cross {
    width: 12px;
    height: 12px;
    position: relative;
    flex-shrink: 0;
}

.abt-us .about-body .sec-divider .d-cross::before,
.abt-us .about-body .sec-divider .d-cross::after {
    content: "";
    position: absolute;
    background: #799F41;
}

.abt-us .about-body .sec-divider .d-cross::before {
    width: 2px;
    height: 12px;
    left: 5px;
    top: 0;
}

.abt-us .about-body .sec-divider .d-cross::after {
    width: 12px;
    height: 2px;
    left: 0;
    top: 5px;
}

/* ── SECTION 3: TEAM / ALTERNATING ── */
.abt-us .team-alt {
    background: #fff;
    padding: 80px 0;
    position: relative;
}

.abt-us .team-alt .pg-wrap {
    display: flex;
    flex-direction: column;
    gap: 80px;
}

.abt-us .team-alt .sec-top {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 600px;
}

.abt-us .team-alt .sec-top .t-label {
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 700;
    color: #799F41;
}

.abt-us .team-alt .sec-top .t-hdg {
    font-size: clamp(26px, 3.5vw, 36px);
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 800;
    color: #1e2a0e;
    margin: 0;
}

.abt-us .team-alt .alt-rows {
    display: flex;
    flex-direction: column;
    gap: 80px;
}

.abt-us .team-alt .alt-row {
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: center;
}

.abt-us .team-alt .alt-row.rev {
    flex-direction: row-reverse;
}

.abt-us .team-alt .alt-row .vis-side {
    flex: 0 0 44%;
    position: relative;
}

.abt-us .team-alt .alt-row .txt-side {
    flex: 1 1 0%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.abt-us .team-alt .alt-row .vis-img {
    width: 100%;
    height: 300px;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
}

.abt-us .team-alt .alt-row .vis-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.42s ease-out;
}

.abt-us .team-alt .alt-row .vis-img:hover img {
    transform: scale(1.05);
}

.abt-us .team-alt .alt-row .vis-portrait {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.abt-us .team-alt .alt-row .portrait-circ {
    width: 220px;
    height: 220px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 5px 28px 1px rgba(121, 159, 65, 0.09);
    border: 4px solid #B7CC92;
}

.abt-us .team-alt .alt-row .portrait-circ img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.abt-us .team-alt .alt-row .person-name {
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
    color: #1e2a0e;
    text-align: center;
    margin: 0;
}

.abt-us .team-alt .alt-row .person-role {
    font-size: 15px;
    line-height: 1.5;
    color: #799F41;
    text-align: center;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 600;
}

.abt-us .team-alt .alt-row .row-hdg {
    font-size: clamp(20px, 2.5vw, 26px);
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 800;
    color: #1e2a0e;
    margin: 0;
}

.abt-us .team-alt .alt-row .row-hdg-hover {
    position: relative;
    display: inline-block;
    cursor: default;
}

.abt-us .team-alt .alt-row .row-hdg-hover .hdg-main {
    display: block;
    transition: opacity 0.22s ease-out, transform 0.22s ease-out;
}

.abt-us .team-alt .alt-row .row-hdg-hover .hdg-alt {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.22s ease-out, transform 0.22s ease-out;
    color: #799F41;
    font-size: clamp(20px, 2.5vw, 26px);
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 800;
    white-space: nowrap;
}

.abt-us .team-alt .alt-row .row-hdg-hover:hover .hdg-main {
    opacity: 0;
    transform: translateY(-8px);
}

.abt-us .team-alt .alt-row .row-hdg-hover:hover .hdg-alt {
    opacity: 1;
    transform: translateY(0);
}

.abt-us .team-alt .alt-row .row-para {
    font-size: 17px;
    line-height: 1.7;
    color: #2e3d1a;
    margin: 0;
}

.abt-us .team-alt .alt-row .row-arr-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.abt-us .team-alt .alt-row .row-arr-list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    font-size: 15px;
    line-height: 1.7;
    color: #2e3d1a;
}

.abt-us .team-alt .alt-row .row-arr-list li .arr {
    flex-shrink: 0;
    margin-top: 5px;
    width: 14px;
    height: 14px;
}

.abt-us .team-alt .alt-row .accent-band {
    position: absolute;
    top: 20px;
    bottom: 20px;
    left: -8px;
    width: 4px;
    background: linear-gradient(180deg, #799F41 0%, #B7CC92 100%);
    border-radius: 0px;
    pointer-events: none;
}

.abt-us .team-alt .alt-row.rev .accent-band {
    left: auto;
    right: -8px;
}

.abt-us .team-alt .alt-row .dot-grid {
    position: absolute;
    bottom: -20px;
    right: -20px;
    width: 90px;
    height: 90px;
    pointer-events: none;
    z-index: 0;
}

.abt-us .team-alt .alt-row.rev .dot-grid {
    bottom: -20px;
    right: auto;
    left: -20px;
}

.abt-us .team-alt .alt-row .dot-grid circle {
    fill: #B7CC92;
}

.abt-us .team-alt .row-link {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 700;
    color: #799F41;
    text-decoration: none;
    letter-spacing: 0.06em;
    text-transform: lowercase;
    border-radius: 10px;
    padding: 8px 20px;
    background: #F3F8EF;
    transition: background 0.25s ease-out, color 0.2s ease-out;
    align-self: flex-start;
}

.abt-us .team-alt .row-link:hover {
    background: #799F41;
    color: #fff;
    filter: brightness(1.08);
}

.abt-us .team-alt .row-link:focus {
    outline: 2px solid #799F41;
    outline-offset: 2px;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
    .abt-us .title-blk .pg-wrap {
        flex-direction: column-reverse;
        gap: 20px;
    }

    .abt-us .title-blk .img-col {
        min-height: 300px;
        width: 100%;
    }

    .abt-us .title-blk .img-frame {
        min-height: 300px;
    }

    .abt-us .title-blk .txt-col {
        padding: 20px 0 40px;
    }

    .abt-us .about-body .pg-wrap {
        flex-direction: column;
        gap: 40px;
    }

    .abt-us .about-body .side-col {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 20px;
    }

    .abt-us .about-body .stat-card {
        flex: 1 1 200px;
    }

    .abt-us .team-alt .alt-row,
    .abt-us .team-alt .alt-row.rev {
        flex-direction: column;
        gap: 20px;
    }

    .abt-us .team-alt .alt-row .vis-side {
        flex: none;
        width: 100%;
    }

    .abt-us .team-alt .alt-row .accent-band,
    .abt-us .team-alt .alt-row.rev .accent-band {
        display: none;
    }
}

@media (max-width: 768px) {
    .abt-us .title-blk {
        padding: 40px 0 0;
    }

    .abt-us .about-body {
        padding: 40px 0;
    }

    .abt-us .team-alt {
        padding: 40px 0;
    }

    .abt-us .team-alt .pg-wrap {
        gap: 40px;
    }

    .abt-us .team-alt .alt-rows {
        gap: 40px;
    }

    .abt-us .about-body .img-row {
        flex-direction: column;
        gap: 20px;
    }

    .abt-us .about-body .img-thumb {
        height: 200px;
    }

    .abt-us .team-alt .alt-row .vis-img {
        height: 220px;
    }

    .abt-us .team-alt .alt-row .portrait-circ {
        width: 160px;
        height: 160px;
    }
}

@media (max-width: 360px) {
    .abt-us .pg-wrap {
        padding: 0 8px;
    }

    .abt-us .title-blk .main-hdg {
        font-size: 36px;
    }

    .abt-us .about-body .stat-card {
        flex: 1 1 100%;
    }
}

.itvw-pg {
    max-width: 100%;
    overflow-x: hidden;
}

.itvw-pg .pg-bound {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
}

.itvw-pg .fade-up {
    opacity: 0;
    transform: scale(0.97) translateY(18px);
    animation: fadeUpIn 0.42s ease-out forwards;
}

.itvw-pg .fade-up:nth-child(1) {
    animation-delay: 0.05s;
}

.itvw-pg .fade-up:nth-child(2) {
    animation-delay: 0.13s;
}

.itvw-pg .fade-up:nth-child(3) {
    animation-delay: 0.21s;
}

.itvw-pg .fade-up:nth-child(4) {
    animation-delay: 0.29s;
}

.itvw-pg .fade-up:nth-child(5) {
    animation-delay: 0.37s;
}

.itvw-pg .fade-up:nth-child(6) {
    animation-delay: 0.45s;
}

@keyframes fadeUpIn {
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.itvw-pg .ttl-blk {
    padding-top: 80px;
    padding-bottom: 80px;
    background: linear-gradient(158deg, #2a3d1a 0%, #799F41 48%, #F3F8EF 100%);
    position: relative;
}

.itvw-pg .ttl-blk::before {
    content: '';
    position: absolute;
    top: -40px;
    right: -40px;
    width: 320px;
    height: 320px;
    border-radius: 38px;
    background: rgba(121, 159, 65, 0.12);
    pointer-events: none;
}

.itvw-pg .ttl-blk::after {
    content: '';
    position: absolute;
    bottom: 20px;
    left: 10%;
    width: 180px;
    height: 180px;
    border-radius: 38px;
    background: rgba(183, 204, 146, 0.10);
    pointer-events: none;
}

.itvw-pg .ttl-inner {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 40px;
}

.itvw-pg .ttl-text-col {
    flex: 1 1 0;
    padding-top: 80px;
}

.itvw-pg .ttl-eyebrow {
    display: inline-block;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #B7CC92;
    margin-bottom: 20px;
}

.itvw-pg .ttl-h1 {
    font-size: clamp(36px, 5vw, 68px);
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #fff;
    margin-bottom: 20px;
}

.itvw-pg .ttl-sub {
    font-size: 20px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.82);
    max-width: 560px;
    margin-bottom: 40px;
}

.itvw-pg .ttl-img-col {
    flex: 0 0 340px;
    max-width: 340px;
}

.itvw-pg .ttl-img-wrap {
    width: 340px;
    height: 400px;
    border-radius: 22px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
}

.itvw-pg .ttl-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: saturate(0.85) contrast(1.08);
}

.itvw-pg .ttl-img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(121, 159, 65, 0.28) 0%, rgba(183, 204, 146, 0.10) 100%);
    pointer-events: none;
}

.itvw-pg .stat-row {
    display: flex;
    flex-direction: row;
    gap: 40px;
}

.itvw-pg .stat-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.itvw-pg .stat-num {
    font-size: 36px;
    font-weight: 800;
    color: #B7CC92;
    line-height: 1.2;
}

.itvw-pg .stat-lbl {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.7);
    letter-spacing: 0.04em;
}

.itvw-pg .posts-area {
    padding-top: 80px;
    padding-bottom: 80px;
    background: #fff;
}

.itvw-pg .posts-lbl {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #799F41;
    margin-bottom: 8px;
}

.itvw-pg .posts-head {
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #1e2d0e;
    line-height: 1.2;
    margin-bottom: 40px;
}

.itvw-pg .card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.itvw-pg .post-card {
    border-radius: 22px;
    background: #F3F8EF;
    overflow: hidden;
    box-shadow: 0 2px 3px 1px rgba(121, 159, 65, 0.06);
    transition: box-shadow 0.22s ease-out, transform 0.22s ease-out;
    display: flex;
    flex-direction: column;
}

.itvw-pg .post-card:hover {
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
    transform: translateY(-4px);
}

.itvw-pg .post-card-img {
    width: 100%;
    height: 200px;
    overflow: hidden;
    position: relative;
}

.itvw-pg .post-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.38s ease-out;
}

.itvw-pg .post-card:hover .post-card-img img {
    transform: scale(1.04);
}

.itvw-pg .post-card-img::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(121, 159, 65, 0);
    transition: background 0.25s ease-out;
    pointer-events: none;
}

.itvw-pg .post-card:hover .post-card-img::after {
    background: rgba(121, 159, 65, 0.10);
}

.itvw-pg .card-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 8px;
}

.itvw-pg .card-tag {
    display: inline-block;
    font-size: 15px;
    font-weight: 700;
    color: #799F41;
    text-transform: uppercase;
    letter-spacing: 0.10em;
}

.itvw-pg .card-ttl {
    font-size: 20px;
    font-weight: 700;
    color: #1e2d0e;
    line-height: 1.5;
    letter-spacing: -0.01em;
}

.itvw-pg .card-desc {
    font-size: 15px;
    color: #3a4f22;
    line-height: 1.7;
    flex: 1 1 auto;
}

.itvw-pg .card-meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    padding-top: 8px;
    border-top: 1px solid rgba(121, 159, 65, 0.15);
}

.itvw-pg .meta-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    font-size: 15px;
    color: #5a7434;
}

.itvw-pg .meta-dot {
    width: 6px;
    height: 6px;
    border-radius: 38px;
    background: #B7CC92;
    flex-shrink: 0;
}

.itvw-pg .card-cta {
    display: inline-block;
    margin-top: 8px;
    padding: 8px 20px;
    background: #799F41;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    border-radius: 10px;
    text-decoration: none;
    letter-spacing: 0.04em;
    transition: filter 0.18s ease-out, background 0.18s ease-out;
    align-self: flex-start;
}

.itvw-pg .card-cta:hover {
    filter: brightness(1.12);
    background: #799F41;
}

.itvw-pg .compare-area {
    padding-top: 80px;
    padding-bottom: 80px;
    background: #F3F8EF;
}

.itvw-pg .compare-head-row {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 40px;
    margin-bottom: 40px;
}

.itvw-pg .compare-head-text {
    flex: 1 1 0;
}

.itvw-pg .compare-label {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #799F41;
    margin-bottom: 8px;
}

.itvw-pg .compare-h2 {
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #1e2d0e;
    line-height: 1.2;
}

.itvw-pg .compare-sub {
    flex: 0 0 320px;
    max-width: 320px;
    font-size: 17px;
    line-height: 1.7;
    color: #3a4f22;
}

.itvw-pg .compare-tbl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.itvw-pg .compare-col {
    border-radius: 22px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.itvw-pg .compare-col.before {
    background: #fff;
    box-shadow: 0 2px 3px 1px rgba(121, 159, 65, 0.06);
}

.itvw-pg .compare-col.after {
    background: #799F41;
    box-shadow: 0 5px 28px 1px rgba(121, 159, 65, 0.09);
}

.itvw-pg .compare-col-lbl {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.itvw-pg .compare-col.before .compare-col-lbl {
    color: #799F41;
}

.itvw-pg .compare-col.after .compare-col-lbl {
    color: #B7CC92;
}

.itvw-pg .compare-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    font-size: 17px;
    line-height: 1.5;
}

.itvw-pg .compare-col.before .compare-item {
    color: #3a4f22;
}

.itvw-pg .compare-col.after .compare-item {
    color: #fff;
}

.itvw-pg .arr-icon {
    flex-shrink: 0;
    margin-top: 4px;
}

.itvw-pg .arr-icon svg {
    display: block;
}

.itvw-pg .topics-area {
    padding-top: 80px;
    padding-bottom: 80px;
    background: #fff;
}

.itvw-pg .topics-inner {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
    align-items: start;
}

.itvw-pg .topics-main {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.itvw-pg .topics-lbl {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #799F41;
}

.itvw-pg .topics-h2 {
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #1e2d0e;
    line-height: 1.2;
}

.itvw-pg .topics-body {
    font-size: 17px;
    line-height: 1.7;
    color: #3a4f22;
}

.itvw-pg .topics-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.itvw-pg .topics-list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    font-size: 17px;
    line-height: 1.5;
    color: #1e2d0e;
}

.itvw-pg .topics-list li .meta-dot {
    margin-top: 8px;
}

.itvw-pg .topics-aside {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.itvw-pg .aside-card {
    border-radius: 22px;
    background: #F3F8EF;
    padding: 20px;
    box-shadow: 0 2px 3px 1px rgba(121, 159, 65, 0.06);
}

.itvw-pg .aside-card-h {
    font-size: 17px;
    font-weight: 700;
    color: #1e2d0e;
    margin-bottom: 8px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.itvw-pg .aside-card-p {
    font-size: 15px;
    line-height: 1.7;
    color: #3a4f22;
}

.itvw-pg .three-col-area {
    padding-top: 80px;
    padding-bottom: 80px;
    background: #1e2d0e;
}

.itvw-pg .three-col-lbl {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #B7CC92;
    margin-bottom: 8px;
    text-align: center;
}

.itvw-pg .three-col-h2 {
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #fff;
    line-height: 1.2;
    margin-bottom: 40px;
    text-align: center;
}

.itvw-pg .three-cols {
    display: grid;
    grid-template-columns: 1fr 0.7fr 1fr;
    gap: 20px;
    align-items: start;
}

.itvw-pg .tcol {
    border-radius: 22px;
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    background: rgba(121, 159, 65, 0.10);
    transition: background 0.28s ease-out;
}

.itvw-pg .tcol:hover {
    background: rgba(121, 159, 65, 0.20);
}

.itvw-pg .tcol.center {
    padding: 20px;
    background: rgba(183, 204, 146, 0.08);
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.itvw-pg .tcol-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #799F41;
    display: flex;
    align-items: center;
    justify-content: center;
}

.itvw-pg .tcol-h {
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.02em;
    line-height: 1.2;
    text-transform: uppercase;
}

.itvw-pg .tcol-p {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.75);
}

.itvw-pg .tcol.center .tcol-h {
    color: #B7CC92;
    text-align: center;
}

.itvw-pg .tcol.center .tcol-p {
    color: rgba(255, 255, 255, 0.60);
    text-align: center;
    font-size: 15px;
}

.itvw-pg .cta-area {
    padding-top: 80px;
    padding-bottom: 80px;
    background: #F3F8EF;
}

.itvw-pg .cta-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px;
    background: #799F41;
    border-radius: 22px;
    padding: 40px;
    box-shadow: 0 5px 28px 1px rgba(121, 159, 65, 0.09);
    position: relative;
    overflow: hidden;
}

.itvw-pg .cta-inner::before {
    content: '';
    position: absolute;
    top: -60px;
    right: -60px;
    width: 240px;
    height: 240px;
    border-radius: 38px;
    background: rgba(183, 204, 146, 0.15);
    pointer-events: none;
}

.itvw-pg .cta-text {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.itvw-pg .cta-h2 {
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 800;
    color: #fff;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.itvw-pg .cta-p {
    font-size: 17px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.85);
}

.itvw-pg .cta-btn-wrap {
    flex-shrink: 0;
}

.itvw-pg .cta-btn {
    display: inline-block;
    padding: 20px 40px;
    background: #fff;
    color: #799F41;
    font-size: 17px;
    font-weight: 800;
    border-radius: 10px;
    text-decoration: none;
    letter-spacing: 0.04em;
    transition: filter 0.20s ease-out;
    white-space: nowrap;
}

.itvw-pg .cta-btn:hover {
    filter: brightness(0.96);
}

@media (max-width: 1024px) {
    .itvw-pg .ttl-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .itvw-pg .ttl-img-col {
        flex: 0 0 auto;
        max-width: 100%;
        width: 100%;
    }

    .itvw-pg .ttl-img-wrap {
        width: 100%;
        height: 280px;
    }

    .itvw-pg .card-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .itvw-pg .compare-head-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .itvw-pg .compare-sub {
        max-width: 100%;
        flex: 0 0 auto;
    }

    .itvw-pg .topics-inner {
        grid-template-columns: 1fr;
    }

    .itvw-pg .three-cols {
        grid-template-columns: 1fr 1fr;
    }

    .itvw-pg .tcol.center {
        grid-column: 1 / -1;
    }

    .itvw-pg .cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 768px) {
    .itvw-pg .card-grid {
        grid-template-columns: 1fr;
    }

    .itvw-pg .compare-tbl {
        grid-template-columns: 1fr;
    }

    .itvw-pg .three-cols {
        grid-template-columns: 1fr;
    }

    .itvw-pg .tcol.center {
        grid-column: auto;
    }

    .itvw-pg .stat-row {
        flex-wrap: wrap;
    }

    .itvw-pg .ttl-blk {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .itvw-pg .ttl-text-col {
        padding-top: 40px;
    }
}

@media (max-width: 360px) {
    .itvw-pg .pg-bound {
        padding-left: 8px;
        padding-right: 8px;
    }

    .itvw-pg .cta-inner {
        padding: 20px;
    }

    .itvw-pg .compare-col {
        padding: 20px;
    }
}

.int-stu {
    max-width: 100%;
    overflow-x: hidden;
}

.int-stu .pg-strip {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
}

.int-stu .reveal-el {
    animation: blurReveal 0.45s ease-out both;
}

.int-stu .reveal-el.d1 {
    animation-delay: 0.08s;
}

.int-stu .reveal-el.d2 {
    animation-delay: 0.18s;
}

.int-stu .reveal-el.d3 {
    animation-delay: 0.28s;
}

.int-stu .reveal-el.d4 {
    animation-delay: 0.38s;
}

@keyframes blurReveal {
    from {
        filter: blur(6px);
        opacity: 0;
    }

    to {
        filter: blur(0);
        opacity: 1;
    }
}

.int-stu .top-band {
    background: #fff;
    padding: 40px 0;
    border-bottom: 4px solid #799F41;
    position: relative;
}

.int-stu .top-band-inner {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 40px;
}

.int-stu .band-img-col {
    flex: 0 0 260px;
    position: relative;
}

.int-stu .band-img-wrap {
    width: 260px;
    height: 200px;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 5px 28px 1px rgba(121, 159, 65, 0.09);
    position: relative;
}

.int-stu .band-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: sepia(0.25) saturate(1.3) brightness(0.92);
    display: block;
}

.int-stu .band-img-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(121, 159, 65, 0.18) 0%, transparent 60%);
    border-radius: 10px;
    pointer-events: none;
}

.int-stu .band-text-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.int-stu .dot-grid {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    border-radius: 0;
    z-index: 0;
}

.int-stu .dot-grid svg {
    width: 100%;
    height: 100%;
    opacity: 0.18;
}

.int-stu .band-text-col>*:not(.dot-grid) {
    position: relative;
    z-index: 1;
}

.int-stu .page-eyebrow {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #799F41;
    margin-bottom: 8px;
    line-height: 1.2;
}

.int-stu .page-h1 {
    font-size: 36px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #2a3a12;
    margin-bottom: 8px;
}

.int-stu .band-accent-line {
    width: 48px;
    height: 3px;
    background: #799F41;
    border-radius: 0;
    margin-bottom: 20px;
}

.int-stu .band-lead {
    font-size: 17px;
    line-height: 1.7;
    color: #3a4a20;
    max-width: 520px;
}

.int-stu .band-corner-tl {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 32px 32px 0 0;
    border-color: #B7CC92 transparent transparent transparent;
    pointer-events: none;
}

.int-stu .band-corner-br {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 28px 28px;
    border-color: transparent transparent #F3F8EF transparent;
    pointer-events: none;
}

.int-stu .detail-sec {
    background: #F3F8EF;
    padding: 80px 0;
    position: relative;
}

.int-stu .detail-sec::before {
    content: "";
    display: block;
    height: 4px;
    background: linear-gradient(90deg, #2a3a12 0%, #799F41 45%, #B7CC92 100%);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

.int-stu .detail-corner-tr {
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 36px 36px 0;
    border-color: transparent #799F41 transparent transparent;
    pointer-events: none;
}

.int-stu .detail-corner-bl {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 28px 0 0 28px;
    border-color: transparent transparent transparent #B7CC92;
    pointer-events: none;
}

.int-stu .detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

.int-stu .detail-left {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.int-stu .detail-sec-label {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #799F41;
    line-height: 1.2;
}

.int-stu .detail-h2 {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #2a3a12;
    line-height: 1.2;
}

.int-stu .detail-accent {
    width: 40px;
    height: 3px;
    background: #799F41;
    border-radius: 0;
}

.int-stu .detail-body {
    display: flex;
    flex-direction: row;
    gap: 20px;
}

.int-stu .detail-main-txt {
    flex: 2;
}

.int-stu .detail-side-txt {
    flex: 1;
    padding-top: 4px;
}

.int-stu .detail-para {
    font-size: 17px;
    line-height: 1.7;
    color: #2e3d15;
    margin-bottom: 20px;
}

.int-stu .detail-para:last-child {
    margin-bottom: 0;
}

.int-stu .detail-side-note {
    font-size: 15px;
    line-height: 1.7;
    color: #4a5e28;
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 2px 3px 1px rgba(121, 159, 65, 0.06);
}

.int-stu .detail-right {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.int-stu .topic-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.int-stu .topic-list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    font-size: 17px;
    line-height: 1.5;
    color: #2e3d15;
}

.int-stu .topic-list li .arr {
    flex-shrink: 0;
    margin-top: 4px;
    width: 14px;
    height: 14px;
    display: inline-block;
}

.int-stu .topic-list li .arr svg {
    width: 14px;
    height: 14px;
    display: block;
}

.int-stu .profile-card {
    background: #fff;
    border-radius: 22px;
    padding: 20px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    box-shadow: 0 5px 28px 1px rgba(121, 159, 65, 0.09);
}

.int-stu .profile-img-wrap {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 2px 3px 1px rgba(121, 159, 65, 0.06);
}

.int-stu .profile-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.int-stu .profile-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.int-stu .profile-name {
    font-size: 17px;
    font-weight: 700;
    color: #2a3a12;
    line-height: 1.2;
}

.int-stu .profile-role {
    font-size: 15px;
    color: #799F41;
    line-height: 1.5;
}

.int-stu .profile-quote {
    font-size: 15px;
    line-height: 1.7;
    color: #4a5e28;
    font-style: italic;
}

.int-stu .metrics-row {
    display: flex;
    flex-direction: row;
    gap: 8px;
}

.int-stu .metric-box {
    flex: 1;
    background: #799F41;
    border-radius: 10px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    transition: box-shadow 0.22s ease-out, transform 0.22s ease-out;
}

.int-stu .metric-box:hover {
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
    transform: translateY(-2px);
}

.int-stu .metric-box.light {
    background: #fff;
    box-shadow: 0 2px 3px 1px rgba(121, 159, 65, 0.06);
}

.int-stu .metric-val {
    font-size: 26px;
    font-weight: 800;
    color: #fff;
    line-height: 1.2;
}

.int-stu .metric-box.light .metric-val {
    color: #2a3a12;
}

.int-stu .metric-lbl {
    font-size: 15px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.88);
}

.int-stu .metric-box.light .metric-lbl {
    color: #4a5e28;
}

.int-stu .news-link-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

.int-stu .news-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 700;
    color: #799F41;
    text-decoration: none !important;
    letter-spacing: 0.04em;
    transition: color 0.2s ease-out;
}

.int-stu .news-link:hover {
    color: #2a3a12;
}

.int-stu .news-link svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    transition: transform 0.2s ease-out;
}

.int-stu .news-link:hover svg {
    transform: translateX(3px);
}

@media (max-width: 1024px) {
    .int-stu .detail-grid {
        grid-template-columns: 1fr;
    }

    .int-stu .page-h1 {
        font-size: 26px;
    }
}

@media (max-width: 768px) {
    .int-stu .top-band-inner {
        flex-direction: column;
    }

    .int-stu .band-img-col {
        flex: 0 0 auto;
    }

    .int-stu .band-img-wrap {
        width: 100%;
        height: 180px;
    }

    .int-stu .detail-body {
        flex-direction: column;
    }

    .int-stu .metrics-row {
        flex-direction: column;
    }

    .int-stu .profile-card {
        flex-direction: column;
        text-align: center;
    }

    .int-stu .top-band {
        padding: 40px 0;
    }

    .int-stu .detail-sec {
        padding: 40px 0;
    }
}

@media (max-width: 360px) {
    .int-stu .page-h1 {
        font-size: 20px;
    }

    .int-stu .detail-h2 {
        font-size: 20px;
    }
}

.success-pg {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 20px;
    background-color: #F3F8EF;
}

.success-pg .inner-wrap {
    max-width: 560px;
    width: 100%;
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
    padding: 80px 40px;
    text-align: center;
}

.success-pg .icon-ring {
    width: 72px;
    height: 72px;
    border-radius: 38px;
    background: #F3F8EF;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin: 0 auto 40px;
    box-shadow: 0 2px 3px 1px rgba(121, 159, 65, 0.06);
}

.success-pg .icon-ring svg {
    display: block;
}

.success-pg .msg-heading {
    font-size: 36px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: #2d3a1e;
    margin: 0 0 20px;
}

.success-pg .msg-body {
    font-size: 17px;
    line-height: 1.7;
    color: #3d4d28;
    margin: 0 0 40px;
}

.success-pg .divider-line {
    width: 48px;
    height: 3px;
    border-radius: 0px;
    margin: 0 auto 40px;
}

.success-pg .back-btn {
    display: inline-block;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: lowercase;
    color: #fff;
    background: #799F41;
    border-radius: 10px;
    padding: 20px 40px;
    transition: background-color 0.22s ease-out, box-shadow 0.18s ease-out;
    box-shadow: 0 5px 28px 1px rgba(121, 159, 65, 0.09);
}

.success-pg .back-btn:hover {
    background: #6a8e36;
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
    filter: brightness(1.06);
}

.success-pg .back-btn:focus {
    outline: 2px solid #799F41;
    outline-offset: 4px;
}

.success-pg .ref-note {
    font-size: 15px;
    line-height: 1.5;
    color: #6a7a52;
    margin: 20px 0 0;
}

@media (max-width: 768px) {
    .success-pg .inner-wrap {
        padding: 40px 20px;
    }

    .success-pg .msg-heading {
        font-size: 26px;
    }
}

.pg404 {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 20px;
    background-color: #F3F8EF;
}

.pg404 .err-wrap {
    max-width: 1140px;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 80px;
}

.pg404 .err-visual {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.pg404 .err-code {
    font-size: 68px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -0.04em;
    color: #799F41;
    text-transform: uppercase;
    position: relative;
}

.pg404 .err-code span {
    display: block;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.18em;
    color: #B7CC92;
    text-transform: uppercase;
    text-align: center;
    margin-top: 4px;
}

.pg404 .err-divider {
    width: 2px;
    height: 220px;
    background: linear-gradient(180deg, #F3F8EF 0%, #799F41 40%, #B7CC92 70%, #F3F8EF 100%);
    flex-shrink: 0;
}

.pg404 .err-content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.pg404 .err-content .err-heading {
    font-size: 36px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #2d3a1e;
    text-transform: uppercase;
}

.pg404 .err-content .err-text {
    font-size: 17px;
    line-height: 1.7;
    color: #3d4d28;
    max-width: 480px;
}

.pg404 .err-content .err-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px;
}

.pg404 .err-content .err-links .link-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.5;
}

.pg404 .err-content .err-links .link-row .arrow-icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.pg404 .err-content .err-links .link-row .arrow-icon svg {
    width: 16px;
    height: 16px;
}

.pg404 .err-content .err-links a {
    color: #799F41;
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px solid #B7CC92;
    transition: color 0.2s ease-out, border-color 0.25s ease-out;
}

.pg404 .err-content .err-links a:hover {
    color: #4d6a22;
    border-color: #799F41;
}

.pg404 .err-content .err-links a:focus {
    outline: 2px solid #799F41;
    outline-offset: 2px;
    border-radius: 0px;
}

.pg404 .err-content .back-btn {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    padding: 20px 40px;
    background-color: #799F41;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: lowercase;
    text-decoration: none;
    border-radius: 10px;
    box-shadow: 0 5px 28px 1px rgba(121, 159, 65, 0.09);
    transition: background-color 0.2s ease-out, box-shadow 0.35s ease-out;
    align-self: flex-start;
}

.pg404 .err-content .back-btn:hover {
    background-color: #5e7f2e;
    box-shadow: 0 9px 44px 1px rgba(121, 159, 65, 0.13);
    filter: brightness(1.08);
}

.pg404 .err-content .back-btn:focus {
    outline: 2px solid #2d3a1e;
    outline-offset: 3px;
}

.pg404 .err-content .back-btn svg {
    width: 16px;
    height: 16px;
}

@media (max-width: 768px) {
    .pg404 .err-wrap {
        flex-direction: column;
        gap: 40px;
        align-items: flex-start;
    }

    .pg404 .err-divider {
        width: 60px;
        height: 2px;
        background: linear-gradient(90deg, #F3F8EF 0%, #799F41 40%, #B7CC92 70%, #F3F8EF 100%);
    }

    .pg404 .err-code {
        font-size: 50px;
    }

    .pg404 .err-content .err-heading {
        font-size: 26px;
    }
}

@media (max-width: 360px) {
    .pg404 {
        padding: 40px 20px;
    }

    .pg404 .err-code {
        font-size: 36px;
    }

    .pg404 .err-content .err-heading {
        font-size: 20px;
    }

    .pg404 .err-content .back-btn {
        padding: 20px 20px;
    }
}