@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{color-scheme:dark;--bg:#0d0f13;--panel:#15181d;--ink:#f1eee9;--muted:#a2a4a9;--gold:#d9b96f;--line:#2b2d30}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;color:#111;padding:1rem;z-index:100}.container{max-width:1180px;margin:auto;padding:0 35px}.header{height:88px;padding:0 max(35px,calc((100vw - 1110px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:20;background:rgba(13,15,19,.93);backdrop-filter:blur(15px)}.brand{display:flex;gap:15px;align-items:center}.monogram{font:800 28px Manrope;letter-spacing:-2px}.monogram span,footer strong span{color:var(--gold)}.brandname{font-weight:700;letter-spacing:2px;font-size:11px}.brandname small{display:block;color:var(--muted);font-size:8px;letter-spacing:1.7px}nav{display:flex;gap:29px;align-items:center}nav a{font-size:12px;color:#d9d9da;transition:.2s}nav a:hover,.textlink:hover{color:var(--gold)}.navresume{border:1px solid #6b6048;padding:9px 16px;border-radius:3px}.menu{display:none;background:none;color:white;border:0;font-size:25px}.hero{min-height:690px;position:relative;overflow:hidden;display:flex;align-items:center;background:radial-gradient(ellipse at 79% 44%,#2e2924 0%,#141517 37%,#0d0f13 69%)}.hero:after{content:'';position:absolute;right:-220px;top:-180px;width:690px;height:690px;border:1px solid rgba(217,185,111,.12);border-radius:50%;box-shadow:0 0 0 90px rgba(217,185,111,.025),0 0 0 190px rgba(217,185,111,.018)}.hero-inner{position:relative;z-index:1;width:100%;padding-top:68px;padding-bottom:66px}.eyebrow,.kicker{font-size:11px;letter-spacing:3px;color:var(--gold);font-weight:700}.dot{display:inline-block;width:7px;height:7px;border-radius:100%;background:var(--gold);margin-right:9px}.hero h1,h2{font-family:Manrope,Arial,sans-serif;line-height:1.14;letter-spacing:-3px}.hero h1{font-size:clamp(54px,7.3vw,104px);margin:25px 0 23px;font-weight:800}.hero h1 em,.contact h2 em{color:var(--gold);font-style:normal}.hero-sub{font-size:18px;max-width:650px;color:#bfc0c3;line-height:1.8}.hero-sub strong{color:var(--ink)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0}.btn{padding:14px 22px;display:inline-flex;gap:23px;align-items:center;justify-content:space-between;font-weight:700;font-size:12px;letter-spacing:.3px;border:1px solid #777;border-radius:3px;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--gold);color:#151515;border-color:var(--gold)}.btn.outline{background:transparent}.hero-stats{display:flex;gap:50px;padding-top:60px}.hero-stats div{min-width:130px}.hero-stats b{font:800 30px Manrope;color:var(--ink)}.hero-stats small{display:block;max-width:155px;color:var(--muted);font-size:11px}.vertical{position:absolute;right:35px;bottom:75px;writing-mode:vertical-rl;color:#81786a;font-size:9px;letter-spacing:3px}.section{padding:115px 0}.section h2{font-size:clamp(38px,4.5vw,65px);margin:18px 0 30px}.section h2 span{color:var(--gold)}.about{background:#f0eee9;color:#17191b}.about .kicker{color:#8d7036}.about h2 span{color:#9b7a3e}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.about p:not(.kicker){color:#54585a}.about .lead{font-size:20px;color:#23272b!important;font-weight:600;line-height:1.65}.textlink{display:inline-block;margin-top:17px;color:#6f552c;font-weight:700;font-size:13px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-head>p{max-width:325px;color:var(--muted);font-size:14px}.filters{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 33px}.filters button{background:none;border:1px solid #414247;color:#c7c9cc;padding:10px 15px;font-size:12px;border-radius:2px}.filters button.active,.filters button:hover{background:var(--gold);color:#161616;border-color:var(--gold)}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project{background:#181a20;border:1px solid #26292f;overflow:hidden;text-align:left;padding:0;color:var(--ink);transition:transform .25s,border-color .25s}.project:hover{transform:translateY(-5px);border-color:var(--gold)}.project img{display:block;width:100%;height:235px;object-fit:cover;background:#30313a}.project .detail{padding:22px}.project .category{color:var(--gold);font-size:10px;letter-spacing:2px;text-transform:uppercase}.project h3{font:700 19px Manrope;line-height:1.35;margin:10px 0}.project p{color:#aaadb3;font-size:12px;margin:0 0 14px}.project .more{font-size:11px;font-weight:700}.expertise{background:#16181d}.expertise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:50px}.expertise-grid article{border:1px solid #34363c;padding:27px 22px;min-height:260px}.expertise-grid span{color:var(--gold);font-size:13px}.expertise-grid h3{font:700 20px Manrope;margin:30px 0 10px}.expertise-grid p,.timeline p{font-size:13px;color:#b1b2b5}.timeline{border-top:1px solid var(--line);margin-top:38px}.timeline>div{display:grid;grid-template-columns:200px 1fr;gap:40px;border-bottom:1px solid var(--line);padding:27px 0}.timeline time{color:var(--gold);font-weight:700}.timeline h3{margin:0 0 5px}.timeline p{margin:0}.footnote{font-size:11px;color:#999}.contact{text-align:center;background:radial-gradient(ellipse at top,#302920,#101216 65%)}.contact h2{font-size:clamp(42px,6vw,79px)}.contact>div>p:not(.kicker){max-width:570px;margin:auto;color:#b5b5bb}.contact .actions{justify-content:center}.contact-links{display:flex;gap:28px;justify-content:center;padding-top:18px;font-size:13px}.contact-links a:hover{color:var(--gold)}footer{border-top:1px solid #303035}.footer{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer strong{font:800 25px Manrope}.footer small,.footer a{color:#a5a6a9;font-size:11px}dialog{background:#17191e;color:var(--ink);border:1px solid #555;border-radius:8px;max-width:650px;width:calc(100% - 32px);padding:35px;box-shadow:0 20px 90px #000b}dialog::backdrop{background:#000b}dialog img{max-width:100%;max-height:320px;object-fit:contain;background:#222;display:block;margin-bottom:20px}dialog h2{font:800 26px Manrope}dialog p,dialog li{color:#c5c6ca;font-size:14px}dialog .kicker{color:var(--gold)}.close{position:absolute;right:14px;top:10px;background:transparent;border:0;color:white;font-size:30px}@media(max-width:900px){.projects{grid-template-columns:repeat(2,1fr)}.expertise-grid{grid-template-columns:repeat(2,1fr)}.about-grid{gap:35px}.header{padding:0 22px}nav{gap:14px}}@media(max-width:640px){.container{padding:0 22px}.header{height:72px}.brandname{font-size:9px}.menu{display:block}nav{display:none;position:absolute;left:0;right:0;top:72px;background:#15171a;padding:25px;flex-direction:column;align-items:start}nav.open{display:flex}.hero{min-height:640px}.hero-inner{padding-top:50px}.hero h1{letter-spacing:-2px}.hero-sub{font-size:15px}.hero-stats{gap:15px;padding-top:38px}.hero-stats b{font-size:23px}.hero-stats small{font-size:10px}.vertical{display:none}.section{padding:75px 0}.about-grid,.section-head{display:block}.projects,.expertise-grid{grid-template-columns:1fr}.project img{height:260px}.timeline>div{grid-template-columns:1fr;gap:5px}.footer{flex-wrap:wrap;padding-top:24px;padding-bottom:24px}.section h2{letter-spacing:-2px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.project{transition:none}}

/* VERSION 2 — editorial expansion */
.study-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px}
.study,.book-card,.path-grid article{border:1px solid #333740;background:#15181e;border-radius:12px;overflow:hidden}
.study img{width:100%;height:190px;object-fit:cover;display:block}
.study>div,.book-card>div{padding:24px}
.study h3,.book-card h3,.path-grid h3{font-size:1.25rem;margin:12px 0;color:#f3f0e8}
.study p,.book-card p,.path-grid p{color:#b9bdc4;line-height:1.65;font-size:.94rem}
.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:38px}
.book-card img{height:310px;width:100%;object-fit:contain;background:#0c0f13;display:block}
.path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}
.path-grid article{padding:30px}.path-grid .textlink{display:inline-block;margin-top:10px}
.studies,.opportunities{background:#101318}.books{background:#0d0f13}
@media(max-width:880px){.study-grid,.book-grid,.path-grid{grid-template-columns:1fr 1fr}} 
@media(max-width:620px){.study-grid,.book-grid,.path-grid{grid-template-columns:1fr}.book-card img{height:270px}.study img{height:210px}}

/* VERSION 3: curated archive and detailed case studies */
.gallery-section{background:#12151a}.gallery-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:32px 0 24px}.gallery-tools label,.gallery-tools span{font-size:13px;color:#b9b9bf}.gallery-tools select{appearance:auto;background:#20242b;border:1px solid #59554a;padding:11px 15px;color:#fff;border-radius:5px;font:inherit}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.gallery-item{min-width:0;display:block;background:#1f2228;border:1px solid #363940;border-radius:8px;overflow:hidden;transition:transform .2s}.gallery-item:hover{transform:translateY(-3px);border-color:var(--gold)}.gallery-item img{width:100%;height:210px;object-fit:contain;display:block;background:#25272d;padding:8px}.gallery-item span{display:block;padding:10px 12px;color:#cbc8c0;font-size:11px}.archive-note{color:#a8a8ac;font-size:12px;margin-top:22px;max-width:850px}.career-center{background:#181b20}.career-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:36px 0}.career-grid article{border:1px solid #3a3b41;border-radius:8px;padding:25px}.career-grid h3{margin-top:0}.career-grid p{color:#bfc0c5;font-size:13px}.project-page{min-height:100vh}.project-shell{max-width:1040px;margin:auto;padding:55px 30px 95px}.project-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.project-hero{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin:60px 0}.project-hero h1{font:800 clamp(36px,5vw,65px)/1.1 Manrope,Arial,sans-serif;letter-spacing:-2px}.project-hero img{width:100%;max-height:440px;object-fit:contain;background:#20232a;border:1px solid #373b42;border-radius:9px}.project-prose{max-width:740px}.project-prose h2{font-size:27px;letter-spacing:-.5px;margin:45px 0 12px}.project-prose p{font-size:16px;color:#c5c6c8}.project-note{border-left:2px solid var(--gold);padding-left:20px;color:#b7b8ba}.project-meta{color:#d9b96f;font-size:12px;letter-spacing:1.5px;text-transform:uppercase}.project-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:45px}@media(max-width:850px){.gallery-grid{grid-template-columns:repeat(3,1fr)}.career-grid{grid-template-columns:1fr}.project-hero{grid-template-columns:1fr}}@media(max-width:600px){.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-item img{height:160px}.project-shell{padding:30px 20px 60px}}

/* VERSION 4 — polished image evidence and career pathways */
.project{display:block;text-decoration:none}.project:focus-visible,.gallery-item:focus-visible,.evidence-grid a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.evidence-section{margin-top:64px;padding-top:36px;border-top:1px solid #424348}.evidence-section>p:not(.kicker){color:#babdc1}.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:26px}.evidence-grid figure{background:#181b22;border:1px solid #393b43;border-radius:10px;overflow:hidden;margin:0}.evidence-grid img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#242731;padding:12px;transition:transform .2s}.evidence-grid img:hover{transform:scale(1.035)}.evidence-grid figcaption{font-size:11px;color:#b6b7bb;padding:12px}.track-hero{background:radial-gradient(ellipse at 80% 20%,#2e2924,#121419 70%);padding:85px 40px;border:1px solid #34363b;border-radius:14px;margin:65px 0}.track-hero h1{font:800 clamp(40px,6vw,70px)/1.1 Manrope,Arial,sans-serif;letter-spacing:-2px;max-width:780px}.track-hero .lead{font-size:18px;color:#c9cbd0;max-width:760px}.track-evidence h2{font-size:32px;letter-spacing:-1px}.track-evidence>p:not(.kicker){color:#bfc2c7}.career-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.career-grid article{min-width:0}.study .textlink{color:var(--gold)}@media(max-width:920px){.career-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.evidence-grid,.career-grid{grid-template-columns:1fr 1fr}.track-hero{padding:40px 22px}.evidence-grid img{padding:5px}}@media(max-width:420px){.evidence-grid,.career-grid{grid-template-columns:1fr}}

/* Final release: professional credentials and usability */
.credentials{background:#171b20}.credential-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0}.credential-grid article{border:1px solid #393d43;border-radius:10px;padding:24px;background:#101318}.credential-grid h3{font:700 19px Manrope,sans-serif;color:#e7c57f;margin:0 0 12px}.credential-grid p{color:#c1c5ca;font-size:14px}.credentials .textlink{color:#dfc482}.gallery-item img{object-position:center}.release-tag{font-weight:600}@media(max-width:900px){.credential-grid{grid-template-columns:1fr 1fr}nav{gap:13px}}@media(max-width:760px){.menu{display:block}nav{display:none;position:absolute;left:0;right:0;top:72px;background:#15171a;padding:24px;flex-direction:column;align-items:flex-start;box-shadow:0 20px 40px #0008}nav.open{display:flex}.header{height:72px}}@media(max-width:620px){.credential-grid{grid-template-columns:1fr}.hero-stats{flex-wrap:wrap}.hero{min-height:auto}.hero-inner{padding-top:70px;padding-bottom:75px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.book-card img{object-fit:contain}}

/* Final header refinement: a single clean desktop row, accessible Work menu,
   and a navigation drawer before the links begin to crowd. */
.header {
  padding-inline: max(28px, calc((100vw - 1420px) / 2));
  gap: 28px;
}
.header .brand { flex: 0 0 auto; min-width: 0; white-space: nowrap; }
.header nav { display: flex; align-items: center; flex-wrap: nowrap; gap: clamp(15px, 1.45vw, 25px); }
.header nav > a,
.header .nav-dropdown > summary { font-size: 12px; line-height: 1.4; white-space: nowrap; }
.header .nav-dropdown { position: relative; flex: 0 0 auto; }
.header .nav-dropdown > summary {
  display: flex; align-items: center; gap: 7px; list-style: none;
  color: #d9d9da; cursor: pointer; padding: 12px 0; user-select: none;
}
.header .nav-dropdown > summary::-webkit-details-marker { display: none; }
.header .nav-dropdown > summary:hover,
.header .nav-dropdown[open] > summary { color: var(--gold); }
.header .nav-dropdown > summary:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.header .nav-dropdown .chevron { font-size: 17px; line-height: 1; transition: transform .15s ease; }
.header .nav-dropdown[open] .chevron { transform: rotate(180deg); }
.header .nav-dropdown-panel {
  position: absolute; top: calc(100% + 8px); left: -20px;
  min-width: 215px; padding: 8px; display: flex; flex-direction: column; gap: 2px;
  border: 1px solid #444139; border-radius: 8px;
  background: #17191e; box-shadow: 0 18px 42px rgba(0,0,0,.55);
  z-index: 50;
}
.header .nav-dropdown-panel a {
  display: block; padding: 10px 12px; border-radius: 5px;
  font-size: 12px; line-height: 1.4; white-space: nowrap;
}
.header .nav-dropdown-panel a:hover,
.header .nav-dropdown-panel a:focus-visible { color: #161616; background: var(--gold); }
.header .navresume {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  flex: 0 0 auto; padding: 11px 15px; white-space: nowrap; line-height: 1.3;
  border: 1px solid #8d7b54; border-radius: 5px;
}
.header .navresume:hover { background: #25211a; }
.header .navresume span { font-size: 15px; color: var(--gold); }
main [id] { scroll-margin-top: 96px; }

/* Switch to the mobile menu before the navigation starts wrapping. */
@media (max-width: 1120px) {
  .header { height: 72px; padding-inline: 24px; }
  .header .menu { display: block; margin-left: auto; flex: 0 0 auto; }
  .header nav {
    display: none; position: absolute; left: 0; right: 0; top: 100%;
    padding: 14px 24px 24px; flex-direction: column; align-items: stretch; gap: 0;
    background: #15171a; border-bottom: 1px solid #34363a;
    box-shadow: 0 20px 38px rgba(0,0,0,.48);
    max-height: calc(100dvh - 72px); overflow-y: auto;
  }
  .header nav.open { display: flex; }
  .header nav > a { display: block; width: 100%; padding: 11px 0; }
  .header .nav-dropdown { width: 100%; }
  .header .nav-dropdown > summary { padding: 11px 0; width: 100%; }
  .header .nav-dropdown-panel {
    position: static; width: 100%; min-width: 0; padding: 3px 0 7px 15px;
    border: none; border-left: 1px solid #74633f; border-radius: 0;
    background: transparent; box-shadow: none;
  }
  .header .nav-dropdown-panel a { padding: 9px 11px; }
  .header .navresume {
    display: inline-flex; width: fit-content; margin-top: 12px;
    padding: 12px 16px; border-radius: 5px;
  }
  main [id] { scroll-margin-top: 80px; }
}
@media (max-width: 380px) {
  .header { padding-inline: 16px; gap: 9px; }
  .header .brand { gap: 9px; }
  .header .monogram { font-size: 25px; }
  .header .brandname { font-size: 8px; letter-spacing: 1.35px; }
  .header .brandname small { font-size: 7px; letter-spacing: 1px; }
}
@media (prefers-reduced-motion: reduce) {
  .header .nav-dropdown .chevron { transition: none; }
}
