/* ============================================================
   AGMessage marketing site — shared stylesheet
   Tokens, layout system, components.
   ============================================================ */

/* Tokens */
:root {
  --ink: #081228; --ink-soft: #1A2333; --paper: #F5F1E8; --amber: #F5A524; --signal: #E84228;
  --ink-60: rgba(8,18,40,.6); --ink-40: rgba(8,18,40,.4);
  --paper-60: rgba(245,241,232,.6); --paper-40: rgba(245,241,232,.4);
  --display:'Inter Tight',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --inset-x:clamp(20px,6vw,96px); --inset-y:clamp(48px,8vw,128px); --bracket:1.5px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--display);font-weight:400;line-height:1.6;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--amber);color:var(--ink)}
a{color:inherit}

/* Section frame system */
section{position:relative;padding:var(--inset-y) var(--inset-x);overflow:hidden}
section.dark{background:var(--ink);color:var(--paper)}
section.amber{background:var(--amber);color:var(--ink)}
section::before,section::after,section .brackets::before,section .brackets::after{content:'';position:absolute;width:28px;height:28px;pointer-events:none}
section::before{top:24px;left:24px;border-top:var(--bracket) solid currentColor;border-left:var(--bracket) solid currentColor}
section::after{top:24px;right:24px;border-top:var(--bracket) solid currentColor;border-right:var(--bracket) solid currentColor}
section .brackets::before{bottom:24px;left:24px;border-bottom:var(--bracket) solid currentColor;border-left:var(--bracket) solid currentColor}
section .brackets::after{bottom:24px;right:24px;border-bottom:var(--bracket) solid currentColor;border-right:var(--bracket) solid currentColor}
section.light::before,section.light::after,section.light .brackets::before,section.light .brackets::after{color:var(--ink-60)}
section.dark::before,section.dark::after,section.dark .brackets::before,section.dark .brackets::after{color:var(--amber)}
section.amber::before,section.amber::after,section.amber .brackets::before,section.amber .brackets::after{color:var(--ink)}

/* Eyebrow / metadata */
.eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;margin:0 0 32px 0;color:var(--amber)}
.eyebrow::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--amber)}
section.amber .eyebrow{color:var(--ink)}
section.amber .eyebrow::before{background:var(--ink)}

.pagetag{position:absolute;top:32px;right:64px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ink-60);z-index:2}
section.dark .pagetag{color:var(--paper-60)}
section.amber .pagetag{color:var(--ink);opacity:.7}

.wrap{max-width:1280px;margin:0 auto}

/* Display type */
h1.display,h2.display{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:0 0 24px 0}
h1.display{font-size:clamp(40px,6.5vw,84px)}
h2.display{font-size:clamp(32px,5vw,60px)}
.italic-landing{font-style:italic;color:var(--amber)}
section.amber .italic-landing{color:var(--ink)}

p.body{font-size:clamp(15px,1.2vw,18px);line-height:1.7;max-width:64ch;color:var(--ink)}
section.dark p.body{color:var(--paper)}
section.amber p.body{color:var(--ink)}
p.body+p.body{margin-top:18px}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 28px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border-radius:4px;transition:transform .12s ease;border:none;cursor:pointer}
.btn:hover:not(:disabled){transform:translateY(-1px)}
.btn:disabled{opacity:.6;cursor:wait}
.btn-primary{background:var(--amber);color:var(--ink)}
.btn-secondary{background:transparent;color:currentColor;border:1.5px solid currentColor}
.btn .arrow{transition:transform .2s ease}
.btn:hover:not(:disabled) .arrow{transform:translateX(4px)}

/* Topbar */
.topbar{position:sticky;top:0;z-index:50;background:rgba(8,18,40,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(245,165,36,.15)}
.topbar-inner{max-width:1280px;margin:0 auto;padding:14px var(--inset-x);display:flex;align-items:center;justify-content:space-between;gap:24px}
.topbar .mark{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.02em;text-decoration:none}
.topbar .mark .ag{color:var(--amber)}
.topbar .mark .msg{color:var(--paper)}
.nav{display:flex;gap:28px;align-items:center}
.nav a{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-60);text-decoration:none;transition:color .12s ease}
.nav a:hover,.nav a.active{color:var(--amber)}
.nav .btn{padding:10px 18px;font-size:11px}
@media (max-width:720px){.nav a:not(.btn){display:none}}

