  /* ---------- Services (index / dossier) ---------- */
  .cat-block{margin-bottom:64px;}
  .cat-head{display:flex; align-items:baseline; gap:16px; margin-bottom:22px;}
  .cat-num{font-family:var(--serif); font-style:italic; font-size:20px; color:var(--gold-light);}
  .cat-title{font-family:var(--sans); font-size:13px; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink); font-weight:600;}
  .cat-desc{font-family:var(--mono); font-size:12px; color:var(--ink-faint); margin-left:auto; text-align:right; max-width:280px;}

  .svc-row{
    display:grid; grid-template-columns:64px 1fr 1.4fr; gap:28px;
    padding:26px 0; border-top:1px solid var(--line);
    transition:padding-left .3s ease, border-color .3s ease, background .3s ease;
  }
  .cat-block .svc-row:last-child{border-bottom:1px solid var(--line);}
  .svc-row:hover{padding-left:18px; border-color:var(--gold-dim); background:rgba(178,141,85,0.04);}
  .svc-row:hover .svc-title{color:var(--gold-light);}
  .svc-title{transition:color .25s ease;}
  .svc-num{font-family:var(--mono); font-size:13px; color:var(--gold);}
  .svc-title{font-family:var(--serif); font-size:19px; color:var(--ink); font-weight:500;}
  .svc-desc{color:var(--ink-muted); font-size:14.5px; line-height:1.7;}

  /* ---------- Process ---------- */
  .process-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:20px;}
  .process-step{padding:32px 28px 0; border-top:1px solid var(--line-strong); position:relative;}
  .process-step:not(:last-child){border-right:1px solid var(--line);}
  .process-num{font-family:var(--serif); font-style:italic; color:var(--gold-light); font-size:26px; margin-bottom:18px;}
  .process-step h4{font-size:16px; margin-bottom:10px; font-weight:600; font-family:var(--sans); letter-spacing:0.01em;}
  .process-step p{color:var(--ink-muted); font-size:14px; line-height:1.7;}

  /* ---------- Cards (projects) ---------- */
  .card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); margin-top:20px; border:1px solid var(--line);}
  .proj-card{background:var(--bg); padding:36px 30px; transition:background .3s ease, transform .3s ease, box-shadow .3s ease;}
  .proj-card:hover{background:var(--bg-card); transform:translateY(-6px); box-shadow:0 18px 40px rgba(0,0,0,0.4); position:relative; z-index:1;}
  .proj-card:hover h3{color:var(--gold-light);}
  .proj-card h3{transition:color .25s ease;}
  .proj-tag{font-family:var(--mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold);}
  .proj-card h3{font-size:21px; margin:16px 0 12px; font-weight:500;}
  .proj-card p{color:var(--ink-muted); font-size:14.5px; line-height:1.7; margin-bottom:18px;}
  .proj-list{display:flex; flex-direction:column; gap:8px;}
  .proj-list li{font-size:13px; color:var(--ink-faint); display:flex; gap:10px; align-items:baseline;}
  .proj-list li::before{content:"—"; color:var(--gold-dim);}

  /* ---------- Sectors / trust ---------- */
  .sector-chips{display:flex; flex-wrap:wrap; gap:12px; margin-top:8px;}
  .chip{
    font-family:var(--mono); font-size:12.5px; letter-spacing:0.03em; color:var(--ink-muted);
    border:1px solid var(--line-strong); padding:10px 18px; border-radius:2px;
    transition:border-color .25s ease, color .25s ease, transform .25s ease, background .25s ease;
  }
  .chip:hover{border-color:var(--gold); color:var(--gold-light); transform:translateY(-2px); background:rgba(178,141,85,0.06);}

  .pillar-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:40px; margin-top:64px;}
  .pillar{transition:transform .3s ease;}
  .pillar:hover{transform:translateY(-4px);}
  .pillar:hover .pillar-icon{color:var(--gold-light); transform:scale(1.1);}
  .pillar h4{font-size:16px; margin:20px 0 10px; font-weight:600;}
  .pillar p{color:var(--ink-muted); font-size:14px; line-height:1.7;}
  .pillar-icon{width:34px; height:34px; color:var(--gold-light); transition:transform .3s ease, color .3s ease;}

  /* ---------- About ---------- */
  .about-grid{display:grid; grid-template-columns:1.3fr 1fr; gap:80px; align-items:start;}
  .about-grid p{color:var(--ink-muted); font-size:15.5px; line-height:1.85; margin-bottom:20px;}
  .value-list{border-top:1px solid var(--line);}
  .value-list li{padding:22px 0; border-bottom:1px solid var(--line);}
  .value-list .vname{font-family:var(--serif); font-size:18px; color:var(--ink); margin-bottom:8px; font-weight:500;}
  .value-list .vdesc{color:var(--ink-muted); font-size:13.5px; line-height:1.7;}

  /* ---------- Blog ---------- */
  .blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:20px;}
  .blog-card{border-top:1px solid var(--line-strong); padding-top:24px; transition:transform .3s ease;}
  .blog-card:hover{transform:translateY(-5px);}
  .blog-card:hover h3{color:var(--gold-light);}
  .blog-meta{display:flex; justify-content:space-between; font-family:var(--mono); font-size:11px; color:var(--ink-faint); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:16px;}
  .blog-meta span:first-child{color:var(--gold);}
  .blog-card h3{font-size:19px; font-weight:500; margin-bottom:12px; line-height:1.35; transition:color .25s ease;}
  .blog-card p{color:var(--ink-muted); font-size:14px; line-height:1.7; margin-bottom:16px;}
  .blog-read{
    font-family:var(--mono); font-size:12px; color:var(--gold-light);
    background:none; border:none; padding:0; display:inline-flex; align-items:center;
    letter-spacing:0.03em; transition:gap .2s ease;
  }
  .blog-read:hover{gap:6px;}

  body.modal-locked{overflow:hidden;}

  /* ---------- FAQ ---------- */
  .faq-list{max-width:820px; border-top:1px solid var(--line);}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{
    width:100%; background:none; border:none; text-align:left; color:var(--ink);
    display:flex; justify-content:space-between; align-items:center; gap:20px;
    padding:24px 0; font-family:var(--sans); font-size:16px; font-weight:500;
  }
  .faq-q .plus{font-family:var(--mono); color:var(--gold-light); font-size:18px; transition:transform .25s ease; flex:none;}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .35s ease;}
  .faq-a p{color:var(--ink-muted); font-size:14.5px; line-height:1.75; padding-bottom:24px; max-width:680px;}

  /* ---------- Contact / Quote ---------- */
  .contact-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:80px;}
  .contact-info-item{padding:22px 0; border-top:1px solid var(--line);}
  .contact-info-item:last-child{border-bottom:1px solid var(--line);}
  .contact-info-item .label{font-family:var(--mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); margin-bottom:8px;}
  .contact-info-item .val{font-size:16px; color:var(--ink); display:flex; flex-direction:column; gap:6px;}
  .contact-info-item .hours-note{font-size:13px; color:var(--ink-muted); font-family:var(--sans); font-weight:400;}

  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px;}
  .field{display:flex; flex-direction:column; gap:8px; margin-bottom:18px;}
  .field label{font-family:var(--mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-faint);}
  .field input, .field select, .field textarea{
    background:var(--bg-card); border:1px solid var(--line-strong); color:var(--ink);
    padding:14px 16px; font-size:14.5px; border-radius:2px; transition:border-color .2s ease;
  }
  .field input:focus, .field select:focus, .field textarea:focus{border-color:var(--gold); outline:none;}
  .field textarea{resize:vertical; min-height:110px;}
  .form-note{font-size:12.5px; color:var(--ink-faint); margin-top:14px; line-height:1.6;}
  .success-panel{display:none; border:1px solid var(--gold-dim); padding:40px; text-align:center;}
  .success-panel h3{margin-bottom:12px;}
  .success-panel p{color:var(--ink-muted); font-size:14.5px;}

  /* ---------- Footer ---------- */
  footer{background:var(--bg-alt); border-top:1px solid var(--line); padding:80px 0 30px;}
  .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1fr; gap:40px; padding-bottom:60px;}
  .footer-col h5{font-family:var(--mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); margin-bottom:22px;}
  .footer-col ul{display:flex; flex-direction:column; gap:12px;}
  .footer-col a{color:var(--ink-muted); font-size:14px; transition:color .2s ease;}
  .footer-col a:hover{color:var(--gold-light);}
  .footer-desc{color:var(--ink-muted); font-size:14px; line-height:1.75; max-width:320px; margin-top:18px;}
  .footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:30px; border-top:1px solid var(--line); flex-wrap:wrap; gap:14px;}
  .footer-bottom p{font-family:var(--mono); font-size:12px; color:var(--ink-faint);}
  .socials{display:flex; gap:16px;}
  .socials a{width:34px; height:34px; border:1px solid var(--line-strong); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--ink-muted);}
  .socials a:hover{border-color:var(--gold); color:var(--gold-light);}

