:root{--paper:#f5f3ed;--ink:#18201e;--accent:#435e54;--rule:#d8d7cb;--white:#fffdf7;--sans:Outfit,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}
a{color:inherit;text-underline-offset:.25em}
a:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}
img{display:block;max-width:100%}
figure,p{margin:0}
h1,h2,h3{margin:0;font-weight:800;line-height:1}
h2{font-size:clamp(3rem,6vw,6.3rem)}
.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}
.eyebrow{font-size:.71rem;font-weight:800;line-height:1.45;text-transform:uppercase}
.accent{color:var(--accent)}
.masthead{min-height:81px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--rule)}
.wordmark{font-size:.88rem;text-transform:uppercase;font-weight:800;text-decoration:none}
nav{display:flex;gap:clamp(16px,3vw,46px);flex-wrap:wrap;font-weight:800;font-size:.84rem}
nav a{text-decoration:none}
nav a:hover,.footer a:hover,.collection-header a:hover{color:var(--accent)}
.lead{max-width:35ch;font-size:clamp(1.05rem,1.6vw,1.4rem);line-height:1.52}
.button{display:inline-flex;gap:22px;align-items:center;margin-top:27px;padding:13px 18px;background:var(--ink);color:var(--white);font-size:.84rem;font-weight:800;text-decoration:none}
.button:hover{background:#39564b}
.button.light{color:#18201e;background:var(--white)}
.button.light:hover{background:#e1ece4}
.work{display:grid;grid-template-columns:.8fr 1.12fr 1.15fr;align-items:center;border-block:1px solid var(--rule);min-height:104px}
.work h2{padding-block:20px;color:var(--accent)}
.company{display:flex;gap:15px;align-items:center;min-height:78px;padding:12px clamp(12px,2vw,32px);border-left:1px solid var(--rule);text-decoration:none}
.company:hover{background:#ebece3}
.company img{flex:none;object-fit:contain}
.company .xdc-logo{width:85px;height:auto}
.company strong,.company small{display:block}
.company strong{line-height:1.35;font-size:1.08rem}
.company small{font-size:.75rem}
.arrow{margin-left:auto;font-weight:800}
.about{display:grid;grid-template-columns:1.13fr .87fr;align-items:end;gap:5vw;padding-block:clamp(60px,9vw,132px)}
.about h2{margin:.15em 0 0}
.body-copy{font-size:clamp(1rem,1.55vw,1.25rem);max-width:45ch}
.art-intro{color:var(--white);background:#181f20 linear-gradient(90deg,rgba(18,24,24,.94),rgba(18,24,24,.65) 50%,rgba(18,24,24,.13));position:relative;isolation:isolate;overflow:hidden}
.art-intro::before{content:"";position:absolute;inset:-28px 0;transform:translateY(var(--parallax,0px));z-index:-1;background:url('/media/sunset-from-the-moon-texture.webp') center/cover;opacity:.7;mask-image:linear-gradient(90deg,transparent,#000 64%)}
.art-copy{padding-block:clamp(54px,9vw,130px)}
.art-copy h2{margin:.16em 0 .21em}
.art-copy>p:not(.eyebrow){max-width:46ch;font-size:clamp(1.02rem,1.55vw,1.25rem)}
.collection{padding-block:clamp(42px,7vw,95px)}
.collection-header{display:flex;gap:14px;align-items:baseline;justify-content:space-between;margin-bottom:24px}
.collection-header h3{font-size:clamp(1.45rem,3vw,2.75rem)}
.collection-header a,.footer a{font-size:.86rem;font-weight:800}
.artwork-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 22px}
.artwork-card img{width:100%;height:auto;aspect-ratio:1/1.15;object-fit:contain;background:#eae8df}
.artwork-card h4{margin:.55em 0 .1em;font-size:clamp(1.2rem,1.9vw,1.68rem);line-height:1.2}
.artwork-card summary{cursor:pointer;width:fit-content;font-size:.84rem;font-weight:800;color:var(--accent)}
.artwork-card details p{white-space:pre-line;font-size:.93rem;margin-top:.55rem}
.footer{padding-block:23px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.86rem}
@media(max-width:950px){
  .wrap{width:calc(100% - 60px)}
  .work{grid-template-columns:1fr 1fr}
  .work h2{grid-column:1/-1;padding-bottom:5px}
  .company{padding-left:0;border:0}
  .company:last-child{padding-left:15px;border-left:1px solid var(--rule)}
}
@media(max-width:640px){
  .wrap{width:calc(100% - 36px)}
  .masthead{min-height:0;padding-block:16px;align-items:flex-start;flex-direction:column;gap:8px}
  .about{grid-template-columns:1fr}
  .company{gap:9px;padding-right:6px}
  .company img{width:37px;height:37px}
  .company .xdc-logo{width:60px;height:auto}
  .company small{font-size:.67rem}
  .artwork-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}
  .art-intro::before{mask-image:linear-gradient(90deg,transparent,#000 95%)}
}
@media(max-width:360px){.artwork-grid{grid-template-columns:1fr}.company .arrow{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

[hidden]{display:none!important}
.hero-portrait{position:relative;display:flex;align-items:center;min-height:clamp(530px,56vw,765px);padding:clamp(52px,8vw,118px) 0;background:#182120;color:#fffdf7;isolation:isolate;overflow:hidden}
.hero-image{position:absolute;inset:0 auto 0 0;z-index:-2;width:85%;height:100%;max-width:none;object-fit:cover;object-position:center calc(10% + var(--parallax,0px));mask-image:linear-gradient(90deg,#000 72%,transparent)}
.hero-portrait::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 25%,rgba(24,33,32,.12) 37%,rgba(24,33,32,.85) 63%,#182120 100%)}
.hero-content{padding-left:47%}
.hero-name{font-size:clamp(1.25rem,2vw,1.7rem);font-weight:400}
.hero-portrait h1{font-size:clamp(3rem,5.5vw,6.5rem);line-height:.95;margin:.18em 0 .22em}
.hero-disciplines{max-width:38ch;font-size:clamp(.98rem,1.42vw,1.2rem);line-height:1.55;font-weight:700;color:#f4f3e9}
.art-page{--paper:#151918;--ink:#f5f0e7;--accent:#c3d9cb;--rule:#3a423e;--white:#f7f3e8}
.art-page .masthead,.art-page .footer{border-bottom:0}
.art-banner::before{opacity:.94}
.art-banner h1{font-size:clamp(4rem,11vw,10rem);margin:.13em 0 .15em}
.art-page .collection-header h2{font-size:clamp(1.65rem,4vw,3.2rem)}
.art-page .artwork-card img{background:#101211}
.studio-feed+.collection{border-top:1px solid var(--rule)}
@media(max-width:800px){
  .hero-portrait{align-items:end;min-height:690px;padding-bottom:36px}
  .hero-image{width:100%;height:85%;object-position:34% calc(10% + var(--parallax,0px));mask-image:linear-gradient(#000 70%,transparent)}
  .hero-content{padding-left:0}
  .hero-portrait::after{background:linear-gradient(0deg,#182120 1%,rgba(24,33,32,.95) 25%,rgba(24,33,32,.38) 57%,transparent 75%)}
  .hero-portrait h1{font-size:clamp(2.85rem,8.7vw,4.9rem)}
}
nav a[aria-current="page"]{text-decoration:underline}
.profile-link{display:inline-block;margin-top:.7em;font-weight:800;font-size:.9em}
.profile-intro{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:5vw;padding-block:clamp(60px,10vw,144px)}
.profile-intro h1{font-size:clamp(3.9rem,8vw,9.2rem);margin:.15em 0 .22em}
.profile-intro .body-copy p+p{margin-top:1em}
.speaking{background:#1b2522;color:#f5f3ed}
.speaking-inner,.profile-art{padding-block:clamp(52px,8vw,110px)}
.speaking-heading h2,.profile-art h2{margin:.15em 0 .22em}
.speaking-heading p:last-child,.profile-art p{max-width:52ch;font-size:clamp(1.05rem,1.6vw,1.3rem)}
.speaking-images,.talks{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px}
.speaking-images img{width:100%;height:auto;aspect-ratio:1.51;object-fit:cover}
.talks article{padding-top:16px;border-top:1px solid #65746d}
.talks h3{font-size:clamp(1.5rem,3vw,2.75rem);margin:.3em 0}
.talks a{font-size:.9rem}
@media(max-width:680px){.profile-intro,.speaking-images,.talks{grid-template-columns:1fr}.profile-intro{gap:24px}}

.profile-intro{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:start;gap:clamp(24px,6vw,92px);padding-bottom:clamp(46px,6vw,86px)}
.profile-intro h1{font-size:clamp(3.25rem,6.7vw,7.5rem)}
.profile-intro .body-copy{max-width:none}
.profile-practice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,44px);padding-bottom:clamp(56px,8vw,112px)}
.profile-practice article{background:#fffdf7;border:1px solid var(--rule);padding:clamp(18px,2.1vw,30px)}
.profile-practice h2{font-size:clamp(1.34rem,2.4vw,2.25rem);line-height:1.15;margin-bottom:12px}
.profile-practice p{max-width:38ch}
.recordings{padding-block:clamp(52px,7vw,98px);border-bottom:1px solid var(--rule)}
.recordings h2{font-size:clamp(2.65rem,5vw,5rem);margin-bottom:30px}
.recording-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.recording{font-weight:800;text-decoration:none}
.recording img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#242a26;margin-bottom:9px}
.recording:hover,.recording:focus-visible{text-decoration:underline}
.prints-banner::before{background-image:url('/media/cali-vibes-texture.webp');background-position:center 55%}
@media(max-width:900px){.recording-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.profile-intro,.profile-practice{grid-template-columns:1fr}.profile-practice{gap:24px}.recording-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}}

.menu-social{display:inline-flex;align-items:center;gap:5px}
nav{align-items:center}
.social-icon{display:inline-grid;place-items:center;width:36px;height:36px}
.social-icon svg,.contact-social svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}
.contact-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(30px,7vw,100px);padding-block:clamp(58px,9vw,126px)}
.contact-intro h1{font-size:clamp(4rem,8vw,8rem);margin-bottom:.24em}
.contact-intro p{font-size:clamp(1.1rem,1.7vw,1.35rem);max-width:28ch;margin-bottom:18px}
.contact-social{display:flex;flex-wrap:wrap;gap:10px}
.contact-social a{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--rule);font-weight:800;text-decoration:none}
.contact-social a:hover{border-color:var(--accent);color:var(--accent)}
.contact-form fieldset{display:grid;gap:18px;min-width:0;margin:0;padding:24px;border:1px solid var(--rule)}
.contact-form legend{padding:0 8px;font-weight:800}
.contact-form label{display:grid;gap:6px;font-size:.9rem;font-weight:800}
.contact-form input,.contact-form textarea{width:100%;padding:10px 12px;border:1px solid #78867e;background:#fffdf7;color:var(--ink);font:inherit}
.contact-form textarea{resize:vertical}
.contact-form .button{justify-self:start;margin:0;border:0;cursor:pointer}
.contact-form button:disabled{opacity:.58;cursor:default}
.contact-form #contact-status{margin-top:12px;font-size:.9rem}
#contact-captcha:empty{display:none}
@media(max-width:680px){.contact-page{grid-template-columns:1fr}.contact-form fieldset{padding:16px}.masthead nav{column-gap:12px;row-gap:4px}}

.masthead{color:#f5f3ed;background:#151918;border-bottom-color:#343e38;box-shadow:0 0 0 100vmax #151918;clip-path:inset(0 -100vmax)}
.masthead nav a:hover{color:#bdd8c9}

.wordmark{display:inline-flex;align-items:center;gap:9px}
.wordmark img{width:48px;height:auto;filter:brightness(0) invert(1)}

.practice-link{display:inline-block;margin-top:14px;font-size:.9rem;font-weight:800}
@media(prefers-reduced-motion:no-preference){
  .site-arrived{animation:site-enter .55s cubic-bezier(.22,.75,.24,1) both}
  .hero-content > :nth-child(2).site-arrived,.profile-practice article:nth-child(2) > .site-arrived{animation-delay:70ms}
  .hero-content > :nth-child(3).site-arrived,.profile-practice article:nth-child(3) > .site-arrived{animation-delay:140ms}
  .hero-content > :nth-child(4).site-arrived{animation-delay:210ms}
  @keyframes site-enter{from{opacity:.25;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){
  .art-intro::before{transform:none}
  .hero-image{--parallax:0px!important}
}

.practice-summary article{display:flex;flex-direction:column}
.practice-summary .practice-link{align-self:flex-start;margin-top:auto;padding-top:14px}
.practice-details article{scroll-margin-top:24px}
.practice-details article:nth-child(1){background:#e5eee8;border-color:#cad9d0}
.practice-details article:nth-child(2){background:#f4ead7;border-color:#e4d4b6}
.practice-details article:nth-child(3){background:#f1e5e4;border-color:#e2ccca}
.practice-details article p+p{margin-top:13px}
.practice-details h3{margin:20px 0 8px;font-size:1.12rem;line-height:1.25}


html{scroll-padding-top:108px}
.masthead{position:sticky;top:0;z-index:10}
.practice-details article{padding:clamp(20px,2.5vw,36px)}
.practice-details p{max-width:44ch}
.practice-details h3{padding-top:14px;border-top:1px solid #d7c6c4}
@media(prefers-reduced-motion:no-preference){
  .profile-practice article > .site-arrived{animation-name:practice-fade}
  @keyframes practice-fade{from{opacity:.5}to{opacity:1}}
}
@media(max-width:680px){html{scroll-padding-top:146px}}

.book-feature{display:grid;grid-template-columns:minmax(70px,104px) minmax(0,1fr);align-items:center;gap:14px;margin:20px 0}
.book-feature img{width:100%;height:auto;box-shadow:0 4px 12px #25202029}
.book-feature h3{margin:0 0 5px;padding:0;border:0}
.book-feature p{font-size:.88rem;line-height:1.45}
.book-feature .practice-link{margin-top:8px}

@media(prefers-reduced-motion:no-preference){
  a,button,input,textarea,summary{transition:color .18s ease,background-color .18s ease,border-color .18s ease}
  .site-arrived:focus-within,.site-arrived:focus-visible{animation:none}
}

@media(max-width:640px){
  html{scroll-padding-top:110px}
  .wrap{width:calc(100% - 32px)}
  .masthead{padding-block:7px 3px;gap:0}
  .masthead .wordmark{min-height:44px;padding-right:92px}
  .masthead nav{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;align-self:stretch;gap:0 6px;font-size:.79rem}
  .masthead nav>a{display:flex;align-items:center;min-height:44px;white-space:nowrap}
  .masthead .menu-social{position:absolute;top:7px;right:0;gap:0}
  .masthead .social-icon{width:44px;height:44px}
  .hero-portrait{min-height:max(560px,calc(100svh - 96px));padding-bottom:32px}
  .hero-portrait h1{font-size:clamp(2rem,8.5vw,3.8rem);line-height:1.02}
  .hero-disciplines{font-size:.93rem}
  .art-banner h1,.contact-intro h1,.profile-intro h1{font-size:clamp(2.8rem,11vw,4.1rem)}
  .collection-header{align-items:flex-start;flex-wrap:wrap;gap:7px 12px}
  .contact-form input,.contact-form textarea{font-size:1rem}
}
@media(max-width:370px){
  .work{grid-template-columns:1fr}
  .company:last-child{padding-left:0;border-left:0;border-top:1px solid var(--rule)}
}

.menu-toggle{display:none}
@media(max-width:640px){
  html{scroll-padding-top:76px}
  .masthead.menu-ready{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:64px;padding-block:7px}
  .masthead.menu-ready .wordmark{justify-self:start;padding-right:0}
  .menu-ready .menu-toggle{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #68736d;background:transparent;color:inherit;cursor:pointer}
  .menu-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round}
  .menu-toggle svg+svg,.menu-toggle[aria-expanded="true"] svg:first-child{display:none}
  .menu-toggle[aria-expanded="true"] svg+svg{display:block}
  .menu-ready .menu-toggle[aria-expanded="false"]+nav{display:none}
  .masthead.menu-ready nav{grid-column:1/-1;grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:0;padding-block:8px 4px;border-top:1px solid #343e38;font-size:.94rem}
  .masthead.menu-ready nav>a{padding-inline:6px;border-bottom:1px solid #343e38}
  .masthead.menu-ready .menu-social{position:static;margin-top:4px}
}
@media(max-width:640px) and (prefers-reduced-motion:no-preference){
  .menu-ready .menu-toggle[aria-expanded="true"]+nav{animation:practice-fade .22s ease-out}
}

.hero-portrait h1{font-size:clamp(2rem,3.68vw,5rem);font-weight:700;line-height:1.08;text-wrap:balance}
@media(max-width:800px){.hero-portrait h1{font-size:clamp(1.72rem,5.25vw,3.32rem)}}
@media(max-width:640px){.hero-portrait h1{font-size:clamp(1.55rem,6.16vw,2.45rem)}}

@media (min-width:641px) and (max-width:950px){.masthead nav{column-gap:13px}}
@media(max-width:640px){.masthead:not(.menu-ready) nav{display:flex;flex-wrap:wrap;justify-content:flex-start}}

.hero-portrait::after{z-index:-2}
.hero-portrait::before{
  content:"";
  position:absolute;
  inset:0 0 0 40%;
  z-index:-1;
  background:linear-gradient(90deg,#18212040,#182120ad),url('/media/burnt-ash-texture.webp') 56% 54%/cover no-repeat;
  mask-image:linear-gradient(90deg,transparent,#000 65%);
  opacity:.48;
  pointer-events:none
}
@media(max-width:800px){
  .hero-portrait::before{
    inset:43% 0 0 22%;
    mask-image:radial-gradient(ellipse at bottom right,#000,transparent 76%);
    opacity:.38
  }
}
