/* base.css — shared across all pages (auto-generated) */

:root{
    --paper:#FAF7F1;
    --ink:#1B1611;
    --text:#3D342B;
    --stone:#6E6255;
    --line:#E7DCCB;
    --espresso:#241C16;
    --accent:#9C7C52;
    --accent-soft:#C9A87A;
    --shadow:0 24px 60px -28px rgba(30,22,14,.45);
    --wrap:1180px;
  }

*{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth}

@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }

body{
    font-family:"Instrument Sans",system-ui,sans-serif;
    color:var(--text);
    background:var(--paper);
    line-height:1.72;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }

.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.4rem,5vw,3.5rem)}

h1,h2,h3{
    font-family:"Fraunces",Georgia,serif;
    font-optical-sizing:auto;
    color:var(--ink);
    font-weight:500;
    letter-spacing:-.01em;
    line-height:1.02;
  }

a{color:inherit;text-decoration:none}

header{
    position:fixed;top:0;left:0;right:0;z-index:50;
    transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
    padding:1.5rem 0;
  }

header .bar{display:flex;align-items:center;justify-content:space-between}

nav ul{display:flex;gap:2.2rem;list-style:none;align-items:center}

nav a{
    color:rgba(255,255,255,.9);font-size:.95rem;font-weight:500;
    position:relative;padding:.2rem 0;transition:color .35s ease;
  }

nav a::after{
    content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1.5px;
    background:var(--accent-soft);transition:right .3s ease;
  }

nav a:hover::after,nav a[aria-current="page"]::after{right:0}

header.scrolled{
    background:var(--paper);
    box-shadow:0 1px 0 var(--line), 0 12px 30px -24px rgba(30,22,14,.5);
    padding:1rem 0;
  }

header.scrolled .brand{color:var(--ink)}

header.scrolled nav a{color:var(--stone)}

header.scrolled nav a:hover{color:var(--ink)}

header.scrolled nav a::after{background:var(--accent)}

footer{background:var(--ink);color:rgba(255,255,255,.7);padding-block:clamp(3rem,6vw,4.5rem)}

.foot-top{
    display:flex;justify-content:space-between;align-items:flex-start;
    gap:2.5rem;flex-wrap:wrap;padding-bottom:2.5rem;
    border-bottom:1px solid rgba(255,255,255,.1);
  }

.foot-brand{font-family:"Fraunces",serif;color:#fff;font-size:1.5rem;font-weight:500;margin-bottom:.6rem}

.foot-brand + p{font-size:.95rem;max-width:26ch}

.foot-nav{display:flex;gap:2rem;flex-wrap:wrap}

.foot-nav a{font-size:.95rem;color:rgba(255,255,255,.72);transition:color .25s}

.foot-nav a:hover{color:#fff}

.socials{display:flex;gap:.8rem;margin-top:1.4rem}

.socials a{
    display:inline-flex;align-items:center;justify-content:center;
    width:42px;height:42px;border-radius:50%;
    border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.85);
    transition:background .25s,color .25s,border-color .25s,transform .25s;
  }

.socials a:hover{background:var(--accent-soft);color:var(--espresso);border-color:var(--accent-soft);transform:translateY(-2px)}

.foot-bottom{
    display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
    padding-top:1.8rem;font-size:.85rem;color:rgba(255,255,255,.5);
  }

.foot-bottom a{color:rgba(255,255,255,.6)}

.foot-bottom a:hover{color:#fff}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}

.reveal.in{opacity:1;transform:none}
