/* Extensions to the supplied Cofe Vam design; original styles.css and landing.css remain intact. */
section[id],#requests,#my-loans,#transactions,#account{scroll-margin-top:100px}
button:disabled{opacity:.55;cursor:not-allowed}
.extension-note{padding:12px 16px;margin:16px 0;border:1px solid var(--border);border-radius:var(--r-m);color:var(--text-muted);font-size:14px;line-height:1.9;background:var(--surface)}
.request-entry{padding:18px 0;border-bottom:1px solid var(--border)}
.request-entry:last-child{border:0}.request-entry h4{margin:12px 0 8px}.request-entry p{color:var(--text-muted);font-size:14px;line-height:1.8}
.request-empty{padding:24px 0;color:var(--text-muted);line-height:2}
.mobile-dashboard-nav{display:none}.mobile-dashboard-nav a{white-space:nowrap}
@media(max-width:900px){.mobile-dashboard-nav{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.app-topbar-right .avatar-pill{max-width:240px}.avatar-pill .n{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:no-preference) and (min-width:961px){.hero-visual{translate:0 var(--hero-drift,0px)}.hero-bg{translate:0 var(--bg-drift,0px)}.section-head{will-change:transform}.reveal,.reveal-scale,.reveal-blur{transition-duration:1.05s}.stagger>*{transition-duration:.85s}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.reveal-scale,.reveal-blur,.stagger>*{opacity:1!important;transform:none!important;filter:none!important}}
.calc-page .amort-body{overflow-x:auto}.calc-page .amort-row{min-width:510px}

.auth-real{min-height:100vh;display:grid;align-content:center;gap:32px;max-width:760px;margin:auto;padding:30px 20px}.auth-real-card{background:var(--grad-card);border:1px solid var(--border);border-radius:24px;padding:clamp(28px,5vw,56px)}.auth-real-card h1{font-size:clamp(30px,5vw,48px);margin:20px 0}.auth-real-card p{line-height:1.9;color:var(--text-muted)}.auth-real-card .btn{display:inline-flex;margin:16px 0}.auth-real-card nav{display:flex;gap:20px;flex-wrap:wrap;margin-top:22px}.auth-real-card nav a{color:var(--accent);text-decoration:underline}.preset-note{text-align:center;line-height:1.8;color:var(--text-muted);margin:0 auto 18px;max-width:700px}.lt-tab:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

.form-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.form-actions button{margin-top:18px}.request-progress{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.request-progress span{border:1px solid var(--border);border-radius:99px;padding:7px 13px;color:var(--text-muted);font-size:14px}.request-progress .complete{border-color:var(--accent);color:var(--accent)}.request-progress .current{background:var(--accent);color:var(--bg);font-weight:700}.request-history{margin:16px 0}.request-history summary{cursor:pointer;color:var(--accent)}.request-history ol{padding-inline-start:25px;line-height:2}.request-history time{color:var(--text-muted);margin-inline-start:14px}.comparison{margin:32px auto 0;max-width:1100px}.comparison-actions{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.comparison-table{width:100%;border-collapse:collapse;min-width:620px}.comparison-scroll{overflow-x:auto}.comparison-table th,.comparison-table td{padding:14px;text-align:right;border-bottom:1px solid var(--border)}.comparison-table th{color:var(--text-muted)}.comparison-table button{color:var(--accent);text-decoration:underline}.comparison-empty{color:var(--text-muted)}

.footer a[title]{position:relative}.footer a[title]::after{content:attr(title);position:absolute;bottom:calc(100% + 10px);right:0;background:var(--surface-2);color:var(--text);padding:8px 11px;border:1px solid var(--border);border-radius:8px;white-space:nowrap;font-size:13px;opacity:0;visibility:hidden;transform:translateY(5px);transition:opacity .18s,transform .18s;z-index:5;pointer-events:none}.footer a[title]:hover::after,.footer a[title]:focus-visible::after{opacity:1;visibility:visible;transform:translateY(0)}@media(max-width:600px){.footer a[title]::after{white-space:normal;min-width:190px}}

.auth-page{max-width:800px}.auth-options section{border-top:1px solid var(--border);padding:22px 0}.auth-options h2{font-size:20px;font-weight:700;margin-bottom:16px}.auth-options label{display:block;max-width:430px;margin:12px 0}.auth-options input{width:100%;margin-top:8px}.auth-options button{margin-top:8px}.otp-verify{margin-top:12px}

.assistant-link{position:fixed;bottom:20px;left:20px;background:var(--accent);color:var(--bg);padding:12px 20px;border-radius:30px;z-index:50}.affordability{margin-top:40px;padding:24px;border:1px solid var(--border);border-radius:20px}.affordability label{display:block;margin:16px 0}.affordability input,[data-reply] textarea{display:block;padding:12px;width:100%;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px}[data-reply] textarea{min-height:100px}.chat-messages article{padding:16px;border-bottom:1px solid var(--border)}.form-card input[type=checkbox]{width:20px;min-height:20px}.admin-list input,.admin-list select{padding:12px;background:var(--surface);color:var(--text);border:1px solid var(--border)}

.service-links{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;padding:24px;background:var(--bg-2);border-top:1px solid var(--border)}.service-links a{color:var(--accent)}.loan-facts{display:grid;grid-template-columns:minmax(90px,1fr) 2fr;gap:12px;margin:24px 0}.loan-facts dt{color:var(--text-muted)}.loan-facts dd{margin:0;overflow-wrap:anywhere}.catalog-filters label{display:flex;flex-direction:column;gap:8px}.catalog-filters input,.catalog-filters select,#loanPreset{width:100%;padding:12px;border:1px solid var(--border);border-radius:var(--r-s);background:var(--surface);color:var(--text)}.case-timeline{padding-inline-start:24px}.case-timeline li{padding:16px 0;border-bottom:1px solid var(--border)}.case-timeline time,.chat-messages time{display:block;color:var(--text-muted);font-size:13px;margin-top:8px}.preserve-text{white-space:pre-wrap;overflow-wrap:anywhere}.document-item{padding:20px 0;border-bottom:1px solid var(--border)}.admin-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-record h3{font-weight:700}.form-card ul{padding-inline-start:24px;list-style:disc;line-height:2}.form-card label{margin-top:16px}.catalog-filters input[type=checkbox],.admin-list input[type=checkbox]{width:20px}.loan-grid>article{min-width:0}.loan-grid p{overflow-wrap:anywhere}.loan-card .form-actions{margin-top:16px}.loan-card input[type=checkbox]{margin-inline-end:8px}button:disabled{opacity:.55;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:700px){.admin-controls{grid-template-columns:1fr}.loan-facts{grid-template-columns:1fr}.loan-facts dd{margin-bottom:8px}.service-links{gap:16px}.assistant-link{bottom:12px;left:12px;font-size:13px}}

/* ===== Unified design pass: warm light theme, calmer dark, readable numbers ===== */
:root{--font-num:'Vazirmatn','Peyda',system-ui,sans-serif;--grad-hero:radial-gradient(ellipse at 20% 20%,oklch(0.82 0.17 155 / 0.09),transparent 50%),radial-gradient(ellipse at 80% 30%,oklch(0.84 0.13 82 / 0.07),transparent 55%)}
[data-theme="light"]{--bg:oklch(0.975 0.012 85);--bg-2:oklch(0.955 0.014 85);--surface:oklch(1 0 0);--surface-2:oklch(0.97 0.01 85);--surface-3:oklch(0.93 0.012 85);--border:oklch(0.88 0.015 85);--border-strong:oklch(0.78 0.02 85);--text:oklch(0.22 0.02 160);--text-muted:oklch(0.42 0.02 160);--text-dim:oklch(0.55 0.02 160);--accent:oklch(0.55 0.13 165);--accent-2:oklch(0.48 0.13 165);--accent-glow:oklch(0.55 0.13 165 / 0.16);--gold:oklch(0.68 0.12 75);--gold-glow:oklch(0.68 0.12 75 / 0.16);--grad-accent:linear-gradient(135deg,oklch(0.55 0.13 165),oklch(0.5 0.12 170));--grad-card:linear-gradient(180deg,oklch(1 0 0),oklch(0.99 0.006 85));--grad-hero:radial-gradient(ellipse at 20% 20%,oklch(0.55 0.13 165 / 0.07),transparent 50%)}
[data-theme="light"] .btn-primary,[data-theme="light"] .lt-tab.active{color:#fff}
[data-theme="light"] .text-gradient{background:none;-webkit-text-fill-color:var(--accent);color:var(--accent)}
.calc-monthly,.loan-amount,.mini-value,.hp-value,.calc-val,.amort-row .v,.amort-row .num,.brk-item .v,.comparison-table td,.loan-facts dd,.dash-stat .v,[data-stat] .v{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:0}
.blob{opacity:.45}.hero-grid-bg{opacity:.5}
/* Hero preview replaces decorative cards */
.hero-preview{position:relative;z-index:2;max-width:360px;margin:auto;padding:28px;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--border);box-shadow:var(--e-3);display:grid;gap:12px}
.hero-preview dl{display:grid;gap:8px;margin:8px 0}.hero-preview dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--border);padding-bottom:6px}.hero-preview dt{color:var(--text-muted)}.hero-preview dd{margin:0;font-family:var(--font-num)}
.hp-label{margin:0;color:var(--text-muted);font-size:14px}.hp-value{margin:0;font-size:30px;font-weight:800;color:var(--accent)}.hp-value small{font-size:14px;color:var(--text-muted)}
.marquee-title{text-align:center;color:var(--text-dim);font-size:13px;margin:24px 16px 0}
/* Header: active page */
.nav-link[aria-current="page"],.app-head nav a[aria-current="page"]{color:var(--accent);font-weight:700}
/* Unified auth */
.auth-wrap{display:grid;place-items:center;padding:48px 16px}.auth-card-shell{width:100%;max-width:420px;display:grid;gap:16px;padding:32px;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--border);box-shadow:var(--e-2)}.auth-card-shell h1{font-size:24px;margin:0}
.auth-card{display:grid;gap:14px}.auth-card section{display:grid;gap:10px}.auth-card label{display:grid;gap:6px}.auth-inline{display:flex;justify-content:space-between;gap:12px}
.link-btn{background:none;border:0;padding:4px 0;color:var(--accent);cursor:pointer;font:inherit;text-align:center}.link-btn:disabled{color:var(--text-dim)}
.field-error{color:var(--error);font-size:13px;margin:0}[aria-invalid="true"]{border-color:var(--error)!important}
/* Mobile: shorter hero, compact decoration */
@media (max-width:700px){.hero{padding:96px 0 40px}.hero .body-lg{font-size:15px}.hero-cta .btn-lg{padding:12px 20px;font-size:15px}.hero-visual{height:auto!important;margin-top:8px}.blob,.coin{display:none}.hero-preview{padding:20px}.assistant-link{padding:8px 14px}.calc-page{padding-top:88px}}
/* Respect reduced motion */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal,.reveal-scale,.stagger>*{opacity:1!important;transform:none!important}}
/* Loan catalog compare bar */
.compare-bar{position:sticky;bottom:12px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding:12px 16px;border-radius:var(--r-m);background:var(--surface);border:1px solid var(--accent);box-shadow:var(--e-3)}
.compare-toggle{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:var(--r-full);padding:6px 14px;cursor:pointer;font:inherit}.compare-toggle[aria-pressed="true"]{border-color:var(--accent);color:var(--accent);font-weight:700}
.loan-card details{margin-top:8px;color:var(--text-muted)}
/* Apply steps */
.steps{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 20px;flex-wrap:wrap}.steps li{flex:1;min-width:110px;padding:10px;border-radius:var(--r-s);background:var(--surface-2);color:var(--text-muted);text-align:center;font-size:14px}.steps li[aria-current="step"]{background:var(--accent);color:var(--bg);font-weight:700}.steps li.done{color:var(--accent)}
.plan-choice{display:grid;gap:10px}.plan-choice label{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:var(--r-m);cursor:pointer}.plan-choice input{margin-top:6px}.plan-choice label:has(input:checked){border-color:var(--accent);background:var(--surface-2)}
.review-list{display:grid;grid-template-columns:minmax(110px,1fr) 2fr;gap:10px;margin:0}.review-list dt{color:var(--text-muted)}.review-list dd{margin:0;overflow-wrap:anywhere}
/* Dashboard: status + next action first */
.request-next{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:8px 0;padding:10px 12px;border-radius:var(--r-s);background:var(--surface-2)}.request-next strong{color:var(--accent)}.request-next.urgent{border:1px solid var(--warning)}.request-next.urgent strong{color:var(--warning)}

