/* GGAF landing page prototype. Self-hosted fonts, no external requests. */
@font-face{font-family:"Barlow Condensed";font-weight:600;src:url(../assets/fonts/barlow-condensed-latin-600-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Barlow Condensed";font-weight:700;src:url(../assets/fonts/barlow-condensed-latin-700-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Barlow";font-weight:400;src:url(../assets/fonts/barlow-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Barlow";font-weight:500;src:url(../assets/fonts/barlow-latin-500-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Barlow";font-weight:600;src:url(../assets/fonts/barlow-latin-600-normal.woff2) format("woff2");font-display:swap}

:root{
  --maroon:#800000; --maroon-deep:#4d000e; --maroon-night:#2c0008;
  --gold:#f5b94a; --gold-soft:#fde7b8;
  --paper:#ffffff; --sand:#f4efe9; --line:#e2d8cc;
  --ink:#241818; --muted:#5f5252;
  --head:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:"Barlow","Segoe UI",Arial,sans-serif;
  --wrap:1160px; --gut:clamp(16px,4vw,40px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:400 18px/1.55 var(--body);color:var(--ink);background:var(--paper)}
img{max-width:100%;height:auto;display:block}
a{color:var(--maroon)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
h1,h2,h3{font-family:var(--head);font-weight:700;line-height:1.02;margin:0;letter-spacing:.005em}

/* prototype bar: delete the <div class="proto"> element when going live */
.proto{background:var(--gold);color:var(--maroon-night);font:600 14px/1 var(--body);text-align:center;padding:9px var(--gut)}

/* header */
.top{background:var(--maroon-night);color:#fff;border-bottom:4px solid var(--gold)}
.top .wrap{display:flex;align-items:center;gap:28px;min-height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}
.brand img{height:50px;width:auto}
.brand span{font:700 24px/1 var(--head);letter-spacing:.02em}
.nav{margin-left:auto;display:flex;gap:26px;align-items:center}
.nav a{color:#fff;text-decoration:none;font-weight:500;font-size:16px}
.nav a:hover{color:var(--gold)}
.btn{display:inline-block;background:var(--gold);color:var(--maroon-night)!important;font:600 16px/1 var(--body);padding:13px 22px;border-radius:3px;text-decoration:none;border:0;cursor:pointer}
.btn:hover{background:#ffd27d}
.btn.ghost{background:transparent;color:#fff!important;border:2px solid rgba(255,255,255,.55)}
.btn.ghost:hover{border-color:var(--gold);background:transparent}
.menu-btn{display:none;margin-left:auto;background:none;border:2px solid rgba(255,255,255,.5);color:#fff;font:600 15px var(--body);padding:8px 12px;border-radius:3px}

/* hero */
.hero{background:linear-gradient(115deg,var(--maroon-night),var(--maroon-deep) 55%,var(--maroon));color:#fff;overflow:hidden;position:relative;isolation:isolate}
/* background scanning motif: a barcode band and one scanner sweep (see README) */
.hero:before{content:"";position:absolute;inset:0;z-index:-2;background:url(../assets/img/barcode.svg) center/100% 70% no-repeat;opacity:.12;-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 25%,#000 55%,#000 100%);mask-image:linear-gradient(90deg,transparent 0,transparent 25%,#000 55%,#000 100%)}
.hero:after{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;z-index:-1;background:var(--gold);box-shadow:0 0 28px 10px rgba(245,185,74,.55),0 0 90px 40px rgba(245,185,74,.18);opacity:0;pointer-events:none}
@media (prefers-reduced-motion:no-preference){.hero:after{animation:scan 5.5s ease-in-out .6s 1 both}
@keyframes scan{0%{left:0;opacity:0}8%{opacity:1}92%{opacity:1}100%{left:calc(100% - 4px);opacity:0}}}
.hero .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(24px,4vw,56px);align-items:center;padding-block:clamp(40px,6vw,84px)}
.hero h1{font-size:clamp(46px,5.4vw,74px);text-wrap:balance}
.hero p.lead{font-size:clamp(18px,1.7vw,21px);max-width:34em;color:#f3e6df;margin:22px 0 30px}
.hero .cta{display:flex;flex-wrap:wrap;gap:14px}
.board{background:rgba(0,0,0,.32);border:2px solid rgba(245,185,74,.5);border-radius:6px;padding:18px 18px 12px}
.board svg{width:100%;height:auto;display:block}
.board .cap{font-size:16px;color:#fff;margin:6px 4px 2px}
.arc{fill:none;stroke:var(--gold);stroke-width:3.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.dot{fill:var(--gold)}.dot.home{fill:#fff;stroke:var(--gold);stroke-width:4}
.lbl{font:700 38px var(--head);fill:#fff;letter-spacing:.04em}
.sub{font:500 24px var(--body);fill:#fff}
.grat{stroke:rgba(255,255,255,.12);stroke-width:1}
@media (prefers-reduced-motion:no-preference){
  .arc{stroke-dasharray:1;animation:draw 2.4s ease-out both}
  .arc:nth-of-type(2){animation-delay:.25s}.arc:nth-of-type(3){animation-delay:.5s}.arc:nth-of-type(4){animation-delay:.75s}
  @keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
}

/* sections */
section{padding-block:clamp(48px,7vw,92px)}
section.alt{background:var(--sand)}
.sec-head{max-width:46rem;margin-bottom:38px}
.sec-head h2{font-size:clamp(34px,4.2vw,54px);color:var(--maroon)}
.sec-head p{color:var(--muted);margin:14px 0 0}

.do{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:4px solid var(--maroon)}
.do article{padding:26px 28px 8px 0}
.do article+article{padding-left:28px;border-left:1px solid var(--line)}
.do h3{font-size:30px;color:var(--maroon);margin-bottom:10px}
.do p{margin:0 0 18px;color:var(--ink)}

.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.makers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.makers li{font:700 30px/1 var(--head);padding:20px 18px;background:#fff;border-left:6px solid var(--gold);color:var(--maroon)}
.note{font-size:15px;color:var(--muted);margin-top:16px}

table.st{width:100%;border-collapse:collapse;font-size:17px;background:#fff}
table.st th{font:600 14px var(--body);text-align:left;padding:10px 14px;background:var(--maroon);color:#fff}
table.st td{padding:10px 14px;border-bottom:1px solid var(--line)}
table.st td:first-child{font:700 22px var(--head);color:var(--maroon);width:84px;letter-spacing:.04em}

/* dealer portal band */
.portal{background:var(--maroon-night);color:#fff}
.portal .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.portal h2{font-size:clamp(36px,4.6vw,60px)}
.portal p{color:#f0ddd4;max-width:30em}
.ticks{list-style:none;padding:0;margin:20px 0 0}
.ticks li{padding-left:30px;position:relative;margin:8px 0}
.ticks li:before{content:"";position:absolute;left:0;top:.55em;width:16px;height:8px;border-left:3px solid var(--gold);border-bottom:3px solid var(--gold);transform:rotate(-45deg)}
.signin{background:#fff;color:var(--ink);border-radius:6px;padding:30px;border-top:6px solid var(--gold)}
.signin h3{font-size:34px;color:var(--maroon);margin-bottom:4px}
.signin p{color:var(--muted);font-size:16px;margin:0 0 18px}
.signin label{display:block;font-weight:600;font-size:15px;margin:14px 0 6px}
.signin input{width:100%;font:400 18px var(--body);padding:12px 13px;border:1.5px solid #b9aa9a;border-radius:3px}
.signin input:focus{outline:3px solid var(--gold);border-color:var(--maroon)}
.signin .btn{width:100%;margin-top:22px;background:var(--maroon);color:#fff!important;padding:15px}
.signin .btn:hover{background:var(--maroon-deep)}
.signin .fine{font-size:14px;margin:14px 0 0}
#msg{font-size:15px;margin-top:14px;color:var(--maroon);font-weight:600}

/* contact */
.contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.contact h3{font-size:26px;color:var(--maroon);margin-bottom:8px}
.contact p{margin:0}
.ph{background:var(--gold-soft);padding:1px 5px;border-radius:2px}

footer{background:var(--maroon-night);color:#d9c3b9;font-size:15px;padding-block:30px;border-top:4px solid var(--gold)}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}
footer a{color:#fff}

@media (max-width:900px){
  .hero .wrap,.split,.portal .wrap{grid-template-columns:1fr}
  .do{grid-template-columns:1fr}
  .do article,.do article+article{padding:22px 0 6px;border-left:0}
  .do article+article{border-top:1px solid var(--line)}
  .contact{grid-template-columns:1fr}
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--maroon-night);flex-direction:column;align-items:flex-start;padding:18px var(--gut) 24px;gap:16px;z-index:5}
  .nav.open{display:flex}
  .top{position:relative}
}
@media (max-width:520px){.makers{grid-template-columns:1fr}.brand span{font-size:21px}}
@media (max-width:520px){.lbl{font-size:40px}.sub{font-size:27px}.board{padding:12px 10px 8px}}
