:root{
  /* palette carried over from Version A */
  --bg:#1C1B18;
  --bg-deep:#111010;
  --surface:#232220;
  --text:#F5F0E8;
  --text-warm:#FAF7F2;
  --muted:#8A8479;
  --line:rgba(184,151,74,0.25);
  --accent:#B8974A;
  --accent-2:#D4AF6A;

  --display:"Playfair Display",Georgia,serif;
  --body:"Cormorant Garamond",Georgia,serif;
  --label:"DM Mono",ui-monospace,monospace;
  --gut:clamp(22px,6vw,80px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:var(--body);font-size:20px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;min-height:100vh;
}
img{display:block;max-width:100%}
a{color:inherit}
main{flex:1}

.eyebrow{
  font-family:var(--label);font-size:11px;font-weight:400;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted);
}

/* ---------- NAV ---------- */
.nav{border-bottom:1px solid var(--line);background:var(--bg)}
.nav-name{color:var(--text-warm)}
/* emblem doubles as the home link on interior pages */
.nav .emblem{padding:0}
.nav .emblem .mark{transition:border-color .25s,color .25s}
.nav .emblem:hover .mark,.nav .emblem:focus-visible .mark{border-color:var(--accent-2);color:var(--accent-2)}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:18px;flex-wrap:wrap;padding:18px var(--gut);
}
.nav-name{
  font-family:var(--display);font-size:20px;letter-spacing:.02em;
  text-decoration:none;white-space:nowrap;
}
.nav-links{display:flex;gap:clamp(16px,2.4vw,34px);flex-wrap:wrap}
.nav-links a{
  font-family:var(--label);font-size:11px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;color:var(--muted);padding-bottom:3px;
  border-bottom:1px solid transparent;transition:color .2s,border-color .2s;
}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--text);border-bottom-color:var(--accent)}
.nav-links a[aria-current="page"]{color:var(--text);border-bottom-color:var(--accent)}

/* ---------- HOME HERO ---------- */
.hero{
  display:grid;grid-template-columns:1fr .8fr;
  gap:clamp(28px,5vw,72px);align-items:center;
  padding:clamp(44px,7vw,90px) var(--gut);
}
.hero-name{
  font-family:var(--display);font-weight:400;
  font-size:clamp(56px,11vw,142px);line-height:.86;letter-spacing:-.02em;margin:0;
}
.hero-name span{display:block}
.hero-name em{font-style:italic;color:var(--accent)}
.hero-meta{
  display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;
  margin-top:26px;padding-top:18px;border-top:1px solid var(--line);
}
.hero-meta .dot{width:4px;height:4px;background:var(--accent);border-radius:50%}
.hero-photo img{
  width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 20%;
}
.hero-photo{border:1px solid var(--line);position:relative}
.hero-photo::after{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:var(--accent)}

/* ---------- HOME TOPBAR + GATEWAY ---------- */
.topbar{
  display:flex;align-items:stretch;justify-content:space-between;gap:16px;
  border-bottom:1px solid var(--line);flex-wrap:wrap;
}
.emblem{
  display:flex;align-items:center;gap:10px;
  padding:0 clamp(18px,3vw,40px);text-decoration:none;
}
.emblem .mark{
  font-family:var(--display);font-size:clamp(20px,2.2vw,26px);letter-spacing:.1em;
  color:var(--text-warm);border:1px solid var(--accent);
  padding:5px 11px 4px;line-height:1;
}
.gateway{display:flex;flex-wrap:wrap}
.gate{
  display:flex;align-items:center;gap:9px;
  padding:0 clamp(14px,1.9vw,26px);min-height:56px;
  text-decoration:none;border-left:1px solid var(--line);
  transition:background .25s,color .25s;
}
.gate .lbl{
  font-family:var(--display);font-weight:400;font-size:clamp(15px,1.5vw,19px);
  line-height:1;white-space:nowrap;color:var(--text);
}
.gate .arrow{color:var(--accent);font-size:14px;transition:transform .25s;line-height:1}
.gate:hover,.gate:focus-visible{background:var(--bg-deep)}
.gate:hover .arrow{transform:translateX(5px)}

/* ---------- HOME HERO FIT ---------- */
.home-main{display:flex;flex-direction:column;justify-content:center}
.home-main .hero{padding-top:clamp(16px,2.2vw,30px);padding-bottom:clamp(16px,2.2vw,30px)}
.home-main .hero{grid-template-columns:1fr 1.25fr}

