:root{
  --c-ink:#504646;
  --c-ink-soft:#6E6464;
  --c-surface:#ffffff;
  --c-surface-2:#DCDCDC;
  --c-border:#B4BEBE;
  --c-accent:#F0BE5A;
  --c-accent-2:#DCA028;
  --c-warm-1:#F6C8A0;
  --c-warm-2:#E69678;
  --radius:16px;
  --shadow:0 10px 30px rgba(80,70,70,.15);
  --max:1200px;
}

*{box-sizing:border-box}
html,body{height:100%}

body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--c-ink);
  background:linear-gradient(180deg,var(--c-surface),#fff 40%,#fafafa);
  line-height:1.5;
}

img{max-width:100%;height:auto;display:block}

a{color:inherit;text-decoration:none}
a:focus,button:focus,input:focus,textarea:focus{
  outline:3px solid var(--c-accent);
  outline-offset:2px;
}

.skip-link{
  position:absolute;
  left:-999px;
  top:10px;
  background:var(--c-accent);
  color:var(--c-ink);
  padding:10px 12px;
  border-radius:10px;
  z-index:9999;
}
.skip-link:focus{left:10px}

.site-header{
  background:linear-gradient(180deg,#fff,var(--c-surface));
  border-bottom:1px solid rgba(180,190,190,.55);
}

.topbar{
  max-width:var(--max);
  margin:0 auto;
  padding:14px 16px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:12px;
  align-items:center;
}

.logo{width:400px;height:125px;object-fit:contain}
.cta{display:flex;justify-content:flex-end}
.cta-img{width:400px;height:125px;object-fit:contain}

.nav{
  max-width:var(--max);
  margin:0 auto;
  padding:0 16px 12px;
}

.nav-toggle{
  display:none;
  width:100%;
  border:1px solid rgba(180,190,190,.9);
  background:linear-gradient(180deg,#fff,var(--c-surface-2));
  border-radius:14px;
  padding:12px 14px;
  font-weight:700;
  color:var(--c-ink);
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.nav-toggle-text{font-size:1rem}
.nav-toggle-lines{
  width:22px;
  height:14px;
  position:relative;
  display:inline-block;
}
.nav-toggle-lines:before,
.nav-toggle-lines:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:2px;
  background:var(--c-ink);
  border-radius:2px;
}

.menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.menu li{position:relative}
.menu>li>a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(180,190,190,.65);
  background:linear-gradient(180deg,#fff,var(--c-surface-2));
  color:var(--c-ink);
  font-weight:700;
}
.menu>li>a:hover{
  border-color:var(--c-accent-2);
  background:linear-gradient(180deg,#fff,#fff7e1);
}
.menu.is-open{display:flex}

.has-sub{position:relative}
.sub{
  list-style:none;
  margin:0;
  padding:10px;
  position:absolute;
  left:0;
  top:calc(100% + 10px);
  min-width:260px;
  background:#fff;
  border:1px solid rgba(180,190,190,.75);
  border-radius:14px;
  box-shadow:var(--shadow);
  display:none;
  z-index:50;
}
.menu .sub{top:100%;left:0;margin-top:0}
.sub-2{left:100%;top:0;margin-left:10px}

.sub li a{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  color:var(--c-ink);
  font-weight:600;
}
.sub li a:hover{background:linear-gradient(180deg,#fff,#fff0d2)}

.menu li.has-sub:hover>.sub,
.menu li.has-sub:focus-within>.sub,
.menu .sub:hover{display:block}

.menu li.has-sub::after{
  content:"";
  position:absolute;
  left:0;
  top:100%;
  width:100%;
  height:12px;
}
.menu li.has-sub>.sub>li.has-sub::after{
  content:"";
  position:absolute;
  left:100%;
  top:0;
  width:12px;
  height:100%;
}

.page{
  max-width:var(--max);
  margin:0 auto;
  padding:18px 16px 34px;
}

.layout{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:18px;
}

.content{
  background:#fff;
  border:1px solid rgba(180,190,190,.75);
  border-radius:var(--radius);
  padding:18px;
  box-shadow:0 12px 36px rgba(80,70,70,.08);
}
.content h1{margin:0 0 10px;font-size:25px;letter-spacing:.2px}
.content a,
.content p a,
.content li a{
  color:var(--c-ink);
  text-decoration:underline;
}
.content a:hover{text-decoration:none}

.KLPTtoc{
  color:#021c3c;
  background:#f6f6f6;
  border:1px solid #aaa;
  margin-bottom:1em;
  display:table;
  font-size:20px;
  width:auto;
  padding:18px;
}
.KLPTtoc ul,.KLPTtoc ol{margin:5px}
.KLPTtoc ul li,.KLPTtoc ol li{text-decoration:underline}
.KLPTtoc ul li::before{
  color:#184563;
  display:inline-block;
  width:1em;
}
.KLPTttltoc{text-align:left;font-weight:600}
.KLPTttltoc a{
  text-decoration:none;
  color:#021c3c;
  background-color:#f6f6f6;
}

.hr-stars{
  border:0;
  height:28px;
  margin:36px 0;
  background-repeat:no-repeat;
  background-position:center;
  background-size:160px 28px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 44'><g fill='%23DCA028'><path d='M22 2.6l5.4 11 12.1 1.8-8.8 8.6 2.1 12.1L22 30.3 11.2 36.1l2.1-12.1-8.8-8.6 12.1-1.8L22 2.6z'/><path d='M74 2.6l5.4 11 12.1 1.8-8.8 8.6 2.1 12.1L74 30.3l-10.8 5.8 2.1-12.1-8.8-8.6 12.1-1.8L74 2.6z'/><path d='M126 2.6l5.4 11 12.1 1.8-8.8 8.6 2.1 12.1L126 30.3l-10.8 5.8 2.1-12.1-8.8-8.6 12.1-1.8L126 2.6z'/><path d='M178 2.6l5.4 11 12.1 1.8-8.8 8.6 2.1 12.1L178 30.3l-10.8 5.8 2.1-12.1-8.8-8.6 12.1-1.8L178 2.6z'/><path d='M230 2.6l5.4 11 12.1 1.8-8.8 8.6 2.1 12.1L230 30.3l-10.8 5.8 2.1-12.1-8.8-8.6 12.1-1.8L230 2.6z'/></g></svg>");
}

.sidebar{display:flex;flex-direction:column;gap:14px}
.card{
  background:linear-gradient(180deg,#fafafa,#FFF 40%,#DCDCDC);
  border:1px solid rgba(180,190,190,.75);
  border-radius:var(--radius);
  padding:14px;
  box-shadow:0 10px 30px rgba(80,70,70,.06);
}
.card h2{margin:0 0 10px;font-size:1.15rem}

.search-row{display:flex;align-items:center;gap:8px}
.search-row .input{flex:1;min-width:0}
.search-row .btn{white-space:nowrap}

.form{display:flex;flex-direction:column;gap:8px}
.label{font-weight:700;color:var(--c-ink)}
.input,.textarea{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(180,190,190,.95);
  background:#fff;
  color:var(--c-ink);
}
.textarea{resize:vertical;min-height:110px}

.btn{
  border:1px solid rgba(110,100,100,.25);
  background:linear-gradient(180deg,var(--c-accent),var(--c-accent-2));
  color:var(--c-ink);
  font-weight:900;
  border-radius:12px;
  padding:10px 14px;
  cursor:pointer;
}
.btn:hover{filter:brightness(1.03)}
.btn:active{transform:translateY(1px)}
.btn-wide{width:100%}

.map-embed{
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(180,190,190,.85);
  background:linear-gradient(180deg,#fff,var(--c-surface-2));
}
.map-embed iframe{
  width:100%;
  height:220px;
  border:0;
  display:block;
}

.payments{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pay{
  border:1px solid rgba(180,190,190,.85);
  border-radius:14px;
  padding:10px;
  background:linear-gradient(180deg,#fff,var(--c-surface-2));
  display:grid;
  place-items:center;
}
.pay svg{width:64px;height:24px;fill:var(--c-ink);opacity:.95}

.footer{
  border-top:1px solid rgba(180,190,190,.55);
  background:#fff;
}
.footer-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:18px 16px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.footer-line{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:space-between;
}
.footer-menu{display:flex;flex-wrap:wrap;gap:12px}
.footer-menu a{text-decoration:underline;color:var(--c-ink)}
.footer-address{color:var(--c-ink)}
.footer-hours{color:var(--c-ink-soft)}

.social-wrap{
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}
.social{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.social-btn{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:12px;
  border:1px solid rgba(180,190,190,.8);
  background:linear-gradient(180deg,#fff,var(--c-surface-2));
  box-shadow:0 6px 18px rgba(80,70,70,.08);
}
.social-btn svg{width:22px;height:22px;fill:var(--c-ink)}
.social-btn:hover{border-color:var(--c-accent-2);transform:translateY(-1px)}
.social-btn:active{transform:translateY(0)}
.social-label{font-size:.9rem;color:var(--c-ink-soft)}

.floating-call{
  position:fixed;
  right:14px;
  bottom:14px;
  z-index:999;
  background:linear-gradient(180deg,var(--c-accent),var(--c-accent-2));
  border:1px solid rgba(110,100,100,.25);
  color:var(--c-ink);
  padding:12px 14px;
  border-radius:999px;
  box-shadow:0 18px 46px rgba(80,70,70,.22);
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
}
.floating-call-label{white-space:nowrap}
.floating-call:before{
  content:"";
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--c-warm-2);
  box-shadow:0 0 0 4px rgba(240,190,90,.35);
}

.muted{margin:10px 0 0;color:var(--c-ink-soft);font-size:.95rem}
.contact-link{text-decoration:underline}
.contact-list{margin:0;padding-left:18px;color:var(--c-ink)}

@media(max-width:1080px){
  .topbar{grid-template-columns:1fr;justify-items:center;text-align:center}
  .cta{justify-content:center}
}

@media(max-width:980px){
  .layout{grid-template-columns:1fr}
}

@media(max-width:860px){
  .nav-toggle{display:flex}
  .menu{display:none;margin-top:10px;gap:8px;flex-direction:column;align-items:stretch}
  .menu.is-open{display:flex}
  .menu>li>a{width:100%;justify-content:space-between}
  .sub{position:static;display:none;box-shadow:none;border-radius:14px;margin-top:6px;padding:8px}
  .has-sub:focus-within>.sub{display:block}
  .has-sub:hover>.sub{display:none}
  .sub-2{margin-left:0}
}

@media(max-width:520px){
  .logo,.cta-img{width:100%;max-width:400px;height:auto}
  .payments{grid-template-columns:1fr}
  .floating-call{left:14px;right:14px;justify-content:center}
}