/* ===== UX pass (ui-ux-pro-max priorities: a11y, touch, contrast) ===== */
/* Touch targets ≥44px */
.btn-sm,.theme-btn,.burger,.compare-toggle,.link-btn,.faq-q,.service-links a,.app-head nav a{min-height:44px}
.theme-btn{width:44px;height:44px}.btn-sm{padding:10px 18px;font-size:14px;display:inline-flex;align-items:center;justify-content:center}
.link-btn,.app-head nav a,.service-links a{display:inline-flex;align-items:center}
/* Visible keyboard focus for sliders and custom controls */
input[type="range"].calc-slider:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.compare-toggle:focus-visible,.link-btn:focus-visible,.theme-btn:focus-visible,.burger:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* Contrast: secondary text and marquee must stay ≥4.5:1 */
[data-theme="light"]{--text-dim:oklch(0.48 0.02 160)}
:root{--text-dim:oklch(0.66 0.018 250)}
.marquee>*{opacity:1}
/* Body text never below 13px; captions readable */
.caption,.minor,.mini-card .mini-title,.mini-card .mini-up{font-size:max(13px,0.8125rem)}
/* Problem icons inherit brand colour instead of emoji */
.p-icon{color:var(--accent)}

/* ===== Fresh review fixes ===== */
/* Touch targets the earlier pass missed */
.nav-link,.brand,.loan-cta a,.auth-real-card nav a,.auth-card input,.auth-card button,.form-card input:not([type=checkbox]):not([type=radio]),.form-card select,.catalog-filters input,.catalog-filters select,.assistant-link{min-height:44px}
.nav-link,.loan-cta a,.auth-real-card nav a{display:inline-flex;align-items:center}
.chat-messages ~ * input[type=checkbox],.form-card input[type=checkbox],.assistant input[type=checkbox]{width:22px;height:22px}
/* Calculator schedule: scroll inside the card on small screens instead of clipping */
@media (max-width:600px){.amort-body{overflow-x:auto}.amort-row{grid-template-columns:44px repeat(4,minmax(88px,1fr));min-width:420px;padding:12px 16px;font-size:13px}.amort-head{flex-wrap:wrap;gap:12px;padding:16px}}

