:root{
  --blue-700:#1f8fc4;
  --blue-600:#2fa3d9;
  --blue-500:#47b1e6;
  --blue-400:#6fc4ec;
  --blue-300:#a3dcf3;
  --blue-grad-a:#3fb3e7;
  --blue-grad-b:#46c0e5;
  --navy-900:#0e2a3d;
  --navy-800:#143a52;
  --deep-navy:#08243a;
  --calm-blue:#1e9bd7;
  --ink:#2b3338;
  --gray-600:#71797e;
  --gray-300:#e3e8ea;
  --bg-soft:#f5f7f8;
  --bg-blue-soft:#f0f9ff;
  --white:#ffffff;
  --yellow:#ffde00;
  --maxw:1180px;
  --side-w:clamp(252px, 18vw, 300px);
  --content-gutter:54px;
  --font-base:"Helvetica Neue", "Noto Sans JP", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-base);
  font-weight:400;
  color:var(--ink);
  background:var(--white);
  line-height:1.9;
  letter-spacing:0.03em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6{letter-spacing:0.02em;line-height:1.45;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--maxw);margin:0;padding:0 32px 0 calc(var(--side-w) + 32px);}
@media (max-width:880px){ .wrap{padding-left:32px;} }
section{position:relative;}

/* ===== NAV (fixed left sidebar: brand / navigation / trust) ===== */
.logo{display:flex;align-items:center;}
.logo img{height:44px;width:auto;display:block;filter:brightness(0) invert(1);}


/* -- Brand -- */

/* -- Section label -- */

/* -- Menu -- */
.nav-dot{width:5px;height:5px;border-radius:50%;background:var(--blue-400);transition:background .2s, transform .2s;}
.nav-icon{display:flex;flex:none;color:currentColor;}
.nav-icon svg{width:16px;height:16px;}
.nav-label{font-size:15px;font-weight:500;letter-spacing:0.015em;line-height:1.3;white-space:nowrap;}

/* -- Trust cards -- */

/* ===== HERO (TOP page) ===== */
.hero{
  position:relative;height:100vh;min-height:760px;overflow:hidden;
  background:linear-gradient(90deg, #f5fbff 0%, #ffffff 34%, #f7fbff 100%);
}

/* ===== SCROLL-LINKED INTRO SCENE (TOP page: hero -> outline) ===== */
.outline-copy{position:relative;z-index:3;}
.outline-visual{
  position:sticky;top:9vh;z-index:1;width:100%;height:82vh;pointer-events:none;
  opacity:.58;transform:none;will-change:transform, opacity;
  display:flex;align-items:flex-start;justify-content:flex-end;align-self:start;
}
.outline-visual img{
  display:block;width:auto;max-width:min(52vw, 860px);max-height:92vh;object-fit:contain;
  mix-blend-mode:multiply;
  filter:drop-shadow(0 24px 60px rgba(33,78,120,0.05));
  -webkit-mask-image:
    linear-gradient(to right, rgba(0,0,0,0) 0%, rgba(0,0,0,.52) 15%, rgba(0,0,0,1) 31%, rgba(0,0,0,1) 88%, rgba(0,0,0,0) 100%),
    linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 8%, rgba(0,0,0,1) 90%, rgba(0,0,0,0) 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(to right, rgba(0,0,0,0) 0%, rgba(0,0,0,.52) 15%, rgba(0,0,0,1) 31%, rgba(0,0,0,1) 88%, rgba(0,0,0,0) 100%),
    linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 8%, rgba(0,0,0,1) 90%, rgba(0,0,0,0) 100%);
  mask-composite: intersect;
}
.outline-visual::before{
  content:"";position:absolute;inset:-4% -4% -4% -34%;z-index:2;pointer-events:none;
  background:
    linear-gradient(to right, rgba(255,255,255,1) 0%, rgba(255,255,255,.94) 22%, rgba(255,255,255,.36) 46%, rgba(255,255,255,0) 68%),
    linear-gradient(to bottom, rgba(255,255,255,.8) 0%, rgba(255,255,255,0) 16%, rgba(255,255,255,0) 76%, rgba(255,255,255,.9) 98%);
}
@media (max-width:1100px){
    .outline-visual{position:absolute;right:-18%;top:8vh;width:62vw;height:78vh;opacity:.34;}
  .outline-visual img{max-width:100%;max-height:100%;}
}
@media (max-width:880px){
        .outline-visual{display:none;}
  }
@media (prefers-reduced-motion: reduce){
    .outline-visual{transition:none;opacity:.72;transform:none;}
}
@keyframes heroBgFadeIn{to{opacity:1;}}
@keyframes heroBgScaleIn{from{opacity:0;transform:scale(1.03);}to{opacity:1;transform:scale(1);}}

