/* Compact brand/navigation and three mobile contact actions. */
.site-header .brand-name{font-size:15px;font-weight:700;letter-spacing:.015em;color:var(--ink);white-space:nowrap}
.mobile-menu-toggle{display:none}
.mobile-contact-bar{display:none}
.line-contact-dialog{width:min(420px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #d6e0d9;border-radius:14px;padding:24px;color:#16312f;background:#fff}
.line-contact-dialog::backdrop{background:rgba(10,25,22,.45)}
.line-contact-dialog h2{font-size:1.25rem;margin:0 32px 14px 0}
.line-contact-dialog .line-close{position:absolute;right:10px;top:8px;width:44px;height:44px;font-size:26px;background:none;border:0;cursor:pointer}
.line-contact-dialog p{font-size:15px;line-height:1.65}
.line-contact-dialog input{display:block;width:100%;padding:12px;font:600 18px system-ui;border:1px solid #ccd8cf;border-radius:6px;margin:6px 0 12px}
.line-contact-dialog .line-actions{display:flex;gap:8px;flex-wrap:wrap}
.line-contact-dialog .line-actions>*{font:600 14px system-ui;min-height:44px;padding:10px 14px;border:1px solid #c8d7cb;border-radius:6px;display:inline-flex;align-items:center;text-decoration:none;cursor:pointer}
.line-contact-dialog .line-actions button{background:#087f30;color:white;border-color:#087f30}
.line-copy-status{min-height:1.6em}
.line-contact-info{margin-top:12px}
@media(max-width:768px){
  html{scroll-padding-top:76px;scroll-padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  .site-footer .cols{grid-template-columns:minmax(0,1fr)}
  .site-footer .cols>*,.f-brand>div{min-width:0;overflow-wrap:anywhere}
  .page-hero .lead{overflow-wrap:anywhere}
  .site-header{background:#fff;z-index:100}
  .site-header .inner{position:relative;min-height:60px;max-width:none;padding:8px 12px;gap:8px;flex-wrap:nowrap}
  .site-header .brand{gap:7px;flex:1;min-width:0}
  .site-header .brand .hl-logo{width:36px;height:36px;flex:0 0 36px}
  .site-header .brand .brand-name{font-size:12px;letter-spacing:0}
  .site-header .lang{margin:0;order:2;flex:0 0 auto}
  .site-header .lang a{margin:0;padding:0 7px;min-width:44px;height:44px;min-height:44px;font-size:12px;white-space:nowrap}
  .site-header .mobile-menu-toggle{order:3;display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid var(--hairline);border-radius:8px;background:#fff;color:#152521;cursor:pointer}
  .mobile-menu-toggle svg{width:23px;height:23px}
  .mobile-menu-toggle .menu-close{display:none}
  .mobile-menu-toggle[aria-expanded="true"] .menu-open{display:none}
  .mobile-menu-toggle[aria-expanded="true"] .menu-close{display:block}
  .site-header .nav{order:4;flex-basis:100%;gap:2px;padding:10px}
  .site-header:not(.mobile-ready) .inner{flex-wrap:wrap}
  .site-header.mobile-ready .nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 140px);overflow-y:auto;background:#fff;border-bottom:1px solid var(--hairline);box-shadow:0 8px 14px #0000000d}
  .site-header.mobile-ready[data-menu-open] .nav{display:grid;grid-template-columns:1fr}
  .site-header .nav a{width:100%;min-height:48px;font-size:15px;padding:12px 18px;border-radius:5px}
  .site-header .nav a[aria-current="page"]{background:#eef4ef;color:#145d3b;font-weight:700}
  .hl-contact-float{display:none!important}
  .mobile-contact-bar{position:fixed;left:0;right:0;bottom:0;z-index:110;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 0 env(safe-area-inset-bottom,0px);background:#fff;border-top:1px solid #d9e2dc;box-shadow:0 -3px 16px #16312f0b}
  .mobile-contact-bar a{display:flex;min-width:0;height:56px;align-items:center;justify-content:center;gap:7px;text-decoration:none;font:600 13px var(--font);color:#174b32;white-space:nowrap}
  .mobile-contact-bar a+a{border-left:1px solid #e3e9e5}
  .mobile-contact-bar svg{width:21px;height:21px;flex:0 0 21px}
  .mobile-contact-bar .contact-line{color:#087f30}
  .mobile-contact-bar .contact-whatsapp{color:#12784a}
  .mobile-contact-bar .contact-email{color:#9b481f}
  .mobile-contact-bar a:hover{background:#f0f5f1}
  .mobile-contact-bar a:focus-visible,.mobile-menu-toggle:focus-visible{outline:2px solid #1b4f9c;outline-offset:-4px}
  .mobile-contact-bar[hidden],body.mobile-editing .mobile-contact-bar{display:none}
  .hl-analytics-panel{bottom:calc(68px + env(safe-area-inset-bottom,0px))}
  input,select,textarea{scroll-margin-top:85px;scroll-margin-bottom:90px}
}
@media(max-width:350px){
  .site-header .inner{padding-left:8px;padding-right:8px;gap:5px}
  .site-header .brand{gap:5px}
  .site-header .brand .brand-name{font-size:11px}
  .mobile-contact-bar a{gap:5px;font-size:12px}
}

@media(max-width:768px){
  .mobile-contact-bar{grid-template-columns:repeat(4,minmax(0,1fr))}
  .mobile-contact-bar a{flex-direction:column;gap:3px;padding:6px 2px;font-size:11px;line-height:1.2}
  .mobile-contact-bar .contact-quote{background:#b94708;color:white}
  .mobile-contact-bar .contact-quote:hover{background:#993b08;color:white}
}

/* Full company name stays readable without increasing mobile header height. */
.site-header .brand-name{white-space:normal;font-size:14px;line-height:1.3;max-width:225px}
.site-header .brand-name>span{display:block}
@media(max-width:768px){
  .site-header .brand .brand-name{font-size:12px;line-height:1.35;max-width:160px}
}
@media(max-width:350px){
  .site-header .brand .brand-name{font-size:11px}
}
