:root {
    /* Match the Profile CTA coral; dark text keeps the lighter fill accessible. */
    --home-primary: #e96745;
    --home-primary-hover: #dc5b39;
    --home-primary-foreground: #1a1a1a;
    --home-hero-primary-foreground: #ffffff;
    --home-primary-ink: var(--brand-action-ink, #a63b26);
    --home-primary-soft: #fff1eb;
    --home-canvas: #ffffff;
    --home-surface: #ffffff;
    --home-soft: #faf9f7;
    --home-text: #1a1a1a;
    --home-secondary: #374151;
    --home-muted: #6b7280;
    --home-line: #dee2e6;
    --home-line-strong: #c9cfd6;
    --home-type-caption: .8125rem;
    --home-type-small: 1rem;
    --home-type-body: 1.0625rem;
    --home-type-card-title: 1.25rem;
}

@font-face {
    font-family: "bootstrap-icons";
    /* Inline the 2.5 KB subset so R2/CDN font CORS cannot hide homepage icons. */
    src: url("data:font/woff2;base64,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") format("woff2");
    font-display: swap;
    font-style: normal;
    font-weight: 400;
}

[class^="bi-"]::before,
[class*=" bi-"]::before {
    display: inline-block;
    font-family: "bootstrap-icons" !important;
    font-style: normal;
    font-weight: 400 !important;
    font-variant: normal;
    line-height: 1;
    text-transform: none;
    vertical-align: text-bottom;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Homepage, shared navbar, and footer icon subset. */
.bi-arrow-left::before { content: "\f12f"; }
.bi-arrow-right::before { content: "\f138"; }
.bi-arrow-up-right::before { content: "\f144"; }
.bi-box-arrow-right::before { content: "\f1c3"; }
.bi-broadcast::before { content: "\f1d6"; }
.bi-chevron-down::before { content: "\f282"; }
.bi-code-square::before { content: "\f2a7"; }
.bi-envelope::before { content: "\f30f"; }
.bi-facebook::before { content: "\f324"; }
.bi-grid::before { content: "\f3dc"; }
.bi-heart-fill::before { content: "\f3f5"; }
.bi-journal-text::before { content: "\f423"; }
.bi-pause-fill::before { content: "\f49c"; }
.bi-person::before { content: "\f4ba"; }
.bi-pie-chart-fill::before { content: "\f4c1"; }
.bi-play-circle::before { content: "\f4cc"; }
.bi-play-fill::before { content: "\f4cd"; }
.bi-search::before { content: "\f502"; }
.bi-signpost-split::before { content: "\f521"; }
.bi-speedometer2::before { content: "\f555"; }
.bi-star-fill::before { content: "\f55b"; }
.bi-star::before { content: "\f55d"; }
.bi-tools::before { content: "\f5a6"; }
.bi-youtube::before { content: "\f5ef"; }

body {
    background: var(--home-canvas);
    color: var(--home-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans Thai", sans-serif;
}

.home-page {
    overflow: hidden;
    background: var(--home-canvas);
    color: var(--home-text);
    color-scheme: light;
    font-family: var(--font-family-base, "Noto Sans Thai", system-ui, sans-serif);
}

.home-shell {
    width: min(calc(100% - 40px), 1120px);
    margin: 0 auto;
}

.home-hero {
    padding: clamp(62px, 9vw, 112px) 0;
    border-bottom: 1px solid var(--home-line-strong);
    background: var(--home-canvas);
}

.home-hero-layout {
    display: block;
}

.home-hero-copy.is-centered {
    max-width: 790px;
    margin: 0 auto;
    text-align: center;
}

.home-kicker,
.home-section-index {
    margin: 0 0 12px;
    color: var(--home-primary-ink);
    font-size: .66rem;
    font-weight: 760;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.home-hero h1 {
    margin: 0;
    color: var(--home-text);
    font-size: clamp(3rem, 7vw, 5.15rem);
    font-weight: 790;
    letter-spacing: -.055em;
    line-height: 1.02;
}

.home-hero-description {
    max-width: 650px;
    margin: 23px auto 0;
    color: var(--home-secondary);
    font-size: clamp(1rem, 1.8vw, 1.125rem);
    line-height: 1.8;
}

.home-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 28px;
}

.home-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 52px;
    padding: 12px 22px;
    border: 1px solid var(--home-line-strong);
    border-radius: 4px;
    background: var(--home-surface);
    color: var(--home-secondary);
    font-size: 1.1875rem;
    font-weight: 700;
    text-decoration: none;
}

.home-button:hover { border-color: var(--home-primary); background: var(--home-primary-soft); color: var(--home-text); }
.home-button-primary { border-color: var(--home-primary); background: var(--home-primary); color: var(--home-hero-primary-foreground); }
.home-button-primary:hover { border-color: var(--home-primary-hover); background: var(--home-primary-hover); color: var(--home-hero-primary-foreground); }

.home-service-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 17px;
    color: var(--home-muted);
    font-size: .82rem;
    font-weight: 600;
    text-decoration: none;
}
.home-service-link:hover { color: var(--home-primary-ink); }

.home-traffic-comparison {
    padding: clamp(54px, 7vw, 78px) 0;
    border-bottom: 1px solid var(--home-line-strong);
    background: var(--home-surface);
}

.home-traffic-heading {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
    gap: clamp(28px, 5vw, 72px);
    align-items: end;
    margin-bottom: 30px;
}

.home-traffic-heading h2 {
    max-width: 560px;
    margin: 0;
    color: var(--home-text);
    font-size: clamp(1.9rem, 4vw, 2.75rem);
    font-weight: 770;
    letter-spacing: -.04em;
    line-height: 1.18;
}

.home-traffic-heading p {
    max-width: 610px;
    margin: 0;
    color: var(--home-secondary);
    font-size: var(--home-type-body);
    line-height: 1.78;
}

.home-traffic-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.home-traffic-card {
    min-width: 0;
    padding: clamp(20px, 3vw, 28px);
    border: 1px solid var(--home-line-strong);
    border-top-width: 3px;
    border-radius: 8px;
    background: var(--home-surface);
}

.home-traffic-card.is-paid { border-top-color: #dc3545; }
.home-traffic-card.is-organic { border-top-color: #28a745; }

.home-traffic-card-copy h3 {
    margin: 0;
    color: var(--home-text);
    font-size: clamp(1.2rem, 2vw, 1.45rem);
    font-weight: 720;
    letter-spacing: -.02em;
    line-height: 1.35;
}

.home-traffic-card-copy p {
    min-height: 3.4em;
    margin: 8px 0 0;
    color: var(--home-muted);
    font-size: var(--home-type-small);
    line-height: 1.7;
}

.home-chart-wrap {
    position: relative;
    height: 260px;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid var(--home-line);
}

.home-principles {
    border: 1px solid var(--home-line-strong);
    border-radius: 8px;
    background: var(--home-surface);
}

.home-principle-row {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 14px;
    padding: 19px 20px;
}
.home-principle-row + .home-principle-row { border-top: 1px solid var(--home-line); }
.home-principle-row > span { color: var(--home-primary-ink); font-size: .66rem; font-weight: 760; }
.home-principle-row strong { display: block; color: var(--home-text); font-size: .78rem; font-weight: 740; }
.home-principle-row p { margin: 4px 0 0; color: var(--home-muted); font-size: .7rem; line-height: 1.55; }

.home-section {
    content-visibility: auto;
    contain-intrinsic-block-size: auto 760px;
    padding: clamp(56px, 8vw, 84px) 0;
    border-bottom: 1px solid var(--home-line-strong);
    background: var(--home-surface);
}
.home-section-alt { background: var(--home-canvas); }

.home-section-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 390px);
    gap: 36px;
    align-items: end;
    margin-bottom: 30px;
}

.home-section-header h2 {
    max-width: 670px;
    margin: 0;
    color: var(--home-text);
    font-size: clamp(1.8rem, 3.8vw, 2.65rem);
    font-weight: 770;
    letter-spacing: -.04em;
    line-height: 1.2;
}

.home-section-header > p {
    margin: 0;
    color: var(--home-muted);
    font-size: var(--home-type-small);
    line-height: 1.65;
}

.home-learning-header-aside {
    display: flex;
    justify-self: end;
    flex-direction: column;
    align-items: flex-end;
    gap: 13px;
}

.home-learning-header-aside > p {
    margin: 0;
    color: var(--home-muted);
    font-size: var(--home-type-small);
    line-height: 1.65;
}

.home-carousel-controls { display: flex; gap: 8px; }

.home-carousel-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid var(--home-line-strong);
    border-radius: 4px;
    background: var(--home-surface);
    color: var(--home-secondary);
    font: inherit;
    cursor: pointer;
}

