/* ==========================================================================
   acmremovals.com.au — Environics house style
   Palette and type pulled from live computed styles on environics.com.au
   ========================================================================== */

:root{
  --navy:#061A44;
  --accent:#2EA3F2;
  --cream:#FBF9F6;
  --panel:#F4F7F9;
  --deep:#003759;
  --body:#666666;
  --head:#333333;
  --line:#E3E9EF;
  --white:#ffffff;
  --warn-bg:#FFF8E8;
  --warn-line:#E8C97A;
  --maxw:1100px;
}

*,*::before,*::after{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}

body{
  margin:0;
  font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.7;
  color:var(--body);
  background:var(--white);
}

h1,h2,h4,h5,h6{
  font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  font-weight:700;
  color:var(--head);
  line-height:1.25;
  margin:0 0 .6em;
}
h1{font-size:2.4rem;letter-spacing:-.01em;}
h2{font-size:1.75rem;margin-top:2.2em;}
h3{
  font-family:'Poppins',sans-serif;
  font-weight:700;
  color:var(--navy);
  font-size:1.18rem;
  line-height:1.45;
  margin:2em 0 .5em;
}
h4{font-size:1.02rem;margin:1.6em 0 .4em;}

p{margin:0 0 1.1em;}
a{color:var(--deep);text-decoration:underline;text-underline-offset:2px;}
a:hover{color:var(--accent);}

ul,ol{margin:0 0 1.2em;padding-left:1.3em;}
li{margin-bottom:.5em;}
li>ul,li>ol{margin-top:.5em;margin-bottom:.3em;}

strong{color:var(--head);font-weight:600;}
code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.9em;background:var(--panel);padding:.1em .35em;border-radius:3px;color:var(--deep);
}
hr{border:0;border-top:1px solid var(--line);margin:2.5em 0;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.narrow{max-width:820px;}

/* ---------- header ---------------------------------------------------- */

.site-header{
  position:sticky;top:0;z-index:50;
  background:var(--white);
  border-bottom:1px solid var(--line);
  box-shadow:0 1px 3px rgba(6,26,68,.05);
}
.header-inner{
  max-width:var(--maxw);margin:0 auto;padding:0 24px;
  display:flex;align-items:center;justify-content:space-between;
  min-height:74px;gap:24px;
}
.nav{display:flex;flex-wrap:wrap;gap:17px;order:1;}
.nav a{
  font-size:.755rem;font-weight:500;letter-spacing:.015em;
  color:var(--body);text-decoration:none;text-transform:uppercase;
  padding:6px 0;border-bottom:2px solid transparent;white-space:nowrap;
}
.nav a:hover{color:var(--navy);border-bottom-color:var(--accent);}
.nav a.current{color:var(--navy);border-bottom-color:var(--accent);}

.wordmark{order:2;text-decoration:none;display:block;text-align:right;line-height:1.15;}
.wordmark .mark{
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.3rem;
  color:var(--navy);letter-spacing:-.02em;display:block;
}
.wordmark .mark span{color:var(--accent);}
.wordmark .sub{
  font-size:.56rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--body);display:block;white-space:nowrap;
}

.menu-toggle{
  display:none;order:0;background:none;border:1px solid var(--line);
  border-radius:4px;padding:8px 11px;cursor:pointer;color:var(--navy);
  font-size:1rem;line-height:1;
}

/* ---------- hero ------------------------------------------------------- */

.hero{
  background:linear-gradient(150deg,var(--navy) 0%,var(--deep) 100%);
  color:#D9E4F0;padding:76px 0 68px;
}
.hero h1{color:var(--white);max-width:20ch;}
.hero.page h1{font-size:2.05rem;max-width:26ch;}
.hero .eyebrow{
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent);margin:0 0 1.1em;font-weight:600;
}
.hero .lede{font-size:1.1rem;max-width:62ch;color:#C9D8E8;margin-bottom:0;}
.hero .lede:last-child{margin-bottom:0;}

.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:2em;}
.btn{
  display:inline-block;padding:13px 26px;border-radius:3px;
  font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;border:2px solid rgba(255,255,255,.55);color:var(--white);
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.btn:hover{background:var(--white);border-color:var(--white);color:var(--navy);}
.btn.solid{background:var(--accent);border-color:var(--accent);}
.btn.solid:hover{background:var(--white);border-color:var(--white);color:var(--navy);}

/* ---------- main ------------------------------------------------------- */

main{padding:56px 0 20px;}
main > .wrap > :first-child{margin-top:0;}

.lead{font-size:1.12rem;color:var(--head);}

.section{padding:14px 0;}
.band{background:var(--cream);padding:56px 0;margin:56px 0;}
.band-panel{background:var(--panel);padding:56px 0;margin:56px 0;}

/* ---------- cards ------------------------------------------------------ */

.cards{
  display:grid;gap:22px;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  margin:2em 0;
}
.card{
  background:var(--white);border:1px solid var(--line);border-radius:4px;
  padding:26px 24px 22px;display:flex;flex-direction:column;
  transition:box-shadow .18s ease,transform .18s ease;
}
.card:hover{box-shadow:0 8px 24px rgba(6,26,68,.09);transform:translateY(-2px);}
.card h3{margin:0 0 .5em;font-size:1.08rem;}
.card p{font-size:.95rem;margin-bottom:1em;}
.card .more{
  margin-top:auto;font-size:.76rem;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--accent);text-decoration:none;
}
.card .more:hover{color:var(--navy);}
.card a.card-link{text-decoration:none;color:inherit;}

/* ---------- number tiles ----------------------------------------------- */

