    :root{
      --bg:#ffffff;
      --bg-soft:#f5f5f7;
      --bg-card:#fafafa;
      --ink:#1d1d1f;
      --ink-mid:#424245;
      --ink-sub:#6e6e73;
      --ink-mute:#86868b;
      --line:#d2d2d7;
      --line-soft:#e8e8ed;
      --accent:#1a2842;
      --accent-soft:#eef1f6;
      --radius:14px;
      --radius-lg:22px;
      --ease:cubic-bezier(0.4,0,0.2,1);
    }
    *{margin:0;padding:0;box-sizing:border-box}
    html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
    body{
      font-family:'Inter','Noto Sans JP',-apple-system,BlinkMacSystemFont,sans-serif;
      background:var(--bg);
      color:var(--ink);
      line-height:1.75;
      letter-spacing:0.01em;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      font-weight:400;
    }
    img{max-width:100%;display:block}
    a{color:inherit;text-decoration:none;transition:opacity 0.2s var(--ease)}
    a:hover{opacity:0.6}
    button{font-family:inherit;cursor:pointer;border:none;background:none}

    /* ===== HEADER ===== */
    .header{
      position:fixed;top:0;left:0;right:0;
      background:rgba(255,255,255,0.72);
      backdrop-filter:saturate(180%) blur(20px);
      -webkit-backdrop-filter:saturate(180%) blur(20px);
      border-bottom:1px solid var(--line-soft);
      z-index:1000;
      height:56px;
    }
    .header-inner{
      max-width:1280px;margin:0 auto;
      display:flex;align-items:center;justify-content:space-between;
      padding:0 32px;height:100%;
    }
    .logo{
      font-family:'Inter',sans-serif;
      font-size:18px;font-weight:700;letter-spacing:-0.01em;
      color:var(--ink);
    }
    .logo span{font-weight:300;color:var(--ink-sub);font-size:12px;margin-left:6px;letter-spacing:0.08em}
    .nav{display:flex;gap:32px;align-items:center}
    .nav a{
      font-size:13px;font-weight:500;color:var(--ink-mid);
      letter-spacing:0.01em;
    }
    .nav-cta{
      background:var(--ink);color:#fff !important;
      padding:8px 18px;border-radius:980px;font-size:12px !important;
      font-weight:500;
    }
    .nav-cta:hover{opacity:0.85}
    .menu-toggle{display:none}
    @media(max-width:860px){
      .nav{display:none}
      .menu-toggle{display:flex;flex-direction:column;gap:4px;padding:8px}
      .menu-toggle span{display:block;width:20px;height:1.5px;background:var(--ink)}
    }

    /* ===== CONTAINER ===== */
    .container{max-width:1180px;margin:0 auto;padding:0 32px}
    .container-wide{max-width:1280px;margin:0 auto;padding:0 32px}
    .container-narrow{max-width:860px;margin:0 auto;padding:0 32px}

    /* ===== SECTION ===== */
    section{padding:120px 0;position:relative}
    .section-soft{background:var(--bg-soft)}
    .section-tight{padding:80px 0}
    @media(max-width:768px){section{padding:80px 0}}

    /* ===== TYPOGRAPHY ===== */
    .eyebrow{
      display:inline-block;
      font-family:'Inter',sans-serif;
      font-size:13px;font-weight:500;
      color:var(--ink-sub);
      letter-spacing:0.18em;
      text-transform:uppercase;
      margin-bottom:24px;
    }
    .eyebrow-dot::before{
      content:'';display:inline-block;
      width:6px;height:6px;border-radius:50%;
      background:var(--accent);
      margin-right:10px;vertical-align:middle;
    }
    h1.display{
      font-family:'Inter','Noto Sans JP',sans-serif;
      font-size:clamp(48px,7vw,96px);
      font-weight:700;
      letter-spacing:-0.035em;
      line-height:1.05;
      color:var(--ink);
      margin-bottom:24px;
    }
    h2.section-title{
      font-family:'Inter','Noto Sans JP',sans-serif;
      font-size:clamp(34px,4.5vw,56px);
      font-weight:600;
      letter-spacing:-0.025em;
      line-height:1.15;
      color:var(--ink);
      margin-bottom:24px;
    }
    h3.subhead{
      font-size:clamp(22px,2.5vw,32px);
      font-weight:600;
      letter-spacing:-0.018em;
      line-height:1.3;
      margin-bottom:16px;
    }
    .lead{
      font-size:clamp(18px,1.9vw,22px);
      color:var(--ink-mid);
      line-height:1.65;
      max-width:760px;
      font-weight:400;
      letter-spacing:0;
    }
    .body-text{
      font-size:16px;
      color:var(--ink-mid);
      line-height:1.85;
    }
    .small-text{
      font-size:13px;
      color:var(--ink-sub);
      letter-spacing:0.02em;
    }

    /* ===== BUTTONS ===== */
    .btn{
      display:inline-flex;align-items:center;justify-content:center;
      gap:8px;
      padding:13px 28px;
      border-radius:980px;
      font-size:14px;font-weight:500;
      letter-spacing:0.01em;
      transition:all 0.25s var(--ease);
      cursor:pointer;
    }
    .btn-primary{background:var(--ink);color:#fff}
    .btn-primary:hover{opacity:0.85;transform:translateY(-1px)}
    .btn-secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}
    .btn-secondary:hover{background:var(--bg-soft);border-color:var(--ink)}
    .btn-link{
      display:inline-flex;align-items:center;gap:6px;
      font-size:14px;font-weight:500;color:var(--ink);
      padding:0;
    }
    .btn-link::after{content:'→';transition:transform 0.25s var(--ease)}
    .btn-link:hover::after{transform:translateX(4px)}

    /* ===== HERO ===== */
    .hero{
      padding:170px 0 120px;
      background:
        radial-gradient(ellipse 80% 50% at 50% -20%, rgba(26,40,66,0.05), transparent 50%),
        linear-gradient(180deg,#fff 0%,#f8f9fb 100%);
      position:relative;
      overflow:hidden;
    }
    .hero-grid{
      position:absolute;inset:0;
      background-image:
        linear-gradient(rgba(0,0,0,0.018) 1px,transparent 1px),
        linear-gradient(90deg,rgba(0,0,0,0.018) 1px,transparent 1px);
      background-size:64px 64px;
      mask-image:linear-gradient(180deg,rgba(0,0,0,0.6) 0%,transparent 100%);
      pointer-events:none;
    }
    .hero-content{position:relative;z-index:2;text-align:center}
    .hero-eyebrow{
      display:inline-flex;align-items:center;gap:10px;
      padding:6px 16px;
      background:rgba(255,255,255,0.7);
      backdrop-filter:blur(8px);
      border:1px solid var(--line-soft);
      border-radius:980px;
      font-size:12px;font-weight:500;
      color:var(--ink-sub);
      letter-spacing:0.12em;
      margin-bottom:32px;
    }
    .hero-eyebrow::before{
      content:'';width:6px;height:6px;border-radius:50%;
      background:#34c759;
      box-shadow:0 0 0 4px rgba(52,199,89,0.2);
    }
    .hero-subtitle{
      font-size:clamp(20px,2.4vw,28px);
      font-weight:400;
      color:var(--ink-mid);
      max-width:780px;
      margin:0 auto 32px;
      line-height:1.55;
      letter-spacing:-0.005em;
    }
    .hero-desc{
      font-size:16px;
      color:var(--ink-sub);
      max-width:640px;
      margin:0 auto 48px;
      line-height:1.85;
    }
    .hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:80px}

    /* Hero visual */
    .hero-visual{
      max-width:1080px;margin:0 auto;
      border-radius:var(--radius-lg);
      overflow:hidden;
      position:relative;
      aspect-ratio:16/9;
      background:linear-gradient(135deg,#f5f5f7 0%,#e8e8ed 100%);
      box-shadow:0 30px 80px -20px rgba(0,0,0,0.15);
    }
    .hero-visual img{
      width:100%;height:100%;object-fit:cover;
    }
    .hero-canvas{
      position:absolute;inset:0;
      background:
        radial-gradient(ellipse 60% 40% at 30% 30%, rgba(26,40,66,0.04), transparent 60%),
        radial-gradient(ellipse 50% 40% at 80% 70%, rgba(26,40,66,0.03), transparent 60%),
        linear-gradient(135deg,#fafafa 0%,#f5f5f7 100%);
    }
    .hc-grid{
      position:absolute;inset:0;
      background-image:
        linear-gradient(rgba(0,0,0,0.025) 1px,transparent 1px),
        linear-gradient(90deg,rgba(0,0,0,0.025) 1px,transparent 1px);
      background-size:80px 80px;
      mask-image:radial-gradient(ellipse 80% 60% at center,rgba(0,0,0,0.8),transparent 90%);
    }
    .hc-lines{position:absolute;inset:0;width:100%;height:100%}
    .hc-node{
      position:absolute;
      width:12px;height:12px;
      border-radius:50%;
      background:#1a2842;
      box-shadow:0 0 0 6px rgba(26,40,66,0.08);
      animation:nodePulse 4s ease-in-out infinite;
    }
    .hc-n1{top:26%;left:15%}
    .hc-n2{top:38%;left:35%;animation-delay:0.6s}
    .hc-n3{top:24%;left:55%;animation-delay:1.2s}
    .hc-n4{top:44%;left:75%;animation-delay:1.8s}
    .hc-n5{top:30%;left:85%;animation-delay:2.4s}
    @keyframes nodePulse{
      0%,100%{box-shadow:0 0 0 6px rgba(26,40,66,0.08)}
      50%{box-shadow:0 0 0 14px rgba(26,40,66,0.04)}
    }
    .hc-label{
      position:absolute;
      font-family:'Inter',sans-serif;
      font-size:11px;font-weight:500;
      color:var(--ink-mute);
      letter-spacing:0.15em;
      padding:6px 14px;
      background:rgba(255,255,255,0.7);
      backdrop-filter:blur(6px);
      border:1px solid var(--line-soft);
      border-radius:980px;
    }
    .hc-l1{top:62%;left:15%}
    .hc-l2{top:65%;left:46%}
    .hc-l3{top:62%;left:75%}
    @media(max-width:768px){
      .hc-label{font-size:9px;padding:4px 10px}
      .hc-l2{display:none}
    }

    /* ===== STATS BAND ===== */
    .stats{
      padding:80px 0;
      border-top:1px solid var(--line-soft);
      border-bottom:1px solid var(--line-soft);
    }
    .stats-grid{
      display:grid;grid-template-columns:repeat(4,1fr);
      gap:32px;
    }
    .stat-item{text-align:left}
    .stat-num{
      font-family:'Inter',sans-serif;
      font-size:clamp(40px,5vw,64px);
      font-weight:600;
      letter-spacing:-0.035em;
      line-height:1;
      color:var(--ink);
      margin-bottom:12px;
    }
    .stat-num span{font-size:0.5em;color:var(--ink-sub);font-weight:400;margin-left:4px}
    .stat-label{
      font-size:13px;color:var(--ink-sub);
      letter-spacing:0.02em;
    }
    @media(max-width:768px){
      .stats-grid{grid-template-columns:repeat(2,1fr);gap:40px}
    }

    /* ===== VISION ===== */
    .vision-hero{
      text-align:center;
      padding:60px 0 80px;
    }
    .vision-quote{
      font-family:'Inter',sans-serif;
      font-size:clamp(36px,5vw,72px);
      font-weight:600;
      letter-spacing:-0.03em;
      line-height:1.1;
      color:var(--ink);
      margin-bottom:32px;
    }
    .vision-quote-en{
      font-size:16px;font-style:italic;
      color:var(--ink-sub);
      letter-spacing:0.01em;
      max-width:680px;margin:0 auto 40px;
    }
    .vision-desc{
      font-size:17px;line-height:1.9;
      color:var(--ink-mid);
      max-width:720px;margin:0 auto;
    }

    /* ===== MISSION / VALUE CARDS ===== */
    .value-grid{
      display:grid;grid-template-columns:repeat(2,1fr);
      gap:24px;margin-top:64px;
    }
    .value-card{
      background:#fff;
      border:1px solid var(--line-soft);
      border-radius:var(--radius-lg);
      padding:40px;
      transition:all 0.3s var(--ease);
    }
    .value-card:hover{
      border-color:var(--ink);
      transform:translateY(-2px);
      box-shadow:0 20px 40px -12px rgba(0,0,0,0.08);
    }
    .value-num{
      font-family:'Inter',sans-serif;
      font-size:13px;font-weight:600;
      color:var(--ink-mute);
      letter-spacing:0.1em;
      margin-bottom:16px;
    }
    .value-name{
      font-size:24px;font-weight:600;
      letter-spacing:-0.015em;
      margin-bottom:6px;
    }
    .value-name-en{
      font-size:13px;
      color:var(--ink-sub);
      letter-spacing:0.02em;
      margin-bottom:24px;
    }
    .value-quote{
      font-size:14px;color:var(--ink-mid);
      line-height:1.7;font-style:italic;
      padding:16px 0;
      border-top:1px solid var(--line-soft);
      margin-top:24px;
    }
    .value-quote cite{
      display:block;font-size:12px;
      color:var(--ink-sub);font-style:normal;
      margin-top:12px;letter-spacing:0.02em;
    }
    @media(max-width:768px){.value-grid{grid-template-columns:1fr}}

    /* ===== BUSINESS SEGMENTS ===== */
    .biz-grid{
      display:grid;grid-template-columns:repeat(2,1fr);
      gap:24px;margin-top:64px;
    }
    .biz-card{
      background:#fff;
      border:1px solid var(--line-soft);
      border-radius:var(--radius-lg);
      padding:48px;
      transition:all 0.3s var(--ease);
      position:relative;
      overflow:hidden;
    }
    .biz-card::before{
      content:'';position:absolute;
      top:0;left:0;right:0;height:2px;
      background:var(--accent);
      transform:scaleX(0);transform-origin:left;
      transition:transform 0.4s var(--ease);
    }
    .biz-card:hover{
      transform:translateY(-3px);
      box-shadow:0 25px 50px -15px rgba(0,0,0,0.1);
    }
    .biz-card:hover::before{transform:scaleX(1)}
    .biz-icon{
      width:48px;height:48px;
      background:var(--bg-soft);
      border-radius:14px;
      display:flex;align-items:center;justify-content:center;
      margin-bottom:24px;
    }
    .biz-icon svg{width:24px;height:24px;color:var(--ink);stroke-width:1.5}
    .biz-title{
      font-size:22px;font-weight:600;
      letter-spacing:-0.015em;
      margin-bottom:12px;
    }
    .biz-en{
      font-size:11px;color:var(--ink-mute);
      letter-spacing:0.15em;text-transform:uppercase;
      margin-bottom:16px;
    }
    .biz-desc{
      font-size:15px;color:var(--ink-mid);
      line-height:1.75;
      margin-bottom:20px;
    }
    .biz-tags{display:flex;flex-wrap:wrap;gap:8px}
    .biz-tag{
      font-size:12px;
      color:var(--ink-sub);
      padding:5px 12px;
      background:var(--bg-soft);
      border-radius:980px;
    }
    @media(max-width:768px){.biz-grid{grid-template-columns:1fr}}

    /* ===== SERVICES ===== */
    .service-grid{
      display:grid;grid-template-columns:repeat(3,1fr);
      gap:1px;
      background:var(--line-soft);
      border-radius:var(--radius-lg);
      overflow:hidden;
      margin-top:64px;
      border:1px solid var(--line-soft);
    }
    .service-item{
      background:#fff;
      padding:40px 32px;
      transition:background 0.3s var(--ease);
    }
    .service-item:hover{background:var(--bg-soft)}
    .service-icon{
      width:36px;height:36px;
      margin-bottom:20px;
      display:flex;align-items:center;justify-content:center;
      color:var(--ink);
    }
    .service-icon svg{width:32px;height:32px;stroke-width:1.4}
    .service-title{
      font-size:18px;font-weight:600;
      letter-spacing:-0.01em;
      margin-bottom:10px;
    }
    .service-desc{
      font-size:14px;color:var(--ink-sub);
      line-height:1.75;
    }
    .service-item-wide{grid-column:1 / -1}
    @media(max-width:900px){.service-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:560px){.service-grid{grid-template-columns:1fr}}

    /* ===== WORKS ===== */
    .works-grid{
      display:grid;grid-template-columns:repeat(3,1fr);
      gap:24px;margin-top:64px;
    }
    .work-card{
      background:#fff;
      border-radius:var(--radius-lg);
      overflow:hidden;
      border:1px solid var(--line-soft);
      transition:all 0.3s var(--ease);
      display:flex;flex-direction:column;
    }
    .work-card:hover{
      transform:translateY(-4px);
      box-shadow:0 30px 60px -20px rgba(0,0,0,0.12);
      border-color:var(--line);
    }
    .work-img{
      aspect-ratio:16/10;
      overflow:hidden;
      position:relative;
      background:var(--bg-soft);
    }
    .work-img img{
      width:100%;height:100%;object-fit:cover;
      transition:transform 0.6s var(--ease);
    }
    .work-card:hover .work-img img{transform:scale(1.05)}
    .work-tag{
      position:absolute;top:16px;left:16px;
      background:rgba(255,255,255,0.95);
      backdrop-filter:blur(8px);
      padding:6px 12px;border-radius:980px;
      font-size:11px;font-weight:500;
      letter-spacing:0.05em;
      color:var(--ink);
    }
    .work-body{padding:28px;flex:1;display:flex;flex-direction:column}
    .work-client{
      font-size:12px;color:var(--ink-sub);
      letter-spacing:0.05em;
      margin-bottom:8px;
    }
    .work-title{
      font-size:18px;font-weight:600;
      letter-spacing:-0.015em;
      line-height:1.4;
      margin-bottom:16px;
      flex:1;
    }
    .work-metric{
      display:flex;align-items:baseline;gap:8px;
      padding-top:16px;
      border-top:1px solid var(--line-soft);
    }
    .work-metric-num{
      font-family:'Inter',sans-serif;
      font-size:28px;font-weight:600;
      letter-spacing:-0.025em;
      color:var(--ink);
      line-height:1;
    }
    .work-metric-label{
      font-size:12px;color:var(--ink-sub);
    }
    @media(max-width:900px){.works-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:600px){.works-grid{grid-template-columns:1fr}}

    /* ===== TIMELINE ===== */
    .timeline{
      max-width:760px;margin:64px auto 0;
      position:relative;
    }
    .timeline::before{
      content:'';position:absolute;
      left:80px;top:8px;bottom:8px;
      width:1px;background:var(--line);
    }
    .timeline-item{
      display:grid;grid-template-columns:80px 1fr;
      gap:48px;align-items:start;
      padding:24px 0;position:relative;
    }
    .timeline-item::before{
      content:'';position:absolute;
      left:76px;top:32px;
      width:9px;height:9px;border-radius:50%;
      background:var(--ink);
      border:2px solid #fff;
      box-shadow:0 0 0 1px var(--line);
    }
    .timeline-year{
      font-family:'Inter',sans-serif;
      font-size:18px;font-weight:600;
      color:var(--ink);
      letter-spacing:-0.01em;
      line-height:1.75;
    }
    .timeline-content{
      padding-left:32px;
      font-size:15px;color:var(--ink-mid);
      line-height:1.75;
    }
    @media(max-width:600px){
      .timeline::before{left:50px}
      .timeline-item{grid-template-columns:50px 1fr;gap:24px}
      .timeline-item::before{left:46px}
      .timeline-content{padding-left:16px}
    }

    /* ===== COMPANY TABLE ===== */
    .company-table{
      max-width:760px;margin:64px auto 0;
      border-top:1px solid var(--line-soft);
    }
    .company-row{
      display:grid;grid-template-columns:200px 1fr;
      gap:32px;
      padding:24px 0;
      border-bottom:1px solid var(--line-soft);
      font-size:15px;
    }
    .company-label{
      font-weight:500;color:var(--ink-sub);
      letter-spacing:0.02em;
    }
    .company-value{
      color:var(--ink);line-height:1.7;
    }
    @media(max-width:600px){
      .company-row{grid-template-columns:1fr;gap:4px;padding:18px 0}
      .company-label{font-size:12px}
    }

    /* ===== CTA ===== */
    .cta-section{
      background:var(--ink);color:#fff;
      padding:140px 0;text-align:center;
      position:relative;overflow:hidden;
    }
    .cta-section::before{
      content:'';position:absolute;inset:0;
      background:
        radial-gradient(ellipse 60% 50% at 50% 0%, rgba(255,255,255,0.05), transparent 60%),
        radial-gradient(ellipse 80% 60% at 50% 100%, rgba(255,255,255,0.03), transparent 60%);
      pointer-events:none;
    }
    .cta-section .container{position:relative;z-index:2}
    .cta-section .eyebrow{color:rgba(255,255,255,0.5)}
    .cta-section h2{
      font-size:clamp(36px,5vw,64px);
      font-weight:600;
      letter-spacing:-0.025em;
      line-height:1.1;
      margin-bottom:24px;
    }
    .cta-section .lead{
      color:rgba(255,255,255,0.7);
      margin:0 auto 48px;
    }
    .cta-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
    .cta-buttons .btn-primary{background:#fff;color:var(--ink)}
    .cta-buttons .btn-secondary{border-color:rgba(255,255,255,0.2);color:#fff}
    .cta-buttons .btn-secondary:hover{background:rgba(255,255,255,0.08);border-color:#fff}

    /* ===== FOOTER ===== */
    .footer{
      background:#fff;
      padding:80px 0 40px;
      border-top:1px solid var(--line-soft);
    }
    .footer-top{
      display:grid;grid-template-columns:2fr 1fr 1fr 1fr;
      gap:48px;margin-bottom:64px;
    }
    .footer-brand .logo{font-size:24px;margin-bottom:16px;display:block}
    .footer-address{
      font-size:13px;color:var(--ink-sub);
      line-height:1.85;
    }
    .footer-col h5{
      font-size:12px;font-weight:600;
      letter-spacing:0.1em;text-transform:uppercase;
      color:var(--ink);margin-bottom:20px;
    }
    .footer-col a{
      display:block;font-size:14px;
      color:var(--ink-sub);
      padding:6px 0;
    }
    .footer-bottom{
      padding-top:32px;
      border-top:1px solid var(--line-soft);
      display:flex;justify-content:space-between;align-items:center;
      flex-wrap:wrap;gap:16px;
      font-size:12px;color:var(--ink-mute);
    }
    @media(max-width:768px){
      .footer-top{grid-template-columns:1fr 1fr;gap:32px}
    }

    /* ===== REVEAL ANIMATIONS — ふわっと大胆 ===== */
    :root{
      --spring:cubic-bezier(0.16,1,0.3,1);
      --bounce:cubic-bezier(0.34,1.56,0.64,1);
    }
    .reveal{
      opacity:0;
      transform:translateY(50px) scale(0.96);
      filter:blur(8px);
      transition:opacity 1.2s var(--spring),
                 transform 1.2s var(--spring),
                 filter 1.2s var(--spring);
      will-change:transform,opacity,filter;
    }
    .reveal.visible{
      opacity:1;
      transform:translateY(0) scale(1);
      filter:blur(0);
    }
    /* Image-specific dramatic reveal */
    .reveal-img,
    .img-block-visual,
    .work-img,
    .gallery-item,
    .process-img,
    .tab-panel-img,
    .hero-visual{
      opacity:0;
      transform:translateY(90px) scale(0.88);
      filter:blur(20px) brightness(1.1);
      transition:opacity 1.8s var(--spring),
                 transform 1.8s var(--spring),
                 filter 1.8s var(--spring);
      will-change:transform,opacity,filter;
    }
    .reveal-img.visible,
    .img-block-visual.visible,
    .work-img.visible,
    .gallery-item.visible,
    .process-img.visible,
    .tab-panel-img.visible,
    .hero-visual.visible{
      opacity:1;
      transform:translateY(0) scale(1);
      filter:blur(0) brightness(1);
    }
    /* Slide-in from side variants */
    .reveal-left{transform:translateX(-60px) scale(0.96)}
    .reveal-left.visible{transform:translateX(0) scale(1)}
    .reveal-right{transform:translateX(60px) scale(0.96)}
    .reveal-right.visible{transform:translateX(0) scale(1)}

    /* Headline impact reveal */
    h1.display.reveal{transform:translateY(80px) scale(0.92);filter:blur(14px)}
    h1.display.reveal.visible{transform:translateY(0) scale(1);filter:blur(0)}
    h2.section-title.reveal{transform:translateY(60px) scale(0.94);filter:blur(10px)}
    h2.section-title.reveal.visible{transform:translateY(0) scale(1);filter:blur(0)}

    .delay-1{transition-delay:0.12s}
    .delay-2{transition-delay:0.24s}
    .delay-3{transition-delay:0.36s}
    .delay-4{transition-delay:0.48s}
    .delay-5{transition-delay:0.6s}

    /* Reduce motion preference */
    @media (prefers-reduced-motion: reduce){
      .reveal,.reveal-img,.img-block-visual,.work-img,.gallery-item,.process-img,.tab-panel-img,.hero-visual{
        opacity:1;transform:none;filter:none;transition:opacity 0.3s ease;
      }
    }

    /* ===== MARQUEE (TRUST STRIP) ===== */
    .marquee{
      padding:32px 0;
      border-top:1px solid var(--line-soft);
      border-bottom:1px solid var(--line-soft);
      overflow:hidden;
      background:#fff;
      position:relative;
    }
    .marquee::before,.marquee::after{
      content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;
      pointer-events:none;
    }
    .marquee::before{left:0;background:linear-gradient(90deg,#fff,transparent)}
    .marquee::after{right:0;background:linear-gradient(-90deg,#fff,transparent)}
    .marquee-track{
      display:flex;gap:64px;
      width:max-content;
      animation:marqueeScroll 40s linear infinite;
    }
    .marquee-item{
      display:flex;align-items:center;gap:14px;
      font-size:14px;font-weight:500;
      color:var(--ink-mid);
      letter-spacing:0.02em;
      white-space:nowrap;
    }
    .marquee-item .dot{
      width:6px;height:6px;border-radius:50%;
      background:var(--accent);
      opacity:0.5;
    }
    @keyframes marqueeScroll{
      0%{transform:translateX(0)}
      100%{transform:translateX(-50%)}
    }

    /* ===== IMAGE BLOCK (SPLIT LAYOUT) ===== */
    .img-block{
      display:grid;grid-template-columns:1fr 1fr;
      gap:80px;align-items:center;
    }
    .img-block.reverse{direction:rtl}
    .img-block.reverse > *{direction:ltr}
    .img-block-text{padding:20px 0}
    .img-block-text h3{
      font-size:clamp(28px,3.5vw,44px);
      font-weight:600;
      letter-spacing:-0.022em;
      line-height:1.2;
      margin-bottom:24px;
    }
    .img-block-text p{
      font-size:16px;line-height:1.85;color:var(--ink-mid);
      margin-bottom:24px;
    }
    .img-block-visual{
      position:relative;
      aspect-ratio:4/5;
      border-radius:var(--radius-lg);
      overflow:hidden;
      background:var(--bg-soft);
    }
    .img-block-visual img{
      width:100%;height:100%;object-fit:cover;
      transition:transform 1.2s var(--ease);
    }
    .img-block-visual:hover img{transform:scale(1.04)}
    .img-block-meta{
      position:absolute;bottom:24px;left:24px;
      background:rgba(255,255,255,0.95);
      backdrop-filter:blur(10px);
      padding:14px 20px;border-radius:12px;
      font-size:12px;color:var(--ink-sub);
      letter-spacing:0.05em;
      border:1px solid var(--line-soft);
    }
    .img-block-meta strong{display:block;font-size:18px;color:var(--ink);margin-bottom:2px;letter-spacing:-0.01em}
    @media(max-width:860px){
      .img-block{grid-template-columns:1fr;gap:40px}
      .img-block.reverse{direction:ltr}
    }

    /* ===== PROCESS SECTION ===== */
    .process-grid{
      display:grid;grid-template-columns:repeat(4,1fr);
      gap:24px;margin-top:64px;
    }
    .process-card{
      background:#fff;border-radius:var(--radius-lg);
      overflow:hidden;
      border:1px solid var(--line-soft);
      transition:all 0.4s var(--ease);
      display:flex;flex-direction:column;
      position:relative;
    }
    .process-card::after{
      content:'';position:absolute;top:24px;right:24px;
      width:32px;height:32px;
      border:1px solid var(--line);
      border-radius:50%;
      display:flex;align-items:center;justify-content:center;
      transition:all 0.3s var(--ease);
      z-index:3;
    }
    .process-card:hover{
      transform:translateY(-6px);
      box-shadow:0 30px 60px -20px rgba(0,0,0,0.12);
    }
    .process-card:hover::after{
      background:var(--ink);border-color:var(--ink);
    }
    .process-img{
      aspect-ratio:1/1;overflow:hidden;position:relative;
    }
    .process-img img{
      width:100%;height:100%;object-fit:cover;
      transition:transform 1s var(--ease);
      filter:grayscale(0.2);
    }
    .process-card:hover .process-img img{transform:scale(1.08);filter:grayscale(0)}
    .process-step{
      position:absolute;top:16px;left:16px;
      background:rgba(255,255,255,0.92);
      backdrop-filter:blur(10px);
      padding:6px 12px;border-radius:980px;
      font-size:11px;font-weight:600;
      color:var(--ink);letter-spacing:0.08em;
      z-index:2;
    }
    .process-body{padding:28px;flex:1}
    .process-title{
      font-size:17px;font-weight:600;
      letter-spacing:-0.01em;line-height:1.4;
      margin-bottom:10px;
    }
    .process-desc{
      font-size:13px;color:var(--ink-sub);
      line-height:1.7;
    }
    @media(max-width:900px){.process-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:560px){.process-grid{grid-template-columns:1fr}}

    /* ===== SERVICE TABS ===== */
    .service-tabs{
      display:grid;grid-template-columns:300px 1fr;
      gap:48px;margin-top:64px;
      align-items:start;
    }
    .tab-list{
      display:flex;flex-direction:column;gap:4px;
      position:sticky;top:80px;
    }
    .tab-btn{
      text-align:left;
      padding:18px 24px;
      border-radius:14px;
      font-size:15px;font-weight:500;
      color:var(--ink-sub);
      transition:all 0.25s var(--ease);
      letter-spacing:-0.005em;
      position:relative;
      display:flex;justify-content:space-between;align-items:center;
    }
    .tab-btn::after{
      content:'';width:14px;height:14px;
      border-right:1.5px solid var(--ink-mute);
      border-bottom:1.5px solid var(--ink-mute);
      transform:rotate(-45deg);
      opacity:0;transition:all 0.25s var(--ease);
    }
    .tab-btn:hover{background:var(--bg-soft);color:var(--ink)}
    .tab-btn.active{
      background:var(--ink);color:#fff;
    }
    .tab-btn.active::after{
      border-color:#fff;opacity:1;
    }
    .tab-num{
      font-size:11px;font-weight:500;
      color:var(--ink-mute);
      margin-right:8px;
    }
    .tab-btn.active .tab-num{color:rgba(255,255,255,0.5)}
    .tab-panels{
      position:relative;
      min-height:480px;
    }
    .tab-panel{
      position:absolute;inset:0;
      opacity:0;transform:translateY(20px);
      transition:all 0.5s var(--ease);
      pointer-events:none;
    }
    .tab-panel.active{
      opacity:1;transform:translateY(0);
      pointer-events:auto;position:relative;
    }
    .tab-panel-img{
      aspect-ratio:16/9;
      border-radius:var(--radius-lg);
      overflow:hidden;
      margin-bottom:32px;
      background:var(--bg-soft);
      position:relative;
    }
    .tab-panel-img img{
      width:100%;height:100%;object-fit:cover;
    }
    .tab-panel-tag{
      position:absolute;top:20px;left:20px;
      background:rgba(255,255,255,0.95);
      backdrop-filter:blur(10px);
      padding:8px 16px;border-radius:980px;
      font-size:12px;font-weight:500;
      color:var(--ink);
      letter-spacing:0.05em;
    }
    .tab-panel h3{
      font-size:28px;font-weight:600;
      letter-spacing:-0.02em;
      margin-bottom:16px;
    }
    .tab-panel p{
      font-size:16px;line-height:1.85;color:var(--ink-mid);
      margin-bottom:24px;
    }
    .tab-feature{
      display:grid;grid-template-columns:repeat(2,1fr);
      gap:16px;margin-top:24px;
    }
    .tab-feature-item{
      padding:18px 20px;
      background:#fff;
      border:1px solid var(--line-soft);
      border-radius:12px;
    }
    .tab-feature-item .feat-icon{
      width:24px;height:24px;
      color:var(--ink);
      margin-bottom:10px;
    }
    .tab-feature-item strong{
      display:block;font-size:14px;font-weight:600;
      margin-bottom:4px;letter-spacing:-0.005em;
    }
    .tab-feature-item span{
      font-size:12px;color:var(--ink-sub);line-height:1.6;
    }
    @media(max-width:900px){
      .service-tabs{grid-template-columns:1fr;gap:32px}
      .tab-list{flex-direction:row;overflow-x:auto;position:static;padding-bottom:8px;gap:8px}
      .tab-btn{flex-shrink:0;padding:12px 18px;font-size:13px}
      .tab-btn::after{display:none}
      .tab-feature{grid-template-columns:1fr}
    }

    /* ===== ENHANCED WORK CARDS ===== */
    .work-img::after{
      content:'';position:absolute;inset:0;
      background:linear-gradient(180deg,transparent 40%,rgba(29,29,31,0.65) 100%);
      opacity:0;transition:opacity 0.4s var(--ease);
    }
    .work-card:hover .work-img::after{opacity:1}
    .work-arrow{
      position:absolute;bottom:16px;right:16px;
      width:40px;height:40px;
      background:rgba(255,255,255,0.95);
      backdrop-filter:blur(10px);
      border-radius:50%;
      display:flex;align-items:center;justify-content:center;
      opacity:0;transform:translate(8px,8px);
      transition:all 0.4s var(--ease);
      z-index:2;
    }
    .work-arrow svg{width:16px;height:16px;color:var(--ink)}
    .work-card:hover .work-arrow{opacity:1;transform:translate(0,0)}

    /* ===== GALLERY ===== */
    .gallery{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      grid-template-rows:200px 200px;
      gap:8px;margin-top:64px;
      border-radius:var(--radius-lg);
      overflow:hidden;
    }
    .gallery-item{
      overflow:hidden;
      position:relative;
      background:var(--bg-soft);
    }
    .gallery-item img{
      width:100%;height:100%;object-fit:cover;
      transition:transform 0.8s var(--ease);
    }
    .gallery-item:hover img{transform:scale(1.06)}
    .gallery-item:nth-child(1){grid-column:span 2;grid-row:span 2}
    .gallery-item:nth-child(2){grid-row:span 1}
    .gallery-item:nth-child(3){grid-row:span 1}
    .gallery-item:nth-child(4){grid-row:span 1}
    .gallery-item:nth-child(5){grid-row:span 1}
    @media(max-width:768px){
      .gallery{grid-template-columns:repeat(2,1fr);grid-template-rows:auto auto auto}
      .gallery-item:nth-child(1){grid-column:span 2}
    }

    /* ===== ANIMATED COUNTER ===== */
    .stat-num[data-count]{
      transition:none;
    }

    /* ===== PARALLAX HINT ===== */
    .parallax-slow{will-change:transform}

    /* ===== ACCENT BLOB ===== */
    .blob-accent{
      position:absolute;
      width:400px;height:400px;
      border-radius:50%;
      background:radial-gradient(circle,rgba(26,40,66,0.08),transparent 70%);
      filter:blur(40px);
      pointer-events:none;
      z-index:0;
    }
