/* assets/site.css
 * Single shared stylesheet for index.html, all service-*.html pages, and the blog.
 * Merged from the three previously-duplicated inline/blog stylesheets.
 * Page-type-specific rules are scoped under body.page-home / body.page-service / body.page-blog.
 * Declarations are copied verbatim from their source; see
 * .superpowers/sdd/2026-09-06-shared-assets-migration/ for the migration plan.
 */

  :root{
    --ink:#0E3B4C;
    --gold:#B78A2D;
    --gold-light:#D9B25C;
    --gold-deep:#8f6c22;
    --paper:#FFFFFF;
    --hairline:#E4DFD1;
    --muted:#5B6B72;
    --sand:#FBF9F5;
    --capsule-h: 92px;
  }
  *{ box-sizing:border-box; }
  html,body{ margin:0;padding:0;overflow-x:hidden; }
  body{
    background:var(--sand);
    font-family:'Manrope','Tajawal',sans-serif;
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
  }
  html[lang="ar"] body, html[lang="ar"] *{ font-family:'Tajawal','Manrope',sans-serif; }
  .no-transition, .no-transition *{ transition:none !important; animation:none !important; }
  .page-backdrop{
    position:fixed;
    inset:0;
    z-index:-1;
    background:
      radial-gradient(600px 300px at 15% 0%, rgba(183,138,45,.07), transparent 60%),
      radial-gradient(700px 380px at 85% 10%, rgba(14,59,76,.06), transparent 60%);
  }
  .header-wrapper{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1000;
    display:flex;
    justify-content:center;
    padding:18px 16px 0;
  }
  .site-header{
    width:100%;
    max-width:1180px;
    background:rgba(255,255,255,.86);
    backdrop-filter:saturate(180%) blur(16px);
    -webkit-backdrop-filter:saturate(180%) blur(16px);
    border:1px solid rgba(255,255,255,.6);
    border-radius:999px;
    box-shadow:0 18px 46px -20px rgba(14,59,76,.28), 0 2px 10px -2px rgba(14,59,76,.08);
    transition:box-shadow .35s ease, height .3s ease, background .3s ease;
  }
  .header-wrapper.is-scrolled .site-header{
    background:rgba(255,255,255,.96);
    box-shadow:0 24px 54px -18px rgba(14,59,76,.34), 0 4px 14px -4px rgba(14,59,76,.12);
  }
  .header-inner{
    height:var(--capsule-h);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding-inline:14px 10px;
  }
  .header-wrapper.is-scrolled .header-inner{ height:72px; }
  .brand{
    display:flex;
    align-items:center;
    flex:0 0 auto;
    padding-inline-start:14px;
  }
  .brand img{ height:52px; width:auto; display:block; transition:height .3s ease; }
  .header-wrapper.is-scrolled .brand img{ height:42px; }
  .primary-nav{ display:flex; align-items:center; flex:1 1 auto; justify-content:center; }
  .primary-nav ul{ list-style:none; display:flex; align-items:center; gap:2px; margin:0; padding:0; }
  .primary-nav > ul > li{ position:relative; }
  .nav-link{
    display:flex; align-items:center; gap:6px;
    padding:9px 4px;
    margin-inline:8px;
    font-size:13.5px; font-weight:600;
    color:var(--ink);
    text-decoration:none;
    white-space:nowrap;
    position:relative;
    transition:color .2s ease;
  }
  .nav-link::after{
    content:"";
    position:absolute;
    inset-inline-start:4px;
    inset-inline-end:4px;
    bottom:2px;
    height:2px;
    border-radius:2px;
    background:var(--gold);
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .25s ease;
  }
  .nav-link:hover{ color:var(--gold-deep); }
  .nav-link:hover::after{ transform:scaleX(1); }
  .caret{
    width:7px; height:7px;
    border-inline-end:1.6px solid currentColor;
    border-block-end:1.6px solid currentColor;
    transform:rotate(45deg);
    margin-top:-3px;
    opacity:.65;
    transition:transform .2s ease;
  }
  .has-dropdown{ position:relative; }
  .has-dropdown:hover .caret{ transform:rotate(225deg); margin-top:2px; }
  .dropdown{
    position:absolute;
    top:calc(100% + 14px);
    inset-inline-start:50%;
    transform:translate(-50%, 8px);
    min-width:250px;
    background:var(--paper);
    border:1px solid var(--hairline);
    border-radius:20px;
    box-shadow:0 26px 50px -20px rgba(14,59,76,.3);
    padding:10px;
    opacity:0;
    visibility:hidden;
    transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
  }
  html[dir="rtl"] .dropdown{ transform:translate(50%, 8px); }
  .has-dropdown:hover .dropdown, .has-dropdown:focus-within .dropdown{ opacity:1; visibility:visible; transform:translate(-50%, 0); }
  html[dir="rtl"] .has-dropdown:hover .dropdown{ transform:translate(50%, 0); }
  .dropdown a{
    display:block; padding:11px 16px; border-radius:13px;
    color:var(--ink); text-decoration:none; font-size:13.5px; font-weight:500;
    transition:background .2s ease, color .2s ease;
  }
  .dropdown a:hover{ background:var(--sand); color:var(--gold-deep); }
  .header-actions{ display:flex; align-items:center; gap:8px; flex:0 0 auto; }
  .lang-switch{
    position:relative;
    display:flex; align-items:center;
    background:var(--sand);
    border:1px solid var(--hairline);
    border-radius:999px;
    padding:3px; gap:2px;
    font-size:12px; font-weight:800; letter-spacing:.03em;
  }
  .lang-switch button{
    position:relative; z-index:2;
    border:none; background:transparent;
    padding:6px 13px; border-radius:999px; cursor:pointer;
    color:var(--muted); transition:color .25s ease;
  }
  .lang-switch button.is-active{ color:#fff; }
  .lang-thumb{
    position:absolute; top:3px; bottom:3px; inset-inline-start:3px;
    width:calc(50% - 3px);
    background:var(--ink);
    border-radius:999px;
    transition:inset-inline-start .3s cubic-bezier(.65,0,.35,1);
    z-index:1;
  }
  html[lang="en"] .lang-thumb{ inset-inline-start:calc(50% - 1px); }
  .cta-btn{
    display:inline-flex; align-items:center; gap:8px;
    color:#fff;
    background:linear-gradient(135deg, var(--gold-light), var(--gold));
    font-weight:700;
    font-size:13.5px;
    text-decoration:none;
    padding:11px 22px;
    border-radius:999px;
    white-space:nowrap;
    box-shadow:0 10px 20px -10px rgba(183,138,45,.55);
    transition:filter .2s ease, transform .2s ease;
  }
  .cta-btn:hover{ filter:brightness(1.05); transform:translateY(-1px); }
  .cta-btn svg{ width:14px; height:14px; }
  html[dir="rtl"] .cta-btn svg{ transform:scaleX(-1); }
  .hamburger{
    display:none;
    width:42px; height:42px;
    border-radius:50%;
    border:1px solid var(--hairline);
    background:var(--paper);
    cursor:pointer;
    align-items:center; justify-content:center;
    flex-direction:column; gap:5px;
  }
  .hamburger span{ display:block; width:18px; height:2px; border-radius:2px; background:var(--ink); transition:transform .3s ease, opacity .3s ease; }
  .hamburger.is-open span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
  .hamburger.is-open span:nth-child(2){ opacity:0; }
  .hamburger.is-open span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }
  .mobile-panel{
    position:absolute;
    top:calc(100% + 10px);
    left:16px;
    right:16px;
    background:var(--paper);
    border:1px solid var(--hairline);
    border-radius:26px;
    box-shadow:0 30px 60px -20px rgba(14,59,76,.32);
    padding:18px;
    max-width:1180px;
    margin:0 auto;
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px) scale(.98);
    transform-origin:top center;
    transition:opacity .25s ease, transform .25s ease, visibility .25s ease;
  }
  .mobile-panel.is-open{ opacity:1; visibility:visible; transform:translateY(0) scale(1); }
  .mobile-nav{ list-style:none; margin:0; padding:0; }
  .mobile-nav > li{ border-bottom:1px solid var(--hairline); }
  .mobile-nav > li:last-child{ border-bottom:none; }
  .mobile-nav > li > a{
    display:flex; align-items:center; justify-content:space-between;
    padding:15px 8px; color:var(--ink); font-weight:700; font-size:15px; text-decoration:none;
  }
  .mobile-sub{ list-style:none; margin:0 0 10px; padding-inline-start:14px; display:none; }
  .mobile-sub.is-open{ display:block; }
  .mobile-sub a{ display:block; padding:10px 8px; color:var(--muted); text-decoration:none; font-size:14px; font-weight:600; }
  .mobile-sub a:hover{ color:var(--gold-deep); }
  .mobile-caret{ width:8px; height:8px; border-inline-end:2px solid currentColor; border-block-end:2px solid currentColor; transform:rotate(45deg); transition:transform .25s ease; opacity:.6; }
  .mobile-item.is-open .mobile-caret{ transform:rotate(225deg); }
  .mobile-panel-foot{ padding-top:16px; display:flex; flex-direction:column; gap:12px; }
  .mobile-panel-foot .lang-switch{ align-self:center; }
  .mobile-panel-foot .cta-btn{ justify-content:center; }
  .backdrop{
    position:fixed; inset:0;
    background:rgba(14,59,76,.28);
    backdrop-filter:blur(2px);
    z-index:900;
    opacity:0; visibility:hidden;
    transition:opacity .3s ease, visibility .3s ease;
  }
  .backdrop.is-open{ opacity:1; visibility:visible; }
  .social-float-stack{
    position:fixed;
    bottom:26px;
    left:26px;
    display:flex;
    flex-direction:column-reverse;
    align-items:center;
    gap:12px;
    z-index:950;
  }
  .wa-float{
    width:58px;
    height:58px;
    border-radius:50%;
    background:#25D366;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 10px 26px -6px rgba(37,211,102,.55);
    animation:waPulse 2.6s ease-in-out infinite;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .wa-float:hover{ transform:scale(1.07); box-shadow:0 14px 32px -6px rgba(37,211,102,.65); }
  .wa-float svg{ width:29px; height:29px; }
  @keyframes waPulse{
    0%, 100%{ box-shadow:0 10px 26px -6px rgba(37,211,102,.55); }
    50%{ box-shadow:0 10px 26px -6px rgba(37,211,102,.55), 0 0 0 8px rgba(37,211,102,.18); }
  }
  .social-float-item{
    width:46px;
    height:46px;
    border-radius:50%;
    background:var(--paper);
    border:1px solid var(--hairline);
    color:var(--ink);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 8px 20px -8px rgba(14,59,76,.3);
    transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
  }
  .social-float-item:hover{
    transform:scale(1.08) translateY(-2px);
    background:var(--gold);
    color:#fff;
    border-color:var(--gold);
  }
  .social-float-item svg{ width:19px; height:19px; }
  .hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    overflow:hidden;
  }
  .hero-bg{
    position:absolute; inset:0;
    background:
      linear-gradient(160deg, rgba(14,59,76,.2), rgba(8,34,44,.75)),
      linear-gradient(135deg, #12455a, var(--ink));
    z-index:0;
  }
  .hero-bg video{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    z-index:1;
  }
  .hero-overlay{
    position:absolute; inset:0;
    background:linear-gradient(to top, rgba(8,34,44,.7), rgba(8,34,44,.25) 55%, rgba(8,34,44,.35));
    z-index:2;
  }
  .hero-content{
    position:relative;
    z-index:3;
    max-width:1440px;
    margin:0 auto;
    padding:140px 24px 90px;
    width:100%;
    display:grid;
    grid-template-columns:1.4fr 1fr;
    gap:64px;
    align-items:center;
  }
  .hero-copy{ max-width:none; }
  .hero-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.2);
    backdrop-filter:blur(12.8px);
    -webkit-backdrop-filter:blur(12.8px);
    color:var(--gold-light);
    font-size:17px;
    font-weight:700;
    letter-spacing:.03em;
    padding:10px 20px;
    border-radius:999px;
    margin-bottom:24px;
  }
  .hero-eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--gold-light); }
  .hero-title{
    font-size:50px;
    line-height:1.22;
    font-weight:800;
    color:#fff;
    margin:0 0 20px;
  }
  .hero-sub{
    font-size:16.5px;
    line-height:1.85;
    color:rgba(255,255,255,.78);
    max-width:640px;
    margin:0 0 34px;
  }
  .hero-actions{ display:flex; align-items:center; gap:14px; margin-bottom:0; flex-wrap:wrap; }
  .hero-cta-secondary{
    display:inline-flex; align-items:center; gap:8px;
    color:#fff;
    background:rgba(255,255,255,.1);
    border:1.5px solid rgba(255,255,255,.35);
    font-weight:700;
    font-size:13.5px;
    text-decoration:none;
    padding:11px 22px;
    border-radius:999px;
    transition:border-color .2s ease, background .2s ease;
  }
  .hero-cta-secondary:hover{ border-color:#fff; background:rgba(255,255,255,.18); }
  .hero-cta-secondary svg{ width:14px; height:14px; }
  html[dir="rtl"] .hero-cta-secondary svg{ transform:scaleX(-1); }
  .hero-services{
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .service-card{
    background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.18);
    border-radius:18px;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    overflow:hidden;
    transition:background .3s ease, border-color .3s ease, box-shadow .3s ease;
  }
  .service-card.is-open{
    background:rgba(255,255,255,.13);
    border-color:rgba(255,255,255,.32);
    box-shadow:0 24px 48px -20px rgba(0,0,0,.35);
  }
  .service-card-header{
    display:flex;
    align-items:center;
    gap:14px;
    padding:18px 20px;
    cursor:pointer;
  }
  .service-card .icon{
    width:40px; height:40px;
    border-radius:11px;
    background:rgba(183,138,45,.2);
    color:var(--gold-light);
    display:flex; align-items:center; justify-content:center;
    flex:0 0 auto;
  }
  .service-card .icon svg{ width:19px; height:19px; }
  .service-card-header h3{
    flex:1 1 auto;
    color:#fff;
    font-size:15px;
    font-weight:700;
    margin:0;
    text-align:start;
  }
  .service-card-header .chevron{
    width:8px; height:8px;
    border-inline-end:1.8px solid var(--gold-light);
    border-block-end:1.8px solid var(--gold-light);
    transform:rotate(45deg);
    transition:transform .3s ease;
    flex:0 0 auto;
  }
  .service-card.is-open .service-card-header .chevron{ transform:rotate(225deg); }
  .service-card-body{
    display:grid;
    grid-template-rows:0fr;
    transition:grid-template-rows .35s ease;
  }
  .service-card.is-open .service-card-body{ grid-template-rows:1fr; }
  .service-card-body-inner{ overflow:hidden; }
  .card-view{ padding:0 20px 20px; }
  .card-view[hidden]{ display:none; }
  .card-view ul{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .level1-list li{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:10px 12px;
    border-radius:10px;
    font-size:13.5px;
    color:rgba(255,255,255,.85);
    text-align:start;
    transition:background .2s ease;
  }
  .level1-list li.has-children{ cursor:pointer; }
  .level1-list li.has-children:hover{ background:rgba(255,255,255,.09); }
  .level1-list li.has-children::after{
    content:"";
    width:7px; height:7px;
    border-inline-end:1.8px solid var(--gold-light);
    border-block-end:1.8px solid var(--gold-light);
    transform:rotate(-45deg);
    flex:0 0 auto;
  }
  html[dir="rtl"] .level1-list li.has-children::after{ transform:rotate(135deg); }
  .level1-list li:not(.has-children):hover{ background:rgba(255,255,255,.09); }
  .level1-list li a{
    display:flex; align-items:center; width:100%;
    padding:10px 12px; border-radius:10px;
    color:rgba(255,255,255,.85); text-decoration:none;
    transition:color .2s ease;
  }
  .level1-list li a:hover{ color:var(--gold-light); }
  .back-btn{
    display:inline-flex;
    align-items:center;
    gap:7px;
    align-self:flex-start;
    background:transparent;
    border:none;
    color:var(--gold-light);
    font-size:12.5px;
    font-weight:700;
    padding:0 0 14px;
    cursor:pointer;
    font-family:inherit;
  }
  .back-arrow{
    width:7px; height:7px;
    border-inline-start:1.8px solid currentColor;
    border-block-start:1.8px solid currentColor;
    transform:rotate(-45deg);
    flex:0 0 auto;
  }
  html[dir="rtl"] .back-arrow{ transform:rotate(135deg); }
  .card-view-level2 h4{ color:#fff; font-size:14.5px; font-weight:700; margin:0 0 12px; text-align:start; }
  .card-view-level2 li:hover{ color:var(--gold-light); }
  .card-view-level2 li a{ color:inherit; text-decoration:none; }
  .card-view-level2 li::before{
    content:"";
    width:5px; height:5px;
    border-radius:50%;
    background:var(--gold-light);
    flex:0 0 auto;
  }
  .section-alt{ background:var(--sand); }
  .section-inner{ width:100%; max-width:1440px; margin:0 auto; padding-inline:40px; }
  .section-head{ text-align:center; max-width:720px; margin:0 auto 56px; }
  .section-head.align-start{ text-align:start; margin-inline:0; }
  .section-eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    background:rgba(183,138,45,.1); color:var(--gold-deep);
    font-size:15px; font-weight:700; letter-spacing:.05em;
    padding:9px 19px; border-radius:999px; margin-bottom:20px;
  }
  .section-eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--gold); }
  .section-title{ font-size:clamp(28px, 3.1vw, 40px); font-weight:800; color:var(--ink); margin:0 0 14px; line-height:1.3; }
  .section-sub{ font-size:16px; color:var(--muted); line-height:1.85; margin:0; }
  .reveal{ opacity:0; transform:translateY(28px); transition:opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1); }
  .reveal.is-visible{ opacity:1; transform:translateY(0); }
  .reveal-d1.is-visible{ transition-delay:.08s; }
  .reveal-d2.is-visible{ transition-delay:.16s; }
  .reveal-d3.is-visible{ transition-delay:.24s; }
  .reveal-d4.is-visible{ transition-delay:.32s; }
  .reveal-d5.is-visible{ transition-delay:.4s; }
  .services-full-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:start; }
  .svc-group:last-child{ margin-bottom:0; }
  .group-title .icon{
    width:36px; height:36px; border-radius:11px;
    background:rgba(183,138,45,.1); color:var(--gold-deep);
    display:flex; align-items:center; justify-content:center; flex:0 0 auto;
  }
  .group-title .icon svg{ width:18px; height:18px; }
  .group-title h3{ font-size:clamp(20px, 2vw, 24px); font-weight:800; color:var(--ink); margin:0; }
  .svc-card-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:14px; }
  .svc-card{
    display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px;
    background:var(--paper); border:1px solid var(--hairline); border-radius:14px;
    padding:20px 18px;
    text-decoration:none;
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
  .svc-card:hover{ transform:translateY(-3px); box-shadow:0 16px 32px -16px rgba(14,59,76,.22); border-color:rgba(183,138,45,.4); }
  .svc-card .label{ font-size:13.5px; font-weight:700; color:var(--ink); line-height:1.5; }
  .svc-card .desc{
    font-size:12px; color:var(--muted); line-height:1.6;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%;
  }
  .tier-list{ display:flex; flex-direction:column; gap:12px; }
  .tier{
    background:var(--paper); border:1px solid var(--hairline); border-radius:18px;
    overflow:hidden; transition:border-color .25s ease, box-shadow .25s ease;
  }
  .tier:hover{ border-color:rgba(183,138,45,.4); }
  .tier.open{ border-color:rgba(183,138,45,.55); box-shadow:0 18px 40px -24px rgba(14,59,76,.35); }
  .tier-head{
    width:100%; display:flex; align-items:center; gap:16px;
    padding:20px 24px; background:none; border:0; cursor:pointer;
    text-align:start; font:inherit; color:inherit;
  }
  .tier-leaf{
    display:flex; align-items:center; gap:16px;
    padding:20px 24px; text-decoration:none; color:inherit;
  }
  .tier-text{ display:flex; flex-direction:column; gap:5px; flex:1 1 auto; min-width:0; }
  .tier-title{ font-size:17px; font-weight:800; color:var(--ink); line-height:1.4; }
  .tier-note{ font-size:13.5px; color:var(--muted); line-height:1.6; }
  .tier-count{
    flex:0 0 auto; display:inline-flex; align-items:center; gap:5px;
    background:rgba(183,138,45,.1); color:var(--gold-deep);
    font-size:12.5px; font-weight:700; padding:6px 12px; border-radius:999px;
  }
  .tier-chevron{
    flex:0 0 auto; width:32px; height:32px; border-radius:50%;
    border:1px solid var(--hairline); position:relative;
    transition:transform .35s cubic-bezier(.2,.7,.3,1), background .25s ease, border-color .25s ease;
  }
  .tier-chevron::before{
    content:''; position:absolute; inset:0; margin:auto;
    width:8px; height:8px;
    border-right:2px solid var(--ink); border-bottom:2px solid var(--ink);
    transform:translateY(-2px) rotate(45deg);
  }
  .tier.open .tier-chevron{ transform:rotate(180deg); background:var(--ink); border-color:var(--ink); }
  .tier.open .tier-chevron::before{ border-color:var(--gold-light); }
  .tier-arrow{
    flex:0 0 auto; width:32px; height:32px; border-radius:50%;
    border:1px solid var(--hairline); color:var(--ink);
    display:flex; align-items:center; justify-content:center;
    transition:background .25s ease, color .25s ease, border-color .25s ease;
  }
  .tier-arrow svg{ width:15px; height:15px; }
  html[dir="rtl"] .tier-arrow svg{ transform:scaleX(-1); }
  .tier-leaf:hover .tier-arrow{ background:var(--ink); color:var(--gold-light); border-color:var(--ink); }
  .tier-panel{ max-height:0; overflow:hidden; transition:max-height .45s cubic-bezier(.2,.7,.3,1); }
  .tier-panel-inner{ padding:0 24px 24px; }
  .tier-panel-inner .svc-card-grid{
    grid-template-columns:repeat(auto-fit, minmax(210px, 1fr));
    padding-top:20px; border-top:1px solid var(--hairline);
  }
  .service-full-card{
    background:var(--paper); border:1px solid var(--hairline); border-radius:20px;
    padding:30px 28px;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .service-full-card:hover{ transform:translateY(-4px); box-shadow:0 22px 44px -22px rgba(14,59,76,.2); }
  .service-full-card .icon{
    width:46px; height:46px; border-radius:13px;
    background:rgba(183,138,45,.1); color:var(--gold-deep);
    display:flex; align-items:center; justify-content:center; margin-bottom:16px;
  }
  .service-full-card .icon svg{ width:22px; height:22px; }
  .service-full-card h3{ font-size:17px; font-weight:800; color:var(--ink); margin:0 0 16px; text-align:start; }
  .service-full-heading{
    display:block;
    font-size:13.5px; font-weight:700; color:var(--gold-deep);
    margin:18px 0 8px; text-align:start; position:relative; padding-inline-start:14px;
  }
  .service-full-heading::before{
    content:"";
    position:absolute; inset-inline-start:0; top:6px;
    width:6px; height:6px; border-radius:50%; background:var(--gold);
  }
  .service-full-card h3 + .service-full-heading,
  .service-full-card h3 + .service-full-item{ margin-top:0; }
  .service-full-item{
    display:block;
    font-size:13.5px; font-weight:700; color:var(--ink);
    margin:0 0 4px; text-align:start; position:relative; padding-inline-start:14px;
    text-decoration:none;
    cursor:pointer;
    transition:color .2s ease, padding-inline-start .2s ease;
  }
  .service-full-item::before{
    content:"";
    position:absolute; inset-inline-start:0; top:6px;
    width:6px; height:6px; border-radius:50%; background:var(--gold);
  }
  .service-full-item:hover{ color:var(--gold-deep); padding-inline-start:18px; }
  .service-full-card ul{
    list-style:none; margin:0 0 4px; padding:0;
    display:flex; flex-direction:column; gap:6px;
  }
  .service-full-card li{
    font-size:13px; text-align:start;
    padding-inline-start:14px;
    position:relative;
  }
  .service-full-card li::before{
    content:"";
    position:absolute; inset-inline-start:0; top:6px;
    width:6px; height:6px; border-radius:50%; background:var(--gold);
  }
  .service-full-card li a{
    color:var(--muted); text-decoration:none;
    cursor:pointer;
    transition:color .2s ease;
  }
  .service-full-card li a:hover{ color:var(--gold-deep); text-decoration:underline; }
  .section-dark{ background:var(--ink); }
  .section-dark .section-eyebrow{ background:rgba(255,255,255,.1); color:var(--gold-light); }
  .section-dark .section-eyebrow .dot{ background:var(--gold-light); }
  .section-dark .section-title{ color:#fff; }
  .section-dark .section-sub{ color:rgba(255,255,255,.65); }
  .section-dark .about-copy p{ color:rgba(255,255,255,.68); }
  .section-dark .about-quick-stats{ border-top-color:rgba(255,255,255,.14); }
  .section-dark .about-quick-stat .num{ color:#fff; }
  .section-dark .about-quick-stat .label{ color:rgba(255,255,255,.55); }
  .section-dark .about-image-frame{ border-color:rgba(255,255,255,.14); }
  .section-dark .about-blob{ background:radial-gradient(circle, rgba(183,138,45,.28), transparent 70%); }
  .about-grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
  .about-copy p{ font-size:15px; line-height:1.9; color:var(--muted); margin:0 0 18px; text-align:start; }
  .about-quick-stats{
    display:flex; flex-wrap:wrap; gap:28px;
    margin-top:28px; padding-top:26px;
    border-top:1px solid var(--hairline);
  }
  .about-quick-stat{ display:flex; flex-direction:column; gap:3px; }
  .about-quick-stat .num{ font-size:22px; font-weight:800; color:var(--ink); }
  .about-quick-stat .label{ font-size:12px; color:var(--muted); }
  .about-visual{ position:relative; }
  .about-blob{
    position:absolute;
    inset-inline-end:-34px;
    top:-34px;
    width:230px; height:230px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(183,138,45,.16), transparent 70%);
    z-index:0;
  }
  .about-image-frame{
    position:relative;
    z-index:1;
    border-radius:26px;
    overflow:hidden;
    border:1px solid var(--hairline);
    box-shadow:0 30px 60px -28px rgba(14,59,76,.35);
  }
  .about-image-frame::before{
    content:"";
    position:absolute;
    top:14px; inset-inline-start:14px;
    width:34px; height:34px;
    border-top:2px solid var(--gold);
    border-inline-start:2px solid var(--gold);
    border-radius:6px 0 0 0;
    z-index:2;
    pointer-events:none;
  }
  .about-image-frame::after{
    content:"";
    position:absolute;
    bottom:14px; inset-inline-end:14px;
    width:34px; height:34px;
    border-bottom:2px solid var(--gold);
    border-inline-end:2px solid var(--gold);
    border-radius:0 0 6px 0;
    z-index:2;
    pointer-events:none;
  }
  .about-image-frame img{
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:4/3;
    object-fit:cover;
  }
  .about-floating-badge{
    position:absolute;
    bottom:22px;
    inset-inline-start:22px;
    z-index:3;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-radius:16px;
    padding:16px 22px;
    box-shadow:0 18px 36px -16px rgba(14,59,76,.4);
    display:flex; flex-direction:column;
  }
  .about-floating-badge .num{ font-size:26px; font-weight:800; color:var(--gold-deep); line-height:1; margin-bottom:4px; }
  .about-floating-badge .label{ font-size:12px; font-weight:600; color:var(--ink); }
  .vm-grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
  .vm-card{
    background:var(--ink); color:rgba(255,255,255,.8);
    border-radius:24px; padding:38px 34px;
    border-inline-start:4px solid var(--gold);
    transition:transform .35s ease, box-shadow .35s ease;
  }
  .vm-card:hover{ transform:translateY(-6px); box-shadow:0 30px 60px -24px rgba(14,59,76,.4); }
  .vm-card .icon{
    width:50px; height:50px; border-radius:14px;
    background:rgba(183,138,45,.18); color:var(--gold-light);
    display:flex; align-items:center; justify-content:center; margin-bottom:20px;
  }
  .vm-card .icon svg{ width:24px; height:24px; }
  .vm-card h3{ color:#fff; font-size:20px; font-weight:700; margin:0 0 14px; text-align:start; }
  .vm-card p{ font-size:14.5px; line-height:1.9; margin:0; text-align:start; }
  .values-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .value-card{
    background:var(--paper); border:1px solid var(--hairline); border-radius:18px;
    padding:30px 26px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  }
  .value-card:hover{ transform:translateY(-5px); box-shadow:0 22px 44px -22px rgba(14,59,76,.22); border-color:rgba(183,138,45,.4); }
  .value-card .icon{
    width:46px; height:46px; border-radius:13px;
    background:rgba(183,138,45,.1); color:var(--gold-deep);
    display:flex; align-items:center; justify-content:center; margin-bottom:18px;
  }
  .value-card .icon svg{ width:22px; height:22px; }
  .value-card h3{ font-size:16.5px; font-weight:700; color:var(--ink); margin:0 0 10px; text-align:start; }
  .value-card p{ font-size:13.5px; color:var(--muted); line-height:1.75; margin:0; text-align:start; }
  .tabs-nav{ display:flex; justify-content:center; gap:8px; flex-wrap:wrap; margin-bottom:44px; }
  .tab-btn{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--paper); border:1px solid var(--hairline);
    color:var(--muted); font-size:13.5px; font-weight:700;
    padding:12px 22px; border-radius:999px; cursor:pointer;
    transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .tab-btn.is-active{ background:var(--ink); color:#fff; border-color:var(--ink); }
  .tab-btn:not(.is-active):hover{ border-color:var(--gold); color:var(--gold-deep); }
  .tab-panel{ display:none; }
  .tab-panel.is-active{ display:block; }
  .tab-panel-grid{ display:grid; grid-template-columns:1fr 1.3fr; gap:56px; align-items:start; }
  .tab-panel-copy p{ font-size:14.5px; line-height:1.9; color:var(--muted); text-align:start; margin:0 0 24px; }
  .tab-feature-list{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .tab-feature-item{
    display:flex; align-items:flex-start; gap:12px;
    background:var(--paper); border:1px solid var(--hairline);
    border-radius:14px; padding:16px;
  }
  .tab-feature-item .check{
    width:26px; height:26px; border-radius:50%; flex:0 0 auto;
    background:rgba(183,138,45,.12); color:var(--gold-deep);
    display:flex; align-items:center; justify-content:center;
  }
  .tab-feature-item .check svg{ width:13px; height:13px; }
  .tab-feature-item span{ font-size:13.5px; color:var(--ink); font-weight:600; text-align:start; }
  .pill-row{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px; }
  .pill{
    background:var(--sand); border:1px solid var(--hairline);
    color:var(--ink); font-size:13px; font-weight:600;
    padding:9px 16px; border-radius:999px;
  }
  .process-steps{ display:flex; flex-wrap:wrap; gap:16px; }
  .process-step{ flex:1 1 140px; text-align:start; position:relative; }
  .process-step .num{
    width:36px; height:36px; border-radius:50%;
    background:var(--ink); color:var(--gold-light);
    display:flex; align-items:center; justify-content:center;
    font-size:14px; font-weight:800; margin-bottom:12px;
  }
  .process-step p{ font-size:13px; color:var(--muted); margin:0; font-weight:600; }
  .stat-badges{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:56px; }
  .stat-badge{
    background:var(--ink); color:#fff; border-radius:18px;
    padding:26px 18px; text-align:center;
  }
  .stat-badge .big{ font-size:26px; font-weight:800; color:var(--gold-light); display:block; margin-bottom:6px; }
  .stat-badge .small{ font-size:12px; color:rgba(255,255,255,.65); }
  .adv-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .adv-item{ display:flex; align-items:flex-start; gap:14px; }
  .adv-item .badge-num{
    width:32px; height:32px; border-radius:9px; flex:0 0 auto;
    background:rgba(183,138,45,.1); color:var(--gold-deep);
    display:flex; align-items:center; justify-content:center;
    font-size:13px; font-weight:800;
  }
  .adv-item p{ font-size:14px; color:var(--ink); font-weight:600; margin:0; text-align:start; line-height:1.6; }
  .v2030-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
  .v2030-card{
    background:var(--paper); border:1px solid var(--hairline); border-radius:16px;
    padding:24px 20px; transition:transform .3s ease, border-color .3s ease;
  }
  .v2030-card:hover{ transform:translateY(-4px); border-color:rgba(183,138,45,.4); }
  .v2030-card .icon{
    width:40px; height:40px; border-radius:11px;
    background:rgba(183,138,45,.1); color:var(--gold-deep);
    display:flex; align-items:center; justify-content:center; margin-bottom:14px;
  }
  .v2030-card .icon svg{ width:19px; height:19px; }
  .v2030-card h4{ font-size:14.5px; font-weight:700; color:var(--ink); margin:0 0 8px; text-align:start; }
  .v2030-card p{ font-size:12.5px; color:var(--muted); line-height:1.7; margin:0; text-align:start; }
  .clients-count{ text-align:center; margin-bottom:52px; }
  .clients-count .big-num{ font-size:64px; font-weight:800; color:var(--ink); line-height:1; }
  .clients-count .big-label{ font-size:14px; color:var(--muted); margin-top:8px; }
  .sectors-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
  .sector-badge{
    display:flex; align-items:center; gap:10px;
    background:var(--paper); border:1px solid var(--hairline); border-radius:14px;
    padding:16px; transition:transform .25s ease, border-color .25s ease;
  }
  .sector-badge:hover{ transform:translateY(-3px); border-color:rgba(183,138,45,.4); }
  .sector-badge .icon{
    width:34px; height:34px; border-radius:9px; flex:0 0 auto;
    background:rgba(14,59,76,.06); color:var(--ink);
    display:flex; align-items:center; justify-content:center;
  }
  .sector-badge .icon svg{ width:16px; height:16px; }
  .sector-badge span{ font-size:13px; font-weight:600; color:var(--ink); text-align:start; }
  .partners-marquee{
    --pItemW:230px;
    --pItemCount:6;
    --pDuration:32s;
    margin-top:52px;
    position:relative;
    width:100vw;
    margin-inline-start:calc(50% - 50vw);
    margin-inline-end:calc(50% - 50vw);
    padding-inline:24px;
    box-sizing:border-box;
  }
  .partners-marquee::before,
  .partners-marquee::after{
    content:"";
    position:absolute;
    top:0; bottom:0;
    width:90px;
    z-index:2;
    pointer-events:none;
  }
  .partners-marquee::before{ inset-inline-end:0; background:linear-gradient(to left, var(--sand) 30%, transparent); }
  .partners-marquee::after{ inset-inline-start:0; background:linear-gradient(to right, var(--sand) 30%, transparent); }
  html[dir="rtl"] .partners-marquee::before{ background:linear-gradient(to right, var(--sand) 30%, transparent); }
  html[dir="rtl"] .partners-marquee::after{ background:linear-gradient(to left, var(--sand) 30%, transparent); }
  .partners-marquee-track{
    width:100%;
    position:relative;
    height:168px;
    overflow:hidden;
  }
  .partner-logo{
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:10px;
    width:220px; height:168px;
    padding:16px 16px 14px;
    position:absolute;
    top:0;
    left:max(calc(var(--pItemCount) * var(--pItemW)), 100%);
    background:var(--paper); border:1px solid var(--hairline); border-radius:16px;
    color:var(--muted);
    animation:partners-marquee-scroll var(--pDuration) linear infinite;
    animation-delay:calc(var(--pDuration) / var(--pItemCount) * (var(--pItemCount) - var(--pi)) * -1);
    transition:border-color .25s ease, color .25s ease;
  }
  @keyframes partners-marquee-scroll{ to{ left:calc(-1 * var(--pItemW)); } }
  .partners-marquee-track:hover .partner-logo{ animation-play-state:paused; }
  .partner-logo:hover{ border-color:rgba(183,138,45,.4); color:var(--gold-deep); z-index:3; }
  .partner-logo img{ width:100%; height:110px; object-fit:contain; }
  .partner-logo-name{ font-size:12.5px; font-weight:700; color:var(--ink); text-align:center; line-height:1.4; }
  .timeline{ position:relative; max-width:760px; margin:0 auto; }
  .timeline::before{
    content:""; position:absolute; top:0; bottom:0; inset-inline-start:23px;
    width:2px; background:var(--hairline);
  }
  .timeline-step{ position:relative; padding-inline-start:64px; padding-bottom:40px; }
  html[dir="rtl"] .timeline-step{ padding-inline-start:64px; padding-inline-end:0; }
  .timeline-step:last-child{ padding-bottom:0; }
  .timeline-step .num{
    position:absolute; inset-inline-start:0; top:0;
    width:48px; height:48px; border-radius:50%;
    background:var(--ink); color:var(--gold-light);
    display:flex; align-items:center; justify-content:center;
    font-size:16px; font-weight:800;
  }
  .timeline-step h4{ font-size:16px; font-weight:700; color:var(--ink); margin:0 0 8px; text-align:start; }
  .timeline-step p{ font-size:13.5px; color:var(--muted); line-height:1.8; margin:0; text-align:start; }
  .why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .why-card{
    text-align:center; padding:32px 22px;
    background:var(--paper); border:1px solid var(--hairline); border-radius:18px;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .why-card:hover{ transform:translateY(-5px); box-shadow:0 22px 44px -22px rgba(14,59,76,.22); }
  .why-card .icon{
    width:52px; height:52px; border-radius:50%; margin:0 auto 18px;
    background:rgba(183,138,45,.1); color:var(--gold-deep);
    display:flex; align-items:center; justify-content:center;
  }
  .why-card .icon svg{ width:24px; height:24px; }
  .why-card h3{ font-size:15.5px; font-weight:700; color:var(--ink); margin:0 0 10px; }
  .why-card p{ font-size:13px; color:var(--muted); line-height:1.75; margin:0; }
  .contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
  .contact-info-list{ display:flex; flex-direction:column; gap:18px; margin-top:28px; }
  .contact-info-item{ display:flex; align-items:center; gap:14px; }
  .contact-info-item .icon{
    width:44px; height:44px; border-radius:12px; flex:0 0 auto;
    background:var(--ink); color:var(--gold-light);
    display:flex; align-items:center; justify-content:center;
  }
  .contact-info-item .icon svg{ width:19px; height:19px; }
  .contact-info-item a, .contact-info-item span.value{ font-size:14.5px; font-weight:600; color:var(--ink); text-decoration:none; }
  .contact-info-item a:hover{ color:var(--gold-deep); }
  .contact-form{ background:var(--paper); border:1px solid var(--hairline); border-radius:22px; padding:32px; }
  .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
  .form-field{ display:flex; flex-direction:column; gap:7px; }
  .form-field.full{ grid-column:1 / -1; }
  .form-field label{ font-size:12.5px; font-weight:700; color:var(--ink); text-align:start; }
  .form-field input, .form-field textarea{
    border:1px solid var(--hairline); border-radius:10px;
    padding:11px 14px; font-size:13.5px; font-family:inherit;
    background:var(--sand); color:var(--ink); resize:vertical;
  }
  .form-field input:focus, .form-field textarea:focus{ outline:2px solid rgba(183,138,45,.35); border-color:var(--gold); }
  .contact-submit{
    width:100%; border:none; cursor:pointer;
    background:linear-gradient(135deg, var(--gold-light), var(--gold));
    color:#fff; font-weight:700; font-size:14px;
    padding:14px; border-radius:999px; margin-top:6px;
    transition:filter .2s ease, transform .2s ease;
  }
  .contact-submit:hover{ filter:brightness(1.05); transform:translateY(-1px); }
  .form-success{
    display:none; align-items:center; gap:10px;
    background:rgba(183,138,45,.1); color:var(--gold-deep);
    border-radius:12px; padding:14px 16px; font-size:13.5px; font-weight:600; margin-top:14px;
  }
  .form-success.is-visible{ display:flex; }
  .site-footer{
    background:var(--ink);
    color:rgba(255,255,255,.72);
    border-radius:36px 36px 0 0;
    box-shadow:0 -20px 50px -30px rgba(0,0,0,.35);
  }
  .footer-inner{
    max-width:1440px; margin:0 auto; padding-inline:40px;
    padding-top:56px; padding-bottom:40px;
    display:grid; grid-template-columns:1.3fr 1fr 1.2fr; gap:0;
  }
  .footer-col{ padding-inline:30px; border-inline-start:1px solid rgba(255,255,255,.12); }
  .footer-col:first-child{ padding-inline-start:0; border-inline-start:none; }
  .footer-wordmark{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    border-radius:14px;
    padding:14px 20px;
    margin-bottom:16px;
    box-shadow:0 10px 24px -12px rgba(0,0,0,.35);
  }
  .footer-wordmark img{ height:46px; width:auto; display:block; }
  .footer-about{ font-size:13.5px; line-height:1.9; color:rgba(255,255,255,.6); max-width:300px; margin:0 0 20px; text-align:start; }
  .social-row{ display:flex; gap:12px; flex-wrap:wrap; }
  .social-row a{
    width:48px; height:48px; border-radius:50%;
    border:1.5px solid rgba(255,255,255,.28);
    background:rgba(255,255,255,.06);
    display:flex; align-items:center; justify-content:center;
    color:rgba(255,255,255,.9);
    transition:border-color .2s ease, color .2s ease, background .2s ease, transform .2s ease;
  }
  .social-row a svg{ width:21px; height:21px; }
  .social-row a:hover{ border-color:var(--gold); color:#fff; background:var(--gold); transform:translateY(-2px); }
  .footer-col h4{
    color:#fff; font-size:15px; font-weight:700;
    margin:0 0 20px; text-align:start; position:relative; padding-bottom:12px;
  }
  .footer-col h4::after{
    content:""; position:absolute; inset-inline-start:0; bottom:0;
    width:26px; height:2px; border-radius:2px; background:var(--gold);
  }
  .footer-links{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
  .footer-links a{
    color:rgba(255,255,255,.62); text-decoration:none; font-size:13.5px; font-weight:500;
    text-align:start; display:inline-flex; align-items:center; gap:8px;
    transition:color .2s ease, gap .2s ease;
  }
  .footer-links a::before{ content:""; width:4px; height:4px; border-radius:50%; background:var(--gold); opacity:.8; flex:0 0 auto; }
  .footer-links a:hover{ color:#fff; gap:11px; }
  .contact-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:15px; }
  .contact-list li{ display:flex; align-items:flex-start; gap:11px; font-size:13.5px; color:rgba(255,255,255,.7); text-align:start; }
  .contact-list li a{ color:inherit; text-decoration:none; }
  .contact-list li a:hover{ color:#fff; }
  .contact-icon{
    width:34px; height:34px; border-radius:50%;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
    display:flex; align-items:center; justify-content:center;
    flex:0 0 auto; color:var(--gold-light);
  }
  .contact-icon svg{ width:15px; height:15px; }
  .contact-office-wrap{ margin-top:56px; grid-column:1 / -1; }
  .office-section{
    display:grid; grid-template-columns:1.4fr 1fr;
    border:1px solid var(--hairline);
    border-radius:28px;
    overflow:hidden;
    background:var(--paper);
  }
  .office-map{ position:relative; min-height:290px; background:var(--sand); }
  .office-map iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
  .office-info{
    background:var(--paper);
    padding:30px;
    display:flex; flex-direction:column;
    border-inline-start:1px solid var(--hairline);
  }
  .office-eyebrow{
    display:inline-flex; align-items:center; align-self:start; gap:9px;
    background:rgba(183,138,45,.1);
    font-size:15px; font-weight:700; color:var(--gold-deep);
    letter-spacing:.04em; padding:9px 19px; border-radius:999px; margin-bottom:18px;
  }
  .office-eyebrow span.dot{ width:6px; height:6px; border-radius:50%; background:var(--gold); display:inline-block; }
  .office-logo{
    flex:1 1 auto; display:flex; align-items:center; justify-content:center;
    padding:18px 0 24px;
  }
  .office-logo img{ width:auto; max-width:100%; height:64px; display:block; }
  .office-info h5{ margin:0 0 10px; font-size:20px; font-weight:700; color:var(--ink); text-align:start; }
  .office-info p{ margin:0 0 16px; font-size:13.5px; color:var(--muted); line-height:1.8; text-align:start; }
  .office-divider{ height:1px; background:var(--hairline); margin:0 0 16px; }
  .office-row{ display:flex; justify-content:space-between; gap:12px; font-size:12.5px; margin-bottom:18px; }
  .office-row .label{ color:var(--muted); }
  .office-row .value{ color:var(--ink); font-weight:600; text-align:end; }
  .map-directions{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    font-size:13px; font-weight:700; color:#fff;
    background:linear-gradient(135deg, var(--gold-light), var(--gold));
    text-decoration:none; padding:12px 20px; border-radius:999px; margin-top:auto;
    transition:filter .2s ease, transform .2s ease;
  }
  .map-directions:hover{ filter:brightness(1.05); transform:translateY(-1px); }
  .map-directions svg{ width:13px; height:13px; }
  html[dir="rtl"] .map-directions svg{ transform:scaleX(-1); }
  .footer-bottom{ border-top:1px solid rgba(255,255,255,.12); }
  .footer-bottom-inner{
    max-width:1440px; margin:0 auto; padding:20px 40px;
    display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  }
  .footer-legal{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:0; font-size:12.5px; color:rgba(255,255,255,.5); }
  .footer-legal .sep{ opacity:.5; }
  .footer-bottom-links{ display:flex; gap:22px; }
  .footer-bottom-links a{ font-size:12.5px; color:rgba(255,255,255,.5); text-decoration:none; transition:color .2s ease; }
  .footer-bottom-links a:hover{ color:var(--gold-light); }
  .svc-hero{
    padding:150px 24px 50px;
    background:linear-gradient(160deg, var(--ink) 0%, #12455a 130%);
    position:relative;
    overflow:hidden;
  }
  .svc-hero-inner{
    max-width:1180px;
    margin:0 auto;
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:56px;
    align-items:center;
  }
  .svc-breadcrumb{
    display:flex; align-items:center; gap:8px; flex-wrap:wrap;
    font-size:12.5px; color:rgba(255,255,255,.55); margin-bottom:22px;
  }
  .svc-breadcrumb a{ color:rgba(255,255,255,.72); text-decoration:none; }
  .svc-breadcrumb a:hover{ color:var(--gold-light); }
  .svc-breadcrumb .sep{ opacity:.5; }
  .svc-hero-eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18);
    color:var(--gold-light); font-size:12px; font-weight:700; letter-spacing:.03em;
    padding:7px 15px; border-radius:999px; margin-bottom:18px;
  }
  .svc-hero-eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--gold-light); }
  .svc-hero-title{ font-size:40px; font-weight:800; color:#fff; margin:0 0 18px; line-height:1.25; }
  .svc-hero-sub{ font-size:15px; color:rgba(255,255,255,.68); line-height:1.9; margin:0 0 32px; max-width:560px; }
  .svc-hero-actions{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
  .media-placeholder{
    position:relative;
    border-radius:22px;
    border:2px dashed rgba(255,255,255,.25);
    background:rgba(255,255,255,.05);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:10px;
    color:rgba(255,255,255,.5);
    text-align:center;
    padding:36px 20px;
    min-height:280px;
  }
  .media-placeholder .icon{ width:46px; height:46px; opacity:.65; }
  .media-placeholder .label{ font-size:13px; font-weight:700; color:rgba(255,255,255,.75); }
  .media-placeholder .hint{ font-size:11.5px; opacity:.7; max-width:220px; line-height:1.6; }
  .media-placeholder.light{
    border-color:var(--hairline);
    background:var(--sand);
    color:var(--muted);
  }
  .media-placeholder.light .label{ color:var(--ink); }
  .svc-overview{ padding:40px 24px; }
  .svc-overview-inner{ max-width:820px; margin:0 auto; text-align:center; }
  .svc-overview p{ font-size:15.5px; line-height:1.95; color:var(--muted); margin:0; }
  .detail-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; }
  .detail-card{
    background:var(--paper); border:1px solid var(--hairline); border-radius:20px;
    overflow:hidden;
    transition:transform .3s ease, box-shadow .3s ease;
    display:flex; flex-direction:column;
  }
  .detail-card:hover{ transform:translateY(-4px); box-shadow:0 22px 44px -22px rgba(14,59,76,.2); }
  .detail-card .media-placeholder{ min-height:140px; border-radius:0; border-width:0 0 1px; background:var(--sand); color:var(--muted); border-bottom:1px solid var(--hairline); }
  .detail-card .media-placeholder .icon{ width:32px; height:32px; opacity:.5; }
  .detail-card .media-placeholder .label{ font-size:11px; color:var(--muted); }
  .detail-card-body{ padding:22px; flex:1; display:flex; flex-direction:column; }
  .detail-card h4{ font-size:15.5px; font-weight:800; color:var(--ink); margin:0 0 10px; text-align:start; }
  .detail-card p{ font-size:13px; color:var(--muted); line-height:1.8; margin:0 0 14px; text-align:start; }
  .detail-card .example{
    font-size:12px; color:var(--gold-deep); font-weight:600;
    background:rgba(183,138,45,.08); padding:10px 13px; border-radius:10px;
    text-align:start; margin-top:auto; line-height:1.7;
  }
  .detail-card .example b{ font-weight:800; }
  .svc-video-section{ padding:40px 24px; }
  .svc-video-inner{ max-width:1180px; margin:0 auto; }
  .video-showcase{
    background:linear-gradient(160deg, var(--ink) 0%, #12455a 130%);
    border-radius:28px; overflow:hidden; position:relative;
  }
  .video-showcase .media-placeholder{ min-height:360px; border-radius:0; border:none; background:transparent; }
  .play-circle{
    width:74px; height:74px; border-radius:50%;
    background:rgba(255,255,255,.95); color:var(--ink);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:6px;
  }
  .play-circle svg{ width:24px; height:24px; margin-inline-start:3px; }
  .svc-gallery{ padding:40px 24px; }
  .svc-gallery-grid{ max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; }
  .svc-gallery-grid .media-placeholder{ min-height:160px; border-radius:16px; }
  .svc-gallery-grid .media-placeholder .icon{ width:30px; height:30px; }
  .svc-gallery-grid .media-placeholder .label{ font-size:11px; }
  .svc-cta-band-wrap{ padding:0 24px 56px; }
  .svc-cta-band{
    max-width:1180px; margin:0 auto;
    background:var(--ink); border-radius:28px; padding:56px 40px; text-align:center;
  }
  .svc-cta-band h2{ color:#fff; font-size:26px; font-weight:800; margin:0 0 14px; }
  .svc-cta-band p{ color:rgba(255,255,255,.65); font-size:14.5px; margin:0 0 28px; }
  .svc-cta-band .cta-row{ display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; }
  .hero-photo{ border-radius:22px; overflow:hidden; min-height:280px; }
  .hero-photo img{ width:100%; height:100%; object-fit:cover; display:block; min-height:280px; }
  .hero-photo video{ width:100%; height:100%; object-fit:cover; display:block; }
  .work-showcase{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; direction:ltr; }
  html[dir="rtl"] .work-text{ direction:rtl; }
  .work-text h2{ text-align:start; }
  .work-text p{ font-size:14.5px; color:var(--muted); line-height:1.9; margin:0; text-align:start; }
  .work-slider{ position:relative; border-radius:22px; overflow:hidden; min-height:320px; box-shadow:0 24px 48px -24px rgba(14,59,76,.25); }
  .work-slide{ position:absolute; inset:0; opacity:0; transition:opacity .8s ease; }
  .work-slide.active{ opacity:1; }
  .work-slide img{ width:100%; height:100%; object-fit:cover; display:block; }
  .work-slider-dots{ position:absolute; bottom:16px; inset-inline:0; display:flex; justify-content:center; gap:8px; z-index:2; }
  .work-slider-dots button{ width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.5); border:none; cursor:pointer; padding:0; }
  .work-slider-dots button.active{ background:#fff; }
  .faq-list{ display:flex; flex-direction:column; gap:12px; max-width:760px; margin:0 auto; }
  .faq-item{ background:var(--paper); border:1px solid var(--hairline); border-radius:16px; overflow:hidden; }
  .faq-question{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 22px; background:none; border:none; cursor:pointer; font-family:inherit; font-size:14.5px; font-weight:700; color:var(--ink); text-align:start; }
  .faq-question .faq-toggle{ width:20px; height:20px; border-radius:50%; background:rgba(183,138,45,.1); color:var(--gold-deep); display:flex; align-items:center; justify-content:center; flex:0 0 auto; position:relative; }
  .faq-question .faq-toggle::before, .faq-question .faq-toggle::after{ content:""; position:absolute; background:currentColor; transition:transform .25s ease; }
  .faq-question .faq-toggle::before{ width:10px; height:1.6px; }
  .faq-question .faq-toggle::after{ width:1.6px; height:10px; }
  .faq-item.is-open .faq-toggle::after{ transform:scaleY(0); }
  .faq-answer{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
  .faq-item.is-open .faq-answer{ max-height:400px; }
  .faq-answer p{ padding:0 22px 18px; font-size:13.5px; color:var(--muted); line-height:1.85; margin:0; text-align:start; }
  .blog-main{ max-width:1180px; margin:0 auto; padding:150px 24px 80px; }
  .blog-section-head{ text-align:center; max-width:720px; margin:0 auto 48px; }
  .blog-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(183,138,45,.1);
  color:var(--gold-deep);
  font-size:12px;
  font-weight:700;
  letter-spacing:.05em;
  padding:7px 15px;
  border-radius:999px;
  margin-bottom:18px;
  }
  .blog-page-title{ font-size:32px; font-weight:800; color:var(--ink); margin:0 0 14px; line-height:1.3; }
  .blog-page-sub{ font-size:15px; color:var(--muted); line-height:1.85; margin:0; }
  .blog-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
  }
  .post-card{
  display:flex;
  flex-direction:column;
  background:var(--paper);
  border:1px solid var(--hairline);
  border-radius:20px;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
  .post-card:hover{ transform:translateY(-4px); box-shadow:0 20px 40px -20px rgba(14,59,76,.25); border-color:rgba(183,138,45,.4); }
  .post-card-cover{
  width:100%;
  aspect-ratio:16/10;
  background:var(--sand) center/cover no-repeat;
  object-fit:cover;
  display:block;
  }
  .post-card .post-card-body{
  padding:20px 22px 24px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1 1 auto;
  }
  .post-card .post-card-title{
  font-size:17px;
  font-weight:800;
  color:var(--ink);
  line-height:1.5;
  margin:0;
  }
  .post-card .post-card-excerpt{
  font-size:13.5px;
  color:var(--muted);
  line-height:1.7;
  margin:0;
  flex:1 1 auto;
  }
  .post-card .post-card-more{
  font-size:13px;
  font-weight:700;
  color:var(--gold-deep);
  margin:0;
  }
  .cat-pill{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  gap:6px;
  background:rgba(183,138,45,.1);
  color:var(--gold-deep);
  font-size:11.5px;
  font-weight:700;
  padding:6px 14px;
  border-radius:999px;
  }
  .cat-filter{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 32px;
  }
  .cat-filter button{
  border:1px solid var(--hairline);
  background:var(--paper);
  color:var(--muted);
  font-size:13px;
  font-weight:700;
  padding:9px 18px;
  border-radius:999px;
  cursor:pointer;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .cat-filter button:hover{ border-color:rgba(183,138,45,.4); color:var(--gold-deep); }
  .cat-filter button.is-active{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
  }
  .post-meta{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:12.5px;
  color:var(--muted);
  }
  .post-meta .sep{ opacity:.5; }
  .article-wrap{
  max-width:760px;
  margin:0 auto;
  padding:0 20px;
  }
  .article-body{ font-size:16px; line-height:1.9; color:var(--ink); }
  .article-body h2{ font-size:24px; font-weight:800; margin:40px 0 16px; color:var(--ink); }
  .article-body h3{ font-size:19px; font-weight:700; margin:32px 0 14px; color:var(--ink); }
  .article-body p{ margin:0 0 20px; color:var(--ink); }
  .article-body ul, .article-body ol{ margin:0 0 20px; padding-inline-start:24px; }
  .article-body li{ margin-bottom:8px; }
  .article-body blockquote{
  margin:28px 0;
  padding:18px 24px;
  border-inline-start:3px solid var(--gold);
  background:var(--sand);
  border-radius:0 14px 14px 0;
  color:var(--muted);
  font-style:italic;
  }
  html[dir="rtl"] .article-body blockquote{ border-radius:14px 0 0 14px; }
  .article-body figure{ margin:28px 0; }
  .article-body figure img{ width:100%; border-radius:16px; display:block; }
  .article-body figure figcaption{ margin-top:10px; font-size:12.5px; color:var(--muted); text-align:center; }
  .article-body hr{ border:none; border-top:1px solid var(--hairline); margin:36px 0; }
  .breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  font-size:13px;
  color:var(--muted);
  margin-bottom:24px;
  }
  .breadcrumb a{ color:var(--muted); text-decoration:none; }
  .breadcrumb a:hover{ color:var(--gold-deep); }
  .breadcrumb .sep{ opacity:.5; }
  .related-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
  }
  @keyframes blog-skeleton-pulse{
  0%, 100%{ opacity:1; }
  50%{ opacity:.55; }
  }
  .skeleton{
  display:flex;
  flex-direction:column;
  border-radius:20px;
  overflow:hidden;
  border:1px solid var(--hairline);
  background:var(--paper);
  height:360px;
  animation:blog-skeleton-pulse 1.4s ease-in-out infinite;
  }
  .skeleton::before{
  content:"";
  display:block;
  width:100%;
  aspect-ratio:16/10;
  background:var(--hairline);
  }
  .skeleton::after{
  content:"";
  display:block;
  margin:20px 22px;
  height:14px;
  border-radius:7px;
  background:var(--hairline);
  }
  .blog-state{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:16px;
  padding:80px 24px;
  color:var(--muted);
  }
  .blog-state h2{ font-size:22px; font-weight:800; color:var(--ink); margin:0; }
  .blog-state p{ font-size:14.5px; margin:0; max-width:420px; }
  .blog-state button{
  border:1px solid var(--hairline);
  background:var(--paper);
  color:var(--ink);
  font-size:13.5px;
  font-weight:700;
  padding:10px 22px;
  border-radius:999px;
  cursor:pointer;
  transition:border-color .2s ease, color .2s ease;
  }
  .blog-state button:hover{ border-color:rgba(183,138,45,.4); color:var(--gold-deep); }
  .blog-state a{
  border:1px solid var(--hairline);
  background:var(--paper);
  color:var(--ink);
  font-size:13.5px;
  font-weight:700;
  padding:10px 22px;
  border-radius:999px;
  text-decoration:none;
  transition:border-color .2s ease, color .2s ease;
  }
  .blog-state a:hover{ border-color:rgba(183,138,45,.4); color:var(--gold-deep); }
  .translation-notice{
  margin:0 0 24px;
  padding:14px 18px;
  border-inline-start:3px solid var(--gold);
  background:var(--sand);
  border-radius:0 14px 14px 0;
  color:var(--muted);
  font-size:13.5px;
  }
  html[dir="rtl"] .translation-notice{ border-radius:14px 0 0 14px; }
  .article-wrap h1#articleTitle{ font-size:30px; font-weight:800; color:var(--ink); line-height:1.4; margin:0 0 20px; }
  .article-wrap #articleCover{ width:100%; border-radius:18px; display:block; margin:0 0 32px; aspect-ratio:16/9; object-fit:cover; background:var(--sand); }

  /* ============================================================
     PAGE-TYPE SCOPED DIFFERENCES (home / service / blog)
  ============================================================ */
  body.page-home .section{ padding:96px 0; min-height:100vh; display:flex; align-items:center; }
  body.page-home #contact{ min-height:auto; padding:96px 0; display:block; }
  body.page-home .card-view-level2 li{
    display:flex;
    align-items:center;
    gap:9px;
    font-size:13.5px;
    color:rgba(255,255,255,.75);
    text-align:start;
    padding:5px 0;
    transition:color .2s ease;
  }
  body.page-home .card-view-level2 li:hover{ color:var(--gold-light); }
  body.page-home .level1-list li:not(.has-children){ padding:0; }
  body.page-home .group-title{ display:flex; align-items:center; gap:14px; margin:0 0 24px; }
  body.page-home .group-title .num{
    width:36px; height:36px; border-radius:50%;
    background:var(--ink); color:var(--gold-light);
    display:flex; align-items:center; justify-content:center;
    font-weight:800; font-size:14px; flex:0 0 auto;
  }
  body.page-home .svc-group{ margin-bottom:48px; }
  body.page-home .svc-group:last-child{ margin-bottom:0; }
  body.page-service .section{ padding:56px 0; }
  body.page-service #contact{ padding:56px 0; }
  body.page-service .card-view-level2 li{
    display:flex;
    align-items:center;
    gap:9px;
    font-size:13.5px;
    color:rgba(255,255,255,.75);
    text-align:start;
    padding:5px 0;
  }
  body.page-service .card-view-level2 li:hover{ color:var(--gold-light); }
  body.page-service .level1-list li:not(.has-children){ color:rgba(255,255,255,.5); }
  body.page-service .group-title{ display:flex; align-items:center; gap:14px; margin:0 0 28px; }
  body.page-service .group-title .num{
    width:38px; height:38px; border-radius:50%;
    background:var(--ink); color:var(--gold-light);
    display:flex; align-items:center; justify-content:center;
    font-weight:800; font-size:14px; flex:0 0 auto;
  }
  body.page-service .svc-group{ margin-bottom:64px; }
  body.page-service .svc-group:last-child{ margin-bottom:0; }
  body.page-blog .section-title{ font-size:22px; font-weight:800; color:var(--ink); margin:48px 0 24px; }

  /* ============================================================
     MEDIA QUERIES
  ============================================================ */
  @media (max-width:1100px){
    .svc-card-grid{ grid-template-columns:repeat(3, 1fr); }
  }

  @media (max-width:1000px){
    .blog-grid{ grid-template-columns:repeat(2, 1fr); }
    .related-grid{ grid-template-columns:repeat(2, 1fr); }
  }

  @media (max-width: 980px){
    .primary-nav, .header-actions .lang-switch, .header-actions .cta-btn{ display:none; }
    .hamburger{ display:flex; }
    .brand{ padding-inline-start:18px; }
    .office-logo{ padding:14px 0 20px; }
    .office-logo img{ height:54px; }
    .footer-inner{ grid-template-columns:1fr 1fr; row-gap:32px; }
    .footer-col{ border-inline-start:none; padding-inline-start:0; }
    .office-section{ grid-template-columns:1fr; }
    .office-map{ min-height:220px; }
    .office-info{ border-inline-start:none; border-top:1px solid var(--hairline); }
  }

  @media (max-width: 900px){
    .hero-title{ font-size:32px; }
    .hero-content{ padding:100px 24px 60px; grid-template-columns:1fr; gap:36px; }
    .services-full-grid{ grid-template-columns:1fr; }
    .about-grid{ grid-template-columns:1fr; gap:40px; }
    .about-visual{ order:-1; }
    .about-blob{ display:none; }
    .vm-grid{ grid-template-columns:1fr; }
    .values-grid{ grid-template-columns:1fr 1fr; }
    .tab-panel-grid{ grid-template-columns:1fr; gap:28px; }
    .tab-feature-list{ grid-template-columns:1fr; }
    .stat-badges{ grid-template-columns:1fr 1fr; }
    .v2030-grid{ grid-template-columns:1fr 1fr; }
    .sectors-grid{ grid-template-columns:1fr 1fr; }
    .why-grid{ grid-template-columns:1fr 1fr; }
    .contact-grid{ grid-template-columns:1fr; gap:36px; }
    .svc-hero-inner{ grid-template-columns:1fr; gap:32px; }
    .svc-hero-title{ font-size:30px; }
    .detail-grid{ grid-template-columns:1fr 1fr; }
    .svc-gallery-grid{ grid-template-columns:1fr 1fr; }
    .work-showcase{ grid-template-columns:1fr; direction:inherit; }
    html[dir="rtl"] .work-text{ direction:inherit; }
    .work-slider{ min-height:260px; }
  }

  @media (max-width:800px){
    .svc-card-grid{ grid-template-columns:repeat(2, 1fr); }
  }

  @media (max-width:700px){
    .blog-main{ padding-top:130px; }
    .blog-page-title{ font-size:26px; }
    .article-wrap h1#articleTitle{ font-size:24px; }
  }

  @media (max-width:640px){
    .tier-head, .tier-leaf{ padding:16px; gap:12px; }
    .tier-panel-inner{ padding:0 16px 18px; }
    .tier-count{ display:none; }
    .tier-title{ font-size:16px; }
    .blog-grid{ grid-template-columns:1fr; }
    .related-grid{ grid-template-columns:1fr; }
  }

  @media (max-width: 620px){
    .footer-inner{ grid-template-columns:1fr; }
    .footer-col{ padding-inline:0 !important; }
    .footer-bottom-inner{ justify-content:center; text-align:center; }
    .site-footer{ border-radius:24px 24px 0 0; }
  }

  @media (max-width:600px){
    .values-grid{ grid-template-columns:1fr; }
    .adv-grid{ grid-template-columns:1fr; }
    .why-grid{ grid-template-columns:1fr; }
    .detail-grid{ grid-template-columns:1fr; }
    .svc-gallery-grid{ grid-template-columns:1fr; }
  }

  @media (max-width:560px){
    .form-row{ grid-template-columns:1fr; }
  }

  @media (max-width:520px){
    .svc-card-grid{ grid-template-columns:1fr; }
  }