.figures{
  display:grid;gap:20px;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  margin:2em 0;
}
.figure{
  background:var(--white);border:1px solid var(--line);
  border-top:4px solid var(--accent);border-radius:4px;padding:24px 22px;
}
.figure .num{
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.9rem;
  color:var(--navy);display:block;line-height:1.1;
}
.figure .unit{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:.7em;}
.figure p{font-size:.93rem;margin:0;}

/* ---------- callouts ---------------------------------------------------- */

.callout{
  background:var(--panel);border-left:4px solid var(--accent);
  padding:22px 24px;margin:2em 0;border-radius:0 4px 4px 0;
}
.callout p:last-child,.callout ul:last-child,.callout ol:last-child{margin-bottom:0;}
.callout h3,.callout h4{margin-top:0;}

.callout.warn{background:var(--warn-bg);border-left-color:var(--warn-line);}
.callout.rule{background:var(--cream);border-left-color:var(--navy);}

blockquote{
  margin:1.8em 0;padding:4px 0 4px 24px;
  border-left:3px solid var(--line);color:var(--head);font-style:italic;
}
blockquote p:last-child{margin-bottom:0;}
blockquote cite{display:block;font-style:normal;font-size:.85rem;color:var(--body);margin-top:.7em;}

/* ---------- tables ------------------------------------------------------ */

.table-scroll{overflow-x:auto;margin:1.8em 0;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:4px;}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:.94rem;background:var(--white);}
caption{caption-side:top;text-align:left;font-size:.85rem;color:var(--body);padding:12px 16px 10px;background:var(--panel);border-bottom:1px solid var(--line);}
th,td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);}
thead th{
  background:var(--navy);color:var(--white);font-family:'Montserrat',sans-serif;
  font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;border-bottom:none;
}
tbody tr:last-child td{border-bottom:none;}
tbody tr:nth-child(even){background:#FAFCFD;}
td strong{color:var(--navy);}
.matrix td.yes{color:#1B7F4B;font-weight:600;}
.matrix td.no{color:#A23B3B;font-weight:600;}
.matrix td.dep{color:var(--body);font-size:.86rem;}
.matrix th.grp{background:var(--deep);}
table.compact{font-size:.9rem;min-width:480px;}

/* ---------- figure / diagram -------------------------------------------- */

figure{margin:2.4em 0;}
figure svg{max-width:100%;height:auto;display:block;background:var(--white);border:1px solid var(--line);border-radius:4px;}
figcaption{font-size:.86rem;color:var(--body);margin-top:.9em;}

.placeholder{
  border:1px dashed var(--line);background:var(--panel);border-radius:4px;
  padding:28px 24px;text-align:center;font-size:.92rem;color:var(--body);margin:2em 0;
}

/* ---------- footer ------------------------------------------------------ */

.disclaimer{
  background:var(--cream);border-top:1px solid var(--line);
  padding:34px 0;font-size:.88rem;
}
.disclaimer p{margin:0;max-width:78ch;}

.site-footer{background:var(--navy);color:#9FB3CC;padding:52px 0 30px;font-size:.9rem;}
.site-footer h4{color:var(--white);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 1em;}
.site-footer a{color:#C9D8E8;text-decoration:none;}
.site-footer a:hover{color:var(--white);text-decoration:underline;}
.footer-grid{display:grid;gap:34px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.footer-grid ul{list-style:none;margin:0;padding:0;}
.footer-grid li{margin-bottom:.55em;}
.colophon{
  border-top:1px solid rgba(255,255,255,.13);margin-top:38px;padding-top:22px;
  font-size:.8rem;color:#7E92AC;
}
.colophon p{margin:0 0 .4em;}

/* ---------- responsive --------------------------------------------------- */

@media (max-width:900px){
  .header-inner{flex-wrap:wrap;min-height:64px;padding:12px 24px;}
  .menu-toggle{display:block;}
  .nav{
    order:3;flex-basis:100%;flex-direction:column;gap:0;
    display:none;border-top:1px solid var(--line);margin-top:10px;padding-top:6px;
  }
  .nav.open{display:flex;}
  .nav a{padding:11px 0;border-bottom:1px solid var(--line);text-transform:none;font-size:.95rem;}
  .nav a:last-child{border-bottom:none;}
  .wordmark{order:1;text-align:left;margin-left:auto;}
  h1{font-size:1.85rem;}
  .hero{padding:52px 0 46px;}
  .hero.page h1{font-size:1.6rem;}
  main{padding:38px 0 12px;}
  .band,.band-panel{padding:40px 0;margin:40px 0;}
}

@media (max-width:520px){
  body{font-size:16px;}
  .wrap{padding:0 18px;}
  .header-inner{padding:12px 18px;}
  .btn{width:100%;text-align:center;}
}

/* ---------- print --------------------------------------------------------- */

@media print{
  .site-header,.btn-row,.menu-toggle,.site-footer{display:none !important;}
  body{font-size:11pt;color:#000;}
  .hero{background:none;color:#000;padding:0 0 12pt;border-bottom:1pt solid #999;}
  .hero h1,.hero .lede{color:#000;}
  .hero .eyebrow{color:#000;}
  .wrap{max-width:none;padding:0;}
  .band,.band-panel{background:none;margin:0;padding:12pt 0;}
  .table-scroll{overflow:visible;border:none;}
  table{min-width:0;font-size:9.5pt;}
  thead th{background:#eee !important;color:#000 !important;}
  a{color:#000;text-decoration:none;}
  .card,.figure,.callout{break-inside:avoid;}
  h2,h3{break-after:avoid;}
}
