/*
Theme Name: TKY 2026
Theme URI: https://tkystudio.com/
Author: TKY COMMUNICATIONS INC.
Description: TKY COMMUNICATIONS — "Japan has landed" scroll-story theme (English).
Version: 1.3.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: tky-2026
*/
html{scroll-behavior:smooth}
body{margin:0;background:#0B0B0A;-webkit-font-smoothing:antialiased}
img{max-width:100%}
body{margin:0;background:#0B0B0A}
a{color:#111111}a:hover{color:#C8321A}
@keyframes tkyMarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.tky-marq{animation:tkyMarq 38s linear infinite}
@keyframes tkyBlink{0%,60%{opacity:1}61%,100%{opacity:.25}}
.tky-blink{animation:tkyBlink 1.6s steps(1) infinite}
.tky-mask{display:block;overflow:hidden;padding-bottom:0.04em}
@keyframes tkyRise{from{transform:translateY(105%)}to{transform:translateY(0)}}
.tky-rise{display:block;animation:tkyRise .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes tkyFlap{0%{transform:rotateX(90deg);opacity:0}40%{transform:rotateX(-30deg);opacity:1}60%{transform:rotateX(20deg)}80%{transform:rotateX(-8deg)}100%{transform:rotateX(0)}}
.tky-flap{display:inline-block;transform-origin:50% 50%;animation:tkyFlap .9s ease-out both}
@keyframes tkyGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes tkyPop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
@supports (animation-timeline: view()){
.tky-grow{transform-origin:left center;animation:tkyGrow linear both;animation-timeline:view();animation-range:entry 20% cover 45%}
.tky-pop{animation:tkyPop linear both;animation-timeline:view();animation-range:entry 10% cover 30%}
.tky-in{animation:tkyRise linear both;animation-timeline:view();animation-range:entry 0% cover 25%}
}
@keyframes tkyRun{from{background-position:0 0,0 0}to{background-position:0 96px,0 0}}
.tky-run{animation:tkyRun .9s linear infinite}
@keyframes tkyDash{from{background-position:0 0}to{background-position:0 192px}}
.tky-dash{animation:tkyDash .9s linear infinite}
@keyframes tkyFly{0%{offset-distance:0%;opacity:0}8%{opacity:1}85%{opacity:1}100%{offset-distance:100%;opacity:0}}
.tky-fly{offset-path:path('M -160 520 C 300 120, 900 60, 1700 260');offset-rotate:auto;animation:tkyFly 11s cubic-bezier(.45,.05,.4,1) infinite}
@keyframes tkyFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.tky-float{animation:tkyFloat 6s ease-in-out infinite}
@keyframes tkyGlow{0%,100%{opacity:.35}50%{opacity:.9}}
.tky-glow{animation:tkyGlow 1.8s ease-in-out infinite}
@keyframes tkyFar{0%,8%{transform:translateX(0)}60%,100%{transform:translateX(-37.5%)}}
@keyframes tkyMid{0%,8%{transform:translateX(0)}60%,100%{transform:translateX(-66.667%)}}
@keyframes tkyNear{0%,8%{transform:translateX(0)}60%,100%{transform:translateX(-76.19%)}}
.tky-far{animation:tkyFar 20s cubic-bezier(.65,0,.35,1) infinite}
.tky-mid{animation:tkyMid 20s cubic-bezier(.65,0,.35,1) infinite}
.tky-near{animation:tkyNear 20s cubic-bezier(.65,0,.35,1) infinite}
@keyframes tkySkyPH{0%,24%{opacity:0}52%,100%{opacity:1}}
.tky-skyph{animation:tkySkyPH 20s linear infinite}
@keyframes tkyCurtain{0%{opacity:1}4%{opacity:0}95%{opacity:0}100%{opacity:1}}
.tky-curtain{animation:tkyCurtain 20s linear infinite}
@keyframes tkyLocA{0%,22%{opacity:1}27%,100%{opacity:0}}
@keyframes tkyLocB{0%,24%{opacity:0}29%,47%{opacity:1}52%,100%{opacity:0}}
@keyframes tkyLocC{0%,51%{opacity:0}56%,100%{opacity:1}}
.tky-loca{animation:tkyLocA 20s linear infinite}
.tky-locb{animation:tkyLocB 20s linear infinite}
.tky-locc{animation:tkyLocC 20s linear infinite}
@keyframes tkyWave{0%,100%{transform:translateX(0)}50%{transform:translateX(-24px)}}
.tky-wave{animation:tkyWave 3.2s ease-in-out infinite}
@keyframes tkyTwinkle{0%,100%{opacity:.25}50%{opacity:.9}}
.tky-twinkle{animation:tkyTwinkle 2.6s ease-in-out infinite}
.tky-win{left:50%;top:47%;width:min(44vmin,420px);height:min(62vmin,600px)}
.tky-wincap{left:50%;top:calc(47% + min(31vmin,300px) + 24px)}
.tky-herotop{padding-top:0}
.tky-wintext{left:50%;top:47%;font-size:min(5.4vmin,48px)}
.tky-wincap{top:calc(47% - min(31vmin,300px) - 34px) !important}
@media (max-width: 760px){.tky-wintext{top:45%;font-size:7.4vw}.tky-wincap{top:calc(45% - 44vw - 30px) !important}.tky-navlink{display:none}
.tky-win{left:50%;top:45%;width:64vw;height:88vw}
.tky-wincap{left:50%;top:calc(45% + 44vw + 18px)}
.tky-herotop{padding-top:0}}
@keyframes tkyBob{0%,100%{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(-6px) rotate(.6deg)}}
.tky-bob{animation:tkyBob 3.4s ease-in-out infinite}
@keyframes tkyJump{0%{transform:translateY(0)}100%{transform:translateY(-5px)}}
.tky-jump{transform-box:fill-box;animation:tkyJump .5s ease-in-out infinite alternate}
@keyframes tkyFall{0%{transform:translate3d(0,-12vh,0) rotate(0)}100%{transform:translate3d(30px,112vh,0) rotate(720deg)}}
.tky-confetti{position:absolute;top:0;animation:tkyFall linear infinite}
@keyframes tkyBurst{0%{transform:translate(-50%,-50%) scale(.1);opacity:0}15%{opacity:1}100%{transform:translate(-50%,-50%) scale(1);opacity:0}}
.tky-burst{position:absolute;border-radius:50%;animation:tkyBurst 2.2s ease-out infinite}
@keyframes tkyPulse{0%,100%{box-shadow:0 0 0 0 rgba(242,193,78,.55)}50%{box-shadow:0 0 0 22px rgba(242,193,78,0)}}
.tky-pulse{animation:tkyPulse 2s ease-out infinite}
@keyframes tkyCue{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(8px);opacity:1}}
.tky-cue{animation:tkyCue 1.6s ease-in-out infinite}
section,header,footer{position:relative;z-index:1}
@media (prefers-reduced-motion: reduce){.tky-marq,.tky-blink,.tky-rise,.tky-flap,.tky-grow,.tky-pop,.tky-in,.tky-run,.tky-dash,.tky-fly,.tky-float,.tky-glow,.tky-far,.tky-mid,.tky-near,.tky-skyph,.tky-curtain,.tky-loca,.tky-locb,.tky-locc,.tky-wave,.tky-twinkle,.tky-bob,.tky-jump,.tky-confetti,.tky-burst,.tky-pulse,.tky-cue{animation:none}}
a{color:#111111}a:hover{color:#D13A1E}
@media (max-width: 760px){.tky-navlink{display:none}}
/* WPForms on the contact page */
.tky-form .wpforms-container{margin:0!important}
.tky-form .wpforms-field-label{font-family:'Archivo',sans-serif;font-size:13px!important;font-weight:700!important;color:#111!important}
.tky-form input[type=text],.tky-form input[type=email],.tky-form input[type=tel],.tky-form select,.tky-form textarea{font:inherit!important;font-size:16px!important;padding:14px 16px!important;border-radius:12px!important;border:1px solid #CFCBC2!important;background:#fff!important;color:#111!important;max-width:100%!important;height:auto!important}
.tky-form button[type=submit],.tky-form .wpforms-submit{font-family:'Archivo',sans-serif!important;font-weight:800!important;font-size:16px!important;background:#D13A1E!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:18px 32px!important;height:auto!important}
.tky-form p{font-size:16px;line-height:1.7;color:#3A3935}

/* Japanese pages: CJK-friendly headings */
.tky-ja h1,.tky-ja h2,.tky-ja h3{font-family:'Archivo','Zen Kaku Gothic New',sans-serif;letter-spacing:-0.01em!important;line-height:1.12!important;word-break:keep-all;overflow-wrap:anywhere}
.tky-ja p{line-height:1.9}
.tky-ja #tky-wintext{font-family:'Zen Kaku Gothic New',sans-serif;letter-spacing:0}

details.tky-faq summary::-webkit-details-marker{display:none}
details.tky-faq .tky-faq-x{transition:transform .2s}
details.tky-faq[open] .tky-faq-x{transform:rotate(45deg)}
