/*
 * Danjire Communications - Theme Stylesheet
 */


/* =========================================================
   Design tokens, layout primitives, header, mobile nav, hero, footer, language switcher
   ========================================================= */

:root{
    --ink:#191C40;
    --ink-deep:#12142E;
    --ink-deep-2:#181B3E;
    --paper:#F1F3EF;
    --paper-raised:#FFFFFF;
    --brass:#6EC73C;
    --brass-strong:#3F7A24;
    --brass-soft:#8FD65E;
    --teal:#3F7A24;
    --teal-soft:#8FD65E;
    --muted:#5B5F6B;
    --line:rgba(25,28,64,0.14);
    --line-dark:rgba(255,255,255,0.16);
    --on-dark:#FFFFFF;
    --on-dark-muted:#B7B9CE;
    --on-brass:#191C40;
    --shadow: 0 1px 2px rgba(25,28,64,0.06), 0 12px 32px -16px rgba(25,28,64,0.18);
    --radius: 4px;
    --maxw: 1220px;
  }

  :root[data-theme="dark"]{
    --paper:#14162C;
    --paper-raised:#1B1E3D;
    --ink:#F1F3EF;
    --muted:#B7B9CE;
    --line:rgba(255,255,255,0.14);
  }

  *,*::before,*::after{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  @media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; } }
  body{ transition:background .2s ease, color .2s ease; }

  /* ---------- Floating theme toggle & WhatsApp ---------- */
  .theme-toggle{ position:fixed; top:96px; right:24px; z-index:60; width:44px; height:44px; border-radius:50%; background:var(--paper-raised); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:var(--shadow); color:var(--ink); }
  .theme-toggle:hover{ border-color:var(--brass-strong); }
  .theme-toggle svg{ width:19px; height:19px; }
  .theme-toggle .i-sun{ display:none; }
  :root[data-theme="dark"] .theme-toggle .i-moon{ display:none; }
  :root[data-theme="dark"] .theme-toggle .i-sun{ display:block; }
  .whatsapp-fab{ position:fixed; bottom:24px; right:24px; z-index:60; width:56px; height:56px; border-radius:50%; background:#25D366; border:none; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px -6px rgba(37,211,102,0.55); cursor:pointer; }
  .whatsapp-fab:hover{ background:#20bd5a; }
  .whatsapp-fab svg{ width:28px; height:28px; color:#fff; }
  .whatsapp-fab .badge{ position:absolute; top:-4px; right:-4px; width:20px; height:20px; border-radius:50%; background:#ED4C4C; color:#fff; font-size:0.68rem; font-weight:700; display:flex; align-items:center; justify-content:center; border:2px solid var(--paper); }
  @media (max-width: 560px){ .theme-toggle{ top:auto; bottom:92px; right:16px; } .whatsapp-fab{ bottom:16px; right:16px; } }

  /* ---------- WhatsApp chat widget ---------- */
  .wa-widget{ position:fixed; bottom:92px; right:24px; z-index:65; width:320px; max-width:calc(100vw - 32px); background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 24px 60px -14px rgba(0,0,0,0.4); display:flex; flex-direction:column; opacity:0; transform:translateY(18px) scale(0.97); pointer-events:none; transition:opacity .18s ease, transform .18s ease; }
  .wa-widget.open{ opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
  .wa-head{ background:#075E54; color:#fff; display:flex; align-items:center; gap:0.85rem; padding:1rem 2.6rem 1rem 1.1rem; position:relative; }
  .wa-avatar-wrap{ position:relative; flex:none; }
  .wa-avatar{ width:44px; height:44px; border-radius:50%; background:#fff; object-fit:contain; padding:5px; display:block; }
  .wa-online-dot{ position:absolute; width:11px; height:11px; border-radius:50%; background:#25D366; border:2px solid #075E54; bottom:0; right:0; }
  .wa-head-text{ display:flex; flex-direction:column; gap:0.15rem; line-height:1.3; min-width:0; }
  .wa-head-text strong{ font-size:0.96rem; font-weight:700; }
  .wa-head-text span{ font-size:0.76rem; color:rgba(255,255,255,0.85); }
  .wa-close{ position:absolute; top:0.95rem; right:0.9rem; background:none; border:none; color:#fff; cursor:pointer; padding:0.2rem; display:flex; opacity:0.9; }
  .wa-close:hover{ opacity:1; }
  .wa-body{ background:#ECE5DD; padding:1.25rem 1rem; min-height:130px; display:flex; align-items:flex-start; }
  .wa-bubble{ background:#fff; border-radius:0 10px 10px 10px; padding:0.7rem 0.95rem; max-width:88%; box-shadow:0 1px 1px rgba(0,0,0,0.08); }
  .wa-bubble p{ margin:0; font-size:0.9rem; color:#111; line-height:1.45; }
  .wa-time{ display:block; margin-top:0.4rem; font-size:0.68rem; color:#8a938c; }
  .wa-input-row{ display:flex; align-items:center; gap:0.6rem; padding:0.7rem 0.8rem; background:#f0f2f0; border-top:1px solid rgba(0,0,0,0.06); }
  .wa-input-row input{ flex:1; min-width:0; border:none; background:#fff; border-radius:20px; padding:0.6rem 1rem; font-size:0.88rem; font-family:"Inter",sans-serif; color:#111; }
  .wa-input-row input:focus{ outline:none; }
  .wa-input-row button{ width:36px; height:36px; border-radius:50%; background:#075E54; border:none; color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; flex:none; }
  .wa-input-row button:hover{ background:#064740; }
  @media (max-width: 560px){ .wa-widget{ bottom:82px; right:16px; } }

  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:"Inter", "Segoe UI", system-ui, sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }

  h1,h2,h3{ font-family:"Plus Jakarta Sans","Segoe UI",system-ui,sans-serif; font-weight:700; line-height:1.12; margin:0; text-wrap:balance; color:var(--ink); }
  h1{ font-weight:800; }
  h2{ font-size:clamp(1.9rem, 1.2rem + 2.4vw, 2.7rem); letter-spacing:-0.008em; }
  h3{ font-size:1.25rem; }
  p{ margin:0; }
  a{ color:inherit; text-decoration:none; }
  ul{ margin:0; padding:0; list-style:none; }
  button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
  img,svg{ display:block; max-width:100%; }
  :focus-visible{ outline:2px solid var(--brass-strong); outline-offset:3px; }

  .wrap{ max-width:var(--maxw); margin:0 auto; padding-inline:clamp(1.25rem, 3vw, 2.5rem); }
  .eyebrow{ font-family:"Plus Jakarta Sans",sans-serif; font-size:0.875rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--brass-strong); font-weight:700; }
  section[data-tone="dark"] .eyebrow{ color:var(--brass-soft); }
  .section{ padding-block:clamp(2.5rem, 2.5vw + 1.25rem, 4.5rem); }
  section[data-tone="dark"]{ background:var(--ink-deep); color:var(--on-dark); }
  section[data-tone="dark"] h2{ color:var(--on-dark); }
  .section-head{ max-width:640px; margin-bottom:clamp(2rem,3vw,3rem); }
  .section-head h2{ margin-top:0.5rem; }
  .section-head p{ margin-top:1rem; color:var(--muted); font-size:1.05rem; }
  section[data-tone="dark"] .section-head p{ color:var(--on-dark-muted); }

  .btn{ display:inline-flex; align-items:center; gap:0.55rem; padding:0.85rem 1.5rem; border-radius:var(--radius); font-weight:700; font-size:0.95rem; letter-spacing:0.01em; white-space:nowrap; transition:background 0.15s ease, color 0.15s ease, border-color .15s ease, transform .15s ease; }
  .btn-primary{ background:var(--brass); color:var(--on-brass); }
  .btn-primary:hover{ background:var(--brass-strong); transform:translateY(-1px); }
  .btn-outline{ border:1.5px solid var(--line); color:var(--ink); }
  .btn-outline:hover{ border-color:var(--ink); }
  section[data-tone="dark"] .btn-outline{ border-color:var(--line-dark); color:var(--on-dark); }
  section[data-tone="dark"] .btn-outline:hover{ border-color:var(--on-dark); }
  .btn svg{ width:16px; height:16px; }

  .icon{ width:26px; height:26px; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }

  /* ---------- Header ---------- */
  header.site{ position:sticky; top:0; z-index:50; background:transparent; padding-block:14px 0; color:#191C40; }
  header.site .dd-panel{ color:#191C40; }
  .header-row{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; height:72px; padding-inline:1.5rem; background:rgba(241,243,239,0.96); backdrop-filter:saturate(140%) blur(10px); border:1px solid rgba(25,28,64,0.1); border-radius:999px; box-shadow:0 10px 32px -14px rgba(25,28,64,0.22); }
  .brand{ display:flex; align-items:center; gap:0.6rem; }
  .brand-logo, .custom-logo{ height:42px; width:auto; max-width:100%; display:block; }
  .custom-logo-link{ display:flex; align-items:center; }
  .foot-logo-chip{ display:inline-flex; }
  .foot-logo-chip img{ height:32px; display:block; }

  nav.primary{ display:flex; align-items:center; gap:1.3rem; }
  nav.primary > ul{ display:flex; align-items:center; gap:1.3rem; }
  nav.primary a.top-link, nav.primary summary.top-link{ font-size:15px; font-weight:500; letter-spacing:0.01em; padding:0.4rem 0.1rem; border-bottom:2px solid transparent; white-space:nowrap; }
  nav.primary a.top-link:hover, nav.primary summary.top-link:hover{ border-color:var(--brass); }

  details.dd{ position:relative; }
  details.dd summary.top-link{ display:flex; align-items:center; gap:0.35rem; cursor:pointer; list-style:none; }
  details.dd summary.top-link::-webkit-details-marker{ display:none; }
  details.dd summary .chev{ width:11px; height:11px; transition:transform .15s ease; }
  details.dd[open] summary .chev{ transform:rotate(180deg); }
  details.dd .dd-panel{ position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%); background:#FFFFFF; border:1px solid rgba(25,28,64,0.14); border-radius:6px; box-shadow:var(--shadow); padding:1.4rem; display:grid; grid-template-columns:1fr 1fr; gap:1.5rem 2.25rem; width:min(560px, 86vw); }
  .dd-col-title{ font-family:"Plus Jakarta Sans",sans-serif; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--brass-strong); font-weight:700; margin-bottom:0.7rem; display:block; }
  .dd-col a{ display:block; padding:0.4rem 0; font-size:15px; color:#191C40; border-bottom:1px solid transparent; }
  .dd-col a:hover{ color:var(--teal); }
  .dd-col a.parent{ font-weight:600; margin-bottom:0.15rem; }

  .header-cta{ display:flex; align-items:center; gap:1.1rem; }
  .menu-btn{ display:none; }

  @media (max-width: 1140px){
    nav.primary{ display:none; }
    .menu-btn{ display:flex; align-items:center; justify-content:center; width:42px; height:42px; }
    .header-cta .btn-primary span.long{ display:none; }
  }

  /* mobile panel */
  #mobile-panel{ position:fixed; inset:0; background:var(--paper); z-index:100; transform:translateX(100%); transition:transform .28s ease; overflow-y:auto; }
  #mobile-panel.open{ transform:translateX(0); }
  .mp-top{ display:flex; align-items:center; justify-content:space-between; height:76px; padding-inline:1.25rem; border-bottom:1px solid rgba(25,28,64,0.14); background:#F1F3EF; color:#191C40; }
  .mp-top .brand-logo, .mp-top .custom-logo{ height:34px; }
  .mp-close{ width:42px; height:42px; display:flex; align-items:center; justify-content:center; }
  .mp-nav{ padding:1.25rem; display:flex; flex-direction:column; gap:0.2rem; }
  .mp-nav > li > a, .mp-nav details summary{ display:flex; align-items:center; justify-content:space-between; padding:1rem 0.25rem; font-size:1.15rem; font-weight:500; border-bottom:1px solid var(--line); cursor:pointer; list-style:none; }
  .mp-nav details summary::-webkit-details-marker{ display:none; }
  .mp-nav details .chev{ width:14px; height:14px; }
  .mp-nav details[open] .chev{ transform:rotate(180deg); }
  .mp-sub{ padding:0.4rem 0 0.9rem 0.75rem; display:flex; flex-direction:column; }
  .mp-sub a{ padding:0.6rem 0.25rem; font-size:0.98rem; color:var(--muted); }
  .mp-sub a.parent{ color:var(--ink); font-weight:600; }
  .mp-foot{ padding:1.5rem 1.25rem 2.5rem; }

  /* ---------- Hero ---------- */
  .hero{ position:relative; overflow:hidden; border-bottom:1px solid var(--line); }
  .hero-grid{ display:grid; grid-template-columns: 1.05fr 0.95fr; gap:2.5rem; align-items:center; padding-block:clamp(2.5rem,4.5vw,4.5rem); }
  .hero h1{ font-size:clamp(2.4rem, 1.6rem + 3.2vw, 3.9rem); margin-top:0.9rem; }
  .hero .eyebrow{ display:inline-block; }
  .hero p.lede{ margin-top:1.4rem; font-size:1.14rem; color:var(--muted); max-width:46ch; }
  .hero-actions{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.1rem; }
  .hero-art{ position:relative; aspect-ratio:1/1; }
  .hero-art svg{ width:100%; height:100%; }
  .trust-strip{ border-top:1px solid var(--line); }
  .trust-row{ display:flex; flex-wrap:wrap; align-items:center; gap:0.75rem 2.2rem; padding-block:1.4rem; font-family:"Plus Jakarta Sans",sans-serif; font-size:0.78rem; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; color:var(--muted); }
  .trust-row b{ color:var(--ink); font-weight:600; }

  /* ---------- About ---------- */
  .about-grid{ display:grid; grid-template-columns: 0.85fr 1.15fr; gap:clamp(2rem,4vw,4.5rem); align-items:start; }
  .about-grid blockquote{ font-family:"Plus Jakarta Sans",sans-serif; font-style:italic; font-weight:600; font-size:clamp(1.4rem,1.1rem+1vw,1.9rem); line-height:1.35; color:var(--ink); border-left:3px solid var(--brass); padding-left:1.4rem; }
  .about-copy p{ color:var(--muted); font-size:1.05rem; }
  .about-copy p + p{ margin-top:1.1rem; }
  .about-copy .more-link{ margin-top:1.4rem; display:inline-flex; align-items:center; gap:0.4rem; font-weight:600; color:var(--teal); }
  .about-copy .more-link svg{ width:15px; height:15px; transition:transform .15s ease; }
  .about-copy .more-link:hover svg{ transform:translateX(3px); }

  /* ---------- Services ---------- */
  .svc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.75rem; }
  .svc-card{ background:var(--paper-raised); border:1px solid var(--line); border-radius:8px; padding:clamp(1.75rem,2vw,2.5rem); display:flex; flex-direction:column; gap:1.25rem; }
  .svc-card .icon-wrap{ width:52px; height:52px; border-radius:8px; background:rgba(184,134,60,0.12); display:flex; align-items:center; justify-content:center; }
  .svc-card .icon-wrap .icon{ color:var(--brass-strong); width:26px; height:26px; }
  .svc-card p.desc{ color:var(--muted); }
  .chip-row{ display:flex; flex-wrap:wrap; gap:0.55rem; margin-top:0.2rem; }
  .chip{ font-size:0.82rem; padding:0.4rem 0.75rem; border:1px solid var(--line); border-radius:999px; color:var(--ink); }
  .svc-card .more-link{ margin-top:auto; display:inline-flex; align-items:center; gap:0.4rem; font-weight:600; color:var(--teal); padding-top:0.5rem; }
  .svc-card .more-link svg{ width:15px; height:15px; transition:transform .15s ease; }
  .svc-card .more-link:hover svg{ transform:translateX(3px); }

  /* ---------- Why ---------- */
  .why-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:8px; overflow:hidden; }
  .why-item{ background:var(--paper-raised); padding:clamp(1.6rem,2vw,2.1rem); display:flex; flex-direction:column; gap:0.9rem; }
  .why-item .icon{ color:var(--teal); width:24px; height:24px; }
  .why-item h3{ font-size:1.05rem; }
  .why-item p{ color:var(--muted); font-size:0.95rem; }

  /* ---------- Industries ---------- */
  .ind-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:1.25rem; }
  .ind-card{ padding:1.5rem 1.4rem; border:1px solid var(--line-dark); border-radius:8px; display:flex; flex-direction:column; gap:0.9rem; }
  section[data-tone="dark"] .ind-card{ background:var(--ink-deep-2); }
  .ind-card .icon{ color:var(--brass-soft); width:24px; height:24px; }
  .ind-card h3{ color:var(--on-dark); font-size:1.02rem; }
  .ind-card p{ color:var(--on-dark-muted); font-size:15px; }

  /* ---------- Languages ---------- */
  .lang-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(150px,1fr)); gap:0.9rem; max-width:760px; }
  .lang-stamp{ border:1.5px solid var(--line); border-radius:8px; padding:0.9rem 1rem; display:flex; flex-direction:column; gap:0.3rem; position:relative; }
  .lang-stamp .code{ font-family:"Plus Jakarta Sans",sans-serif; font-size:0.7rem; font-weight:700; letter-spacing:0.06em; color:var(--brass-strong); }
  .lang-stamp .native{ font-size:1.02rem; font-weight:600; }
  .lang-stamp .en{ font-size:0.78rem; color:var(--muted); }
  .lang-more{ margin-top:1.75rem; color:var(--muted); font-size:0.98rem; }
  .lang-more a{ color:var(--teal); font-weight:600; }

  /* ---------- CTA ---------- */
  .cta-panel{ background:linear-gradient(155deg, var(--ink-deep) 0%, var(--ink-deep-2) 100%); border-radius:14px; padding:clamp(2.5rem,5vw,4.5rem); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:2rem; position:relative; overflow:hidden; }
  .cta-panel h2{ color:var(--on-dark); max-width:20ch; }
  .cta-panel p{ color:var(--on-dark-muted); margin-top:0.9rem; max-width:44ch; }
  .cta-lede{ color:var(--brass); font-weight:700; font-size:1.05rem; margin:0.6rem 0 0; }
  .cta-text{ position:relative; z-index:1; }
  .cta-actions{ position:relative; z-index:1; display:flex; gap:1rem; flex-wrap:wrap; }
  .cta-mark{ position:absolute; right:-70px; top:-70px; width:220px; height:220px; opacity:0.6; pointer-events:none; }
  .cta-panel .btn-outline{ border-color:var(--line-dark); color:var(--on-dark); }
  .cta-panel .btn-outline:hover{ border-color:var(--on-dark); }

  /* ---------- Page hero (interior pages) ---------- */
  .sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .page-hero{ padding-block:clamp(2.25rem,4vw,3.5rem) clamp(1.75rem,3.5vw,3rem); border-bottom:1px solid var(--line); }
  .page-hero h1{ margin-top:0.75rem; font-size:clamp(2.5rem, 1.6rem + 3.5vw, 4rem); line-height:1.08; letter-spacing:-0.015em; max-width:20ch; }
  .page-hero .lede{ margin-top:1.2rem; color:var(--muted); font-size:clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem); line-height:1.6; max-width:60ch; }
  .page-hero-center{ text-align:center; }
  .page-hero-center .wrap{ max-width:780px; }
  .page-hero-center h1{ margin-inline:auto; }
  .page-hero-center .lede{ margin-inline:auto; }

  /* ---------- Contact ---------- */
  .contact-cards{ display:grid; grid-template-columns:repeat(3, 1fr); gap:1.75rem; }
  .contact-card{ background:var(--paper-raised); border:1px solid var(--line); border-radius:12px; padding:clamp(2rem,3vw,2.75rem) 1.75rem; text-align:center; box-shadow:var(--shadow); }
  .contact-card .icon-wrap{ width:56px; height:56px; margin:0 auto 1.25rem; border-radius:12px; background:rgba(63,122,36,0.1); display:flex; align-items:center; justify-content:center; }
  .contact-card .icon-wrap .icon{ color:var(--brass-strong); width:26px; height:26px; }
  .contact-card h3{ font-size:1.4rem; font-weight:700; margin-bottom:0.65rem; }
  .contact-card p{ color:var(--muted); font-size:1.1rem; line-height:1.55; }
  .contact-card p a{ color:var(--muted); }
  .contact-card p a:hover{ color:var(--teal); }
  .contact-card p.hours{ margin-top:0.4rem; font-size:0.95rem; }
  @media (max-width: 900px){ .contact-cards{ grid-template-columns:1fr; } }
  .contact-form-card{ background:var(--paper-raised); border:1px solid var(--line); border-radius:10px; padding:clamp(1.75rem,3vw,2.5rem); max-width:680px; margin-inline:auto; }
  .contact-form-card h3{ font-size:1.4rem; font-weight:700; margin-bottom:1.5rem; }
  .contact-form{ display:flex; flex-direction:column; gap:1.25rem; }
  .field{ display:flex; flex-direction:column; gap:0.5rem; }
  .field label{ font-family:"Plus Jakarta Sans",sans-serif; font-size:0.85rem; font-weight:600; letter-spacing:0.01em; color:var(--ink); }
  .field input, .field textarea{ font-family:"Inter",sans-serif; font-size:1.05rem; padding:0.85rem 1rem; border:1.5px solid var(--line); border-radius:6px; background:var(--paper); color:var(--ink); resize:vertical; }
  .field input:focus, .field textarea:focus{ outline:none; border-color:var(--brass-strong); }
  .contact-form button[type="submit"]{ margin-top:0.4rem; border:none; cursor:pointer; }

  /* ---------- Footer ---------- */
  footer.site{ background:var(--ink-deep); color:var(--on-dark); border-top:1px solid var(--line-dark); }
  .foot-blurb{ margin-top:1.1rem; color:var(--on-dark-muted); font-size:0.94rem; max-width:34ch; }
  .foot-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1.1fr; gap:2.5rem; padding-block:clamp(3rem,4vw,4.5rem); }
  .foot-social{ display:flex; gap:0.7rem; margin-top:1.2rem; }
  .foot-social a{ width:36px; height:36px; border:1px solid var(--line-dark); border-radius:50%; display:flex; align-items:center; justify-content:center; }
  .foot-social a:hover{ border-color:var(--brass-soft); color:var(--brass-soft); }
  .foot-social svg{ width:16px; height:16px; }
  .foot-col h4{ font-family:"Plus Jakarta Sans",sans-serif; font-size:0.74rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--on-dark-muted); margin-bottom:1.1rem; font-weight:700; }
  .foot-contact-sub{ color:var(--brass-soft); font-size:0.84rem; font-weight:600; margin:-0.6rem 0 1rem; }
  .foot-col ul{ display:flex; flex-direction:column; gap:0.7rem; }
  .foot-col a{ color:var(--on-dark); font-size:0.94rem; }
  .foot-col a:hover{ color:var(--brass-soft); }
  .foot-contact li{ color:var(--on-dark-muted); font-size:0.94rem; display:flex; gap:0.6rem; }
  .foot-contact .icon{ width:17px; height:17px; flex:none; margin-top:0.15rem; color:var(--brass-soft); }
  .foot-bottom{ border-top:1px solid var(--line-dark); padding-block:1.4rem; display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; font-size:0.85rem; color:var(--on-dark-muted); }
  .foot-bottom .legal{ display:flex; gap:1.5rem; }
  .foot-bottom a:hover{ color:var(--on-dark); }

  @media (max-width: 900px){
    .hero-grid{ grid-template-columns:1fr; }
    .hero-art{ order:-1; max-width:280px; margin:0 auto; }
    .about-grid{ grid-template-columns:1fr; }
    .svc-grid{ grid-template-columns:1fr; }
    .why-grid{ grid-template-columns:1fr 1fr; }
    .ind-grid{ grid-template-columns:1fr 1fr; }
    .foot-grid{ grid-template-columns:1fr 1fr; }
  }
  @media (max-width: 560px){
    .why-grid{ grid-template-columns:1fr; }
    .ind-grid{ grid-template-columns:1fr; }
    .foot-grid{ grid-template-columns:1fr; }
    .cta-panel{ padding:2rem; }
  }

  /* ---------- Language switcher ---------- */
  .lang-dd summary.lang-current{ display:flex; align-items:center; gap:0.45rem; border:1px solid var(--line); border-radius:999px; padding:0.5rem 0.9rem; font-size:0.9rem; white-space:nowrap; }
  .lang-dd summary.lang-current .flag{ font-size:1.05rem; line-height:1; }
  .lang-dd summary.lang-current img.flag{ width:20px; height:15px; object-fit:cover; border-radius:2px; box-shadow:0 0 0 1px rgba(0,0,0,.12); display:block; }
  .lang-dd summary.lang-current .lang-label{ font-family:"Plus Jakarta Sans",sans-serif; font-weight:600; }
  .lang-dd .dd-panel.lang-panel{ display:block; min-width:280px; width:300px; max-width:86vw; padding:0; overflow:hidden; grid-template-columns:none; left:auto; right:0; transform:none; }
  .lang-search-wrap{ display:flex; align-items:center; gap:0.6rem; padding:0.85rem 1rem; border-bottom:1px solid var(--line); background:var(--paper-raised); }
  .lang-search-wrap svg{ width:16px; height:16px; color:var(--muted); flex:none; }
  .lang-search{ border:none; outline:none; background:transparent; font-size:0.95rem; width:100%; color:var(--ink); font-family:inherit; }
  .lang-list{ max-height:320px; overflow-y:auto; padding:0.35rem 0; }
  .lang-list .lang-opt{ display:flex !important; align-items:center; gap:0.65rem; padding:0.6rem 1.1rem; font-size:0.94rem; color:var(--ink); border-bottom:1px solid var(--line); }
  .lang-list .lang-opt:last-child{ border-bottom:none; }
  .lang-list .lang-opt:hover{ background:var(--paper); }
  .lang-list .lang-opt.is-current{ background:var(--paper); font-weight:700; color:var(--brass-strong); }
  .lang-list .lang-opt .flag{ font-size:1.05rem; flex:none; }
  .lang-list .lang-opt img.flag{ width:20px; height:15px; object-fit:cover; border-radius:2px; box-shadow:0 0 0 1px rgba(0,0,0,.12); display:block; flex:none; }
  .lang-list .lang-opt[hidden]{ display:none !important; }
  .mp-lang{ margin-top:1.25rem; padding-top:1.1rem; border-top:1px solid var(--line); }
  .mp-lang-label{ font-family:"Plus Jakarta Sans",sans-serif; font-weight:700; font-size:0.8rem; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; margin-bottom:0.75rem; display:block; }
  .mp-lang .lang-search-wrap{ border:1px solid var(--line); border-radius:8px; }
  .mp-lang .lang-list{ max-height:260px; border:1px solid var(--line); border-top:none; border-radius:0 0 8px 8px; }

  /* Hide Google's default translate banner/toolbar; keep only our custom switcher */
  #google_translate_element{ display:none !important; }
  .goog-te-banner-frame, .skiptranslate iframe.goog-te-banner-frame{ display:none !important; visibility:hidden !important; height:0 !important; }
  body{ top:0 !important; position:static !important; }
  .goog-tooltip, .goog-tooltip:hover{ display:none !important; }
  .goog-text-highlight{ background:none !important; box-shadow:none !important; }



/* =========================================================
   Home page specific styles
   ========================================================= */

.hero-photo{ position:relative; max-width:420px; margin-inline:auto; aspect-ratio:1/1; }
  .hero-photo::before{ content:""; position:absolute; left:-18px; bottom:-18px; width:60%; height:60%; border-radius:16px; background:var(--brass); opacity:0.14; z-index:0; }
  .hero-photo img{ position:relative; z-index:1; width:100%; height:100%; object-fit:cover; object-position:center; border-radius:46% 18px 18px 18px; box-shadow:var(--shadow); display:block; }
  .trust-heading{ font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; font-size:1.3rem; color:var(--ink); padding-top:1.4rem; margin:0; }
  .ind-strip{ display:flex; align-items:stretch; justify-content:space-between; gap:0; padding-block:1.4rem; }
  .ind-strip-item{ display:flex; flex-direction:column; align-items:center; gap:0.5rem; text-align:center; flex:1; padding-inline:0.5rem; border-right:1px solid var(--line); }
  .ind-strip-item:last-child{ border-right:none; }
  .ind-strip-item .icon{ width:24px; height:24px; color:var(--ink); }
  .ind-strip-item span{ font-size:0.78rem; font-weight:600; color:var(--ink); line-height:1.3; }
  @media (max-width:900px){
    .ind-strip{ flex-wrap:wrap; justify-content:flex-start; row-gap:1.2rem; }
    .ind-strip-item{ flex:0 0 calc(25% - .1rem); border-right:none; }
  }
  @media (max-width:640px){
    .ind-strip-item{ flex:0 0 calc(50% - .3rem); }
  }
  .about-grid{ display:grid; grid-template-columns: 0.85fr 1.15fr; gap:clamp(2rem,4vw,4.5rem); align-items:center; }
  .about-photo{ position:relative; }
  .about-photo img{ width:100%; height:auto; display:block; border-radius:var(--radius); box-shadow:var(--shadow); aspect-ratio:4/3; object-fit:cover; }
  .about-badge{ position:absolute; right:1.3rem; bottom:-1.3rem; background:var(--brass-strong); color:#fff; padding:1.1rem 1.4rem; border-radius:var(--radius); box-shadow:var(--shadow); max-width:190px; }
  .about-badge-num{ display:block; font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; font-size:2.1rem; line-height:1; }
  .about-badge-label{ display:block; margin-top:.4rem; font-size:.78rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; line-height:1.3; }
  .svc-panel{ background:var(--paper-raised); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); padding:clamp(1.5rem,3vw,2.75rem); }
  .section-head-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; margin-bottom:clamp(2rem,3vw,3rem); }
  .section-head-row .section-head{ margin-bottom:0; max-width:none; }
  #services-h{ font-size:clamp(1.5rem, 0.9rem + 1.7vw, 2.15rem); white-space:nowrap; }
  .section-head-row > .more-link{ display:inline-flex; align-items:center; gap:0.4rem; font-weight:600; color:var(--teal); white-space:nowrap; padding-bottom:.3rem; }
  .section-head-row > .more-link svg{ width:15px; height:15px; transition:transform .15s ease; }
  .section-head-row > .more-link:hover svg{ transform:translateX(3px); }
  .svc-grid{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:1.75rem; }
  .svc-card{ background:var(--paper-raised); border:1px solid var(--line); border-radius:12px; padding:clamp(1.5rem,2vw,2rem); display:flex; flex-direction:column; gap:1.1rem; }
  .svc-card .icon-wrap{ width:56px; height:56px; border-radius:12px; background:var(--brass-strong); display:flex; align-items:center; justify-content:center; }
  .svc-card .icon-wrap .icon{ color:#fff; width:26px; height:26px; }
  .why-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:1.25rem; }
  .why-item{ background:var(--ink-deep-2); border:1px solid var(--line-dark); border-radius:8px; padding:clamp(1.6rem,2vw,2.1rem); display:flex; flex-direction:column; gap:0.9rem; min-width:0; }
  .why-item h3.why-title-tight{ white-space:nowrap; font-size:0.82rem; }
  @media (max-width:1220px){
    .why-item h3.why-title-tight{ white-space:normal; font-size:1.05rem; }
  }
  .why-item .icon{ color:var(--brass-soft); width:24px; height:24px; }
  .why-item h3{ color:var(--on-dark); font-size:1.05rem; }
  .why-item p{ color:var(--on-dark-muted); font-size:0.95rem; }
  .lang-feature-grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(2rem,4vw,3.5rem); align-items:center; }
  .lang-feature-photo img{ width:100%; height:auto; display:block; border-radius:var(--radius); box-shadow:var(--shadow); aspect-ratio:4/3; object-fit:cover; }
  .lang-pill-row{ display:flex; flex-wrap:wrap; gap:0.7rem; margin-top:1.6rem; }
  .lang-pill{ display:inline-flex; align-items:center; gap:0.5rem; border:1.5px solid var(--line); border-radius:999px; padding:0.6rem 1.1rem; font-size:0.92rem; font-weight:600; color:var(--ink); }
  .lang-pill .icon{ width:16px; height:16px; color:var(--brass-strong); flex:none; }
  .lang-pill-more{ background:var(--ink-deep); color:#fff; border-color:var(--ink-deep); }
  .lang-pill-more:hover{ background:var(--brass-strong); border-color:var(--brass-strong); }
  .lang-pill-more .icon{ color:#fff; width:14px; height:14px; }
  @media (max-width:900px){
    .lang-feature-grid{ grid-template-columns:1fr; }
    .lang-feature-photo{ order:-1; max-width:420px; margin-inline:auto; }
  }
  @media (max-width:900px){
    .hero-photo{ order:-1; max-width:340px; margin:0 auto; }
    .section-head-row{ align-items:flex-start; }
    #services-h{ white-space:normal; }
  }

  /* Home page mobile fix: the home-page-only About/Services/Why grid
     widths set above (.about-grid, .svc-grid, .why-grid) are unscoped,
     so they win the cascade over the shared responsive rules and stay
     multi-column on small screens. Restore single-column stacking for
     these three sections on the front page only ("body.home" is the
     class WordPress adds to <body> for whichever page is set as the
     site's front page) -- interior pages that reuse these same class
     names (Services, Our Team, Vision & Mission, Core Values) are
     untouched since they never carry the "home" body class. */
  @media (max-width:900px){
    body.home .about-grid{ grid-template-columns:1fr; gap:2.25rem; }
    body.home .svc-grid{ grid-template-columns:1fr; }
    body.home .why-grid{ grid-template-columns:1fr; }
  }



/* =========================================================
   About page specific styles (hero photo, timeline, gallery slider, values, who-we-serve)
   ========================================================= */

/* ---------- About Hero (image) ---------- */
  .about-hero{ position:relative; overflow:hidden; border-bottom:1px solid var(--line); padding-block:clamp(3.5rem,6vw,5.5rem); }
  .about-hero .hero-bg{ position:absolute; inset:0; background-size:cover; background-position:center; }
  .about-hero .hero-overlay{ position:absolute; inset:0; background:linear-gradient(150deg, rgba(18,20,46,0.94) 0%, rgba(24,27,62,0.87) 48%, rgba(63,122,36,0.60) 100%); }
  .about-hero .wrap{ position:relative; z-index:1; }
  .about-hero .hero-copy{ max-width:640px; text-align:left; }
  .about-hero .eyebrow{ color:var(--brass-soft); }
  .about-hero h1{ color:#fff; margin-top:0.8rem; }
  .about-hero p.lede{ color:rgba(255,255,255,0.9); margin-top:1.3rem; font-size:1.15rem; max-width:58ch; }

  /* ---------- Who We Are (photo + copy) ---------- */
  .who-grid{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:clamp(2rem,4vw,4.5rem); align-items:center; }
  .who-grid img{ width:100%; height:auto; display:block; border-radius:var(--radius); box-shadow:var(--shadow); aspect-ratio:4/3; object-fit:cover; }
  .who-copy p{ color:var(--muted); font-size:1.05rem; }
  .who-copy p + p{ margin-top:1.1rem; }

  /* ---------- Our Journey (timeline) ---------- */
  .journey-layout{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:clamp(2rem,4vw,3.5rem); align-items:stretch; }
  .journey-timeline{ position:relative; padding-left:3.5rem; display:flex; flex-direction:column; gap:1.75rem; }
  .journey-timeline::before{ content:""; position:absolute; left:21px; top:22px; bottom:22px; width:3px; background:var(--brass-strong); }
  .journey-item{ position:relative; }
  .journey-item .marker{ position:absolute; left:-3.5rem; top:0; width:44px; height:44px; border-radius:999px; background:var(--brass-strong); display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 6px var(--paper-raised); z-index:1; }
  .journey-item .marker .icon{ width:20px; height:20px; color:#fff; }
  .journey-card{ background:var(--paper); border-radius:10px; padding:clamp(1.5rem,2.5vw,2rem); }
  .journey-card .year{ display:block; font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; font-size:1.05rem; color:var(--brass-strong); margin-bottom:0.6rem; letter-spacing:0.02em; }
  .journey-card h3{ font-size:1.1rem; margin-bottom:0.5rem; }
  .journey-card p{ color:var(--muted); font-size:0.98rem; line-height:1.6; }
  .journey-photo{ border-radius:12px; overflow:hidden; box-shadow:var(--shadow); min-height:260px; }
  .journey-photo img{ width:100%; height:100%; object-fit:cover; display:block; }

  /* ---------- Quote band ---------- */
  .quote-band{ background:var(--ink-deep); position:relative; overflow:hidden; padding-block:clamp(2rem,3.5vw,3rem); }
  .quote-band::before{ content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,0.09) 1.5px, transparent 1.5px); background-size:20px 20px; }
  .quote-band .wrap{ position:relative; z-index:1; }
  .quote-band p{ max-width:900px; margin-inline:auto; text-align:center; color:#fff; font-size:clamp(1.1rem,0.98rem+0.4vw,1.3rem); font-weight:600; line-height:1.6; }

  /* ---------- Mission & Vision preview ---------- */
  .mv-grid{ display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; }
  .mv-card{ background:var(--paper-raised); border:1px solid var(--line); border-radius:12px; padding:clamp(1.75rem,3vw,2.5rem); display:flex; flex-direction:column; gap:1.1rem; }
  .mv-card .icon-wrap{ width:52px; height:52px; border-radius:8px; background:var(--brass-strong); display:flex; align-items:center; justify-content:center; }
  .mv-card .icon-wrap .icon{ color:#fff; width:26px; height:26px; }
  .mv-card p.desc{ color:var(--muted); font-size:1.02rem; line-height:1.6; }

  /* ---------- Picture slider ---------- */
  .gallery-slider{ position:relative; }
  .gallery-track{ display:flex; gap:1.25rem; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding:0.25rem 0.25rem 0.5rem; margin:0 -0.25rem; }
  .gallery-track::-webkit-scrollbar{ display:none; height:0; }
  .gallery-slide{ flex:0 0 calc(25% - 0.9375rem); min-width:0; scroll-snap-align:start; }
  .gallery-slide img{ width:100%; height:230px; object-fit:cover; border-radius:var(--radius); box-shadow:var(--shadow); display:block; }
  .gallery-arrow{ position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:999px; background:var(--paper-raised); border:1px solid var(--line); box-shadow:var(--shadow); display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--ink); z-index:2; padding:0; }
  .gallery-arrow:hover{ background:var(--brass-strong); border-color:var(--brass-strong); color:#fff; }
  .gallery-arrow .icon{ width:20px; height:20px; }
  .gallery-arrow.prev{ left:0.75rem; }
  .gallery-arrow.prev .icon{ transform:rotate(90deg); }
  .gallery-arrow.next{ right:0.75rem; }
  .gallery-arrow.next .icon{ transform:rotate(-90deg); }
  .gallery-dots{ display:flex; justify-content:center; gap:0.5rem; margin-top:1.25rem; }
  .gallery-dot{ width:9px; height:9px; border-radius:999px; background:var(--line); border:none; cursor:pointer; padding:0; transition:background .2s, transform .2s; }
  .gallery-dot[aria-current="true"]{ background:var(--brass-strong); transform:scale(1.25); }

  /* ---------- Core values preview ---------- */
  .values-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:1.75rem; }
  .value-card{ background:var(--paper-raised); border:1px solid var(--line); border-radius:12px; padding:clamp(1.75rem,3vw,2.25rem); box-shadow:var(--shadow); }
  .value-card .icon-wrap{ width:52px; height:52px; border-radius:10px; background:var(--brass-strong); display:flex; align-items:center; justify-content:center; margin-bottom:1.1rem; }
  .value-card .icon-wrap .icon{ color:#fff; width:26px; height:26px; }
  .value-card h3{ margin-bottom:0.6rem; }
  .value-card p{ color:var(--muted); font-size:1rem; line-height:1.6; }

  @media (max-width:900px){
    .values-grid{ grid-template-columns:1fr; }
  }

  @media (max-width:900px){
    .gallery-slide{ flex:0 0 calc(50% - 0.625rem); }
  }
  @media (max-width:560px){
    .gallery-slide{ flex:0 0 82%; }
    .gallery-slide img{ height:200px; }
    .gallery-arrow{ width:38px; height:38px; }
  }

  /* ---------- Values preview footer link ---------- */
  .values-more{ margin-top:clamp(2rem,3vw,2.75rem); text-align:center; }

  /* ---------- Image band ---------- */
  .img-band{ display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
  .img-band img{ width:100%; height:320px; object-fit:cover; border-radius:var(--radius); box-shadow:var(--shadow); display:block; }

  @media (max-width:900px){
    .who-grid{ grid-template-columns:1fr; }
    .who-grid img{ order:-1; max-width:420px; margin-inline:auto; }
    .journey-layout{ grid-template-columns:1fr; gap:2rem; }
    .journey-photo{ order:-1; min-height:220px; }
    .mv-grid{ grid-template-columns:1fr; }
    .img-band{ grid-template-columns:1fr; }
    .img-band img{ height:260px; }
  }

  /* ---------- Who We Serve ---------- */
  .serve-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,4vw,4.5rem); align-items:start; }
  .serve-copy h2{ margin-bottom:1.1rem; }
  .serve-copy p{ color:var(--muted); font-size:1.05rem; line-height:1.7; margin-bottom:1.75rem; }
  .serve-list-wrap h3{ font-size:1.35rem; margin-bottom:1.5rem; }
  .serve-photo{ border-radius:12px; overflow:hidden; box-shadow:var(--shadow); margin-top:1.75rem; }
  .serve-photo img{ width:100%; height:220px; object-fit:cover; display:block; }
  .serve-list{ display:flex; flex-direction:column; gap:1.1rem; }
  .serve-list li{ display:flex; align-items:flex-start; gap:0.75rem; }
  .serve-list .icon{ width:20px; height:20px; color:var(--brass-strong); flex-shrink:0; margin-top:0.15rem; }
  .serve-list span{ color:var(--ink); font-size:1.02rem; line-height:1.5; }

  @media (max-width:560px){
    .serve-grid{ grid-template-columns:1fr; }
  }



/* =========================================================
   Service page sidebar layout and content blocks
   ========================================================= */

/* ---------- Service page: sidebar layout ---------- */
  .svc-layout{ display:grid; grid-template-columns:300px 1fr; gap:clamp(1.75rem,3vw,3rem); align-items:start; }
  .svc-sidebar{ position:sticky; top:100px; }
  .svc-sidebar-card{ background:var(--paper-raised); border:1px solid var(--line); border-radius:12px; padding:1.6rem 1.5rem; box-shadow:var(--shadow); }
  .svc-sidebar-card h3{ font-size:1.2rem; margin-bottom:0.9rem; }
  .svc-group{ border-top:1px solid var(--line); }
  .svc-group:first-of-type{ border-top:none; }
  .svc-group summary{ display:flex; align-items:center; justify-content:space-between; gap:0.5rem; padding:0.95rem 0; font-family:"Plus Jakarta Sans",sans-serif; font-weight:700; font-size:0.98rem; cursor:pointer; list-style:none; color:var(--ink); }
  .svc-group summary::-webkit-details-marker{ display:none; }
  .svc-group summary .chev{ width:12px; height:12px; flex:none; transition:transform .15s ease; color:var(--muted); }
  .svc-group[open] summary .chev{ transform:rotate(180deg); }
  .svc-group-links{ display:flex; flex-direction:column; padding-bottom:0.85rem; }
  .svc-link{ display:flex; align-items:center; gap:0.7rem; padding:0.55rem 0.4rem; font-size:0.94rem; color:var(--muted); border-radius:6px; line-height:1.35; }
  .svc-link:hover{ color:var(--ink); background:var(--paper); }
  .svc-link.active{ color:var(--brass-strong); font-weight:700; }
  .svc-radio{ width:15px; height:15px; border-radius:50%; border:2px solid var(--line); flex:none; position:relative; }
  .svc-link.active .svc-radio{ border-color:var(--brass-strong); }
  .svc-link.active .svc-radio::after{ content:""; position:absolute; inset:2.5px; border-radius:50%; background:var(--brass-strong); }
  .svc-main h1{ font-size:clamp(2rem,1.4rem+2.4vw,2.6rem); }
  .svc-intro{ margin-top:1.1rem; color:var(--muted); font-size:1.1rem; max-width:70ch; line-height:1.6; }
  .svc-photo{ margin-top:2rem; border-radius:12px; overflow:hidden; box-shadow:var(--shadow); }
  .svc-photo img{ width:100%; display:block; aspect-ratio:3/2; object-fit:cover; object-position:center top; }
  .svc-block{ margin-top:clamp(2.5rem,4vw,3.5rem); }
  .svc-block > .eyebrow{ display:block; }
  .svc-block h2{ margin-top:0.5rem; font-size:clamp(1.5rem,1.1rem+1.4vw,1.9rem); }
  .svc-block > p{ margin-top:0.85rem; color:var(--muted); font-size:1.02rem; }
  .svc-block.dark{ background:var(--ink-deep); color:var(--on-dark); border-radius:12px; padding:clamp(1.75rem,3vw,2.5rem); }
  .svc-block.dark .eyebrow{ color:var(--brass-soft); }
  .svc-block.dark h2{ color:var(--on-dark); }
  .svc-block.dark > p{ color:var(--on-dark-muted); }
  @media (max-width:900px){ .svc-layout{ grid-template-columns:1fr; } .svc-sidebar{ position:static; } }

  /* ---------- Check list (service item lists) ---------- */
  .check-list{ display:grid; grid-template-columns:1fr 1fr; gap:0.25rem 2rem; margin-top:1.5rem; }
  .check-item{ display:flex; align-items:flex-start; gap:0.7rem; padding:0.8rem 0; border-bottom:1px solid var(--line); }
  .check-item .icon{ width:18px; height:18px; stroke-width:2.2; color:var(--brass-strong); flex:none; margin-top:0.2rem; }
  .check-item span{ font-size:1rem; color:var(--ink); }
  .svc-block.dark .check-item{ border-color:var(--line-dark); }
  .svc-block.dark .check-item span{ color:var(--on-dark); }
  .svc-block.dark .check-item .icon{ color:var(--brass-soft); }
  @media (max-width:640px){ .check-list{ grid-template-columns:1fr; } }



/* =========================================================
   Request a Quote form styles
   ========================================================= */

.field input, .field textarea{ font-family:"Inter",sans-serif; font-size:1.05rem; padding:0.85rem 1rem; border:1.5px solid var(--line); border-radius:6px; background:var(--paper); color:var(--ink); resize:vertical; width:100%; min-width:0; max-width:100%; }

  /* ---------- Request a Quote: hero ---------- */
  .qr-hero{ position:relative; background:linear-gradient(120deg, var(--ink-deep) 0%, var(--brass-strong) 140%); overflow:hidden; padding:clamp(3rem,6vw,5.5rem) 0; }
  .qr-hero::before{ content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,0.18) 1px, transparent 1px); background-size:18px 18px; opacity:0.6; pointer-events:none; }
  .qr-hero .wrap{ position:relative; z-index:1; }
  .qr-hero .eyebrow{ color:var(--brass-soft); }
  .qr-hero h1{ color:var(--on-dark); max-width:26ch; margin-top:0.6rem; }
  .qr-hero .lede{ color:var(--on-dark-muted); max-width:62ch; margin-top:1.1rem; }

  /* ---------- Request a Quote: form ---------- */
  .qr-form-card{ background:var(--paper-raised); border:1px solid var(--line); border-radius:10px; padding:clamp(1.75rem,3vw,2.75rem); max-width:900px; margin-inline:auto; }
  .qr-form-card > h3{ font-size:1.5rem; font-weight:700; margin-bottom:2rem; }
  .qr-section-title{ font-size:1.15rem; font-weight:700; font-family:"Plus Jakarta Sans",sans-serif; margin-bottom:1.4rem; }
  .qr-section + .qr-section{ margin-top:2.5rem; padding-top:2.5rem; border-top:1px solid var(--line); }
  .qr-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.5rem 1.75rem; }
  .qr-grid .field-full{ grid-column:1 / -1; }
  @media (max-width:700px){ .qr-grid{ grid-template-columns:minmax(0,1fr); } }
  .field{ min-width:0; }
  .field .req{ color:#C0392B; margin-left:0.15rem; }
  .field select{ font-family:"Inter",sans-serif; font-size:1.05rem; padding:0.85rem 1rem; border:1.5px solid var(--line); border-radius:6px; background:var(--paper); color:var(--ink); width:100%; min-width:0; max-width:100%; }
  .field select:focus{ outline:none; border-color:var(--brass-strong); }

  /* ---------- Request a Quote: phone field ---------- */
  .phone-field{ display:flex; align-items:stretch; border:1.5px solid var(--line); border-radius:6px; background:var(--paper); }
  .phone-field:focus-within{ border-color:var(--brass-strong); }
  .phone-cc{ position:relative; flex:none; }
  .phone-cc summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:0.4rem; padding:0.85rem 0.75rem; border-right:1.5px solid var(--line); height:100%; }
  .phone-cc summary::-webkit-details-marker{ display:none; }
  .phone-cc summary img{ display:block; }
  .phone-cc summary .chev{ width:11px; height:11px; color:var(--muted); }
  .phone-cc summary .dial-label{ font-size:0.95rem; color:var(--ink); }
  .phone-cc .cc-panel{ position:absolute; top:calc(100% + 8px); left:0; width:270px; max-height:300px; overflow-y:auto; background:var(--paper-raised); border:1px solid var(--line); border-radius:8px; box-shadow:var(--shadow); z-index:20; padding:0.35rem 0; }
  .phone-cc .cc-opt{ display:flex !important; align-items:center; gap:0.65rem; padding:0.55rem 0.9rem; font-size:0.92rem; color:var(--ink); }
  .phone-cc .cc-opt:hover{ background:var(--paper); }
  .phone-cc .cc-opt .dial{ color:var(--muted); margin-left:auto; font-size:0.85rem; }
  .phone-field input[type="tel"]{ border:none; flex:1; padding:0.85rem 1rem; font-family:"Inter",sans-serif; font-size:1.05rem; background:transparent; color:var(--ink); min-width:0; }
  .phone-field input[type="tel"]:focus{ outline:none; }

  /* ---------- Request a Quote: file upload + captcha ---------- */
  .field input[type="file"]{ font-family:"Inter",sans-serif; font-size:0.92rem; color:var(--muted); padding:0.3rem 0; }
  .field input[type="file"]::file-selector-button{ font-family:"Plus Jakarta Sans",sans-serif; font-weight:600; font-size:0.9rem; padding:0.65rem 1.1rem; border:1.5px solid var(--line); border-radius:6px; background:var(--paper); color:var(--ink); cursor:pointer; margin-right:0.9rem; }
  .field input[type="file"]::file-selector-button:hover{ background:var(--paper-raised); border-color:var(--brass-strong); }
  .qr-recaptcha-wrap{ margin-top:0.25rem; }



/* =========================================================
   Languages page styles
   ========================================================= */

/* ---------- Languages: hero ---------- */
  .lang-hero{ position:relative; background:linear-gradient(120deg, var(--ink-deep) 0%, var(--brass-strong) 140%); overflow:hidden; padding:clamp(3rem,6vw,5.5rem) 0; }
  .lang-hero::before{ content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,0.18) 1px, transparent 1px); background-size:18px 18px; opacity:0.6; pointer-events:none; }
  .lang-hero .wrap{ position:relative; z-index:1; }
  .lang-hero .eyebrow{ color:var(--brass-soft); }
  .lang-hero h1{ color:var(--on-dark); max-width:20ch; margin-top:0.6rem; }
  .lang-hero .lede{ color:var(--on-dark-muted); max-width:62ch; margin-top:1.1rem; }

  /* ---------- Languages: dialect/region cards ---------- */
  .dialect-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
  .dialect-card{ border:1px solid var(--line); border-radius:14px; padding:clamp(1.5rem,3vw,2.1rem); background:var(--paper-raised); }
  .dialect-card .icon-badge{ width:46px; height:46px; border-radius:10px; background:var(--brass-strong); display:flex; align-items:center; justify-content:center; margin-bottom:1.1rem; }
  .dialect-card .icon-badge svg{ width:23px; height:23px; color:var(--on-brass); stroke-width:2; }
  .dialect-card h3{ font-size:1.3rem; }
  .dialect-card > p{ color:var(--muted); margin-top:0.4rem; }
  .lang-tags{ display:flex; flex-wrap:wrap; gap:0.6rem; margin-top:1.4rem; }
  .lang-tag{ display:inline-flex; align-items:center; gap:0.45rem; border:1px solid var(--line); border-radius:999px; padding:0.5rem 0.95rem; font-size:0.92rem; color:var(--ink); background:var(--paper); }
  .lang-tag svg{ width:14px; height:14px; color:var(--brass-strong); flex:none; stroke-width:2.3; }
  @media (max-width:800px){ .dialect-grid{ grid-template-columns:1fr; } }

  /* ---------- Languages: popular pairs ---------- */
  .pair-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2.25rem; }
  .pair-card{ border:1px solid var(--line); border-radius:10px; padding:1.15rem 1.4rem; background:var(--paper-raised); font-weight:700; font-family:"Plus Jakarta Sans",sans-serif; }
  @media (max-width:900px){ .pair-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:600px){ .pair-grid{ grid-template-columns:1fr; } }



/* =========================================================
   Why Choose Us process steps
   ========================================================= */

/* ---------- Process steps (Why Choose Us) ---------- */
  .process-list{ border-top:1px solid var(--line); }
  .process-step{ display:grid; grid-template-columns:64px 1fr; gap:1.5rem; padding-block:1.75rem; border-bottom:1px solid var(--line); align-items:start; }
  .process-step .num{ font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; font-size:1.6rem; color:var(--brass-strong); line-height:1; }
  .process-step h3{ font-size:1.1rem; margin-bottom:0.45rem; }
  .process-step p{ color:var(--muted); font-size:1rem; line-height:1.6; }
  @media (max-width:560px){ .process-step{ grid-template-columns:36px 1fr; gap:1rem; } .process-step .num{ font-size:1.25rem; } }


/* =========================================================
   Form submission notices (Contact / Request a Quote)
   Added for the WordPress conversion's native form handling;
   styled to match the existing card / color-token system.
   ========================================================= */
.form-notice{ border-radius:10px; padding:0.95rem 1.2rem; margin-bottom:1.5rem; font-size:0.96rem; font-weight:600; }
.form-notice-success{ background:rgba(110,199,60,0.14); border:1px solid var(--brass-strong); color:var(--brass-strong); }
.form-notice-error{ background:rgba(220,53,69,0.1); border:1px solid #dc3545; color:#dc3545; }
:root[data-theme="dark"] .form-notice-success{ color:var(--brass-soft); border-color:var(--brass-soft); }
:root:not([data-theme="light"]) .form-notice-error{ background:rgba(220,53,69,0.16); }

/* =========================================================
   Blog: archive grid, post cards, pagination, single post
   Added for the WordPress conversion's real WP_Query blog loop
   (the original design only shipped a "coming soon" placeholder
   for this page). Built from the same tokens, radii and shadows
   used everywhere else in the theme.
   ========================================================= */
.blog-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:1.75rem; }
@media (max-width:900px){ .blog-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .blog-grid{ grid-template-columns:1fr; } }

.post-card{ display:flex; flex-direction:column; background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.post-card-media{ display:block; aspect-ratio:16/10; overflow:hidden; background:var(--paper); }
.post-card-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.post-card-body{ padding:1.4rem 1.5rem 1.6rem; display:flex; flex-direction:column; gap:0.6rem; flex:1; }
.post-meta{ font-size:0.82rem; font-weight:600; color:var(--brass-strong); text-transform:uppercase; letter-spacing:.03em; }
.post-card-body h2{ font-size:1.2rem; line-height:1.35; margin:0; }
.post-card-body h2 a{ color:var(--ink); text-decoration:none; }
.post-card-body h2 a:hover{ color:var(--brass-strong); }
.post-card-excerpt{ color:var(--muted); font-size:0.96rem; line-height:1.6; flex:1; }
.post-card-foot{ margin-top:.4rem; }

.danjire-pagination{ display:flex; justify-content:center; gap:0.5rem; margin-top:clamp(2.5rem,4vw,3.5rem); flex-wrap:wrap; }
.danjire-pagination a, .danjire-pagination span{ display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 0.7rem; border-radius:8px; border:1px solid var(--line); color:var(--ink); text-decoration:none; font-weight:600; font-size:0.92rem; }
.danjire-pagination a:hover{ background:var(--brass-strong); border-color:var(--brass-strong); color:#fff; }
.danjire-pagination .current{ background:var(--ink); border-color:var(--ink); color:#fff; }

.single-post-hero{ padding-block:clamp(2.5rem,5vw,4rem); border-bottom:1px solid var(--line); }
.single-post-hero .wrap{ max-width:820px; }
.single-post-media{ margin-top:1.75rem; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.single-post-media img{ width:100%; height:auto; display:block; }
.entry-content{ max-width:760px; margin-inline:auto; color:var(--ink); font-size:1.05rem; line-height:1.75; }
.entry-content p{ margin-bottom:1.3rem; }
.entry-content h2{ margin-top:2.2rem; margin-bottom:1rem; }
.entry-content h3{ margin-top:1.8rem; margin-bottom:0.8rem; }
.entry-content img{ border-radius:var(--radius); box-shadow:var(--shadow); margin-block:1.5rem; }
.entry-content ul, .entry-content ol{ margin:0 0 1.3rem 1.4rem; color:var(--muted); }
.entry-content a{ color:var(--brass-strong); }
.single-post-back{ max-width:760px; margin:2.5rem auto 0; }
.single-post-categories a{ color:var(--brass-strong); text-decoration:none; }
.single-post-categories a:hover{ text-decoration:underline; }