.home-carousel-button:hover:not(:disabled) {
    border-color: var(--home-primary);
    background: var(--home-primary-soft);
    color: var(--home-text);
}

.home-carousel-button:disabled { opacity: .38; cursor: default; }

.home-header-link {
    justify-self: end;
    color: var(--home-secondary);
    font-size: .84rem;
    font-weight: 600;
    text-decoration: none;
}
.home-header-link:hover { color: var(--home-primary-ink); }

.home-learning-carousel {
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
}

.home-learning-carousel::-webkit-scrollbar { display: none; }

.home-learning-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 16px) / 2);
    gap: 16px;
}

.home-learning-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 240px;
    padding: 22px;
    border: 1px solid var(--home-line-strong);
    border-radius: 8px;
    flex-direction: column;
    align-items: flex-start;
    background: var(--home-surface);
    color: var(--home-secondary);
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.home-learning-card-header { display: flex; align-items: center; gap: 12px; margin-bottom: 15px; }
.home-learning-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--home-line-strong); border-radius: 4px; background: var(--home-soft); color: var(--home-primary); font-size: 1rem; }
.home-learning-card h3 { margin: 0; color: var(--home-text); font-size: var(--home-type-card-title); font-weight: 700; letter-spacing: -.015em; }
.home-learning-card p { margin: 0; color: var(--home-muted); font-size: var(--home-type-small); line-height: 1.7; }

