:root{
  --bg:#0A1A2F;
  --bg-2:#08131F;
  --ink:#EAF0F7;
  --muted:rgba(234,240,247,.60);
  --faint:rgba(234,240,247,.42);
  --line:rgba(234,240,247,.13);
  --accent:#7CA2D1;
  --max:1080px;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none;}

/* Header */
.site-header{
  position:absolute;top:0;left:0;right:0;z-index:10;
  display:flex;align-items:center;justify-content:space-between;
  padding:30px clamp(20px,5vw,60px);
}
.wordmark{font-weight:600;letter-spacing:.34em;font-size:15px;color:var(--ink);}
.nav{display:flex;gap:36px;}
.nav a{font-size:14px;letter-spacing:.04em;color:var(--muted);transition:color .2s ease;}
.nav a:hover{color:var(--ink);}

/* Hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;}
.hero__media{
  position:absolute;inset:0;
  background-color:var(--bg);
  background-image:
    linear-gradient(180deg,rgba(8,19,31,.46) 0%,rgba(8,19,31,.26) 26%,rgba(8,19,31,.40) 66%,rgba(8,19,31,.82) 100%),
    url("assets/sydney-twilight.jpg");
  background-size:cover;
  background-position:center 52%;
}
.hero__inner{
  position:relative;width:100%;max-width:var(--max);
  margin:0 auto;padding:0 clamp(20px,5vw,60px);text-align:center;
}
.eyebrow{
  text-transform:uppercase;letter-spacing:.28em;font-size:12px;font-weight:500;
  color:rgba(234,240,247,.80);margin:0 0 24px;
  text-shadow:0 1px 12px rgba(4,10,18,.55);
}
.hero__title{
  font-size:clamp(34px,5.6vw,62px);line-height:1.07;font-weight:600;
  letter-spacing:-.012em;margin:0 auto 26px;max-width:20ch;
  text-shadow:0 2px 34px rgba(4,10,18,.62),0 1px 6px rgba(4,10,18,.45);
}
.hero__lede{
  font-size:clamp(16px,1.4vw,19px);color:rgba(234,240,247,.92);
  max-width:54ch;margin:0 auto;
  text-shadow:0 1px 18px rgba(4,10,18,.6);
}
.scroll-cue{
  position:absolute;left:50%;bottom:38px;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:12px;
  font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint);
}
.scroll-cue__line{width:1px;height:46px;background:linear-gradient(var(--faint),transparent);}

/* Sections */
.section{max-width:var(--max);margin:0 auto;padding:clamp(72px,10vw,128px) clamp(20px,5vw,60px);}
.section + .section{border-top:1px solid var(--line);}
.section__label{
  text-transform:uppercase;letter-spacing:.24em;font-size:12px;font-weight:600;
  color:var(--accent);margin:0 0 16px;
}
.section__title{
  font-size:clamp(26px,3.6vw,40px);font-weight:600;letter-spacing:-.01em;
  line-height:1.14;margin:0 0 56px;max-width:24ch;
}

/* Services as rows */
.rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);}
.row{
  display:grid;grid-template-columns:88px 1fr;gap:8px 28px;align-items:start;
  padding:34px 4px;border-bottom:1px solid var(--line);
  transition:padding-left .25s ease;
}
.row:hover{padding-left:16px;}
.row__num{font-size:15px;font-weight:600;letter-spacing:.12em;color:var(--accent);padding-top:5px;}
.row__body h3{font-size:clamp(20px,2.1vw,25px);font-weight:600;margin:0 0 10px;}
.row__body p{margin:0;color:var(--muted);font-size:15.5px;max-width:56ch;}

/* Pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;}
.pillar h3{
  font-size:18px;font-weight:600;margin:0 0 10px;
  padding-top:18px;border-top:2px solid var(--accent);
}
.pillar p{margin:0;color:var(--muted);font-size:15.5px;}

/* Contact */
.contact__email{
  display:inline-block;margin-top:4px;
  font-size:clamp(24px,3.4vw,38px);font-weight:600;letter-spacing:-.01em;
  border-bottom:1px solid var(--line);padding-bottom:4px;transition:border-color .2s ease;
}
.contact__email:hover{border-color:var(--accent);}
.contact__place{color:var(--muted);margin:26px 0 0;font-size:15px;letter-spacing:.02em;}

/* Footer */
.site-footer{
  background:var(--bg-2);color:var(--faint);
  padding:32px clamp(20px,5vw,60px);
  display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between;align-items:center;
  font-size:12.5px;
}
.site-footer .credit{max-width:64ch;}
.site-footer a{color:var(--muted);border-bottom:1px solid var(--line);}
.site-footer em{font-style:italic;}

/* Responsive */
@media (max-width:760px){
  .nav{display:none;}
  .pillars{grid-template-columns:1fr;gap:32px;}
  .row{grid-template-columns:1fr;gap:6px;padding:28px 4px;}
  .row__num{padding-top:0;}
  .row:hover{padding-left:4px;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .row,.row:hover{transition:none;}
}
