/* Keep You Safe - keepyousafe.com.au - v1 2026-07-11 */
:root{
  --paper:#f7f7f4;
  --ink:#1c2528;
  --ink-soft:#46565b;
  --brand:#17545e;        /* oklch(41% 0.06 213) deep teal */
  --brand-deep:#0e3a42;
  --accent:#d99a2b;       /* oklch(72% 0.13 79) amber */
  --line:#dbe2e0;
  --card:#ffffff;
  --wrap:1120px;
  --gut:clamp(1.6rem, 7vw, 6rem);
  --rhythm:clamp(4.5rem, 3rem + 5.5vw, 8.5rem);
}
*{box-sizing:border-box}
@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:clamp(1.05rem, 1rem + .3vw, 1.2rem);line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{line-height:1.15;letter-spacing:-0.01em;margin:0 0 .6em;text-wrap:balance}
h1{font-size:clamp(2.3rem, 1.7rem + 3.2vw, 3.8rem);font-weight:620}
h2{font-size:clamp(1.6rem, 1.3rem + 1.6vw, 2.5rem);font-weight:620}
h3{font-size:clamp(1.15rem, 1.05rem + .5vw, 1.4rem);font-weight:620}
p{margin:0 0 1em}
a{color:var(--brand)}
img,svg{max-width:100%}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.skip{position:absolute;left:-999px;top:0;background:var(--brand);color:#fff;padding:.6rem 1rem;z-index:99}
.skip:focus{left:0}

/* header */
.site-head{background:var(--brand-deep);color:#fff}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1rem}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font-weight:620;font-size:1.15rem}
.brand svg{width:28px;height:28px;flex:none}
.nav{display:flex;gap:1.4rem;flex-wrap:wrap}
.nav a{color:#dfe9e8;text-decoration:none;font-weight:500}
.nav a[aria-current="page"],.nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}

/* hero */
.hero{background:linear-gradient(180deg,var(--brand-deep),var(--brand));color:#fff;padding-block:var(--rhythm)}
.hero p.lead{font-size:clamp(1.15rem, 1.05rem + .5vw, 1.4rem);color:#e6efee;max-width:38em}
.hero .cta-row{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.6rem}

/* buttons */
.btn{display:inline-block;padding:.85rem 1.5rem;border-radius:8px;font-weight:620;text-decoration:none;border:2px solid transparent;transition:background-color .18s cubic-bezier(.25,1,.5,1),border-color .18s cubic-bezier(.25,1,.5,1)}
:where(a,button,summary,input,textarea):focus-visible{outline:3px solid currentColor;outline-offset:2px}
.btn-solid{background:var(--accent);color:#241a05}
.btn-solid:hover{background:#e5aa41}
.btn-ghost{border-color:#ffffff88;color:#fff}
.btn-ghost:hover{border-color:#fff}
.btn-brand{background:var(--brand);color:#fff}
.btn-brand:hover{background:var(--brand-deep)}

/* sections */
section{padding-block:var(--rhythm)}
section.tint{background:#edf1ef}
.section-intro{max-width:44em}
.cards{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:2rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.5rem}
.card h3{margin-top:.2rem}
.card p{margin:0;color:var(--ink-soft)}
.steps{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:2rem}
.step{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.5rem}

/* faq */
.faq details{border-bottom:1px solid var(--line);padding:.9rem 0}
.faq summary{font-weight:620;cursor:pointer}
.faq p{margin:.7rem 0 0;color:var(--ink-soft);max-width:46em}

/* form */
form.lead-form{max-width:560px;display:grid;gap:1rem;margin-top:2rem}
label{font-weight:620;display:block;margin-bottom:.3rem}
input,textarea{width:100%;padding:.75rem .9rem;border:1px solid #b9c4c1;border-radius:8px;font:inherit;background:#fff;color:var(--ink)}
input:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:1px}
.hp{position:absolute;left:-5000px}
.form-note{font-size:.9rem;color:var(--ink-soft)}

/* notice */
.notice{background:#fdf3e3;border:1px solid #ecd9ae;border-radius:12px;padding:1.2rem 1.5rem;margin-top:2rem;max-width:46em}

/* footer */
.site-foot{background:var(--brand-deep);color:#c9d8d6;padding-block:2.5rem;font-size:.95rem}
.site-foot a{color:#fff}
.site-foot .wrap{display:grid;gap:.5rem}

@media (max-width:640px){
  .site-head .wrap{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition-duration:.01ms !important;animation:none !important}
}

/* --- Emil press-feedback: buttons respond to press (2026-07-21) --- */
.btn{transition:transform .16s cubic-bezier(.16,1,.3,1),background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
.btn:active{transform:scale(.97)}
@media (prefers-reduced-motion:reduce){.btn{transition:background-color .16s ease,border-color .16s ease,color .16s ease}.btn:active{transform:none}}