@keyframes fadeUp24{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeUp18{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeUp12{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}

/* ===== HERO CONTENT POSITIONING (restored) ===== */
.hero-inner{position:relative;z-index:9;height:100%;padding-bottom:0;}
.hero-copy{
  position:absolute;left:calc(var(--side-w) + 35px);top:auto;bottom:5vh;transform:none;z-index:5;
  width:560px;max-width:560px;margin-left:0;padding-top:0;background:transparent;
}
@media (max-width:880px){
  .hero-copy{position:relative;left:auto;top:auto;bottom:auto;transform:none;margin-left:32px;width:auto;max-width:calc(100% - 64px);padding-top:220px;}
  .hero-inner{height:auto;padding-top:0;}
}
.eyebrow{
  display:inline-flex;gap:10px;align-items:center;
  font-size:14px;font-weight:600;letter-spacing:0.1em;color:var(--blue-600);
  margin-bottom:16px;text-transform:uppercase;
}
.eyebrow::before{content:"";width:30px;height:2px;background:var(--blue-500);}
h1.hero-title{
  font-size:clamp(46px, 3.8vw, 66px);font-weight:700;line-height:1.2;letter-spacing:0.02em;
  color:#102B3A;max-width:600px;
  margin-bottom:24px;
}
h1.hero-title span{display:block;white-space:nowrap;}
@media (max-width:880px){ h1.hero-title{font-size:38px;line-height:1.35;} h1.hero-title span{white-space:normal;} }
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:16px 32px;border-radius:999px;font-weight:600;font-size:14.5px;
  transition:transform .2s, box-shadow .2s, background .2s;
}
.btn-primary{background:var(--blue-500);color:var(--white);box-shadow:0 10px 24px rgba(71,177,230,0.35);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(71,177,230,0.45);background:var(--blue-600);}
@keyframes scroll-dot{0%{opacity:0;transform:translate(-50%,-8px);}50%{opacity:1;}100%{opacity:0;transform:translate(-50%,10px);}}


.hero-visual{position:relative;display:flex;align-items:center;justify-content:center;}

/* dashboard-style hero visual: abstract data trend + mobility network map */
@keyframes dash-pulse{0%{transform:scale(0.5);opacity:0.9;}100%{transform:scale(2.2);opacity:0;}}
@keyframes chip-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
/* ===== SUBHERO (all other pages) ===== */
.subhero{
  background:
    radial-gradient(circle at 88% 10%, rgba(71,177,230,0.14), transparent 50%),
    var(--bg-soft);
  padding:170px 0 64px;
}
.subhero > .wrap{padding-left:calc(var(--side-w) + 30px);}
@media (max-width:880px){ .subhero{padding:250px 0 48px;} .subhero > .wrap{padding-left:32px;} }
.subhero .eyebrow{margin-bottom:20px;}
.subhero h1{
  font-size:clamp(36px, 5.2vw, 68px);font-weight:700;color:var(--navy-900);
  line-height:1.3;letter-spacing:0.02em;margin-bottom:22px;max-width:800px;
}
.subhero p{font-size:15px;font-weight:400;letter-spacing:0.03em;color:var(--gray-600);max-width:640px;line-height:1.9;}

.subhero-inner{display:grid;grid-template-columns:1.5fr 0.5fr;gap:32px;align-items:center;}
@media (max-width:880px){ .subhero-inner{grid-template-columns:1fr;} }
.subhero-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:260px;}
@media (max-width:880px){ .subhero-visual{margin-top:32px;min-height:200px;} }
.glyph-card{
  position:relative;width:230px;max-width:100%;aspect-ratio:1/1;border-radius:28px;
  background:linear-gradient(165deg,#ffffff,#eef7fc 78%);
  border:1px solid var(--gray-300);
  box-shadow:0 30px 60px -16px rgba(14,42,61,0.2), inset 0 0 0 1px rgba(255,255,255,0.7);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
}
.glyph-card .glyph-icon{
  width:80px;height:80px;border-radius:22px;flex:none;
  background:linear-gradient(150deg,var(--blue-grad-b),var(--blue-grad-a) 60%, var(--blue-700));
  display:flex;align-items:center;justify-content:center;color:var(--white);
  box-shadow:0 16px 32px rgba(71,177,230,0.35);
}
.glyph-card .glyph-icon svg{width:38px;height:38px;}
.glyph-card .glyph-label{font-size:12.5px;font-weight:600;color:var(--navy-800);text-align:center;letter-spacing:0.3px;}
.glyph-ring{
  position:absolute;inset:-18px;border-radius:36px;border:1.5px solid var(--blue-300);opacity:0.55;
  pointer-events:none;
}
.glyph-chip{
  position:absolute;display:flex;align-items:center;gap:8px;
  background:var(--white);border:1px solid var(--gray-300);border-radius:999px;
  padding:9px 15px;font-size:11px;font-weight:600;color:var(--navy-800);
  box-shadow:0 12px 24px rgba(14,42,61,0.1);
  animation:chip-float 5s ease-in-out infinite;
}
.glyph-chip svg{width:14px;height:14px;color:var(--blue-500);}
.glyph-chip.a{left:-14%;top:2%;animation-delay:0.2s;}
.glyph-chip.b{right:-12%;bottom:6%;animation-delay:1.5s;}
@media (max-width:960px){ .glyph-chip{display:none;} }

.company-tabs a{
  font-size:13px;font-weight:600;padding:10px 20px;border-radius:999px;
  border:1.5px solid var(--gray-300);color:var(--navy-800);
}
.company-tabs a:hover{border-color:var(--blue-400);background:var(--bg-blue-soft);}
.company-tabs a.active{background:var(--navy-900);border-color:var(--navy-900);color:var(--white);}

/* ===== ICONS (inline SVG, replaces emoji) ===== */
.icon{display:block;}
.sol-icon svg{width:22px;height:22px;color:var(--white);}
.achieve-thumb .icon svg{width:32px;height:32px;color:var(--white);}


/* Top page content must not sit under the fixed left menu. */
.top-page .stats,
.top-page .section-pad,
.top-page .cta-section{
  margin-left:var(--side-w);
  width:calc(100% - var(--side-w));
}
.top-page .stats .wrap,
.top-page .section-pad > .wrap,
.top-page .cta-section > .wrap{
  max-width:none;
  padding-left:var(--content-gutter);
  padding-right:54px;
}
.top-page .stats{z-index:6;}
@media (max-width:900px){
    .top-page .stats,
  .top-page .section-pad,
  .top-page .cta-section{margin-left:0;width:100%;}
  .top-page .stats .wrap,
  .top-page .section-pad > .wrap,
  .top-page .cta-section > .wrap{
    padding-left:32px;
    padding-right:32px;
  }
}

/* ===== STATS BAR ===== */
.stats{
  background:var(--bg-blue-soft);border-top:1px solid var(--gray-300);border-bottom:1px solid var(--gray-300);
  padding:40px 0;
}
.stats .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center;}
@media (max-width:760px){ .stats .wrap{grid-template-columns:1fr;} }

/* ===== SECTION HEADINGS ===== */
.section-pad{padding:120px 0;}
@media (max-width:760px){ .section-pad{padding:72px 0;} }
.sec-head{max-width:640px;margin:0 0 56px;text-align:left;}
.sec-head.left{margin:0 0 48px;text-align:left;}
.sec-head.center{max-width:640px;margin:0 auto 64px;text-align:center;}
.sec-foot{text-align:left;}
.sec-tag{
  font-size:14px;font-weight:600;color:var(--blue-600);letter-spacing:0.1em;
  text-transform:uppercase;margin-bottom:16px;
}
.sec-title{font-size:42px;font-weight:700;color:var(--navy-900);line-height:1.45;letter-spacing:0.02em;}
.sec-desc{margin-top:20px;color:var(--gray-600);font-size:14.5px;font-weight:400;letter-spacing:0.03em;line-height:2;}
@media (max-width:760px){ .sec-title{font-size:30px;} }
.bg-soft{background:var(--bg-soft);}
.more-link{
  display:inline-flex;align-items:center;gap:8px;margin-top:40px;
  font-size:13.5px;font-weight:600;color:var(--blue-600);
}
.more-link:hover{color:var(--blue-700);}

