/* ============================================================================
   layout.css - container, header, footer, page section shells.
   ========================================================================== */

.container{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--gutter)}
.container--narrow{max-width:820px}

/* ---- HEADER -------------------------------------------------------------- */
.hd{position:sticky;top:0;z-index:var(--z-header);background:rgba(255,255,255,.86);backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--color-line)}
.hd__in{display:flex;align-items:center;gap:var(--space-8);min-height:70px}
.hd__logo{font-family:var(--font-display);font-weight:900;font-size:var(--text-xl);letter-spacing:-.02em;text-decoration:none}
.hd__logo em{font-style:normal;color:var(--color-accent-deep)}
.hd__nav{display:flex;gap:var(--space-6);margin-left:auto}
.hd__link{text-decoration:none;font-size:var(--text-sm);font-weight:600;color:var(--color-ink-soft);padding:8px 2px;transition:color .18s}
.hd__link:hover,.hd__link[aria-current="page"]{color:var(--color-ink)}
.hd__cta{margin-left:var(--space-4);background:var(--color-ink);color:var(--color-text-invert);text-decoration:none;font-size:var(--text-sm);font-weight:700;padding:11px 22px;border-radius:var(--radius-pill);transition:transform .18s,box-shadow .18s}
.hd__cta:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.hd__burger{display:none;margin-left:auto;background:none;border:1px solid var(--color-line-ui);border-radius:var(--radius-md);padding:11px 13px;cursor:pointer}
.hd__burger span{display:block;width:20px;height:2px;background:var(--color-ink);border-radius:2px;margin:4px 0;transition:transform .25s,opacity .25s}
.hd.is-open .hd__burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.hd.is-open .hd__burger span:nth-child(2){opacity:0}
.hd.is-open .hd__burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.hd__mobile{display:none}

/* ---- SECTION SHELLS ------------------------------------------------------ */
.cd-section{padding-block:var(--space-section)}
.cd-dark{background:linear-gradient(180deg,var(--color-surface-dark),var(--color-surface-dark-2));color:var(--color-text-invert)}
.cd-dark .eyebrow{color:var(--color-accent)}
.cd-dark p{color:rgba(255,249,245,.78)}

/* ---- FOOTER -------------------------------------------------------------- */
.ft{border-top:1px solid var(--color-line);padding-block:var(--space-10)}
.ft__in{display:flex;flex-wrap:wrap;gap:var(--space-6);align-items:center;font-size:var(--text-sm);color:var(--color-ink-soft)}
.ft__links{display:flex;gap:var(--space-5);margin-left:auto;flex-wrap:wrap}
.ft a{text-decoration:none}
.ft a:hover{text-decoration:underline;color:var(--color-ink)}
.ft__legal{width:100%;font-size:var(--text-xs)}

/* ---- MOBILE NAV (Book 11) ------------------------------------------------ */
@media (max-width:859px){
  .hd__nav,.hd__cta{display:none}
  .hd__burger{display:block}
  .hd__mobile{display:none;flex-direction:column;padding:var(--space-4) var(--gutter) var(--space-6);border-top:1px solid var(--color-line);background:#fff}
  .hd.is-open .hd__mobile{display:flex}
  .hd__mobile a{text-decoration:none;font-weight:600;padding:14px 4px;border-bottom:1px solid var(--color-line)}
  .hd__mobile .btn{margin-top:var(--space-4)}
}
