/* Shared across the independent orange concept only. */
html{scroll-padding-top:130px}
[data-private-entry]{cursor:pointer}
.footer [data-private-entry]:hover,.footer [data-private-entry]:focus-visible{color:var(--orange);text-decoration:underline;text-underline-offset:4px}
.site-footer [data-private-entry]:hover,.site-footer [data-private-entry]:focus-visible{text-decoration:underline;text-underline-offset:5px}
#workContent .detail-video{margin:30px 0}
#workContent .detail-video video{display:block;width:100%;aspect-ratio:16/9;background:#000;object-fit:contain}
#workContent .detail-video figcaption{font-size:12px;line-height:1.7;color:#656159;padding-top:10px}
#workContent .detail-text-block{margin:28px 0}
#workContent .detail-text-block h3{margin:0 0 16px}
#workContent .detail-text-block p{margin:0 0 14px}
#workContent .detail-text-block.is-lead{font-weight:700;border-bottom:1px solid #17171730;padding-bottom:24px}
#workContent .detail-image{margin:28px 0}
#workContent .detail-image img{margin:0}
#workContent .detail-media-missing{padding:20px;border:1px solid #aaa;color:#666}
body .site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #17171715;box-shadow:0 3px 16px #17171708;padding-top:12px;padding-bottom:12px;align-items:center}
.site-header .brand{align-items:center}
.site-header .brand>b,.site-header .brand-mark{font-size:58px;line-height:.8;transform:translateY(-4px)}
.site-header .brand>b,.site-header .brand-mark{color:var(--orange);background:none}
.site-header .primary-nav{gap:12px}
.site-header .primary-nav a,.site-header .primary-nav a:last-child{display:block;background:transparent;color:#171717;padding:14px 21px;border:1px solid transparent;border-radius:0;text-align:center;box-shadow:none;transition:color .18s,background-color .18s}
.site-header .primary-nav a:hover{color:var(--orange)}
.site-header .primary-nav a[aria-current=page]{position:relative;text-decoration:none}
.site-header .primary-nav a[aria-current=page]::after{content:"";position:absolute;left:21px;right:21px;bottom:9px;height:1px;border-radius:1px;background:currentColor;pointer-events:none}
.site-header .primary-nav a:last-child{background:var(--orange);border-color:var(--orange);border-radius:40px;color:#fff;font-weight:700}
.site-header .primary-nav a:last-child:hover{background:#171717;border-color:#171717;color:#fff}
.site-header .primary-nav a:last-child{transform-origin:50% 75%;animation:contact-alarm 4.6s ease-in-out infinite}
.site-header .primary-nav a:last-child:hover,.site-header .primary-nav a:last-child:focus-visible{animation:none;transform:none}
@keyframes contact-alarm{
  0%,68%,88%,100%{transform:translateX(0) rotate(0)}
  70%{transform:translateX(-2px) rotate(-3deg)}
  72%{transform:translateX(2px) rotate(3deg)}
  74%{transform:translateX(-2px) rotate(-2.7deg)}
  76%{transform:translateX(2px) rotate(2.7deg)}
  78%{transform:translateX(-1.5px) rotate(-2deg)}
  80%{transform:translateX(1.5px) rotate(2deg)}
  82%{transform:translateX(-1px) rotate(-1.2deg)}
  84%{transform:translateX(1px) rotate(1.2deg)}
  86%{transform:translateX(-.5px) rotate(-.5deg)}
}
@media(prefers-reduced-motion:reduce){.site-header .primary-nav a:last-child{animation:none}}
.round-cta{outline-color:var(--ink);box-shadow:0 0 0 7px var(--ink)}
.hero h1>.work-motion{display:inline-block}
.hero h1>.work-motion.is-shining{background:linear-gradient(110deg,var(--ink) calc(var(--shine-x) - 15%),#777 calc(var(--shine-x) - 5%),#fffdf7 var(--shine-x),#777 calc(var(--shine-x) + 5%),var(--ink) calc(var(--shine-x) + 15%));background-clip:text;-webkit-background-clip:text;color:transparent}
.top-button{position:fixed;right:28px;bottom:28px;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:62px;height:62px;border:2px solid #fff;border-radius:50%;background:var(--orange);color:#fff;box-shadow:0 4px 18px #17171726;font:12px var(--mono);cursor:pointer}
.top-button span{font:24px/1 var(--sans)}
.service{top:120px}.service:nth-child(2){top:140px}.service:nth-child(3){top:160px}
.resume-body .cv-index{top:130px}
.shape-gallery{display:block;width:calc(100% + 12vw);margin:45px -6vw 28px;overflow:hidden;padding:20px 0}
.gallery-track{display:flex;width:max-content;animation:gallery-right 42s linear infinite}
.gallery-group{display:flex;align-items:center;gap:clamp(24px,4vw,80px);padding-right:clamp(24px,4vw,80px);flex:none}
.gallery-item{display:block;flex:none;width:clamp(180px,21vw,340px);aspect-ratio:1;position:relative}
.gallery-item svg{display:block;width:100%;height:100%;overflow:visible;transform-origin:50% 50%;animation:gallery-spin 24s linear infinite}
.gallery-item:nth-child(1){width:clamp(180px,21vw,340px)}
.gallery-item:nth-child(2){width:clamp(164px,19vw,310px)}
.gallery-item:nth-child(3){width:clamp(190px,22vw,355px)}
.gallery-item:nth-child(4){width:clamp(172px,20vw,325px)}
.gallery-item:nth-child(1) svg{animation-duration:23s;animation-direction:reverse}
.gallery-item:nth-child(2) svg{animation-duration:31s}
.gallery-item:nth-child(3) svg{animation-duration:38s}
.gallery-item:nth-child(4) svg{animation-duration:27s}
.gallery-group{padding-top:clamp(38px,4.5vw,72px);padding-bottom:clamp(38px,4.5vw,72px)}
.gallery-item:focus-visible{outline:3px solid #fff;outline-offset:4px}
.shape-gallery:focus-within .gallery-track{animation-play-state:paused}
@keyframes gallery-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes gallery-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(max-width:700px){
  html{scroll-padding-top:105px}
  .site-header .primary-nav{background:#fff;gap:10px}
  body .site-header{padding-top:11px;padding-bottom:11px}
  .site-header .brand>b,.site-header .brand-mark{font-size:46px;transform:translateY(-3px)}
  .site-header .primary-nav a,.site-header .primary-nav a:last-child{padding:13px 20px}
  .site-header .menu-toggle{background:var(--orange);border-color:var(--orange);color:#fff}
  .top-button{width:52px;height:52px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));font-size:10px}
  .gallery-track{animation-duration:32s}
  .shape-gallery{width:112%;margin:25px -6% 20px;padding:12px 0}
  .service{top:95px}.service:nth-child(2){top:110px}.service:nth-child(3){top:125px}
}
@media(prefers-reduced-motion:reduce){.gallery-track,.gallery-item svg{animation:none}.shape-gallery{overflow-x:auto}.gallery-group[aria-hidden=true]{display:none}}
@media print{body .site-header{position:static}.top-button{display:none}}
