:root {
    --green-950: #06391f;
    --green-900: #075128;
    --green-800: #0b6033;
    --green-700: #0b7138;
    --logo-green: #2f9638;
    --lime: #86b947;
    --lime-bright: #b8d94f;
    --blue-900: #12364e;
    --ink: #15241b;
    --muted: #66706a;
    --surface: #f7f5f0;
    --surface-green: #edf5ed;
    --line: #e1e7e2;
    --white: #fff;
    --shadow: 0 14px 40px rgba(30, 44, 35, .08);
    --shadow-lg: 0 28px 70px rgba(30, 44, 35, .14);
    --font: 'Manrope', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-bn: 'Noto Sans Bengali', 'Manrope', ui-sans-serif, system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: var(--font); -webkit-font-smoothing: antialiased; }
html[lang="bn"] body { font-family: var(--font-bn); }
html[lang="bn"] .eyebrow, html[lang="bn"] .admin-nav-label, html[lang="bn"] .hero-kicker { letter-spacing: .035em; text-transform: none; }
html[lang="bn"] h1, html[lang="bn"] h2, html[lang="bn"] h3, html[lang="bn"] .panel-heading h1, html[lang="bn"] .admin-page-heading h1 { letter-spacing: 0; line-height: 1.22; }
html[lang="bn"] .main-nav { gap: clamp(.55rem, 1.2vw, 1rem); }
html[lang="bn"] .main-nav > a { font-size: .8rem; }
html[lang="bn"] .button { line-height: 1.45; }
body.is-menu-open { overflow: hidden; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .7; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(134, 185, 71, .72); outline-offset: 3px; }
img { max-width: 100%; display: block; }
.container { width: min(1180px, calc(100% - 2.5rem)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 100; top: .75rem; left: .75rem; transform: translateY(-180%); padding: .65rem .9rem; border-radius: .55rem; color: #fff; background: var(--green-900); font-size: .82rem; font-weight: 800; text-decoration: none; transition: transform .2s; }
.skip-link:focus { transform: translateY(0); }

.site-header { position: sticky; z-index: 50; top: 0; background: transparent; box-shadow: 0 8px 28px rgba(6, 57, 31, .12); transition: transform .28s ease; will-change: transform; }
.site-header.is-hidden { transform: translateY(-100%); }
.utility-bar { color: #fff; background: #064b3d; font-size: .73rem; font-weight: 600; }
.utility-inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.utility-message, .utility-links, .utility-links a { display: flex; align-items: center; gap: .42rem; margin: 0; }
.utility-links { gap: 1rem; }
.utility-links a { color: inherit; opacity: .8; text-decoration: none; transition: opacity .2s, color .2s; }
.utility-links a:hover { color: var(--lime-bright); opacity: 1; }
.pulse-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--lime-bright); box-shadow: 0 0 0 4px rgba(184, 217, 79, .18); }
.utility-divider { width: 1px; height: 14px; background: rgba(255, 255, 255, .22); }
.admin-chip { padding: .29rem .58rem; border-radius: 999px; color: #fff !important; background: rgba(255, 255, 255, .12); opacity: 1 !important; }
.header-identity-band { color: #fff; background: radial-gradient(circle at 84% 35%, rgba(190, 241, 210, .25), transparent 25%), linear-gradient(105deg, #087b78 0%, #179c78 55%, #1ca568 100%); }
.header-identity-inner { min-height: 118px; display: flex; align-items: center; gap: 1.35rem; }
.header-identity-inner .brand { width: 114px; height: 114px; align-self: center; display: grid; place-items: center; overflow: hidden; margin-block: .45rem; padding: .4rem; border: 4px solid var(--logo-green); border-radius: 50%; background: #fff; box-shadow: 0 10px 24px rgba(4, 55, 31, .16); }
.header-identity-inner .brand img { width: 100%; height: 100%; border-radius: 50%; object-fit: contain; }
.header-wordmark { display: grid; gap: .32rem; min-width: 0; text-shadow: 0 2px 12px rgba(4, 55, 41, .22); }
.header-wordmark strong { font-size: clamp(1.35rem, 2.6vw, 2.25rem); line-height: 1.05; letter-spacing: -.04em; }
.header-wordmark span { font-size: .68rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.header-identity-inner .header-actions { margin-left: auto; }
.header-identity-inner .language-switch { color: #fff; }
.header-advice-button { color: var(--green-950); background: #fff; box-shadow: 0 12px 28px rgba(4, 60, 43, .18); }
.header-advice-button:hover { color: #fff; background: var(--green-950); }
.header-identity-inner .public-account-trigger { color: #fff; }
.header-identity-inner .public-account-trigger:hover, .header-identity-inner .public-account-trigger[aria-expanded="true"] { border-color: rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .12); }
.header-identity-inner .public-account-chevron { color: rgba(255, 255, 255, .78); }
.nav-wrap { position: relative; background: #087359; border-bottom: 3px solid #76b947; }
.nav-wrap::before { position: absolute; z-index: 0; top: 0; right: 0; bottom: 0; left: clamp(15rem, 30vw, 36rem); content: ''; background: #fff; clip-path: polygon(34px 0, 100% 0, 100% 100%, 0 100%); }
.nav-inner { position: relative; min-height: 56px; display: flex; align-items: center; justify-content: flex-end; gap: 1.5rem; }
.brand { display: inline-flex; flex: 0 0 auto; align-items: center; text-decoration: none; }
.brand img { width: 108px; height: 108px; object-fit: contain; }
.main-nav { position: relative; z-index: 1; margin-left: auto; display: flex; align-items: center; justify-content: flex-start; gap: clamp(.65rem, 1.2vw, 1.25rem); }
.main-nav > a { position: relative; color: var(--ink); font-size: .88rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.main-nav > a:not(.button)::after { position: absolute; right: 100%; bottom: -9px; left: 0; height: 2px; content: ''; background: var(--lime); transition: right .2s ease; }
.main-nav > a:not(.button):hover::after, .main-nav > a.is-active::after { right: 0; }
.main-nav .nav-login { color: var(--green-700); }
.nav-mega { position: relative; }
.nav-mega-heading { display: flex; align-items: center; gap: .2rem; }
.nav-mega-heading > a { position: relative; color: var(--ink); font-size: .88rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.nav-mega-heading > a::after { position: absolute; right: 100%; bottom: -9px; left: 0; height: 2px; content: ''; background: var(--lime); transition: right .2s ease; }
.nav-mega:hover .nav-mega-heading > a::after, .nav-mega:focus-within .nav-mega-heading > a::after, .nav-mega.is-active .nav-mega-heading > a::after { right: 0; }
.nav-mega-heading button { width: 22px; height: 22px; display: grid; place-items: center; padding: 0; border: 0; color: var(--muted); background: transparent; }
.nav-mega-heading button svg { width: 13px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; transition: transform .2s ease; }
.nav-mega-panel { position: absolute; z-index: 80; top: 100%; left: 50%; width: min(900px, calc(100vw - 2rem)); visibility: hidden; padding: 1.25rem; border: 1px solid var(--line); border-radius: 1rem; background: rgba(255, 255, 255, .99); box-shadow: 0 28px 70px rgba(15, 42, 25, .2); opacity: 0; transform: translate(-50%, 10px); pointer-events: none; transition: opacity .18s ease, transform .18s ease, visibility .18s; }
.nav-mega:hover .nav-mega-panel, .nav-mega:focus-within .nav-mega-panel { visibility: visible; opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.nav-mega:hover .nav-mega-heading button svg, .nav-mega:focus-within .nav-mega-heading button svg { transform: rotate(180deg); }
.nav-mega-intro { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding-bottom: .9rem; border-bottom: 1px solid var(--line); }
.nav-mega-intro div { display: grid; gap: .15rem; }
.nav-mega-intro span { color: var(--green-700); font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nav-mega-intro strong { font-size: 1rem; }
.nav-mega-intro > a { color: var(--green-700); font-size: .68rem; font-weight: 800; text-decoration: none; }
.nav-mega-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.nav-mega-card { min-width: 0; display: grid; grid-template-columns: 92px minmax(0, 1fr); align-items: center; gap: .8rem; padding: .55rem; border-radius: .75rem; color: var(--ink); text-decoration: none; transition: background .2s ease, transform .2s ease; }
.nav-mega-card:hover, .nav-mega-card:focus-visible { background: var(--surface-green); transform: translateY(-2px); }
.nav-mega-card > img, .nav-mega-placeholder { width: 92px; height: 66px; border-radius: .55rem; object-fit: cover; background: var(--surface-green); }
.nav-mega-placeholder { display: grid; place-items: center; color: var(--green-700); font-size: .65rem; font-weight: 900; }
.nav-mega-card > span:last-child { min-width: 0; display: grid; gap: .3rem; }
.nav-mega-card strong { overflow: hidden; font-size: .72rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.nav-mega-card small { display: -webkit-box; overflow: hidden; color: var(--muted); font-size: .6rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.nav-mega-empty { grid-column: 1 / -1; margin: 0; padding: 1rem; color: var(--muted); font-size: .72rem; text-align: center; }
.header-actions { position: relative; z-index: 2; display: flex; align-items: center; gap: .8rem; }
.public-account-menu { position: relative; }
.public-account-trigger { display: flex; align-items: center; gap: .55rem; padding: .22rem .3rem .22rem .22rem; border: 1px solid transparent; border-radius: 999px; color: var(--ink); background: transparent; }
.public-account-trigger:hover, .public-account-trigger[aria-expanded="true"] { border-color: var(--line); background: var(--surface); }
.public-account-avatar { width: 36px; height: 36px; display: grid; place-items: center; overflow: hidden; border-radius: 50%; color: #12341f; background: #b7da78; font-size: .78rem; font-weight: 800; }
.public-account-avatar img { width: 100%; height: 100%; object-fit: cover; }
.public-account-name { max-width: 125px; overflow: hidden; font-size: .7rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.public-account-chevron { padding-right: .15rem; color: var(--muted); font-size: .95rem; line-height: 1; }
.public-account-dropdown { position: absolute; z-index: 70; top: calc(100% + .55rem); right: 0; width: 210px; overflow: hidden; padding: .45rem; border: 1px solid var(--line); border-radius: .8rem; background: #fff; box-shadow: var(--shadow-lg); }
.public-account-dropdown a, .public-account-dropdown form, .public-account-dropdown button, .public-account-static { width: 100%; }
.public-account-dropdown a, .public-account-dropdown button, .public-account-static { display: flex; align-items: center; gap: .6rem; padding: .72rem .7rem; border: 0; border-radius: .5rem; color: var(--ink); background: transparent; font-size: .72rem; font-weight: 700; text-align: left; text-decoration: none; }
.public-account-dropdown a:hover, .public-account-dropdown button:hover { background: var(--surface-green); }
.public-account-section { width: 100%; display: grid; margin: .35rem 0; padding: .35rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.public-account-static { color: var(--muted); cursor: default; }
.public-account-static svg { opacity: .72; }
.public-account-dropdown svg { width: 16px; height: 16px; flex: 0 0 auto; fill: none; stroke: var(--green-700); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.language-switch { display: flex; align-items: center; gap: .2rem; color: var(--muted); font-size: .69rem; font-weight: 800; }
.language-switch form { display: contents; }
.language-switch button { padding: .2rem .12rem; border: 0; color: inherit; background: transparent; font-size: inherit; font-weight: inherit; opacity: .58; }
.language-switch button:hover, .language-switch button.is-active { color: var(--green-700); opacity: 1; }
.language-switch > span { opacity: .35; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border: 1px solid transparent; border-radius: .48rem; padding: .78rem 1.12rem; font-size: .78rem; font-weight: 800; text-decoration: none; transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease; }
.button:hover { transform: translateY(-2px); }
.button.is-loading { pointer-events: none; opacity: .76; }
.button.is-loading::after { width: .8rem; height: .8rem; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; content: ''; animation: button-spin .65s linear infinite; }
@keyframes button-spin { to { transform: rotate(360deg); } }
.button-primary { color: #fff !important; background: var(--green-700); box-shadow: 0 9px 20px rgba(11, 113, 56, .18); }
.button-primary:hover { background: var(--green-900); }
.button-signup { padding: .6rem .85rem !important; color: var(--green-700) !important; background: var(--surface-green); border-color: rgba(11, 113, 56, .14) !important; }
.button-signup:hover { background: #dcecdf; }
.nav-mobile-cta, .menu-toggle, .mobile-nav-heading, .mobile-nav-backdrop { display: none; }
.nav-mobile-language { display: none; }
.menu-toggle { border: 0; padding: .45rem; color: #fff; background: transparent; }
.menu-icon { width: 24px; display: grid; gap: 5px; }
.menu-icon span { display: block; height: 2px; border-radius: 2px; background: currentColor; transition: transform .2s, opacity .2s; }

.notice-slider { overflow: hidden; padding: 2rem 0 2.25rem; background: radial-gradient(circle at 10% 10%, rgba(255, 196, 87, .24), transparent 26%), radial-gradient(circle at 90% 85%, rgba(67, 166, 222, .2), transparent 25%), linear-gradient(135deg, #f9fff9, #f5fbff); }
.slider-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.15rem; }
.eyebrow { margin: 0 0 .55rem; color: var(--green-700); font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.slider-heading h2 { margin: 0; color: var(--ink); font-size: clamp(1.45rem, 2.6vw, 2.2rem); letter-spacing: -.045em; }
.ticker-live { display: inline-flex; align-items: center; gap: .42rem; color: var(--green-700); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ticker-live > span { width: 7px; height: 7px; border-radius: 50%; background: #d15b44; box-shadow: 0 0 0 4px rgba(209, 91, 68, .13); }
.notice-ticker { overflow: hidden; margin: 0 -.35rem; padding: .35rem; border: 1px solid var(--line); border-radius: .85rem; background: var(--surface); }
.notice-ticker-track { display: flex; width: max-content; will-change: transform; animation: notice-ticker-scroll 38s linear infinite; }
.notice-ticker:hover .notice-ticker-track, .notice-ticker:focus-within .notice-ticker-track { animation-play-state: paused; }
.notice-ticker-group { display: flex; flex: 0 0 auto; align-items: center; }
.notice-ticker-item { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .72rem; min-height: 58px; padding: .65rem 1.15rem; border-right: 1px solid var(--line); color: var(--ink); text-decoration: none; white-space: nowrap; }
.notice-ticker-item:hover, .notice-ticker-item:focus-visible { color: var(--green-700); background: #fff; }
.notice-ticker-number { color: var(--green-700); font-size: .75rem; font-weight: 800; }
.notice-ticker-category { padding: .3rem .5rem; border-radius: 999px; color: var(--green-700); background: var(--surface-green); font-size: .6rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.notice-ticker-item strong { max-width: 340px; overflow: hidden; font-size: .78rem; text-overflow: ellipsis; }
.notice-ticker-separator { color: var(--lime); font-size: 1.2rem; }
.notice-ticker-excerpt { max-width: 320px; overflow: hidden; color: var(--muted); font-size: .74rem; text-overflow: ellipsis; }
.notice-ticker-item time { color: var(--muted); font-size: .66rem; }
.notice-ticker-arrow { color: var(--green-700); font-size: 1rem; font-weight: 800; transition: transform .2s ease; }
.notice-ticker-item:hover .notice-ticker-arrow, .notice-ticker-item:focus-visible .notice-ticker-arrow { transform: translateX(3px); }
@keyframes notice-ticker-scroll { to { transform: translateX(-50%); } }
.text-link { display: inline-flex; align-items: center; gap: .38rem; margin-top: auto; color: var(--green-700); font-size: .76rem; font-weight: 800; text-decoration: none; }
.text-link:hover { color: var(--green-950); }
.text-link span { font-size: 1.05rem; line-height: 0; transition: transform .2s ease; }
.text-link:hover span { transform: translateX(3px); }

.section { padding: clamp(4.5rem, 8vw, 7.5rem) 0; }
.section-alt { background: var(--surface); }
.hero { position: relative; overflow: hidden; padding: clamp(4.8rem, 8vw, 7.5rem) 0 5rem; background: var(--surface); }
.hero::before { position: absolute; top: -18rem; right: -13rem; width: 40rem; height: 40rem; border: 6rem solid rgba(134, 185, 71, .12); border-radius: 50%; content: ''; }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .93fr) minmax(0, 1.07fr); align-items: center; gap: clamp(2rem, 7vw, 7rem); }
.hero-copy h1 { max-width: 680px; margin: 0; font-size: clamp(2.5rem, 5vw, 4.8rem); line-height: 1; letter-spacing: -.065em; }
.hero-copy h1 em { color: var(--green-700); font-style: normal; }
.hero-copy > p:not(.eyebrow) { max-width: 570px; margin: 1.35rem 0 0; color: var(--muted); font-size: 1rem; line-height: 1.8; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.button-outline { color: var(--ink); background: #fff; border-color: var(--line); }
.button-outline:hover { border-color: var(--green-700); color: var(--green-700); }
.hero-media { position: relative; min-height: 470px; overflow: hidden; border: 10px solid rgba(255, 255, 255, .88); border-radius: 1.5rem; box-shadow: var(--shadow-lg); }
.hero-media img { width: 100%; height: 100%; min-height: 470px; object-fit: cover; }
.hero-media::after { position: absolute; inset: 0; content: ''; background: linear-gradient(180deg, transparent 45%, rgba(6, 57, 31, .5)); pointer-events: none; }
.hero-badge { position: absolute; z-index: 1; right: 1.15rem; bottom: 1.15rem; max-width: 215px; padding: 1rem 1.1rem; border: 1px solid rgba(255, 255, 255, .25); border-radius: .9rem; color: #fff; background: rgba(6, 57, 31, .72); box-shadow: 0 14px 30px rgba(6, 57, 31, .18); backdrop-filter: blur(12px); }
.hero-badge strong { display: block; color: var(--lime-bright); font-size: 1.35rem; letter-spacing: -.04em; }
.hero-badge span { display: block; margin-top: .25rem; font-size: .7rem; line-height: 1.45; }
.section-heading { max-width: 650px; margin-bottom: 2.2rem; }
.section-heading h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.3rem); line-height: 1.03; letter-spacing: -.06em; }
.section-heading p:last-child { margin: 1rem 0 0; color: var(--muted); line-height: 1.75; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.feature-card { padding: 1.45rem; border: 1px solid var(--line); border-radius: 1rem; background: #fff; box-shadow: 0 7px 25px rgba(30, 44, 35, .04); }
.feature-icon { width: 43px; height: 43px; display: grid; place-items: center; margin-bottom: 1.2rem; border-radius: .8rem; color: var(--green-700); background: var(--surface-green); font-size: 1.2rem; font-weight: 800; }
.feature-card h3 { margin: 0; font-size: 1rem; }
.feature-card p { margin: .65rem 0 0; color: var(--muted); font-size: .82rem; line-height: 1.65; }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .12); border-radius: 1rem; background: rgba(255, 255, 255, .12); }
.metric { padding: 1.55rem; color: #fff; background: var(--green-950); }
.metric strong { display: block; color: var(--lime-bright); font-size: clamp(1.8rem, 4vw, 2.8rem); letter-spacing: -.06em; }
.metric span { display: block; margin-top: .35rem; color: rgba(255, 255, 255, .68); font-size: .75rem; line-height: 1.45; }
.dark-panel { color: #fff; background: var(--green-950); }
.dark-panel .section-heading h2 { color: #fff; }
.dark-panel .section-heading p:last-child { color: rgba(255, 255, 255, .68); }

.site-footer { color: #fff; background: #171c19; }
.footer-main { padding: 5rem 0 4rem; background: radial-gradient(circle at 8% 90%, rgba(64, 121, 80, .22), transparent 30%); }
.footer-grid { display: grid; grid-template-columns: 1.6fr .8fr 1fr 1.4fr; gap: 4rem; }
.footer-intro .brand img { width: 190px; height: 190px; filter: none; }
.footer-intro p { max-width: 370px; margin: 1.4rem 0; color: #aab3ae; font-size: .88rem; line-height: 1.8; }
.social-links { display: flex; gap: .7rem; }
.social-links a { width: 37px; height: 37px; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .15); border-radius: 50%; color: #fff; font-size: .78rem; font-weight: 800; text-decoration: none; }
.social-links a:hover { color: var(--lime-bright); border-color: var(--lime-bright); }
.footer-column h3 { margin: .4rem 0 1.4rem; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.footer-column > a { display: flex; align-items: flex-start; gap: .65rem; margin: .85rem 0; color: #aab3ae; font-size: .82rem; line-height: 1.5; text-decoration: none; transition: color .2s; }
.footer-column > a:hover { color: #fff; }
.contact-column > a span { flex: 0 0 auto; width: 18px; color: var(--lime-bright); font-weight: 800; text-align: center; }
.footer-map { overflow: hidden; margin-top: 1.15rem; border: 1px solid rgba(255, 255, 255, .12); border-radius: .75rem; }
.footer-map iframe { width: 100%; height: 132px; display: block; border: 0; filter: saturate(.8) contrast(.94); }
.footer-bottom { border-top: 1px solid rgba(255, 255, 255, .08); }
.footer-bottom-inner { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: #828d87; font-size: .72rem; }
.footer-bottom-inner p { margin: 0; }
.footer-bottom-inner a { color: inherit; text-decoration: none; }
.footer-bottom-inner a:hover { color: #fff; }

@media (max-width: 1120px) {
    .utility-message { display: none; }
    .utility-inner { justify-content: space-between; }
    .utility-menu-toggle { display: block; flex: 0 0 auto; margin-right: auto; margin-left: -.45rem; }
    .header-identity-inner { min-height: 92px; }
    .header-identity-inner .brand { width: 86px; height: 86px; margin-block: .35rem; padding: .3rem; border-width: 3px; }
    .header-wordmark strong { font-size: clamp(1.05rem, 2.7vw, 1.7rem); }
    .header-wordmark span { font-size: .56rem; }
    .nav-wrap { height: 0; border: 0; background: transparent; }
    .nav-inner { min-height: 0; height: 0; }
    .header-advice-button, .header-actions .language-switch { display: none; }
    .public-account-name { display: none; }
    .public-account-trigger { padding: .12rem; }
    .public-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nav-wrap::before { display: none; }
    .site-header { will-change: auto; }
    .main-nav { position: fixed; z-index: 102; top: 0; bottom: 0; left: 0; width: min(370px, 88vw); display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 1rem; max-height: none; overflow-x: hidden; overflow-y: auto; margin: 0; padding: 1rem 1.2rem 1.5rem; border: 0; background: #fff; box-shadow: 24px 0 60px rgba(6, 57, 31, .22); opacity: 0; transform: translateX(-105%); visibility: hidden; transition: transform .25s ease, opacity .2s ease, visibility .25s; }
    .site-header.is-open .main-nav { opacity: 1; transform: translateX(0); visibility: visible; }
    .mobile-nav-heading { display: flex; align-items: center; justify-content: space-between; margin: -.1rem 0 .25rem; padding-bottom: .9rem; border-bottom: 1px solid var(--line); color: var(--green-950); font-size: .82rem; font-weight: 800; }
    .mobile-nav-heading button { width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 50%; color: var(--green-950); background: var(--surface-green); font-size: 1.45rem; line-height: 1; }
    .mobile-nav-backdrop { position: fixed; z-index: 101; inset: 0; display: block; border: 0; background: rgba(3, 26, 15, .56); opacity: 0; pointer-events: none; visibility: hidden; transition: opacity .2s ease, visibility .2s; }
    .site-header.is-open .mobile-nav-backdrop { opacity: 1; pointer-events: auto; visibility: visible; }
    .main-nav > a { width: fit-content; }
    .main-nav > a:not(.button)::after { bottom: -4px; }
    .nav-mega-heading { justify-content: space-between; }
    .nav-mega-heading > a { width: fit-content; }
    .nav-mega-heading button { width: 34px; height: 30px; border: 1px solid var(--line); border-radius: .45rem; }
    .nav-mega-panel { position: static; width: 100%; display: none; margin-top: .7rem; padding: .8rem; opacity: 1; transform: none; visibility: visible; pointer-events: auto; box-shadow: none; }
    .nav-mega.is-open .nav-mega-panel { display: block; }
    .nav-mega.is-open .nav-mega-heading button svg { transform: rotate(180deg); }
    .nav-mega-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nav-mobile-cta { display: inline-flex; width: fit-content; }
    .nav-mobile-language { display: block; padding-top: .2rem; }
    .nav-mobile-language .language-switch { display: inline-flex; }
    .hero-grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .hero-media, .hero-media img { min-height: 390px; }
    .feature-grid { grid-template-columns: repeat(2, 1fr); }
    .metrics { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 2.8rem; }
}

@media (max-width: 640px) {
    .container { width: min(100% - 1.5rem, 1180px); }
    .utility-links { gap: .7rem; font-size: .67rem; }
    .utility-links a:nth-child(1), .utility-links a:nth-child(2), .utility-links a:nth-child(3), .utility-divider { display: none; }
    .header-identity-inner { min-height: 78px; gap: .7rem; }
    .header-identity-inner .brand { width: 70px; height: 70px; margin-block: .3rem; padding: .24rem; border-width: 3px; }
    .header-wordmark strong { max-width: 210px; display: block; font-size: .92rem; line-height: 1.15; }
    .header-wordmark span { display: none; }
    .header-identity-inner .public-account-name, .header-identity-inner .public-account-chevron { display: none; }
    .brand img { width: 82px; height: 82px; }
    .nav-mega-grid { grid-template-columns: 1fr; }
    .nav-mega-card { grid-template-columns: 78px minmax(0, 1fr); }
    .nav-mega-card > img, .nav-mega-placeholder { width: 78px; height: 58px; }
    .main-nav { width: min(340px, 90vw); }
    .notice-slider { padding: 1.4rem 0 1.7rem; }
    .slider-heading { align-items: flex-start; }
    .slider-heading h2 { font-size: 1.4rem; }
    .ticker-live { font-size: .58rem; }
    .notice-ticker-track { animation-duration: 28s; }
    .notice-ticker-item { min-height: 54px; padding-inline: .85rem; }
    .notice-ticker-excerpt, .notice-ticker-item time { display: none; }
    .notice-ticker-item strong { max-width: 235px; }
    .hero { padding: 4.5rem 0 4rem; }
    .hero-copy h1 { font-size: clamp(2.6rem, 14vw, 4rem); }
    .hero-copy > p:not(.eyebrow) { font-size: .9rem; }
    .hero-media, .hero-media img { min-height: 300px; }
    .hero-media { border-width: 6px; border-radius: 1.1rem; }
    .hero-badge { right: .7rem; bottom: .7rem; padding: .75rem .85rem; }
    .hero-badge strong { font-size: 1.08rem; }
    .feature-grid, .metrics { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
    .footer-bottom-inner { min-height: 80px; align-items: flex-start; flex-direction: column; justify-content: center; }
}

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

/* Public page system */
.realty-hero { position: relative; min-height: 760px; display: flex; align-items: center; color: #fff; background: url('/images/greencore-development-hero.png') center/cover no-repeat; }
.hero-content { position: relative; z-index: 1; padding-bottom: 6rem; }
.hero-kicker { display: flex; align-items: center; gap: .7rem; color: #b8db82; font-size: .76rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.hero-kicker span { width: 34px; height: 1px; background: #b8db82; }
.hero-content h1 { max-width: 850px; margin: 1.4rem 0; color: var(--green-950); font-size: clamp(3rem, 5.8vw, 5.8rem); line-height: .96; letter-spacing: -.065em; text-shadow: 0 2px 18px rgba(255, 255, 255, .72); }
.hero-content h1 em { color: var(--green-700); font-style: normal; }
.hero-content > p:not(.hero-kicker) { max-width: 630px; color: rgba(255, 255, 255, .78); font-size: 1.12rem; line-height: 1.8; }
.hero-primary { color: #102316 !important; background: #7fb43f; }
.hero-primary:hover { background: #a9d35c; }
.hero-secondary { color: #fff; background: rgba(255, 255, 255, .09); border-color: rgba(255, 255, 255, .35); }
.hero-secondary:hover { color: #fff; background: rgba(255, 255, 255, .17); }
.hero-foot { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; color: #fff; background: rgba(5, 25, 14, .77); border-top: 1px solid rgba(255, 255, 255, .12); backdrop-filter: blur(12px); }
.hero-metrics { display: grid; grid-template-columns: repeat(4, 1fr); }
.hero-metrics > div { padding: 1.25rem 1.5rem; border-right: 1px solid rgba(255, 255, 255, .12); }
.hero-metrics > div:first-child { padding-left: 0; }
.hero-metrics > div:last-child { border: 0; }
.hero-metrics strong, .hero-metrics span { display: block; }
.hero-metrics strong { font-size: 1.35rem; }
.hero-metrics span { margin-top: .2rem; color: rgba(255, 255, 255, .58); font-size: .73rem; }
.intro-grid, .public-story-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 8rem; }
.section-number { margin: 0 0 1rem; color: var(--green-700); font-size: .7rem; font-weight: 800; letter-spacing: .14em; }
.intro h2, .public-story h2, .signature-section h2 { margin: 0; font-size: clamp(2.5rem, 5vw, 4.6rem); line-height: 1.05; letter-spacing: -.055em; }
.intro-copy > p, .public-story-copy > p { margin: 0 0 1.25rem; color: var(--muted); font-size: 1.06rem; line-height: 1.9; }
.promise-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.8rem 0 2rem; }
.promise-grid span { display: flex; align-items: center; gap: .55rem; font-size: .85rem; font-weight: 800; }
.promise-grid span:first-letter { color: var(--green-700); }
.properties-section { background: var(--surface); }
.properties-section .section-heading, .projects-section .section-heading { max-width: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; }
.properties-section .section-heading > div, .projects-section .section-heading > div { max-width: 670px; }
.property-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.property-card { min-width: 0; display: flex; overflow: hidden; flex-direction: column; border: 1px solid var(--line); border-radius: 14px; color: var(--ink); background: #fff; box-shadow: 0 8px 30px rgba(30, 44, 35, .06); text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.property-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.property-image { position: relative; height: 320px; overflow: hidden; background-image: linear-gradient(180deg, rgba(5, 25, 14, .02) 48%, rgba(5, 25, 14, .7)), url('/images/greencore-development-hero.png'); background-repeat: no-repeat; background-size: cover; }
.property-image::after { position: absolute; inset: .75rem; border: 1px solid rgba(255, 255, 255, .18); border-radius: 8px; content: ''; pointer-events: none; }
.property-image span { position: absolute; z-index: 1; top: 1rem; left: 1rem; padding: .38rem .65rem; border: 1px solid rgba(255, 255, 255, .24); border-radius: 99px; color: #fff; background: rgba(5, 25, 14, .62); font-size: .64rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; backdrop-filter: blur(8px); }
.property-body { display: flex; flex: 1; flex-direction: column; padding: 1.4rem; }
.property-body > p { margin: 0 0 .6rem; color: var(--green-700); font-size: .66rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.property-body h2, .property-body h3 { margin: 0; font-size: 1.18rem; line-height: 1.35; letter-spacing: -.025em; }
.property-meta { display: grid; gap: .45rem; margin-top: 1.15rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .72rem; line-height: 1.45; }
.projects-section { color: #fff; background: #10271a; }
.projects-section .section-heading > div { max-width: 670px; }
.projects-section .section-heading h2, .projects-section .section-heading p { color: #fff; }
.projects-section .section-heading p:not(.eyebrow) { color: #91a197; line-height: 1.7; }
.projects-section .text-link { color: #b9d97e; }
.project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.project-card { display: block; overflow: hidden; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 14px; text-decoration: none; transition: transform .25s, box-shadow .25s; }
.project-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.project-visual { position: relative; min-height: 205px; display: flex; align-items: center; justify-content: center; overflow: hidden; color: #fff; background: linear-gradient(145deg, #0d5b33, #6da83d); }
.project-visual { background-position: center; background-size: cover; }
.project-cover-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.project-visual::before, .project-visual::after { position: absolute; z-index: 1; width: 220px; height: 220px; border: 1px solid rgba(255, 255, 255, .17); border-radius: 50%; content: ''; top: -90px; right: -70px; }
.project-visual::after { top: auto; right: auto; bottom: -60px; left: -50px; width: 140px; height: 140px; }
.project-number { position: absolute; z-index: 2; top: 1rem; left: 1.25rem; font-size: 3.1rem; font-weight: 800; line-height: 1; opacity: .38; text-shadow: 0 2px 12px rgba(0, 0, 0, .35); }
.project-glyph { position: relative; z-index: 1; font-size: 4.2rem; line-height: 1; filter: drop-shadow(0 10px 16px rgba(0, 0, 0, .12)); }
.project-status { position: absolute; z-index: 2; right: 1rem; bottom: 1rem; padding: .35rem .6rem; border: 1px solid rgba(255, 255, 255, .2); border-radius: 99px; color: #fff; background: rgba(5, 25, 14, .68); font-size: .65rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.tone-blue .project-visual, .tone-navy .project-visual { background: linear-gradient(145deg, #123d66, #2e7db2); }
.tone-orange .project-visual, .tone-amber .project-visual { background: linear-gradient(145deg, #a85a0a, #e99b2b); }
.tone-lime .project-visual { background: linear-gradient(145deg, #3e7419, #91bc35); }
.tone-purple .project-visual { background: linear-gradient(145deg, #503479, #8d62ba); }
.tone-rose .project-visual { background: linear-gradient(145deg, #9c244d, #d9577d); }
.tone-teal .project-visual { background: linear-gradient(145deg, #087176, #28a5a1); }
.tone-forest .project-visual { background: linear-gradient(145deg, #174d2d, #4f8d42); }
.project-copy { padding: 1.5rem; }
.project-copy p { margin: 0 0 .7rem; color: var(--green-700); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.project-copy h2 { min-height: 58px; margin: 0 0 1.2rem; color: var(--ink); font-size: 1.08rem; line-height: 1.4; }
.project-link { display: flex; align-items: center; justify-content: space-between; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .78rem; font-weight: 700; }
.project-card:hover .project-link { color: var(--green-700); }
.signature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7rem; align-items: center; }
.signature-image { min-height: 620px; display: flex; align-items: flex-end; padding: 2rem; border-radius: 4px 120px 4px 4px; color: #fff; background: linear-gradient(180deg, transparent 60%, rgba(5, 25, 14, .7)), url('/images/greencore-development-hero.png') 78% center/cover; font-weight: 700; }
.signature-lead { color: var(--muted); font-size: 1.05rem; line-height: 1.8; }
.value-list { display: grid; gap: .7rem; margin-top: 2rem; }
.value-list article { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.value-list article > span { width: 46px; height: 46px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: var(--green-700); background: var(--surface-green); }
.value-list h3, .value-list p { margin: 0; }
.value-list h3 { font-size: 1rem; }
.value-list p { margin-top: .25rem; color: var(--muted); font-size: .85rem; line-height: 1.5; }
.investment-cta { padding: 5rem 0; color: #102316; background: #7aa43c; }
.cta-grid { display: grid; grid-template-columns: 1.4fr .6fr; gap: 3rem; align-items: center; }
.cta-grid p, .career-hero > .container > p { font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cta-grid h2 { margin: .7rem 0; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.1; letter-spacing: -.045em; }
.cta-grid > div:last-child { display: flex; align-items: center; flex-direction: column; gap: .8rem; }
.cta-button { color: #fff; background: #10271a; }
.cta-grid > div:last-child span { font-size: .75rem; font-weight: 700; }
.page-hero { position: relative; overflow: hidden; padding: 5rem 0; background: var(--surface); }
.page-hero::after { position: absolute; top: -100px; right: -80px; width: 320px; height: 320px; border: 70px solid rgba(11, 113, 56, .06); border-radius: 50%; content: ''; }
.page-hero-green { color: #fff; background: var(--green-950); }
.page-hero-green::after { border-color: rgba(185, 217, 126, .12); }
.page-hero .container { position: relative; z-index: 1; }
.page-hero h1 { max-width: 850px; margin: 0; font-size: clamp(2rem, 4.2vw, 3.8rem); line-height: 1.06; letter-spacing: -.055em; }
.page-hero p:last-child { max-width: 650px; margin: 1.2rem 0 0; color: var(--muted); font-size: 1.06rem; line-height: 1.8; }
.page-hero-green p:last-child { color: rgba(255, 255, 255, .68); }
.page-hero-green .eyebrow { color: #b9d97e; }
.public-story-copy { max-width: 580px; }
.registration-section { background: linear-gradient(135deg, #f6faf6, #edf4ee); }
.registration-grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(460px, 1.14fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.registration-copy h2 { max-width: 620px; margin: 0; font-size: clamp(2rem, 4vw, 3.6rem); line-height: 1.08; letter-spacing: -.055em; }
.registration-copy > p:not(.eyebrow, .registration-note) { margin: 1.25rem 0 0; color: var(--muted); line-height: 1.8; }
.registration-facts { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin: 1.8rem 0 0; }
.registration-facts > div { padding: 1rem; border: 1px solid rgba(11, 113, 56, .12); border-radius: .8rem; background: rgba(255, 255, 255, .78); }
.registration-facts dt { color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.registration-facts dd { margin: .42rem 0 0; font-size: .8rem; font-weight: 800; line-height: 1.5; }
.registration-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; margin-top: 1.6rem; }
.registration-actions .text-link { margin-top: 0; }
.registration-note { margin: 1rem 0 0; color: var(--muted); font-size: .69rem; line-height: 1.6; }
.certificate-preview { overflow: hidden; border: 1px solid rgba(11, 113, 56, .16); border-radius: 1rem; background: #fff; box-shadow: var(--shadow-lg); }
.certificate-preview-bar { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; color: #fff; background: var(--green-950); }
.certificate-preview-bar span { font-size: .75rem; font-weight: 800; }
.certificate-preview-bar small { color: rgba(255, 255, 255, .65); font-size: .61rem; }
.certificate-preview object { width: 100%; height: 620px; display: block; border: 0; background: #f4f4f1; }
.certificate-preview object p { padding: 2rem; color: var(--muted); line-height: 1.7; }
.value-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.value-cards article { position: relative; min-height: 230px; padding: 1.5rem; border: 1px solid var(--line); border-radius: 1rem; background: #fff; }
.value-number { display: block; color: var(--lime); font-size: 2.2rem; font-weight: 800; letter-spacing: -.08em; }
.value-cards h3 { margin: 2rem 0 .55rem; font-size: 1.05rem; }
.value-cards p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.65; }
.public-cta { padding: 4.5rem 0; color: #102316; background: #7aa43c; }
.public-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.public-cta h2 { max-width: 700px; margin: .55rem 0 0; font-size: clamp(2rem, 4.4vw, 3.7rem); line-height: 1.08; letter-spacing: -.055em; }
.button-dark { color: #fff !important; background: #10271a; }
.back-link { display: inline-flex; margin-bottom: 2rem; color: inherit; font-size: .8rem; font-weight: 800; text-decoration: none; opacity: .76; }
.back-link:hover { opacity: 1; }
.project-detail-hero { color: #fff; background: #0d5b33; }
.project-detail-hero { background-position: center; background-size: cover; }
.project-detail-hero.tone-blue, .project-detail-hero.tone-navy { background: #123d66; }
.project-detail-hero.tone-orange, .project-detail-hero.tone-amber { background: #a85a0a; }
.project-detail-hero.tone-purple { background: #503479; }
.project-detail-hero.tone-rose { background: #9c244d; }
.project-detail-hero.tone-teal { background: #087176; }
.project-detail-hero.tone-forest { background: #174d2d; }
.project-detail-hero-inner { padding: 5.5rem 0; }
.project-detail-hero .eyebrow { color: #c4e37d; }
.project-detail-hero h1 { max-width: 850px; margin: 0; font-size: clamp(2.3rem, 5vw, 4.6rem); line-height: 1.03; letter-spacing: -.06em; }
.project-detail-hero p:not(.eyebrow) { max-width: 690px; margin: 1.25rem 0 0; color: rgba(255, 255, 255, .78); font-size: 1.05rem; line-height: 1.75; }
.detail-meta { display: flex; flex-wrap: wrap; gap: 2rem; margin-top: 2rem; }
.detail-meta span { display: grid; gap: .25rem; color: rgba(255, 255, 255, .8); font-size: .85rem; }
.detail-meta strong { color: #c4e37d; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.detail-layout, .detail-highlights, .property-detail-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 7rem; }
.detail-layout h2, .detail-highlights h2, .property-detail-grid h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.08; letter-spacing: -.055em; }
.detail-copy > p, .property-description { margin: 0; color: var(--muted); font-size: 1.05rem; line-height: 1.85; }
.impact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; margin-top: 2rem; }
.impact-grid div { padding: 1rem; border: 1px solid var(--line); border-radius: .75rem; background: var(--surface); }
.impact-grid strong, .impact-grid span { display: block; }
.impact-grid strong { color: var(--green-700); font-size: 1.4rem; }
.impact-grid span { margin-top: .2rem; color: var(--muted); font-size: .68rem; }
.detail-highlights ul, .feature-list { display: grid; gap: .85rem; margin: 0; padding: 0; list-style: none; }
.detail-highlights li, .feature-list li { display: flex; align-items: flex-start; gap: .7rem; padding-bottom: .85rem; border-bottom: 1px solid var(--line); font-size: .9rem; line-height: 1.5; }
.detail-highlights li span, .feature-list li span { color: var(--green-700); font-weight: 800; }
.property-promise { padding: 4rem 0; color: #fff; background: var(--green-950); }
.property-promise-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center; }
.property-promise h2 { margin: .5rem 0 0; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.08; letter-spacing: -.055em; }
.property-promise p:last-child { margin: 0; color: rgba(255, 255, 255, .7); line-height: 1.8; }
.property-detail-hero { position: relative; min-height: 560px; display: flex; align-items: flex-end; color: #fff; background-image: url('/images/greencore-development-hero.png'); background-position: center; background-size: cover; }
.property-detail-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5, 25, 14, .92), rgba(5, 25, 14, .08) 70%); }
.property-detail-content { position: relative; z-index: 1; padding-bottom: 4.5rem; }
.property-detail-content h1 { max-width: 780px; margin: 0; font-size: clamp(2.2rem, 5vw, 4.5rem); line-height: 1.02; letter-spacing: -.06em; }
.property-detail-content > p:not(.eyebrow) { max-width: 670px; margin: 1rem 0; color: rgba(255, 255, 255, .8); line-height: 1.75; }
.property-status { display: inline-flex; padding: .4rem .7rem; border: 1px solid rgba(255, 255, 255, .25); border-radius: 999px; color: #fff; background: rgba(255, 255, 255, .14); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.property-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.property-facts div { padding: 1.25rem; border-left: 3px solid var(--lime); background: var(--surface); }
.property-facts span, .property-facts strong { display: block; }
.property-facts span { color: var(--muted); font-size: .68rem; letter-spacing: .07em; text-transform: uppercase; }
.property-facts strong { margin-top: .45rem; font-size: .95rem; }
.public-gallery-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 220px; grid-auto-flow: dense; gap: 1rem; }
.gallery-card { position: relative; display: flex; align-items: flex-end; justify-content: space-between; overflow: hidden; padding: 1.5rem; color: #fff; background-image: linear-gradient(0deg, rgba(5, 25, 14, .78), transparent 65%), url('/images/greencore-development-hero.png'); background-size: cover; }
.gallery-card.is-wide { grid-column: span 2; }
.gallery-card.is-tall { grid-row: span 2; }
.gallery-card::after { position: absolute; inset: .7rem; border: 1px solid rgba(255, 255, 255, .18); content: ''; }
.gallery-card > div, .gallery-card > span { position: relative; z-index: 1; }
.gallery-card p { margin: 0; color: #b9dc7d; font-size: .67rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.gallery-card h2 { margin: .5rem 0 0; font-size: 1.5rem; }
.public-notice-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
.public-notice-card { display: flex; flex-direction: column; overflow: hidden; border-radius: 13px; background: #fff; box-shadow: var(--shadow); }
.public-notice-art { min-height: 170px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; padding: 1.25rem; color: #fff; background: linear-gradient(135deg, var(--green-700), var(--green-950)); background-position: center; background-size: cover; }
.public-notice-art span { font-size: 3.4rem; font-weight: 800; line-height: .85; opacity: .6; }
.public-notice-art small { padding: .35rem .6rem; border-radius: 99px; background: rgba(255, 255, 255, .17); font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.public-notice-copy { display: flex; flex: 1; flex-direction: column; padding: 1.4rem; }
.public-notice-copy h2 { margin: .7rem 0 .45rem; font-size: 1.3rem; line-height: 1.35; }
.public-notice-copy p { margin: 0 0 1rem; color: var(--muted); font-size: .85rem; line-height: 1.65; }
.notice-detail-heading { max-width: 920px; }
.notice-detail-heading h1 { max-width: 880px; font-size: clamp(2.15rem, 4.4vw, 3.75rem); line-height: 1.08; letter-spacing: -.055em; }
.notice-article-inner { max-width: 760px; }
.notice-article-inner > p { margin: 0 0 2rem; color: var(--muted); font-size: 1.1rem; line-height: 2; }
.contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 7rem; }
.contact-detail { display: flex; align-items: flex-start; gap: 1rem; margin: 1.25rem 0; }
.contact-detail > span { width: 44px; height: 44px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: var(--green-700); background: var(--surface-green); font-weight: 800; }
.contact-detail h3, .contact-detail p { margin: 0; }
.contact-detail p, .contact-detail a { color: var(--muted); line-height: 1.6; text-decoration: none; }
.contact-detail h3 { margin-bottom: .2rem; font-size: 1rem; }
.contact-form { padding: 2.5rem; border-radius: 16px; background: var(--surface); }
.contact-form h2 { margin: 0; font-size: 1.8rem; }
.contact-form > p { margin: .4rem 0 1.5rem; color: var(--muted); }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1rem; }
.contact-form > .form-field { margin-bottom: 1rem; }
.form-field { display: grid; gap: .42rem; }
.form-field label { font-size: .82rem; font-weight: 800; }
.form-field input, .form-field textarea, .form-field select { width: 100%; border: 1px solid #dfe3df; border-radius: 8px; padding: .85rem 1rem; outline: none; color: var(--ink); background: #fff; transition: border .2s, box-shadow .2s; }
.form-field input:focus, .form-field textarea:focus, .form-field select:focus { border-color: var(--green-700); box-shadow: 0 0 0 3px rgba(11, 113, 56, .1); }
.form-field small { color: #9c244d; font-size: .72rem; }
.password-control { position: relative; }
.password-control input { padding-right: 3.1rem; }
.password-toggle { position: absolute; top: 50%; right: .58rem; width: 36px; height: 36px; display: grid; place-items: center; padding: 0; border: 0; border-radius: .45rem; color: var(--muted); background: transparent; transform: translateY(-50%); }
.password-toggle:hover { color: var(--green-700); background: var(--surface-green); }
.password-eye { width: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.password-eye-closed, .password-toggle[aria-pressed="true"] .password-eye-open { display: none; }
.password-toggle[aria-pressed="true"] .password-eye-closed { display: block; }
.contact-map-card { display: grid; grid-template-columns: minmax(220px, .42fr) minmax(0, 1fr); overflow: hidden; margin-top: 3rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--surface); box-shadow: var(--shadow); }
.contact-map-card > div { display: flex; align-items: flex-start; justify-content: center; flex-direction: column; padding: clamp(1.4rem, 4vw, 2.5rem); }
.contact-map-card h2 { margin: 0; font-size: clamp(1.5rem, 3vw, 2.2rem); line-height: 1.15; }
.contact-map-card p:not(.eyebrow) { margin: .75rem 0 0; color: var(--muted); font-size: .78rem; line-height: 1.65; }
.contact-map-card a { margin-top: 1rem; color: var(--green-700); font-size: .76rem; font-weight: 800; text-decoration: none; }
.contact-map-card iframe { width: 100%; min-height: 350px; display: block; border: 0; }
.form-feedback { margin: 0 0 1rem; padding: .75rem 1rem; border-radius: 7px; font-size: .82rem; }
.form-feedback-success { color: #286039; background: #e5f3e8; }
.form-feedback-error { color: #8c2544; background: #fcebf0; }
.corporate-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 7rem; }
.corporate-profile { padding: 2.2rem; color: #fff; background: #10271a; }
.corporate-profile .eyebrow { color: #a8d16c; }
.corporate-profile dl { margin: 2rem 0 0; }
.corporate-profile dl > div { padding: 1rem 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.corporate-profile dt { color: #8d9d93; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.corporate-profile dd { margin: .3rem 0 0; font-weight: 700; }
.corporate-pillars { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.corporate-pillars article { display: flex; gap: 1rem; padding: 1.4rem; background: var(--surface); }
.corporate-pillars article > span { color: var(--green-700); font-size: 1.35rem; font-weight: 800; }
.corporate-pillars h3, .corporate-pillars p { margin: 0; }
.corporate-pillars p { margin-top: .35rem; color: var(--muted); font-size: .84rem; line-height: 1.6; }
.career-hero { padding: 8rem 0; color: #fff; background: #10271a; }
.career-hero > .container > p { color: #a9d16c; }
.career-hero h1 { margin: 1.2rem 0; font-size: clamp(2.8rem, 6vw, 5.5rem); line-height: .96; letter-spacing: -.06em; }
.career-hero span { color: #9eaaa2; }
.culture-strip { color: #102316; background: #79a63d; }
.culture-strip .container { display: grid; grid-template-columns: repeat(3, 1fr); }
.culture-strip article { padding: 2rem; border-right: 1px solid rgba(16, 39, 26, .15); }
.culture-strip article:last-child { border: 0; }
.culture-strip article > span { font-size: 1.4rem; }
.culture-strip h3 { margin: .8rem 0 .3rem; }
.culture-strip p { margin: 0; font-size: .84rem; line-height: 1.6; }
.role-list { border-top: 1px solid var(--line); }
.role-list article { display: flex; align-items: center; gap: 1rem; padding: 1.5rem 0; border-bottom: 1px solid var(--line); }
.role-list article > span { color: var(--green-700); font-size: 1.2rem; }
.role-list h3, .role-list p { margin: 0; }
.role-list p { margin-top: .25rem; color: var(--muted); }
.role-list a { display: flex; align-items: center; gap: .5rem; margin-left: auto; color: var(--green-700); font-weight: 800; text-decoration: none; }

/* SkillTech Academy */
.academy-preview { overflow: hidden; background: #edf6f2; }
.academy-preview-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.academy-preview-media { position: relative; aspect-ratio: 3 / 2; min-height: 0; overflow: hidden; border-radius: 3rem .35rem 3rem .35rem; box-shadow: var(--shadow-lg); }
.academy-preview-media::after { position: absolute; inset: 1rem; border: 1px solid rgba(255, 255, 255, .35); border-radius: 2.35rem .2rem 2.35rem .2rem; content: ''; pointer-events: none; }
.academy-preview-media img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.academy-preview-media > span { position: absolute; z-index: 1; right: 1.3rem; bottom: 1.3rem; left: 1.3rem; padding: .9rem 1rem; border: 1px solid rgba(255, 255, 255, .2); border-radius: .7rem; color: #fff; background: rgba(7, 47, 31, .72); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-align: center; text-transform: uppercase; backdrop-filter: blur(10px); }
.academy-preview-copy h2 { margin: 0; font-size: clamp(2.5rem, 5vw, 4.8rem); line-height: 1.04; letter-spacing: -.06em; }
.academy-preview-copy > p:not(.section-number) { margin: 1.3rem 0 0; color: var(--muted); font-size: 1rem; line-height: 1.85; }
.academy-preview-points { display: grid; gap: .7rem; margin: 1.8rem 0; }
.academy-preview-points span { display: flex; align-items: center; gap: .8rem; padding-bottom: .7rem; border-bottom: 1px solid rgba(11, 113, 56, .14); font-size: .84rem; font-weight: 800; }
.academy-preview-points strong { color: var(--green-700); font-size: .7rem; }

.academy-hero { position: relative; overflow: hidden; padding: clamp(4.5rem, 8vw, 7rem) 0; color: #fff; background: #0d3025; }
.academy-hero::before { position: absolute; inset: 0; content: ''; background: radial-gradient(circle at 8% 9%, rgba(50, 153, 119, .2), transparent 26%), linear-gradient(120deg, rgba(255, 255, 255, .025), transparent 42%); }
.academy-orb { position: absolute; border-radius: 50%; background: #16795e; opacity: .82; }
.academy-orb-one { top: -65px; right: 7%; width: 150px; height: 150px; }
.academy-orb-two { bottom: -60px; left: 4%; width: 125px; height: 125px; }
.academy-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(2.8rem, 7vw, 7rem); align-items: center; }
.academy-kicker { display: flex; align-items: center; gap: .65rem; margin: 0 0 1.25rem; color: #b9db86; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.academy-kicker span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: #0d3025; background: #b9db86; }
.academy-hero-copy h1 { margin: 0; font-size: clamp(2.6rem, 5.2vw, 5rem); line-height: .98; letter-spacing: -.06em; }
.academy-hero-copy h1 em { color: #a9d46a; font-style: normal; }
.academy-hero-copy > p:not(.academy-kicker) { max-width: 600px; margin: 1.4rem 0 0; color: rgba(255, 255, 255, .72); font-size: 1rem; line-height: 1.8; }
.academy-hero-message strong, .academy-hero-message span { display: block; }
.academy-hero-message strong { color: #fff; font-size: clamp(1.15rem, 2vw, 1.5rem); line-height: 1.45; }
.academy-hero-message span { margin-top: .55rem; }
.academy-hero-actions, .academy-cta-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.academy-button-light { color: #10271a !important; background: #b8dd7f; box-shadow: 0 12px 28px rgba(0, 0, 0, .16); }
.academy-button-light:hover { background: #d0eca3; }
.academy-button-ghost { color: #fff !important; border-color: rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .06); }
.academy-button-ghost:hover { background: rgba(255, 255, 255, .13); }
.academy-tagline { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin-top: 2rem; color: rgba(255, 255, 255, .82); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.academy-tagline i { color: #9acb5b; font-style: normal; }
.academy-hero-media { position: relative; aspect-ratio: 3 / 2; min-height: 0; overflow: hidden; border-radius: .4rem 5rem .4rem 5rem; box-shadow: 0 35px 80px rgba(0, 0, 0, .3); }
.academy-hero-media::after { position: absolute; inset: 0; content: ''; background: linear-gradient(180deg, transparent 55%, rgba(4, 29, 20, .66)); pointer-events: none; }
.academy-hero-media img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.academy-media-card { position: absolute; z-index: 1; right: 1.4rem; bottom: 1.4rem; left: 1.4rem; padding: 1rem 1.2rem; border: 1px solid rgba(255, 255, 255, .2); border-radius: .75rem; background: rgba(8, 48, 34, .7); backdrop-filter: blur(13px); }
.academy-media-card strong, .academy-media-card span { display: block; }
.academy-media-card strong { color: #c7ea8d; font-size: .85rem; }
.academy-media-card span { margin-top: .25rem; color: rgba(255, 255, 255, .7); font-size: .72rem; }
.academy-path-strip { color: #fff; background: #13775b; }
.academy-path-strip .container { min-height: 84px; display: flex; align-items: center; justify-content: center; gap: clamp(1rem, 3vw, 3rem); }
.academy-path-strip span { display: flex; align-items: center; gap: .6rem; font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.academy-path-strip b { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: #0d3025; background: #c2e78a; font-size: .63rem; }
.academy-path-strip i { color: rgba(255, 255, 255, .45); font-style: normal; }

.academy-heading { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 3rem; align-items: end; margin-bottom: 2.5rem; }
.academy-heading h2 { margin: 0; font-size: clamp(2.3rem, 4.8vw, 4.5rem); line-height: 1.02; letter-spacing: -.06em; }
.academy-heading > p { margin: 0; color: var(--muted); font-size: .94rem; line-height: 1.8; }
.academy-benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.15rem; }
.academy-benefit-grid article { min-height: 280px; display: flex; align-items: flex-start; gap: 1rem; padding: 1.6rem; border: 1px solid #d8e7df; border-radius: 1.8rem; background: #fff; box-shadow: 0 12px 30px rgba(31, 73, 52, .07); }
.academy-benefit-grid article > span, .academy-stack article > span, .academy-mentor-grid article > span, .academy-habit-grid article > span { width: 44px; height: 44px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #13775b; box-shadow: 0 8px 18px rgba(19, 119, 91, .2); font-size: .72rem; font-weight: 800; }
.academy-benefit-grid h3, .academy-benefit-grid p { margin: 0; }
.academy-benefit-grid h3 { font-size: 1.06rem; line-height: 1.4; }
.academy-benefit-grid p { margin-top: .65rem; color: var(--muted); font-size: .8rem; line-height: 1.65; }
.academy-why-journey { display: flex; align-items: center; justify-content: center; gap: clamp(1rem, 4vw, 4rem); margin-top: 2rem; color: var(--green-700); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.academy-why-journey i { color: #d4a32d; font-size: 1.15rem; font-style: normal; }
.academy-hands-on { background: #f5f9f7; }
.academy-split { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.academy-photo-frame { position: relative; aspect-ratio: 3 / 2; min-height: 0; overflow: hidden; border-radius: .4rem 4rem .4rem .4rem; box-shadow: var(--shadow-lg); }
.academy-photo-frame img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.academy-photo-frame::after { position: absolute; inset: 0; content: ''; background: linear-gradient(180deg, transparent 58%, rgba(5, 35, 23, .78)); pointer-events: none; }
.academy-photo-frame > div { position: absolute; z-index: 1; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; color: #fff; }
.academy-photo-frame strong, .academy-photo-frame span { display: block; }
.academy-photo-frame strong { font-size: 1.25rem; }
.academy-photo-frame span { margin-top: .35rem; color: #c7e995; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.academy-split-copy h2 { margin: 0; font-size: clamp(2.4rem, 4.8vw, 4.5rem); line-height: 1.03; letter-spacing: -.06em; }
.academy-split-copy > p:not(.eyebrow) { margin: 1rem 0 0; color: var(--muted); line-height: 1.8; }
.academy-stack { display: grid; gap: .85rem; margin-top: 1.7rem; }
.academy-stack article { display: flex; gap: 1rem; padding: 1.2rem; border: 1px solid #dfe9e3; border-radius: 1rem; background: #fff; box-shadow: 0 8px 22px rgba(31, 73, 52, .055); }
.academy-stack h3, .academy-stack p { margin: 0; }
.academy-stack h3 { font-size: .98rem; }
.academy-stack p { margin-top: .35rem; color: var(--muted); font-size: .8rem; line-height: 1.6; }
.academy-equation { margin-top: .9rem; padding: 1.1rem; border-radius: .8rem; color: #fff; background: #13775b; font-size: .82rem; font-weight: 800; text-align: center; box-shadow: 0 10px 24px rgba(19, 119, 91, .18); }

.academy-mentor { color: #fff; background: #0d3025; }
.academy-heading-light h2 { color: #fff; }
.academy-heading-light .eyebrow { color: #b8dd7f; }
.academy-heading-light > p { color: rgba(255, 255, 255, .62); }
.academy-mentor-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 1.2rem; }
.academy-mentor-photo { position: relative; aspect-ratio: 3 / 2; min-height: 0; align-self: center; overflow: hidden; border-radius: 2.7rem .4rem 2.7rem .4rem; }
.academy-mentor-photo::after { position: absolute; inset: 0; content: ''; background: linear-gradient(180deg, transparent 48%, rgba(3, 25, 17, .88)); }
.academy-mentor-photo img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.academy-mentor-photo > div { position: absolute; z-index: 1; right: 1.3rem; bottom: 1.3rem; left: 1.3rem; display: grid; justify-items: start; color: #fff; }
.academy-mentor-photo > div > span { width: 50px; height: 50px; display: grid; place-items: center; margin-bottom: .75rem; border-radius: 50%; color: #0d3025; background: #b8dd7f; font-size: 1.1rem; font-weight: 800; }
.academy-mentor-photo strong { font-size: 1.12rem; text-transform: uppercase; }
.academy-mentor-photo small { margin-top: .3rem; color: rgba(255, 255, 255, .66); }
.academy-mentor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.academy-mentor-grid article { display: flex; gap: 1rem; padding: 1.4rem; border: 1px solid rgba(255, 255, 255, .12); border-radius: 1.4rem; background: rgba(255, 255, 255, .07); }
.academy-mentor-grid article > span { color: #0d3025; background: #b8dd7f; }
.academy-mentor-grid h3, .academy-mentor-grid p { margin: 0; }
.academy-mentor-grid h3 { font-size: .98rem; }
.academy-mentor-grid p { margin-top: .45rem; color: rgba(255, 255, 255, .62); font-size: .78rem; line-height: 1.6; }

.academy-formats { background: #fff; }
.academy-format-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.academy-format-grid article { min-height: 330px; display: flex; align-items: center; flex-direction: column; padding: 2rem; border: 1px solid #dbe8e1; border-radius: 2.4rem; background: #edf6f2; text-align: center; box-shadow: 0 12px 28px rgba(31, 73, 52, .07); }
.academy-format-grid article > span { width: 74px; height: 74px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #13775b; box-shadow: 0 12px 22px rgba(19, 119, 91, .2); font-size: 1.1rem; font-weight: 800; }
.academy-format-grid article.is-accent > span { color: #352a10; background: #e1aa34; }
.academy-format-grid h3 { margin: 1.5rem 0 .65rem; font-size: 1.25rem; letter-spacing: .03em; text-transform: uppercase; }
.academy-format-grid p { max-width: 240px; margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.65; }
.academy-format-grid small { margin-top: auto; color: var(--green-700); font-size: .67rem; font-weight: 800; text-transform: uppercase; }
.academy-courses { color: #fff; background: #12372a; }
.academy-course-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.academy-course-grid article { min-height: 430px; display: flex; align-items: flex-start; flex-direction: column; padding: 2rem; border: 1px solid rgba(255, 255, 255, .13); border-radius: 2rem; background: rgba(255, 255, 255, .07); }
.academy-course-grid article > span { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 50%; color: #0d3025; background: #b8dd7f; font-size: .75rem; font-weight: 800; }
.academy-course-grid article.is-accent > span { background: #e1aa34; }
.academy-course-grid article > p { margin: 1.4rem 0 .45rem; color: #b8dd7f; font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.academy-course-grid h3 { margin: 0; font-size: 1.25rem; line-height: 1.4; }
.academy-course-grid ul { display: grid; gap: .55rem; margin: 1.25rem 0 1.5rem; padding: 0; color: rgba(255, 255, 255, .67); font-size: .8rem; line-height: 1.45; list-style: none; }
.academy-course-grid li::before { margin-right: .55rem; color: #b8dd7f; content: '✓'; font-weight: 800; }
.academy-course-grid small { margin-top: auto; color: rgba(255, 255, 255, .54); font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.academy-language { background: #f5f9f7; }
.academy-habit-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; }
.academy-habit-grid article { grid-column: span 2; min-height: 150px; display: flex; align-items: flex-start; gap: 1rem; padding: 1.3rem; border: 1px solid #dce8e2; border-radius: 1.2rem; background: #fff; box-shadow: 0 8px 22px rgba(31, 73, 52, .055); }
.academy-habit-grid article:nth-child(4) { grid-column: 2 / span 2; }
.academy-habit-grid h3, .academy-habit-grid p { margin: 0; }
.academy-habit-grid h3 { font-size: 1rem; }
.academy-habit-grid p { margin-top: .45rem; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.academy-language-note { margin: 2rem 0 0; color: var(--green-700); font-size: clamp(1rem, 2vw, 1.3rem); font-weight: 800; text-align: center; }
.academy-cta { position: relative; overflow: hidden; padding: clamp(5rem, 9vw, 8rem) 0; color: #fff; background: #0d3025; text-align: center; }
.academy-cta::before, .academy-cta::after { position: absolute; width: 300px; height: 300px; border: 65px solid rgba(184, 221, 127, .08); border-radius: 50%; content: ''; }
.academy-cta::before { top: -160px; left: -80px; }
.academy-cta::after { right: -100px; bottom: -170px; }
.academy-cta-inner { position: relative; z-index: 1; }
.academy-cta-inner > p { margin: 0; color: #a8d36b; font-size: clamp(1.25rem, 3vw, 2.2rem); font-weight: 800; }
.academy-cta-inner > h2 { max-width: 850px; margin: 1rem auto; font-size: clamp(2.4rem, 5.5vw, 5.4rem); line-height: 1; letter-spacing: -.06em; }
.academy-cta-inner > span { display: block; color: rgba(255, 255, 255, .66); line-height: 1.7; }
.academy-cta-actions { justify-content: center; }
.academy-contact-card { max-width: 920px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 1px; overflow: hidden; margin: 2.5rem auto 0; border-radius: 1.1rem; background: rgba(13, 48, 37, .12); box-shadow: 0 18px 45px rgba(0, 0, 0, .16); text-align: left; }
.academy-contact-card a { display: flex; align-items: center; gap: 1rem; padding: 1.35rem; color: var(--ink); background: #fff; text-decoration: none; }
.academy-contact-card a > span { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #13775b; }
.academy-contact-card small, .academy-contact-card strong { display: block; }
.academy-contact-card small { color: var(--muted); font-size: .65rem; }
.academy-contact-card strong { margin-top: .2rem; font-size: .78rem; line-height: 1.45; }

@media (max-width: 920px) {
    .intro-grid, .public-story-grid, .registration-grid, .signature-grid, .cta-grid, .detail-layout, .detail-highlights, .property-detail-grid, .property-promise-grid, .corporate-grid { grid-template-columns: 1fr; gap: 3rem; }
    .property-grid, .project-grid { grid-template-columns: 1fr 1fr; }
    .signature-image { min-height: 480px; }
    .contact-grid { grid-template-columns: 1fr; gap: 3rem; }
    .contact-map-card { grid-template-columns: 1fr; }
    .contact-map-card iframe { min-height: 320px; }
    .academy-preview-grid, .academy-hero-grid, .academy-split, .academy-mentor-layout { grid-template-columns: 1fr; gap: 3rem; }
    .academy-preview-media { order: 2; }
    .academy-heading { grid-template-columns: 1fr; gap: 1rem; }
    .academy-benefit-grid, .academy-format-grid, .academy-course-grid { grid-template-columns: 1fr 1fr; }
    .academy-benefit-grid article:last-child, .academy-format-grid article:last-child, .academy-course-grid article:last-child { grid-column: 1 / -1; }
    .academy-habit-grid { grid-template-columns: 1fr 1fr; }
    .academy-habit-grid article, .academy-habit-grid article:nth-child(4) { grid-column: auto; }
    .academy-habit-grid article:last-child { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
    .realty-hero { min-height: 720px; }
    .hero-content { padding-bottom: 9rem; }
    .hero-metrics { grid-template-columns: 1fr 1fr; }
    .hero-metrics > div, .hero-metrics > div:first-child { padding: .8rem; border-bottom: 1px solid rgba(255, 255, 255, .1); }
    .promise-grid, .property-grid, .project-grid, .value-cards, .public-notice-grid, .corporate-pillars, .culture-strip .container { grid-template-columns: 1fr; }
    .properties-section .section-heading, .projects-section .section-heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .property-grid, .project-grid { gap: 1rem; }
    .property-image { height: 280px; }
    .signature-image { min-height: 380px; }
    .public-cta-inner { align-items: flex-start; flex-direction: column; }
    .impact-grid, .property-facts { grid-template-columns: 1fr 1fr; }
    .public-gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 300px; }
    .gallery-card.is-wide { grid-column: auto; }
    .field-grid { grid-template-columns: 1fr; }
    .contact-form { padding: 1.4rem; }
    .culture-strip article { border-right: 0; border-bottom: 1px solid rgba(16, 39, 26, .15); }
    .culture-strip article:last-child { border-bottom: 0; }
    .role-list article { align-items: flex-start; flex-wrap: wrap; }
    .role-list a { width: 100%; margin-left: 2.3rem; }
    .property-detail-hero { min-height: 520px; }
    .academy-preview-media, .academy-preview-media img, .academy-hero-media, .academy-hero-media img { min-height: 0; }
    .academy-hero-media { border-radius: .35rem 2.4rem .35rem 2.4rem; }
    .academy-path-strip .container { justify-content: flex-start; overflow-x: auto; padding-block: .85rem; }
    .academy-path-strip span { flex: 0 0 auto; }
    .academy-benefit-grid, .academy-mentor-grid, .academy-format-grid, .academy-course-grid, .academy-habit-grid, .academy-contact-card { grid-template-columns: 1fr; }
    .academy-benefit-grid article, .academy-mentor-grid article, .academy-habit-grid article { min-height: 0; }
    .academy-benefit-grid article:last-child, .academy-format-grid article:last-child, .academy-course-grid article:last-child, .academy-habit-grid article:last-child { grid-column: auto; }
    .academy-photo-frame, .academy-photo-frame img, .academy-mentor-photo, .academy-mentor-photo img { min-height: 0; }
    .academy-format-grid article { min-height: 300px; }
    .academy-course-grid article { min-height: 380px; }
    .academy-cta-actions .button { width: 100%; }
    .academy-contact-card { gap: 1px; }
    .registration-facts { grid-template-columns: 1fr; }
    .certificate-preview object { height: 520px; }
}

/* Dynamic catalog, course learning, and card carousel */
.notice-card-controls { display: flex; gap: .5rem; }
.notice-card-controls button { width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; color: var(--green-800); background: #fff; font-size: 1rem; cursor: pointer; }
.notice-card-controls button:hover { color: #fff; background: var(--green-700); }
.notice-card-viewport { overflow: hidden; padding: .25rem; }
.notice-card-track { display: flex; gap: 1rem; transition: transform .48s cubic-bezier(.22,.61,.36,1); will-change: transform; }
.notice-card-slide { --notice-accent: #0b7138; --notice-surface: linear-gradient(145deg,#e7f7eb,#ccebd5); position: relative; isolation: isolate; min-width: calc((100% - 2rem) / 3); display: flex; min-height: 220px; overflow: hidden; flex-direction: column; padding: 1.4rem; border: 1px solid rgba(255,255,255,.72); border-radius: 1rem; color: var(--ink); background: var(--notice-surface); box-shadow: 0 14px 34px rgba(19,47,29,.11); text-decoration: none; transition: transform .22s ease, box-shadow .22s ease; }
.notice-card-slide::before { position: absolute; z-index: -1; top: -55px; right: -45px; width: 150px; height: 150px; border: 28px solid rgba(255,255,255,.25); border-radius: 50%; content: ''; }
.notice-card-slide::after { position: absolute; z-index: -1; right: 0; bottom: 0; left: 0; height: 5px; content: ''; background: var(--notice-accent); }
.notice-tone-1 { --notice-accent: #087359; --notice-surface: linear-gradient(145deg,#e1f7eb,#bfe8d1); }
.notice-tone-2 { --notice-accent: #146a9c; --notice-surface: linear-gradient(145deg,#e4f5ff,#c5e7f7); }
.notice-tone-3 { --notice-accent: #b45d12; --notice-surface: linear-gradient(145deg,#fff3d8,#f7d59c); }
.notice-tone-4 { --notice-accent: #7b3fa0; --notice-surface: linear-gradient(145deg,#f3eaff,#ddc8f2); }
.notice-tone-5 { --notice-accent: #b72e58; --notice-surface: linear-gradient(145deg,#ffe8ef,#f4bfd0); }
.notice-card-slide:hover { transform: translateY(-4px); box-shadow: 0 20px 42px rgba(19,47,29,.16); }
.notice-card-top { display: flex; align-items: center; gap: .55rem; }
.notice-card-top > span:first-child { color: var(--notice-accent); font-size: 1.6rem; font-weight: 800; opacity: .7; }
.notice-card-top time { margin-left: auto; color: var(--muted); font-size: .62rem; }
.notice-card-slide .notice-ticker-category { color: #fff; background: var(--notice-accent); }
.notice-card-slide > strong { margin-top: 1rem; font-size: 1rem; line-height: 1.45; }
.notice-card-slide > p { margin: .6rem 0 1.1rem; color: var(--muted); font-size: .75rem; line-height: 1.65; }
.notice-card-link { margin-top: auto; padding-top: .8rem; border-top: 1px solid rgba(20,45,30,.13); color: var(--notice-accent); font-size: .7rem; font-weight: 800; }
.course-hero { padding: clamp(4rem,8vw,7rem) 0; color: #fff; background: radial-gradient(circle at 80% 20%,rgba(156,211,91,.25),transparent 28%),#0d3025; }
.course-hero h1 { max-width: 800px; margin: 0; font-size: clamp(2.3rem,5vw,4.8rem); line-height: 1.02; letter-spacing: -.06em; }
.course-hero p:last-child { max-width: 650px; color: rgba(255,255,255,.7); line-height: 1.8; }
.home-courses { background: #edf6f1; }
.home-courses .section-heading { max-width: none; display: flex; align-items: end; justify-content: space-between; }
.course-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem; }
.course-card { overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 1rem; color: var(--ink); background: #fff; box-shadow: 0 12px 35px rgba(17,52,31,.06); text-decoration: none; transition: transform .25s ease; }
.course-card:hover { transform: translateY(-5px); }
.course-card img { width: 100%; height: 220px; object-fit: cover; background: #dfe9e2; }
.course-card > div { display: flex; flex: 1; flex-direction: column; padding: 1.3rem; }
.course-card span { color: var(--green-700); font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.course-card h2,.course-card h3 { margin: .65rem 0; font-size: 1.05rem; line-height: 1.4; }
.course-card p { margin: 0 0 1rem; color: var(--muted); font-size: .74rem; line-height: 1.65; }
.course-card small { margin-top: auto; color: #526158; font-size: .65rem; font-weight: 700; }
.course-card-meta { display: flex!important; flex-flow: row wrap!important; gap: .4rem!important; padding: .8rem 0 0!important; border-top: 1px solid var(--line); }
.course-card-meta small { padding: .3rem .45rem; border-radius: 99px; background: var(--surface-green); }

/* Homepage image cards: moody content panels with accessible contrast */
.home-media-card { color: #fff; background: linear-gradient(145deg, #142c20, #081a12); border-color: rgba(185, 217, 126, .2); box-shadow: 0 16px 38px rgba(5, 25, 14, .2); }
.home-media-card:hover { border-color: rgba(196, 227, 125, .58); box-shadow: 0 24px 52px rgba(5, 25, 14, .3); }
.home-media-card .property-body, .home-media-card .project-copy, .home-courses .home-media-card > div { background: radial-gradient(circle at 100% 0, rgba(81, 139, 91, .2), transparent 42%), linear-gradient(145deg, #142c20, #081a12); box-shadow: inset 0 1px rgba(255, 255, 255, .06); }
.home-media-card .property-body > p, .home-media-card .project-copy > p, .home-courses .home-media-card > div > span { color: #c4e37d; }
.home-media-card .property-body h2, .home-media-card .property-body h3, .home-media-card .project-copy h2, .home-courses .home-media-card h2, .home-courses .home-media-card h3 { color: #fff; }
.home-media-card .property-meta { border-top-color: rgba(255, 255, 255, .14); color: rgba(239, 246, 241, .76); }
.home-media-card .project-link { border-top-color: rgba(255, 255, 255, .14); color: rgba(239, 246, 241, .78); }
.home-media-card:hover .project-link { color: #c4e37d; }
.home-courses .home-media-card p { color: rgba(239, 246, 241, .74); }
.home-courses .home-media-card small { color: rgba(239, 246, 241, .82); }
.site-pagination { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: 1rem; background: #fff; box-shadow: 0 12px 35px rgba(17,52,31,.06); }
.site-pagination-summary { color: var(--muted); font-size: .72rem; font-weight: 700; }
.site-pagination-links { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .4rem; }
.site-pagination a, .site-pagination-links > span { min-width: 2.25rem; min-height: 2.25rem; display: inline-flex; align-items: center; justify-content: center; gap: .35rem; padding: .5rem .7rem; border: 1px solid var(--line); border-radius: .65rem; color: var(--green-800); background: #fff; font-size: .68rem; font-weight: 800; line-height: 1; text-decoration: none; transition: border-color .2s ease, color .2s ease, background-color .2s ease; }
.site-pagination a:hover { border-color: var(--green-700); color: #fff; background: var(--green-700); }
.site-pagination .site-pagination-direction { min-width: 6.2rem; }
.site-pagination .is-current { border-color: var(--green-700); color: #fff; background: var(--green-700); }
.site-pagination .is-disabled { color: #94a099; background: #f4f7f5; cursor: not-allowed; }
.course-detail-hero { padding: clamp(3.5rem,7vw,6rem) 0; color: #fff; background: #10271a; }
.course-detail-grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: clamp(2rem,7vw,6rem); }
.course-detail-grid h1 { margin: 0; font-size: clamp(2.2rem,4.6vw,4.2rem); line-height: 1.05; letter-spacing: -.055em; }
.course-detail-grid > div > p:last-of-type { color: rgba(255,255,255,.68); line-height: 1.8; }
.course-detail-grid > img { width: 100%; aspect-ratio: 4/3; border-radius: .4rem 3rem .4rem 3rem; object-fit: cover; }
.course-facts { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin-top: 1.5rem; }
.course-facts span { display: grid; gap: .25rem; padding: .8rem; border: 1px solid rgba(255,255,255,.12); border-radius: .65rem; color: rgba(255,255,255,.72); font-size: .7rem; }
.course-facts b { color: #b9d97e; font-size: .58rem; text-transform: uppercase; }
.course-detail-content { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 5rem; align-items: start; }
.course-detail-content article h2 { font-size: clamp(1.8rem,3vw,3rem); }
.course-detail-content article h3 { margin-top: 2rem; }
.rich-copy,.course-detail-content article > p { color: var(--muted); line-height: 1.9; }
.course-enroll-card { position: sticky; top: 100px; padding: 1.5rem; border-radius: 1rem; background: var(--surface-green); }
.course-enroll-card h3 { margin: 0; font-size: 1.35rem; }
.course-enroll-card p { color: var(--muted); }
.course-enroll-card .button { width: 100%; }
.catalog-admin-form { display: grid; gap: 1rem; max-width: 1050px; padding: clamp(1rem,3vw,2rem); }
.catalog-admin-form input,.catalog-admin-form select,.catalog-admin-form textarea,.enrollment-allocator select { width: 100%; border: 1px solid var(--line); border-radius: .52rem; padding: .72rem; color: var(--ink); background: #fff; font: inherit; font-size: .72rem; }
.catalog-admin-form textarea { resize: vertical; line-height: 1.55; }
.rich-editor-field { min-width: 0; }
.rich-toolbar { display: flex; gap: .35rem; padding: .45rem; border: 1px solid var(--line); border-bottom: 0; border-radius: .52rem .52rem 0 0; background: #f5f8f5; }
.rich-toolbar button { min-width: 36px; padding: .35rem; border: 1px solid var(--line); border-radius: .3rem; background: #fff; font-size: .65rem; font-weight: 800; }
.rich-editor-field textarea { border-radius: 0 0 .52rem .52rem; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; }
.enrollment-allocator { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 1rem; margin-bottom: 1rem; padding: 1.2rem; }
.enrollment-allocator h2 { grid-column: 1/-1; margin: 0; font-size: 1rem; }
.dashboard-course-section { margin-top: 1rem; padding: 1.3rem; border: 1px solid var(--line); border-radius: 1rem; background: #fff; }
.student-course-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-top: 1rem; }
.student-course-grid > a { overflow: hidden; border: 1px solid var(--line); border-radius: .8rem; color: var(--ink); background: #fff; text-decoration: none; }
.student-course-grid img { width: 100%; height: 135px; object-fit: cover; }
.student-course-grid a div { display: grid; gap: .35rem; padding: .9rem; }
.student-course-grid strong { font-size: .78rem; line-height: 1.4; }
.student-course-grid span,.student-course-grid small { color: var(--muted); font-size: .63rem; }
.student-course-grid-large img { height: 190px; }
.lesson-list { overflow: hidden; border: 1px solid var(--line); border-radius: 1rem; background: #fff; }
.lesson-list > a { display: grid; grid-template-columns: 55px minmax(0,1fr) auto; align-items: center; gap: 1rem; padding: 1.1rem; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.lesson-list > a:last-child { border: 0; }
.lesson-list > a > span { color: var(--green-700); font-size: 1.4rem; font-weight: 800; opacity: .45; }
.lesson-list div { display: grid; gap: .25rem; }
.lesson-list strong { font-size: .8rem; }
.lesson-list small,.lesson-list i { color: var(--muted); font-size: .65rem; font-style: normal; }
.lesson-page { max-width: 1000px; }
.lesson-page h1 { margin: 0; font-size: clamp(2rem,4vw,3.5rem); }
.lesson-summary { color: var(--muted); line-height: 1.7; }
.lesson-video { position: relative; overflow: hidden; margin: 1.5rem 0; padding-top: 56.25%; border-radius: 1rem; background: #000; }
.lesson-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.lesson-rich-content { margin: 1.5rem 0; padding: clamp(1.2rem,3vw,2.2rem); border: 1px solid var(--line); border-radius: 1rem; background: #fff; line-height: 1.85; }
.lesson-rich-content img { max-width: 100%; }
.lesson-pdf { margin-top: 1.5rem; }
.lesson-pdf > div { display: flex; align-items: center; justify-content: space-between; }
.lesson-pdf object { width: 100%; height: 70vh; border: 1px solid var(--line); border-radius: .8rem; background: #fff; }
@media(max-width:1020px){.notice-card-slide{min-width:calc((100% - 1rem)/2)}.course-grid{grid-template-columns:repeat(2,1fr)}.course-detail-grid,.course-detail-content{grid-template-columns:1fr}.course-enroll-card{position:static}.student-course-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.notice-card-slide{min-width:100%}.slider-heading{align-items:flex-start}.course-grid,.student-course-grid,.enrollment-allocator{grid-template-columns:1fr}.course-detail-grid>img{order:-1}.course-facts{grid-template-columns:1fr 1fr}.home-courses .section-heading{align-items:flex-start;flex-direction:column}.site-pagination{align-items:stretch;flex-direction:column}.site-pagination-summary{text-align:center}.site-pagination-links{justify-content:center}.site-pagination .site-pagination-direction{min-width:0;flex:1}.lesson-list>a{grid-template-columns:42px minmax(0,1fr)}.lesson-list i{grid-column:2}.lesson-pdf object{height:55vh}}

/* Authentication */
.auth-section { min-height: 720px; display: flex; align-items: center; padding: 5rem 0; background: linear-gradient(135deg, var(--surface) 0 57%, var(--surface-green) 57%); }
.auth-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.auth-intro h1, .auth-card h1, .signup-heading h1 { margin: 0; font-size: clamp(2.35rem, 5vw, 4.5rem); line-height: 1.03; letter-spacing: -.06em; }
.auth-intro > p:not(.eyebrow), .signup-heading > p:not(.eyebrow) { max-width: 520px; color: var(--muted); line-height: 1.8; }
.auth-points { display: grid; gap: .8rem; margin-top: 2rem; color: var(--green-700); font-size: .84rem; font-weight: 800; }
.auth-card { display: grid; gap: 1.15rem; padding: clamp(1.5rem, 4vw, 2.7rem); border: 1px solid var(--line); border-radius: 1.25rem; background: #fff; box-shadow: var(--shadow-lg); }
.auth-card h2 { margin: 0; font-size: 2rem; letter-spacing: -.04em; }
.auth-card h1 { font-size: clamp(2rem, 4vw, 3rem); }
.auth-card > div:first-child > p:last-child { margin: .45rem 0 0; color: var(--muted); font-size: .84rem; line-height: 1.6; }
.auth-options { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--muted); font-size: .76rem; }
.auth-options label { display: flex; align-items: center; gap: .4rem; }
.auth-options a, .auth-alternate a { color: var(--green-700); font-weight: 800; text-decoration: none; }
.auth-submit { width: 100%; }
.auth-alternate { margin: 0; color: var(--muted); font-size: .76rem; text-align: center; }
.auth-single { width: min(520px, calc(100% - 2.5rem)); }
.admin-auth-section { background: linear-gradient(145deg, #081a10, #133a25); }
.admin-auth-mark { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 1rem; color: #fff; background: var(--green-700); font-weight: 800; }
.admin-remember { display: flex; align-items: center; gap: .45rem; color: var(--muted); font-size: .76rem; }
.signup-section { padding: 5rem 0 7rem; background: var(--surface); }
.signup-heading { margin-bottom: 2.5rem; }
.signup-heading h1 { max-width: 850px; }
.signup-form { display: grid; gap: 1.25rem; }
.role-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 0; padding: 0; border: 0; }
.role-choice legend { width: 100%; margin-bottom: .8rem; font-size: .78rem; font-weight: 800; }
.role-choice label { position: relative; display: grid; grid-template-columns: auto 1fr; gap: .2rem 1rem; padding: 1.35rem; border: 1px solid var(--line); border-radius: 1rem; background: #fff; cursor: pointer; transition: border-color .2s, box-shadow .2s; }
.role-choice label.is-active { border-color: var(--green-700); box-shadow: 0 0 0 3px rgba(11, 113, 56, .08); }
.role-choice input { position: absolute; opacity: 0; }
.role-icon { width: 44px; height: 44px; grid-row: span 2; display: grid; place-items: center; border-radius: .8rem; color: var(--green-700); background: var(--surface-green); font-size: 1.2rem; font-weight: 800; }
.role-choice strong { align-self: end; font-size: 1rem; }
.role-choice small { color: var(--muted); font-size: .74rem; line-height: 1.45; }
.field-error { color: #9c244d; }
.signup-card { padding: clamp(1.35rem, 4vw, 2.2rem); border: 1px solid var(--line); border-radius: 1rem; background: #fff; }
.signup-card-heading, .panel-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.signup-card-heading > span, .panel-card-heading > div > span { color: var(--lime); font-size: 2rem; font-weight: 800; line-height: 1; letter-spacing: -.08em; }
.signup-card-heading h2, .signup-card-heading p, .panel-card-heading h2, .panel-card-heading p { margin: 0; }
.signup-card-heading h2, .panel-card-heading h2 { font-size: 1.2rem; }
.signup-card-heading p, .panel-card-heading p { margin-top: .25rem; color: var(--muted); font-size: .76rem; }
.signup-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.signup-submit { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.signup-submit p { max-width: 600px; margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.6; }

/* User panel */
.panel-body { min-height: 100vh; background: #f3f6f3; }
.user-shell { min-height: 100vh; display: grid; grid-template-columns: 270px minmax(0, 1fr); }
.user-sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 1.2rem; color: #fff; background: #10271a; }
.user-sidebar-brand { display: flex; align-items: center; justify-content: space-between; padding-bottom: 1rem; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.user-sidebar-brand .brand img { filter: none; }
.user-sidebar-brand button { display: none; border: 0; color: #fff; background: transparent; font-size: 1.8rem; }
.user-summary { display: flex; align-items: center; gap: .75rem; padding: 1.3rem 0; }
.user-summary strong, .user-summary span { display: block; }
.user-summary strong { max-width: 145px; overflow: hidden; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.user-summary span { margin-top: .2rem; color: rgba(255, 255, 255, .55); font-size: .66rem; }
.user-avatar { overflow: hidden; display: grid; place-items: center; border-radius: 50%; color: var(--green-950); background: var(--lime); font-weight: 800; }
.user-avatar-small { width: 42px; height: 42px; flex: 0 0 auto; }
.user-avatar img, .user-top-avatar img, .profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.user-nav { display: grid; gap: .35rem; }
.user-nav a { display: flex; align-items: center; gap: .75rem; padding: .78rem .85rem; border-radius: .65rem; color: rgba(255, 255, 255, .67); font-size: .8rem; font-weight: 700; text-decoration: none; }
.user-nav a:hover, .user-nav a.is-active { color: #fff; background: rgba(255, 255, 255, .1); }
.user-nav a.is-active span { color: var(--lime-bright); }
.user-logout { margin-top: auto; }
.user-logout button { width: 100%; display: flex; align-items: center; gap: .7rem; padding: .8rem; border: 1px solid rgba(255, 255, 255, .12); border-radius: .65rem; color: rgba(255, 255, 255, .7); background: transparent; font-size: .8rem; font-weight: 700; }
.user-main { min-width: 0; }
.user-topbar { min-height: 74px; display: flex; align-items: center; justify-content: flex-end; gap: .8rem; padding: 0 clamp(1rem, 4vw, 3rem); border-bottom: 1px solid var(--line); background: #fff; }
.user-topbar > div { text-align: right; }
.user-topbar span, .user-topbar strong { display: block; }
.user-topbar span { color: var(--muted); font-size: .62rem; }
.user-topbar strong { font-size: .74rem; }
.user-top-avatar { width: 38px; height: 38px; overflow: hidden; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--green-700); font-size: .78rem; font-weight: 800; text-decoration: none; }
.user-panel-account-menu { z-index: 45; flex: 0 0 auto; text-align: left !important; }
.user-panel-account-menu .public-account-dropdown { z-index: 60; width: 230px; }
.user-topbar .public-account-dropdown a > span,
.user-topbar .public-account-dropdown button > span,
.user-topbar .public-account-dropdown .public-account-static > span { display: inline; color: inherit; font-size: inherit; }
.user-topbar .public-account-dropdown .public-account-static { width: 100%; display: flex; color: var(--muted); font-size: .72rem; }
.panel-menu-button { display: none; margin-right: auto; border: 0; color: var(--ink); background: transparent; font-size: 1.4rem; }
.user-content { padding: clamp(1.4rem, 4vw, 3rem); }
.panel-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.panel-heading h1 { margin: 0; font-size: clamp(1.8rem, 3.4vw, 3.1rem); line-height: 1.04; letter-spacing: -.055em; }
.panel-heading p:last-child { max-width: 620px; margin: .7rem 0 0; color: var(--muted); font-size: .84rem; line-height: 1.7; }
.panel-alert { margin-bottom: 1rem; padding: .8rem 1rem; border-radius: .65rem; color: #286039; background: #e5f3e8; font-size: .78rem; }
.dashboard-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.dashboard-cards article, .panel-card { padding: 1.4rem; border: 1px solid var(--line); border-radius: 1rem; background: #fff; box-shadow: 0 8px 25px rgba(30, 44, 35, .04); }
.dashboard-cards span { color: var(--muted); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.dashboard-cards strong { display: block; margin: .8rem 0 .35rem; color: var(--green-700); font-size: 1.4rem; }
.dashboard-cards p { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.55; }
.role-dashboard-card { display: grid; grid-template-columns: .75fr 1.25fr; gap: 3rem; margin-top: 1rem; padding: clamp(1.5rem, 4vw, 2.5rem); border-radius: 1rem; color: #fff; background: #10271a; }
.role-dashboard-card h2 { margin: 0; font-size: clamp(1.8rem, 4vw, 3rem); letter-spacing: -.05em; }
.role-dashboard-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 0; }
.role-dashboard-card dl > div { padding: 1rem; border: 1px solid rgba(255, 255, 255, .12); border-radius: .7rem; background: rgba(255, 255, 255, .05); }
.role-dashboard-card dt { color: rgba(255, 255, 255, .55); font-size: .64rem; letter-spacing: .07em; text-transform: uppercase; }
.role-dashboard-card dd { margin: .4rem 0 0; font-size: .83rem; font-weight: 800; }
.investor-card { background: var(--blue-900); }
.partner-overview { display: grid; gap: 1rem; margin-top: 1rem; }
.partner-overview-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; padding: clamp(1.4rem, 4vw, 2.4rem); border-radius: 1rem; color: #fff; background: linear-gradient(135deg, #0d2f24, #123e53); }
.partner-overview-heading h2 { margin: 0; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.08; letter-spacing: -.05em; }
.partner-overview-heading p:not(.eyebrow) { max-width: 620px; margin: .75rem 0 0; color: rgba(255, 255, 255, .66); font-size: .8rem; line-height: 1.7; }
.partner-status { flex: 0 0 auto; padding: .45rem .75rem; border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; color: #d5efa5; background: rgba(255, 255, 255, .08); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.partner-finance-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.partner-finance-grid article { min-width: 0; padding: 1.25rem; border: 1px solid var(--line); border-radius: 1rem; background: #fff; box-shadow: 0 8px 25px rgba(30, 44, 35, .04); }
.partner-finance-grid span, .partner-finance-grid strong, .partner-finance-grid small { display: block; }
.partner-finance-grid span { color: var(--muted); font-size: .63rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.partner-finance-grid strong { margin-top: .8rem; overflow-wrap: anywhere; color: var(--green-700); font-size: clamp(1.15rem, 2vw, 1.55rem); }
.partner-finance-grid small { margin-top: .35rem; color: var(--muted); font-size: .65rem; line-height: 1.5; }
.partner-workspace-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 1rem; }
.partner-action-card, .partner-profile-card, .partner-history-card { padding: 1.4rem; border: 1px solid var(--line); border-radius: 1rem; background: #fff; box-shadow: 0 8px 25px rgba(30, 44, 35, .04); }
.partner-action-card h3, .partner-history-card h3 { margin: 0; font-size: 1.2rem; }
.partner-action-card > p:not(.eyebrow) { margin: .6rem 0 0; color: var(--muted); font-size: .76rem; line-height: 1.65; }
.partner-action-buttons { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.2rem; }
.partner-methods { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.partner-methods span { padding: .38rem .65rem; border-radius: 999px; color: var(--green-700); background: var(--surface-green); font-size: .62rem; font-weight: 800; }
.partner-profile-card dl { display: grid; gap: .75rem; margin: 0; }
.partner-profile-card dl > div { padding-bottom: .75rem; border-bottom: 1px solid var(--line); }
.partner-profile-card dl > div:last-child { padding-bottom: 0; border-bottom: 0; }
.partner-profile-card dt { color: var(--muted); font-size: .6rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.partner-profile-card dd { margin: .3rem 0 0; font-size: .75rem; font-weight: 800; line-height: 1.5; }
.partner-history-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.partner-history-heading > span { color: var(--muted); font-size: .62rem; }
.partner-history-table-wrap { overflow-x: auto; margin-top: 1rem; }
.partner-history-table { width: 100%; min-width: 680px; border-collapse: collapse; }
.partner-history-table th, .partner-history-table td { padding: .8rem; border-bottom: 1px solid var(--line); font-size: .67rem; text-align: left; }
.partner-history-table th { color: var(--muted); font-size: .58rem; letter-spacing: .06em; text-transform: uppercase; }
.partner-history-table td:nth-last-child(2) { color: var(--green-700); font-weight: 800; }
.partner-history-table td:last-child span { display: inline-flex; padding: .28rem .5rem; border-radius: 999px; color: #286039; background: #e5f3e8; font-size: .58rem; font-weight: 800; }
.partner-history-note { margin: .9rem 0 0; color: var(--muted); font-size: .64rem; line-height: 1.55; }
.role-badge { padding: .42rem .7rem; border-radius: 999px; color: var(--green-700); background: var(--surface-green); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.profile-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 1rem; align-items: start; }
.profile-image-card { position: sticky; top: 1rem; text-align: center; }
.profile-avatar { width: 130px; height: 130px; overflow: hidden; display: grid; place-items: center; margin: 0 auto 1rem; border-radius: 50%; color: #fff; background: var(--green-700); font-size: 3rem; font-weight: 800; }
.profile-image-card h2, .profile-image-card > p { margin: 0; }
.profile-image-card > p { margin: .3rem 0 1.2rem; overflow-wrap: anywhere; color: var(--muted); font-size: .7rem; }
.profile-image-card form { display: grid; gap: .75rem; margin-top: 1rem; text-align: left; }
.profile-image-card input[type='file'] { font-size: .7rem; }
.text-danger-button { width: 100%; border: 0; color: #9c244d; background: transparent; font-size: .72rem; font-weight: 800; text-align: center; }
.profile-forms { display: grid; gap: 1rem; }
.panel-card-heading > div { display: flex; gap: .8rem; }

/* Admin boundary */
.admin-foundation { min-height: 100vh; padding: 1.5rem; color: #fff; background: #0b1d12; }
.admin-foundation main { width: min(1040px, 100%); margin: 0 auto; }
.admin-foundation-top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 1.5rem; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.admin-foundation-top .brand img { filter: none; }
.admin-foundation-top button { border: 1px solid rgba(255, 255, 255, .2); border-radius: .55rem; padding: .6rem .9rem; color: #fff; background: transparent; }
.admin-foundation section { padding: clamp(4rem, 10vw, 8rem) 0; }
.admin-foundation h1 { max-width: 850px; margin: 0; font-size: clamp(2.4rem, 5.5vw, 5rem); line-height: 1; letter-spacing: -.06em; }
.admin-foundation section > p:last-of-type { max-width: 650px; color: rgba(255, 255, 255, .65); line-height: 1.8; }
.admin-boundary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2rem; }
.admin-boundary-grid article { padding: 1.2rem; border: 1px solid rgba(255, 255, 255, .12); border-radius: .8rem; background: rgba(255, 255, 255, .05); }
.admin-boundary-grid strong, .admin-boundary-grid span { display: block; }
.admin-boundary-grid strong { color: var(--lime-bright); font-size: .78rem; }
.admin-boundary-grid span { margin-top: .35rem; color: rgba(255, 255, 255, .6); font-size: .7rem; }

@media (max-width: 860px) {
    .auth-grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .auth-intro { text-align: center; }
    .auth-intro > p:not(.eyebrow) { margin-inline: auto; }
    .auth-points { display: none; }
    .user-shell { grid-template-columns: 1fr; }
    .user-sidebar { position: fixed; z-index: 80; top: 0; bottom: 0; left: 0; width: min(290px, 88vw); height: auto; transform: translateX(-105%); box-shadow: 16px 0 40px rgba(0, 0, 0, .25); transition: transform .25s ease; }
    .user-shell.is-sidebar-open .user-sidebar { transform: translateX(0); }
    .user-sidebar-brand button, .panel-menu-button { display: block; }
    .profile-layout { grid-template-columns: 1fr; }
    .profile-image-card { position: static; }
    .partner-finance-grid { grid-template-columns: 1fr 1fr; }
    .partner-workspace-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    .auth-section, .signup-section { padding: 3rem 0; }
    .role-choice, .signup-fields, .dashboard-cards, .role-dashboard-card, .role-dashboard-card dl, .admin-boundary-grid { grid-template-columns: 1fr; }
    .signup-submit, .panel-heading { align-items: flex-start; flex-direction: column; }
    .signup-submit .button { width: 100%; }
    .user-content { padding: 1rem; }
    .user-topbar { gap: .65rem; padding-inline: 1rem; }
    .user-signed-in-copy { display: none; }
    .user-topbar .user-panel-account-menu { display: block; margin-left: 0; }
    .user-top-avatar { width: 42px; height: 42px; border: 2px solid rgba(47, 150, 56, .28); }
    .user-panel-account-menu .public-account-dropdown { right: 0; width: min(250px, calc(100vw - 2rem)); }
    .profile-avatar { width: 110px; height: 110px; }
    .partner-overview-heading { align-items: flex-start; flex-direction: column; }
    .partner-finance-grid { grid-template-columns: 1fr; }
    .partner-action-buttons .button { width: 100%; }
}

/* Phase 6 admin workspace */
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; margin: -1px; padding: 0; border: 0; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.button-secondary { border-color: var(--line); color: var(--ink); background: #fff; box-shadow: none; }
.button-secondary:hover { border-color: #bdc9bf; background: var(--surface); }
.admin-body { overflow-x: hidden; }
.admin-body.has-admin-overlay { overflow: hidden; }
.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 270px minmax(0, 1fr); }
.admin-sidebar { position: sticky; z-index: 60; top: 0; height: 100vh; display: flex; min-width: 0; flex-direction: column; padding: 1.15rem; color: #fff; background: #0d2718; }
.admin-sidebar-brand { min-height: 75px; display: flex; align-items: center; justify-content: space-between; }
.admin-sidebar-brand .brand img { filter: none; }
.admin-sidebar-brand > button { display: none; padding: .3rem; border: 0; color: #fff; background: transparent; font-size: 1.7rem; }
.admin-nav-search { display: flex; align-items: center; gap: .5rem; margin: .75rem 0 1.35rem; padding: .72rem .8rem; border: 1px solid rgba(255, 255, 255, .1); border-radius: .65rem; color: rgba(255, 255, 255, .55); background: rgba(255, 255, 255, .06); }
.admin-nav-search input { min-width: 0; width: 100%; border: 0; outline: 0; color: #fff; background: transparent; font-size: .76rem; }
.admin-nav-search input::placeholder { color: rgba(255, 255, 255, .43); }
.admin-nav-label { margin: 0 0 .55rem .75rem; color: rgba(255, 255, 255, .38); font-size: .59rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.admin-nav { display: grid; gap: .28rem; }
.admin-nav a { display: flex; align-items: center; gap: .78rem; padding: .78rem .8rem; border-radius: .62rem; color: rgba(255, 255, 255, .67); font-size: .79rem; text-decoration: none; transition: .2s ease; }
.admin-nav a span { width: 20px; color: #92c456; font-size: 1rem; text-align: center; }
.admin-nav a b { font-weight: 700; }
.admin-nav a:hover, .admin-nav a.is-active { color: #fff; background: rgba(255, 255, 255, .1); }
.admin-nav-empty { margin: .8rem; color: rgba(255, 255, 255, .5); font-size: .7rem; }
.admin-sidebar-account { display: flex; align-items: center; gap: .7rem; margin-top: auto; padding: .85rem; border: 1px solid rgba(255, 255, 255, .09); border-radius: .7rem; background: rgba(255, 255, 255, .05); }
.admin-sidebar-account div, .admin-profile-trigger > span:nth-child(2) { min-width: 0; display: grid; }
.admin-sidebar-account strong, .admin-sidebar-account small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-sidebar-account strong { font-size: .72rem; }
.admin-sidebar-account small { margin-top: .14rem; color: rgba(255, 255, 255, .48); font-size: .6rem; }
.admin-avatar { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: #12341f; background: #b5db79; font-size: .75rem; font-style: normal; font-weight: 800; }
.admin-main { min-width: 0; }
.admin-topbar { position: sticky; z-index: 40; top: 0; min-height: 75px; display: flex; align-items: center; gap: 1rem; padding: 0 clamp(1rem, 3vw, 2.5rem); border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, .96); backdrop-filter: blur(15px); }
.admin-topbar-title { display: grid; }
.admin-topbar-title span { color: var(--muted); font-size: .61rem; }
.admin-topbar-title strong { margin-top: .12rem; font-size: .82rem; }
.admin-profile-menu { position: relative; margin-left: auto; }
.admin-profile-trigger { display: flex; align-items: center; gap: .65rem; padding: .4rem .5rem; border: 0; border-radius: .65rem; color: var(--ink); background: transparent; text-align: left; }
.admin-profile-trigger:hover { background: var(--surface); }
.admin-profile-trigger strong, .admin-profile-trigger small { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-profile-trigger strong { font-size: .71rem; }
.admin-profile-trigger small { margin-top: .12rem; color: var(--muted); font-size: .58rem; }
.admin-profile-trigger i { color: var(--muted); font-style: normal; }
.admin-profile-dropdown { position: absolute; z-index: 60; top: calc(100% + .5rem); right: 0; width: 190px; overflow: hidden; padding: .45rem; border: 1px solid var(--line); border-radius: .75rem; background: #fff; box-shadow: var(--shadow-lg); }
.admin-profile-dropdown a, .admin-profile-dropdown button { width: 100%; display: block; padding: .7rem .75rem; border: 0; border-radius: .45rem; color: var(--ink); background: transparent; font-size: .72rem; font-weight: 700; text-align: left; text-decoration: none; }
.admin-profile-dropdown a:hover, .admin-profile-dropdown button:hover { background: var(--surface-green); }
.admin-content { padding: clamp(1.25rem, 3.5vw, 3rem); }
.admin-page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 1.8rem; }
.admin-page-heading h1 { margin: 0; font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.02; letter-spacing: -.055em; }
.admin-page-heading p:last-child { max-width: 670px; margin: .65rem 0 0; color: var(--muted); font-size: .82rem; line-height: 1.65; }
.admin-page-heading .admin-back-link { display: inline-flex; margin-bottom: 1.4rem; color: var(--green-700); font-size: .72rem; font-weight: 800; text-decoration: none; }
.admin-stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .75rem; }
.admin-stat-grid article { min-width: 0; padding: 1.25rem; border: 1px solid var(--line); border-radius: .9rem; background: #fff; box-shadow: 0 10px 30px rgba(24, 48, 32, .04); }
.admin-stat-grid span, .admin-stat-grid strong, .admin-stat-grid small { display: block; }
.admin-stat-grid span { color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.admin-stat-grid strong { margin: 1rem 0 .45rem; color: var(--green-700); font-size: 2rem; line-height: 1; }
.admin-stat-grid small { color: var(--muted); font-size: .64rem; line-height: 1.45; }
.admin-stat-grid .is-accent { color: #fff; background: var(--green-900); }
.admin-stat-grid .is-accent span, .admin-stat-grid .is-accent small { color: rgba(255, 255, 255, .64); }
.admin-stat-grid .is-accent strong { color: var(--lime-bright); }
.admin-panel-card { border: 1px solid var(--line); border-radius: .95rem; background: #fff; box-shadow: 0 10px 35px rgba(24, 48, 32, .045); }
.admin-dashboard-list { margin-top: 1rem; padding: 1.35rem; }
.admin-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.admin-card-heading h2 { margin: 0; font-size: 1.25rem; }
.admin-card-heading a { color: var(--green-700); font-size: .7rem; font-weight: 800; text-decoration: none; }
.admin-activity-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .8rem; padding: .9rem .25rem; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; }
.admin-activity-row:last-child { border-bottom: 0; }
.admin-activity-row div { min-width: 0; display: grid; gap: .16rem; }
.admin-activity-row strong { font-size: .77rem; }
.admin-activity-row small { overflow: hidden; color: var(--muted); font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-activity-row time { color: var(--muted); font-size: .64rem; }
.admin-unread-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--lime); }
.admin-unread-dot.is-read { background: #d9dfda; }
.admin-empty-state { padding: 2.5rem 1rem; color: var(--muted); text-align: center; }
.admin-empty-state strong { color: var(--ink); font-size: .84rem; }
.admin-empty-state p { margin: .35rem 0 0; font-size: .7rem; }
.admin-filter-bar { display: flex; align-items: flex-end; gap: .7rem; margin-bottom: 1rem; padding: .9rem; border: 1px solid var(--line); border-radius: .85rem; background: #fff; }
.admin-filter-bar label { min-width: 135px; display: grid; gap: .35rem; }
.admin-filter-bar label:first-child { min-width: 220px; flex: 1; }
.admin-filter-bar label span { color: var(--muted); font-size: .61rem; font-weight: 800; }
.admin-filter-bar input, .admin-filter-bar select { min-width: 0; width: 100%; height: 40px; border: 1px solid var(--line); border-radius: .5rem; padding: 0 .75rem; outline: 0; color: var(--ink); background: #fff; font-size: .72rem; }
.admin-filter-bar input:focus, .admin-filter-bar select:focus { border-color: var(--green-700); box-shadow: 0 0 0 3px rgba(11, 113, 56, .08); }
.admin-filter-submit { height: 40px; border: 0; border-radius: .5rem; padding: 0 1rem; color: #fff; background: var(--green-700); font-size: .7rem; font-weight: 800; }
.admin-filter-bar > a { padding: .7rem .35rem; color: var(--green-700); font-size: .67rem; font-weight: 800; text-decoration: none; }
.admin-table-card { overflow: hidden; }
.admin-table-meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.2rem; border-bottom: 1px solid var(--line); }
.admin-table-meta strong { font-size: .78rem; }
.admin-table-meta span { color: var(--muted); font-size: .64rem; }
.admin-table-wrap { overflow-x: auto; }
.admin-table { width: 100%; border-collapse: collapse; font-size: .72rem; }
.admin-table th { padding: .78rem 1rem; color: #7c867f; background: #f8faf8; font-size: .59rem; letter-spacing: .06em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.admin-table td { padding: .92rem 1rem; border-top: 1px solid var(--line); color: #3c4941; vertical-align: middle; }
.admin-table tbody tr:first-child td { border-top: 0; }
.admin-table tbody tr:hover { background: #fbfcfb; }
.admin-table tbody tr.is-unread { background: #f5faf5; }
.admin-table-user { min-width: 190px; display: flex; align-items: center; gap: .65rem; }
.admin-table-user > i { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: var(--green-800); background: var(--surface-green); font-size: .69rem; font-style: normal; font-weight: 800; }
.admin-table-user > span, .admin-notice-title { min-width: 0; display: grid; gap: .17rem; }
.admin-table-user strong, .admin-notice-title strong { color: var(--ink); font-size: .73rem; }
.admin-table-user small, .admin-notice-title small { max-width: 260px; overflow: hidden; color: var(--muted); font-size: .61rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-role-badge, .admin-status, .admin-featured { display: inline-flex; padding: .3rem .55rem; border-radius: 99px; color: #256039; background: #e8f5e9; font-size: .58rem; font-weight: 800; text-transform: capitalize; white-space: nowrap; }
.admin-role-investor { color: #275c79; background: #e5f2f7; }
.admin-role-staff { color: #7a5d16; background: #fff3cf; }
.admin-gallery-thumb { width: 62px; height: 46px; display: grid; place-items: center; overflow: hidden; border-radius: .45rem; color: var(--muted); background: var(--surface); }
.admin-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; }
.admin-role-admin { color: #754b12; background: #faf0dd; }
.admin-status.is-inactive { color: #7e5260; background: #f5e8ed; }
.admin-featured { margin-left: .3rem; color: #754b12; background: #faf0dd; }
.admin-row-actions { min-width: 210px; text-align: right; white-space: nowrap; }
.admin-row-actions > a, .admin-row-actions > button, .admin-row-actions > form, .admin-protected { display: inline-flex; margin-left: .55rem; }
.admin-row-actions a, .admin-row-actions button { padding: 0; border: 0; color: var(--green-700); background: transparent; font-size: .62rem; font-weight: 800; text-decoration: none; }
.admin-row-actions button.is-danger, .admin-danger-button { color: #a02d4e; }
.admin-protected { color: #8b704c; font-size: .59rem; font-weight: 800; }
.admin-pagination { display: flex; align-items: center; justify-content: flex-end; gap: .5rem; padding: 1rem 1.2rem; border-top: 1px solid var(--line); }
.admin-pagination a, .admin-pagination span { padding: .45rem .65rem; border: 1px solid var(--line); border-radius: .42rem; color: var(--muted); font-size: .62rem; text-decoration: none; }
.admin-pagination a { color: var(--green-700); font-weight: 800; }
.admin-sidebar-scrim { display: none; }
.admin-offcanvas[hidden] { display: none; }
.admin-offcanvas { position: fixed; z-index: 120; inset: 0; display: flex; justify-content: flex-end; }
.admin-offcanvas-scrim { position: absolute; inset: 0; border: 0; background: rgba(4, 19, 11, .58); backdrop-filter: blur(2px); }
.admin-offcanvas-panel { position: relative; width: min(620px, 94vw); height: 100%; overflow-y: auto; padding: 1.4rem; background: #fff; box-shadow: -25px 0 70px rgba(0, 0, 0, .2); }
.admin-offcanvas-compact .admin-offcanvas-panel { width: min(430px, 94vw); }
.admin-offcanvas-heading { position: sticky; z-index: 2; top: -1.4rem; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin: -1.4rem -1.4rem 1.4rem; padding: 1.4rem; border-bottom: 1px solid var(--line); background: #fff; }
.admin-offcanvas-heading h2 { margin: 0; font-size: 1.65rem; letter-spacing: -.045em; }
.admin-offcanvas-heading > button { border: 0; color: var(--muted); background: transparent; font-size: 1.7rem; }
.admin-offcanvas-heading > div > span { display: block; margin-top: .3rem; color: var(--muted); font-size: .68rem; }
.admin-drawer-form { display: grid; gap: 1rem; }
.admin-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.admin-form-grid .admin-field-wide { grid-column: 1 / -1; }
.form-field > span { font-size: .72rem; font-weight: 800; }
.form-field > span > small { color: var(--muted); font-size: .58rem; font-weight: 500; }
.form-help { color: var(--muted) !important; }
.admin-role-fields { margin: 0; padding: 1rem; border: 1px solid var(--line); border-radius: .7rem; }
.admin-role-fields[hidden], [data-user-only][hidden] { display: none; }
.admin-role-fields legend { padding: 0 .35rem; color: var(--green-700); font-size: .68rem; font-weight: 800; }
.admin-protected-note { display: grid; gap: .25rem; padding: .9rem; border-radius: .65rem; color: #6c4e1b; background: #fbf2e1; }
.admin-protected-note strong { font-size: .72rem; }
.admin-protected-note span, .admin-security-copy { color: #76654a; font-size: .64rem; line-height: 1.5; }
.admin-drawer-actions { position: sticky; bottom: -1.4rem; display: flex; justify-content: flex-end; gap: .65rem; margin: .5rem -1.4rem -1.4rem; padding: 1rem 1.4rem; border-top: 1px solid var(--line); background: #fff; }
.admin-check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.admin-check-grid > label { display: flex; align-items: flex-start; gap: .65rem; padding: .9rem; border: 1px solid var(--line); border-radius: .65rem; }
.admin-check-grid input { margin-top: .2rem; accent-color: var(--green-700); }
.admin-check-grid span { display: grid; gap: .18rem; }
.admin-check-grid strong { font-size: .7rem; }
.admin-check-grid small { color: var(--muted); font-size: .6rem; }
.admin-toggle-field { display: flex; align-items: flex-start; gap: .65rem; padding: .9rem; border: 1px solid var(--line); border-radius: .65rem; }
.admin-toggle-field input { margin-top: .2rem; accent-color: var(--green-700); }
.admin-toggle-field span { display: grid; gap: .18rem; }
.admin-toggle-field strong { font-size: .7rem; }
.admin-toggle-field small { color: var(--muted); font-size: .6rem; }
.permission-matrix { margin-top: .25rem; border: 1px solid var(--line); border-radius: .7rem; }
.permission-matrix-heading { display: grid; gap: .25rem; padding: .9rem 1rem; border-bottom: 1px solid var(--line); }
.permission-matrix-heading strong { font-size: .75rem; }
.permission-matrix-heading span { color: var(--muted); font-size: .62rem; line-height: 1.45; }
.permission-matrix-wrap { overflow-x: auto; }
.permission-table { min-width: 580px; }
.permission-table th, .permission-table td { padding: .65rem .55rem; text-align: center; }
.permission-table th:first-child, .permission-table td:first-child { text-align: left; }
.permission-table th { font-size: .52rem; }
.permission-table td strong { font-size: .68rem; }
.permission-checkbox { display: grid; place-items: center; cursor: pointer; }
.permission-checkbox input { width: 15px; height: 15px; accent-color: var(--green-700); }
.permission-table .permission-na { color: #aab2ac; background: #fafbfa; }
.admin-notice-image-preview { display: grid; gap: .65rem; padding: .75rem; border: 1px solid var(--line); border-radius: .65rem; background: #f8fbf9; }
.admin-notice-image-preview img { display: block; width: 100%; max-height: 170px; border-radius: .45rem; object-fit: cover; }
.admin-notice-image-preview label { display: flex; align-items: center; gap: .5rem; color: #a02d4e; font-size: .68rem; font-weight: 700; }
.admin-notice-image-preview input { accent-color: #a02d4e; }
.admin-profile-card { max-width: 780px; padding: clamp(1.2rem, 3vw, 2rem); }
.admin-profile-identity { display: flex; align-items: center; gap: .9rem; margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--line); }
.admin-avatar-large { width: 58px; height: 58px; font-size: 1.25rem; }
.admin-profile-identity div { display: grid; gap: .2rem; }
.admin-profile-identity strong { font-size: 1rem; }
.admin-profile-identity small { color: var(--muted); font-size: .67rem; }
.admin-form-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; }
.admin-enquiry-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1rem; align-items: start; }
.admin-message-card { min-height: 300px; padding: clamp(1.4rem, 4vw, 2.5rem); }
.admin-message-card p { margin: 0; color: #38463d; font-size: .95rem; line-height: 1.9; white-space: pre-wrap; }
.admin-contact-card { padding: 1.3rem; }
.admin-contact-card h2 { margin: 0 0 1rem; font-size: 1rem; }
.admin-contact-card dl { margin: 0 0 1rem; }
.admin-contact-card dl div { padding: .75rem 0; border-bottom: 1px solid var(--line); }
.admin-contact-card dt { color: var(--muted); font-size: .58rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.admin-contact-card dd { margin: .28rem 0 0; overflow-wrap: anywhere; font-size: .7rem; font-weight: 700; }
.admin-contact-card dd a { color: var(--green-700); }
.admin-contact-card form { margin-top: .7rem; }
.admin-contact-card .button { width: 100%; }
.admin-danger-button { width: 100%; padding: .65rem; border: 0; background: transparent; font-size: .68rem; font-weight: 800; }

@media (max-width: 1120px) {
    .admin-stat-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
    .admin-shell { grid-template-columns: 1fr; }
    .admin-sidebar { position: fixed; top: 0; bottom: 0; left: 0; width: min(290px, 88vw); height: auto; transform: translateX(-105%); box-shadow: 16px 0 50px rgba(0, 0, 0, .25); transition: transform .25s ease; }
    .admin-shell.is-sidebar-open .admin-sidebar { transform: translateX(0); }
    .admin-shell.is-sidebar-open .admin-sidebar-scrim { position: fixed; z-index: 55; inset: 0; display: block; border: 0; background: rgba(4, 19, 11, .45); }
    .admin-sidebar-brand > button, .admin-topbar .panel-menu-button { display: block; }
    .admin-enquiry-layout { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .admin-content { padding: 1rem; }
    .admin-page-heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .admin-page-heading > .button, .admin-page-heading > button { width: 100%; }
    .admin-stat-grid { grid-template-columns: 1fr 1fr; }
    .admin-filter-bar { align-items: stretch; flex-direction: column; }
    .admin-filter-bar label, .admin-filter-bar label:first-child { min-width: 0; width: 100%; }
    .admin-filter-submit { width: 100%; }
    .admin-table-wrap { overflow: visible; }
    .admin-table, .admin-table tbody, .admin-table tr, .admin-table td { display: block; width: 100%; }
    .admin-table thead { display: none; }
    .admin-table tbody { padding: .55rem; }
    .admin-table tr { margin-bottom: .6rem; padding: .65rem; border: 1px solid var(--line); border-radius: .7rem; }
    .admin-table td { display: grid; grid-template-columns: 92px minmax(0, 1fr); align-items: center; gap: .65rem; padding: .48rem; border: 0; text-align: left; white-space: normal; }
    .admin-table td::before { content: attr(data-label); color: var(--muted); font-size: .57rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
    .admin-table td.admin-row-actions { min-width: 0; display: flex; flex-wrap: wrap; padding-top: .75rem; border-top: 1px solid var(--line); }
    .admin-row-actions::before { display: none; }
    .admin-row-actions > a, .admin-row-actions > button, .admin-row-actions > form, .admin-protected { margin: 0 .8rem 0 0; }
    .admin-table-user { min-width: 0; }
    .admin-table-meta { align-items: flex-start; flex-direction: column; }
    .admin-pagination { justify-content: center; }
}

@media (max-width: 520px) {
    .admin-topbar-title { display: none; }
    .admin-profile-menu { z-index: 45; display: block; flex: 0 0 auto; }
    .admin-profile-trigger { padding: 0; border-radius: 50%; }
    .admin-profile-trigger .admin-avatar { width: 42px; height: 42px; border: 2px solid rgba(47, 150, 56, .25); }
    .admin-profile-trigger > span:nth-child(2), .admin-profile-trigger > i { display: none; }
    .admin-profile-dropdown { right: 0; width: min(210px, calc(100vw - 2rem)); }
    .admin-stat-grid, .admin-form-grid, .admin-check-grid { grid-template-columns: 1fr; }
    .admin-offcanvas-panel { width: 100%; padding: 1rem; }
    .admin-offcanvas-heading { top: -1rem; margin: -1rem -1rem 1rem; padding: 1rem; }
    .admin-drawer-actions { bottom: -1rem; flex-direction: column; margin: .5rem -1rem -1rem; padding: 1rem; }
    .admin-drawer-actions .button { width: 100%; }
    .admin-activity-row { grid-template-columns: auto minmax(0, 1fr); }
    .admin-activity-row time { display: none; }
}

/* Account verification and enquiry workflow */
.auth-resend-form { display: flex; align-items: center; justify-content: center; gap: .4rem; margin-top: 1rem; color: var(--muted); font-size: .76rem; }
.auth-resend-form button, .verification-text-button { border: 0; padding: 0; color: var(--green-700); background: transparent; font-weight: 800; cursor: pointer; }
.otp-field input { font-size: 1.55rem; font-weight: 800; letter-spacing: .5em; text-align: center; }
.verification-body { min-height: 100vh; margin: 0; color: var(--ink); background: radial-gradient(circle at 20% 10%, rgba(143, 205, 75, .2), transparent 30%), linear-gradient(145deg, #071a10, #16482d); }
.verification-screen { min-height: 100vh; display: grid; place-items: center; padding: 2rem 1rem; }
.verification-card { width: min(520px, 100%); display: grid; justify-items: center; gap: 1rem; padding: clamp(2rem, 6vw, 3.6rem); border: 1px solid rgba(255, 255, 255, .35); border-radius: 1.5rem; background: #fff; box-shadow: 0 32px 90px rgba(0, 0, 0, .3); text-align: center; }
.verification-card .brand { width: 120px; margin-bottom: .5rem; }
.verification-card .brand img { width: 100%; height: auto; }
.verification-card h1 { margin: 0; font-size: clamp(2rem, 7vw, 3.25rem); line-height: 1.05; letter-spacing: -.055em; }
.verification-card > p:not(.eyebrow) { max-width: 420px; margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.75; }
.verification-card form { width: 100%; }
.verification-card .button { width: 100%; }
.verification-mail-icon, .verification-success-icon { width: 74px; height: 74px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--green-700); font-size: 2rem; box-shadow: 0 12px 28px rgba(11, 113, 56, .24); }
.verification-success-icon { position: relative; background: #dff3e5; color: var(--green-700); animation: verification-pop .55s ease-out both; }
.verification-success-icon::after { position: absolute; inset: -8px; border: 2px solid rgba(98, 171, 66, .35); border-radius: inherit; content: ''; animation: verification-ring 1.5s ease-out infinite; }
.verification-success-icon span { animation: verification-check .4s .3s ease-out both; }
.verification-success-card .button { margin-top: .5rem; }
.admin-enquiry-status-new { color: #7a5d16; background: #fff3cf; }
.admin-enquiry-status-in_progress { color: #275c79; background: #e5f2f7; }
.admin-enquiry-status-resolved { color: #256039; background: #e8f5e9; }
.admin-enquiry-status-closed { color: #6b6370; background: #eeebf0; }
.admin-enquiry-status-form { display: grid; gap: .85rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.admin-enquiry-status-form textarea { resize: vertical; }

@keyframes verification-pop {
    from { opacity: 0; transform: scale(.55) rotate(-12deg); }
    to { opacity: 1; transform: scale(1) rotate(0); }
}

@keyframes verification-ring {
    from { opacity: .8; transform: scale(.85); }
    to { opacity: 0; transform: scale(1.35); }
}

@keyframes verification-check {
    from { opacity: 0; transform: scale(.5); }
    to { opacity: 1; transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .verification-success-icon, .verification-success-icon::after, .verification-success-icon span { animation: none; }
}
