/* ============================================================
   FUJISTAR / Trucks home club — Terracotta / Desert Modern
   Warm earth tones with clean modernist lines
   ============================================================ */

:root {
  --terracotta: #C4653A;
  --terracotta-dark: #A0522E;
  --adobe: #D4896A;
  --adobe-light: #E8B8A0;
  --sand: #F2E8DA;
  --sand-warm: #E8D8C4;
  --sky: #4A90B8;
  --sky-dark: #3672A0;
  --sage: #5C8A60;
  --sage-dark: #447048;
  --earth: #2C1F18;
  --earth-soft: #4A3A30;
  --cream: #FBF6F0;
  --sunset: #E08040;
  --white: #FFFFFF;
  --font-body: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --max-w: 1040px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:var(--font-body);font-size:0.95rem;line-height:1.65;
  color:var(--earth);background:var(--cream);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}
a{color:var(--terracotta);text-decoration:none;transition:color 0.2s}
a:hover{color:var(--terracotta-dark)}

h1,h2,h3,h4{font-weight:800;color:var(--earth);line-height:1.15}
h1{font-size:clamp(2rem,4.5vw,3rem)}
h2{font-size:clamp(1.5rem,2.8vw,2rem)}
h3{font-size:1.15rem}
h4{font-size:0.95rem}

/* --- Mesa Nav --- */
.mesa-nav{position:sticky;top:0;z-index:100;background:var(--cream);border-bottom:3px solid var(--terracotta)}
.mesa-nav-inner{max-width:var(--max-w);margin:0 auto;padding:0 1.25rem;height:56px;display:flex;align-items:center;justify-content:space-between}
.mesa-logo{display:flex;align-items:center;gap:0.5rem;font-weight:800;font-size:1rem;color:var(--earth)}
.mesa-logo-mark{width:28px;height:28px;background:var(--terracotta);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:0.7rem;color:var(--white)}
.mesa-nav-links{display:flex;gap:0;list-style:none;padding:0}
.mesa-nav-links a{display:block;padding:0.35rem 0.85rem;font-size:0.85rem;font-weight:600;color:var(--earth-soft);transition:all 0.15s}
.mesa-nav-links a:hover,.mesa-nav-links a.active{color:var(--terracotta)}
.mesa-nav-cta a{background:var(--earth);color:var(--white)!important;font-weight:700}
.mesa-nav-cta a:hover{background:var(--terracotta);color:var(--white)!important}
.mesa-menu-btn{display:none;background:none;border:none;cursor:pointer;font-size:1.2rem;color:var(--earth);padding:0.3rem}

/* --- Main --- */
.mesa-main{max-width:var(--max-w);margin:0 auto;padding:0 1.25rem}

/* --- Horizon Opening --- */
.horizon{padding:5rem 0 3rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.horizon-tag{display:inline-block;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--terracotta);margin-bottom:0.75rem;padding:0.25rem 0.6rem;background:var(--sand-warm)}
.horizon-text h1{margin-bottom:1rem}
.horizon-text .hz-desc{color:var(--earth-soft);font-size:1rem;line-height:1.65;margin-bottom:2rem}
.horizon-adobe{background:var(--sand-warm);padding:3rem 2.5rem;text-align:center;position:relative}
.horizon-adobe::after{content:'';position:absolute;bottom:-8px;left:8px;right:-8px;top:8px;border:2px solid var(--terracotta);z-index:-1}
.horizon-adobe .ha-icon{font-size:3rem;margin-bottom:0.5rem}
.horizon-adobe h3{font-size:1.2rem;margin-bottom:0.25rem}
.horizon-adobe p{color:var(--earth-soft);font-size:0.88rem}

/* --- Stat Plinths --- */
.plinth-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin:2rem 0}
.plinth{text-align:center;padding:1.5rem 1rem;background:var(--white);border-top:4px solid var(--terracotta)}
.plinth-val{font-size:2rem;font-weight:900;color:var(--terracotta);line-height:1;margin-bottom:0.2rem}
.plinth-lbl{font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--earth-soft)}

/* --- Arroyo Section --- */
.arroyo{padding:4rem 0}
.arroyo+.arroyo{border-top:2px solid var(--sand-warm)}
.arroyo-head{display:flex;align-items:center;gap:0.75rem;margin-bottom:2rem}
.arroyo-head .ah-num{font-size:1.3rem;font-weight:900;color:var(--terracotta)}
.arroyo-head h2{margin-bottom:0}

