@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/dm-sans-400.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/dm-sans-500.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/dm-sans-600.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/dm-sans-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Libre Caslon Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/libre-caslon-display.ttf) format('truetype');
}
500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#142d36;--paper:#f7f5ef;--muted:#5e6a6c;--accent:#9a6d43;--line:#d7d9d2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,.serif{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.03}h1{font-size:clamp(54px,6.5vw,94px);letter-spacing:-2px;margin-bottom:30px}h2{font-size:clamp(40px,4.5vw,64px);letter-spacing:-1px;margin-bottom:24px}h3{font-size:22px;font-weight:500;line-height:1.3}p{color:var(--muted)}.wrap{max-width:1240px;margin:auto;padding:0 48px}.header{background:var(--paper);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.nav{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:15px}.monogram{font:34px Georgia;border:1px solid var(--accent);width:52px;height:52px;display:grid;place-items:center;color:var(--accent)}.brand b{display:block;font-size:18px;letter-spacing:1px;font-weight:600}.brand small{font-size:10px;text-transform:uppercase;letter-spacing:2.6px}.links{display:flex;align-items:center;gap:30px;font-size:13px}.links a:hover,.links .active{color:var(--accent)}.menu{display:none;border:0;background:none;font-size:24px}.eyebrow{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:24px}.hero{padding:85px 0 65px;display:grid;grid-template-columns:1.25fr 1fr;gap:70px;align-items:center}.hero .intro{font-size:18px;max-width:480px;margin-bottom:32px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:26px;padding:15px 23px;border:1px solid var(--ink);background:var(--ink);color:white;font-size:13px;cursor:pointer;transition:.2s}.btn:hover{background:#27454f}.btn.light{background:transparent;color:var(--ink)}.actions{display:flex;gap:13px;flex-wrap:wrap}.hero-art{height:490px;background:#e6e5dc;position:relative;overflow:hidden;display:flex;align-items:end;padding:32px}.hero-art svg{position:absolute;inset:0;width:100%;height:100%}.art-label{position:relative;color:var(--ink);font-size:10px;letter-spacing:3px;text-transform:uppercase}.art-label span{display:block;font:30px Georgia;letter-spacing:0;text-transform:none;margin-bottom:8px}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;display:flex;gap:30px;justify-content:space-between;font-size:11px;letter-spacing:1.3px;text-transform:uppercase}.section{padding:90px 0}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;margin-bottom:45px}.section-head p{max-width:440px;padding-top:15px}.areas{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.area{padding:32px 26px 25px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:40px 1fr;gap:17px}.area:nth-child(even){padding-left:35px;border-left:1px solid var(--line)}.num{font-size:12px;color:var(--accent)}.area p{font-size:14px;max-width:400px;margin-bottom:4px}.profile{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;border-top:1px solid var(--line);padding-top:55px}.profile-mark{padding:35px;background:#eaece5;display:flex;align-items:center;justify-content:center;font:140px Georgia;color:#a9b6ae;min-height:280px}.profile h3{font:36px Georgia}.academy-band{background:var(--paper);color:var(--ink);padding:80px 0}.academy-band p{color:var(--muted)}.band-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}.academy-band .btn{background:var(--ink);color:#fff;border-color:var(--ink)}.academy-band .btn:hover{background:#27454f}.tag{display:inline-block;border:1px solid var(--line);padding:5px 12px;margin:6px 3px;font-size:12px;color:var(--ink)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-note{border-top:1px solid var(--line);padding:28px 0}.contact-note h3{font-size:18px}.footer{border-top:1px solid var(--line);padding:30px 0;font-size:11px;color:var(--muted)}.footer-row{display:flex;justify-content:space-between;gap:20px}.footer a{text-decoration:underline}.academy-hero{padding:80px 0 60px;max-width:870px}.academy-hero h1{max-width:820px}.academy-hero p{max-width:620px;font-size:18px}.topics{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.topic{border-top:1px solid var(--line);padding-top:22px}.topic h3{font:29px Georgia;margin:20px 0 15px}.topic p{font-size:14px}.topic a{font-size:12px;color:var(--accent);text-decoration:underline}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.steps strong{display:block;font:48px Georgia;color:var(--accent);margin-bottom:20px}.steps p{font-size:14px}.brief-section{background:#e9ede6;padding:80px 0}.brief-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field label{display:block;font-size:12px;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;border:1px solid #c8cfc5;border-radius:0;background:#f8f9f4;padding:13px;color:var(--ink)}.field.full,.form .full{grid-column:1/-1}textarea{resize:vertical;min-height:100px}.help{font-size:12px}.result{grid-column:1/-1;border-top:1px solid #bac6ba;padding-top:20px}.result pre{font:14px/1.6 Arial;white-space:pre-wrap;background:#f8f9f4;padding:20px}.result[hidden]{display:none}.status{font-size:13px;margin-top:12px}.policy{max-width:780px;padding:70px 0}.policy h1{font-size:60px}.policy h2{font:28px Georgia;margin-top:35px}@media(max-width:900px){.wrap{padding:0 25px}.hero{gap:30px}.hero-art{height:400px}.links{gap:16px}.brand b{font-size:15px}.section-head,.profile,.band-grid,.contact,.brief-grid{gap:35px}.topics{gap:22px}}@media(max-width:680px){.nav{height:80px}.menu{display:block}.links{display:none;position:absolute;left:0;right:0;top:80px;padding:25px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:start}.links.open{display:flex}.hero,.section-head,.profile,.band-grid,.contact,.brief-grid{grid-template-columns:1fr}.hero{padding:50px 0 35px}.hero-art{height:300px}.strip{font-size:9px;gap:15px;flex-wrap:wrap}.section{padding:60px 0}.section-head{gap:0;margin-bottom:25px}.areas,.topics,.steps{grid-template-columns:1fr}.area:nth-child(even){padding-left:0;border-left:0}.academy-band,.brief-section{padding:60px 0}.profile-mark{min-height:200px;font-size:100px}.footer-row{flex-direction:column}.academy-hero{padding:50px 0 30px}.form{grid-template-columns:1fr}.field{grid-column:1/-1}h1{letter-spacing:-1.4px}.actions .btn{gap:14px}.policy h1{font-size:48px}}

