/* OzCamps — carried from the shipped app's Design System v2, so the website
   and the product read as one thing. No framework: the site's job is to
   serve legal documents fast and legibly, including to App Store review. */
:root{
  --canvas:#f7f7f5; --surface:#fff; --ink:#0a0a0b; --ink-2:#5a5a5f;
  --hairline:#e2e2df; --accent:#12b981; --accent-deep:#0e9466;
  --blue:#2e5c8a; --yellow:#d9a521;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{background:var(--canvas);-webkit-font-smoothing:antialiased}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.65}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.wrap{max-width:64rem;margin:0 auto;padding:0 1.5rem}
.bar{display:flex;align-items:center;justify-content:space-between;height:68px}
.wordmark{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;font-weight:600;font-size:17px;letter-spacing:-.02em}

header{border-bottom:1px solid var(--hairline)}
header nav{display:flex;gap:.25rem}
header nav a{padding:.5rem .75rem;border-radius:999px;font-size:15px;color:var(--ink-2);text-decoration:none}
header nav a:hover{background:var(--surface);color:var(--ink)}
header nav a.active{background:var(--surface);color:var(--ink);font-weight:500}

/* Hero */
.hero{position:relative;min-height:min(88svh,720px);overflow:hidden;isolation:isolate}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero .scrim{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(6,8,10,.62) 0%,rgba(6,8,10,.34) 38%,rgba(6,8,10,.78) 100%)}
.hero-inner{display:flex;flex-direction:column;min-height:min(88svh,720px)}
.hero-copy{margin-top:auto;padding:6rem 0 4rem;max-width:42rem}
.hero h1{margin:1.2rem 0 0;font-size:clamp(2.4rem,6.2vw,4.2rem);line-height:1.02;letter-spacing:-.035em;color:#fff}
.lede{margin:1.5rem 0 0;max-width:34rem;font-size:19px;color:rgba(255,255,255,.85)}
.eyebrow{margin:0;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-2)}
.eyebrow.light{color:rgba(255,255,255,.7)}
.eyebrow.spaced{margin-top:4rem}
.ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.5rem}
.cta-solid{display:inline-flex;align-items:center;gap:.6rem;background:#fff;color:var(--ink);
  padding:.9rem 1.5rem;border-radius:999px;font-weight:500;text-decoration:none}
.cta-solid.dark{background:var(--ink);color:#fff}
.cta-solid span{transition:transform .3s}
.cta-solid:hover span{transform:translateX(4px)}
.cta-ghost{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.45);color:#fff;
  padding:.9rem 1.5rem;border-radius:999px;font-weight:500;text-decoration:none;transition:background .3s,color .3s}
