/* OCD framework layer for totalpools.com.au. Generated by tools/build_site.py from tools/build_home.py. */
/* OCD framework layer, homepage. Sits on top of the base stylesheet above. */
body{overflow-x:clip}
:target,#quote{scroll-margin-top:84px}
.topbar{background:var(--navy);color:rgba(255,255,255,.78);font-size:12.5px;font-weight:600;text-align:center;padding:8px 16px;letter-spacing:.01em}
.topbar b{color:var(--gold);font-weight:700}
.topbar a{color:#fff;font-weight:700}
.topbar .sep{opacity:.35;margin:0 8px}
.nav-tel{font-weight:800;font-size:17px;color:var(--navy);white-space:nowrap;letter-spacing:-.01em}
.nav-tel:hover{color:var(--pool)}
.g-badge{display:inline-flex;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:9px 14px;box-shadow:0 6px 24px rgba(8,21,43,.18);color:var(--navy)}
.g-badge .g{width:28px;height:28px;border-radius:50%;background:#fff;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:16px;color:#4285F4}
.g-badge .score{font-weight:800;font-size:18px;line-height:1}
.g-badge .stars{color:#F5A623;font-size:13px;letter-spacing:1px;line-height:1}
.g-badge small{display:block;font-size:11px;color:var(--muted);font-weight:600;margin-top:2px}
.hq{position:relative;z-index:2;max-width:1120px;margin:0 auto;padding:72px 40px 120px;width:100%;display:grid;grid-template-columns:1fr 410px;gap:52px;align-items:center}
.hq h1{font-size:clamp(33px,4.4vw,52px);font-weight:800;color:#fff;line-height:1.05;margin-bottom:18px;letter-spacing:-.01em}
.hq h1 em{font-style:normal;color:#7dd3f8}
.hq p.lead{font-size:17px;font-weight:400;color:rgba(255,255,255,.82);line-height:1.65;max-width:560px;margin-bottom:28px}
.hq .trustline{margin-top:22px;font-size:13px;color:rgba(255,255,255,.7);font-weight:500}
.hq-badges{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:22px}
.hq-form{background:#fff;border-radius:18px;padding:28px;box-shadow:0 18px 50px rgba(8,21,43,.35)}
.hq-form h2{font-size:22px;font-weight:800;color:var(--navy);margin-bottom:4px}
.hq-form>p{font-size:13.5px;color:var(--muted);margin-bottom:16px}
.privacy,.hero .privacy{font-size:12px;color:var(--muted);margin:10px 0 0;max-width:none;line-height:1.5;text-align:center;font-weight:400}
.hero-mimg{display:none}
.f-row>*{min-width:0}
.f-field input,.f-field select,.f-field textarea{width:100%;min-width:0}
.trustbar{position:relative;z-index:3;max-width:1120px;margin:-56px auto 0;padding:0 40px}
.trustbar ul{list-style:none;background:#fff;border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);display:flex;flex-wrap:wrap;justify-content:center;gap:12px 26px;padding:20px 26px}
.trustbar li{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;color:var(--navy)}
.tick{width:22px;height:22px;border-radius:50%;background:var(--pool);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;flex-shrink:0}
.offer-mini{display:grid;grid-template-columns:150px 1fr;align-items:stretch}
.offer-mini .pic{overflow:hidden}
.offer-mini .pic img{width:100%;height:100%;object-fit:cover}
.pill{display:inline-block;background:var(--grad-gold);color:var(--navy);font-size:11px;font-weight:800;padding:4px 12px;border-radius:100px;margin-bottom:10px;letter-spacing:.03em}
.band-photo{position:relative;overflow:hidden;text-align:center;padding:96px 40px;color:#fff}
.band-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band-photo::before{content:'';position:absolute;inset:0;background:rgba(8,21,43,.82);z-index:1}
.band-photo .in{position:relative;z-index:2;max-width:760px;margin:0 auto}
.band-photo h2,.band-brand h2,.final h2{font-size:clamp(26px,3.6vw,40px);font-weight:800;line-height:1.08;margin-bottom:14px;letter-spacing:-.01em}
.band-photo h2 em{font-style:normal;color:#7dd3f8}
.band-photo p{font-size:16.5px;color:rgba(255,255,255,.75);line-height:1.65;margin-bottom:28px}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.band-photo .btn-row,.band-brand .btn-row{justify-content:center}
.owner{position:relative}
.owner-pics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.owner-pics figure{margin:0;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);background:var(--off)}
.owner-pics img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 20%}
.owner-pics figcaption{padding:12px 14px;font-weight:700;color:var(--navy);font-size:15px}
.owner-pics figcaption span{display:block;font-weight:500;color:var(--muted);font-size:12.5px}
.stat-badge{position:absolute;right:-14px;top:-22px;background:var(--grad-gold);color:var(--navy);border-radius:16px;padding:16px 20px;box-shadow:var(--sh);max-width:220px}
.stat-badge b{display:block;font-size:30px;font-weight:900;line-height:1}
.stat-badge span{font-size:12.5px;font-weight:700;line-height:1.35;display:block;margin-top:4px}
.copy p{font-size:16px;color:var(--muted);line-height:1.75;margin-bottom:14px}
.ticks{list-style:none;margin:20px 0 6px}
.ticks li{display:flex;gap:11px;align-items:flex-start;font-size:15px;font-weight:600;color:var(--navy);padding:7px 0}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.why div{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:26px}
.why h3{font-size:18px;font-weight:800;color:var(--navy);margin-bottom:8px}
.why p{font-size:14.5px;color:var(--muted);line-height:1.65}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.feature+.feature{margin-top:88px}
.feature .media{border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);aspect-ratio:4/3.4}
.feature .media img{width:100%;height:100%;object-fit:cover}
.feature.flip .media{order:2}
.band-brand{background:linear-gradient(120deg,var(--royal),var(--pool));color:#fff;text-align:center;padding:76px 40px}
.band-brand p{font-size:16.5px;color:rgba(255,255,255,.85);max-width:620px;margin:0 auto}
.btn-white{background:#fff;color:var(--navy)}
.btn-white:hover{transform:translateY(-2px)}
.reviews-head{display:flex;flex-direction:column;align-items:center;gap:16px}
.contact-block{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}
.details{background:var(--grad-dark);color:#fff;border-radius:18px;padding:36px}
.details .lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin:22px 0 6px}
.details .lbl:first-of-type{margin-top:0}
.details .big{font-size:30px;font-weight:900;color:#fff;letter-spacing:-.01em}
.details a{color:#fff}
.details p{font-size:15px;color:rgba(255,255,255,.75);line-height:1.65}
.details h3{font-size:20px;font-weight:800;margin-bottom:18px}
.final{background:var(--grad-gold);color:var(--navy)}
.final .card-in{display:grid;grid-template-columns:1.3fr .7fr;align-items:stretch}
.final .txt{align-self:center;padding:72px 56px 72px max(40px,calc((100vw - 1440px) / 2 + 40px))}
.final p{font-size:14.5px;font-weight:600;opacity:.85}
.final .pic{position:relative;min-height:360px}
.final .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.trustbar+.final{margin-top:56px}
.btn-navy-o{background:transparent;color:var(--navy);border:1.5px solid var(--navy)}
@media(max-width:1000px){
  .hq{grid-template-columns:1fr;padding:56px 40px 100px}
  .hq-form{display:none}
  .why{grid-template-columns:1fr 1fr}
  .feature,.contact-block{grid-template-columns:1fr;gap:32px}
  .feature.flip .media{order:0}
  .contact-block .form{order:-1}
  .final .card-in{grid-template-columns:1fr}
  .final .txt{padding:56px 40px}
  .final .pic{min-height:240px}
  .nav-tel{display:none}
}
@media(max-width:768px){
  .hero-mimg{display:block;margin:0 0 18px;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.35)}
  .hero-mimg img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center 40%}
  .topbar .wide{display:none}
}
@media(max-width:640px){
  .hq{padding:28px 22px 84px}
  .hq h1{font-size:30px}
  .hq p.lead{font-size:15.5px}
  .hq .hero-btns .btn{width:100%;justify-content:center}
  .trustbar{padding:0 16px;margin-top:-48px}
  .trustbar ul{justify-content:flex-start;padding:18px;gap:10px 18px}
  .trustbar li{font-size:13px;width:calc(50% - 9px)}
  .offer-mini{grid-template-columns:1fr}
  .offer-mini .pic img{height:150px}
  .why{grid-template-columns:1fr}
  .feature+.feature{margin-top:56px}
  .band-photo,.band-brand{padding:64px 22px}
  .band-photo .btn,.band-brand .btn,.copy .btn,.final .btn{width:100%;justify-content:center}
  .stat-badge{right:10px;top:-18px}
  .details{padding:26px 22px}
  .details .big{font-size:26px}
  .final .txt{padding:44px 22px}
}

/* ---- site-wide additions ---- */
.w,.hero-in,.hq,.trustbar,.offer-grid,.foot-in,.foot-btm{max-width:1440px}
@media(max-width:1200px){.nav-tel{display:none}}
@media(max-width:1000px){.contact-split .form{order:-1}}
.hero-in .privacy,.offer-hero .privacy{color:var(--muted)}
.form .privacy{color:var(--muted)}
