/* ==========================================================
   nicholasremondos.com
   Palette: warm near-black ground, paper text, brass accent.
   Type: heavy sans display against a serif reading face.
   ========================================================== */

:root{
  --ground:#141210;
  --raised:#1C1A17;
  --sunk:#0E0D0B;
  --paper:#F2EEE6;
  --paper-2:#B9B2A5;
  --paper-3:#847D70;
  --rule:#2C2822;
  --brass:#C9A84C;
  --brass-dim:#8A7330;
  --clay:#B4674A;

  --display:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --body:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;

  --measure:64ch;
  --gutter:clamp(20px,5vw,40px);
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
}

body{
  margin:0;
  background:var(--ground);
  color:var(--paper);
  font-family:var(--body);
  font-size:18px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:1080px;margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:var(--measure)}

/* ---------- nav ---------- */
.nav{
  border-bottom:1px solid var(--rule);
  position:sticky;top:0;z-index:50;
  background:rgba(20,18,16,.92);
  backdrop-filter:saturate(140%) blur(8px);
}
.nav-inner{
  max-width:1080px;margin:0 auto;padding:16px var(--gutter);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.brand{
  font-family:var(--display);font-weight:800;font-size:15px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--paper);
  text-decoration:none;white-space:nowrap;
}
.brand span{color:var(--brass)}
.nav-links{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.nav-links a{
  font-family:var(--display);font-size:13px;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;
  color:var(--paper-2);text-decoration:none;
}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--brass)}

/* ---------- type ---------- */
h1{
  font-family:var(--display);font-weight:800;
  font-size:clamp(38px,7vw,76px);line-height:1.02;
  letter-spacing:-.03em;text-wrap:balance;
  margin:0 0 28px;
}
h1 em{font-style:normal;color:var(--brass)}

h2{
  font-family:var(--display);font-weight:800;
  font-size:clamp(26px,3.6vw,40px);line-height:1.12;
  letter-spacing:-.02em;text-wrap:balance;margin:0 0 20px;
}
h3{
  font-family:var(--display);font-weight:700;
  font-size:20px;line-height:1.3;letter-spacing:-.01em;margin:0 0 10px;
}
p{margin:0 0 22px;max-width:var(--measure)}
.lead{font-size:clamp(20px,2.4vw,25px);line-height:1.5;color:var(--paper)}
.muted{color:var(--paper-2)}

.eyebrow{
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--brass);
  margin:0 0 18px;display:block;
}

a{color:var(--brass);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--paper)}
a:focus-visible,button:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

/* ---------- sections ---------- */
section{padding:clamp(56px,9vw,104px) 0}
.hero{padding:clamp(64px,12vw,140px) 0 clamp(48px,8vw,88px)}
.divide{border-top:1px solid var(--rule)}
.tint{background:var(--raised)}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;font-family:var(--display);font-weight:700;
  font-size:15px;letter-spacing:.02em;
  padding:15px 30px;border-radius:2px;text-decoration:none;
  background:var(--brass);color:#1A1509;border:1px solid var(--brass);
}
.btn:hover{background:#DCBC5E;color:#1A1509}
.btn-ghost{
  background:transparent;color:var(--paper);border:1px solid var(--rule);
}
.btn-ghost:hover{border-color:var(--brass);color:var(--brass);background:transparent}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px}

/* ---------- grids ---------- */
.grid{display:grid;gap:clamp(24px,3.5vw,40px)}
.g2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

.card{
  background:var(--sunk);border:1px solid var(--rule);
  border-radius:3px;padding:28px 26px;
}
.card p:last-child{margin-bottom:0}

/* numbered steps: order is real information here */
.step{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start}
.step-n{
  font-family:var(--mono);font-size:13px;color:var(--brass);
  border:1px solid var(--brass-dim);border-radius:50%;
  width:36px;height:36px;display:grid;place-items:center;flex:none;
}
.step p:last-child{margin-bottom:0}

/* portrait beside intro copy */
.intro-grid{
  display:grid;gap:clamp(24px,4vw,48px);align-items:center;
  grid-template-columns:1fr;
}
@media (min-width:820px){
  .intro-grid{grid-template-columns:1.1fr .9fr}
}
.portrait{margin:0}
.portrait img{
  width:100%;display:block;
  border:1px solid var(--rule);border-radius:3px;
  /* Framed on the subject. The upper part of the source photo is the
     Forbes Australia office signage, which is not a credential and is
     therefore cropped out. Remove aspect-ratio + object-* to show the
     full frame again. */
  height:auto;
}

/* worked-with photo grid */
.people{
  display:grid;gap:18px;margin-top:36px;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
}
.person{margin:0}
.person img{
  width:100%;display:block;aspect-ratio:1/1;object-fit:cover;
  border:1px solid var(--rule);border-radius:3px;
}
.person figcaption{
  margin-top:10px;display:flex;flex-direction:column;gap:2px;
}
.person figcaption strong{
  font-family:var(--display);font-size:15px;font-weight:700;color:var(--paper);
}
.person figcaption span{
  font-family:var(--mono);font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--paper-3);
}

/* photo with a caption, used where the subject needs naming */
.shot{margin:0}
.shot img{
  width:100%;height:auto;display:block;
  border:1px solid var(--rule);border-radius:3px;
}
.shot figcaption{
  font-family:var(--mono);font-size:12px;line-height:1.5;
  color:var(--paper-3);margin-top:12px;
}

/* pull quote */
.pull{
  border-left:2px solid var(--brass);padding:6px 0 6px 26px;
  margin:0 0 26px;font-size:clamp(21px,2.6vw,27px);line-height:1.4;
  max-width:54ch;
}

/* plain list */
.plain{list-style:none;padding:0;margin:0 0 22px;max-width:var(--measure)}
.plain li{
  padding:14px 0;border-bottom:1px solid var(--rule);
  display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:baseline;
}
.plain li:last-child{border-bottom:none}
.tick{color:var(--brass);font-family:var(--mono);font-size:13px}

/* ---------- footer ---------- */
footer{
  border-top:1px solid var(--rule);
  padding:52px 0 64px;color:var(--paper-2);font-size:15px;
}
.foot-grid{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
footer h4{
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--paper-3);margin:0 0 14px;font-weight:500;
}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin-bottom:9px}
footer a{color:var(--paper-2);text-decoration:none}
footer a:hover{color:var(--brass)}
.colophon{
  margin-top:40px;padding-top:22px;border-top:1px solid var(--rule);
  font-family:var(--mono);font-size:12px;color:var(--paper-3);
}

@media (max-width:640px){
  body{font-size:17px}
  .nav-inner{flex-direction:column;align-items:flex-start;gap:12px}
  .nav-links{gap:18px}
}

/* DRAFT BAR. Delete this rule and the markup when the page is approved. */
.draft-bar{
  position:sticky;top:0;z-index:100;
  background:#7f1d1d;color:#fff;
  font-family:var(--mono);font-size:12px;line-height:1.5;
  padding:9px 16px;text-align:center;
}
