/**
 * PAL Resource Pages — shared styles (Concept J: Architectural Minimalist)
 *
 * Loaded by functions.php → pal_resource_pages_assets() ONLY on resource pages
 * (about, methodology, contact, pal-score, privacy-policy, terms).
 *
 * Source of truth: this file. Do NOT duplicate these rules into per-page templates.
 * Last updated: 25 April 2026
 */

* { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body { font-family:'Inter',sans-serif; color:#2c3e50; background:#f8f6f1; overflow-x:hidden; }

  .grain::before {
    content:''; position:fixed; inset:0; pointer-events:none; z-index:9999; opacity:.022;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }


  /* ARCHITECTURAL HERO — asymmetric overlap */
  .arch-hero { padding:2rem 3rem 4rem; max-width:1440px; margin:0 auto; display:grid; grid-template-columns:1.15fr .85fr; gap:3rem; align-items:start; position:relative; }
  .arch-hero::before { content:''; position:absolute; top:1rem; left:3rem; width:80px; height:1px; background:#d4a574; }
  .arch-kicker { font-family:'JetBrains Mono',monospace; font-size:.7rem; letter-spacing:.3em; text-transform:uppercase; color:#6c757d; font-weight:500; margin-bottom:1.5rem; }
  .arch-h1 { font-family:'Spectral',serif; font-size:clamp(3rem,7.5vw,6.5rem); font-weight:500; line-height:.95; letter-spacing:-.04em; color:#1a2332; }
  .arch-h1 em { font-style:italic; color:#2d5f3f; font-weight:400; }
  .arch-h1 .soft { color:#95a5a6; font-weight:400; }
  .arch-lede { font-family:'Spectral',serif; font-size:1.22rem; color:#6c757d; line-height:1.55; margin-top:2rem; max-width:560px; }
  .arch-hero-img { position:relative; aspect-ratio:3/4; overflow:hidden; border-radius:10px; box-shadow:0 16px 40px rgba(26,35,50,.12), 0 4px 12px rgba(26,35,50,.06); }
  .arch-hero-img img { width:100%; height:100%; object-fit:cover; filter:grayscale(15%) contrast(1.02); }

  /* CHAPTER SECTIONS — big pale numbers */
  .chapter-section { padding:9rem 3rem; max-width:1440px; margin:0 auto; border-top:1px solid rgba(26,35,50,.08); }
  .chapter-section + .chapter-section { border-top:1px solid rgba(26,35,50,.08); }
  .chapter-grid { display:grid; grid-template-columns:200px minmax(0,1fr) 200px; gap:4rem; align-items:start; }
  .chapter-grid > div:first-child { position:sticky; top:6rem; align-self:start; }
  .chapter-num { font-family:'Spectral',serif; font-weight:500; font-size:7rem; color:#e8e4d6; line-height:.9; letter-spacing:-.04em; }
  .chapter-num .slash { color:#d4a574; font-style:italic; font-weight:400; }
  .chapter-label { font-family:'JetBrains Mono',monospace; font-size:.95rem; line-height:1.35; letter-spacing:.18em; text-transform:uppercase; color:#1a2332; margin-top:.85rem; font-weight:600; display:block; max-width:200px; }
  .chapter-body h2 { font-family:'Spectral',serif; font-size:clamp(2.4rem,4vw,3.5rem); font-weight:500; color:#1a2332; line-height:1.1; letter-spacing:-.03em; margin-bottom:2rem; max-width:640px; }
  .chapter-body h2 em { font-style:italic; color:#2d5f3f; font-weight:400; }
  .chapter-body p { font-family:'Spectral',serif; font-size:1.18rem; line-height:1.75; color:#2c3e50; max-width:580px; margin-bottom:1.25rem; }
  .chapter-body .quiet { color:#6c757d; }
  .chapter-aside { font-family:'JetBrains Mono',monospace; font-size:.78rem; line-height:1.7; color:#6c757d; position:sticky; top:6rem; }
  .chapter-aside strong { display:block; color:#1a2332; font-family:'JetBrains Mono',monospace; letter-spacing:.05em; margin-bottom:.25rem; font-weight:600; text-transform:uppercase; font-size:.7rem; }
  .chapter-aside hr { border:none; border-top:1px solid rgba(26,35,50,.1); margin:1rem 0; }

  /* LIST — editorial */
  .arch-list { list-style:none; margin-top:2rem; }
  .arch-list li { padding:1.25rem 0; border-top:1px solid rgba(26,35,50,.1); font-family:'Spectral',serif; font-size:1.08rem; line-height:1.55; display:grid; grid-template-columns:50px 1fr; gap:1.5rem; align-items:baseline; color:#2c3e50; }
  .arch-list li:last-child { border-bottom:1px solid rgba(26,35,50,.1); }
  .arch-list li .n { font-family:'JetBrains Mono',monospace; font-size:.75rem; letter-spacing:.1em; color:#d4a574; font-weight:600; }
  .arch-list li strong { color:#1a2332; font-weight:600; }

  /* Inset image */
  .arch-inset-img { margin:3rem 0; aspect-ratio:16/9; overflow:hidden; max-width:720px; border-radius:10px; box-shadow:0 12px 32px rgba(26,35,50,.10), 0 2px 6px rgba(26,35,50,.05); }
  .arch-inset-img img { width:100%; height:100%; object-fit:cover; filter:grayscale(10%) contrast(1.03); }
  .arch-inset-cap { font-family:'JetBrains Mono',monospace; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:#95a5a6; margin-top:.75rem; }

  /* CORRESPONDENCE DESK — contact as pin-board */
  .desk { padding:9rem 3rem; max-width:1440px; margin:0 auto; border-top:1px solid rgba(26,35,50,.08); }
  .desk-header { display:grid; grid-template-columns:200px 1fr; gap:4rem; margin-bottom:5rem; align-items:start; }
  .desk-grid { display:grid; grid-template-columns:200px repeat(3, 1fr); gap:4rem; margin-bottom:4rem; align-items:start; }
  .desk-col-label { font-family:'JetBrains Mono',monospace; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:#95a5a6; padding-top:.35rem; border-top:1px solid rgba(26,35,50,.15); }
  .desk-col { border-top:1px solid rgba(26,35,50,.15); padding-top:.35rem; }
  .desk-col .colhead { font-family:'JetBrains Mono',monospace; font-size:.68rem; letter-spacing:.15em; text-transform:uppercase; color:#6c757d; margin-bottom:.75rem; }
  .desk-col h3 { font-family:'Spectral',serif; font-size:1.35rem; font-weight:500; color:#1a2332; line-height:1.2; margin-bottom:1rem; letter-spacing:-.015em; }
  .desk-col p { font-family:'Spectral',serif; font-size:.98rem; line-height:1.6; color:#6c757d; margin-bottom:1rem; }
  .desk-col a { font-family:'JetBrains Mono',monospace; font-size:.78rem; color:#2d5f3f; text-decoration:none; font-weight:600; border-bottom:1px solid rgba(45,95,63,.3); padding-bottom:1px; letter-spacing:.03em; }

  /* Typewriter form */
  .desk-form { display:grid; grid-template-columns:200px 1fr; gap:4rem; padding-top:3rem; border-top:1px solid rgba(26,35,50,.08); }
  .tw-field { padding:1rem 0; border-bottom:1px solid rgba(26,35,50,.12); }
  .tw-field label { display:block; font-family:'JetBrains Mono',monospace; font-size:.68rem; letter-spacing:.15em; text-transform:uppercase; color:#95a5a6; margin-bottom:.3rem; }
  .tw-field input, .tw-field textarea, .tw-field select {
    width:100%; background:transparent; border:none; outline:none;
    font-family:'Spectral',serif; font-size:1.1rem; color:#1a2332; padding:.3rem 0; }
  .tw-field textarea { resize:vertical; min-height:3rem; }
  .tw-btn { margin-top:2rem; background:#1a2332; color:white; border:none; padding:1rem 2rem; font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; font-weight:500; cursor:pointer; transition:background .2s; }
  .tw-btn:hover { background:#2d5f3f; }

  /* CATALOGUE — legal */
  .catalogue { padding:9rem 3rem; max-width:1440px; margin:0 auto; border-top:1px solid rgba(26,35,50,.08); background:white; }
  .catalogue-inner { display:grid; grid-template-columns:260px minmax(0,1fr); gap:5rem; }
  .catalogue-index { position:sticky; top:8rem; align-self:start; }
  .cat-num { font-family:'Spectral',serif; font-size:3.5rem; font-weight:500; color:#e8e4d6; line-height:.9; letter-spacing:-.03em; margin-bottom:.3rem; }
  .cat-num .slash { color:#d4a574; font-style:italic; }
  .cat-title { font-family:'JetBrains Mono',monospace; font-size:.7rem; letter-spacing:.25em; text-transform:uppercase; color:#95a5a6; margin-bottom:2rem; font-weight:500; }
  .cat-toc { list-style:none; }
  .cat-toc li { padding:.6rem 0; border-bottom:1px solid rgba(26,35,50,.08); font-family:'Spectral',serif; font-size:.95rem; color:#6c757d; cursor:pointer; display:flex; justify-content:space-between; align-items:baseline; gap:.5rem; }
  .cat-toc li .cat-n { font-family:'JetBrains Mono',monospace; font-size:.7rem; color:#d4a574; font-weight:600; }
  .cat-toc li:hover { color:#1a2332; }
  .catalogue-body h1 { font-family:'Spectral',serif; font-size:clamp(2.5rem,4.5vw,4rem); font-weight:500; color:#1a2332; line-height:1.05; letter-spacing:-.03em; margin-bottom:3rem; max-width:680px; }
  .catalogue-body h1 em { font-style:italic; color:#2d5f3f; font-weight:400; }
  .catalogue-body section { padding:3rem 0; border-top:1px solid rgba(26,35,50,.08); }
  .catalogue-body section:first-of-type { border-top:none; padding-top:0; }
  .catalogue-body h3 { font-family:'Spectral',serif; font-size:1.75rem; font-weight:500; color:#1a2332; margin-bottom:1rem; letter-spacing:-.02em; }
  .catalogue-body .cat-section-num { font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:#d4a574; margin-bottom:.5rem; font-weight:500; }
  .catalogue-body p { font-family:'Spectral',serif; font-size:1.08rem; line-height:1.75; color:#2c3e50; margin-bottom:1rem; max-width:640px; }

  /* FOOTER */
  .footer { background:#1a2332; color:rgba(255,255,255,.7); padding:5rem 3rem 2rem; }
  .footer-inner { max-width:1440px; margin:0 auto; display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:end; }
  .footer-logo { font-family:'Spectral',serif; font-size:1.4rem; color:white; font-weight:600; }
  .footer-logo span { color:#d4a574; font-style:italic; }
  .footer-nav { font-family:'JetBrains Mono',monospace; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.5); }
  .footer-nav a { color:rgba(255,255,255,.5); text-decoration:none; margin-left:1.5rem; }
  .footer small { display:block; font-family:'JetBrains Mono',monospace; font-size:.65rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.35); margin-top:3rem; padding-top:2rem; border-top:1px solid rgba(255,255,255,.08); max-width:1440px; margin-left:auto; margin-right:auto; }

  @media (max-width: 880px) {
    .arch-hero { grid-template-columns:1fr; padding:2rem 1.5rem 3rem; gap:2rem; }
    .arch-hero-img { aspect-ratio:16/10; }
    .chapter-section { padding:5rem 1.5rem; }
    .chapter-grid { grid-template-columns:1fr; gap:2rem; }
    .chapter-grid > div:first-child { position:static; }
    .chapter-num { font-size:4rem; }
    .chapter-label { font-size:.85rem; max-width:none; }
    .chapter-aside { position:static; }
    .desk { padding:5rem 1.5rem; }
    .desk-header, .desk-grid, .desk-form { grid-template-columns:1fr; gap:2rem; }
    .catalogue { padding:5rem 1.5rem; }
    .catalogue-inner { grid-template-columns:1fr; gap:3rem; }
    .catalogue-index { position:static; }
  }
  /* CORRECTION FORM */
  .correction-form { margin-top:2.5rem; max-width:560px; padding-top:2.25rem; border-top:1px solid rgba(26,35,50,.1); }
  .correction-row { margin-bottom:1.1rem; }
  .correction-row label { display:block; font-family:'JetBrains Mono',monospace; font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:#6c757d; margin-bottom:.5rem; font-weight:600; }
  .correction-row label .optional { font-family:'Spectral',serif; font-style:italic; font-size:.82rem; letter-spacing:0; text-transform:none; color:#95a5a6; font-weight:400; margin-left:.4rem; }
  .correction-row select, .correction-row input { width:100%; padding:.8rem .95rem; background:#ffffff; border:1px solid rgba(26,35,50,.15); border-radius:3px; font-family:'Spectral',serif; font-size:1rem; color:#1a2332; transition:border-color .2s; }
  .correction-row select:focus, .correction-row input:focus { outline:none; border-color:#2d5f3f; }
  .correction-row select { appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%232d5f3f' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; padding-right:2.5rem; }
  .correction-submit { margin-top:1.25rem; background:#1a2332; color:white; border:none; padding:1rem 1.75rem; font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; font-weight:500; cursor:pointer; transition:background .2s, transform .15s; }
  .correction-submit:hover { background:#2d5f3f; transform:translateY(-1px); }
  .correction-note { margin-top:.75rem; font-family:'Spectral',serif; font-style:italic; font-size:.9rem; color:#6c757d; line-height:1.5; }

  /* PAL SCORE GAUGES — arches as a design element */
  .score-panel { aspect-ratio:3/4; background:#1a2332; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:3rem 2rem; position:relative; overflow:hidden; }
  .score-panel::before { content:''; position:absolute; top:1.5rem; left:1.75rem; width:40px; height:1px; background:#d4a574; }
  .score-panel-kicker { font-family:'JetBrains Mono',monospace; font-size:.65rem; letter-spacing:.22em; text-transform:uppercase; color:#d4a574; margin-bottom:2.25rem; font-weight:500; text-align:center; }
  .score-panel-gauge { position:relative; width:85%; max-width:340px; }
  .score-panel-gauge svg { width:100%; display:block; }
  .score-panel-number { position:absolute; bottom:0; left:50%; transform:translateX(-50%); text-align:center; }
  .score-panel-number .num { font-family:'Spectral',serif; font-size:clamp(3.2rem, 7vw, 4.6rem); font-weight:600; color:white; line-height:1; letter-spacing:-.04em; }
  .score-panel-number .outof { font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.25em; text-transform:uppercase; color:rgba(255,255,255,.45); margin-top:.4rem; }
  .score-panel-caption { margin-top:2.25rem; font-family:'Spectral',serif; font-size:.95rem; color:rgba(255,255,255,.6); font-style:italic; text-align:center; line-height:1.45; max-width:280px; }

  /* Mini-gauge strips (criteria and personas) */
  .gauge-strip { display:grid; gap:1.5rem 1.25rem; margin-top:2.5rem; padding:2.25rem 2rem; background:#f8f6f1; border:1px solid rgba(26,35,50,.08); border-radius:3px; max-width:720px; }
  .gauge-strip-six { grid-template-columns:repeat(3, 1fr); }
  .gauge-strip-five { grid-template-columns:repeat(5, 1fr); gap:1rem; padding:1.75rem 1.5rem; }
  .gauge-card { display:flex; flex-direction:column; align-items:center; text-align:center; }
  .gauge-card .gauge-svg { position:relative; width:100%; max-width:140px; }
  .gauge-card .gauge-svg svg { width:100%; display:block; }
  .gauge-card .gauge-num { position:absolute; bottom:2px; left:50%; transform:translateX(-50%); font-family:'Spectral',serif; font-size:1.5rem; font-weight:600; color:#1a2332; line-height:1; letter-spacing:-.03em; }
  .gauge-card .gauge-label { font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:#6c757d; margin-top:.5rem; font-weight:500; line-height:1.3; }
  .gauge-card.is-selected .gauge-label { color:#2d5f3f; font-weight:600; }
  .gauge-card.is-selected::after { content:'●'; color:#d4a574; font-size:.6rem; margin-top:.3rem; }
  .gauge-strip-caption { font-family:'Spectral',serif; font-style:italic; font-size:.92rem; color:#6c757d; margin-top:1.25rem; max-width:640px; line-height:1.5; }

  @media (max-width: 880px) {
    .score-panel { aspect-ratio:4/5; padding:2rem 1.5rem; }
    .gauge-strip-six { grid-template-columns:repeat(2, 1fr); }
    .gauge-strip-five { grid-template-columns:repeat(3, 1fr); }
  }

  /* SCORE RULER — the 50-is-average explainer */
  .score-ruler { position:relative; margin:2.5rem 0 1.5rem; max-width:680px; padding:3.5rem 0 .25rem; }
  .score-ruler .ruler-bar { height:10px; border-radius:6px; background:linear-gradient(to right, #d4564a 0%, #e8a89e 35%, #f2ddd6 50%, #a5c8b0 65%, #2d5f3f 100%); }
  .score-ruler .ruler-value-marker { position:absolute; top:0; transform:translateX(-50%); text-align:center; }
  .score-ruler .ruler-value-marker .marker-number { font-family:'Spectral',serif; font-size:1.85rem; font-weight:600; color:#2d5f3f; line-height:1; letter-spacing:-.03em; }
  .score-ruler .ruler-value-marker .marker-line { width:1px; height:2.2rem; background:#2d5f3f; margin:.35rem auto 0; }
  .score-ruler .ruler-ticks { display:flex; justify-content:space-between; margin-top:.65rem; font-family:'JetBrains Mono',monospace; font-size:.68rem; letter-spacing:.1em; color:#95a5a6; text-transform:uppercase; }
  .score-ruler .ruler-ticks .ruler-avg { font-family:'JetBrains Mono',monospace; color:#1a2332; font-weight:600; }
  .score-ruler .ruler-ticks .ruler-avg em { font-style:italic; color:#2d5f3f; font-weight:500; margin-left:.3rem; text-transform:none; letter-spacing:.05em; }

  /* Score bands table */
  .bands-table { display:grid; grid-template-columns:110px 140px minmax(0,1fr); max-width:680px; margin-top:1.75rem; border:1px solid rgba(26,35,50,.1); border-radius:3px; overflow:hidden; }
  .bands-table .band { display:contents; }
  .bands-table .band > * { padding:.85rem 1rem; border-top:1px solid rgba(26,35,50,.08); }
  .bands-table .band:first-child > * { border-top:none; }
  .bands-table .band:nth-child(odd) > * { background:#f8f6f1; }
  .bands-table .band-range { font-family:'JetBrains Mono',monospace; font-size:.78rem; font-weight:600; letter-spacing:.08em; }
  .bands-table .band-label { font-family:'Spectral',serif; font-weight:500; color:#1a2332; font-size:1rem; }
  .bands-table .band-note { font-family:'Spectral',serif; color:#6c757d; font-size:.98rem; }

  @media (max-width: 880px) {
    .bands-table { grid-template-columns:90px 1fr; }
    .bands-table .band-note { grid-column:1/-1; padding-top:0; }
  }

  /* Six essentials list — bold name as heading, bold question + answer below */
  .arch-list.essentials-list li > span:last-child > strong:first-child {
    display:block; font-size:1.18rem; margin-bottom:.45rem;
    color:#1a2332; font-weight:600; letter-spacing:-.01em;
  }
  .arch-list.essentials-list li .question {
    color:#1a2332; font-weight:600;
  }

/* ============================================================
   GLOBAL NAV + FOOTER  (added 25 Apr 2026)
   ------------------------------------------------------------
   nav-pal.php and footer-pal.php are template parts shared with
   the homepage, but the homepage's CSS lives in pal-homepage.css
   which is NOT enqueued on resource pages. These rules duplicate
   the visual contract so the resource pages render correctly.
   Single-source-of-truth follow-up: extract into sitewide
   pal-shared.css and load it from functions.php for every page
   that uses these template parts.

   Note on appearance: on the homepage the nav starts transparent
   over a dark hero image and transitions to solid-cream on scroll.
   On resource pages the hero is light, so the nav is forced into
   the solid-cream "scrolled" look from page load.
   ============================================================ */

body.pal-resource-page { padding-top: 64px; }

.pal-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: rgba(248, 246, 241, 0.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 4px 12px rgba(26, 35, 50, 0.10);
  padding: 8px 0;
  transition: background 350ms, box-shadow 350ms, padding 350ms;
}

.pal-nav__inner {
  display: flex; align-items: center; justify-content: space-between;
  max-width: 1200px; margin: 0 auto; padding: 0 24px;
}

.pal-nav__logo { display: flex; align-items: center; gap: 8px; text-decoration: none; }
.pal-nav__logo-icon { height: 38px; width: auto; }

.pal-nav__links {
  display: flex; align-items: center; gap: 32px;
  list-style: none; margin: 0; padding: 0;
}
.pal-nav__links li { display: flex; align-items: center; }
.pal-nav__links a {
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: 0.88rem; font-weight: 500;
  color: #2c2c2c;
  text-decoration: none;
  position: relative;
  transition: color 200ms;
}
.pal-nav__links a::after {
  content: ''; position: absolute; bottom: -4px; left: 0;
  width: 0; height: 2px; background: #d4a574;
  transition: width 350ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pal-nav__links a:hover::after { width: 100%; }
.pal-nav__links a:hover { color: #1a2332; }

.pal-nav__cta {
  background: #2d5f3f;
  color: #fff !important;
  padding: 8px 20px;
  border-radius: 6px;
  font-weight: 600;
  transition: background 200ms, transform 200ms;
}
.pal-nav__cta::after { display: none !important; }
.pal-nav__cta:hover { background: #3a7a50; transform: translateY(-1px); }

/* Neighbourhood dropdown */
.pal-nav__dropdown-wrap { position: relative; }
.pal-nav__dropdown-trigger { display: flex; align-items: center; gap: 0.3rem; cursor: pointer; }
.pal-nav__arrow { font-size: 0.7rem; transition: transform 0.2s; }
.pal-nav__dropdown {
  display: none; position: absolute; top: 100%; left: -1rem;
  background: rgba(248, 246, 241, 0.98); min-width: 220px;
  border-radius: 0 0 12px 12px; padding: 0.5rem 0;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(12px);
  list-style: none; margin: 0;
  border: 1px solid rgba(26, 35, 50, 0.06); border-top: none; z-index: 1100;
}
.pal-nav__dropdown-wrap:hover .pal-nav__dropdown,
.pal-nav__dropdown-wrap.active .pal-nav__dropdown { display: block; }
.pal-nav__dropdown-wrap.active .pal-nav__arrow,
.pal-nav__dropdown-wrap:hover .pal-nav__arrow { transform: rotate(180deg); }
.pal-nav__dropdown li { margin: 0; }
.pal-nav__dropdown a {
  display: block; padding: 0.5rem 1.2rem; font-size: 0.92rem;
  font-family: 'Spectral', Georgia, serif;
  color: #1a2332; text-decoration: none;
  transition: background 0.15s;
}
.pal-nav__dropdown a::after { display: none; }
.pal-nav__dropdown a:hover { background: rgba(45, 95, 63, 0.06); color: #2d5f3f; }
.pal-nav__dropdown-all { border-top: 1px solid rgba(26, 35, 50, 0.08); margin-top: 0.3rem; padding-top: 0.3rem; }
.pal-nav__dropdown-all a { font-weight: 600; font-size: 0.82rem; color: #2d5f3f; }

/* Mobile toggle */
.pal-nav__toggle {
  display: none; background: none; border: none; cursor: pointer; padding: 8px;
}
.pal-nav__toggle span {
  display: block; width: 24px; height: 2px; background: #1a2332; margin: 5px 0;
  transition: all 350ms;
}

@media (max-width: 768px) {
  .pal-nav__links { display: none; }
  .pal-nav__toggle { display: block; }
  .pal-nav__links.active {
    display: flex; flex-direction: column;
    position: absolute; top: 100%; left: 0; right: 0;
    background: #f8f6f1; padding: 24px;
    box-shadow: 0 8px 30px rgba(26, 35, 50, 0.12);
    gap: 16px;
  }
  .pal-nav__dropdown {
    position: static; box-shadow: none; border: none;
    background: rgba(45, 95, 63, 0.04);
    padding: 0; min-width: auto;
  }
  .pal-nav__dropdown a { padding: 0.5rem 1rem 0.5rem 1.5rem; }
}

/* ── FOOTER ─────────────────────────────────────────────── */

.pal-footer {
  background: #1a2332;
  padding: 64px 0 32px;
  margin-top: 6rem;
  font-family: 'Inter', -apple-system, sans-serif;
}

.pal-footer .container {
  max-width: 1200px; margin: 0 auto; padding: 0 24px;
}

.pal-footer__inner {
  display: grid;
  grid-template-columns: 2fr repeat(3, 1fr);
  gap: 48px;
  margin-bottom: 48px;
}

.pal-footer__brand {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 16px;
}
.pal-footer__brand-icon { height: 60px; width: auto; }

.pal-footer__desc {
  font-size: 0.85rem;
  color: rgba(248, 246, 241, 0.6);
  line-height: 1.7;
  max-width: 280px;
}

.pal-footer__heading {
  font-size: 0.8rem;
  font-weight: 600;
  color: #d4a574;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 24px;
}

.pal-footer__links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0; padding: 0;
}
.pal-footer__links a {
  font-size: 0.85rem;
  color: rgba(248, 246, 241, 0.65);
  text-decoration: none;
  transition: color 200ms;
}
.pal-footer__links a:hover { color: #fff; }

.pal-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pal-footer__copy {
  font-size: 0.8rem;
  color: rgba(248, 246, 241, 0.4);
}

@media (max-width: 768px) {
  .pal-footer__inner { grid-template-columns: 1fr 1fr; gap: 32px; }
  .pal-footer__bottom { flex-direction: column; gap: 16px; }
}
@media (max-width: 480px) {
  .pal-footer__inner { grid-template-columns: 1fr; }
}
