:root{--ink:#071725;--paper:#f2f0e8;--blue:#0758f5;--cyan:#42d6db;--gold:#f5bc43;--line:rgba(7,23,37,.15);--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}a{color:inherit}.skip{position:fixed;top:-100px;left:20px;background:#fff;padding:10px 16px;z-index:100}.skip:focus{top:20px}.site-header{position:absolute;inset:0 0 auto;z-index:10;height:92px;display:flex;align-items:center;justify-content:space-between;max-width:var(--max);margin:auto;padding:0 30px;color:#fff}.brand{font:bold 34px/1 Georgia,serif;text-decoration:none;letter-spacing:-.05em}.brand span,.eyebrow{color:var(--cyan)}nav{display:flex;align-items:center;gap:30px}nav a{text-decoration:none;font-weight:650;font-size:14px}nav a:hover{text-decoration:underline;text-underline-offset:5px}.nav-cta{border:1px solid rgba(255,255,255,.45);border-radius:99px;padding:10px 16px}.hero{min-height:790px;background:var(--ink);color:white;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:55px;padding:130px max(6vw,30px) 70px;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;width:750px;height:750px;border:1px solid rgba(66,214,219,.14);border-radius:50%;left:-380px;top:40px}.hero-copy{max-width:740px;justify-self:end;position:relative;z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-weight:800;font-size:12px;margin:0 0 24px}.hero h1{font:700 clamp(76px,10vw,150px)/.78 Georgia,serif;letter-spacing:-.065em;margin:0}.hero h1 em{font-weight:400;color:var(--cyan)}.hero-line{font:600 clamp(27px,3.2vw,46px)/1.08 Georgia,serif;max-width:650px;margin:42px 0 20px}.hero-intro{color:#aab9c5;max-width:650px;font-size:18px}.hero-actions{display:flex;gap:14px;margin:35px 0 45px}.button{display:inline-flex;padding:14px 21px;border-radius:99px;text-decoration:none;font-weight:750}.primary{background:var(--cyan);color:var(--ink)}.primary:hover{background:#86f2f1;transform:translateY(-2px)}.ghost{border:1px solid #536777;color:#fff}.ghost:hover{border-color:#fff}.signals{display:flex;gap:36px;padding:0;margin:0;list-style:none}.signals li{border-left:1px solid #405463;padding-left:15px}.signals strong,.signals span{display:block}.signals strong{font:700 24px Georgia,serif;color:#fff}.signals span{color:#91a4b3;font-size:12px;max-width:95px}.portrait-wrap{position:relative;width:min(220px,100%);justify-self:center}.portrait-wrap img{display:block;width:100%;aspect-ratio:1;object-fit:cover;object-position:center 18%;border-radius:50%;filter:saturate(.9);position:relative;z-index:2}.portrait-wrap:after{content:"";position:absolute;inset:10px -10px -10px 10px;border:1px solid var(--cyan);border-radius:50%}.portrait-note{position:absolute;z-index:4;right:-70px;bottom:12px;background:white;color:var(--ink);padding:11px 16px;border-radius:99px;font-weight:700;font-size:13px;box-shadow:0 8px 28px #0005}.portrait-note span{display:inline-block;width:8px;height:8px;border-radius:50%;background:#00b87a;margin-right:8px}.orbit{position:absolute;border:1px solid rgba(66,214,219,.35);border-radius:50%}.orbit.one{width:90px;height:90px;right:-45px;top:-30px}.orbit.two{width:42px;height:42px;right:-75px;top:55px}.section{max-width:var(--max);margin:auto;padding:120px 30px}.story,.credentials{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.section-heading h2{font:600 clamp(42px,5vw,72px)/1.04 Georgia,serif;letter-spacing:-.035em;margin:0}.section-heading .eyebrow{color:var(--blue)}.story-copy{font-size:18px}.story-copy .lead{font:500 29px/1.35 Georgia,serif;margin-top:0}.work{max-width:none;background:#e7e4da}.work>.section-heading,.work>.cards{max-width:var(--max);margin-left:auto;margin-right:auto}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);margin-top:65px;border:1px solid var(--line)}.card{background:var(--paper);padding:42px;min-height:370px;position:relative}.card-no{font:700 12px monospace;color:#63707a}.card-icon{position:absolute;right:35px;top:28px;font-size:42px;color:var(--blue)}.card h3{font:600 31px/1.1 Georgia,serif;margin:80px 0 18px}.card p{font-size:17px;max-width:520px}.accent-card{background:var(--blue);color:white}.accent-card .card-icon,.accent-card .card-no{color:var(--cyan)}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.tags span{border:1px solid currentColor;border-radius:99px;padding:5px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.quote-section{text-align:center;background:var(--ink);color:white;max-width:none}.quote-section blockquote{font:500 clamp(38px,5vw,72px)/1.13 Georgia,serif;max-width:1050px;margin:0 auto 30px}.quote-section p{color:var(--cyan)}.credential-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.credential-grid article{background:var(--paper);padding:30px}.credential-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--blue);font-weight:800}.credential-grid h3{font:600 24px Georgia,serif;margin:12px 0}.closing{text-align:center;padding-top:150px;padding-bottom:150px}.closing h2{font:600 clamp(50px,7vw,92px)/.98 Georgia,serif;letter-spacing:-.045em;margin:0 0 45px}.closing .eyebrow{color:var(--blue)}footer{background:var(--ink);color:#9aadb9;display:flex;align-items:center;gap:30px;padding:35px max(6vw,30px);font-size:13px}footer .brand{color:#fff}footer p:last-child{margin-left:auto}footer a{color:white}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}@media(max-width:900px){nav a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr;padding-top:125px}.hero-copy{justify-self:start}.portrait-wrap{width:min(220px,65vw);justify-self:center}.signals{flex-wrap:wrap}.story,.credentials{grid-template-columns:1fr;gap:45px}.cards{grid-template-columns:1fr}.section{padding-top:85px;padding-bottom:85px}}@media(max-width:560px){.site-header{height:75px;padding:0 20px}.hero{padding-left:20px;padding-right:20px}.hero h1{font-size:76px}.hero-line{font-size:29px}.hero-actions{flex-direction:column;align-items:flex-start}.signals{gap:18px}.portrait-note{right:-5px}.section{padding-left:20px;padding-right:20px}.credential-grid{grid-template-columns:1fr}.card{padding:30px}.closing h2{font-size:48px}footer{align-items:flex-start;flex-wrap:wrap}footer p:last-child{margin-left:0;width:100%}}

/* Compact hero portrait */
.portrait-wrap{width:220px;height:220px;min-width:220px;min-height:220px;align-self:center;justify-self:center}
.portrait-wrap img{display:block;width:220px;height:220px;max-width:220px;max-height:220px;aspect-ratio:1/1;object-fit:cover;object-position:center 22%;border-radius:50%;border:5px solid rgba(255,255,255,.96);box-shadow:0 20px 55px rgba(0,0,0,.38)}
.portrait-wrap:after{inset:8px -8px -8px 8px;border-radius:50%}
.portrait-note{right:-58px;bottom:-14px}
@media(max-width:900px){.portrait-wrap{width:180px;height:180px;min-width:180px;min-height:180px;margin:12px auto 0}.portrait-wrap img{width:180px;height:180px;max-width:180px;max-height:180px}.portrait-note{right:-36px;bottom:-12px}}
@media(max-width:560px){.portrait-wrap{width:160px;height:160px;min-width:160px;min-height:160px}.portrait-wrap img{width:160px;height:160px;max-width:160px;max-height:160px}.portrait-note{right:-20px;font-size:11px;padding:8px 11px}}
/* Keep the headshot beside the introduction on tablet-sized previews. */
@media (min-width:561px) and (max-width:900px){
  .hero{grid-template-columns:minmax(0,1fr) 190px;gap:28px;align-items:center}
  .hero-copy{min-width:0}
  .portrait-wrap{grid-column:2;grid-row:1;width:180px;height:180px;min-width:180px;min-height:180px;margin:0;align-self:center;justify-self:center}
}
@media (max-width:560px){
  .hero{grid-template-columns:1fr}
  .portrait-wrap{grid-column:1;grid-row:auto}
}
@media (min-width:561px) and (max-width:900px){
  .signals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .signals li{padding-left:10px}
}
