/* Saguaro Digital — shared design system.
   index.php still carries its own inline copy for the hero scene; every other
   page should link this file. */

:root{
  --ink:#F3EDE4; --muted:#8B8177; --dim:#5B534B; --line:#241E19; --line2:#17130F;
  --copper:#C98A4B; --signal:#2FD4C4; --bg:#0A0908; --panel:#0E0C0A;
  --shell:clamp(20px,5vw,76px);
  --font:'Inter',ui-sans-serif,-apple-system,"Segoe UI",system-ui,sans-serif;
  --mono:ui-monospace,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;overflow-x:clip;background:var(--bg);color:var(--ink);
     font:400 17px/1.65 var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}

.wrap{max-width:1440px;margin:0 auto;padding:0 var(--shell)}
.narrow{max-width:920px}

.eyebrow{font:500 12px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;
         color:var(--copper);margin:0 0 22px;display:flex;align-items:center;gap:12px}
.eyebrow::after{content:"";height:1px;width:64px;background:linear-gradient(90deg,var(--copper),transparent)}
h1{font-size:clamp(2.3rem,5vw,4rem);line-height:1.04;letter-spacing:-.032em;font-weight:600;
   margin:0 0 24px;text-wrap:balance}
h1 em{font-style:normal;color:var(--copper)}
h2{font-size:clamp(1.9rem,3.2vw,2.9rem);line-height:1.08;letter-spacing:-.028em;
   font-weight:600;margin:0 0 18px;text-wrap:balance}
h3{font-size:1.12rem;margin:0 0 12px;font-weight:600;letter-spacing:-.012em}
.lede{font-size:clamp(1.02rem,1.4vw,1.2rem);color:var(--muted);max-width:50ch;margin:0 0 36px}
.sub{color:var(--muted);max-width:58ch;margin:0 0 48px;font-size:1.05rem}
section{padding:clamp(72px,9vw,130px) 0;position:relative}
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}

/* nav */
header{position:relative;z-index:3}
nav{display:flex;align-items:center;justify-content:space-between;padding:26px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:600;letter-spacing:-.01em}
.brand img{height:30px;width:auto;
  filter:brightness(0) saturate(100%) invert(63%) sepia(38%) saturate(760%) hue-rotate(348deg) brightness(92%) contrast(88%)}
.navlinks{display:flex;gap:30px;font-size:.94rem}
.navlinks a{color:var(--muted);text-decoration:none;transition:color .18s}
.navlinks a:hover,.navlinks a[aria-current]{color:var(--ink)}
@media(max-width:760px){.navlinks{display:none}}

/* buttons */
.cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:999px;
     text-decoration:none;font-weight:600;font-size:.95rem;border:1px solid transparent;cursor:pointer;
     transition:transform .18s,background .18s,border-color .18s,color .18s}
.btn-primary{background:var(--ink);color:#0A0908}
.btn-primary:hover{background:#fff;transform:translateY(-2px)}
.btn-ghost{border-color:var(--line);color:var(--muted)}
.btn-ghost:hover{border-color:#3A322B;color:var(--ink);transform:translateY(-2px)}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}

/* panels */
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:1px;
       background:var(--line2);border:1px solid var(--line2);border-radius:14px;overflow:hidden}
.cell{background:var(--panel);padding:34px 30px}
.cell p{margin:0;color:var(--muted);font-size:.97rem}
.cell .num{font:500 11px/1 var(--mono);letter-spacing:.18em;color:var(--copper);display:block;margin-bottom:18px}

/* forms */
.form-panel{background:var(--panel);border:1px solid var(--line2);border-radius:18px;
            padding:clamp(28px,4vw,48px)}
.field{margin-bottom:20px}
.field label{display:block;font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;
             color:var(--dim);margin-bottom:9px}
.field .req{color:var(--copper)}
.control{width:100%;background:#080706;border:1px solid var(--line);border-radius:10px;
         padding:14px 16px;color:var(--ink);font:400 1rem/1.5 var(--font);transition:border-color .18s}
.control::placeholder{color:#4A433C}
.control:focus{outline:none;border-color:var(--copper)}
textarea.control{min-height:110px;resize:vertical}
select.control{appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--dim) 50%),linear-gradient(135deg,var(--dim) 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:620px){.row2{grid-template-columns:1fr}}
.consent{display:flex;gap:12px;align-items:flex-start;color:var(--muted);font-size:.9rem;margin:24px 0}
.consent input{margin-top:3px;accent-color:var(--copper);width:16px;height:16px;flex:none}
.formnote{color:var(--dim);font-size:.85rem;margin-top:16px}
.alert{border-radius:10px;padding:14px 16px;margin-bottom:22px;font-size:.94rem;display:none}
.alert-ok{background:rgba(47,212,196,.08);border:1px solid rgba(47,212,196,.3);color:#8FE8DE}
.alert-err{background:rgba(214,90,60,.08);border:1px solid rgba(214,90,60,.35);color:#E9A992}

/* footer */
footer{border-top:1px solid var(--line2);padding:56px 0 40px;color:var(--dim);font-size:.9rem}
.foot{display:flex;flex-wrap:wrap;gap:26px;justify-content:space-between;align-items:flex-start}
.foot a{color:var(--muted);text-decoration:none}
.foot a:hover{color:var(--ink)}
.footcol{display:flex;flex-direction:column;gap:9px}
.footcol strong{color:var(--ink);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;
                font-family:var(--mono);font-weight:500;margin-bottom:5px}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