.home-main .hero-photo{
  width:fit-content;max-width:100%;margin-left:auto;
}
.home-main .hero-photo img{
  width:auto;height:auto;max-width:100%;max-height:78vh;
  aspect-ratio:auto;object-fit:contain;object-position:center;
}
/* gold bar sits below the photo rather than over it */
.home-main .hero-photo::after{
  position:static;display:block;width:100%;height:4px;
}

/* ---------- PAGE SHELL ---------- */
.page{padding:clamp(40px,6vw,80px) var(--gut) clamp(56px,8vw,110px);max-width:1400px}
.page-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding-bottom:16px;margin-bottom:clamp(28px,4vw,48px);border-bottom:1px solid var(--accent);
}
.page-head h1{
  font-family:var(--display);font-weight:400;
  font-size:clamp(38px,6vw,72px);line-height:1;margin:0;letter-spacing:-.01em;
}

/* ---------- REEL ---------- */
.reel-frame{
  position:relative;width:100%;max-width:1180px;margin:0 auto;
  aspect-ratio:16/9;background:#000;border:1px solid var(--line);
}
.reel-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- CREDITS ---------- */
.credits{margin-bottom:clamp(34px,4.5vw,56px)}
.credits-label{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.credits-label::after{content:"";flex:1;height:1px;background:var(--line)}
.row{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.9fr);
  gap:14px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line);
}
.row .title{font-family:var(--display);font-size:clamp(21px,2.5vw,29px);line-height:1.15;margin:0}
.row .role{margin:0;font-size:18px}
.row .house{margin:0;font-family:var(--label);font-size:12px;color:var(--muted)}

/* ---------- ABOUT ---------- */
.about-cols{
  display:grid;grid-template-columns:1.2fr .8fr;
  gap:clamp(28px,4vw,64px);align-items:start;
  padding-bottom:clamp(30px,4vw,52px);
}
.lede{font-family:var(--display);font-size:clamp(21px,2.5vw,29px);line-height:1.4;margin:0 0 22px}
.about-cols p{margin:0 0 18px;max-width:60ch}
.about-cols em{color:var(--accent-2);font-style:italic}
.about-portrait{border:1px solid var(--line)}
.about-portrait img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;display:block}

.credits-cols{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(28px,4vw,64px);align-items:start;
  padding-top:clamp(24px,3vw,40px);border-top:1px solid var(--line);
}
.credits{margin:0}
.credits-label{display:flex;align-items:center;gap:14px;margin-bottom:8px}
.credits-label::after{content:"";flex:1;height:1px;background:var(--line)}
.row{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
.row .title{
  font-family:var(--display);font-size:clamp(20px,2.1vw,26px);
  line-height:1.2;margin:0;
}
.row .title .feat{font-size:.62em;color:var(--muted);font-style:italic;white-space:nowrap}
.row .meta{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;
  margin:5px 0 0;font-family:var(--label);font-size:12px;letter-spacing:.04em;
}
.row .meta .sep{color:var(--accent)}
.row .meta .house{color:var(--muted)}

.details{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  margin-top:clamp(38px,5vw,64px);padding-top:26px;border-top:1px solid var(--accent);
}
.details > div{
  padding:0 clamp(20px,3vw,44px);
  border-left:1px solid var(--line);
}
.details > div:first-child{padding-left:0;border-left:0}
.details > div:last-child{padding-right:0}
.details .eyebrow{display:block;margin-bottom:12px}
.details p{margin:0;font-size:17px;line-height:1.75}
.details ul.sub{list-style:none;margin:7px 0 0;padding:0}
.details ul.sub li{
  position:relative;padding-left:17px;
  font-size:16px;line-height:1.6;color:var(--text);
}
.details ul.sub li::before{
  content:"";position:absolute;left:0;top:.72em;
  width:9px;height:1px;background:var(--accent);
}
.details a{text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:1px;transition:color .2s}
.details a:hover,.details a:focus-visible{color:var(--accent-2)}

/* ---------- PHOTOS: CAROUSEL ---------- */
.sub-label{margin:clamp(34px,4vw,52px) 0 16px;display:flex;align-items:center;gap:14px}
.sub-label:first-of-type{margin-top:0}
.sub-label::after{content:"";flex:1;height:1px;background:var(--line)}

.carousel{position:relative;--slide:clamp(230px,26vw,320px)}
.carousel--wide{--slide:clamp(300px,52vw,660px)}

.car-track{
  display:flex;gap:clamp(12px,1.6vw,20px);
  overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;
  padding-bottom:4px;
}
.car-track::-webkit-scrollbar{display:none}
.car-track:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

.car-slide{flex:0 0 var(--slide);margin:0;scroll-snap-align:center}
.car-slide img{
  width:100%;aspect-ratio:2/3;object-fit:cover;
  border:1px solid var(--line);background:var(--bg-deep);
}
.carousel--wide .car-slide img{
  aspect-ratio:3/2;object-fit:contain;background:var(--bg-deep);
}
.car-slide figcaption .venue{color:var(--accent);margin-left:9px}
.car-slide figcaption .venue::before{content:"\00b7";margin-right:9px;color:var(--line)}
.car-slide figcaption{
  font-family:var(--label);margin-top:9px;font-size:10px;font-weight:400;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
}

.car-btn{
  position:absolute;top:38%;transform:translateY(-50%);z-index:5;
  width:42px;height:42px;border-radius:50%;cursor:pointer;
  background:rgba(17,16,16,.82);color:var(--text);
  border:1px solid var(--accent);
  font-size:16px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s,color .2s,opacity .2s;
}
.car-btn:hover:not(:disabled){background:var(--accent);color:var(--bg-deep)}
.car-btn:disabled{opacity:.25;cursor:default}
.car-prev{left:-8px}
.car-next{right:-8px}

.car-dots{display:flex;gap:7px;justify-content:center;margin-top:16px}
.car-credit{
  font-family:var(--label);text-align:center;margin:12px 0 0;
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
}
.car-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--line);transition:background .25s,transform .25s;
}
.car-dot.on{background:var(--accent);transform:scale(1.35)}

