@import url('variables.css');
@import url('buttons.css');
@import url('forms.css');

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background:
        radial-gradient(circle at 8% 0%, rgba(122, 79, 44, 0.08), transparent 30vw),
        radial-gradient(circle at 94% 14%, rgba(23, 55, 95, 0.10), transparent 34vw),
        linear-gradient(180deg, #f7f4ee 0%, var(--bg-primary) 42%, #f4f0e8 100%);
    color: var(--text-primary);
    font-family: var(--font-main);
    font-size: var(--font-size-base);
    line-height: 1.72;
    -webkit-font-smoothing: antialiased;
}

button,
input,
textarea {
    font: inherit;
}

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

h1,
h2,
h3 {
    color: var(--text-primary);
    font-family: var(--font-display);
    letter-spacing: 0;
    line-height: 1.01;
    margin: 0;
}

h1:focus,
h2:focus,
h3:focus {
    outline: none !important;
}

h1 {
    font-size: var(--h1-size);
    font-weight: 780;
    max-width: 1040px;
}

h2 {
    font-size: var(--h2-size);
    font-weight: 730;
    max-width: 1080px;
}

h3 {
    font-size: var(--h3-size);
    font-weight: 720;
}

p {
    color: var(--text-secondary);
    margin: 0;
}

a {
    color: inherit;
}

.container {
    width: calc(100% - clamp(28px, 6vw, 112px));
    margin: 0 auto;
}

.section {
    padding: clamp(86px, 11vw, 154px) 0;
}

.tinted {
    background: transparent;
}

.tinted .container {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.78), rgba(242, 239, 232, 0.7)),
        radial-gradient(circle at 86% 12%, rgba(23, 55, 95, 0.08), transparent 28vw);
    border: 1px solid rgba(222, 216, 204, 0.72);
    border-radius: 32px;
    padding: clamp(34px, 5vw, 76px);
}

.dark-band {
    background: transparent;
    color: var(--text-inverse);
}

