
:root{
  --green:#063e2e;
  --green2:#0d5a42;
  --gold:#c8941f;
  --ivory:#f7f3e9;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--ivory);font-family:Arial,Helvetica,sans-serif}
body{min-height:100vh}
.page-shell{
  position:relative;
  width:100%;
  max-width:none;
  margin:0;
  background:#fff;
  box-shadow:none;
  line-height:0
}
.page-image{display:block;width:100%;height:auto}
.hotspot{position:absolute;display:block;z-index:30;background:rgba(0,0,0,0);text-decoration:none}
.floating-home,.floating-products{
  position:fixed;bottom:18px;z-index:60;background:var(--green);color:#fff;
  border:1px solid var(--gold);border-radius:999px;padding:8px 11px;
  line-height:1;font-size:11px;text-decoration:none;box-shadow:0 3px 12px rgba(0,0,0,.18)
}
.floating-home{left:18px}
.floating-products{right:18px}
@media(max-width:720px){
  .floating-home,.floating-products{font-size:11px;padding:8px 10px;bottom:10px}
  .floating-home{left:10px}.floating-products{right:10px}
}


.functional-header{
  position:relative;
  width:100%;
  max-width:none;
  margin:0;
  z-index:1000;
  width:100%;
  height:54px;
  display:flex;
  align-items:center;
  padding:0 24px;
  gap:18px;
  border-bottom:1px solid rgba(193,143,28,.65);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1;
}
.functional-header.green{
  background:#063e2e;
  color:#fff;
}
.functional-header.light{
  background:#fffdf8;
  color:#113d30;
}
.functional-brand{
  display:flex;
  align-items:center;
  gap:10px;
  margin-right:auto;
  text-decoration:none;
  white-space:nowrap;
}
.functional-brand .mark{
  width:34px;
  height:34px;
  border:1.5px solid #c8941f;
  display:grid;
  place-items:center;
  color:#d8aa36;
  font:700 21px Georgia,serif;
}
.functional-brand .brandtext{
  font:700 14px Georgia,serif;
  letter-spacing:.03em;
}
.green .functional-brand .brandtext{color:#f1c75a}
.light .functional-brand .brandtext{color:#0b4433}
.functional-nav{
  display:flex;
  align-items:center;
  gap:16px;
}
.functional-nav a{
  text-decoration:none;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.02em;
  padding:8px 2px 7px;
  border-bottom:2px solid transparent;
  white-space:nowrap;
}
.green .functional-nav a{color:#fff}
.light .functional-nav a{color:#133f32}
.functional-nav a:hover,
.functional-nav a:focus{
  color:#d39e27;
  border-bottom-color:#d39e27;
}
.functional-cta{
  text-decoration:none;
  border:1.5px solid #c8941f;
  border-radius:4px;
  padding:9px 14px;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.green .functional-cta{color:#fff}
.light .functional-cta{color:#0b4433;background:#fff}
.functional-cta:hover{background:#c8941f;color:#fff}
@media(max-width:900px){
  .functional-header{
    height:auto;
    min-height:58px;
    flex-wrap:wrap;
    padding:8px 11px;
    gap:8px 12px;
  }
  .functional-brand{width:100%;margin-right:0}
  .functional-nav{
    width:100%;
    overflow-x:auto;
    gap:15px;
    padding-bottom:2px;
  }
  .functional-nav a{font-size:10px}
  .functional-cta{display:none}
}


/* Contact modal */
.contact-modal-backdrop{
  position:fixed; inset:0; z-index:5000;
  display:none; align-items:center; justify-content:center;
  background:rgba(4,32,23,.72); padding:20px;
}
.contact-modal-backdrop.open{display:flex}
.contact-modal{
  width:min(760px,96vw);
  max-height:92vh; overflow:auto;
  background:#fffdf8;
  border:1px solid #c8941f;
  border-radius:16px;
  box-shadow:0 24px 80px rgba(0,0,0,.35);
  padding:26px;
  line-height:1.35;
  color:#123b30;
  position:relative;
}
.contact-modal h2{
  margin:0 0 6px;
  font:700 32px Georgia,serif;
  color:#0b4937;
}
.contact-modal .modal-sub{
  margin:0 0 18px;
  color:#5b5b55;
  font-size:14px;
}
.modal-close{
  position:absolute; right:16px; top:14px;
  width:36px; height:36px; border-radius:50%;
  border:1px solid #c8941f; background:#fff;
  color:#0b4937; font-size:22px; cursor:pointer;
}
.contact-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:12px;
}
.contact-grid .wide{grid-column:1 / -1}
.contact-modal label{
  display:block; font-size:12px; font-weight:700; margin:0 0 5px;
}
.contact-modal input,
.contact-modal select,
.contact-modal textarea{
  width:100%; border:1px solid #d9d1bf; border-radius:8px;
  padding:11px 12px; font:14px Arial,Helvetica,sans-serif;
  color:#183d31; background:#fff;
}
.contact-modal textarea{min-height:130px; resize:vertical}
.contact-submit{
  width:100%; margin-top:14px;
  border:1px solid #c8941f;
  border-radius:999px;
  background:#064a37; color:#f4cf67;
  padding:13px 18px; font-weight:700; font-size:14px;
  cursor:pointer;
}
.contact-submit:hover{background:#0a5c44}
.modal-note{
  margin:10px 0 0; text-align:center;
  color:#6d6a62; font-size:12px;
}
.conversation-hotspot{
  position:absolute; z-index:50; display:block;
  background:rgba(0,0,0,0); border:0; cursor:pointer;
}
@media(max-width:700px){
  .contact-grid{grid-template-columns:1fr}
  .contact-grid .wide{grid-column:auto}
  .contact-modal{padding:22px 16px}
  .contact-modal h2{font-size:26px}
}


/* V6.13 direct editable Contact page form */
.contact-live-panel{
  position:absolute;
  z-index:90;
  left:41.0%;
  top:30.7%;
  width:55.6%;
  height:39.3%;
  background:#fffdf9;
  border:1px solid #e4dccb;
  border-radius:10px;
  padding:1.2% 1.7%;
  line-height:1.2;
  color:#0f3040;
  font-family:Arial,Helvetica,sans-serif;
}
.contact-live-panel h2{
  margin:0 0 1.2%;
  text-align:center;
  font:700 18px Georgia,serif;
  letter-spacing:.18em;
  color:#9a6415;
}
.contact-live-panel .gold-rule{
  width:46%;
  height:1px;
  background:#c8941f;
  margin:0 auto 1.5%;
}
.contact-live-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2.2% 2.5%;
}
.contact-live-field label,
.contact-live-wide label{
  display:block;
  font-size:11px;
  font-weight:700;
  margin-bottom:4px;
  color:#102d3d;
}
.contact-live-field input,
.contact-live-wide input,
.contact-live-wide textarea{
  width:100%;
  border:1px solid #ddd3c3;
  border-radius:4px;
  background:#fff;
  color:#183f4d;
  padding:8px 10px;
  font:12px Arial,Helvetica,sans-serif;
  outline:none;
}
.contact-live-field input:focus,
.contact-live-wide input:focus,
.contact-live-wide textarea:focus{
  border-color:#c8941f;
  box-shadow:0 0 0 2px rgba(200,148,31,.12);
}
.contact-live-wide{grid-column:1 / -1}
.contact-live-wide textarea{
  min-height:72px;
  resize:vertical;
}
.contact-live-radios{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px 20px;
  font-size:11px;
}
.contact-live-radios strong{margin-right:5px}
.contact-live-radios label{
  display:flex;
  align-items:center;
  gap:5px;
  cursor:pointer;
}
.contact-live-radios input{accent-color:#b77b19}
.contact-live-submit{
  grid-column:1 / -1;
  width:100%;
  border:1.5px solid #c8941f;
  border-radius:999px;
  background:#07513c;
  color:#f3cd68;
  padding:10px 12px;
  font:700 13px Georgia,serif;
  letter-spacing:.04em;
  cursor:pointer;
}
.contact-live-submit:hover{background:#0a6249}
.contact-live-note{
  grid-column:1 / -1;
  margin:0;
  text-align:center;
  color:#6c7076;
  font-size:9px;
}
/* Make the two visible Home-page START A CONVERSATION buttons fully clickable */
.home-conversation-hotspot{
  position:absolute;
  z-index:95;
  display:block;
  border:0;
  background:transparent;
  cursor:pointer;
}
@media(max-width:760px){
  .contact-live-panel{
    left:39.5%;
    width:58.5%;
    padding:1.2%;
  }
  .contact-live-panel h2{font-size:13px}
  .contact-live-field label,.contact-live-wide label{font-size:8px}
  .contact-live-field input,.contact-live-wide input,.contact-live-wide textarea{font-size:9px;padding:5px}
  .contact-live-wide textarea{min-height:45px}
  .contact-live-radios{font-size:8px;gap:4px 8px}
  .contact-live-submit{font-size:9px;padding:6px}
  .contact-live-note{display:none}
  }

.contact-copyright{
  position:absolute;
  z-index:120;
  left:0;
  right:0;
  bottom:1.15%;
  text-align:center;
  background:transparent;
  color:#f4f4ee;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(8px,0.72vw,11px);
  font-weight:400;
  line-height:1;
  letter-spacing:0;
  text-shadow:none;
  pointer-events:none;
}
