/* ============ AUSTRALWARE SHARED STYLES ============ */
:root{
  --sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  --blue:#1E86CF; --blue-deep:#0F6FB5;
  --green:#2E7D55; --green-deep:#1F6443;
  --amber:#E08A3C; --amber-deep:#C7702A;
  --red:#E1492A;

  --accent: var(--blue);
  --accent-deep: var(--blue-deep);

  --night-1:#0C1C2C; --night-2:#060E18;
  --night-text:#EAF1F7; --night-soft:#9DB1C4;

  --bg:#FBFAF8; --bg-2:#F3EFE8; --surface:#FFFFFF;
  --text:#11171D; --text-soft:#525C64; --text-faint:#8B939B;
  --line:#E7E1D7; --line-soft:#EFEAE1;
  --nav-bg: rgba(251,250,248,.82);
  --shadow: 0 1px 2px rgba(17,23,29,.04), 0 12px 36px rgba(17,23,29,.07);
  --shadow-lg: 0 30px 80px rgba(8,18,28,.30);
}
html.accent-green{ --accent:var(--green); --accent-deep:var(--green-deep); }
html.accent-amber{ --accent:var(--amber); --accent-deep:var(--amber-deep); }

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{ margin:0; background:var(--bg); color:var(--text); font-family:var(--sans);
  font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; letter-spacing:-0.01em; }
h1,h2,h3,h4{ margin:0; font-weight:600; letter-spacing:-0.025em; line-height:1.08; }
p{margin:0;}
a{color:inherit; text-decoration:none;}
img{display:block; max-width:100%;}
.wrap{ max-width:1180px; margin:0 auto; padding:0 32px; }
.eyebrow{ font-family:var(--mono); font-size:12.5px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); }
.muted{color:var(--text-soft);}

/* buttons */
.btn{ display:inline-flex; align-items:center; gap:.5em; font-family:var(--sans); font-size:15.5px; font-weight:550;
  letter-spacing:-0.01em; padding:.72em 1.25em; border-radius:11px; border:1px solid transparent; cursor:pointer; transition:.18s ease; white-space:nowrap; }
