/* Glasswater portal: lake blue, midnight navy, warm ivory and architectural bronze. */
:root{--bg:#071b35;--surface:#103452;--surface2:#194765;--ink:#faf7f0;--muted:#c0d3e2;--accent:#80c5e9;--line:#40627d;--bronze:#d4b27c;--button-bg:#80c5e9;--button-ink:#071b35;color-scheme:dark}
body.light{--bg:#eef5fa;--surface:#ffffff;--surface2:#dcecf6;--ink:#102d47;--muted:#405f77;--accent:#165e8c;--line:#a5bfd1;--bronze:#805b28;--button-bg:#165e8c;--button-ink:#ffffff;color-scheme:light}
body{background:var(--bg);color:var(--ink)}
.site-header{background:#082644;color:#faf7f0;border-bottom:3px solid #76b8d9}
.site-header .brand,.site-header nav a,.site-header .text-button,.site-header .theme-toggle{color:#faf7f0}
.site-header .brand small{color:#b8d9eb}.site-header nav a:hover,.site-header .text-button:hover{color:#80c5e9}
.site-header .menu-toggle{background:#80c5e9;color:#071b35;border-color:#80c5e9}
.brand-emblem{background:#faf8f2;box-shadow:0 0 0 1px #d4b27c}
.prototype-strip{background:#123b5c;color:#a7d8ef;border-color:#40627d}.prototype-strip span{color:#d1e2ed}
.eyebrow{color:var(--bronze)}
.panel,.workspace-banner{background:var(--surface);border-color:var(--line);border-top:3px solid var(--bronze)}
.card{background:var(--surface);border-color:var(--line);border-top:3px solid var(--accent)}
.card:hover{background:var(--surface2)}
button,.button{background:var(--button-bg);color:var(--button-ink);border-color:var(--button-bg)}
button:hover,.button:hover{color:var(--button-ink)}
button.secondary,.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}
input,select,textarea{background:var(--bg);color:var(--ink);border-color:var(--line)}
input:focus,select:focus,textarea:focus{outline-color:var(--accent);border-color:var(--accent)}
.status{background:var(--surface2);color:var(--ink);border-color:var(--line)}
.notice{background:var(--surface2);border-left-color:var(--bronze)}
.queue-links a{background:var(--surface);border-top:3px solid var(--accent)}
.milestone-cell.active{background:var(--surface2);border-color:var(--accent)}
.milestone-cell.complete{border-color:var(--bronze)}
footer{background:#05172e;color:#faf7f0;border-top:2px solid #40627d}
footer .muted,footer>span{color:#c0d3e2}footer a{color:#80c5e9}footer .brand small{color:#b8d9eb}
@media print{:root,body.light{--bg:#fff;--surface:#fff;--surface2:#fff;--ink:#111;--muted:#333;--accent:#174e70;--line:#aaa;--bronze:#654817}body,.panel,.card,.workspace-banner{background:#fff;color:#111}}
/* A property-led arrival with a distinct, readable sign-in surface. */
main:has(.portal-entry){padding-top:3.2rem;padding-bottom:3.5rem}
.portal-entry{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);grid-template-areas:'intro signin' 'visual signin';gap:1.4rem 4.5rem;align-items:start}
.portal-introduction{grid-area:intro}.portal-introduction h1{font-size:clamp(2.6rem,4vw,4.4rem);line-height:1.04;margin-bottom:1rem;letter-spacing:-.035em}.portal-introduction .eyebrow{margin-bottom:1rem}.portal-introduction .intro{font-size:1.04rem;line-height:1.65;margin-bottom:0;max-width:540px}
.portal-project{grid-area:visual;margin:0;min-width:0}.portal-project img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line)}.portal-project figcaption{display:flex;justify-content:space-between;gap:1rem;margin-top:.65rem;color:var(--muted);font-size:.65rem;letter-spacing:.09em}.portal-paths{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.7rem;color:var(--muted);margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}
.portal-signin{grid-area:signin;background:#f8f5ee;color:#142f47;border:1px solid #d1dce2;border-top:3px solid #c2a16d;padding:2rem 2.2rem;align-self:stretch}.portal-signin .eyebrow{color:#725125;font-size:9px;margin-bottom:1rem}.portal-signin h2{font-size:2.3rem;margin-bottom:.8rem}.portal-signin .signin-description{color:#4b6272;font-size:.88rem;line-height:1.6;margin-bottom:1.6rem}.portal-signin label{color:#233f55;font-size:.78rem}.portal-signin input{background:#fff;color:#142f47;border:1px solid #9eb4c3;padding:.75rem}.portal-signin form p{margin-bottom:1.05rem}.portal-signin form button{width:100%;background:#164e75;color:#fff;border-color:#164e75;font-size:.82rem;padding:.85rem 1rem}.portal-signin .errorlist{color:#8f2820}.portal-signin :focus-visible{outline-color:#287ba9}.portal-signin a{color:#164e75}.signin-recovery{font-size:.78rem;margin:1rem 0 1.5rem}.signin-new{border-top:1px solid #b7c9d4;padding-top:1.2rem}.signin-new>p{font-size:.8rem;margin-bottom:.6rem;color:#4b6272}.portal-signin .signin-new .button{width:100%;color:#164e75;background:transparent;border-color:#8ba7ba;justify-content:space-between;font-size:.8rem}.portal-signin .signin-availability{font-size:.71rem;line-height:1.7;color:#4b6272;margin:1.2rem 0 0}.portal-signin .signin-availability a{display:block}.light .portal-signin{background:#fff}
@media(max-width:1000px){.portal-entry{gap:1.5rem 2rem;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr)}.portal-signin{padding:1.6rem}.portal-paths{gap:.65rem}}
@media(max-width:700px){main:has(.portal-entry){padding-top:2rem}.portal-entry{grid-template-columns:1fr;grid-template-areas:'intro' 'signin' 'visual';gap:1.6rem}.portal-introduction h1{font-size:2.7rem}.portal-signin{padding:1.5rem}.portal-project figcaption{font-size:.6rem}.portal-paths{flex-direction:column}}
/* Same material-led palette as the public estate site. */
:root{--bg:#142b3d;--surface:#203b4e;--surface2:#2c495b;--ink:#f5f2eb;--muted:#c3d1d8;--accent:#a5c5d5;--line:#506c7b;--bronze:#d1b27e;--button-bg:#a5c5d5;--button-ink:#142b3d}
body.light{--bg:#f5f2eb;--surface:#e8eff2;--surface2:#dce7ec;--ink:#1b3546;--muted:#48616e;--accent:#345f78;--line:#b4c5cf;--bronze:#805d2e;--button-bg:#345f78;--button-ink:#fff}
.site-header{background:#10283e;border-bottom-color:#a5c5d5}.site-header .brand small{color:#c3d1d8}.site-header .menu-toggle{background:#a5c5d5;border-color:#a5c5d5;color:#142b3d}.prototype-strip{background:var(--surface);color:var(--accent);border-color:var(--line)}.prototype-strip span{color:var(--muted)}
.portal-signin{background:#f5f2eb;border-top-color:#b28e57}.portal-signin form button{background:#345f78;border-color:#345f78}.portal-signin a,.portal-signin .signin-new .button{color:#345f78}.light .portal-signin{background:#fff}.portal-signin .eyebrow{color:#805d2e}
footer{background:#10283e;border-top-color:#506c7b}footer .muted,footer>span,footer .brand small{color:#c3d1d8}footer a{color:#a5c5d5}
@media print{:root,body.light{--bg:#fff;--surface:#fff;--surface2:#fff;--ink:#111;--muted:#333;--accent:#345f78;--line:#aaa;--bronze:#654817}}