/* --- Adobe Grid --- */
.adobe-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.adobe-card{background:var(--white);padding:1.75rem;border-left:5px solid var(--terracotta);transition:all 0.2s}
.adobe-card:hover{border-left-color:var(--sky);box-shadow:0 4px 16px rgba(0,0,0,0.06)}
.adobe-card h4{font-size:1rem;margin-bottom:0.35rem}
.adobe-card p{font-size:0.88rem;color:var(--earth-soft);line-height:1.55}

/* --- Canyon Flow --- */
.canyon-flow{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;padding:2.5rem 0}
.canyon-flow+.canyon-flow{border-top:1px solid var(--sand-warm)}
.canyon-flow.reverse{direction:rtl}
.canyon-flow.reverse .cf-text{direction:ltr}
.cf-text h3{margin-bottom:0.6rem}
.cf-text p{color:var(--earth-soft);line-height:1.7;margin-bottom:0.8rem}
.cf-list{list-style:none;padding:0}
.cf-list li{padding:0.3rem 0;padding-left:1.2rem;position:relative;color:var(--earth-soft);font-size:0.88rem}
.cf-list li::before{content:'';position:absolute;left:0;top:0.6rem;width:6px;height:6px;background:var(--terracotta)}
.cf-form{background:var(--sand-warm);padding:2.5rem;text-align:center}
.cf-form-icon{font-size:2.5rem;margin-bottom:0.5rem}
.cf-form h4{font-size:1rem;color:var(--terracotta)}

/* --- Process Trail --- */
.trail-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.trail-stop{text-align:center;padding:1.75rem 1rem;background:var(--white);position:relative}
.trail-stop .ts-num{font-size:2.2rem;font-weight:900;color:var(--terracotta);line-height:1;margin-bottom:0.5rem}
.trail-stop h4{font-size:0.9rem;margin-bottom:0.25rem}
.trail-stop p{font-size:0.82rem;color:var(--earth-soft);line-height:1.45}

/* --- Oasis Strip --- */
.oasis{background:var(--earth);color:var(--cream);padding:2.5rem;margin:2rem 0;text-align:center}
.oasis blockquote{font-size:1.05rem;line-height:1.6;font-style:italic;max-width:600px;margin:0 auto}
.oasis .oasis-src{display:block;margin-top:0.75rem;font-weight:700;font-size:0.85rem;font-style:normal;color:var(--adobe-light)}

/* --- Contact --- */
.contact-mesa{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.contact-plaque{background:var(--white);border:1px solid var(--sand-warm);padding:1.25rem;margin-bottom:1rem;border-left:4px solid var(--terracotta)}
.contact-plaque h4{font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--earth-soft);margin-bottom:0.2rem}
.contact-plaque .cp-val{font-weight:700;font-size:0.95rem}
.contact-plaque .cp-note{font-size:0.8rem;color:var(--earth-soft);margin-top:0.1rem}
.contact-adobe{background:var(--white);border:1px solid var(--sand-warm);padding:2rem}
.contact-adobe h3{color:var(--terracotta);margin-bottom:1.25rem}
.form-f{margin-bottom:1rem}
.form-f label{display:block;font-weight:700;font-size:0.73rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--earth-soft);margin-bottom:0.2rem}
.form-f input,.form-f textarea,.form-f select{
  width:100%;padding:0.65rem 0.75rem;font-size:0.9rem;border:1px solid var(--sand-warm);
  font-family:var(--font-body);background:var(--cream);transition:border-color 0.2s;
}
.form-f input:focus,.form-f textarea:focus,.form-f select:focus{outline:none;border-color:var(--terracotta)}
.form-f textarea{resize:vertical;min-height:110px}
.form-g{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

.btn{
  display:inline-flex;align-items:center;gap:0.4rem;padding:0.65rem 1.6rem;
  font-size:0.88rem;font-weight:700;cursor:pointer;font-family:var(--font-body);
  border:2px solid var(--earth);transition:all 0.2s;text-transform:uppercase;letter-spacing:0.04em;
}
.btn-earth{background:var(--earth);color:var(--cream)}
.btn-earth:hover{background:var(--terracotta);border-color:var(--terracotta)}
.btn-terra{background:transparent;color:var(--terracotta);border-color:var(--terracotta)}
.btn-terra:hover{background:var(--terracotta);color:var(--white)}

/* --- Page Opening --- */
.page-open{padding:4rem 0 1.5rem;text-align:center}
.page-open .po-tag{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--terracotta);margin-bottom:0.5rem}
.page-open h1{margin-bottom:0.5rem}
.page-open .po-desc{color:var(--earth-soft);max-width:550px;margin:0 auto;font-size:1rem;line-height:1.6}

