/*
Theme Name: TapGo Landing Theme
Theme URI: https://tapgo.com.au/
Description: Single-page landing theme for TapGo PowerPartners
Version: 1.0
License: GPLv2 or later
Text Domain: tapgo-landing
*/

:root{--orange:#ff6a00;--text:#111111;--muted:#5d6672;--line:#e7ebef;--bg:#ffffff;--soft:#f7f8fa;--radius:22px;--shadow:0 18px 48px rgba(17,17,17,.06);--max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.55}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
.container{max-width:var(--max);margin:0 auto;padding:0 24px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(231,235,239,.9)}
.site-header .inner{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:24px}
.brand{display:flex;align-items:center;gap:14px;font-weight:800;letter-spacing:-.02em}
.brand img{height:175px;width:auto}
.nav{display:flex;gap:28px;font-size:15px;color:#364152;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:999px;font-weight:800;letter-spacing:-.01em;border:none;cursor:pointer}
.btn-primary{background:var(--orange);color:#fff}
.btn-secondary{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.22)}
.hero{position:relative;overflow:hidden;background:#0f1216;color:#fff}
.hero-media,.hero-media video,.hero-overlay{position:absolute;inset:0;width:100%;height:100%}
.hero-media video{object-fit:cover;filter:saturate(1.05) contrast(1.02) brightness(.72)}
.hero-fallback{position:absolute;inset:0;background:radial-gradient(1200px 500px at 20% 10%, rgba(255,106,0,.22), transparent 55%),radial-gradient(800px 380px at 88% 12%, rgba(255,255,255,.08), transparent 50%),linear-gradient(180deg, rgba(11,15,19,.75), rgba(11,15,19,.85))}
.hero-overlay{background:linear-gradient(180deg, rgba(11,15,19,.18), rgba(11,15,19,.28))}
.hero-inner{position:relative;padding:80px 0 96px;min-height:760px;display:flex;align-items:center}
.hero-copy{max-width:860px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
h1{margin:18px 0 18px;font-size:clamp(42px,6.1vw,78px);line-height:.98;letter-spacing:-.045em}
.hero-sub{max-width:760px;font-size:clamp(18px,2vw,22px);line-height:1.45;color:rgba(255,255,255,.92)}
.hero-metrics{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap}
.metric{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.15);padding:14px 16px;border-radius:18px;min-width:180px}
.metric strong{display:block;font-size:24px;line-height:1}
.metric span{display:block;font-size:13px;color:rgba(255,255,255,.8);margin-top:6px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.hero-note{margin-top:18px;color:rgba(255,255,255,.78);font-size:14px;max-width:900px}
section{padding:88px 0}
.section-soft{background:var(--soft)}
.kicker{color:var(--orange);font-weight:800;letter-spacing:.02em;text-transform:uppercase;font-size:13px;margin-bottom:12px}
.section-title{font-size:clamp(30px,4vw,50px);line-height:1.02;letter-spacing:-.04em;margin:0 0 18px}
.section-lead{max-width:840px;color:var(--muted);font-size:18px;margin:0}
.two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:start}
.stats-panel{background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:var(--shadow)}
.stats-panel .stat{padding:18px 0;border-bottom:1px solid var(--line)}
.stats-panel .stat:last-child{border-bottom:none}
.stats-panel strong{display:block;font-size:34px;letter-spacing:-.05em}
.stats-panel span{color:var(--muted)}
.pill-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.pill{background:#fff;border:1px solid var(--line);border-radius:999px;padding:11px 14px;font-size:14px;color:#475467}
.split-highlight{display:grid;grid-template-columns:.95fr 1.05fr;gap:24px;align-items:stretch;margin-top:34px}
.highlight{border-radius:26px;padding:30px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.highlight.orange{background:linear-gradient(180deg,#fff6ef,#fff);border-color:#ffd7bd}
.highlight h3{margin:0 0 10px;font-size:26px;letter-spacing:-.03em}
.highlight p{margin:0;color:var(--muted)}
.quote{font-size:22px;line-height:1.35;letter-spacing:-.03em;margin:0}
.partner-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:34px}
.partner{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:var(--shadow)}
.partner h3{margin:0 0 10px;font-size:22px;letter-spacing:-.03em}
.partner p{margin:0;color:var(--muted)}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.card h3{margin:0 0 10px;font-size:24px;letter-spacing:-.03em}
.card p{margin:0;color:var(--muted)}
.contact-wrap{display:grid;grid-template-columns:.88fr 1.12fr;gap:30px;align-items:start}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px;box-shadow:var(--shadow)}
.notice{margin:0 0 18px;padding:14px 16px;border-radius:16px;font-size:15px}
.notice-success{background:#eefaf2;color:#166534;border:1px solid #c7eed2}
.notice-error{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}
form.tapgo-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.full{grid-column:1/-1}
input,textarea,select{width:100%;padding:16px 16px;border-radius:16px;border:1px solid var(--line);font:inherit;background:#fff}
textarea{min-height:150px;resize:vertical}
.submit{border:none;background:var(--orange);color:#fff;padding:16px 20px;border-radius:999px;font-weight:800;cursor:pointer}
.footnote{margin-top:12px;font-size:13px;color:#6b7280}
.site-footer{padding:26px 0 50px;color:#667085;font-size:14px}
@media (max-width:980px){
  .nav{display:none}
  .hero-inner{padding:64px 0 72px;min-height:680px}
  .two-col,.split-highlight,.partner-grid,.card-grid,.contact-wrap{grid-template-columns:1fr}
}
.company-name{font-weight:700;}