/* Public welcome only; preserve workspace layout and navigation. */
.public-welcome { --home-navy:#102b43; --home-teal:#075d4c; background:#fdfcf8; margin-bottom:0; }
.public-welcome .app-main,.public-welcome .app-header__inner,.public-welcome .app-footer .container { width:100%; max-width:1320px; margin-inline:auto; padding-inline:clamp(1.25rem,4vw,3.5rem); }
.public-welcome .app-header { background:transparent; box-shadow:none; }
.public-welcome .app-header .navbar { min-height:100px; padding-block:1rem; }
.public-welcome .app-brand { min-width:0; gap:.9rem; }
.public-welcome .app-brand strong { color:var(--home-navy); font-size:1.55rem; }
.public-welcome .app-brand small { font-size:.85rem; line-height:1.35; }
.public-welcome .app-brand__mark { width:3.15rem; height:3.15rem; color:white; background:var(--home-teal); border-radius:.85rem; }
.public-welcome .app-brand__mark .ui-icon { width:1.8rem; height:1.8rem; }
.public-welcome .app-account { flex-wrap:wrap; }
.public-welcome .app-account > a { padding:.55rem .95rem; border:1px solid var(--home-teal); border-radius:.6rem; color:var(--home-teal); }
.public-welcome .app-main { padding-block:clamp(2rem,4vw,3rem) 3.25rem; }
.home-hero { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); align-items:center; gap:clamp(1.75rem,4vw,3rem); }
.home-hero__copy,.home-feature > div { min-width:0; }
.home-eyebrow { color:var(--home-teal); font-size:.78rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; margin:0 0 1.5rem; }
.home-eyebrow::after,.home-features h2::after { content:""; display:block; width:3.5rem; height:4px; margin-top:.85rem; background:#b9cbb0; border-radius:2px; }
.home-hero h1 { color:var(--home-navy); font-size:clamp(2.15rem,3.45vw,3.3rem); font-weight:800; letter-spacing:-.035em; line-height:1.13; margin:0; overflow-wrap:break-word; }
.home-hero__intro { color:#415266; font-size:clamp(1rem,1.35vw,1.12rem); line-height:1.65; margin:1.35rem 0 1.8rem; max-width:35rem; }
.home-hero__actions { display:flex; align-items:center; flex-wrap:wrap; gap:1rem 1.5rem; }
.home-signin { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:.85rem 1.2rem; border-radius:.65rem; background:var(--home-navy); color:white; font-weight:700; line-height:1.35; text-align:center; text-decoration:none; max-width:100%; }
.home-signin:hover { background:#1e4260; color:white; text-decoration:none; }
.home-explore { display:inline-flex; align-items:center; min-height:44px; gap:.6rem; color:var(--home-teal); font-weight:700; text-decoration:none; }
.home-explore:hover { color:var(--home-teal); text-decoration:underline; text-underline-offset:.3em; }
.home-signin:focus-visible,.home-explore:focus-visible { outline:3px solid var(--ui-focus); outline-offset:4px; }
.home-hero__image { border-radius:1.25rem; overflow:hidden; background:#e4eddf; }
.home-hero__image img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; display:block; }
.home-features { margin-top:clamp(2.5rem,5vw,4rem); scroll-margin-top:1.5rem; }
.home-features h2 { color:var(--home-navy); font-size:clamp(1.5rem,2.4vw,2rem); font-weight:750; letter-spacing:-.025em; margin:0 0 1.5rem; }
.home-features__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.home-feature { display:flex; align-items:flex-start; gap:.85rem; min-width:0; padding:1.25rem 1rem; border:1px solid #d4e0d7; border-radius:.9rem; background:#fff; }
.home-feature__icon { display:grid; place-items:center; flex:0 0 2.8rem; width:2.8rem; height:2.8rem; border-radius:.7rem; background:#e2f2e9; color:var(--home-teal); }
.home-feature__icon .ui-icon { width:1.55rem; height:1.55rem; }
.home-feature h3 { color:var(--home-navy); font-size:1.04rem; font-weight:750; line-height:1.35; margin:0 0 .65rem; overflow-wrap:break-word; }
.home-feature p { color:#415266; font-size:.93rem; line-height:1.55; margin:0; overflow-wrap:break-word; }
.public-welcome .app-footer { background:transparent; padding-block:1.35rem; }
@media(max-width:1050px) { .home-features__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) { .home-hero { grid-template-columns:minmax(0,1fr); gap:2rem; } .home-hero__copy { max-width:40rem; } .home-hero__image,.home-hero__image img { max-height:430px; } }
@media(max-width:575px) { .public-welcome .app-header .navbar { min-height:auto; } .public-welcome .app-header__inner { gap:.65rem; flex-wrap:wrap; } .public-welcome .app-brand { flex:1 1 100%; } .public-welcome .app-header .navbar-collapse { display:flex; flex-basis:100%; } .public-welcome .app-account { margin-left:0!important; } .public-welcome .navbar-toggler { display:none; } .home-hero h1 { font-size:clamp(2rem,8.5vw,2.65rem); } .home-hero__actions { align-items:stretch; flex-direction:column; gap:.5rem; } .home-explore { align-self:flex-start; } .home-features__grid { grid-template-columns:minmax(0,1fr); } .home-feature { padding:1.2rem; } .home-feature h3 { font-size:1.1rem; } }
