/* Shared surfaces and navigation: neutral macOS-inspired dark appearance. */
:root {
  --rail:244px; --surface-raised:#fff; --rail-bg:#f1f3ef; --focus:#0a84ff;
  --surface-hover:#f1f3ef; --surface-selected:#e9eee8; --radius:16px;
  --radius-control:10px; --radius-feature:22px; --ambient-light:#c6a16c;
}
[data-theme="dark"] {
  color-scheme:dark;
  --paper:#19191b; --card:#232325; --ink:#ededf0; --muted:#a7a7ad;
  --green:#d5d5da; --green-light:#303032; --line:#ffffff0b;
  --orange:#e7b774; --orange-light:#383128; --shadow:0 4px 16px #0000000d;
  --surface-raised:#2b2b2e; --rail-bg:#202022;
  --surface-hover:#2c2c2f; --surface-selected:#333335;
}
[data-theme="dark"] .hub-page,[data-theme="dark"] .module-page {
  --hub-card:var(--card); --hub-ink:var(--ink); --hub-muted:var(--muted);
  --hub-accent:var(--green); --hub-soft:#29292c; --hub-feature:var(--card);
  --hub-line:var(--line); --hub-planned:var(--card);
}
[data-theme="dark"] .btn-primary { background:#e5e5ea; border-color:#e5e5ea; color:#1c1c1e; }
[data-theme="dark"] .btn-primary:hover { background:#fff; border-color:#fff; }
[data-theme="dark"] .brand-mark,[data-theme="dark"] .calendar-cell.today .day-number { color:#161618; }
[data-theme="dark"] .welcome-panel,[data-theme="dark"] .login-story { background:#2c2c2e; }
[data-theme="dark"] .welcome-panel .eyebrow { color:#ffb45a; }
[data-theme="dark"] .welcome-panel p,[data-theme="dark"] .welcome-label { color:#c7c7cc; }
[data-theme="dark"] .note-card:nth-child(n) { background:var(--card); }
[data-theme="dark"] .hub-card-topics>span { color:#c7c7cc; border-color:#48484a; }
[data-theme="dark"] .hub-card:hover { background:var(--surface-hover); border-color:transparent; box-shadow:0 6px 20px #00000012; }
[data-theme="dark"] .lab-hero { background:#242426; border-color:var(--line); color:var(--green); }
[data-theme="dark"] .lab-hero h1 { color:var(--ink); }
[data-theme="dark"] .lab-kicker,[data-theme="dark"] .lab-hero-copy>p,[data-theme="dark"] .lab-hero-tags>span { color:var(--muted); }
[data-theme="dark"] .lab-hero-tags>span { border-color:var(--line); }
[data-theme="dark"] .lab-art { color:var(--ink); }
[data-theme="dark"] .hub-lab-mark { background:#323235; color:var(--ink); }
[data-theme="dark"] .lab-project-symbol { background:#323235; color:var(--ink); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline-color:#0a84ff99; }
[data-theme="dark"] .toast { background:#e5e5ea; color:#1c1c1e; }
[data-theme="dark"] .landing-page { --landing-bg:var(--paper); --landing-ink:var(--ink); }
[data-theme="dark"] .landing-login { background:#2b2b2e99; border-color:#ffffff12; }
[data-theme="dark"] .landing-login:hover { background:#3a3a3c; }
[data-theme="dark"] .landing-header .brand-sub,[data-theme="dark"] .landing-copy>p,[data-theme="dark"] .landing-footer { color:#aeaeb2; }
[data-theme="dark"] .landing-scene::after { background:linear-gradient(90deg,#19191b 0,#19191b66 14%,transparent 45%),linear-gradient(#19191b 0,transparent 26%); }
[data-theme="dark"] .landing-art { filter:none; }
[data-theme="dark"] .landing-glow { opacity:.12; }
[data-theme="dark"] .landing-water { opacity:.35; }
[data-theme="dark"] .landing-footer { background:linear-gradient(transparent,#1c1c1eb3); }
[data-theme="dark"] .login-dialog::backdrop, [data-theme="dark"] #modal::backdrop { background:#0009; backdrop-filter:blur(8px); }
[data-theme="dark"] .login-dialog.login-slim {
  --login-ink:var(--ink); --login-muted:var(--muted); --login-border:#ffffff14;
  --login-field:var(--paper); --login-surface:var(--surface-raised); --login-accent:#e5e5ea; --login-focus:#0a84ff;
}
[data-theme="dark"] .login-slim .login-slim-close:hover,[data-theme="dark"] .login-slim .login-slim-reveal:hover { background:#3a3a3c; }
[data-theme="dark"] .login-slim .field input::placeholder { color:#8e8e93; }
[data-theme="dark"] .login-dialog.login-slim .login-form>.login-slim-submit { color:#1c1c1e; }
[data-theme="dark"] .login-slim .login-slim-submit:hover:not(:disabled) { background:#fff; border-color:#fff; }
[data-theme="dark"] .login-slim .login-slim-notice { background:#323235; border-color:#48484a; color:#c7c7cc; }
[data-theme="dark"] .login-slim .field input:focus-visible { outline-color:#0a84ff66; }

.atelier-shell { grid-template-columns:var(--rail) minmax(0,1fr); }
.atelier-shell .sidebar {
  width:var(--rail); padding:20px 12px 16px; background:var(--rail-bg);
  border-right:1px solid var(--line); overflow-y:auto; scrollbar-width:thin;
}
.preview-banner+.atelier-shell .sidebar { top:34px; }
.atelier-shell .sidebar .brand { padding:0 8px 16px; gap:8px; flex-shrink:0; }
.brand-voxel { width:45px; height:45px; object-fit:contain; }
.atelier-shell .brand-word { font-size:20px; letter-spacing:-.7px; }
.brand-word small { display:block; font-size:9px; font-weight:450; letter-spacing:.1px; color:var(--muted); margin-top:5px; }
.atelier-shell .main-nav { gap:20px; margin-top:12px; }
.nav-group { display:flex; flex-direction:column; gap:3px; }
.nav-group-label { margin:0 12px 6px; font-size:10px; font-weight:600; color:var(--muted); }
.atelier-shell .main-nav .nav-item { display:flex; min-height:40px; padding:6px 10px; gap:10px; font-size:12px; border:1px solid transparent; border-radius:var(--radius-control); }
.atelier-shell .nav-item:hover { background:var(--surface-hover); color:var(--ink); }
.atelier-shell .nav-item.active { color:var(--ink); background:var(--surface-selected); border-color:transparent; box-shadow:inset 0 1px 0 #ffffff06,0 2px 5px #00000008; }
.atelier-shell .nav-item.active::after { display:none; }
.nav-voxel { width:28px; height:28px; object-fit:contain; flex-shrink:0; transition:transform .22s ease,filter .22s ease; }
.nav-item:hover .nav-voxel { transform:translateY(-2px); }
.nav-item.active .nav-voxel { filter:drop-shadow(0 2px 5px #c6a16c30); }
.atelier-shell .nav-item>.icon { width:19px; height:19px; margin:0 4px; }
.nav-planned-dot { width:4px; height:4px; background:var(--muted); border-radius:50%; margin-left:auto; }
.atelier-shell .sidebar-foot { padding-top:22px; }
.sidebar-world { height:55px; overflow:hidden; opacity:.7; margin:0 10px 4px; }
.sidebar-world img { display:block; width:100%; height:auto; }
.atelier-shell .profile { margin:0; padding:15px 7px 0; }
.atelier-shell .avatar { color:var(--ink); background:var(--green-light); border:1px solid var(--line); }
.atelier-shell .topbar {
  position:sticky; top:0; z-index:12; height:64px; padding:0 36px;
  background:color-mix(in srgb,var(--paper) 88%,transparent); backdrop-filter:blur(18px);
}
.atelier-shell .breadcrumb { font-size:12px; gap:13px; }
.atelier-shell .breadcrumb>a { font-weight:650; color:var(--ink); }
.atelier-shell .breadcrumb strong { color:var(--muted); font-weight:450; }
.atelier-shell .topbar-right { gap:9px; }
.atelier-shell .privacy-badge { color:var(--muted); }
.atelier-shell .content,.atelier-shell .hub-content { max-width:1500px; width:100%; padding:32px 36px 40px; }
.page-heading { align-items:center; gap:16px; }
.page-heading-copy { flex:1; min-width:0; }
.page-heading-voxel { height:100px; width:100px; object-fit:contain; margin:-12px 0; }
.page-heading-actions { flex-shrink:0; }
.mobile-navigation { display:none; }
.calendar-day-select,.calendar-mobile-switch,.calendar-selected-day { display:none; }
.navigation-menu { padding:4px 24px 25px; display:grid; grid-template-columns:1fr 1fr; gap:24px 18px; }
.navigation-menu .nav-item { font-size:12px; min-height:44px; padding:7px; gap:8px; }
.navigation-menu .nav-group-label { margin-left:7px; }
.navigation-menu .nav-item.active { background:var(--green-light); color:var(--ink); }

/* A small world at home: one panoramic scene, four destinations. */
.hub-intro {
  position:relative; isolation:isolate; min-height:320px; border:0;
  border-radius:var(--radius-feature); background:linear-gradient(125deg,#eef3e9,#e3eeec);
  overflow:hidden; margin-bottom:32px; padding:42px; gap:0;
}
.hub-intro-copy { width:42%; z-index:2; flex-shrink:0; padding:0; }
.hub-eyebrow { font-size:10px; letter-spacing:.08em; }
.hub-intro h1 { font-size:clamp(32px,3.4vw,48px); letter-spacing:-1.7px; margin-bottom:15px; }
.hub-intro-copy>p { font-size:13px; line-height:1.85; color:var(--hub-muted); }
.hub-hero-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.hub-hero-actions .btn { font-size:11px; padding:11px 13px; }
.hub-intro-art { width:68%; max-width:none; min-width:0; position:absolute; right:-4%; bottom:12%; z-index:1; }
.hub-banner-image { width:100%; margin:0; filter:drop-shadow(0 18px 24px #263a3012); animation:world-drift 9s ease-in-out infinite alternate; }
.hub-hero-orbit { position:absolute; height:380px; width:380px; border-radius:50%; border:1px solid #47635d0c; right:12%; top:-45%; z-index:0; }
[data-theme="dark"] .hub-intro { background:radial-gradient(ellipse at 78% 85%,#35312c,var(--card) 66%); }
[data-theme="dark"] .hub-banner-image { filter:drop-shadow(0 20px 20px #0004); }
[data-theme="dark"] .hub-hero-orbit { border-color:#ffffff08; }
.hub-working-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.hub-working-grid .hub-card {
  display:flex; flex-direction:column; grid-row:auto; min-height:295px; padding:0;
  border:0; border-radius:var(--radius); background:var(--hub-card); gap:0;
}
.hub-working-grid .hub-card-visual { height:154px; width:100%; margin:0; padding:12px; background:linear-gradient(160deg,var(--hub-soft),transparent); }
.hub-working-grid .hub-card-image { width:152px; max-width:100%; margin:0; height:152px; object-fit:contain; transition:transform .35s ease; }
.hub-working-grid .hub-card:hover .hub-card-image { transform:translateY(-4px); }
.hub-working-grid .hub-card-body { padding:0 22px 20px; flex:1; width:100%; display:flex; flex-direction:column; }
.hub-working-grid .hub-card-title { font-size:20px; margin-bottom:8px; }
.hub-working-grid .hub-card-description { font-size:12px; line-height:1.7; }
.hub-working-grid .hub-card-eyebrow,.hub-working-grid .hub-card-detail,.hub-working-grid .hub-card-topics { display:none; }
.hub-working-grid .hub-card-open { margin-top:auto; padding-top:14px; font-size:11px; }
[data-theme="dark"] .hub-card-image,[data-theme="dark"] .hub-planned-image,[data-theme="dark"] .page-heading-voxel { filter:brightness(.86) saturate(.9); }
.hub-planned-art { display:block; position:absolute; right:10px; top:16px; width:95px; height:95px; opacity:.85; }
.hub-planned-image { width:100%; height:100%; object-fit:contain; }
.hub-card-planned { min-height:185px; padding:22px; }
.hub-planned-heading { padding-right:104px; }
.hub-planned-icon { display:none; }
.hub-planned-status { border:0; padding:0; }
.hub-card-planned .hub-card-title { margin-top:30px; font-size:17px; padding-right:65px; }
.hub-card-planned .hub-card-description { max-width:85%; }
.hub-lab-entry { margin-top:24px; background:var(--card); border:0; border-radius:var(--radius); }
.hub-lab-mark { width:90px; height:90px; object-fit:contain; background:transparent; border-radius:0; margin:-12px 0; }
[data-theme="dark"] .hub-lab-mark { background:transparent; }
.hub-lab-open { background:var(--surface-raised); border:1px solid var(--line); color:var(--ink); border-radius:var(--radius-control); transition:background .18s; }
.hub-lab-open:hover { background:var(--surface-hover); }
.hub-card-planned { border:0; }
.hub-card-planned:hover { background:var(--surface-hover); }
.hub-section-planned { margin-top:28px; }
.hub-archive-link { border:0; border-radius:var(--radius-control); background:transparent; color:var(--muted); }
.hub-archive-link:hover { color:var(--ink); background:var(--surface-hover); }
/* One component vocabulary: surface levels carry the hierarchy. */
.atelier-shell :is(.panel,.stat-card,.lab-project,.module-outline-card) { border-color:transparent; border-radius:var(--radius); box-shadow:var(--shadow); }
.atelier-shell :is(h1,h2,h3) { color:var(--ink); }
.atelier-shell .page-heading h1 { font-weight:650; letter-spacing:-.045em; }
.atelier-shell .btn { border-radius:var(--radius-control); }
.atelier-shell .btn:not(.btn-primary):not(.btn-danger):hover { background:var(--surface-hover); }
.atelier-shell .icon-button:hover { background:var(--surface-hover); color:var(--ink); }
.atelier-shell .panel-heading h2 { font-size:20px; font-weight:600; letter-spacing:-.035em; }
.atelier-shell .empty-state h3 { font-size:14px; font-weight:550; }
.atelier-shell .empty-state p { font-size:12px; }
.empty-voxel { display:block; width:88px; height:88px; object-fit:contain; margin:0 auto 10px; opacity:.85; }
[data-theme="dark"] .empty-voxel { filter:brightness(.86) saturate(.8); }
.atelier-shell .lab-hero { border:0; border-radius:var(--radius-feature); }
.lab-voxel-art { width:34%; height:auto; max-width:310px; object-fit:contain; animation:world-drift 9s ease-in-out infinite alternate; }
.lab-hero-tags>span { border:0; background:var(--green-light); border-radius:6px; }
.lab-kicker>span { background:var(--ambient-light); box-shadow:0 0 8px #c6a16c22; }
.lab-project:hover { border-color:transparent; background:var(--surface-hover); box-shadow:var(--shadow); }
.lab-status { border:0; padding-right:0; }
.lab-filters button { border:0; background:transparent; border-radius:var(--radius-control); }
.lab-filters button:hover { background:var(--surface-hover); }
.lab-filters button[aria-pressed=true] { color:var(--ink); background:var(--surface-selected); border:0; }
[data-theme="dark"] .lab-project-symbol { background:var(--surface-raised); color:var(--ink); }
.lab-next { border:0; border-top:1px solid var(--line); border-radius:0; padding-left:0; padding-right:0; }
.module-notice { border:0; background:var(--card); }
.module-outline-card { border:0; }
[data-theme="dark"] .calendar-source-filter { background:var(--card); border-color:transparent; }
[data-theme="dark"] .calendar-source-filter[aria-pressed="true"] { background:var(--surface-selected); border-color:transparent; }
[data-theme="dark"] :is(.calendar-event,.event-category,.stat-symbol,.transaction-symbol,.badge,.notice) { border-color:var(--line); }

@keyframes world-drift { from { transform:translateY(0); } to { transform:translateY(-6px); } }
@media(min-width:1500px) { :root{--rail:252px;} .hub-intro{min-height:365px;} }
@media(max-width:1100px) {
  :root { --rail:214px; }
  .atelier-shell .content,.atelier-shell .hub-content { padding:26px; }
  .atelier-shell .topbar { padding:0 26px; }
  .hub-intro { padding:30px; min-height:295px; }
  .hub-intro-art { width:72%; right:-10%; bottom:12%; }
  .hub-working-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .hub-working-grid .hub-card { min-height:275px; }
  .hub-planned-grid { grid-template-columns:1fr; }
  .hub-card-planned { min-height:150px; }
  .hub-card-planned .hub-card-title { margin-top:16px; }
  .hub-planned-heading { margin-bottom:10px; }
}
@media(max-width:720px) {
  .atelier-shell { display:block; }
  .atelier-shell .sidebar { display:none; }
  .atelier-shell .main { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
  .atelier-shell .topbar { height:62px; padding:0 18px; }
  .atelier-shell .mobile-brand { display:block; }
  .atelier-shell .mobile-brand .brand-word { font-size:20px; }
  .atelier-shell .breadcrumb { display:none; }
  .atelier-shell .content,.atelier-shell .hub-content { padding:22px 18px 28px; }
  .mobile-navigation {
    display:flex; position:fixed; bottom:0; left:0; right:0; z-index:25;
    padding:5px 8px calc(5px + env(safe-area-inset-bottom)); min-height:70px;
    background:color-mix(in srgb,var(--rail-bg) 93%,transparent); backdrop-filter:blur(18px); border-top:1px solid var(--line);
  }
  .mobile-navigation .nav-item { display:flex; flex:1; flex-direction:column; min-width:0; min-height:58px; padding:6px 2px; gap:3px; font-size:9px; justify-content:center; border:0; background:transparent; color:var(--muted); }
  .mobile-navigation .nav-item.active { color:var(--ink); background:var(--green-light); border-radius:10px; }
  .mobile-navigation .nav-item>.icon { width:23px; height:23px; margin:2px; }
  .mobile-navigation .nav-item::after { display:none; }
  .mobile-navigation .nav-voxel { width:28px; height:28px; }
  .navigation-menu { grid-template-columns:1fr; gap:20px; }
  .hub-intro { min-height:345px; padding:26px 24px 155px; border-radius:18px; align-items:flex-start; margin-bottom:25px; }
  .hub-intro-copy { width:100%; }
  .hub-intro h1 { font-size:34px; margin-bottom:10px; }
  .hub-intro-copy>p { font-size:12px; line-height:1.7; }
  .hub-eyebrow { margin-bottom:10px; }
  .hub-hero-actions { margin-top:16px; }
  .hub-intro-art { width:116%; right:-14%; bottom:0; }
  .hub-banner-image { width:100%; margin:0; }
  .hub-section-heading { display:block; margin-bottom:15px; }
  .hub-section-heading h2 { font-size:16px; }
  .hub-section-heading p { font-size:11px; margin-top:4px; }
  .hub-working-grid { gap:12px; }
  .hub-working-grid .hub-card { min-height:252px; }
  .hub-working-grid .hub-card-visual { height:125px; padding:6px; }
  .hub-working-grid .hub-card-image { height:126px; width:126px; max-width:100%; margin:0; }
  .hub-working-grid .hub-card-body { padding:0 15px 17px; }
  .hub-working-grid .hub-card-title { font-size:17px; letter-spacing:-.6px; }
  .hub-working-grid .hub-card-description { font-size:11px; }
  .hub-working-grid .hub-card-open { font-size:10px; padding-top:12px; }
  .hub-card-planned { min-height:157px; }
  .hub-lab-entry { grid-template-columns:60px minmax(0,1fr); gap:14px; }
  .hub-lab-mark { width:64px; height:64px; margin:0; }
  .lab-hero:has(.lab-voxel-art) { padding-bottom:165px; }
  .lab-voxel-art { position:absolute; width:190px; max-width:none; right:-5px; bottom:-18px; opacity:1; }
  .hub-card-planned .hub-card-title { padding-right:80px; }
  .hub-card-planned .hub-card-description { max-width:80%; }
  .page-heading { position:relative; flex-wrap:wrap; margin-bottom:24px; gap:12px; }
  .page-heading-copy { flex-basis:calc(100% - 74px); }
  .page-heading-voxel { height:62px; width:62px; margin:0; }
  .page-heading-actions { width:100%; padding-top:0; }
  .page-heading h1 { font-size:27px; }
  [data-view-root]:has(.calendar-month-panel) .page-heading { margin-bottom:16px; }
  [data-view-root]:has(.calendar-month-panel) .page-heading-copy>p { display:none; }
  [data-view-root]:has(.calendar-month-panel) .page-heading h1 { font-size:clamp(22px,6.2vw,27px); }
  [data-view-root]:has(.calendar-month-panel) .page-heading .eyebrow { margin-bottom:7px; }
  [data-view-root]:has(.calendar-month-panel) .page-heading-actions { position:absolute; right:0; bottom:0; width:auto; }
  [data-view-root]:has(.calendar-month-panel) .page-heading-actions .btn { padding:9px; font-size:0; height:40px; min-height:40px; width:40px; }
  [data-view-root]:has(.calendar-month-panel) .page-heading-voxel { width:54px; height:54px; margin-bottom:22px; }
  [data-view-root]:has(.calendar-month-panel) .calendar-source-toolbar { display:flex; flex-direction:row; align-items:center; gap:8px; padding-bottom:10px; margin-bottom:8px; }
  [data-view-root]:has(.calendar-month-panel) .calendar-source-list { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; min-width:0; flex:1; }
  [data-view-root]:has(.calendar-month-panel) .calendar-source-filter { white-space:nowrap; flex-shrink:0; font-size:10px; }
  [data-view-root]:has(.calendar-month-panel) .calendar-source-actions { flex-shrink:0; width:auto; align-self:center; gap:8px; }
  [data-view-root]:has(.calendar-month-panel) [data-action="google-manage"] { font-size:0; gap:0; min-width:32px; justify-content:center; }
  [data-view-root]:has(.calendar-month-panel) .calendar-toolbar { margin-bottom:10px; gap:6px; }
  [data-view-root]:has(.calendar-month-panel) .calendar-toolbar h2 { font-size:19px; }
  .calendar-mobile-switch { display:flex; align-items:center; gap:3px; margin:0 0 12px; }
  .calendar-mobile-switch>button { border:1px solid transparent; padding:7px 12px; font-size:11px; border-radius:8px; color:var(--muted); background:transparent; min-height:36px; }
  .calendar-mobile-switch>button[aria-pressed="true"] { color:var(--ink); border-color:var(--line); background:var(--card); }
  .calendar-mobile-switch>span { margin-left:auto; font-size:9px; color:var(--muted); }
  .calendar-month-panel[data-mobile-view="month"] .calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); padding:7px; gap:2px; }
  .calendar-month-panel .weekday { font-size:10px; padding:7px 0; border:0; text-align:center; }
  .calendar-month-panel .calendar-cell { min-height:0; height:44px; padding:0; border:0; position:relative; background:transparent; }
  .calendar-month-panel .calendar-cell .calendar-event,.calendar-month-panel .calendar-add,.calendar-month-panel .day-number { display:none; }
  .calendar-day-select { display:flex; align-items:center; flex-direction:column; justify-content:center; gap:5px; width:100%; height:100%; border:1px solid transparent; border-radius:9px; padding:4px 0; background:transparent; color:var(--ink); }
  .calendar-day-number { font-size:12px; line-height:16px; }
  .calendar-day-markers { display:flex; justify-content:center; align-items:center; height:7px; gap:3px; }
  .calendar-day-markers>i { background:var(--event-dot); width:4px; height:4px; border-radius:50%; }
  .calendar-day-markers>small { font-size:7px; color:var(--muted); }
  .calendar-cell.other-month .calendar-day-select { opacity:.38; }
  .calendar-cell.today .calendar-day-number { color:var(--green); font-weight:800; }
  .calendar-day-select[aria-pressed="true"] { background:var(--green-light); border-color:var(--line); }
  .calendar-day-select[aria-pressed="true"] .calendar-day-number { font-weight:750; }
  .calendar-month-panel[data-mobile-view="month"] .event-list-mobile { display:none; }
  .calendar-month-panel[data-mobile-view="agenda"] .calendar-grid { display:none; }
  .calendar-month-panel[data-mobile-view="agenda"] .event-list-mobile { display:block; }
  .calendar-month-panel[data-mobile-view="month"]+.calendar-selected-day { display:block; margin-top:14px; }
  .calendar-selected-day .panel-heading { padding:16px 18px 12px; }
  .calendar-selected-day .panel-heading h2 { text-transform:capitalize; font-size:16px; }
  .calendar-selected-day .panel-body { padding:0 18px 16px; }
  .calendar-day-empty { font-size:12px; line-height:1.7; color:var(--muted); }
}
@media(max-width:370px) {
  .atelier-shell .content,.atelier-shell .hub-content { padding-left:14px; padding-right:14px; }
  .hub-intro { padding-left:19px; padding-right:19px; min-height:340px; }
  .hub-hero-actions .btn { font-size:10px; padding:10px; }
  .hub-working-grid .hub-card-body { padding-left:12px; padding-right:12px; }
  .hub-working-grid .hub-card-title { font-size:16px; }
}
@media(max-width:720px) and (max-height:740px) {
  .atelier-shell .topbar { height:54px; }
  [data-view-root]:has(.calendar-month-panel) { padding-top:12px; }
  [data-view-root]:has(.calendar-month-panel) .page-heading { min-height:44px; margin-bottom:10px; }
  [data-view-root]:has(.calendar-month-panel) .page-heading .eyebrow,
  [data-view-root]:has(.calendar-month-panel) .page-heading-voxel { display:none; }
  [data-view-root]:has(.calendar-month-panel) .page-heading-copy { padding-right:45px; }
  [data-view-root]:has(.calendar-month-panel) .calendar-source-toolbar { padding-bottom:4px; }
  [data-view-root]:has(.calendar-month-panel) .calendar-toolbar { margin-bottom:6px; }
  .calendar-mobile-switch { margin-bottom:8px; }
}
@media(prefers-reduced-motion:reduce) {
  .hub-banner-image,.lab-voxel-art { animation:none; }
  .nav-voxel { transition:none; }
  .nav-item:hover .nav-voxel { transform:none; }
  .hub-working-grid .hub-card-image { transition:none; }
  .hub-working-grid .hub-card:hover .hub-card-image { transform:none; }
}

/* Editorial family home: quiet typography and the existing voxel landscape. */
.hub-intro { min-height:370px; border-radius:12px; background:#eeece5; padding:clamp(30px,4vw,58px); }
.hub-intro h1 { font-size:clamp(46px,5.6vw,78px); line-height:1.02; letter-spacing:-.065em; margin-bottom:22px; }
.hub-intro .hub-eyebrow { text-transform:uppercase; letter-spacing:.16em; font-size:10px; margin-bottom:22px; }
.hub-intro-copy>p:not(.hub-eyebrow) { max-width:340px; font-size:14px; line-height:1.75; }
.hub-intro-art { width:70%; bottom:9%; right:-5%; }
.hub-hero-orbit { display:none; }
.hub-working-grid .hub-card { border-radius:12px; }
.hub-working-grid .hub-card-visual { background:linear-gradient(160deg,#eeede7,transparent); }
.hub-section-heading h2 { letter-spacing:-.035em; }
[data-theme="dark"] .hub-intro { background:#292925; }
[data-theme="dark"] .hub-working-grid .hub-card-visual { background:linear-gradient(160deg,#33332f,transparent); }
@media(max-width:640px) {
  .hub-intro { min-height:380px; padding:28px 24px 160px; }
  .hub-intro h1 { font-size:46px; margin-bottom:15px; }
  .hub-intro .hub-eyebrow { margin-bottom:17px; }
  .hub-intro-copy>p:not(.hub-eyebrow) { font-size:12px; }
  .hub-intro-art { width:116%; right:-14%; bottom:0; }
}
