/* Site-wide responsive refinement. Loaded last to normalize legacy layouts. */
:root {
    --responsive-gutter: clamp(16px, 4vw, 48px);
    --responsive-section: clamp(56px, 8vw, 112px);
    --responsive-reading: 72ch;
}

html { overflow-x: clip; }
body { min-width: 320px; overflow-wrap: break-word; }
*, *::before, *::after { box-sizing: border-box; }
img, picture, video, canvas, svg, iframe { display: block; max-width: 100%; height: auto; }
main, section, .container, .container-fluid, .row, [class*="grid"] { min-width: 0; }
.container { padding-inline: var(--responsive-gutter); }
p, li { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }

input, select, textarea, button { max-width: 100%; font: inherit; }
input, select, textarea { min-height: 48px; }
textarea { min-height: 150px; resize: vertical; }
button, .btn, a.btn { min-height: 44px; }
:focus-visible { outline: 3px solid #FEFBD6; outline-offset: 3px; }

.page-hero .narrow,
.blog-hero .narrow { width: min(100%, var(--responsive-reading)); margin-inline: auto; }
.page-hero p,
.blog-hero p { max-width: 66ch; }
.content-section,
.about-story-section,
.about-focus-section,
.about-process-section,
.about-principles-section { padding-block: var(--responsive-section); }

.cards-grid,
.blog-grid,
.related-grid,
.hebe-category-grid,
.about-focus-grid,
.about-process-grid,
.stats { gap: clamp(18px, 2.5vw, 32px); }
.card, .blog-card, .form-card, .detail-panel { min-width: 0; }
.card img, .blog-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

.form-card,
.form-wrap { width: 100%; padding: clamp(20px, 4vw, 38px); }
.form-card label,
.form-wrap label { display: grid; gap: 8px; }
.contact-layout { align-items: start; gap: clamp(28px, 6vw, 76px); }
.contact-intro { max-width: 58ch; }

.table-card { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.table-card table { margin: 0; }

.istudio-hebe .hebe-exact-footer .row { row-gap: 42px; }
.istudio-hebe .hebe-exact-footer .btn.btn-link { white-space: normal; }
.hebe-brand-signoff .container { flex-wrap: wrap; }

@media (max-width: 1199.98px) {
    .hebe-nav-shell .container { max-width: none; }
    .detail, .detail-layout { grid-template-columns: minmax(0, 1fr) minmax(300px, 36%) !important; gap: 36px !important; }
    .hebe-template-hero .display-1 { font-size: clamp(46px, 6vw, 68px) !important; }
    .about-story-grid { grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr) !important; gap: 48px !important; }
}

@media (max-width: 991.98px) {
    :root { --responsive-gutter: clamp(18px, 4vw, 34px); }

    .hebe-nav-shell .navbar { min-height: 72px; }
    .hebe-nav-shell .navbar-collapse {
        width: 100%;
        max-height: calc(100svh - 76px);
        padding: 16px 0 22px;
        overflow-y: auto;
        background: #FFFFFF;
    }
    .hebe-nav-shell .navbar-nav { width: 100%; gap: 4px; }
    .hebe-nav-shell .nav-link { width: 100%; padding: 12px 14px !important; text-align: left; }
    .hebe-account-nav { display: grid !important; width: 100%; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
    .hebe-account-nav a { display: grid; width: 100%; place-items: center; text-align: center; }

    .detail, .detail-layout,
    .content-grid.two-col,
    .contact-layout,
    .about-story-grid,
    .about-principles-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .detail-panel, .admin-layout .sidebar { position: static !important; }
    .cards-grid, .blog-grid, .related-grid, .grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
    .about-focus-grid, .about-process-grid, .stats { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }

    .hebe-template-hero { margin-top: 0 !important; padding-top: 48px !important; }
    .hebe-template-hero .row { row-gap: 38px; }
    .hebe-template-carousel { width: 100%; }

    .admin-layout { grid-template-columns: minmax(0,1fr) !important; }
    .admin-layout .sidebar { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
}

@media (max-width: 767.98px) {
    :root {
        --responsive-gutter: 16px;
        --responsive-section: clamp(46px, 14vw, 72px);
    }

    body { font-size: 15px; }
    input, select, textarea { font-size: 16px !important; }
    .container, .container-fluid { width: 100% !important; max-width: none !important; }

    .page-hero, .blog-hero { padding: 64px 0 52px !important; }
    .page-hero h1, .blog-hero h1, .display-3, .display-4 {
        font-size: clamp(34px, 10.5vw, 48px) !important;
        line-height: 1.04 !important;
    }
    .page-hero p, .blog-hero p { font-size: 15px !important; line-height: 1.65; }

    .cards-grid, .blog-grid, .related-grid, .grid,
    .about-focus-grid, .about-process-grid, .stats,
    .hebe-category-grid { grid-template-columns: minmax(0,1fr) !important; }

    .hebe-template-hero { padding-top: 30px !important; }
    .hebe-template-hero .display-1 { font-size: clamp(38px, 12vw, 52px) !important; line-height: 1 !important; }
    .hebe-hero-editorial { padding-left: 17px; }
    .hebe-hero-details { grid-template-columns: minmax(0,1fr); }
    .hebe-hero-details span { padding: 13px 0; border-right: 0; border-bottom: 1px solid rgba(254,2,2,.18); }
    .hebe-template-carousel { min-height: 390px !important; }
    .hebe-template-slide { inset: 0 30px 0 0 !important; }
    .hebe-template-slide img { width: 100%; height: 100% !important; object-fit: cover; }

    .detail-panel, .form-card, .form-wrap { padding: 22px 18px !important; }
    .cta-row, .cta-row form { display: grid !important; width: 100%; grid-template-columns: minmax(0,1fr); gap: 10px; }
    .cta-row .btn, .cta-row button, .cta-row a { width: 100%; justify-content: center; }
    .breadcrumbs { max-width: 100%; overflow-x: auto; white-space: nowrap; }

    .hebe-register-shell { width: calc(100% - 24px) !important; margin: 22px auto 48px !important; }
    .hebe-register-visual { min-height: 300px !important; padding: 28px 20px !important; }
    .istudio-hebe .hebe-register-form { padding: 28px 20px !important; }

    .istudio-hebe .hebe-exact-footer .row { row-gap: 32px; }
    .istudio-hebe .hebe-exact-footer .footer-brand { margin-bottom: 16px !important; }
    .istudio-hebe .hebe-exact-footer p { max-width: 42ch; }
    .hebe-brand-signoff .container { align-items: flex-start; flex-direction: column; gap: 6px; }

    .hebe-ai-widget { right: 12px !important; bottom: 12px !important; left: auto !important; }
    .hebe-ai-panel { right: 0 !important; width: min(390px, calc(100vw - 24px)) !important; max-height: min(680px, calc(100svh - 100px)); }
    .hebe-ai-launcher { min-width: 0; padding-inline: 13px !important; }
    .hebe-back-top { right: 12px !important; bottom: 80px !important; }
    .hebe-history-back { left: 12px !important; bottom: 12px !important; }

    .admin-layout .sidebar { grid-template-columns: minmax(0,1fr); }
    table { min-width: 680px; }
}

@media (max-width: 479.98px) {
    :root { --responsive-gutter: 13px; }
    .hebe-account-nav { grid-template-columns: minmax(0,1fr); }
    .hebe-istudio-brand span { font-size: 26px !important; }
    .hebe-template-carousel { min-height: 330px !important; }
    .btn:not(.navbar-toggler):not(.hebe-ai-close):not(.hebe-back-top) { max-width: 100%; }
    .hebe-ai-launcher > span:last-child { display: none; }
    .hebe-ai-launcher { width: 52px !important; height: 52px !important; padding: 8px !important; }
    .hebe-ai-launcher-mark { margin: auto; }
}

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

@media print {
    .hebe-nav-shell, .hebe-ai-widget, .hebe-back-top, .hebe-history-back, .footer { display: none !important; }
    body { color: #000000; background: #FFFFFF; }
    main { width: 100%; }
}
/* Paste this file at the end of assets/css/responsive-refined.css. */
.about-page-hero {
    color: #111111 !important;
    background: #ffffff !important;
}

.about-page-hero::before,
.about-page-hero::after {
    background: transparent !important;
}

.about-page-hero h1 {
    color: #111111 !important;
}

.about-page-hero h1 .about-highlight {
    display: block;
    color: #0b6963 !important;
}

.about-page-hero p {
    color: #202124 !important;
}

.about-page-hero .eyebrow {
    color: #0b6963 !important;
    border-color: rgba(11, 105, 99, 0.35) !important;
    background: #eef9f7 !important;
}

.about-page-hero img {
    filter: none !important;
    box-shadow: 28px 28px 0 rgba(11, 105, 99, 0.12) !important;
}

.about-page-hero .hero-image::before,
.about-page-hero .hero-image::after,
.about-page-hero .about-hero-image::before,
.about-page-hero .about-hero-image::after {
    background: transparent !important;
    opacity: 0 !important;
}

@media (max-width: 767.98px) {
    .about-page-hero h1 .about-highlight {
        display: inline;
    }

    .about-page-hero img {
        box-shadow: 14px 14px 0 rgba(11, 105, 99, 0.12) !important;
    }
}

/* Force About hero white theme */
body.istudio-hebe section.page-hero.about-page-hero {
    color: #000000 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
}

body.istudio-hebe section.page-hero.about-page-hero h1 {
    color: #000000 !important;
}

body.istudio-hebe section.page-hero.about-page-hero h1 .about-highlight {
    color: #0b6963 !important;
}

body.istudio-hebe section.page-hero.about-page-hero p {
    color: #202124 !important;
}

body.istudio-hebe section.page-hero.about-page-hero .eyebrow {
    color: #0b6963 !important;
    border-color: rgba(11, 105, 99, 0.35) !important;
    background: #eef9f7 !important;
}

body.istudio-hebe section.page-hero.about-page-hero::before,
body.istudio-hebe section.page-hero.about-page-hero::after {
    background: transparent !important;
    background-image: none !important;
}

/* Force Contact hero white theme */
body.istudio-hebe section.page-hero.contact-page-hero {
    color: #000000 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
}

body.istudio-hebe section.page-hero.contact-page-hero h1 {
    color: #000000 !important;
}

body.istudio-hebe section.page-hero.contact-page-hero h1 .contact-highlight {
    display: block;
    color: #0b6963 !important;
}

body.istudio-hebe section.page-hero.contact-page-hero p {
    color: #202124 !important;
}

body.istudio-hebe section.page-hero.contact-page-hero .eyebrow {
    color: #0b6963 !important;
    border-color: rgba(11, 105, 99, 0.35) !important;
    background: #eef9f7 !important;
}

body.istudio-hebe section.page-hero.contact-page-hero::before,
body.istudio-hebe section.page-hero.contact-page-hero::after {
    background: transparent !important;
    background-image: none !important;
}

@media (max-width: 767.98px) {
    body.istudio-hebe section.page-hero.contact-page-hero h1 .contact-highlight {
        display: inline;
    }
}
