/* Approved Living Doorways presentation, retaining the existing account controllers. */
:root { --forest:#063b30; --ink:#123b33; --gold:#d5a72f; --sans:'Segoe UI',Arial,sans-serif; color-scheme:light; }
* { box-sizing:border-box; }
html { background:#f7f4eb; }
body { margin:0; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button { cursor:pointer; }
button:disabled { cursor:default; opacity:.65; }
[hidden] { display:none !important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.account-site { padding-bottom:0; }
.living-site .premium-header { grid-template-columns:minmax(230px,1fr) auto auto; min-height:76px; gap:30px; padding:8px 4vw; }
.living-site .premium-brand { display:flex; justify-self:start; align-items:center; gap:10px; width:auto; font:28px Georgia,serif; letter-spacing:-.6px; white-space:nowrap; }
.living-site .premium-brand img { width:54px; height:54px; }
.living-site .premium-nav { gap:28px; font-size:16px; }
.living-site .premium-header a.sign-in-button { display:inline-flex; background:transparent; color:#123b33 !important; border:0; border-left:1px solid #ddd5bf; border-radius:0; box-shadow:none; padding:12px 20px; }
.living-site .premium-header .lrl-member-shell__trigger { max-width:190px; }
.living-site .premium-header .lrl-member-shell__identity small { display:none; }
.living-site .premium-header .lrl-member-shell__trigger { min-height:46px; }
.living-site .premium-header .menu-button { color:#173f32 !important; background:transparent; }
.living-site .premium-header .lrl-member-shell__avatar { width:30px; height:30px; }
.living-home .preview-tools { justify-content:center; }
.living-home .garden-hero { min-height:760px; }
.living-home .site-footer { font-family:Georgia,serif; }
.living-site .ph { flex-shrink:0; }
.auth-world-kicker .ph,.auth-small-mark .ph { font-size:25px; }
.auth-world-doors .ph { font-size:18px; }
.member-auth-heading > .account-eyebrow { display:block; }
.member-auth-form[hidden] { display:none; }
.member-password-field button { font-size:11px; font-weight:600; }
.member-auth-form label > small { font-size:11px; color:#657568; }
.member-auth-submit::after { content:'→'; padding-left:10px; }
.member-auth-tabs { margin-top:10px; }
.member-auth-security { border-top:1px solid #e4e2d5; padding-top:18px; }
.member-auth-status:empty { display:none; }
.member-auth-status { margin-top:18px; }
.member-auth-status.is-error { color:#873829; background:#fcf0e9; border-color:#d9aa97; }
.member-auth-status.is-success { color:#2d5b36; background:#edf2e3; }
.member-auth-code-note,.member-auth-delivery-hint,.member-auth-fine-print { font-size:12px; color:#607166; margin:0; }
.member-auth-code-input { letter-spacing:.3em; font-size:23px !important; }
.member-auth-form label:has(input[type=checkbox]) { display:grid; grid-template-columns:17px 1fr; gap:9px; font-size:12px; line-height:1.5; color:#596b5d; }
.member-auth-form input[type=checkbox] { width:16px; height:16px; margin:2px 0; accent-color:#174c39; }
.member-auth-session h3,.member-recovery-receipt h3 { font:26px/1.2 Georgia,serif; }
.member-auth-session p,.member-recovery-receipt p { font-size:14px; }
.member-recovery-receipt code { display:block; overflow-wrap:anywhere; margin:20px 0; padding:16px; border:1px solid #d5d7c7; background:#f1f2e8; font-size:16px; }
.member-recovery-receipt button { margin-top:15px; }
.member-recovery-receipt [data-copy-recovery] { border:1px solid #c3ccb8; border-radius:7px; background:#fffdf5; color:#174c39; padding:12px; }
.member-auth-session .account-primary { margin:24px 0 10px; }
.member-loading { min-height:100dvh; display:grid; align-content:center; justify-items:center; color:#173f32; }
.member-loading img { width:75px; }
.member-book { max-width:none; }
.member-book > .premium-header { grid-column:1/-1; }
.member-book .member-content { max-width:1370px; width:100%; }
.member-greeting [data-member-greeting] span + span::before { content:' '; }
.production-progress { margin:0 0 18px; }
.production-progress p,.saved-time { color:#617257; font-size:12px; margin:0 0 8px; }
.member-progress-track { height:5px; background:#e2e7d5; border-radius:8px; overflow:hidden; }
.member-progress-track span { display:block; height:100%; width:0; background:#7f9760; }
.member-checkin { width:100%; font-size:12px; margin:14px 0; }
.member-checkin span { flex:1; text-align:left; }
.member-error { padding:40px 0; }
.member-error h1 { font-size:36px; }
.member-error button { margin:20px 0; }
.member-contents-close,.member-contents-toggle { display:none; }
.member-onboarding { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:16px; background:#0a2e2688; backdrop-filter:blur(3px); }
.member-onboarding-panel { width:min(510px,100%); max-height:90dvh; overflow-y:auto; background:#fffaf0; border-radius:16px; border:1px solid #cbd3bb; box-shadow:0 20px 80px #062d2559; padding-bottom:27px; }
.member-onboarding-panel > img { width:100%; height:185px; object-fit:cover; object-position:50% 45%; display:block; }
.member-onboarding-panel > p,.member-onboarding-step,.member-onboarding-actions { margin-left:27px; margin-right:27px; }
.member-onboarding-progress { font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:#787145; margin-top:22px; }
.member-onboarding-step > .ph,.member-onboarding-step > p:first-of-type { display:none; }
.member-onboarding-step h2 { font:32px/1.16 Georgia,serif; margin:12px 0; letter-spacing:-.6px; }
.member-onboarding-step p { font-size:14px; color:#65775f; }
.member-onboarding-actions { display:flex; gap:12px; margin-top:22px; }
.member-onboarding-actions button { background:#174c39; color:#fffaf0; min-height:49px; padding:12px 17px; border:1px solid #174c39; border-radius:7px; flex:1; }
.member-onboarding-actions .is-secondary { flex:0; background:transparent; color:#174c39; }
.member-onboarding-status { color:#873829; font-size:13px; }
.is-onboarding-open { overflow:hidden; }
.member-home-footer { padding-bottom:16px; }
@media(max-width:1160px) {
  .member-book { grid-template-columns:1fr; }
  .member-book .member-sidebar { position:fixed; top:0; bottom:0; left:0; z-index:100; width:min(330px,88vw); padding:24px 20px; overflow-y:auto; background:#f7f4eb; transform:translateX(-105%); visibility:hidden; }
  .member-book.is-contents-open .member-sidebar { transform:translateX(0); visibility:visible; }
  .member-book .member-sidebar nav { display:flex; }
  .member-book .sidebar-slogan { display:block; }
  .member-contents-close { display:block; width:44px; height:44px; margin-left:auto; border:0; background:transparent; color:#173f32; font-size:23px; }
  .member-contents-toggle { display:flex; align-items:center; gap:10px; min-height:44px; border:1px solid #dce1c7; border-radius:7px; background:#eef0df; color:#365b3b; padding:8px 14px; margin:0 0 20px; }
  .member-contents-backdrop { position:fixed; inset:0; z-index:90; background:#062d2577; border:0; }
}
@media(max-width:1100px) {
  .living-site .premium-header { grid-template-columns:minmax(0,1fr) auto auto; gap:12px; }
  .living-site .premium-nav { display:none; }
  .living-site .menu-button { display:inline-flex; }
  .living-site .premium-mobile-nav { top:100%; max-height:calc(100dvh - 76px); overflow-y:auto; }
}
@media(max-width:680px) {
  .living-site .premium-header { padding:8px 14px; gap:8px; min-height:72px; position:relative; }
  .living-site .premium-brand { font-size:22px; gap:6px; }
  .living-site .premium-brand img { width:42px; height:42px; }
  .living-site .premium-header > [data-member-menu-host] .sign-in-button { display:inline-flex; min-height:44px; padding:6px 4px; border:0; font-size:12px; white-space:nowrap; }
  .living-site .premium-header .menu-button { padding:10px; min-height:44px; border:0; border-radius:5px; background:transparent; color:#173f32; box-shadow:none; font-size:13px; }
  .living-site .premium-header .lrl-member-shell__identity,.living-site .premium-header .lrl-member-shell__caret { display:none; }
  .living-site .premium-header .lrl-member-shell__trigger { padding:6px; min-width:40px; max-width:44px; }
  .living-home .garden-hero { min-height:0; }
  .member-topline { flex-wrap:wrap; gap:7px; }
}
@media(max-width:355px) { .living-site .premium-brand { font-size:19px; } .living-site .premium-brand img { width:35px; height:35px; } .living-site .premium-header { gap:5px; padding:8px; } }
@media(prefers-reduced-motion:reduce) { .living-site *, .living-site *::before, .living-site *::after { scroll-behavior:auto !important; } }
