  :root{
    --bg:#f7f6f1;
    --bg-2:#eeeee7;
    --panel:#e4e1d8;
    --ink:#17130f;
    --ink-dim:#504940;
    --muted:#81796e;
    --line:rgba(23,19,15,.12);
    --line-2:rgba(23,19,15,.22);
    --gold:#b88757;
    --gold-2:#8e633d;
    --maxw:1240px;
    --ease:cubic-bezier(.22,.61,.36,1);
    --serif:"Shippori Mincho B1","Hiragino Mincho ProN",serif;
    --serif-en:"Cormorant Garamond",serif;
    --serif-body:"Noto Serif JP","Hiragino Mincho ProN",serif;
    --sans:"Inter","Noto Sans JP",system-ui,sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{
    font-family:var(--sans);
    color:var(--ink);
    background:var(--bg);
    line-height:1.8;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  ::selection{background:var(--gold);color:#fff}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}

  /* ---------- Reading typography (body copy → Noto Serif JP) ----------
     Headings keep --serif (Shippori Mincho B1). Only prose/paragraph
     copy switches to --serif-body. UI chrome (menu, buttons, forms,
     labels, tags, footer nav, numeric/tel data) stays on --sans. */
  .hero .lead,
  .page-hero .lead,
  .sec-head p,
  .svc p,
  .ai-card p,
  .step p,
  .biz p,
  .re-item p,
  .choice p,
  .member p,
  .ally p,
  .pcard p,
  .profile p,
  .profile .bio p,
  .cta-band p,
  .col-promo p,
  .art p,
  .faq-cta .txt p,
  .faq .a,
  .message .who,
  .prose{
    font-family:var(--serif-body);
  }

  /* labels */
  .overline{
    font-family:var(--sans);font-size:11px;font-weight:500;
    letter-spacing:.34em;text-transform:uppercase;color:var(--gold);
    display:inline-flex;align-items:center;gap:14px;
  }
  .overline::before{content:"";width:30px;height:1px;background:var(--gold);opacity:.7}

  /* buttons */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:12px;
    font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.08em;
    padding:17px 34px;border:1px solid var(--line-2);cursor:pointer;
    transition:all .35s var(--ease);position:relative;overflow:hidden;
  }
  .btn span{position:relative;z-index:1}
  .btn-gold{border-color:var(--gold);color:#fff;background:var(--gold)}
  .btn-gold:hover{background:var(--gold-2);border-color:var(--gold-2)}
  .btn-line{color:var(--ink);background:transparent}
  .btn-line::after{content:"";position:absolute;inset:0;background:var(--ink);transform:translateY(101%);transition:transform .4s var(--ease);z-index:0}
  .btn-line:hover{color:#fff;border-color:var(--ink)}
  .btn-line:hover::after{transform:translateY(0)}

  /* ---------- Header ---------- */
  header.site{position:fixed;top:0;left:0;right:0;z-index:60;transition:background .4s var(--ease),border-color .4s var(--ease),height .4s var(--ease);border-bottom:1px solid transparent}
  header.site.scrolled{background:rgba(255,255,255,.85);-webkit-backdrop-filter:saturate(140%) blur(14px);backdrop-filter:saturate(140%) blur(14px);border-bottom-color:var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:84px}
  .brand{display:flex;flex-direction:column;line-height:1.15}
  .brand .en{font-family:var(--serif-en);font-size:24px;font-weight:600;letter-spacing:.04em}
  .brand .jp{font-size:10px;letter-spacing:.22em;color:var(--muted)}
  .menu{display:flex;align-items:center;gap:38px}
  .menu a:not(.btn){font-size:13px;letter-spacing:.06em;color:var(--ink-dim);position:relative;padding:4px 0;transition:color .3s var(--ease)}
  .menu a:not(.btn):hover{color:var(--gold)}
  .menu a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:var(--gold);transition:right .35s var(--ease)}
  .menu a:not(.btn):hover::after{right:0}
  .menu .btn{padding:13px 26px}
  .burger{display:none;flex-direction:column;gap:6px;background:none;border:0;cursor:pointer;padding:8px}
  .burger span{width:26px;height:1px;background:var(--ink);transition:.3s var(--ease)}

  /* ---------- Hero ---------- */
  .hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:140px 0 90px;
    background:
      radial-gradient(120% 90% at 85% 0%, rgba(184,135,87,.10), transparent 55%),
      radial-gradient(80% 80% at 0% 100%, rgba(184,135,87,.06), transparent 60%),
      linear-gradient(180deg,#ffffff,#eef3fb);
    overflow:hidden;}
  .hero .kanji{
    position:absolute;right:-3vw;top:50%;transform:translateY(-50%);
    font-family:"Cormorant Garamond",var(--serif);font-weight:600;text-transform:uppercase;
    font-size:clamp(72px,11vw,170px);line-height:1;white-space:nowrap;
    color:transparent;-webkit-text-stroke:1px rgba(10,22,51,.05);
    background:linear-gradient(180deg,rgba(184,135,87,.10),transparent 70%);-webkit-background-clip:text;background-clip:text;
    pointer-events:none;user-select:none;letter-spacing:.08em;}
  .hero .wrap{position:relative;z-index:2}
  .hero h1{font-family:var(--serif);font-weight:700;letter-spacing:.02em;
    font-size:clamp(40px,6.6vw,92px);line-height:1.22;margin:34px 0 30px;}
  .hero h1 em{font-style:normal;color:var(--gold);}
  .hero .lead{font-size:clamp(15px,1.5vw,18px);color:var(--ink-dim);max-width:50ch;font-weight:400;letter-spacing:.02em}
  .hero-cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:46px}
  .hero-stats{display:flex;gap:0;margin-top:86px;border-top:1px solid var(--line);flex-wrap:wrap}
  .stat{padding:30px 44px 8px 0;margin-right:44px;border-right:1px solid var(--line)}
  .stat:last-child{border-right:0;margin-right:0}
  .stat .num{font-family:var(--serif);font-size:clamp(38px,4.4vw,56px);font-weight:500;letter-spacing:.01em;line-height:1}
  .stat .num .unit{font-family:var(--sans);font-size:14px;color:var(--gold);margin-left:6px;letter-spacing:.05em}
  .stat .lbl{font-size:12px;color:var(--muted);margin-top:10px;letter-spacing:.08em}

  /* ---------- Section shell ---------- */
  section{padding:130px 0;position:relative}
  .sec-head{margin-bottom:64px;max-width:820px}
  .sec-head h2{font-family:var(--serif);font-weight:700;font-size:clamp(28px,3.8vw,50px);line-height:1.32;letter-spacing:.02em;margin-top:22px}
  .sec-head p{color:var(--muted);margin-top:22px;font-size:15px;max-width:60ch}

  /* ---------- Services (editorial list) ---------- */
  .services{background:var(--bg-2)}
  .svc-list{border-top:1px solid var(--line)}
  .svc{display:grid;grid-template-columns:120px 1fr 1.4fr auto;gap:32px;align-items:center;
    padding:34px 8px;border-bottom:1px solid var(--line);position:relative;transition:padding .4s var(--ease)}
  .svc::before{content:"";position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,rgba(184,135,87,.08),transparent);transition:width .5s var(--ease);z-index:0}
  .svc:hover::before{width:100%}
  .svc>*{position:relative;z-index:1}
  .svc .no{font-family:var(--serif);font-size:30px;color:var(--muted);font-weight:500;transition:color .4s var(--ease)}
  .svc:hover .no{color:var(--gold)}
  .svc h3{font-family:var(--serif);font-size:25px;font-weight:600;letter-spacing:.03em;transition:transform .4s var(--ease)}
  .svc:hover h3{transform:translateX(6px)}
  .svc p{color:var(--muted);font-size:14px;line-height:1.85}
  .svc .arrow{font-family:var(--serif);font-size:22px;color:var(--muted);opacity:0;transform:translateX(-10px);transition:.4s var(--ease)}
  .svc:hover .arrow{opacity:1;transform:translateX(0);color:var(--gold)}

  /* ---------- AI x Real Estate ---------- */
  .ai{position:relative;background:var(--bg);overflow:hidden}
  .ai::before{content:"";position:absolute;inset:0;pointer-events:none;
    background-image:radial-gradient(rgba(10,22,51,.05) 1px,transparent 1px);
    background-size:28px 28px;
    -webkit-mask-image:radial-gradient(72% 70% at 50% 28%,#000,transparent 82%);
    mask-image:radial-gradient(72% 70% at 50% 28%,#000,transparent 82%);}
  .ai::after{content:"";position:absolute;top:-18%;right:-8%;width:62vw;height:62vw;border-radius:50%;pointer-events:none;
    background:radial-gradient(circle,rgba(184,135,87,.12),transparent 60%)}
  .ai .wrap{position:relative;z-index:1}
  .ai .badge{display:inline-block;font-family:var(--serif);font-style:italic;font-size:21px;color:var(--gold);margin-top:8px}
  .ai-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:58px}
  .ai-card{border:1px solid var(--line);padding:38px 28px 42px;background:#ffffff;position:relative;transition:.4s var(--ease)}
  .ai-card::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--gold);transition:width .5s var(--ease)}
  .ai-card:hover{transform:translateY(-5px);border-color:var(--line-2)}
  .ai-card:hover::after{width:100%}
  .ai-card .ico{width:40px;height:40px;color:var(--gold);margin-bottom:24px;transition:transform .4s var(--ease)}
  .ai-card:hover .ico{transform:translateY(-2px) scale(1.06)}
  .ai-card .ico svg{width:100%;height:100%;display:block}
  .ai-card .tag{font-family:var(--serif);font-size:13px;letter-spacing:.12em;color:var(--muted)}
  .ai-card h3{font-family:var(--serif);font-size:21px;font-weight:600;letter-spacing:.04em;margin:5px 0 14px}
  .ai-card p{font-size:13.5px;color:var(--muted);line-height:1.85}

  /* ---------- Partnership ---------- */
  .partner{background:var(--bg-2)}
  .alliance{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;margin-top:56px;border:1px solid var(--line)}
  .ally{padding:50px 46px;background:var(--bg);display:flex;flex-direction:column;justify-content:center;transition:.4s var(--ease)}
  .ally:hover{background:var(--panel)}
  .ally .role{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
  .ally .nm{font-family:var(--serif);font-size:36px;font-weight:600;letter-spacing:.04em;line-height:1.05}
  .ally .nm .jp{font-family:var(--serif);font-size:13px;color:var(--muted);display:block;letter-spacing:.12em;margin-top:8px}
  .ally p{color:var(--muted);font-size:14px;margin-top:18px}
  .ally .link{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-size:12px;letter-spacing:.08em;color:var(--gold);transition:gap .3s var(--ease)}
  .ally .link:hover{gap:14px}
  .cross{display:flex;align-items:center;justify-content:center;padding:0 30px;background:var(--bg-2);font-family:var(--serif);font-size:38px;color:var(--gold)}

  /* ---------- Strength (reuses .ai-card) ---------- */
  .strength-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
  .strength-grid .ai-card{background:var(--bg-2)}
  .strength-grid .ai-card .no{font-family:var(--serif);font-size:15px;letter-spacing:.12em;color:var(--gold)}

  /* ---------- Process ---------- */
  .process .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:56px}
  .step{padding-top:30px;border-top:1px solid var(--line-2);position:relative}
  .step .n{font-family:var(--serif);font-size:15px;letter-spacing:.14em;color:var(--gold)}
  .step h3{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:.03em;margin:14px 0 12px}
  .step p{font-size:13.5px;color:var(--muted);line-height:1.8}

  /* ---------- Business (2 axes) ---------- */
  .biz-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px}
  .biz{border:1px solid var(--line);background:var(--bg-2);padding:48px 44px 46px;position:relative;overflow:hidden;transition:.4s var(--ease)}
  .biz::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--gold);transition:width .5s var(--ease)}
  .biz:hover{transform:translateY(-5px);border-color:var(--line-2)}
  .biz:hover::after{width:100%}
  .biz .no{font-family:var(--serif);font-size:15px;letter-spacing:.14em;color:var(--gold)}
  .biz .badge2{display:inline-block;font-size:10px;letter-spacing:.16em;padding:5px 12px;border:1px solid var(--gold);color:var(--gold);margin-left:14px;vertical-align:middle}
  .biz h3{font-family:var(--serif);font-size:29px;font-weight:600;letter-spacing:.04em;margin:16px 0 0}
  .biz h3 .en{font-family:var(--serif);display:block;font-size:14px;color:var(--muted);letter-spacing:.08em;margin-top:8px}
  .biz p{color:var(--muted);font-size:14.5px;margin-top:16px}
  .biz ul{list-style:none;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px}
  .biz ul li{font-size:12px;color:var(--ink-dim);border:1px solid var(--line);padding:7px 13px}
  .biz .link{display:inline-flex;align-items:center;gap:8px;margin-top:26px;font-size:12px;letter-spacing:.08em;color:var(--gold);transition:gap .3s var(--ease)}
  .biz .link:hover{gap:14px}

  /* ---------- Real estate grid ---------- */
  .re-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:56px}
  .re-grid-six{grid-template-columns:repeat(3,1fr)}
  .re-item{display:block;background:var(--bg-2);padding:32px 28px 34px;color:inherit;text-decoration:none;transition:background .4s var(--ease),transform .4s var(--ease),box-shadow .4s var(--ease)}
  .re-item:hover{background:var(--panel);transform:translateY(-2px)}
  .re-item:focus-visible{position:relative;z-index:1;outline:2px solid var(--gold);outline-offset:-2px}
  .re-item .no{font-family:var(--serif);font-size:14px;letter-spacing:.12em;color:var(--gold)}
  .re-item h3{font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:.03em;margin:10px 0 10px}
  .re-item p{font-size:13px;color:var(--muted);line-height:1.8}

  /* ---------- Message ---------- */
  .message .wrap{display:grid;grid-template-columns:0.85fr 1.15fr;gap:72px;align-items:center}
  .message .visual{aspect-ratio:3/4;position:relative;overflow:hidden;
    background:linear-gradient(160deg,#e8eef7,#d7e2f1);border:1px solid var(--line)}
  .message .visual::before{content:"礎";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    font-family:var(--serif);font-weight:800;font-size:240px;color:rgba(184,135,87,.10)}
  .message .visual::after{content:"SINCERITY ・ 誠実";position:absolute;left:26px;bottom:24px;
    font-size:10px;letter-spacing:.28em;color:var(--gold)}
  .message blockquote{font-family:var(--serif);font-size:clamp(24px,3vw,40px);font-weight:600;line-height:1.6;letter-spacing:.04em}
  .message blockquote em{font-style:normal;color:var(--gold)}
  .message .rule{width:60px;height:1px;background:var(--gold);margin:34px 0}
  .message .who{color:var(--muted);font-size:15px}
  .message .who strong{display:block;font-family:var(--serif);color:var(--ink);font-size:21px;font-weight:600;margin-top:8px;letter-spacing:.06em}

  /* ---------- Members ---------- */
  .members .grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
  .member{border:1px solid var(--line);padding:44px 40px;transition:.4s var(--ease);background:var(--bg-2);position:relative}
  .member::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--gold);transition:width .5s var(--ease)}
  .member:hover{transform:translateY(-4px);border-color:var(--line-2)}
  .member:hover::after{width:100%}
  .member .role{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
  .member .name{font-family:var(--serif);font-size:30px;font-weight:600;margin:14px 0 18px;letter-spacing:.06em}
  .member p{color:var(--muted);font-size:15px}

  /* ---------- Contact ---------- */
  .contact{background:
      radial-gradient(90% 120% at 100% 0%, rgba(184,135,87,.10), transparent 55%),
      var(--bg-2)}
  .contact .inner{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;align-items:end}
  .contact h2{font-family:var(--serif);font-size:clamp(30px,4.4vw,58px);font-weight:700;line-height:1.28;letter-spacing:.03em;margin-top:24px}
  .contact .sub{color:var(--muted);margin-top:24px;max-width:46ch;font-size:15px}
  .contact .cta-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:40px}
  .contact .info{border-left:1px solid var(--line);padding-left:40px}
  .contact .info dt{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-top:26px}
  .contact .info dt:first-child{margin-top:0}
  .contact .info dd{font-size:15px;margin-top:6px;color:var(--ink-dim)}
  .contact .info .tel{font-family:var(--serif);font-size:34px;font-weight:500;letter-spacing:.02em;color:var(--ink)}

  /* ---------- Contact choices (incerto-style) ---------- */
  .contact-choices{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:58px}
  .choice{display:flex;flex-direction:column;gap:22px;padding:46px 42px;border:1px solid var(--line-2);
    background:#ffffff;position:relative;overflow:hidden;transition:transform .4s var(--ease),border-color .4s var(--ease)}
  .choice::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(184,135,87,.16),transparent 62%);opacity:0;transition:opacity .45s var(--ease)}
  .choice:hover{transform:translateY(-6px);border-color:var(--gold)}
  .choice:hover::after{opacity:1}
  .choice>*{position:relative;z-index:1}
  .choice .ico{width:46px;height:46px;color:var(--gold);transition:transform .4s var(--ease)}
  .choice:hover .ico{transform:translateY(-2px) scale(1.06)}
  .choice .ico svg{width:100%;height:100%;display:block}
  .choice .k{font-family:var(--serif);font-size:13px;letter-spacing:.14em;color:var(--muted)}
  .choice h3{font-family:var(--serif);font-size:26px;font-weight:600;letter-spacing:.04em;margin:6px 0 12px}
  .choice p{color:var(--ink-dim);font-size:14px;line-height:1.85}
  .choice .go{margin-top:auto;display:inline-flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.08em;color:var(--gold);transition:gap .35s var(--ease)}
  .choice:hover .go{gap:16px}
  .info-row{display:flex;flex-wrap:wrap;gap:34px 60px;margin-top:60px;padding-top:42px;border-top:1px solid var(--line)}
  .info-row .k{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
  .info-row .v{font-size:15px;margin-top:9px;color:var(--ink-dim);max-width:44ch}
  .info-row .v.tel{font-family:var(--serif);font-size:30px;font-weight:500;color:var(--ink);letter-spacing:.02em}

  /* ---------- Contact panel (incerto "進め方を選ぶ") ---------- */
  .panel{margin-top:56px;border:1px solid var(--line-2);border-radius:20px;padding:48px 46px;
    background:radial-gradient(130% 110% at 100% 0%, rgba(184,135,87,.08), transparent 55%), #ffffff}
  .panel-top{display:flex;justify-content:space-between;align-items:center;gap:34px;flex-wrap:wrap}
  .panel-top h3{font-family:var(--serif);font-size:26px;font-weight:600;letter-spacing:.04em}
  .panel-top .sub{color:var(--muted);font-size:13.5px;margin-top:12px;max-width:34ch}
  .panel-pills{display:flex;gap:12px;flex-wrap:wrap}
  .pill{display:inline-flex;align-items:center;gap:10px;border-radius:999px;font-size:13px;font-weight:500;
    letter-spacing:.04em;padding:15px 26px;border:1px solid var(--line-2);color:var(--ink);transition:all .35s var(--ease)}
  .pill .meta{font-family:var(--serif);font-size:11px;letter-spacing:.08em;color:var(--muted)}
  .pill:hover{border-color:var(--ink);transform:translateY(-2px)}
  .pill.gold{background:var(--gold);border-color:var(--gold);color:#fff}
  .pill.gold .meta{color:rgba(255,255,255,.72)}
  .pill.gold:hover{background:var(--gold-2);border-color:var(--gold-2)}
  .panel-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:42px;padding-top:42px;border-top:1px solid var(--line)}
  .pcard{border:1px solid var(--line);border-radius:14px;background:#f8fafd;padding:36px 34px;transition:.4s var(--ease)}
  .pcard:hover{border-color:var(--line-2);transform:translateY(-4px)}
  .pcard .k{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
  .pcard h4{font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:.03em;margin:14px 0 12px}
  .pcard p{color:var(--muted);font-size:13.5px;line-height:1.85}
  .pcard .pbtn{display:inline-flex;align-items:center;gap:10px;margin-top:22px;border-radius:999px;
    border:1px solid var(--line-2);padding:12px 22px;font-size:12.5px;letter-spacing:.04em;color:var(--ink);transition:all .35s var(--ease)}
  .pcard .pbtn:hover{border-color:var(--gold);color:var(--gold);gap:15px}

  /* ---------- Inquiry form ---------- */
  .form-wrap{max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--ease),opacity .5s var(--ease),margin-top .6s var(--ease)}
  .form-wrap.open{max-height:1600px;opacity:1;margin-top:42px}
  .iform{border-top:1px solid var(--line);padding-top:42px}
  .iform .fh{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:.04em;margin-bottom:6px}
  .iform .fnote{font-size:12.5px;color:var(--muted);margin-bottom:28px}
  .iform .grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
  .field{display:flex;flex-direction:column;gap:9px}
  .field.full{grid-column:1/-1}
  .field label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
  .field label .req{color:var(--gold);margin-left:6px}
  .field input,.field select,.field textarea{width:100%;background:#ffffff;border:1px solid var(--line-2);
    color:var(--ink);font-family:var(--sans);font-size:15px;padding:14px 16px;border-radius:10px;
    transition:border-color .3s var(--ease),background .3s var(--ease)}
  .field textarea{min-height:130px;resize:vertical;line-height:1.7}
  .field input::placeholder,.field textarea::placeholder{color:#9aa6bb}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);background:#f4f7fb}
  .field select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:42px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23b88757' stroke-width='1.5'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 16px center}
  .iform .consent{display:flex;align-items:flex-start;gap:12px;margin-top:6px;font-size:13px;color:var(--muted)}
  .iform .consent input{width:17px;height:17px;margin-top:3px;accent-color:var(--gold);flex:0 0 auto}
  .iform .consent a{color:var(--gold)}
  .iform .submit-row{margin-top:4px}
  .iform .done{display:none;border:1px solid var(--gold);border-radius:12px;padding:22px 24px;color:var(--ink);font-size:14px}
  .iform .done.show{display:block}

  /* ---------- Footer ---------- */
  footer.site{padding:60px 0 40px;border-top:1px solid var(--line)}
  .foot{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;flex-wrap:wrap}
  .foot nav{display:flex;gap:30px;flex-wrap:wrap}
  .foot nav a{font-size:12px;letter-spacing:.06em;color:var(--muted);transition:color .3s var(--ease)}
  .foot nav a:hover{color:var(--gold)}
  .copy{font-family:var(--serif);font-size:13px;letter-spacing:.04em;color:var(--muted);margin-top:40px}

  /* ---------- Reveal ---------- */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
  .reveal.in{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

  /* ---------- Responsive ---------- */
  @media (max-width:960px){
    .menu{position:fixed;inset:84px 0 auto 0;background:rgba(255,255,255,.98);flex-direction:column;gap:0;
      padding:12px 32px 28px;border-bottom:1px solid var(--line);transform:translateY(-140%);transition:transform .4s var(--ease)}
    .menu.open{transform:none}
    .menu a:not(.btn){width:100%;padding:18px 0;border-bottom:1px solid var(--line)}
    .menu .btn{width:100%;margin-top:18px}
    .burger{display:flex}
    .svc{grid-template-columns:64px 1fr;gap:16px 20px;align-items:start}
    .svc p{grid-column:2}
    .svc .arrow{display:none}
    .ai-grid{grid-template-columns:1fr 1fr}
    .alliance{grid-template-columns:1fr}
    .cross{padding:20px 0}
    .biz-grid{grid-template-columns:1fr}
    .re-grid{grid-template-columns:1fr 1fr}
    .strength-grid{grid-template-columns:1fr}
    .process .steps{grid-template-columns:1fr 1fr}
    .message .wrap{grid-template-columns:1fr;gap:44px}
    .message .visual{aspect-ratio:16/11}
    .members .grid2{grid-template-columns:1fr}
    .contact .inner{grid-template-columns:1fr;gap:44px;align-items:start}
    .contact .info{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:32px}
    .contact-choices{grid-template-columns:1fr}
    .panel{padding:34px 26px}
    .panel-top{flex-direction:column;align-items:flex-start;gap:24px}
    .panel-cards{grid-template-columns:1fr}
    .iform .grid2{grid-template-columns:1fr}
  }
  @media (max-width:560px){
    .wrap{padding:0 22px}
    section{padding:90px 0}
    .ai-grid{grid-template-columns:1fr}
    .re-grid{grid-template-columns:1fr}
    .process .steps{grid-template-columns:1fr}
    .hero{padding:120px 0 70px}
    .stat{padding:24px 26px 8px 0;margin-right:26px}
    .hero h1{margin:26px 0 26px}
  }


/* ============================================================
   Sub-page components
   ============================================================ */
.page-hero{position:relative;padding:172px 0 80px;overflow:hidden;
  background:radial-gradient(120% 90% at 90% 0%, rgba(184,135,87,.10), transparent 55%), linear-gradient(180deg,#ffffff,#eef3fb)}
.page-hero .kanji{position:absolute;right:-2vw;top:50%;transform:translateY(-50%);font-family:"Cormorant Garamond",var(--serif);font-weight:600;text-transform:uppercase;
  font-size:clamp(72px,11vw,170px);line-height:1;letter-spacing:.08em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(10,22,51,.05);pointer-events:none;user-select:none}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(34px,5vw,64px);letter-spacing:.04em;line-height:1.2;margin-top:22px}
.page-hero .lead{color:var(--ink-dim);margin-top:22px;font-size:16px;max-width:62ch;line-height:1.9}
.breadcrumb{font-family:var(--serif);font-size:12px;letter-spacing:.08em;color:var(--muted)}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--gold)}
.breadcrumb span{margin:0 8px;opacity:.5}

/* spec table (company) */
.spec{border-top:1px solid var(--line);max-width:980px}
.spec .row{display:grid;grid-template-columns:240px 1fr;gap:24px;padding:26px 8px;border-bottom:1px solid var(--line)}
.spec dt{font-size:13px;letter-spacing:.1em;color:var(--gold)}
.spec dd{font-size:15px;color:var(--ink-dim);line-height:1.9}
.spec dd small{display:block;color:var(--muted);font-size:13px;margin-top:2px}

/* prose (privacy / long text) */
.prose{max-width:860px}
.prose>p.intro{color:var(--muted);font-size:15px;line-height:2;margin-bottom:10px}
.prose h2{font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:.03em;margin:46px 0 14px;color:var(--ink)}
.prose p{color:var(--ink-dim);font-size:15px;line-height:2;margin-bottom:14px}
.prose ul{list-style:none;margin:0 0 16px;padding:0}
.prose ul li{color:var(--ink-dim);font-size:15px;line-height:1.95;padding-left:22px;position:relative}
.prose ul li::before{content:"";position:absolute;left:2px;top:15px;width:8px;height:1px;background:var(--gold)}
.prose .box{border:1px solid var(--line);border-radius:12px;padding:26px 30px;margin-top:22px;background:var(--bg-2)}
.prose .box .k{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}

/* faq accordion */
.faq{border-top:1px solid var(--line);max-width:920px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;gap:20px;align-items:flex-start;padding:28px 8px;
  font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:.02em;color:var(--ink);transition:color .3s var(--ease)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q{font-family:var(--serif);color:var(--gold);font-size:18px;flex:0 0 auto;line-height:1.5}
.faq summary .ic{margin-left:auto;flex:0 0 auto;width:18px;height:18px;position:relative;margin-top:6px}
.faq summary .ic::before,.faq summary .ic::after{content:"";position:absolute;background:var(--gold);transition:.3s var(--ease)}
.faq summary .ic::before{left:0;top:8px;width:18px;height:1.5px}
.faq summary .ic::after{left:8px;top:0;width:1.5px;height:18px}
.faq details[open] summary .ic::after{transform:scaleY(0)}
.faq summary:hover{color:var(--gold)}
.faq .a{padding:0 8px 30px 46px;color:var(--muted);font-size:14.5px;line-height:1.95}
.faq .a a{color:var(--gold)}

/* profile (representatives) */
.profile{display:grid;grid-template-columns:0.78fr 1.22fr;gap:60px;align-items:start}
.profile+.profile{margin-top:96px;padding-top:96px;border-top:1px solid var(--line)}
.profile .photo{aspect-ratio:3/4;border:1px solid var(--line);background:linear-gradient(160deg,#e8eef7,#d7e2f1);
  position:sticky;top:108px;overflow:hidden}
.profile .photo::before{content:attr(data-kanji);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-weight:800;font-size:190px;color:rgba(184,135,87,.10)}
.profile .role{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.profile .name{font-family:var(--serif);font-size:34px;font-weight:600;letter-spacing:.06em;margin:12px 0 0}
.profile .name small{font-family:var(--serif);display:block;font-size:14px;color:var(--muted);letter-spacing:.08em;margin-top:8px}
.profile .catch{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--gold);letter-spacing:.03em;margin:30px 0 8px}
.profile h3{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--ink);margin:30px 0 10px}
.profile p{color:var(--ink-dim);font-size:15px;line-height:2;margin-bottom:14px}
.profile .bio{border-left:1px solid var(--gold);padding-left:24px;margin-top:40px}
.profile .bio .k{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.profile .bio p{color:var(--muted);font-size:14px;line-height:1.95;margin:0}

/* cta band */
.cta-band{background:radial-gradient(90% 130% at 100% 0%, rgba(184,135,87,.10), transparent 55%), var(--bg-2);text-align:center}
.cta-band h2{font-family:var(--serif);font-size:clamp(26px,3.4vw,42px);font-weight:700;letter-spacing:.03em;line-height:1.3}
.cta-band p{color:var(--muted);margin:20px auto 0;max-width:52ch;font-size:15px}
.cta-band .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:36px}

.menu a.active{color:var(--gold)}

@media (max-width:960px){
  .spec .row{grid-template-columns:1fr;gap:6px;padding:22px 6px}
  .profile{grid-template-columns:1fr;gap:36px}
  .profile .photo{position:relative;top:0;aspect-ratio:16/11}
  .profile+.profile{margin-top:64px;padding-top:64px}
  .page-hero{padding:140px 0 64px}
  .faq .a{padding-left:8px}
}


/* ============================================================
   English pages (lang="en") + language toggle
   ============================================================ */
html[lang="en"]{--serif:"Cormorant Garamond","Shippori Mincho B1",serif;--serif-body:"Inter","Noto Sans JP",system-ui,sans-serif}
/* keep the big watermark character in mincho regardless of language */
.hero .kanji,.page-hero .kanji{font-family:"Shippori Mincho B1","Hiragino Mincho ProN",serif}

.menu .lang{font-family:var(--serif);font-size:13px;letter-spacing:.12em;color:var(--muted);
  border:1px solid var(--line-2);border-radius:999px;padding:8px 16px;transition:all .3s var(--ease)}
.menu .lang::after{display:none}
.menu .lang:hover{color:var(--gold);border-color:var(--gold);transform:translateY(-2px)}
@media (max-width:960px){
  .menu .lang{display:inline-block;width:auto;border-radius:999px;padding:8px 16px;margin-top:14px;border:1px solid var(--line-2)}
}


/* ============================================================
   Multilingual: language switcher + ZH / KO fonts
   ============================================================ */
html[lang="zh-CN"]{--serif:"Noto Serif SC","Songti SC",serif;--sans:"Noto Sans SC","PingFang SC","Hiragino Sans GB",system-ui,sans-serif;--serif-body:"Noto Sans SC","PingFang SC","Hiragino Sans GB",system-ui,sans-serif}
html[lang="zh-CN"] .hero .kanji,html[lang="zh-CN"] .page-hero .kanji{font-family:"Noto Serif SC",serif}
html[lang="ko"]{--serif:"Noto Serif KR","Nanum Myeongjo",serif;--sans:"Noto Sans KR","Apple SD Gothic Neo",system-ui,sans-serif;--serif-body:"Noto Sans KR","Apple SD Gothic Neo",system-ui,sans-serif}
html[lang="ko"] .hero .kanji,html[lang="ko"] .page-hero .kanji{font-family:"Noto Serif KR",serif}

.menu .langs{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line-2);border-radius:999px;padding:4px}
.menu .langs a{font-family:var(--serif);font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--muted);
  padding:6px 10px;border-radius:999px;line-height:1;transition:color .25s var(--ease),background .25s var(--ease)}
.menu .langs a::after{display:none}
.menu .langs a:hover{color:var(--gold)}
.menu .langs a.on{background:var(--gold);color:#fff}
@media (max-width:960px){
  .menu .langs{margin-top:16px}
  .menu .langs a{width:auto;padding:7px 12px;border-bottom:0}
}


/* ============================================================
   Traditional Chinese (zh-Hant) + Indonesian (id) fonts
   ============================================================ */
html[lang="zh-Hant"]{--serif:"Noto Serif TC","Songti TC",serif;--sans:"Noto Sans TC","PingFang TC",system-ui,sans-serif;--serif-body:"Noto Sans TC","PingFang TC",system-ui,sans-serif}
html[lang="zh-Hant"] .hero .kanji,html[lang="zh-Hant"] .page-hero .kanji{font-family:"Noto Serif TC",serif}
/* Indonesian uses Latin script — default Inter/Cormorant stack applies, no override needed */

html[lang="id"]{--serif:"Cormorant Garamond","Shippori Mincho B1",serif;--serif-body:"Inter","Noto Sans JP",system-ui,sans-serif}


/* ---------- Company: business partners ---------- */
.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.partner-grid .ai-card{background:var(--bg-2);display:flex;flex-direction:column}
.partner-grid .ai-card .sub{font-family:var(--serif);font-size:12px;letter-spacing:.12em;color:var(--muted)}
.partner-grid .ai-card h3{font-size:18px;font-weight:600;margin:8px 0 10px;line-height:1.5}
.partner-grid .ai-card p{flex:1 0 auto;font-size:13.5px;color:var(--muted);line-height:1.85}
.partner-grid .perk{align-self:flex-start;margin-top:14px;font-size:11px;letter-spacing:.06em;color:var(--gold);
  border:1px solid var(--gold);border-radius:999px;padding:5px 12px}
.partner-grid .pl{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:12.5px;letter-spacing:.04em;
  color:var(--gold);transition:gap .3s var(--ease)}
.partner-grid .pl:hover{gap:13px}
@media(max-width:960px){.partner-grid{grid-template-columns:1fr}}


/* ============================================================
   Landing page (LP)
   ============================================================ */
.lp-badge{display:inline-block;margin-bottom:22px;font-size:12px;letter-spacing:.08em;color:#fff;
  background:var(--gold);border-radius:999px;padding:9px 18px;font-weight:600}
.lp-badge.line{background:transparent;color:var(--gold);border:1px solid var(--gold);margin-left:8px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:44px}
.chips span{font-size:13.5px;color:var(--ink-dim);border:1px solid var(--line-2);border-radius:999px;padding:10px 18px}
.lp-cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;gap:10px;padding:12px 14px;
  background:rgba(255,255,255,.95);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px);border-top:1px solid var(--line-2)}
.lp-cta-bar a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;
  padding:15px 10px;font-size:14px;font-weight:600;letter-spacing:.03em}
@media(max-width:760px){.lp-cta-bar{display:flex} body.haslpbar{padding-bottom:80px}}


/* ---------- LP: SNS consultation buttons ---------- */
.sns-block{margin-top:44px}
.sns-lead{color:var(--ink-dim);font-size:14px}
.sns-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:780px;margin:26px auto 0}
.sns{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line-2);
  border-radius:999px;padding:15px 18px;font-size:14px;font-weight:600;color:var(--ink);background:#ffffff;
  transition:transform .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease)}
