/* ============================================================
   NECTARA — GLOBAL SHELL
   Header + footer for every page in the house, Living Ritual included.
   Generated by build/shell.py. Do not hand-edit.

   Self-contained by design: variables are scoped to the shell's own roots so
   this file can load next to lr.css without touching a single approved
   Living Ritual value.
   ============================================================ */

.ne-header,.ne-footer,.lr-parent{
  --nes-deep:#241810;
  --nes-cream:#F3E9DA;
  --nes-gold:#D9B87A;
  --nes-line:rgba(243,233,218,.16);
  --nes-serif:'Cormorant Garamond','Hoefler Text',Palatino,Georgia,serif;
  --nes-sans:'Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;
  --nes-wide:1180px;
  --nes-gutter:1.6rem;
  --nes-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------------- header ---------------- */
.ne-header{position:fixed;top:0;left:0;right:0;z-index:300;padding:1.15rem 0;
  font-family:var(--nes-sans);
  transition:background .5s var(--nes-ease),padding .5s var(--nes-ease)}
.ne-header.is-solid{background:var(--nes-deep);padding:.7rem 0;
  box-shadow:0 1px 0 var(--nes-line)}
.ne-header__in{max-width:var(--nes-wide);margin:0 auto;padding:0 var(--nes-gutter);
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.ne-header a{text-decoration:none}
.ne-logo{display:flex;align-items:center;gap:.7rem;color:var(--nes-cream);flex:none;
  position:relative;z-index:2}  /* stays above the open mobile menu — the way home is never covered */
.ne-logo img{width:38px;height:auto;flex:none;display:block}
.ne-logo__wd{display:flex;flex-direction:column;line-height:1}
/* Title case, per the governing brief's naming rule and acceptance checklist.
   No uppercase transform — the brand is written Nectara, not NECTARA. */
.ne-logo__wd b{font-family:var(--nes-serif);font-weight:400;font-size:1.42rem;
  letter-spacing:.19em;color:var(--nes-cream)}
.ne-logo__wd i{font-style:normal;font-size:8.5px;letter-spacing:.42em;text-transform:uppercase;
  color:var(--nes-gold);margin-top:3px}
.ne-nav{display:flex;gap:1.35rem;align-items:center;flex-wrap:nowrap}
.ne-nav a{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--nes-cream);
  opacity:.86;transition:opacity .3s;white-space:nowrap}
.ne-nav a:hover,.ne-nav a[aria-current]{opacity:1}
.ne-nav a[aria-current]{border-bottom:1px solid var(--nes-gold);padding-bottom:3px}
.ne-cta{border:1px solid rgba(243,233,218,.42);padding:.55rem 1.1rem;border-radius:2px}
.ne-burger{display:none;background:none;border:0;cursor:pointer;padding:.55rem;
  font-family:var(--nes-sans);font-size:11px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--nes-cream);z-index:2}

@media(max-width:1080px){
  .ne-nav{gap:1rem}
  .ne-nav a{font-size:10px;letter-spacing:.11em}
  .ne-cta{padding:.5rem .8rem}
}
/* Below this width the ten-item bar cannot be honest at any size — so it becomes
   a real menu rather than quietly hiding links, which is what it used to do. */
@media(max-width:900px){
  .ne-burger{display:block}
  .ne-nav{position:fixed;inset:0;background:var(--nes-deep);
    flex-direction:column;justify-content:center;align-items:center;gap:1.6rem;
    opacity:0;pointer-events:none;transition:opacity .35s var(--nes-ease);
    padding:5rem var(--nes-gutter) 3rem;overflow-y:auto}
  .ne-nav.is-open{opacity:1;pointer-events:auto}
  .ne-nav a{font-size:14px;letter-spacing:.2em;opacity:.95}
  .ne-cta{margin-top:.6rem;padding:.8rem 2.2rem}
  .ne-header.is-open{background:var(--nes-deep)}
}