/* ===== STRENGTHS (3 cards) ===== */
/* ===== SERVICES (LINEUP style) ===== */
/* ===== LINEUP sticky scroll carousel (HELLO MOBILITY-style) ===== */
/* ===== SOLUTION (issue/solution panels + PREV/NEXT stepper) ===== */
.sol-stepper-count{font-weight:700;font-size:22px;color:var(--navy-900);}
.sol-stepper-count .tot{color:var(--gray-300);font-weight:600;font-size:16px;}
.sol-dots{display:flex;gap:8px;justify-content:center;margin-top:28px;}
.sol-dots span{width:8px;height:8px;border-radius:50%;background:var(--gray-300);cursor:pointer;transition:background .2s,transform .2s;display:block;}
.sol-dots span.active{background:linear-gradient(90deg,var(--blue-grad-b),var(--blue-grad-a));transform:scale(1.3);}
.sol-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
@media (max-width:860px){ .sol-grid{grid-template-columns:1fr;} }
.sol-card{
  background:var(--white);border-radius:20px;border:1px solid var(--gray-300);
  overflow:hidden;
}
.sol-head{
  display:flex;align-items:center;gap:14px;padding:26px 28px;
  background:var(--bg-soft);border-bottom:1px solid var(--gray-300);
}
.sol-icon{
  width:48px;height:48px;border-radius:50%;flex:none;
  background:linear-gradient(150deg,var(--blue-grad-b),var(--blue-grad-a));
  display:flex;align-items:center;justify-content:center;color:var(--white);font-size:18px;
}
.sol-head h4{font-size:16.5px;font-weight:600;color:var(--navy-900);}
.sol-head .sol-sub{font-size:11.5px;color:var(--blue-600);font-weight:600;letter-spacing:0.5px;}
.sol-body{padding:24px 28px 28px;}
.sol-row{display:flex;gap:12px;margin-bottom:14px;}
.sol-row:last-child{margin-bottom:0;}
.sol-pill{
  flex:none;font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;
  height:fit-content;margin-top:1px;
}
.pill-issue{background:#fdeeee;color:#c0392b;}
.pill-solution{background:var(--bg-blue-soft);color:var(--blue-600);}
.sol-row p{font-size:13px;color:var(--gray-600);}

/* ===== PRODUCTS ===== */
/* ===== CONNECTIONS / NETWORK ===== */
/* ===== ACHIEVEMENTS GALLERY ===== */
.achieve-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
@media (max-width:980px){ .achieve-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .achieve-grid{grid-template-columns:1fr;} }
.achieve-card{border-radius:16px;overflow:hidden;border:1px solid var(--gray-300);background:var(--white);}
.achieve-thumb{height:140px;position:relative;overflow:hidden;background:linear-gradient(150deg,var(--blue-grad-b),var(--blue-grad-a));}
.achieve-thumb img{width:100%;height:100%;object-fit:cover;}
.achieve-thumb.noimg{display:flex;align-items:center;justify-content:center;}
.achieve-thumb.noimg .icon{font-size:24px;font-weight:700;letter-spacing:.12em;color:var(--white);opacity:0.92;}
.achieve-date{
  position:absolute;top:10px;left:10px;background:rgba(255,255,255,0.95);color:var(--navy-900);
  font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:999px;
}
.achieve-body{padding:18px 18px;}
.achieve-body h4{font-size:13.5px;font-weight:600;color:var(--navy-900);line-height:1.5;margin-bottom:4px;}
.achieve-body p{font-size:11.5px;color:var(--gray-600);}

/* ===== PARTNERS ===== */
/* ===== CTA ===== */
/* ===== TOP page teaser rows (compact summaries linking to detail pages) ===== */
/* ===== MISSION / VISION / VALUE ===== */
.mvv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:860px){ .mvv-grid{grid-template-columns:1fr;} }
.mvv-card{background:var(--white);border:1px solid var(--gray-300);border-radius:20px;padding:32px 28px;}
.mvv-card .mvv-tag{font-size:12px;font-weight:600;color:var(--blue-600);letter-spacing:1.5px;margin-bottom:12px;}
.mvv-card h3{font-size:18px;font-weight:600;color:var(--navy-900);margin-bottom:12px;line-height:1.6;}
.mvv-card p{font-size:13px;color:var(--gray-600);}

/* ===== COMPANY DATA TABLE ===== */
.data-table{width:100%;border-collapse:collapse;}
.data-table tr{border-bottom:1px solid var(--gray-300);}
.data-table th{
  text-align:left;font-size:13px;font-weight:600;color:var(--navy-800);
  padding:18px 20px 18px 0;width:220px;vertical-align:top;
}
.data-table td{font-size:13.5px;color:var(--ink);padding:18px 0;}

/* ===== CERTIFICATION BADGES ===== */

/* ===== IR PAGE ===== */
.ir-news{border-top:1px solid var(--gray-300);margin-top:16px;}
.ir-news li{
  list-style:none;display:flex;gap:24px;padding:20px 0;border-bottom:1px solid var(--gray-300);
  font-size:13.5px;align-items:baseline;
}
.ir-news .date{color:var(--gray-600);font-size:12.5px;flex:none;width:100px;}
.ir-news a{color:var(--navy-900);font-weight:500;text-decoration:none;transition:color .2s ease;}
.ir-news a:hover{color:var(--blue-600);}
.ir-news .cat{
  flex:none;font-size:10.5px;font-weight:600;color:var(--blue-600);background:var(--bg-blue-soft);
  padding:3px 10px;border-radius:999px;
}

/* ===== CONTACT FORM ===== */
.form-card{background:var(--white);border:1px solid var(--gray-300);border-radius:20px;padding:44px;max-width:720px;margin:0 auto;}
@media (max-width:600px){ .form-card{padding:28px 22px;} }
.form-row{margin-bottom:22px;}
.form-row label{display:block;font-size:13px;font-weight:600;color:var(--navy-900);margin-bottom:8px;}
.form-row label .req{color:#c0392b;font-size:11px;margin-left:6px;}
.form-row input, .form-row select, .form-row textarea{
  width:100%;border:1.5px solid var(--gray-300);border-radius:10px;padding:12px 14px;
  font-size:14px;font-family:inherit;color:var(--ink);background:var(--white);
}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{outline:none;border-color:var(--blue-400);}
.form-row textarea{resize:vertical;min-height:130px;}
.form-note{font-size:12px;color:var(--gray-600);margin-bottom:28px;}
.form-submit{width:100%;justify-content:center;border:none;cursor:pointer;}
.form-submit:disabled{opacity:0.6;cursor:default;}
.hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;}
.form-error{display:none;font-size:13px;color:#c0392b;margin:-8px 0 20px;}
.form-error.is-visible{display:block;}
.form-success{display:none;text-align:center;padding:20px 0 8px;}
.form-success.is-visible{display:block;}
.form-success .glyph-icon{margin:0 auto 18px;}
.form-success h3{font-size:20px;margin-bottom:12px;}
.form-success p{font-size:14px;color:var(--gray-600);}
.form-card.is-sent .form-body{display:none;}

/* ===== SCROLL REVEAL ===== */
.reveal{
  opacity:0;transform:translateY(36px);
  transition:opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1);
  will-change:opacity, transform;
}
.reveal.is-visible{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
}
/* cascading stagger for grid/list children */
.strength-grid > .reveal:nth-child(1), .teaser-grid > .reveal:nth-child(1), .sol-grid > .reveal:nth-child(1),
.product-grid > .reveal:nth-child(1), .achieve-grid > .reveal:nth-child(1), .mvv-grid > .reveal:nth-child(1),
.photo-grid > .reveal:nth-child(1), .lineup-list > .reveal:nth-child(1), .value-list > .reveal:nth-child(1),
.cert-row > .reveal:nth-child(1){transition-delay:0s;}
.strength-grid > .reveal:nth-child(2), .teaser-grid > .reveal:nth-child(2), .sol-grid > .reveal:nth-child(2),
.product-grid > .reveal:nth-child(2), .achieve-grid > .reveal:nth-child(2), .mvv-grid > .reveal:nth-child(2),
.photo-grid > .reveal:nth-child(2), .lineup-list > .reveal:nth-child(2), .value-list > .reveal:nth-child(2),
.cert-row > .reveal:nth-child(2){transition-delay:.08s;}
.strength-grid > .reveal:nth-child(3), .teaser-grid > .reveal:nth-child(3), .sol-grid > .reveal:nth-child(3),
.product-grid > .reveal:nth-child(3), .achieve-grid > .reveal:nth-child(3), .mvv-grid > .reveal:nth-child(3),
.photo-grid > .reveal:nth-child(3), .lineup-list > .reveal:nth-child(3), .value-list > .reveal:nth-child(3),
.cert-row > .reveal:nth-child(3){transition-delay:.16s;}
.teaser-grid > .reveal:nth-child(4), .achieve-grid > .reveal:nth-child(4), .mvv-grid > .reveal:nth-child(4),
.photo-grid > .reveal:nth-child(4), .lineup-list > .reveal:nth-child(4), .value-list > .reveal:nth-child(4){transition-delay:.24s;}
.achieve-grid > .reveal:nth-child(5), .photo-grid > .reveal:nth-child(5){transition-delay:.32s;}
.achieve-grid > .reveal:nth-child(6), .photo-grid > .reveal:nth-child(6){transition-delay:.4s;}
.achieve-grid > .reveal:nth-child(7){transition-delay:.08s;}
.achieve-grid > .reveal:nth-child(8){transition-delay:.16s;}
.achieve-grid > .reveal:nth-child(9){transition-delay:.24s;}
.achieve-grid > .reveal:nth-child(10){transition-delay:.32s;}
.achieve-grid > .reveal:nth-child(11){transition-delay:.4s;}
.achieve-grid > .reveal:nth-child(12){transition-delay:.48s;}

