html{background:var(--dc-bg)}body{min-width:320px!important;overflow-x:hidden!important}.dc-legacy-header,.dc-legacy-footer{display:none!important}.dc-global-header{min-height:76px;display:flex;align-items:center;justify-content:center;position:relative;z-index:20;padding:0 24px;background:var(--dc-bg);color:var(--dc-text);font-family:'IBM Plex Mono',ui-monospace,monospace}.dc-global-mark{font:400 clamp(18px,2vw,24px)/1 'IBM Plex Mono',ui-monospace,monospace!important;letter-spacing:-.06em!important;color:var(--dc-text)!important;text-decoration:none!important}.dc-global-mark span{color:var(--dc-muted)}.dc-global-header>button{position:absolute;right:24px;top:25px;width:28px;height:28px;padding:0;border:0;background:transparent;color:var(--dc-text);font:400 22px/1 'IBM Plex Mono',monospace;cursor:pointer}.dc-global-header>button:focus-visible,.dc-global-header a:focus-visible,.dc-global-footer a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--dc-focus)!important;outline-offset:4px}.dc-global-header nav{display:none;position:absolute;top:76px;inset-inline:0;padding:22px 24px 28px;background:var(--dc-bg);box-shadow:0 18px 28px rgba(0,0,0,.28);gap:18px;justify-content:center;flex-wrap:wrap}.dc-global-header.is-open nav{display:flex}.dc-global-header.is-open>button{font-size:0}.dc-global-header.is-open>button:after{content:'−';font-size:22px}.dc-global-header nav a{font-size:12px;line-height:1.5;color:var(--dc-muted);text-decoration:none}.dc-global-footer{display:flex!important;align-items:center;gap:18px 28px;flex-wrap:wrap;padding:36px clamp(24px,6vw,96px)!important;margin:0!important;background:var(--dc-bg)!important;color:var(--dc-muted)!important;border:0!important;font:12px/1.6 'IBM Plex Mono',ui-monospace,monospace!important}.dc-global-footer a:not(.dc-global-mark){color:var(--dc-muted)!important;text-decoration:underline!important;text-underline-offset:4px}input,select,textarea{min-height:44px!important;font:inherit!important;color:var(--dc-text)!important;background:var(--dc-surface)!important;border:1px solid var(--dc-line)!important;border-radius:8px!important;padding:10px 12px!important}textarea{min-height:100px!important}input::placeholder,textarea::placeholder{color:var(--dc-muted)!important;opacity:1}label{color:var(--dc-text)!important}button,input[type=submit],input[type=button],.button,.btn,.cta{min-height:44px!important}@media(max-width:620px){.dc-global-header{min-height:70px}.dc-global-header>button{top:21px;right:18px}.dc-global-header nav{top:70px;align-items:flex-start;flex-direction:column;padding:20px 24px}.dc-global-header nav a{font-size:14px}.dc-global-footer{padding:30px 24px!important;align-items:flex-start;flex-direction:column;gap:14px}.dc-global-footer .dc-global-mark{font-size:22px!important}}

/* Shared restraint pass: old room pages can define huge hero sizes; cap them globally. */
body :where(h1,.hero h1,.route h1,.r-h1,.rr-title,.sb-h,.dash-h,.bp-h2,.lv-hero-title){
  font-size:clamp(1.55rem,6.2vw,2.7rem)!important;
  line-height:1.12!important;
  letter-spacing:-.055em!important;
}
body :where(h2,.hero h2,.section-title,.tk-title,.tpl-title,.builder-title,.room-heading){
  font-size:clamp(1.25rem,4.5vw,1.9rem)!important;
  line-height:1.18!important;
  letter-spacing:-.04em!important;
}
body :where(.lede,.hero-copy,.route .lede,.sb-lede,.bp-lede,.small-copy){
  font-size:clamp(.9rem,3.6vw,1.05rem)!important;
  line-height:1.65!important;
}
@media(max-width:620px){
  body :where(main,.wrap,.hero,.route,.screen,.dc-page){padding-left:22px!important;padding-right:22px!important;}
}

/* Warm-neutral DearCalm palette — shared by every public page. */
:root{--ink:var(--dc-text);--paper:var(--dc-surface-2);--line:var(--dc-line);--shell:var(--dc-surface-2);--shell-ink:var(--dc-text);--shell-mute:var(--dc-muted);--shell-line:var(--dc-line)}

