/*
Theme Name: Impact Works Theme by Divi Extended
Theme URI: https://diviextended.com/divi-child-themes/
Description: Impact Works Theme
Author: Gearcidy Productions
Author URI: https://elicus.com/
Template: Divi
Version: 1.0.0
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: impact-works-theme
Domain Path: /languages
*/
:root { --ink:#16181A; --ink-900:#0D0E0F; --orange:#CD6632; --orange-600:#B4551F;
    --concrete:#ECEDE8; --bone:#F7F7F4; --steel:#2B3440; --line:#D6D8D2; --line-2:#C4C7BF;
    --body:#33373C; --muted:#787D74; --green:#00954B; --blue:#33669A; --amber:#E0A013;
    --gut:clamp(20px,5vw,84px); --maxw:1320px; }
.tbs * { box-sizing:border-box }
.tbs { scroll-behavior:smooth }
.tbs { margin:0;background:var(--bone);color:var(--body);font-family:"Inter",system-ui,sans-serif;font-size:17px;line-height:1.62;letter-spacing:-0.01em;-webkit-font-smoothing:antialiased }
.tbs h1, .tbs h2, .tbs h3, .tbs h4 { font-family:"Antonio",sans-serif;font-weight:600;margin:0;line-height:0.92;letter-spacing:-0.01em;color:var(--ink) }
.tbs /* dimension-line eyebrow (measured-drawing signature) */
  .ey { font-family:"Space Mono",monospace;font-size:12px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);display:inline-flex;align-items:center;gap:12px }
