/*
Theme Name: ONEWORK 3D
Theme URI: https://onework.ltd/
Author: ONE WORK
Author URI: https://onework.ltd/
Description: 札幌のAI開発・求人代行 ONE WORK 公式テーマ。スクロール連動3Dアニメーション、ワンページ構成、SEO/SXO最適化、記事用ウィジェット15種を同梱。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: onework
Tags: one-column, custom-logo, custom-menu, featured-images, threaded-comments
*/

/* ===== Tokens ===== */
:root{
  --ink:#111826; --blue:#2f6fd0; --blue2:#4b7bec; --sky:#7ba4f2;
  --muted:#5b6475; --gray:#8b96ab; --line:#d8e0ec; --line2:#2a3345;
  --bg:#fcfcfd; --navy1:#131c30; --navy2:#0b1120;
  --fs:'Space Grotesk','Noto Sans JP',sans-serif;
  --fj:'Noto Sans JP',system-ui,sans-serif;
  --pad:64px;
}

/* ===== Reset / base ===== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--fj);line-height:1.8;font-size:15px}
img{max-width:100%;height:auto}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.5;text-wrap:pretty}
.screen-reader-text{position:absolute!important;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.ow-skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 18px;z-index:999}
.ow-skip:focus{left:0}

/* ===== Keyframes ===== */
@keyframes owHeroAway{to{transform:scale(1.45) rotateX(14deg) translateY(-6%);opacity:0;filter:blur(10px)}}
@keyframes owFadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes owStackAway{to{transform:scale(.9) rotateX(8deg) translateY(-3vh);filter:brightness(.6)}}
@keyframes owSpin{to{transform:rotate(360deg)}}
@keyframes owPing{0%{transform:scale(.5);opacity:.9}100%{transform:scale(2.1);opacity:0}}
@keyframes owFloat{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-14px) rotate(1deg)}}
@keyframes owBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(9px)}}
@keyframes owMarquee{to{transform:translateX(-50%)}}
@keyframes owGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes owOrb1{from{transform:translateY(6vh) scale(1)}to{transform:translateY(-40vh) scale(1.35)}}
@keyframes owOrb2{from{transform:translateY(0) scale(1.2)}to{transform:translateY(55vh) scale(.9)}}
@keyframes owIso{from{transform:rotateX(58deg) rotateZ(0deg)}to{transform:rotateX(58deg) rotateZ(360deg)}}
@keyframes owExplode{0%,12%{transform:translateZ(var(--zc,0px))}42%,58%{transform:translateZ(var(--ze,60px))}88%,100%{transform:translateZ(var(--zc,0px))}}
@keyframes owRingA{from{transform:rotateY(64deg) rotateX(12deg) rotateZ(0deg)}to{transform:rotateY(64deg) rotateX(12deg) rotateZ(360deg)}}
@keyframes owRingB{from{transform:rotateY(-64deg) rotateX(-12deg) rotateZ(0deg)}to{transform:rotateY(-64deg) rotateX(-12deg) rotateZ(-360deg)}}
@keyframes owFlowL{0%{transform:translateX(0);opacity:0}14%{opacity:1}72%{opacity:1}100%{transform:translateX(112px);opacity:0}}
@keyframes owFlowR{0%{transform:translateX(0);opacity:0}14%{opacity:1}72%{opacity:1}100%{transform:translateX(-112px);opacity:0}}
@keyframes owCore{0%,100%{box-shadow:0 0 26px 8px rgba(255,255,255,.35);transform:scale(1)}50%{box-shadow:0 0 56px 20px rgba(255,255,255,.6);transform:scale(1.18)}}
@keyframes owGlobe{from{transform:rotateX(14deg) rotateY(0deg)}to{transform:rotateX(14deg) rotateY(360deg)}}