.home-card-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 40px;
    margin-top: 17px;
    padding: 7px 10px;
    border: 1px solid var(--home-line-strong);
    border-radius: 4px;
    background: var(--home-surface);
    color: var(--home-secondary);
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
}
.home-card-button:hover { border-color: var(--home-primary); background: var(--home-primary-soft); color: var(--home-text); }
.home-learning-card .home-card-button { margin-top: auto; }
.home-card-button-primary {
    min-height: 52px;
    padding: 12px 22px;
    border-color: var(--home-primary);
    background: var(--home-primary);
    color: var(--home-hero-primary-foreground);
    font-size: 1.1875rem;
}
.home-card-button-primary:hover { border-color: var(--home-primary-hover); background: var(--home-primary-hover); color: var(--home-hero-primary-foreground); }

.home-class-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.home-class-card { display: flex; overflow: hidden; height: auto; border: 1px solid var(--home-line-strong); border-radius: 8px; flex-direction: column; background: var(--home-surface); color: var(--home-secondary); }
.home-class-media { position: relative; overflow: hidden; aspect-ratio: 16 / 9; border-bottom: 1px solid var(--home-line); background: var(--home-soft); }
.home-class-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-class-content { display: flex; min-height: 0; height: auto; padding: 24px; flex-direction: column; align-items: flex-start; }
.home-class-content h3 { margin: 0 0 9px; color: var(--home-text); font-size: 1.35rem; font-weight: 700; letter-spacing: -.025em; }
.home-class-content > p { margin: 0; color: var(--home-muted); font-size: var(--home-type-small); line-height: 1.72; }
.home-class-content .home-card-button { min-width: 124px; margin-top: 22px; }

.home-testimonial-rail {
    overflow: hidden;
    width: 100%;
    padding: 0 0 10px;
}

.home-testimonial-controls {
    display: flex;
    justify-content: flex-end;
    margin: -4px 0 10px;
}

.home-testimonial-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 36px;
    padding: 6px 10px;
    border: 1px solid var(--home-line-strong);
    border-radius: 4px;
    background: var(--home-surface);
    color: var(--home-secondary);
    font: inherit;
    font-size: .78rem;
    font-weight: 700;
}

.home-testimonial-toggle:hover { border-color: var(--home-primary); background: var(--home-primary-soft); color: var(--home-text); }

.home-testimonial-track {
    display: flex;
    width: max-content;
    min-width: max-content;
    max-width: none !important;
    will-change: transform;
    animation: home-testimonial-marquee 42s linear infinite;
}

.home-testimonial-group {
    display: flex;
    width: max-content;
    min-width: max-content;
    max-width: none !important;
    flex: 0 0 auto;
    gap: 12px;
    padding-right: 12px;
}

