/* public phase patches: error pages, login/register, account links */
.skip-link{position:fixed;top:8px;left:8px;z-index:200;transform:translateY(-150%);border-radius:6px;background:var(--ink);color:#fff;padding:10px 14px;font-weight:900}
.skip-link:focus{transform:translateY(0)}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid rgb(225 38 47 / 35%);outline-offset:3px}
.public-gallery-thumbs button{cursor:pointer}
.error-page{min-height:100vh;display:grid;place-items:center;padding:22px;background:var(--surface)}
.error-card{width:min(580px,100%);border:1px solid var(--line);border-radius:10px;background:#fff;padding:clamp(28px,6vw,54px);box-shadow:var(--shadow);text-align:center}
.error-card .brand{display:inline-flex;align-items:center;justify-content:center;gap:11px;color:var(--ink);font-size:19px;font-weight:900;text-decoration:none;text-transform:lowercase}
.error-card .brand-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:6px;background:var(--brand);color:#fff;font-size:15px;transform:rotate(45deg)}
.error-card .brand-icon+span{transform:none}
.error-code{margin:35px 0 8px;color:var(--brand);font-size:14px;font-weight:900}
.error-card h1{margin:0;font-size:clamp(28px,6vw,44px);text-transform:lowercase}
.error-card>p:not(.error-code){color:var(--muted);line-height:1.6}
.error-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:26px}
.error-actions a{min-height:44px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:6px;padding:0 16px;font-weight:900;text-decoration:none;text-transform:lowercase}
.error-actions a:first-child{border-color:var(--brand);background:var(--brand);color:#fff}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

.public-option-tags{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0 0;padding:0;list-style:none}
.public-option-tags li{padding:.45rem .75rem;border-radius:999px;background:#edf3f8;color:#183153;font-weight:700}

/* compact public home search */
.public-home .home-showcase{width:min(1280px,100%)}
.public-home .home-search{grid-template-columns:minmax(280px,1fr) 190px 140px 140px 112px;align-items:center;padding:12px;gap:10px}
.public-home .home-search-query{min-height:46px;gap:10px;padding:0 13px}
.public-home .home-search-icon{width:24px;height:24px;display:grid;place-items:center;flex:0 0 24px;color:var(--deep)}
.public-home .home-search-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.public-home .home-search-query input{font-size:14px}
.public-home .home-search input,.public-home .home-search select{min-height:46px;font-size:14px}
.public-home .home-search button{min-height:46px;padding:0 18px;font-size:14px}
@media(max-width:1100px){.public-home .home-search{grid-template-columns:repeat(2,minmax(0,1fr))}.public-home .home-search-query{grid-column:1/-1}}
@media(max-width:700px){.public-home .home-search{grid-template-columns:1fr}.public-home .home-search select{display:block}.public-home .home-search-query{grid-column:auto}}

.site-account{display:flex;align-items:center;gap:18px}
.site-account-link{min-height:44px;display:inline-flex;align-items:center;gap:9px;color:#183153;font-size:14px;font-weight:900;text-decoration:none;text-transform:lowercase}
.site-account-link svg{width:42px;height:42px;flex:0 0 42px;border:1px solid #d9e8f6;border-radius:50%;background:#fff;padding:10px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-account-login{gap:10px;padding-right:20px;border-right:1px solid #d9e2ec}
.site-account-login::before{content:none}
.site-account-link:hover,.site-account-link:focus-visible{color:var(--brand)}
@media(max-width:1023px){.site-account{display:none}}

/* legacy login/register visual */
.auth-legacy-main{width:100%;margin:0;padding:0}
.auth-legacy-page{min-height:calc(100vh - 64px);display:grid;place-items:start center;background:linear-gradient(rgb(14 29 43 / 78%),rgb(14 29 43 / 78%)),url("../images/home-hero.png") center/cover no-repeat;padding:62px 16px 72px}
.auth-legacy-card{width:min(500px,100%);overflow:hidden;border-radius:6px;background:#fff;box-shadow:0 24px 60px rgb(8 22 35 / 26%)}
.auth-legacy-card.is-register{width:min(500px,100%)}
.auth-legacy-tabs{display:grid;grid-template-columns:repeat(2,1fr);background:#f3f4f5}
.auth-legacy-tab{min-height:48px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #e5e8eb;color:#183153;font-size:15px;font-weight:500;text-decoration:none}
.auth-legacy-tab.is-active{position:relative;background:#fff;border-bottom-color:#fff}
.auth-legacy-tab.is-active::after{content:"";position:absolute;right:-4px;top:0;width:4px;height:48px;background:#7a828a}
.auth-legacy-tab:last-child.is-active::after{right:auto;left:-4px}
.auth-legacy-pane{display:none;padding:62px 62px 60px}
.auth-legacy-pane.is-active{display:block}
.auth-legacy-form{display:grid;gap:14px}
.auth-register-form{margin-top:0}
.auth-register-form.is-hidden{display:none}
.auth-legacy-type{margin-bottom:14px}
.auth-account-picker{width:100%;min-height:60px;display:flex;align-items:center;gap:12px;border:1px solid #cfe0ef;border-radius:5px;background:#fafbfc;color:#183153;padding:0 14px;cursor:pointer;font:inherit;text-align:left}
.auth-account-picker .auth-legacy-icon{margin-left:0}
.auth-account-picker-copy{display:grid;gap:2px;flex:1}
.auth-account-picker-copy small{color:#667085;font-size:11px;font-weight:700;text-transform:uppercase}
.auth-account-picker-copy strong{font-size:15px;font-weight:700;text-transform:capitalize}
.auth-account-picker svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}
.auth-account-modal[hidden]{display:none}
.auth-account-modal{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px}
.auth-account-modal-backdrop{position:absolute;inset:0;background:rgb(9 27 45 / 58%)}
.auth-account-modal-card{position:relative;width:min(420px,100%);border-radius:12px;background:#fff;box-shadow:0 24px 60px rgb(8 22 35 / 32%);padding:24px}
.auth-account-modal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.auth-account-modal-heading h2{margin:0;color:#183153;font-size:21px;font-weight:800;text-transform:lowercase}
.auth-account-modal-heading button{width:34px;height:34px;border:0;border-radius:6px;background:#f3f4f5;color:#183153;font:inherit;font-size:26px;line-height:1;cursor:pointer}
.auth-account-modal-options{display:grid;gap:10px}
.auth-account-modal-options button{display:grid;gap:5px;border:1px solid #cfe0ef;border-radius:8px;background:#fafbfc;color:#183153;padding:16px;text-align:left;cursor:pointer;font:inherit}
.auth-account-modal-options button:hover,.auth-account-modal-options button:focus-visible{border-color:#84c857;background:#f1faeb;outline:0}
.auth-account-modal-options strong{font-size:16px;text-transform:capitalize}
.auth-account-modal-options span{color:#667085;font-size:13px;line-height:1.45}
.auth-legacy-field{min-width:0;min-height:60px;display:flex;align-items:center;border:1px solid #cfe0ef;border-radius:5px;background:#fafbfc;color:#183153}
.auth-legacy-icon{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;margin-left:14px;border-radius:6px;background:#84c857;color:#fff;font-size:11px;font-weight:900;line-height:1}
.auth-legacy-field input,.auth-legacy-field select,.auth-legacy-field textarea{width:100%;min-width:0;border:0;background:transparent;color:#183153;font:inherit;font-size:15px;font-weight:500;outline:0;padding:0 14px}
.auth-legacy-field input::placeholder,.auth-legacy-field textarea::placeholder{color:#183153;opacity:1}
.auth-legacy-field select{height:58px;cursor:pointer;appearance:auto}
.auth-legacy-textarea{align-items:flex-start;padding-top:14px}
.auth-legacy-textarea textarea{min-height:86px;resize:vertical;line-height:1.45;padding-top:5px}
.auth-legacy-row{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#183153;font-size:15px}
.auth-legacy-row a,.auth-legacy-check a{color:#75bd43;font-weight:500;text-decoration:none}
.auth-legacy-check{display:flex;align-items:center;gap:8px;color:#183153;font-size:15px;font-weight:500;line-height:1.35}
.auth-legacy-check input{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:#84c857}
.auth-legacy-wide-check{margin:2px 0}
.auth-legacy-submit{min-height:60px;border:0;border-radius:5px;background:#84c857;color:#fff;cursor:pointer;font:inherit;font-size:16px;font-weight:800}
.auth-legacy-submit:hover,.auth-legacy-submit:focus-visible{background:#75bd43}
.auth-legacy-status,.auth-legacy-errors{margin:18px 62px -34px;border-radius:5px;padding:11px 13px;font-size:14px;line-height:1.4}
.auth-legacy-status{background:#eff8e9;color:#2f6f13}
.auth-legacy-errors{background:#fff1f2;color:#991b1b;border:1px solid #fecdd3}
.auth-legacy-errors p{margin:0}
.auth-legacy-errors p+p{margin-top:4px}
body:has(.auth-legacy-page) .site-header{position:sticky;background:rgb(255 255 255 / 94%)}
body:has(.auth-legacy-page) .site-nav-cta{border:1px solid #dbe7f4;background:#fff;color:#183153!important}
@media(max-width:700px){.auth-legacy-page{min-height:calc(100vh - 64px);padding:28px 12px 42px;background-position:center}.auth-legacy-pane{padding:34px 22px}.auth-legacy-card,.auth-legacy-card.is-register{width:100%}.auth-legacy-status,.auth-legacy-errors{margin:14px 22px -16px}.auth-legacy-row{align-items:flex-start;flex-direction:column;gap:10px}.auth-legacy-field{min-height:56px}.auth-legacy-submit{min-height:56px}}
