/* Coolabah — global tokens and base. Module-specific rules live in each module.css. */
:root{
  --c-teal:#4FB9A4;
  --c-teal-deep:#1A6355;
  --c-teal-hover:#3FA791;
  --c-black:#000000;
  --c-ink:#414141;
  --c-ink-soft:#5C5C5C;
  --c-line:#E6E6E6;
  --c-off:#FAFAFA;
  --c-white:#FFFFFF;
  --c-dark-line:#232323;
  --c-dark-text:#B9B9B9;
  --c-error:#B3261E;
  --f-disp:"Big Shoulders Display","Big Shoulders",Arial Narrow,sans-serif;
  --f-body:"Public Sans",Segoe UI,sans-serif;
  --f-acc:"Michroma","Conthrax SB",sans-serif;
  --radius:2px;
  --pad:clamp(20px,5vw,64px);
  --sec:clamp(56px,7vw,104px);
  --maxw:1240px;
  --header-h:76px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--f-body);color:var(--c-ink);background:#fff;-webkit-font-smoothing:antialiased;font-size:16px}
h1,h2,h3,h4{font-family:var(--f-disp);line-height:.94;text-transform:uppercase;letter-spacing:-.005em;margin:0;font-weight:700}
h1{font-size:clamp(38px,5vw,56px)}
h2{font-size:clamp(32px,4vw,46px)}
h3{font-size:clamp(22px,2.4vw,28px)}
p{margin:0;line-height:1.55;text-wrap:pretty}
img{max-width:100%}
a{color:var(--c-teal-deep)}
a:hover{color:var(--c-teal-hover)}
table{border-collapse:collapse;width:100%}
button{font:inherit}
:focus-visible{outline:3px solid currentColor;outline-offset:3px}

.cb-wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.cb-sec{padding:var(--sec) 0}
.cb-sec--line{border-bottom:1px solid var(--c-line)}
.cb-sec--off{background:var(--c-off)}
.cb-sec--dark{background:var(--c-black);color:#fff}
.cb-sec--dark h1,.cb-sec--dark h2,.cb-sec--dark h3{color:#fff}
.cb-eyebrow{font-family:var(--f-acc);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--c-teal-deep);display:block;margin-bottom:18px}
.cb-sec--dark .cb-eyebrow{color:var(--c-teal)}
.cb-lead{font-size:18px;color:var(--c-ink-soft);max-width:52ch;margin-top:20px}
.cb-sec--dark .cb-lead{color:var(--c-dark-text)}
.cb-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.cb-btn{font-family:var(--f-acc);font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:18px 30px;border-radius:var(--radius);display:inline-block;text-decoration:none;border:1px solid transparent;cursor:pointer}
.cb-btn--primary{background:var(--c-teal);color:#000}
.cb-btn--primary:hover{background:var(--c-teal-hover);color:#000}
.cb-btn--ghost{background:transparent;color:#fff;border-color:currentColor}
.cb-btn--ghost-dark{background:transparent;color:var(--c-black);border-color:var(--c-black)}
.cb-btn--sm{font-size:10px;padding:14px 18px}
.cb-btns{display:flex;align-items:center;gap:16px;flex-wrap:wrap}

/* HubSpot native forms, styled to match */
.cb-form .hs-form-field{margin-bottom:18px}
.cb-form label{display:block;font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:600;margin-bottom:8px}
.cb-form input[type=text],.cb-form input[type=email],.cb-form input[type=tel],.cb-form select,.cb-form textarea{
  width:100%;padding:15px 16px;border:1px solid var(--c-line);border-radius:var(--radius);font:inherit;font-size:15px;background:#fff;color:var(--c-ink)}
.cb-form input:focus,.cb-form select:focus,.cb-form textarea:focus{outline:2px solid var(--c-teal-deep);outline-offset:0;border-color:var(--c-teal-deep)}
.cb-form .hs-error-msg{color:var(--c-error);font-size:13px;margin-top:6px;display:block}
.cb-form .hs-button{font-family:var(--f-acc);font-size:11px;letter-spacing:.22em;text-transform:uppercase;background:var(--c-teal);color:#000;border:0;padding:18px 30px;border-radius:var(--radius);cursor:pointer}
.cb-form .hs-button:hover{background:var(--c-teal-hover)}
.cb-form--dark label{color:#fff}
.cb-form--dark input,.cb-form--dark select,.cb-form--dark textarea{background:#0A0A0A;border-color:var(--c-dark-line);color:#fff}

/* dnd column defaults */
.dnd-section{padding:0}
.dnd-section > .row-fluid{max-width:100%;margin:0 auto}
@media (max-width:767px){
  :root{--header-h:64px}
}