/* ===== FOOTER ===== */
footer{background:var(--navy-900);color:rgba(255,255,255,0.7);padding:70px 0 30px;position:relative;overflow:hidden;}
footer::before{
  content:"WILL SMART, MOVE SMART.";
  position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);
  font-weight:600;font-size:clamp(64px,9vw,160px);
  color:rgba(255,255,255,0.035);white-space:nowrap;letter-spacing:0.02em;
  pointer-events:none;z-index:0;
}
footer > .wrap{position:relative;z-index:1;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:50px;}
@media (max-width:860px){ .foot-grid{grid-template-columns:1fr 1fr;} }
.foot-grid h5{color:var(--white);font-size:13px;font-weight:600;margin-bottom:16px;letter-spacing:0.5px;}
.foot-grid ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.foot-grid ul a{font-size:13px;color:rgba(255,255,255,0.65);transition:color .2s;}
.foot-grid ul a:hover{color:var(--blue-400);}
.foot-company p{font-size:12.5px;color:rgba(255,255,255,0.55);margin-bottom:6px;}
.foot-bottom{
  border-top:1px solid rgba(255,255,255,0.1);padding-top:24px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;color:rgba(255,255,255,0.45);
}

/* ===== MIRAI COLLAB ===== */
.mirai-head{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:end;margin-bottom:28px;}
.mirai-guest{position:relative;display:grid;grid-template-columns:47% 1fr;align-items:end;min-height:150px;overflow:hidden;border:1px solid #e0ebf2;border-radius:12px;background:linear-gradient(135deg,#fff,#f5faff);box-shadow:0 5px 16px rgba(14,42,61,.045);}
.mirai-foot{display:flex;justify-content:center;margin-top:26px;}
@media(max-width:880px){.mirai-head{grid-template-columns:1fr;gap:22px}}
@media(max-width:560px){.mirai-guest{flex:0 0 82%;scroll-snap-align:start}}

/* Mirai layout width correction */
.mirai-guest{grid-template-columns:minmax(112px,44%) minmax(0,1fr);}
/* Preserve guest portrait proportions: use individually cropped square sources */
.mirai-guest{grid-template-columns:minmax(150px,52%) minmax(0,1fr);}
/* ===== LATEST PROJECTS ===== */
/* =================================================================
   WILL SMART TOP REDESIGN / 2026-08
   ================================================================= */
.ws-redesign{--ws-blue:#39aee4;--ws-blue-dark:#168ec9;--ws-ice:#eef9ff;--ws-navy:#09283c;--ws-line:#dbe8ef;--ws-muted:#657784;background:#fff;color:var(--ws-navy);}
.ws-redesign .ws-main{margin-left:var(--side-w);overflow:hidden;}
.ws-redesign .ws-section{padding:112px clamp(34px,5vw,84px);}
.ws-redesign .ws-en-label{color:var(--ws-blue-dark);font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;line-height:1.4;}
.ws-redesign .ws-btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:54px;padding:12px 28px;border:1.5px solid var(--ws-blue);border-radius:999px;font-size:13px;font-weight:700;transition:.25s;}
.ws-redesign .ws-btn span{font-size:17px;transition:transform .25s;}
.ws-redesign .ws-btn:hover span{transform:translateX(4px);}
.ws-redesign .ws-btn-blue{background:var(--ws-blue);color:#fff;box-shadow:0 12px 30px rgba(57,174,228,.25);}
.ws-redesign .ws-btn-blue:hover{background:var(--ws-blue-dark);border-color:var(--ws-blue-dark);transform:translateY(-2px);}
.ws-redesign .ws-btn-white{background:rgba(255,255,255,.94);color:var(--ws-blue-dark);}
.ws-redesign .ws-btn-white:hover{background:var(--ws-blue);color:#fff;transform:translateY(-2px);}
.ws-redesign .ws-text-link{display:inline-flex;align-items:center;gap:16px;color:var(--ws-blue-dark);font-size:13px;font-weight:700;white-space:nowrap;}
.ws-redesign .ws-text-link span{font-size:17px;transition:.25s;}
.ws-redesign .ws-text-link:hover span{transform:translateX(5px);}
.ws-redesign .ws-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:44px;}
.ws-redesign .ws-section-head h2{font-size:clamp(34px,3.7vw,60px);line-height:1.26;margin:12px 0 14px;letter-spacing:.01em;}
.ws-redesign .ws-section-head>div>p:last-child{max-width:650px;color:var(--ws-muted);font-size:14px;}

/* Sidebar */
.ws-sidebar{position:fixed;inset:0 auto 0 0;z-index:300;width:var(--side-w);display:flex;flex-direction:column;padding:26px 24px 18px;background:#f8fafb;border-right:1px solid #e1e9ee;overflow-y:auto;scrollbar-width:none;}
.ws-sidebar::-webkit-scrollbar{display:none;}
.ws-side-logo{display:block;margin-bottom:30px;}
.ws-side-logo img{width:auto;height:44px;}
.ws-nav-caption{margin-bottom:14px;color:#93a1ac;font-size:9px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;}
.ws-sidebar nav{position:relative;display:flex;flex-direction:column;margin-bottom:24px;}
.ws-sidebar nav::before{content:"";position:absolute;top:20px;bottom:20px;left:7px;width:1px;background:#dbe5eb;}
.ws-sidebar nav a{position:relative;display:flex;align-items:center;gap:15px;padding:11px 8px;color:#506777;font-size:13px;font-weight:600;border-radius:9px;transition:.2s;}
.ws-sidebar nav a span{position:relative;z-index:1;display:grid;place-items:center;width:15px;height:15px;border:4px solid #f8fafb;border-radius:50%;background:#6dc6ed;color:transparent;font-size:0;}
.ws-sidebar nav a:hover{color:var(--ws-blue-dark);background:#eef7fc;transform:translateX(3px);}
.ws-side-trust{margin-top:auto;}
.ws-side-trust>div{display:grid;grid-template-columns:42px 1fr;gap:9px;align-items:center;margin-bottom:7px;padding:8px;background:#fff;border:1px solid #e1e9ee;border-radius:10px;}
.ws-side-trust img{width:42px;height:31px;object-fit:contain;}
.ws-side-trust span{font-size:9.5px;font-weight:650;line-height:1.45;color:#355064;}
.ws-side-contact{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding:12px 15px;border-radius:999px;background:var(--ws-navy);color:#fff;font-size:11px;font-weight:700;}

/* Hero */
.ws-hero{position:relative;height:100svh;min-height:720px;background:#f5fbff;overflow:hidden;}
.ws-hero-image{position:absolute;inset:0;}
.ws-hero-image img{width:100%;height:100%;object-fit:cover;object-position:62% center;animation:wsHeroScale 1.8s cubic-bezier(.2,.7,.2,1) both;}
.ws-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.82) 26%,rgba(255,255,255,.28) 53%,rgba(255,255,255,.02) 74%);}
.ws-hero-copy{position:absolute;z-index:2;left:clamp(36px,5.2vw,88px);bottom:10vh;max-width:680px;}
.ws-hero-copy .ws-en-label{margin-bottom:16px;}
.ws-hero h1{margin:0 0 22px;font-size:clamp(52px,6vw,92px);font-weight:700;line-height:1.02;letter-spacing:-.025em;color:var(--ws-navy);}
.ws-hero h1 span{display:block;}
.ws-hero h1 span:last-child{color:var(--ws-blue);}
.ws-hero-lead{max-width:560px;color:#29495d;font-size:14px;font-weight:500;line-height:1.9;}
.ws-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;}
.ws-hero-scroll{position:absolute;z-index:2;right:28px;bottom:26px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ws-blue-dark);font-size:12px;font-weight:700;}
.ws-hero-scroll span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl;}
@keyframes wsHeroScale{from{opacity:.2;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}

/* Proof */
.ws-proof-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:0 clamp(34px,5vw,84px);border-bottom:1px solid var(--ws-line);background:#fff;}
.ws-proof-strip>div{display:flex;flex-direction:column;justify-content:center;min-height:126px;padding:22px 30px;border-left:1px solid var(--ws-line);}
.ws-proof-strip>div:last-child{border-right:1px solid var(--ws-line);}
.ws-proof-strip strong{font-size:clamp(23px,2.4vw,36px);line-height:1.2;color:var(--ws-navy);}
.ws-proof-strip span{margin-top:7px;color:var(--ws-muted);font-size:10px;letter-spacing:.05em;}

/* Pickup */
.ws-pickup{padding-bottom:56px!important;background:#fff;}
.ws-pickup-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:230px 230px;gap:14px;}
.ws-pickup-card{position:relative;overflow:hidden;min-width:0;border-radius:18px;background:#dceef7;}
.ws-pickup-card-large{grid-column:span 2;grid-row:span 2;}
.ws-pickup-card:nth-child(4){grid-column:span 2;}
.ws-pickup-card>img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1);}
.ws-pickup-card:nth-child(2)>img{object-fit:contain;padding:30px;background:#fff;}
.ws-pickup-card:hover>img{transform:scale(1.04);}
.ws-pickup-overlay{position:absolute;inset:auto 0 0;padding:48px 22px 20px;color:#fff;background:linear-gradient(transparent,rgba(5,31,48,.9));}
.ws-pickup-overlay>div{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:7px;}
.ws-pickup-overlay span{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.ws-pickup-overlay time{font-size:9px;opacity:.8;}
.ws-pickup-overlay h3{font-size:16px;line-height:1.55;}
.ws-pickup-overlay p{margin-top:7px;font-size:11px;opacity:.8;}
.ws-pickup-card-large .ws-pickup-overlay{padding:80px 30px 28px;}
.ws-pickup-card-large .ws-pickup-overlay h3{font-size:clamp(21px,2.2vw,32px);}

/* Outline */
.ws-outline{display:grid;grid-template-columns:minmax(390px,.85fr) minmax(480px,1.15fr);gap:4vw;min-height:950px;padding-top:56px!important;padding-bottom:150px!important;background:#fff;}
.ws-outline-copy{position:relative;z-index:2;}
.ws-outline h2{margin:16px 0 12px;font-size:clamp(50px,5.2vw,80px);line-height:.98;letter-spacing:-.03em;}
.ws-outline-statement{max-width:560px;margin-top:70px;}
.ws-outline-statement p{margin-bottom:24px;color:#425967;font-size:14px;line-height:2.15;}
.ws-outline-statement strong{display:block;margin-top:48px;color:var(--ws-navy);font-size:clamp(20px,2vw,30px);line-height:1.8;}
.ws-outline-visual{position:sticky;top:8vh;height:84vh;align-self:start;display:flex;align-items:center;justify-content:center;}
.ws-outline-visual::before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,rgba(101,199,239,.22),rgba(255,255,255,0) 69%);}
.ws-outline-visual img{position:relative;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 35px 60px rgba(28,104,148,.12));}

/* Business */
.ws-business{background:var(--ws-navy);color:#fff;}
.ws-section-head-light .ws-en-label{color:#76cdf2;}
.ws-section-head-light>div>p:last-child{color:rgba(255,255,255,.62);}
.ws-section-head-light .ws-text-link{color:#78d1f5;}
.ws-field-grid{display:grid;grid-template-columns:repeat(4,1fr);height:580px;}
.ws-field-card{position:relative;overflow:hidden;border-right:1px solid rgba(255,255,255,.3);color:#fff;}
.ws-field-card:first-child{border-radius:20px 0 0 20px;}
.ws-field-card:last-child{border-radius:0 20px 20px 0;border-right:0;}
.ws-field-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,28,43,.05),rgba(4,28,43,.88));transition:.35s;}
.ws-field-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.75);transition:.6s;}
.ws-field-card>span{position:absolute;z-index:2;top:20px;left:20px;font-size:11px;letter-spacing:.1em;}
.ws-field-card>div{position:absolute;z-index:2;left:22px;right:22px;bottom:28px;}
.ws-field-card p{color:#78d1f5;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;}
.ws-field-card h3{margin:7px 0 8px;font-size:clamp(20px,2vw,29px);}
.ws-field-card small{display:block;font-size:10px;line-height:1.7;opacity:.72;}
.ws-field-card:hover img{transform:scale(1.06);filter:saturate(1);}
.ws-field-card:hover::after{background:linear-gradient(180deg,rgba(4,28,43,0),rgba(12,119,170,.9));}

/* Solutions */

/* Services */

/* Strength */

/* Cases */
.ws-cases{background:#fff;}
.ws-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.ws-case-grid>a{overflow:hidden;border:1px solid var(--ws-line);border-radius:17px;background:#fff;transition:.3s;}
.ws-case-grid>a>img{width:100%;height:235px;object-fit:cover;transition:.5s;}
.ws-case-grid>a>div{padding:22px 22px 26px;}
.ws-case-grid span{display:inline-block;margin-bottom:10px;padding:4px 10px;border-radius:999px;background:var(--ws-ice);color:var(--ws-blue-dark);font-size:9px;font-weight:700;}
.ws-case-grid h3{min-height:3.2em;margin-bottom:10px;font-size:16px;line-height:1.65;}
.ws-case-grid p{color:var(--ws-muted);font-size:11px;line-height:1.8;}
.ws-case-grid>a:hover{transform:translateY(-5px);box-shadow:0 18px 35px rgba(24,91,128,.1);}
.ws-case-grid>a:hover img{transform:scale(1.035);}

/* Mirai */
.ws-mirai{background:linear-gradient(135deg,#f7fcff,#edf8ff);}
.ws-mirai-head{display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:end;margin-bottom:44px;}
.ws-mirai-head h2{margin:14px 0 12px;font-size:clamp(40px,5.1vw,76px);}
.ws-mirai-head h2 span{color:var(--ws-blue);}
.ws-mirai-head>div:first-child>p:last-child{color:#3f5968;font-size:13px;}
.ws-mirai-head>div:last-child>p{margin-bottom:20px;color:var(--ws-muted);font-size:12px;line-height:1.9;}
.ws-guest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;}
.ws-guest-grid article{display:grid;grid-template-columns:52% 48%;height:170px;overflow:hidden;border:1px solid #d8e9f2;border-radius:14px;background:rgba(255,255,255,.85);}
.ws-guest-grid img{width:100%;height:100%;object-fit:cover;}
.ws-guest-grid article>div{align-self:center;padding:13px;}
.ws-guest-grid h3{font-size:14px;line-height:1.5;}
.ws-guest-grid small{font-size:9px;font-weight:500;}
.ws-guest-grid p{margin-top:8px;color:var(--ws-muted);font-size:9.5px;line-height:1.65;}
.ws-mirai-foot{display:flex;justify-content:center;margin-top:28px;}

/* News & IR */
.ws-news ul{border-top:1px solid var(--ws-line);}
.ws-news li{list-style:none;border-bottom:1px solid var(--ws-line);}
.ws-news li a{display:grid;grid-template-columns:90px 74px 1fr 20px;gap:14px;align-items:center;min-height:92px;padding:14px 4px;}
.ws-news time{color:#6b7e8b;font-size:10px;}
.ws-news li span{padding:4px 7px;border-radius:999px;background:var(--ws-ice);color:var(--ws-blue-dark);font-size:8px;font-weight:700;text-align:center;}
.ws-news li p{font-size:12px;line-height:1.7;}
.ws-news li b{color:var(--ws-blue);}

/* Contact & Footer */
.ws-contact{display:grid;grid-template-columns:1fr .85fr;gap:8vw;align-items:center;margin-left:var(--side-w);padding:105px clamp(34px,5vw,84px);background:linear-gradient(120deg,#1ea7df,#66c9ed);color:#fff;}
.ws-contact .ws-en-label{color:#fff;opacity:.8;}
.ws-contact h2{margin:18px 0 20px;font-size:clamp(42px,5vw,74px);line-height:1.25;}
.ws-contact>div>p:last-child{max-width:570px;font-size:13px;line-height:1.9;opacity:.82;}
.ws-contact-actions{display:flex;flex-direction:column;gap:10px;}
.ws-contact-actions a{display:flex;align-items:center;justify-content:space-between;min-height:74px;padding:18px 24px;border:1px solid rgba(255,255,255,.75);border-radius:999px;font-size:13px;font-weight:700;transition:.25s;}
.ws-contact-actions a:first-child{background:#fff;color:var(--ws-blue-dark);}
.ws-contact-actions a:hover{transform:translateX(5px);}
.ws-footer{margin-left:var(--side-w);padding:70px clamp(34px,5vw,84px) 28px;background:#071f30;color:#fff;}
.ws-footer-brand{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.12);}
.ws-footer-brand img{height:48px;filter:brightness(0) invert(1);}
.ws-footer-brand p{text-align:right;color:rgba(255,255,255,.55);font-size:12px;line-height:1.8;}
.ws-footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding:45px 0;}
.ws-footer-links div{display:flex;flex-direction:column;gap:10px;}
.ws-footer-links h3{margin-bottom:8px;color:#67c9ee;font-size:10px;letter-spacing:.12em;text-transform:uppercase;}
.ws-footer-links a{color:rgba(255,255,255,.68);font-size:11px;}
.ws-footer-links a:hover{color:#fff;}
.ws-footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.4);font-size:9px;}

/* Responsive */
@media(max-width:1180px){
  .ws-redesign .ws-section{padding:90px 38px;}
  .ws-pickup-grid{grid-template-rows:210px 210px;}
  .ws-field-grid{height:500px;}
  .ws-guest-grid{grid-template-columns:repeat(3,1fr);}
    }
@media(max-width:900px){
  .ws-sidebar{position:relative;width:100%;height:78px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:14px 22px;overflow:visible;}
  .ws-side-logo{margin:0}.ws-side-logo img{height:38px}
  .ws-sidebar>.ws-nav-caption,.ws-sidebar nav,.ws-side-trust{display:none;}
  .ws-side-contact{margin:0;padding:11px 18px;}
  .ws-redesign .ws-main,.ws-contact,.ws-footer{margin-left:0;}
  .ws-hero{min-height:680px;height:calc(100svh - 78px);}
  .ws-hero-copy{left:30px;right:30px;bottom:8vh;}
  .ws-hero h1{font-size:clamp(47px,9vw,70px);}
  .ws-proof-strip{padding:0 28px;grid-template-columns:repeat(2,1fr);}
  .ws-proof-strip>div:nth-child(3){border-top:1px solid var(--ws-line);}
  .ws-proof-strip>div:nth-child(4){border-top:1px solid var(--ws-line);}
  .ws-pickup-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:350px 230px 230px;}
  .ws-pickup-card-large{grid-column:span 2;grid-row:auto;}
  .ws-pickup-card:nth-child(4){grid-column:auto;}
  .ws-outline{grid-template-columns:1fr;min-height:auto;}
  .ws-outline-visual{position:relative;top:auto;height:520px;grid-row:1;}
  .ws-outline-copy{grid-row:2;}
  .ws-field-grid{grid-template-columns:repeat(2,1fr);height:820px;}
  .ws-field-card:first-child{border-radius:18px 0 0 0}.ws-field-card:nth-child(2){border-radius:0 18px 0 0}.ws-field-card:nth-child(3){border-radius:0 0 0 18px}.ws-field-card:last-child{border-radius:0 0 18px 0}
      .ws-case-grid{grid-template-columns:repeat(2,1fr);}
  .ws-mirai-head{grid-template-columns:1fr;}
  .ws-guest-grid{grid-template-columns:repeat(2,1fr);}
      .ws-contact{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .ws-redesign .ws-section{padding:72px 20px;}
  .ws-redesign .ws-section-head{display:block;margin-bottom:30px;}
  .ws-redesign .ws-section-head .ws-text-link{margin-top:18px;}
  .ws-redesign .ws-section-head h2{font-size:34px;}
  .ws-hero{min-height:640px;}
  .ws-hero-image img{object-position:70% center;}
  .ws-hero-shade{background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.74) 68%,rgba(255,255,255,.2));}
  .ws-hero-copy{left:20px;right:20px;}
  .ws-hero h1{font-size:43px;}
  .ws-hero-lead br{display:none;}
  .ws-hero-actions{align-items:stretch;flex-direction:column;}
  .ws-hero-actions .ws-btn{width:100%;}
  .ws-proof-strip{padding:0 18px;}
  .ws-proof-strip>div{min-height:104px;padding:18px 13px;}
  .ws-proof-strip strong{font-size:23px;}
  .ws-pickup-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;}
  .ws-pickup-card,.ws-pickup-card-large{flex:0 0 84%;height:390px;scroll-snap-align:start;}
  .ws-outline{padding-top:90px!important;padding-bottom:90px!important;}
  .ws-outline-visual{height:360px;}
  .ws-outline h2{font-size:58px;}
  .ws-outline-statement{margin-top:45px;}
  .ws-field-grid{display:flex;height:530px;overflow-x:auto;scroll-snap-type:x mandatory;}
  .ws-field-card{flex:0 0 82%;border-radius:17px!important;scroll-snap-align:start;}
    .ws-case-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;}
  .ws-case-grid>a{flex:0 0 84%;scroll-snap-align:start;}
  .ws-guest-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;}
  .ws-guest-grid article{flex:0 0 84%;height:190px;scroll-snap-align:start;}
  .ws-news li a{grid-template-columns:78px 68px 1fr;}.ws-news li b{display:none;}
  .ws-contact{padding:78px 20px;}
  .ws-footer{padding:58px 20px 24px;}
  .ws-footer-brand{display:block}.ws-footer-brand p{margin-top:28px;text-align:left}
  .ws-footer-links{grid-template-columns:1fr 1fr;gap:35px 20px;}
  .ws-footer-bottom{flex-direction:column;}
}
@media(prefers-reduced-motion:reduce){
  .ws-redesign *, .ws-redesign *::before, .ws-redesign *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important;}
}

/* Top redesign integration fixes */
.ws-main .ws-contact{margin-left:0;}
.ws-footer::before{display:none;}

.ws-sidebar>.ws-side-contact{display:none;}
@media(max-width:900px){.ws-sidebar>.ws-side-contact{display:flex;}}

/* Compact desktop sidebar to keep all navigation in the first viewport */
@media(min-width:901px){
  .ws-sidebar{padding:18px 18px 10px;}
  .ws-side-logo{margin-bottom:17px;}
  .ws-side-logo img{height:38px;}
  .ws-sidebar>.ws-nav-caption{margin-bottom:7px;}
  .ws-sidebar nav{margin-bottom:12px;}
  .ws-sidebar nav::before{top:15px;bottom:15px;left:7px;}
  .ws-sidebar nav a{gap:12px;padding:7px 6px;font-size:12px;line-height:1.25;}
  .ws-sidebar nav a span{width:15px;height:15px;}
  .ws-side-trust{margin-top:0;}
  .ws-side-trust>.ws-nav-caption{margin-bottom:7px;}
  .ws-side-trust>div{grid-template-columns:34px 1fr;gap:7px;margin-bottom:5px;padding:6px 7px;border-radius:8px;}
  .ws-side-trust img{width:34px;height:25px;}
  .ws-side-trust span{font-size:8.5px;line-height:1.3;}
}

/* First-view balance refinements */
@media(min-width:901px){
  .ws-redesign{--side-w:clamp(238px,16vw,280px);}
  .ws-side-logo img{height:43px;}
  .ws-side-logo{margin-bottom:18px;}
  .ws-sidebar nav a{padding:8px 6px;}
  .ws-sidebar nav{margin-bottom:13px;}
  .ws-hero-image img{position:relative;top:-12%;height:112%;object-position:64% center;}
  .ws-hero-shade{background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.80) 22%,rgba(255,255,255,.24) 46%,rgba(255,255,255,.02) 68%);}
}

@media(min-width:901px){.ws-side-logo img{height:56px;}}

@media(min-width:901px){.ws-side-logo img{height:72px;}}

.ws-side-logo{width:100%;justify-content:center;}
.ws-side-logo img{object-fit:contain;}

.ws-side-logo{display:flex;width:100%;align-items:center;justify-content:center;}

/* Typography matched to the design reference: Lato for Latin display, Noto Sans JP for Japanese */
.ws-redesign{--ws-font-en:"Lato",Arial,sans-serif;--ws-font-jp:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;font-family:var(--ws-font-jp);}
.ws-redesign .ws-en-label,
.ws-redesign .ws-hero h1,
.ws-redesign .ws-outline h2,
.ws-redesign .ws-section-head h2,
.ws-redesign .ws-service-icon,
.ws-redesign .ws-proof-strip strong,
.ws-redesign .ws-footer-links h3{font-family:var(--ws-font-en);}
.ws-redesign .ws-hero h1,
.ws-redesign .ws-outline h2{font-weight:900;letter-spacing:-.045em;}
.ws-redesign .ws-en-label{font-weight:700;letter-spacing:.18em;}
.ws-redesign .ws-section-head h2{font-weight:900;}
/* Horizontal brand lockup and scroll-spy navigation */
@media(min-width:901px){
  .ws-side-logo{display:flex;width:100%;align-items:center;justify-content:center;margin-bottom:16px;}
  .ws-side-logo img{width:172px;height:auto;max-height:none;object-fit:contain;}
  .ws-sidebar nav a{display:grid;grid-template-columns:15px 20px minmax(0,1fr);gap:11px;position:relative;}
  .ws-sidebar nav a .ws-nav-dot{display:block;z-index:2;width:6px;height:6px;margin:auto;border:0;border-radius:50%;background:#61c4ed;color:transparent;transition:.25s;}
  .ws-sidebar nav a .ws-nav-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:0;border-radius:0;background:transparent;color:#68808f;transition:.25s;}
  .ws-sidebar nav a .ws-nav-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
  .ws-sidebar nav a .ws-nav-label{display:block;width:auto;height:auto;border:0;border-radius:0;background:transparent;color:inherit;font-size:inherit;line-height:1.25;white-space:nowrap;}
  .ws-sidebar nav a::before{content:"";position:absolute;left:-7px;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--ws-blue);opacity:0;transform:scaleY(.35);transition:.25s;}
  .ws-sidebar nav a.is-active{color:var(--ws-blue-dark);background:#eaf6fc;transform:none;}
  .ws-sidebar nav a.is-active::before{opacity:1;transform:scaleY(1);}
  .ws-sidebar nav a.is-active .ws-nav-dot{width:14px;height:14px;border:4px solid #fff;background:var(--ws-blue);box-shadow:0 0 0 1px #dff2fb;}
  .ws-sidebar nav a.is-active .ws-nav-icon{color:var(--ws-blue-dark);transform:translateX(1px);}
.ws-sidebar nav a:hover .ws-nav-icon{color:var(--ws-blue-dark);}

/* Shared sidebar hierarchy */
@media(min-width:901px){
  .ws-sidebar{overflow:hidden;}
  .ws-sidebar nav{
    flex:1 1 auto;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    margin-bottom:10px;
    padding-right:2px;
    scrollbar-width:thin;
    scrollbar-color:#cae2ec transparent;
  }
  .ws-sidebar .ws-side-trust{display:block;}
  .ws-sidebar nav .ws-nav-group{position:relative;}
  .ws-sidebar nav .ws-nav-group>a{padding-right:34px;}
  .ws-sidebar nav .ws-submenu-toggle{
    position:absolute;
    z-index:4;
    top:4px;
    right:2px;
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    padding:0;
    border:0;
    border-radius:7px;
    background:transparent;
    color:#708a99;
    cursor:pointer;
    transition:.22s ease;
  }
  .ws-sidebar nav .ws-submenu-toggle:hover{background:#dff2fa;color:#087fac;}
  .ws-sidebar nav .ws-submenu-toggle svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .24s ease;}
  .ws-sidebar nav .ws-nav-group.is-open>.ws-submenu-toggle svg{transform:rotate(180deg);}
  .ws-sidebar nav .ws-nav-icon[role="button"]{cursor:pointer;}
  .ws-sidebar nav .ws-submenu{
    position:relative;
    margin:1px 3px 7px 38px;
    padding:4px 0 5px 11px;
    border-left:1px solid #b9dce9;
  }
  .ws-sidebar nav .ws-submenu a{
    display:block;
    min-height:0;
    padding:5px 8px;
    border-radius:6px;
    color:#6a818e;
    font-size:10px;
    font-weight:600;
    line-height:1.45;
    white-space:normal;
  }
  .ws-sidebar nav .ws-submenu a::before{display:none;}
  .ws-sidebar nav .ws-submenu a:hover{background:#edf8fc;color:#087fac;transform:translateX(2px);}
  .ws-sidebar nav .ws-submenu a.is-current{background:#e5f5fb;color:#087fac;font-weight:700;}
}
}

/* Enforce one display typeface across hero and outline */
.ws-redesign .ws-hero h1,
.ws-redesign .ws-hero h1 span,
.ws-redesign .ws-outline h2{
  font-family:"Lato",Arial,sans-serif!important;
  font-weight:900!important;
  font-style:normal;
  font-synthesis:none;
  font-kerning:normal;
  letter-spacing:-0.045em!important;
  text-rendering:geometricPrecision;
}

/* Unify primary Japanese section heading size */

/* Value proposition strip */
.ws-proof-strip>div{min-height:154px;padding-top:25px;padding-bottom:25px;}
.ws-proof-strip strong{font-size:clamp(19px,1.8vw,29px);line-height:1.18;letter-spacing:-.02em;}
.ws-proof-strip b{display:block;margin-top:13px;color:var(--ws-navy);font-size:13px;font-weight:700;line-height:1.55;}
.ws-proof-strip b+span{margin-top:5px;color:var(--ws-muted);font-size:9.5px;line-height:1.55;}

/* Separate the hero and value strip into distinct screens */
@media(min-width:901px){
  .ws-hero{height:100vh;min-height:820px;}
  .ws-proof-strip>div{min-height:132px;padding-top:24px;padding-bottom:24px;}
  .ws-proof-strip b+span{display:none;}
}
/* Unified section-title typography system */
.ws-redesign{
  --ws-section-title-size:clamp(36px,3.7vw,60px);
}
.ws-redesign .ws-section-title{
  margin-top:12px;
  font-family:var(--ws-font-jp)!important;
  font-size:var(--ws-section-title-size)!important;
  font-weight:700!important;
  line-height:1.3!important;
  letter-spacing:.01em!important;
  font-synthesis:none;
  text-rendering:geometricPrecision;
}
.ws-redesign .ws-section-title.ws-section-title-en{
  font-family:var(--ws-font-en)!important;
  font-weight:900!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
}
@media(max-width:600px){
  .ws-redesign .ws-section-title{font-size:clamp(34px,8vw,42px)!important;}
}
/* Verified Mirai Collabo cards */

/* Strategy-aligned detail pages */
.ws-detail-hero{padding:clamp(90px,11vw,150px) clamp(34px,7vw,110px) clamp(72px,9vw,120px);background:linear-gradient(135deg,#f7fcff,#e9f7fe);border-bottom:1px solid var(--ws-line);}
.ws-detail-hero h1{max-width:980px;margin:18px 0 26px;font-family:var(--ws-font-jp);font-size:clamp(44px,5.7vw,82px);font-weight:700;line-height:1.2;letter-spacing:-.035em;}
.ws-detail-hero>p:last-child{max-width:760px;color:#405b6b;font-size:15px;line-height:2;}
.ws-detail-section{padding:clamp(72px,8vw,118px) clamp(34px,7vw,110px);}
.ws-detail-section.is-soft{background:#f5fafc;}
.ws-detail-section.is-navy{background:var(--ws-navy);color:#fff;}
.ws-detail-heading{max-width:900px;margin-bottom:48px;}
.ws-detail-heading h2{margin:14px 0 18px;font-size:clamp(34px,3.7vw,60px);line-height:1.3;}
.ws-detail-heading p{max-width:720px;color:var(--ws-muted);font-size:14px;line-height:1.95;}
.ws-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.ws-detail-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.ws-detail-card{padding:30px;border:1px solid var(--ws-line);border-radius:18px;background:#fff;}
.ws-detail-card small{display:block;margin-bottom:16px;color:var(--ws-blue-dark);font-family:var(--ws-font-en);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.ws-detail-card h3{margin-bottom:14px;font-size:21px;line-height:1.55;}
.ws-detail-card p{color:var(--ws-muted);font-size:12px;line-height:1.9;}
.ws-detail-status{display:inline-flex;margin-bottom:18px;padding:5px 10px;border-radius:999px;background:#eaf7fd;color:var(--ws-blue-dark);font-size:9px;font-weight:700;}
.ws-cycle{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:20px;align-items:center;}
.ws-cycle .ws-detail-card{height:100%;}
.ws-cycle-arrow{color:var(--ws-blue);font-size:28px;font-weight:700;}
.ws-detail-note{margin-top:24px;color:var(--ws-muted);font-size:10px;line-height:1.8;}
@media(max-width:900px){
  .ws-detail-grid,.ws-detail-grid.cols-2{grid-template-columns:1fr 1fr;}
  .ws-cycle{grid-template-columns:1fr;}
  .ws-cycle-arrow{transform:rotate(90deg);text-align:center;}
  }
@media(max-width:600px){
  .ws-detail-grid,.ws-detail-grid.cols-2{grid-template-columns:1fr;}
  .ws-detail-hero{padding-left:20px;padding-right:20px;}
  .ws-detail-section{padding-left:20px;padding-right:20px;}
  }


/* Unified latest sidebar on lower-level pages */
.ws-subpage-latest:not(.ws-detail-page) .subhero,
.ws-subpage-latest:not(.ws-detail-page) .section-pad,
.ws-subpage-latest:not(.ws-detail-page) > footer{
  margin-left:var(--side-w);
  width:calc(100% - var(--side-w));
}
.ws-subpage-latest:not(.ws-detail-page) .subhero > .wrap{
  padding-left:32px;
  padding-right:32px;
}
@media(max-width:900px){
  .ws-subpage-latest:not(.ws-detail-page) .subhero,
  .ws-subpage-latest:not(.ws-detail-page) .section-pad,
  .ws-subpage-latest:not(.ws-detail-page) > footer{
    margin-left:0;
    width:100%;
  }
  .ws-subpage-latest:not(.ws-detail-page) .subhero{padding-top:76px;}
}

/* 左メニュー下の「東証グロース市場上場」はIR情報へのリンク */
.ws-side-trust>a.ws-side-trust-link{display:block;color:inherit;text-decoration:none;border-radius:10px}
.ws-side-trust>a.ws-side-trust-link>div{display:grid;grid-template-columns:42px 1fr;gap:9px;align-items:center;margin-bottom:7px;padding:8px;background:#fff;border:1px solid #e1e9ee;border-radius:10px;transition:border-color .15s,background .15s}
.ws-side-trust>a.ws-side-trust-link>div img{width:42px;height:31px;object-fit:contain}
.ws-side-trust>a.ws-side-trust-link>div span{font-size:9.5px;font-weight:650;line-height:1.45;color:#355064}
.ws-side-trust>a.ws-side-trust-link:hover>div{border-color:#42c6f2;background:#eef9fd}
.ws-side-trust>a.ws-side-trust-link:focus-visible{outline:2px solid #158fc5;outline-offset:2px}
@media(min-width:901px){.ws-side-trust>a.ws-side-trust-link>div{grid-template-columns:42px 1fr}}
@media(max-width:900px){.ws-side-trust>a.ws-side-trust-link>div{grid-template-columns:34px 1fr;gap:7px;margin-bottom:5px;padding:6px 7px;border-radius:8px}.ws-side-trust>a.ws-side-trust-link>div img{width:34px;height:25px}.ws-side-trust>a.ws-side-trust-link>div span{font-size:8.5px;line-height:1.3}}