.sns .ic{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--brand,var(--gold));flex:0 0 auto}
.sns .ic svg{width:20px;height:20px;display:block}
.sns:hover{transform:translateY(-3px);border-color:var(--brand,var(--gold));color:var(--brand,var(--gold))}
.sns-note{font-size:12px;color:var(--muted);margin-top:18px}
@media(max-width:760px){.sns-grid{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.sns-grid{grid-template-columns:1fr}}


/* ---------- LP: column promo banner ---------- */
.col-promo{max-width:860px;margin:56px auto 0;text-align:center;border:1px solid var(--gold);border-radius:18px;
  padding:46px 32px;position:relative;overflow:hidden;
  background:radial-gradient(120% 150% at 50% 0%, rgba(184,135,87,.16), transparent 60%), var(--bg-2);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.col-promo:hover{transform:translateY(-4px);box-shadow:0 24px 60px -30px rgba(184,135,87,.5)}
.col-promo .overline{display:inline-flex;justify-content:center}
.col-promo h3{font-family:var(--serif);font-size:clamp(21px,2.8vw,30px);font-weight:600;letter-spacing:.03em;line-height:1.5;margin:16px 0 10px}
.col-promo p{color:var(--muted);font-size:14px;margin-bottom:26px}


/* ---------- Column: article list & series nav ---------- */
.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.art{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:var(--bg-2);
  padding:34px 30px;transition:transform .35s var(--ease),border-color .35s var(--ease)}
.art:hover{transform:translateY(-4px);border-color:var(--line-2)}
.art .k{font-family:var(--serif);font-size:13px;letter-spacing:.12em;color:var(--gold)}
.art h3{font-family:var(--serif);font-size:20px;font-weight:600;line-height:1.5;letter-spacing:.02em;margin:12px 0 12px}
.art p{flex:1;color:var(--muted);font-size:14px;line-height:1.8}
.art .more{margin-top:18px;font-size:13px;color:var(--gold);letter-spacing:.04em}
.art .thumb{aspect-ratio:16/10;margin:-18px -14px 22px;border-radius:10px;overflow:hidden;background:var(--bg)}
.art .thumb img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.03);transition:transform .5s var(--ease)}
.art:hover .thumb img{transform:scale(1.035)}
@media(max-width:900px){.art-grid{grid-template-columns:1fr}}
.artnav{display:flex;justify-content:space-between;gap:16px;margin:56px auto 0;max-width:860px;
  border-top:1px solid var(--line);padding-top:28px;flex-wrap:wrap}
