/* ============================================================
   Develop2Any — shared design system
   Rebuilt to the Develop2Any-Homepage-v2 mockup.
   Archivo / Archivo Black / Source Serif 4 / Space Mono / Caveat
   cream #f4f0e5 · ink #161616 · red #8c1d1d · lime #c6d92e
   Shared by every page (nav, footer, tokens). Section-specific
   styles live in the per-page CSS (home.css, etc.).
   ============================================================ */
:root{
  --paper:#f4f0e5;
  --paper-2:#fbf8f0;
  --ink:#161616;
  --ink-2:#1c1c1c;
  --muted:#4a4a4a;
  --muted-2:#5a5a5a;
  --faint:#888;
  --line:#d4cfbf;
  --line-2:#e2ddcf;
  --line-3:#ddd8c9;
  /* consolidation tokens (repeated literals from per-page files) */
  --rule-soft:#cfcabb;     /* borders under col-heads (cap/builds) */
  --border-divider:#cfc8b6;/* table-head + input underlines */
  --bg-hover:#efe9da;      /* row hover background */
  --modal-rule:#d8d2c2;    /* modal/credbar separators */
  --text-2:#3a3a3a;        /* secondary body text */
  --text-3:#2a2a2a;        /* darker serif statements */
  --text-soft:#666;        /* muted labels */
  --red:#8c1d1d;
  --red-2:#9e2a2a;
  --red-3:#b51f1f;
  --lime:#c6d92e;
  --lime-2:#b9cc2a;
  --lime-3:#7a9410;
  --dark:#131313;
  --container:1240px;
  --gutter:40px;
  --measure:680px;
  --measure-wide:760px;
  --measure-xl:900px;
  --maxw:var(--container);
  --pad:var(--gutter);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Archivo',sans-serif;
  background:var(--paper);color:var(--ink);
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;line-height:1.5;
}
::selection{background:var(--lime);color:var(--ink)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-weight:700;line-height:1.1}

/* layout containers */
.container,.wrap{max-width:var(--container);margin:0 auto;padding-inline:var(--gutter)}
.container--measure{max-width:var(--measure)}
.container--measure-wide{max-width:var(--measure-wide)}
.container--measure-xl{max-width:var(--measure-xl)}
.section{padding-block:var(--section-y,48px)}
.band{width:100%}
.band__inner{max-width:var(--container);margin:0 auto;padding-inline:var(--gutter)}

/* font helpers */
.ff-black{font-family:'Archivo Black',sans-serif}
.ff-serif{font-family:'Source Serif 4',serif}
.ff-mono{font-family:'Space Mono',monospace}