/* Hero */
.hero{min-height:calc(100vh - 56px);display:flex;align-items:center;background:var(--ink);color:var(--paper)}
.hero.compact{min-height:auto;padding-top:calc(var(--inset-y) * .8);padding-bottom:calc(var(--inset-y) * .6)}
.hero .wordmark{font-family:var(--display);font-weight:700;font-size:clamp(72px,14vw,200px);line-height:.9;letter-spacing:-.04em;margin:32px 0 16px 0}
.hero .wordmark .ag{color:var(--amber)}
.hero .wordmark .msg{color:var(--paper)}
.hero .descriptor{font-family:var(--mono);font-size:clamp(13px,1.2vw,16px);letter-spacing:.4em;color:var(--amber);margin-bottom:16px}
.hero .subhead{font-family:var(--display);font-size:clamp(18px,2vw,24px);font-style:italic;color:var(--paper);max-width:56ch;margin:0 0 40px 0;line-height:1.45}
.hero .cta-row{display:flex;flex-wrap:wrap;gap:16px}

/* Two-column problem grid */
.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);margin-top:48px;align-items:start}
@media (max-width:880px){.problem-grid{grid-template-columns:1fr}}
.problem-grid p{margin:0 0 18px 0}

/* Console block */
.console{background:var(--ink-soft);border-radius:8px;padding:32px;margin-top:48px;font-family:var(--mono);font-size:clamp(13px,1vw,15px);line-height:1.85;color:var(--paper);border:1px solid rgba(245,165,36,.1)}
.console .row{display:flex;gap:16px;align-items:baseline}
.console .label{color:var(--amber);flex:0 0 auto;min-width:160px;letter-spacing:.14em}
.console .meta{color:var(--paper-40);font-size:.9em}
.console .text{color:var(--paper);font-family:var(--display);font-size:1.1em}
.console .check{color:var(--amber)}

/* Three-up grid (pillars) */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 32px;margin-top:56px}
@media (max-width:880px){.grid-3{grid-template-columns:1fr}}

/* Six-up grid (features) */
.grid-6{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 32px;margin-top:56px}
@media (max-width:880px){.grid-6{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.grid-6{grid-template-columns:1fr}}

/* Feature card */
.feature{border-top:1px solid var(--ink-60);padding-top:16px}
section.dark .feature{border-top-color:var(--paper-40)}
.feature .num{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--amber);margin-bottom:12px}
.feature h3{font-family:var(--display);font-weight:700;font-size:22px;line-height:1.2;margin:0 0 8px 0;color:var(--ink);letter-spacing:-.01em}
section.dark .feature h3{color:var(--paper)}
.feature p{font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:var(--ink-60);margin:0;line-height:1.6}
section.dark .feature p{color:var(--paper-60)}

/* Larger feature copy on .grid-3 */
.grid-3 .feature p{font-family:var(--display);font-size:15px;line-height:1.65;color:var(--ink);letter-spacing:0}
section.dark .grid-3 .feature p{color:var(--paper)}

/* Timeline */
.timeline{margin-top:48px;display:grid;gap:4px;border-left:2px solid var(--amber);padding-left:24px}
.timeline .row{display:grid;grid-template-columns:100px 1fr;gap:24px;padding:10px 0;font-family:var(--mono);font-size:clamp(12px,1vw,14px);color:var(--paper)}
section.light .timeline .row{color:var(--ink)}
.timeline .ts{color:var(--amber);letter-spacing:.06em}
.timeline .ev{font-family:var(--display);font-size:1.05em}

