/* Moss Creek Digital — shared site styles */
:root{
  --paper:#f5f1e8; --paper-2:#efeadf; --paper-3:#e7e1d1;
  --ink:#1f2420; --ink-soft:#1f2420cc; --ink-mute:#1f242099;
  --rule:#1f242022; --rule-strong:#1f242055;
  --moss:#3b5a3a; --moss-deep:#2e4a2d;
  --fern:#728c5a; --redwood:#a6492b; --redwood-deep:#8b3c24;
  --creek:#c9c1ad; --slug:#d4b94a;
  --serif:"Fraunces",Georgia,serif;
  --sans:"Work Sans",ui-sans-serif,system-ui;
  --mono:"JetBrains Mono",ui-monospace,monospace;
}
html[data-theme="dark"]{
  --paper:#1a1d19; --paper-2:#22261f; --paper-3:#2b2f27;
  --ink:#ece6d3; --ink-soft:#ece6d3cc; --ink-mute:#ece6d399;
  --rule:#ece6d322; --rule-strong:#ece6d344;
  --moss:#6c9a6a; --moss-deep:#8ab087;
  --fern:#95b57c; --redwood:#d07a55; --redwood-deep:#e0916d;
  --creek:#5a5548; --slug:#e2c961;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;font-optical-sizing:none;text-rendering:optimizeLegibility}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.wrap-narrow{max-width:760px;margin:0 auto;padding:0 32px}

.wordmark{font-family:var(--serif);font-weight:500;letter-spacing:-.02em;line-height:1;display:inline-flex;align-items:baseline}
.wordmark .dot{color:var(--redwood);font-style:italic}

/* nav */
nav.site{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
nav.site .inner{max-width:1240px;margin:0 auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}
nav.site ul{display:flex;gap:26px;list-style:none;margin:0;padding:0;font-family:var(--sans);font-size:14px;font-weight:500}
nav.site ul a{text-decoration:none;opacity:.85}
nav.site ul a:hover, nav.site ul a.active{opacity:1;color:var(--redwood)}
nav.site .cta{font-family:var(--sans);font-weight:600;font-size:13.5px;border:1.5px solid var(--ink);padding:9px 16px;border-radius:40px;text-decoration:none;color:var(--paper);background:var(--ink)}
nav.site .cta:hover{background:var(--redwood);border-color:var(--redwood);color:#f5f1e8}

/* buttons */
.btn{font-family:var(--sans);font-weight:600;font-size:14px;padding:12px 22px;border-radius:40px;border:1.5px solid transparent;cursor:pointer;text-decoration:none;display:inline-flex;gap:8px;align-items:center;line-height:1;transition:all .15s ease}
.btn .arr{font-family:var(--serif);font-style:italic;font-size:18px;font-weight:400}
.btn.primary{background:var(--moss);color:#f5f1e8;border-color:var(--moss)}
.btn.primary:hover{background:var(--moss-deep);border-color:var(--moss-deep)}
html[data-theme="dark"] .btn.primary{color:#0f1510}
.btn.secondary{border-color:var(--ink);color:var(--ink);background:transparent}
.btn.secondary:hover{background:var(--ink);color:var(--paper)}

/* section scaffolding */
section{padding:88px 0;border-bottom:1px solid var(--rule)}
.sec-hd{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;align-items:baseline;margin-bottom:40px}
.sec-hd .l{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--redwood);padding-top:14px}
.sec-hd h2{font-family:var(--serif);font-weight:500;font-size:clamp(36px,4.4vw,58px);line-height:1.02;letter-spacing:-.6px;margin:0}
.sec-hd h2 em{font-style:italic;color:var(--moss);font-weight:400}
.sec-hd .s{font-family:var(--sans);font-size:15px;line-height:1.55;color:var(--ink-soft);margin-top:14px;max-width:56ch}

/* page title block (non-home) */
.pagetitle{padding:80px 0 48px;border-bottom:1px solid var(--rule)}
.pagetitle .kicker{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--redwood);margin-bottom:22px}
.pagetitle h1{font-family:var(--serif);font-weight:500;font-size:clamp(42px,6vw,76px);line-height:1;letter-spacing:-1px;margin:0;max-width:18ch}
.pagetitle h1 em{font-style:italic;color:var(--redwood);font-weight:400}
.pagetitle p.lede{font-family:var(--sans);font-size:17px;line-height:1.55;color:var(--ink-soft);max-width:58ch;margin-top:24px}

/* footer */
footer.site{background:var(--paper-3);color:var(--ink);padding:64px 0 0;border-top:1px solid var(--rule-strong)}
footer.site .grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px}
footer.site .brand{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.2;max-width:26ch;letter-spacing:-.3px}
footer.site .brand em{font-style:italic;color:var(--redwood)}
footer.site .sub{font-family:var(--sans);font-size:13px;margin:14px 0 0;color:var(--ink-mute);max-width:32ch;line-height:1.55}
footer.site h5{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);margin:0 0 14px}
footer.site ul{list-style:none;padding:0;margin:0;font-family:var(--sans);font-size:13.5px}
footer.site ul li{padding:5px 0}
footer.site ul a{text-decoration:none;color:var(--ink)}
footer.site ul a:hover{color:var(--redwood)}
.colophon{border-top:1px solid var(--rule);padding:16px 0;font-family:var(--mono);font-size:11px;color:var(--ink-mute);display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.colophon .slug-line{display:inline-flex;align-items:center;gap:10px}

/* theme switch (footer) */
.theme-switch{display:inline-flex;border:1px solid var(--rule-strong);border-radius:30px;padding:3px;gap:0;background:var(--paper)}
.theme-switch button{background:transparent;border:0;color:var(--ink-soft);font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;padding:6px 11px;border-radius:30px;cursor:pointer;line-height:1}
.theme-switch button.on{background:var(--ink);color:var(--paper)}

/* shared responsive */
@media (max-width:900px){
  .sec-hd{grid-template-columns:1fr;gap:14px}
  nav.site ul{display:none}
  footer.site .grid{grid-template-columns:1fr 1fr;gap:24px}
}
@media (max-width:560px){
  footer.site .grid{grid-template-columns:1fr}
}
