@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(instrument-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url(instrument-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(instrument-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(instrument-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(outfit-700.ttf) format('truetype');
}



    :root {
      color-scheme: light;
      --paper: #fff;
      --ink: #070707;
      /* Art direction v2: narrow 1.25vw frame, based on the revised draft. */
      --edge: clamp(18px, 1.25vw, 28px);
      --logo-edge: clamp(12px, 1.04vw, 22px);
      --period-size: 77px; /* Updated from the actual rendered logo period in JS. */
      --detail-font: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
      --display-font: "Outfit", "Century Gothic", Arial, sans-serif;
      --ease: cubic-bezier(.22, 1, .36, 1);
    }
    *, *::before, *::after { box-sizing: border-box; }
    html { background: var(--paper); scroll-behavior: smooth; }
    body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--detail-font); -webkit-font-smoothing: antialiased; }
    button, input, textarea { font: inherit; }
    button { cursor: pointer; }
    button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid var(--ink); outline-offset: 5px; }
    .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

    /* Desktop: revised tight margins and full-width mark, matching the user's October 22 artwork. */
    .site-shell { position: relative; min-height: 100vh; min-height: 100svh; isolation: isolate; }
    .masthead { position: absolute; top: clamp(17px, 1.05vw, 24px); left: var(--edge); right: var(--edge); z-index: 5; pointer-events: none; }
    .masthead > * { pointer-events: auto; }
    .tagline { width: max-content; max-width: min(85vw, 600px); margin: 0; font-size: clamp(23px, 1.92vw, 40px); line-height: 1.055; font-weight: 500; letter-spacing: -.056em; }
    .about-trigger { position: absolute; right: 0; top: .09em; padding: 0 0 6px; border: 0; border-bottom: 1px solid transparent; background: none; color: inherit; font-size: clamp(16px, 1.2vw, 24px); line-height: 1.1; font-weight: 500; letter-spacing: -.035em; transition: border-color .22s ease; }
    .about-trigger:hover { border-bottom-color: currentColor; }
    .contact-trigger {
      display: inline-flex; align-items: center; justify-content: center;
      gap: clamp(10px, 1.15vw, 23px);
      height: var(--period-size);
      min-width: max-content;
      margin-top: clamp(23px, 2.1vw, 45px);
      padding: 0 clamp(19px, 1.75vw, 35px);
      border: 1px solid var(--ink);
      border-radius: 999px; /* The browser caps this to precisely half the pill height. */
      background: var(--ink); color: #fff;
      font-size: clamp(11px, .71vw, 14px);
      font-weight: 600; line-height: 1;
      letter-spacing: .075em;
      transition: background .25s, color .25s, transform .35s var(--ease);
    }
    .contact-trigger:hover { background: #fff; color: var(--ink); }
    .contact-trigger:active { transform: scale(.975); }
    .contact-trigger svg { width: clamp(16px, 1vw, 21px); flex: 0 0 auto; stroke: currentColor; stroke-width: 1.7; fill: none; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s var(--ease); }
    .contact-trigger:hover svg { transform: translateX(4px); }

    .stage { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding-inline: var(--logo-edge); }
    .wordmark { display: block; width: 100%; height: auto; overflow: visible; }
    .wordmark text { font-family: var(--display-font); font-size: 180px; font-weight: 700; letter-spacing: 7.5px; fill: #000; stroke: #000; stroke-width: 5.5px; stroke-linejoin: round; paint-order: stroke fill; }
    .wordmark circle { fill: #000; }
    .wordmark-mobile { display: none; }
    .wordmark-mobile text { letter-spacing: 7.5px; }
    .footnote { position: absolute; z-index: 3; left: var(--edge); right: var(--edge); bottom: clamp(18px, 1.0vw, 24px); display: flex; justify-content: space-between; align-items: baseline; gap: 16px; font-size: clamp(15px, 1.2vw, 23px); font-weight: 500; line-height: 1.2; letter-spacing: -.038em; }
    .footnote p { margin: 0; }

    @media (max-width: 820px) {
      :root { --edge: clamp(16px, 2.35vw, 22px); --logo-edge: clamp(10px, 2.2vw, 18px); }
      .tagline { font-size: clamp(22px, 3.15vw, 27px); }
      .about-trigger { font-size: 17px; }
      .contact-trigger { min-height: 44px; }
      .footnote { font-size: clamp(14px, 2.25vw, 18px); }
    }
    @media (max-width: 590px) {
      .masthead { top: 18px; }
      .tagline { max-width: calc(100vw - 85px); font-size: clamp(19px, 4.6vw, 25px); line-height: 1.1; }
      .about-trigger { font-size: 16px; }
      .contact-trigger { margin-top: 24px; min-height: 44px; gap: 12px; padding: 0 18px; }
      .stage { padding-inline: 12px; }
      .wordmark-desktop { display: none; }
      .wordmark-mobile { display: block; width: 100%; max-width: 100%; }
      .footnote { font-size: 13px; bottom: 18px; left: 16px; right: 16px; align-items: flex-end; }
      .footnote p:last-child { text-align: right; }
      dialog { width: 100%; padding: 25px 24px; }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
    }
  
/* This stylesheet belongs only to the isolated Esaka page template. */
html{scroll-padding-top:20px}body.esaka-v2{margin:0;background:#fff;color:#070707;font-family:var(--detail-font);font-size:18px;line-height:1.4}body.esaka-v2 a{color:inherit;text-decoration:none}body.esaka-v2 h1,body.esaka-v2 h2,body.esaka-v2 h3,body.esaka-v2 h4{font-family:inherit;color:inherit;font-weight:500;margin:0;line-height:1;letter-spacing:-.055em}body.esaka-v2 p{margin:0 0 1.2em}body.esaka-v2 figure{margin:0}body.esaka-v2 a:focus-visible{outline:2px solid currentColor;outline-offset:6px}.skip{position:fixed;left:20px;top:-100px;z-index:200;background:white;color:black;padding:14px}.skip:focus{top:20px}.site-shell{height:100svh;min-height:620px}.stage{will-change:transform}.about-trigger{font-weight:500}.contact-trigger{text-decoration:none}.footnote p{margin:0!important}.footnote a{font-size:30px}.index{font-size:13px;letter-spacing:0;line-height:1.3;margin-bottom:30px!important}.agency-intro{padding:16vh var(--edge) 9vh;background:#fff;position:relative}.agency-intro h2{font-size:clamp(40px,5.25vw,100px);line-height:.99}.intro-bottom{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:8vh;align-items:start}.intro-bottom>span{font-size:14px}.intro-bottom p{font-size:clamp(20px,2.25vw,40px);line-height:1.18;letter-spacing:-.04em;max-width:780px}.artist-inset{padding:0 var(--edge);background:white}.artist-panel{background:#070707;color:#fff;min-height:85svh;padding:26px;display:flex;flex-direction:column;justify-content:space-between}.artist-full .artist-panel{min-height:100svh;padding:var(--edge)}.artist-top,.artist-bottom{display:flex;justify-content:space-between;gap:30px;font-size:13px;line-height:1.4}.artist-copy{padding:10vh 3.5vw;max-width:1200px}.artist-copy h2{font-size:clamp(68px,12vw,230px);margin-bottom:35px!important;line-height:.92!important}.artist-bio{max-width:610px;margin-left:auto;font-size:clamp(20px,2.25vw,38px);line-height:1.18;letter-spacing:-.04em}.artist-bio p:last-child{margin-bottom:0}.artist-panel figure{padding:0 3.5vw 50px}.artist-panel img{display:block;max-width:100%;height:auto}.artist-bottom a{text-decoration:underline;text-underline-offset:5px}.white-interlude,.closing-white{padding:15vh var(--edge);background:white;min-height:70svh}.white-interlude h2,.closing-white h2{font-size:clamp(50px,7.7vw,150px)}.white-interlude>p:last-child{max-width:460px;margin:7vh 0 0 auto;font-size:24px;letter-spacing:-.03em}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:6px;font-size:17px}.agency-footer{padding:26px var(--edge) 12px;background:#000;color:#fff;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between}.footer-top{display:flex;justify-content:space-between;align-items:center;font-size:13px}.small-brand{font-family:var(--display-font)!important;font-weight:700;font-size:23px;letter-spacing:-.05em}.footer-middle{display:grid;grid-template-columns:1fr 20%;gap:40px;align-items:end;padding:18vh 0 12vh}.footer-middle h2{font-size:clamp(54px,6.25vw,120px);line-height:.99!important}.footer-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}.pill{border:1px solid #666;border-radius:100px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 24px;font-size:13px;line-height:1.2;letter-spacing:.03em;transition:background .2s,color .2s}.pill:hover{background:#fff;color:#000}.pill span{font-size:20px}.footer-nav{display:grid;gap:3px;font-size:clamp(23px,2vw,40px);letter-spacing:-.04em;line-height:1.18}.footer-nav a:hover{text-decoration:underline;text-underline-offset:5px}.footer-wordmark{display:block;width:100%;line-height:0;overflow:hidden;margin-top:2vh}.footer-wordmark svg{width:100%;height:auto;overflow:visible}.footer-bottom{display:flex;gap:20px;justify-content:space-between;align-items:baseline;flex-wrap:wrap;font-size:11px;line-height:1.4;padding-top:16px}.footer-bottom nav{display:flex;gap:20px}.inner-header{padding:24px var(--edge);display:flex;align-items:center;justify-content:space-between}.inner-header nav{display:flex;gap:35px;font-size:17px}.page-opening{padding:13vh var(--edge) 10vh}.page-opening h1{font-size:clamp(60px,9vw,180px);line-height:.97!important}.opening-deck{max-width:690px;margin:7vh 0 0 auto!important;font-size:clamp(24px,2.6vw,45px);line-height:1.15;letter-spacing:-.04em}.editorial-white{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding:12vh var(--edge)}.editorial-white h2{font-size:clamp(40px,4.5vw,85px)}.editorial-copy{font-size:clamp(20px,1.7vw,29px);line-height:1.35;letter-spacing:-.025em}.editorial-copy h3{font-size:30px;margin:45px 0 18px!important}.editorial-copy .text-link{margin:0 0 40px}.engine-black{padding:12vh var(--edge);background:#070707;color:white}.engine-black>h2{font-size:clamp(50px,7.5vw,140px)}.engine-deck{max-width:650px;margin:8vh 0 9vh auto!important;font-size:clamp(23px,2.3vw,40px);line-height:1.2;letter-spacing:-.03em}.engine-row{display:grid;grid-template-columns:40px 1fr 1fr 25px;gap:25px;padding:45px 0;border-top:1px solid #666}.engine-row h3{font-size:clamp(30px,3.2vw,64px);overflow-wrap:anywhere}.engine-row h4{font-size:21px;margin-bottom:16px!important}.engine-row p{max-width:550px;font-size:18px;color:#ccc;line-height:1.4;margin:0!important}.engine-row:hover h3{text-decoration:underline;text-underline-offset:6px}.engine-note{font-size:14px;max-width:640px;margin:60px 0 0 auto!important;color:#bbb}.company-white{padding:6vh var(--edge) 15vh}.company-white dl{margin:0 0 0 40%;font-size:19px}.company-white dl>div{display:grid;grid-template-columns:1fr 2fr;gap:30px;padding:22px 0;border-top:1px solid #bbb}.company-white dd{margin:0}.contact-white{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding:8vh var(--edge) 18vh}.contact-white h2{font-size:clamp(40px,4vw,70px);margin-bottom:35px!important}.email-display{font-size:clamp(28px,3.8vw,68px);letter-spacing:-.055em;overflow-wrap:anywhere}.contact-white>div>p:last-child{font-size:15px;margin-top:30px}.esaka-v2 #main{outline:none}.esaka-v2 .wp-block-html{margin:0}
@media(max-width:700px){.site-shell{min-height:600px}.agency-intro{padding-top:12vh}.intro-bottom,.editorial-white,.contact-white{grid-template-columns:1fr;gap:35px}.intro-bottom{margin-top:55px}.artist-panel{padding:20px;min-height:75svh}.artist-copy{padding:90px 0}.artist-bio{margin-left:0;max-width:90%}.artist-top,.artist-bottom{font-size:11px;gap:15px}.artist-bottom{align-items:end}.artist-bottom a{max-width:135px;text-align:right}.white-interlude,.closing-white{min-height:auto;padding-top:100px;padding-bottom:100px}.footer-middle{grid-template-columns:1fr;padding-top:100px;padding-bottom:75px;gap:70px}.footer-nav{font-size:25px}.footer-actions{gap:10px}.pill{padding:15px 19px;font-size:11px}.footer-wordmark{margin-top:40px}.footer-bottom{font-size:10px;gap:12px}.footer-bottom>span:nth-child(2){display:none}.agency-footer{min-height:90svh}.page-opening{padding-top:85px}.editorial-white{padding-top:80px;padding-bottom:80px}.engine-row{grid-template-columns:25px 1fr 20px;gap:12px;padding:30px 0}.engine-row>div{grid-column:2;grid-row:2}.engine-row>span:last-child{grid-column:3;grid-row:1}.engine-row p{font-size:17px}.engine-row h3{font-size:36px}.company-white dl{margin-left:0;font-size:16px}.company-white dl>div{grid-template-columns:1fr 2fr;gap:15px}.inner-header nav{font-size:15px;gap:20px}.page-opening h1{font-size:clamp(49px,10vw,80px)}.opening-deck{margin-top:45px!important}.contact-white{padding-bottom:100px}.small-brand{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.stage{transform:none!important;opacity:1!important}*{animation:none!important;transition:none!important}}
body.esaka-v2 a.contact-trigger{color:#fff}body.esaka-v2 a.contact-trigger:hover{color:#070707}

/* v2.0.1: artist rhythm, gentle entry and identical header/footer branding. */
.wordmark text{fill:currentColor;stroke:currentColor}.wordmark circle{fill:currentColor}
.stage{color:#000;opacity:1!important}
.artist-inset{overflow:hidden}.artist-inset .artist-panel{border-radius:12px;overflow:hidden}
.artist-white{padding:0 var(--edge);background:#fff}.artist-white .artist-panel{background:#fff;color:#070707;min-height:80svh;padding:70px 0}
.artist-white .artist-copy{padding:8vh 0}.artist-white .artist-copy h2{font-size:clamp(54px,8vw,150px)}
.artist-inset .artist-panel.reveal-ready{opacity:0;transform:translateX(clamp(35px,7vw,110px));transition:transform 1s cubic-bezier(.22,1,.36,1),opacity .8s ease;will-change:transform,opacity}
.artist-inset .artist-panel.reveal-ready.is-visible{opacity:1;transform:translateX(0);will-change:auto}
.footer-wordmark{width:calc(100% + 2 * var(--edge));margin-left:calc(-1 * var(--edge));padding-inline:var(--logo-edge);color:#fff}
.footer-wordmark .wordmark{overflow:visible}.footer-bottom>span:nth-child(2){display:inline}
@media(max-width:700px){.artist-white .artist-panel{padding:65px 0;min-height:70svh}.artist-white .artist-copy{padding:65px 0}.footer-bottom{gap:12px 20px}}
@media(prefers-reduced-motion:reduce){.artist-inset .artist-panel.reveal-ready{opacity:1;transform:none;transition:none}}

@media(max-width:590px){.footer-wordmark{padding-inline:12px}}

/* v2.0.2: approved Outfit 700 selector settings, safe glyph bounds and centered art. */
.wordmark text{font-size:180px;letter-spacing:7.5px;stroke-width:5.5px;stroke-linejoin:round;paint-order:stroke fill}
.footer-wordmark{overflow:visible;flex-shrink:0}
.artist-panel>.artist-media{box-sizing:border-box;align-self:center;width:calc(100% - clamp(0px,4vw,96px));max-width:1600px;margin:0 auto clamp(40px,5vw,90px);padding:0;text-align:center}
.artist-panel>.artist-media img{display:block;width:100%;max-width:100%;height:auto;margin:0 auto;object-fit:contain}
@media(max-width:700px){.artist-panel>.artist-media{width:100%;margin-bottom:40px}}
/* v2.1.1: common ink edges, approved vector lettering and a restrained fixed mark. */
.stage{padding-inline:var(--edge)}
.wordmark path{fill:currentColor;stroke:currentColor;stroke-width:5.5px;stroke-linejoin:round;paint-order:stroke fill}
.footer-wordmark{width:100%;margin-left:0;padding-inline:0;color:#fff}
.artist-panel>.artist-media img{border-radius:12px}
.daruma-anchor{position:relative;display:block;width:168px;height:40px;line-height:0}
.daruma-traveler{display:block;width:168px;line-height:0;color:inherit}
.daruma-motion-svg{display:block;width:100%;height:auto;overflow:visible}
body.esaka-v2 .daruma-floating{position:fixed;inset:auto;left:0;top:0;z-index:70;color:#fff;mix-blend-mode:difference;visibility:hidden;will-change:opacity}
body.esaka-v2 .daruma-floating.daruma-active{visibility:visible}
.artist-inset .artist-panel,.artist-full .artist-panel,.engine-black{background:#000}
.daruma-traveler:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:590px){.stage{padding-inline:var(--edge)}.footer-wordmark{padding-inline:0}.daruma-anchor{width:144px;height:35px}}
@media(prefers-reduced-motion:reduce){.daruma-floating{will-change:auto}}

/* v2.1.2: legal content shares the agency's typography and monochrome page system. */
body.esaka-v2 .legal-copy{max-width:none;padding:0;margin:0;font-family:var(--detail-font);color:var(--ink);background:var(--paper)}
.legal-content{padding:0 var(--edge) 15vh}
.legal-body{max-width:920px;margin-left:auto;overflow-wrap:anywhere}
body.esaka-v2 .legal-body,body.esaka-v2 .legal-body *{font-family:var(--detail-font)!important;color:inherit!important;background-color:transparent!important}
body.esaka-v2 .legal-body :where(p,span,div,li,table,th,td,a,strong,em,b,i,small){font-size:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}
body.esaka-v2 .legal-body :where(h1,h2){font-size:clamp(36px,4.5vw,85px);line-height:1.05;letter-spacing:-.055em;margin:2em 0 .7em}
body.esaka-v2 .legal-body :where(h3,h4,h5,h6){font-size:30px;line-height:1.1;letter-spacing:-.04em;margin:1.7em 0 .7em}
.legal-body :where(ul,ol){padding-left:1.4em;margin:0 0 1.2em}
.legal-body li{padding-left:.15em;margin-bottom:.45em}
.legal-body a{text-decoration:underline!important;text-underline-offset:4px}
.legal-body :where(img,video,iframe){max-width:100%}
.legal-body table{width:100%;border-collapse:collapse}
.legal-body :where(th,td){padding:16px 12px;border-bottom:1px solid #bbb;text-align:left;vertical-align:top}
.legal-body .wp-block-table{max-width:100%;overflow-x:auto}
.legal-body blockquote{margin:2em 0;padding-left:1em;border-left:2px solid currentColor}
@media(max-width:700px){.legal-content{padding-bottom:100px}.legal-body{max-width:100%}}