/* ---------------- footer ---------------- */
.ne-footer{background:var(--nes-deep);color:var(--nes-cream);
  padding:4rem var(--nes-gutter) 2.4rem;font-family:var(--nes-sans);
  font-size:17px;font-weight:300;line-height:1.75}
.ne-footer__in{max-width:var(--nes-wide);margin:0 auto}
.ne-footer a{color:inherit;text-decoration:none}
.ne-footer .fcols{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:2.2rem;
  margin-bottom:2.8rem}
@media(max-width:820px){.ne-footer .fcols{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ne-footer .fcols{grid-template-columns:1fr}}
.ne-footer .fcols h4{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--nes-gold);margin-bottom:1.1rem;font-weight:400}
.ne-footer .fcols a{display:block;font-size:14px;opacity:.76;margin-bottom:.42rem;
  transition:opacity .3s}
.ne-footer .fcols a:hover{opacity:1}
.ne-footer .fcols p{font-size:14px;opacity:.7;max-width:34ch;margin-bottom:.6rem}
.ne-footer .fcols p.legal{font-size:12px;opacity:.5;letter-spacing:.04em}
.ne-footer .fmarklink{display:inline-block}
.ne-footer .fmark{width:210px;height:auto;margin-bottom:1.1rem;display:block;max-width:100%}
.ne-footer .fbase{border-top:1px solid var(--nes-line);padding-top:1.7rem;
  display:flex;flex-wrap:wrap;gap:.8rem 2rem;justify-content:space-between;
  font-size:12px;opacity:.55}
/* Living Ritual's own legal block, carried through the footer swap untouched. */
.ne-footer .ne-legalcarry{border-top:1px solid var(--nes-line);
  padding:1.6rem 0 .4rem;margin-bottom:1.2rem}
.ne-footer .ne-legalcarry .legal{font-size:11.5px;line-height:1.9;opacity:.52;
  letter-spacing:.01em;max-width:none}
.ne-footer .ne-legalcarry .fill{opacity:.75;border-bottom:1px dotted var(--nes-line)}
.ne-footer .ne-legalcarry a{text-decoration:underline;opacity:.7}

/* ---------------- the return path ---------------- */
.lr-parent{display:block;font-family:var(--nes-sans);font-size:9px;letter-spacing:.26em;
  text-transform:uppercase;text-decoration:none;color:var(--nes-gold);
  margin-top:.4rem;opacity:.82;transition:opacity .3s var(--nes-ease);white-space:nowrap}
.lr-parent:hover{opacity:1}
.lr-parent span{opacity:.62}
@media(max-width:520px){.lr-parent span{display:none}}
/* Living Ritual's header is transparent over the hero and turns linen on scroll.
   Gold reads on the hero but disappears on linen, so the solid and plain states
   take Living Ritual's own contrast-verified clay instead. */
.site-header .lr-parent{text-shadow:0 1px 10px rgba(0,0,0,.55)}
.site-header.is-solid .lr-parent,
.site-header.is-plain .lr-parent{color:#8C5A3B;text-shadow:none;opacity:.95}

/* ---------------- Living Ritual, sitting inside the shell ----------------
   Living Ritual's own header stays fixed and keeps every one of its behaviours.
   It is simply moved down to make room for the parent bar above it, and its
   full-screen mobile menu is stopped short of covering the way home. */
body.ne-shelled{padding-top:var(--nes-h,62px)}
body.ne-shelled .ne-header{background:#241810;box-shadow:0 1px 0 rgba(243,233,218,.16)}
body.ne-shelled .site-header{top:var(--nes-h,62px)}
body.ne-shelled .lr-brandblock{display:flex;flex-direction:column;justify-content:center}
@media(max-width:900px){
  body.ne-shelled .nav{top:var(--nes-h,62px);inset-inline:0;bottom:0}
}
@media print{
  .ne-header{position:static}
  body.ne-shelled{padding-top:0}
}