.home-testimonial-rail:hover .home-testimonial-track,
.home-testimonial-rail:focus-within .home-testimonial-track,
.home-testimonial-rail.is-paused .home-testimonial-track {
    animation-play-state: paused;
}

.home-testimonial-card {
    display: flex;
    width: clamp(320px, 33vw, 420px);
    max-width: none !important;
    min-height: 300px;
    flex: 0 0 auto;
    flex-direction: column;
    padding: 20px;
    border: 1px solid var(--home-line-strong);
    border-radius: 6px;
    background: var(--home-surface);
}

@keyframes home-testimonial-marquee {
    to { transform: translateX(-50%); }
}
.home-testimonial-top { display: flex; align-items: center; }
.home-testimonial-stars { display: inline-flex; gap: 3px; color: var(--home-primary); font-size: 1rem; line-height: 1; }
.home-testimonial-card blockquote { margin: 13px 0 24px; color: var(--home-secondary); font-size: var(--home-type-body); line-height: 1.75; }
.home-testimonial-person { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 10px; align-items: center; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--home-line); }
.home-testimonial-person > img:not(.home-client-logo),
.home-person-fallback { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--home-line-strong); border-radius: 50%; background: var(--home-soft); color: var(--home-secondary); object-fit: cover; font-size: .82rem; font-weight: 700; }
.home-testimonial-person strong { display: block; color: var(--home-text); font-size: .84rem; font-weight: 700; }
.home-testimonial-person span { display: block; margin-top: 2px; color: var(--home-muted); font-size: .72rem; line-height: 1.45; }
.home-client-logo { max-width: 58px; max-height: 28px; object-fit: contain; filter: grayscale(1); opacity: .75; }
.home-proof-empty { padding: 26px; border: 1px solid var(--home-line-strong); border-left: 3px solid var(--home-primary); background: var(--home-soft); }
.home-proof-empty p { max-width: 720px; margin: 0; color: var(--home-secondary); font-size: var(--home-type-body); line-height: 1.7; }

.home-page a:focus-visible,
.home-page button:focus-visible,
.home-page summary:focus-visible { outline: 2px solid var(--home-primary); outline-offset: 3px; }

@media (max-width: 980px) {
    .home-hero-copy { max-width: 760px; }
    .home-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .home-principle-row { grid-template-columns: 1fr; }
    .home-principle-row + .home-principle-row { border-top: 0; border-left: 1px solid var(--home-line); }
}

@media (max-width: 720px) {
    .home-shell { width: min(calc(100% - 28px), 1120px); }
    .home-hero { padding: 56px 0; }
    .home-hero h1 { font-size: clamp(2.75rem, 14vw, 4rem); }
    .home-principles { display: block; }
    .home-principle-row { grid-template-columns: 30px minmax(0, 1fr); }
    .home-principle-row + .home-principle-row { border-top: 1px solid var(--home-line); border-left: 0; }
    .home-section-header { display: block; }
    .home-learning-header-aside { align-items: flex-start; margin-top: 13px; }
    .home-traffic-heading { display: block; }
    .home-traffic-heading p { margin-top: 15px; }
    .home-traffic-grid { grid-template-columns: 1fr; }
    .home-traffic-card-copy p { min-height: 0; }
    .home-section-header > p,
    .home-header-link { display: inline-block; margin-top: 13px; }
    .home-learning-track { grid-auto-columns: min(88%, 420px); }
    .home-class-grid { grid-template-columns: 1fr; }
    .home-testimonial-track { animation-duration: 28s; }
}

@media (max-width: 520px) {
    .home-hero-actions { flex-direction: column; }
    .home-button { width: 100%; }
    .home-learning-track { grid-auto-columns: 94%; }
    .home-learning-card { min-height: 0; }
    .home-learning-card .home-card-button { margin-top: 19px; }
    .home-testimonial-card { width: min(86vw, 340px); }
    .home-chart-wrap { height: 230px; }
}

@media (prefers-reduced-motion: reduce) {
    .home-class-media img { transition: none; }
    .home-testimonial-rail { overflow-x: auto; scrollbar-width: thin; }
    .home-testimonial-track { animation: none; }
    .home-testimonial-group[aria-hidden="true"] { display: none; }
}
