 :root{--bg:#f1efe7;--ink:#171717;--line:#cbc8bd;--acid:#dfff45}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif}header,main>section,footer{width:min(1320px,calc(100% - 64px));margin:auto}header{height:90px;display:flex;align-items:center;justify-content:space-between}.logo{font:700 24px Manrope;color:var(--ink);text-decoration:none}.logo span{color:#7f9800}nav{display:flex;gap:28px;align-items:center}nav a{color:var(--ink);text-decoration:none;font-size:14px}.pill{border:1px solid;padding:10px 17px;border-radius:99px}.hero{padding:80px 0 90px}.kicker,.label,small{font:600 11px Manrope;letter-spacing:.16em}.hero h1,.contact h2{font:600 clamp(55px,8.5vw,130px)/.88 Manrope;letter-spacing:-.065em;margin:35px 0 55px}.hero em,.split h2 em,.contact em{font-family:Georgia,serif;font-weight:400}.intro{display:flex;justify-content:space-between;align-items:end}.intro p{font-size:22px;line-height:1.5;max-width:650px}.btn{background:var(--ink);color:#fff;text-decoration:none;padding:17px 24px;border-radius:99px}.ticker{border-block:1px solid var(--line);overflow:hidden;white-space:nowrap;padding:16px 0;font:600 12px Manrope;letter-spacing:.1em}.ticker div{animation:move 24s linear infinite}@keyframes move{to{transform:translateX(-45%)}}.split{padding:150px 0;display:grid;grid-template-columns:1fr 3fr;gap:40px}.split h2,.sectionhead h2,.skillgrid h2{font:600 clamp(42px,5.5vw,82px)/1 Manrope;letter-spacing:-.055em;margin:0}.lead{font-size:20px;line-height:1.65;color:#66645e;max-width:800px;margin-top:45px}.sectionhead{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.role{border-top:1px solid var(--line);padding:28px 0 40px}.meta{font:600 10px Manrope;letter-spacing:.14em;color:#777}.meta span{float:right}.rolegrid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;margin:38px 0}.role h3,.card h3{font:600 clamp(38px,4.5vw,68px)/.95 Manrope;letter-spacing:-.055em;margin:0}.role i{display:block;font:italic 24px Georgia;margin-top:15px}.rolegrid p,.card p{font-size:18px;line-height:1.65;color:#68665f}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{border:1px solid var(--line);padding:8px 12px;border-radius:99px;font-size:11px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:70px}.card{min-height:520px;padding:44px;display:flex;flex-direction:column}.acid{background:var(--acid)}.dark{background:var(--ink);color:#fff}.card h3{margin-top:70px}.card b{margin-top:auto;border-top:1px solid;padding-top:18px;font-size:11px;letter-spacing:.1em}.dark p{color:#c8c8c8}details{margin-top:70px;border-block:1px solid var(--line)}summary{padding:25px 0;font-size:20px;cursor:pointer;display:flex;justify-content:space-between}.old{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:20px 0 50px}.old h4{font-size:24px}.old p{color:#68665f;line-height:1.6}.skills{padding:150px 0}.skillgrid{display:grid;grid-template-columns:1fr 1.4fr;gap:100px;margin-top:50px}.list div{border-top:1px solid var(--line);padding:20px 0;font:500 clamp(21px,2.2vw,34px) Manrope;letter-spacing:-.03em}.list span{display:inline-block;width:55px;font-size:11px;color:#777}.tools{border-block:1px solid var(--line);padding:28px 0;margin-top:80px;line-height:2}.about{padding-top:90px}.contact{background:var(--acid);width:min(1450px,calc(100% - 32px));padding:90px max(32px,calc((100% - 1320px)/2));margin-bottom:16px}.contact h2{margin:50px 0}.contact a{display:inline-block;color:var(--ink);text-decoration:none;border:1px solid;border-radius:99px;padding:14px 20px;margin-right:8px}footer{height:90px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.12em}@media(max-width:760px){header,main>section,footer{width:calc(100% - 36px)}nav a:not(.pill){display:none}.hero{padding-top:45px}.hero h1{font-size:15vw}.intro,.split,.rolegrid,.cards,.skillgrid,.old{display:grid;grid-template-columns:1fr;gap:35px}.split,.skills{padding:100px 0}.rolegrid{gap:25px}.card{min-height:460px;padding:28px}.contact{padding:65px 24px}.contact h2{font-size:18vw}footer{gap:20px}}
.wordmark{font-size:12px;letter-spacing:.2em}
.hero-v2{min-height:760px;display:grid;grid-template-columns:1.25fr .75fr;gap:35px;align-items:center;padding-top:35px;position:relative}
.hero-copy{position:relative;z-index:2}.hero-v2 h1{font-size:clamp(54px,7vw,108px)}
.hero-v2 .intro{display:block;max-width:650px}.hero-v2 .intro .btn{display:inline-block;margin-top:22px}
.portrait{height:650px;position:relative;overflow:hidden;align-self:end;background:#1d1111}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:52% center;display:block;filter:saturate(.88) contrast(.98)}
.portrait-dot{position:absolute;width:88px;height:88px;background:var(--acid);border-radius:50%;left:-35px;top:70px}
.tivoli-story{margin-top:18px;background:#e7e4da;padding:45px 44px 52px;border-top:0}
.tivoli-headline{font:600 clamp(38px,5vw,72px)/.96 Manrope;letter-spacing:-.06em;margin:48px 0 64px}
@media(max-width:800px){.hero-v2{grid-template-columns:1fr;min-height:auto;padding-top:45px}.portrait{height:520px;margin-top:20px}.tivoli-story{padding:30px 22px}.tivoli-headline{margin:38px 0 48px}}

/* Version 3 refinements */
.portrait-dot{display:none!important}
.hero-v2 h1 em{
  position:relative;
  display:inline-block;
  z-index:1;
}
.hero-v2 h1 em::after{
  content:"";
  position:absolute;
  left:.02em;
  right:.01em;
  bottom:.04em;
  height:.11em;
  background:var(--acid);
  z-index:-1;
  border-radius:999px;
  transform:rotate(-.35deg);
}
.ticker{
  overflow:hidden;
  white-space:nowrap;
}
.ticker-track{
  display:flex;
  width:max-content;
  animation:ticker-loop 26s linear infinite;
  will-change:transform;
}
.ticker-content{
  display:flex;
  align-items:center;
  flex-shrink:0;
  gap:34px;
  padding-right:34px;
}
.ticker-content span{
  display:inline-block;
}
.ticker-content i{
  font-style:normal;
  color:#7d9800;
  margin:0 8px;
}
@keyframes ticker-loop{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion: reduce){
  .ticker-track{animation:none}
}

/* Version 4 refinements */
.hero-v2 h1 em::after{display:none!important}
.hero-highlight{
  position:relative;
  display:inline-block;
  z-index:1;
}
.hero-highlight::after{
  content:"";
  position:absolute;
  left:.02em;
  right:.01em;
  bottom:.04em;
  height:.11em;
  background:var(--acid);
  z-index:-1;
  border-radius:999px;
  transform:rotate(-.35deg);
}

/* Version 5: ticker stars back to black */
.ticker-content i{color:var(--ink)!important}
