:root{
  --bg:#f4f8fe;
  --surface:#ffffffcc;
  --surface-strong:#ffffffee;
  --text:#0f2143;
  --muted:#5b6d8c;
  --line:#dce7f6;
  --primary:#0c5df4;
  --primary-2:#18a6ff;
  --accent:#ff8f78;
  --mint:#7be4d6;
  --shadow:0 24px 70px rgba(13,39,89,.12);
  --radius-xl:34px;
  --radius-lg:26px;
  --radius-md:20px;
  --radius-sm:14px;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic UI", "Noto Sans JP", sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 12% 18%, rgba(24,166,255,.14), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(255,143,120,.14), transparent 24%),
    linear-gradient(180deg, #f7fbff 0%, #eff5fd 100%);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img{display:block;max-width:100%}
strong{font-weight:800}

.preloader{
  position:fixed;inset:0;z-index:2000;display:grid;place-items:center;
  background:linear-gradient(135deg,#f8fbff,#eef4fd);transition:opacity .8s var(--ease), visibility .8s var(--ease);
}
.preloader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.preloader__mesh{position:absolute;inset:0;background:
  linear-gradient(rgba(11,93,244,.06) 1px, transparent 1px),
  linear-gradient(90deg, rgba(11,93,244,.06) 1px, transparent 1px);
  background-size:36px 36px;mask-image:radial-gradient(circle at center, black, transparent 78%);animation:meshMove 12s linear infinite}
.preloader__inner{text-align:center;position:relative;z-index:2}
.preloader__logo{display:flex;gap:10px;justify-content:center;margin-bottom:12px}
.preloader__logo span{
  width:68px;height:68px;display:grid;place-items:center;border-radius:18px;
  background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-size:1.4rem;font-weight:900;
  box-shadow:var(--shadow);animation:lift 1.8s var(--ease) infinite alternate;
}
.preloader__logo span:nth-child(2){animation-delay:.12s}.preloader__logo span:nth-child(3){animation-delay:.24s}
.preloader p,.preloader small{margin:0;color:var(--muted);letter-spacing:.2em}
.preloader p{font-size:.9rem;margin-bottom:6px}
.preloader small{font-size:.7rem}

.cursor{
  width:18px;height:18px;border-radius:50%;position:fixed;z-index:1600;pointer-events:none;
  border:1px solid rgba(12,93,244,.45);background:rgba(12,93,244,.08);backdrop-filter:blur(8px);
  transform:translate(-50%,-50%);transition:width .24s var(--ease), height .24s var(--ease), background .24s var(--ease), border-color .24s var(--ease);
}
.cursor.is-active{width:42px;height:42px;background:rgba(255,143,120,.12);border-color:rgba(255,143,120,.55)}
.scroll-progress{position:fixed;top:0;left:0;z-index:1500;height:4px;background:linear-gradient(90deg,var(--primary),var(--primary-2),var(--accent));width:0}

.side-index{
  position:fixed;right:20px;top:50%;transform:translateY(-50%);display:grid;gap:10px;z-index:1200;
}
.side-index a{
  width:46px;height:46px;border-radius:16px;display:grid;place-items:center;color:var(--muted);font-size:.66rem;font-weight:800;
  background:rgba(255,255,255,.74);backdrop-filter:blur(16px);border:1px solid rgba(220,231,246,.8);box-shadow:0 8px 30px rgba(28,52,94,.08);
  transition:transform .28s var(--ease), background .28s var(--ease), color .28s var(--ease);
}
.side-index a.is-active,.side-index a:hover{transform:translateX(-6px);background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff}
.side-index span{transform:rotate(-90deg);display:block;letter-spacing:.12em}

.site-header{
  position:fixed;left:18px;right:18px;top:18px;z-index:1400;display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;border-radius:22px;background:rgba(255,255,255,.74);border:1px solid rgba(220,231,246,.85);backdrop-filter:blur(18px);box-shadow:0 16px 40px rgba(23,50,94,.09);
  transition:transform .45s var(--ease), opacity .45s var(--ease);
}
.site-header.is-hidden{transform:translateY(-120%);opacity:0}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.08em}
.brand__symbol{padding:10px 12px;border-radius:14px;background:linear-gradient(135deg,var(--text),#17396d);color:#fff;font-size:1rem}
.brand__text{font-size:.72rem;color:var(--muted)}
.global-nav{display:flex;align-items:center;gap:18px;font-size:.94rem}
.global-nav > a,.mega-trigger{color:var(--text);font-weight:700;background:none;border:none;padding:0;cursor:pointer}
.nav-cta{padding:12px 18px;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 16px 34px rgba(12,93,244,.24)}

.mega-menu{
  position:absolute;top:calc(100% + 10px);right:0;width:min(1080px,96vw);padding:18px;border-radius:28px;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);
  border:1px solid rgba(220,231,246,.9);box-shadow:0 28px 70px rgba(20,45,89,.16);opacity:0;visibility:hidden;transform:translateY(10px) scale(.98);transition:.35s var(--ease);
}
.mega-menu.is-open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.mega-menu__bar{display:flex;align-items:center;justify-content:space-between;padding:6px 4px 18px}
.eyebrow{margin:0;color:#5576aa;letter-spacing:.22em;font-size:.78rem;font-weight:900}
.mega-close{font-size:2rem;line-height:1;background:none;border:none;color:var(--text);cursor:pointer}
.mega-menu__inner{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:18px}
.mega-lead,.mega-column,.mega-cta{padding:24px;border-radius:22px;background:linear-gradient(180deg,rgba(244,248,254,.88),rgba(255,255,255,.92));border:1px solid rgba(220,231,246,.8)}
.mega-lead h3,.mega-cta p,.mega-column strong{margin-top:0}
.mega-lead h3{font-size:1.6rem;margin-bottom:10px}
.mega-lead p,.mega-column a,.mega-cta p{color:var(--muted);line-height:1.8}
.mega-column strong{display:block;margin-bottom:14px}
.mega-column a{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-weight:700}
.mega-column a:last-child{border-bottom:none}
.mega-column a span{color:var(--primary);font-weight:900}
.mega-cta{display:flex;flex-direction:column;justify-content:space-between}
.mega-cta span{font-size:.78rem;letter-spacing:.2em;color:#5576aa;font-weight:900}

main{padding:120px 22px 0}
.section{max-width:1380px;margin:0 auto;padding:100px 0;position:relative}
.section__head{display:grid;gap:14px;max-width:860px;margin-bottom:38px}
.section__head h2{margin:0;font-size:clamp(2rem,3.2vw,3.4rem);line-height:1.08;letter-spacing:-.03em}
.section__head p{margin:0;color:var(--muted);line-height:1.9}

.hero{
  max-width:1380px;margin:0 auto 28px;min-height:980px;padding:150px 0 100px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,560px);gap:36px;align-items:start;position:relative;
}
.hero__background{position:absolute;inset:0;border-radius:44px;overflow:hidden;border:1px solid rgba(220,231,246,.7);box-shadow:var(--shadow)}
.hero__background::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(247,251,255,.97) 0%, rgba(247,251,255,.88) 38%, rgba(247,251,255,.28) 100%)}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s var(--ease);transform:scale(1.04)}
.hero-slide.is-active{opacity:1}
.hero-slide img{width:100%;height:100%;object-fit:cover;animation:kenburns 16s ease-in-out infinite alternate}
.hero__grid{position:absolute;inset:0;background:
   linear-gradient(rgba(12,93,244,.045) 1px, transparent 1px),
   linear-gradient(90deg, rgba(12,93,244,.045) 1px, transparent 1px);background-size:40px 40px;mask-image:linear-gradient(180deg, transparent, black 12%, black 88%, transparent)}
.hero__noise{position:absolute;inset:-10%;background:radial-gradient(circle at 75% 35%, rgba(255,255,255,.5), transparent 26%), radial-gradient(circle at 85% 68%, rgba(123,228,214,.22), transparent 20%) ;mix-blend-mode:screen;animation:drift 18s ease-in-out infinite alternate}
.orb{position:absolute;border-radius:999px;filter:blur(10px);opacity:.65;mix-blend-mode:screen;animation:float 8s ease-in-out infinite}
.orb--blue{width:230px;height:230px;right:11%;top:12%;background:radial-gradient(circle,#7dc8ff 0%, rgba(125,200,255,.1) 70%, transparent 100%)}
.orb--coral{width:170px;height:170px;right:18%;bottom:18%;background:radial-gradient(circle,#ffb39b 0%, rgba(255,179,155,.08) 70%, transparent 100%);animation-delay:-2s}
.orb--mint{width:120px;height:120px;left:44%;bottom:22%;background:radial-gradient(circle,#85f1df 0%, rgba(133,241,223,.08) 70%, transparent 100%);animation-delay:-4s}

.hero__content,.strategy-widget{position:relative;z-index:2}
.hero__content{padding:44px 0 0 54px;max-width:760px}
.kinetic-title{margin:0 0 18px;font-size:clamp(3rem,5.9vw,6.6rem);line-height:.93;letter-spacing:-.05em}
.kinetic-title span{display:block}
.hero__lead{margin:0;color:#27456f;font-size:1.08rem;line-height:1.95;max-width:720px}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 22px;border-radius:999px;border:1px solid transparent;font-weight:800;cursor:pointer;transition:transform .3s var(--ease), box-shadow .3s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 18px 38px rgba(12,93,244,.22)}
.btn--ghost{background:rgba(255,255,255,.72);border-color:rgba(12,93,244,.14)}
.hero-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:760px}
.hero-metrics div{padding:18px 20px;border-radius:22px;background:rgba(255,255,255,.74);border:1px solid rgba(220,231,246,.84);backdrop-filter:blur(12px)}
.hero-metrics strong{display:block;font-size:1.4rem;margin-bottom:4px}
.hero-metrics span{display:block;color:var(--muted);font-size:.88rem}
.hero__switcher{margin-top:18px;padding:18px 20px;border-radius:22px;background:rgba(255,255,255,.62);border:1px solid rgba(220,231,246,.8);backdrop-filter:blur(10px);max-width:650px}
.hero__switch-label{display:block;font-size:.72rem;letter-spacing:.18em;font-weight:900;color:#6d87b0;margin-bottom:8px}
.hero__switcher strong{display:block;font-size:1.16rem;margin-bottom:6px}
.hero__switcher p{margin:0;color:var(--muted);line-height:1.75}

.strategy-widget{align-self:center;margin-right:34px;padding:24px;border-radius:34px;background:rgba(255,255,255,.82);border:1px solid rgba(220,231,246,.9);backdrop-filter:blur(18px);box-shadow:var(--shadow)}
.strategy-widget__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.strategy-widget__head span{letter-spacing:.18em;font-size:.78rem;font-weight:900;color:#5d7cad}
.strategy-widget__head b{font-size:2.2rem;letter-spacing:-.05em}
.strategy-map{position:relative;height:420px;border-radius:30px;background:linear-gradient(180deg, rgba(241,247,255,.96), rgba(233,243,255,.9));border:1px solid rgba(220,231,246,.9);overflow:hidden}
.strategy-map::before{content:"";position:absolute;inset:14px;border-radius:28px;background:radial-gradient(circle at center, rgba(12,93,244,.08), transparent 58%)}
.strategy-map__orbit{position:absolute;inset:54px;border-radius:50%;border:1px dashed rgba(12,93,244,.25);animation:spinSlow 30s linear infinite}
.strategy-map__orbit--2{inset:88px;border-style:solid;opacity:.35;animation-direction:reverse;animation-duration:22s}
.strategy-map__core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:144px;height:144px;border-radius:36px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 22px 44px rgba(12,93,244,.24);z-index:4}
.strategy-map__core small{letter-spacing:.14em;font-weight:900;opacity:.8;font-size:.68rem}
.strategy-map__core strong{font-size:1.8rem;line-height:1;margin:8px 0 4px}
.strategy-map__core span{font-size:.84rem;opacity:.92}
.strategy-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:118px;min-height:74px;padding:12px 10px;border-radius:22px;border:1px solid rgba(220,231,246,.85);background:rgba(255,255,255,.92);color:var(--text);font-weight:800;box-shadow:0 14px 30px rgba(23,50,94,.08);cursor:pointer;transition:transform .3s var(--ease), background .3s var(--ease), color .3s var(--ease), box-shadow .3s var(--ease);z-index:3}
.strategy-node span{display:block;font-size:.86rem;line-height:1.3}
.strategy-node::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-2));transform:translate(-50%,-50%) scale(0);transition:transform .3s var(--ease)}
.strategy-node.is-active,.strategy-node:hover{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;transform:translate(-50%,-50%) scale(1.05);box-shadow:0 18px 38px rgba(12,93,244,.2)}
.strategy-node.is-active::after{transform:translate(-50%,-50%) scale(1)}
.strategy-detail{margin-top:18px;padding:18px;border-radius:24px;background:rgba(244,248,254,.86);border:1px solid rgba(220,231,246,.9);display:grid;gap:10px}
.strategy-detail h3{margin:6px 0 0;font-size:1.3rem}
.strategy-detail p{margin:0;color:var(--muted);line-height:1.85}
.strategy-tags{display:flex;flex-wrap:wrap;gap:8px}
.strategy-tags span,.strategy-service-bridge button{padding:10px 12px;border-radius:999px;background:#fff;border:1px solid rgba(220,231,246,.95);font-size:.84rem;font-weight:800;color:#3e5e90}
.strategy-service-bridge{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.strategy-service-bridge button{cursor:pointer;transition:transform .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease)}
.strategy-service-bridge button:hover{transform:translateY(-2px);border-color:rgba(12,93,244,.32);color:var(--primary)}
.strategy-sequence{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;color:#5a78a8;font-size:.8rem;font-weight:900;letter-spacing:.08em}
.strategy-sequence i{flex:1;height:1px;background:linear-gradient(90deg,rgba(12,93,244,.12),rgba(12,93,244,.42),rgba(255,143,120,.32))}

.hero-ticker{position:absolute;left:20px;right:20px;bottom:20px;display:flex;gap:18px;overflow:hidden;white-space:nowrap;padding:14px 20px;border-radius:18px;background:rgba(255,255,255,.58);border:1px solid rgba(220,231,246,.84);backdrop-filter:blur(10px);z-index:2}
.hero-ticker span{font-weight:900;letter-spacing:.14em;color:#5c7cae;animation:marquee 18s linear infinite}
.scroll-cue{position:absolute;left:54px;bottom:96px;display:inline-flex;align-items:center;gap:10px;z-index:2;font-size:.8rem;font-weight:800;letter-spacing:.18em;color:#5375aa}
.scroll-cue span{display:block;width:24px;height:40px;border:1px solid rgba(12,93,244,.28);border-radius:999px;position:relative}
.scroll-cue span::after{content:"";position:absolute;left:50%;top:8px;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:var(--primary);animation:scrollDot 1.4s ease-in-out infinite}

.quick-cta{max-width:1380px;margin:-18px auto 0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;position:relative;z-index:4}
.quick-pill{padding:18px;border:none;border-radius:24px;text-align:left;background:rgba(255,255,255,.78);border:1px solid rgba(220,231,246,.84);box-shadow:0 18px 38px rgba(23,50,94,.08);cursor:pointer;transition:transform .32s var(--ease), box-shadow .32s var(--ease)}
.quick-pill:hover{transform:translateY(-6px);box-shadow:0 24px 46px rgba(23,50,94,.12)}
.quick-pill b{display:block;font-size:.78rem;letter-spacing:.16em;color:var(--primary);margin-bottom:8px}
.quick-pill span{color:var(--text);font-weight:700;line-height:1.5}

.navigator-grid,.framework-grid,.contact-layout,.method-layout{display:grid;gap:22px}
.navigator-grid{grid-template-columns:420px minmax(0,1fr)}
.navigator-menu{display:grid;gap:14px}
.nav-card{padding:20px;border-radius:24px;border:1px solid rgba(220,231,246,.88);background:rgba(255,255,255,.8);text-align:left;cursor:pointer;transition:transform .3s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease)}
.nav-card span{display:block;font-size:.78rem;font-weight:900;color:#6b86b0;letter-spacing:.18em;margin-bottom:8px}
.nav-card b{display:block;font-size:1rem;margin-bottom:8px}
.nav-card small{display:block;color:var(--muted);line-height:1.55;font-size:.9rem}
.nav-card.is-active,.nav-card:hover{transform:translateX(8px);background:linear-gradient(135deg,#fff,#f3f8ff);box-shadow:0 16px 34px rgba(23,50,94,.08)}
.navigator-stage{padding:28px;border-radius:30px;background:rgba(255,255,255,.78);border:1px solid rgba(220,231,246,.9);min-height:440px;position:relative;overflow:hidden}
.nav-panel{display:none;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:24px;align-items:start;animation:fadeUp .5s var(--ease)}
.nav-panel.is-active{display:grid}
.nav-panel__main{min-width:0}
.nav-panel h3{font-size:clamp(1.8rem,2.6vw,2.7rem);line-height:1.16;margin:12px 0 14px}
.nav-panel p{margin:0 0 14px;color:var(--muted);line-height:1.95}
.nav-panel ul{margin:0 0 18px;padding-left:18px;color:#27456f;display:grid;gap:10px}
.nav-panel__aside{display:grid;gap:14px}
.nav-panel__visual{height:240px;border-radius:24px;overflow:hidden;border:1px solid rgba(220,231,246,.85);box-shadow:0 14px 30px rgba(23,50,94,.08)}
.nav-panel__visual img{width:100%;height:100%;object-fit:cover}
.nav-panel__note{padding:18px;border-radius:22px;background:linear-gradient(180deg,#f8fbff,#f2f7ff);border:1px solid rgba(220,231,246,.88)}
.nav-panel__note strong{display:block;font-size:.98rem;margin-bottom:10px}
.mini-tags{display:flex;flex-wrap:wrap;gap:8px}
.mini-tags span{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid rgba(220,231,246,.94);font-size:.82rem;font-weight:800;color:#4c6c9f}
.text-link{display:inline-flex;align-items:center;gap:10px;font-weight:900;color:var(--primary)}
.text-link::after{content:"→"}

.framework-grid{grid-template-columns:480px minmax(0,1fr);align-items:start}
.framework-sticky{position:sticky;top:128px}
.framework-visual{position:relative;border-radius:34px;overflow:hidden;box-shadow:var(--shadow);min-height:620px}
.framework-visual img{width:100%;height:100%;object-fit:cover;transform:scale(1.03)}
.framework-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,24,51,.12),rgba(9,24,51,.55))}
.framework-visual__panel{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;padding:22px;border-radius:28px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(16px);color:#fff}
.framework-visual__panel span{display:block;font-size:.74rem;font-weight:900;letter-spacing:.18em;opacity:.82;margin-bottom:10px}
.framework-visual__panel strong{display:block;font-size:1.6rem;line-height:1.3;margin-bottom:10px}
.framework-visual__panel p{margin:0;line-height:1.85;color:rgba(255,255,255,.86)}
.framework-cards{display:grid;gap:18px}
.framework-card{padding:26px;border-radius:28px;background:rgba(255,255,255,.82);border:1px solid rgba(220,231,246,.88);box-shadow:0 10px 26px rgba(23,50,94,.05);position:relative;overflow:hidden}
.framework-card::before{content:attr(data-step);position:absolute;right:20px;top:12px;font-size:3rem;font-weight:900;color:rgba(12,93,244,.08)}
.framework-card > span{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-weight:900;margin-bottom:14px}
.framework-card h3{margin:0 0 10px;font-size:1.3rem}
.framework-card p{margin:0 0 12px;color:var(--muted);line-height:1.8}
.framework-card ul{margin:0;padding-left:18px;color:#27456f;display:grid;gap:8px}
.framework-card.is-current{border-color:rgba(12,93,244,.3);box-shadow:0 18px 36px rgba(12,93,244,.1);transform:translateY(-4px)}

.service-matrix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-card{padding:28px;border-radius:30px;background:rgba(255,255,255,.82);border:1px solid rgba(220,231,246,.9);transform-style:preserve-3d;transition:transform .3s var(--ease), box-shadow .3s var(--ease);box-shadow:0 12px 28px rgba(23,50,94,.06)}
.service-card span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,rgba(12,93,244,.12),rgba(24,166,255,.18));color:var(--primary);font-weight:900;margin-bottom:18px}
.service-card h3{margin:0 0 12px;font-size:1.28rem;line-height:1.45}
.service-card p{margin:0 0 14px;color:var(--muted);line-height:1.85}
.service-card ul{margin:0 0 18px;padding-left:18px;color:#27456f;display:grid;gap:8px}
.service-card a{display:inline-flex;align-items:center;gap:10px;font-weight:900;color:var(--primary)}
.service-card a::after{content:"→"}
.service-card:hover{box-shadow:0 22px 42px rgba(23,50,94,.11)}

.scenario-rail{overflow:hidden;border-radius:34px;background:rgba(255,255,255,.6);border:1px solid rgba(220,231,246,.8);padding:18px}
.scenario-track{display:flex;gap:18px;width:max-content;animation:track 32s linear infinite}
.scenario-rail:hover .scenario-track{animation-play-state:paused}
.scenario-card{width:330px;flex:0 0 auto;padding:24px;border-radius:28px;background:linear-gradient(180deg,#ffffff,#f6faff);border:1px solid rgba(220,231,246,.86);box-shadow:0 14px 34px rgba(23,50,94,.07)}
.scenario-card span{display:block;font-size:.74rem;font-weight:900;letter-spacing:.18em;color:#6181b1;margin-bottom:12px}
.scenario-card h3{margin:0 0 12px;font-size:1.26rem}
.scenario-card p{margin:0 0 12px;color:var(--muted);line-height:1.8}
.scenario-card ul{margin:0;padding-left:18px;color:#27456f;display:grid;gap:8px}

.method-layout{grid-template-columns:280px minmax(0,1fr)}
.method-index{display:grid;gap:12px;align-self:start;position:sticky;top:130px}
.method-dot{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:center;padding:16px 18px;border-radius:20px;border:1px solid rgba(220,231,246,.86);background:rgba(255,255,255,.8);cursor:pointer;transition:.3s var(--ease)}
.method-dot span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(12,93,244,.08);color:var(--primary);font-weight:900}
.method-dot b{font-size:1rem;text-align:left}
.method-dot.is-active,.method-dot:hover{transform:translateX(6px);background:linear-gradient(135deg,#fff,#f4f8ff);box-shadow:0 14px 34px rgba(23,50,94,.08)}
.method-panels{display:grid;gap:18px}
.method-panel{padding:28px;border-radius:28px;background:rgba(255,255,255,.82);border:1px solid rgba(220,231,246,.9);box-shadow:0 12px 28px rgba(23,50,94,.05)}
.method-panel span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-weight:900;margin-bottom:16px}
.method-panel h3{margin:0 0 10px;font-size:1.34rem}
.method-panel p{margin:0 0 12px;color:var(--muted);line-height:1.85}
.method-panel ul{margin:0;padding-left:18px;color:#27456f;display:grid;gap:8px}
.method-panel.is-active{border-color:rgba(12,93,244,.3);box-shadow:0 18px 36px rgba(12,93,244,.09)}

.trust-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}
.trust-panel{padding:26px;border-radius:30px;background:rgba(255,255,255,.82);border:1px solid rgba(220,231,246,.9);box-shadow:0 12px 28px rgba(23,50,94,.05)}
.trust-panel--wide{grid-row:span 2}
.trust-panel span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,rgba(12,93,244,.12),rgba(24,166,255,.16));color:var(--primary);font-weight:900;margin-bottom:16px}
.trust-panel h3{margin:0 0 14px;font-size:1.3rem}
.trust-panel p{margin:0;color:var(--muted);line-height:1.86}
.trust-panel dl{margin:0;display:grid;gap:12px}
.trust-panel dl div{display:grid;grid-template-columns:126px minmax(0,1fr);gap:14px;padding-bottom:12px;border-bottom:1px solid rgba(220,231,246,.8)}
.trust-panel dl div:last-child{border-bottom:none;padding-bottom:0}
.trust-panel dt{font-weight:800;color:#5576aa}.trust-panel dd{margin:0;line-height:1.75}

.faq-list{display:grid;gap:12px}
.faq-item{padding:0 22px;border-radius:24px;background:rgba(255,255,255,.82);border:1px solid rgba(220,231,246,.9)}
.faq-item summary{list-style:none;padding:22px 0;cursor:pointer;font-weight:800;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"＋";position:absolute;right:0;top:18px;font-size:1.5rem;color:#5e7daf;transition:transform .3s var(--ease)}
.faq-item[open] summary::after{content:"－"}
.faq-item p{margin:0;padding:0 0 22px;color:var(--muted);line-height:1.85}

.contact{max-width:1380px;margin:0 auto 60px;padding-bottom:120px}
.contact__visual{position:absolute;inset:0;border-radius:44px;overflow:hidden;box-shadow:var(--shadow)}
.contact__visual img{width:100%;height:100%;object-fit:cover;filter:saturate(1.05) brightness(1.02)}
.contact__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,251,255,.95),rgba(247,251,255,.88) 45%,rgba(247,251,255,.62) 100%)}
.contact__body{position:relative;z-index:2;padding:80px 42px 0}
.contact-layout{grid-template-columns:340px minmax(0,1fr);align-items:start}
.contact-card,.contact-aside,.contact-form{background:rgba(255,255,255,.82);border:1px solid rgba(220,231,246,.9);box-shadow:0 12px 28px rgba(23,50,94,.06)}
.contact-info{display:grid;gap:18px}
.contact-card,.contact-aside{padding:24px;border-radius:28px}
.contact-card span{display:block;font-size:.76rem;letter-spacing:.18em;color:#5f80b1;font-weight:900;margin-bottom:10px}
.contact-card strong{display:block;font-size:1.4rem;margin-bottom:10px}
.contact-card p,.contact-card small,.contact-aside ul{color:var(--muted);line-height:1.8}
.contact-card a{display:block;font-weight:800;margin:10px 0;color:var(--primary)}
.contact-aside h3{margin:0 0 12px}.contact-aside ul{margin:0;padding-left:18px;display:grid;gap:8px}
.contact-form{padding:26px;border-radius:30px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-grid label{display:grid;gap:8px}
.form-grid span{font-size:.88rem;font-weight:800;color:#3d5d8f}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:15px 16px;border-radius:18px;border:1px solid rgba(220,231,246,.95);background:#fff;color:var(--text);outline:none}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:rgba(12,93,244,.34);box-shadow:0 0 0 4px rgba(12,93,244,.08)}
.form-grid__wide{grid-column:1/-1}
.form-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-top:18px}
.form-actions p{margin:0;max-width:420px;color:var(--muted);line-height:1.8;font-size:.92rem}

.floating-cta{position:fixed;right:22px;bottom:24px;z-index:1300}
.floating-cta a{display:grid;gap:4px;padding:14px 18px;border-radius:20px;background:linear-gradient(135deg,var(--text),#17396d);color:#fff;box-shadow:0 18px 40px rgba(15,33,67,.25)}
.floating-cta span{font-size:.78rem;letter-spacing:.18em;font-weight:900}.floating-cta small{font-weight:700;opacity:.9}
.site-footer{max-width:1380px;margin:0 auto;padding:0 0 40px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#5473a6;font-size:.92rem}
.site-footer div{display:flex;align-items:center;gap:12px}.site-footer b{font-size:1.4rem;color:var(--text)}.site-footer p{margin:0}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .85s var(--ease), transform .85s var(--ease)}
.reveal.is-visible{opacity:1;transform:translateY(0)}

@keyframes meshMove{to{transform:translate3d(0,-36px,0)}}
@keyframes lift{to{transform:translateY(-8px)}}
@keyframes float{50%{transform:translate3d(0,-18px,0)}}
@keyframes drift{50%{transform:translate3d(-2%,-2%,0)}100%{transform:translate3d(2%,3%,0)}}
@keyframes spinSlow{to{transform:rotate(360deg)}}
@keyframes kenburns{0%{transform:scale(1.05) translate3d(0,0,0)}100%{transform:scale(1.12) translate3d(-1.5%,1%,0)}}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-120%)}}
@keyframes scrollDot{0%{transform:translate(-50%,0);opacity:1}100%{transform:translate(-50%,16px);opacity:0}}
@keyframes track{0%{transform:translateX(0)}100%{transform:translateX(calc(-50% - 9px))}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

@media (max-width: 1260px){
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:140px;padding-bottom:70px}
  .hero__content{padding:44px 42px 0 42px}
  .strategy-widget{margin:0 42px 10px}
  .quick-cta{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}
  .framework-grid,.navigator-grid,.method-layout,.contact-layout{grid-template-columns:1fr}
  .framework-sticky,.method-index{position:static}
  .service-matrix{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust-grid{grid-template-columns:1fr 1fr}
  .nav-panel{grid-template-columns:1fr}
  .nav-panel__visual{height:200px}
}
@media (max-width: 980px){
  .cursor,.side-index{display:none}
  .site-header{left:12px;right:12px;top:12px;padding:12px 14px}
  .global-nav a:not(.nav-cta){display:none}
  main{padding:104px 14px 0}
  .hero__content,.strategy-widget{margin:0;padding-left:24px;padding-right:24px}
  .hero__content{padding-top:34px}
  .hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .strategy-map{height:380px}
  .strategy-node{width:102px;min-height:66px}
  .strategy-node span{font-size:.78rem}
  .hero-ticker{left:14px;right:14px;bottom:14px}
  .scroll-cue{display:none}
  .quick-cta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-matrix,.trust-grid,.mega-menu__inner{grid-template-columns:1fr}
  .trust-panel--wide{grid-row:auto}
  .contact__body{padding:62px 18px 0}
  .form-grid{grid-template-columns:1fr}
  .form-grid__wide{grid-column:auto}
  .form-actions{flex-direction:column}
  .site-footer{flex-direction:column;align-items:flex-start;padding-bottom:110px}
}
@media (max-width: 720px){
  .mega-menu{width:calc(100vw - 28px);left:50%;right:auto;transform:translate(-50%,10px) scale(.98)}
  .mega-menu.is-open{transform:translate(-50%,0) scale(1)}
  .kinetic-title{font-size:2.9rem}
  .section{padding:78px 0}
  .hero__background,.contact__visual{border-radius:30px}
  .strategy-widget{padding:18px}
  .strategy-map{height:420px}
  .strategy-map__core{width:118px;height:118px}
  .strategy-node{width:94px;padding:10px 8px;border-radius:18px}
  .strategy-detail h3{font-size:1.12rem}
  .quick-cta{grid-template-columns:1fr}
  .hero-metrics{grid-template-columns:1fr 1fr}
  .scenario-card{width:280px}
  .floating-cta{right:14px;left:14px;bottom:14px}.floating-cta a{text-align:center}
}

/* V6 fixes: keep consulting scene cards visible even if opened locally or script timing differs */
.scenario-track .reveal{opacity:1;transform:none;transition:none}
.scenario-track{animation:none;width:100%;display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:18px}
.scenario-card{width:auto;min-height:250px;animation:softFloat 6s ease-in-out infinite}
.scenario-card:nth-child(2n){animation-delay:-1.6s}
.scenario-card:nth-child(3n){animation-delay:-3.2s}
@keyframes softFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media (max-width:980px){.scenario-track{grid-template-columns:repeat(2,minmax(240px,1fr))}}
@media (max-width:720px){.scenario-track{grid-template-columns:1fr}}


/* ==============================
   V7 upgrades: diagram, insight, richer mobile
================================= */
.hero-flow-board{
  margin:18px 0 0;
  max-width:760px;
  padding:16px 18px;
  border-radius:22px;
  background:rgba(255,255,255,.66);
  border:1px solid rgba(220,231,246,.86);
  backdrop-filter:blur(12px);
  box-shadow:0 12px 28px rgba(23,50,94,.06);
}
.hero-flow-board__label{
  display:block;
  font-size:.72rem;
  letter-spacing:.18em;
  font-weight:900;
  color:#5f7faf;
  margin-bottom:12px;
}
.hero-flow{
  display:grid;
  grid-template-columns:auto 1fr auto 1fr auto 1fr auto;
  align-items:center;
  gap:10px;
}
.hero-flow div{
  min-width:92px;
  padding:12px;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#f6faff);
  border:1px solid rgba(220,231,246,.9);
  text-align:center;
}
.hero-flow b{
  display:block;
  color:var(--primary);
  font-size:.78rem;
  letter-spacing:.12em;
  margin-bottom:4px;
}
.hero-flow span{
  display:block;
  font-size:.86rem;
  font-weight:900;
}
.hero-flow i{
  height:2px;
  background:linear-gradient(90deg,rgba(12,93,244,.1),rgba(12,93,244,.55),rgba(255,143,120,.35));
  position:relative;
  overflow:hidden;
}
.hero-flow i::after{
  content:"";
  position:absolute;
  top:0;
  left:-40%;
  width:40%;
  height:100%;
  background:#fff;
  opacity:.8;
  animation:flowLine 2.8s linear infinite;
}

.nav-panel{
  grid-template-columns:minmax(0,1.06fr) minmax(340px,.94fr);
  min-height:540px;
}
.nav-panel__main{
  align-self:start;
}
.nav-diagram{
  position:relative;
  align-self:stretch;
  min-height:500px;
  padding:22px;
  border-radius:28px;
  background:
    radial-gradient(circle at 20% 18%,rgba(24,166,255,.13),transparent 24%),
    radial-gradient(circle at 82% 18%,rgba(255,143,120,.13),transparent 26%),
    linear-gradient(180deg,#ffffff,#f3f8ff);
  border:1px solid rgba(220,231,246,.92);
  box-shadow:0 16px 34px rgba(23,50,94,.07);
  overflow:hidden;
}
.nav-diagram::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(12,93,244,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(12,93,244,.045) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:radial-gradient(circle at 50% 45%,black,transparent 72%);
}
.nav-diagram__head{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:12px;
}
.nav-diagram__head span{
  font-size:.72rem;
  letter-spacing:.18em;
  font-weight:900;
  color:#5f7faf;
}
.nav-diagram__head strong{
  font-size:1.08rem;
  text-align:right;
}
.nav-diagram__canvas{
  position:relative;
  height:215px;
  margin:4px 0 14px;
  border-radius:24px;
}
.diagram-core{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:92px;
  height:92px;
  border-radius:28px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  color:#fff;
  font-weight:900;
  letter-spacing:.1em;
  box-shadow:0 18px 34px rgba(12,93,244,.22);
  z-index:4;
}
.diagram-ring{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1px dashed rgba(12,93,244,.24);
}
.diagram-ring--1{width:76%;height:76%;animation:spinSlow 28s linear infinite}
.diagram-ring--2{width:52%;height:52%;animation:spinSlow 22s linear infinite reverse;opacity:.45}
.diagram-node{
  position:absolute;
  width:54px;
  height:54px;
  border-radius:18px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(220,231,246,.92);
  box-shadow:0 12px 24px rgba(23,50,94,.08);
}
.diagram-node::after{
  content:"";
  position:absolute;
  inset:16px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--primary-2),var(--mint));
}
.diagram-node--a{left:12%;top:18%;animation:softFloat 5.5s ease-in-out infinite}
.diagram-node--b{right:12%;top:18%;animation:softFloat 5.5s ease-in-out infinite -1.8s}
.diagram-node--c{left:50%;bottom:6%;transform:translateX(-50%);animation:softFloat 5.5s ease-in-out infinite -3.2s}
.diagram-line{
  position:absolute;
  left:50%;
  top:50%;
  height:2px;
  background:linear-gradient(90deg,rgba(12,93,244,.1),rgba(12,93,244,.45),rgba(255,143,120,.22));
  transform-origin:left center;
}
.diagram-line--a{width:34%;transform:rotate(-150deg)}
.diagram-line--b{width:34%;transform:rotate(-30deg)}
.diagram-line--c{width:30%;transform:rotate(90deg)}
.nav-diagram__cards{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.nav-diagram__cards div{
  padding:14px 12px;
  border-radius:18px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(220,231,246,.88);
}
.nav-diagram__cards b{
  display:block;
  font-size:.92rem;
  margin-bottom:6px;
}
.nav-diagram__cards small{
  color:var(--muted);
  line-height:1.45;
}
.nav-diagram .nav-panel__note{
  position:relative;
  z-index:2;
}
.nav-diagram--sell .diagram-core{background:linear-gradient(135deg,#0c5df4,#18a6ff)}
.nav-diagram--buy .diagram-core{background:linear-gradient(135deg,#14a9ff,#7be4d6)}
.nav-diagram--invest .diagram-core{background:linear-gradient(135deg,#0c5df4,#8458ff)}
.nav-diagram--rent .diagram-core{background:linear-gradient(135deg,#00a3c7,#0c5df4)}
.nav-diagram--reno .diagram-core{background:linear-gradient(135deg,#18a6ff,#ff8f78)}
.nav-diagram--life .diagram-core{background:linear-gradient(135deg,#0f2143,#0c5df4)}

.insight-layout{
  display:grid;
  grid-template-columns:minmax(340px,.86fr) minmax(0,1.14fr);
  gap:20px;
  align-items:stretch;
}
.insight-feature{
  min-height:520px;
  padding:34px;
  border-radius:34px;
  background:
    radial-gradient(circle at 86% 12%,rgba(255,143,120,.2),transparent 24%),
    radial-gradient(circle at 8% 80%,rgba(24,166,255,.18),transparent 28%),
    linear-gradient(135deg,#0f2143,#17396d);
  color:#fff;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  overflow:hidden;
}
.insight-feature::before{
  content:"";
  position:absolute;
  inset:-20%;
  background:
    linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);
  background-size:34px 34px;
  transform:rotate(-8deg);
  animation:meshMove 16s linear infinite;
}
.insight-feature > *{position:relative;z-index:2}
.insight-feature span{
  font-size:.74rem;
  letter-spacing:.18em;
  font-weight:900;
  opacity:.78;
}
.insight-feature h3{
  margin:26px 0 16px;
  font-size:clamp(1.8rem,2.7vw,3rem);
  line-height:1.15;
  letter-spacing:-.03em;
}
.insight-feature p{
  margin:0 0 24px;
  color:rgba(255,255,255,.84);
  line-height:1.9;
}
.insight-feature .text-link{color:#fff}
.insight-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.insight-card{
  padding:24px;
  border-radius:28px;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(220,231,246,.9);
  box-shadow:0 12px 28px rgba(23,50,94,.06);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.insight-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 42px rgba(23,50,94,.1);
}
.insight-card b{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(12,93,244,.12),rgba(24,166,255,.18));
  color:var(--primary);
  margin-bottom:16px;
}
.insight-card h3{margin:0 0 10px;font-size:1.25rem;line-height:1.45}
.insight-card p{margin:0 0 12px;color:var(--muted);line-height:1.82}
.insight-card ul{margin:0;padding-left:18px;color:#27456f;display:grid;gap:8px}

.contact-intent{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:22px;
}
.contact-intent div{
  padding:18px;
  border-radius:24px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(220,231,246,.9);
  box-shadow:0 12px 28px rgba(23,50,94,.05);
}
.contact-intent b{
  display:block;
  color:var(--primary);
  letter-spacing:.12em;
  margin-bottom:8px;
}
.contact-intent span{
  display:block;
  font-weight:900;
  margin-bottom:8px;
}
.contact-intent small{
  display:block;
  color:var(--muted);
  line-height:1.7;
}
.contact-methods{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.contact-methods label{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(220,231,246,.9);
  font-weight:800;
  color:#3d5d8f;
}
.contact-methods input{width:auto}

@keyframes flowLine{
  0%{left:-40%}
  100%{left:110%}
}

@media (max-width:1260px){
  .insight-layout{grid-template-columns:1fr}
  .insight-feature{min-height:auto}
}
@media (max-width:980px){
  .hero-flow{grid-template-columns:1fr;gap:8px}
  .hero-flow i{height:22px;width:2px;margin:auto}
  .nav-panel{grid-template-columns:1fr;min-height:auto}
  .nav-diagram{min-height:440px}
  .insight-grid{grid-template-columns:1fr}
  .contact-intent{grid-template-columns:1fr}
}
@media (max-width:720px){
  .nav-diagram{padding:16px;min-height:420px}
  .nav-diagram__cards{grid-template-columns:1fr}
  .nav-diagram__canvas{height:190px}
  .diagram-core{width:78px;height:78px;border-radius:24px}
}


/* V8 meaningful diagram upgrades */
.nav-panel{grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr);min-height:560px}
.nav-meaning-card{padding:22px;border-radius:28px;background:linear-gradient(180deg,#ffffff,#f4f8ff);border:1px solid rgba(220,231,246,.92);box-shadow:0 16px 34px rgba(23,50,94,.07);display:grid;gap:14px;align-content:start;position:relative;overflow:hidden}
.nav-meaning-card::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(12,93,244,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(12,93,244,.035) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(circle at 60% 30%, black, transparent 78%);pointer-events:none}
.meaning-head{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.meaning-head span{font-size:.72rem;letter-spacing:.18em;font-weight:900;color:#5f7faf}
.meaning-head strong{font-size:1.08rem}
.flow-step,.flow-option,.ops-card,.ladder-step,.meaning-kpi-grid div,.nav-panel__note,.stack-flow div,.life-node,.life-core{position:relative;z-index:1}
.meaning-flow{display:grid;gap:12px}
.flow-step--start{padding:16px 18px;border-radius:20px;background:#fff;border:1px solid rgba(220,231,246,.9)}
.flow-step--start b,.flow-option b,.ops-card b,.ladder-step b,.stack-flow b,.life-core b{display:block;margin-bottom:6px;font-size:.95rem}
.flow-step--start small,.flow-option small,.ops-card span,.ladder-step small,.stack-flow small,.meaning-kpi-grid span,.meaning-kpi-grid b{display:block;line-height:1.5}
.flow-arrow{font-size:1.6rem;color:var(--primary);font-weight:900;line-height:1;text-align:center}
.flow-branch-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.flow-option{padding:14px;border-radius:18px;background:rgba(255,255,255,.92);border:1px solid rgba(220,231,246,.9)}
.flow-option.is-primary{background:linear-gradient(135deg,rgba(12,93,244,.1),rgba(24,166,255,.14));border-color:rgba(12,93,244,.22)}
.meaning-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.meaning-kpi-grid div{padding:14px;border-radius:18px;background:#fff;border:1px solid rgba(220,231,246,.9)}
.meaning-kpi-grid span{font-size:.78rem;color:#5f7faf;font-weight:900;letter-spacing:.08em;margin-bottom:6px}
.meaning-kpi-grid b{font-size:.92rem;color:var(--text)}

.matrix-board{position:relative;height:220px;border-radius:22px;background:#fff;border:1px solid rgba(220,231,246,.9);overflow:hidden}
.matrix-grid{position:absolute;inset:18px;background:linear-gradient(rgba(12,93,244,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(12,93,244,.06) 1px,transparent 1px);background-size:33% 33%}
.matrix-axis{position:absolute;font-size:.78rem;color:#5f7faf;font-weight:900;letter-spacing:.08em}
.matrix-axis--x{right:14px;bottom:8px}.matrix-axis--y{left:-14px;top:20px;transform:rotate(-90deg);transform-origin:left top}
.matrix-point{position:absolute;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.96);border:1px solid rgba(220,231,246,.9);box-shadow:0 10px 20px rgba(23,50,94,.08)}
.matrix-point b{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;margin-right:8px;font-size:.8rem}
.matrix-point small{display:block;color:var(--muted);margin-top:4px}
.matrix-point--a{left:52%;top:28%}.matrix-point--b{left:22%;top:50%}.matrix-point--c{left:65%;top:58%}
.meaning-score-grid{display:grid;gap:10px}
.meaning-score-grid > div{padding:14px;border-radius:18px;background:#fff;border:1px solid rgba(220,231,246,.9)}
.meaning-score-grid span{display:block;font-size:.78rem;color:#5f7faf;font-weight:900;margin-bottom:6px}
.meaning-score-grid b{font-size:.92rem}

.stack-flow{display:grid;gap:10px}
.stack-flow div{padding:14px 16px;border-radius:18px;background:#fff;border:1px solid rgba(220,231,246,.9)}
.stack-flow div.is-accent{background:linear-gradient(135deg,rgba(12,93,244,.1),rgba(132,88,255,.12));border-color:rgba(12,93,244,.22)}
.stack-flow i{height:20px;width:2px;margin:auto;background:linear-gradient(180deg,rgba(12,93,244,.2),rgba(12,93,244,.65),rgba(255,143,120,.25));position:relative}
.stack-flow i::after{content:"";position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid var(--primary)}

.ops-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ops-card{padding:14px;border-radius:18px;background:#fff;border:1px solid rgba(220,231,246,.9)}
.ops-card span{font-size:.78rem;color:#5f7faf;font-weight:900;letter-spacing:.08em;margin-bottom:6px}
.ops-track{display:flex;align-items:center;gap:8px;color:#5a78a8;font-size:.8rem;font-weight:900;letter-spacing:.08em}
.ops-track i{flex:1;height:2px;background:linear-gradient(90deg,rgba(12,93,244,.1),rgba(12,93,244,.45),rgba(255,143,120,.25))}

.ladder-board{display:grid;gap:10px;align-items:center}
.ladder-step{padding:16px 18px;border-radius:18px;background:#fff;border:1px solid rgba(220,231,246,.9)}
.ladder-step.is-middle{background:linear-gradient(135deg,rgba(24,166,255,.1),rgba(255,143,120,.1))}
.ladder-step.is-top{background:linear-gradient(135deg,rgba(12,93,244,.1),rgba(24,166,255,.14))}
.ladder-arrow{text-align:center;color:var(--primary);font-size:1.4rem;font-weight:900}

.life-map{position:relative;height:230px;border-radius:22px;background:#fff;border:1px solid rgba(220,231,246,.9);overflow:hidden}
.life-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:120px;height:120px;border-radius:28px;background:linear-gradient(135deg,var(--text),var(--primary));color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-shadow:0 16px 30px rgba(15,33,67,.2)}
.life-core small{font-size:.78rem;opacity:.86}
.life-node{position:absolute;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.96);border:1px solid rgba(220,231,246,.9);box-shadow:0 10px 20px rgba(23,50,94,.07);font-weight:800;color:#355580}
.life-node--home{left:8%;top:18%}.life-node--protect{right:8%;top:18%}.life-node--asset{left:50%;bottom:10%;transform:translateX(-50%)}
.life-link{position:absolute;left:50%;top:50%;height:2px;background:linear-gradient(90deg,rgba(12,93,244,.16),rgba(12,93,244,.5));transform-origin:left center}
.life-link--1{width:28%;transform:rotate(-155deg)}
.life-link--2{width:28%;transform:rotate(-25deg)}
.life-link--3{width:25%;transform:rotate(90deg)}

@media (max-width:980px){
  .nav-panel{grid-template-columns:1fr;min-height:auto}
  .meaning-kpi-grid,.ops-dashboard{grid-template-columns:1fr}
}
@media (max-width:720px){
  .flow-branch-grid{grid-template-columns:1fr}
  .matrix-board{height:240px}
  .life-map{height:260px}
  .life-node--home,.life-node--protect{top:10%}
}

/* V16 refinements: balanced hero, access page, editor preview picking */
.kinetic-title{
  word-break: keep-all;
  line-break: strict;
  text-wrap: balance;
}
.kinetic-title span{
  display:block;
  width:fit-content;
  max-width:100%;
  white-space:nowrap;
}
.hero__content{min-width:0;}
.is-editor-preview [data-edit-key],
.is-editor-preview [data-edit-placeholder-key]{
  cursor:pointer;
}
.is-editor-preview [data-edit-key]:hover,
.is-editor-preview [data-edit-placeholder-key]:hover{
  outline:2px solid rgba(12,93,244,.72);
  outline-offset:4px;
  border-radius:8px;
}
.access-layout{
  display:grid;
  grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);
  gap:22px;
  align-items:stretch;
}
.access-card{
  padding:30px;
  border-radius:30px;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(220,231,246,.9);
  box-shadow:0 14px 32px rgba(23,50,94,.07);
}
.access-card span{
  display:block;
  font-size:.74rem;
  letter-spacing:.18em;
  font-weight:900;
  color:#5f7faf;
  margin-bottom:12px;
}
.access-card h3{margin:0 0 14px;font-size:1.45rem;}
.access-card p{margin:0 0 18px;color:var(--muted);line-height:1.9;}
.access-card dl{margin:0 0 22px;display:grid;gap:10px;}
.access-card dl div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(220,231,246,.9);}
.access-card dt{font-weight:900;color:#5878aa;}
.access-card dd{margin:0;color:var(--text);line-height:1.7;}
.map-embed{
  min-height:460px;
  border-radius:34px;
  overflow:hidden;
  border:1px solid rgba(220,231,246,.9);
  box-shadow:var(--shadow);
  background:#fff;
}
.map-embed iframe{width:100%;height:100%;min-height:460px;border:0;display:block;}
.contact-methods label span{font-weight:800;color:#3d5d8f;}
@media (max-width:1260px){
  .kinetic-title span{white-space:normal;}
}
@media (max-width:980px){
  .access-layout{grid-template-columns:1fr;}
  .map-embed,.map-embed iframe{min-height:360px;}
}
@media (max-width:720px){
  .kinetic-title{font-size:clamp(2.45rem,12vw,3.1rem);}
  .kinetic-title span{white-space:normal;}
  .access-card{padding:22px;}
  .access-card dl div{grid-template-columns:1fr;gap:4px;}
}


/* V17: company/trust section balance */
.trust-panel--message{
  grid-column:span 2;
  min-height:100%;
  background:
    radial-gradient(circle at 88% 10%, rgba(24,166,255,.13), transparent 24%),
    radial-gradient(circle at 12% 90%, rgba(255,143,120,.12), transparent 26%),
    rgba(255,255,255,.86);
}
.trust-panel--message p{
  font-size:1rem;
  line-height:2.05;
}
.trust-panel--message h3{
  font-size:1.55rem;
}
@media (max-width:1260px){
  .trust-panel--message{grid-column:span 2}
}
@media (max-width:980px){
  .trust-panel--message{grid-column:auto}
}


/* V19: Trust section two-pillar layout */
.trust-grid.trust-grid--two{
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  align-items:stretch;
}
.trust-grid.trust-grid--two .trust-panel--wide{
  grid-row:auto;
}
.trust-grid.trust-grid--two .trust-panel--message{
  grid-column:auto;
  min-height:100%;
}
.trust-grid.trust-grid--two .trust-panel{
  height:100%;
}
.trust-grid.trust-grid--two .trust-panel dl div{
  grid-template-columns:132px minmax(0,1fr);
}
@media (max-width:1260px){
  .trust-grid.trust-grid--two{grid-template-columns:1fr 1fr;}
  .trust-grid.trust-grid--two .trust-panel--message{grid-column:auto;}
}
@media (max-width:980px){
  .trust-grid.trust-grid--two{grid-template-columns:1fr;}
}


/* V21: company info additions, large map, station info, legal pages */
.advisor-lines span{
  display:block;
  line-height:1.7;
}
.access-layout--large{
  grid-template-columns:minmax(320px,.58fr) minmax(0,1.42fr);
  align-items:start;
}
.access-map-stack{
  display:grid;
  gap:18px;
}
.map-embed--large{
  min-height:640px;
}
.map-embed--large iframe{
  min-height:640px;
}
.station-info{
  padding:24px;
  border-radius:28px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(220,231,246,.9);
  box-shadow:0 14px 32px rgba(23,50,94,.06);
}
.station-info > span{
  display:block;
  font-size:.74rem;
  letter-spacing:.18em;
  font-weight:900;
  color:#5f7faf;
  margin-bottom:10px;
}
.station-info h3{
  margin:0 0 16px;
  font-size:1.35rem;
}
.station-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.station-grid div{
  padding:16px;
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#f5f9ff);
  border:1px solid rgba(220,231,246,.9);
}
.station-grid b{
  display:block;
  font-size:.94rem;
  line-height:1.55;
  margin-bottom:6px;
}
.station-grid small{
  display:block;
  color:var(--primary);
  font-weight:900;
  line-height:1.5;
}
.footer-legal{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  opacity:.55;
  font-size:.82rem;
  margin-left:auto;
}
.footer-legal a{
  color:#5473a6;
  text-decoration:none;
}
.footer-legal a:hover{
  opacity:1;
  color:var(--primary);
}
.legal{
  max-width:1080px;
}
.legal-body{
  display:grid;
  gap:18px;
}
.legal-block{
  padding:24px 26px;
  border-radius:24px;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(220,231,246,.9);
  box-shadow:0 12px 28px rgba(23,50,94,.05);
}
.legal-block h3{
  margin:0 0 12px;
  font-size:1.16rem;
}
.legal-block p{
  margin:0;
  color:var(--muted);
  line-height:2;
  white-space:pre-line;
}
@media (max-width:1260px){
  .access-layout--large{grid-template-columns:1fr}
  .map-embed--large,.map-embed--large iframe{min-height:520px}
}
@media (max-width:720px){
  .station-grid{grid-template-columns:1fr}
  .map-embed--large,.map-embed--large iframe{min-height:380px}
  .footer-legal{width:100%;margin-left:0}
  .legal-block{padding:20px}
}


/* V22: company info line separation and representative signature */
.info-lines{
  display:grid;
  gap:6px;
}
.info-lines span{
  display:block;
  line-height:1.75;
}
.representative-signature{
  margin-top:28px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
  color:var(--text);
}
.representative-signature span{
  width:auto;
  height:auto;
  display:block;
  margin:0;
  padding:0;
  border-radius:0;
  background:none;
  color:#5576aa;
  font-size:.86rem;
  font-weight:800;
  letter-spacing:.08em;
}
.representative-signature strong{
  font-size:1.32rem;
  letter-spacing:.08em;
}
.trust-panel--message{
  display:flex;
  flex-direction:column;
}
.trust-panel--message .representative-signature{
  margin-top:auto;
  padding-top:28px;
}


/* V23: clean company information table */
.trust-grid.trust-grid--two .trust-panel--wide{
  overflow:hidden;
}
.company-info-list{
  gap:0 !important;
}
.company-info-row{
  display:grid !important;
  grid-template-columns:150px minmax(0,1fr) !important;
  gap:18px !important;
  align-items:flex-start;
  padding:16px 0 !important;
  border-bottom:1px solid rgba(220,231,246,.92) !important;
}
.company-info-row:first-child{
  padding-top:2px !important;
}
.company-info-row dt{
  color:#5576aa;
  font-weight:900;
  letter-spacing:.02em;
  line-height:1.7;
  white-space:nowrap;
}
.company-info-row dd{
  margin:0;
  color:var(--text);
  line-height:1.85;
  font-weight:700;
  min-width:0;
}
.company-info-row--wide{
  grid-template-columns:1fr !important;
  gap:10px !important;
  padding-top:20px !important;
  padding-bottom:20px !important;
}
.company-info-row--wide dt{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:.96rem;
}
.company-info-row--wide dt::after{
  content:"";
  flex:1;
  height:1px;
  background:linear-gradient(90deg,rgba(85,118,170,.28),transparent);
}
.trust-panel .info-lines{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
}
.trust-panel .info-lines span{
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  display:block !important;
  place-items:initial !important;
  margin:0 !important;
  padding:10px 14px !important;
  border-radius:14px !important;
  background:linear-gradient(180deg,#ffffff,#f5f9ff) !important;
  border:1px solid rgba(220,231,246,.9);
  color:var(--text) !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  line-height:1.65 !important;
  box-shadow:0 8px 18px rgba(23,50,94,.04);
}
.trust-panel .advisor-lines span{
  max-width:280px;
}
.trust-panel--message p{
  max-width:100%;
}
@media (max-width:720px){
  .company-info-row{
    grid-template-columns:1fr !important;
    gap:4px !important;
    padding:14px 0 !important;
  }
  .company-info-row dt{
    white-space:normal;
  }
}


/* V24: refined company information block */
.company-info-list-v24{
  display:grid !important;
  gap:0 !important;
}
.company-info-row-v24{
  display:grid !important;
  grid-template-columns:150px minmax(0,1fr) !important;
  gap:18px !important;
  align-items:start !important;
  padding:16px 0 !important;
  border-bottom:1px solid rgba(220,231,246,.92) !important;
}
.company-info-row-v24 dt{
  color:#5576aa !important;
  font-weight:900 !important;
  line-height:1.7 !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
}
.company-info-row-v24 dd{
  margin:0 !important;
  color:var(--text) !important;
  line-height:1.85 !important;
  font-weight:800 !important;
  min-width:0 !important;
}
.company-info-row-v24--block{
  grid-template-columns:1fr !important;
  gap:12px !important;
  padding:22px 0 !important;
}
.company-info-row-v24--block dt{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  white-space:normal !important;
  font-size:1rem !important;
}
.company-info-row-v24--block dt::after{
  content:"";
  flex:1;
  height:1px;
  background:linear-gradient(90deg,rgba(85,118,170,.32),transparent);
}
.company-clean-list{
  display:block !important;
  width:100% !important;
}
.company-org-list{
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
}
.company-org-list li{
  margin:0 !important;
  padding:0 !important;
}
.company-org-list span,
.company-advisor-item b,
.company-advisor-item span{
  width:auto !important;
  height:auto !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  background:none !important;
  color:inherit !important;
  font-weight:800 !important;
  line-height:1.65 !important;
  letter-spacing:0 !important;
  box-shadow:none !important;
}
.company-org-list li{
  padding:13px 16px !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,#ffffff,#f5f9ff) !important;
  border:1px solid rgba(220,231,246,.9) !important;
  box-shadow:0 8px 18px rgba(23,50,94,.04) !important;
}
.company-advisor-list{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
}
.company-advisor-item{
  display:grid !important;
  grid-template-columns:120px minmax(0,1fr) !important;
  gap:14px !important;
  align-items:center !important;
  padding:13px 16px !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,#ffffff,#f5f9ff) !important;
  border:1px solid rgba(220,231,246,.9) !important;
  box-shadow:0 8px 18px rgba(23,50,94,.04) !important;
}
.company-advisor-item b{
  color:#5576aa !important;
  white-space:nowrap !important;
}
.company-advisor-item span{
  color:var(--text) !important;
}
@media (max-width:720px){
  .company-info-row-v24{
    grid-template-columns:1fr !important;
    gap:5px !important;
    padding:14px 0 !important;
  }
  .company-advisor-item{
    grid-template-columns:1fr !important;
    gap:4px !important;
  }
}


/* V25: editor textarea line break support */
.tmt-preserve-linebreaks{
  white-space:pre-line !important;
}
.legal-block p.tmt-preserve-linebreaks,
.trust-panel p.tmt-preserve-linebreaks,
.nav-panel p.tmt-preserve-linebreaks,
.insight-card p.tmt-preserve-linebreaks,
.method-panel p.tmt-preserve-linebreaks,
.contact-card p.tmt-preserve-linebreaks{
  white-space:pre-line !important;
}


/* V29: reapply requested updates from V27, without removing side scroll nav; only remove the "SCROLL" cue */
html, body{
  overflow-x:hidden;
}
.news-grid,
.property-grid,
.business-domain-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.property-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.news-card,
.property-card,
.business-domain-card{
  padding:24px;
  border-radius:28px;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(220,231,246,.9);
  box-shadow:0 12px 28px rgba(23,50,94,.06);
  transition:transform .28s var(--ease), box-shadow .28s var(--ease);
}
.news-card:hover,
.property-card:hover,
.business-domain-card:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 42px rgba(23,50,94,.1);
}
.news-card time,
.news-card span,
.property-card span,
.business-domain-card span{
  display:block;
  color:#5f7faf;
  font-size:.78rem;
  letter-spacing:.12em;
  font-weight:900;
  margin-bottom:10px;
}
.news-card h3,
.property-card h3,
.business-domain-card h3{
  margin:0 0 12px;
  font-size:1.18rem;
  line-height:1.45;
}
.news-card p,
.property-card p,
.business-domain-card p{
  margin:0;
  color:var(--muted);
  line-height:1.85;
}
.property-card ul{
  margin:16px 0 0;
  padding:0;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.property-card li{
  padding:8px 10px;
  border-radius:999px;
  background:#f2f7ff;
  color:#3d5d8f;
  font-size:.82rem;
  font-weight:800;
}
.company-client-list{
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px !important;
}
.company-client-list li{
  padding:13px 16px !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,#ffffff,#f5f9ff) !important;
  border:1px solid rgba(220,231,246,.9) !important;
  box-shadow:0 8px 18px rgba(23,50,94,.04) !important;
}
.company-client-list span{
  width:auto !important;
  height:auto !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  background:none !important;
  color:var(--text) !important;
  font-weight:800 !important;
  line-height:1.65 !important;
}
.company-advisor-list--compact{
  grid-template-columns:1fr !important;
}
.matrix-board{
  padding:18px;
}
.matrix-axis--x{
  right:18px !important;
  bottom:10px !important;
  z-index:3;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(8px);
}
.matrix-axis--y{
  z-index:3;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
}
.matrix-point--c{
  top:48% !important;
}
.hero__background{
  animation:heroBreath 7s ease-in-out infinite alternate;
}
.hero-flow-board{
  animation:heroFloatBoard 5.5s ease-in-out infinite;
}
@keyframes heroBreath{
  from{transform:scale(1);}
  to{transform:scale(1.012);}
}
@keyframes heroFloatBoard{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-8px);}
}
@media (max-width:1260px){
  .news-grid,.property-grid,.business-domain-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .company-client-list{
    grid-template-columns:1fr;
  }
}
@media (max-width:980px){
  body{
    overflow-x:hidden;
  }
  main{
    padding:92px 12px 0 !important;
  }
  .site-header{
    left:10px !important;
    right:10px !important;
    top:10px !important;
    padding:10px 12px !important;
    border-radius:18px !important;
    display:flex !important;
    gap:10px !important;
  }
  .brand{
    min-width:0;
  }
  .brand__text{
    max-width:118px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .global-nav{
    margin-left:auto;
    gap:10px !important;
  }
  .mega-trigger{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 12px !important;
    border-radius:999px;
    background:#fff !important;
    border:1px solid rgba(220,231,246,.9) !important;
  }
  .nav-cta{
    padding:10px 13px !important;
    white-space:nowrap;
  }
  .mega-menu{
    position:fixed !important;
    left:10px !important;
    right:10px !important;
    top:72px !important;
    width:auto !important;
    max-height:calc(100vh - 86px) !important;
    overflow:auto !important;
    transform:translateY(10px) scale(.98) !important;
  }
  .mega-menu.is-open{
    transform:translateY(0) scale(1) !important;
  }
  .hero{
    padding-top:118px !important;
    border-radius:28px !important;
    overflow:hidden;
  }
  .hero__content{
    padding:30px 20px 0 20px !important;
  }
  .kinetic-title{
    font-size:clamp(2.5rem,12vw,4.2rem) !important;
    line-height:1.02 !important;
    letter-spacing:-.045em !important;
  }
  .kinetic-title span{
    white-space:normal !important;
    word-break:keep-all;
    overflow-wrap:normal;
  }
  .hero__lead{
    font-size:.96rem !important;
    line-height:1.85 !important;
  }
  .hero-metrics{
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }
  .hero-metrics div{
    padding:14px !important;
    border-radius:18px !important;
  }
  .strategy-widget{
    margin:0 16px 34px !important;
    padding:16px !important;
  }
  .quick-cta{
    grid-template-columns:1fr !important;
    padding:0 4px;
  }
  .section{
    padding:74px 0 !important;
  }
  .news-grid,.property-grid,.business-domain-grid{
    grid-template-columns:1fr !important;
  }
  .matrix-axis--y{
    left:10px !important;
    top:10px !important;
    transform:none !important;
  }
  .matrix-axis--x{
    right:10px !important;
    bottom:10px !important;
  }
  .matrix-point{
    max-width:140px;
  }
  .matrix-point--a{left:48% !important;top:30% !important;}
  .matrix-point--b{left:20% !important;top:54% !important;}
  .matrix-point--c{left:56% !important;top:58% !important;}
}
@media (max-width:720px){
  .brand__text{
    display:none;
  }
  .brand__symbol{
    font-size:.95rem !important;
    padding:9px 10px !important;
  }
  .global-nav{
    gap:8px !important;
  }
  .nav-cta{
    font-size:.84rem !important;
  }
  .section__head h2{
    font-size:clamp(1.8rem,9vw,2.6rem) !important;
  }
  .hero-metrics{
    grid-template-columns:1fr !important;
  }
  .news-card,.property-card,.business-domain-card{
    padding:20px;
    border-radius:22px;
  }
}


/* V30: bug fixes, property gallery, map destination, darker policy links, mobile menu */
.hero-ticker{
  gap:48px !important;
}
.hero-ticker span{
  animation:none !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
}
.section-title-link{
  display:inline-block;
  color:inherit;
  text-decoration:none;
}
.section-title-link:hover h2{
  color:var(--primary);
}
.section-actions{
  margin-top:24px;
  display:flex;
  justify-content:center;
}
.property-card--link{
  display:block;
  color:inherit;
  text-decoration:none;
}
.property-card--link:hover{
  color:inherit;
}
.property-gallery{
  display:grid;
  gap:22px;
}
.property-gallery-card{
  display:grid;
  grid-template-columns:minmax(280px,.86fr) minmax(0,1.14fr);
  gap:22px;
  align-items:stretch;
  padding:22px;
  border-radius:30px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(220,231,246,.9);
  box-shadow:0 14px 34px rgba(23,50,94,.07);
}
.property-gallery-card figure{
  margin:0;
  min-height:260px;
  border-radius:24px;
  overflow:hidden;
  background:#f3f7ff;
}
.property-gallery-card img{
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
  display:block;
}
.property-gallery-card > div{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.property-gallery-card span{
  display:block;
  color:#5f7faf;
  font-size:.78rem;
  letter-spacing:.14em;
  font-weight:900;
  margin-bottom:10px;
}
.property-gallery-card h3{
  margin:0 0 12px;
  font-size:1.55rem;
  line-height:1.38;
}
.property-gallery-card p{
  margin:0 0 18px;
  color:var(--muted);
  line-height:1.9;
}
.property-gallery-card dl{
  margin:0;
  display:grid;
  gap:8px;
}
.property-gallery-card dl div{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:12px;
  padding:10px 0;
  border-top:1px solid rgba(220,231,246,.9);
}
.property-gallery-card dt{
  color:#5576aa;
  font-weight:900;
}
.property-gallery-card dd{
  margin:0;
  color:var(--text);
  font-weight:800;
}
.property-list-panel{
  margin-top:28px;
  padding:26px;
  border-radius:30px;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(220,231,246,.9);
  box-shadow:0 14px 34px rgba(23,50,94,.06);
}
.property-list-head h3{
  margin:0 0 10px;
  font-size:1.35rem;
}
.property-list-head p:last-child{
  margin:0 0 18px;
  color:var(--muted);
  line-height:1.8;
}
.property-list-table{
  display:grid;
  gap:8px;
}
.property-list-row{
  display:grid;
  grid-template-columns:1.05fr 1fr 1.2fr 1fr;
  gap:10px;
  padding:14px 16px;
  border-radius:16px;
  background:#f7fbff;
  border:1px solid rgba(220,231,246,.9);
}
.property-list-row span{
  color:var(--text);
  font-weight:800;
  line-height:1.55;
}
.property-list-row--head{
  background:linear-gradient(135deg,rgba(12,93,244,.1),rgba(24,166,255,.12));
}
.property-list-row--head span{
  color:#5576aa;
  font-size:.84rem;
  letter-spacing:.08em;
  font-weight:900;
}
.mobile-menu-links{
  display:none;
}
.footer-legal{
  opacity:.94 !important;
  color:#27456f !important;
  font-size:.9rem !important;
  font-weight:800 !important;
}
.footer-legal a{
  color:#27456f !important;
}
.legal-block p{
  color:#27456f !important;
}
.legal-block h3{
  color:#0b2146 !important;
}
@media (max-width:980px){
  .global-nav > a:not(.nav-cta){
    display:none !important;
  }
  .mobile-menu-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    grid-column:1/-1;
    padding:14px;
    border-radius:20px;
    background:linear-gradient(180deg,#fff,#f5f9ff);
    border:1px solid rgba(220,231,246,.9);
  }
  .mobile-menu-links a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:10px 12px;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(220,231,246,.9);
    color:var(--text);
    text-decoration:none;
    font-weight:900;
    text-align:center;
    line-height:1.35;
  }
  .property-gallery-card{
    grid-template-columns:1fr;
    padding:18px;
  }
  .property-list-row{
    grid-template-columns:1fr 1fr;
  }
  .hero-ticker{
    bottom:12px !important;
    left:12px !important;
    right:12px !important;
    padding:10px 14px !important;
    gap:26px !important;
  }
  .hero-ticker span{
    font-size:.72rem !important;
    letter-spacing:.12em !important;
  }
  .parallax{
    transform:none !important;
  }
  .hero__background,
  .hero-flow-board{
    animation:none !important;
  }
  .floating-cta{
    right:12px !important;
    bottom:12px !important;
  }
  .floating-cta a{
    padding:10px 12px !important;
    border-radius:16px !important;
  }
}
@media (max-width:720px){
  .side-index{
    right:6px !important;
    gap:6px !important;
  }
  .side-index a{
    width:34px !important;
    height:34px !important;
    border-radius:12px !important;
    font-size:.48rem !important;
    opacity:.82;
  }
  .property-list-row{
    grid-template-columns:1fr;
  }
  .property-gallery-card figure,
  .property-gallery-card img{
    min-height:210px;
  }
  .property-gallery-card dl div{
    grid-template-columns:1fr;
    gap:4px;
  }
  .mobile-menu-links{
    grid-template-columns:1fr;
  }
}


/* V31: cinematic opening intro after TMT letters */
.preloader--cinematic{
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 18%, rgba(24,166,255,.24), transparent 30%),
    radial-gradient(circle at 82% 20%, rgba(255,143,120,.18), transparent 24%),
    radial-gradient(circle at 50% 82%, rgba(12,93,244,.24), transparent 36%),
    linear-gradient(135deg,#f7fbff 0%,#edf5ff 38%,#eaf2fb 100%);
}
.preloader--cinematic::before{
  content:"";
  position:absolute;
  inset:-30%;
  background:conic-gradient(from 90deg, transparent, rgba(12,93,244,.16), transparent, rgba(24,166,255,.16), transparent);
  animation:introSpin 7.8s linear infinite;
  opacity:.58;
}
.preloader--cinematic::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(100deg, transparent 0%, rgba(255,255,255,.28) 38%, rgba(255,255,255,.92) 48%, transparent 58%);
  transform:translateX(-120%) skewX(-18deg);
  animation:introSweep 2.4s var(--ease) .8s both;
  mix-blend-mode:screen;
}
.preloader__stage{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  z-index:3;
  transition:opacity .62s var(--ease), transform .72s var(--ease), filter .72s var(--ease);
}
.preloader__stage--logo{
  transform:translateY(0) scale(1);
}
.preloader.is-graphic .preloader__stage--logo{
  opacity:.12;
  transform:translateY(-25vh) scale(.64);
  filter:blur(8px);
}
.preloader__stage--motion{
  opacity:0;
  transform:translateY(32px) scale(.88);
  pointer-events:none;
}
.preloader.is-graphic .preloader__stage--motion{
  opacity:1;
  transform:translateY(0) scale(1);
}
.preloader--cinematic .preloader__inner{display:none;}
.preloader--cinematic .preloader__logo{
  gap:14px;
  margin-bottom:18px;
}
.preloader--cinematic .preloader__logo span{
  width:82px;
  height:82px;
  border-radius:24px;
  font-size:1.72rem;
  box-shadow:0 26px 70px rgba(12,93,244,.25);
  animation:introLetter .86s var(--ease) both, lift 1.9s var(--ease) 1s infinite alternate;
}
.preloader--cinematic .preloader__logo span:nth-child(2){animation-delay:.14s,.98s;}
.preloader--cinematic .preloader__logo span:nth-child(3){animation-delay:.28s,1.06s;}
.preloader--cinematic .preloader__stage--logo p,
.preloader--cinematic .preloader__stage--logo small{
  margin:0;
  color:#5576aa;
  letter-spacing:.24em;
  text-align:center;
  opacity:0;
  animation:introFadeUp .74s var(--ease) .5s both;
}
.preloader--cinematic .preloader__stage--logo p{font-size:.95rem;margin-bottom:8px;font-weight:800;}
.preloader--cinematic .preloader__stage--logo small{font-size:.72rem;animation-delay:.68s;}
.intro-particles{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
}
.intro-particles i{
  position:absolute;
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(12,93,244,.42);
  box-shadow:0 0 22px rgba(24,166,255,.55);
  animation:introParticle 2.8s ease-in-out infinite;
}
.intro-particles i:nth-child(1){left:18%;top:24%;animation-delay:.05s;}
.intro-particles i:nth-child(2){left:73%;top:18%;animation-delay:.22s;}
.intro-particles i:nth-child(3){left:86%;top:54%;animation-delay:.42s;}
.intro-particles i:nth-child(4){left:34%;top:72%;animation-delay:.64s;}
.intro-particles i:nth-child(5){left:58%;top:82%;animation-delay:.86s;}
.intro-particles i:nth-child(6){left:12%;top:58%;animation-delay:1.08s;}
.intro-particles i:nth-child(7){left:48%;top:14%;animation-delay:1.28s;}
.intro-particles i:nth-child(8){left:68%;top:68%;animation-delay:1.48s;}
.intro-graphic{
  position:relative;
  width:min(620px,82vw);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  filter:drop-shadow(0 34px 70px rgba(12,93,244,.16));
}
.intro-ring{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(12,93,244,.18);
  background:radial-gradient(circle, rgba(255,255,255,.54), rgba(255,255,255,.08) 44%, transparent 62%);
}
.intro-ring--1{inset:4%;animation:introOrbit 9s linear infinite;}
.intro-ring--2{inset:18%;border-style:dashed;animation:introOrbitReverse 7.2s linear infinite;}
.intro-ring--3{inset:31%;border-color:rgba(255,143,120,.26);animation:introPulse 1.9s ease-in-out infinite;}
.intro-line{
  position:absolute;
  background:linear-gradient(90deg, transparent, rgba(12,93,244,.48), rgba(24,166,255,.58), transparent);
  opacity:.78;
}
.intro-line--x{width:92%;height:1px;animation:introLineX 2.3s var(--ease) infinite;}
.intro-line--y{height:92%;width:1px;background:linear-gradient(180deg, transparent, rgba(12,93,244,.44), rgba(255,143,120,.52), transparent);animation:introLineY 2.7s var(--ease) infinite;}
.intro-core{
  position:relative;
  z-index:3;
  width:210px;
  height:210px;
  border-radius:44px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:22px;
  background:linear-gradient(135deg, rgba(11,33,70,.96), rgba(12,93,244,.86));
  color:#fff;
  box-shadow:0 28px 90px rgba(12,93,244,.34);
  transform:rotate(-4deg);
  animation:introCoreIn .9s var(--ease) .92s both, introCoreFloat 2.4s ease-in-out 1.6s infinite;
}
.intro-core b{display:block;font-size:3rem;letter-spacing:.18em;line-height:1;font-weight:950;}
.intro-core small{display:block;margin-top:12px;font-size:.68rem;letter-spacing:.18em;opacity:.82;line-height:1.45;}
.intro-node{
  position:absolute;
  z-index:4;
  min-width:92px;
  padding:12px 15px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(220,231,246,.92);
  color:#0b2146;
  font-size:.76rem;
  letter-spacing:.15em;
  font-weight:950;
  text-align:center;
  box-shadow:0 18px 42px rgba(23,50,94,.11);
  opacity:0;
  animation:introNodeIn .74s var(--ease) 1.28s both;
}
.intro-node--1{left:7%;top:44%;}
.intro-node--2{right:8%;top:26%;animation-delay:1.4s;}
.intro-node--3{right:10%;bottom:24%;animation-delay:1.52s;}
.intro-node--4{left:14%;bottom:16%;animation-delay:1.64s;}
.intro-caption{
  margin:18px 0 0;
  text-align:center;
  color:#27456f;
  font-weight:900;
  letter-spacing:.2em;
  opacity:0;
  animation:introFadeUp .78s var(--ease) 1.5s both;
}
@keyframes introLetter{from{opacity:0;transform:translateY(26px) scale(.72) rotateX(38deg);}to{opacity:1;transform:translateY(0) scale(1) rotateX(0);}}
@keyframes introFadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
@keyframes introSpin{to{transform:rotate(360deg);}}
@keyframes introSweep{0%{transform:translateX(-120%) skewX(-18deg);}55%,100%{transform:translateX(120%) skewX(-18deg);}}
@keyframes introParticle{0%,100%{transform:translate3d(0,0,0) scale(.8);opacity:.22;}50%{transform:translate3d(0,-24px,0) scale(1.3);opacity:.9;}}
@keyframes introOrbit{to{transform:rotate(360deg);}}
@keyframes introOrbitReverse{to{transform:rotate(-360deg);}}
@keyframes introPulse{50%{transform:scale(1.08);opacity:.38;}}
@keyframes introLineX{0%,100%{transform:scaleX(.25);opacity:.28;}50%{transform:scaleX(1);opacity:.9;}}
@keyframes introLineY{0%,100%{transform:scaleY(.35);opacity:.22;}50%{transform:scaleY(1);opacity:.82;}}
@keyframes introCoreIn{from{opacity:0;transform:scale(.72) rotate(-12deg);}to{opacity:1;transform:scale(1) rotate(-4deg);}}
@keyframes introCoreFloat{50%{transform:translateY(-10px) rotate(2deg);}}
@keyframes introNodeIn{from{opacity:0;transform:translateY(18px) scale(.82);}to{opacity:1;transform:translateY(0) scale(1);}}
@media (max-width:720px){
  .preloader--cinematic .preloader__logo span{width:64px;height:64px;border-radius:18px;font-size:1.34rem;}
  .intro-graphic{width:min(460px,92vw);}
  .intro-core{width:158px;height:158px;border-radius:34px;}
  .intro-core b{font-size:2.2rem;}
  .intro-core small{font-size:.58rem;}
  .intro-node{min-width:74px;padding:10px 11px;font-size:.64rem;}
  .intro-caption{font-size:.78rem;letter-spacing:.12em;}
}
@media (prefers-reduced-motion: reduce){
  .preloader--cinematic *, .preloader--cinematic::before, .preloader--cinematic::after{animation:none !important;}
}


/* V32: more dramatic cinematic opening */
.preloader--cinematic{
  perspective:1200px;
}
.preloader--cinematic.is-burst{
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.98), rgba(232,244,255,.66) 24%, rgba(12,93,244,.22) 54%, rgba(11,33,70,.06) 100%),
    linear-gradient(135deg,#f7fbff 0%,#edf5ff 38%,#eaf2fb 100%);
}
.preloader--cinematic.is-exit{
  opacity:1;
}
.preloader--cinematic.is-exit .preloader__stage--motion{
  animation:introExitZoom .72s cubic-bezier(.16,1,.3,1) both;
}
.preloader--cinematic.is-exit .intro-burst{
  animation:introWhiteOut .72s cubic-bezier(.16,1,.3,1) both;
}
.intro-grid-veil{
  position:absolute;
  inset:-12%;
  z-index:1;
  opacity:.36;
  background:
    linear-gradient(rgba(12,93,244,.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(12,93,244,.09) 1px, transparent 1px),
    radial-gradient(circle at 50% 50%, rgba(24,166,255,.18), transparent 58%);
  background-size:44px 44px,44px 44px,100% 100%;
  mask-image:radial-gradient(circle at center, black 0%, black 44%, transparent 72%);
  animation:introGridDive 4s ease-in-out infinite alternate;
  transform:rotateX(58deg) translateY(8%);
}
.intro-burst{
  position:absolute;
  left:50%;
  top:50%;
  width:22vmin;
  height:22vmin;
  z-index:2;
  border-radius:50%;
  pointer-events:none;
  transform:translate(-50%,-50%) scale(.1);
  opacity:0;
  background:
    radial-gradient(circle, rgba(255,255,255,.98) 0%, rgba(24,166,255,.5) 20%, rgba(12,93,244,.18) 46%, transparent 68%);
  box-shadow:0 0 90px rgba(24,166,255,.34),0 0 180px rgba(12,93,244,.24);
}
.preloader--cinematic.is-burst .intro-burst{
  animation:introBurstFlash 1.12s cubic-bezier(.16,1,.3,1) both;
}
.intro-shards{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:4;
  overflow:hidden;
}
.intro-shards i{
  position:absolute;
  left:50%;
  top:50%;
  width:12px;
  height:34px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(24,166,255,.72), rgba(12,93,244,.28));
  box-shadow:0 0 24px rgba(24,166,255,.46);
  opacity:0;
  transform-origin:center;
}
.preloader--cinematic.is-burst .intro-shards i{
  animation:introShardBlast 1.1s cubic-bezier(.16,1,.3,1) both;
}
.intro-shards i:nth-child(1){--tx:-43vw;--ty:-31vh;--r:24deg;animation-delay:.02s;}
.intro-shards i:nth-child(2){--tx:-25vw;--ty:-42vh;--r:86deg;animation-delay:.05s;}
.intro-shards i:nth-child(3){--tx:6vw;--ty:-45vh;--r:130deg;animation-delay:.08s;}
.intro-shards i:nth-child(4){--tx:38vw;--ty:-34vh;--r:176deg;animation-delay:.11s;}
.intro-shards i:nth-child(5){--tx:46vw;--ty:-5vh;--r:220deg;animation-delay:.14s;}
.intro-shards i:nth-child(6){--tx:37vw;--ty:30vh;--r:268deg;animation-delay:.17s;}
.intro-shards i:nth-child(7){--tx:12vw;--ty:44vh;--r:302deg;animation-delay:.2s;}
.intro-shards i:nth-child(8){--tx:-20vw;--ty:42vh;--r:338deg;animation-delay:.23s;}
.intro-shards i:nth-child(9){--tx:-45vw;--ty:16vh;--r:20deg;animation-delay:.26s;}
.intro-shards i:nth-child(10){--tx:-34vw;--ty:-10vh;--r:64deg;animation-delay:.29s;}
.intro-shards i:nth-child(11){--tx:26vw;--ty:8vh;--r:118deg;animation-delay:.32s;}
.intro-shards i:nth-child(12){--tx:4vw;--ty:33vh;--r:172deg;animation-delay:.35s;}
.intro-shards i:nth-child(13){--tx:-9vw;--ty:-30vh;--r:224deg;animation-delay:.38s;}
.intro-shards i:nth-child(14){--tx:51vw;--ty:18vh;--r:286deg;animation-delay:.41s;}
.intro-particles i{
  width:8px;
  height:8px;
}
.intro-particles i:nth-child(9){left:22%;top:82%;animation-delay:1.68s;background:rgba(255,143,120,.52);}
.intro-particles i:nth-child(10){left:82%;top:82%;animation-delay:1.78s;background:rgba(24,166,255,.58);}
.intro-particles i:nth-child(11){left:44%;top:48%;animation-delay:1.88s;background:rgba(12,93,244,.5);}
.intro-particles i:nth-child(12){left:7%;top:32%;animation-delay:1.98s;background:rgba(255,255,255,.92);}
.intro-particles i:nth-child(13){left:92%;top:32%;animation-delay:2.08s;background:rgba(255,255,255,.92);}
.intro-particles i:nth-child(14){left:32%;top:10%;animation-delay:2.18s;background:rgba(255,143,120,.5);}
.intro-particles i:nth-child(15){left:76%;top:43%;animation-delay:2.28s;background:rgba(12,93,244,.44);}
.intro-particles i:nth-child(16){left:15%;top:70%;animation-delay:2.38s;background:rgba(24,166,255,.5);}
.intro-particles i:nth-child(17){left:52%;top:7%;animation-delay:2.48s;background:rgba(255,255,255,.94);}
.intro-particles i:nth-child(18){left:61%;top:57%;animation-delay:2.58s;background:rgba(255,143,120,.5);}
.intro-graphic{
  width:min(720px,86vw);
  transform-style:preserve-3d;
}
.preloader--cinematic.is-burst .intro-graphic{
  animation:introMegaTilt 1.1s cubic-bezier(.16,1,.3,1) both;
}
.intro-flare{
  position:absolute;
  inset:21%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.9), rgba(24,166,255,.22) 34%, transparent 68%);
  filter:blur(6px);
  opacity:.38;
  animation:introFlareBeat 1.4s ease-in-out infinite;
}
.intro-radar{
  position:absolute;
  inset:0;
  border-radius:50%;
  border:1px solid rgba(24,166,255,.18);
  transform:rotate(var(--r,0deg));
}
.intro-radar::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:50%;
  height:1px;
  transform-origin:left center;
  background:linear-gradient(90deg, rgba(24,166,255,.88), transparent);
}
.intro-radar--1{--r:24deg;animation:introRadarSpin 2.8s linear infinite;}
.intro-radar--2{inset:9%;--r:120deg;animation:introRadarSpin 3.6s linear reverse infinite;}
.intro-radar--3{inset:24%;--r:210deg;animation:introRadarSpin 2.1s linear infinite;}
.intro-vector{
  position:absolute;
  z-index:2;
  height:2px;
  width:46%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.96), rgba(24,166,255,.76), transparent);
  opacity:.0;
  filter:drop-shadow(0 0 14px rgba(24,166,255,.7));
  transform-origin:center;
}
.preloader.is-graphic .intro-vector{
  animation:introVectorFire 1.8s ease-in-out infinite;
}
.intro-vector--1{left:7%;top:22%;transform:rotate(18deg);animation-delay:.1s;}
.intro-vector--2{right:2%;top:34%;transform:rotate(-22deg);animation-delay:.28s;}
.intro-vector--3{left:11%;bottom:24%;transform:rotate(-15deg);animation-delay:.46s;}
.intro-vector--4{right:9%;bottom:17%;transform:rotate(18deg);animation-delay:.64s;}
.intro-vector--5{left:27%;top:48%;transform:rotate(0deg);animation-delay:.82s;}
.intro-vector--6{right:27%;top:52%;transform:rotate(90deg);animation-delay:1s;}
.intro-data-band{
  position:absolute;
  z-index:5;
  min-width:220px;
  padding:10px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(220,231,246,.88);
  backdrop-filter:blur(12px);
  color:#27456f;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.18em;
  text-align:center;
  box-shadow:0 18px 40px rgba(23,50,94,.1);
  opacity:0;
  animation:introDataBand 1.1s var(--ease) 1.18s both;
}
.intro-data-band--1{left:50%;top:4%;transform:translateX(-50%);}
.intro-data-band--2{left:1%;top:62%;animation-delay:1.35s;}
.intro-data-band--3{right:0%;bottom:6%;animation-delay:1.52s;}
.intro-core{
  overflow:hidden;
}
.intro-core::before{
  content:"";
  position:absolute;
  inset:-60%;
  background:conic-gradient(from 0deg, transparent, rgba(255,255,255,.5), transparent, rgba(24,166,255,.42), transparent);
  animation:introCoreSheen 1.8s linear infinite;
}
.intro-core b,.intro-core small{
  position:relative;
  z-index:2;
}
.preloader.is-burst .intro-core{
  animation:introCoreIn .9s var(--ease) .92s both, introCoreFinal .88s cubic-bezier(.16,1,.3,1) .08s both !important;
}
.intro-node--5{left:35%;top:3%;animation-delay:1.76s;}
.intro-node--6{right:30%;bottom:1%;animation-delay:1.88s;}
.preloader.is-burst .intro-node{
  animation:introNodeBurst .9s cubic-bezier(.16,1,.3,1) both;
}
.preloader.is-burst .intro-caption{
  animation:introCaptionFinal .9s cubic-bezier(.16,1,.3,1) both;
}
@keyframes introGridDive{
  from{transform:rotateX(58deg) translateY(12%) scale(1);background-position:0 0,0 0,0 0;}
  to{transform:rotateX(58deg) translateY(-2%) scale(1.08);background-position:0 -120px,-120px 0,0 0;}
}
@keyframes introBurstFlash{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.12);}
  18%{opacity:1;transform:translate(-50%,-50%) scale(1.1);}
  66%{opacity:.72;transform:translate(-50%,-50%) scale(5.8);}
  100%{opacity:0;transform:translate(-50%,-50%) scale(9);}
}
@keyframes introWhiteOut{
  0%{opacity:.4;transform:translate(-50%,-50%) scale(3);}
  100%{opacity:0;transform:translate(-50%,-50%) scale(12);}
}
@keyframes introShardBlast{
  0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--r)) scaleY(.1);}
  18%{opacity:.95;transform:translate(-50%,-50%) rotate(var(--r)) scaleY(1);}
  100%{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) rotate(calc(var(--r) + 140deg)) scaleY(.55);}
}
@keyframes introMegaTilt{
  0%{transform:rotateX(0) rotateY(0) scale(1);}
  36%{transform:rotateX(13deg) rotateY(-18deg) scale(1.07);}
  100%{transform:rotateX(0) rotateY(0) scale(1.03);}
}
@keyframes introExitZoom{
  from{opacity:1;transform:scale(1);}
  to{opacity:0;transform:scale(1.18);filter:blur(18px);}
}
@keyframes introFlareBeat{
  50%{opacity:.78;transform:scale(1.12);}
}
@keyframes introRadarSpin{
  to{transform:rotate(calc(var(--r,0deg) + 360deg));}
}
@keyframes introVectorFire{
  0%,100%{opacity:0;transform:translateX(-18px) scaleX(.2) rotate(var(--a,0deg));}
  45%{opacity:.9;transform:translateX(0) scaleX(1);}
  70%{opacity:.35;transform:translateX(18px) scaleX(.4);}
}
@keyframes introDataBand{
  from{opacity:0;filter:blur(8px);clip-path:inset(0 100% 0 0);}
  to{opacity:1;filter:blur(0);clip-path:inset(0 0 0 0);}
}
@keyframes introCoreSheen{
  to{transform:rotate(360deg);}
}
@keyframes introCoreFinal{
  0%{transform:scale(1) rotate(-4deg);}
  35%{transform:scale(1.22) rotate(2deg);box-shadow:0 0 0 14px rgba(24,166,255,.16),0 42px 120px rgba(12,93,244,.4);}
  100%{transform:scale(1.04) rotate(-1deg);}
}
@keyframes introNodeBurst{
  0%{opacity:1;transform:translateY(0) scale(1);}
  45%{opacity:1;transform:translateY(-8px) scale(1.12);}
  100%{opacity:.5;transform:translateY(0) scale(.92);}
}
@keyframes introCaptionFinal{
  0%{opacity:1;letter-spacing:.2em;}
  50%{opacity:1;letter-spacing:.32em;text-shadow:0 0 18px rgba(24,166,255,.45);}
  100%{opacity:.84;letter-spacing:.22em;}
}
@media (max-width:720px){
  .intro-data-band{min-width:150px;font-size:.5rem;padding:8px 10px;letter-spacing:.1em;}
  .intro-data-band--2{left:0;top:66%;}
  .intro-data-band--3{right:0;bottom:2%;}
  .intro-node--5{left:28%;top:0;}
  .intro-node--6{right:20%;bottom:-2%;}
  .intro-shards i{height:26px;}
}
@media (prefers-reduced-motion: reduce){
  .intro-grid-veil,.intro-burst,.intro-shards i,.intro-radar,.intro-vector,.intro-data-band,.intro-flare{animation:none !important;}
}


/* V33: chic cinematic opening — darker, sharper, premium motion */
.preloader--cinematic{
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.06), transparent 28%),
    radial-gradient(circle at 82% 24%, rgba(196,170,104,.12), transparent 28%),
    radial-gradient(circle at 50% 80%, rgba(24,166,255,.14), transparent 38%),
    linear-gradient(135deg,#061226 0%,#0a1930 42%,#111827 100%) !important;
  color:#fff;
}
.preloader--cinematic::before{
  opacity:.42 !important;
  background:
    conic-gradient(from 180deg, transparent, rgba(196,170,104,.16), transparent, rgba(255,255,255,.12), transparent) !important;
  animation:introSpin 12s linear infinite !important;
}
.preloader--cinematic::after{
  background:linear-gradient(104deg, transparent 0%, rgba(196,170,104,.08) 36%, rgba(255,255,255,.74) 48%, rgba(196,170,104,.1) 54%, transparent 64%) !important;
  animation:introSweep 2.8s cubic-bezier(.16,1,.3,1) .72s both !important;
}
.preloader--cinematic .preloader__mesh{
  opacity:.36;
  background:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) !important;
  background-size:42px 42px !important;
}
.preloader--cinematic .preloader__logo span{
  background:linear-gradient(135deg,#071326,#122544) !important;
  color:#f7f3e8 !important;
  border:1px solid rgba(196,170,104,.34);
  box-shadow:0 24px 90px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,255,255,.08) !important;
}
.preloader--cinematic .preloader__stage--logo p,
.preloader--cinematic .preloader__stage--logo small{
  color:rgba(243,238,223,.72) !important;
}
.preloader.is-graphic .preloader__stage--logo{
  opacity:.09 !important;
}
.intro-grid-veil{
  opacity:.28 !important;
  background:
    linear-gradient(rgba(196,170,104,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
    radial-gradient(circle at 50% 50%, rgba(196,170,104,.09), transparent 58%) !important;
  background-size:56px 56px,56px 56px,100% 100% !important;
  animation:introGridDive 5.2s ease-in-out infinite alternate !important;
}
.intro-particles i{
  width:4px !important;
  height:4px !important;
  background:rgba(214,192,128,.78) !important;
  box-shadow:0 0 20px rgba(214,192,128,.44) !important;
  opacity:.6;
  animation:introParticle 3.4s ease-in-out infinite !important;
}
.intro-burst{
  background:
    radial-gradient(circle, rgba(255,255,255,.8) 0%, rgba(214,192,128,.34) 18%, rgba(24,166,255,.09) 42%, transparent 68%) !important;
  box-shadow:0 0 90px rgba(214,192,128,.22),0 0 180px rgba(24,166,255,.14) !important;
}
.preloader--cinematic.is-burst .intro-burst{
  animation:introChicBurst 1.12s cubic-bezier(.16,1,.3,1) both !important;
}
.intro-shards i{
  width:2px !important;
  height:78px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg, transparent, rgba(245,236,205,.92), rgba(214,192,128,.38), transparent) !important;
  box-shadow:0 0 26px rgba(214,192,128,.32) !important;
}
.preloader--cinematic.is-burst .intro-shards i{
  animation:introChicShard 1.18s cubic-bezier(.16,1,.3,1) both !important;
}
.intro-graphic{
  filter:drop-shadow(0 44px 90px rgba(0,0,0,.34)) !important;
}
.preloader--cinematic.is-burst .intro-graphic{
  animation:introChicCamera 1.25s cubic-bezier(.16,1,.3,1) both !important;
}
.intro-ring{
  border-color:rgba(214,192,128,.18) !important;
  background:radial-gradient(circle, rgba(255,255,255,.08), rgba(255,255,255,.018) 44%, transparent 64%) !important;
}
.intro-ring--1{
  border-color:rgba(214,192,128,.22) !important;
  animation:introOrbit 12s linear infinite !important;
}
.intro-ring--2{
  border-color:rgba(255,255,255,.18) !important;
  animation:introOrbitReverse 9s linear infinite !important;
}
.intro-ring--3{
  border-color:rgba(214,192,128,.3) !important;
  animation:introPremiumPulse 2.2s ease-in-out infinite !important;
}
.intro-radar{
  border-color:rgba(214,192,128,.12) !important;
}
.intro-radar::before{
  background:linear-gradient(90deg, rgba(214,192,128,.72), transparent) !important;
}
.intro-vector{
  height:1px !important;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.88), rgba(214,192,128,.78), transparent) !important;
  filter:drop-shadow(0 0 12px rgba(214,192,128,.36)) !important;
}
.preloader.is-graphic .intro-vector{
  animation:introVectorFire 2.1s ease-in-out infinite !important;
}
.intro-line--x{
  height:1px !important;
  background:linear-gradient(90deg, transparent, rgba(214,192,128,.76), rgba(255,255,255,.82), transparent) !important;
}
.intro-line--y{
  width:1px !important;
  background:linear-gradient(180deg, transparent, rgba(214,192,128,.55), rgba(255,255,255,.68), transparent) !important;
}
.intro-flare{
  background:radial-gradient(circle, rgba(255,255,255,.42), rgba(214,192,128,.16) 34%, transparent 68%) !important;
  opacity:.26 !important;
}
.intro-core{
  background:
    linear-gradient(135deg, rgba(5,13,28,.98), rgba(14,31,57,.96) 46%, rgba(8,16,31,.98)) !important;
  border:1px solid rgba(214,192,128,.34);
  box-shadow:0 40px 110px rgba(0,0,0,.42), inset 0 0 0 1px rgba(255,255,255,.08) !important;
  transform:rotate(-2deg) !important;
}
.intro-core::before{
  background:conic-gradient(from 0deg, transparent, rgba(214,192,128,.34), transparent, rgba(255,255,255,.22), transparent) !important;
  opacity:.9;
}
.intro-core b{
  color:#f9f5e8 !important;
  text-shadow:0 0 28px rgba(214,192,128,.22);
}
.intro-core small{
  color:rgba(245,236,205,.72) !important;
}
.preloader.is-burst .intro-core{
  animation:introCoreIn .9s var(--ease) .92s both, introChicCoreFinal .92s cubic-bezier(.16,1,.3,1) .08s both !important;
}
.intro-node{
  background:rgba(7,19,38,.76) !important;
  color:#f9f5e8 !important;
  border:1px solid rgba(214,192,128,.34) !important;
  box-shadow:0 20px 54px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.06) !important;
  backdrop-filter:blur(14px);
}
.intro-data-band{
  background:rgba(5,13,28,.66) !important;
  border:1px solid rgba(214,192,128,.26) !important;
  color:rgba(245,236,205,.82) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.05) !important;
}
.intro-caption{
  color:rgba(245,236,205,.86) !important;
  text-shadow:0 0 24px rgba(214,192,128,.12);
}
.preloader.is-burst .intro-caption{
  animation:introChicCaptionFinal .92s cubic-bezier(.16,1,.3,1) both !important;
}
.preloader--cinematic.is-exit .intro-burst{
  animation:introChicWhiteOut .75s cubic-bezier(.16,1,.3,1) both !important;
}
.preloader--cinematic.is-exit .preloader__stage--motion{
  animation:introChicExitZoom .75s cubic-bezier(.16,1,.3,1) both !important;
}
@keyframes introChicBurst{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.08);}
  20%{opacity:.86;transform:translate(-50%,-50%) scale(1);}
  72%{opacity:.34;transform:translate(-50%,-50%) scale(4.6);}
  100%{opacity:0;transform:translate(-50%,-50%) scale(7.4);}
}
@keyframes introChicShard{
  0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--r)) scaleY(.04);}
  16%{opacity:.88;transform:translate(-50%,-50%) rotate(var(--r)) scaleY(1);}
  100%{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) rotate(calc(var(--r) + 24deg)) scaleY(.2);}
}
@keyframes introChicCamera{
  0%{transform:rotateX(0) rotateY(0) scale(1);}
  36%{transform:rotateX(9deg) rotateY(-12deg) scale(1.06);}
  100%{transform:rotateX(0) rotateY(0) scale(1.02);}
}
@keyframes introPremiumPulse{
  50%{transform:scale(1.05);opacity:.55;}
}
@keyframes introChicCoreFinal{
  0%{transform:scale(1) rotate(-2deg);}
  42%{transform:scale(1.18) rotate(.8deg);box-shadow:0 0 0 12px rgba(214,192,128,.09),0 44px 128px rgba(0,0,0,.48);}
  100%{transform:scale(1.03) rotate(-.6deg);}
}
@keyframes introChicCaptionFinal{
  0%{opacity:1;letter-spacing:.2em;}
  50%{opacity:1;letter-spacing:.3em;text-shadow:0 0 18px rgba(214,192,128,.28);}
  100%{opacity:.9;letter-spacing:.22em;}
}
@keyframes introChicWhiteOut{
  0%{opacity:.22;transform:translate(-50%,-50%) scale(2.6);}
  100%{opacity:0;transform:translate(-50%,-50%) scale(10);}
}
@keyframes introChicExitZoom{
  from{opacity:1;transform:scale(1);}
  to{opacity:0;transform:scale(1.12);filter:blur(14px);}
}
@media (max-width:720px){
  .intro-core{
    border-radius:32px !important;
  }
  .intro-shards i{
    height:54px !important;
  }
  .preloader--cinematic{
    background:
      radial-gradient(circle at 50% 15%, rgba(214,192,128,.12), transparent 30%),
      linear-gradient(135deg,#061226 0%,#0a1930 48%,#111827 100%) !important;
  }
}


/* V34: refined opening — keep original TMT light blue tone, add strong but premium motion */
.preloader--cinematic{
  background:
    radial-gradient(circle at 18% 18%, rgba(24,166,255,.22), transparent 30%),
    radial-gradient(circle at 82% 22%, rgba(255,143,120,.13), transparent 25%),
    radial-gradient(circle at 50% 82%, rgba(12,93,244,.20), transparent 38%),
    linear-gradient(135deg,#f7fbff 0%,#edf5ff 42%,#eaf2fb 100%) !important;
  color:#0b2146 !important;
}
.preloader--cinematic::before{
  opacity:.52 !important;
  background:
    conic-gradient(from 90deg, transparent, rgba(12,93,244,.14), transparent, rgba(24,166,255,.13), transparent) !important;
  animation:introSpin 10s linear infinite !important;
}
.preloader--cinematic::after{
  background:linear-gradient(104deg, transparent 0%, rgba(255,255,255,.18) 35%, rgba(255,255,255,.92) 48%, rgba(24,166,255,.12) 54%, transparent 64%) !important;
  animation:introSweep 2.6s cubic-bezier(.16,1,.3,1) .72s both !important;
}
.preloader--cinematic .preloader__mesh{
  opacity:.9 !important;
  background:
    linear-gradient(rgba(12,93,244,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(12,93,244,.055) 1px, transparent 1px) !important;
  background-size:42px 42px !important;
}
.preloader--cinematic .preloader__logo span{
  background:linear-gradient(135deg,var(--primary),var(--primary-2)) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.52) !important;
  box-shadow:0 26px 70px rgba(12,93,244,.25) !important;
}
.preloader--cinematic .preloader__stage--logo p,
.preloader--cinematic .preloader__stage--logo small{
  color:#5576aa !important;
}
.preloader.is-graphic .preloader__stage--logo{
  opacity:.12 !important;
}
.intro-grid-veil{
  opacity:.34 !important;
  background:
    linear-gradient(rgba(12,93,244,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(24,166,255,.055) 1px, transparent 1px),
    radial-gradient(circle at 50% 50%, rgba(24,166,255,.13), transparent 58%) !important;
  background-size:52px 52px,52px 52px,100% 100% !important;
  animation:introGridDive 5s ease-in-out infinite alternate !important;
}
.intro-burst{
  background:
    radial-gradient(circle, rgba(255,255,255,.98) 0%, rgba(24,166,255,.42) 20%, rgba(12,93,244,.14) 46%, transparent 68%) !important;
  box-shadow:0 0 90px rgba(24,166,255,.28),0 0 180px rgba(12,93,244,.18) !important;
}
.preloader--cinematic.is-burst .intro-burst{
  animation:introRefinedBurst 1.08s cubic-bezier(.16,1,.3,1) both !important;
}
.intro-particles i{
  width:6px !important;
  height:6px !important;
  background:rgba(12,93,244,.38) !important;
  box-shadow:0 0 22px rgba(24,166,255,.46) !important;
  animation:introParticle 3.2s ease-in-out infinite !important;
}
.intro-shards i{
  width:3px !important;
  height:62px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.96), rgba(24,166,255,.56), transparent) !important;
  box-shadow:0 0 24px rgba(24,166,255,.34) !important;
}
.preloader--cinematic.is-burst .intro-shards i{
  animation:introRefinedShard 1.08s cubic-bezier(.16,1,.3,1) both !important;
}
.intro-graphic{
  filter:drop-shadow(0 34px 70px rgba(12,93,244,.16)) !important;
}
.preloader--cinematic.is-burst .intro-graphic{
  animation:introRefinedCamera 1.18s cubic-bezier(.16,1,.3,1) both !important;
}
.intro-ring{
  border-color:rgba(12,93,244,.18) !important;
  background:radial-gradient(circle, rgba(255,255,255,.54), rgba(255,255,255,.08) 44%, transparent 62%) !important;
}
.intro-ring--1{
  border-color:rgba(12,93,244,.22) !important;
  animation:introOrbit 10.5s linear infinite !important;
}
.intro-ring--2{
  border-color:rgba(24,166,255,.22) !important;
  animation:introOrbitReverse 8.4s linear infinite !important;
}
.intro-ring--3{
  border-color:rgba(255,143,120,.26) !important;
  animation:introPremiumPulse 2.2s ease-in-out infinite !important;
}
.intro-radar{
  border-color:rgba(24,166,255,.16) !important;
}
.intro-radar::before{
  background:linear-gradient(90deg, rgba(24,166,255,.68), transparent) !important;
}
.intro-vector{
  height:1.5px !important;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.95), rgba(24,166,255,.72), transparent) !important;
  filter:drop-shadow(0 0 13px rgba(24,166,255,.48)) !important;
}
.preloader.is-graphic .intro-vector{
  animation:introVectorFire 2s ease-in-out infinite !important;
}
.intro-line--x{
  height:1px !important;
  background:linear-gradient(90deg, transparent, rgba(12,93,244,.45), rgba(24,166,255,.58), transparent) !important;
}
.intro-line--y{
  width:1px !important;
  background:linear-gradient(180deg, transparent, rgba(12,93,244,.38), rgba(255,143,120,.48), transparent) !important;
}
.intro-flare{
  background:radial-gradient(circle, rgba(255,255,255,.82), rgba(24,166,255,.20) 34%, transparent 68%) !important;
  opacity:.35 !important;
}
.intro-core{
  background:linear-gradient(135deg, rgba(11,33,70,.96), rgba(12,93,244,.86)) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.52) !important;
  box-shadow:0 28px 90px rgba(12,93,244,.34) !important;
  transform:rotate(-3deg) !important;
}
.intro-core::before{
  background:conic-gradient(from 0deg, transparent, rgba(255,255,255,.46), transparent, rgba(24,166,255,.38), transparent) !important;
  opacity:.92 !important;
}
.intro-core b{
  color:#fff !important;
  text-shadow:0 0 28px rgba(24,166,255,.34) !important;
}
.intro-core small{
  color:rgba(255,255,255,.82) !important;
}
.preloader.is-burst .intro-core{
  animation:introCoreIn .9s var(--ease) .92s both, introRefinedCoreFinal .88s cubic-bezier(.16,1,.3,1) .08s both !important;
}
.intro-node{
  background:rgba(255,255,255,.86) !important;
  color:#0b2146 !important;
  border:1px solid rgba(220,231,246,.92) !important;
  box-shadow:0 18px 42px rgba(23,50,94,.11) !important;
  backdrop-filter:blur(14px) !important;
}
.intro-data-band{
  background:rgba(255,255,255,.74) !important;
  border:1px solid rgba(220,231,246,.88) !important;
  color:#27456f !important;
  box-shadow:0 18px 40px rgba(23,50,94,.10) !important;
}
.intro-caption{
  color:#27456f !important;
  text-shadow:0 0 24px rgba(24,166,255,.12) !important;
}
.preloader.is-burst .intro-caption{
  animation:introRefinedCaptionFinal .9s cubic-bezier(.16,1,.3,1) both !important;
}
.preloader--cinematic.is-exit .intro-burst{
  animation:introRefinedWhiteOut .75s cubic-bezier(.16,1,.3,1) both !important;
}
.preloader--cinematic.is-exit .preloader__stage--motion{
  animation:introRefinedExitZoom .75s cubic-bezier(.16,1,.3,1) both !important;
}
@keyframes introRefinedBurst{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.08);}
  20%{opacity:1;transform:translate(-50%,-50%) scale(1.08);}
  72%{opacity:.48;transform:translate(-50%,-50%) scale(5.1);}
  100%{opacity:0;transform:translate(-50%,-50%) scale(8);}
}
@keyframes introRefinedShard{
  0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--r)) scaleY(.04);}
  16%{opacity:.94;transform:translate(-50%,-50%) rotate(var(--r)) scaleY(1);}
  100%{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) rotate(calc(var(--r) + 64deg)) scaleY(.32);}
}
@keyframes introRefinedCamera{
  0%{transform:rotateX(0) rotateY(0) scale(1);}
  36%{transform:rotateX(11deg) rotateY(-14deg) scale(1.06);}
  100%{transform:rotateX(0) rotateY(0) scale(1.025);}
}
@keyframes introRefinedCoreFinal{
  0%{transform:scale(1) rotate(-3deg);}
  42%{transform:scale(1.2) rotate(1.2deg);box-shadow:0 0 0 13px rgba(24,166,255,.12),0 42px 118px rgba(12,93,244,.36);}
  100%{transform:scale(1.04) rotate(-.8deg);}
}
@keyframes introRefinedCaptionFinal{
  0%{opacity:1;letter-spacing:.2em;}
  50%{opacity:1;letter-spacing:.3em;text-shadow:0 0 18px rgba(24,166,255,.34);}
  100%{opacity:.9;letter-spacing:.22em;}
}
@keyframes introRefinedWhiteOut{
  0%{opacity:.34;transform:translate(-50%,-50%) scale(2.8);}
  100%{opacity:0;transform:translate(-50%,-50%) scale(10);}
}
@keyframes introRefinedExitZoom{
  from{opacity:1;transform:scale(1);}
  to{opacity:0;transform:scale(1.13);filter:blur(14px);}
}
@media (max-width:720px){
  .preloader--cinematic{
    background:
      radial-gradient(circle at 18% 18%, rgba(24,166,255,.20), transparent 30%),
      radial-gradient(circle at 50% 82%, rgba(12,93,244,.18), transparent 38%),
      linear-gradient(135deg,#f7fbff 0%,#edf5ff 42%,#eaf2fb 100%) !important;
  }
  .intro-shards i{height:48px !important;}
}

/* V36: public cleanup + safer title sizing
   - Hide any accidental public link to the editor page.
   - Make long edited hero titles wrap safely and stay smaller on mobile. */
body:not(.tmt-editor) a[href*="editor.html"],
body:not(.tmt-editor) [data-edit-key="footer.600"]{
  display:none !important;
}

.kinetic-title{
  font-size:clamp(2.55rem,5vw,5.55rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.045em !important;
  max-width:min(100%, 980px);
}
.kinetic-title span{
  max-width:100% !important;
  white-space:normal !important;
  word-break:keep-all;
  overflow-wrap:anywhere;
}
@media (max-width:980px){
  .kinetic-title{
    font-size:clamp(2rem,8.6vw,3.25rem) !important;
    line-height:1.1 !important;
    letter-spacing:-.035em !important;
  }
  .hero__content{
    max-width:100% !important;
  }
}
@media (max-width:720px){
  .kinetic-title{
    font-size:clamp(1.65rem,7.7vw,2.35rem) !important;
    line-height:1.14 !important;
    letter-spacing:-.025em !important;
  }
}
@media (max-width:420px){
  .kinetic-title{
    font-size:clamp(1.5rem,7.25vw,2rem) !important;
  }
}

