/* Site-wide interpretation of the approved watercolor page studies. */
:root {
  --paper:#FFFEFA; --paper-2:#F2F7EB; --paper-3:#E5EFD9;
  --ink:#123E5B; --indigo:#123E5B; --indigo-deep:#0C2D45;
  --accent:#C74617; --accent-deep:#A93610; --accent-soft:#FFF0E5;
  --pale-blue:#E8F5FC; --pale-green:#EEF6E6; --pale-yellow:#FFF6D0;
  --line:#B8D1DD; --line-soft:#E0EBEF; --maxw:1176px;
}
body { background:var(--paper); font-size:1.125rem; }
.site-header { background:rgba(255,254,250,.98); border-color:var(--line-soft); box-shadow:none; }
.site-header .inner { min-height:78px; }
.brand .name { letter-spacing:0; }
.brand .name small { letter-spacing:.07em; }
.site-nav a.active { background:var(--pale-blue); color:var(--ink); }
.site-nav .nav-plan, .mobile-nav .nav-plan { color:white; background:var(--accent); }
.site-nav .nav-plan:hover, .mobile-nav .nav-plan:hover { background:var(--accent-deep); }
.btn-primary { background:var(--accent); border-color:var(--accent); box-shadow:none; }
.btn-primary:hover { background:var(--accent-deep); border-color:var(--accent-deep); }
.btn { border-radius:8px; }
.breadcrumb { padding-block:1.1rem; font-size:.82rem; }
.illustration { object-fit:contain; }
.page-title::after, .method-hero::after { content:none !important; }
body:not([data-page="home"]) .page-title.editorial-page-title {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(140px,23%);
  align-items:center; gap:clamp(24px,4vw,64px); padding:1.5rem 0 2.5rem; margin-bottom:1rem;
  max-width:none; min-height:0; text-align:left;
}
.editorial-title-copy { min-width:0; }
.editorial-page-title h1 { font-size:clamp(2rem,3.6vw,3rem); line-height:1.5; margin-bottom:.45em; }
.editorial-page-title .lead { font-size:1.05rem; line-height:1.85; max-width:42em; }
.editorial-title-art { display:block; width:100%; max-width:240px; height:auto; margin:auto; }
.section-head h2, .home-section-heading h2, .home-evidence h2 { border-left-color:var(--accent); }
.section { padding-block:2.75rem; }
.filter-bar { background:var(--pale-blue); border:0; border-radius:8px; padding:1.5rem; }
.filter-bar input[type="search"] { background:white; }
.method-card { border:0; border-bottom:1px solid var(--line); border-radius:0; padding:1.6rem 1.25rem; background:transparent; gap:12px; box-shadow:none; }
.method-card:hover { background:#F3F9FC; }
.method-card .m-name { font-family:var(--font-display); font-size:1.3rem; line-height:1.6; }
.method-card .m-summary { font-size:.91rem; line-height:1.9; }
.method-card .m-cat { border-radius:5px; }
.method-card .m-read-more { margin-top:.5rem; }
.category-card { border:0; border-radius:0; background:transparent; padding:1.5rem 1rem; }
.category-card:hover { background:#F2F8EA; outline:1px solid var(--line); }
.category-card .category-card-art { width:100px; height:100px; }
.category-card .cat-name { font-family:var(--font-display); font-size:1.2rem; }
.hub-editorial { margin-top:3rem; }
.hub-help { border-left:5px solid #538C59; background:var(--pale-green); padding:1.5rem; }
.hub-help h2 { font-size:1.2rem; }
.page-citation { box-shadow:none; border-color:var(--line-soft); background:transparent; }
.editorial-meta { line-height:1.8; }
.site-footer { position:relative; background:var(--paper); margin-top:4rem; padding-top:0; border:0; }
.site-footer::before {
  display:block; content:""; height:clamp(100px,15vw,210px); margin:0 0 1.5rem;
  background:url('/assets/town-path/town-path.webp') center bottom / cover no-repeat;
}
.site-footer .cols { padding-top:0; }
.site-footer .copyright { border-top-color:var(--line-soft); }

/* The home page uses the same reading rhythm as the article pages. */
.home-hero { background:var(--paper); padding-top:2.5rem; padding-bottom:2.5rem; }
.home-hero::before, .home-hero::after { display:none; }
.home-hero .home-town-art { display:none; }
.home-hero-grid { gap:clamp(32px,4vw,70px); }
.home-intro h1 { font-size:clamp(2rem,3.7vw,3.1rem); line-height:1.55; }
.home-method-preview { background:transparent; border:0; border-left:1px solid var(--line); border-radius:0; padding:1rem 0 1rem 2rem; }
.home-method-preview .logic-chain { gap:20px; }
.home-method-preview .logic-node { background:var(--pale-blue); border:0; border-radius:6px; }
.home-method-preview .logic-node:nth-child(2) { background:var(--pale-yellow); }
.home-method-preview .logic-node:nth-child(3) { background:var(--pale-green); }
.home-checks { border-top:1px solid var(--line-soft); background:transparent; padding-block:2.25rem; }
.home-start { padding-block:2.75rem; }
.start-option { border-radius:6px; padding:1.65rem; }
.home-learning { background:transparent; padding-block:2.75rem; }
.home-evidence { background:transparent; padding-block:2.75rem; }
.home-search-section { background:var(--pale-blue); border:0; padding-block:1.7rem; }
body[data-page="home"] .method-card { padding:1.5rem 1rem; }
body[data-page="home"] .method-card .m-name { font-size:1.12rem; }
body[data-page="home"] .method-card .m-summary { font-size:.87rem; }

/* Lists keep the full labels, notes and source links. */
.ws-index-item { background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:1.25rem 1rem; }
.ws-index-item:hover { background:var(--pale-blue); }
.ws-index-item .ws-icon { background:var(--pale-yellow); border-radius:6px; }
.glossary-item { border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; padding:1.75rem .5rem; }
.glossary-item .g-term { font-family:var(--font-display); font-weight:800; }
.glossary-item .g-def { max-width:48em; line-height:1.9; }
.glossary-source { max-width:54em; }
.process-step { background:transparent; border:0; border-top:1px solid var(--line); border-radius:0; box-shadow:none; padding:2.3rem 0; }
.process-step .p-num { background:var(--pale-blue); color:var(--ink); border:0; }
.process-step .p-goal { background:var(--pale-green); color:var(--ink); border:0; padding:1rem 1.2rem; }
.process-step h2 { font-family:var(--font-display); }
.compare-controls { background:var(--pale-blue); border:0; border-radius:6px; }
.compare-table { background:transparent; }
.wizard-card { box-shadow:none; border-color:var(--line); background:transparent; }
.wizard-option { border-radius:6px; }
.starter-hero { background:transparent; padding-block:2.8rem; }
.starter-hero h1 { color:var(--ink); }
.starter-hero h1 span { color:inherit; }
.starter-promise { background:var(--pale-yellow); border:0; box-shadow:none; border-radius:6px; color:var(--ink); }
.starter-promise .editorial-title-art { width:150px; margin:0 auto 1rem; }
.starter-workbench { box-shadow:none; border-color:var(--line); }
.starter-case { background:transparent; box-shadow:none; }
.starter-case.active { background:var(--pale-blue); }
.starter-case.active, .starter-case.active span, .starter-case.active small { color:var(--ink); }
.starter-route { box-shadow:none; border-radius:0; border:0; border-top:1px solid var(--line); background:transparent; }

/* Planning gives the paper form priority; illustration stays outside it. */
body[data-page="plan"] { background:var(--paper); }
.plan-intro { padding-right:260px; }
.plan-intro > .editorial-title-art { position:absolute; right:0; top:2.5rem; width:210px; height:210px; }
.plan-intro :is(h1,.plan-eyebrow,.plan-lead,.plan-privacy) { max-width:none; }
.plan-sidebar { background:transparent; border:0; border-right:1px solid var(--line); border-radius:0; padding:1rem 1.5rem 1rem 0; }
.plan-step { background:white; border-color:var(--line); box-shadow:none; border-radius:6px; }
.plan-step-number { color:var(--ink); background:var(--pale-blue); }
.plan-privacy { border-left-color:#6B9957; background:var(--pale-green); }
.plan-next, .plan-primary { background:var(--accent); }

/* About retains the centered reading column established with the art assets. */
body[data-page="about"] .editorial-page-title { grid-template-columns:minmax(0,1fr) 140px; gap:2rem; }
body[data-page="about"] .prose h2 { border-left:6px solid var(--accent); padding-left:1rem; font-size:1.55rem; }
body[data-page="about"] .operator-card { box-shadow:none; border:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
body[data-page="about"] .contact-form { border-radius:6px; }
.evidence-editorial-hero { padding-right:170px; }
.evidence-editorial-hero .editorial-title-art { position:absolute; top:0; right:0; width:145px; height:145px; }
body[data-page="evidence"] .guide-section h2 { border-left:6px solid var(--accent); padding-left:1rem; }
body[data-page="evidence"] .guide-answer { background:var(--pale-blue); box-shadow:none; }
body[data-page="evidence"] .guide-answer > span { color:var(--ink); }

@media(max-width:1000px) {
  .home-hero-grid { gap:28px; }
  .home-method-preview { padding-left:1.4rem; }
  .plan-intro { padding-right:210px; }
  .plan-intro > .editorial-title-art { width:175px; height:175px; }
}
@media(max-width:820px) {
  .plan-intro { padding-right:0; display:grid; grid-template-columns:minmax(0,1fr) 80px; column-gap:1rem; }
  .plan-intro > .editorial-title-art { position:static; width:80px; height:80px; margin:0; grid-column:2; grid-row:1 / span 2; align-self:center; }
  .plan-intro :is(.plan-eyebrow,h1) { grid-column:1; }
  .plan-intro > :is(.plan-lead,.plan-privacy,.plan-start-link,noscript) { grid-column:1 / -1; }
  .plan-sidebar { border:1px solid var(--line); border-radius:6px; padding:1rem; }
}
@media(max-width:760px) {
  .site-header .inner { min-height:70px; }
  body:not([data-page="home"]) .page-title.editorial-page-title,
  body[data-page="about"] .page-title.editorial-page-title { grid-template-columns:minmax(0,1fr); gap:.75rem; padding:1.5rem 0 1.75rem; }
  .editorial-title-art { width:100px; margin:0 0 0 auto; }
  .editorial-page-title h1 { font-size:1.9rem; }
  .editorial-page-title .lead { font-size:1rem; }
  .home-hero { padding-block:1.75rem; }
  .home-method-preview { border-left:0; border-top:1px solid var(--line); padding:1.5rem 0 0; }
  .home-intro h1 { font-size:2rem; }
  .home-checks,.home-start,.home-learning,.home-evidence,.section { padding-block:2rem; }
  .filter-bar { padding:1rem; }
  .method-card { padding:1.5rem .75rem; }
  .category-card { padding:1.25rem .75rem; }
  .process-step { padding-block:1.75rem; }
  .starter-promise .editorial-title-art { width:100px; }
  .evidence-editorial-hero { padding-right:0; }
  .evidence-editorial-hero .editorial-title-art { position:static; width:100px; height:100px; margin:0 0 1rem auto; }
  .site-footer { margin-top:2.5rem; }
  .site-footer::before { height:100px; background-size:auto 150px; }
}
@media print {
  .editorial-title-art, .site-footer::before { display:none !important; }
  body { background:white; }
  .editorial-page-title { display:block !important; }
  .plan-intro,.evidence-editorial-hero { padding-right:0; }
}