/* ---------- RESUME ---------- */
.photos-top{
  display:grid;grid-template-columns:.92fr 1.08fr;
  gap:clamp(26px,4vw,64px);align-items:start;
  margin-bottom:clamp(30px,4vw,52px);
}
.pt-col{min-width:0}
.pt-col .sub-label{margin-top:0}
.photos-top .carousel{--slide:100%}

.res-card{
  display:block;position:relative;text-decoration:none;
  border:1px solid var(--line);background:var(--bg-deep);
  transition:border-color .25s;
}
.res-card:hover,.res-card:focus-visible{border-color:var(--accent)}
.res-card img{width:100%;height:auto;display:block;opacity:.94;transition:opacity .25s}
.res-card:hover img{opacity:1}
.res-open{
  position:absolute;left:0;right:0;bottom:0;
  font-family:var(--label);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  text-align:center;padding:12px 10px;color:var(--bg-deep);background:var(--accent);
  transition:background .22s;
}
.res-card:hover .res-open{background:var(--accent-2)}
.res-imdb{
  display:block;margin-top:14px;text-align:center;
  font-family:var(--label);font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  text-decoration:none;color:var(--text);
  border:1px solid var(--accent);padding:14px 20px;
  transition:background .22s,color .22s,border-color .22s;
}
.res-imdb:hover,.res-imdb:focus-visible{
  background:var(--accent);border-color:var(--accent);color:var(--bg-deep);
}

/* ---------- CONTACT ---------- */
.reps{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:clamp(30px,5vw,90px);max-width:1000px;
}
.rep{border-top:1px solid var(--accent);padding-top:18px}
.rep h2{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.2vw,38px);margin:10px 0 14px}
.rep p{margin:0 0 8px;font-size:19px}
.rep a{text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:1px;transition:color .2s}
.rep a:hover,.rep a:focus-visible{color:var(--accent)}

/* ---------- VISUAL ART ---------- */

/* masonry board */
.art-board{
  column-count:3;
  column-gap:clamp(14px,1.8vw,24px);
}
.art-card{
  break-inside:avoid;margin:0 0 clamp(14px,1.8vw,24px);
  display:inline-block;width:100%;
}

.ap-frame{
  position:relative;border:1px solid var(--line);background:var(--bg-deep);
  aspect-ratio:var(--ar,1);overflow:hidden;
}
.ap-track{
  display:flex;height:100%;
  overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;
}
.ap-track::-webkit-scrollbar{display:none}
.ap-track:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.ap-slide{
  flex:0 0 100%;height:100%;margin:0;scroll-snap-align:center;
  display:flex;align-items:center;justify-content:center;
}
.ap-slide img{width:100%;height:100%;object-fit:cover;display:block}
.ap-ph{
  font-family:var(--label);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);text-align:center;padding:0 12px;
}