.artnav a{font-size:14px;color:var(--ink-dim);letter-spacing:.02em}
.artnav a:hover{color:var(--gold)}
.post-photo{max-width:860px;margin:0 auto 34px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--bg-2)}
.post-photo img{width:100%;max-height:620px;object-fit:cover}
.post-photo figcaption{padding:13px 18px;color:var(--muted);font-size:12px;letter-spacing:.04em;border-top:1px solid var(--line)}


/* ---------- Sitemap / link columns ---------- */
.linkcols{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:48px}
.linkcol h3{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:.03em;margin-bottom:16px;color:var(--ink)}
.linkcol ul{list-style:none;margin:0;padding:0}
.linkcol li{margin:0 0 11px}
.linkcol a{font-size:14px;color:var(--ink-dim);letter-spacing:.02em}
.linkcol a:hover{color:var(--gold)}
.linkcol .small{font-size:12px;color:var(--muted)}
@media(max-width:760px){.linkcols{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.linkcols{grid-template-columns:1fr}}
/* 404 */
.err{min-height:70vh;display:flex;align-items:center;text-align:center}
.err .big{font-family:var(--serif);font-size:clamp(80px,18vw,180px);font-weight:600;line-height:1;color:var(--gold);letter-spacing:.02em}

/* 代表挨拶 全文ページ 署名 */
.prose .sign{margin-top:3em;padding-top:1.6em;border-top:1px solid var(--line);text-align:right}
.prose .sign-role{font-size:13px;letter-spacing:.06em;color:var(--muted)}
.prose .sign-name{font-family:var(--serif);font-size:30px;font-weight:600;color:var(--ink);letter-spacing:.06em;margin-top:.35em;line-height:1.2}
.prose .sign-en{font-family:var(--serif-en);font-style:italic;font-size:15px;color:var(--gold);letter-spacing:.02em;margin-top:.5em}

/* プロフィール／代表ポートレート 写真（無ければ漢字フォールバック） */
.profile .photo img,.msg-portrait .pf img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:1;
  filter:grayscale(1) contrast(1.04);transition:filter .5s var(--ease)}
