/* ==========================================================================
   ANGAD TOOR — black & gold. Minimal. Editorial.
   ========================================================================== */

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

:root{
  --black:#0A0A0A;
  --black-2:#111111;
  --black-3:#181818;
  --rule:#242424;
  --rule-2:#1A1A1A;

  --gold:#C9A227;
  --gold-lt:#E4C55E;
  --gold-dim:rgba(201,162,39,0.25);

  --white:#F6F4EF;
  --grey:rgba(246,244,239,0.56);
  --grey-2:rgba(246,244,239,0.34);
  --grey-3:rgba(246,244,239,0.16);

  --display:'Instrument Serif',Georgia,serif;
  --body:'Archivo','Helvetica Neue',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;

  --pad:clamp(22px,6vw,80px);
  --maxw:1180px;
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--body);background:var(--black);color:var(--white);
  line-height:1.6;font-size:16px;overflow-x:hidden;
  -webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit;cursor:pointer;background:none;border:none;color:inherit}
::selection{background:var(--gold);color:var(--black)}
:focus-visible{outline:2px solid var(--gold-lt);outline-offset:4px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.sec{padding:clamp(88px,13vw,168px) 0}
.hair{border-top:1px solid var(--rule-2)}

/* ── type ───────────────────────────────────────────────────────────── */
.xl{font-family:var(--display);font-weight:400;
  font-size:clamp(46px,9.5vw,116px);line-height:0.94;letter-spacing:-0.025em}
.lg{font-family:var(--display);font-weight:400;
  font-size:clamp(34px,6vw,68px);line-height:1.02;letter-spacing:-0.02em}
.md{font-family:var(--display);font-weight:400;
  font-size:clamp(24px,3vw,34px);line-height:1.14}
.xl em,.lg em,.md em{font-style:italic;color:var(--gold)}

.lede{font-size:clamp(15px,1.5vw,18px);line-height:1.7;color:var(--grey);max-width:48ch}
.tiny{font-size:14px;line-height:1.7;color:var(--grey)}

.tag{font-family:var(--mono);font-size:10.5px;font-weight:500;
  letter-spacing:0.22em;text-transform:uppercase;color:var(--gold)}
.tag-d{color:var(--grey-2)}

/* ── nav ────────────────────────────────────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:74px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 var(--pad);transition:background .35s,border-color .35s;
  border-bottom:1px solid transparent}
.nav.stuck{background:rgba(10,10,10,0.9);backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);border-bottom-color:var(--rule-2)}
.nav-name{font-family:var(--display);font-size:22px;letter-spacing:-0.01em}
.nav-right{display:flex;align-items:center;gap:28px}
.nav-right a:not(.cta){font-family:var(--mono);font-size:10.5px;
  letter-spacing:0.16em;text-transform:uppercase;color:var(--grey-2);transition:color .2s}
.nav-right a:not(.cta):hover{color:var(--white)}
@media(max-width:720px){.nav-right a:not(.cta){display:none}}

.cta{display:inline-flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:11px;font-weight:500;
  letter-spacing:0.16em;text-transform:uppercase;
  padding:14px 26px;border:1px solid var(--gold);
  background:var(--gold);color:var(--black);transition:all .22s}
.cta:hover{background:var(--gold-lt);border-color:var(--gold-lt);transform:translateY(-2px)}
.cta-ghost{background:none;color:var(--gold)}
.cta-ghost:hover{background:var(--gold);color:var(--black)}
.cta i{font-style:normal;transition:transform .22s}
.cta:hover i{transform:translateX(4px)}
.ctas{display:flex;gap:12px;flex-wrap:wrap}

/* ── hero ───────────────────────────────────────────────────────────── */
.hero{min-height:100svh;display:flex;align-items:flex-end;
  position:relative;overflow:hidden;padding-bottom:clamp(48px,7vw,86px)}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;
  filter:grayscale(1) contrast(1.15) brightness(.62)}
.hero-bg::after{content:'';position:absolute;inset:0;
  background:
    linear-gradient(to top,var(--black) 4%,rgba(10,10,10,.55) 46%,rgba(10,10,10,.35) 100%),
    linear-gradient(to right,rgba(10,10,10,.86) 0%,rgba(10,10,10,.25) 62%,transparent 100%)}
.hero-in{position:relative;z-index:2;width:100%}
.hero h1{margin:20px 0 26px;max-width:15ch}
.hero .lede{max-width:40ch}
.hero-ctas{margin-top:38px}