.ap-btn{
  position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  width:32px;height:32px;border-radius:50%;cursor:pointer;
  background:rgba(17,16,16,.78);color:var(--text);border:1px solid var(--accent);
  font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .22s,background .2s,color .2s;
}
.ap-frame:hover .ap-btn,.ap-btn:focus-visible{opacity:1}
.ap-btn:hover{background:var(--accent);color:var(--bg-deep)}
.ap-prev{left:8px}
.ap-next{right:8px}

.ap-dots{
  position:absolute;left:0;right:0;bottom:9px;z-index:4;
  display:flex;gap:6px;justify-content:center;pointer-events:none;
}
.ap-dot{
  width:5px;height:5px;border-radius:50%;background:rgba(245,240,232,.35);
  transition:background .25s,transform .25s;
}
.ap-dot.on{background:var(--accent);transform:scale(1.35)}


/* ---------- INQUIRY FORM ---------- */
.inquiry{
  display:grid;grid-template-columns:.8fr 1.2fr;
  gap:clamp(24px,4vw,64px);align-items:start;
}
.inq-note p{margin:0;font-size:18px;color:var(--muted);max-width:36ch}

.inq-form{display:grid;grid-template-columns:1fr 1fr;gap:18px clamp(16px,2vw,24px)}
.inq-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.inq-field--wide{grid-column:1 / -1}
.inq-label{
  font-family:var(--label);font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted);
}
.inq-form input,.inq-form textarea{
  font-family:var(--body);font-size:18px;color:var(--text);
  background:var(--bg-deep);border:1px solid var(--line);
  padding:11px 13px;width:100%;
  transition:border-color .22s;
}
.inq-form input:focus,.inq-form textarea:focus{outline:none;border-color:var(--accent)}
.inq-form textarea{resize:vertical;line-height:1.5}
.inq-trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

.inq-send{
  grid-column:1 / -1;justify-self:start;cursor:pointer;
  font-family:var(--label);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--bg-deep);background:var(--accent);border:1px solid var(--accent);
  padding:13px 26px;transition:background .22s,border-color .22s;
}
.inq-send:hover,.inq-send:focus-visible{background:var(--accent-2);border-color:var(--accent-2)}

/* ---------- FOOT ---------- */
.foot{
  display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;align-items:center;
  padding:22px var(--gut) 34px;border-top:1px solid var(--line);
  font-family:var(--label);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
}
.foot a{text-decoration:none}
.foot a:hover{color:var(--text)}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media (max-width:980px){
  .topbar{flex-direction:column;align-items:stretch}
  .emblem{padding:14px clamp(18px,3vw,40px) 0}
  .gateway{border-top:1px solid var(--line);margin-top:12px}
  .gate{flex:1;justify-content:center;min-height:50px;border-left:0;border-right:1px solid var(--line)}
  .gate:last-child{border-right:0}
  .gate .arrow{display:none}
  .home-main .hero{grid-template-columns:1fr}
  .home-main .hero-photo{margin-left:0;margin-right:auto}
  .home-main .hero-photo img{max-height:60vh}
}
@media (max-width:860px){
  .inquiry{grid-template-columns:1fr}
  .inq-form{grid-template-columns:1fr}
  .hero{grid-template-columns:1fr}
  .hero-photo{order:-1;max-width:380px}
  .about-cols{grid-template-columns:1fr}
  .about-portrait{max-width:420px}
  .credits-cols{grid-template-columns:1fr;gap:26px}
  .details{grid-template-columns:1fr 1fr;row-gap:28px}
  .details > div:nth-child(odd){padding-left:0;border-left:0}
  .reps{grid-template-columns:1fr}
  .carousel{--slide:clamp(200px,60vw,280px)}
  .carousel--wide{--slide:clamp(260px,82vw,520px)}
  .car-prev{left:-4px}
  .car-next{right:-4px}
  .photos-top{grid-template-columns:1fr;gap:34px}
  .pt-col:first-child{max-width:420px}
  .res-card{max-width:420px}
  .res-imdb{max-width:420px}
    .row{grid-template-columns:1fr;gap:2px}
}
@media (max-width:560px){
  .art-board{column-count:1}
  .details{grid-template-columns:1fr;row-gap:26px}
  .details > div{padding:0;border-left:0}
  .gate{flex:1 1 50%;border-bottom:1px solid var(--line)}
  .gate .lbl{font-size:14px;white-space:normal;text-align:center}
  }