/* hover restores full color (finatext-style monochrome → color) */
.profile:hover .photo img,.msg-portrait:hover .pf img{filter:grayscale(0) contrast(1)}
.msg-portrait{float:right;width:230px;margin:4px 0 22px 40px}
.msg-portrait .pf{position:relative;aspect-ratio:3/4;border:1px solid var(--line);background:linear-gradient(160deg,#e8eef7,#d7e2f1);overflow:hidden}
.msg-portrait .pf::before{content:attr(data-kanji);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:800;font-size:118px;color:rgba(184,135,87,.10)}
.msg-portrait figcaption{margin-top:12px;font-family:var(--serif);font-size:16px;color:var(--ink);letter-spacing:.05em;text-align:center}
.msg-portrait figcaption span{display:block;font-family:var(--sans);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-top:5px}
@media(max-width:640px){.msg-portrait{float:none;width:188px;margin:0 auto 26px}}

/* ポートレート枠の装飾：金のベースライン＋下部スクリム＋キャプションの金ルール */
.profile .photo::after,.msg-portrait .pf::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  --L:20px;--m:9px;background-repeat:no-repeat;
  background-image:linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),linear-gradient(to top,rgba(10,22,51,.28),rgba(10,22,51,0) 38%);
  background-size:var(--L) 1px,1px var(--L),var(--L) 1px,1px var(--L),100% 100%;
  background-position:var(--m) var(--m),var(--m) var(--m),calc(100% - var(--m)) calc(100% - var(--m)),calc(100% - var(--m)) calc(100% - var(--m)),0 0}
.msg-portrait figcaption{padding-top:15px;position:relative}
.msg-portrait figcaption::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:28px;height:1px;background:var(--gold)}

/* メンバーカードをリンク化 */
a.member{text-decoration:none;color:inherit;display:block}
a.member .name{color:var(--ink)}


/* ============================================================
   Iconography & figures (language-neutral)
   -----------------------------------------------------------
   図解・アイコンを CSS 背景SVGで注入。全言語版が assets/premium.css を
   共有するため、この1ファイルで各言語トップの視覚が同時に強化される。
   セクションは id / 親クラスでスコープし、番号(nth-of-type)でアイコンを割当。
   ============================================================ */