/* --- Principles --- */
.principles-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.principle-card{background:var(--white);border:1px solid var(--sand-warm);padding:1.5rem;border-top:4px solid var(--sky)}
.principle-card h4{font-size:0.9rem;color:var(--sky);margin-bottom:0.35rem}
.principle-card p{font-size:0.85rem;color:var(--earth-soft);line-height:1.55}

/* --- Crew --- */
.crew-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.crew-card{text-align:center;padding:1.5rem 1rem;background:var(--white);border:1px solid var(--sand-warm)}
.crew-badge{width:48px;height:48px;margin:0 auto 0.75rem;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:0.8rem;color:var(--white)}
.crew-badge.terra{background:var(--terracotta)}
.crew-badge.sky{background:var(--sky)}
.crew-badge.sage{background:var(--sage)}
.crew-badge.sunset{background:var(--sunset)}
.crew-card h4{font-size:0.85rem;margin-bottom:0.1rem}
.crew-card .role{font-size:0.75rem;color:var(--earth-soft)}

/* --- Legal --- */
.legal-prose{max-width:720px}
.legal-prose section{margin-bottom:2.5rem}
.legal-prose h2{font-size:1.1rem;margin-bottom:0.6rem;padding-bottom:0.3rem;border-bottom:2px solid var(--sand-warm);color:var(--terracotta)}
.legal-prose h3{font-size:0.95rem;margin:1.2rem 0 0.5rem}
.legal-prose p{line-height:1.8;color:var(--earth-soft);margin-bottom:0.9rem}
.legal-prose ul,.legal-prose ol{margin-bottom:1rem;color:var(--earth-soft);padding-left:1.5rem}
.legal-prose ul li,.legal-prose ol li{margin-bottom:0.4rem;line-height:1.6}
.legal-updated{padding:1rem 1.25rem;background:var(--white);border:1px solid var(--sand-warm);border-left:4px solid var(--terracotta);margin-bottom:2rem;font-size:0.85rem}
.legal-toc{background:var(--white);border:1px solid var(--sand-warm);padding:1.25rem;margin-bottom:2rem}
.legal-toc h3{font-size:0.82rem;text-transform:uppercase;letter-spacing:0.05em;margin-top:0;margin-bottom:0.6rem}
.legal-toc ol{padding-left:1.5rem;margin-bottom:0}
.legal-toc ol li{margin-bottom:0.3rem;font-size:0.9rem}

/* --- Footer --- */
.mesa-footer{background:var(--earth);color:var(--cream);margin-top:5rem;border-top:6px solid var(--terracotta)}
.mesa-footer-grid{max-width:var(--max-w);margin:0 auto;padding:3rem 1.25rem;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem}
.mesa-footer-brand h4{color:var(--adobe-light);font-size:0.95rem;margin-bottom:0.5rem}
.mesa-footer-brand p{color:var(--adobe);font-size:0.85rem;line-height:1.6}
.mesa-footer-col h4{color:var(--adobe);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:0.75rem}
.mesa-footer-col ul{list-style:none;padding:0}
.mesa-footer-col ul li{margin-bottom:0.35rem}
.mesa-footer-col ul a{color:var(--adobe-light);font-size:0.85rem;transition:color 0.2s}
.mesa-footer-col ul a:hover{color:var(--white)}
.mesa-footer-bar{max-width:var(--max-w);margin:0 auto;padding:1rem 1.25rem;border-top:1px solid rgba(255,255,255,0.06);display:flex;justify-content:space-between;font-size:0.78rem;color:var(--adobe)}
.mesa-footer-bar a{color:var(--adobe)}
.mesa-footer-bar a:hover{color:var(--cream)}

@media (max-width: 860px){
  .mesa-nav-links{display:none;position:absolute;top:56px;left:0;right:0;background:var(--cream);flex-direction:column;padding:1rem;border-bottom:3px solid var(--terracotta)}
  .mesa-nav-links.open{display:flex}
  .mesa-menu-btn{display:block}
  .mesa-nav-inner{position:relative}
  .horizon,.adobe-grid,.canyon-flow,.contact-mesa,.principles-grid,.crew-grid,.trail-row,.plinth-row,.form-g{grid-template-columns:1fr}
  .canyon-flow.reverse{direction:ltr}
  .mesa-footer-grid{grid-template-columns:1fr;gap:2rem}
}
@media (max-width: 500px){.crew-grid{grid-template-columns:1fr 1fr}}