.hero-meta{position:absolute;right:var(--pad);bottom:clamp(48px,7vw,86px);z-index:2;
  text-align:right;display:flex;flex-direction:column;gap:14px}
.hero-meta div{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--grey-2)}
.hero-meta b{color:var(--gold);font-weight:500}
@media(max-width:900px){.hero-meta{display:none}}

.scroll-hint{position:absolute;left:var(--pad);bottom:18px;z-index:2;
  font-family:var(--mono);font-size:9px;letter-spacing:0.24em;text-transform:uppercase;
  color:var(--grey-3);display:flex;align-items:center;gap:10px}
.scroll-hint::after{content:'';width:38px;height:1px;background:var(--grey-3)}
@media(max-width:900px){.scroll-hint{display:none}}

/* ── statement block ────────────────────────────────────────────────── */
.statement{max-width:20ch}
.stmt-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:end}
@media(max-width:820px){.stmt-grid{grid-template-columns:1fr;gap:34px;align-items:start}}

/* ── numbers ────────────────────────────────────────────────────────── */
.figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:1px;background:var(--rule-2);border-block:1px solid var(--rule-2)}
.fig{background:var(--black);padding:38px 26px 34px}
.fig b{display:block;font-family:var(--display);font-size:clamp(42px,6vw,68px);
  line-height:1;color:var(--gold);margin-bottom:12px}
.fig span{font-family:var(--mono);font-size:9.5px;letter-spacing:0.17em;
  text-transform:uppercase;color:var(--grey-2);line-height:1.7;display:block}

/* ── map: real geography, Albers projection ─────────────────────────── */
.map-wrap{margin-top:clamp(34px,5vw,54px);max-width:820px}
.namap{width:100%;height:auto;display:block;overflow:visible}
.namap-base .rg{fill:#141414;stroke:#242424;stroke-width:.7;stroke-linejoin:round;
  vector-effect:non-scaling-stroke}
.namap-lit .rg-on{fill:rgba(201,162,39,.20);stroke:var(--gold);stroke-width:1.2;
  stroke-linejoin:round;vector-effect:non-scaling-stroke}
.pin{fill:var(--gold)}
.pin-halo{fill:var(--gold);opacity:0;transform-origin:center;
  animation:ping 3.6s ease-out infinite}
.pin-t{fill:var(--gold-lt);font-family:var(--mono);font-size:13px;
  letter-spacing:.16em;font-weight:500}
@keyframes ping{0%{opacity:.30;transform:scale(.35)}72%{opacity:0;transform:scale(1.25)}100%{opacity:0}}
.map-key{display:flex;gap:30px;flex-wrap:wrap;margin-top:28px}
.map-key div{font-family:var(--mono);font-size:10px;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--grey-2);display:flex;align-items:center;gap:9px}
.map-key i{width:9px;height:9px;background:var(--gold);flex:none}
.map-key i.off{background:#2A2A2A;box-shadow:inset 0 0 0 1px #3A3A3A}

/* ── three things ───────────────────────────────────────────────────── */
.trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1px;background:var(--rule-2);border:1px solid var(--rule-2);margin-top:52px}
.trio>div{background:var(--black);padding:40px 32px 44px}
.trio .tag{display:block;margin-bottom:20px}
.trio h3{font-family:var(--display);font-size:27px;font-weight:400;margin-bottom:12px}
.trio p{font-size:14.5px;line-height:1.72;color:var(--grey)}

/* ── photography ────────────────────────────────────────────────────── */
.ph{position:relative;overflow:hidden;background:var(--black-2);display:block}
.ph img{width:100%;height:100%;object-fit:cover;display:block;
  filter:grayscale(1) contrast(1.16) brightness(.94);transition:filter .6s,transform .9s}
.ph::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(165deg,rgba(201,162,39,.24),rgba(10,10,10,.12) 55%,rgba(10,10,10,.6));
  mix-blend-mode:overlay}