.tbs .ey::before { content:"";width:28px;height:0;border-top:1px solid var(--orange);position:relative }
.tbs .dim { display:flex;align-items:center;gap:14px;font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted) }
.tbs .dim .rule { flex:1;height:0;border-top:1px solid var(--line);position:relative }
.tbs .dim .rule::before, .tbs .dim .rule::after { content:"";position:absolute;top:-4px;width:1px;height:9px;background:var(--line-2) }
.tbs .dim .rule::before { left:0 }
.tbs .dim .rule::after { right:0 }
.tbs.hero h1 { font-size:clamp(56px,9.5vw,150px);font-weight:600;color:#fff;letter-spacing:-.02em }
.tbs .cell h3 { font-size:26px;line-height:1.02;color:var(--ink) }
.tbs.rw h2 { color:#fff }
.tbs.rw .dimrow { display:flex;align-items:center;gap:12px;margin:14px 0 22px;font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8f948b }
.tbs.rw .dimrow .rule { flex:1;height:0;border-top:1px solid rgba(255,255,255,.2);position:relative }
.tbs.rw .dimrow .rule::before, .tbs.rw .dimrow .rule::after { content:"";position:absolute;top:-4px;width:1px;height:9px;background:rgba(255,255,255,.35) }
.tbs.rw .dimrow .rule::before { left:0 }
.tbs.rw .dimrow .rule::after { right:0 }
.tbs.endorse h2 { color:#fff;font-size:clamp(34px,4.6vw,60px) }
.tbs p { margin:0 }
.tbs a { color:inherit;text-decoration:none }
.tbs /* hero */
  .hero { background:var(--ink);color:#EDEDE9;position:relative;overflow:hidden }
.tbs.hero .spec { font-family:"Space Mono",monospace;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);margin-top:20px }
.tbs.hero p.lede {;margin-top:22px;color:#C3C6C0;font-size:18px }
.tbs /* sections */
  section { padding-block:clamp(52px,7vw,104px) }
.tbs /* value / intro band */
  .value { background:var(--concrete) }
.tbs.value p { font-size:19px;color:var(--body) }
.tbs .cell { background:var(--bone);padding:34px 34px 40px;display:flex;gap:22px;align-items:flex-start }
.tbs .cell p { margin-top:10px;color:var(--muted);font-size:15px }
.tbs .num { font-family:"Space Mono",monospace;font-size:11px;color:var(--orange);letter-spacing:.1em;margin-bottom:8px }
.tbs /* real world (signature figure) */
  .rw { background:var(--ink);color:#EAEAE6 }
.tbs .figure { font-family:"Antonio",sans-serif;font-weight:700;font-size:clamp(88px,15vw,220px);line-height:.82;color:var(--orange);letter-spacing:-.02em }
.tbs .figure sub { font-family:"Space Mono",monospace;font-size:.11em;letter-spacing:.2em;color:#fff;vertical-align:super;margin-left:10px }
.tbs.rw ul { list-style:none;padding:0;margin:0 }
.tbs.rw li { padding:14px 0 14px 26px;border-top:1px solid rgba(255,255,255,.13);position:relative;color:#CFCFC9;font-size:16px }
.tbs.rw li::before { content:"";position:absolute;left:0;top:20px;width:13px;height:2px;background:var(--orange) }
.tbs .stamp { border:1px solid var(--line);background:var(--bone);padding:26px 24px 30px;display:flex;flex-direction:column;gap:16px }
.tbs .stamp .abbr { font-family:"Antonio",sans-serif;font-weight:700;font-size:34px;color:var(--ink);letter-spacing:.01em;line-height:.9 }
.tbs .stamp .nm { font-size:13.5px;color:var(--muted);line-height:1.35 }
.tbs /* who */
  .who { background:var(--concrete) }
.tbs.who .big { font-family:"Antonio",sans-serif;font-weight:500;font-size:clamp(30px,4.4vw,62px);line-height:1.02;color:var(--ink);margin-top:18px;letter-spacing:-.01em }
.tbs /* endorse (IW) */
  .endorse { background:var(--steel);color:#DCE2E8 }
.tbs.endorse p { margin-top:12px;color:#AEB8C2 }
.tbs a:focus-visible, .tbs button:focus-visible, .tbs input:focus-visible, .tbs textarea:focus-visible, .tbs select:focus-visible { outline:2px solid var(--orange);outline-offset:3px }
.tbs.et_pb_section{ padding:clamp(52px,7vw,104px) 0 }
.tbs .et_pb_row{ padding:0 }
.tbs.hero h1, .tbs.rw h2, .tbs.endorse h2{ color:#fff }
.tbs.hero .m{ font-family:"Space Mono",monospace; font-size:11.5px; line-height:1.5; letter-spacing:.14em; text-transform:uppercase; color:#9AA097; margin:0 }
.tbs.hero .m b{ color:#fff; font-weight:700 }
.tbs .herofoot-row{ border-top:1px solid rgba(255,255,255,.14); margin-top:clamp(24px,4vw,44px); padding-top:22px }
.tbs.rw .dimrow{ margin-top:clamp(40px,5vw,64px) }
.tbs .cell{ display:block; background:var(--bone); border:1px solid var(--line); padding:clamp(26px,3vw,38px); height:100% }
.tbs .cell .num{ font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.12em; color:var(--orange); margin:0 0 10px }
.tbs .cell h3{ font-family:"Antonio",sans-serif; font-weight:600; font-size:26px; line-height:1.02; color:var(--ink); margin:0 0 12px }
.tbs .cell p{ color:var(--muted); font-size:15px; margin:0 }
.tbs .stamp{ display:block; background:var(--bone); border:1px solid var(--line); padding:clamp(24px,2.6vw,30px); height:100% }
.tbs .stamp .abbr{ font-family:"Antonio",sans-serif; font-weight:700; font-size:34px; line-height:.9; color:var(--ink); margin:0 0 12px }
.tbs .stamp .nm{ font-size:13.5px; line-height:1.35; color:var(--muted) }
.tbs .dim-row{ margin-bottom:clamp(28px,3.5vw,48px) !important }
.tbs .grid-row{ align-items:stretch }
.tbs .grid-row .et_pb_column{ display:flex; flex-direction:column }
.tbs .grid-row .et_pb_column > .et_pb_module{ flex:1; display:flex; flex-direction:column; width:100% }
.tbs .grid-row .et_pb_text_inner{ flex:1; display:flex; flex-direction:column; width:100% }
.tbs .cell-col, .tbs .stamp-col{ width:100% }
.tbs .cell, .tbs .stamp{ flex:1; width:100% }
.tbs .grid-row{ margin-top:0 !important; margin-bottom:0 !important }
.tbs .grid-row .et_pb_column{ padding-left:0 !important; padding-right:0 !important }
.tbs .grid-row + .grid-row{ margin-top:-1px !important }
.tbs .grid-row .et_pb_column:not(:first-child) .cell,
.tbs .grid-row .et_pb_column:not(:first-child) .stamp{ margin-left:-1px }
.tbs .gform_wrapper form{ margin:0 }
.tbs .gform_wrapper .gfield_label{ font-family:"Space Mono",monospace; font-size:10.5px; font-weight:400; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:6px }
.tbs .gform_wrapper .ginput_container input:not([type=submit]),.tbs .gform_wrapper .ginput_container textarea,.tbs .gform_wrapper .ginput_container select,.tbs .gform_wrapper input:not([type=submit]),.tbs .gform_wrapper textarea{ width:100%; background:var(--bone); border:1px solid var(--line); border-radius:0; color:var(--ink); font-family:"Inter",sans-serif; font-size:15px; padding:12px 14px; box-shadow:none }
.tbs .gform_wrapper .ginput_container textarea{ min-height:110px; resize:vertical }
.tbs .gform_wrapper input:focus,.tbs .gform_wrapper textarea:focus,.tbs .gform_wrapper select:focus{ outline:2px solid var(--orange); outline-offset:2px; border-color:var(--orange) }
.tbs .gform_wrapper .gfield_required{ color:var(--orange) }
.tbs .gform_wrapper .validation_message,.tbs .gform_wrapper .gfield_validation_message{ font-size:12.5px; color:#b4361f }
.tbs h1{ font-size:clamp(34px,4.6vw,60px); line-height:1 }
.tbs h2{ font-size:clamp(26px,3.2vw,44px); line-height:1.02 }
.tbs h3{ line-height:1.02 }
.tbs.hero h1{ font-size:clamp(56px,9.5vw,150px) }
.tbs .et_pb_gallery img,.tbs .et_pb_gallery_item img{ display:block; width:100%; height:100%; object-fit:cover; border-radius:0 }
.tbs .et_pb_gallery_item{ overflow:hidden }
.tbs.coming-soon .value-row{ margin-top:0 !important; margin-bottom:0 !important }
.tbs.coming-soon .value-row + .value-row{ margin-top:16px !important }
.tbs.coming-soon h1{ margin-bottom:10px }
.tbs.coming-soon h2{ font-size:clamp(16px,1.8vw,22px); font-weight:500; color:var(--muted); letter-spacing:0 }
.tbs.coming-soon .grid-row{ margin-top:34px !important }
.tbs .figure.cta{ font-size:clamp(30px,4.4vw,62px); font-weight:500; line-height:1.02; letter-spacing:-.01em }
.tbs .et_pb_gallery_title,.tbs .et_pb_gallery_caption,.tbs .et_pb_gallery_item .et_pb_gallery_title,.tbs .et_pb_gallery_item h3{ display:none !important }
.tbs.coming-soon .grid-row + .grid-row{ margin-top:-1px !important }
.tbs.coming-soon .grid-row + .value-row{ margin-top:56px !important }
.tbs .gallery-full{ width:100% !important; max-width:100% !important }
.tbs .gallery-full .et_pb_column{ padding-left:0 !important; padding-right:0 !important }
.tbs .gallery-full .et_pb_gallery{ width:100% }
.tbs .gallery-full .ey{ padding-left:clamp(20px,5vw,84px); margin-bottom:20px }
.tbs .gform_wrapper .gform_footer input[type="submit"],
.tbs .gform_wrapper .gform_footer button[type="submit"],
.tbs .gform_wrapper .gform_button,
.tbs .gform_wrapper input.gform_button,
.tbs .gform_wrapper button.gform_button,
.tbs form[id^="gform_"] input[type="submit"]{
  background:var(--orange) !important; background-image:none !important;
  color:#fff !important; border:1px solid var(--orange) !important; border-radius:0 !important;
  font-family:"Space Mono",monospace !important; font-weight:700 !important; font-size:12.5px !important;
  letter-spacing:.12em !important; text-transform:uppercase !important; padding:15px 28px !important;
  box-shadow:none !important; text-shadow:none !important; cursor:pointer !important; transition:background .18s !important;
}
.tbs .gform_wrapper .gform_footer input[type="submit"]:hover,
.tbs .gform_wrapper .gform_footer button[type="submit"]:hover,
.tbs .gform_wrapper .gform_button:hover,
.tbs form[id^="gform_"] input[type="submit"]:hover{
  background:var(--orange-600) !important; border-color:var(--orange-600) !important; color:#fff !important;
}
.tbs.site-footer{ background:var(--ink-900); color:#C9CDC6 }
.tbs.site-footer .fhead{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:0 0 16px }
.tbs.site-footer .fname{ font-family:"Antonio",sans-serif; font-weight:600; font-size:22px; line-height:1; color:var(--orange); margin:0; letter-spacing:-.01em }
.tbs.site-footer .fsub{ display:flex; align-items:center; gap:10px; font-family:"Space Mono",monospace; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:#787D74; margin:0 }
.tbs.site-footer .fsub::before{ content:""; width:22px; height:1px; background:var(--orange); flex:0 0 auto }
.tbs.site-footer .faddr,.tbs.site-footer .fline{ font-size:14px; line-height:1.55; color:#C9CDC6; margin:0 0 8px }
.tbs.site-footer a{ color:#ffffff; text-decoration:none; transition:color .15s }
.tbs.site-footer a:hover{ color:var(--orange) }
.tbs.site-footer .fline b,.tbs.site-footer .faddr b{ color:var(--orange); font-weight:700 }
.tbs.site-footer .fceda-logo{ margin:0 0 18px }
.tbs.site-footer .fceda-logo img{ max-width:220px; width:auto; height:auto }
.tbs.site-footer .foot-bar{ margin-top:36px; font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:#6a6f66 }
.tbs.site-footer .fline .ext{ font-family:"Space Mono",monospace; font-size:10.5px; color:#6a6f66; font-weight:400; letter-spacing:.05em }

/* CEDA callout — bordered box holding a 4-column layout: logo | phones | web+email | address */
.tbs.ceda-bar.et_pb_section{ background:#16181A; padding-top:40px !important; padding-bottom:40px !important }
.tbs.site-footer .ceda-callout{ margin-left:auto !important; margin-right:auto !important; margin-top:0; margin-bottom:0; column-gap:0 !important }
.tbs.site-footer .ceda-callout .fceda-logo{ margin:0 }
/* vertical dividers between the CEDA columns */
/* CEDA band columns — logo column shrinks to fit, three info columns share the rest, dividers between */
.tbs.site-footer .ceda-callout .et_pb_column{ margin:0 !important; width:auto !important; max-width:none !important; flex:1 1 0 !important; padding:0 clamp(22px,2.5vw,44px); display:flex; flex-direction:column; justify-content:center }
.tbs.site-footer .ceda-callout .et_pb_column:first-child{ flex:0 0 auto !important; padding-left:0; padding-right:clamp(28px,3vw,48px) }
.tbs.site-footer .ceda-callout .et_pb_column:not(:first-child){ border-left:1px solid rgba(255,255,255,.14) }