/* ===== Suncoast Site Works — nav, responsive & accessibility layer ===== */

/* --- Skip link & focus --- */
.ssw-skip{position:absolute;left:-9999px;top:0;background:#14232E;color:#fff;
  padding:12px 18px;z-index:100000;font-family:'IBM Plex Mono',monospace;font-size:13px;
  border-radius:0 0 4px 0;text-decoration:none}
.ssw-skip:focus{left:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #EE6B22;outline-offset:2px}

/* --- Header / nav --- */
.ssw-nav{display:flex;align-items:center;justify-content:space-between;
  padding:14px 56px;border-bottom:1px solid #DDE4EA;background:#fff;
  position:relative;font-family:'Space Grotesk',sans-serif}
.ssw-logo{display:flex;align-items:center;gap:11px;text-decoration:none}
.ssw-wordmark{line-height:1}
.ssw-w1{display:block;font-size:17px;font-weight:700;letter-spacing:.02em;color:#14232E}
.ssw-w2{display:block;font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:#1B5DA6;
  letter-spacing:.3em;margin-top:3px}
.ssw-menu{display:flex;align-items:center;gap:26px;font-size:15px;font-weight:500}
.ssw-menu>a{text-decoration:none;color:#14232E;padding:10px 2px;min-height:44px;display:flex;align-items:center}
.ssw-menu>a:hover{color:#EE6B22}
.ssw-cta{background:#14232E;color:#fff !important;padding:12px 24px !important;font-weight:700;
  font-size:14px;border-radius:4px}
.ssw-cta:hover{background:#1B5DA6}
.ssw-dd{position:relative}
.ssw-dd-top{background:none;border:none;font:inherit;font-weight:500;color:#14232E;cursor:pointer;
  padding:10px 2px;min-height:44px;display:flex;align-items:center;gap:4px}
.ssw-dd-top:hover{color:#EE6B22}
.ssw-dd-panel{position:absolute;top:100%;left:0;min-width:210px;background:#fff;
  border:1px solid #DDE4EA;border-top:3px solid #1B5DA6;border-radius:0 0 6px 6px;
  box-shadow:0 12px 30px rgba(20,35,46,.12);padding:8px;display:none;z-index:9000}
.ssw-dd-panel.locs{display:none;grid-template-columns:1fr 1fr;min-width:320px}
.ssw-dd:hover .ssw-dd-panel,.ssw-dd:focus-within .ssw-dd-panel{display:block}
.ssw-dd:hover .ssw-dd-panel.locs,.ssw-dd:focus-within .ssw-dd-panel.locs{display:grid}
.ssw-dd-panel a{display:block;text-decoration:none;color:#14232E;font-size:14px;
  padding:10px 12px;border-radius:4px;min-height:40px}
.ssw-dd-panel a:hover{background:#F5F8FB;color:#EE6B22}
.ssw-burger{display:none;flex-direction:column;justify-content:center;gap:5px;
  width:46px;height:46px;background:none;border:1px solid #DDE4EA;border-radius:4px;cursor:pointer}
.ssw-burger span{display:block;width:22px;height:2px;background:#14232E;margin:0 auto;transition:.2s}
.ssw-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ssw-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.ssw-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* --- Mobile --- */
@media (max-width:960px){
  .ssw-nav{padding:12px 22px;flex-wrap:wrap}
  .ssw-burger{display:flex}
  .ssw-menu{display:none;flex-direction:column;align-items:stretch;gap:0;width:100%;order:3;
    margin-top:12px;font-size:16px}
  .ssw-menu.open{display:flex}
  .ssw-menu>a,.ssw-dd-top{width:100%;padding:14px 6px;border-top:1px solid #EEF2F6}
  .ssw-cta{text-align:center;margin-top:10px;border-radius:4px}
  .ssw-dd{width:100%}
  .ssw-dd-panel,.ssw-dd-panel.locs{position:static;box-shadow:none;border:none;
    border-radius:0;padding:0 0 0 12px;grid-template-columns:1fr}
  .ssw-dd:hover .ssw-dd-panel,.ssw-dd:hover .ssw-dd-panel.locs{display:none}
  .ssw-dd-panel.open{display:block}
  .ssw-dd-panel.locs.open{display:grid;grid-template-columns:1fr 1fr}
}

/* --- Collapse the design's inline grids on small screens --- */
@media (max-width:820px){
  [style*="grid-template-columns:repeat(4"],
  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns:1.3fr 0.9fr 0.9fr 1.5fr"],
  [style*="grid-template-columns:1.2fr 0.8fr"],
  [style*="grid-template-columns:0.9fr 1.4fr"],
  [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important}
  [style*="padding:80px 56px"],[style*="padding:84px 56px"],[style*="padding:76px 56px"],
  [style*="padding:72px 56px"],[style*="padding:64px 56px"],[style*="padding:44px 56px"],
  [style*="padding:16px 56px"],[style*="padding:56px"]{
    padding-left:22px !important;padding-right:22px !important}
  h1[style]{font-size:38px !important;line-height:1.1 !important}
  [style*="font-size:62px"]{font-size:38px !important;line-height:1.08 !important}
  [style*="font-size:46px"]{font-size:32px !important}
  [style*="font-size:40px"]{font-size:28px !important}
  [style*="font-size:38px"]{font-size:26px !important}
}
@media (max-width:520px){
  [style*="grid-template-columns:repeat(2"]{grid-template-columns:1fr !important}
  .ssw-dd-panel.locs.open{grid-template-columns:1fr}
}

/* --- Accessibility widget toggles (scoped to .canvas) --- */
html.ssw-contrast .canvas{filter:contrast(1.3) saturate(1.05)}
html.ssw-font .canvas *{font-family:Arial,Helvetica,sans-serif !important;letter-spacing:.012em !important}
html.ssw-links .canvas a{text-decoration:underline !important;text-underline-offset:3px;font-weight:700 !important}
html.ssw-motion *{animation:none !important;transition:none !important;scroll-behavior:auto !important}
html.ssw-cursor,html.ssw-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cpath d='M6 3l30 17-13 3-4 14z' fill='%2314232E' stroke='%23EE6B22' stroke-width='2.5'/%3E%3C/svg%3E") 6 3,auto !important}

.ssw-fab{position:fixed;bottom:20px;right:20px;z-index:99998;width:54px;height:54px;border-radius:50%;
  background:#14232E;border:3px solid #EE6B22;color:#EE6B22;cursor:pointer;display:flex;
  align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(20,35,46,.4)}
.ssw-fab:hover{background:#1B5DA6}
.ssw-fab svg{width:28px;height:28px}
.ssw-panel{position:fixed;bottom:84px;right:20px;z-index:99999;width:312px;max-width:calc(100vw - 32px);
  background:#fff;border:2px solid #14232E;border-radius:8px;box-shadow:0 12px 44px rgba(20,35,46,.34);
  padding:20px 18px 16px;font-family:'Space Grotesk',sans-serif;display:none}
.ssw-panel.open{display:block}
.ssw-panel h2{margin:0 0 2px;font-size:22px;font-weight:700;color:#14232E;letter-spacing:-.01em}
.ssw-panel .ssw-sub{margin:0 0 14px;font-size:11px;color:#5E7285;font-family:'IBM Plex Mono',monospace;letter-spacing:.08em}
.ssw-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ssw-opt{display:flex;flex-direction:column;align-items:center;gap:7px;padding:13px 6px;
  border:1px solid #DDE4EA;border-radius:4px;background:#F5F8FB;color:#14232E;font-size:12px;
  font-weight:700;cursor:pointer;text-align:center}
.ssw-opt:hover{border-color:#1B5DA6}
.ssw-opt[aria-pressed="true"]{background:#14232E;color:#EE6B22;border-color:#14232E}
.ssw-opt svg{width:22px;height:22px}
.ssw-reset{margin-top:12px;width:100%;padding:12px;border:none;border-radius:4px;background:#EE6B22;
  color:#fff;font-weight:700;font-size:14px;cursor:pointer;font-family:'Space Grotesk',sans-serif}
.ssw-reset:hover{background:#D95412}
.ssw-close{position:absolute;top:6px;right:10px;background:none;border:none;font-size:24px;
  color:#5E7285;cursor:pointer;line-height:1;padding:4px}
.ssw-close:hover{color:#14232E}
@media (max-width:560px){.ssw-fab{bottom:14px;right:14px}.ssw-panel{bottom:78px;right:14px}}

/* ===== Boxed content layout (ref: hercleanco.com) =====
   Section backgrounds stay full-bleed; nav + text content center in a ~1290px column. */
:root{--ssw-max:1290px;--ssw-gutter:32px}
@media (min-width:821px){
  /* every full-width section shell uses "…px 56px" horizontal padding */
  [style*="px 56px"],[style*="padding:0 56px"],[style*="padding:56px;display:grid"]{
    padding-left:max(var(--ssw-gutter),calc((100% - var(--ssw-max))/2)) !important;
    padding-right:max(var(--ssw-gutter),calc((100% - var(--ssw-max))/2)) !important;
  }
  /* CTA band / side-margin cards center to the same column */
  [style*="margin:0 56px 72px"]{
    margin-left:max(var(--ssw-gutter),calc((100% - var(--ssw-max))/2)) !important;
    margin-right:max(var(--ssw-gutter),calc((100% - var(--ssw-max))/2)) !important;
  }
}
@media (min-width:961px){
  .ssw-nav{
    padding-left:max(var(--ssw-gutter),calc((100% - var(--ssw-max))/2)) !important;
    padding-right:max(var(--ssw-gutter),calc((100% - var(--ssw-max))/2)) !important;
  }
}

/* Blog post reading column centered under the boxed layout */
[style*="max-width:820px"]{margin-left:auto !important;margin-right:auto !important}
