/* Account previews share the storefront navigation, not a separate brand. */
.account-page { background:#fff; color:#303034; font-family:var(--nav-sans); }
.account-page [hidden] { display:none !important; }
.account-page a, .account-page button, .account-page input { -webkit-tap-highlight-color:transparent; }
.account-page :focus-visible { outline:2px solid #3976a9; outline-offset:4px; }
.account-skip { position:fixed; top:-80px; left:20px; z-index:100; padding:12px 18px; background:#fff; color:#303034; }
.account-skip:focus { top:8px; }
.account-topbar { border-bottom:1px solid #e8e6e2; }
.account-topbar-inner { max-width:1034px; min-height:61px; margin:auto; padding:12px 22px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.account-topbar-title { color:#424245; font-size:17px; font-weight:500; letter-spacing:.01em; }
.account-back { display:inline-flex; align-items:center; min-height:32px; gap:8px; color:#646467; text-decoration:none; font-size:12px; }
.account-back:hover { color:#896a50; }
.account-layout { width:min(calc(100% - 44px),990px); margin:58px auto 72px; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); align-items:center; gap:76px; }
.account-story { position:relative; align-self:stretch; min-height:610px; overflow:hidden; border-radius:20px; background:#b6a58f; }
.account-story > img { position:absolute; width:100%; height:100%; inset:0; object-fit:cover; object-position:46% center; }
.account-story::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(18,22,16,.13),transparent 28%,rgba(18,22,16,.13) 50%,rgba(18,22,16,.69)); }
.account-story-copy { position:absolute; z-index:1; left:34px; right:24px; bottom:36px; color:#fff; }
.account-story-tag { margin:0 0 17px; font-size:10px; letter-spacing:.18em; }
.account-story-copy h2 { font:400 29px/1.65 var(--nav-sans); letter-spacing:.035em; }
.account-story-copy > p:last-child { margin:18px 0 0; font-size:12px; line-height:1.8; color:#f0eae0; }
.account-panel { width:100%; max-width:414px; padding:8px 0; }
.account-kicker { margin:0 0 13px; color:#8a715e; font-size:10px; line-height:1.5; letter-spacing:.19em; }
.account-panel h1 { font:500 34px/1.35 var(--nav-sans); letter-spacing:.01em; }
.account-intro { margin:12px 0 24px; color:#6e6e73; font-size:14px; line-height:1.75; }
.account-preview-note { padding:11px 13px; margin:0 0 24px; border:1px solid #e8e3dc; border-radius:9px; background:#faf9f7; color:#75716b; font-size:11px; line-height:1.7; }
.account-preview-note strong { display:block; margin-bottom:2px; color:#635a51; font-weight:500; }
.account-form { margin:0; }
.account-field { margin:0 0 18px; }
.account-field label { display:block; margin:0 0 8px; color:#424245; font-size:12px; line-height:1.5; }
.account-field label span { color:#6e6e73; font-size:11px; }
.account-input-wrap { position:relative; }
.account-field input { display:block; width:100%; min-width:0; min-height:51px; padding:13px 14px; border:1px solid #cececf; border-radius:9px; outline:0; background:#fff; color:#303034; font:400 15px/1.5 var(--nav-sans); transition:border-color .16s,box-shadow .16s; }
.account-field input::placeholder { color:#86868b; opacity:1; }
.account-field input:focus { border-color:#8c7762; box-shadow:0 0 0 3px rgba(140,119,98,.12); }
.account-field input[aria-invalid="true"] { border-color:#ac5145; }
.account-input-wrap input { padding-right:61px; }
.account-password-toggle { position:absolute; top:2px; right:3px; bottom:2px; min-width:52px; padding:0 9px; border:0; border-radius:7px; background:transparent; color:#6d645d; font:400 12px var(--nav-sans); cursor:pointer; }
.account-password-toggle:hover { background:#f7f5f2; }
.account-field-hint { margin:6px 0 0; color:#6e6e73; font-size:11px; line-height:1.6; }
.field-error { margin:6px 0 0; color:#a44135; font-size:12px; line-height:1.55; }
.field-error:empty { display:none; }
.account-form-options { display:flex; justify-content:flex-end; margin:-3px 0 24px; }
.account-form-options a, .account-switch a, .account-inline-link, .account-return-login { color:#795d47; text-decoration:none; }
.account-form-options a { font-size:12px; line-height:1.6; }
.account-form-options a:hover, .account-switch a:hover, .account-inline-link:hover, .account-return-login:hover { text-decoration:underline; text-underline-offset:3px; }
.account-primary { display:flex; justify-content:center; align-items:center; gap:16px; width:100%; min-height:51px; padding:13px 20px; border:1px solid #3e3933; border-radius:9px; background:#3e3933; color:#fff; font:400 14px/1.5 var(--nav-sans); letter-spacing:.07em; cursor:pointer; transition:background .16s; }
.account-primary:hover { background:#51483e; }
.account-primary:disabled { opacity:.55; cursor:not-allowed; }
.account-primary svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.3; }
.account-switch { margin:24px 0 0; text-align:center; color:#6e6e73; font-size:12px; line-height:1.8; }
.account-switch a { margin-left:6px; }
.account-return-login { display:inline-flex; align-items:center; gap:8px; min-height:40px; margin-top:14px; font-size:12px; }
.account-consent { margin:2px 0 23px; }
.account-consent-row { display:flex; align-items:flex-start; gap:9px; }
.account-consent input { flex:none; width:16px; height:16px; margin:3px 0 0; accent-color:#7c624c; }
.account-consent label { color:#646467; font-size:12px; line-height:1.9; }
.account-inline-link { display:inline-flex; align-items:center; min-height:24px; padding:0; border:0; background:transparent; font:inherit; vertical-align:middle; cursor:pointer; }
.account-status { padding:16px; margin:0 0 22px; border:1px solid #d4ded6; border-radius:10px; background:#f5f8f5; }
.account-status h2 { font:500 16px/1.5 var(--nav-sans); letter-spacing:0; color:#3e5c49; }
.account-status p { margin:8px 0 0; color:#56645a; font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.account-bottom-note { margin:30px 0 0; padding-top:18px; border-top:1px solid #eeece8; color:#6e6e73; font-size:11px; line-height:1.8; }
.account-bottom-note a { color:#6e6e73; text-decoration:none; }
.account-page .site-footer { font-family:var(--nav-sans); }
.account-page .site-footer h3 { font-family:var(--nav-sans); font-weight:500; }
.account-dialog { width:min(480px,calc(100% - 40px)); max-height:calc(100dvh - 48px); padding:32px; border:1px solid #e8e3dc; border-radius:18px; background:#fff; color:#424245; }
.account-dialog::backdrop { background:rgba(30,27,23,.34); backdrop-filter:blur(3px); }
.account-dialog h2 { font:500 22px/1.5 var(--nav-sans); letter-spacing:0; }
.account-dialog p { color:#6e6e73; font-size:13px; line-height:1.9; }
.account-dialog .account-primary { margin-top:24px; }
.account-noscript { padding:12px; border:1px solid #ac5145; color:#a44135; font-size:13px; }
@media (min-width:761px) and (max-width:1050px) {
  .account-layout { gap:40px; }
  .account-story-copy { left:26px; }
  .account-story-copy h2 { font-size:26px; }
}
@media (max-width:760px) {
  .account-topbar-inner { min-height:56px; padding:10px 20px; }
  .account-topbar-title { font-size:15px; }
  .account-layout { display:block; width:min(calc(100% - 40px),420px); margin:40px auto 52px; }
  .account-story { display:none; }
  .account-panel { max-width:none; padding:0; }
  .account-panel h1 { font-size:30px; }
  .account-intro { font-size:13px; margin-bottom:22px; }
  .account-preview-note { margin-bottom:23px; }
  .account-field input { font-size:16px; min-height:52px; }
  .account-kicker { margin-bottom:10px; }
  .account-dialog { padding:24px; }
  .account-back, .account-form-options a, .account-switch a { display:inline-flex; align-items:center; min-height:44px; }
}
@media (prefers-reduced-motion:reduce) {
  .account-page { scroll-behavior:auto; }
  .account-field input, .account-primary { transition:none; }
}