.contact-note .office h3{margin-bottom:8px}.contact-note a:not(.btn),.policy a:not(.btn){text-decoration:underline;text-underline-offset:3px}.contact-links a,.policy a{overflow-wrap:anywhere}.contact-links{margin:25px 0}.contact-links p{margin-bottom:16px}

.teaching-experience{margin-top:45px;padding-top:28px;border-top:1px solid var(--line);max-width:900px}.teaching-experience h3{font:32px Georgia}.teaching-experience p{font-size:16px}

.hero .hero-title{font-size:clamp(42px,4.3vw,64px);line-height:1.08;letter-spacing:-1.2px}.art-label{letter-spacing:1.5px;font-size:12px}.art-label span{font-size:clamp(25px,2.5vw,32px);line-height:1.2}@media(max-width:680px){.hero .hero-title{font-size:clamp(38px,8.5vw,54px);letter-spacing:-.8px}}

.hero-art .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(10,22,28,.28) 65%,rgba(10,22,28,.88) 100%);pointer-events:none}.hero-art .art-label{z-index:1;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.35);font-size:12px;line-height:1.5}.hero-art .art-label span{font-size:clamp(25px,2.5vw,32px)}@media(max-width:680px){.hero-art{height:390px;padding:24px}.hero-art .hero-photo{object-position:center 24%}}