.dark-band .container {
    background:
        radial-gradient(circle at 78% 0%, rgba(122, 79, 44, 0.28), transparent 28vw),
        linear-gradient(135deg, var(--bg-ink), #10294b);
    border-radius: 32px;
    padding: clamp(34px, 5vw, 76px);
    box-shadow: 0 28px 90px rgba(6, 23, 45, 0.14);
}

.dark-band h2,
.dark-band h3,
.dark-band p {
    color: var(--text-inverse);
}

.dark-band p {
    opacity: 0.78;
}

.section-kicker {
    color: var(--accent-warm);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    margin-bottom: var(--space-3);
    text-transform: uppercase;
}

.section-head {
    display: grid;
    gap: var(--space-4);
    margin-bottom: clamp(56px, 8vw, 104px);
    max-width: 1080px;
}

.section-head p {
    font-size: clamp(1.14rem, 1.35vw, 1.32rem);
    max-width: 760px;
}

.section-head.narrow {
    max-width: 980px;
}

.split-grid,
.hero-grid,
.format-grid,
.apply-grid,
.footer-grid {
    display: grid;
    gap: clamp(48px, 7vw, 128px);
}

.split-grid,
.format-grid,
.apply-grid {
    align-items: start;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.text-stack {
    display: grid;
    gap: var(--space-4);
}

.text-stack p {
    font-size: clamp(1.18rem, 1.42vw, 1.4rem);
    max-width: 820px;
}

blockquote {
    border-left: 3px solid var(--accent-warm);
    color: var(--accent);
    font-size: clamp(1.45rem, 2.3vw, 2.25rem);
    font-weight: 800;
    line-height: 1.28;
    margin: var(--space-2) 0 0;
    padding: var(--space-2) 0 var(--space-2) var(--space-3);
}

.text-plaque {
    background: rgba(252, 251, 248, 0.84);
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 18px;
    box-shadow: 0 28px 95px rgba(6, 23, 45, 0.16);
    padding: clamp(28px, 4.5vw, 72px);
    backdrop-filter: blur(18px);
}

.hero .text-plaque {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
    backdrop-filter: none;
}

.header-bar {
    background: rgba(252, 251, 248, 0.88);
    border-bottom: 1px solid rgba(222, 216, 204, 0.8);
    backdrop-filter: blur(18px);
    position: sticky;
    top: 0;
    z-index: 100;
}

.header-inner {
    align-items: center;
    display: flex;
    gap: var(--space-3);
    justify-content: space-between;
    min-height: 76px;
}

.logo-button {
    background: transparent;
    border: 0;
    color: var(--accent);
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    padding: 0;
    text-transform: uppercase;
}

.main-nav,
.header-actions,
.language-switch {
    align-items: center;
    display: flex;
}

.main-nav {
    gap: var(--space-3);
}

.main-nav a,
.footer-nav a {
    color: var(--text-secondary);
    font-size: 0.86rem;
    font-weight: 700;
    text-decoration: none;
}

.main-nav a:hover,
.footer-nav a:hover {
    color: var(--accent);
}

.header-actions {
    gap: var(--space-2);
}

.language-switch {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: 4px;
}

.language-switch button {
    background: transparent;
    border: 0;
    border-radius: 999px;
    color: var(--text-secondary);
    cursor: pointer;
    font-size: 0.72rem;
    font-weight: 900;
    min-width: 34px;
    padding: 6px 8px;
}

.language-switch button.is-active {
    background: var(--accent);
    color: var(--text-inverse);
}

.hero {
    isolation: isolate;
    min-height: calc(100vh - 76px);
    overflow: hidden;
    padding: clamp(18px, 3vw, 42px) 0 clamp(30px, 5vw, 64px);
    position: relative;
}

.hero::before {
    background: linear-gradient(180deg, rgba(244, 239, 230, 0.56), rgba(244, 239, 230, 0.18));
    content: "";
    inset: 0;
    position: absolute;
    z-index: -1;
}

.hero::after {
    background: rgba(6, 23, 45, 0.12);
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    right: 0;
}

.hero-grid {
    --hero-milk-start: 0.96;
    --hero-milk-middle: 0.73;
    --hero-milk-end: 0.96;
    align-items: center;
    background:
        linear-gradient(108deg, rgba(253, 250, 244, var(--hero-milk-start)) 0%, rgba(250, 246, 238, var(--hero-milk-middle)) 45%, rgba(245, 239, 228, var(--hero-milk-end)) 100%),
        url('/img/main.png');
    background-position: center;
    background-size: cover;
    border: 1px solid rgba(222, 216, 204, 0.72);
    border-radius: 36px;
    box-shadow: 0 32px 100px rgba(6, 23, 45, 0.12);
    gap: clamp(20px, 3vw, 52px);
    grid-template-columns: minmax(0, 1.42fr) minmax(320px, 0.44fr);
    min-height: min(860px, calc(100vh - 76px));
    overflow: hidden;
    padding: clamp(20px, 2.6vw, 38px) clamp(22px, 3.6vw, 58px);
    position: relative;
}

.hero-copy {
    display: grid;
    gap: var(--space-2);
    max-width: none;
}

.hero h1 {
    font-size: clamp(3.15rem, 5.25vw, 6.45rem);
    line-height: 0.98;
    max-width: none;
}

.hero-lead {
    color: var(--text-primary);
    font-size: clamp(1.2rem, 1.7vw, 1.55rem);
    font-weight: 520;
    max-width: 820px;
}

.hero-rotator {
    align-items: center;
    display: flex;
    min-height: clamp(112px, 10vw, 160px);
    overflow: hidden;
    padding-left: clamp(58px, 6vw, 102px);
    position: relative;
}

.hero-rotator::before {
    color: rgba(122, 79, 44, 0.24);
    content: "“";
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(5.5rem, 10vw, 11rem);
    font-weight: 700;
    left: 0;
    line-height: 0.8;
    position: absolute;
    top: clamp(8px, 1.5vw, 22px);
}

.hero-rotator-text {
    align-items: center;
    animation: heroQuoteSwipe 680ms cubic-bezier(0.22, 1, 0.36, 1) both;
    color: var(--accent-warm);
    display: flex;
    font-family: var(--font-display);
    font-size: clamp(1.45rem, 2.18vw, 2.35rem);
    font-weight: 760;
    inset: 0 0 0 clamp(58px, 6vw, 102px);
    line-height: 1.18;
    max-width: min(860px, 100%);
    position: absolute;
}

.hero-cta-panel {
    align-self: center;
    background:
        linear-gradient(145deg, rgba(16, 41, 75, 0.96), rgba(6, 23, 45, 0.94)),
        radial-gradient(circle at 88% 8%, rgba(122, 79, 44, 0.42), transparent 18vw);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 24px;
    box-shadow: 0 28px 86px rgba(6, 23, 45, 0.18);
    display: grid;
    gap: clamp(26px, 3vw, 42px);
    justify-items: start;
    margin-top: clamp(12px, 3vw, 44px);
    min-height: clamp(500px, 30vw, 410px);
    padding: clamp(34px, 4vw, 62px);
    width: 100%;
}

    .hero-cta-panel .btn {
        background: #f4eadc;
        box-shadow: 0 0 0 1px rgba(255, 248, 238, 0.9), 0 18px 42px rgba(255, 248, 238, 0.34);
        color: var(--accent-warm);
        font-size: 1.0rem;
        font-weight: 900;
        letter-spacing: 0;
        min-height: 56px;
        max-width: 100%;
        padding: 0 18px;
        text-transform: none;
        white-space: nowrap;
        width: 100%;
    }

.hero-cta-panel .btn:hover,
.hero-cta-panel .btn:focus-visible,
.hero-cta-panel .btn:active {
    background: var(--accent-warm);
    box-shadow: 0 0 0 1px rgba(244, 234, 220, 0.86), 0 18px 42px rgba(122, 79, 44, 0.32);
    color: #f4eadc;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-top: var(--space-1);
}

.hero-note {
    color: var(--text-inverse);
    font-size: clamp(1.5rem, 1.0vw, 2.0rem);
    max-width: 420px;
    font-weight: 700;
}

.hero-meta {
    border-top: 1px solid var(--border);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-2);
    padding-top: var(--space-3);
}

.hero-meta span {
    align-items: center;
    color: var(--accent);
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 900;
    gap: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.hero-portrait {
    align-self: end;
    background:
        radial-gradient(circle at 50% 28%, rgba(255, 255, 255, 0.92), rgba(214, 205, 192, 0.45) 54%, rgba(23, 55, 95, 0.10));
    border-radius: 28px;
    margin: 0;
    min-height: 560px;
    overflow: hidden;
    position: relative;
}

.hero-portrait::before {
    border: 1px solid rgba(23, 55, 95, 0.16);
    border-radius: 999px;
    content: "";
    height: 78%;
    left: 10%;
    position: absolute;
    top: 11%;
    width: 82%;
}

.hero-portrait img {
    filter: saturate(0.94) contrast(1.02);
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
    position: absolute;
    width: 100%;
    z-index: 1;
}

.recognition {
    padding-top: clamp(58px, 7vw, 108px);
}

.recognition-layout {
    display: grid;
    gap: clamp(18px, 2.4vw, 34px);
}

.recognition-top {
    align-items: start;
    display: grid;
    gap: clamp(24px, 3vw, 42px);
    grid-template-columns: 1fr;
}

.recognition-head {
    display: grid;
    gap: var(--space-3);
    align-content: start;
    max-width: none;
}

.recognition-head .section-kicker {
    align-items: center;
    border: 1px solid rgba(122, 79, 44, 0.36);
    border-radius: 999px;
    display: inline-flex;
    height: 58px;
    justify-content: center;
    margin-bottom: 0;
    width: 76px;
}

.recognition-head h2 {
    margin-inline: auto;
    max-width: 980px;
    text-align: center;
}

.recognition-state-row {
    background: rgba(252, 251, 248, 0.82);
    border: 1px solid rgba(222, 216, 204, 0.78);
    border-radius: 24px;
    box-shadow: 0 24px 80px rgba(6, 23, 45, 0.08);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    overflow: hidden;
    backdrop-filter: blur(12px);
}

.recognition-state-card {
    align-items: center;
    display: grid;
    gap: var(--space-2);
    grid-template-columns: 58px 1fr;
    min-height: 118px;
    padding: clamp(16px, 1.8vw, 24px);
}

.recognition-state-card + .recognition-state-card {
    border-left: 1px solid var(--border);
    border-top: 0;
}

.recognition-state-card h3 {
    font-size: clamp(1rem, 1.16vw, 1.22rem);
    margin-bottom: 0;
}

.recognition-state-card p {
    color: var(--text-primary);
    font-size: clamp(1rem, 1.15vw, 1.16rem);
    font-weight: 650;
    line-height: 1.45;
}

.recognition-icon {
    background: #f7ead8;
    border: 1px solid rgba(122, 79, 44, 0.18);
    border-radius: 999px;
    color: var(--accent-warm);
    display: block;
    height: 54px;
    justify-self: center;
    position: relative;
    width: 54px;
}

.recognition-icon-img {
    display: block;
    height: 68px;
    justify-self: center;
    object-fit: contain;
    transform: scale(1.35);
    width: 68px;
}

.recognition-icon::before,
.recognition-icon::after {
    content: "";
    position: absolute;
}

.recognition-icon-flow::before {
    background: currentColor;
    border-radius: 999px;
    box-shadow: 15px 10px 0 currentColor, 30px 20px 0 currentColor;
    height: 8px;
    left: 10px;
    top: 14px;
    width: 8px;
}

.recognition-icon-flow::after {
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    height: 28px;
    left: 17px;
    top: 17px;
    transform: skewX(-16deg);
    width: 28px;
}

.recognition-icon-briefcase::before {
    border: 2px solid currentColor;
    border-radius: 6px;
    height: 20px;
    left: 15px;
    top: 23px;
    width: 28px;
}

.recognition-icon-briefcase::after {
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 6px 6px 0 0;
    height: 8px;
    left: 23px;
    top: 16px;
    width: 12px;
}

.recognition-icon-family::before {
    border: 2px solid currentColor;
    border-radius: 50%;
    box-shadow: -13px 7px 0 -7px currentColor, 13px 7px 0 -7px currentColor;
    height: 11px;
    left: 22px;
    top: 16px;
    width: 11px;
}

.recognition-icon-family::after {
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 18px 18px 0 0;
    height: 15px;
    left: 13px;
    top: 33px;
    width: 30px;
}

.recognition-icon-lock::before {
    border: 2px solid currentColor;
    border-radius: 5px;
    height: 22px;
    left: 17px;
    top: 25px;
    width: 24px;
}

.recognition-icon-lock::after {
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
    height: 13px;
    left: 22px;
    top: 14px;
    width: 14px;
}

.recognition-icon-people::before {
    border: 2px solid currentColor;
    border-radius: 50%;
    box-shadow: -14px 4px 0 -7px currentColor, 14px 4px 0 -7px currentColor;
    height: 11px;
    left: 22px;
    top: 16px;
    width: 11px;
}

.recognition-icon-people::after {
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 20px 20px 0 0;
    height: 15px;
    left: 12px;
    top: 34px;
    width: 32px;
}

.recognition-bottom {
    align-items: start;
    display: grid;
    gap: clamp(34px, 5vw, 76px);
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.78fr);
}

.recognition-aside {
    display: grid;
    align-self: stretch;
}

.recognition-photo {
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(6, 23, 45, 0.12);
    height: 100%;
    margin: 0;
    min-height: clamp(560px, 48vw, 720px);
    overflow: hidden;
    position: relative;
}

.recognition-photo::after {
    background: linear-gradient(180deg, rgba(252, 251, 248, 0.04), rgba(6, 23, 45, 0.28));
    content: "";
    inset: 0;
    position: absolute;
}

    .recognition-photo img {
        height: 100%;
        object-fit: cover;
        object-position: center 15%;
        position: absolute;
        width: 100%;
    }

.recognition-signals {
    display: grid;
    gap: var(--space-2);
    padding-top: clamp(10px, 1.2vw, 18px);
}

.recognition-signals h3 {
    color: var(--accent-warm);
    font-size: clamp(1.9rem, 3vw, 3.35rem);
    max-width: 980px;
}

.recognition-signals > p {
    color: var(--text-primary);
    font-size: clamp(1.08rem, 1.25vw, 1.22rem);
    font-weight: 650;
}

.recognition-list {
    display: grid;
    gap: 0;
    list-style: none;
    margin: var(--space-1) 0 0;
    max-width: 920px;
    padding: 0;
}

.recognition-list li {
    align-items: start;
    border-top: 1px solid var(--border);
    color: var(--text-primary);
    display: grid;
    font-size: clamp(1.14rem, 1.36vw, 1.38rem);
    font-weight: 750;
    gap: var(--space-2);
    grid-template-columns: 52px 1fr;
    line-height: 1.48;
    padding: 18px 0;
}

.recognition-list li::before {
    color: var(--accent-warm);
    content: "“";
    font-family: Georgia, "Times New Roman", serif;
    font-size: 4.2rem;
    font-weight: 900;
    line-height: 0.82;
    opacity: 0.62;
}

.recognition-summary,
.recognition-photo-caption {
    background:
        radial-gradient(circle at 92% 0%, rgba(122, 79, 44, 0.30), transparent 26vw),
        linear-gradient(145deg, rgba(16, 41, 75, 0.97), rgba(6, 23, 45, 0.95));
    border: 1px solid rgba(244, 234, 220, 0.28);
    border-radius: 24px;
    box-shadow: 0 28px 80px rgba(6, 23, 45, 0.20);
    color: var(--text-inverse);
    display: grid;
    gap: var(--space-3);
    padding: clamp(32px, 4vw, 54px);
}

.recognition-photo-caption {
    background:
        radial-gradient(circle at 92% 0%, rgba(122, 79, 44, 0.14), transparent 28vw),
        linear-gradient(145deg, rgba(16, 41, 75, 0.58), rgba(6, 23, 45, 0.48));
    backdrop-filter: blur(10px);
    bottom: clamp(22px, 3vw, 42px);
    left: clamp(18px, 2.4vw, 34px);
    position: absolute;
    right: clamp(18px, 2.4vw, 34px);
    z-index: 2;
}

.recognition-summary strong,
.recognition-summary p,
.recognition-photo-caption strong,
.recognition-photo-caption p {
    color: var(--text-inverse);
}

.recognition-summary strong,
.recognition-photo-caption strong {
    font-family: var(--font-display);
    font-size: clamp(1.55rem, 2.4vw, 2.35rem);
    font-weight: 780;
    line-height: 1.18;
}

.recognition-summary p,
.recognition-photo-caption p {
    border-left: 2px solid var(--accent-warm);
    font-size: clamp(1rem, 1.18vw, 1.18rem);
    font-weight: 560;
    line-height: 1.62;
    padding-left: var(--space-3);
}

.recognition-quote-mark {
    color: var(--accent-warm);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(4rem, 6vw, 6rem);
    font-weight: 700;
    line-height: 0.65;
}

@keyframes heroQuoteSwipe {
    from {
        opacity: 0;
        transform: translateX(-36px);
    }

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

.what-grid {
    align-items: start;
    display: grid;
    gap: clamp(40px, 6vw, 96px);
    grid-template-columns: 0.78fr 1.22fr;
}

.effort-block {
    background: linear-gradient(180deg, rgba(247, 243, 237, 0.42), rgba(252, 251, 248, 0.92));
}

.effort-pages {
    background: rgba(252, 251, 248, 0.82);
    border: 1px solid rgba(222, 216, 204, 0.72);
    box-shadow: 0 24px 70px rgba(6, 23, 45, 0.09);
    display: grid;
    gap: clamp(22px, 2vw, 34px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: clamp(28px, 3.5vw, 52px);
}

.effort-page {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(222, 216, 204, 0.78);
    display: grid;
    min-height: clamp(640px, 58vw, 800px);
    padding: clamp(46px, 5vw, 76px);
}

.effort-page-intro {
    align-content: start;
    gap: clamp(32px, 3.4vw, 56px);
}

.effort-page-actions {
    align-content: start;
    gap: clamp(28px, 3vw, 46px);
}

.effort-number {
    color: var(--text-muted);
    display: block;
    font-size: 0.92rem;
    font-weight: 650;
    letter-spacing: 0.03em;
}

.effort-page h2 {
    border-top: 1px solid var(--border);
    font-size: clamp(2.4rem, 4.2vw, 4.7rem);
    line-height: 1.12;
    padding-top: clamp(28px, 3vw, 48px);
}

.effort-page h3 {
    border-top: 1px solid var(--border);
    font-family: var(--font-body);
    font-size: clamp(1.55rem, 2.1vw, 2.25rem);
    font-weight: 560;
    line-height: 1.28;
    padding-top: clamp(28px, 3vw, 48px);
}

.effort-copy {
    display: grid;
    gap: clamp(18px, 1.8vw, 26px);
    max-width: 560px;
}

.effort-copy p {
    color: var(--text-primary);
    font-size: clamp(1.02rem, 1.13vw, 1.18rem);
    font-weight: 450;
    line-height: 1.62;
}

.effort-highlight {
    color: var(--accent-warm);
    font-weight: 800;
}

.effort-list {
    display: grid;
    list-style: none;
    margin: 0;
    padding: 0;
}

.effort-list li {
    border-top: 1px solid var(--border);
    color: var(--text-primary);
    display: grid;
    font-size: clamp(1rem, 1.1vw, 1.14rem);
    gap: var(--space-3);
    grid-template-columns: 36px 1fr;
    line-height: 1.45;
    padding: 18px 0;
}

.effort-list li::before {
    color: var(--text-muted);
    content: "—";
    font-weight: 700;
}

.effort-list li:last-child {
    border-bottom: 1px solid var(--border);
}

.effort-final {
    color: var(--text-primary);
    font-size: clamp(1.38rem, 1.8vw, 1.95rem);
    line-height: 1.45;
    margin-top: clamp(12px, 1.5vw, 24px);
}

.statement-panel {
    background: var(--bg-ink);
    border-radius: var(--radius-md);
    color: var(--text-inverse);
    display: grid;
    gap: var(--space-3);
    padding: clamp(34px, 5vw, 64px);
}

.statement-panel p,
.statement-panel strong {
    color: var(--text-inverse);
}

.statement-panel strong {
    font-size: clamp(1.55rem, 2.4vw, 2.25rem);
    line-height: 1.24;
}

.check-grid,
.signal-list,
.format-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.check-grid {
    display: grid;
    gap: 0 var(--space-5);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.check-grid li,
.signal-list li,
.format-list li {
    border-top: 1px solid var(--border);
    color: var(--text-primary);
    font-weight: 750;
    padding: var(--space-3) 0;
}

.check-grid li::before,
.signal-list li::before,
.format-list li::before {
    color: var(--accent-warm);
    content: "-";
    font-weight: 900;
    margin-right: var(--space-1);
}

.signal-list li,
.format-list li {
    border-color: rgba(255, 255, 255, 0.18);
    color: var(--text-inverse);
}

.audience-grid,
.results-grid {
    display: grid;
    gap: clamp(18px, 2vw, 34px);
    grid-template-columns: repeat(4, minmax(220px, 1fr));
}

.audience-card,
.result-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    min-height: 320px;
    padding: clamp(28px, 3vw, 46px);
}

.audience-card span,
.result-card span,
.process-list span {
    color: var(--accent-warm);
    display: block;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    margin-bottom: var(--space-3);
}

.audience-card .picto,
.result-card .picto {
    margin-bottom: var(--space-5);
}

.audience-card h3,
.result-card h3,
.process-list h3 {
    margin-bottom: var(--space-2);
}

.process-list {
    display: grid;
    gap: 0;
}

.process-list article {
    border-top: 1px solid var(--border);
    display: grid;
    gap: clamp(24px, 4vw, 64px);
    grid-template-columns: 104px minmax(260px, 0.55fr) 1fr;
    padding: clamp(34px, 4vw, 56px) 0;
}

.process-list span {
    align-items: center;
    display: flex;
    gap: 12px;
}

.visual-section {
    padding: clamp(58px, 8vw, 128px) 0;
}

.visual-grid {
    align-items: center;
    background:
        radial-gradient(circle at 16% 18%, rgba(23, 55, 95, 0.10), transparent 24vw),
        linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(242, 239, 232, 0.78));
    border: 1px solid rgba(222, 216, 204, 0.72);
    border-radius: 34px;
    display: grid;
    gap: clamp(28px, 5vw, 86px);
    grid-template-columns: minmax(340px, 0.9fr) minmax(0, 1.1fr);
    min-height: 620px;
    overflow: hidden;
    padding: clamp(24px, 4vw, 60px);
}

.visual-grid-reverse {
    grid-template-columns: minmax(0, 1.04fr) minmax(320px, 0.76fr);
}

.visual-media {
    align-self: stretch;
    background:
        radial-gradient(circle at 50% 22%, rgba(255, 255, 255, 0.96), rgba(214, 205, 192, 0.44) 58%, rgba(23, 55, 95, 0.10));
    border-radius: 28px;
    margin: 0;
    min-height: 560px;
    overflow: hidden;
    position: relative;
}

.visual-media img {
    filter: saturate(0.94) contrast(1.02);
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
    position: absolute;
    width: 100%;
}

.portrait-media {
    min-height: 620px;
}

.visual-panel {
    background: rgba(252, 251, 248, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.74);
    border-radius: 24px;
    box-shadow: 0 24px 80px rgba(6, 23, 45, 0.10);
    display: grid;
    gap: var(--space-3);
    max-width: 780px;
    padding: clamp(30px, 4vw, 64px);
    backdrop-filter: blur(16px);
}

.format-grid,
.apply-grid {
    align-items: center;
}

.application-form .apply-grid {
    align-items: center;
    gap: clamp(36px, 5vw, 82px);
    grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr);
}

.apply-copy {
    display: grid;
    gap: var(--space-3);
    max-width: 980px;
}

.site-footer {
    background: var(--bg-secondary);
    border-top: 1px solid var(--border);
    padding: var(--space-6) 0 var(--space-4);
}

.footer-grid {
    grid-template-columns: 1fr auto;
}

.footer-logo {
    color: var(--accent);
    font-weight: 900;
    letter-spacing: 0.1em;
    margin-bottom: var(--space-2);
    text-transform: uppercase;
}

.footer-nav {
    display: grid;
    gap: var(--space-1);
}

.footer-bottom {
    border-top: 1px solid var(--border);
    color: var(--text-secondary);
    display: flex;
    font-size: 0.8rem;
    gap: var(--space-3);
    justify-content: space-between;
    margin-top: var(--space-4);
    padding-top: var(--space-3);
}

.thanks-page {
    min-height: 80vh;
}

.thanks-panel {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    display: grid;
    gap: var(--space-3);
    max-width: 820px;
    padding: clamp(32px, 6vw, 64px);
}

.thanks-panel strong {
    color: var(--accent);
    font-size: 1.2rem;
}

.thanks-panel .btn {
    justify-self: start;
    margin-top: var(--space-2);
}

.picto {
    border: 1.5px solid currentColor;
    border-radius: 10px;
    color: var(--accent);
    display: inline-block;
    flex: 0 0 auto;
    height: 38px;
    position: relative;
    width: 38px;
}

.picto::before,
.picto::after {
    content: "";
    position: absolute;
}

.picto-focus::before,
.picto-lens::before {
    border: 1.5px solid currentColor;
    border-radius: 50%;
    height: 13px;
    left: 9px;
    top: 8px;
    width: 13px;
}

.picto-focus::after,
.picto-lens::after {
    background: currentColor;
    height: 2px;
    left: 21px;
    top: 23px;
    transform: rotate(45deg);
    width: 9px;
}

.picto-human::before {
    border: 1.5px solid currentColor;
    border-radius: 50%;
    height: 9px;
    left: 13px;
    top: 8px;
    width: 9px;
}

.picto-human::after {
    border: 1.5px solid currentColor;
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
    height: 11px;
    left: 9px;
    top: 22px;
    width: 17px;
}

.picto-lock::before {
    border: 1.5px solid currentColor;
    border-bottom: 0;
    border-radius: 10px 10px 0 0;
    height: 12px;
    left: 11px;
    top: 7px;
    width: 14px;
}

.picto-lock::after {
    background: currentColor;
    border-radius: 2px;
    height: 10px;
    left: 10px;
    top: 20px;
    width: 16px;
}

.picto-growth::before {
    border-left: 2px solid currentColor;
    border-top: 2px solid currentColor;
    height: 14px;
    left: 11px;
    top: 16px;
    transform: rotate(45deg);
    width: 14px;
}

.picto-growth::after {
    background: currentColor;
    height: 2px;
    left: 10px;
    top: 25px;
    width: 20px;
}

.picto-control::before {
    border: 1.5px solid currentColor;
    border-radius: 50%;
    height: 18px;
    left: 9px;
    top: 9px;
    width: 18px;
}

.picto-control::after {
    background: currentColor;
    border-radius: 50%;
    height: 6px;
    left: 16px;
    top: 16px;
    width: 6px;
}

.picto-shift::before {
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    height: 12px;
    left: 9px;
    top: 10px;
    width: 18px;
}

.picto-shift::after {
    border-bottom: 2px solid currentColor;
    border-left: 2px solid currentColor;
    height: 12px;
    left: 9px;
    top: 16px;
    width: 18px;
}

.picto-map::before {
    border: 1.5px solid currentColor;
    height: 18px;
    left: 9px;
    top: 9px;
    transform: rotate(45deg);
    width: 18px;
}

.picto-map::after {
    background: currentColor;
    border-radius: 50%;
    height: 6px;
    left: 16px;
    top: 16px;
    width: 6px;
}

.picto-cause::before {
    background: currentColor;
    height: 2px;
    left: 9px;
    top: 18px;
    transform: rotate(-35deg);
    width: 20px;
}

.picto-cause::after {
    border: 1.5px solid currentColor;
    border-radius: 50%;
    height: 18px;
    left: 9px;
    top: 9px;
    width: 18px;
}

.picto-balance::before {
    background: currentColor;
    height: 20px;
    left: 17px;
    top: 8px;
    width: 2px;
}

.picto-balance::after {
    border-bottom: 2px solid currentColor;
    border-left: 2px solid currentColor;
    border-right: 2px solid currentColor;
    height: 10px;
    left: 8px;
    top: 15px;
    width: 20px;
}

.picto-target::before {
    border: 1.5px solid currentColor;
    border-radius: 50%;
    height: 20px;
    left: 8px;
    top: 8px;
    width: 20px;
}

.picto-target::after {
    background: currentColor;
    border-radius: 50%;
    height: 6px;
    left: 15px;
    top: 15px;
    width: 6px;
}

.picto-list::before,
.picto-check::before {
    background: currentColor;
    box-shadow: 0 7px 0 currentColor, 0 14px 0 currentColor;
    height: 2px;
    left: 14px;
    top: 11px;
    width: 15px;
}

.picto-list::after,
.picto-check::after {
    background: currentColor;
    box-shadow: 0 7px 0 currentColor, 0 14px 0 currentColor;
    height: 2px;
    left: 8px;
    top: 11px;
    width: 3px;
}

.picto-check::before {
    box-shadow: none;
    height: 16px;
    left: 12px;
    top: 9px;
    transform: rotate(45deg);
    width: 2px;
}

.picto-check::after {
    box-shadow: none;
    height: 9px;
    left: 9px;
    top: 18px;
    transform: rotate(-45deg);
    width: 2px;
}

.picto-flow::before,
.picto-reality::before {
    border: 1.5px solid currentColor;
    border-left-color: transparent;
    border-radius: 50%;
    height: 20px;
    left: 8px;
    top: 8px;
    width: 20px;
}

.picto-flow::after,
.picto-reality::after {
    border-right: 1.5px solid currentColor;
    border-top: 1.5px solid currentColor;
    height: 7px;
    left: 22px;
    top: 8px;
    transform: rotate(38deg);
    width: 7px;
}

.picto-frame::before,
.picto-product::before {
    border: 1.5px solid currentColor;
    height: 20px;
    left: 8px;
    top: 8px;
    width: 20px;
}

.picto-frame::after,
.picto-product::after {
    border-bottom: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    height: 8px;
    left: 13px;
    top: 14px;
    transform: rotate(45deg);
    width: 8px;
}

.picto-bars::before {
    background: currentColor;
    bottom: 8px;
    box-shadow: 8px -6px 0 currentColor, 16px -14px 0 currentColor;
    height: 13px;
    left: 8px;
    width: 4px;
}

.picto-bars::after {
    background: currentColor;
    height: 2px;
    left: 7px;
    top: 28px;
    width: 24px;
}

.thought-layout,
.process-hero,
.outcome-layout {
    display: grid;
    gap: clamp(34px, 5vw, 76px);
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.thought-copy,
.mentor-panel,
.bali-copy,
.outcome-layout > div:first-child {
    display: grid;
    gap: var(--space-3);
    align-content: start;
}

.thought-copy p,
.product-explain .section-head p,
.process-hero p,
.bali-copy p,
.mentor-panel p,
.outcome-layout > div:first-child p {
    color: var(--text-primary);
    font-size: clamp(1.02rem, 1.12vw, 1.16rem);
    line-height: 1.62;
}

.thought-cards,
.topic-grid,
.outcome-grid,
.task-type-grid,
.mentor-role-grid {
    display: grid;
    gap: clamp(12px, 1.4vw, 18px);
}

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

.mini-card,
.topic-grid span,
.flow-schema div,
.compare-grid article,
.stage-detail,
.task-type-grid div,
.outcome-grid article,
.mentor-role-grid span,
.quote-list span,
.fit-grid article,
.now-next div {
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(222, 216, 204, 0.78);
    border-radius: var(--radius-md);
    box-shadow: 0 16px 48px rgba(6, 23, 45, 0.06);
}

.mini-card {
    display: grid;
    gap: var(--space-2);
    min-height: 222px;
    padding: clamp(22px, 2.5vw, 34px);
}

.mini-card span,
.stage-number {
    color: var(--text-muted);
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: 0.06em;
}

.mini-card h3 {
    font-family: var(--font-main);
    font-size: clamp(1.08rem, 1.34vw, 1.36rem);
    font-weight: 750;
    line-height: 1.35;
}

.section-summary {
    border-top: 1px solid var(--border);
    color: var(--text-primary);
    font-size: clamp(1.18rem, 1.55vw, 1.55rem);
    font-weight: 680;
    line-height: 1.5;
    margin: clamp(36px, 5vw, 72px) auto 0;
    max-width: 980px;
    padding-top: clamp(24px, 3vw, 42px);
    text-align: center;
}

.product-explain {
    background: linear-gradient(180deg, rgba(252, 251, 248, 0.95), rgba(243, 240, 234, 0.64));
}

.topic-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: clamp(34px, 5vw, 72px);
}

.topic-grid span {
    color: var(--text-primary);
    font-weight: 800;
    line-height: 1.3;
    min-height: 74px;
    padding: 22px 24px;
}

.flow-schema {
    display: grid;
    gap: clamp(18px, 2vw, 28px);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    position: relative;
}

.flow-schema div {
    align-content: start;
    display: grid;
    gap: 8px;
    min-height: 156px;
    padding: 24px 20px;
    position: relative;
}

.flow-schema div + div::before {
    display: none;
}

.flow-schema strong {
    color: var(--text-primary);
    font-size: 1rem;
    line-height: 1.24;
}

.flow-schema small {
    color: var(--text-secondary);
    font-size: 0.82rem;
    font-weight: 650;
    line-height: 1.42;
}

.audience-card {
    display: grid;
    align-content: start;
    gap: var(--space-2);
}

.audience-card p {
    color: var(--text-primary);
    font-weight: 650;
}

.audience-card ul,
.compare-grid ul,
.stage-detail ul,
.fit-grid ul {
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.audience-card li,
.compare-grid li,
.stage-detail li,
.fit-grid li {
    color: var(--text-secondary);
    font-size: 0.96rem;
    font-weight: 650;
    line-height: 1.45;
    padding-left: 22px;
    position: relative;
}

.audience-card li::before,
.compare-grid li::before,
.stage-detail li::before {
    color: var(--accent-warm);
    content: "-";
    font-weight: 900;
    left: 0;
    position: absolute;
}

.when-needed .container {
    background:
        radial-gradient(circle at 92% 8%, rgba(122, 79, 44, 0.10), transparent 25vw),
        linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(242, 239, 232, 0.76));
    border: 1px solid rgba(222, 216, 204, 0.72);
    border-radius: 32px;
    padding: clamp(34px, 5vw, 76px);
}

.when-needed .split-grid {
    align-items: start;
}

.when-needed h2 {
    margin-bottom: var(--space-3);
}

.cta-row {
    align-items: center;
    border-top: 1px solid var(--border);
    display: grid;
    gap: var(--space-3);
    grid-template-columns: 1fr auto;
    margin-top: clamp(34px, 4vw, 58px);
    padding-top: clamp(28px, 3vw, 42px);
}

.cta-row p {
    color: var(--text-primary);
    font-size: clamp(1.08rem, 1.28vw, 1.26rem);
    font-weight: 650;
    max-width: 940px;
}

.ordinary-solutions {
    background: rgba(243, 240, 234, 0.55);
}

.ordinary-solutions .container {
    background:
        radial-gradient(circle at 88% 8%, rgba(122, 79, 44, 0.07), transparent 26vw),
        rgba(252, 251, 248, 0.68);
    border: 1px solid var(--border);
    border-radius: 28px;
    padding: clamp(54px, 6vw, 92px);
}

.ordinary-layout {
    align-items: start;
    display: grid;
    gap: clamp(48px, 7vw, 110px);
    grid-template-columns: minmax(0, 0.86fr) minmax(520px, 1.14fr);
}

.ordinary-copy {
    display: grid;
    gap: var(--space-3);
}

.ordinary-copy h2 {
    max-width: 720px;
}

.ordinary-copy p {
    color: var(--text-secondary);
    font-size: var(--type-large) !important;
    max-width: 620px;
}

.compare-grid {
    display: grid;
    gap: clamp(18px, 2vw, 28px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.compare-grid article {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: clamp(28px, 4vw, 54px);
}

.compare-grid h3 {
    border-bottom: 1px solid var(--border);
    color: var(--accent-warm);
    font-family: var(--font-main);
    font-size: clamp(1.24rem, 1.62vw, 1.6rem);
    margin-bottom: var(--space-3);
    padding-bottom: var(--space-3);
}

.process-overview {
    background: var(--bg-primary);
    padding-bottom: clamp(54px, 7vw, 94px);
}

.process-hero {
    align-items: stretch;
    margin-bottom: clamp(54px, 7vw, 96px);
}

.process-hero > div {
    display: grid;
    align-content: center;
    gap: var(--space-3);
}

.process-hero figure,
.bali-block figure {
    border-radius: 0;
    margin: 0;
    min-height: clamp(420px, 36vw, 620px);
    overflow: hidden;
}

.process-hero img,
.bali-block img {
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.stage-line {
    display: grid;
    gap: clamp(18px, 2vw, 28px);
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.stage-line article {
    background: rgba(255, 255, 255, 0.58);
    border: 1px solid rgba(222, 216, 204, 0.82);
    border-radius: var(--radius-md);
    display: grid;
    gap: 18px;
    justify-items: center;
    min-height: 150px;
    padding: 28px 22px;
    position: relative;
    text-align: center;
}

.stage-line article::before {
    display: none;
}

.stage-line article:first-child::before {
    left: 50%;
}

.stage-line article:last-child::before {
    right: 50%;
}

.stage-line span {
    align-items: center;
    border: 1px solid var(--border-strong);
    border-radius: 999px;
    color: var(--accent);
    display: inline-flex;
    font-size: 1.1rem;
    font-weight: 900;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.stage-line h3 {
    font-family: var(--font-main);
    font-size: var(--type-body) !important;
    line-height: 1.28;
}

.stage-line p {
    font-size: 0.86rem;
    font-weight: 620;
    line-height: 1.4;
}

.stage-details {
    padding-top: clamp(44px, 6vw, 86px);
}

.stage-stack {
    display: grid;
    gap: 0;
}

.stage-detail {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    border-top: 1px solid var(--border);
    display: grid;
    gap: clamp(40px, 6vw, 96px);
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr) !important;
    padding: clamp(46px, 6vw, 86px) 0;
}

.stage-detail > div {
    display: grid;
    gap: var(--space-3);
}

.stage-detail h2 {
    align-self: start;
    font-size: clamp(2.5rem, 4vw, 4.8rem) !important;
    max-width: 760px;
}

.stage-detail p,
.stage-detail strong {
    max-width: 960px;
}

.stage-detail strong {
    color: var(--text-primary);
    font-size: clamp(1.06rem, 1.25vw, 1.24rem);
    line-height: 1.45;
}

.stage-detail ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 1080px;
}

.stage-detail > div > h2 {
    grid-column: 1;
}

.stage-detail > div {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
}

.stage-detail > div > p,
.stage-detail > div > ul,
.stage-detail > div > strong,
.stage-detail > div > blockquote,
.stage-detail > div > .now-next,
.stage-detail > div > .task-type-grid,
.stage-detail > div > .quote-strip {
    grid-column: 2;
}

.accent-stage {
    background:
        radial-gradient(circle at 90% 12%, rgba(122, 79, 44, 0.24), transparent 26vw),
        linear-gradient(135deg, var(--bg-ink), var(--bg-ink-soft));
}

.accent-stage h2,
.accent-stage p,
.accent-stage strong,
.accent-stage li,
.accent-stage blockquote {
    color: var(--text-inverse);
}

.accent-stage li::before {
    color: var(--accent-warm-soft);
}

.accent-stage blockquote {
    border-left-color: var(--accent-warm-soft);
    font-size: clamp(1.36rem, 2vw, 2rem);
    margin: 0;
}

.now-next,
.quote-strip {
    display: grid;
    gap: var(--space-2);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 980px;
}

.now-next div,
.task-type-grid div {
    box-shadow: none;
    padding: 22px;
}

.now-next span {
    color: var(--accent-warm);
    display: block;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.task-type-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.task-type-grid strong {
    display: block;
    font-size: 1rem;
    margin-bottom: 8px;
}

.task-type-grid p {
    font-size: 0.88rem;
    line-height: 1.42;
}

.quote-strip span {
    background: rgba(122, 79, 44, 0.08);
    border-left: 3px solid var(--accent-warm);
    color: var(--text-primary);
    font-family: var(--font-display);
    font-size: clamp(1.18rem, 1.6vw, 1.5rem);
    font-weight: 750;
    line-height: 1.28;
    padding: 22px;
}

.results-grid-wide {
    grid-template-columns: repeat(5, minmax(180px, 1fr));
}

.outcome-block {
    background: linear-gradient(180deg, rgba(243, 240, 234, 0.45), rgba(252, 251, 248, 0.95));
}

.outcome-layout {
    align-items: start;
}

.outcome-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.outcome-grid article {
    display: grid;
    gap: var(--space-2);
    min-height: 168px;
    padding: 24px;
}

.outcome-grid h3 {
    font-family: var(--font-main);
    font-size: 1.06rem;
    line-height: 1.28;
}

.outcome-grid p {
    font-size: 0.88rem;
    font-weight: 620;
    line-height: 1.42;
}

.bali-block {
    background: var(--bg-primary);
}

.bali-layout {
    display: grid;
    grid-template-columns: minmax(360px, 0.72fr) minmax(0, 1.28fr);
}

.bali-copy {
    background:
        radial-gradient(circle at 4% 2%, rgba(122, 79, 44, 0.12), transparent 20vw),
        var(--bg-secondary);
    padding: clamp(42px, 6vw, 88px) clamp(28px, 5vw, 76px);
}

.quote-list {
    display: grid;
    gap: 0;
}

.quote-list span {
    border-radius: 0;
    box-shadow: none;
    color: var(--text-primary);
    font-weight: 750;
    padding: 18px 22px 18px 58px;
    position: relative;
}

.quote-list span::before {
    color: var(--accent-warm);
    content: "“";
    font-family: Georgia, "Times New Roman", serif;
    font-size: 3.2rem;
    left: 20px;
    line-height: 0.8;
    position: absolute;
    top: 20px;
}

.bali-copy strong {
    border-top: 1px solid var(--border);
    color: var(--accent-warm);
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 2.4vw, 2.45rem);
    line-height: 1.18;
    padding-top: var(--space-3);
}

.mentor-panel {
    max-width: 900px;
}

.mentor-role-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: var(--space-2);
}

.mentor-role-grid span {
    align-content: center;
    color: var(--text-primary);
    display: grid;
    font-size: 0.96rem;
    font-weight: 750;
    min-height: 108px;
    padding: 20px;
}

.mentor-note {
    border-left: 2px solid var(--accent-warm);
    padding-left: var(--space-3);
}

.format-grid {
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
}

.format-columns {
    display: grid;
    gap: clamp(28px, 3vw, 48px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.format-columns h3 {
    color: var(--text-inverse);
    font-family: var(--font-main);
    font-size: 1.18rem;
    margin-bottom: var(--space-2);
}

.format-note {
    border-left: 2px solid var(--accent-warm-soft);
    color: var(--text-inverse);
    font-weight: 750;
    padding-left: var(--space-3);
}

.not-for-block {
    background: rgba(243, 240, 234, 0.62);
}

.not-for-block h2 {
    margin-bottom: clamp(34px, 4vw, 58px);
}

.fit-grid {
    display: grid;
    gap: clamp(18px, 2vw, 28px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fit-grid article {
    padding: clamp(28px, 4vw, 52px);
}

.fit-grid h3 {
    border-bottom: 1px solid var(--border);
    font-family: var(--font-main);
    font-size: clamp(1.25rem, 1.7vw, 1.7rem);
    margin-bottom: var(--space-3);
    padding-bottom: var(--space-3);
}

.not-fit h3 {
    color: var(--danger);
}

.yes-fit h3 {
    color: var(--accent);
}

.fit-grid li {
    border-top: 1px solid rgba(222, 216, 204, 0.72);
    color: var(--text-primary);
    padding-bottom: 12px;
    padding-top: 12px;
}

.fit-grid li::before {
    align-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    display: inline-flex;
    font-size: 0.72rem;
    height: 18px;
    justify-content: center;
    left: 0;
    line-height: 1;
    position: absolute;
    top: 14px;
    width: 18px;
}

.not-fit li::before {
    color: var(--danger);
    content: "×";
}

.yes-fit li::before {
    color: var(--accent);
    content: "✓";
}

.application-form {
    background:
        linear-gradient(135deg, rgba(252, 251, 248, 0.88), rgba(243, 240, 234, 0.76)),
        url('/img/slr-table-dialogue.png');
    background-position: center;
    background-size: cover;
}

.application-form .container {
    background: rgba(252, 251, 248, 0.74);
    border: 1px solid rgba(255, 255, 255, 0.74);
    border-radius: 24px;
    padding: clamp(28px, 4vw, 58px);
    backdrop-filter: blur(10px);
}

.photo-bridge {
    align-items: stretch;
    background: var(--bg-secondary);
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr);
    min-height: clamp(520px, 46vw, 760px);
}

.photo-bridge:nth-of-type(even) {
    grid-template-columns: minmax(360px, 0.9fr) minmax(0, 1.1fr);
}

.photo-bridge:nth-of-type(even) figure {
    order: 2;
}

.photo-bridge figure,
.apply-photo {
    margin: 0;
    overflow: hidden;
}

.photo-bridge img,
.apply-photo img {
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.photo-bridge-copy {
    align-content: center;
    display: grid;
    gap: var(--space-3);
    padding: clamp(44px, 7vw, 110px);
}

.photo-bridge-copy p {
    color: var(--text-primary);
    max-width: 720px;
}

.apply-photo {
    border: 1px solid rgba(255, 255, 255, 0.74);
    border-radius: var(--radius-md);
    min-height: 420px;
}

.application-form .apply-grid {
    align-items: stretch;
    grid-template-columns: minmax(0, 0.9fr) minmax(260px, 0.55fr) minmax(320px, 0.75fr);
}

.application-form .lead-form {
    align-self: stretch;
}

/* Remove editorial/technical markers from the visible page. */
.section-kicker,
.mini-card > span,
.audience-card > span,
.result-card > span,
.stage-line article > span,
.stage-number,
.effort-number,
.process-list article > span {
    display: none !important;
}

.stage-detail {
    grid-template-columns: 1fr !important;
}

.stage-detail > div,
.thought-copy,
.section-head,
.photo-bridge-copy,
.process-hero > div,
.bali-copy,
.mentor-panel,
.apply-copy {
    gap: var(--space-3);
}

/* Final visual system pass: one text scale, one font family, fewer color roles. */
:root {
    --type-title: clamp(3.6rem, 5.2vw, 6.4rem);
    --type-subtitle: clamp(1.55rem, 2vw, 2.25rem);
    --type-large: clamp(1.28rem, 1.55vw, 1.62rem);
    --type-body: clamp(1.08rem, 1.18vw, 1.2rem);
}

body {
    color: var(--text-primary);
    font-family: var(--font-main);
    font-size: var(--type-body);
    line-height: 1.58;
}

h1,
h2 {
    font-family: var(--font-display);
    font-size: var(--type-title) !important;
    font-weight: 720;
    line-height: 1.04;
}

h3,
.lead-form h3,
.compare-grid h3,
.format-columns h3,
.fit-grid h3,
.mini-card h3,
.outcome-grid h3,
.stage-line h3 {
    font-family: var(--font-main);
    font-size: var(--type-subtitle) !important;
    font-weight: 700;
    line-height: 1.18;
}

p,
li,
small,
.flow-schema small,
.outcome-grid p,
.task-type-grid p,
.stage-line p,
.form-control,
.form-microtext,
.footer-nav a,
.main-nav a {
    font-size: var(--type-body) !important;
    line-height: 1.52;
}

.hero-lead,
.hero-rotator-text,
.hero-note,
.section-head p,
.text-stack p,
.thought-copy p,
.product-explain .section-head p,
.process-hero p,
.bali-copy p,
.mentor-panel p,
.outcome-layout > div:first-child p,
.cta-row p,
.section-summary,
blockquote,
.quote-strip span,
.bali-copy strong,
.recognition-signals > p,
.recognition-summary strong,
.recognition-photo-caption strong,
.photo-bridge-copy p {
    font-size: var(--type-large) !important;
    line-height: 1.48;
}

.section-kicker,
.mini-card span,
.audience-card span,
.result-card span,
.process-list span,
.stage-number,
.effort-number,
.footer-bottom,
.btn,
.text-link,
.form-label,
.language-switch button,
.hero-meta span {
    font-size: 0.98rem !important;
    font-weight: 700;
}

p,
li,
small {
    color: var(--text-secondary);
}

h1,
h2,
h3,
.section-summary,
.cta-row p,
.audience-card p,
.stage-detail strong,
.flow-schema strong,
.topic-grid span {
    color: var(--text-primary);
}

.section-kicker,
.effort-highlight,
.compare-grid h3,
.bali-copy strong,
.quote-list span::before,
.recognition-signals h3 {
    color: var(--accent-warm);
}

.dark-band h2,
.dark-band h3,
.dark-band p,
.dark-band li,
.accent-stage h2,
.accent-stage h3,
.accent-stage p,
.accent-stage li,
.accent-stage strong,
.format-columns h3,
.format-note {
    color: var(--text-inverse);
}

.section {
    padding: clamp(96px, 12vw, 172px) 0;
}

.section-head {
    gap: var(--space-3);
    margin-bottom: clamp(58px, 8vw, 112px);
}

.audience-card,
.result-card,
.mini-card,
.outcome-grid article,
.flow-schema div,
.topic-grid span {
    padding: clamp(26px, 3vw, 42px);
}

.audience-grid,
.results-grid,
.thought-cards,
.topic-grid,
.outcome-grid {
    gap: clamp(18px, 2.2vw, 34px);
}

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

.results-grid-wide {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.flow-schema,
.task-type-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.stage-line {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.stage-line article {
    min-height: 210px;
}

.stage-line article {
    min-height: 150px;
}

/* Reference-style editorial blocks */
.for-whom-section,
.when-needed {
    background: transparent;
}

.for-whom-section .container,
.when-needed .container {
    background:
        radial-gradient(circle at 88% 8%, rgba(122, 79, 44, 0.08), transparent 28vw),
        linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(243, 240, 234, 0.72));
    border: 1px solid rgba(222, 216, 204, 0.78);
    border-radius: 28px;
    box-shadow: none;
    padding: clamp(54px, 6vw, 96px);
}

.for-whom-head,
.when-needed .split-grid {
    align-items: start;
    display: grid;
    gap: clamp(56px, 7vw, 120px);
    grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
    margin-bottom: clamp(54px, 6vw, 86px);
}

.for-whom-head h2,
.when-needed h2 {
    max-width: 760px;
}

.for-whom-title-main {
    color: var(--text-primary);
    display: block;
}

.for-whom-title-quote {
    color: var(--accent-warm);
    display: block;
    margin-top: 0.16em;
    padding-left: clamp(44px, 4vw, 72px);
    position: relative;
}

.for-whom-title-quote::before {
    color: rgba(122, 79, 44, 0.28);
    content: "“";
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(4.2rem, 6vw, 7rem);
    left: 0;
    line-height: 0.8;
    position: absolute;
    top: 0.03em;
}

.for-whom-head > p,
.when-needed .split-grid > div > p {
    align-self: end;
    border-top: 1px solid var(--border);
    color: var(--text-secondary);
    font-size: var(--type-large) !important;
    max-width: 640px;
    padding-top: var(--space-3);
}

.when-needed .split-grid > div {
    display: grid;
    gap: var(--space-3);
}

.when-needed .check-grid {
    align-self: start;
    background: transparent;
    display: grid;
    gap: 0 clamp(44px, 4vw, 70px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.when-needed .check-grid li {
    border-top: 1px solid var(--border);
    color: var(--text-primary);
    font-size: var(--type-large) !important;
    font-weight: 700;
    line-height: 1.42;
    padding: 24px 0 24px 28px;
    position: relative;
}

.when-needed .check-grid li::before {
    color: var(--accent-warm);
    content: "-";
    font-weight: 700;
    left: 0;
    position: absolute;
}

.when-needed .cta-row {
    border-top: 1px solid var(--border);
    grid-template-columns: minmax(0, 1fr) auto;
    margin-top: 0;
}

.for-whom-section .audience-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.for-whom-section .audience-card {
    background: rgba(255, 255, 255, 0.58);
    box-shadow: none;
    min-height: auto;
    padding: clamp(30px, 3vw, 48px);
}

.for-whom-section .audience-card h3 {
    color: var(--text-primary);
    font-size: var(--type-subtitle) !important;
}

.for-whom-section .audience-card p,
.for-whom-section .audience-card li {
    font-size: var(--type-body) !important;
}

@media (max-width: 980px) {
    .for-whom-head,
    .when-needed .split-grid,
    .when-needed .cta-row {
        grid-template-columns: 1fr;
    }

    .when-needed .check-grid,
    .for-whom-section .audience-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .for-whom-section .container,
    .when-needed .container {
        border-radius: 18px;
        padding: 34px 22px;
    }

    .for-whom-title-quote {
        padding-left: 34px;
    }

    .for-whom-title-quote::before {
        font-size: 4rem;
    }
}

@media (max-width: 980px) {
    .main-nav {
        display: none;
    }

    .hero-grid,
    .split-grid,
    .what-grid,
    .effort-pages,
    .thought-layout,
    .process-hero,
    .outcome-layout,
    .format-grid,
    .format-columns,
    .application-form .apply-grid,
    .apply-grid,
    .recognition-top,
    .recognition-bottom,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .hero {
        min-height: auto;
    }

    .hero-grid {
        min-height: auto;
        grid-template-columns: 1fr;
    }

    .hero-cta-panel {
        margin-top: 0;
    }

    .hero-copy {
        max-width: 100%;
    }

    .hero-portrait,
    .visual-media,
    .portrait-media {
        min-height: 520px;
    }

    .visual-grid,
    .visual-grid-reverse {
        grid-template-columns: 1fr;
    }

    .audience-grid,
    .results-grid,
    .results-grid-wide,
    .outcome-grid,
    .topic-grid,
    .thought-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .flow-schema,
    .stage-line,
    .task-type-grid,
    .mentor-role-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .flow-schema div + div::before {
        display: none;
    }

    .stage-line {
        gap: 18px;
    }

    .stage-line article {
        background: rgba(255, 255, 255, 0.74);
        border: 1px solid var(--border);
        border-radius: var(--radius-md);
        padding: 22px;
    }

    .stage-line article::before {
        display: none;
    }

    .stage-detail,
    .bali-layout,
    .compare-grid,
    .fit-grid,
    .now-next,
    .quote-strip {
        grid-template-columns: 1fr;
    }

    .stage-detail ul {
        grid-template-columns: 1fr;
    }

    .cta-row {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .cta-row .btn {
        justify-self: start;
    }

    .recognition-state-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .recognition-state-card + .recognition-state-card {
        border-left: 0;
        border-top: 1px solid var(--border);
    }

    .recognition-state-card:nth-child(2n) {
        border-left: 1px solid var(--border);
    }

    .recognition-state-card:nth-child(2) {
        border-top: 0;
    }

    .effort-page {
        min-height: auto;
    }

    .process-list article {
        grid-template-columns: 72px 1fr;
    }

    .process-list article p {
        grid-column: 2;
    }
}

@media (max-width: 640px) {
    :root {
        --type-title: clamp(2.15rem, 9.2vw, 2.85rem);
        --type-subtitle: clamp(1.38rem, 6vw, 1.72rem);
        --type-large: clamp(1.12rem, 4.8vw, 1.28rem);
        --type-body: 1.04rem;
    }

    .container {
        width: calc(100% - 24px);
    }

    .header-inner {
        min-height: 64px;
    }

    .logo-button {
        font-size: 0.9rem !important;
        max-width: 132px;
        text-align: left;
    }

    .header-cta {
        display: none;
    }

    .hero-actions,
    .footer-bottom {
        align-items: stretch;
        flex-direction: column;
    }

    .hero-actions .btn {
        width: 100%;
    }

    .hero-rotator {
        min-height: 172px;
    }

    .hero-cta-panel {
        border-radius: 18px;
        width: 100%;
    }

        .hero-cta-panel .btn {
            width: 100%;
            letter-spacing: 0;

        }

    .text-plaque,
    .visual-panel {
        border-radius: 14px;
    }

    .check-grid,
    .audience-grid,
    .results-grid,
    .results-grid-wide,
    .outcome-grid,
    .topic-grid,
    .thought-cards,
    .flow-schema,
    .stage-line,
    .task-type-grid,
    .mentor-role-grid {
        grid-template-columns: 1fr;
    }

    .mini-card,
    .topic-grid span,
    .outcome-grid article,
    .mentor-role-grid span {
        min-height: auto;
    }

    .section-summary {
        text-align: left;
    }

    .stage-detail {
        padding: 26px 22px;
    }

    .stage-number {
        border-bottom: 1px solid var(--border);
        padding-bottom: var(--space-2);
    }

    .bali-copy {
        padding: 34px 22px;
    }

    .process-hero figure,
    .bali-block figure {
        min-height: 360px;
    }

    .cta-row .btn,
    .application-form .btn {
        width: 100%;
    }

    .effort-pages {
        padding: 14px;
    }

    .effort-page {
        padding: 30px 24px;
    }

    .recognition-head .section-kicker {
        height: 48px;
        width: 64px;
    }

    .recognition-state-row {
        grid-template-columns: 1fr;
    }

    .recognition-state-card,
    .recognition-state-card:nth-child(2n) {
        border-left: 0;
    }

    .recognition-state-card:nth-child(2) {
        border-top: 1px solid var(--border);
    }

    .recognition-list li {
        grid-template-columns: 38px 1fr;
    }

    .audience-card,
    .result-card {
        min-height: auto;
    }

    .process-list article {
        grid-template-columns: 1fr;
    }

    .process-list article p {
        grid-column: auto;
    }
}

/* Stabilization pass after all earlier section experiments. */
.stage-details .stage-detail {
    align-items: start !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid var(--border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: grid !important;
    gap: clamp(36px, 5vw, 76px) !important;
    grid-template-columns: minmax(360px, 0.74fr) minmax(0, 1.26fr) !important;
    padding: clamp(42px, 5vw, 74px) 0 !important;
}

.stage-details .stage-title,
.stage-details .stage-body {
    display: block !important;
}

.stage-details .stage-title h2 {
    font-size: clamp(2.35rem, 3.55vw, 4.4rem) !important;
    line-height: 1.05 !important;
    max-width: 680px !important;
}

.stage-details .stage-body {
    padding-top: 0.35em;
}

.stage-details .stage-body p,
.stage-details .stage-body li,
.stage-details .stage-body strong {
    font-size: var(--type-body) !important;
}

.stage-details .stage-body ul {
    display: grid !important;
    gap: 12px clamp(34px, 4vw, 64px) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin: var(--space-3) 0 !important;
}

.stage-details .accent-stage {
    background: var(--bg-ink) !important;
    border-radius: var(--radius-md) !important;
    padding: clamp(38px, 5vw, 70px) !important;
}

.stage-details .task-type-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.stage-details .quote-strip,
.stage-details .now-next {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.outcome-block .outcome-layout {
    align-items: start !important;
    display: grid !important;
    gap: clamp(44px, 6vw, 90px) !important;
    grid-template-columns: minmax(300px, 0.62fr) minmax(0, 1.38fr) !important;
}

.outcome-block .section-summary {
    grid-column: 1 / -1 !important;
    margin: clamp(36px, 4vw, 58px) 0 0 !important;
    max-width: none !important;
    text-align: center !important;
}

.bali-block {
    padding: clamp(84px, 10vw, 140px) 0;
}

.bali-layout {
    border: 1px solid var(--border);
    border-radius: 28px;
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.72fr) !important;
    margin: 0 auto;
    max-width: calc(100% - clamp(28px, 6vw, 112px));
    overflow: hidden;
}

.bali-copy {
    padding: clamp(46px, 6vw, 86px) !important;
}

.bali-copy h2 {
    font-size: clamp(2.8rem, 4.2vw, 5.2rem) !important;
    max-width: 720px;
}

.bali-block figure {
    min-height: 0 !important;
    height: auto !important;
}

.bali-block img {
    height: 100% !important;
    min-height: 560px;
    object-fit: cover !important;
    object-position: center !important;
}

.about .visual-grid {
    align-items: stretch !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.72fr) !important;
    min-height: auto !important;
    padding: clamp(42px, 5vw, 74px) !important;
}

.about .mentor-panel {
    align-content: center;
    display: grid;
    gap: var(--space-3);
    max-width: 860px;
}

.about .visual-media {
    align-self: stretch;
    min-height: 520px !important;
    position: relative;
}

.about .visual-media img {
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    position: absolute !important;
    width: 100% !important;
}

.dark-band .format-grid {
    align-items: start !important;
    display: grid !important;
    gap: clamp(44px, 5vw, 78px) !important;
    grid-template-columns: minmax(280px, 0.62fr) minmax(0, 1.38fr) !important;
}

.dark-band .format-grid > div:first-child h2 {
    font-size: clamp(2.7rem, 4vw, 4.8rem) !important;
    max-width: 620px !important;
}

.format-columns {
    display: grid !important;
    gap: clamp(30px, 4vw, 56px) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.format-note {
    grid-column: 1 / -1;
    margin-top: var(--space-3);
}

.not-for-block h2 {
    margin-inline: auto;
    max-width: 1100px;
    text-align: center;
}

.not-for-block .fit-grid {
    margin-top: clamp(42px, 5vw, 70px);
}

@media (max-width: 980px) {
    .stage-details .stage-detail,
    .outcome-block .outcome-layout,
    .bali-layout,
    .about .visual-grid,
    .dark-band .format-grid,
    .format-columns {
        grid-template-columns: 1fr !important;
    }

    .stage-details .stage-body ul,
    .stage-details .task-type-grid,
    .stage-details .quote-strip,
    .stage-details .now-next {
        grid-template-columns: 1fr !important;
    }

    .bali-block img,
    .about .visual-media {
        min-height: 420px !important;
    }
}

.application-form {
    padding: clamp(70px, 7vw, 110px) 0 !important;
}

.application-form .container {
    border-radius: 28px !important;
    padding: clamp(42px, 5vw, 72px) !important;
}

.application-form .apply-grid {
    align-items: center !important;
    display: grid !important;
    gap: clamp(44px, 6vw, 90px) !important;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.78fr) !important;
}

.application-form .apply-copy {
    gap: var(--space-3) !important;
    max-width: 720px !important;
}

.application-form .apply-copy h2 {
    font-size: clamp(3rem, 4.4vw, 5.4rem) !important;
    max-width: 700px !important;
}

.application-form .apply-copy p {
    max-width: 620px !important;
}

.application-form .lead-form {
    box-shadow: 0 24px 70px rgba(6, 23, 45, 0.10) !important;
    max-width: 560px !important;
    width: 100% !important;
}

.site-footer {
    padding: 34px 0 24px !important;
}

.footer-grid {
    align-items: start !important;
    display: grid !important;
    gap: clamp(28px, 4vw, 70px) !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
}

.footer-logo {
    margin-bottom: 12px !important;
}

.footer-grid p {
    max-width: 920px !important;
}

.footer-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px 24px !important;
    justify-content: flex-end !important;
    max-width: 520px !important;
}

.footer-bottom {
    align-items: center !important;
    margin-top: 28px !important;
    padding-top: 20px !important;
}

#blazor-error-ui {
    display: none !important;
}

@media (max-width: 980px) {
    .application-form .apply-grid,
    .footer-grid {
        grid-template-columns: 1fr !important;
    }

    .footer-nav {
        justify-content: flex-start !important;
    }
}

/* Final composition cleanup. */
.section-kicker {
    display: none !important;
}

.mini-card h3,
.audience-card h3,
.result-card h3,
.outcome-grid h3,
.fit-grid h3,
.format-columns h3,
.flow-schema strong,
.task-type-grid strong {
    color: var(--text-primary) !important;
    font-size: var(--type-subtitle) !important;
    font-weight: 800 !important;
    line-height: 1.16 !important;
}

.mini-card p,
.audience-card p,
.audience-card li,
.result-card p,
.outcome-grid p,
.fit-grid li,
.format-list li,
.flow-schema small,
.task-type-grid p {
    color: var(--text-secondary) !important;
    font-size: var(--type-body) !important;
    font-weight: 500 !important;
    line-height: 1.48 !important;
}

.product-explain .section-head {
    margin-bottom: clamp(42px, 5vw, 70px) !important;
}

.product-explain .topic-grid {
    display: grid !important;
    gap: 0 clamp(40px, 5vw, 82px) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-bottom: clamp(46px, 6vw, 86px) !important;
}

.product-explain .topic-grid span {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    border-top: 1px solid var(--border) !important;
    box-shadow: none !important;
    color: var(--text-primary) !important;
    font-size: var(--type-large) !important;
    font-weight: 800 !important;
    line-height: 1.26 !important;
    min-height: 0 !important;
    padding: 20px 0 !important;
}

.product-explain .flow-schema {
    background: rgba(255, 255, 255, 0.58) !important;
    border: 1px solid var(--border) !important;
    border-radius: 28px !important;
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    overflow: hidden !important;
}

.product-explain .flow-schema div {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    border-right: 1px solid var(--border) !important;
    box-shadow: none !important;
    min-height: 190px !important;
    padding: clamp(24px, 2.6vw, 34px) clamp(24px, 3vw, 40px) !important;
    position: relative !important;
}

.product-explain .flow-schema div:last-child {
    border-right: 0 !important;
}

.product-explain .flow-schema div:not(:last-child)::after {
    color: var(--accent-warm);
    content: "->";
    font-size: 1.2rem;
    font-weight: 800;
    position: absolute;
    right: 14px;
    top: 28px;
}

.product-explain .flow-schema small {
    display: block;
    margin-top: 10px;
}

.for-whom-head {
    align-items: center !important;
    gap: clamp(54px, 7vw, 120px) !important;
    grid-template-columns: minmax(0, 0.9fr) minmax(420px, 0.78fr) !important;
}

.for-whom-photo {
    aspect-ratio: 4 / 5;
    border: 1px solid var(--border);
    border-radius: 28px;
    margin: 0;
    max-height: 640px;
    min-height: 480px;
    overflow: hidden;
    position: relative;
}

.for-whom-photo img {
    height: 100%;
    inset: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    width: 100%;
}

.for-whom-photo figcaption {
    background: rgba(6, 23, 45, 0.78);
    border-left: 3px solid var(--accent-warm);
    border-radius: 18px;
    bottom: clamp(22px, 3vw, 38px);
    color: var(--text-inverse);
    font-size: var(--type-large);
    font-weight: 800;
    left: clamp(22px, 3vw, 42px);
    line-height: 1.38;
    padding: clamp(22px, 3vw, 34px);
    position: absolute;
    right: clamp(22px, 3vw, 42px);
}

.when-needed .split-grid {
    grid-template-columns: minmax(0, 0.86fr) minmax(420px, 0.74fr) !important;
}

.when-needed .check-grid {
    gap: 0 !important;
    grid-template-columns: 1fr !important;
}

.when-needed .check-grid li {
    padding-bottom: 20px !important;
    padding-top: 20px !important;
}

.process-overview .stage-line {
    align-items: start !important;
    display: flex !important;
    gap: 0 !important;
    justify-content: space-between !important;
    margin-top: clamp(44px, 5vw, 72px);
    position: relative;
}

.process-overview .stage-line::before {
    background: var(--border);
    content: "";
    height: 1px;
    left: 6%;
    position: absolute;
    right: 6%;
    top: 31px;
}

.process-overview .stage-line article {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    flex: 1 1 0;
    min-height: 0 !important;
    padding: 0 14px !important;
    position: relative;
    text-align: center;
}

.process-overview .stage-line article::after {
    color: var(--accent-warm);
    content: "->";
    font-size: 1.05rem;
    font-weight: 800;
    position: absolute;
    right: -10px;
    top: 21px;
    z-index: 2;
}

.process-overview .stage-line article:last-child::after {
    display: none;
}

.process-overview .stage-line .picto {
    background: var(--bg-primary);
    border-color: var(--border-strong);
    margin: 0 auto 18px;
    position: relative;
    z-index: 1;
}

.process-overview .stage-line h3 {
    color: var(--text-primary) !important;
    font-size: var(--type-body) !important;
    font-weight: 800 !important;
    line-height: 1.28 !important;
}

.stage-details {
    padding-top: clamp(34px, 5vw, 70px) !important;
}

.stage-details .stage-detail {
    align-items: start !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    border-top: 1px solid var(--border) !important;
    box-shadow: none !important;
    display: grid !important;
    gap: clamp(36px, 5vw, 82px) !important;
    grid-template-columns: minmax(300px, 0.86fr) minmax(0, 1.14fr) !important;
    padding: clamp(54px, 7vw, 90px) 0 !important;
}

.stage-details .accent-stage {
    color: var(--text-primary) !important;
}

.stage-details .accent-stage,
.stage-details .picture-stage,
.stage-details .tasks-stage,
.stage-details .battle-stage {
    background: transparent !important;
    border-radius: 0 !important;
}

.stage-details .accent-stage * {
    color: inherit !important;
}

.stage-details .stage-title h2 {
    font-size: clamp(2.5rem, 3.6vw, 4.4rem) !important;
    line-height: 1.06 !important;
    max-width: 680px !important;
}

.stage-details .stage-body {
    max-width: 860px;
    padding-top: 0 !important;
}

.stage-details .stage-body p,
.stage-details .stage-body li,
.stage-details .stage-body strong,
.stage-details blockquote,
.stage-details .quote-strip span,
.stage-details .now-next p,
.stage-details .task-type-grid p {
    font-size: var(--type-large) !important;
    line-height: 1.48 !important;
}

.stage-details .stage-body ul,
.stage-details .task-type-grid,
.stage-details .quote-strip,
.stage-details .now-next {
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: 1fr !important;
    margin: clamp(22px, 3vw, 34px) 0 !important;
}

.stage-details .stage-body li,
.stage-details .task-type-grid div,
.stage-details .quote-strip span,
.stage-details .now-next div,
.stage-details blockquote {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    border-top: 1px solid var(--border) !important;
    box-shadow: none !important;
    color: var(--text-primary) !important;
    display: block !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 18px 0 18px 26px !important;
    position: relative !important;
}

.stage-details .stage-body li::before,
.stage-details .task-type-grid div::before,
.stage-details .quote-strip span::before,
.stage-details .now-next div::before,
.stage-details blockquote::before {
    color: var(--accent-warm);
    content: "-";
    font-weight: 800;
    left: 0;
    position: absolute;
}

.stage-details .now-next span,
.stage-details .task-type-grid strong {
    color: var(--accent-warm) !important;
    display: block;
    font-size: var(--type-body) !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.stage-details .stage-body > strong {
    border-top: 1px solid var(--border);
    display: block;
    margin-top: clamp(22px, 3vw, 34px);
    padding-top: 18px;
}

.outcome-block .outcome-layout {
    align-items: start !important;
    display: grid !important;
    gap: clamp(46px, 6vw, 94px) !important;
    grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1.28fr) !important;
    overflow: hidden;
}

.outcome-block .outcome-intro {
    min-width: 0;
}

.outcome-block .outcome-intro h2 {
    font-size: clamp(2.9rem, 4.2vw, 5rem) !important;
    line-height: 1.08 !important;
    max-width: 680px !important;
}

.outcome-block .outcome-intro p {
    max-width: 620px !important;
}

.outcome-block .outcome-grid {
    align-self: start;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.outcome-block .outcome-grid article {
    min-height: 230px !important;
    overflow: hidden;
}

.outcome-block .section-summary {
    border-top: 1px solid var(--border);
    grid-column: 1 / -1 !important;
    margin-top: clamp(26px, 4vw, 48px) !important;
    padding-top: clamp(24px, 3vw, 36px);
    text-align: left !important;
}

.dark-band .format-grid {
    align-items: start !important;
    display: grid !important;
    gap: clamp(48px, 6vw, 92px) !important;
    grid-template-columns: minmax(300px, 0.58fr) minmax(0, 1.42fr) !important;
}

.dark-band .format-grid > div:first-child h2 {
    font-size: clamp(2.8rem, 4vw, 4.8rem) !important;
    line-height: 1.08 !important;
    max-width: 640px !important;
}

.dark-band .format-grid > div:first-child p {
    max-width: 620px !important;
}

.format-columns {
    gap: clamp(34px, 4vw, 64px) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (max-width: 1180px) {
    .product-explain .flow-schema {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .product-explain .flow-schema div:nth-child(3n) {
        border-right: 0 !important;
    }

    .process-overview .stage-line {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        row-gap: 34px !important;
    }

    .process-overview .stage-line::before,
    .process-overview .stage-line article::after {
        display: none !important;
    }
}

@media (max-width: 980px) {
    .for-whom-head,
    .when-needed .split-grid,
    .stage-details .stage-detail,
    .outcome-block .outcome-layout,
    .dark-band .format-grid,
    .format-columns {
        grid-template-columns: 1fr !important;
    }

    .for-whom-photo {
        aspect-ratio: 4 / 3;
        min-height: 360px;
    }

    .product-explain .topic-grid,
    .product-explain .flow-schema,
    .process-overview .stage-line,
    .outcome-block .outcome-grid {
        grid-template-columns: 1fr !important;
    }

    .product-explain .flow-schema div,
    .product-explain .flow-schema div:nth-child(3n) {
        border-right: 0 !important;
        border-top: 1px solid var(--border) !important;
    }

    .product-explain .flow-schema div:first-child {
        border-top: 0 !important;
    }
}

@media (max-width: 640px) {
    .for-whom-photo figcaption {
        border-radius: 14px;
        font-size: var(--type-body);
        padding: 18px;
    }

    .outcome-block .outcome-grid article {
        min-height: 0 !important;
    }
}

/* Hard layout corrections from visual QA. */
.recognition-state-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
}

.recognition-state-card {
    align-items: center !important;
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 18px 0 !important;
}

.recognition-state-card h3 {
    font-size: clamp(1.35rem, 1.65vw, 1.8rem) !important;
    line-height: 1.22 !important;
    overflow-wrap: normal !important;
}

.recognition-icon-img {
    height: 58px !important;
    width: 58px !important;
}

.recognition-list li {
    font-size: var(--type-large) !important;
    line-height: 1.45 !important;
}

.main-thought .thought-cards {
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: 1fr !important;
}

.main-thought .mini-card {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    border-top: 1px solid var(--border) !important;
    box-shadow: none !important;
    display: grid !important;
    gap: clamp(18px, 2vw, 30px) !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    min-height: 0 !important;
    padding: 26px 0 !important;
}

.main-thought .mini-card h3 {
    font-size: clamp(1.55rem, 2vw, 2.15rem) !important;
}

.product-explain .flow-schema {
    border-radius: 28px !important;
    grid-template-columns: 1fr !important;
}

.product-explain .flow-schema div {
    align-items: center !important;
    border-right: 0 !important;
    border-top: 1px solid var(--border) !important;
    display: grid !important;
    gap: clamp(20px, 3vw, 44px) !important;
    grid-template-columns: minmax(260px, 0.42fr) minmax(0, 1fr) !important;
    min-height: 0 !important;
    padding: 24px 32px !important;
}

.product-explain .flow-schema div:first-child {
    border-top: 0 !important;
}

.product-explain .flow-schema strong {
    font-size: clamp(1.5rem, 1.85vw, 2rem) !important;
}

.product-explain .flow-schema small {
    font-size: var(--type-large) !important;
}

.product-explain .flow-schema div:not(:last-child)::after {
    content: "↓" !important;
    right: 32px !important;
    top: 22px !important;
}

.for-whom-head {
    grid-template-columns: minmax(0, 0.66fr) minmax(360px, 0.34fr) !important;
}

.for-whom-photo {
    aspect-ratio: 4 / 5 !important;
    max-height: 620px !important;
    min-height: 0 !important;
}

.for-whom-photo figcaption {
    font-size: var(--type-body) !important;
}

.stage-details .stage-detail {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) !important;
}

.stage-details .stage-title h2 {
    font-size: clamp(2.15rem, 3vw, 3.65rem) !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
}

.stage-details .stage-body p,
.stage-details .stage-body li,
.stage-details .stage-body strong,
.stage-details blockquote,
.stage-details .quote-strip span,
.stage-details .now-next p,
.stage-details .task-type-grid p {
    color: var(--text-primary) !important;
    font-size: var(--type-large) !important;
    font-weight: 650 !important;
}

.stage-details .now-next span,
.stage-details .task-type-grid strong {
    color: var(--text-primary) !important;
    font-size: var(--type-large) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.stage-details .stage-body > strong,
.stage-details blockquote {
    font-weight: 800 !important;
}

.bali-layout {
    grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr) !important;
}

.bali-block img {
    min-height: 0 !important;
}

.bali-copy .quote-list {
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-md) !important;
    display: block !important;
    min-height: 118px;
    padding: 26px 30px 26px 78px !important;
    position: relative;
}

.bali-copy .quote-list::before {
    color: var(--accent-warm);
    content: "“";
    font-size: 4rem;
    font-weight: 800;
    left: 26px;
    line-height: 1;
    position: absolute;
    top: 22px;
}

.bali-copy .quote-list span {
    background: transparent !important;
    border: 0 !important;
    color: var(--text-primary) !important;
    display: block !important;
    font-size: var(--type-large) !important;
    font-weight: 800 !important;
    line-height: 1.42 !important;
    padding: 0 !important;
}

.bali-copy .quote-list span::before {
    display: none !important;
}

.about .visual-grid {
    grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr) !important;
    overflow: hidden !important;
}

.about .visual-media {
    min-height: 0 !important;
}

.about .mentor-panel h2 {
    font-size: clamp(2.6rem, 4vw, 4.8rem) !important;
    line-height: 1.08 !important;
    max-width: 920px !important;
}

.dark-band,
.dark-band .container,
.dark-band .format-grid {
    background: var(--bg-ink) !important;
    color: var(--text-inverse) !important;
}

.dark-band h2,
.dark-band h3,
.dark-band p,
.dark-band li,
.dark-band .format-list li {
    color: var(--text-inverse) !important;
}

.dark-band .format-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) !important;
    overflow: hidden !important;
}

.dark-band .format-grid > div:first-child,
.format-columns {
    min-width: 0 !important;
}

.format-list li {
    font-size: var(--type-body) !important;
    line-height: 1.45 !important;
}

.application-form .container {
    padding: clamp(34px, 4vw, 56px) !important;
}

.application-form .apply-grid {
    align-items: center !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) !important;
}

.application-form .apply-copy h2 {
    font-size: clamp(2.8rem, 4vw, 4.9rem) !important;
}

.application-form .lead-form {
    display: grid !important;
    gap: 16px 22px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: none !important;
    padding: clamp(24px, 3vw, 36px) !important;
}

.application-form .lead-form h3,
.application-form .lead-form > p,
.application-form .form-group:nth-of-type(4),
.application-form .form-footer,
.application-form .form-error {
    grid-column: 1 / -1 !important;
}

.application-form .lead-form h3 {
    margin: 0 !important;
}

.application-form .lead-form > p {
    margin: 0 0 6px !important;
}

.application-form .form-group {
    margin: 0 !important;
}

.application-form .form-control {
    min-height: 52px !important;
}

.application-form textarea.form-control {
    min-height: 92px !important;
}

.application-form .form-footer {
    display: grid !important;
    gap: 12px !important;
    margin-top: 4px !important;
}

.application-form .form-submit {
    min-height: 54px !important;
}

@media (max-width: 1180px) {
    .product-explain .flow-schema {
        grid-template-columns: 1fr !important;
    }

    .product-explain .flow-schema div,
    .product-explain .flow-schema div:nth-child(3n),
    .product-explain .flow-schema div:last-child {
        border-right: 0 !important;
        border-top: 1px solid var(--border) !important;
    }

    .product-explain .flow-schema div:first-child {
        border-top: 0 !important;
    }

    .product-explain .flow-schema div:not(:last-child)::after {
        content: "↓" !important;
        right: 28px;
        top: 28px;
    }
}

@media (max-width: 980px) {
    .recognition-state-row,
    .for-whom-head,
    .stage-details .stage-detail,
    .bali-layout,
    .about .visual-grid,
    .dark-band .format-grid,
    .application-form .apply-grid,
    .application-form .lead-form {
        grid-template-columns: 1fr !important;
    }

    .recognition-state-card {
        grid-template-columns: 64px minmax(0, 1fr) !important;
    }

    .for-whom-photo {
        aspect-ratio: 4 / 3 !important;
    }
}

/* Fix recognition state row after the strip experiment. */
.recognition .recognition-state-row {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    overflow: hidden !important;
}

.recognition .recognition-state-card {
    align-items: center !important;
    border-top: 0 !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: 52px minmax(0, 1fr) !important;
    min-height: 112px !important;
    overflow: hidden !important;
    padding: 18px 16px !important;
}

.recognition .recognition-state-card + .recognition-state-card {
    border-left: 1px solid var(--border) !important;
}

.recognition .recognition-icon-img {
    height: 52px !important;
    transform: none !important;
    width: 52px !important;
}

.recognition .recognition-state-card h3 {
    font-size: clamp(1.02rem, 1.05vw, 1.22rem) !important;
    line-height: 1.22 !important;
    margin: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

@media (max-width: 1180px) {
    .recognition .recognition-state-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .recognition .recognition-state-card {
        border-left: 0 !important;
        border-top: 1px solid var(--border) !important;
    }

    .recognition .recognition-state-card:nth-child(1),
    .recognition .recognition-state-card:nth-child(2) {
        border-top: 0 !important;
    }

    .recognition .recognition-state-card:nth-child(2n) {
        border-left: 1px solid var(--border) !important;
    }
}

@media (max-width: 640px) {
    .recognition .recognition-state-row {
        grid-template-columns: 1fr !important;
    }

    .recognition .recognition-state-card,
    .recognition .recognition-state-card:nth-child(2n) {
        border-left: 0 !important;
    }

    .recognition .recognition-state-card:nth-child(2) {
        border-top: 1px solid var(--border) !important;
    }
}
