/* Skinn presentation system. Loaded last; one owner for layout and surfaces.
   The 1200px outer shell INCLUDES its 24px (mobile 16px) side gutters. */
:root {
 --page-width:1200px; --page-gutter:24px; --ink:#24272b; --muted:#62676d;
 --canvas:#f7f7f4; --line:#e3e5e1; --surface:#fff; --brand:#386963;
 --skinn-50:#edf4f1; --skinn-100:#e0ece7; --skinn-200:#c3d8cf;
 --skinn-300:#79a296; --skinn-400:#497d70; --skinn-500:#386963; --skinn-600:#28534e;
 --text-primary:var(--ink); --text-secondary:var(--muted); --text-tertiary:#73797f;
 --bg-content:var(--canvas); --bg-secondary:var(--canvas); --border:var(--line);
 --shadow-card:0 1px 3px #24272b08; --shadow-card-hover:0 4px 16px #24272b0c;
 --gradient-cta:linear-gradient(var(--ink),var(--ink)); --gold:#386963;
}
body {background:var(--canvas);overflow-x:visible;}
button,input,select,textarea {font-family:inherit;}
button {overflow-wrap:anywhere;}
:focus-visible {outline:3px solid var(--brand) !important;outline-offset:3px;}
.header {background:#fffffff5;border-bottom:1px solid var(--line);box-shadow:none;}
.header-single {width:100%;max-width:var(--page-width);padding:10px var(--page-gutter);height:auto;min-height:68px;gap:20px;display:flex;flex-wrap:nowrap;}
.header-single .logo-main {flex:none;font-size:24px;color:var(--ink);letter-spacing:-1px;white-space:nowrap;}
.header-single .nav-tabs {position:static;transform:none;min-width:0;flex:1;gap:2px;}
.header-single .header-actions {flex:none;gap:6px;}
.header-single .nav-tab,.header-single .auth-btn,.header-single .lang-toggle {min-height:44px;padding:10px 12px;font-size:13px;white-space:nowrap;box-shadow:none;}
.header-single .signup-btn {background:var(--ink);}
.header-single .nav-tab.active {background:var(--skinn-50);color:var(--brand);}
.lang-menu {max-width:calc(100vw - 32px);border:1px solid var(--line);border-radius:10px;}
.lang-option {min-height:44px;}
.main-content,.main-content:has(#view-landing.active) {padding:0;background:var(--canvas);min-height:calc(100vh - 68px);}
.main-content>.view-panel,.main-content>.view-panel:not(#view-landing) {width:100%;max-width:var(--page-width);margin:0 auto;padding:32px var(--page-gutter) 48px;min-width:0;}
.main-content>#view-landing {padding-top:48px;max-width:var(--page-width);background:var(--canvas);}
/* Landing: photography, typography and a single primary action. */
.landing-fullscreen {width:100%;max-width:none;padding:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center;}
.landing-left,.landing-right {width:100%;max-width:none;min-width:0;margin:0;}
.landing-title {font-size:clamp(40px,4.2vw,58px);line-height:1.16;font-weight:700;letter-spacing:-.04em;animation:none;color:var(--ink);}
.landing-title .highlight {color:var(--brand);font-weight:700;}
.landing-badge {background:none;border:0;box-shadow:none;padding:0;color:var(--muted);font-size:13px;font-weight:600;margin-bottom:20px;}
.landing-subtitle {font-size:16px;line-height:1.75;color:var(--muted);max-width:42ch;margin:24px 0;}
.cta-button-main {background:var(--ink);box-shadow:none;border:1px solid var(--ink);border-radius:10px;padding:16px 24px;min-height:52px;animation:none;max-width:100%;}
.cta-button-main:hover {background:#383d41;box-shadow:none;transform:none;}
.cta-shimmer,.cta-pulse,.cta-button-main::before,.cta-button-main::after,.hero-overlay,.trust-badges-pro,.mobile-hero-visual {display:none;}
.landing-hero-image {border-radius:20px;box-shadow:none;max-height:520px;}
.landing-hero-image .hero-img {width:100%;height:100%;object-fit:cover;filter:none;}
.landing-features {gap:12px;margin-top:24px;}
.feature-text {font-size:13px;color:var(--muted);}
.feature-icon {color:var(--brand);background:none;box-shadow:none;}
.landing-stats-bar {background:none;border:0;box-shadow:none;padding:20px 0;margin:12px 0 0;justify-content:flex-start;}
.landing-stats-bar .stat-item {align-items:flex-start;flex:none;margin:0;}
html[lang="ko"] .landing-subtitle {word-break:keep-all;overflow-wrap:break-word;}
.view-panel.active.animate,.landing-title,.landing-badge,.landing-subtitle,.landing-features,.landing-stats-bar,.landing-card,.hero-img,.feature-item {animation:none;}
.landing-fullscreen [class] {animation:none;}
.treatment-card .card-title {font-size:18px;}
.treatment-card .card-tag {font-size:12px;}
.landing-stats-bar .stat-num {font-size:24px;color:var(--ink);}
.landing-card-row .landing-card {background:white;border:1px solid var(--line);box-shadow:none;border-radius:12px;min-height:72px;}
.landing-card-row .card-content {min-width:0;}
.landing-card-row .card-icon {background:var(--canvas);color:var(--brand);box-shadow:none;flex:none;}
.landing-card-row .card-arrow {flex:none;}
.landing-footer-bar {background:none;border:0;box-shadow:none;max-width:none;padding:24px 0;margin:0;color:var(--muted);font-size:12px;}
/* Restored hero: one semantic heading and one portrait at every width. */
.hero-restored {display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);grid-template-areas:'heading portrait' 'details portrait';column-gap:64px;row-gap:0;align-items:start;}
.hero-heading {grid-area:heading;min-width:0;padding-top:16px;}
.hero-details {grid-area:details;min-width:0;}
.hero-restored .landing-title {margin:0;font-size:clamp(36px,4vw,54px);line-height:1.2;text-wrap:pretty;overflow-wrap:break-word;}
.hero-restored .landing-badge {margin:0 0 18px;white-space:normal;}
.hero-restored .landing-subtitle {max-width:48ch;font-size:17px;line-height:1.7;margin:22px 0 18px;}
.hero-portrait {grid-area:portrait;display:block;min-width:0;width:100%;height:560px;overflow:hidden;border-radius:18px;background:#eeeae4;}
.hero-portrait img {display:block;width:100%;height:100%;object-fit:cover;object-position:50% 40%;}
.hero-benefits {list-style:none;margin:0 0 26px;padding:0;display:grid;gap:10px;font-size:14px;color:var(--ink);}
.hero-benefits li {position:relative;padding-left:20px;line-height:1.5;}
.hero-benefits li::before {content:'✓';position:absolute;left:0;color:var(--brand);font-weight:600;}
.hero-actions {display:flex;flex-wrap:wrap;gap:10px;}
.hero-actions button {min-height:52px;padding:14px 20px;border-radius:8px;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer;white-space:normal;}
.hero-primary {background:var(--ink);color:white;border:1px solid var(--ink);}
.hero-primary:hover {background:var(--brand);border-color:var(--brand);}
.hero-secondary {background:white;color:var(--ink);border:1px solid #c6ccc7;}
.hero-secondary:hover {background:var(--skinn-50);border-color:var(--brand);}
.hero-concern {display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;margin-top:6px;border:0;background:none;color:var(--brand);font-size:13px;font-weight:600;cursor:pointer;text-align:left;}
.hero-concern:hover {text-decoration:underline;}
.hero-transparency {margin-top:12px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;line-height:1.6;color:var(--muted);}
.hero-transparency p {margin:0;}
.hero-transparency .hero-catalog {margin-bottom:5px;color:var(--ink);font-size:13px;}
.hero-catalog strong {font-weight:700;color:var(--brand);}
.hero-limitations {margin:28px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:12px;line-height:1.7;color:var(--muted);max-width:100%;}
@media(max-width:1100px) {.hero-restored {column-gap:32px;}.hero-portrait {height:580px;}}
@media(max-width:768px) {
 .hero-restored {grid-template-columns:minmax(0,1fr) minmax(110px,.42fr);grid-template-areas:'heading portrait' 'details details';gap:0 20px;}
 .hero-heading {padding-top:0;align-self:center;}
 .hero-restored .landing-title {font-size:clamp(28px,4.7vw,38px);line-height:1.25;}
 .hero-restored .landing-badge {font-size:11px;margin-bottom:12px;}
 .hero-portrait {height:240px;border-radius:12px;align-self:stretch;}
 .hero-restored .landing-subtitle {max-width:56ch;font-size:15px;margin:22px 0 16px;}
 .hero-benefits {font-size:13px;margin-bottom:20px;}
 .hero-actions button {flex:1 1 200px;}
 .hero-transparency {margin-top:20px;padding-top:16px;}
 .hero-limitations {margin-top:22px;}
}
@media(max-width:520px) {
 .hero-restored {grid-template-columns:minmax(0,1fr) 108px;column-gap:14px;}
 .hero-restored .landing-title {font-size:28px;line-height:1.28;letter-spacing:-.035em;}
 .hero-portrait {height:100%;min-height:210px;max-height:320px;}
 .hero-actions {display:grid;grid-template-columns:1fr;}
}
@media(max-width:350px) {
 .hero-restored {grid-template-columns:minmax(0,1fr) 92px;column-gap:12px;}
 .hero-restored .landing-title {font-size:24px;}
}
/* Catalog: sidebar width is owned by the grid, never its child disclosure. */
.filter-container,.table-layout {display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start;min-width:0;}
.filter-disclosure {width:100%;min-width:0;}
.filter-disclosure>summary {display:none;cursor:pointer;min-height:48px;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;font-weight:600;color:var(--ink);}
.filter-sidebar {width:100%;min-width:0;padding:20px;border:1px solid var(--line);box-shadow:none;}
.filter-label-row {flex-wrap:wrap;gap:8px;}
.filter-label-row .filter-label {white-space:normal;margin:0;}
.sidebar-actions {margin:0;}
.filter-result-count {font-size:12px;font-weight:500;color:var(--muted);}
.filter-results,.table-main {min-width:0;width:100%;}
.results-grid,.concern-treatments {display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:20px;}
.treatment-card {min-width:0;padding:24px;border:1px solid var(--line);box-shadow:none;}
.treatment-card:hover,.concern-card:hover {transform:none;border-color:#bccbc4;box-shadow:var(--shadow-card-hover);}
.card-title {font-size:18px;line-height:1.35;overflow-wrap:anywhere;}
.card-header {gap:12px;}
.card-desc,.card-description {display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.65;color:var(--muted);}
.card-stats {grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.card-stats .stat-item {min-width:0;}
.card-stats .stat-value {font-size:14px;color:var(--ink);overflow-wrap:anywhere;}
.card-tags .card-tag {background:var(--canvas);border:1px solid var(--line);color:var(--muted);}
.category-checkbox-item {min-height:44px;}
.category-checkbox-item span:first-child {white-space:normal;overflow:visible;}
.mini-btn,.reset-btn,.back-btn {min-height:44px;}
.concern-grid {max-width:none;padding:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.concern-card {min-width:0;border:1px solid var(--line);box-shadow:none;}
.concern-header,.concern-result-header {flex-wrap:wrap;gap:8px;}
.concern-icon {width:88px;min-width:88px;}
.concern-content {padding:20px 16px;}
.concern-title {font-size:16px;overflow-wrap:anywhere;}
.concern-bullet {font-size:13px;}
.concern-count {color:var(--brand);}
.budget-filter {max-width:560px;flex-wrap:wrap;gap:12px;border:1px solid var(--line);box-shadow:none;}
.budget-filter .inline-range {min-width:120px;margin-left:0;}
.table-wrapper {overflow:auto;max-width:100%;border:1px solid var(--line);box-shadow:none;}
.data-table {min-width:960px;table-layout:auto;}
.data-table th,.data-table td {display:table-cell !important;}
.table-effects,.table-effects .effect-tag,.table-effect-tag {display:inline-flex !important;visibility:visible !important;}
.data-table th:first-child,.data-table td:first-child {position:sticky;left:0;z-index:2;background:white;min-width:140px;}
.data-table thead th:first-child {background:var(--canvas);z-index:3;}
/* Wizard uses full shell alignment; questions remain comfortable to read. */
.consult-container {width:100%;max-width:none;margin:0;padding:0;min-width:0;}
.consult-wizard {padding:32px;border:1px solid var(--line);border-radius:16px;background:white;}
.consult-header {margin:24px 0;gap:16px;}
.consult-avatar {display:none;}
.consult-title,.concern-result-title,.contact-page-header h1 {font-size:28px;font-weight:650;line-height:1.3;letter-spacing:-.025em;color:var(--ink);}
.consult-subtitle {font-size:14px;line-height:1.6;}
.consult-progress {background:var(--canvas);box-shadow:none;padding:12px 16px;}
.progress-fill {background:var(--brand);}
.step-message {background:var(--canvas);border:1px solid var(--line);box-shadow:none;padding:20px;margin-bottom:28px;}
.step-message::before,.step-message::after {display:none;}
.step-message p {font-size:14px;}
.step-message strong,.question-label {color:var(--ink);}
.option-grid {gap:10px;}
.option-grid.cols-2 {grid-template-columns:repeat(2,minmax(0,1fr));}
.option-grid.cols-3 {grid-template-columns:repeat(3,minmax(0,1fr));}
.option-grid.cols-4 {grid-template-columns:repeat(4,minmax(0,1fr));}
.option-grid.cols-5 {grid-template-columns:repeat(5,minmax(0,1fr));}
.option-btn {min-width:0;min-height:48px;border:1px solid var(--line);box-shadow:none;padding:14px 12px;font-size:14px;white-space:normal;overflow-wrap:anywhere;}
.option-btn.selected {background:var(--skinn-50);color:var(--brand);border-color:var(--brand);box-shadow:none;}
.option-btn .btn-title {flex-wrap:wrap;min-width:0;gap:6px;}
.option-btn .recommend-badge {white-space:normal;background:white;color:var(--brand);border:1px solid var(--line);}
.option-btn.selected .recommend-badge {color:var(--brand);}
.option-btn .opt-hint {color:var(--muted);font-size:12px;line-height:1.5;}
.consult-nav {gap:12px;flex-wrap:wrap;margin-top:32px;padding-top:20px;}
.consult-nav .nav-btn {min-height:48px;min-width:0;max-width:100%;padding:12px 20px;white-space:normal;justify-content:center;box-shadow:none;}
.consult-nav svg {flex:none;}
.preset-btn,.concern-chip {min-height:44px;white-space:normal;}
.priority-selector,.priority-targets,.concern-source,.priority-box {min-width:0;}
.source-title,.priority-header h4 {display:flex;gap:8px;flex-wrap:wrap;}
/* Report: same neutral surfaces, typography and spacing as the catalog. */
.quality-report {max-width:none;width:100%;border:1px solid var(--line);border-radius:16px;box-shadow:none;overflow-wrap:anywhere;}
.quality-report .report-header-unified {padding:32px;background:var(--ink);animation:none;text-align:left;}
.quality-report .report-header-unified::before {display:none;}
.quality-report .report-title-v2 {font-size:30px;font-weight:650;line-height:1.3;letter-spacing:-.025em;}
.quality-report .report-badge {letter-spacing:.04em;border:0;padding:0;background:none;opacity:.8;}
.quality-report .report-datetime {color:#d4dad7;}
.quality-report .report-header-unified .quality-note {background:#ffffff0d;color:#e7ece9;border-color:#849e91;margin:20px 0 0;}
.quality-report .analysis-summary {margin:0;border-bottom:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));}
.quality-report .summary-card {padding:24px;min-width:0;}
.quality-report h2 {font-size:18px;font-weight:650;margin:0 0 12px;color:var(--ink);}
.quality-report p {line-height:1.65;margin:8px 0;}
.quality-plans {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px;padding:24px;}
.quality-plan {min-width:0;border:1px solid var(--line);border-radius:12px;}
.quality-treatment-list {list-style:none;padding:0;margin:18px 0;}
.quality-treatment-list>li {padding:16px 0;border-top:1px solid var(--line);}
.quality-treatment-open {min-height:44px;text-align:left;font:inherit;font-weight:650;color:var(--brand);background:transparent;border:0;cursor:pointer;max-width:100%;}
.quality-report summary {cursor:pointer;min-height:44px;display:list-item;padding:10px 0;color:var(--brand);}
.quality-report .funnel-step {clip-path:none;background:none;color:inherit;display:block;width:auto;padding:0;}
.quality-report .combo-price-v2,.quality-report .result-price {font-size:22px;color:var(--ink);white-space:normal;overflow-wrap:anywhere;}
.quality-report .report-actions-v2 {display:flex;flex-wrap:wrap;gap:12px;padding:24px;}
.quality-report .report-actions-v2 button {min-height:48px;white-space:normal;min-width:0;max-width:100%;box-shadow:none;}
.quality-report .btn-primary {background:var(--ink);}
.quality-report .report-footer-v2 {background:var(--canvas);color:var(--muted);padding:24px;}
.quality-note {color:var(--muted);background:#eef1ed;border-left:2px solid #9bb2a5;padding:14px 16px;font-size:13px;line-height:1.65;margin:0 0 20px;overflow-wrap:anywhere;}
.safety-notice {overflow-wrap:anywhere;}
.safety-notice h3 {font-size:15px;}
.safety-notice ul {padding-left:20px;}
.safety-notice a {color:var(--brand);}
/* Dialogs own scrolling. Header/close remain above scrollable body. */
.modal-overlay {padding:16px;}
#detailModal {width:min(100%,880px);max-width:880px;max-height:calc(100dvh - 32px);height:auto;border-radius:16px;}
#detailModal .modal-header {padding:24px 76px 20px 24px;background:var(--ink);}
#detailModal .modal-title {font-size:24px;overflow-wrap:anywhere;}
#detailModal .modal-content {min-height:0;padding:24px;background:var(--canvas);overscroll-behavior:contain;}
#modalClose {top:12px;right:12px;width:44px;height:44px;z-index:101;}
.modal-section-header-with-legend {flex-wrap:wrap;gap:12px;}
.modal-stat {min-width:0;overflow-wrap:anywhere;box-shadow:none;border:1px solid var(--line);}
.modal-key-stats,.modal-stats-grid {grid-template-columns:repeat(4,minmax(0,1fr));}
.auth-modal-overlay {padding:16px;}
.auth-modal {width:100%;max-width:420px;padding:8px 20px 24px;max-height:calc(100dvh - 32px);border-radius:16px;overflow:auto;}
#authModal .auth-modal {display:flex;flex-direction:column;overflow:hidden;}
.auth-modal-close {position:static;display:flex;margin:0 -8px 4px auto;width:44px;height:44px;background:white;z-index:2;flex:none;}
.auth-modal>.auth-form {min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 8px 12px;scrollbar-gutter:stable;}
.auth-modal-title {padding:0 20px;overflow-wrap:anywhere;font-size:24px;}
.auth-field input {min-height:48px;font-size:16px;background:white;}
.auth-submit-btn {min-height:48px;background:var(--ink);}
.auth-google-btn,.auth-link {min-height:44px;}
.auth-links {display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;}
.auth-link-separator {display:none;}
.contact-page {width:100%;max-width:none;padding:0;}
.contact-page-layout {grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.contact-buttons {flex-wrap:wrap;}
.contact-btn {min-height:44px;font-size:13px;}
@media(max-width:1100px) {
 .header-single {display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 16px;}
 .header-single .logo-main {grid-row:1;grid-column:1;}
 .header-single .header-actions {grid-row:1;grid-column:2;justify-self:end;}
 .header-single .nav-tabs {grid-row:2;grid-column:1/-1;width:100%;justify-content:flex-start;overflow-x:auto;padding:2px 0;}
 .header-single .nav-tab {flex:none;}
 .landing-fullscreen {gap:32px;}
 .concern-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:768px) {
 :root {--page-gutter:16px;}
 .header-single {padding:8px var(--page-gutter);}
 .header-single .logo-main {font-size:21px;}
 .header-single .header-actions {gap:4px;}
 .header-single .auth-btn,.header-single .lang-toggle {padding:8px;font-size:12px;}
 .header-single .nav-tab {padding:10px 12px;}
 .main-content>.view-panel,.main-content>.view-panel:not(#view-landing) {padding:24px var(--page-gutter) 32px;}
 .main-content>#view-landing {padding-top:28px;}
 .landing-fullscreen {display:block;max-width:none;padding:0;}
 .landing-left {margin:0;}
 .mobile-hero-row {display:flex;align-items:flex-start;gap:16px;}
 .mobile-hero-text {flex:1;min-width:0;}
 .mobile-hero-text .landing-title {font-size:clamp(30px,7vw,42px);line-height:1.22;font-weight:700;word-break:normal;overflow-wrap:anywhere;}
 .mobile-hero-text .landing-badge {font-size:12px;white-space:normal;margin-bottom:16px;}
 .mobile-hero-img {flex:0 0 28%;max-width:150px;width:28%;height:180px;border-radius:12px;overflow:hidden;margin:0;box-shadow:none;}
 .mobile-hero-img img {width:100%;height:100%;object-fit:cover;}
 .landing-subtitle {font-size:14px;line-height:1.7;margin:20px 0;max-width:none;}
 .cta-button-main {width:100%;font-size:15px;}
 .landing-card-row.mobile-only {display:grid !important;grid-template-columns:1fr;gap:10px;margin-top:16px;}
 .landing-card-row.mobile-only .landing-card {padding:12px 16px !important;min-height:64px;border:1px solid var(--line) !important;box-shadow:none !important;background:white !important;}
 .landing-right {display:none;}
 .landing-features {margin-top:24px;}
 .filter-container,.table-layout {grid-template-columns:minmax(0,1fr);gap:16px;}
 .filter-disclosure {border:1px solid var(--line);border-radius:12px;background:white;}
 .filter-disclosure>summary {display:flex;}
 .filter-disclosure>summary::after {content:'+';}
 .filter-disclosure[open]>summary::after {content:'−';}
 .filter-disclosure .filter-sidebar {border:0;max-height:55dvh;overflow:auto;}
 .results-grid,.concern-treatments {grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px;}
 .concern-grid {gap:12px;}
 .concern-icon {width:72px;min-width:72px;}
 .concern-content {padding:16px 12px;}
 .consult-wizard {padding:20px 16px;}
 .consult-title,.concern-result-title,.contact-page-header h1 {font-size:24px;}
 .option-grid.cols-2,.option-grid.cols-3,.option-grid.cols-4,.option-grid.cols-5 {grid-template-columns:repeat(2,minmax(0,1fr));}
 .option-btn {padding:12px 8px;}
 .consult-nav .nav-btn {flex:1;padding:12px;}
 .quality-report .report-header-unified {padding:24px 20px;}
 .quality-report .report-title-v2 {font-size:26px;}
 .quality-report .analysis-summary {grid-template-columns:minmax(0,1fr);}
 .quality-plans {grid-template-columns:minmax(0,1fr);padding:16px;gap:16px;}
 .quality-report .summary-card {padding:20px;}
 .quality-report .report-actions-v2 {padding:20px;}
 .quality-report .report-actions-v2 button {flex:1 1 180px;}
 .modal-overlay {padding:8px;align-items:center;}
 #detailModal {width:100% !important;max-width:880px !important;max-height:calc(100dvh - 16px);height:auto;border-radius:12px;}
 #detailModal .modal-header {padding:20px 64px 16px 20px;}
 #detailModal .modal-title {font-size:21px;}
 #detailModal .modal-content {padding:20px 16px;}
 .modal-key-stats,.modal-stats-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .auth-modal {width:100%;max-width:420px;padding:8px 12px 16px;}
 .contact-page-layout {grid-template-columns:minmax(0,1fr);gap:24px;}
}
@media(max-width:520px) {
 .header-single .nav-tabs {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:2px;}
 .header-single .nav-tab {white-space:normal;padding:8px 6px;font-size:12px;line-height:1.3;}
 .concern-grid {grid-template-columns:minmax(0,1fr);}
 .mobile-hero-img {display:none;}
 .mobile-hero-text .landing-title {font-size:36px;}
 .priority-selector {grid-template-columns:minmax(0,1fr);}
}
@media(max-height:500px) {
 .header {position:relative;}
 .auth-modal-overlay {padding:8px;}
 .auth-modal {max-height:calc(100dvh - 16px);}
 #detailModal .modal-header {padding-top:16px;padding-bottom:12px;}
}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after {animation:none !important;transition:none !important;scroll-behavior:auto !important;}}