.cta-ghost:hover{background:#fff;color:var(--ink)}
.cta-outline{display:inline-flex;align-items:center;border:1px solid var(--hairline);
  padding:.9rem 1.5rem;border-radius:999px;font-weight:500;text-decoration:none;transition:border-color .3s}
.cta-outline:hover{border-color:var(--ink)}

/* Sections */
.proof{padding:5rem 1.5rem}
.proof-grid{display:grid;gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:16px;overflow:hidden}
@media(min-width:760px){.proof-grid{grid-template-columns:repeat(3,1fr)}}
.proof-grid>div{background:var(--canvas);padding:1.75rem}
.proof-grid h2{margin:0;font-size:17px;letter-spacing:-.01em}
.proof-grid p{margin:.6rem 0 0;font-size:15px;color:var(--ink-2)}
.feature{display:grid;gap:3rem;padding-bottom:6rem;align-items:center}
@media(min-width:860px){.feature{grid-template-columns:.95fr 1.05fr}}
.feature h2{margin:1rem 0 0;font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1.1;letter-spacing:-.03em}
.feature p{color:var(--ink-2);font-size:17px}
.feature figure{margin:0;border:1px solid var(--hairline);border-radius:16px;overflow:hidden}
.feature figure img{aspect-ratio:4/3;object-fit:cover;width:100%}
.honesty{background:var(--ink);color:#fff;border-radius:16px;padding:3.5rem 2rem;margin-bottom:6rem}
@media(min-width:760px){.honesty{padding:4rem 3.5rem}}
.honesty h2{margin:1rem 0 0;max-width:34rem;font-size:clamp(1.7rem,3.4vw,2.4rem);line-height:1.12;letter-spacing:-.03em}
.honesty p{max-width:42rem;color:rgba(255,255,255,.75);font-size:17px}
.index{padding-bottom:1rem}
.doc-index{list-style:none;margin:1.5rem 0 0;padding:0;border-bottom:1px solid var(--hairline)}
.doc-index a{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;
  padding:1.5rem 0;border-top:1px solid var(--hairline);text-decoration:none;transition:border-color .3s}
.doc-index a:hover{border-top-color:var(--accent)}
.doc-index strong{display:block;font-size:19px;font-weight:500;letter-spacing:-.015em}
.doc-index em{display:block;margin-top:.25rem;font-size:15px;font-style:normal;color:var(--ink-2)}
.doc-index a>span:last-child{color:var(--ink-2);transition:transform .3s,color .3s}
.doc-index a:hover>span:last-child{transform:translateX(6px);color:var(--accent)}

/* Documents */
.doc{max-width:46rem;padding-top:4rem}
.doc h1{margin:0;font-size:clamp(2.1rem,5vw,3rem);line-height:1.08;letter-spacing:-.03em}
.standfirst{margin:1.25rem 0 0;font-size:19px;color:var(--ink-2)}
.badge{display:inline-block;margin:1.5rem 0 0;padding:.35rem .9rem;border:1px solid var(--hairline);
  background:var(--surface);border-radius:999px;font-size:14px;color:var(--ink-2)}
.prose{margin-top:3.5rem}
.prose>*+*{margin-top:1.05em}
.prose h2{margin-top:2.4em;padding-top:1.2em;border-top:1px solid var(--hairline);
  font-size:22px;font-weight:600;letter-spacing:-.015em}
.prose ul{padding-left:1.15em}
.prose li+li{margin-top:.4em}
.prose a{color:var(--accent-deep);text-underline-offset:3px}
.card{background:var(--surface);border:1px solid var(--hairline);border-radius:16px;padding:2rem;margin-top:3.5rem}
.card h2{margin:0;font-size:19px;letter-spacing:-.015em}
.card p{margin:.6rem 0 0;font-size:16px;color:var(--ink-2)}
.faq{margin:1.5rem 0 0;border-bottom:1px solid var(--hairline)}
.faq>div{border-top:1px solid var(--hairline);padding:1.75rem 0}
.faq dt{font-size:19px;font-weight:500;letter-spacing:-.015em}
.faq dd{margin:.6rem 0 0;font-size:17px;color:var(--ink-2)}
.sources{list-style:none;margin:3.5rem 0 0;padding:0;display:grid;gap:1.25rem}
.sources .card{margin:0;display:flex;gap:1rem;align-items:flex-start}
.sources .dot{width:10px;height:10px;border-radius:999px;margin-top:.7rem;flex:0 0 auto}
.sources h2{font-size:20px;letter-spacing:-.02em}
.sources dl{margin:1.25rem 0 0;font-size:15px}
.sources dl>div{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}
.sources dt{color:var(--ink-2)}
.sources dd{margin:0}

/* Footer */
footer{margin-top:6rem;border-top:1px solid var(--hairline)}
footer .wrap{padding-top:3.5rem;padding-bottom:3.5rem}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2.5rem}
.foot-about{max-width:24rem}
.foot-about p{margin:1rem 0 0;font-size:15px;color:var(--ink-2)}
.foot-cols{display:flex;gap:3.5rem}
.foot-cols h2{margin:0;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-2)}
.foot-cols ul{list-style:none;margin:1rem 0 0;padding:0;font-size:15px}
.foot-cols li+li{margin-top:.6rem}
.foot-cols a{text-decoration:underline;text-decoration-color:var(--hairline);text-underline-offset:4px}
.foot-cols a:hover{text-decoration-color:var(--accent)}
.foot-legal{margin:3rem 0 0;padding-top:1.5rem;border-top:1px solid var(--hairline);font-size:14px;color:var(--ink-2)}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms !important}}