.ph:hover img{filter:grayscale(.7) contrast(1.16) brightness(1);transform:scale(1.035)}
.ph--tall{aspect-ratio:4/5}
.ph--wide{aspect-ratio:16/9}
.ph--sq{aspect-ratio:1/1}
.ph .ph-empty{display:none}
.ph--empty .ph-empty{display:block;position:absolute;inset:0}
.ph--empty img{display:none}
.ph--empty::after{display:none}
/* an unfilled slot reads as a deliberate dark panel, never as a broken image */
.ph-empty{
  background:
    radial-gradient(ellipse 120% 90% at 30% 15%, rgba(201,162,39,.05), transparent 60%),
    linear-gradient(150deg, #141414 0%, #0D0D0D 60%, #0A0A0A 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}

.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:1px;background:var(--rule-2);border-block:1px solid var(--rule-2)}
.strip>*{background:var(--black)}

/* ── credentials ────────────────────────────────────────────────────── */
.creds{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:36px;margin-top:44px}
.cred dt{font-family:var(--mono);font-size:9.5px;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.cred dd{font-size:14.5px;line-height:1.65;color:var(--grey)}
.cred dd a{color:var(--white);border-bottom:1px solid var(--gold-dim)}
.cred dd a:hover{border-bottom-color:var(--gold)}

/* ── booking ────────────────────────────────────────────────────────── */
.cal{border:1px solid var(--rule);background:var(--black-2);margin-top:40px;overflow:hidden}
.calendly-inline-widget{min-width:280px;height:660px}
.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:1px;background:var(--rule-2);border:1px solid var(--rule-2);margin-top:30px}
.contact div{background:var(--black);padding:26px 24px}
.contact .tag{display:block;margin-bottom:9px}
.contact a{font-size:16px}
.contact a:hover{color:var(--gold)}

/* ── footer ─────────────────────────────────────────────────────────── */
.foot{border-top:1px solid var(--rule-2);padding:60px 0 48px}
.foot-top{display:flex;justify-content:space-between;gap:30px;
  flex-wrap:wrap;align-items:baseline;margin-bottom:42px}
.foot-name{font-family:var(--display);font-size:26px}
.foot-links{display:flex;gap:26px;flex-wrap:wrap}
.foot-links a{font-family:var(--mono);font-size:10px;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--grey-2)}
.foot-links a:hover{color:var(--gold)}
.foot-legal{font-size:11px;line-height:1.9;color:var(--grey-3);max-width:74ch}
.foot-legal a{color:var(--grey-2);text-decoration:underline;text-underline-offset:2px}
.foot-legal p+p{margin-top:12px}

/* ── reveal ─────────────────────────────────────────────────────────── */
.rv{opacity:0;transform:translateY(20px);
  transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
}

/* hero fallback when no photo has been dropped in yet */
.hero-bg.no-img img{display:none}
.hero-bg.no-img{background:
  radial-gradient(ellipse 70% 80% at 74% 34%, #1E1E1E 0%, #121212 45%, var(--black) 78%)}


/* ── manifesto: a full-bleed pull quote, the page's one moment of scale ── */
.manifesto{position:relative;padding:clamp(96px,15vw,190px) 0;overflow:hidden;
  border-block:1px solid var(--rule-2)}
.manifesto-bg{position:absolute;inset:0;z-index:0;opacity:.32}
.manifesto-bg img{width:100%;height:100%;object-fit:cover;
  filter:grayscale(1) contrast(1.2) brightness(.5)}
.manifesto-bg::after{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 90% at 50% 50%,transparent,var(--black) 88%)}
.manifesto-in{position:relative;z-index:2;text-align:center}
.manifesto q{quotes:none;display:block;font-family:var(--display);font-weight:400;
  font-size:clamp(30px,5.6vw,62px);line-height:1.08;letter-spacing:-0.02em;max-width:19ch;margin:0 auto}
.manifesto q em{font-style:italic;color:var(--gold)}
.manifesto .attrib{margin-top:30px;font-family:var(--mono);font-size:10px;
  letter-spacing:0.22em;text-transform:uppercase;color:var(--grey-2)}

/* ── the ledger: a tight numbered list, quiet and confident ── */
.ledger{margin-top:52px;border-top:1px solid var(--rule-2)}
.ledger-row{display:grid;grid-template-columns:64px 1fr;gap:clamp(14px,3vw,40px);
  padding:30px 0;border-bottom:1px solid var(--rule-2);align-items:start}
.ledger-n{font-family:var(--mono);font-size:11px;letter-spacing:0.2em;color:var(--gold);padding-top:6px}
.ledger-row h3{font-family:var(--display);font-size:clamp(23px,3vw,31px);
  font-weight:400;line-height:1.12;margin-bottom:9px}
.ledger-row p{font-size:15px;line-height:1.72;color:var(--grey);max-width:56ch}
@media(max-width:640px){.ledger-row{grid-template-columns:38px 1fr;gap:14px}}

/* story column rhythm */
.story-copy p{font-size:clamp(15px,1.55vw,18px);line-height:1.78;color:var(--grey);max-width:46ch}
.story-copy p+p{margin-top:20px}
.story-copy strong{color:var(--white);font-weight:500}
