/* Shared layout repairs; loaded last on every public and account page. */
:root{--brown:#6f4a38;--ink:#2c2522;--lav:#79539d}
body{color:var(--ink);overflow-wrap:anywhere;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
button,input,textarea,select{font:inherit;max-width:100%;min-width:0}
button,.btn{min-height:44px;white-space:normal;text-align:center}
button:disabled{cursor:not-allowed;opacity:.65}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #79539d;outline-offset:4px}
[hidden]{display:none!important}
.btn-primary,.nav-cta{background:var(--brown)}
.form-layout{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:start}
.form-grid,.upload-grid,.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero-modern-grid>* ,.form-layout>*,.form-grid>*,.portal-grid>*,.portal-head>*,.header-inner>*{min-width:0}
.hero-visual img{height:auto;aspect-ratio:1.55;object-fit:cover}
.hero-copy h1{line-height:1.02;letter-spacing:-.045em}
.hero-visual figcaption{max-width:100%;font-size:.9rem}
.hero-proof{font-size:.875rem}
.header-inner{gap:18px}
.nav{flex-wrap:wrap;justify-content:flex-end;font-size:.875rem}
.nav a{min-height:44px;display:inline-flex;align-items:center}
.menu-toggle{min-width:44px;flex-shrink:0}
.form-message.error{display:block;color:#872c28;background:#fff0ee;border:1px solid #e6a59e}
.availability-notice{margin-top:0}
.availability-notice a{text-decoration:underline;font-weight:700}
.contact-card p,.status-line span,.status-grid b,.quote-row,.settlement-row{overflow-wrap:anywhere}
.portal-login{width:min(520px,calc(100% - 32px));padding:clamp(20px,4vw,34px)}
.portal-main,.portal-brand,.task-head>*,.proof-upload{min-width:0}
.portal-brand img{max-width:min(180px,40vw)}
.metric-card span,.login-help,.footer-main h3{font-size:.875rem}
.portal-nav{position:static}
#portalToast{max-width:calc(100vw - 36px)}
.footer-main{gap:32px}
.footer-main h3{color:#d2bfb5}
.trust-bar div div{flex-wrap:wrap;overflow:visible}
.password-control{position:relative;display:block;width:100%}
.password-control input{width:100%;padding-right:4.8rem}
.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-height:36px;padding:5px 10px;border:0;border-radius:8px;background:#e7f2ed;color:#175543;font-weight:800;cursor:pointer}
.auth-page{min-height:100dvh;display:grid;place-items:center;padding:32px 16px;background:linear-gradient(145deg,#f4f8f5,#fff 55%,#f6eee9)}
.auth-card{width:min(520px,100%);margin:0}
.auth-brand{display:block;width:min(210px,60vw);margin-bottom:28px}
.auth-card h1{font-size:clamp(2rem,7vw,3rem);line-height:1.05;margin-top:10px}
.auth-card form{margin-top:24px}
.auth-card .login-help{margin-top:22px}
@media(max-width:1100px){
  .menu-toggle{display:block}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;padding:16px 4%;background:#fff;border-bottom:1px solid #ddd;flex-direction:column;align-items:stretch;gap:4px;max-height:calc(100dvh - 90px);overflow-y:auto}
  .nav.open{display:flex}
  .nav a{padding:10px 12px}
  .nav-login{margin-left:0}
  .hero-modern-grid{gap:30px}
  .hero-copy h1{font-size:clamp(2.7rem,6vw,4.2rem)}
}
@media(max-width:800px){
  .form-layout,.hero-modern-grid,.process-grid,.faq-grid{grid-template-columns:minmax(0,1fr)}
  .process-grid,.faq-grid{gap:32px}
  .hero-modern{padding:40px 0 48px}
  .hero-visual{width:100%}
  .hero-visual figcaption{position:relative;left:auto;bottom:auto;margin:-24px 12px 0}
  .portal-head,.portal-brand,.handler-top,.task-head{flex-wrap:wrap}
  .confidence-head{display:block}
}
@media(max-width:560px){
  .form-grid,.upload-grid,.choice-grid,.market-search,.market-grid,.metric-grid,.status-grid,.quote-row,.settlement-row{grid-template-columns:minmax(0,1fr)}
  .hero-copy h1,.page-hero h1{font-size:clamp(2.25rem,10vw,3.4rem);line-height:1.08}
  .hero-visual img{aspect-ratio:1.15}
  .form-card,.side-card,.contact-card,.card,.role-card{padding:20px}
  .actions>.btn,.task-actions>.btn{width:100%}
  .market-toolbar{align-items:stretch;flex-direction:column}
  .portal-shell{padding:0 12px}
  .portal-head{padding:18px}
  .portal-user{text-align:left}
  .portal-nav{display:flex;flex-wrap:wrap}
  .portal-nav button{flex:1 1 130px}
  .service-tile{border-right:0;border-bottom:1px solid var(--line,#e6dfd8)}
  .floating-wa{right:12px;bottom:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Shared account workspace, designed for narrow and wide screens. */
.workspace{max-width:1100px;margin:auto;padding:32px 20px 64px}.workspace-header{display:flex;align-items:center;gap:18px;padding:14px max(20px,calc((100vw - 1100px)/2));border-bottom:1px solid #dce5e3;background:white;flex-wrap:wrap}.workspace-header img{width:180px;max-width:100%;height:auto}.workspace-header div{flex:1;min-width:100px}.workspace-header small{display:block}.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.workspace h1{font-size:clamp(1.8rem,5vw,2.8rem)}.workspace-shortcuts{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.workspace-shortcuts a{background:#e7f2ed;padding:10px 16px;border-radius:10px;color:#175543}.workspace-section{margin-top:32px;scroll-margin-top:30px}.workspace .task-card,.workspace .panel-lite{margin:14px 0;overflow-wrap:anywhere}.workspace .form-card{max-width:760px}.workspace .task-head{flex-wrap:wrap;gap:10px}.workspace .task-head h3{font-size:1rem}.workspace .task-actions{display:flex;flex-wrap:wrap;gap:8px}.workspace details{margin-top:18px}.workspace details summary{cursor:pointer;padding:8px 0}.workspace textarea,.workspace input:not([type=checkbox]),.workspace select{width:100%;max-width:100%}.workspace [hidden]{display:none}.proof-dialog{border:0;border-radius:18px;padding:24px;max-width:min(600px,90vw);overflow-wrap:anywhere}.proof-dialog::backdrop{background:#102720aa}.footer-bottom a{color:inherit}.contact-card{overflow-wrap:anywhere}@media(max-width:480px){.workspace{padding:24px 14px}.workspace-header{padding:12px 14px;gap:10px}.workspace-header img{width:135px}.workspace .task-card{padding:18px}.workspace .task-actions .btn{flex:1 1 150px}}