/* ---- Services: 各行にラインアイコンを付与（#services 内の .svc のみ） ---- */
.svc-list .svc .no{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.svc-list .svc .no::before{content:"";width:34px;height:34px;margin-bottom:14px;
  background:center/contain no-repeat;opacity:.92;transition:transform .4s var(--ease)}
.svc-list .svc:hover .no::before{transform:translateY(-3px)}
.svc-list .svc:nth-of-type(1) .no::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88757' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H8l-4 4V5z'/%3E%3Cpath d='M8 9h8M8 12h5'/%3E%3C/svg%3E")}
.svc-list .svc:nth-of-type(2) .no::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88757' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l4 4v14H7z'/%3E%3Cpath d='M14 3v4h4'/%3E%3Cpath d='M10 12h5M10 15h5'/%3E%3C/svg%3E")}
.svc-list .svc:nth-of-type(3) .no::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88757' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h16'/%3E%3Cpath d='M7 20v-5M12 20v-9M17 20v-13'/%3E%3C/svg%3E")}
.svc-list .svc:nth-of-type(4) .no::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88757' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M4 12h16'/%3E%3Cpath d='M12 4c3 3 3 13 0 16c-3-3-3-13 0-16z'/%3E%3C/svg%3E")}
.svc-list .svc:nth-of-type(5) .no::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88757' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M12 12V4M12 12l7 3'/%3E%3C/svg%3E")}
.svc-list .svc:nth-of-type(6) .no::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88757' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6' r='2.4'/%3E%3Ccircle cx='18' cy='6' r='2.4'/%3E%3Ccircle cx='12' cy='18' r='2.4'/%3E%3Cpath d='M8 7l3 9M16 7l-3 9'/%3E%3C/svg%3E")}

/* ---- Strength: 3枚のカード上部にアイコン ---- */
.strength-grid .ai-card{padding-top:34px}
.strength-grid .ai-card::before{content:"";display:block;width:40px;height:40px;margin-bottom:22px;
  background:center/contain no-repeat;transition:transform .4s var(--ease)}
.strength-grid .ai-card:hover::before{transform:translateY(-3px) scale(1.05)}
.strength-grid .ai-card:nth-of-type(1)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88757' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s4-7 10-7 10 7 10 7-4 7-10 7-10-7-10-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E")}
.strength-grid .ai-card:nth-of-type(2)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88757' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 8l-4 4 4 4M15 8l4 4-4 4'/%3E%3C/svg%3E")}
.strength-grid .ai-card:nth-of-type(3)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88757' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12a8 8 0 0 1 14-5l2 2'/%3E%3Cpath d='M20 4v4h-4'/%3E%3Cpath d='M20 12a8 8 0 0 1-14 5l-2-2'/%3E%3Cpath d='M4 20v-4h4'/%3E%3C/svg%3E")}

/* ---- Business 2軸: 各カードにアイコン（右上・装飾） ---- */
#business .biz::before{content:"";position:absolute;top:44px;right:40px;width:42px;height:42px;
  background:center/contain no-repeat;opacity:.9;transition:transform .4s var(--ease)}
#business .biz:hover::before{transform:translateY(-3px)}
#business .biz-grid .biz:nth-of-type(1)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88757' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='7' width='10' height='10' rx='1.5'/%3E%3Cpath d='M10 4v3M14 4v3M10 17v3M14 17v3M4 10h3M4 14h3M17 10h3M17 14h3'/%3E%3C/svg%3E")}
#business .biz-grid .biz:nth-of-type(2)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88757' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h16'/%3E%3Cpath d='M6 20V6l7-3v17'/%3E%3Cpath d='M13 20V9l5 2v9'/%3E%3Cpath d='M9 9h1M9 13h1'/%3E%3C/svg%3E")}
@media(max-width:560px){#business .biz::before{width:34px;height:34px;top:36px;right:30px}}

/* ---- Process: ステッパー化（各ステップ頭にノード、番号を丸で強調） ---- */
.process .steps{position:relative}
.step::before{content:"";position:absolute;top:-6px;left:0;width:12px;height:12px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 0 4px var(--bg);transition:transform .4s var(--ease)}
.step:hover::before{transform:scale(1.25)}
.step::after{content:"";position:absolute;top:0;left:12px;right:0;height:1px;background:var(--gold);opacity:.35}
.step:last-child::after{display:none}
@media(max-width:960px){.step::after{display:none}}

/* ---- Real estate グリッド: 各サービスに小アイコン（#realestate 内のみ） ---- */
#realestate .re-item{position:relative}
#realestate .re-item::before{content:"";position:absolute;top:30px;right:26px;width:26px;height:26px;
  background:center/contain no-repeat;opacity:.5;transition:opacity .4s var(--ease),transform .4s var(--ease)}
#realestate .re-item:hover::before{opacity:1;transform:translateY(-2px)}
#realestate .re-item:nth-of-type(1)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88757' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='9' r='3.4'/%3E%3Cpath d='M10.4 11.4L18 19M15 16l2-2M17 18l2-2'/%3E%3C/svg%3E")}
#realestate .re-item:nth-of-type(2)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88757' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h16M7 20V8l6-4v16M13 20v-8l4 2v6'/%3E%3C/svg%3E")}
#realestate .re-item:nth-of-type(3)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88757' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21V9l7-5 7 5v12z'/%3E%3Cpath d='M12 12v4M10 14h4'/%3E%3C/svg%3E")}
#realestate .re-item:nth-of-type(4)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88757' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12l-8 8-8-8V4h8z'/%3E%3Ccircle cx='9' cy='9' r='1.3'/%3E%3C/svg%3E")}
#realestate .re-item:nth-of-type(5)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88757' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M4 12h16'/%3E%3Cpath d='M12 4c3 3 3 13 0 16c-3-3-3-13 0-16z'/%3E%3C/svg%3E")}
#realestate .re-item:nth-of-type(6)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88757' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='4' width='10' height='16' rx='1.5'/%3E%3Cpath d='M9 4h6v3H9z'/%3E%3Cpath d='M9 11h6M9 15h4'/%3E%3C/svg%3E")}
#realestate .re-item:nth-of-type(7)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88757' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='12' height='5' rx='1'/%3E%3Cpath d='M16 7h3v3h-5'/%3E%3Cpath d='M12 13v2'/%3E%3Crect x='10' y='15' width='4' height='5' rx='1'/%3E%3C/svg%3E")}
#realestate .re-item:nth-of-type(8)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88757' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8l8-4 8 4-8 4z'/%3E%3Cpath d='M4 8v8l8 4 8-4V8'/%3E%3Cpath d='M12 12v8'/%3E%3C/svg%3E")}
@media(max-width:560px){#realestate .re-item::before{opacity:.75}}

/* ---- Message: 代表ポートレート写真をビジュアル枠に（無ければ礎にフォールバック） ---- */
.message .visual::before{z-index:0}
.message .visual::after{z-index:3;text-shadow:0 1px 10px rgba(255,255,255,.85)}
.message .visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;
  z-index:1;filter:grayscale(1) contrast(1.04);transition:filter .6s var(--ease)}
.message:hover .visual img{filter:grayscale(0) contrast(1)}


/* ===== Top craft pack (home only) ===== */

/* scroll progress bar */
body.home .progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:100;pointer-events:none}
body.home .progress i{display:block;height:100%;background:var(--gold);transform-origin:0 50%;transform:scaleX(0)}

/* faint vertical guide lines behind section content */
body.home main{position:relative}
body.home .guides{position:absolute;inset:0;pointer-events:none;z-index:0}
body.home .guides i{position:absolute;top:0;height:100%;width:1px;background:rgba(10,22,51,.045)}
body.home .guides i:nth-child(1){left:25%}
body.home .guides i:nth-child(2){left:50%}
body.home .guides i:nth-child(3){left:75%}
body.home section .wrap{position:relative;z-index:1}

/* vertical side labels running down the margin of each section */
body.home .side-label{position:absolute;left:26px;top:120px;writing-mode:vertical-rl;
  font-family:var(--serif-en);font-size:11px;letter-spacing:.32em;color:var(--muted);opacity:.75;z-index:1}
body.home .side-label::after{content:"";display:block;margin-top:14px;width:1px;height:48px;background:var(--muted)}
@media(max-width:1240px){ body.home .side-label{display:none} }

/* hero h1 letter-split reveal */
body.home .hero h1.is-split .ch{display:inline-block;opacity:0;transform:translateY(.6em) rotate(2deg);filter:blur(6px);
  transition:opacity .7s var(--ease),transform .7s var(--ease),filter .7s var(--ease)}
body.home .hero h1.is-split.is-in .ch{opacity:1;transform:none;filter:none}

/* "礎" parallax on scroll (keeps existing vertical centering) */
body.home .hero .kanji{transform:translateY(calc(-50% + var(--para,0px)))}

/* ambient drifting light in the hero */
body.home .hero::before{content:"";position:absolute;width:52vw;height:52vw;border-radius:50%;top:-12%;left:-8%;
  background:radial-gradient(circle, rgba(184,135,87,.10), transparent 62%);
  animation:drift 26s ease-in-out infinite alternate;pointer-events:none}
@keyframes drift{from{transform:translate(0,0) scale(1)}to{transform:translate(9vw,7vh) scale(1.15)}}

/* magnetic buttons: faster, transform-focused transition (home only, overrides base .btn transition) */
body.home .btn{will-change:transform}
body.home .btn{transition:background .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease),transform .18s ease-out}

@media (prefers-reduced-motion:reduce){
  body.home .hero::before{animation:none}
  body.home .hero h1.is-split .ch{opacity:1;transform:none;filter:none;transition:none}
}


/* ===== Top design pack v2 (home only) ===== */

/* 1) Japanese typography tightening (proportional glyph metrics) */
body.home h1, body.home h2, body.home h3, body.home blockquote{
  font-feature-settings:"palt";letter-spacing:.015em}