/* ===== Buttons: solid emerald, no yellow/gold gradient ===== */
:root{--grad-accent:linear-gradient(135deg,oklch(0.78 0.15 160),oklch(0.72 0.15 165))}
[data-theme="light"]{--grad-accent:linear-gradient(135deg,oklch(0.55 0.13 165),oklch(0.5 0.12 168))}
.btn-primary,.lt-tab.active,.steps li[aria-current="step"]{background:var(--grad-accent)!important;border-color:transparent}
.btn-primary{color:oklch(0.16 0.03 165)!important;box-shadow:0 6px 18px var(--accent-glow)}
[data-theme="light"] .btn-primary,[data-theme="light"] .lt-tab.active,[data-theme="light"] .steps li[aria-current="step"]{color:#fff!important}
.btn-primary:hover{filter:brightness(1.06)}
.text-gradient{background:none!important;-webkit-text-fill-color:var(--accent)!important;color:var(--accent)!important}

/* ===== Hero: clean card, no half-hidden decorations ===== */
.hero-visual .coin,.hero-visual .blob{display:none}
.hero-visual{display:grid;place-items:center}
.hero .reveal{opacity:1!important;transform:none!important}

.brand-mark,.oc-mark{font-size:0!important;color:transparent!important;background:#5a3a22 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M12 4c-1 1.5 1 2.5 0 4M16 3c-1 1.5 1 2.5 0 4M20 4c-1 1.5 1 2.5 0 4' stroke='%23f5ebe0' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3Cpath d='M7 11h16l-1.6 12.5A3 3 0 0 1 18.4 26h-6.8a3 3 0 0 1-3-2.5z' fill='%23eef6f8'/%3E%3Cpath d='M8.2 14h13.6' stroke='%235ec8f2' stroke-width='2.4'/%3E%3Cpath d='M23 14h1.5a2.5 2.5 0 0 1 0 5H22.4' stroke='%23f5ebe0' stroke-width='1.8' fill='none'/%3E%3Cpath d='M6 28h20' stroke='%23d4a373' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/76% no-repeat!important}
/* Kafe Vam: shared two-theme palette and compact landing rhythm. */
:root,:root[data-theme="dark"]{--bg:#141619;--bg-2:#1a1d21;--surface:#202429;--surface-2:#292e34;--surface-3:#343b43;--border:#39434b;--border-strong:#596772;--text:#f3f8f5;--text-muted:#bdc6cd;--text-dim:#a9b4bd;--accent:#7bd7bf;--accent-2:#a0e6d4;--accent-glow:#7bd7bf24;--gold:#d5a77d;--gold-glow:#d5a77d22;--grad-accent:linear-gradient(120deg,var(--accent),var(--accent-2));--grad-card:linear-gradient(160deg,var(--surface),var(--bg-2));--grad-hero:radial-gradient(ellipse at 25% 20%,#7bd7bf12,transparent 60%),radial-gradient(ellipse at 80% 45%,#d5a77d12,transparent 55%)}
:root[data-theme="light"]{--bg:#f4f8fb;--bg-2:#eaf1f7;--surface:#ffffff;--surface-2:#edf4f8;--surface-3:#dfeaf1;--border:#cad9e3;--border-strong:#91abba;--text:#18354b;--text-muted:#4c6577;--text-dim:#526d80;--accent:#086b78;--accent-2:#075662;--accent-glow:#086b781c;--gold:#936037;--gold-glow:#93603718;--grad-hero:radial-gradient(ellipse at 25% 20%,#086b780d,transparent 60%)}
.btn-primary,.brand-mark{color:var(--bg)}[data-theme="light"] .btn-primary,[data-theme="light"] .brand-mark,[data-theme="light"] .form-card button{color:#fff}
.navbar-inner,.navbar.scrolled .navbar-inner{background:color-mix(in srgb,var(--bg) 92%,transparent);border-color:var(--border)}
.mobile-menu{background:var(--bg)}[data-theme="light"] .mobile-menu{background:var(--bg)}
.hero{min-height:auto;padding:132px 0 64px}.section{padding-block:64px}.section-head{margin-bottom:36px}.cta-box{padding:56px 32px}.footer{padding-top:48px}
html{scrollbar-gutter:stable;scrollbar-color:var(--border-strong) var(--bg);scroll-padding-top:110px}*{scrollbar-width:thin}textarea{resize:none}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;color:var(--text-muted);font-size:14px;margin-bottom:20px}.breadcrumbs a{color:var(--accent)}
.admin-tabs{display:flex;gap:12px;margin-block:24px}.admin-tabs a{padding:12px 20px;border:1px solid var(--border);border-radius:var(--r-m)}
.admin-catalog{margin-block:40px;padding:24px;border:1px solid var(--border);border-radius:var(--r-l);background:var(--bg-2)}.admin-catalog h2,#manage-requests>h2{font-size:24px;font-weight:800}.admin-loan-list{margin-top:24px}.admin-loan-list article{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid var(--border)}.admin-loan-list .minor{margin-top:4px}.admin-catalog input:disabled{opacity:.65}
.auth-card section+section{border-top:1px solid var(--border);padding-top:24px}.auth-card h2{font-size:18px;font-weight:700;margin-bottom:16px}.auth-inline button[aria-pressed="true"]{color:var(--text);text-decoration:underline;text-underline-offset:6px}.auth-card form{display:grid;gap:12px}.auth-card form .link-btn{justify-self:start}
@media(max-width:700px){.section{padding-block:44px}.hero{padding:112px 0 44px}.section-head{margin-bottom:28px}.cta-box{padding:36px 20px}.admin-catalog{padding:16px}.admin-loan-list article{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal-scale,.reveal-blur,.stagger{opacity:1;transform:none;filter:none}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.app-shell .app-head{background:var(--bg-2)}.app-head .brand{white-space:nowrap;flex-shrink:0}.auth-wrap{background:var(--bg)}.auth-card-shell{background:var(--surface);border-color:var(--border)}
@media(max-width:700px){.app-shell .app-head{flex-direction:column;align-items:stretch;gap:16px}.app-head .brand{align-self:flex-start}.app-head nav{gap:12px;justify-content:space-between;font-size:13px}}

:root{--coffee:var(--grad-accent);--galaxy:var(--grad-accent);--jadesky:var(--grad-accent);--success:var(--accent)}.brand-mark,.oc-mark{background-color:var(--accent)!important}.hero-bg{background:var(--grad-hero)!important}

:root[data-theme="dark"] .btn-primary{color:var(--bg)!important;text-shadow:none}.auth-card-shell .minor{margin-top:0}



/* Corner theme lamp: visual-only enhancement for the existing theme toggle. */
.theme-lamp{position:fixed;inset-inline-start:18px;bottom:18px;z-index:80;width:54px;height:86px;padding:0;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 8px 14px color-mix(in oklab,var(--accent) 20%,transparent));}
.theme-lamp-cord{position:absolute;top:0;inset-inline-start:26px;width:2px;height:30px;background:var(--border-strong);border-radius:2px;}
.theme-lamp-shade{position:absolute;top:24px;inset-inline-start:5px;width:44px;height:28px;border-radius:7px 7px 18px 18px;background:linear-gradient(145deg,var(--accent),var(--surface-2));border:1px solid var(--border-strong);transform-origin:50% 0;transition:transform .22s ease,filter .22s ease;}
.theme-lamp-shade:after{content:"";position:absolute;bottom:-3px;inset-inline-start:8px;width:26px;height:5px;border-radius:50%;background:var(--border-strong);}
.theme-lamp-glow{position:absolute;top:23px;inset-inline-start:8px;width:28px;height:24px;border-radius:50%;background:var(--gold);opacity:.8;filter:blur(10px);transition:opacity .22s ease;}
.theme-lamp-pull{position:absolute;top:51px;inset-inline-start:39px;width:2px;height:22px;background:var(--gold);border-radius:2px;transition:transform .22s ease;}
.theme-lamp-pull:after{content:"";position:absolute;bottom:-4px;inset-inline-start:-4px;width:10px;height:10px;border-radius:50%;background:var(--gold);}
.theme-lamp:hover .theme-lamp-shade,.theme-lamp:focus-visible .theme-lamp-shade{transform:rotate(-5deg);filter:brightness(1.1)}
.theme-lamp:hover .theme-lamp-glow,.theme-lamp:focus-visible .theme-lamp-glow{opacity:1}
.theme-lamp.is-pulling .theme-lamp-pull{transform:translateY(7px)}
.theme-lamp.is-pulling .theme-lamp-shade{transform:rotate(4deg)}
.theme-lamp:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:12px}
@media(max-width:600px){.theme-lamp{inset-inline-start:12px;bottom:12px;transform:scale(.88);transform-origin:bottom left}}
@media(prefers-reduced-motion:reduce){.theme-lamp-shade,.theme-lamp-pull{transition:none}}
:root[data-theme="dark"]{--accent-text:#10241d;--success:#83ddb0}
:root[data-theme="light"]{--accent-text:#ffffff;--success:#167748}

/* Compact, complete landing catalog — both existing themes. */
#loans.section{padding-block:36px}
#loans .section-head{margin-bottom:22px}
#loans .h-1{font-size:clamp(24px,3vw,34px)}
#loans .body-lg{font-size:14px;line-height:1.9}
#loanGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
#loanGrid .loan-card{display:flex;flex-direction:column;gap:9px;padding:19px;border-radius:20px;cursor:default;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 65%),color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(16px);border:1px solid var(--border);box-shadow:inset 0 1px 0 #ffffff18,0 8px 24px #0000000a}
#loanGrid .loan-card::before{pointer-events:none}
#loanGrid .loan-card:hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 #ffffff22,0 12px 28px #00000015}
#loanGrid .loan-card-mark{position:absolute;inset-inline-end:18px;top:17px;width:36px;height:36px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--border);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);font-size:20px;font-weight:700}
#loanGrid .badge{align-self:flex-start;max-width:calc(100% - 46px);font-size:10px}
#loanGrid .minor{margin:0;font-size:12px}
#loanGrid .loan-name{font-size:17px;line-height:1.7;margin:0}
#loanGrid .loan-desc{font-size:12px;line-height:1.9;margin:0;min-height:46px}
#loanGrid .loan-amount{font-size:25px;margin:2px 0}
#loanGrid .loan-card>p:not(.loan-desc):not(.minor){font-size:12px;margin:0;line-height:1.8}
#loanGrid .loan-cta{margin-top:auto;padding-top:12px;border-top:1px solid var(--border);gap:8px;flex-wrap:wrap}
#loanGrid .loan-cta a{font-size:12px;min-height:44px}
#loanGrid a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.loan-requirements{margin-block:22px}.loan-requirements h3{font-size:18px}.loan-requirements li{line-height:2;margin-block:9px}
@media(max-width:960px){#loanGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#loanGrid{grid-template-columns:1fr}#loans.section{padding-block:26px}#loanGrid .loan-desc{min-height:0}}
@media(prefers-reduced-motion:reduce){#loanGrid .loan-card{transition:none}#loanGrid .loan-card:hover{transform:none}}

/* Catalog cards stay compact without hiding any entries. */
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.catalog-grid .loan-card{display:flex;flex-direction:column;padding:18px;border-radius:18px;cursor:default;min-width:0}
.catalog-grid .loan-card::before{pointer-events:none}
.catalog-grid .loan-name{font-size:18px;line-height:1.7;margin:4px 0 0}
.catalog-grid .minor{margin:8px 0 2px;font-size:12px}
.catalog-grid .badge{font-size:10px;align-self:flex-start}
.catalog-grid .loan-facts{grid-template-columns:72px minmax(0,1fr);gap:7px 10px;margin:14px 0;font-size:12px;line-height:1.85}
.catalog-grid .loan-facts dd{margin:0;overflow-wrap:anywhere}
.catalog-grid details{font-size:12px;line-height:1.9;margin-bottom:12px}
.catalog-grid summary{cursor:pointer;min-height:32px}
.catalog-grid .form-actions{margin-top:auto;padding-top:12px;gap:8px;flex-wrap:wrap}
.catalog-grid .form-actions a,.catalog-grid .form-actions button{min-height:44px;font-size:12px;padding:9px 12px}
.catalog-grid .loan-card:hover{transform:translateY(-3px)}
@media(max-width:1000px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.catalog-grid{grid-template-columns:1fr}.catalog-grid .loan-card{padding:16px}}
@media(prefers-reduced-motion:reduce){.catalog-grid .loan-card:hover{transform:none}}
