/*
Theme Name: ai TRADING
Theme URI: https://ai-trading-japan.com/
Author: ai TRADING
Author URI: https://ai-trading-japan.com/
Description: 株式会社 ai TRADING コーポレートサイト（1ページ・レスポンシブ）。国境を越える、不動産コンサルティング。
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aitrading
*/

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{background:#fff;}
img{max-width:100%;display:block;}
a{color:inherit;}

/* ---- keyframes ---- */
@keyframes heroSlide1{0%,28%{opacity:1}33%,95%{opacity:0}100%{opacity:1}}
@keyframes heroSlide2{0%,28%{opacity:0}33%,61%{opacity:1}66%,100%{opacity:0}}
@keyframes heroSlide3{0%,61%{opacity:0}66%,95%{opacity:1}100%{opacity:0}}
@keyframes photoReveal{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}
@keyframes slideInLeft{from{opacity:0;transform:translateX(-48px)}to{opacity:1;transform:translateX(0)}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}
@keyframes lineGrow{from{width:0}to{width:56px}}
@keyframes revealUp{from{opacity:0;transform:translateY(60px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes scrollPulse{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(7px)}}
@keyframes badgeDot{0%,100%{opacity:1}50%{opacity:.35}}

/* scroll reveal: applied via class so element style attributes stay intact (keeps responsive selectors working) */
.reveal-in{animation:revealUp .95s cubic-bezier(.16,1,.3,1) both;}
.sp-br{display:none;}

/* ---- hover ---- */
[style*="transition:transform 0.4s"]:hover{transform:translateY(-6px) !important;box-shadow:0 18px 40px rgba(42,38,34,.08) !important;}
[style*="transition:background 0.35s"]:hover{background:#faf8f4 !important;}
[style*="border-radius:50%"][style*="transition:background"]:hover{background:#C0122E !important;color:#fff !important;border-color:#C0122E !important;}
nav a:hover{color:#C0122E !important;}

/* ============ WIDE TABLET / SMALL LAPTOP (<=1366px) — keep hero clear of the badge ============ */
@media (max-width: 1366px){
  [style*="font-size:148px"]{font-size:104px !important;}
  [style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr 1fr !important;}
}

/* ============ TABLET (<=1024px) ============ */
@media (max-width: 1024px){
  section{padding-left:40px !important;padding-right:40px !important;}
  header [style*="bottom:30px"]{display:none !important;}
  /* stack two-column splits (about / message) */
  [style*="gap:88px"],[style*="gap:80px"]{flex-direction:column !important;gap:36px !important;align-items:flex-start !important;}
  [style*="width:540px"],[style*="width:430px"]{width:100% !important;flex:none !important;}
  [style*="height:430px"],[style*="height:340px"]{height:300px !important;}
  /* services header (title + note) -> stack */
  [style*="margin-bottom:72px"]{flex-direction:column !important;align-items:flex-start !important;gap:18px !important;}
  [style*="text-align:right"]{text-align:left !important;max-width:100% !important;padding-bottom:0 !important;}
  /* offices 2 columns */
  [style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr 1fr !important;}
  /* Taiwan network bar -> stack */
  [style*="border-left:5px solid #C0122E"]{flex-direction:column !important;align-items:flex-start !important;gap:18px !important;}
  [style*="font-size:148px"]{font-size:92px !important;}
}

/* ============ MOBILE (<=760px) ============ */
@media (max-width: 760px){
  .sp-br{display:inline !important;}
  header [style*="gap:16px"]{flex-direction:column !important;align-items:stretch !important;gap:10px !important;}
  header [style*="gap:16px"] a{width:100% !important;justify-content:center !important;white-space:nowrap !important;padding-left:16px !important;padding-right:16px !important;}
  nav{padding:0 16px !important;height:60px !important;}
  nav [style*="gap:38px"]{gap:10px !important;}
  nav a{font-size:9px !important;letter-spacing:.02em !important;}
  nav img{height:21px !important;}

  header{height:auto !important;min-height:90vh !important;}
  [style*="font-size:148px"]{font-size:76px !important;line-height:.86 !important;}
  header [style*="padding:0 56px"]{padding:0 20px !important;}
  .hero-badge{padding:6px 11px !important;gap:7px !important;margin-bottom:20px !important;}
  .hero-badge > span{font-size:8.5px !important;letter-spacing:.1em !important;}
  .hero-badge > span:nth-child(2){display:none !important;}
  .hero-badge > span:last-child{border-left:none !important;padding-left:0 !important;font-size:10px !important;}
  .msg-body{font-size:14px !important;line-height:1.95 !important;}
  .msg-body p{margin-bottom:15px !important;}

  section{padding-top:58px !important;padding-bottom:58px !important;padding-left:20px !important;padding-right:20px !important;}
  [style*="height:430px"],[style*="height:340px"]{height:230px !important;}

  /* headings shrink */
  [style*="font-size:38px"],[style*="font-size:36px"],[style*="font-size:34px"]{font-size:24px !important;}
  [style*="font-size:32px"],[style*="font-size:30px"]{font-size:21px !important;}
  [style*="font-size:22px"]{font-size:17px !important;}

  /* stat numbers */
  [style*="font-size:52px"]{font-size:34px !important;}
  [style*="gap:48px"]{gap:24px !important;flex-wrap:wrap !important;}

  /* service editorial rows -> single column */
  [style*="grid-template-columns:80px minmax"]{grid-template-columns:1fr !important;gap:12px !important;padding:32px 2px !important;}

  /* offices + contact grids -> 1 column */
  [style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr !important;}
  [style*="grid-template-columns:1fr 1fr 1fr"]{grid-template-columns:1fr !important;}

  /* company profile rows -> stack label/value */
  [style*="padding:24px 8px"]{flex-direction:column !important;gap:4px !important;}
  [style*="width:200px"]{width:100% !important;}

  /* footer */
  footer [style*="justify-content:space-between"]{flex-direction:column !important;gap:26px !important;align-items:flex-start !important;}
  footer [style*="gap:64px"]{gap:32px !important;flex-wrap:wrap !important;}

  /* email block */
  [style*="font-size:40px"]{font-size:22px !important;word-break:break-all;}
  [style*="padding:44px 88px"],[style*="padding:36px 72px"]{padding:26px 18px !important;}
}

/* ============ DESKTOP (>1366px): pin renewal badge to top ============ */
@media (min-width: 1367px){
  .hero-badge{position:absolute;top:104px;left:56px;margin-bottom:0 !important;}
}

/* ============ RICH MOTION ============ */
#intro{position:fixed;inset:0;z-index:99999;background:#faf7f2;display:flex;align-items:center;justify-content:center;animation:introOut .8s ease 1.5s forwards;}
.intro-logo{height:58px;width:auto;animation:introLogo 1.2s cubic-bezier(.16,1,.3,1) both;}
@keyframes introLogo{0%{opacity:0;transform:translateY(16px) scale(.95)}45%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:1}}
@keyframes introOut{to{opacity:0;visibility:hidden;pointer-events:none;}}
@keyframes kenBurns{from{transform:scale(1.02)}to{transform:scale(1.15)}}
@keyframes maskUp{from{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(18px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0)}}
@media (prefers-reduced-motion: reduce){#intro{animation:introOut .1s ease 0s forwards !important;}[data-parallax]{transform:none !important;}.reveal-in img{animation:none !important;}}

/* ============ RICH MOTION + ============ */
#progress{position:fixed;top:0;left:0;height:3px;width:0;background:#C0122E;z-index:100000;transition:width .12s linear;}
@keyframes imgWipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
[data-reveal].reveal-in img{animation:imgWipe 1.15s cubic-bezier(.16,1,.3,1) .12s both;}
a[style*="background:#C0122E"]{background-image:linear-gradient(90deg,#9d0e25 50%,#C0122E 50%) !important;background-size:220% 100% !important;background-position:100% 0 !important;transition:background-position .5s cubic-bezier(.16,1,.3,1) !important;}
a[style*="background:#C0122E"]:hover{background-position:0 0 !important;}