/* Numeric facts row */
.facts{margin-top:56px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media (max-width:880px){.facts{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.facts{grid-template-columns:1fr}}
.fact{border-top:1px solid var(--paper-40);padding-top:16px}
section.light .fact{border-top-color:var(--ink-40)}
section.amber .fact{border-top-color:var(--ink-40)}
.fact .big{font-family:var(--display);font-weight:700;font-size:clamp(28px,3vw,38px);color:var(--amber);letter-spacing:-.01em;line-height:1.05;margin-bottom:8px}
section.amber .fact .big{color:var(--ink)}
.fact .sub{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--paper-60);text-transform:uppercase}
section.light .fact .sub{color:var(--ink-60)}
section.amber .fact .sub{color:var(--ink);opacity:.7}

/* Pricing cards */
.pricing{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
@media (max-width:720px){.pricing{grid-template-columns:1fr}}
.price-card{background:var(--paper);border:1px solid var(--ink);padding:36px 32px;border-radius:6px}
.price-card .tag{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--amber);text-transform:uppercase;margin-bottom:12px}
.price-card .price{font-family:var(--display);font-weight:700;font-size:clamp(40px,4.5vw,56px);color:var(--ink);letter-spacing:-.02em;line-height:1;margin-bottom:8px}
.price-card .unit{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ink-60);text-transform:uppercase;margin-bottom:24px}
.price-card p{font-family:var(--display);font-size:15px;line-height:1.55;color:var(--ink);margin:0}

/* Pilot three-column offer */
.pilot{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:48px}
@media (max-width:880px){.pilot{grid-template-columns:1fr}}
.pilot-col h4{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--amber);text-transform:uppercase;margin:0 0 16px 0;border-top:1px solid var(--amber);padding-top:12px}
.pilot-col ul{list-style:none;padding:0;margin:0}
.pilot-col li{font-family:var(--display);font-size:15px;line-height:1.5;color:var(--ink);padding:6px 0 6px 20px;position:relative}
section.dark .pilot-col li{color:var(--paper)}
.pilot-col li::before{content:'›';position:absolute;left:0;color:var(--amber);font-family:var(--mono)}

/* Founder quote block */
.founder-block{margin-top:24px}
.founder-block p{font-family:var(--display);font-size:clamp(17px,1.5vw,20px);line-height:1.6;max-width:64ch;color:var(--ink);margin:0 0 18px 0}
section.dark .founder-block p{color:var(--paper)}
.founder-block .lead{font-style:italic;color:var(--amber)}

/* Contact form */
.form-wrap{max-width:720px;margin:48px auto 0;text-align:left}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:720px){.form-row{grid-template-columns:1fr}}
.field{margin-bottom:20px;display:flex;flex-direction:column}
.field label{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin-bottom:8px}
.field input,.field textarea{font-family:var(--display);font-size:16px;color:var(--paper);background:rgba(245,241,232,.04);border:1px solid rgba(245,241,232,.18);border-radius:4px;padding:14px 16px;width:100%;transition:border-color .15s ease,background .15s ease}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--amber);background:rgba(245,241,232,.07)}
.field textarea{resize:vertical;min-height:120px;font-family:var(--display);line-height:1.5}
.field input::placeholder,.field textarea::placeholder{color:var(--paper-40)}
.hp{position:absolute!important;left:-9999px!important;top:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-actions{display:flex;align-items:center;gap:16px;margin-top:8px;flex-wrap:wrap}
.form-status{font-family:var(--mono);font-size:12px;letter-spacing:.08em;min-height:20px;flex:1}
.form-status.ok{color:var(--amber)}
.form-status.err{color:var(--signal)}
.form-meta{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--paper-40);margin-top:24px;text-align:center;text-transform:uppercase}

/* Footer */
footer{background:var(--ink);color:var(--paper-60);padding:32px var(--inset-x);border-top:1px solid rgba(245,165,36,.15);font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
footer .inner{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;align-items:center}
footer a{color:var(--paper-60);text-decoration:none}
footer a:hover{color:var(--amber)}
footer .links{display:flex;gap:20px;flex-wrap:wrap}

@media (max-width:540px){
  section::before,section::after,section .brackets::before,section .brackets::after{width:18px;height:18px}
  .pagetag{right:32px}
}