/* 2) Hero precision layer: contour lines + scroll cue + button depth */
body.home .hero .contour{position:absolute;right:-10%;bottom:-20%;width:56vw;opacity:.6;pointer-events:none;z-index:1}
body.home .hero .contour path{fill:none;stroke:#b88757;stroke-width:1}

body.home .hero .scroll-cue{position:absolute;left:32px;bottom:28px;z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:14px}
body.home .hero .scroll-cue span{writing-mode:vertical-rl;font-family:var(--serif-en);
  font-size:11px;letter-spacing:.3em;color:var(--muted)}
body.home .hero .scroll-cue i{position:relative;display:block;width:1px;height:56px;background:var(--line-2)}
body.home .hero .scroll-cue i::after{content:"";position:absolute;left:50%;top:0;width:5px;height:5px;
  margin-left:-2px;border-radius:50%;background:var(--gold);animation:scrollDot 2.2s ease-in-out infinite}
@keyframes scrollDot{0%{top:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:100%;opacity:0}}

body.home .btn-gold{box-shadow:0 14px 34px -16px rgba(184,135,87,.55)}
body.home .btn-gold:hover{box-shadow:0 18px 40px -16px rgba(184,135,87,.65);transform:translateY(-1px)}

/* 3) Section head ghost numbers */
body.home .sec-head{position:relative}
body.home .sec-head::before{content:attr(data-num);position:absolute;left:-8px;top:-74px;
  font-family:var(--serif-en);font-weight:500;font-size:clamp(110px,13vw,190px);line-height:1;
  color:rgba(184,135,87,.055);z-index:-1;letter-spacing:0}
@media(max-width:560px){ body.home .sec-head::before{font-size:90px} }

/* 4) Service icons + refined grid */
body.home .svc{grid-template-columns:96px 34px 1fr 1.4fr auto}
body.home .svc .ic{width:26px;height:26px;color:var(--gold);opacity:.85;transition:transform .4s var(--ease)}
body.home .svc .ic svg{width:100%;height:100%;display:block}
body.home .svc:hover .ic{transform:translateY(-2px)}
@media(max-width:960px){
  body.home .svc{grid-template-columns:48px 26px 1fr}
  body.home .svc p{grid-column:3}
}

/* 5) Strength section — dark reversal */
body.home .ai{background:#17130f;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
body.home .ai::before{background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px)}
body.home .ai::after{background:radial-gradient(circle,rgba(184,135,87,.28),transparent 60%)}
body.home .ai .sec-head h2{color:#fff}
body.home .ai .sec-head p{color:rgba(255,255,255,.62)}
body.home .ai .overline{color:#d4ad7a}
body.home .ai .overline::before{background:#d4ad7a}
body.home .ai .strength-grid .ai-card{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.12)}
body.home .ai .strength-grid .ai-card h3{color:#fff}
body.home .ai .strength-grid .ai-card p{color:rgba(255,255,255,.62)}
body.home .ai .strength-grid .ai-card .no{color:#d4ad7a}
body.home .ai .strength-grid .ai-card:hover{border-color:rgba(213,173,122,.55);transform:translateY(-5px)}
body.home .ai .strength-grid .ai-card::after{background:#d4ad7a}
body.home .ai .side-label{color:rgba(255,255,255,.4)}
body.home .ai .sec-head::before{color:rgba(255,255,255,.05)}

/* 6) Message: editorial photo treatment */
body.home .message .visual{outline:1px solid rgba(184,135,87,.35);outline-offset:16px;margin:16px}
body.home .message .visual img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.04)}
body.home .message .visual::after{z-index:2;color:#fff;
  text-shadow:-1px -1px 2px rgba(10,22,51,.85),1px -1px 2px rgba(10,22,51,.85),
    -1px 1px 2px rgba(10,22,51,.85),1px 1px 2px rgba(10,22,51,.85),0 2px 10px rgba(10,22,51,.7)}

/* 7) "スタンドアップを選ぶ理由" banner */
body.home .reason-banner{display:block;margin-top:52px;padding:56px 32px;text-align:center;text-decoration:none;
  position:relative;overflow:hidden;color:#fff;background:#17130f;transition:transform .4s var(--ease)}
body.home .reason-banner::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(120% 160% at 80% 0%, rgba(184,135,87,.35), transparent 60%);
  opacity:.72;transition:opacity .4s var(--ease)}
body.home .reason-banner>*{position:relative;z-index:1}
body.home .reason-banner .overline{display:inline-flex;justify-content:center;margin-bottom:18px;color:#d4ad7a}
body.home .reason-banner .overline::before{background:#d4ad7a}
body.home .reason-banner-title{font-family:var(--serif);font-size:clamp(26px,4.5vw,44px);font-weight:700;
  letter-spacing:.04em;color:#fff;line-height:1.3}
body.home .reason-banner-more{display:inline-flex;align-items:center;gap:6px;margin-top:20px;color:#fff;
  font-size:14px;letter-spacing:.05em}
body.home .reason-banner-more i{display:inline-block;font-style:normal;transition:transform .3s var(--ease)}
body.home .reason-banner:hover{transform:translateY(-3px)}
body.home .reason-banner:hover::before{opacity:1}
body.home .reason-banner:hover .reason-banner-more i{transform:translateX(4px)}

/* 8) Footer: three-column re-edit (index.html HTML only; .foot/.foot nav kept intact for other pages) */
body.home .foot-grid{display:grid;grid-template-columns:1.4fr 1fr .8fr .9fr;gap:48px;padding:72px 0 40px}
body.home footer.site{--footer-text-size:13px}
body.home .foot-brand-info{margin-top:18px;font-size:var(--footer-text-size);line-height:1.9;color:var(--muted)}
body.home .foot-col h4{font-family:var(--serif-en);font-size:13px;letter-spacing:.22em;color:var(--gold);
  text-transform:uppercase;margin-bottom:18px}
body.home .foot-col a{display:block;font-size:var(--footer-text-size);color:var(--muted);padding:6px 0;transition:color .3s var(--ease)}
body.home .foot-col a:hover{color:var(--ink)}
body.home .foot-mark{font-family:var(--serif-en);font-weight:600;font-size:clamp(72px,11vw,150px);line-height:1;
  color:rgba(10,22,51,.045);letter-spacing:.02em;margin-top:24px;user-select:none}
@media(max-width:960px){ body.home .foot-grid{grid-template-columns:1fr 1fr} }
@media(max-width:560px){ body.home .foot-grid{grid-template-columns:1fr} }

/* 9) Surface finish: soft hover shadows + settled header */
body.home .biz:hover, body.home .member:hover, body.home .pcard:hover{box-shadow:0 28px 64px -44px rgba(10,22,51,.35)}
body.home .panel{box-shadow:0 36px 90px -60px rgba(10,22,51,.3)}
body.home header.site.scrolled .nav{height:64px;transition:height .4s var(--ease)}
body.home header.site.scrolled{box-shadow:0 8px 30px -20px rgba(10,22,51,.18)}

/* 10) Respect reduced-motion for everything new in this pack */
@media (prefers-reduced-motion:reduce){
  body.home .hero .scroll-cue i::after{animation:none;opacity:1;top:50%}
  body.home .btn-gold:hover{transform:none}
  body.home .svc:hover .ic{transform:none}
  body.home .reason-banner:hover{transform:none}
  body.home .reason-banner:hover .reason-banner-more i{transform:none}
}


/* ===== Top design pack v3 (home only) ===== */

/* 1) Hero: floating UI cards ------------------------------------------------ */
/* .hero .wrap already has position:relative from base CSS (line ~86). */
body.home .hero-cards{position:absolute;top:96px;right:0;width:min(380px,30vw);
  display:flex;flex-direction:column;gap:18px;z-index:2}
body.home .hcard{position:relative;background:rgba(255,255,255,.9);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid var(--line-2);border-radius:14px;padding:20px 22px;
  box-shadow:0 24px 60px -36px rgba(10,22,51,.35)}
body.home .hc-label{display:block;font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold);margin-bottom:14px}

/* hc1: multilingual AI chat */
body.home .hc1{transform:rotate(-1.2deg);animation:hcFloat1 7s ease-in-out infinite}
@keyframes hcFloat1{0%,100%{transform:rotate(-1.2deg) translateY(0)}50%{transform:rotate(-1.2deg) translateY(-7px)}}
body.home .hc-chat{display:flex;flex-direction:column;gap:8px}
body.home .bubble{font-size:13px;line-height:1.5;padding:9px 13px;border-radius:12px;max-width:88%}
body.home .bubble-them{align-self:flex-start;background:var(--bg-2);color:var(--ink-dim);border-bottom-left-radius:4px}
body.home .bubble-ai{align-self:flex-end;background:var(--gold);color:#fff;border-bottom-right-radius:4px}
body.home .hc-chip{display:inline-block;margin-top:12px;font-size:11px;letter-spacing:.04em;color:var(--muted);
  border:1px solid var(--line-2);border-radius:999px;padding:4px 10px}

/* hc2: document draft generation */
body.home .hc2{transform:translateX(-36px) rotate(.8deg);animation:hcFloat2 8.5s ease-in-out infinite}
@keyframes hcFloat2{0%,100%{transform:translateX(-36px) rotate(.8deg) translateY(0)}50%{transform:translateX(-36px) rotate(.8deg) translateY(-7px)}}
body.home .hc-doc{display:flex;align-items:center;gap:10px}
body.home .hc-doc-ic{flex:0 0 auto;width:22px;height:22px;color:var(--gold)}
body.home .hc-doc-ic svg{width:100%;height:100%;display:block}
body.home .hc-doc-name{font-size:13px;color:var(--ink-dim);line-height:1.4;word-break:break-all}
body.home .hc-progress-row{display:flex;align-items:center;gap:10px;margin-top:14px}
body.home .hc-progress{flex:1 1 auto;height:4px;border-radius:999px;background:var(--line);overflow:hidden}
body.home .hc-progress i{display:block;height:100%;width:0;background:var(--gold);border-radius:999px;
  animation:hcFill 1.6s var(--ease) .3s forwards}
@keyframes hcFill{to{width:var(--to)}}
body.home .hc-progress-pct{flex:0 0 auto;font-family:var(--serif-en);font-size:12px;color:var(--muted)}

/* hc3: response-time reduction */
body.home .hc3{overflow:hidden;transform:translateX(12px) rotate(-.6deg);animation:hcFloat3 10s ease-in-out infinite}
@keyframes hcFloat3{0%,100%{transform:translateX(12px) rotate(-.6deg) translateY(0)}50%{transform:translateX(12px) rotate(-.6deg) translateY(-7px)}}
body.home .hc-spark{position:absolute;left:0;right:0;bottom:0;width:100%;height:56px;opacity:.9;pointer-events:none}
body.home .hc-num{position:relative;font-family:var(--serif-en);font-weight:600;font-size:40px;color:var(--gold);line-height:1}
body.home .hc-sub{position:relative;margin-top:6px;font-size:12px;color:var(--muted);letter-spacing:.04em}

@media(max-width:1180px){ body.home .hero-cards{display:none} }

/* Hero copy column: keep h1/lead clear of the floating cards on wide screens.
   .hero is display:flex, so .hero .wrap shrink-wraps to its content's
   max-content width instead of stretching to --maxw; unconstrained, both the
   headline and the lead paragraph run under the card region (measured via
   getBoundingClientRect at 1181–1440px). Cap both so they wrap clear of it. */
/* Instead of a hard max-width (which broke 次の当たり前 mid-word), cap the
   font size and force the break after 「を」 via <br class="bw"> so lines
   fall on natural bunsetsu boundaries: AIで、／次の当たり前を／つくる。 */
body.home .hero .bw{display:none}
@media(min-width:1181px){
  body.home .hero h1{font-size:clamp(52px,4.8vw,70px)}
  body.home .hero .bw{display:inline}
  body.home .hero .lead{max-width:480px}
}

@media (prefers-reduced-motion:reduce){
  body.home .hc1,body.home .hc2,body.home .hc3{animation:none}
  body.home .hc-progress i{animation:none;width:var(--to)}
}

/* 2) Cases marquee band ------------------------------------------------------ */
body.home .cases-band{padding:72px 0;background:var(--bg);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body.home .cases-band .band-head{display:flex;align-items:center;justify-content:space-between;
  margin-bottom:36px;flex-wrap:wrap;gap:12px}
body.home .cases-band .band-head .link{font-size:13px;letter-spacing:.04em;color:var(--gold);transition:color .3s var(--ease)}
body.home .cases-band .band-head .link:hover{color:var(--gold-2)}
body.home .marquee{overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
body.home .marquee + .marquee{margin-top:18px}
body.home .marquee .track{display:flex;width:max-content;animation:marqueeScroll 70s linear infinite}
body.home .marquee.m2 .track{animation-duration:85s;animation-direction:reverse}
body.home .marquee:hover .track{animation-play-state:paused}
@keyframes marqueeScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
body.home .marquee .track a{display:inline-flex;align-items:baseline;flex:0 0 auto;
  font-family:var(--serif);font-size:19px;color:var(--ink);margin-right:56px;
  white-space:nowrap;transition:color .3s var(--ease)}
body.home .marquee .track a:hover{color:var(--gold)}
body.home .marquee .track a i{font-style:italic;font-family:var(--serif-en);font-size:13px;
  color:var(--gold);font-weight:500;margin-right:10px}
body.home .marquee .track a::after{content:"・";margin-left:18px;color:var(--muted);font-style:normal}

@media (prefers-reduced-motion:reduce){
  body.home .marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  body.home .marquee .track{animation:none}
}

/* 3) Process: connective timeline nodes -------------------------------------- */
body.home .step{position:relative}
body.home .step::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;
  border-radius:50%;background:var(--bg);border:1.5px solid var(--gold);transition:background .3s var(--ease)}
body.home .step:hover::before{background:var(--gold)}

/* 4) Header: scroll-spy active state + top gradient line --------------------- */
body.home header.site::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--gold),rgba(184,135,87,.2));opacity:.5;pointer-events:none}

/* 5) Heading balance + SNS button slimming + duplicate service icon fix ------ */
body.home .sec-head h2{text-wrap:balance}
body.home .sec-head p, body.home .hero .lead{text-wrap:pretty}

body.home .sns{padding:12px 14px;font-size:13px}
body.home .sns-grid{grid-template-columns:repeat(6,1fr);max-width:100%;gap:10px}
@media(max-width:960px){ body.home .sns-grid{grid-template-columns:repeat(3,1fr)} }
@media(max-width:560px){ body.home .sns-grid{grid-template-columns:repeat(2,1fr)} }

/* services rows previously showed two icon-like elements (.no::before icon +
   .ic svg before h3) — keep only the .ic svg, drop the older number-icon. */
body.home .svc-list .svc .no::before{display:none}

/* ===== FAQ rich component ===== */

@supports (interpolate-size:allow-keywords){ html{interpolate-size:allow-keywords} }

.faq details{border-bottom:1px solid var(--line);transition:background .35s var(--ease)}
.faq details[open]{background:var(--bg-2)}
.faq details[open] summary{color:var(--gold)}

/* keep left/right padding constant across open/close to avoid layout jitter */
.faq summary{padding-left:28px;padding-right:28px}
.faq .a{padding-left:28px;padding-right:28px}

.faq summary .q{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--gold);min-width:34px}

.faq .a{display:flex;align-items:flex-start;gap:20px}
.faq .a::before{content:"A";font-family:var(--serif);font-style:italic;font-size:26px;color:var(--ink-dim);opacity:.35;flex:0 0 auto;line-height:1}

/* smooth open/close (progressive enhancement; falls back to native details toggle) */
.faq details::details-content{opacity:0;block-size:0;overflow:hidden;
  transition:block-size .45s var(--ease),content-visibility .45s allow-discrete,opacity .4s var(--ease)}
.faq details[open]::details-content{opacity:1;block-size:auto}

.faq summary .ic{transition:transform .3s var(--ease)}
.faq details[open] summary .ic{transform:rotate(45deg)}

/* FAQ end-of-page CTA card */
.faq-cta{border:1px solid var(--line-2);background:var(--bg-2);padding:34px 32px;margin-top:44px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.faq-cta .txt h3{font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:.03em;color:var(--ink)}
.faq-cta .txt p{color:var(--muted);font-size:14px;margin-top:8px}
.faq-cta .row{display:flex;gap:14px;flex-wrap:wrap}
@media (max-width:560px){
  .faq-cta{flex-direction:column;align-items:flex-start}
}

/* FAQ category group heading */
.faq-group{display:flex;align-items:center;gap:14px;margin-top:56px}
.faq-group:first-child{margin-top:0}
.faq-group .overline{margin-top:0}
.faq-group .cnt{font-family:var(--serif);font-size:13px;color:var(--muted)}

/* FAQ jump nav */
.faq-nav{display:flex;gap:10px;flex-wrap:wrap;margin:36px 0 8px}
.faq-nav a{font-size:13px;padding:11px 22px}


/* ============================================================
   Chic restyle: StandUp corporate home
   ============================================================ */
:root{
  --bg:#f7f6f1;
  --bg-2:#eeeee7;
  --panel:#e4e1d8;
  --ink:#17130f;
  --ink-dim:#504940;
  --muted:#81796e;
  --line:rgba(23,19,15,.12);
  --line-2:rgba(23,19,15,.22);
  --gold:#b88757;
  --gold-2:#8e633d;
}

body{
  background:var(--bg);
  color:var(--ink);
}

body.home .progress i{
  background:linear-gradient(90deg,var(--gold),#6f7f65);
}

.btn{
  border-radius:0;
  box-shadow:none;
}

.btn-gold{
  background:var(--gold);
  border-color:var(--gold);
  color:#17130f;
}

.btn-gold:hover{
  background:var(--gold-2);
  border-color:var(--gold-2);
  color:#fff;
}

.btn-line:hover{
  border-color:var(--gold);
}

header.site{
  border-bottom-color:rgba(247,246,241,.10);
}

body.home header.site:not(.scrolled) .brand .en,
body.home header.site:not(.scrolled) .menu a:not(.btn){
  color:#f7f3eb;
}

body.home header.site:not(.scrolled) .brand .jp,
body.home header.site:not(.scrolled) .menu .langs a{
  color:rgba(247,243,235,.64);
}

body.home header.site:not(.scrolled) .burger span{
  background:#f7f3eb;
}

body.home header.site:not(.scrolled) .menu .langs{
  border-color:rgba(247,243,235,.22);
  background:rgba(247,243,235,.05);
}

header.site.scrolled{
  background:rgba(247,246,241,.88);
  border-bottom-color:var(--line);
}

body.home header.site::before{
  background:linear-gradient(90deg,var(--gold),#6f7f65);
  opacity:.95;
}

.brand .en{
  letter-spacing:.08em;
}

.brand .jp,
.menu a:not(.btn),
.overline,
.stat .lbl{
  letter-spacing:.14em;
}

body.home .guides i{
  background:rgba(247,246,241,.055);
}

.hero{
  min-height:96vh;
  align-items:center;
  padding:132px 0 78px;
  color:#f7f3eb;
  background:
    linear-gradient(115deg,rgba(17,15,13,.94) 0%,rgba(24,20,17,.98) 46%,rgba(42,36,29,.94) 100%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 12.5vw);
  border-bottom:1px solid rgba(247,246,241,.12);
}

body.home .hero::before{
  inset:0;
  width:auto;
  height:auto;
  border-radius:0;
  background:
    linear-gradient(90deg,transparent 0%,rgba(184,135,87,.10) 58%,rgba(111,127,101,.13) 100%),
    repeating-linear-gradient(0deg,rgba(247,246,241,.035) 0 1px,transparent 1px 96px);
  animation:none;
}

.hero .kanji,
body.home .hero .contour{
  display:none;
}

.hero .wrap{
  width:100%;
}

.hero .overline{
  color:#d5ad7a;
}

.hero .overline::before{
  background:#d5ad7a;
}

.hero h1{
  max-width:760px;
  color:#f7f3eb;
  font-size:clamp(42px,5.9vw,84px);
  line-height:1.18;
  margin:32px 0 28px;
}

.hero h1 em{
  color:#d5ad7a;
}

.hero .lead{
  max-width:600px;
  color:rgba(247,243,235,.75);
  font-size:clamp(15px,1.25vw,17px);
}

.hero .lead strong{
  color:#f7f3eb !important;
}

.hero-cta{
  margin-top:40px;
}

.hero .btn-line{
  color:#f7f3eb;
  border-color:rgba(247,243,235,.25);
}

.hero .btn-line:hover{
  border-color:#f7f3eb;
}

.hero-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  width:min(900px,100%);
  margin-top:70px;
  border-top-color:rgba(247,243,235,.16);
}

.stat{
  min-width:0;
  margin:0;
  padding:30px 24px 12px 0;
  border-right-color:rgba(247,243,235,.12);
}

.stat .num{
  color:#f7f3eb;
}

.stat .num .unit{
  color:#d5ad7a;
}

.stat .lbl{
  color:rgba(247,243,235,.55);
}

body.home .hero-cards{
  top:88px;
  right:32px;
  width:min(390px,31vw);
  gap:1px;
  border:1px solid rgba(247,243,235,.16);
  background:rgba(247,243,235,.08);
  box-shadow:none;
}

body.home .hcard{
  border:0;
  border-radius:0;
  background:rgba(20,17,14,.72);
  color:#f7f3eb;
  box-shadow:none;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  transform:none !important;
  animation:none !important;
}

body.home .hc-label{
  color:#d5ad7a;
  letter-spacing:.18em;
}

body.home .bubble-them{
  background:rgba(247,243,235,.09);
  color:rgba(247,243,235,.72);
  border-radius:0;
}

body.home .bubble-ai{
  background:#d5ad7a;
  color:#17130f;
  border-radius:0;
}

body.home .hc-chip,
body.home .hc-doc-name,
body.home .hc-progress-pct,
body.home .hc-sub{
  color:rgba(247,243,235,.62);
}

body.home .hc-progress{
  background:rgba(247,243,235,.16);
}

body.home .hc-spark path:last-child{
  stroke:#d5ad7a;
}

body.home .hc-spark path:first-child{
  fill:rgba(213,173,122,.13);
}

body.home .hc-num{
  color:#d5ad7a;
}

body.home .hero .scroll-cue span{
  color:rgba(247,243,235,.54);
}

body.home .hero .scroll-cue i{
  background:rgba(247,243,235,.18);
}

section{
  background:var(--bg);
}

.services,
.partner,
.contact,
.biz,
.re-item,
.member,
.art,
.faq details[open],
.faq-cta{
  background:var(--bg-2);
}

.sec-head h2,
.biz h3,
.svc h3,
.ai-card h3,
.message blockquote,
.member .name,
.contact h2{
  color:var(--ink);
}

.sec-head p,
.biz p,
.svc p,
.ai-card p,
.member p,
.contact .sub{
  color:var(--ink-dim);
}

.overline,
.biz .no,
.biz .link,
.svc:hover .no,
.svc:hover .arrow,
.ai-card .ico,
.ally .role,
.ally .link,
.re-item .no,
.step .n,
.member .role,
.contact .info dt,
.info-row .k,
.choice .ico,
.choice .go,
.pcard .k,
.pcard .pbtn:hover{
  color:var(--gold);
}

.overline::before,
.biz::after,
.svc::before,
.ai-card::after,
.member::after,
.step::before,
.profile .bio,
.msg-portrait figcaption::before{
  background:var(--gold);
}

.biz,
.ai-card,
.re-item,
.member,
.choice,
.panel,
.pcard,
.ally,
.profile .photo,
.message .visual{
  border-radius:0;
}

.biz:hover,
.ai-card:hover,
.member:hover,
.choice:hover,
.pcard:hover{
  transform:translateY(-3px);
}

body.home .sec-head::before{
  color:rgba(184,135,87,.09);
}

body.home .ai{
  background:#17130f;
}

body.home .ai::before{
  background-image:radial-gradient(rgba(247,243,235,.06) 1px,transparent 1px);
}

body.home .ai::after{
  display:none;
}

body.home .ai .sec-head h2,
body.home .ai .strength-grid .ai-card h3{
  color:#f7f3eb;
}

body.home .ai .sec-head p,
body.home .ai .strength-grid .ai-card p{
  color:rgba(247,243,235,.66);
}

body.home .ai .overline,
body.home .ai .strength-grid .ai-card .no{
  color:#d5ad7a;
}

body.home .ai .overline::before,
body.home .ai .strength-grid .ai-card::after{
  background:#d5ad7a;
}

body.home .ai .strength-grid .ai-card{
  background:rgba(247,243,235,.04);
  border-color:rgba(247,243,235,.14);
}

body.home .reason-banner{
  background:#17130f;
}

body.home .reason-banner::before{
  background:linear-gradient(120deg,rgba(184,135,87,.18),rgba(111,127,101,.20));
}

body.home .reason-banner .overline{
  color:#d5ad7a;
}

body.home .reason-banner .overline::before{
  background:#d5ad7a;
}

.message .visual,
.profile .photo,
.msg-portrait .pf{
  background:linear-gradient(160deg,#d9d5ca,#eeeae0);
}

.message .visual::before,
.profile .photo::before,
.msg-portrait .pf::before{
  color:rgba(184,135,87,.16);
}

body.home .message .visual{
  outline-color:rgba(184,135,87,.34);
}

.contact{
  background:
    linear-gradient(120deg,rgba(184,135,87,.10),transparent 55%),
    var(--bg-2);
}

.field input:focus,
.field select:focus,
.field textarea:focus{
  background:#fffdf8;
}

footer.site{
  background:#17130f;
  color:rgba(247,243,235,.72);
  border-top:0;
}

footer.site .brand .en,
body.home .foot-col a:hover{
  color:#f7f3eb;
}

footer.site .brand .jp,
body.home .foot-brand-info,
body.home .foot-col a,
.copy{
  color:rgba(247,243,235,.58);
}

body.home .foot-mark{
  color:rgba(247,243,235,.055);
}

@media (max-width:1180px){
  .hero h1,
  .hero .lead{
    max-width:760px;
  }
}

@media (max-width:960px){
  body.home .menu{
    background:rgba(247,246,241,.98);
  }

  body.home header.site:not(.scrolled) .menu.open a:not(.btn),
  body.home header.site:not(.scrolled) .menu.open .langs a{
    color:var(--ink-dim);
  }

  body.home header.site:not(.scrolled) .menu.open .langs{
    border-color:var(--line-2);
    background:transparent;
  }

  .hero{
    min-height:auto;
    padding-top:126px;
  }
}

@media (max-width:560px){
  body.home .hero .scroll-cue{
    display:none;
  }

  .hero{
    padding-bottom:64px;
  }

  .hero h1{
    font-size:clamp(39px,13vw,58px);
  }

  .hero-stats{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
  }

  .stat{
    margin:0;
    padding:22px 12px 18px 0;
    border-right:0;
    border-bottom:1px solid rgba(247,243,235,.12);
  }
}


/* ============================================================
   De-template pass: remove generated-LP mannerisms
   ============================================================ */
body.home .progress,
body.home .guides,
body.home .side-label,
body.home .hero .kanji,
body.home .hero .contour,
body.home .hero-cards,
body.home .scroll-cue{
  display:none !important;
}

body.home .reveal{
  opacity:1;
  transform:none;
  transition:none;
}

body.home .btn,
body.home .biz,
body.home .ai-card,
body.home .member,
body.home .choice,
body.home .pcard,
body.home .re-item{
  box-shadow:none !important;
}

body.home .biz:hover,
body.home .ai-card:hover,
body.home .member:hover,
body.home .choice:hover,
body.home .pcard:hover,
body.home .re-item:hover,
body.home .reason-banner:hover{
  transform:none;
}

body.home header.site{
  position:sticky;
  background:rgba(247,246,241,.96);
  border-bottom:1px solid var(--line);
}

body.home header.site:not(.scrolled) .brand .en,
body.home header.site:not(.scrolled) .menu a:not(.btn){
  color:var(--ink);
}

body.home header.site:not(.scrolled) .brand .jp,
body.home header.site:not(.scrolled) .menu .langs a{
  color:var(--muted);
}

body.home header.site:not(.scrolled) .burger span{
  background:var(--ink);
}

body.home header.site::before{
  display:none;
}

body.home .hero{
  min-height:auto;
  padding:92px 0 82px;
  color:var(--ink);
  background:var(--bg);
  border-bottom:1px solid var(--line);
}

body.home .hero::before{
  display:none;
}

body.home .hero .wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(330px,420px);
  gap:72px;
  align-items:end;
}

body.home .hero .overline,
body.home .hero h1,
body.home .hero .lead,
body.home .hero-cta{
  grid-column:1;
}

body.home .hero .overline{
  color:var(--gold);
  font-size:12px;
  letter-spacing:.16em;
}

body.home .hero .overline::before{
  width:42px;
  background:var(--gold);
}

body.home .hero h1{
  max-width:760px;
  margin:28px 0 22px;
  color:var(--ink);
  font-size:clamp(36px,4.6vw,58px);
  line-height:1.35;
  letter-spacing:.02em;
}

body.home .hero h1 em{
  color:var(--ink);
  font-style:normal;
}

body.home .hero .lead{
  max-width:640px;
  color:var(--ink-dim);
  font-size:16px;
  line-height:2.05;
}

body.home .hero .lead strong{
  color:var(--ink) !important;
}

body.home .hero .btn-line{
  color:var(--ink);
  border-color:var(--line-2);
}

body.home .hero-summary{
  grid-column:2;
  grid-row:1 / span 4;
  align-self:end;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--line);
  padding:18px 0 4px;
}

body.home .hero-summary dl{
  margin:0;
}

body.home .hero-summary div{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:22px;
  padding:16px 0;
  border-top:1px solid var(--line);
}

body.home .hero-summary div:first-child{
  border-top:0;
}

body.home .hero-summary dt{
  font-size:12px;
  letter-spacing:.12em;
  color:var(--muted);
}

body.home .hero-summary dd{
  margin:0;
  color:var(--ink);
  font-size:14px;
  line-height:1.8;
}

body.home .sec-head::before{
  display:none;
}

body.home section:not(.hero) .sec-head .overline,
body.home .cases-band .overline{
  display:none;
}

body.home .sec-head{
  margin-bottom:44px;
}

body.home section{
  padding:96px 0;
}

body.home .biz,
body.home .ai-card,
body.home .ally,
body.home .member,
body.home .choice,
body.home .pcard,
body.home .re-item{
  background:transparent;
}

body.home .biz-grid,
body.home .strength-grid,
body.home .members .grid2,
body.home .partner-grid{
  gap:0;
}

body.home .biz,
body.home .ai-card,
body.home .member{
  border-width:1px 0 0;
  padding-left:0;
  padding-right:32px;
}

body.home .svc{
  grid-template-columns:80px 30px minmax(180px,.9fr) 1.3fr;
  padding:28px 0;
}

body.home .svc::before,
body.home .biz::after,
body.home .ai-card::after,
body.home .member::after{
  display:none;
}

body.home .ai{
  background:#242019;
}

body.home .ai::before,
body.home .ai::after{
  display:none;
}

body.home .cases-band{
  padding:72px 0;
  background:var(--bg-2);
}

body.home .marquee{
  overflow:visible;
  -webkit-mask-image:none;
  mask-image:none;
}

body.home .marquee + .marquee{
  margin-top:10px;
}

body.home .marquee .track{
  width:auto;
  flex-wrap:wrap;
  animation:none;
  gap:10px 18px;
}

body.home .marquee .track a{
  margin:0;
  padding:8px 0;
  font-family:var(--sans);
  font-size:13px;
  color:var(--ink-dim);
}

body.home .marquee .track a::after{
  display:none;
}

body.home .marquee .track a i{
  font-family:var(--sans);
  font-style:normal;
  color:var(--gold);
}

body.home .marquee.m1 .track a:nth-child(n+15),
body.home .marquee.m2 .track a:nth-child(n+14){
  display:none;
}

body.home .foot-mark{
  display:none;
}

@media(max-width:960px){
  body.home .hero .wrap{
    display:block;
  }

  body.home .hero-summary{
    margin-top:44px;
  }

  body.home .svc{
    grid-template-columns:52px 26px 1fr;
  }

  body.home .svc p{
    grid-column:3;
  }
}

@media(max-width:560px){
  body.home .hero{
    padding:68px 0 64px;
  }

  body.home .hero h1{
    font-size:34px;
    line-height:1.42;
  }

  body.home section{
    padding:76px 0;
  }

  body.home .hero-summary div{
    grid-template-columns:1fr;
    gap:4px;
  }
}

/* Column/blog search shortcut form (used on directory & hub pages) */
.hero-search-form{display:flex;gap:10px;margin:26px 0 0;max-width:520px}
.hero-search-form input[type=search]{flex:1;min-width:0;height:46px;border:1px solid rgba(15,23,42,.16);background:#fff;padding:0 16px;font-size:14px;font-family:inherit;color:var(--ink,#111827)}
.hero-search-form input[type=search]:focus{outline:none;border-color:rgba(176,141,87,.6)}
.hero-search-form button{flex:0 0 auto;height:46px;padding:0 22px;border:1px solid var(--ink,#111827);background:var(--ink,#111827);color:#fff;font-size:14px;cursor:pointer;letter-spacing:.02em;font-family:inherit}
.hero-search-form button:hover{background:var(--gold,#a97533);border-color:var(--gold,#a97533)}
@media(max-width:560px){.hero-search-form{max-width:100%}}

/* Article-page inline search box (compact, between article body and CTA) */
.article-search{padding:6px 0 0}
.article-search-box{border-top:1px solid var(--line,rgba(23,19,15,.12));border-bottom:1px solid var(--line,rgba(23,19,15,.12));padding:22px 0 26px}
.article-search-label{display:block;font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.08em;color:var(--muted,#81796e)}
.article-search-box .hero-search-form{margin:10px 0 0;max-width:420px}

/* Footer column search (root index.html) */
.foot-col .foot-search-label{display:block;margin-top:16px;font-family:var(--sans,inherit);font-size:var(--footer-text-size,13px);letter-spacing:.06em;color:var(--muted)}
.foot-col .hero-search-form{margin:8px 0 0;max-width:100%}
.foot-col .hero-search-form input[type=search]{height:38px;font-size:var(--footer-text-size,13px)}
.foot-col .hero-search-form button{height:38px;padding:0 16px;font-size:var(--footer-text-size,13px)}
