@font-face{font-family:'IntegraSerif';font-style:normal;font-weight:400 600;font-display:swap;
    src:url(/assets/fonts/font-286e05e5e444.woff2) format('woff2');}
  @font-face{font-family:'IntegraSerif';font-style:italic;font-weight:400 600;font-display:swap;
    src:url(/assets/fonts/font-ad17ab41cc01.woff2) format('woff2');}
  @font-face{font-family:'HankenGrotesk';font-style:normal;font-weight:400 700;font-display:swap;
    src:url(/assets/fonts/font-1f21c6eaa000.woff2) format('woff2');}

  :root{
    --paper:#F6F3EC; --paper-2:#FCFAF6; --paper-3:#EFEBE1;
    --ink:#112238; --ink-2:#0D1B2E; --ink-soft:#1C3149;
    --text:#152840; --muted:#586377; --text-2:#334156;
    --accent:#B0883A; --accent-2:#C8A257;
    --line:#E4DFD3; --line-2:#ECE8DE;
    --wa:#1FA855;
    --serif:'IntegraSerif',Georgia,'Times New Roman',serif;
    --sans:'HankenGrotesk',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
    --maxw:1180px;
    --sh:0 2px 6px rgba(17,31,49,.07),0 20px 44px -30px rgba(17,31,49,.42);
  }
  @media (prefers-color-scheme:dark){
    :root{--paper:#0C1826;--paper-2:#122232;--paper-3:#16273A;--ink:#081320;--ink-2:#0C1826;--ink-soft:#16273A;
      --text:#ECE4CF;--muted:#95A2B2;--text-2:#C2CBD6;--accent:#C6A050;--accent-2:#DBBB72;--line:#22344A;--line-2:#1A2C40;
      --sh:0 2px 6px rgba(0,0,0,.45),0 24px 50px -30px rgba(0,0,0,.8);}
  }
  :root[data-theme="light"]{--paper:#F6F3EC;--paper-2:#FCFAF6;--paper-3:#EFEBE1;--ink:#112238;--ink-2:#0D1B2E;--ink-soft:#1C3149;
    --text:#152840;--muted:#586377;--text-2:#334156;--accent:#B0883A;--accent-2:#C8A257;--line:#E4DFD3;--line-2:#ECE8DE;
    --sh:0 2px 6px rgba(17,34,56,.07),0 20px 44px -30px rgba(17,34,56,.42);}
  :root[data-theme="dark"]{--paper:#0C1826;--paper-2:#122232;--paper-3:#16273A;--ink:#081320;--ink-2:#0C1826;--ink-soft:#16273A;
    --text:#ECE4CF;--muted:#95A2B2;--text-2:#C2CBD6;--accent:#C6A050;--accent-2:#DBBB72;--line:#22344A;--line-2:#1A2C40;
    --sh:0 2px 6px rgba(0,0,0,.45),0 24px 50px -30px rgba(0,0,0,.8);}

  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0}
  .site{background:var(--paper);color:var(--text);font-family:var(--sans);font-size:16.5px;line-height:1.62;
    font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
  a{color:inherit;text-decoration:none;transition:color .18s ease}
  [id]{scroll-margin-top:88px}
  :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}
  ::selection{background:color-mix(in srgb,var(--accent) 26%,transparent)}
  .btn:active{transform:translateY(0)}
  details.f summary{transition:color .18s}
  details.f summary:hover{color:var(--accent)}
  footer.ft a{transition:color .18s,padding-left .2s cubic-bezier(.2,.7,.2,1)}
  footer.ft a:hover{padding-left:6px}
  a.cm{transition:transform .2s cubic-bezier(.2,.7,.2,1)}
  a.cm:hover{transform:translateX(3px)}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}footer.ft a:hover{padding-left:0}a.cm:hover{transform:none}}
  img{max-width:100%;display:block}
  h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.1;margin:0;text-wrap:balance;
    letter-spacing:-.012em;font-variation-settings:'opsz' 110}
  p{margin:0}
  .eyebrow{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
    color:var(--accent);display:inline-flex;align-items:center;gap:.7em}
  .eyebrow::before{content:"";width:20px;height:1.5px;background:var(--accent)}
  .muted{color:var(--muted)}

  .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 21px;border-radius:3px;
    font-family:var(--sans);font-weight:600;font-size:15px;cursor:pointer;border:1px solid transparent;
    transition:transform .2s cubic-bezier(.2,.7,.2,1),background .2s,color .2s,border-color .2s}
  .btn svg{width:18px;height:18px;flex:0 0 auto}
  .btn-wa{background:var(--wa);color:#fff;border-color:var(--wa)}
  .btn-wa:hover{transform:translateY(-2px);filter:brightness(1.04)}
  .btn-ghost{background:transparent;color:var(--text);border-color:var(--line)}
  .btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
  .btn-lg{padding:15px 24px;font-size:15.5px}

  .photo{position:relative;overflow:hidden;background:var(--ink)}
  .photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.74) contrast(1.04) brightness(1.02);
    transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
  .photo::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(180deg,rgba(17,31,49,.16),rgba(17,31,49,.02) 45%,rgba(17,31,49,.14)),
               radial-gradient(120% 100% at 100% 0%,rgba(169,130,47,.12),transparent 55%);mix-blend-mode:multiply}
  .photo.hoverzoom:hover img{transform:scale(1.03)}

  /* top bar */
  .topbar{background:var(--ink);color:#E9E1D2;font-size:13px}
  .topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 32px;flex-wrap:wrap}
  .topbar a{display:inline-flex;align-items:center;gap:7px;color:#E9E1D2;opacity:.9}
  .topbar a:hover{color:var(--accent-2);opacity:1}
  .topbar .tb-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
  .topbar .sep{opacity:.25}
  .langtog{background:transparent;border:1px solid rgba(198,160,80,.45);color:var(--accent-2);border-radius:3px;
    padding:3px 10px;font:600 12px/1 var(--sans);letter-spacing:.1em;cursor:pointer}
  .langtog:hover{background:rgba(198,160,80,.14)}

  /* nav */
  header.nav{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--paper) 90%,transparent);
    backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .nav .wrap{display:flex;align-items:center;justify-content:space-between;height:70px;gap:24px}
  .brand{display:flex;align-items:center;gap:12px}
  .brand .mark{width:42px;height:42px;flex:0 0 auto;border-radius:50%;object-fit:cover;
    box-shadow:0 0 0 1px var(--line),0 2px 6px rgba(17,31,49,.18)}
  .brand .bt{display:flex;flex-direction:column;line-height:1}
  .brand .bt b{font-family:var(--serif);font-weight:560;font-size:20px;letter-spacing:-.01em;color:var(--text)}
  .brand .bt span{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:3px}
  .navlinks{display:flex;gap:26px;font-size:14px;font-weight:500}
  .navlinks a{color:var(--muted);position:relative;padding:4px 0;transition:color .18s}
  .navlinks a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--accent);transition:width .22s}
  .navlinks a:hover{color:var(--text)}.navlinks a:hover::after{width:100%}
  .nav .cta{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--paper-2);
    padding:10px 16px;border-radius:3px;font-size:14px;font-weight:600;transition:transform .18s}
  .nav .cta:hover{transform:translateY(-1px)}
  .nav-right{display:flex;align-items:center;gap:12px}
  .langbtn{cursor:pointer;border:0;font-family:var(--sans)}
  .langbtn .flag{font-size:16px;line-height:1}
  /* language dropdown */
  .langsw{position:relative}
  .langsw-btn{display:inline-flex;align-items:center;gap:7px;background:var(--ink);color:#F3ECDC;
    padding:9px 12px;border:1px solid var(--line);border-radius:8px;font:600 13.5px var(--sans);cursor:pointer;transition:background .18s}
  .langsw-btn:hover{background:var(--ink-soft)}
  .langsw-btn .flag{font-size:15px;line-height:1}
  .langsw-btn .lc{letter-spacing:.04em}
  .langsw-btn .chev{width:14px;height:14px;opacity:.75;transition:transform .22s}
  .langsw.open .langsw-btn .chev{transform:rotate(180deg)}
  .langsw-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:184px;background:var(--paper-2);
    border:1px solid var(--line);border-radius:11px;box-shadow:0 18px 36px rgba(0,0,0,.28);padding:6px;display:none;z-index:90}
  .langsw.open .langsw-menu{display:block;animation:langpop .16s ease}
  @keyframes langpop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
  .langsw-menu a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:7px;
    color:var(--text);font-size:15.5px;font-weight:500}
  .langsw-menu a .flag{font-size:20px;line-height:1}
  .langsw-menu a:hover{background:var(--paper-3);padding-left:12px}
  .langsw-menu a.on{color:var(--accent);font-weight:600}
  .navtoggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 auto;
    border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--ink);cursor:pointer}
  .navtoggle:hover{background:var(--paper-3);border-color:var(--accent-2)}
  .navtoggle svg{width:23px;height:23px}
  @media(max-width:940px){
    .navtoggle{display:inline-flex}
    .navlinks{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;
      background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
      box-shadow:0 18px 30px rgba(17,31,49,.14);padding:6px 0}
    header.nav.open .navlinks{display:flex}
    .navlinks a{padding:13px 32px;font-size:15.5px;color:var(--text)}
    .navlinks a::after{display:none}
    .navlinks a:hover{background:var(--paper-3)}
  }
  @media(max-width:420px){.langbtn .lbl{display:none}}

  /* hero */
  .hero{padding:0}
  .hero .wrap{display:grid;grid-template-columns:1fr 1.04fr;gap:48px;align-items:center;padding:40px 32px 48px}
  .hero h1{font-size:clamp(27px,3.5vw,43px);font-weight:540;line-height:1.12;margin:16px 0 0;max-width:20ch}
  .hero h1 em{font-style:italic;color:var(--accent);font-weight:480;padding-right:.08em}
  .hero .lede{font-size:clamp(16px,1.35vw,17.5px);color:var(--muted);margin-top:22px;max-width:52ch;line-height:1.62}
  .hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
  .hero-trust{margin-top:26px;font-size:13.5px;color:var(--muted);line-height:1.7;max-width:46ch}
  .hero-trust b{color:var(--text);font-weight:600}
  .hero-figure{position:relative}
  .hero-figure .frame{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;
    box-shadow:0 22px 48px -32px rgba(17,34,56,.5)}
  .hero-figure .cap{position:absolute;left:14px;bottom:14px;z-index:4;
    background:color-mix(in srgb,var(--ink) 80%,transparent);backdrop-filter:blur(3px);color:#EBE3D3;
    font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;padding:6px 11px;border-radius:4px}
  @media(max-width:880px){.hero .wrap{grid-template-columns:1fr;gap:30px;padding:34px 24px 44px}
    .hero-figure{order:-1}}

  /* cinematic full-bleed hero */
  .hero-cine{position:relative;display:flex;align-items:center;min-height:min(78vh,560px);
    background:var(--ink);color:#F5EFE2;overflow:hidden;isolation:isolate}
  .hero-cine .bg{position:absolute;inset:0;z-index:0}
  .hero-cine .bg{will-change:transform}
  .hero-cine .bg img{width:100%;height:100%;object-fit:cover;object-position:center 32%;
    filter:blur(3px) brightness(.84) saturate(1.02) contrast(1.02);transform:scale(1.22)}
  .hero-cine .inner{will-change:transform,opacity}
  .hero-cine .bg::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(96deg,rgba(9,19,32,.9) 0%,rgba(9,19,32,.7) 34%,rgba(9,19,32,.34) 70%,rgba(9,19,32,.2) 100%),
      linear-gradient(180deg,rgba(9,19,32,.28),rgba(9,19,32,.05) 30%,rgba(9,19,32,.45))}
  .hero-cine .wrap{position:relative;z-index:2;padding:36px 32px}
  .hero-cine .inner{max-width:660px}
  .hero-cine .eyebrow{color:var(--accent-2);font-size:14.5px;font-weight:700;letter-spacing:.2em;
    gap:12px;text-shadow:0 1px 10px rgba(9,19,32,.55)}
  .hero-cine .eyebrow::before{background:var(--accent-2);width:30px;height:2px}
  .hero-cine h1{color:#F8F3E7;font-size:clamp(33px,4.4vw,54px);font-weight:560;line-height:1.06;margin:12px 0 0;letter-spacing:-.012em}
  .hero-cine h1 em{font-style:italic;color:var(--accent-2);font-weight:560}
  .hero-cine .lede{color:rgba(245,239,226,.82);font-size:clamp(15px,1.3vw,17px);margin-top:14px;max-width:52ch;line-height:1.55}
  .hero-cine .hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
  .hero-cine .btn-ghost{color:#F5EFE2;border-color:rgba(232,222,202,.42)}
  .hero-cine .btn-ghost:hover{border-color:var(--accent-2);color:var(--accent-2);background:rgba(200,162,87,.1)}
  .hero-cine .hero-trust{color:rgba(245,239,226,.72);margin-top:14px;max-width:none}
  .hero-cine .hero-trust b{color:#F8F3E7}
  @media(max-width:640px){.hero-cine .wrap{padding:76px 24px}.hero-cine{min-height:auto}}

  /* credentials */
  .creds{border-bottom:1px solid var(--line);background:var(--paper-3)}
  .creds .wrap{display:grid;grid-template-columns:repeat(4,1fr);align-items:start;padding:30px 32px}
  .creds .c{padding:0 28px;border-right:1px solid var(--line-2);display:flex;flex-direction:column;gap:9px}
  .creds .c:first-child{padding-left:0}
  .creds .c:last-child{border-right:0;padding-right:0}
  .creds .c b{font-family:var(--serif);font-size:clamp(22px,2.3vw,29px);font-weight:520;color:var(--text);line-height:1.02;
    font-variation-settings:'opsz' 120;font-variant-numeric:tabular-nums;letter-spacing:-.012em}
  .creds .c span{font-size:12.5px;color:var(--text-2);line-height:1.4;max-width:22ch}
  @media(max-width:720px){.creds .wrap{grid-template-columns:1fr 1fr;gap:20px 0;padding:22px 32px}
    .creds .c{padding:0 20px}.creds .c:nth-child(odd){padding-left:0}.creds .c:nth-child(2){border-right:0}}

  section{padding:78px 0}
  .lead-grid{display:grid;grid-template-columns:320px 1fr;gap:52px;align-items:start}
  .lead h2{font-size:clamp(26px,3vw,37px);font-weight:520;margin:14px 0 0}
  .lead p{margin-top:16px;color:var(--muted);font-size:16px}
  .lead .sticky{position:sticky;top:96px}
  @media(max-width:860px){.lead-grid{grid-template-columns:1fr;gap:30px}.lead .sticky{position:static}}
  .sec-title{font-size:clamp(25px,3vw,36px);font-weight:520}

  /* services (image cards) */
  .svc-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
  .svc-card{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;overflow:hidden;
    display:flex;flex-direction:column;color:var(--text);
    transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,border-color .28s}
  .svc-card:hover{transform:translateY(-5px);box-shadow:var(--sh);border-color:var(--accent-2)}
  .svc-card .cimg{aspect-ratio:16/9;overflow:hidden;position:relative;background:var(--ink)}
  .svc-card .cimg img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.04);
    transition:transform .6s cubic-bezier(.2,.7,.2,1)}
  .svc-card:hover .cimg img{transform:scale(1.06)}
  .svc-card .cimg::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(180deg,rgba(17,34,56,.04),rgba(17,34,56,.28));mix-blend-mode:multiply}
  .svc-card .cbody{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
  .svc-card h3{font-size:20px;font-weight:520}
  .svc-card p{color:var(--muted);font-size:15.5px;margin-top:8px;flex:1;line-height:1.55}
  .svc-card .clink{margin-top:18px;align-self:flex-start;font-size:13.5px;font-weight:600;letter-spacing:.01em;
    color:#fff;background:var(--accent);border:1.5px solid var(--accent);
    display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:7px;transition:gap .22s,background .2s}
  .svc-card .clink svg{width:16px;height:16px}
  .svc-card:hover .clink{gap:12px;background:#a8863f;border-color:#a8863f}
  @media(max-width:760px){.svc-cards{grid-template-columns:1fr}}

  /* frequent document services (SEO landing links) */
  .freq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .freq-card{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:26px 24px 24px;
    display:flex;flex-direction:column;color:var(--text);
    transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,border-color .28s,background .28s}
  .freq-card:hover{transform:translateY(-5px);box-shadow:var(--sh);border-color:var(--accent-2)}
  .freq-card .fi{display:inline-flex;width:46px;height:46px;border-radius:9px;margin-bottom:16px;
    align-items:center;justify-content:center;color:var(--accent);
    background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent)}
  .freq-card .fi svg{width:23px;height:23px}
  .freq-card h3{font-size:18px;font-weight:560;line-height:1.25}
  .freq-card p{color:var(--muted);font-size:15px;margin-top:8px;flex:1;line-height:1.55}
  .freq-card .clink{margin-top:18px;align-self:flex-start;font-size:13px;font-weight:600;letter-spacing:.01em;
    color:#fff;background:var(--accent);border:1.5px solid var(--accent);
    display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:7px;transition:gap .22s,background .2s}
  .freq-card .clink svg{width:15px;height:15px}
  .freq-card:hover .clink{gap:12px;background:#a8863f;border-color:#a8863f}
  .freq-card:hover .clink{gap:11px}
  .freq-card--all{background:var(--paper-3);border-style:dashed}
  @media(max-width:900px){.freq-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:560px){.freq-grid{grid-template-columns:1fr}}

  /* documents (categorized) */
  .doc-cats{display:grid;grid-template-columns:1fr 1fr;gap:30px 44px}
  .doc-cat h4{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
    color:var(--accent);margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
  .doc-cat ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
  .doc-cat li{display:flex;gap:10px;align-items:baseline;font-size:15px;color:var(--text)}
  .doc-cat li svg{width:14px;height:14px;color:var(--accent);flex:0 0 auto;position:relative;top:2px}
  .doc-cat li a.doc-link{display:inline-flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;flex-wrap:wrap}
  .doc-cat li a.doc-link .dt{border-bottom:1.5px solid var(--accent);padding-bottom:1px}
  .doc-cat li a.doc-link .lm{display:inline-flex;align-items:center;gap:4px;font-family:var(--sans);font-size:11px;
    font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#fff;background:var(--accent);
    padding:2px 8px;border-radius:20px;white-space:nowrap}
  .doc-cat li a.doc-link .lm svg{width:11px;height:11px;color:#fff;top:0}
  .doc-cat li a.doc-link:hover .dt{color:var(--accent)}
  .doc-cat li a.doc-link:hover .lm{background:#a8863f}
  .doc-note{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:15px;max-width:70ch}
  .docs-layout{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:start}
  .docs-photo{aspect-ratio:4/5;border-radius:10px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh);align-self:start}
  .docs-photo img{width:100%;height:100%;object-fit:cover}
  @media(max-width:900px){.docs-layout{grid-template-columns:1fr}.docs-photo{aspect-ratio:16/10;position:static}}
  @media(max-width:640px){.doc-cats{grid-template-columns:1fr;gap:26px}}

  /* process */
  .proc{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:6px}
  .proc::before{content:"";position:absolute;top:19px;left:7%;right:7%;height:1.5px;
    background:color-mix(in srgb,var(--accent) 32%,var(--line))}
  .pstep{position:relative}
  .pstep .n{width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--accent-2);
    display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:16px;position:relative;z-index:2;
    box-shadow:0 0 0 6px var(--paper)}
  .pstep h3{font-size:19px;font-weight:520;margin:22px 0 10px}
  .pstep p{color:var(--muted);font-size:15.5px;max-width:38ch;line-height:1.6}
  @media(max-width:760px){.proc{grid-template-columns:1fr;gap:24px}.proc::before{display:none}}

  /* about (navy) */
  .about{background:var(--ink);color:#ECE4D4}
  .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
  .about h2{color:#F3ECDC;font-size:clamp(25px,3vw,35px);font-weight:520}
  .about .eyebrow{color:var(--accent-2)}.about .eyebrow::before{background:var(--accent-2)}
  .about .lede{color:#C3B9A4;margin-top:16px;font-size:16px}
  .abt-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
  .abt-list li{padding:22px 0;border-top:1px solid rgba(200,162,87,.12)}
  .abt-list li:first-child{border-top:0;padding-top:2px}
  .abt-list .t{font-weight:600;color:#F3ECDC;font-size:16px}
  .abt-list .d{color:#B4AA95;font-size:14.5px;margin-top:5px}
  @media(max-width:860px){.about-grid{grid-template-columns:1fr;gap:30px}}

  /* commitment */
  .commit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:6px}
  .commit-item{background:var(--paper-2);border:1px solid var(--line-2);border-radius:14px;padding:30px 28px 28px;
    transition:transform .22s cubic-bezier(.2,.7,.2,1),border-color .22s,box-shadow .22s}
  .commit-item:hover{transform:translateY(-3px);border-color:var(--accent-2);box-shadow:var(--sh)}
  .commit-item p{max-width:32ch}
  .commit-item .ci{width:46px;height:46px;border-radius:50%;background:color-mix(in srgb,var(--accent) 13%,transparent);
    display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:16px}
  .commit-item .ci svg{width:22px;height:22px}
  .commit-item h3{font-size:17.5px;font-weight:520;margin-bottom:8px}
  .commit-item p{color:var(--muted);font-size:15.5px;line-height:1.55}
  .commit-note{margin-top:20px;color:var(--muted);font-size:13px;max-width:82ch}
  @media(max-width:760px){.commit-grid{grid-template-columns:1fr}}

  /* testimonials */
  .quotes{display:grid;grid-template-columns:1fr 1fr;gap:0 52px}
  .q{padding:28px 0;border-top:1px solid var(--line)}
  .q p{font-family:var(--serif);font-size:16.5px;font-weight:400;line-height:1.5;color:var(--text);
    font-variation-settings:'opsz' 40;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
  .q .who{margin-top:16px;display:flex;align-items:center;gap:11px}
  .q .av{width:36px;height:36px;border-radius:50%;background:var(--paper-3);border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;font:600 13px/1 var(--sans);color:var(--accent)}
  .q .who b{font-size:14.5px;font-weight:600;display:block}
  .q .who span{font-size:12px;color:var(--muted)}
  .q .rs{color:var(--accent);font-size:12px;letter-spacing:2px;margin-bottom:8px}
  .rev-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:2px 0 22px;padding-bottom:22px;border-bottom:1px solid var(--line)}
  .rev-top{gap:16px}
  .rev-top .num{font-family:var(--serif);font-size:42px;font-weight:520;color:var(--text);line-height:1;font-variant-numeric:tabular-nums}
  .rev-top .rstars{font-size:17px}
  .rev-top .rstars{color:var(--accent);font-size:15px;letter-spacing:2px}
  .rev-top .cnt{font-size:14px;color:var(--muted)}
  .rev-top .glink{margin-left:auto;font-size:13.5px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:6px}
  .rev-top .glink:hover{text-decoration:underline}
  .rev-top .glink svg{width:15px;height:15px}
  @media(max-width:760px){.quotes{grid-template-columns:1fr}.rev-top .glink{margin-left:0;width:100%}}

  /* faq */
  .faq{max-width:760px}
  details.f{border-top:1px solid var(--line)}
  .faq details.f:last-of-type{border-bottom:1px solid var(--line)}
  details.f summary{cursor:pointer;list-style:none;padding:20px 0;display:flex;justify-content:space-between;gap:20px;
    align-items:baseline;font-family:var(--serif);font-size:18px;font-weight:520;color:var(--text)}
  details.f summary::-webkit-details-marker{display:none}
  details.f .pm{font-family:var(--sans);color:var(--accent);font-size:20px;flex:0 0 auto;transition:transform .22s}
  details.f[open] .pm{transform:rotate(45deg)}
  details.f .ans{padding:0 36px 22px 0;color:var(--text);font-size:16.5px;line-height:1.6}

  /* contact */
  .contact{position:relative;background:var(--ink);color:#ECE4D4;overflow:hidden;isolation:isolate}
  .contact::before{content:"";position:absolute;inset:0;z-index:0;
    background:url('/assets/images/image-d1be02484b00.webp') center 42%/cover no-repeat;
    filter:blur(4px) brightness(.62) saturate(1.05) contrast(1.03);transform:scale(1.12)}
  .contact::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background:linear-gradient(96deg,rgba(9,19,32,.93) 0%,rgba(9,19,32,.72) 40%,rgba(9,19,32,.34) 100%),
      linear-gradient(180deg,rgba(9,19,32,.36),rgba(9,19,32,.14) 40%,rgba(9,19,32,.46))}
  .contact > .wrap{position:relative;z-index:2}
  .contact .split{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:64px;align-items:start}
  .contact h2{color:#F3ECDC;font-size:clamp(26px,3.2vw,38px);font-weight:520}
  .contact .eyebrow{color:var(--accent-2)}.contact .eyebrow::before{background:var(--accent-2)}
  .contact .lede{color:#D4CBB9;margin-top:14px;font-size:16px}
  .cmeths{display:flex;flex-direction:column;margin-top:24px}
  .cm{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid rgba(198,160,80,.16)}
  .cm .ci{width:38px;height:38px;border:1px solid rgba(198,160,80,.32);color:var(--accent-2);display:flex;
    align-items:center;justify-content:center;flex:0 0 auto;border-radius:3px}
  .cm .ci svg{width:18px;height:18px}
  .cm b{display:block;font-size:15px;color:#F3ECDC}.cm span{font-size:13px;color:#BCB29C}
  .form{background:var(--paper-2);border-radius:4px;padding:26px 26px;box-shadow:var(--sh)}
  .form h3{font-size:20px;font-weight:520;color:var(--text)}
  .form .sub{color:var(--muted);font-size:13.5px;margin-top:6px}
  .field{margin-top:11px}
  .field label{display:block;font-size:11.5px;font-weight:600;color:var(--text);margin-bottom:5px;letter-spacing:.03em;text-transform:uppercase}
  .field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:3px;
    background:var(--paper);color:var(--text);font:14.5px/1.4 var(--sans)}
  .field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
  .field textarea{min-height:76px;resize:vertical}
  .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;align-items:start}
  .fgrid .field>label{min-height:2.7em;display:flex;align-items:flex-end}
  .form .btn-wa{width:100%;margin-top:16px}
  /* form buttons: Send=blue, WhatsApp=green, Call=gold */
  .form button[type="submit"].btn{background:#1e57a0;border-color:#1e57a0;color:#fff}
  .form button[type="submit"].btn:hover{background:#184a8c;border-color:#184a8c;transform:translateY(-1px)}
  .form-alt{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
  .form-alt .btn{width:100%}
  .form-alt button.btn{background:var(--wa);border-color:var(--wa);color:#fff}
  .form-alt button.btn:hover{background:#1da851;border-color:#1da851}
  .form-alt a.btn{background:var(--accent);border-color:var(--accent);color:#fff}
  .form-alt a.btn:hover{background:#a8863f;border-color:#a8863f}
  .fhelp{display:block;font-size:11px;color:var(--muted);margin-top:5px}
  .form .fine{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.5}
  @media(max-width:840px){.contact .split{grid-template-columns:1fr;gap:34px}}
  @media(max-width:520px){.fgrid{grid-template-columns:1fr}}

  /* footer */
  footer.ft{background:#00192B;color:#B4AA95;font-size:14px}
  footer.ft .wrap{display:grid;grid-template-columns:1.5fr 1fr 1.1fr 1.2fr;gap:40px;padding:52px 32px 32px}
  @media(max-width:820px){footer.ft .wrap{grid-template-columns:1fr 1fr}}
  @media(max-width:480px){footer.ft .wrap{grid-template-columns:1fr}}
  footer.ft p{max-width:34ch;margin-top:6px;color:#A79D89;font-size:13.5px}
  footer.ft h5{color:var(--accent-2);font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 13px;font-weight:600;font-family:var(--sans)}
  footer.ft a{display:block;color:#B4AA95;padding:5px 0}
  footer.ft a:hover{color:var(--accent-2)}
  footer.ft .fc{color:#A79D89;padding:5px 0;font-size:13.5px}
  .ftb{border-top:1px solid rgba(198,160,80,.12)}
  footer.ft .ftb .wrap{display:flex;justify-content:space-between;align-items:baseline;gap:20px 40px;flex-wrap:wrap;padding:18px 32px;font-size:11.5px;color:#7E7563}
  .ftb .wrap span:last-child{text-align:right;white-space:nowrap}
  @media(max-width:860px){.ftb .wrap span:last-child{white-space:normal;text-align:left;max-width:62ch}}
  @media(max-width:760px){footer.ft .wrap{grid-template-columns:1fr;gap:26px}}

  /* ---- service-page helpers ---- */
  .subnav{position:sticky;top:70px;z-index:55;background:color-mix(in srgb,var(--paper-3) 92%,transparent);
    backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .subnav .wrap{display:flex;gap:26px;align-items:center;height:48px;overflow-x:auto;font-size:13.5px;font-weight:500;
    -ms-overflow-style:none;scrollbar-width:none}
  .subnav .wrap::-webkit-scrollbar{display:none}
  .subnav a{color:var(--muted);white-space:nowrap;transition:color .18s}
  .subnav a:hover{color:var(--accent)}
  .subnav a.cta{margin-left:auto;color:var(--accent);font-weight:600}
  @media(max-width:640px){.subnav a.cta{margin-left:16px}}
  .prose{max-width:70ch}
  .prose p{margin-top:14px;color:var(--muted);font-size:16px;line-height:1.65}
  .prose p:first-child{margin-top:0}
  .prose .em{color:var(--text);font-weight:500}
  .callout{background:var(--paper-2);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;
    padding:22px 24px;margin-top:26px;max-width:74ch}
  .callout b{font-family:var(--serif);font-weight:520;font-size:17px;color:var(--text);display:block;margin-bottom:6px}
  .callout p{color:var(--text);font-size:16px;margin:0;line-height:1.55}
  .callout .btn{margin-top:16px}
  .two-opt{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px}
  .opt{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:26px 26px 24px}
  .opt .ot{font-family:var(--serif);font-size:20px;font-weight:520;display:flex;align-items:center;gap:10px}
  .opt .ot .dot{width:9px;height:9px;border-radius:50%;background:var(--accent);flex:0 0 auto}
  .opt p{color:var(--muted);font-size:15.5px;margin-top:10px;line-height:1.55}
  @media(max-width:700px){.two-opt{grid-template-columns:1fr}}
  .infogrid{display:grid;grid-template-columns:1fr 1fr;gap:26px 40px;margin-top:8px}
  .infogrid .ib{padding-top:18px;border-top:1px solid var(--line)}
  .infogrid .ib h4{font-family:var(--serif);font-size:18px;font-weight:520;margin:0 0 7px}
  .infogrid .ib p{color:var(--muted);font-size:15.5px;margin:0;line-height:1.55}
  @media(max-width:700px){.infogrid{grid-template-columns:1fr;gap:22px}}
  .svc-hero .lede{max-width:52ch}

  /* floating bar */
  .floatbar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;gap:10px;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  .floatbar .btn{flex:1;padding:13px;gap:7px}
  .floatbar a[href^="tel:"].btn{background:var(--accent);border-color:var(--accent);color:#fff}
  .floatbar a[href^="mailto:"].btn{background:#1e57a0;border-color:#1e57a0;color:#fff}
  .wa-fab{position:fixed;right:20px;bottom:22px;z-index:65;display:flex;flex-direction:column;gap:11px}
  .wa-fab a{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    box-shadow:0 6px 18px rgba(17,34,56,.22);transition:transform .18s,filter .18s}
  .wa-fab a:hover{transform:translateY(-2px);filter:brightness(1.04)}
  .wa-fab a svg{width:21px;height:21px}
  .wa-fab .f-wa{background:var(--wa);color:#fff}
  .wa-fab .f-call{background:var(--ink);color:#fff}
  .wa-fab .f-mail{background:var(--paper-2);color:var(--ink);border:1px solid var(--line)}
  @media(max-width:640px){.floatbar{display:flex}.site{padding-bottom:70px}.wa-fab{display:none}}
  .floatbar,.wa-fab{transition:transform .32s cubic-bezier(.2,.7,.2,1),opacity .3s ease}
  .floatbar.tucked{transform:translateY(160%);opacity:0;pointer-events:none}
  .wa-fab.tucked{transform:translateY(180%);opacity:0;pointer-events:none}

  .js .reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none}*{scroll-behavior:auto!important}
    .photo img{transition:none}}

  /* breadcrumbs + SEO helpers */
  .crumbs{border-bottom:1px solid var(--line);background:var(--paper)}
  .crumbs .wrap{display:flex;gap:8px;align-items:center;padding:11px 32px;font-size:13px;color:var(--muted);flex-wrap:wrap}
  .crumbs a{color:var(--muted)}
  .crumbs a:hover{color:var(--accent)}
  .crumbs .sep{opacity:.5}
  .crumbs .cur{color:var(--text);font-weight:500}
  .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
  .chips span{font-size:13.5px;color:var(--text);background:var(--paper-2);border:1px solid var(--line);padding:6px 13px;border-radius:999px}
  .related{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
  .related a{display:block;padding:18px 20px;background:var(--paper-2);border:1px solid var(--line);border-radius:8px;transition:transform .2s,border-color .2s}
  .related a:hover{transform:translateY(-3px);border-color:var(--accent-2)}
  .related a b{font-family:var(--serif);font-weight:520;font-size:16px;color:var(--text);display:block}
  .related a span{font-size:13.5px;color:var(--muted);display:block;margin-top:4px}
  .related a .go{color:var(--accent);font-size:13px;font-weight:600;margin-top:8px;display:inline-block}
  @media(max-width:760px){.related{grid-template-columns:1fr}}
  /* blog */
  .blog-head{padding:56px 0 8px}
  .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  @media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:600px){.blog-grid{grid-template-columns:1fr}}
  .bcard{display:flex;flex-direction:column;background:var(--paper-2);border:1px solid var(--line);border-radius:12px;overflow:hidden;color:var(--text);transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,border-color .28s}
  .bcard:hover{transform:translateY(-5px);box-shadow:var(--sh);border-color:var(--accent-2)}
  .bcard .bimg{aspect-ratio:16/10;overflow:hidden;background:var(--ink)}
  .bcard .bimg img{width:100%;height:100%;object-fit:cover;filter:saturate(.9);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
  .bcard:hover .bimg img{transform:scale(1.05)}
  .bcard .bbody{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
  .bcard .btag{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
  .bcard h3{font-size:19px;font-weight:520;line-height:1.25;margin-top:8px}
  .bcard p{color:var(--muted);font-size:15px;margin-top:8px;flex:1;line-height:1.55}
  .bcard .go{color:var(--accent);font-size:13.5px;font-weight:600;margin-top:14px;display:inline-flex;align-items:center;gap:6px;transition:gap .2s}
  .bcard:hover .go{gap:10px}
  /* article */
  .article{max-width:760px;margin:0 auto;padding:8px 0 8px}
  .article .a-head{margin-bottom:28px}
  .article .a-tag{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
  .article h1{font-family:var(--serif);font-size:clamp(28px,3.6vw,42px);font-weight:560;line-height:1.12;margin:12px 0 0;letter-spacing:-.01em}
  .article .a-meta{color:var(--muted);font-size:14px;margin-top:14px}
  .article .a-body h2{font-family:var(--serif);font-size:24px;font-weight:520;margin:34px 0 4px}
  .article .a-body h3{font-family:var(--serif);font-size:19px;font-weight:520;margin:24px 0 2px}
  .article .a-body p{color:var(--text-2);font-size:17px;line-height:1.68;margin-top:14px}
  .article .a-body ul{margin:14px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:9px}
  .article .a-body ul li{position:relative;padding-left:26px;font-size:16.5px;line-height:1.6;color:var(--text-2)}
  .article .a-body ul li::before{content:"";position:absolute;left:4px;top:11px;width:7px;height:7px;border-radius:50%;background:var(--accent)}
  .article .a-body ol{margin:14px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:9px}
  .article .a-body ol li{font-size:16.5px;line-height:1.6;color:var(--text-2);padding-left:4px}
  .article .a-note{background:var(--paper-3);border-left:3px solid var(--accent);border-radius:6px;padding:16px 20px;margin-top:22px;font-size:15.5px;color:var(--text-2);line-height:1.6}
  .article .a-cta{margin-top:36px;background:var(--ink);border-radius:14px;padding:30px 28px;text-align:center;color:#F3ECDC}
  .article .a-cta h3{font-family:var(--serif);color:#F8F3E7;font-size:22px;font-weight:520}
  .article .a-cta p{color:#C3B9A4;font-size:15.5px;margin-top:8px;max-width:44ch;margin-left:auto;margin-right:auto}
  .article .a-cta .a-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:20px}
  .article .a-updated{color:var(--muted);font-size:13px;margin-top:26px;border-top:1px solid var(--line);padding-top:16px}
  .field input[type=file]{padding:9px 12px;font-size:13.5px;background:var(--paper);cursor:pointer}
  .field input[type=file]::file-selector-button{margin-right:12px;border:1px solid var(--line);background:var(--paper-2);color:var(--text);padding:7px 12px;border-radius:3px;font:600 12.5px var(--sans);cursor:pointer}
