:root {
      --white:#fff;
      --bg:#f6f6f6;
      --soft:#eeeeee;
      --paper:#F4F1EA;
      --line:#d8d2c8;
      --line-dark:#9b9288;
      --text:#17282d;
      --muted:#647074;
      --faint:#a0a6a8;
      --teal:#0E4D5C;
      --teal-dark:#062B33;
      --teal-soft:#123f49;
      --cream:#F4F1EA;
      --offwhite:#F7F4EE;
      --coral:#E97451;
      --teal-wire:#0E4D5C;
      --teal-wire-dark:#062B33;
      --bar-h:38px;
      --header-h:72px;
      --fixed-h:calc(var(--bar-h) + var(--header-h));
      --max:1180px;
    }

    * { box-sizing:border-box; }

    html { scroll-behavior:smooth; }

    body {
      margin:0;
      background:var(--white);
      color:var(--text);
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif, "Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif, "Yu Mincho", "Hiragino Mincho ProN", serif;
      font-weight:500;
      line-height:1.85;
      font-variant-numeric:lining-nums tabular-nums;
    }

    a { color:inherit; text-decoration:none; }

    .wire-label,
    .question-note {
      display:none;
    }

    .waiting-bar {
      position:fixed;
      top:0;
      left:0;
      right:0;
      height:var(--bar-h);
      z-index:1000;
      display:grid;
      grid-template-columns:1fr auto 1fr;
      align-items:center;
      padding:0 32px;
      background:rgba(255,255,255,.96);
      border-bottom:1px solid var(--line);
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:12px;
      letter-spacing:.06em;
    }

    .waiting-bar .status { grid-column:2; color:#333; }

    .waiting-bar .wait-link {
      justify-self:end;
      padding:5px 14px;
      border:1px solid var(--line-dark);
      background:var(--white);
      font-size:11px;
    }

    .site-header {
      position:fixed;
      top:var(--bar-h);
      left:0;
      right:0;
      height:var(--header-h);
      z-index:1001;
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:0 48px;
      background:var(--teal-dark);
      border-bottom:1px solid rgba(244,241,234,.10);
      color:var(--offwhite);
    }
    .site-header a { color:var(--offwhite); }

    .logo {
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:19px;
      letter-spacing:.04em;
      color:var(--offwhite);
    }

    .nav {
      display:flex;
      gap:32px;
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:12px;
      letter-spacing:.08em;
      color:var(--offwhite);
    }
    .nav a { color:var(--offwhite); opacity:.85; transition:opacity .2s ease; }
    .nav a:hover { opacity:1; }

    /* Hamburger menu (mobile only) */
    .menu-toggle {
      display:none;
      background:none;
      border:none;
      cursor:pointer;
      padding:12px;
      width:44px;
      height:44px;
      flex-direction:column;
      justify-content:space-between;
      align-items:center;
      z-index:1001;
      overflow:visible;
      flex-shrink:0;
    }
    .menu-toggle span {
      display:block;
      width:20px;
      height:2px;
      background:var(--offwhite);
      transform-origin:center;
      transition:transform .3s ease, opacity .3s ease;
    }
    .menu-toggle.is-open span:nth-child(1) {
      transform:translateY(9px) rotate(45deg);
    }
    .menu-toggle.is-open span:nth-child(2) {
      opacity:0;
    }
    .menu-toggle.is-open span:nth-child(3) {
      transform:translateY(-9px) rotate(-45deg);
    }

    /* Mobile menu overlay */
    .mobile-menu {
      position:fixed;
      top:0;
      left:0;
      right:0;
      bottom:0;
      background:var(--teal-dark);
      z-index:1000;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:28px;
      opacity:0;
      visibility:hidden;
      transition:opacity .3s ease, visibility .3s ease;
      padding:80px 24px;
    }
    .mobile-menu.is-open {
      opacity:1;
      visibility:visible;
    }
    .mobile-menu a {
      color:var(--offwhite);
      text-decoration:none;
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:20px;
      letter-spacing:.1em;
      padding:8px 16px;
    }
    .mobile-menu a:hover {
      color:var(--accent-coral);
    }

    @media (max-width:920px) {
      .menu-toggle { display:flex; }
    }

    .color-balance {
      position:fixed;
      left:0;
      right:0;
      top:var(--fixed-h);
      z-index:998;
      transform:translateY(0);
      display:block;
      padding:9px 48px;
      background:#fff;
      border-bottom:1px dashed var(--line);
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:11px;
      letter-spacing:.08em;
      color:#66777c;
    }

    .color-balance span {
      margin-right:18px;
      color:#999;
      letter-spacing:.16em;
    }

    .section {
      position:relative;
      border-bottom:1px solid var(--line);
      background:var(--white);
    }

    .inner {
      max-width:var(--max);
      margin:0 auto;
      padding:118px 40px;
    }

    .center { text-align:center; }

    .headline-en {
      margin:0;
      font-size:clamp(46px, 7vw, 112px);
      font-weight:700;
      line-height:.98;
      letter-spacing:-.04em;
    }

    .headline-en.medium {
      font-size:clamp(38px, 5.4vw, 84px);
      letter-spacing:-.03em;
    }

    .headline-ja {
      margin:22px 0 0;
      font-size:clamp(15px, 1.5vw, 21px);
      font-weight:500;
      letter-spacing:.1em;
      color:rgba(14,77,92,.82);
    }

    .lead {
      max-width:720px;
      margin:28px auto 0;
      color:rgba(14,77,92,.85);
      font-size:16px;
      font-weight:500;
      letter-spacing:.04em;
      line-height:1.95;
    }

    .placeholder {
      border:1px solid var(--line-dark);
      background:
        linear-gradient(24deg, transparent 49.6%, rgba(14,77,92,.22) 50%, transparent 50.4%),
        linear-gradient(-24deg, transparent 49.6%, rgba(14,77,92,.22) 50%, transparent 50.4%),
        var(--offwhite);
      display:flex;
      align-items:center;
      justify-content:center;
      color:rgba(14,77,92,.72);
      font-family:Arial, "Yu Gothic", sans-serif;
      letter-spacing:.14em;
      font-size:11px;
      text-transform:uppercase;
    }

    /* Hero */
    .hero {
      min-height:100vh;
      padding-top:var(--fixed-h);
      overflow:hidden;
      background:var(--teal-dark);
      color:var(--offwhite);
    }

    /* Hero Slideshow */
    .hero-slideshow {
      position:absolute;
      inset:var(--fixed-h) 0 0 0;
      overflow:hidden;
      z-index:1;
      background:linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 64%, #041d23 100%);
    }
    .hero-slide {
      position:absolute;
      inset:0;
      opacity:0;
      transition:opacity .9s ease;
      z-index:1;
      pointer-events:none;
    }
    .hero-slide.active {
      opacity:1;
      z-index:2;
    }
    .hero-slide-bg {
      position:absolute;
      inset:0;
      background-size:cover;
      background-position:center;
      background-repeat:no-repeat;
      transform:scale(1.06);
      transition:transform 4s ease-out;
    }
    .hero-slide.active .hero-slide-bg {
      transform:scale(1);
    }
    .hero-slide-overlay {
      position:absolute;
      inset:0;
      background:linear-gradient(to bottom,
        rgba(0,0,0,.05) 0%,
        rgba(0,0,0,0) 30%,
        rgba(0,0,0,.20) 100%);
      z-index:2;
    }
    .hero-slide-copy {
      position:absolute;
      left:6%;
      bottom:32%;
      text-align:left;
      z-index:3;
      width:55%;
      max-width:640px;
    }
    @media (max-width:920px) {
      .hero-slide-copy {
        left:5%;
        right:5%;
        width:auto;
        max-width:none;
      }
      /* Slide 5 (portrait): mobileでは上部に配置して顔と被らないように */
      .hero-slide[data-slide="4"] .hero-slide-copy {
        top:12%;
        bottom:auto;
        left:5%;
        right:5%;
        width:auto;
        max-width:none;
      }
      .hero-slide[data-slide="4"] .hero-copy-en {
        font-size:clamp(18px, 5vw, 26px);
      }
      .hero-slide[data-slide="4"] .hero-copy-ja {
        font-size:clamp(11px, 2.8vw, 13px);
      }
    }
    .hero-copy-en,
    .hero-copy-ja {
      clip-path:inset(0 110% 0 0);
      -webkit-clip-path:inset(0 110% 0 0);
      transition:clip-path 1s cubic-bezier(.22,.61,.36,1),
                 -webkit-clip-path 1s cubic-bezier(.22,.61,.36,1);
    }
    .hero-slide.active .hero-copy-en {
      clip-path:inset(0 0 0 0);
      -webkit-clip-path:inset(0 0 0 0);
      transition-delay:.2s;
    }
    .hero-slide.active .hero-copy-ja {
      clip-path:inset(0 0 0 0);
      -webkit-clip-path:inset(0 0 0 0);
      transition-delay:.2s;
    }

    .hero-copy-en {
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:clamp(26px, 3.6vw, 52px);
      font-weight:700;
      color:#ffffff;
      letter-spacing:.01em;
      line-height:1.3;
      margin:0 0 18px;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      text-shadow:0 4px 18px rgba(0,0,0,.55);
    }
    .hero-copy-ja {
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:clamp(14px, 1.4vw, 20px);
      font-weight:700;
      color:#ffffff;
      letter-spacing:.14em;
      opacity:1;
      margin:0;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      text-shadow:0 4px 16px rgba(0,0,0,.55);
    }

    /* Slideshow indicator dots */
    .hero-dots {
      position:absolute;
      left:50%;
      bottom:14%;
      transform:translateX(-50%);
      display:flex;
      gap:10px;
      z-index:4;
    }
    .hero-dot {
      width:7px;
      height:7px;
      border-radius:50%;
      background:rgba(244,241,234,.30);
      cursor:pointer;
      transition:background .3s ease, transform .3s ease;
      border:none;
      padding:0;
    }
    .hero-dot.active {
      background:var(--accent-coral);
      transform:scale(1.3);
    }

    @media (prefers-reduced-motion: reduce) {
      .hero-slide,
      .hero-slide-bg,
      .hero-slide-copy { transition:none !important; transform:none !important; }
    }

    /* Mobile scroll performance — disable heavy animations */
    @media (max-width:920px) {
      .hero-slide-bg {
        transform:none !important;
        transition:none !important;
      }
      .hero-slide.active .hero-slide-bg {
        transform:none !important;
      }
      .hero-copy-en,
      .hero-copy-ja {
        clip-path:none !important;
        -webkit-clip-path:none !important;
        transition:opacity .4s ease !important;
        opacity:0;
      }
      .hero-slide.active .hero-copy-en,
      .hero-slide.active .hero-copy-ja {
        opacity:1;
      }
      .notebook,
      .notebook-page {
        transform-style:flat !important;
        -webkit-transform-style:flat !important;
      }
      .hero-slide,
      .hero-slide-bg,
      .media-thumb-img,
      .portrait {
        backface-visibility:hidden;
        -webkit-backface-visibility:hidden;
        transform:translateZ(0);
      }
      /* Disable paper texture image on mobile — uses solid color instead.
         The 338KB image was being layered 14 times in the notebook flip,
         causing severe scroll jank. */
      .page-face {
        background-image:none !important;
        background:
          radial-gradient(ellipse at 100% 100%, rgba(120,80,30,.18) 0%, transparent 35%),
          radial-gradient(ellipse at 0% 0%, rgba(120,80,30,.12) 0%, transparent 30%),
          linear-gradient(135deg, #e6d3aa 0%, #d5c193 50%, #c7b380 100%) !important;
      }
      .notebook-page::after {
        background-image:none !important;
        background:
          radial-gradient(ellipse at 0% 100%, rgba(120,80,30,.18) 0%, transparent 35%),
          radial-gradient(ellipse at 100% 0%, rgba(120,80,30,.12) 0%, transparent 30%),
          linear-gradient(225deg, #e6d3aa 0%, #d5c193 50%, #c7b380 100%) !important;
      }
      .page-face::before,
      .page-face::after { display:none !important; }
    }

    .hero-bottom {
      position:relative;
      z-index:2;
      min-height:calc(100vh - var(--fixed-h));
      display:flex;
      align-items:flex-end;
      justify-content:center;
      padding:0 40px 64px;
      text-align:center;
      background:none;
      pointer-events:none;
    }
    .hero-bottom > * { pointer-events:auto; }

    .hero-sub {
      margin:0 0 14px;
      font-size:clamp(15px, 1.4vw, 20px);
      letter-spacing:.12em;
      font-weight:400;
      color:var(--offwhite);
    }

    .scroll-cue {
      font-family:Arial, "Yu Gothic", sans-serif;
      color:rgba(244,241,234,.66);
      font-size:11px;
      letter-spacing:.16em;
    }

    /* Thought */
    .thought .inner {
      min-height:64vh;
      display:grid;
      place-items:center;
    }

    .thought-text { max-width:980px; }

    /* Question notebook flip */
    .question {
      background:
        radial-gradient(circle at 18% 16%, rgba(233,116,81,.10), transparent 26%),
        radial-gradient(circle at 78% 78%, rgba(255,255,255,.06), transparent 28%),
        linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 68%, #041d23 100%);
      color:var(--offwhite);
    }

    .notebook-question .headline-en,
    .notebook-question .headline-ja {
      color:var(--offwhite);
    }

    .notebook-question .headline-ja {
      opacity:.76;
    }

    .question .inner {
      padding-top:112px;
      padding-bottom:150px;
    }

    .question-layout {
      display:grid;
      grid-template-columns:minmax(280px, 420px) 1fr;
      gap:60px;
      align-items:center;
    }

    .question-heading {
      align-self:start;
      padding-top:24px;
    }

    .question-note {
      margin:34px 0 0;
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:11px;
      letter-spacing:.16em;
      line-height:2;
      color:rgba(244,241,234,.58);
    }

    .notebook-stage {
      position:relative;
      min-height:min(76vh, 760px);
      display:grid;
      place-items:center;
      perspective:2400px;
      user-select:none;
    }

    .notebook-shadow {
      position:absolute;
      width:min(80vw, 700px);
      height:min(72vh, 720px);
      max-width:700px;
      max-height:720px;
      background:
        radial-gradient(ellipse at 55% 95%, rgba(0,0,0,.32) 0%, rgba(0,0,0,.14) 35%, transparent 60%),
        radial-gradient(ellipse at center, rgba(0,0,0,.18) 0%, rgba(0,0,0,.08) 48%, transparent 72%);
      transform:translate(8px, 56px) scale(1.02);
      filter:blur(14px);
      pointer-events:none;
      opacity:1;
    }

    /* Rich notebook with paper texture and binding */
    .notebook {
      position:relative;
      width:min(76vw, 660px);
      aspect-ratio:5 / 6.7;
      max-width:660px;
      border-radius:3px 8px 8px 3px;
      transform-style:preserve-3d;
      filter:drop-shadow(0 32px 60px rgba(8,30,38,.32)) drop-shadow(0 10px 22px rgba(8,30,38,.22));
    }

    /* Right edge — aged page bundle with gilded fore-edge */
    .notebook::before {
      content:"";
      position:absolute;
      top:2px;
      bottom:-3px;
      right:-18px;
      width:18px;
      border-radius:0 3px 5px 0;
      background:
        /* edge shadows on both sides */
        linear-gradient(90deg,
          rgba(0,0,0,.24) 0%, transparent 10%,
          transparent 78%, rgba(0,0,0,.38) 100%),
        /* gilded fore-edge — subtle amber/gold band */
        linear-gradient(90deg,
          transparent 0%, transparent 35%,
          rgba(180,135,55,.18) 55%, rgba(140,95,30,.22) 80%, transparent 100%),
        /* top-to-bottom darkening — heavier amber at base */
        linear-gradient(180deg,
          rgba(160,110,40,.10) 0%, transparent 15%,
          transparent 55%,
          rgba(80,45,10,.25) 85%, rgba(60,35,5,.45) 100%),
        /* aged amber/sepia color depth */
        linear-gradient(90deg,
          #eee2c4 0%,
          #ddcfa8 18%,
          #c2b288 40%,
          #a39673 62%,
          #82754f 82%,
          #5d5232 100%);
      box-shadow:
        inset 0 2px 0 rgba(255,245,215,.55),
        inset 0 -2px 2px rgba(40,25,5,.55),
        inset -1px 0 2px rgba(40,25,5,.45),
        inset -2px 0 4px rgba(40,25,5,.28),
        3px 2px 5px rgba(40,30,15,.40),
        7px 5px 16px rgba(40,30,15,.28),
        14px 10px 30px rgba(40,30,15,.16),
        24px 18px 48px rgba(40,30,15,.08);
      z-index:-1;
    }
    /* Headband — decorative cloth at top of spine (antique book detail) */
    .notebook .page-face.front::before,
    .notebook-page[data-page="0"] .page-face.front::after {
      /* additional decoration handled via existing pseudos */
    }
    /* Bottom edge — book thickness visible from below */
    .notebook-stage::before {
      content:"";
      position:absolute;
      width:min(76vw, 660px);
      max-width:660px;
      height:16px;
      left:50%;
      top:calc(50% + min(34.5vh, 345px));
      transform:translate(-50%, 0) perspective(1200px) rotateX(58deg);
      transform-origin:top center;
      border-radius:2px 2px 4px 4px;
      background:
        /* darken right side (matches right edge shadow direction) */
        linear-gradient(90deg,
          transparent 0%, transparent 70%,
          rgba(40,25,5,.25) 100%),
        /* darken bottom edge */
        linear-gradient(180deg,
          #f4ecd6 0%,
          #ddd3b6 25%,
          #bbb18e 55%,
          #8d815f 90%,
          #6e6346 100%);
      box-shadow:
        inset 0 1px 0 rgba(255,250,235,.5),
        inset 0 -2px 2px rgba(40,25,5,.45),
        inset -2px 0 3px rgba(40,25,5,.30),
        0 8px 18px rgba(40,30,15,.30),
        0 16px 32px rgba(40,30,15,.16);
      z-index:-2;
      pointer-events:none;
    }

    /* Subtle binding shadow on left (spine) — visible through pages */
    .notebook::after {
      content:"";
      position:absolute;
      top:0;
      bottom:0;
      left:0;
      width:32px;
      pointer-events:none;
      background:linear-gradient(90deg,
        rgba(0,0,0,.16) 0%,
        rgba(0,0,0,.08) 30%,
        rgba(0,0,0,.02) 60%,
        transparent 100%);
      z-index:101;
      border-radius:3px 0 0 3px;
    }

    .notebook-page {
      position:absolute;
      inset:0;
      transform-origin:left center;
      transform-style:preserve-3d;
      transition:transform .95s cubic-bezier(.2,.75,.12,1), filter .95s ease;
      z-index:1;
      cursor:pointer;
    }

    .notebook-page.flipped {
      transform:rotateY(-178deg);
      filter:brightness(.94);
    }

    .notebook-page::after {
      content:"";
      position:absolute;
      inset:0;
      border-radius:8px 3px 3px 8px;
      background:
        url('../images/paper-texture.jpg') center center / cover no-repeat;
      box-shadow:
        inset 0 0 80px rgba(80,55,20,.15),
        0 24px 70px rgba(0,0,0,.16),
        0 12px 26px rgba(0,0,0,.10);
      border:1px solid rgba(80,55,20,.30);
      opacity:0;
      pointer-events:none;
      transition:opacity .22s ease;
      z-index:300;
      transform:scaleX(-1);
    }
    .notebook-page::before {
      content:"";
      position:absolute;
      inset:0;
      border-radius:8px 3px 3px 8px;
      pointer-events:none;
      background:
        radial-gradient(ellipse at 100% 50%, rgba(50,30,10,.22) 0%, transparent 14%);
      mix-blend-mode:multiply;
      opacity:0;
      transition:opacity .22s ease;
      z-index:301;
    }
    .notebook-page.flipped::before {
      opacity:1;
    }

    .notebook-page.flipped::after {
      opacity:1;
    }

    .notebook-page.flipped .front,
    .notebook-page.flipped .back {
      color:transparent !important;
    }

    .notebook-page.flipped .front *,
    .notebook-page.flipped .back * {
      opacity:0 !important;
    }

    .page-face {
      position:absolute;
      inset:0;
      border-radius:3px 8px 8px 3px;
      backface-visibility:hidden;
      overflow:hidden;
      background:
        url('../images/paper-texture.jpg') center center / cover no-repeat,
        #ddc89e;
      color:var(--teal);
      border:1px solid rgba(80,55,20,.30);
      box-shadow:
        inset 0 0 80px rgba(80,55,20,.15);
    }

    /* Spine shadow on left (slight inner shadow) */
    .page-face::before {
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:
        radial-gradient(ellipse at 0% 50%, rgba(50,30,10,.22) 0%, transparent 14%),
        radial-gradient(ellipse at 100% 50%, rgba(80,55,20,.08) 0%, transparent 10%);
      mix-blend-mode:multiply;
    }

    /* Subtle light highlight from top-left for dimension */
    .page-face::after {
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:linear-gradient(135deg, rgba(255,250,235,.18) 0%, transparent 30%);
      mix-blend-mode:soft-light;
    }

    .page-face.front {
      padding:48px clamp(30px, 4.2vw, 54px) 46px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }

    .page-face.back {
      transform:rotateY(180deg);
      background:var(--paper);
      color:transparent !important;
    }

    .page-face.back *,
    .page-face.back::before,
    .page-face.back::after {
      display:none !important;
      content:none !important;
      opacity:0 !important;
    }

    .page-edge {
      position:absolute;
      top:4px;
      bottom:4px;
      right:-6px;
      width:6px;
      border-radius:0 3px 3px 0;
      background:linear-gradient(90deg,
        #ede4cf 0%,
        #d4caaf 50%,
        #beb494 100%);
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,.45),
        inset 0 -1px 0 rgba(80,60,30,.20),
        2px 1px 4px rgba(40,30,15,.16);
      z-index:-1;
    }
    .page-edge::after {
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(180deg, rgba(80,55,20,.15) 0%, transparent 10%, transparent 90%, rgba(80,55,20,.15) 100%);
      mix-blend-mode:multiply;
      pointer-events:none;
      border-radius:inherit;
    }

    .page-top {
      display:none;
    }

    .page-mark {
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:10px;
      letter-spacing:.22em;
      text-transform:uppercase;
      color:rgba(14,77,92,.48);
      font-weight:400;
    }

    .page-count {
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:11px;
      letter-spacing:.16em;
      color:rgba(14,77,92,.48);
      white-space:nowrap;
    }

    .page-content {
      display:grid;
      align-content:center;
      justify-items:start;
      gap:18px;
      min-height:100%;
      padding:14px 0 10px;
      position:relative;
      z-index:2;
    }

    .page-title-en {
      margin:0;
      font-size:clamp(31px, 4vw, 60px);
      line-height:1.12;
      letter-spacing:-.03em;
      font-weight:500;
      color:rgba(10,55,68,.95);
      max-width:95%;
      /* Letterpress deboss — warm cream highlight + soft ink shadow */
      text-shadow:
        0 1px 0 rgba(252,244,225,.75),
        0 -1px 0 rgba(40,25,10,.14),
        0 0 2px rgba(14,77,92,.18);
    }

    .page-title-ja {
      margin:18px 0 0;
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif, "Yu Mincho", "Hiragino Mincho ProN", serif;
      font-size:clamp(14px, 1.2vw, 18px);
      line-height:1.95;
      letter-spacing:.08em;
      color:rgba(10,55,68,.92);
      font-weight:500;
      max-width:92%;
      /* Subtle deboss */
      text-shadow:
        0 1px 0 rgba(252,244,225,.55),
        0 -1px 0 rgba(40,25,10,.10);
    }

    .wire-underline {
      width:112px;
      height:10px;
      margin-top:22px;
      position:relative;
      opacity:.75;
    }

    .wire-underline::before {
      content:"";
      position:absolute;
      inset:2px 0 auto 0;
      height:2px;
      background:var(--coral);
      border-radius:999px;
      transform:rotate(-1.6deg) scaleX(1.02);
      transform-origin:left center;
    }

    .page-note {
      margin:18px 0 0;
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:12px;
      letter-spacing:.1em;
      line-height:1.9;
      color:rgba(14,77,92,.48);
    }

    .page-bottom {
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:18px;
      margin-top:20px;
      position:relative;
      z-index:2;
    }

    .hint {
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:11px;
      letter-spacing:.14em;
      color:rgba(14,77,92,.48);
    }

    .notebook-zones {
      position:absolute;
      inset:0;
      display:grid;
      grid-template-columns:1fr 1fr;
      z-index:500;
      pointer-events:none;
    }

    .zone {
      pointer-events:auto;
      background:transparent;
      position:relative;
    }

    .zone.left { cursor:pointer; }
    .zone.right { cursor:pointer; }

    .zone::after {
      content:"";
      position:absolute;
      top:50%;
      width:36px;
      height:36px;
      border-top:1.5px solid rgba(244,241,234,.55);
      border-right:1.5px solid rgba(244,241,234,.55);
      opacity:0;
      transition:opacity .28s ease;
      pointer-events:none;
    }

    .zone.left::after {
      left:18px;
      transform:translateY(-50%) rotate(-135deg);
    }

    .zone.right::after {
      right:18px;
      transform:translateY(-50%) rotate(45deg);
    }

    .zone:hover::after {
      opacity:.7;
    }

    .notebook-controls {
      position:absolute;
      right:0;
      bottom:-52px;
      display:flex;
      gap:10px;
      align-items:center;
    }

    .notebook-legend {
      position:absolute;
      left:0;
      bottom:-47px;
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:11px;
      letter-spacing:.16em;
      color:rgba(14,77,92,.48);
      text-transform:uppercase;
    }

    /* Service */
    .service {
      background:var(--teal);
      color:var(--offwhite);
    }

    .service .headline-ja,
    .service .lead,
    .service-card p,
    .service-index,
    .availability-text {
      color:rgba(244,241,234,.72);
    }

    .service-card {
      border-top-color:rgba(244,241,234,.36);
    }

    .service .placeholder {
      background:
        linear-gradient(24deg, transparent 49.6%, rgba(244,241,234,.30) 50%, transparent 50.4%),
        linear-gradient(-24deg, transparent 49.6%, rgba(244,241,234,.30) 50%, transparent 50.4%),
        rgba(244,241,234,.06);
      border-color:rgba(244,241,234,.38);
      color:rgba(244,241,234,.68);
    }

    .service-layers {
      margin-top:84px;
      display:grid;
      grid-template-columns:repeat(3, 1fr);
      gap:44px;
    }

    .service-card {
      border-top:1px solid var(--line-dark);
      padding-top:28px;
      min-height:360px;
    }

    .service-index {
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:12px;
      letter-spacing:.16em;
      color:rgba(14,77,92,.48);
      margin-bottom:32px;
    }

    .service-card .placeholder {
      height:126px;
      margin-bottom:26px;
    }
    .service-card .service-img {
      width:100%;
      height:200px;
      margin-bottom:26px;
      background-size:cover;
      background-position:center;
      background-repeat:no-repeat;
      border-radius:2px;
    }
    .service-target {
      margin-top:24px;
      padding-top:16px;
      border-top:1px solid rgba(244,241,234,.18);
    }
    .service-target-label {
      display:block;
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:10px;
      letter-spacing:.32em;
      text-transform:uppercase;
      color:var(--accent-coral);
      margin-bottom:8px;
    }
    .service-target-main {
      display:block;
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:13px;
      font-weight:500;
      color:var(--offwhite);
      letter-spacing:.04em;
      line-height:1.55;
    }
    .service-target-sub {
      display:block;
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:11px;
      color:rgba(244,241,234,.55);
      letter-spacing:.02em;
      line-height:1.7;
      margin-top:4px;
    }
    .service-criteria {
      list-style:none;
      padding:0;
      margin:10px 0 0;
      display:flex;
      flex-direction:column;
      gap:5px;
    }
    .service-criteria li {
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:12px;
      color:rgba(244,241,234,.78);
      letter-spacing:.04em;
      line-height:1.55;
      padding-left:18px;
      position:relative;
    }
    .service-criteria li::before {
      content:"";
      position:absolute;
      left:0;
      top:7px;
      width:8px;
      height:4px;
      border-left:1.5px solid var(--accent-coral);
      border-bottom:1.5px solid var(--accent-coral);
      transform:rotate(-45deg);
    }
    .service-criteria-note {
      margin:8px 0 0;
      padding-left:18px;
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:10.5px;
      color:rgba(244,241,234,.45);
      letter-spacing:.02em;
      line-height:1.55;
    }
    .service-learn-more {
      display:inline-block;
      margin-top:18px;
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:12px;
      letter-spacing:.16em;
      text-transform:uppercase;
      color:var(--accent-coral) !important;
      text-decoration:none;
      padding-bottom:4px;
      border-bottom:1px solid var(--accent-coral);
      transition:color .2s ease;
    }
    .service-learn-more:hover { color:#d85f3b !important; border-bottom-color:#d85f3b; }
    @media (max-width:920px) {
      .service-card .service-img { height:180px; }
    }

    .service-card h3 {
      margin:0 0 14px;
      font-size:23px;
      font-weight:500;
      letter-spacing:.04em;
      line-height:1.5;
    }

    .service-card p {
      margin:0;
      font-size:14px;
      color:rgba(14,77,92,.72);
    }

    .availability-text {
      margin:76px auto 0;
      max-width:820px;
      padding-top:0;
      border-top:none;
      text-align:center;
      color:#444;
      font-size:15px;
      letter-spacing:.12em;
    }

    /* Voices */
    .voices { background:#f8f8f8; }

    .voice-list {
      margin-top:88px;
      display:grid;
      gap:112px;
    }

    /* Text-only 2-column voice grid */
    .voice-grid {
      margin-top:72px;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:48px;
    }
    .voice-text-card {
      padding:40px 36px;
      border:1px solid var(--line);
      background:#fff;
      display:flex;
      flex-direction:column;
      gap:20px;
    }
    .voice-text-placeholder {
      min-height:280px;
      border:1px dashed rgba(14,77,92,.30);
      background:#fafaf7;
      align-items:center;
      justify-content:center;
    }
    .voice-text-head {
      display:flex;
      flex-direction:column;
      gap:6px;
      padding-bottom:18px;
      border-bottom:1px solid var(--line);
    }
    .voice-text-company {
      margin:0;
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:20px;
      font-weight:600;
      color:var(--teal-dark);
      letter-spacing:.02em;
    }
    .voice-text-meta {
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:10px;
      letter-spacing:.22em;
      text-transform:uppercase;
      color:var(--accent-coral);
    }
    .voice-text-quote {
      margin:0;
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:clamp(17px, 1.6vw, 20px);
      font-weight:700;
      line-height:1.65;
      color:var(--teal-dark);
      letter-spacing:.02em;
    }
    .voice-text-body {
      margin:0;
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:13px;
      line-height:1.95;
      color:#566064;
    }
    .voice-text-foot {
      margin-top:auto;
      padding-top:18px;
      border-top:1px solid var(--line);
      display:flex;
      flex-direction:column;
      gap:6px;
    }
    .voice-text-name {
      margin:0;
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:13px;
      color:var(--teal-dark);
      letter-spacing:.04em;
    }
    .voice-text-support {
      margin:0;
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:10px;
      letter-spacing:.16em;
      color:#7a8a8e;
    }
    @media (max-width:920px) {
      .voice-grid { grid-template-columns:1fr; gap:28px; margin-top:48px; }
      .voice-text-card { padding:28px 24px; }
    }

    .voice-block {
      display:grid;
      grid-template-columns:minmax(420px, 1.16fr) minmax(320px, .84fr);
      gap:68px;
      align-items:stretch;
      padding:62px 0;
      border-top:1px solid var(--line);
    }
    .voice-block > div:last-child {
      display:flex;
      flex-direction:column;
      justify-content:center;
    }
    .voice-block .text-link {
      align-self:flex-end;
      margin-top:auto;
    }

    .voice-video {
      aspect-ratio:16 / 9;
      width:100%;
      align-self:center;
    }

    .voice-meta {
      display:grid;
      grid-template-columns:96px 1fr;
      gap:20px;
      align-items:center;
      margin-bottom:34px;
    }

    .logo-box {
      width:96px;
      height:58px;
      border:1px solid var(--line-dark);
      display:grid;
      place-items:center;
      color:rgba(14,77,92,.48);
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:10px;
      letter-spacing:.12em;
    }

    .person {
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:12px;
      color:#666;
      letter-spacing:.05em;
      line-height:1.8;
    }

    .quote {
      margin:0;
      font-size:clamp(20px, 2.2vw, 30px);
      line-height:1.65;
      letter-spacing:.03em;
      font-weight:500;
      color:var(--teal);
    }

    .voice-meta {
      margin-bottom:24px;
    }

    .voice-meta .logo-box {
      width:84px;
      height:52px;
      font-size:10px;
    }

    .voice-meta .person {
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:13px;
      color:var(--teal);
      letter-spacing:.06em;
      line-height:1.85;
      font-weight:500;
    }

    .voice-meta .person .company {
      display:block;
      font-size:11px;
      letter-spacing:.12em;
      color:rgba(14,77,92,.58);
      text-transform:uppercase;
      margin-bottom:4px;
      font-weight:500;
    }

    .voice-meta .person .name-en {
      display:inline-block;
      margin-left:8px;
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:12px;
      color:rgba(14,77,92,.55);
      letter-spacing:.04em;
    }

    .text-link {
      display:inline-flex;
      align-items:center;
      gap:10px;
      margin-top:26px;
      padding:14px 28px;
      border:none;
      color:#ffffff !important;
      background:var(--accent-coral);
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:13px;
      letter-spacing:.16em;
      text-transform:uppercase;
      font-weight:700;
      border-radius:2px;
      transition:background .2s ease;
    }

    .text-link:hover {
      background:#d85f3b;
      color:#fff !important;
    }

    .all-link {
      margin-top:74px;
      text-align:center;
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:12px;
      letter-spacing:.14em;
    }


    .service .service-index {
      color:rgba(244,241,234,.64);
      font-size:12px;
      letter-spacing:.18em;
      margin-bottom:34px;
    }

    .service-card h3 {
      color:var(--offwhite);
      font-size:clamp(24px, 2.1vw, 34px);
      line-height:1.45;
      letter-spacing:.08em;
      word-break:keep-all;
      overflow-wrap:anywhere;
    }

    .service-card p {
      display:block !important;
      visibility:visible !important;
      opacity:1 !important;
      color:rgba(244,241,234,.78) !important;
      font-size:15px;
      line-height:2.05;
      letter-spacing:.06em;
      margin-top:22px;
    }

    .service .placeholder {
      margin-bottom:34px;
      min-height:140px;
    }

    /* Content */
    .content {
      background:var(--teal);
      color:var(--offwhite);
    }

    .content .headline-ja,
    .content .lead,
    .content .more {
      color:rgba(244,241,234,.78);
    }
    .content .articles-heading {
      color:var(--offwhite);
    }

    .content .media-card,
    .content .article-card {
      background:var(--offwhite);
      color:var(--text);
      border-color:rgba(244,241,234,.36);
    }

    .content .media-card p,
    .content .date {
      color:#647074;
    }

    .content .placeholder {
      background:
        linear-gradient(24deg, transparent 49.6%, rgba(14,77,92,.22) 50%, transparent 50.4%),
        linear-gradient(-24deg, transparent 49.6%, rgba(14,77,92,.22) 50%, transparent 50.4%),
        #fff;
      color:rgba(14,77,92,.65);
    }

    .media-cards {
      display:grid;
      grid-template-columns:repeat(3, 1fr);
      gap:36px;
      margin-top:74px;
    }

    .media-card, .article-card {
      border:1px solid var(--line-dark);
      background:#fff;
    }

    .media-card {
      padding:28px 28px 26px;
      display:flex;
      flex-direction:column;
      gap:18px;
      text-decoration:none;
      transition:border-color .2s ease, background .2s ease;
    }
    .media-card-head {
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
    }
    .media-card-num {
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:28px;
      font-weight:500;
      letter-spacing:.04em;
      color:var(--accent-coral);
      line-height:1;
    }
    .media-card-icon {
      width:30px;
      height:30px;
      color:rgba(14,77,92,.40);
      transition:color .2s ease;
    }
    .media-card-icon svg {
      width:100%;
      height:100%;
      display:block;
    }
    .media-card:hover .media-card-icon { color:var(--accent-coral); }
    .media-card .card-body {
      display:flex;
      flex-direction:column;
      gap:6px;
    }
    .media-card-eyebrow {
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:11px;
      letter-spacing:.32em;
      text-transform:uppercase;
      color:rgba(14,77,92,.55);
      margin-bottom:2px;
    }
    .media-card h3 {
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:clamp(40px, 4.4vw, 54px);
      font-weight:500;
      letter-spacing:.01em;
      line-height:1.02;
      margin:0;
      color:var(--teal-dark);
      transition:color .2s ease;
    }
    .media-card:hover h3 { color:var(--accent-coral); }
    .media-card-subtitle {
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:13px;
      font-weight:500;
      letter-spacing:.08em;
      color:rgba(14,77,92,.70);
      margin-top:6px;
    }
    .media-card-divider {
      width:36px;
      height:1px;
      background:rgba(14,77,92,.20);
      margin:14px 0 6px;
      transition:width .3s ease, background .3s ease;
    }
    .media-card:hover .media-card-divider {
      width:60px;
      background:rgba(14,77,92,.45);
    }
    .media-card p {
      margin:0;
      font-size:13px;
      line-height:1.85;
    }
    .media-card .mini-link {
      margin-top:10px;
    }
    .media-card .placeholder {
      height:154px;
      border:none;
      border-bottom:1px solid var(--line);
    }

    .media-card--coming-soon {
      position:relative;
      cursor:default;
      pointer-events:none;
    }
    .media-card-overlay {
      position:absolute;
      inset:0;
      background:rgba(0,0,0,0.52);
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:13px;
      font-weight:600;
      letter-spacing:.12em;
      color:#fff;
      z-index:10;
    }

    .card-body { padding:26px; }

    .card-body h3 {
      margin:0 0 14px;
      font-size:23px;
      font-weight:500;
      letter-spacing:.04em;
    }

    .card-body p {
      margin:0 0 22px;
      color:rgba(14,77,92,.72);
      font-size:14px;
    }

    .card-body .mini-link {
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:11px;
      letter-spacing:.14em;
    }

    .articles {
      margin-top:104px;
      padding-top:60px;
      border-top:1px solid var(--line);
    }

    .articles-heading {
      margin:0 0 44px;
      text-align:center;
      font-size:clamp(34px, 4.2vw, 62px);
      font-weight:700;
      letter-spacing:-.025em;
    }

    .article-grid {
      display:grid;
      grid-template-columns:repeat(4, 1fr);
      gap:24px;
    }

    .article-card .placeholder {
      height:112px;
      border:none;
      border-bottom:1px solid var(--line);
    }

    .article-card h4 {
      margin:0 0 18px;
      font-size:16px;
      line-height:1.65;
      font-weight:500;
    }

    /* Media section */
    .media-block { margin-top:104px; padding-top:60px; border-top:1px solid var(--line); }
    .media-subhead {
      margin:-32px auto 44px;
      text-align:center;
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:13px;
      letter-spacing:.22em;
      color:var(--offwhite);
      font-weight:700;
    }

    /* Slider */
    .media-slider {
      position:relative;
      max-width:920px;
      margin:0 auto;
    }
    .media-track {
      display:flex;
      gap:24px;
      overflow-x:auto;
      scroll-snap-type:x mandatory;
      scroll-behavior:smooth;
      padding:8px 4px 28px;
      scrollbar-width:none;
    }
    .media-track::-webkit-scrollbar { display:none; }

    .media-slider .media-item {
      flex:0 0 100%;
      scroll-snap-align:center;
      max-width:880px;
      display:flex !important;
      background:#fff;
      border:1px solid var(--line-dark);
    }
    .media-slider .media-thumb {
      flex:0 0 46%;
      height:auto !important;
      min-height:280px;
      border-right:1px solid var(--line);
      border-bottom:none !important;
    }
    .media-slider .card-body {
      flex:1;
      padding:38px 36px;
      display:flex;
      flex-direction:column;
      justify-content:center;
    }
    .media-slider .card-body h4 {
      font-size:20px !important;
      line-height:1.55 !important;
    }

    .media-thumb-img {
      background-size:cover;
      background-position:center;
      background-repeat:no-repeat;
      border:none;
      background-color:transparent;
    }
    .media-thumb-img::before,
    .media-thumb-img::after { display:none; content:none; }

    /* Text-only thumbnail (when no image available) */
    .media-thumb-text {
      background:
        linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 100%);
      border:none;
      color:var(--offwhite);
      display:flex !important;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      padding:32px 20px;
      text-align:center;
      position:relative;
    }
    .media-thumb-text::before,
    .media-thumb-text::after { display:none; content:none; }
    .media-thumb-text .source-name {
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:clamp(28px, 3vw, 40px);
      font-weight:500;
      letter-spacing:.02em;
      line-height:1.1;
      margin-bottom:14px;
    }
    .media-thumb-text .source-sub {
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:11px;
      letter-spacing:.22em;
      color:rgba(244,241,234,.62);
      text-transform:uppercase;
      font-weight:500;
    }
    .media-thumb-text .source-line {
      width:42px;
      height:1px;
      background:var(--accent-coral);
      margin:16px 0;
      opacity:.85;
    }

    .media-item.no-link { cursor:default; }
    .media-item.no-link:hover { transform:none; border-color:var(--line-dark) !important; }

    .media-meta {
      display:inline-block;
      margin-bottom:14px;
      padding:3px 10px;
      border:1px solid var(--accent-coral);
      color:var(--accent-coral);
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:10px;
      letter-spacing:.16em;
      font-weight:500;
    }
    .media-summary {
      margin:0 0 16px;
      font-size:14px;
      line-height:1.9;
      color:rgba(14,77,92,.78);
      font-weight:500;
    }
    .media-item .date {
      display:block;
      margin-top:12px;
    }

    /* Link button on each media card */
    .media-link-btn {
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin-top:18px;
      padding:10px 20px;
      border:1px solid var(--accent-coral);
      color:var(--accent-coral) !important;
      background:transparent;
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:12px;
      letter-spacing:.14em;
      text-transform:uppercase;
      font-weight:500;
      transition:background .24s ease, color .24s ease;
      align-self:flex-start;
    }
    .media-item:hover .media-link-btn {
      background:var(--accent-coral);
      color:#fff !important;
    }
    .media-item.no-link .media-link-btn { display:none; }

    /* Slider Nav */
    .media-nav {
      display:flex;
      align-items:center;
      justify-content:center;
      gap:24px;
      margin-top:14px;
    }
    .media-arrow {
      width:44px;
      height:44px;
      border:1px solid var(--line-dark);
      background:#fff;
      color:var(--teal);
      cursor:pointer;
      font-size:18px;
      display:grid;
      place-items:center;
      transition:all .24s ease;
      border-radius:50%;
    }
    .media-arrow:hover {
      background:var(--accent-coral);
      color:#fff;
      border-color:var(--accent-coral);
    }
    .media-arrow:disabled {
      opacity:.3;
      cursor:default;
      pointer-events:none;
    }
    .media-dots {
      display:flex;
      gap:10px;
    }
    .media-dot {
      width:8px;
      height:8px;
      border-radius:50%;
      background:rgba(14,77,92,.20);
      cursor:pointer;
      transition:background .24s ease, transform .24s ease;
      border:none;
      padding:0;
    }
    .media-dot.active {
      background:var(--accent-coral);
      transform:scale(1.3);
    }

    @media (max-width:920px) {
      .media-slider .media-item { flex-direction:column; }
      .media-slider .media-thumb {
        flex:0 0 auto;
        width:100%;
        min-height:200px;
        border-right:none;
        border-bottom:1px solid var(--line) !important;
      }
      .media-slider .card-body { padding:24px 22px; }
    }

    .date {
      color:#888;
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:11px;
    }

    .more {
      margin-top:42px;
      text-align:center;
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:12px;
      letter-spacing:.14em;
    }

    /* About */
    .about-grid {
      display:grid;
      grid-template-columns:minmax(280px, 380px) 1fr;
      grid-template-areas:
        "portrait profile"
        "socials  profile";
      grid-template-rows:auto 1fr;
      column-gap:72px;
      row-gap:28px;
      align-items:start;
    }
    .about-grid > .portrait { grid-area:portrait; }
    .about-grid > .profile { grid-area:profile; align-self:center; }
    .about-grid > .profile-socials { grid-area:socials; justify-content:flex-start; }

    .portrait {
      aspect-ratio:4 / 5;
      background-image:url("../images/profile_gaku.jpg");
      background-size:cover;
      background-position:center 25%;
      background-repeat:no-repeat;
      border:none;
      overflow:hidden;
    }

    .profile h2 {
      margin:0 0 24px;
      font-size:clamp(34px, 4vw, 62px);
      line-height:1.12;
      font-weight:500;
      letter-spacing:-.025em;
    }

    .profile .name-ja {
      display:block;
      margin-top:14px;
      color:rgba(14,77,92,.82);
      font-size:18px;
      font-weight:500;
      letter-spacing:.1em;
    }

    .profile p {
      max-width:680px;
      margin:0;
      color:rgba(14,77,92,.85);
      font-size:16px;
      font-weight:500;
      letter-spacing:.03em;
      line-height:2.05;
    }

    .profile p + p { margin-top:22px; }

    /* Contact */
    .contact { background:#fafafa; }
    .contact-eyebrow {
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:12px;
      letter-spacing:.32em;
      text-transform:uppercase;
      color:var(--accent-coral);
      margin:0 0 14px;
      text-align:center;
    }
    .contact-heading {
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:clamp(26px, 3vw, 34px);
      font-weight:500;
      color:var(--teal-dark);
      margin:0 0 28px;
      text-align:center;
      letter-spacing:.08em;
    }
    .contact-status-line {
      font-size:19px;
      color:var(--teal-dark);
      font-weight:600;
      display:inline;
      padding:0 4px;
      background:linear-gradient(transparent 62%, rgba(233, 116, 81, 0.35) 62%, rgba(233, 116, 81, 0.35) 92%, transparent 92%);
      letter-spacing:.08em;
      line-height:1.9;
    }

    .form {
      max-width:840px;
      margin:58px auto 0;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
      font-family:Arial, "Yu Gothic", sans-serif;
    }

    .field {
      display:grid;
      gap:8px;
      color:rgba(14,77,92,.72);
      font-size:12px;
      letter-spacing:.06em;
    }

    .field.full { grid-column:1 / -1; }

    input, select, textarea {
      width:100%;
      min-height:46px;
      padding:12px;
      border:1px solid var(--line-dark);
      background:#fff;
      color:rgba(14,77,92,.48);
      font:inherit;
    }

    textarea {
      min-height:126px;
      resize:vertical;
    }

    .reply-note {
      grid-column:1 / -1;
      padding:16px 0 6px;
      color:rgba(14,77,92,.72);
      text-align:center;
      font-size:13px;
    }

    .button {
      grid-column:1 / -1;
      justify-self:center;
      width:220px;
      min-height:48px;
      border:1px solid var(--line-dark);
      background:#fff;
      display:grid;
      place-items:center;
      font-size:13px;
      letter-spacing:.08em;
    }

    /* Footer */
    .footer {
      position:relative;
      border-top:1px solid var(--line);
      background:#fff;
    }

    .footer-inner {
      max-width:var(--max);
      margin:0 auto;
      padding:60px 40px 36px;
      display:grid;
      grid-template-columns:1.2fr 1fr 1fr;
      gap:48px;
      color:rgba(14,77,92,.72);
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:12px;
    }

    .footer h4 {
      margin:0 0 16px;
      color:var(--teal);
      font-weight:400;
      letter-spacing:.1em;
    }

    .footer p { margin:0 0 8px; }

    .copyright {
      grid-column:1 / -1;
      padding-top:24px;
      border-top:1px solid var(--line);
      text-align:center;
      color:#888;
      font-size:11px;
    }


    .thought,
    .voices,
    .about,
    .contact,
    .footer {
      background:var(--white);
      color:var(--text);
    }

    .thought .headline-ja,
    .voices .headline-ja,
    .about .profile p,
    .profile .name-ja,
    .contact .headline-ja,
    .contact .lead,
    .field,
    .reply-note,
    .footer-inner {
      color:#555;
    }

    .notebook-question .wire-label,
    .hero .wire-label,
    .service .wire-label,
    .content .wire-label {
      color:rgba(244,241,234,.55);
    }

    .service .availability-text {
      color:rgba(244,241,234,.86);
    }

    .page-mark,
    .page-count,
    .hint,
    .page-note {
      color:rgba(14,77,92,.48);
    }

    .page-title-ja {
      color:rgba(14,77,92,.72);
    }

    .notebook-legend {
      color:rgba(244,241,234,.55);
    }


    .service-card h3 {
      min-height: 3.2em;
      margin: 0 0 8px;
      font-size: clamp(22px, 1.65vw, 28px) !important;
      line-height: 1.55 !important;
      letter-spacing: .06em;
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      gap: 0;
    }

    .service-card h3 .service-line {
      display: block;
      white-space: nowrap;
    }

    .service-card p {
      margin-top: 18px !important;
    }

    @media (max-width: 920px) {
      .service-card h3 {
        min-height: auto;
      }

      .service-card h3 .service-line {
        white-space: normal;
      }
    }


    /* Coral accent / CTA and link treatment */
    :root {
      --accent-coral:#E97451;
      --accent-coral-soft:rgba(233,116,81,.16);
    }

    .wait-link,
    .button {
      border-color:var(--accent-coral) !important;
      background:transparent;
      color:var(--accent-coral) !important;
      transition:background .28s ease, color .28s ease, border-color .28s ease, transform .28s ease;
    }

    .wait-link:hover,
    .wait-link:focus-visible,
    .button:hover,
    .button:focus-visible {
      background:var(--accent-coral) !important;
      color:#fff !important;
      border-color:var(--accent-coral) !important;
      outline:none;
    }

    .more a,
    .all-link a,
    .mini-link,
    .card-body .mini-link {
      border-bottom:1px solid var(--accent-coral) !important;
      color:inherit;
      padding-bottom:4px;
      transition:color .24s ease, background .24s ease;
    }

    .more a:hover,
    .all-link a:hover,
    .media-card:hover .mini-link,
    .content .article-card:hover h4 {
      color:var(--accent-coral) !important;
    }

    .nav a,
    .footer p,
    .media-card,
    .article-card {
      transition:color .24s ease, border-color .24s ease, transform .24s ease;
    }

    .nav a:hover {
      color:var(--accent-coral);
    }

    .media-card:hover,
    .article-card:hover {
      border-color:var(--accent-coral) !important;
    }

    .service .availability-text {
      position:relative;
    }

    .service .availability-text::after {
      content:"";
      display:block;
      width:92px;
      height:2px;
      margin:22px auto 0;
      background:var(--accent-coral);
      transform:rotate(-1.2deg);
      opacity:.9;
    }

    .hero .scroll-cue::after,
    .question-note::after,
    .notebook-legend::after {
      content:"";
      display:block;
      width:42px;
      height:1px;
      margin:12px auto 0;
      background:var(--accent-coral);
      opacity:.82;
    }

    .notebook-legend::after {
      margin-left:0;
    }

    .page-bottom .hint:last-child,
    .page-count,
    .service-index,
    .date {
      color:var(--accent-coral) !important;
    }

    .page-title-en::selection,
    .page-title-ja::selection,
    .headline-en::selection,
    .headline-ja::selection {
      background:var(--accent-coral-soft);
    }

    .field input:focus,
    .field select:focus,
    .field textarea:focus {
      outline:none;
      border-color:var(--accent-coral) !important;
      box-shadow:0 0 0 3px var(--accent-coral-soft);
    }

    .contact .button {
      background:var(--accent-coral);
      color:#fff !important;
    }

    .contact .button:hover,
    .contact .button:focus-visible {
      background:#fff !important;
      color:var(--accent-coral) !important;
    }


    /* Company info block (above footer columns) */
    .company-info {
      max-width:1180px;
      margin:0 auto;
      padding:64px 48px 44px;
      border-bottom:1px solid rgba(244,241,234,.12);
    }
    .company-info-title {
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:14px;
      font-weight:500;
      letter-spacing:.16em;
      text-transform:uppercase;
      color:var(--accent-coral);
      margin:0 0 24px;
    }
    .company-info-list {
      margin:0;
      display:grid;
      grid-template-columns:120px 1fr;
      column-gap:24px;
      row-gap:12px;
      font-size:13px;
      line-height:1.7;
      color:rgba(244,241,234,.78);
    }
    .company-info-list > div {
      display:contents;
    }
    .company-info-list dt {
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:12px;
      font-weight:500;
      letter-spacing:.14em;
      color:rgba(244,241,234,.55);
      padding-top:2px;
    }
    .company-info-list dd {
      margin:0;
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-weight:400;
      color:rgba(244,241,234,.92);
    }
    @media (max-width:920px) {
      .company-info { padding:40px 24px 28px; }
      .company-info-list { grid-template-columns:1fr; row-gap:4px; }
      .company-info-list dt { margin-top:10px; }
    }

    /* Dark teal footer */
    .footer {
      background:var(--teal-dark) !important;
      color:var(--offwhite) !important;
      border-top:none !important;
    }

    .footer .wire-label {
      color:rgba(244,241,234,.42) !important;
    }

    .footer-inner {
      color:rgba(244,241,234,.72) !important;
      border-top:1px solid rgba(244,241,234,.14);
    }

    .footer h4 {
      color:var(--offwhite) !important;
    }

    .footer p {
      color:rgba(244,241,234,.68) !important;
      transition:color .24s ease;
    }

    .footer p:hover {
      color:var(--accent-coral) !important;
    }

    .copyright {
      border-top:1px solid rgba(244,241,234,.16) !important;
      color:rgba(244,241,234,.48) !important;
    }


    /* Thought typing */
    .thought-typing .headline-en {
      min-height: 2.05em;
    }

    .thought-cursor {
      display:inline-block;
      width:.055em;
      height:.78em;
      margin-left:.08em;
      transform:translateY(.08em);
      background:var(--accent-coral, #E97451);
      animation:thoughtBlink 1.05s steps(2, start) infinite;
    }

    @keyframes thoughtBlink {
      0%, 48% { opacity:1; }
      49%, 100% { opacity:0; }
    }

    /* Authority proof */
    .amp {
      font-family:Arial, "Helvetica Neue", sans-serif;
      font-weight:400;
      font-style:normal;
    }

    /* Partner Coaches block (inside About section) */
    .partner-coaches {
      margin:80px auto 0;
      padding-top:48px;
      border-top:1px solid var(--line);
      text-align:center;
    }
    .partner-eyebrow {
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:12px;
      letter-spacing:.32em;
      text-transform:uppercase;
      color:var(--accent-coral);
      margin:0 0 16px;
    }
    .partner-title {
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:clamp(18px, 2vw, 22px);
      font-weight:600;
      color:var(--teal-dark);
      margin:0 0 36px;
      letter-spacing:.04em;
    }
    .partner-placeholders {
      display:grid;
      grid-template-columns:repeat(3, 1fr);
      gap:20px;
      max-width:880px;
      margin:0 auto;
    }
    .partner-card-placeholder {
      aspect-ratio:3 / 4;
      border:1px dashed rgba(14,77,92,.30);
      background:#fafaf7;
      display:flex;
      align-items:center;
      justify-content:center;
    }
    .coming-soon {
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:13px;
      letter-spacing:.20em;
      text-transform:uppercase;
      color:rgba(14,77,92,.45);
    }
    @media (max-width:680px) {
      .partner-coaches { margin-top:56px; padding-top:36px; }
      .partner-placeholders { grid-template-columns:1fr; gap:14px; }
      .partner-card-placeholder { aspect-ratio:16 / 6; }
    }

    /* Leadership team definition (end of SERVICE section) */
    .team-definition {
      margin:64px auto 0;
      max-width:760px;
      padding:28px 32px;
      text-align:center;
      border-top:1px solid rgba(244,241,234,.20);
      border-bottom:1px solid rgba(244,241,234,.20);
    }
    .team-definition-ja {
      margin:0 0 10px;
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:15px;
      font-weight:500;
      letter-spacing:.10em;
      color:var(--offwhite);
    }
    .team-definition-en {
      margin:0;
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:11px;
      letter-spacing:.24em;
      text-transform:uppercase;
      color:var(--accent-coral);
    }
    @media (max-width:920px) {
      .team-definition { margin-top:44px; padding:22px 18px; }
      .team-definition-ja { font-size:13px; letter-spacing:.06em; }
      .team-definition-en { font-size:10px; letter-spacing:.18em; }
    }

    /* For Whom content (now inside THOUGHT section) */
    .thought .for-whom-inner {
      margin-top:72px;
      padding-top:48px;
      border-top:1px solid var(--line);
    }
    /* Tighten gap between THOUGHT and QUESTION (notebook) */
    .thought .inner { padding-bottom:72px; }
    .question .inner { padding-top:80px; }
    .thought { border-bottom:none; }
    .for-whom-inner {
      max-width:880px;
      margin:0 auto;
    }
    .for-whom-eyebrow {
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:12px;
      letter-spacing:.32em;
      text-transform:uppercase;
      color:var(--accent-coral);
      margin:0 0 22px;
      text-align:center;
    }
    .for-whom-headline {
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:clamp(22px, 2.8vw, 32px);
      font-weight:600;
      line-height:1.6;
      color:var(--teal-dark);
      text-align:center;
      margin:0 0 64px;
      letter-spacing:.04em;
    }
    .for-whom-criteria {
      display:grid;
      grid-template-columns:repeat(4, 1fr);
      gap:32px;
      max-width:760px;
      margin:0 auto 80px;
      padding:32px 0;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
    }
    .criteria-item {
      text-align:center;
    }
    .criteria-label {
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:10px;
      letter-spacing:.28em;
      text-transform:uppercase;
      color:var(--accent-coral);
      margin:0 0 10px;
      display:block;
    }
    .criteria-value {
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:13px;
      line-height:1.6;
      color:var(--teal-dark);
      letter-spacing:.04em;
      display:block;
    }
    .for-whom-questions-label {
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:13px;
      letter-spacing:.20em;
      text-transform:uppercase;
      color:rgba(14,77,92,.55);
      text-align:center;
      margin:0 0 36px;
    }
    .for-whom-questions {
      max-width:680px;
      margin:0 auto;
      display:flex;
      flex-direction:column;
      gap:18px;
    }
    .for-whom-question {
      margin:0;
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:clamp(15px, 1.5vw, 18px);
      line-height:1.7;
      color:var(--teal-dark);
      text-align:center;
      letter-spacing:.04em;
    }
    @media (max-width:920px) {
      .for-whom { padding:64px 22px; }
      .for-whom-headline { margin-bottom:40px; }
      .for-whom-criteria { grid-template-columns:repeat(2, 1fr); gap:24px; margin-bottom:48px; }
    }

    .story-cta {
      display:inline-flex;
      align-items:center;
      gap:20px;
      margin-top:36px;
      padding:18px 34px;
      border:1px solid var(--teal-dark);
      background:transparent;
      color:var(--teal-dark);
      text-decoration:none;
      transition:background .2s ease, color .2s ease;
    }
    .story-cta:hover {
      background:var(--teal-dark);
      color:var(--offwhite);
    }
    .story-cta .story-cta-en {
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:18px;
      font-weight:500;
      letter-spacing:.04em;
    }
    .story-cta .story-cta-ja {
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:12px;
      letter-spacing:.16em;
      opacity:.75;
    }

    .media-thumb-mercer {
      background:linear-gradient(135deg, #0E4D5C 0%, #093843 60%, #041d23 100%);
      position:relative;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      color:var(--offwhite);
      overflow:hidden;
    }
    .media-thumb-mercer::after {
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(ellipse at 30% 20%, rgba(233,116,81,.12) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 80%, rgba(244,241,234,.08) 0%, transparent 60%);
      pointer-events:none;
    }
    .media-thumb-mercer .thumb-label {
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:32px;
      font-weight:500;
      letter-spacing:.18em;
      color:#fff;
      position:relative;
      z-index:1;
    }
    .media-thumb-mercer .thumb-sub {
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:11px;
      letter-spacing:.24em;
      text-transform:uppercase;
      color:rgba(244,241,234,.65);
      margin-top:10px;
      position:relative;
      z-index:1;
    }

    .clients-grid {
      margin-top:56px;
      display:grid;
      grid-template-columns:repeat(3, 1fr);
      gap:28px;
    }
    .client-card {
      background:var(--white);
      border:1px solid var(--line);
      padding:32px 28px;
      text-align:left;
      transition:border-color .2s ease;
    }
    .client-card:hover {
      border-color:var(--accent-coral);
    }
    .client-industry {
      display:inline-block;
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:10px;
      letter-spacing:.18em;
      color:var(--accent-coral);
      text-transform:uppercase;
      margin-bottom:14px;
    }
    .client-name {
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:18px;
      font-weight:600;
      color:var(--teal-dark);
      line-height:1.4;
      margin:0 0 14px;
      letter-spacing:.02em;
    }
    .client-support {
      font-family:"Noto Sans JP", sans-serif;
      font-size:12px;
      line-height:1.7;
      color:#5a6e72;
      margin:0;
    }
    @media (max-width:920px) {
      .clients-grid { grid-template-columns:1fr; gap:16px; }
    }

    .authority {
      background:var(--white);
      color:var(--text);
    }

    .authority-line {
      margin:76px auto 0;
      max-width:980px;
      display:grid;
      grid-template-columns:repeat(3, 1fr);
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
    }

    .authority-line span {
      min-height:132px;
      display:grid;
      place-items:center;
      text-align:center;
      padding:24px;
      border-right:1px solid var(--line);
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:13px;
      letter-spacing:.14em;
      text-transform:uppercase;
      color:var(--teal);
    }

    .authority-line span:last-child {
      border-right:none;
    }

    .authority-note {
      margin:28px auto 0;
      max-width:720px;
      text-align:center;
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:11px;
      line-height:1.9;
      letter-spacing:.08em;
      color:#777;
    }

    .official-partner {
      margin:48px auto 0;
      max-width:640px;
      text-align:center;
    }
    .official-partner .partner-label {
      display:inline-block;
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:10px;
      letter-spacing:.32em;
      text-transform:uppercase;
      color:rgba(14,77,92,.48);
      font-weight:500;
    }
    .official-partner .partner-label::before,
    .official-partner .partner-label::after {
      content:"";
      display:inline-block;
      width:28px;
      height:1px;
      background:rgba(14,77,92,.30);
      vertical-align:middle;
      margin:0 14px 3px;
    }
    .official-partner .partner-content {
      margin-top:14px;
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:6px;
    }
    .official-partner .partner-name {
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:18px;
      font-weight:500;
      letter-spacing:.04em;
      color:var(--teal);
    }
    .official-partner .partner-desc {
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:12px;
      letter-spacing:.1em;
      color:rgba(14,77,92,.62);
      font-weight:500;
    }
    .official-partner .partner-meta {
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:10px;
      letter-spacing:.16em;
      color:rgba(14,77,92,.38);
      font-style:italic;
    }

    /* Override colors when on teal Service background */
    .service .official-partner { margin-top:80px; }
    .service .official-partner .partner-label { color:rgba(244,241,234,.55); }
    .service .official-partner .partner-label::before,
    .service .official-partner .partner-label::after { background:rgba(244,241,234,.35); }
    .service .official-partner .partner-name { color:#ffffff; }
    .service .official-partner .partner-desc { color:rgba(244,241,234,.80); }
    .service .official-partner .partner-meta { color:rgba(244,241,234,.50); }

    .contact-status {
      margin:42px auto 0;
      max-width:680px;
      padding:22px 0;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
      text-align:center;
    }

    .contact-status span {
      display:block;
      margin-bottom:10px;
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:11px;
      letter-spacing:.18em;
      color:var(--accent-coral, #E97451);
    }

    .contact-status strong {
      font-weight:400;
      font-size:18px;
      letter-spacing:.08em;
      color:var(--teal);
    }

    /* Contact CTA grid (2 buttons) */
    .contact-cta-grid {
      margin:64px auto 0;
      max-width:880px;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:24px;
      text-align:left;
    }
    .contact-cta {
      display:flex;
      flex-direction:column;
      gap:10px;
      padding:36px 36px 32px;
      background:var(--white);
      border:1px solid var(--line);
      text-decoration:none;
      color:var(--text);
      position:relative;
      transition:border-color .2s ease, transform .2s ease;
    }
    .contact-cta:hover {
      border-color:var(--accent-coral);
    }
    .contact-cta-label {
      font-family:"Hoefler Text", "Baskerville", "Iowan Old Style", Constantia, Cambria, Georgia, serif;
      font-size:11px;
      letter-spacing:.28em;
      text-transform:uppercase;
      color:var(--accent-coral);
    }
    .contact-cta-title {
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:22px;
      font-weight:600;
      color:var(--teal-dark);
      letter-spacing:.04em;
      margin-top:4px;
    }
    .contact-cta-desc {
      font-family:"Yu Mincho", "YuMincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
      font-size:13px;
      line-height:1.85;
      color:#566064;
      margin-top:8px;
    }
    .contact-cta-arrow {
      position:absolute;
      right:28px;
      bottom:28px;
      font-family:Arial, sans-serif;
      font-size:22px;
      color:var(--accent-coral);
      transition:transform .2s ease;
    }
    .contact-cta:hover .contact-cta-arrow {
      transform:translateX(6px);
    }
    @media (max-width:920px) {
      .contact-cta-grid { grid-template-columns:1fr; gap:14px; margin-top:40px; }
      .contact-cta { padding:28px 24px; }
    }


    .profile-socials {
      margin-top:34px;
      display:flex;
      flex-wrap:wrap;
      gap:14px 22px;
      align-items:center;
    }

    .profile-socials a {
      display:inline-flex;
      align-items:center;
      gap:9px;
      color:var(--teal);
      font-family:Arial, "Yu Gothic", sans-serif;
      font-size:12px;
      letter-spacing:.08em;
      transition:color .24s ease, transform .24s ease;
    }

    .profile-socials a svg {
      width:18px;
      height:18px;
      fill:currentColor;
      flex:0 0 auto;
    }

    .profile-socials a em {
      font-style:normal;
      border-bottom:1px solid var(--accent-coral, #E97451);
      padding-bottom:3px;
    }

    .profile-socials a:hover {
      color:var(--accent-coral, #E97451);
    }


    .profile-socials a svg.note-icon {
      width:19px;
      height:19px;
      transform:translateY(0.5px);
    }

    @media (max-width:920px) {
      :root { --bar-h:46px; --header-h:68px; }

      .waiting-bar {
        grid-template-columns:1fr;
        justify-items:center;
        padding:4px 16px;
      }

      .waiting-bar .status,
      .waiting-bar .wait-link { grid-column:auto; }

      .waiting-bar .wait-link { display:none; }

      .site-header { padding:0 22px; }

      .nav { display:none; }

      .inner { padding:92px 24px; }

      .wire-label { top:12px; left:12px; }

      .hero-bottom { padding:0 24px 52px; }

      .service-layers,
      .media-cards,
      .article-grid,
      .voice-block,
      .footer-inner {
        grid-template-columns:1fr;
      }
      .about-grid {
        grid-template-columns:1fr;
        grid-template-areas:
          "portrait"
          "profile"
          "socials";
      }

      .voice-list { margin-top:48px; gap:32px; }
      .voice-block { gap:20px; padding:28px 0; }
      .voice-block .text-link { margin-top:18px; }

      .question-layout {
        grid-template-columns:1fr;
        gap:36px;
      }

      .question-heading {
        padding-top:0;
      }

      .notebook-stage {
        min-height:auto;
      }

      .notebook-shadow {
        width:min(100%, 620px);
        height:calc(min(100vw, 620px) * 1.34);
      }

      .notebook {
        width:min(100%, 620px);
      }

      .page-face.front {
        padding:36px 26px 36px;
      }

      .authority-line {
        grid-template-columns:1fr;
      }

      .authority-line span {
        border-right:none;
        border-bottom:1px solid var(--line);
      }

      .authority-line span:last-child {
        border-bottom:none;
      }

      .form { grid-template-columns:1fr; }
    }