.contact-background{position:relative;isolation:isolate;overflow:hidden;background:#0a161c;color:#fff;padding-top:max(230px,28vw)}
.contact-photo{position:absolute;z-index:-2;top:0;left:0;width:100%;height:auto;filter:grayscale(1) contrast(1.05) brightness(.98);mask-image:linear-gradient(to bottom,#000 0%,#000 75%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 75%,transparent 100%);pointer-events:none}
.contact-background::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,22,28,.12) 0%,rgba(10,22,28,.22) 18%,rgba(10,22,28,.66) 32%,rgba(10,22,28,.82) 70%,rgba(10,22,28,.95) 100%);pointer-events:none}
.contact-background .contact{align-items:start;gap:70px}
.contact-background p{color:#eef1f0}
.contact-background .eyebrow{color:#e8c9a5}
.contact-background .contact-note{border-color:rgba(255,255,255,.35);display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.contact-background .contact-note>h3,.contact-background .contact-note>p,.contact-background .contact-links,.contact-background .contact-note>.btn{grid-column:1/-1}
.contact-background .contact-links{margin:8px 0 24px}
.contact-background .btn.light{color:#fff;border-color:rgba(255,255,255,.65)}
.contact-background .btn.light:hover{background:rgba(255,255,255,.12)}
.contact-background a:hover{text-decoration:underline}
@media(max-width:680px){.contact-background{padding-top:240px}.contact-photo{width:auto;height:580px;max-width:none;left:50%;transform:translateX(-50%)}.contact-background .contact{gap:35px}.contact-background .contact-note{grid-template-columns:1fr}.contact-background .office{grid-column:1/-1}.contact-background::after{background:linear-gradient(180deg,rgba(10,22,28,.12) 0px,rgba(10,22,28,.22) 185px,rgba(10,22,28,.78) 240px,rgba(10,22,28,.9) 440px,#0a161c 580px)}}

.competencies-background,.studio-background{background:var(--paper);color:var(--ink)}
.competencies-background p,.studio-background p{color:var(--muted)}
.competencies-background .eyebrow,.competencies-background .num,.studio-background .eyebrow{color:var(--accent)}
.competencies-background .areas,.competencies-background .area{border-color:var(--line)}
.studio-background .profile{border-top:1px solid var(--line);padding-top:55px}
.studio-background .profile-mark{background:#eaece5;color:#a9b6ae;border:0}
.studio-background .btn.light{background:transparent;color:var(--ink);border-color:var(--ink)}
.studio-background .btn.light:hover{background:#27454f}

.profile-portrait{width:100%;max-width:430px;background:var(--paper);overflow:hidden}.profile-portrait img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center top}@media(max-width:680px){.profile-portrait{max-width:350px;margin:0 auto}}

.policy-index{display:flex;gap:24px;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}.policy section{scroll-margin-top:120px}.policy strong{color:var(--ink)}

/* Opaque navigation surfaces preserve the current white presentation. */
.header{background:#fff}.links.open{background:#fff}
#send-brief{background:#142d36;border-color:#142d36;color:#fff}#send-brief:hover{background:#27454f}

.case-brief-section{padding:60px 0;background:#f3f4f2}.case-action{background:#142d36;border-color:#142d36;color:#fff}.case-action:hover{background:#27454f}.case-secondary{color:#142d36;border-color:#142d36}.case-back{padding-top:30px;padding-bottom:40px}.case-back a,.case-brief-section .help a{text-decoration:underline}.case-brief-section .help{font-size:14px}.case-brief-section label{font-size:14px}

.monogram{font-size:28px;letter-spacing:-1.5px;flex-shrink:0}

/* Primary invitation to introduce a case. */
.contact-primary{font-size:16px;font-weight:600;padding:18px 30px;min-height:58px}
.contact-actions{grid-column:1/-1;align-items:center}
.contact-background .contact-primary{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.contact-background .contact-primary:hover{background:#fff;border-color:#fff;text-decoration:none}
@media(max-width:680px){.contact-actions .contact-primary{width:100%}}
