/* KLG shared layout - header, mobile menu, footer. Source: shared-layout/src/layout.css. Do not edit inside pages. */

  /* guard against page-level blanket rules (e.g. "button, a { min-height:48px }", "* { max-width:100% }");
     placed first so the component rules below still win */
  .klgx-header *,.klgx-backdrop,.klgm *,.klgf-foot *{max-width:none;min-height:0;min-width:0}

  /* always show the browser scrollbar: several pages hide or blank it with ::-webkit-scrollbar rules;
     a standard scrollbar-color makes Chrome/Edge ignore those (colors = Chrome's own default light scrollbar) */
  html{scrollbar-color:#c1c1c1 #f1f1f1}

  /* one standard skip link for every page (hidden until focused with the keyboard) */
  a.skip-link{position:fixed;left:12px;top:12px;right:auto;bottom:auto;z-index:3000;display:block;transform:translateY(-200%);padding:12px 18px;background:#141c26;color:#f7f2ea;font:600 14px/1.2 'Inter',system-ui,sans-serif;text-decoration:none;border-radius:4px;transition:transform .15s ease}
  a.skip-link:focus{transform:none;outline:2px solid #f0b274;outline-offset:2px}

  .klgx-header{position:absolute;top:0;left:0;right:0;z-index:1003}
  .klgx-inner{max-width:1400px;margin:0 auto;height:96px;padding:0 40px;display:flex;align-items:center;justify-content:space-between}
  .klgx-brand{display:flex;align-items:center;gap:18px;text-decoration:none}
  .klgx-mark{display:flex;flex-direction:column;align-items:flex-start}
  .klgx-klg{font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;font-size:52px;letter-spacing:3px;line-height:.82;background:linear-gradient(165deg,#f1ba85 0%,#d68a4e 45%,#b5651f 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
  .klgx-underline{height:3px;width:100%;margin-top:7px;background:linear-gradient(90deg,#e0a06a,#c0712f)}
  .klgx-divider{width:1px;height:56px;background:rgba(236,228,214,.4)}
  .klgx-text{display:flex;flex-direction:column}
  .klgx-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:29px;font-weight:600;color:#ece4d6;line-height:1.02;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.7)}
  .klgx-accent{color:#d68a4e}
  .klgx-tag{margin-top:7px;font-family:'Inter',system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#ece4d6;opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.78)}
  .klgx-nav{display:flex;align-items:center;gap:34px}
  .klgx-link,.klgx-trigger{font-family:'Inter',system-ui,sans-serif;font-size:16px;font-weight:500;color:rgba(220,232,245,.88);text-decoration:none;background:none;border:0;padding:10px 0;cursor:pointer;display:inline-flex;align-items:center;gap:7px;text-shadow:0 1px 3px rgba(0,0,0,.5);transition:color .15s ease}
  .klgx-link:hover,.klgx-trigger:hover,.klgx-trigger[aria-expanded="true"]{color:#cc7a3e;text-decoration:none}
  .klgx-trigger svg{transition:transform .2s ease}
  .klgx-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}
  .klgx-home .klgx-nav{margin-left:auto}
  .klgx-home .klgx-phone{order:3;position:relative;margin-left:34px;padding-left:34px}
  .klgx-home .klgx-phone::before{content:"";position:absolute;left:0;top:50%;width:1px;height:22px;margin-top:-11px;background:rgba(236,228,214,.28)}
  .klgx-phone{font-family:'Inter',system-ui,sans-serif;font-size:17px;font-weight:600;letter-spacing:.06em;color:#ece4d6;text-decoration:none;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.5)}
  .klgx-phone:hover{color:#f3b97f;text-decoration:none}
  .klgx-phone{display:flex;flex-direction:column;align-items:center;line-height:1}
  .klgx-eyebrow{margin-bottom:6px;font-size:9.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#f0b27a}
  .klgx-num{font-size:18px;font-weight:600;letter-spacing:.06em;font-variant-numeric:lining-nums}
  /* sticky bar: transparent at top, compact tinted after scrolling (desktop only) */
  @media (min-width:901px){
    .klgx-header{position:fixed;transition:background .25s ease,box-shadow .25s ease}
    .klgx-inner{transition:height .25s ease}
    .klgx-klg,.klgx-name,.klgx-divider,.klgx-underline,.klgx-tag{transition:all .25s ease}
    /* scrolled tint lives on a pseudo-element: a backdrop-filter on the header itself would stop the Services panel's own blur from reaching the page */
    .klgx-header::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--bar-scrolled);-webkit-backdrop-filter:blur(18px) saturate(110%);backdrop-filter:blur(18px) saturate(110%);border-bottom:1px solid rgba(236,228,214,.10);box-shadow:0 10px 30px rgba(0,0,0,.25);opacity:0;transition:opacity .25s ease;pointer-events:none}
    html.klgx-scrolled .klgx-header::after{opacity:1}
    html.klgx-scrolled .klgx-inner{height:70px}
    html.klgx-scrolled .klgx-klg{font-size:38px}
    html.klgx-scrolled .klgx-underline{height:2px;margin-top:5px}
    html.klgx-scrolled .klgx-divider{height:40px}
    html.klgx-scrolled .klgx-name{font-size:23px}
    html.klgx-scrolled .klgx-tag{margin-top:5px;font-size:9px}
    html.klgx-scrolled .klgx-panel{top:70px}
  }
  .klgx-link:focus-visible,.klgx-trigger:focus-visible,.klgx-phone:focus-visible,.klgx-group a:focus-visible{outline:2px solid #f0b274;outline-offset:4px;border-radius:2px}

  .klgx-panel{position:absolute;top:96px;left:50%;width:min(1320px,calc(100vw - 48px));transform:translate(-50%,8px);background:var(--p-bg);-webkit-backdrop-filter:var(--p-blur);backdrop-filter:var(--p-blur);border:1px solid var(--p-border);border-radius:8px;box-shadow:0 30px 70px rgba(0,0,0,.45);padding:14px 0;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}
  html.klgx-open .klgx-panel{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .2s ease,transform .2s ease,visibility 0s}
  .klgx-grid{display:grid;grid-template-columns:repeat(4,1fr)}
  .klgx-panel{position:absolute}
  .klgx-close{position:absolute;top:-16px;right:-16px;background-color:#1a2230 !important;box-shadow:0 4px 14px rgba(0,0,0,.35);z-index:2;width:38px;height:38px;padding:0;border-radius:50%;cursor:pointer;background:rgba(255,255,255,.08);border:1px solid var(--p-border);transition:background .15s ease,border-color .15s ease}
  .klgx-close::before,.klgx-close::after{content:"";position:absolute;left:11px;top:18px;width:15px;height:1.5px;background:var(--h-color);border-radius:2px;transform:rotate(45deg)}
  .klgx-close::after{transform:rotate(-45deg)}
  .klgx-close:hover{background-color:#253041 !important;border-color:var(--rule)}
  .klgx-close:hover::before,.klgx-close:hover::after{background:var(--l-hover)}
  .klgx-close:focus-visible{outline:2px solid #f0b274;outline-offset:3px}
  .klgx-site .klgx-close{top:16px;right:24px;background-color:#fff !important;box-shadow:0 2px 8px rgba(0,0,0,.08)}
  .klgx-site .klgx-close:hover{background-color:#f7f4ee !important}
  .klgx-group{padding:22px 18px 20px;text-align:center;border-left:1px solid var(--p-line)}
  .klgx-group:nth-child(4n+1){border-left:none}
  .klgx-group:nth-child(n+5){border-top:1px solid var(--p-line)}
  .klgx-label{position:relative;font-family:'Cormorant Garamond',Georgia,serif;font-size:var(--h-size);font-weight:var(--h-weight);letter-spacing:var(--h-track);text-transform:var(--h-case);color:var(--h-color);white-space:nowrap;padding-bottom:12px;margin-bottom:12px;text-shadow:var(--t-shadow)}
  .klgx-label::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:34px;height:1px;background:var(--rule)}
  .klgx-group a{display:block;font-family:'Inter',system-ui,sans-serif;font-size:15px;line-height:1.3;font-weight:var(--l-weight);color:var(--l-color);text-shadow:var(--t-shadow);text-decoration:none;padding:7px 6px;transition:color .12s ease}
  .klgx-group a:hover{color:var(--l-hover);text-decoration:none}

  .klgx-backdrop{position:fixed;inset:0;z-index:1002;background:rgba(6,9,13,.12);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s}
  html.klgx-open .klgx-backdrop{opacity:1;visibility:visible;transition:opacity .2s ease,visibility 0s}


  @media (max-width:1200px){.klgx-grid{grid-template-columns:repeat(2,1fr)}.klgx-group:nth-child(4n+1){border-left:1px solid rgba(236,228,214,.08)}.klgx-group:nth-child(2n+1){border-left:none}.klgx-group:nth-child(n+3){border-top:1px solid rgba(236,228,214,.08)}}
  @media (max-width:900px){
    .klgx-inner{height:64px;padding:0 16px}
    .klgx-brand,.klgx-nav,.klgx-phone,.klgx-panel,.klgx-backdrop{display:none}
  }
  @media (prefers-reduced-motion:reduce){.klgx-panel,.klgx-backdrop,.klgx-trigger svg{transition:none}}
  .klgx-header{--bar-scrolled:linear-gradient(180deg,rgba(12,18,27,.78),rgba(12,18,27,.86));--p-bg:linear-gradient(180deg,rgba(12,18,27,.6) 0%,rgba(12,18,27,.72) 45%,rgba(12,18,27,.93) 100%);--p-blur:blur(28px) saturate(110%);--p-border:rgba(236,228,214,.12);--p-line:rgba(236,228,214,.10);--h-size:19px;--h-weight:600;--h-track:.01em;--h-case:none;--h-color:#f6f1e8;--rule:rgba(227,154,92,.7);--l-color:#f0b27a;--l-weight:500;--l-hover:#ffffff;--t-shadow:0 1px 2px rgba(0,0,0,.35)}
  /* ===== site variant (service pages, blog, about, contact) ===== */
  .klgx-site{--p-bg:linear-gradient(180deg,#c9cdc6 0%,#e3e0d7 34%,#f4f0e8 72%,#f7f4ee 100%);--p-blur:none;--p-border:rgba(20,20,20,.1);--p-line:rgba(20,20,20,.12);--h-size:20px;--h-color:#141414;--rule:rgba(20,20,20,.28);--l-color:rgba(20,20,20,.72);--l-weight:400;--l-hover:#b87333;--t-shadow:none}
  @media (min-width:901px){
    .klgx-site::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,66,62,.55) 0%,rgba(40,66,62,.28) 100%);border-bottom:1px solid rgba(255,255,255,.16);transition:opacity .25s ease;pointer-events:none}
    html.klgx-scrolled .klgx-site::before,.klgx-site.klgx-solid::before{opacity:0}
    .klgx-site .klgx-inner{position:relative;display:grid;grid-template-columns:1fr auto 1fr}
    .klgx-site .klgx-brand{justify-self:start}
    .klgx-site .klgx-nav{justify-self:end}
    .klgx-site .klgx-klg{font-size:30px;letter-spacing:.14em;background:none;-webkit-text-fill-color:#fff;color:#fff;filter:none;line-height:1}
    .klgx-site .klgx-underline{display:none}
    .klgx-site .klgx-divider{height:38px;background:rgba(255,255,255,.38)}
    .klgx-site .klgx-name{font-size:25px;color:#fff;text-shadow:none}
    .klgx-site .klgx-accent{color:inherit}
    .klgx-site .klgx-tag{margin-top:5px;font-size:9.5px;font-weight:500;color:rgba(255,255,255,.82);text-shadow:none}
    .klgx-site .klgx-link,.klgx-site .klgx-trigger{color:rgba(255,255,255,.92)}
    .klgx-site .klgx-trigger[aria-expanded="true"],.klgx-site .klgx-link:hover,.klgx-site .klgx-trigger:hover{color:#f0c9a0}
    .klgx-site .klgx-num{font-size:19px;color:#fff}
    .klgx-site .klgx-panel{top:96px;left:0;width:100%;transform:none;border-radius:0;border-width:0 0 1px;box-shadow:0 26px 60px rgba(0,0,0,.22);padding:26px 0 30px}
    html.klgx-open .klgx-site .klgx-panel{transform:none}
    .klgx-site .klgx-grid{max-width:1400px;margin:0 auto;padding:0 40px}
    .klgx-site .klgx-group a[aria-current="page"]{color:#141414;font-weight:600}
    html.klgx-scrolled .klgx-site .klgx-klg{font-size:26px}
    html.klgx-scrolled .klgx-site .klgx-divider{height:32px}
    html.klgx-scrolled .klgx-site .klgx-name{font-size:21px}
  }
  .klgm-links a[aria-current="page"]{color:#ffffff}

  /* ===== solid bar (pages whose top is not a dark hero) ===== */
  .klgx-spacer{display:none}
  .klgx-solid{background:var(--bar-scrolled);border-bottom:1px solid rgba(236,228,214,.10)}
  .klgx-solid ~ .klgx-spacer{display:block;height:96px}
  @media (max-width:900px){
    .klgx-solid{background:#141c26}
    .klgx-solid ~ .klgx-spacer{height:72px}
  }
  .klgm-brand,.klgm-burger,.klgm{display:none}
  @media (max-width:900px){
    .klgx-inner{height:72px;padding:0 20px}
    .klgm-brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
    .klgm-mark{display:flex;flex-direction:column;flex:none}
    .klgm-klg{font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;font-size:32px;letter-spacing:2px;line-height:.82;background:linear-gradient(165deg,#f1ba85 0%,#d68a4e 45%,#b5651f 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 1px 4px rgba(0,0,0,.5))}
    .klgm-ul{height:2px;margin-top:5px;background:linear-gradient(90deg,#e0a06a,#c0712f)}
    .klgm-div{width:1px;height:34px;background:rgba(247,242,234,.4);flex:none}
    .klgm-text{display:flex;flex-direction:column;min-width:0}
    .klgm-name{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:19px;color:#f7f2ea;line-height:1;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.6)}
    .klgm-name b{font-weight:600;color:#d68a4e}
    .klgm-tag{margin-top:5px;font-family:'Inter',system-ui,sans-serif;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,242,234,.8);white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.6)}
    .klgm-burger{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;margin-right:-8px;background:none;border:0;cursor:pointer;flex:none}
    .klgm-burger span{width:26px;height:2px;background:#ece4d6;border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.5)}

    .klgm{display:flex;flex-direction:column;position:fixed;inset:0;z-index:2000;height:100vh;height:100dvh;overflow:hidden;background:#141e2c;opacity:0;visibility:hidden;transition:opacity .22s ease,visibility 0s linear .22s}
    html.klgm-open .klgm{opacity:1;visibility:visible;transition:opacity .22s ease,visibility 0s}
    .klgm-bg{position:absolute;inset:-40px;z-index:0;background:url('/images/klgm-menu-bg.webp') 62% center/cover no-repeat;filter:blur(26px) saturate(115%)}
    .klgm-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,30,44,.6) 0%,rgba(18,26,38,.74) 55%,rgba(14,20,30,.86) 100%)}
    .klgm-bar,.klgm-scroll,.klgm-slim{position:relative;z-index:1}
    .klgm-bar{flex:none;height:72px;padding:env(safe-area-inset-top) 20px 0;display:flex;align-items:center;justify-content:space-between}
    .klgm-close{position:relative;width:44px;height:44px;margin-right:-8px;background:none;border:0;cursor:pointer;flex:none}
    .klgm-close::before,.klgm-close::after{content:"";position:absolute;left:9px;top:21px;width:26px;height:2px;background:#f7f2ea;border-radius:2px;transform:rotate(45deg)}
    .klgm-close::after{transform:rotate(-45deg)}

    .klgm-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
    .klgm-content{min-height:100%;display:flex;flex-direction:column;padding:0 24px}
    .klgm-nav{margin-top:clamp(22px,4.5dvh,52px);border-top:1px solid rgba(247,242,234,.16)}
    .klgm-item{display:flex;width:100%;align-items:center;justify-content:space-between;padding:clamp(13px,2.3dvh,24px) 0;border:0;border-bottom:1px solid rgba(247,242,234,.16);background:none;cursor:pointer;text-align:left;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(26px,3.5dvh,34px);font-weight:600;line-height:1.1;color:#f7f2ea;text-decoration:none}
    .klgm-item svg{flex:none;color:rgba(247,242,234,.7);transition:transform .2s ease}
    .klgm-item[aria-expanded="true"]{color:#f0b27a}
    .klgm-item[aria-expanded="true"] svg{transform:rotate(180deg);color:#f0b27a}
    .klgm-sub{padding:6px 0 10px;border-bottom:1px solid rgba(247,242,234,.16)}
    .klgm-cat{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 12px 14px;border:0;border-left:1px solid rgba(240,178,122,.4);background:none;cursor:pointer;text-align:left;font-family:'Cormorant Garamond',Georgia,serif;font-size:19px;font-weight:600;line-height:1.2;color:#f7f2ea}
    .klgm-cat svg{flex:none;width:13px;color:rgba(247,242,234,.6);transition:transform .2s ease}
    .klgm-cat[aria-expanded="true"] svg{transform:rotate(180deg)}
    .klgm-links{padding:2px 0 8px 14px;border-left:1px solid rgba(240,178,122,.4)}
    .klgm-links a{position:relative;display:block;padding:9px 0 9px 16px;font-family:'Inter',system-ui,sans-serif;font-size:15.5px;font-weight:500;line-height:1.3;color:#f0b27a;text-decoration:none}
    .klgm-links a::before{content:"";position:absolute;left:0;top:50%;width:8px;height:1px;background:rgba(240,178,122,.7)}
    .klgm-links a:hover,.klgm-item:hover{color:#ffffff}

    .klgm-spacer{flex:1 1 auto;min-height:32px}
    .klgm-contact{flex:none;padding:0 0 calc(clamp(30px,4.5dvh,52px) + env(safe-area-inset-bottom));text-align:center}
    .klgm-eyebrow{font-family:'Inter',system-ui,sans-serif;font-size:clamp(10.5px,1.3dvh,12.5px);font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#f0b27a}
    .klgm-pill{display:inline-block;margin-top:clamp(14px,1.9dvh,20px);padding:clamp(13px,1.8dvh,18px) clamp(30px,4dvh,38px);border-radius:40px;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 28px rgba(0,0,0,.35);font-family:'Inter',system-ui,sans-serif;font-size:clamp(27px,3.3dvh,32px);font-weight:600;letter-spacing:.05em;line-height:1;color:#f7f2ea;text-decoration:none;font-variant-numeric:lining-nums}
    .klgm-mail{display:block;margin-top:clamp(16px,2.2dvh,22px);font-family:'Inter',system-ui,sans-serif;font-size:clamp(16.5px,2dvh,19px);font-weight:500;letter-spacing:.02em;color:#f7f2ea;text-decoration:none}
    .klgm-serve{margin-top:clamp(24px,3.4dvh,36px);padding-top:clamp(18px,2.3dvh,24px);border-top:1px solid rgba(247,242,234,.16);font-family:'Inter',system-ui,sans-serif;font-size:clamp(12px,1.45dvh,14px);font-weight:500;line-height:1.6;letter-spacing:.06em;color:rgba(247,242,234,.7)}
    .klgm-serve b{display:block;margin-bottom:4px;font-size:clamp(10.5px,1.25dvh,12px);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#f0b27a}

    .klgm-slim{flex:none;display:none;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px calc(18px + env(safe-area-inset-bottom));border-top:1px solid rgba(247,242,234,.16);background:rgba(16,24,35,.92)}
    html.klgm-svc:not(.klgm-contact-in) .klgm-slim{display:flex}
    .klgm-slim-l span{display:block;margin-bottom:4px;font-family:'Inter',system-ui,sans-serif;font-size:9.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#f0b27a}
    .klgm-slim-l a{font-family:'Inter',system-ui,sans-serif;font-size:21.5px;font-weight:600;letter-spacing:.05em;color:#f7f2ea;text-decoration:none;font-variant-numeric:lining-nums}
    .klgm-slim-r{padding:10px 18px;border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.3);font-family:'Inter',system-ui,sans-serif;font-size:14px;font-weight:500;color:#f7f2ea;text-decoration:none;white-space:nowrap}
    .klgm button:focus-visible,.klgm a:focus-visible,.klgm-burger:focus-visible{outline:2px solid #f0b274;outline-offset:3px}
  }
  @media (prefers-reduced-motion:reduce){.klgm,.klgm-item svg,.klgm-cat svg{transition:none}}
  .klgf,.klgf-l{display:block;margin:0;font-family:'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
  :where(.klgf,.klgf-l) *{box-sizing:border-box}
  :where(.klgf,.klgf-l) a{color:inherit;text-decoration:none;background:none;border:0}
  :where(.klgf,.klgf-l) :where(address,p){margin:0;padding:0}
  .klgf-foot{display:block;margin:0;padding:0;border:0;background:none;position:static}

  /* ===== footer (approved idea 3): white tight strip + thin service-area line + legal row ===== */
  .klgf{--ink:#1e2833;--text:rgba(30,40,51,.72);--eyebrow:#b0692c;--rule:rgba(30,40,51,.14);--accent:#b87333;background:#ffffff;color:var(--text);border-top:1px solid #e6e1d8}
  .klgf a:hover{color:#b87333}
  .klgf-in{max-width:1360px;margin:0 auto;padding:24px 32px 20px;display:grid;grid-template-columns:auto 1fr auto;align-items:center}
  .klgf-brand{padding-right:28px;border-right:1px solid var(--rule)}
  .klgf-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;font-weight:600;line-height:1;color:var(--ink);white-space:nowrap}
  .klgf-name b{font-weight:600;color:var(--accent)}
  .klgf-tag{display:block;margin-top:7px;font-size:8.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text);white-space:nowrap}
  .klgf-offices{display:grid;grid-template-columns:repeat(3,1fr);min-width:0}
  .klgf-office{padding:0 14px;font-style:normal;font-size:14px;line-height:1.6;text-align:center;white-space:nowrap}
  .klgf-office+.klgf-office{border-left:1px solid var(--rule)}
  .klgf-office strong{display:block;margin-bottom:4px;font-size:8.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--eyebrow)}
  .klgf-office span{color:var(--ink)}
  .klgf-contact{padding-left:28px;border-left:1px solid var(--rule);text-align:center}
  .klgf-eyebrow{margin-bottom:5px;font-size:8.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--eyebrow)}
  .klgf-phone{display:block;font-size:20px;font-weight:600;letter-spacing:.05em;color:var(--ink);font-variant-numeric:lining-nums;white-space:nowrap}
  .klgf-mail{display:block;margin-top:5px;font-size:13.5px;font-weight:500;color:var(--ink)}

  /* legal row */
  .klgf-l{background:#ffffff;color:rgba(30,40,51,.6)}
  .klgf-l-in{width:calc(100% - 64px);max-width:1296px;margin:0 auto;padding:12px 0 16px;border-top:1px solid rgba(30,40,51,.10);display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 32px}
  .klgf-l-disc{flex:1 1 560px;max-width:980px;min-width:0;margin:0;text-align:left;font-size:11px;line-height:1.6}
  .klgf-l-disc b{font-weight:600;color:rgba(30,40,51,.85)}
  .klgf-l-copy{display:flex;align-items:baseline;gap:10px 24px;margin:0;white-space:nowrap;font-size:11px}
  .klgf-l-copy nav{display:flex;gap:24px}
  .klgf-l-copy a:hover{color:#b87333}

  /* narrower screens: offices get their own row, spread edge to edge */
  @media (max-width:1100px){
    .klgf-in{grid-template-columns:1fr auto;row-gap:18px}
    .klgf-brand{border-right:0;padding-right:0}
    .klgf-offices{grid-column:1/-1;order:3;display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--rule);padding-top:16px}
    .klgf-office{padding:0;white-space:nowrap}
    .klgf-office+.klgf-office{border-left:0}
    .klgf-office:nth-child(1){text-align:left}
    .klgf-office:nth-child(3){text-align:right}
  }
  /* phones: everything stacked and centred */
  @media (max-width:760px){
    .klgf-in{grid-template-columns:1fr;padding:36px 24px 6px;row-gap:0;text-align:center}
    .klgf-brand{padding:0 0 22px;border-bottom:1px solid var(--rule)}
    .klgf-name{font-size:26px}
    .klgf-offices{display:flex;flex-direction:column;order:0;border-top:0;padding:4px 0 0}
    .klgf-office,.klgf-office:nth-child(1),.klgf-office:nth-child(3){padding:16px 0;white-space:normal;text-align:center}
    .klgf-office+.klgf-office{border-top:1px solid var(--rule)}
    .klgf-contact{padding:22px 0 20px;border-left:0;border-top:1px solid var(--rule)}
    .klgf-phone{font-size:22px}
    .klgf-offices{grid-template-columns:none}
    .klgf-l-in{width:calc(100% - 48px);flex-direction:column;align-items:center;gap:8px;padding:14px 0 76px;text-align:center} /* bottom room so pages' floating back-to-top button doesn't cover the copyright */
    .klgf-l-disc{flex:none;text-align:center}
    .klgf-l-copy{flex-direction:column;align-items:center;white-space:normal}
  }

  /* ===== back to top (approved option B): charcoal circle + copper reading-progress ring, all pages ===== */
  .klgt,.klgt *{max-width:none;min-height:0;min-width:0;box-sizing:border-box}
  .klgt{position:fixed;right:22px;bottom:22px;z-index:900;width:52px;height:52px;margin:0;padding:0;border:0;border-radius:50%;background:#141c26;color:#f7f2ea;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.28);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s,color .2s ease;-webkit-tap-highlight-color:transparent}
  .klgt.klgt-on{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease,transform .25s ease,color .2s ease}
  .klgt:hover,.klgt:focus-visible{color:#f0b27a}
  .klgt:focus-visible{outline:2px solid #f0b27a;outline-offset:3px}
  .klgt-ic{position:relative;width:20px;height:20px;display:block}
  .klgt-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}
  .klgt-ring circle{fill:none;stroke-width:2.5}
  .klgt-bg{stroke:rgba(247,242,234,.16)}
  .klgt-fg{stroke:#f0b27a;stroke-linecap:round;stroke-dasharray:138.23;stroke-dashoffset:138.23}
  html.klgm-open .klgt,html.klgx-open .klgt{opacity:0;visibility:hidden}
  @media (max-width:760px){.klgt{right:16px;bottom:16px;width:48px;height:48px}}
  @media print{.klgt{display:none}}
