/* The landing page's visual language, scoped to household tools and dossiers.
   Content and actions remain unchanged; these are not marketing screens. */
:is(.house-page,.need-page) {
  --space-ink:#123b35; --space-mint:#d9f5e8; --space-coral:#ff7659;
  --space-yellow:#ffd568; --space-lilac:#d9ceff; --space-paper:#fffefb;
  color:var(--space-ink);
}
.house-page { padding-top:24px; }
.house-page nav { position:static; inset:auto; z-index:auto; backdrop-filter:none; box-shadow:none; }
:is(.house-page,.need-page) :is(h1,h2,h3) {
  font-family:"Bricolage Grotesque", "DM Sans", sans-serif;
  letter-spacing:-.045em; text-wrap:balance;
}
/* A single expressive banner, followed by quiet, readable work surfaces. */
.house-page .house-hero,.need-page > header,.house-page .notebook-title {
  position:relative; isolation:isolate; overflow:hidden;
  max-width:none; margin:0 0 26px; padding:32px;
  border:0; border-radius:28px; background:var(--space-mint);
}
.house-page .house-hero::after,.need-page > header::after,.house-page .notebook-title::after {
  position:absolute; z-index:-1; content:""; pointer-events:none;
  width:140px; height:140px; right:-76px; top:-82px;
  border:24px solid var(--space-yellow); border-radius:50%;
}
.house-page .house-kicker,.need-page .need-kicker {
  display:inline-flex; align-items:center; gap:8px; margin:0;
  font-size:.72rem; font-weight:800; letter-spacing:.1em;
  text-transform:uppercase; color:#254f46;
}
.house-page .house-kicker::before,.need-page .need-kicker::before {
  content:""; width:9px; height:9px; flex:0 0 9px;
  background:var(--space-coral); border-radius:50%;
}
body .house-page .house-hero h1,.need-page > header h1 {
  margin:14px 0 16px; font-size:clamp(2.15rem,4.8vw,3.65rem);
  font-weight:800; line-height:1.02; color:var(--space-ink);
}
.house-page .house-hero p,.need-page > header > p:last-child {
  margin:0; max-width:53ch; font-size:1.05rem; line-height:1.6; color:#31574e;
}
.house-page .notebook-title { padding:24px 28px; background:#ece5ff; }
.house-page .notebook-title h1 { margin:0 0 12px; font-size:clamp(1.8rem,4vw,2.6rem); }
/* The three familiar tabs remain tabs, not additional calls to action. */
.house-page .notebook-nav {
  margin-bottom:8px; padding:6px; border:1px solid #d3e2d9;
  border-radius:20px; background:var(--space-paper);
  box-shadow:0 4px 0 rgb(18 59 53 / 5%);
}
.house-page .notebook-nav a { border-radius:14px; gap:8px; color:var(--space-ink); }
.house-page .notebook-nav a[aria-current=page] { background:var(--space-ink); color:#fff; box-shadow:inset 0 -3px 0 var(--space-coral); }
.notebook-nav-icon { width:19px; height:19px; flex:none; }
.house-page .notebook-account { margin-bottom:18px; }
.house-page .notebook-account summary { font-size:.82rem; color:#31574e; }
/* No added actions: emphasis belongs to the existing primary action. */
.house-page .house-card,.need-page :is(.need-card,.need-proposal),.need-page #need-form {
  border:1px solid #d7e2dc; border-radius:22px; background:var(--space-paper);
  padding:clamp(22px,3vw,30px); box-shadow:0 5px 0 rgb(18 59 53 / 4%);
}
.house-page .house-card h2 { font-size:1.5rem; margin-top:0; }
.house-page .house-card > p { margin-top:10px; margin-bottom:14px; }
.house-page .house-card--start { background:#fff0bc; border-color:#efd18b; position:relative; }
.house-page .house-card--start h2 { max-width:22ch; font-size:clamp(1.65rem,3.4vw,2.15rem); }
.house-page .house-card--exchanges { background:#ece5ff; border-color:#d9ccef; }
.house-page .house-card--request { border-top:6px solid #a8edcf; }
.house-page .house-card--mint { background:var(--space-mint); }
.house-page .house-grid > .house-card { margin-bottom:0; }
.house-page .house-grid { gap:18px; margin-bottom:24px; }
.house-page .house-badge { border:1px solid #bcd7ca; background:#edf8f1; color:#254f46; font-weight:700; }
.house-page .house-note,.need-page .need-hint { color:#46635a; line-height:1.6; }
.house-page .btn { min-height:48px; border-radius:12px; font-size:.95rem; transition:background-color .15s ease,box-shadow .15s ease; }
.house-page .btn-primary { background:var(--space-ink); border-color:var(--space-ink); color:#fff; box-shadow:0 4px 0 rgb(18 59 53 / 18%); }
.house-page .btn-primary:hover { background:#056158; color:#fff; }
.house-page .btn-secondary { background:#fffefb; border-color:#92b2a4; color:var(--space-ink); }
.house-page .btn-secondary:hover { background:#e8f6ef; }
.house-page :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.need-page :is(input:not([type=checkbox]),select,textarea) {
  border:1px solid #87a99b; border-radius:12px; background:#fff; color:var(--space-ink);
  min-height:50px; font-size:1rem;
}
.house-page :is(a,button,input,textarea,select,summary):focus-visible,.need-page :is(a,button,input,textarea,select,summary):focus-visible {
  outline:3px solid #08786d; outline-offset:4px;
}
.house-page details.house-card { background:#f7f8f1; box-shadow:none; }
.house-page details.house-card > summary { padding:2px 0; line-height:1.5; }
.house-page details.house-card[open] > summary { margin-bottom:18px; }
.house-page .house-auth-help { border-top:1px solid #d7e2dc; padding-top:12px; }
.house-page .notebook-entry { border:1px solid #d7e2dc; border-radius:18px 18px 18px 4px; background:#fffefb; }
.house-page .notebook-entry--mine { border-color:#bbdaca; border-radius:18px 18px 4px 18px; background:#e4f5ec; }
.house-page .notebook-document { border-top:5px solid var(--space-lilac); }
.house-page .notebook-document::before { content:"PDF"; display:inline-grid; place-items:center; width:44px; height:52px; margin-bottom:14px; border-radius:8px 16px 8px 8px; background:var(--space-yellow); color:var(--space-ink); font-size:.7rem; font-weight:800; }
.house-page .notebook-filter { background:#ece5ff; border-radius:18px; }
.house-page .house-article > section { padding-bottom:22px; border-bottom:1px solid #d7e2dc; }
.house-page .house-article h2 { font-size:1.6rem; }
.house-page .house-grid--editorial > .house-card:nth-child(3n+1) { background:#e5f6ed; }
.house-page .house-grid--editorial > .house-card:nth-child(3n+2) { background:#fff1c7; }
.house-page .house-grid--editorial > .house-card:nth-child(3n) { background:#ece5ff; }
.need-page { max-width:760px; }
.need-page #need-form { margin-top:22px; }
.need-page #need-pro-form { padding:24px; background:var(--space-paper); border:1px solid #d7e2dc; border-radius:22px; }
.need-page .need-status { list-style:none; padding:0; counter-reset:need-step; display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:22px 0; }
.need-page .need-status li { counter-increment:need-step; display:flex; align-items:center; gap:9px; padding:12px; border-radius:12px; background:#f1f3eb; font-size:.86rem; line-height:1.45; }
.need-page .need-status li::before { content:counter(need-step,decimal-leading-zero); color:#46635a; font-size:.7rem; font-weight:800; }
.need-page .need-status li[aria-current] { background:var(--space-mint); color:var(--space-ink); }
.need-page .need-proposal { border-top:5px solid var(--space-lilac); }
@media(min-width:850px) {
  .house-page:not(:has(.house-article)) > .house-hero { padding:38px 250px 38px 36px; min-height:218px; }
  .house-page:not(:has(.house-article)) > .house-hero::after {
    width:230px; height:200px; top:50%; right:12px; transform:translateY(-50%);
    border:0; border-radius:0; background:url('/illustrations/house-space.svg') center / contain no-repeat;
  }
}
@media(max-width:680px) {
  .house-page { padding:18px 16px 48px; }
  .house-page .house-hero,.need-page > header { padding:25px 22px; border-radius:22px; margin-bottom:20px; }
  .house-page .notebook-nav a { flex-direction:column; gap:4px; padding:8px 4px; min-height:58px; font-size:.78rem; }
  .house-page .notebook-account { margin-bottom:12px; }
  .house-page .house-card,.need-page #need-form { padding:22px; }
  .need-page { padding:16px; margin:0 auto; }
  .need-page .need-status { grid-template-columns:1fr; }
  .house-page .house-hero p,.need-page > header > p:last-child { font-size:.97rem; }
}
@media(prefers-reduced-motion:reduce) { .house-page .btn { transition:none; } }
@media print {
  .house-page .house-hero,.house-page .notebook-title { background:none; padding:0; min-height:0; color:#000; }
  .house-page .house-hero::after,.house-page .notebook-title::after,.house-page .notebook-document::before { display:none; }
  .house-page .house-card { box-shadow:none; background:none; border:0; padding:0; }
}

/* Text links on colored cards retain sufficient contrast and a non-color cue. */
html body .house-page .house-grid--editorial a:not(.btn) { color:#125449; }
html body .house-page .house-note a[href] { --cm-link-decoration:underline; text-decoration:underline; text-underline-offset:3px; }
