
@font-face{font-family:'Site Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url('assets/site/manrope-latin.woff2') format('woff2')}
@font-face{font-family:'Site Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('assets/site/inter-latin.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:500;font-display:swap;src:url('assets/site/fraunces-italic-latin.woff2') format('woff2')}
.site-chrome{--gut:calc(max(20px, (100% - 1368px)/2) + clamp(24px, 3.2vw, 44px));--text:#141416;--muted:#5c5c62;font-family:'Site Inter',sans-serif;font-synthesis:weight;direction:ltr;text-align:left}
.site-chrome a:hover{text-decoration:none}
.site-chrome h2{line-height:1.05}
.site-chrome button{font:inherit}
body{padding-top:66px}
html{scroll-padding-top:88px}
.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}
  nav.top { position:fixed; top:0; left:0; right:0; z-index:160; display:flex; align-items:center; justify-content:space-between;
        padding:10px var(--gut); background:rgba(251,250,247,0.86); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
  nav.top .links { display:flex; gap:34px; align-items:center; }
  nav.top .links a { font-size:14px; font-weight:600; color:var(--muted); position:relative; padding:14px 8px; transition:color 0.2s; }
  nav.top .links a::after { content:""; position:absolute; left:0; right:100%; bottom:0; height:1.5px; background:var(--text); transition:right 0.3s cubic-bezier(.22,.75,.2,1); }
  @media (hover:hover) { nav.top .links a:hover { color:var(--text); } }
  @media (hover:hover) { nav.top .links a:hover::after { right:0; } }
  nav.top .links a.active { color:var(--text); }
  nav.top .links a.active::after { right:0; }
  nav.top .links a.cta { color:#fff; background:#141416; border-radius:100px; padding:9px 18px; font-weight:700; transition:transform .15s ease, box-shadow .2s; }
  nav.top .links a.cta::after { display:none; }
  @media (hover:hover) { nav.top .links a.cta:hover { color:#fff; background:#2a2a2e; transform:translateY(-1px); } }

  
  .who { display:flex; align-items:center; gap:12px; color:var(--text); }
  .who img { width:38px; height:38px; border-radius:50%; object-fit:cover; display:block; background:#e9e7e2; }
  .who b { display:block; font-family:'Site Manrope',sans-serif; font-size:13px; font-weight:700; line-height:1.35; }
  .who small { display:block; font-size:12px; line-height:1.35; color:var(--muted); font-variant-numeric:tabular-nums; }
  .who .tm { color:var(--text); font-weight:600; }
  .who .colon { display:inline-block; margin:0 0.5px; animation:tick 1s steps(1,end) infinite; }
  @keyframes tick { 0%{opacity:1} 50%{opacity:0.15} }

  
  .hamburger { display:none; flex-direction:column; justify-content:center; align-items:center; gap:5px; width:44px; height:44px; background:none; border:none; cursor:pointer; padding:0; }
  .hamburger span { display:block; width:22px; height:2px; background:var(--text); transition:transform 0.3s ease, opacity 0.3s ease; }
  .hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .hamburger.open span:nth-child(2) { opacity:0; }
  .hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  #mMenuOverlay { position:fixed; inset:0; z-index:149; background:rgba(20,20,22,0.4); opacity:0; pointer-events:none; transition:opacity 0.3s ease; }
  #mMenuOverlay.open { opacity:1; pointer-events:auto; }
  
  #mMenu { position:fixed; top:0; right:0; height:100%; width:100%; max-width:440px; z-index:150; background:#fbfaf7;
           display:flex; flex-direction:column; padding:76px 24px max(24px, env(safe-area-inset-bottom)); overflow-y:auto;
           transform:translateX(100%); visibility:hidden;
           transition:transform 0.45s cubic-bezier(.16,1,.3,1), box-shadow 0.35s ease, visibility 0s linear 0.45s; }
  
  #mMenu.open { transform:translateX(0); visibility:visible; box-shadow:-4px 0 32px rgba(0,0,0,0.14); transition-delay:0s; }
  #mMenu .mNav { display:flex; flex-direction:column; }
  #mMenu .mNav a { font-family:'Site Manrope',sans-serif; font-size:28px; font-weight:700; letter-spacing:-0.03em; line-height:1.1;
                   padding:14px 0; border-bottom:1px solid rgba(20,20,22,.1); display:flex; justify-content:space-between; align-items:baseline; }
  #mMenu .mNav a span { font-size:13px; font-weight:600; letter-spacing:0; color:var(--muted); }
  #mMenu .mLabel { margin-top:28px; font-family:'Site Manrope',sans-serif; font-size:13px; font-weight:600; color:var(--muted); }
  #mMenu .mProj { margin-top:6px; display:grid; }
  #mMenu .mProj a { display:flex; align-items:center; gap:12px; min-height:46px; font-size:15px; font-weight:600; color:var(--text); }
  #mMenu .mProj i { width:14px; height:14px; border-radius:4px; background:var(--c); box-shadow:inset 0 0 0 1px rgba(20,20,22,.1); flex:none; }
  #mMenu .mProj em { margin-left:auto; font-style:normal; font-size:13px; font-weight:500; color:var(--muted); }
  #mMenu .mCta { margin-top:auto; padding-top:28px; display:grid; gap:10px; }
  #mMenu .mCta a { display:flex; align-items:center; justify-content:space-between; height:50px; padding:0 22px; border-radius:100px; font-size:15px; font-weight:700; }
  #mMenu .mCta .wa { background:#141416; color:#fbfaf7; }
  #mMenu .mCta .li { border:1.5px solid #141416; color:#141416; }
  
  #mMenu .mNav a, #mMenu .mLabel, #mMenu .mProj a, #mMenu .mCta { opacity:0; transform:translateY(14px); transition:opacity .4s ease, transform .6s cubic-bezier(.16,1,.3,1); }
  #mMenu.open .mNav a, #mMenu.open .mLabel, #mMenu.open .mProj a, #mMenu.open .mCta { opacity:1; transform:none; transition-delay:calc(.12s + var(--d,0) * 50ms); }

  
  
  .contact-wrap { background:#141416; padding:7vh var(--gut) 4vh; overflow:hidden; }
  .contact { max-width:1120px; margin:0 auto; color:#141416; }
  .pc { display:grid; grid-template-columns:1fr; gap:clamp(24px,2.8vw,36px);
        padding:clamp(40px,4.5vw,60px) clamp(32px,4.5vw,64px);
        background:#fbfaf7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
        border-radius:18px; box-shadow:0 30px 80px -30px rgba(0,0,0,.6);
        transform:translateY(40px) rotate(-1.6deg); opacity:0; transition:transform 1.1s cubic-bezier(.16,1,.3,1), opacity .6s ease; }
  .contact-wrap.in .pc { transform:none; opacity:1; }
  .pc .rule { height:1px; background:rgba(20,20,22,.18); }
  
  .contact h2 { font-family:'Site Manrope',sans-serif; font-weight:800; color:#141416; text-wrap:initial; }
  .contact h2 .lead { display:block; font-size:clamp(30px,4vw,58px); letter-spacing:-0.04em; line-height:0.98; }
  .contact h2 .big { position:relative; display:inline-block; isolation:isolate; margin-top:0.04em; margin-left:-0.02em;
                     font-family:'Fraunces',Georgia,serif; font-style:italic; font-weight:500; font-optical-sizing:auto;
                     font-size:clamp(110px,min(33vw,42vh),480px); letter-spacing:-0.03em; line-height:0.86; }
  
  
  @media (min-width:701px) and (max-height:800px) { .contact h2 .big { font-size:min(33vw,36vh); } }
  .contact h2 .dot { position:relative; display:inline-block; width:0.2em; height:0.2em; margin-left:0.045em; vertical-align:baseline; }
  .contact h2 .dot i { position:absolute; border-radius:0.05em; }
  .contact h2 .dot i:first-child { left:-0.07em; top:-0.08em; width:0.15em; height:0.15em; background:linear-gradient(150deg,#e9c7ff,#d9b2ff); }
  .contact h2 .dot i:last-child { inset:0; background:linear-gradient(150deg,#ff5c46,#ff9f8a,#ff7a52,#ff5c46); background-size:240% 240%;
                                  animation:hvTint 7s ease-in-out infinite; }
  
  .contact h2 .ls { display:inline-block; white-space:nowrap; clip-path:inset(-1.5em -0.6em 0 -0.6em); }
  .contact h2 .ls > span:not(.dot) { display:inline-block; transform:translateY(0.95em);
        transition:transform 1.1s cubic-bezier(.16,1,.3,1) calc(.25s + var(--i) * 70ms); }
  .contact-wrap.in .contact h2 .ls > span:not(.dot) { transform:none; }
  @media (hover:hover) { .contact-wrap.in .contact h2 .ls > span:not(.dot):hover { transform:translateY(-0.05em); transition:transform .5s cubic-bezier(.34,1.56,.64,1); } }
  
  
  .contact h2 .dot i:last-child { transform:scale(0); transform-origin:0 100%; }
  .contact h2 .dot i:first-child { transform:translate(.07em,.08em) scale(.6); opacity:0; }
  .contact-wrap.in .contact h2 .dot i:last-child { transform:none; transition:transform .6s cubic-bezier(.34,1.45,.64,1) 1.05s; }
  .contact-wrap.in .contact h2 .dot i:first-child { transform:none; opacity:1; transition:transform .55s cubic-bezier(.22,1,.36,1) 1.4s, opacity .2s ease 1.4s; }
  .contact-wrap.in .contact h2 .dot { animation:dotWobble 7s ease-in-out 3s infinite; }
  @media (hover:hover) { .contact h2 .big:hover .dot { animation:dotHop .6s cubic-bezier(.34,1.56,.64,1); } }
  @keyframes dotWobble { 0%,88%,100%{rotate:0deg} 91%{rotate:-8deg} 95%{rotate:5deg} 98%{rotate:-2deg} }
  @keyframes dotHop { 0%,100%{translate:0 0; rotate:0deg} 45%{translate:0 -0.22em; rotate:90deg} }
  .pc-r { display:flex; flex-wrap:wrap; gap:12px; }
  .pc-r a { min-width:280px; }
  .pc-r a { display:flex; align-items:center; justify-content:space-between; gap:16px; height:64px; padding:0 28px; border-radius:100px;
            font-size:16px; font-weight:700; transition:background .2s, color .2s, transform .15s; }
  .pc-r a span { transition:transform .35s cubic-bezier(.22,.75,.2,1); }
  @media (hover:hover) { .pc-r a:hover span { transform:translateX(6px); } }
  .pc-r a:active { transform:scale(.98); }
  .pc-r .wa { background:#141416; color:#fbfaf7; }
  @media (hover:hover) { .pc-r .wa:hover { background:#2a2a2e; } }
  .pc-r .li { border:1.5px solid #141416; color:#141416; }
  @media (hover:hover) { .pc-r .li:hover { background:#141416; color:#fbfaf7; } }
  .contact .foot { margin-top:4vh; display:flex; justify-content:space-between; font-size:12px; color:rgba(255,255,255,.55); }
  .contact-wrap :focus-visible { outline-color:#141416; }
  .contact-wrap .foot :focus-visible { outline-color:#fff; }
  @media(max-width:860px){
    .pc-r { display:grid; }
    .pc-r a { min-width:0; }
    .contact h2 .big { font-size:39vw; }
    .pc-r a { height:58px; padding:0 22px; font-size:15px; white-space:nowrap; }
  }
  @media (prefers-reduced-motion: reduce){ .pc { transform:none; opacity:1; } }

@keyframes hvTint{0%,100%{background-position:0% 0%}50%{background-position:100% 100%}}
@media(max-width:700px){
 nav.top{padding:10px 20px}
 nav.top .links{display:none}
 .hamburger{display:flex}
 .contact-wrap{padding:9vh 16px 4vh}
 .pc{padding:40px 24px 28px}
}
@media(prefers-reduced-motion:reduce){
 .site-chrome *,#mMenuOverlay{animation:none!important;transition:none!important}
 .contact h2 .ls>span:not(.dot),.contact h2 .dot i{transform:none!important;opacity:1!important}
}
@media(max-width:360px){.pc-r a{font-size:13px;padding-inline:16px}}


.who img{transition:box-shadow .3s ease}
@media (hover:hover){.who:hover img{box-shadow:0 0 0 3px #fff,0 6px 16px rgba(20,20,22,.22)}}
.contact .foot{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:'name links copy';align-items:center;gap:14px 24px}
.contact .foot>span:first-child{grid-area:name}.contact .foot>span:last-child{grid-area:copy;justify-self:end}
.foot-links{grid-area:links;display:flex;flex-wrap:wrap;gap:8px 22px}
.contact .foot>span,.foot-links a{white-space:nowrap}
@media(max-width:1000px){.contact .foot{grid-template-columns:1fr auto;grid-template-areas:'name copy' 'links links'}}
.foot-links a{color:rgba(255,255,255,.72)}
@media (hover:hover){.foot-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}}

@media(max-width:700px){
  .contact-wrap .contact .foot{grid-template-columns:1fr auto;grid-template-areas:'links links' 'name copy';gap:0;margin-top:56px;padding-top:8px;border-top:1px solid rgba(255,255,255,.14)}
  .contact-wrap .foot-links{display:grid;grid-auto-flow:column;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,auto);gap:0 24px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.14)}
  .contact-wrap .foot-links a{color:rgba(255,255,255,.86);font-size:15px;line-height:20px;padding:12px 0}
}
@media (prefers-reduced-motion:reduce){.who img{transition:none}}