/* shared buttons + lime highlight (used across hero/CTA on every page) */
.btn-fill{display:inline-flex;align-items:center;gap:12px;background:var(--red);color:#fff;font-size:15px;font-weight:600;padding:15px 26px;border-radius:3px;white-space:nowrap}
.btn-underline{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-size:15px;font-weight:600;border-bottom:2px solid var(--ink);padding-bottom:3px}
.btn-underline .ne{font-size:13px}
.hl{background:linear-gradient(transparent 82%,#c6d92e 82%,#c6d92e 99%,transparent 99%);background-repeat:no-repeat;background-size:100% 100%}

/* shared section eyebrow/kicker (Space Mono uppercase label) */
.sec-kicker{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:1.5px}
.sec-kicker.is-red{color:var(--red-2)}
.sec-kicker.is-lime{color:var(--lime)}

/* shared CTA row (Caveat script + scribble + checklist + button) — used on
   contact / people / profile via template-parts/cta-row.php */
.cta-row{padding-top:48px;padding-bottom:48px}
.cta-row-inner{display:flex;align-items:center;gap:36px}
.cta-row-script-wrap{flex:none;display:flex;align-items:center;gap:22px}
.cta-row-script{position:relative;padding:16px 24px}
.cta-row-script-text{font-family:'Caveat',cursive;font-size:30px;font-weight:700;line-height:1.05;display:inline-block;position:relative;z-index:1;white-space:nowrap}
.cta-row-scribble{position:absolute;top:-2px;left:-12px;pointer-events:none}
.cta-row-curve{flex:none;color:var(--ink)}
.cta-row-mid{flex:1}
.cta-row-heading{font-family:'Source Serif 4',serif;font-size:24px;font-weight:500}
.cta-row-points{display:flex;gap:26px;margin-top:14px;flex-wrap:wrap}
.cta-row-point{display:flex;align-items:center;gap:8px;font-family:'Source Serif 4',serif;font-size:15px}
.cta-row-end{flex:none;text-align:center}
.cta-row-btn{display:inline-flex;align-items:center;gap:12px;background:var(--red);color:#fff;font-size:15px;font-weight:600;padding:16px 38px;border-radius:3px;white-space:nowrap}
.cta-row-email{font-family:'Source Serif 4',serif;font-size:14px;color:var(--text-2);margin-top:12px}
.cta-row-email a{color:var(--red-2);text-decoration:underline}
.cta-row.is-dark{color:#fff}
.cta-row.is-dark .cta-row-curve{color:#f4c9c9}
.cta-row.is-dark .cta-row-email{color:#e7c4c4}
.cta-row.is-dark .cta-row-email a{color:#fff}
@media (max-width:880px){.cta-row-inner{flex-wrap:wrap}}

/* hairline divider (full-bleed-within-container rule) */
.rule{max-width:var(--container);margin:0 auto}
.rule>span{display:block;height:1px;background:var(--line);margin:0 var(--gutter)}

/* grain texture overlay */
.d2a-grain::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:30;opacity:.4;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxODAnIGhlaWdodD0nMTgwJz48ZmlsdGVyIGlkPSduJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC45JyBudW1PY3RhdmVzPScyJyBzdGl0Y2hUaWxlcz0nc3RpdGNoJy8+PC9maWx0ZXI+PHJlY3Qgd2lkdGg9JzE4MCcgaGVpZ2h0PScxODAnIGZpbHRlcj0ndXJsKCNuKScgb3BhY2l0eT0nMC41Jy8+PC9zdmc+");
  background-size:180px 180px;}

/* scroll progress bar */
.d2a-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:var(--lime);z-index:60;transition:width .1s linear}

/* scroll reveal — progressive enhancement.
   Content is visible by default; we only hide-then-animate once JS has
   flagged the document with .d2a-js, so a JS failure never hides content. */
.d2a-js [data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.d2a-js [data-reveal].is-in{opacity:1;transform:none}

/* accessibility */
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;top:12px;left:12px;width:auto;height:auto;clip:auto;z-index:1000;background:var(--ink);color:#fff;padding:12px 18px;border-radius:6px;font-family:'Space Mono',monospace;font-size:13px}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}

/* =========================================================
   NAV (sticky) — shared header
   ========================================================= */
.d2a-nav{position:sticky;top:0;z-index:40;background:var(--paper);transition:box-shadow .3s ease}
.d2a-nav.is-stuck{box-shadow:0 6px 24px rgba(20,20,20,.09)}
.d2a-nav-inner{max-width:var(--container);margin:0 auto;padding:22px var(--gutter);display:flex;align-items:center;gap:32px}
.d2a-brandlock{display:flex;align-items:center;gap:18px}
.brand{font-family:'Archivo Black',sans-serif;font-size:24px;letter-spacing:-.5px;color:var(--ink)}
.brand .two{color:var(--red-3)}
.brand-divider{width:1px;height:34px;background:var(--rule-soft)}
.brand-tagline{font-family:'Space Mono',monospace;font-size:11px;line-height:1.5;letter-spacing:1px;color:var(--text-2);white-space:nowrap}
.d2a-navlinks{margin-left:auto;display:flex;align-items:center;gap:30px;font-size:15px;font-weight:500}
.d2a-link{position:relative;color:var(--ink)}
.d2a-link::after{content:'';position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--red);transition:right .25s ease}
.d2a-link:hover::after,.d2a-link.is-active::after{right:0}
.d2a-navright{display:flex;align-items:center;gap:14px;margin-left:auto}
.nav-cta{display:inline-flex;align-items:center;gap:10px;background:var(--red);color:#fff;font-size:14px;font-weight:600;padding:12px 18px;border-radius:3px;white-space:nowrap}
.nav-cta span{font-size:15px}
.d2a-burger{display:none;align-items:center;justify-content:center;width:42px;height:42px;background:var(--ink);border:none;border-radius:4px;cursor:pointer}
.d2a-mobnav{display:none;flex-direction:column;padding:8px var(--gutter) 20px;gap:2px;border-top:1px solid #e6e0d0}
.d2a-mobnav a{padding:12px 0;color:var(--ink);font-weight:600;border-bottom:1px solid #ece7da}
.d2a-mobnav a.is-cta{margin-top:14px;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--red);color:#fff;font-size:15px;padding:14px 18px;border-radius:3px;border-bottom:0}

/* =========================================================
   FOOTER — shared
   ========================================================= */
.d2a-footer{background:var(--paper);border-top:1px solid var(--line)}
.foot-book{max-width:var(--container);margin:0 auto;padding:40px var(--gutter) 0}
.foot-book-card{background:var(--dark);border-radius:8px;padding:34px 40px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.foot-book-card h3{font-family:'Archivo Black',sans-serif;color:#fff;font-size:24px;letter-spacing:-.5px;font-weight:400}
.foot-book-card p{font-family:'Source Serif 4',serif;color:#b9b3a6;font-size:15px;margin-top:6px}
.foot-book-form{display:flex;gap:10px;flex:1;min-width:280px;max-width:480px}
.foot-book-form input{flex:1;background:#222;border:1px solid var(--text-2);border-radius:4px;padding:14px 16px;color:#fff;font-family:'Archivo',sans-serif;font-size:14px;outline:none}
.foot-book-form button{background:var(--lime);color:var(--ink);border:none;border-radius:4px;padding:14px 22px;font-weight:700;font-size:14px;cursor:pointer;white-space:nowrap}
.foot-grid{max-width:var(--container);margin:0 auto;padding:48px var(--gutter);display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr 1.3fr;gap:30px}
.foot-brand .brand{font-size:22px}
.foot-blurb{font-size:13.5px;color:#555;margin-top:14px;line-height:1.55;max-width:220px}
.foot-punch{font-family:'Space Mono',monospace;font-size:13px;color:var(--lime-3);margin-top:16px}
.foot-loc{font-family:'Space Mono',monospace;font-size:12px;color:var(--faint);margin-top:12px}
.foot-col h4{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1.5px;color:var(--faint);font-weight:400}
.foot-col .links{margin-top:16px;display:flex;flex-direction:column;gap:11px;font-size:13.5px}
.foot-col .links a,.foot-col .links div{color:var(--text-3)}
.foot-social{display:flex;gap:16px;margin-top:20px}
.foot-social a{color:var(--ink);display:inline-flex}
.foot-bottom{background:var(--dark);color:#aaa}
.foot-bottom-inner{max-width:var(--container);margin:0 auto;padding:18px var(--gutter);display:flex;justify-content:space-between;align-items:center;font-size:12.5px}
.foot-bottom-inner .links{display:flex;gap:24px}
.foot-bottom-inner a{color:#aaa}

/* =========================================================
   Responsive (shared chrome)
   ========================================================= */
.d2a-burger{display:none}
@media (max-width:880px){
  .d2a-navlinks{display:none !important}
  .d2a-burger{display:inline-flex !important}
  .foot-grid{grid-template-columns:1fr 1fr 1fr;row-gap:30px}
}
@media (max-width:560px){
  .d2a-nav-inner{gap:12px}
  .d2a-brandlock{gap:0;min-width:0}
  .brand-divider,.brand-tagline,.d2a-navright .nav-cta{display:none}
  .d2a-navright{margin-left:auto;gap:0}
  .foot-book-form{min-width:0;max-width:none;flex:1 1 100%;flex-direction:column}
  .foot-book-form button{width:100%}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-bottom-inner{flex-direction:column;gap:10px;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important}
  [data-reveal]{opacity:1 !important;transform:none !important}
}