/* ===== Reveal (IntersectionObserver, all browsers) ===== */
.rv{opacity:0;transform:translateY(46px) rotateX(20deg)}
.rv.on{opacity:1;transform:none;transition:opacity .85s ease,transform .85s ease}
.rv.d1.on{transition-delay:.12s}.rv.d2.on{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none}
  *{animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* ===== Fixed chrome ===== */
.ow-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60}
.ow-progress i{display:block;height:100%;background:var(--blue);transform-origin:0 50%;transform:scaleX(0)}
@supports (animation-timeline:scroll()){
  .ow-progress i{animation:owGrow 1s linear both;animation-timeline:scroll(root)}
}
.ow-bglayer{position:fixed;inset:0;pointer-events:none;z-index:0}
.ow-bglayer .dots{position:absolute;inset:0;background-image:radial-gradient(#dfe6f2 1px,transparent 1px);background-size:34px 34px;opacity:.55}
.ow-orb{position:absolute;border-radius:50%;filter:blur(48px)}
.ow-orb.o1{top:12%;left:-180px;width:560px;height:560px;background:radial-gradient(circle at 35% 35%,#bcd2f7,#e6efff 65%,transparent 72%);opacity:.75}
.ow-orb.o2{top:30%;right:-220px;width:640px;height:640px;background:radial-gradient(circle at 60% 40%,#9fc0f5,#e8f0ff 60%,transparent 70%);opacity:.65}
@supports (animation-timeline:scroll()){
  .ow-orb.o1{animation:owOrb1 1s linear both;animation-timeline:scroll(root)}
  .ow-orb.o2{animation:owOrb2 1s linear both;animation-timeline:scroll(root)}
}
#ow-net{position:absolute;inset:0;width:100%;height:100%}

/* ===== Header ===== */
.ow-header{position:fixed;top:3px;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 44px;backdrop-filter:blur(10px);background:rgba(252,252,253,.72)}
.ow-brand{display:flex;align-items:center;gap:10px;font-family:var(--fs);font-size:14px;font-weight:700;letter-spacing:.24em;color:var(--ink)}
.ow-brand img{height:44px;width:auto}
.ow-brand:hover{text-decoration:none}
.ow-nav{display:flex;align-items:center;gap:26px;font-family:var(--fs);font-size:11.5px;letter-spacing:.12em}
.ow-nav ul{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
.ow-nav a{color:var(--ink);transition:color .2s}
.ow-nav a:hover{color:var(--blue);text-decoration:none}
.ow-cta-pill{background:var(--ink);color:#fff!important;padding:10px 22px;border-radius:999px;display:inline-flex;gap:8px;align-items:center;transition:transform .2s,box-shadow .2s}
.ow-cta-pill:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(17,24,38,.3);text-decoration:none}
.ow-cta-pill em{color:var(--sky);font-style:normal}

/* ===== Hero ===== */
.ow-hero{height:220vh;position:relative;z-index:1;view-timeline-name:--owhero}
.ow-hero-pin{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center;perspective:1200px;overflow:clip}
.ow-hero-inner{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:0 20px}
@supports (animation-timeline:view()){
  .ow-hero-inner{animation:owHeroAway 1s linear both;animation-timeline:--owhero;animation-range:exit 0% exit 75%}
}
.ow-eyebrow{font-family:var(--fs);font-size:12px;letter-spacing:.3em;color:var(--blue);animation:owFadeUp .9s ease both}
.ow-hero-logo{width:640px;max-width:80vw;animation:owFadeUp .9s ease .1s both,owFloat 7s ease-in-out 1.2s infinite;filter:drop-shadow(0 20px 40px rgba(47,111,208,.18))}
.ow-hero h1{margin:-36px 0 0;font-size:clamp(30px,5.5vw,50px);font-weight:900;line-height:1.4;letter-spacing:.02em;animation:owFadeUp .9s ease .25s both}
.ow-hero .en{margin:6px 0 0;font-family:var(--fs);font-size:16px;letter-spacing:.05em;color:var(--muted);animation:owFadeUp .9s ease .38s both}
.ow-hero .lead{margin:10px 0 0;font-size:13.5px;line-height:2;color:#7d8aa3;max-width:62ch;animation:owFadeUp .9s ease .5s both}
.ow-hero-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:26px;animation:owFadeUp .9s ease .62s both}
.ow-btn{display:inline-block;font-size:14px;font-weight:700;padding:15px 34px;border-radius:999px;transition:transform .2s,box-shadow .2s,background .2s,color .2s}
.ow-btn:hover{text-decoration:none}
.ow-btn.pri{background:var(--blue);color:#fff}
.ow-btn.pri:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(47,111,208,.4)}
.ow-btn.sec{border:1.5px solid var(--ink);color:var(--ink);font-weight:500}
.ow-btn.sec:hover{background:var(--ink);color:#fff}
.ow-scrollhint{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px}
.ow-scrollhint span{font-family:var(--fs);font-size:10px;letter-spacing:.3em;color:var(--muted)}
.ow-scrollhint i{display:block;width:1.5px;height:34px;background:var(--ink);animation:owBounce 1.8s ease-in-out infinite}

/* ===== Ticker ===== */
.ow-ticker{position:relative;z-index:1;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--bg);overflow:hidden;padding:14px 0}
.ow-ticker .track{display:flex;width:max-content;animation:owMarquee 22s linear infinite;font-family:var(--fs);font-size:14px;letter-spacing:.18em;white-space:nowrap}
.ow-ticker .track span{padding-right:60px}

/* ===== Sections ===== */
.ow-sec{position:relative;z-index:1;padding:130px var(--pad);perspective:1400px}
.ow-sec-head{display:flex;align-items:baseline;gap:20px;margin-bottom:48px}
.ow-num{font-family:var(--fs);font-size:84px;font-weight:700;color:transparent;-webkit-text-stroke:1.5px #b9c7de;line-height:1}
.ow-sec-head h2{margin:0;font-size:30px;font-weight:900}
.ow-sec-head h2 small{font-family:var(--fs);font-size:12px;letter-spacing:.2em;color:var(--blue);font-weight:500;margin-left:14px}
.ow-viewall{font-family:var(--fs);font-size:13px;letter-spacing:.12em;border-bottom:1.5px solid var(--ink);padding-bottom:3px;color:var(--ink)}
.ow-viewall:hover{color:var(--blue);border-color:var(--blue);text-decoration:none}

/* ===== Service tilt cards ===== */
.ow-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;transform-style:preserve-3d}
.ow-tilt{position:relative;height:100%;border-radius:20px;padding:1.5px;background:linear-gradient(150deg,rgba(123,164,242,.85),rgba(47,111,208,.08) 38%,rgba(47,111,208,.55) 92%);transition:transform .18s ease-out;transform-style:preserve-3d;will-change:transform;display:block;color:inherit}
.ow-tilt:hover{text-decoration:none}
.ow-tilt .glare{position:absolute;inset:0;border-radius:20px;pointer-events:none;z-index:3}
.ow-tilt-in{position:relative;height:100%;background:linear-gradient(180deg,var(--navy1),var(--navy2));border-radius:18.5px;padding:36px 32px 28px;display:flex;flex-direction:column;gap:12px;min-height:330px;overflow:hidden;transform-style:preserve-3d}
.ow-tilt-in svg{position:absolute;top:22px;right:18px;opacity:.6}
.ow-tilt-in .n{font-family:var(--fs);font-size:46px;font-weight:700;color:transparent;-webkit-text-stroke:1px #31415f;line-height:1}
.ow-tilt-in .en{font-family:var(--fs);font-size:11.5px;letter-spacing:.2em;color:var(--sky)}
.ow-tilt-in h3{margin:0;font-size:25px;font-weight:900;color:#fff}
.ow-tilt-in p{margin:0;font-size:13.5px;line-height:2;color:#9aa5b8}
.ow-tilt-in .ft{margin-top:auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #223052;padding-top:16px}
.ow-tilt-in .ft b{font-family:var(--fs);font-size:10.5px;letter-spacing:.16em;color:#5d6c8c;font-weight:400}
.ow-tilt-in .ft i{font-family:var(--fs);font-size:18px;color:var(--sky);font-style:normal}

/* ===== Strength stack ===== */
.ow-stackwrap{height:96vh}
.ow-stack{position:sticky;top:15vh;height:max(68vh,540px);margin:0 var(--pad);border-radius:28px;overflow:hidden;transform-origin:50% 0%;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;padding:0 72px;align-items:center;box-shadow:0 40px 90px -40px rgba(17,24,38,.55)}
@supports (animation-timeline:view()){
  .ow-stackwrap{view-timeline-name:--owst}
  .ow-stackwrap:not(:last-child) .ow-stack{animation:owStackAway 1s linear both;animation-timeline:--owst;animation-range:exit 0% exit 100%}
}
.ow-stack.navy{background:linear-gradient(160deg,var(--navy1),var(--navy2));color:#fff}
.ow-stack.blue{background:linear-gradient(160deg,#3579e0,#2354a8);color:#fff}
.ow-stack.white{background:#fff;border:1.5px solid var(--ink);color:var(--ink);box-shadow:0 40px 90px -40px rgba(17,24,38,.35)}
.ow-stack .txt{display:flex;flex-direction:column;gap:16px}
.ow-stack .n{font-family:var(--fs);font-size:60px;font-weight:700;color:transparent;line-height:1;-webkit-text-stroke:1.2px #31415f}
.ow-stack.blue .n{-webkit-text-stroke:1.2px rgba(255,255,255,.45)}
.ow-stack.white .n{-webkit-text-stroke:1.2px #b9c7de}
.ow-stack .en{font-family:var(--fs);font-size:12px;letter-spacing:.22em;color:var(--sky)}
.ow-stack.blue .en{color:#cdddff}
.ow-stack.white .en{color:var(--blue)}
.ow-stack h3{margin:0;font-size:clamp(28px,2.6vw,38px);font-weight:900;line-height:1.5}
.ow-stack p{margin:0;font-size:14.5px;line-height:2.1;max-width:44ch}
.ow-stack.navy p{color:#9aa5b8}.ow-stack.blue p{color:#dbe6ff}.ow-stack.white p{color:var(--muted)}
/* --- gfx 1: layered blueprint (full-order AI) --- */
.ow-gfx{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;perspective:1000px}
.ow-gfx .cap{font-family:var(--fs);font-size:10.5px;letter-spacing:.26em;color:#5d6c8c}
.ow-stack.blue .ow-gfx .cap{color:#cdddff}
.ow-stack.white .ow-gfx .cap{color:var(--blue)}
.ow-iso{position:relative;width:230px;height:230px;transform-style:preserve-3d;animation:owIso 26s linear infinite}
.ow-iso .pl{position:absolute;inset:0;border-radius:14px;animation:owExplode 7s ease-in-out infinite}
.ow-iso .p1{border:1.5px solid rgba(75,123,236,.7);background:rgba(75,123,236,.08);--zc:-42px;--ze:-78px}
.ow-iso .p2{border:1.5px solid rgba(123,164,242,.55);background-image:radial-gradient(rgba(123,164,242,.5) 1.5px,transparent 1.5px);background-size:26px 26px;--zc:-14px;--ze:-26px}
.ow-iso .p3{border:1.5px dashed rgba(123,164,242,.6);--zc:14px;--ze:26px}
.ow-iso .p4{inset:38px;border-radius:12px;border:1.5px solid var(--sky);background:linear-gradient(150deg,rgba(123,164,242,.32),rgba(75,123,236,.12));box-shadow:0 0 34px rgba(75,123,236,.5);display:flex;align-items:center;justify-content:center;--zc:44px;--ze:82px}
.ow-iso .p4 b{width:12px;height:12px;border-radius:50%;background:var(--sky);box-shadow:0 0 22px 6px rgba(123,164,242,.6)}
/* --- gfx 2: two orbits one core (one-stop) --- */
.ow-duo{position:relative;width:340px;max-width:100%;height:260px;display:flex;align-items:center;justify-content:center}
.ow-duo .rings{position:relative;width:230px;height:230px;transform-style:preserve-3d}
.ow-duo .ra,.ow-duo .rb{position:absolute;inset:0;border-radius:50%;transform-style:preserve-3d}
.ow-duo .ra{border:1.5px solid rgba(255,255,255,.8);animation:owRingA 10s linear infinite}
.ow-duo .rb{border:1.5px solid rgba(255,255,255,.45);animation:owRingB 13s linear infinite}
.ow-duo .ra b{position:absolute;top:-7px;left:50%;margin-left:-7px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 0 16px rgba(255,255,255,.8)}
.ow-duo .rb b{position:absolute;top:-6px;left:50%;margin-left:-6px;width:12px;height:12px;border-radius:50%;background:#cdddff;box-shadow:0 0 14px rgba(205,221,255,.8)}
.ow-duo .core{position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:#fff;animation:owCore 3s ease-in-out infinite}
.ow-duo .chip{position:absolute;top:50%;transform:translateY(-50%);font-family:var(--fs);font-size:11px;letter-spacing:.18em;border-radius:999px;padding:7px 15px}
.ow-duo .chip.l{left:-6px;border:1.5px solid rgba(255,255,255,.75)}
.ow-duo .chip.r{right:-6px;border:1.5px solid rgba(255,255,255,.45)}
.ow-duo .fl,.ow-duo .fr{position:absolute;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%}
.ow-duo .fl{left:58px;background:#fff;animation:owFlowL 2.6s linear infinite}
.ow-duo .fr{right:58px;background:#cdddff;animation:owFlowR 2.6s linear infinite}
/* --- gfx 3: wireframe globe (sapporo) --- */
.ow-globe{position:relative;width:250px;height:250px;display:flex;align-items:center;justify-content:center}
.ow-globe .sphere{position:absolute;inset:0;transform-style:preserve-3d;animation:owGlobe 20s linear infinite}
.ow-globe .sphere i{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(17,24,38,.25);display:block}
.ow-globe .sphere .m2{transform:rotateY(60deg)}
.ow-globe .sphere .m3{transform:rotateY(120deg)}
.ow-globe .sphere .eq{border-color:rgba(47,111,208,.5);transform:rotateX(76deg)}
.ow-globe .sphere .lat{inset:34px;border-style:dashed;border-color:rgba(47,111,208,.4);transform:rotateX(76deg)}
.ow-globe .mark{position:absolute;top:44px;right:56px;display:flex;align-items:center;justify-content:center}
.ow-globe .mark i{position:absolute;width:58px;height:58px;border:1.5px solid rgba(47,111,208,.55);border-radius:50%;animation:owPing 2.6s ease-out infinite}
.ow-globe .mark i+i{border-color:rgba(47,111,208,.35);animation-delay:1.3s}
.ow-globe .mark b{width:14px;height:14px;background:var(--blue);border-radius:50%;box-shadow:0 0 18px rgba(47,111,208,.7)}
.ow-gfx .wm{position:absolute;width:480px;opacity:.07;pointer-events:none}

/* ===== News ===== */
.ow-news-card{display:flex;flex-direction:column;gap:14px;color:inherit;transition:transform .25s ease}
.ow-news-card:hover{transform:translateY(-6px);text-decoration:none}
.ow-thumb{height:200px;border-radius:14px;overflow:hidden;background:repeating-linear-gradient(45deg,#e9edf5 0 14px,#dfe5f0 14px 28px);display:flex;align-items:center;justify-content:center;box-shadow:0 20px 50px -28px rgba(17,24,38,.3)}
.ow-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.ow-news-card:hover .ow-thumb img{transform:scale(1.05)}
.ow-thumb .ph{font-family:ui-monospace,Menlo,monospace;font-size:11px;color:#7d8aa3;background:#ffffffcc;padding:5px 10px;border-radius:4px}
.ow-news-meta{display:flex;gap:12px;align-items:center}
.ow-news-meta time{font-family:var(--fs);font-size:12px;color:var(--muted)}
.ow-news-meta .cat{font-size:10.5px;font-weight:700;color:var(--blue);letter-spacing:.08em}
.ow-news-card h3{margin:0;font-size:15px;font-weight:700;line-height:1.7}

/* ===== FAQ ===== */
.ow-faq-list{display:flex;flex-direction:column;max-width:940px}
.ow-faq{border-top:1px solid var(--line)}
.ow-faq:last-child{border-bottom:1px solid var(--line)}
.ow-faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 10px;cursor:pointer;list-style:none;transition:background .2s}
.ow-faq summary::-webkit-details-marker{display:none}
.ow-faq summary:hover{background:#f2f6fc}
.ow-faq summary b{font-size:16px;font-weight:700}
.ow-faq summary i{font-family:var(--fs);font-size:20px;color:var(--blue);flex:none;font-style:normal;transition:transform .25s}
.ow-faq[open] summary i{transform:rotate(45deg)}
.ow-faq p{margin:0;padding:0 10px 26px;font-size:14px;line-height:2.1;color:var(--muted);max-width:72ch}

/* ===== Dark contact panel ===== */
.ow-darkwrap{height:170vh;position:relative;z-index:2;perspective:1600px}
@supports (animation-timeline:view()){
  .ow-darkwrap{view-timeline-name:--owdark}
  .ow-dark{animation:owUnfold 1s ease both;animation-timeline:--owdark;animation-range:entry 0% entry 90%}
}
@keyframes owUnfold{from{transform:rotateX(22deg) scale(.88) translateY(8%);border-radius:64px;filter:brightness(.6)}to{transform:none;border-radius:0;filter:none}}
.ow-dark{position:sticky;top:0;height:100vh;background:#111826;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:0 var(--pad);transform-origin:50% 0%;overflow:clip}
.ow-dark .glow{position:absolute;top:-140px;right:-140px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle at 40% 40%,var(--blue),transparent 70%);opacity:.35;filter:blur(30px)}
.ow-dark .wm{position:absolute;right:-60px;bottom:-40px;width:640px;filter:brightness(0) invert(1);opacity:.07;pointer-events:none}
.ow-dark-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;position:relative}
.ow-dark .ow-num{-webkit-text-stroke:1.5px #3a4559;font-size:72px}
.ow-dark h2{color:#fff}
.ow-company{display:flex;flex-direction:column;margin-top:8px}
.ow-company>div{display:grid;grid-template-columns:118px 1fr;gap:16px;padding:13px 0;border-top:1px solid var(--line2)}
.ow-company>div:last-child{border-bottom:1px solid var(--line2)}
.ow-company dt,.ow-company .k{font-size:12.5px;color:var(--gray);margin:0}
.ow-company dd,.ow-company .v{font-size:14px;line-height:1.85;margin:0}
.ow-letstalk h2{margin:0;font-family:var(--fs);font-size:clamp(44px,7vw,76px);font-weight:700;line-height:1.05}
.ow-letstalk h2 em{color:var(--sky);font-style:normal}
.ow-letstalk p{margin:0;font-size:14px;line-height:2.1;color:#9aa5b8}
.ow-letstalk{display:flex;flex-direction:column;gap:22px}
.ow-letstalk .ow-btn.pri{align-self:flex-start;padding:17px 42px}

/* ===== Footer ===== */
.ow-footer{background:#111826;color:#fff;position:relative;z-index:3;padding:26px var(--pad)}
.ow-footer .in{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line2);padding-top:20px;flex-wrap:wrap}
.ow-footer .brand{font-family:var(--fs);font-size:13px;font-weight:700;letter-spacing:.24em}
.ow-footer .nap{font-size:11px;line-height:1.7;color:var(--gray)}
.ow-footer .cp{font-family:var(--fs);font-size:11px;letter-spacing:.08em;color:var(--gray)}
.ow-footer-widgets{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding-bottom:26px}
.ow-footer-widgets:empty{display:none}

/* ===== Blog / archive ===== */
.ow-page{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:150px var(--pad) 100px}
.ow-page-head{margin-bottom:44px}
.ow-page-head .en{font-family:var(--fs);font-size:12px;letter-spacing:.24em;color:var(--blue)}
.ow-page-head h1{margin:6px 0 0;font-size:clamp(26px,4vw,36px);font-weight:900}
.ow-postgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.ow-pagination{display:flex;gap:8px;justify-content:center;margin-top:56px;font-family:var(--fs)}
.ow-pagination .page-numbers{padding:9px 15px;border:1px solid var(--line);border-radius:8px;color:var(--ink)}
.ow-pagination .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
.ow-pagination a:hover{border-color:var(--blue);color:var(--blue);text-decoration:none}

/* ===== Single article ===== */
.ow-article-wrap{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:150px var(--pad) 100px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start}
.ow-breadcrumb{font-size:12px;color:var(--gray);margin-bottom:22px}
.ow-breadcrumb a{color:var(--gray)}
.ow-breadcrumb a:hover{color:var(--blue)}
.ow-article h1.entry-title{margin:0 0 14px;font-size:clamp(24px,3.4vw,34px);font-weight:900;line-height:1.6}
.ow-entry-meta{display:flex;gap:14px;align-items:center;margin-bottom:26px}
.ow-entry-meta time{font-family:var(--fs);font-size:13px;color:var(--muted)}
.ow-entry-meta .cat{font-size:11px;font-weight:700;color:var(--blue);border:1px solid #c8d4e6;border-radius:999px;padding:4px 14px}
.ow-hero-thumb{border-radius:16px;overflow:hidden;margin-bottom:34px}
.ow-hero-thumb img{width:100%;height:auto;display:block}
.entry-content{font-size:15.5px;line-height:2.15;color:#2a3345}
.entry-content h2{font-size:24px;font-weight:900;margin:2.2em 0 .8em;padding-left:16px;border-left:4px solid var(--blue)}
.entry-content h3{font-size:19px;font-weight:700;margin:2em 0 .7em}
.entry-content a{text-decoration:underline}
.entry-content img{border-radius:12px}
.entry-content blockquote{margin:1.6em 0;padding:18px 24px;background:#f2f6fc;border-left:4px solid var(--sky);border-radius:0 10px 10px 0;color:var(--muted)}
.entry-content pre{background:var(--navy2);color:#dbe6ff;padding:20px 24px;border-radius:12px;overflow:auto;font-size:13px;line-height:1.8}
.entry-content code{font-family:ui-monospace,Menlo,monospace}
.entry-content table{border-collapse:collapse;width:100%}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:10px 14px;font-size:14px}
.entry-content th{background:#f2f6fc}
.ow-postnav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:56px;font-size:13px}
.ow-postnav a{display:block;border:1px solid var(--line);border-radius:12px;padding:16px 18px;color:var(--ink);transition:border-color .2s}
.ow-postnav a:hover{border-color:var(--blue);text-decoration:none}
.ow-postnav .lbl{font-family:var(--fs);font-size:10px;letter-spacing:.18em;color:var(--blue)}
.ow-postnav .nx{text-align:right}

/* ===== Sidebar & widgets ===== */
.ow-sidebar{display:flex;flex-direction:column;gap:28px;position:sticky;top:90px}
.ow-w{background:#fff;border:1px solid #e2e8f2;border-radius:16px;padding:24px 22px;box-shadow:0 14px 40px -30px rgba(17,24,38,.25)}
.ow-w-title{display:flex;align-items:baseline;gap:10px;margin:0 0 16px;font-size:15px;font-weight:900}
.ow-w-title::before{content:"";width:10px;height:10px;background:var(--blue);border-radius:3px;align-self:center;flex:none}
.ow-w-title small{font-family:var(--fs);font-size:9.5px;letter-spacing:.18em;color:var(--blue);font-weight:500}
.ow-w ul{list-style:none;margin:0;padding:0}
.ow-w li{border-top:1px solid #eef2f8}
.ow-w li:first-child{border-top:0}
.ow-w a{color:var(--ink)}
.ow-w a:hover{color:var(--blue);text-decoration:none}
/* recent/related/popular/category list */
.ow-w-postlist li a{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:11px 0;align-items:center}
.ow-w-postlist .th{width:64px;height:48px;border-radius:8px;overflow:hidden;background:repeating-linear-gradient(45deg,#e9edf5 0 8px,#dfe5f0 8px 16px)}
.ow-w-postlist .th img{width:100%;height:100%;object-fit:cover}
.ow-w-postlist .tt{font-size:12.5px;font-weight:500;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ow-w-postlist time{font-family:var(--fs);font-size:10.5px;color:var(--gray);display:block;margin-top:2px}
.ow-w-postlist .rank{display:inline-flex;width:18px;height:18px;background:var(--ink);color:#fff;border-radius:5px;font-family:var(--fs);font-size:10px;align-items:center;justify-content:center;margin-right:6px}
/* toc */
.ow-toc-body ul{border-top:0}
.ow-toc-body li{border-top:0;padding:4px 0;font-size:13px}
.ow-toc-body li.h3{padding-left:16px;font-size:12.5px}
.ow-toc-body a{color:var(--muted)}
/* cta widget */
.ow-w-cta{background:linear-gradient(180deg,var(--navy1),var(--navy2));border:0;color:#fff;text-align:center}
.ow-w-cta .en{font-family:var(--fs);font-size:10px;letter-spacing:.24em;color:var(--sky)}
.ow-w-cta h4{margin:8px 0 6px;font-size:17px;font-weight:900;color:#fff}
.ow-w-cta p{margin:0 0 16px;font-size:12px;line-height:1.9;color:#9aa5b8}
.ow-w-cta .ow-btn{font-size:13px;padding:12px 26px}
/* author */
.ow-w-author{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.ow-w-author img{border-radius:50%;width:76px;height:76px}
.ow-w-author .nm{font-weight:900;font-size:15px}
.ow-w-author .rl{font-family:var(--fs);font-size:10px;letter-spacing:.18em;color:var(--blue)}
.ow-w-author p{margin:0;font-size:12.5px;line-height:1.9;color:var(--muted)}
/* company card */
.ow-w-company .row{display:grid;grid-template-columns:74px 1fr;gap:10px;padding:8px 0;border-top:1px solid #eef2f8;font-size:12.5px}
.ow-w-company .row:first-of-type{border-top:0}
.ow-w-company .k{color:var(--gray)}
/* share */
.ow-w-share{display:flex;gap:10px;flex-wrap:wrap}
.ow-w-share a{flex:1;min-width:74px;text-align:center;font-family:var(--fs);font-size:11px;letter-spacing:.08em;border:1.5px solid var(--ink);border-radius:999px;padding:9px 0;color:var(--ink);transition:background .2s,color .2s}
.ow-w-share a:hover{background:var(--ink);color:#fff;text-decoration:none}
/* ticker widget */
.ow-w-ticker li a{display:flex;gap:10px;padding:10px 0;font-size:12.5px;align-items:baseline}
.ow-w-ticker time{font-family:var(--fs);font-size:10.5px;color:var(--gray);flex:none}
/* mini faq widget */
.ow-w-faq details{border-top:1px solid #eef2f8}
.ow-w-faq details:first-of-type{border-top:0}
.ow-w-faq summary{cursor:pointer;list-style:none;font-size:13px;font-weight:700;padding:10px 0}
.ow-w-faq summary::-webkit-details-marker{display:none}
.ow-w-faq summary::before{content:"Q. ";color:var(--blue);font-family:var(--fs)}
.ow-w-faq p{margin:0;padding:0 0 12px;font-size:12.5px;line-height:1.9;color:var(--muted)}
/* tag cloud */
.ow-w .wp-tag-cloud{display:flex;flex-wrap:wrap;gap:8px}
.ow-w .wp-tag-cloud li{border:0}
.ow-w .wp-tag-cloud a{display:inline-block;font-size:11.5px!important;border:1px solid var(--line);border-radius:999px;padding:5px 13px;color:var(--muted)}
.ow-w .wp-tag-cloud a:hover{border-color:var(--blue);color:var(--blue)}
/* archive list */
.ow-w-archive li a{display:flex;justify-content:space-between;padding:9px 0;font-size:13px}
.ow-w-archive .cnt{font-family:var(--fs);font-size:11px;color:var(--gray)}
/* search */
.ow-w-search form{display:flex;gap:8px}
.ow-w-search input[type=search]{flex:1;border:1.5px solid var(--line);border-radius:999px;padding:10px 18px;font-size:13px;font-family:var(--fj);outline:none;background:#fff;min-width:0}
.ow-w-search input[type=search]:focus{border-color:var(--blue)}
.ow-w-search button{border:0;background:var(--ink);color:#fff;border-radius:999px;padding:10px 20px;font-size:12px;font-family:var(--fs);letter-spacing:.1em;cursor:pointer}
.ow-w-search button:hover{background:var(--blue)}
/* quick links */
.ow-w-links li a{display:flex;justify-content:space-between;align-items:center;padding:11px 2px;font-size:13px;font-weight:500}
.ow-w-links li a::after{content:"→";font-family:var(--fs);color:var(--sky)}
/* consult button widget */
.ow-w-consult{border:0;padding:0;background:none;box-shadow:none}
.ow-w-consult a{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--blue);color:#fff;border-radius:16px;padding:22px;text-align:center;transition:transform .2s,box-shadow .2s}
.ow-w-consult a:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(47,111,208,.4);text-decoration:none}
.ow-w-consult .big{font-size:16px;font-weight:900}
.ow-w-consult .sm{font-family:var(--fs);font-size:10px;letter-spacing:.2em;color:#cdddff}

/* ===== Comments (minimal) ===== */
.comment-list{list-style:none;padding:0}
.comment-body{border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin-bottom:14px;font-size:14px}

/* ===== Responsive ===== */
@media (max-width:1080px){
  :root{--pad:36px}
  .ow-grid3,.ow-postgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ow-stack{grid-template-columns:1fr;height:auto;min-height:max(68vh,540px);padding:44px 40px;gap:28px;align-items:start}
  .ow-gfx{height:280px;transform:scale(.75)}
  .ow-dark-grid{grid-template-columns:1fr;gap:44px}
  .ow-dark{height:auto;min-height:100vh;padding-top:90px;padding-bottom:60px}
  .ow-article-wrap{grid-template-columns:1fr}
  .ow-sidebar{position:static}
}
@media (max-width:720px){
  :root{--pad:22px}
  .ow-grid3,.ow-postgrid{grid-template-columns:1fr}
  .ow-nav ul li:not(.ow-cta-li){display:none}
  .ow-nav>a:not(.ow-cta-pill){display:none}
  .ow-header{padding:12px 20px}
  .ow-stack{margin:0 16px;padding:36px 24px}
  .ow-sec{padding-top:96px;padding-bottom:80px}
  .ow-num{font-size:52px}
  .ow-sec-head{flex-wrap:wrap;gap:8px 16px}
  .ow-sec-head h2{font-size:24px}
  .ow-hero-logo{width:86vw}
  .ow-hero h1{margin-top:-12px}
  .ow-stack .n{font-size:44px}
  .ow-gfx{height:220px;transform:scale(.6)}
  .ow-venn{width:340px}
  .ow-company>div{grid-template-columns:1fr;gap:2px}
  .ow-footer .in{flex-direction:column;align-items:flex-start}
  .ow-footer-widgets{grid-template-columns:1fr}
  .ow-ticker .track{font-size:12px}
  .ow-dark .ow-num{font-size:52px}
  .ow-postnav{grid-template-columns:1fr}
  .ow-viewall{flex:none}
}