.btn .arr{transition:transform .18s ease;}
.btn:hover .arr{transform:translateX(3px);}
.btn-primary{ background:var(--accent); color:#fff; box-shadow:0 1px 0 rgba(255,255,255,.25) inset, 0 8px 22px -10px var(--accent); }
.btn-primary:hover{ background:var(--accent-deep); transform:translateY(-1px); }
.btn-green{ background:var(--green); color:#fff; box-shadow:0 1px 0 rgba(255,255,255,.25) inset, 0 8px 22px -10px var(--green); }
.btn-ghost{ background:transparent; color:var(--text); border-color:var(--line); }
.btn-ghost:hover{ border-color:var(--accent); color:var(--accent); }
.btn-onnight{ background:rgba(255,255,255,.07); color:var(--night-text); border-color:rgba(255,255,255,.16); backdrop-filter:blur(6px); }
.btn-onnight:hover{ background:rgba(255,255,255,.14); transform:translateY(-1px); }
.textlink{ color:var(--accent); font-weight:550; font-size:15px; display:inline-flex; align-items:center; gap:.35em; }
.textlink .arr{transition:transform .18s ease;}
.textlink:hover .arr{transform:translateX(3px);}

/* nav */
.nav{ position:fixed; top:0; left:0; right:0; z-index:60; transition:background .3s ease, border-color .3s ease, backdrop-filter .3s; border-bottom:1px solid transparent; }
.nav.scrolled{ background:var(--nav-bg); backdrop-filter:saturate(140%) blur(16px); border-bottom-color:var(--line); }
.nav-in{ display:flex; align-items:center; justify-content:space-between; height:68px; }
.brand{ display:flex; align-items:center; gap:11px; }
.brand .emblem{ width:40px; height:40px; border-radius:11px; background:#05080c center/165% no-repeat;
  background-image:url('assets/australware-emblem.png'); background-position:50% 36%;
  box-shadow:0 0 0 1px rgba(255,255,255,.08), 0 4px 12px rgba(0,0,0,.25); }
.brand .word{ font-size:19px; font-weight:650; letter-spacing:-0.02em; }
.brand .word .w{ color:var(--accent); }
.nav:not(.scrolled) .word .a{ color:#fff; }
.nav.scrolled .word .a{ color:var(--text); }
.nav-links{ display:flex; align-items:center; gap:6px; }
.nav-links a{ font-size:14.5px; font-weight:500; padding:.5em .8em; border-radius:8px; transition:.16s; }
.nav:not(.scrolled) .nav-links a{ color:rgba(255,255,255,.86); }
.nav.scrolled .nav-links a{ color:var(--text-soft); }
.nav-links a.cur{ color:var(--accent) !important; }
.nav-links a:hover{ color:var(--accent); background:rgba(127,127,127,.08); }
.nav-cta{ margin-left:8px; }
.nav .hamb{ display:none; }

/* night hero base */
.hero{ position:relative; overflow:hidden; color:var(--night-text);
  background:
    radial-gradient(120% 90% at 78% 8%, rgba(224,138,60,.16), transparent 42%),
    radial-gradient(90% 80% at 12% 22%, rgba(46,125,85,.18), transparent 46%),
    radial-gradient(120% 120% at 50% 120%, rgba(30,134,207,.22), transparent 55%),
    linear-gradient(180deg, var(--night-1), var(--night-2));
  padding:148px 0 96px; }
.stars{ position:absolute; inset:0; pointer-events:none; opacity:.9;
  background-image:
    radial-gradient(1.4px 1.4px at 16% 30%, #fff, transparent),
    radial-gradient(1.1px 1.1px at 28% 18%, rgba(255,255,255,.8), transparent),
    radial-gradient(1.6px 1.6px at 64% 14%, #fff, transparent),
    radial-gradient(1.1px 1.1px at 73% 26%, rgba(255,255,255,.7), transparent),
    radial-gradient(1.3px 1.3px at 85% 20%, #fff, transparent),
    radial-gradient(1px 1px at 44% 12%, rgba(255,255,255,.7), transparent),
    radial-gradient(1.2px 1.2px at 8% 16%, rgba(255,255,255,.7), transparent),
    radial-gradient(1.5px 1.5px at 92% 34%, #fff, transparent),
    radial-gradient(1px 1px at 54% 8%, rgba(255,255,255,.6), transparent); }
.hero-grid{ position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; }
.hero h1{ font-size:clamp(38px, 5vw, 62px); line-height:1.04; letter-spacing:-0.035em; margin:18px 0 0; }
.hero h1 .soft{ color:var(--night-soft); }
.hero .lede{ margin:24px 0 0; font-size:19px; line-height:1.62; color:var(--night-soft); max-width:40ch; }
.hero .cta-row{ display:flex; gap:12px; margin-top:32px; flex-wrap:wrap; }
.hero .meta{ display:flex; gap:22px; margin-top:38px; flex-wrap:wrap; }
.hero .meta .m{ display:flex; flex-direction:column; gap:3px; }
.hero .meta .mk{ font-family:var(--mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--night-soft); }
.hero .meta .mv{ font-size:15px; color:var(--night-text); font-weight:550; }

/* mac window */
.macwin{ border-radius:14px; overflow:hidden; background:#fff; box-shadow:var(--shadow-lg); border:1px solid rgba(255,255,255,.10);
  transform:perspective(1400px) rotateY(-7deg) rotateX(2deg); transform-origin:center; }
.macbar{ height:38px; display:flex; align-items:center; gap:8px; padding:0 14px; background:linear-gradient(#f3f1ed,#e9e6df); border-bottom:1px solid #ddd8cf; }
.dot{ width:11px; height:11px; border-radius:50%; }
.dot.r{background:#ec6a5e;} .dot.y{background:#f4bf4f;} .dot.g{background:#61c454;}
.macbar .t{ flex:1; text-align:center; font-size:12.5px; color:#8a857c; font-weight:550; margin-right:46px; font-family:var(--mono); }

/* sections */
section{ position:relative; }
.band{ padding:104px 0; }
.band-soft{ background:var(--bg-2); }
.sec-head{ max-width:660px; }
.sec-head h2{ font-size:clamp(30px,3.6vw,44px); margin:14px 0 0; letter-spacing:-0.03em; }
.sec-head p{ margin:18px 0 0; font-size:18.5px; color:var(--text-soft); }
.sec-head.center{ margin:0 auto; text-align:center; }

/* feature grid (cards) */
.fgrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:56px; }
.fcard{ background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:34px 34px; box-shadow:var(--shadow); }
.fcard .ic{ width:42px; height:42px; border-radius:11px; display:grid; place-items:center; font-family:var(--mono); font-weight:600; font-size:15px;
  background:color-mix(in srgb,var(--accent) 12%, transparent); color:var(--accent); }
.fcard h3{ font-size:20px; margin:18px 0 0; letter-spacing:-0.02em; }
.fcard p{ margin:11px 0 0; font-size:15.5px; color:var(--text-soft); line-height:1.6; }
.fcard ul{ margin:14px 0 0; padding:0; list-style:none; display:grid; gap:9px; }
.fcard li{ display:flex; gap:10px; font-size:14.5px; color:var(--text-soft); align-items:flex-start; }
.fcard li .bp{ flex:none; width:16px; height:16px; margin-top:3px; border-radius:5px; background:color-mix(in srgb, var(--accent) 14%, transparent); color:var(--accent); display:grid; place-items:center; font-size:10px; font-weight:700; }

/* alternating feature row */
.feature{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; margin-top:64px; }
.feature.flip .f-media{ order:2; }
.f-body .tag{ display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-soft); border:1px solid var(--line); border-radius:999px; padding:5px 12px; }
.f-body h3{ font-size:30px; margin:18px 0 0; letter-spacing:-0.03em; }
.f-body .desc{ margin:14px 0 0; font-size:17px; color:var(--text-soft); }
.f-list{ list-style:none; margin:22px 0 0; padding:0; display:grid; gap:11px; }
.f-list li{ display:flex; gap:11px; font-size:15.5px; align-items:flex-start; }
.f-list li .bp{ flex:none; width:18px; height:18px; margin-top:2px; border-radius:6px; background:color-mix(in srgb, var(--accent) 14%, transparent); color:var(--accent); display:grid; place-items:center; font-size:11px; font-weight:700; }
.shot{ width:100%; aspect-ratio:4/3; border-radius:16px; overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line); }
image-slot{ width:100%; height:100%; display:block; }
.appshot{ width:100%; height:auto; display:block; border-radius:12px; }

/* spec strip */
.specs{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:8px; background:var(--line); border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.spec{ background:var(--bg); padding:26px 28px; }
.spec .k{ font-family:var(--mono); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); }
.spec .v{ font-size:16px; margin-top:8px; color:var(--text); font-weight:550; }
.spec .s{ font-size:14px; margin-top:5px; color:var(--text-soft); }

/* CTA band (night) */
.ctaband{ position:relative; overflow:hidden; color:var(--night-text);
  background: radial-gradient(90% 120% at 85% 10%, rgba(224,138,60,.16), transparent 45%),
    radial-gradient(80% 120% at 8% 90%, rgba(30,134,207,.22), transparent 50%),
    linear-gradient(160deg, var(--night-1), var(--night-2)); padding:90px 0; }
.ctaband .in{ position:relative; max-width:680px; }
.ctaband h2{ font-size:clamp(28px,3.4vw,42px); letter-spacing:-0.03em; margin:14px 0 0; }
.ctaband p{ margin:18px 0 0; font-size:18px; color:var(--night-soft); max-width:48ch; }
.ctaband .row{ display:flex; gap:13px; margin-top:28px; flex-wrap:wrap; }

/* footer */
footer{ border-top:1px solid var(--line); padding:46px 0 56px; }
.foot{ display:flex; justify-content:space-between; align-items:flex-start; gap:40px; flex-wrap:wrap; }
.foot .brand .emblem{ width:34px; height:34px; }
.foot .tagline{ color:var(--text-soft); font-size:14.5px; margin-top:14px; max-width:30ch; }
.foot-cols{ display:flex; gap:64px; flex-wrap:wrap; }
.foot-col h5{ font-family:var(--mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--text-faint); margin-bottom:14px; font-weight:500; }
.foot-col a{ display:block; font-size:14.5px; color:var(--text-soft); padding:4px 0; transition:.15s; }
.foot-col a:hover{ color:var(--accent); }
.foot-bottom{ margin-top:42px; padding-top:22px; border-top:1px solid var(--line-soft); display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:13.5px; color:var(--text-faint); }

/* reveal */
.reveal{ opacity:0; transform:translateY(18px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal.instant{ transition:none !important; }
@media (prefers-reduced-motion: reduce){ .reveal{opacity:1 !important; transform:none !important;} html{scroll-behavior:auto;} }

/* responsive */
@media (max-width:900px){
  .nav-links{ position:fixed; inset:68px 0 auto 0; flex-direction:column; align-items:stretch; gap:0;
    background:var(--nav-bg); backdrop-filter:blur(18px); border-bottom:1px solid var(--line); padding:10px 22px 18px; transform:translateY(-12px); opacity:0; pointer-events:none; transition:.22s; }
  .nav-links.open{ transform:none; opacity:1; pointer-events:auto; }
  .nav-links a{ color:var(--text-soft) !important; padding:.7em .4em; font-size:16px; }
  .nav-cta{ margin:8px 0 0; }
  .nav .hamb{ display:inline-flex; flex-direction:column; gap:4px; width:42px; height:42px; align-items:center; justify-content:center; background:none; border:0; cursor:pointer; }
  .nav .hamb span{ width:20px; height:2px; background:currentColor; transition:.2s; }
  .nav:not(.scrolled) .hamb{ color:#fff; }
  .nav.scrolled .hamb{ color:var(--text); }
  .hero-grid,.feature,.feature.flip .f-media,.fgrid,.specs{ grid-template-columns:1fr; }
  .feature.flip .f-media{ order:0; }
  .hero{ padding-top:120px; }
  .macwin{ transform:none; }
}
@media (max-width:560px){ .wrap{ padding:0 20px; } .band{ padding:72px 0; } .foot-cols{ gap:36px; } }