html,body{background:var(--dc-surface-2)!important;color:var(--dc-text)!important;}
body{background:radial-gradient(circle at 20% 8%,rgba(167,155,141,.22),transparent 34%),linear-gradient(145deg,var(--dc-surface-2),var(--dc-surface) 72%,var(--dc-bg))!important;}
.dc-global-header{background:var(--dc-surface-2)!important;color:var(--dc-text)!important;}
.dc-global-mark{font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:400!important;font-style:normal!important;font-size:clamp(1.35rem,3.4vw,1.75rem)!important;letter-spacing:-.045em!important;color:var(--dc-text)!important;}.dc-global-mark span{color:var(--dc-faint)!important;}
.dc-global-header nav,.dc-global-footer{background:var(--dc-surface)!important;color:var(--dc-muted)!important;}.dc-global-header nav a,.dc-global-footer a:not(.dc-global-mark){color:var(--dc-muted)!important;}
input,select,textarea{background:var(--dc-surface)!important;color:var(--dc-text)!important;border-color:rgba(245,239,231,.22)!important;}input::placeholder,textarea::placeholder{color:#c5b9ad!important;}
.site-header,.site-header nav,.nav,.topbar,header:not(.dc-global-header),footer:not(.dc-global-footer){border-color:rgba(245,239,231,.18)!important;}
.hero,.fit,.directory,.system,.desks,.why,.final,.route,.stage,.rail,.shell > .stage{background:transparent!important;}
.hero-orb{background:radial-gradient(circle at 32% 28%,var(--dc-text) 0%,var(--dc-faint) 30%,#75685c 65%,var(--dc-surface-2) 100%)!important;box-shadow:inset -28px -42px 80px rgba(48,40,34,.7),0 0 80px rgba(167,155,141,.18)!important;}
.button-primary,.nav-cta,.btn-primary,.btn-dk,.cta,.prod-btn,.send,.give{background:var(--dc-faint)!important;border-color:var(--dc-faint)!important;color:var(--dc-bg)!important;box-shadow:none!important;}
.button,.nav-cta{border-color:var(--dc-muted)!important;color:var(--dc-text)!important;}
.card,.tile,.panel,.gcard,.lend,.player,.tracks,.dash-card,.bp-launch,.practice-grid article,.desk-grid article{background:rgba(81,71,63,.5)!important;border-color:rgba(245,239,231,.18)!important;box-shadow:none!important;}
@media(max-width:760px){.hero,.fit,.directory,.system,.desks,.why,.final,.section-grid,.route{padding-left:24px!important;padding-right:24px!important;}.hero h1,.route h1{font-size:clamp(2rem,9vw,3rem)!important;line-height:1.05!important;}.hero-copy,.section-copy,.route .lede{font-size:clamp(.9rem,4.2vw,1rem)!important;line-height:1.7!important;}.dc-global-header nav a{font-size:14px!important;}}

/* Older directory markup has its own top navigation; the shared shell is the only navigation. */
body > nav.nav,#respira-header{display:none!important;}

/* Older ports keep app controls, but never a second site navigation. */
body > .rail,body > .topbar{display:none!important;}
body:has(> .rail){padding-left:0!important;padding-top:0!important;}
body:has(> .rail) .player{left:0!important;}

/* Type discipline: IBM Plex Mono everywhere except the dearcalm logo. */
:root{--mono:'IBM Plex Mono',ui-monospace,monospace!important;--serif:'IBM Plex Mono',ui-monospace,monospace!important;}
body,body :where(*):not(.dc-global-mark):not(.dc-global-mark *):not(.logo):not(.logo *):not(.brand):not(.brand *):not(.brand-name):not(.brand-name *):not(.rooms-home-brand):not(.rooms-home-brand *):not(.nav-logo):not(.nav-logo *):not(.door-brand):not(.door-brand *){font-family:'IBM Plex Mono',ui-monospace,monospace!important;font-style:normal!important;text-transform:lowercase;}
body :where(.eyebrow,.dc-label,.sec-label,.preview-label,.goods-title,.calm-radio-kicker){text-transform:uppercase!important;}
.dc-global-mark,.dc-global-mark *,.logo,.logo *,.brand,.brand *,.brand-name,.brand-name *,.rooms-home-brand,.rooms-home-brand *,.nav-logo,.nav-logo *,.door-brand,.door-brand *{font-family:'Cormorant Garamond',Georgia,serif!important;text-transform:lowercase!important;}

/* Quiet menu correction: compact, legible, no underline artifact. */
.dc-global-header>button{
  top:13px!important;right:18px!important;width:44px!important;height:44px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
  color:#eee6dc!important;text-decoration:none!important;text-shadow:none!important;
}
.dc-global-header>button::before,.dc-global-header>button::after{border:0!important;box-shadow:none!important;text-decoration:none!important;}
.dc-global-header nav{
  inset-inline:auto!important;left:auto!important;right:18px!important;top:70px!important;
  width:min(250px,calc(100vw - 36px))!important;min-width:0!important;
  display:none;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;
  gap:4px!important;padding:10px!important;background:var(--dc-surface)!important;border-radius:16px!important;
  box-shadow:0 18px 42px rgba(48,40,34,.36)!important;
}
.dc-global-header.is-open nav{display:flex!important;}
.dc-global-header nav a{
  display:block!important;padding:11px 12px!important;border-radius:10px!important;
  color:#eee6dc!important;text-decoration:none!important;font-size:12px!important;line-height:1.45!important;
}
.dc-global-header nav a:hover,.dc-global-header nav a:focus-visible{background:rgba(167,155,141,.18)!important;color:#fffaf2!important;}
.dc-global-footer a:not(.dc-global-mark){text-decoration:none!important;}
