/* Agent Edit Works — shared site styles (plain CSS, no build step, no runtime deps) */

:root{
  --dark:#0A0908; --cream:#F2F4F3; --red:#591623; --sand:#A9927D; --umber:#5E503F;
  --font-display:'Libre Caslon Display', Georgia, serif;
  --font-tag:'Alegreya Sans', Georgia, serif;
  --font-sans:'Alegreya Sans', Georgia, serif;
  --shadow-card: 0 1px 0 rgba(255,255,255,0.04) inset, 0 16px 36px -16px rgba(0,0,0,0.55);
  --shadow-card-light: 0 1px 0 rgba(255,255,255,0.6) inset, 0 16px 36px -18px rgba(10,9,8,0.18);
  --ease-out: cubic-bezier(0.16,1,0.3,1);
}

*{box-sizing:border-box;}
body{margin:0;background:var(--dark);color:var(--cream);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-wrap:pretty;}
a{color:inherit;}
img{max-width:100%;}
::selection{background:var(--red);color:var(--cream);}

/* ---- Reveal-on-scroll: hidden ONLY once JS confirms it can reveal them again.
   Without JS (or before it runs), everything stays fully visible. ---- */
.reveal{opacity:1;transform:none;}
html.js .reveal{opacity:0;transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);}
html.js .reveal.fade-up{transform:translateY(30px);}
html.js .reveal.zoom-in{transform:scale(0.93);}
html.js .reveal.is-visible{opacity:1;transform:translateY(0) scale(1);}

.edw-imgwrap{overflow:hidden;position:relative;}
.edw-imgwrap img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out);}
.edw-imgwrap:hover img{transform:scale(1.06);}

.edw-btn{transition:transform .15s var(--ease-out), background .2s var(--ease-out), color .2s var(--ease-out);display:inline-flex;align-items:center;text-decoration:none;font-family:var(--font-sans);cursor:pointer;border:none;}
.edw-btn:active{transform:scale(0.96);}
.edw-btn-light{background:var(--red);color:var(--cream);}
.edw-btn-light:hover{background:var(--dark);color:var(--cream);}
.edw-btn-dark{background:var(--red);color:var(--cream);}
.edw-btn-dark:hover{background:var(--sand);color:var(--dark);}
.edw-btn-red{background:var(--cream);color:var(--red);}
.edw-btn-red:hover{background:var(--sand);color:var(--dark);}

/* ---- Nav (shared shell across all pages) ----
   Base state = always-safe compact glass pill: legible on any section,
   works with zero JS. JS may add nav--expanded (home hero only) and
   nav--light (section-aware theme swap). */
.edw-nav-toggle{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none;}

nav.edw-nav{
  position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:50;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  width:min(900px,calc(100% - 28px));padding:9px 9px 9px 22px;border-radius:999px;
  background:rgba(10,9,8,0.7);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(242,244,243,0.12);box-shadow:var(--shadow-card);
  --nav-text-strong:#F2F4F3; --nav-text-muted:rgba(242,244,243,0.7);
  transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,padding .3s ease,width .3s ease,top .3s ease;
}
nav.edw-nav.nav--light{
  background:rgba(242,244,243,0.78);border-color:rgba(10,9,8,0.10);
  --nav-text-strong:#0A0908; --nav-text-muted:rgba(10,9,8,0.7);
}
nav.edw-nav .edw-nav-logo-link{display:flex;align-items:center;white-space:nowrap;}
nav.edw-nav .edw-nav-logo{height:38px;width:auto;display:block;transition:height .3s ease;}
/* two logo files stacked; CSS swaps which is visible based on nav theme, no JS image-swap needed */
nav.edw-nav .edw-logo-onlight{display:none;}
nav.edw-nav.nav--light .edw-logo-ondark{display:none;}
nav.edw-nav.nav--light .edw-logo-onlight{display:block;}

.edw-nav-chip{display:flex;align-items:center;gap:12px;padding:0;border-radius:500px;background:transparent;border:none;box-shadow:none;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,padding .3s ease;}
.edw-navlinks{display:flex;align-items:center;gap:24px;font-size:14.5px;color:var(--nav-text-muted);transition:color .35s ease;}
.edw-navlinks a{text-decoration:none;color:inherit;}

.edw-hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px;align-items:center;justify-content:center;position:relative;z-index:51;}
.edw-hamburger span{width:22px;height:2px;background:var(--nav-text-strong);display:block;transition:transform .25s ease,opacity .25s ease;}
.edw-nav-toggle:checked ~ .edw-hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.edw-nav-toggle:checked ~ .edw-hamburger span:nth-child(2){opacity:0;}
.edw-nav-toggle:checked ~ .edw-hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.edw-mobile-panel{display:none;position:absolute;top:70px;left:16px;right:16px;padding:18px;border-radius:18px;background:rgba(10,9,8,0.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(242,244,243,0.12);box-shadow:var(--shadow-card);flex-direction:column;gap:6px;z-index:50;}
nav.edw-nav.nav--light .edw-mobile-panel{background:rgba(242,244,243,0.95);border-color:rgba(10,9,8,0.10);}
.edw-mobile-panel a{text-decoration:none;padding:12px 8px;font-size:15px;font-weight:700;color:var(--nav-text-strong);}
.edw-nav-toggle:checked ~ .edw-mobile-panel{display:flex;}

/* Home-only hero morph, added by JS at scroll top */
nav.edw-nav.nav--expanded{top:0;width:100%;padding:22px 28px;background:transparent;border-color:transparent;box-shadow:none;}
nav.edw-nav.nav--expanded .edw-nav-logo{height:72px;}
nav.edw-nav.nav--expanded .edw-nav-chip{background:rgba(10,9,8,0.7);border:1px solid rgba(242,244,243,0.12);padding:10px 10px 10px 22px;box-shadow:var(--shadow-card), 0 0 30px 4px rgba(89,22,35,0.6);}
nav.edw-nav.nav--expanded.nav--light .edw-nav-chip{background:rgba(242,244,243,0.78);border-color:rgba(10,9,8,0.10);}

@media (max-width:760px){
  .edw-nav-chip{display:none !important;}
  .edw-hamburger{display:flex !important;}
}

footer.edw-footer{position:relative;max-width:1160px;margin:0 auto;padding:44px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid rgba(169,146,125,0.22);}
footer.edw-footer img{height:34px;width:auto;display:block;}
footer.edw-footer .edw-footer-tag{font-size:13px;color:rgba(242,244,243,0.6);margin-top:4px;}
footer.edw-footer .edw-footer-copy{font-size:13px;color:rgba(242,244,243,0.4);}
