/* Teton UAV Signature — shared design system for every page.
   Fonts (load in each page <head>):
   https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Inter:wght@400;500&display=swap */

:root{
  /* Signature palette */
  --stone:#f4f1ec;      /* page background */
  --paper:#fbfaf7;      /* raised panels, form fields */
  --ink:#1c1b19;        /* text, primary buttons, dark sections */
  --ink-soft:#4a4740;   /* body copy on stone */
  --mute:#6b665c;       /* captions, fine print (4.9:1 on stone) */
  --rule:#ddd6ca;       /* hairlines on stone */
  --rule-dark:#3a3833;  /* hairlines on ink */
  --brass:#7a5c34;      /* accent text on light (5.5:1 on stone) */
  --brass-light:#c9a877;/* accent text on dark (7.7:1 on ink) */
  --evergreen:#2f3a33;  /* secondary dark section */
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter',system-ui,-apple-system,sans-serif;

  /* Legacy aliases so older inline rules resolve to Signature colors */
  --granite:var(--ink);
  --spruce:var(--evergreen);
  --snowfield:var(--stone);
  --contour:var(--rule);
  --beacon:var(--brass-light);
  --beacon-deep:var(--brass);
  --display:var(--serif);
  --body:var(--sans);
  --mono:var(--sans);
}

*{margin:0;padding:0;box-sizing:border-box}
html,body{overflow-x:hidden}
body{font-family:var(--sans);font-size:17px;line-height:1.7;color:var(--ink);background:var(--stone);-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums}
img,video,iframe{max-width:100%;display:block}
a{color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

/* Type */
h1,h2,h3{font-family:var(--serif);font-weight:500;color:inherit;text-transform:none;letter-spacing:-.01em}
h1{font-size:clamp(44px,7vw,84px);line-height:1.02;max-width:15ch}
h2{font-size:clamp(32px,4.4vw,52px);line-height:1.08;margin-bottom:18px}
h3{font-size:clamp(24px,2.6vw,30px);line-height:1.15;margin-bottom:8px}
h1 em,h2 em{font-style:italic;color:var(--brass)}
.eyebrow{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);margin-bottom:16px}
.lede{font-size:18px;color:var(--ink-soft);max-width:60ch}
.fine,small{font-size:14px;color:var(--mute)}

/* Nav */
nav{background:var(--stone);color:var(--ink);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:50}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--sans);font-weight:500;font-size:14px;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap}
.logo img{width:44px;height:44px;flex:none}
.navlinks{display:flex;align-items:center;gap:28px;list-style:none}
.navlinks a{font-size:14px;text-decoration:none;color:var(--ink-soft);letter-spacing:.02em}
.navlinks a:hover{color:var(--ink)}

/* Sections */
section{padding:96px 0}
header{background:var(--stone);color:var(--ink);position:relative}
header .wrap{padding-top:88px;padding-bottom:72px}
.dark{background:var(--ink);color:var(--stone)}
.dark .eyebrow{color:var(--brass-light)}
.dark h1 em,.dark h2 em{color:var(--brass-light)}
.dark .lede,.dark p{color:#d6d0c4}
.dark .fine{color:#a9a294}
.green{background:var(--evergreen);color:var(--stone)}
.green .eyebrow,.green h2 em{color:var(--brass-light)}
.green p{color:#d9d6cc}

/* Buttons and links */
.btn{display:inline-block;font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:.06em;text-decoration:none;text-transform:none;padding:15px 28px;background:var(--ink);color:var(--stone);border:1px solid var(--ink);cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:#34322e;border-color:#34322e}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--stone)}
.dark .btn,.green .btn{background:var(--stone);color:var(--ink);border-color:var(--stone)}
.dark .btn:hover,.green .btn:hover{background:#fff}
.dark .btn.ghost,.green .btn.ghost{background:transparent;color:var(--stone);border-color:var(--stone)}
.dark .btn.ghost:hover,.green .btn.ghost:hover{background:var(--stone);color:var(--ink)}
.textlink{text-decoration:none;border-bottom:1px solid var(--brass);padding-bottom:2px}
.textlink:hover{color:var(--brass)}
.dark .textlink,.green .textlink{border-color:var(--brass-light)}

/* Lists */
.uses{list-style:none}
.uses li{padding:14px 0 14px 28px;border-bottom:1px solid var(--rule);position:relative}
.uses li::before{content:"";position:absolute;left:0;top:26px;width:14px;height:1px;background:var(--brass)}
.dark .uses li,.green .uses li{border-color:var(--rule-dark)}
.dark .uses li::before,.green .uses li::before{background:var(--brass-light)}

/* Media */
.frame{background:var(--paper);padding:0}
.caption{font-size:13px;color:var(--mute);margin-top:10px;letter-spacing:.02em}

/* Forms */
form label{display:block;font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:none;color:var(--ink-soft);margin:16px 0 6px}
form input,form select,form textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:0;padding:12px 14px}
form input:focus,form select:focus,form textarea:focus{outline:none;border-color:var(--ink)}
.dark form label,.green form label{color:#d6d0c4}
.dark form input,.dark form select,.dark form textarea,
.green form input,.green form select,.green form textarea{background:#fff;border-color:transparent}

/* Footer */
footer{background:var(--ink);color:#bdb6a8;font-size:14px;padding:40px 0}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
footer a{color:var(--stone);text-decoration:none}

@media (max-width:760px){
  section{padding:64px 0}
  header .wrap{padding-top:56px;padding-bottom:48px}
  nav .wrap{height:64px}
  .navlinks{gap:18px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
