
:root {
  --amber: #F4D000;
  --blue: rgb(28,60,159);
  --cream: #F2EFE9;
  --cream-2: #E8E4DB;
  --ember: #D9342B;
  --ember-deep: #B5251D;
  --ink: #14110F;
  --ink-soft: #4A4541;
  --line: rgba(20,17,15,.1);
  --white: #fff;
}

/* Global base styles */

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body { font-family: "Archivo", sans-serif; background: #fff; color: var(--ink); font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; }

a {color: inherit; text-decoration: none;}
img { display: block; max-width: 100%; }
svg { max-width: 100%; }

button { font-family: inherit; }

/* home page fixed header style start */

.page-id-70 .nav.scrolled { opacity: 0; pointer-events: none; }

.admin-bar .nav-bar {
  top: 32px; z-index: 100001;
}

.nav-bar {
  position: fixed; top: 0; left: 0; right: 0;
  z-index: 49;
  pointer-events: none;
  padding: 14px 40px;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity .3s ease, transform .3s ease;
}
.nav-bar.visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.nav-bar-inner {
  background: var(--blue);
  border-radius: 8px;
  padding: 12px 24px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px;
  box-shadow: 0 8px 32px -8px rgba(28,60,159,.45);
  max-width: 1480px; margin: 0 auto;
}
.nav-bar-logo { display: flex; align-items: center; line-height: 0; }
.nav-bar-logo img { height: 32px; width: auto; display: block; }
.nav-bar-cta {
  background: #fff; color: var(--ember);
  padding: 11px 20px; border-radius: 4px;
  font-weight: 700; font-size: 14px; font-family: inherit;
  border: none; cursor: pointer; white-space: nowrap;
  display: inline-flex; align-items: center; gap: 8px;
  transition: background .2s, color .2s, gap .2s;
}
.nav-bar-cta::after { content: "→"; }
.nav-bar-cta:hover { background: var(--amber); color: var(--ink); gap: 12px; }

/* nb-links menu — flat list inside the floating bar (no second pill). */
.nav-bar .nb-links {
  list-style: none; margin: 0; padding: 0;
  display: flex; align-items: center; gap: 24px;
  font-size: 15px; font-weight: 700;
  background: transparent; box-shadow: none; border-radius: 0;
}
.nav-bar .nb-links li { list-style: none; position: relative; }
.nav-bar .nb-links li > a {
  display: block; padding: 4px 0;
  color: #fff; opacity: .9; text-decoration: none;
  transition: opacity .2s, color .2s;
}
.nav-bar .nb-links li > a:hover { opacity: 1; color: var(--amber); }
.nav-bar .nb-links .menu-item-has-children > a::after {
  content: " ▾"; font-size: .65em; vertical-align: middle; opacity: .8;
}
/* Hover bridge so the dropdown doesn't snap shut crossing the gap. */
.nav-bar .nb-links .menu-item-has-children::after {
  content: ""; position: absolute;
  left: -20px; right: -20px;
  top: 100%; height: 20px;
}
.nav-bar .nb-links .sub-menu {
  list-style: none; margin: 0; padding: 8px;
  position: absolute; top: calc(100% + 16px); left: 50%;
  transform: translateX(-50%) translateY(-4px);
  min-width: 320px;
  background: #fff; border-radius: 8px;
  box-shadow: 0 16px 40px -8px rgba(20,17,15,.16), 0 0 0 1px rgba(20,17,15,.07);
  opacity: 0; pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
  z-index: 200;
}
.nav-bar .nb-links .menu-item-has-children:hover > .sub-menu,
.nav-bar .nb-links .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1; pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.nav-bar .nb-links .sub-menu li { display: block; }
.nav-bar .nb-links .sub-menu a {
  display: block; padding: 14px 18px;
  font-size: 15px; font-weight: 500; color: var(--ink) !important;
  opacity: 1 !important; border-radius: 5px;
  border-bottom: 1px solid rgba(20,17,15,.06);
  position: relative;
  transition: color .15s ease, padding-left .15s ease;
}
.nav-bar .nb-links .sub-menu li:last-child a { border-bottom: none; }
.nav-bar .nb-links .sub-menu a::before {
  content: "—"; position: absolute; left: 16px;
  color: var(--ember); font-weight: 700;
  opacity: 0; transition: opacity .15s ease;
}
.nav-bar .nb-links .sub-menu a:hover { color: var(--ember) !important; padding-left: 34px; }
.nav-bar .nb-links .sub-menu a:hover::before { opacity: 1; }

/* home page fixed header style end */


.container { width: 100%;max-width: 1280px;margin: 0px auto;padding: 0px 20px; }
.wrap { max-width: 1280px; margin: 0 auto; padding: 0 20px;}

/* nav style start */

.admin-bar .nav { top: 32px; z-index: 100002; }

.nav {position: absolute;top: 0;left: 0;right: 0;z-index: 50;padding: 26px 56px;display: flex;align-items: center;justify-content: space-between;color: #fff;}
.nav-logo img {height: 38px;width: auto;}
.nav-right {display: flex;align-items: center;gap: 32px;}
.nav-pill {}
.nav-pill ul {list-style: none;
  padding: 10px 22px;
  margin: 0;
  font-size: 14px;font-weight: 700;position: relative;
  display: flex;
  align-items: center; background: var(--blue);
  border-radius: 8px;
  gap: 24px;
  font-size: 16px;
  font-weight: 700;
  box-shadow: 0 6px 16px -10px rgba(0,0,0,.45); }
.nav-pill ul li {list-style: none;
  position: relative;}
.nav-pill ul li a { display: block; padding: 4px 0; color: #fff;opacity: .85;transition: opacity .2s,color .2s; position: relative; }
.nav-pill ul li a:hover {opacity: 1;color: var(--amber);}


.nav .menu-item-has-children .sub-menu {
  list-style: none;
  margin: 0;
  padding: 8px;
  position: absolute;
  top: calc(100% + 20px);
  left: 50%;
  transform: translateX(-50%) translateY(-4px);
  min-width: 320px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 16px 40px -8px rgba(20,17,15,.16), 0 0 0 1px rgba(20,17,15,.07);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
  z-index: 200; display: block;
}

.nav .menu-item-has-children:hover > .sub-menu, 
.nav .menu-item-has-children:focus-within > .sub-menu  { opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0); }
.nav .sub-menu li { display: block; }
.nav .sub-menu li a {display: block;padding: 14px 18px;font-size: 15px;font-weight: 500;color: var(--ink);border-radius: 5px;border-bottom: 1px solid rgba(20,17,15,.06);position: relative;transition: color .15s,padding-left .15s;opacity: 1;}
.nav .sub-menu li a:last-child {border-bottom: none;}
.nav .sub-menu li a::before {content: "—";position: absolute;left: 16px;opacity: 0;color: var(--ember);font-weight: 700;transition: opacity .15s;}
.nav .sub-menu li a:hover {color: var(--ember);padding-left: 34px;}

.nav .menu-item-has-children::after {
  content: "";
  position: absolute;
  left: -20px;
  right: -20px;
  top: 100%;
  height: 20px;
}

.nav .sub-menu li a:hover::before {opacity: 1;}


.nav-cta {background: #fff;color: var(--ember);padding: 12px 20px;border-radius: 4px;font-weight: 700;font-size: 14px;display: inline-flex;align-items: center;gap: 8px;transition: background .2s,color .2s,gap .2s;}
.nav-cta::after {content: "→";}
.nav-cta:hover {background: var(--amber);color: var(--ink);gap: 12px;}
/* nav style end */

/* drawer style start */

/* ---------- GRAVITY FORM inside the booking drawer ----------
   Match the dark drawer design (blue panel, translucent fields, amber CTA). */



.drawer .gform_wrapper { margin: 0; }
.drawer .gform_wrapper form { margin: 0; }
.drawer .gform_wrapper .gform_fields {
  display: grid; grid-template-columns: 1fr; gap: 18px;
}
.drawer .gform_wrapper .gfield_label,
.drawer .gform_wrapper legend.gfield_label {
  display: block; font-size: 12px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: rgba(255,255,255,.7); margin-bottom: 7px;
}
.drawer .gform_wrapper .gfield_required { color: var(--amber); }
.drawer .gform_wrapper input[type=text],
.drawer .gform_wrapper input[type=email],
.drawer .gform_wrapper input[type=tel],
.drawer .gform_wrapper input[type=number],
.drawer .gform_wrapper textarea,
.drawer .gform_wrapper select {
  width: 100%; padding: 13px 14px;
  border: 1px solid rgba(255,255,255,.25); border-radius: 4px;
  font-family: inherit; font-size: 14px; color: #fff;
  background: rgba(255,255,255,.12); outline: none;
  box-shadow: none; appearance: none;
}
/* Selects match the other translucent fields; just add an explicit chevron
   (the native arrow is removed by appearance:none above). The option list pops
   over a white native menu, so options stay dark-on-white for readability. */
.drawer .gform_wrapper select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23F4D000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 38px;
  cursor: pointer;
}
.drawer .gform_wrapper select option { color: #14110F; background: #fff; }
.drawer .gform_wrapper select:invalid,
.drawer .gform_wrapper select option[disabled] { color: rgba(255,255,255,.75); }
.drawer .gform_wrapper input::placeholder,
.drawer .gform_wrapper textarea::placeholder { color: rgba(255,255,255,.75); }
.drawer .gform_wrapper input:focus,
.drawer .gform_wrapper textarea:focus,
.drawer .gform_wrapper select:focus {
  border-color: var(--amber);
  box-shadow: 0 0 0 3px rgba(244,208,0,.2);
}
.drawer .gform_wrapper .gform_footer { margin: 22px 0 0; padding: 0; }
.drawer .gform_wrapper .gform_footer { display: block; }
.drawer .gform_wrapper .gform_footer input[type=submit],
.drawer .gform_wrapper .gform_footer input[type=submit].gform_button,
.drawer .gform_wrapper .gform_footer button,
.drawer .gform_wrapper .gform-footer input[type=submit],
.drawer .gform_wrapper .gform-footer input[type=submit].gform_button,
.drawer .gform_wrapper .gform-footer button {
  width: 100% !important; padding: 16px !important;
  background: var(--amber) !important; color: var(--ink) !important;
  border: none !important; border-radius: 4px !important; font-family: inherit;
  font-size: 15px; font-weight: 700; cursor: pointer;
  transition: background .2s, color .2s, transform .15s;
}
.drawer .gform_wrapper .gform_footer input[type=submit]:hover,
.drawer .gform_wrapper .gform_footer input[type=submit].gform_button:hover,
.drawer .gform_wrapper .gform_footer button:hover,
.drawer .gform_wrapper .gform-footer input[type=submit]:hover,
.drawer .gform_wrapper .gform-footer button:hover {
  background: var(--ink) !important; color: var(--amber) !important; transform: translateY(-1px);
}
.drawer .gform_wrapper .gfield_description,
.drawer .gform_wrapper .gform_required_legend { color: rgba(255,255,255,.6); font-size: 12px; }
.drawer .gform_wrapper .gfield_validation_message,
.drawer .gform_wrapper .validation_message {
  color: #ffd9d4; background: rgba(217,52,43,.25);
  border: 1px solid rgba(255,255,255,.2); border-radius: 3px;
  font-size: 12px; padding: 6px 10px; margin-top: 6px;
}
.drawer .gform_wrapper .gform_validation_errors {
  background: rgba(217,52,43,.25); border: 1px solid rgba(255,255,255,.2);
  color: #fff; border-radius: 4px; padding: 12px 14px; margin-bottom: 16px; font-size: 13px;
}
.drawer .gform_confirmation_message {
  color: #fff; font-size: 15px; line-height: 1.6;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
  border-radius: 6px; padding: 22px 24px;
}
.drawer .gform_wrapper .gform_ajax_spinner { filter: brightness(3); margin-left: 10px; }



/* ---------- SLIDE-IN DRAWER ---------- */
.drawer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(20,17,15,.45);
    z-index: 100;
    opacity: 0;
    pointer-events: none;
    transition: opacity .35s ease;
    backdrop-filter: blur(2px);
}

.drawer-overlay.open {
    opacity: 1;
    pointer-events: all;
}

.drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 560px;
    background: rgb(28,60,159);
    z-index: 999999;
    transform: translateX(100%);
    transition: transform .4s cubic-bezier(.22,.61,.36,1);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

.drawer.open {
    transform: translateX(0);
}

.drawer-header {
    background: rgb(28,60,159);
    color: #fff;
    padding: 36px 32px 28px;
    position: relative;
    flex-shrink: 0;
    border-bottom: 1px solid rgba(255,255,255,.15);
}

.drawer-header::before {
    content: none;
}

.drawer-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,.15);
    border: none;
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s;
}

.drawer-close:hover {
    background: rgba(255,255,255,.28);
}

.drawer-header .d-eyebrow {
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--amber);
    margin-bottom: 10px;
}

.drawer-header h3 {
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.15;
    margin: 0 0 10px;
    color: #fff;
}

.drawer-header p {
    font-size: 15px;
    color: rgba(255,255,255,.8);
    margin: 0;
    line-height: 1.55;
}

.drawer-body {
    padding: 28px 32px 36px;
    flex: 1;
}

.drawer-field {
    margin-bottom: 20px;
}

.drawer-field label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,.7);
    margin-bottom: 7px;
}

.drawer-field .opt {
    font-size: 10px;
    font-weight: 500;
    opacity: .6;
    margin-left: 4px;
    text-transform: none;
    letter-spacing: 0;
}

.drawer-field input, .drawer-field select, .drawer-field textarea {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 4px;
    font-family: inherit;
    font-size: 14px;
    color: #fff;
    background: rgba(255,255,255,.12);
    outline: none;
    transition: border-color .2s, box-shadow .2s;
    appearance: none;
}

.drawer-field select {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M4 6l4 4 4-4' stroke='%23ffffff' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 16px;
    padding-right: 40px;
    cursor: pointer;
    color-scheme: dark;
}

.drawer-field textarea {
    resize: vertical;
    min-height: 100px;
}

.drawer-field input::placeholder, .drawer-field textarea::placeholder {
    color: rgba(255,255,255,.75);
}

.drawer-field input:focus, .drawer-field select:focus, .drawer-field textarea:focus {
    border-color: var(--amber);
    box-shadow: 0 0 0 3px rgba(244,208,0,.2);
}

.drawer-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.drawer-cta {
    width: 100%;
    padding: 16px;
    background: var(--amber);
    color: var(--ink);
    border: none;
    border-radius: 4px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    margin-top: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: background .2s, gap .2s, transform .15s, box-shadow .2s;
}

.drawer-cta:hover {
    background: var(--ink);
    color: var(--amber);
    gap: 16px;
    transform: translateY(-1px);
    box-shadow: 0 10px 28px -10px rgba(20,17,15,.4);
}

.drawer-trust {
    margin-top: 18px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.drawer-trust li {
    list-style: none;
    font-size: 13px;
    color: rgba(255,255,255,.75);
    display: flex;
    align-items: center;
    gap: 8px;
}

.drawer-trust li::before {
    content: "✓";
    font-size: 13px;
    font-weight: 700;
    color: var(--amber);
    flex-shrink: 0;
}

.drawer .gform_wrapper { margin: 0; }
.drawer .gform_wrapper form { margin: 0; }
.drawer .gform_wrapper .gform_fields {
  display: grid; grid-template-columns: 1fr; gap: 18px;
}
.drawer .gform_wrapper .gfield_label,
.drawer .gform_wrapper legend.gfield_label {
  display: block; font-size: 12px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: rgba(255,255,255,.7); margin-bottom: 7px;
}
.drawer .gform_wrapper .gfield_required { color: var(--amber); }
.drawer .gform_wrapper input[type=text],
.drawer .gform_wrapper input[type=email],
.drawer .gform_wrapper input[type=tel],
.drawer .gform_wrapper input[type=number],
.drawer .gform_wrapper textarea,
.drawer .gform_wrapper select {
  width: 100%; padding: 14px;
  border: 1px solid rgba(255,255,255,.25); border-radius: 4px;
  font-family: inherit; font-size: 14px; color: #fff;
  background: rgba(255,255,255,.12); outline: none;
  box-shadow: none; appearance: none;
}
/* Selects match the other translucent fields; just add an explicit chevron
   (the native arrow is removed by appearance:none above). The option list pops
   over a white native menu, so options stay dark-on-white for readability. */
.drawer .gform_wrapper select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23F4D000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 38px;
  cursor: pointer;
}
.drawer .gform_wrapper select option { color: #14110F; background: #fff; }
.drawer .gform_wrapper select:invalid,
.drawer .gform_wrapper select option[disabled] { color: rgba(255,255,255,.75); }
.drawer .gform_wrapper input::placeholder,
.drawer .gform_wrapper textarea::placeholder { color: rgba(255,255,255,.75); }
.drawer .gform_wrapper input:focus,
.drawer .gform_wrapper textarea:focus,
.drawer .gform_wrapper select:focus {
  border-color: var(--amber);
  box-shadow: 0 0 0 3px rgba(244,208,0,.2);
}
.drawer .gform_wrapper .gform_footer { margin: 22px 0 0; padding: 0; }
.drawer .gform_wrapper .gform_footer { display: block; }
.drawer .gform_wrapper .gform_footer input[type=submit],
.drawer .gform_wrapper .gform_footer input[type=submit].gform_button,
.drawer .gform_wrapper .gform_footer button,
.drawer .gform_wrapper .gform-footer input[type=submit],
.drawer .gform_wrapper .gform-footer input[type=submit].gform_button,
.drawer .gform_wrapper .gform-footer button {
  width: 100% !important; padding: 16px !important;
  background: var(--amber) !important; color: var(--ink) !important;
  border: none !important; border-radius: 4px !important; font-family: inherit;
  font-size: 15px; font-weight: 700; cursor: pointer;
  transition: background .2s, color .2s, transform .15s;
}
.drawer .gform_wrapper .gform_footer input[type=submit]:hover,
.drawer .gform_wrapper .gform_footer input[type=submit].gform_button:hover,
.drawer .gform_wrapper .gform_footer button:hover,
.drawer .gform_wrapper .gform-footer input[type=submit]:hover,
.drawer .gform_wrapper .gform-footer button:hover {
  background: var(--ink) !important; color: var(--amber) !important; transform: translateY(-1px);
}
.drawer .gform_wrapper .gfield_description,
.drawer .gform_wrapper .gform_required_legend { color: rgba(255,255,255,.6); font-size: 12px; }
.drawer .gform_wrapper .gfield_validation_message,
.drawer .gform_wrapper .validation_message {
  color: #ffd9d4; background: rgba(217,52,43,.25);
  border: 1px solid rgba(255,255,255,.2); border-radius: 3px;
  font-size: 12px; padding: 6px 10px; margin-top: 6px;
}
.drawer .gform_wrapper .gform_validation_errors {
  background: rgba(217,52,43,.25); border: 1px solid rgba(255,255,255,.2);
  color: #fff; border-radius: 4px; padding: 12px 14px; margin-bottom: 16px; font-size: 13px;
}
.drawer .gform_confirmation_message {
  color: #fff; font-size: 15px; line-height: 1.6;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
  border-radius: 6px; padding: 22px 24px;
}

/* drawer style end */



.nav-hamburger {display: none;flex-direction: column;justify-content: center;align-items: center;gap: 5px;width: 40px;height: 40px;cursor: pointer;background: rgba(255,255,255,.15);border: 1px solid rgba(255,255,255,.3);border-radius: 6px;padding: 8px;transition: background .2s;flex-shrink: 0;}

.nav-hamburger:hover {background: rgba(255,255,255,.25);}

.nav-hamburger span {display: block;width: 18px;height: 2px;background: #fff;border-radius: 2px;transition: transform .3s ease, opacity .3s ease, width .3s ease;transform-origin: center;}

.nav-hamburger.open span:nth-child(1) {transform: translateY(7px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2) {opacity: 0;width: 0;}
.nav-hamburger.open span:nth-child(3) {transform: translateY(-7px) rotate(-45deg);}

.mobile-nav {display: none;position: fixed;inset: 0;top: 0;background: var(--ember-deep);z-index: 48;flex-direction: column;justify-content: center;align-items: flex-start;padding: 80px 32px 40px;transform: translateX(100%);transition: transform .4s cubic-bezier(.22,.61,.36,1);}

.mobile-nav.open {transform: translateX(0);}

.mobile-nav a {font-size: 36px;font-weight: 800;color: #fff;line-height: 1.2;letter-spacing: -.025em;padding: 10px 0;border-bottom: 1px solid rgba(255,255,255,.12);width: 100%;transition: color .2s, padding-left .2s;}

.mobile-nav a:hover {color: var(--amber);padding-left: 8px;}

.mobile-nav .mobile-nav-cta {margin-top: 32px;background: var(--amber);color: var(--ink);font-size: 16px;font-weight: 700;padding: 16px 28px;border-radius: 6px;border: none;cursor: pointer;font-family: inherit;display: inline-flex;align-items: center;gap: 10px;transition: background .2s, gap .2s;}

.mobile-nav .mobile-nav-cta:hover {gap: 16px;background: #fff;}

.mobile-nav-item {width: 100%;border-bottom: 1px solid rgba(255,255,255,.12);}

.mobile-nav-parent {display: flex;align-items: center;justify-content: space-between;width: 100%;background: none;border: none;cursor: pointer;font-family: inherit;font-size: 36px;font-weight: 800;color: #fff;letter-spacing: -.025em;line-height: 1.2;padding: 10px 0;text-align: left;transition: color .2s;}

.mobile-nav-parent:hover {color: var(--amber);}

.mobile-nav-chevron {width: 28px;height: 28px;flex-shrink: 0;transition: transform .3s cubic-bezier(.22,.61,.36,1);}

.mobile-nav-parent[aria-expanded="true"] .mobile-nav-chevron {transform: rotate(180deg);}

.mobile-nav-sub {display: none;flex-direction: column;padding: 4px 0 16px 16px;gap: 0;overflow: hidden;}

.mobile-nav-sub.open {display: flex;}

.mobile-nav-sub a {font-size: 20px;font-weight: 600;letter-spacing: -.01em;color: rgba(255,255,255,.75);padding: 9px 0;border-bottom: 1px solid rgba(255,255,255,.08);width: 100%;line-height: 1.3;transition: color .2s, padding-left .2s;}

.mobile-nav-sub a:last-child {border-bottom: none;}

.mobile-nav-sub a:hover {color: var(--amber);padding-left: 6px;}

.mobile-nav .mobile-nav-item ~ a, .mobile-nav > a {border-bottom: 1px solid rgba(255,255,255,.12);}

.nav-pill {position: relative;}

.nav-has-drop > a {display: flex;align-items: center;gap: 4px;}

.nav-has-drop > a::after {display: none;}

.nav-has-drop::after {content: "";position: absolute;left: -20px;right: -20px;top: 100%;height: 20px;}

.nav-has-drop {position: relative;}

.nav-drop {position: absolute;top: calc(100% + 20px);left: 0;right: 0;background: #fff;border-radius: 8px;box-shadow: 0 16px 40px -8px rgba(20,17,15,.16), 0 0 0 1px rgba(20,17,15,.07);padding: 8px;opacity: 0;pointer-events: none;transform: translateY(-4px);transition: opacity .22s ease, transform .22s ease;z-index: 200;}
.nav-has-drop:hover .nav-drop {opacity: 1;pointer-events: all;transform: translateY(0);}
.nav-drop a {display: block;padding: 14px 18px;font-size: 15px;font-weight: 500;color: var(--ink);border-radius: 5px;text-decoration: none;border-bottom: 1px solid rgba(20,17,15,.06);position: relative;transition: background .15s ease, color .15s ease, padding-left .15s ease;opacity: 1;}
.nav-drop a:last-child {border-bottom: none;}
.nav-drop a::after {display: none;}
.nav-drop a::before {content: "—";position: absolute;left: 16px;opacity: 0;color: var(--ember);font-weight: 700;transition: opacity .15s ease;}
.nav-drop a:hover {background: transparent;color: var(--ember);padding-left: 34px;}
.nav-drop a:hover::before {opacity: 1;}
/* drawer style end */

/* home page banner start */

.page-id-70 .hero {position: relative;min-height: 760px;height: 88vh;max-height: 920px;color: #fff;overflow: hidden;padding: 0;display: grid;grid-template-columns: 55% 45%;}

.page-id-70 .hero-copy {
  position: relative;
  background: linear-gradient(rgba(255,255,255,.085) 1px, transparent 1px) 0 0 / 100% 160px,
      linear-gradient(90deg, rgba(255,255,255,.085) 1px, transparent 1px) 0 0 / 160px 100%,
      linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px) 0 0 / 100% 40px,
      linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px) 0 0 / 40px 100%,
      var(--ember-deep);
  display: flex; flex-direction: column; justify-content: flex-end; padding: 0 80px 110px 80px; overflow: hidden; }

.page-id-70 .hero-copy::before {content: "";position: absolute;pointer-events: none;width: 1100px;height: 1100px;border-radius: 50%;left: -360px;top: -520px;background: #c12a22; }

.page-id-70 .hero-copy::after {content: "";position: absolute;pointer-events: none;width: 760px;height: 760px;border-radius: 50%;right: -260px;bottom: -240px;background: rgba(217,52,43,.55); }

.page-id-70 .hero-media { position: relative; overflow: hidden; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: left top; }
.page-id-70 .hero-media::before {content: "";position: absolute;inset: 0;pointer-events: none;background: linear-gradient(90deg, rgba(122,20,16,.35) 0%, rgba(122,20,16,0) 22%),
      linear-gradient(180deg, transparent 55%, rgba(15,10,9,.78) 100%); }

.page-id-70 .hero-inner {position: relative;z-index: 2;max-width: 640px;width: 100%;display: flex;flex-direction: column;align-items: flex-start;text-align: left; }

.page-id-70 .hero-eyebrow {font-size: 14px;letter-spacing: .005em;font-weight: 500;text-transform: none;margin-bottom: 36px;color: rgba(255,255,255,.92);display: inline-flex;align-items: center;gap: 12px;width: fit-content; }

.page-id-70 .hero-eyebrow::before {
  content: "";
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  background: var(--amber);
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M13.5 1.5c.5 4 3.5 5.6 5.5 8.4 1.4 2 1.5 4.6.3 6.7-1.2 2-3.4 3.4-5.8 3.4-3.6 0-6.5-2.8-6.5-6.4 0-2.2 1.4-3.6 2-5 .4-1 .5-2 0-3 .9.5 2 1.6 2.5 2.8.5-2.4.5-4.8 2-6.9z' fill='black'/></svg>") center/contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M13.5 1.5c.5 4 3.5 5.6 5.5 8.4 1.4 2 1.5 4.6.3 6.7-1.2 2-3.4 3.4-5.8 3.4-3.6 0-6.5-2.8-6.5-6.4 0-2.2 1.4-3.6 2-5 .4-1 .5-2 0-3 .9.5 2 1.6 2.5 2.8.5-2.4.5-4.8 2-6.9z' fill='black'/></svg>") center/contain no-repeat;
}

.page-id-70 .hero h1 {font-size: 80px;line-height: 1.02;letter-spacing: -.025em;font-weight: 700;margin: 0 0 40px;max-width: 640px;
}

.page-id-70 .hero h1 .accent {color: var(--amber);font-style: normal;font-weight: 700;text-decoration: underline;text-decoration-color: var(--amber);text-decoration-thickness: 3px;text-underline-offset: 10px;
}

.page-id-70 .hero p.lede {font-size: 17px;line-height: 1.55;max-width: 540px;color: rgba(255,255,255,.82);margin: 0 0 36px;
}

.page-id-70 .hero-actions {display: flex;align-items: center;gap: 18px;
}

.page-id-70 .hero-stat {display: flex;align-items: center;gap: 16px;margin: 0 0 40px;
}

.page-id-70 .hero-avatars {display: inline-flex;flex-shrink: 0;
}

.page-id-70 .hero-avatars img {width: 40px;height: 40px;border-radius: 50%;border: 2px solid var(--ember-deep);margin-left: -10px;object-fit: cover;
}

.page-id-70 .hero-avatars img:first-child {margin-left: 0;
}

.page-id-70 .hero-stat-text {font-size: 13px;line-height: 1.45;color: rgba(255,255,255,.86);max-width: 300px;
}

.page-id-70 .hero-stat-text b {color: #fff;font-weight: 700;
}

.page-id-70 .hero-chips {position: absolute;left: 48px;bottom: 110px;display: flex;flex-direction: column;gap: 10px;z-index: 3;
}

.page-id-70 .hero-chip {display: inline-flex;align-items: center;gap: 8px;background: rgba(15,10,9,.55);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);border: 1px solid rgba(255,255,255,.16);color: #fff;font-weight: 600;font-size: 13px;padding: 9px 17px 9px 13px;border-radius: 99px;width: fit-content;white-space: nowrap;
}

.page-id-70 .hero-chip::before {content: "";width: 5px;height: 5px;border-radius: 50%;background: var(--amber);box-shadow: 0 0 0 2px rgba(244,208,0,.25);flex-shrink: 0;
}

.page-id-70 .hero-mark {position: absolute;right: 36px;top: 50%;writing-mode: vertical-rl;transform: translateY(-50%) rotate(180deg);font-size: 11px;letter-spacing: .35em;font-weight: 700;color: rgba(255,255,255,.7);text-transform: uppercase;z-index: 3;
}

.page-id-70 .hero-mark::after {content: "";display: block;width: 1px;height: 80px;background: rgba(255,255,255,.35);margin: 18px auto 0;
}

.page-id-70 .btn-light {background: #fff;color: var(--ember);border: none;padding: 14px 22px;border-radius: 4px;font-weight: 700;font-size: 14px;cursor: pointer;display: inline-flex;align-items: center;gap: 8px;transition: background .2s, color .2s, gap .2s, transform .2s, box-shadow .2s;
}

.page-id-70 .btn-light:hover {background: var(--amber);color: var(--ink);gap: 12px;transform: translateY(-1px);box-shadow: 0 10px 24px -10px rgba(244,208,0,.7);
}

.page-id-70 .btn-ghost {color: #fff;font-weight: 600;font-size: 14px;border-bottom: 1px solid rgba(255,255,255,.6);padding-bottom: 2px;transition: border-color .2s, color .2s;
}

.page-id-70 .btn-ghost:hover {color: var(--amber);border-bottom-color: var(--amber);
}
/* home page banner end */

/* home page banner bottom slide start */
.sec-certs {background: var(--ink);color: #fff;padding: 28px 0;overflow: hidden;position: relative;
}

.sec-certs::before {content: "";position: absolute;left: 0;top: 0;bottom: 0;width: 300px;z-index: 1;pointer-events: none;background: linear-gradient(90deg, var(--ink) 0%, var(--ink) 75%, rgba(20,17,15,0) 100%);
}

.sec-certs::after {content: "";position: absolute;right: 0;top: 0;bottom: 0;width: 80px;z-index: 1;pointer-events: none;background: linear-gradient(270deg, var(--ink) 0%, rgba(20,17,15,0) 100%);
}

.certs-label {position: absolute;left: 56px;top: 50%;transform: translateY(-50%);z-index: 2;font-size: 11px;letter-spacing: .14em;text-transform: uppercase;font-weight: 700;color: var(--amber);max-width: 180px;line-height: 1.4;}

.certs-track {display: flex;gap: 64px;align-items: center;  animation: certScroll 32s linear infinite; width: max-content;padding-left: 280px;}

.cert {display: flex;flex-direction: column;gap: 2px;flex-shrink: 0;opacity: .85;border-left: 1px solid rgba(255,255,255,.15);padding-left: 24px;}

.cert b {font-size: 18px;font-weight: 800;letter-spacing: -.01em;}

.cert small {font-size: 10px;letter-spacing: .14em;text-transform: uppercase;opacity: .65;font-weight: 600;}

  @keyframes certScroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }


/* home page banner bottom slide end */

/* home page intro sec start */
.sec-intro {background: #fff;padding: 110px 0 100px;border-bottom: 1px solid var(--line);
}

.intro-wrap {max-width: 1380px;margin: 0 auto;padding: 0 56px;display: grid;grid-template-columns: 360px 1fr;gap: 80px;align-items: start; }

.eyebrow {
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ember);
  font-weight: 700;
  margin-bottom: 18px;
}

.intro-aside h2 {font-size: 30px;line-height: 1.18;letter-spacing: -.02em;font-weight: 700;color: var(--ink);margin: 0;text-wrap: pretty;}
.intro-body {font-size: 17px;line-height: 1.7;color: var(--ink-soft);max-width: 760px;}
.intro-body p {margin: 0 0 22px;}
.intro-body p:last-of-type {margin: 0;}

.intro-body a {color: var(--ink);font-weight: 600;border-bottom: 1px solid var(--ember);transition: color .15s, border-color .15s;}

.intro-body a:hover {color: var(--ember);}
/* home page intro sec end */

/* two senior sec start */
.sec-about {background-color: var(--cream);padding: 120px 0;
}

.about-head {max-width: 1380px;margin: 0 auto 60px;padding: 0 56px;display: grid;grid-template-columns: 1fr 1fr;gap: 60px;align-items: end;
}

.about-head h2 {font-size: 42px;
  line-height: 1.08;
  letter-spacing: -.02em;
  font-weight: 700;
  margin: 0 0 16px;}

.partner-grid {max-width: 1380px;margin: 0 auto;padding: 0 56px;display: grid;grid-template-columns: 1fr 1fr;gap: 28px;
}

.partner {background: #fff;border-radius: 8px;overflow: hidden;display: flex;flex-direction: column;position: relative;transition: transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s cubic-bezier(.22,.61,.36,1);box-shadow: 0 2px 8px rgba(20,17,15,.06);
}

.partner.UNUSED:hover {background: rgb(28,60,159);
}

.partner.red:hover {background: var(--ember);
}

.partner.UNUSED:hover .partner-body .quote {color: #fff;border-left-color: var(--amber);
}

.partner.red:hove.partner-body .quote {color: #fff;border-left-color: var(--amber);
}

.partner.UNUSED:hover .partner-body p, .partner.red:hove.partner-body p {color: rgba(255,255,255,.8);
}

.partner.UNUSED:hover .partner-body .creds-row, .partner.red:hove.partner-body .creds-row {border-top-color: rgba(255,255,255,.2);
}

.partner.UNUSED:hover .partner-body .creds-row .k, .partner.red:hove.partner-body .creds-row .k {color: rgba(255,255,255,.6);
}

.partner.UNUSED:hover .partner-body .creds-row .v, .partner.red:hove.partner-body .creds-row .v {color: #fff;
}

.partner:hover {transform: translateY(-8px);box-shadow: 0 16px 32px -12px rgba(20,17,15,.14);
}

.partner:hover .partner-photo-img {transform: scale(1.04);
}

.partner:hover .pp-tag {background: var(--ink);color: #fff;
}

.partner:hover .partner-body .quote,
.partner:hover .partner-body p {border-left-width: 4px;color: #fff;border-color: var(--amber);}
.partner:hover .partner-body .creds-row .k,
.partner:hover .partner-body .creds-row .v { color: #fff; }


.partner-photo {height: 360px;position: relative;overflow: hidden;background: linear-gradient(180deg, rgba(20,17,15,.1) 30%, rgba(20,17,15,.65)),
      url("https://images.unsplash.com/photo-1560250097-0b93528c311a?w=900&q=80&auto=format&fit=crop") center/cover,
      linear-gradient(135deg, #5a514c, #2a2522);
}

.partner-photo-img {
  position: absolute;
  inset: 0;
  transition: transform .5s cubic-bezier(.22,.61,.36,1);
}




.partner-photo.b {
  background: linear-gradient(180deg, rgba(20,17,15,.1) 30%, rgba(20,17,15,.65)),
      url("https://images.unsplash.com/photo-1573496359142-b8d87734a5a2?w=900&q=80&auto=format&fit=crop") center/cover,
      linear-gradient(135deg, #6a605a, #3a322d); }

.partner-photo .pp-tag {position: absolute;left: 22px;top: 22px;background: var(--amber);color: var(--ink);padding: 6px 10px;font-size: 11px;font-weight: 800;letter-spacing: .12em;border-radius: 3px; }

.partner-photo .pp-name {position: absolute;left: 22px;bottom: 22px;color: #fff; }

.partner-photo .pp-name h3 {margin: 0;font-size: 30px;letter-spacing: -.02em;font-weight: 700; }

.partner-photo .pp-name .role {font-size: 13px;opacity: .85;font-weight: 500;margin-top: 4px; }

.partner-body {padding: 32px;flex: 1;display: flex;flex-direction: column;transition: background .35s ease; }

.partner-body .quote {font-size: 17px;line-height: 1.5;font-weight: 600;letter-spacing: -.005em;color: var(--ink);margin: 0 0 18px;padding-left: 12px;border-left: 2px solid var(--ember);transition: border-left-width .3s ease, color .3s ease; }

.partner-body p {font-size: 14px;line-height: 1.65;color: var(--ink-soft);margin: 0 0 22px; }

.partner-body .creds-row {display: flex;justify-content: space-between;gap: 16px;border-top: 1px solid var(--line);padding-top: 16px;margin-top: auto;font-size: 12px; }

.partner-body .creds-row > div {display: flex;flex-direction: column;gap: 2px; }

.partner-body .creds-row .k {color: var(--ink-soft);font-size: 10px;letter-spacing: .12em;text-transform: uppercase;font-weight: 700; }

.partner-body .creds-row .v {font-weight: 700;font-size: 13px; }

/* two senior sec end */

/* four services section css start */
.sec-services {background-color: #fff;padding: 120px 0;
}

.services-head {max-width: 1380px;margin: 0 auto 50px;padding: 0 56px;display: grid;grid-template-columns: 1fr 1fr;gap: 60px;align-items: end; }

.services-head h2 {margin: 0; }

.svc-grid-wrap {max-width: 1380px;margin: 0 auto;padding: 0 56px; }

.svc-grid {display: grid;grid-template-columns: repeat(2, 1fr);gap: 0;border-top: 1px solid var(--line);border-left: 1px solid var(--line);background: #fff; }

.svc {border-right: 1px solid var(--line);border-bottom: 1px solid var(--line);padding: 44px 40px 40px;display: flex;flex-direction: column;min-height: 300px;position: relative;background: #fff;overflow: hidden;transition: background .25s ease, color .25s ease; }

.svc::before {content: "";position: absolute;left: 0;top: 0;height: 3px;width: 0;background: var(--ember);transition: width .35s cubic-bezier(.22,.61,.36,1), background .25s ease; }

.svc:hover {background: rgb(28, 60, 159);color: #fff;}

.svc:hover::before {width: 100%;background: var(--amber);}

.svc:hover .svc-ico {color: #fff;opacity: 1;transform: translateY(-3px) scale(1.05);}

.svc:hover h3 {color: #fff;}

.svc:hover p {color: rgba(255,255,255,.82);}

.svc:hover .svc-link {color: var(--amber);gap: 10px;}

.svc h3 {font-size: 22px;margin: 22px 0 10px;letter-spacing: -.01em;font-weight: 700;transition: color .25s ease;}

.svc p {font-size: 14px;color: var(--ink-soft);margin: 0 0 20px;line-height: 1.55;flex: 1;transition: color .25s ease;}

.svc .svc-link {font-size: 13px;font-weight: 700;color: var(--ember);display: inline-flex;align-items: center;gap: 6px;transition: gap .2s ease, color .25s ease;}

.svc .svc-link::after {content: "→";transition: transform .2s;}

.svc:hover .svc-link::after {transform: translateX(4px);}

.svc .svc-ico {width: 36px;height: 36px;color: var(--ember);opacity: .9;transition: transform .25s ease, color .25s ease, opacity .25s ease;transform-origin: left center;}

.svc-coverage {max-width: 1380px;margin: 64px auto 0;padding: 28px 32px;background: var(--ink);color: #fff;border: 1px solid rgba(255,255,255,.08);border-radius: 6px;display: grid;grid-template-columns: auto 1fr;gap: 28px;align-items: center;}

.svc-coverage-label {display: flex;flex-direction: column;gap: 4px;}

.svc-coverage-label .eyebrow {margin: 0;font-size: 11px;color: var(--amber);}

.svc-coverage-label small {font-size: 13px;color: rgba(255,255,255,.7);font-weight: 500;}

.svc-coverage ul {list-style: none;padding: 0;margin: 0;display: flex;flex-wrap: wrap;gap: 8px;justify-self: end;}

.svc-coverage li {font-size: 12px;letter-spacing: .04em;font-weight: 700;color: #fff;padding: 8px 14px;background: rgba(255,255,255,.05);border: 1px solid rgba(255,255,255,.14);border-radius: 99px;display: inline-flex;align-items: center;gap: 8px;transition: border-color .2s, background .2s, color .2s;cursor: default;}

.svc-coverage li::before {content: "";width: 6px;height: 6px;border-radius: 50%;background: var(--ember);transition: background .2s;}

.svc-coverage li:hover {background: var(--ink);border-color: var(--ember);color: #fff;}

.svc-coverage li:hover::before {background: var(--amber);}

/* four services section css end */

/* free download css start */
.sec-magnet {background: var(--ember);color: #fff;padding: 120px 0;}

.magnet-grid {max-width: 1100px;margin: 0 auto;display: grid;grid-template-columns: 1fr 1fr;gap: 80px;align-items: center;}
.magnet-art {position: relative;height: 460px; text-align: center;}
.magnet-art img {}

.magnet-form .eyebrow {color: var(--amber);}

.magnet-form h2 {color: #fff;font-size: 42px;margin: 0 0 14px;letter-spacing: -.02em;font-weight: 700;line-height: 1.05;}

.magnet-form > p {font-size: 14px;color: rgba(255,255,255,.9);max-width: 100%;margin: 0 0 24px;}

.magnet-form ul {list-style: none;padding: 0;margin: 0 0 30px;}

.magnet-form ul li {font-size: 14px;padding: 8px 0;display: flex;gap: 10px;align-items: center;border-top: 1px solid rgba(255,255,255,.18);color: rgba(255,255,255,.95);}

.magnet-form ul li::before {content: "";width: 16px;height: 16px;flex: 0 0 16px;background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3 8.5 L6.5 12 L13 5' stroke='%23F4D000' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;}


.gform-theme--framework .gform_validation_errors { display: none !important; }

.magnet-form form {}
.magnet-form form .gform_body  {}
.magnet-form form .gform_body .gform_fields {}
.magnet-form form .gform_body .gform_fields .gfield {}
.magnet-form form .gform_body .gform_fields .gfield label { display: none; }
.magnet-form form .gform_body .gform_fields .gfield .ginput_container {  }

/* Magnet Form fields layout */
.magnet-form #gform_fields_3 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
}

/* Reset Gravity Form field spacing */
.magnet-form #gform_fields_3 .gfield {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

/* First field - 50% */
.magnet-form #field_3_1 {
    grid-column: 1 / 2 !important;
}

/* Second field - 50% */
.magnet-form #field_3_3 {
    grid-column: 2 / 3 !important;
}

/* Third field - 100% */
.magnet-form #field_3_4 {
    grid-column: 1 / -1 !important;
}

/* Inputs full inside their columns */
.magnet-form #gform_fields_3 input[type="text"],
.magnet-form #gform_fields_3 input[type="tel"],
.magnet-form #gform_fields_3 input[type="email"] {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Mobile responsive */
@media (max-width: 575px) {
    .magnet-form #gform_fields_3 {
        grid-template-columns: 1fr !important;
    }

    .magnet-form #field_3_1,
    .magnet-form #field_3_3,
    .magnet-form #field_3_4 {
        grid-column: 1 / -1 !important;
    }
}


.magnet-form form .gform_body .gform_fields .gfield .ginput_container input[type="text"],
.magnet-form form .gform_body .gform_fields .gfield .ginput_container input[type="tel"],
.magnet-form form .gform_body .gform_fields .gfield .ginput_container input[type="email"] 
{ width: 100% !important;padding: 14px 14px !important;background: rgba(255,255,255,.08) !important;border: 1px solid rgba(255,255,255,.25) !important;color: #fff !important;font-family: inherit !important;font-size: 14px !important;border-radius: 3px !important;outline: none !important; }

.magnet-form form .gform_body .gform_fields .gfield .ginput_container input::placeholder {color: rgba(255,255,255,.55) !important;}
.magnet-form form .gform_body .gform_fields .gfield .ginput_container input:focus {border-color: var(--amber) !important;background: rgba(255,255,255,.13) !important;}

.magnet-form form .gform_footer { margin-bottom: 10px; }
.magnet-form form .gform_footer input[type="submit"] { width: 100% !important; background: var(--amber) !important;color: var(--ink) !important;border: none !important;padding: 18px 22px !important;font-size: 15px !important;font-weight: 700 !important;border-radius: 3px !important;cursor: pointer !important;margin-top: 4px !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 8px !important;transition: background .2s, color .2s, gap .2s, box-shadow .2s !important;}

.magnet-form form .gform_footer input[type="submit"]:hover {background: var(--ink) !important;color: var(--amber) !important;gap: 14px !important;box-shadow: 0 10px 24px -10px rgba(20,17,15,.6) !important;}




/* .magnet-fields {display: grid;grid-template-columns: 1fr 1fr;gap: 14px;}

.magnet-fields .ff {grid-column: span 1;}

.magnet-fields .ff.full {grid-column: span 2;}

.magnet-fields input {width: 100%;padding: 14px 14px;background: rgba(255,255,255,.08);border: 1px solid rgba(255,255,255,.25);color: #fff;font-family: inherit;font-size: 14px;border-radius: 3px;outline: none;}

.magnet-fields input::placeholder {color: rgba(255,255,255,.55);}
.magnet-fields input:focus {border-color: var(--amber);background: rgba(255,255,255,.13);}
.magnet-submit {grid-column: span 2;background: var(--amber);color: var(--ink);border: none;padding: 14px 22px;font-size: 14px;font-weight: 700;border-radius: 3px;cursor: pointer;margin-top: 4px;display: flex;align-items: center;justify-content: center;gap: 8px;transition: background .2s, color .2s, gap .2s, box-shadow .2s;}

.magnet-submit:hover {background: var(--ink);color: var(--amber);gap: 14px;box-shadow: 0 10px 24px -10px rgba(20,17,15,.6);}

.magnet-foot {font-size: 12px !important;color: rgba(255,255,255,.5);margin-top: 12px;max-width: 440px;line-height: 1.5;} */


/* free download css end */

/* client reviews css start */
.sec-test {position: relative;padding: 120px 0;color: #fff;background: linear-gradient(180deg, rgba(20,17,15,.78), rgba(20,17,15,.85)),linear-gradient(135deg, #3a322d 0%, #1c1816 60%, #2a2522 100%);overflow: hidden;}

.test-head {max-width: 1480px;margin: 0 auto 50px;padding: 0 56px;display: grid;grid-template-columns: 1fr 1fr;gap: 60px;align-items: start;}

.test-head > div + div {padding-top: 30px;}

.test-head h2 {color: #fff;margin: 0;}

.test-head .eyebrow {color: var(--amber);}

.test-head .section-sub {color: rgba(255,255,255,.7);margin: 0;}

.test-controls {display: flex;gap: 10px;justify-content: flex-end;}

.tc-btn {width: 46px;height: 46px;border-radius: 50%;background: transparent;border: 1px solid rgba(255,255,255,.35);color: #fff;font-size: 18px;cursor: pointer;display: inline-flex;align-items: center;justify-content: center;transition: background .2s, border-color .2s, transform .2s;}

.tc-btn:hover {background: var(--amber);color: var(--ink);border-color: var(--amber);transform: scale(1.05);}

.test-viewport {position: relative;max-width: 1480px;margin: 0 auto;padding: 0 56px;overflow: hidden;cursor: grab;user-select: none;}

.test-viewport.dragging {cursor: grabbing;}

.test-track {display: flex;gap: 20px;will-change: transform;}

.test-card {flex: 0 0 540px;background: rgba(255,255,255,.05);border: 1px solid rgba(255,255,255,.12);border-radius: 6px;overflow: hidden;display: grid;grid-template-columns: 180px 1fr;min-height: 360px;
}

.test-card .tc-photo {}
.test-card .tc-photo img { width: 100%; height: 100%; object-fit: cover; object-position:center }

.test-card .tc-body {padding: 28px 26px;display: flex;flex-direction: column;}

.test-card .tc-mark {font-size: 40px;line-height: 0.6;color: var(--amber);font-weight: 800;margin-bottom: 14px;}

.test-card .tc-quote {font-size: 15px;line-height: 1.55;color: #fff;margin: 0 0 22px;font-weight: 500;}

.test-card .tc-cite {margin-top: auto;border-top: 1px solid rgba(255,255,255,.18);padding-top: 14px;}

.test-card .tc-cite .name {font-weight: 700;font-size: 14px;}

.test-card .tc-cite .role {font-size: 12px;opacity: .7;margin-top: 2px;}

.test-card .tc-cite .org {font-size: 11px;font-weight: 700;letter-spacing: .12em;color: var(--amber);margin-top: 6px;text-transform: uppercase;
}
/* client reviews css end */

/* home page insights sec start */

.sec-insights {background-color: var(--cream);padding: 120px 0;}

.ins-head {max-width: 1380px;margin: 0 auto 50px;padding: 0 56px;display: grid;grid-template-columns: 1fr auto;gap: 60px;align-items: end;
}

.ins-head h2 {margin: 0;font-size: 42px;letter-spacing: -.02em;line-height: 1.08;max-width: 640px;
}

.ins-head .ins-sub {font-size: 15px;color: var(--ink-soft);margin: 14px 0 0;max-width: 540px;
}

.ins-head .all-link {font-size: 13px;font-weight: 700;color: var(--ember);display: inline-flex;align-items: center;gap: 6px;border: 1px solid var(--ember);padding: 12px 20px;border-radius: 3px;transition: background .2s, color .2s, gap .2s;white-space: nowrap;
}

.ins-head .all-link:hover {background: var(--ember);color: #fff;gap: 12px;
}

.ins-grid {max-width: 1380px;margin: 0 auto;padding: 0 56px;display: grid;grid-template-columns: 1.25fr 1fr;gap: 24px;align-items: stretch;
}

.ins-feature {background: #fff;border-radius: 6px;overflow: hidden;display: flex;flex-direction: column;box-shadow: 0 1px 2px rgba(20,17,15,.04);transition: transform .25s ease, box-shadow .25s ease;cursor: pointer;
}

.ins-feature:hover {transform: translateY(-3px);box-shadow: 0 16px 40px -20px rgba(20,17,15,.25);
}

.ins-feature .ins-image {height: 360px;background-size: cover;background-position: center;position: relative;
}

.ins-feature .ins-image .ins-tag {position: absolute;left: 20px;top: 20px;background: var(--ember);color: #fff;font-size: 11px;font-weight: 700;letter-spacing: .12em;padding: 6px 11px;border-radius: 3px;text-transform: uppercase;
}

.ins-feature .ins-content {padding: 32px 32px 28px;display: flex;flex-direction: column;gap: 14px;
}

.ins-feature h3 {margin: 0;font-size: 26px;line-height: 1.2;letter-spacing: -.015em;font-weight: 700;
}

.ins-feature p {margin: 0;font-size: 15px;line-height: 1.6;color: var(--ink-soft);
}

.ins-feature .ins-foot {margin-top: 6px;display: flex;align-items: center;justify-content: space-between;padding-top: 18px;border-top: 1px solid var(--line);
}

.ins-feature .ins-foot .meta {font-size: 12px;color: var(--ink-soft);font-weight: 600;display: flex;align-items: center;gap: 10px;
}

.ins-feature .ins-foot .meta .dot {width: 3px;height: 3px;border-radius: 50%;background: var(--ink-soft);
}

.ins-feature .ins-foot .read {font-size: 13px;font-weight: 700;color: var(--ember);display: inline-flex;align-items: center;gap: 6px;transition: gap .2s;
}

.ins-feature .ins-foot .read::after {content: "→";
}

.ins-feature:hover .ins-foot .read {gap: 12px;
}

.ins-side {display: flex;flex-direction: column;gap: 24px;height: 100%;
}

.ins-mini {background: #fff;border-radius: 6px;overflow: hidden;display: grid;grid-template-columns: 180px 1fr;box-shadow: 0 1px 2px rgba(20,17,15,.04);transition: transform .25s ease, box-shadow .25s ease;cursor: pointer;flex: 1;min-height: 0;
}

.ins-mini:hover {transform: translateY(-3px);box-shadow: 0 16px 40px -20px rgba(20,17,15,.25);
}

.ins-mini .ins-image {background-size: cover;background-position: center;position: relative;
}

.ins-mini .ins-image .ins-tag {position: absolute;left: 14px;top: 14px;background: var(--ember);color: #fff;font-size: 10px;font-weight: 700;letter-spacing: .12em;padding: 5px 9px;border-radius: 3px;text-transform: uppercase;
}

.ins-mini .ins-content {padding: 24px 26px;display: flex;flex-direction: column;gap: 10px;
}

.ins-mini h3 {margin: 0;font-size: 18px;line-height: 1.3;letter-spacing: -.01em;font-weight: 700;
}

.ins-mini p {margin: 0;font-size: 13px;line-height: 1.55;color: var(--ink-soft);display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;
}

.ins-mini .ins-foot {margin-top: auto;padding-top: 12px;display: flex;align-items: center;justify-content: space-between;border-top: 1px solid var(--line);
}

.ins-mini .ins-foot .meta {font-size: 11px;color: var(--ink-soft);font-weight: 600;display: flex;align-items: center;gap: 8px;
}

.ins-mini .ins-foot .meta .dot {width: 3px;height: 3px;border-radius: 50%;background: var(--ink-soft);
}

.ins-mini .ins-foot .read {font-size: 12px;font-weight: 700;color: var(--ember);display: inline-flex;align-items: center;gap: 6px;transition: gap .2s;
}

.ins-mini .ins-foot .read::after {content: "→";
}

.ins-mini:hover .ins-foot .read {gap: 10px;
}

/* home page insights sec end */

/* cta sec start */
.sec-urgent {background: var(--ink);color: #fff;padding: 36px 0;border-top: 6px solid var(--amber);
}

.urgent-row {max-width: 1480px;margin: 0 auto;padding: 0 56px;display: flex;align-items: center;justify-content: space-between;gap: 32px;
}

.urgent-left {display: flex;align-items: center;gap: 22px;flex: 1;min-width: 0;
}

.urgent-right {display: flex;align-items: center;gap: 28px;
}

.urgent-pulse {flex: 0 0 56px;width: 56px;height: 56px;border-radius: 50%;background: var(--ember);display: flex;align-items: center;justify-content: center;position: relative;
}

.urgent-pulse::before {content: "";position: absolute;inset: -6px;border-radius: 50%;border: 2px solid var(--ember);opacity: .55;animation: page-sub-service-pag-offices-commercial-urgentPulse 1.8s ease-out infinite;
}

.urgent-pulse svg {width: 24px;height: 24px;color: #fff;
}

.urgent-text {display: flex;flex-direction: column;gap: 6px;min-width: 0;max-width: 520px;
}

.urgent-text .ut-eyebrow {font-size: 11px;letter-spacing: .14em;text-transform: uppercase;font-weight: 800;color: var(--amber);margin: 0;
}

.urgent-text h3 {margin: 0;font-size: 20px;letter-spacing: -.01em;font-weight: 700;line-height: 1.25;
}

.urgent-phone {display: flex;flex-direction: column;align-items: flex-end;gap: 2px;line-height: 1.1;flex-shrink: 0;border-right: 1px solid rgba(255,255,255,.18);padding-right: 28px;
}

.urgent-phone .label {font-size: 10px;letter-spacing: .14em;text-transform: uppercase;opacity: .7;font-weight: 700;white-space: nowrap;
}

.urgent-phone .num {font-size: 26px;font-weight: 800;letter-spacing: -.01em;color: #fff;font-variant-numeric: tabular-nums;white-space: nowrap;
}

.urgent-cta {background: var(--ember);color: #fff;border: none;padding: 14px 22px;font-size: 14px;font-weight: 700;border-radius: 4px;cursor: pointer;display: inline-flex;align-items: center;gap: 8px;white-space: nowrap;transition: background .2s, color .2s, gap .2s, transform .2s, box-shadow .2s;
}

.urgent-cta::after {content: "→";
}

.urgent-cta:hover {background: #fff;color: var(--ember);gap: 12px;transform: translateY(-1px);box-shadow: 0 10px 24px -10px rgba(255,255,255,.4);
}
/* cta sec end */

/* footer css start */
.footer-top {background: var(--ember);color: #fff;padding: 110px 30px 0;overflow: hidden;position: relative;
}

.footer-mark {text-align: center;font-weight: 900;font-size: clamp(60px, 15vw, 280px);line-height: .85;letter-spacing: -.045em;color: #fff;margin: 0;
}

.footer-bottom {background: var(--ember);color: #fff;padding: 40px 56px 28px;position: relative;overflow: hidden;
}

.footer-cols {max-width: 1480px;margin: 0 auto;display: grid;grid-template-columns: 1fr 1fr 1fr 1.4fr;gap: 40px;
}

.footer-cols h5 {font-size: 11px;letter-spacing: .14em;text-transform: uppercase;color: var(--amber);margin: 0 0 14px;font-weight: 700; }
.footer-cols p { font-size: 13px; opacity: .85; line-height: 1.5; margin-bottom: 15px; }

.footer-cols ul {list-style: none;padding: 0;margin: 0;font-size: 14px;}

.footer-cols li {padding: 4px 0;opacity: .85;transition: opacity .2s, padding-left .2s, color .2s;cursor: pointer;}

.footer-cols li:hover {opacity: 1;padding-left: 4px;color: var(--amber);}

.news-form {display: flex;gap: 8px;margin-top: 8px;}

.news-form input {flex: 1;padding: 10px 12px;border: 1px solid rgba(255,255,255,.3);background: transparent;color: #fff;font-family: inherit;font-size: 13px;border-radius: 2px;}

.news-form input::placeholder {color: rgba(255,255,255,.55);}

.news-form button {background: var(--amber);color: var(--ink);border: none;padding: 10px 16px;font-weight: 700;font-size: 13px;cursor: pointer;border-radius: 2px;transition: background .2s, color .2s;}

.news-form button:hover {background: #fff;color: var(--ember);}

.footer-meta {max-width: 1480px;margin: 30px auto 0;display: grid;grid-template-columns: 1fr auto 1fr;align-items: center;font-size: 12px;opacity: .7;padding-top: 20px;border-top: 1px solid rgba(255,255,255,.15);}

.footer-meta-credit {display: flex;justify-content: flex-end;align-items: center;gap: 12px;}

.back-to-top {width: 40px;height: 40px;border-radius: 50%;background: rgba(255,255,255,.15);border: 1px solid rgba(255,255,255,.3);color: #fff;cursor: pointer;display: inline-flex;align-items: center;justify-content: center;transition: background .2s, transform .2s, border-color .2s;flex-shrink: 0;}

.back-to-top:hover {background: var(--amber);border-color: var(--amber);color: var(--ink);transform: translateY(-3px);}

.back-to-top svg {width: 16px;height: 16px;}

.footer-social {display: flex;gap: 10px;margin-top: 4px; }

.footer-social a {width: 36px;height: 36px;border-radius: 50%;background: rgba(255,255,255,.15);border: 1px solid rgba(255,255,255,.25);display: inline-flex;align-items: center;justify-content: center;color: #fff;text-decoration: none;flex-shrink: 0;transition: background .2s,border-color .2s,transform .2s;}

.footer-social a:hover {background: var(--amber);border-color: var(--amber);color: var(--ink);transform: translateY(-2px);}

.footer-social svg {width: 16px;height: 16px;max-width: 16px;}

/* Footer Newsletter Gravity Form */
.footer-newsletter {
    width: 100%;
}

.footer-newsletter .gform_wrapper,
.footer-newsletter form#gform_2 {
    width: 100%;
}

.footer-newsletter form#gform_2 {
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer-newsletter .gform-body,
.footer-newsletter .gform_body {
    flex: 1;
}

.footer-newsletter .gform_fields {
    display: block;
}

.footer-newsletter .gfield {
    margin: 0 !important;
    padding: 0 !important;
}

.footer-newsletter .gfield_label {
    display: none !important;
}

.footer-newsletter .ginput_container {
    margin: 0 !important;
}

.footer-newsletter input[type="email"] {
    width: 100% !important;
    height: 40px;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.3) !important;
    color: #ffffff !important;
    padding: 0 14px !important;
    font-size: 14px;
    border-radius: 0;
    outline: none;
    box-shadow: none;
}

.footer-newsletter input[type="email"]::placeholder {
    color: rgba(255, 255, 255, 0.75);
}

.footer-newsletter .gform-footer,
.footer-newsletter .gform_footer {
    margin: 0 !important;
    padding: 0 !important;
    width: auto;
}

.footer-newsletter input[type="submit"],
.footer-newsletter .gform_button {
    height: 40px;
    min-width: 105px;
    background: #ffd400 !important;
    color: #000000 !important;
    border: 0 !important;
    padding: 0 18px !important;
    font-size: 14px;
    font-weight: 700;
    border-radius: 2px;
    cursor: pointer;
    line-height: 40px;
    box-shadow: none !important;
}

.footer-newsletter input[type="submit"]:hover,
.footer-newsletter .gform_button:hover {
    background: #fff !important;
    border-color: #ffcc00 !important;
    color: var(--ember) !important;
}

:focus-visible {
    outline: 2px solid var(--amber) !important;
    outline-offset: 2px !important;
    border-radius: 3px !important;
}

/* Remove Gravity Form extra spacing */
.footer-newsletter .gform_validation_errors,
.footer-newsletter .gfield_description,
.footer-newsletter .gfield_required {
    display: none !important;
}

/* Mobile Responsive */
@media (max-width: 575px) {
    .footer-newsletter form#gform_2 {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .footer-newsletter .gform-footer,
    .footer-newsletter .gform_footer {
        width: 100%;
    }

    .footer-newsletter input[type="submit"],
    .footer-newsletter .gform_button {
        width: 100%;
    }
}


/* footer css end */

/* about page start */
.about_bnr_sec { background-repeat: no-repeat; background-position: center; background-size: cover; padding: 140px 0 20px; position: relative; overflow: hidden; color: #fff; min-height: 660px; }
.about_bnr_sec::before { content: ""; background:linear-gradient(rgba(20,17,15,.55) 0%, rgba(20,17,15,.65) 100%); width:100%; height: 100%; position: absolute; left: 0; top: 0; }

/* .about_bnr_sec::after {content: "";position: absolute;width: 800px;height: 800px;border-radius: 50%;background: #c12a22;right: -260px;top: -360px;pointer-events: none;display: none; } */
.about_bnr_sec.add_red_circle::after { display: block; }

.about_inner { position: relative; z-index: 2;max-width: 760px; }
.about_inner .hero-eyebrow {font-size: 12px;letter-spacing: .14em;text-transform: uppercase;font-weight: 700;color: var(--amber);margin-bottom: 20px;display: inline-flex;align-items: center;gap: 8px; }
.about_inner .hero-eyebrow::before {content: "";width: 20px;height: 1px;background: var(--amber); }
.about_inner h1 {font-size: 64px;font-weight: 800;line-height: 1.05;letter-spacing: -.03em;margin-bottom: 24px; }
.about_inner h1 em { font-style: normal; color: var(--amber); }
.about_inner p {font-size: 18px;line-height: 1.6;color: rgba(255,255,255,.85);max-width: 620px;margin-bottom: 36px; }

.about_hero_actions {display: flex;align-items: center;gap: 16px;flex-wrap: wrap; }
.btn-primary {background: #fff;color: var(--ember);padding: 16px 24px;border-radius: 4px;font-weight: 700;font-size: 15px;display: inline-flex;align-items: center;gap: 8px;transition: background .2s, color .2s, gap .2s, box-shadow .2s;border: none;cursor: pointer;font-family: inherit; }

.btn-primary::after { content: "→"; }
.btn-primary:hover { background: var(--amber); color: var(--ink); gap: 12px; box-shadow: 0 10px 24px -10px rgba(244,208,0,.6); }

.btn-ghost { color: #fff; font-weight: 600; font-size: 15px; border-bottom: 1px solid rgba(255,255,255,.5); padding-bottom: 2px; transition: color .2s, border-color .2s; }
.btn-ghost:hover { color: var(--amber); border-color: var(--amber); }

.sec-practice {padding: 110px 0;background: #fff;}
.practice-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 100px;align-items: center;}
.practice-copy h2 {font-size: 42px;font-weight: 700;letter-spacing: -.03em;line-height: 1.1;margin-bottom: 28px;}
.practice-copy p {font-size: 16px;line-height: 1.75;color: var(--ink-soft);margin-bottom: 18px;}
.practice-copy p:last-child {margin-bottom: 0;}
.practice-img-wrap {position: relative;border-radius: 10px;overflow: hidden; transition: transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s;}
.practice-img-wrap:hover {transform: translateY(-4px);box-shadow: 0 20px 48px -16px rgba(20,17,15,.22);}

.practice-img img { width: 100%; height: 550px; object-fit: cover; object-position: center; transition: transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s;}
.practice-img-wrap:hover .practice-img img {transform: scale(1.03);}

.sec-partners {padding: 100px 0;background: var(--cream);}
.sec-partners h2 {font-size: 42px;font-weight: 700;letter-spacing: -.03em;margin-bottom: 16px;}
.sec-partners p {  font-size: 16px;line-height: 1.6;color: var(--ink-soft);max-width: 620px;margin: 0 0 24px; }
.partners-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 80px;}
.partner-photo { 
  background: linear-gradient(180deg, rgba(20,17,15,.1) 30%, rgba(20,17,15,.65));  width: 100%;aspect-ratio: 4/3;background-size: cover;background-position: center 30%;border-radius: 6px;margin-bottom: 32px;}



.partner-name {font-size: 32px;font-weight: 800;letter-spacing: -.025em;margin-bottom: 6px;}
.partner-title {font-size: 11px;font-weight: 700;letter-spacing: .14em;text-transform: uppercase;color: var(--ember);margin-bottom: 18px;}
.partner-creds {display: flex;gap: 6px;flex-wrap: wrap;margin-bottom: 22px;}
.partner-cred {font-size: 10px;font-weight: 700;letter-spacing: .1em;text-transform: uppercase;padding: 5px 10px;border: 1px solid rgba(20,17,15,.15);border-radius: 100px;color: var(--ink-soft);background: rgba(20,17,15,.04);}
.partner-bio {font-size: 15px;line-height: 1.75;color: var(--ink-soft);margin-bottom: 24px;}
.partner-quote {font-size: 16px;font-weight: 500;line-height: 1.6;color: var(--ink);font-style: italic;opacity: .75;}

.sec-why {padding: 110px 0;background: #fff;}
.why-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 100px;align-items: center;}
.why-img-wrap {position: relative;border-radius: 10px;overflow: hidden;height: 540px;transition: transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s;}
.why-img-wrap:hover {transform: translateY(-4px);box-shadow: 0 20px 48px -16px rgba(20,17,15,.22);}

.why-img img { width: 100%; height: 600px; object-fit: cover; object-position: center;transition: transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s; }
.why-img-wrap:hover .why-img img {transform: scale(1.03);}

.why-copy .eyebrow {margin-bottom: 20px;}
.why-copy h2 {font-size: 42px;font-weight: 700;letter-spacing: -.03em;line-height: 1.1;margin-bottom: 28px;}
.why-copy h2 em {font-style: normal;color: var(--ember);}
.why-copy p {font-size: 16px;line-height: 1.75;color: var(--ink-soft);margin-bottom: 18px;}
.why-copy p:last-child {margin-bottom: 0;}

.fireproof-credentials-section{padding: 80px 0;background: var(--cream);overflow: hidden;}
.fireproof-container{width: 100%;max-width: 1280px;margin: 0 auto;padding: 0 20px;}
.fireproof-header{margin-bottom: 48px;}
.fireproof-header h2{font-size: 32px;line-height: 1.2;font-weight: 700;letter-spacing: -0.02em;color: var(--ink);margin: 0 0 10px;}
.fireproof-header p{font-size: 15px;line-height: 1.7;color: var(--ink-soft);max-width: 540px;margin: 0;}
.fireproof-cards-grid{display: grid;grid-template-columns: repeat(4, 1fr);gap: 24px;}
.fireproof-cert-card{background: #ffffff;border: 1px solid var(--line);border-radius: 14px;padding: 44px 38px 40px;display: flex;flex-direction: column;transition: 0.3s ease;height: 100%;}
.fireproof-cert-card:hover{transform: translateY(-4px);box-shadow: 0 12px 30px rgba(0,0,0,0.06);
}
.fireproof-cert-icon{color: var(--ember);margin-bottom: 28px;}
.fireproof-cert-icon svg{width: 38px;height: 38px;display: block;}
.fireproof-cert-title{font-size: 20px;line-height: 1.3;font-weight: 700;letter-spacing: -0.02em;color: var(--ink);margin: 0 0 12px;}
.fireproof-cert-text{font-size: 14px;line-height: 1.7;color: var(--ink-soft);margin: 0;}

.sec-coverage {padding: 100px 0;background: #fff;}
.coverage-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 80px;align-items: start;}
.coverage-copy h2 {font-size: 42px;font-weight: 700;letter-spacing: -.03em;line-height: 1.1;margin-bottom: 20px;}
.coverage-copy p {font-size: 16px;line-height: 1.75;color: var(--ink-soft);margin-bottom: 32px;}
.county-list {display: flex;flex-direction: column;}
.county {display: flex;align-items: center;justify-content: space-between;padding: 16px 0;border-bottom: 1px solid var(--line);font-size: 15px;font-weight: 600;}
.county:last-child {border-bottom: none;}
.county-badge {font-size: 10px;font-weight: 800;letter-spacing: .1em;text-transform: uppercase;padding: 4px 8px;border-radius: 3px;background: var(--blue);color: #fff;}
.coverage-stats {background: var(--ink);border-radius: 10px;padding: 40px;color: #fff;display: grid;grid-template-columns: 1fr 1fr;gap: 20px;position: sticky;top: 100px;}
.cs {display: flex;flex-direction: column;gap: 4px;}
.cs .num {font-size: 36px;font-weight: 900;letter-spacing: -.03em;color: var(--amber);line-height: 1;}
.cs .lbl {font-size: 12px;color: rgba(255,255,255,.5);line-height: 1.4;}

/* about page end */

/* contact page start */

.trust-bar {background: var(--ink);border-bottom: 3px solid var(--amber);padding: 20px 0;}
.trust-bar-inner {max-width: 1280px;margin: 0 auto;padding: 0 56px;display: flex;align-items: center;justify-content: space-between;gap: 32px;flex-wrap: wrap;}
.trust-item {display: flex;align-items: center;gap: 12px;color: #fff;}
.trust-item svg {width: 22px;height: 22px;color: var(--amber);flex-shrink: 0;}
.trust-item-text {font-size: 14px;font-weight: 600;}
.trust-item-text span {display: block;font-size: 12px;opacity: .6;font-weight: 400;}

.sec-contact {padding: 80px 0;background: var(--cream);
}

.contact-grid {display: grid;grid-template-columns: 1fr 480px;gap: 80px;align-items: start;
}

.contact-eyebrow {font-size: 11px;letter-spacing: .14em;text-transform: uppercase;font-weight: 700;color: var(--ember);margin-bottom: 14px; }
.gfield_validation_message {
  color: red;
  font-size: 14px;
}
.contact-form-wrap h2 {
  font-size: 42px;
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1.1;
  margin-bottom: 12px;
}

.contact-form-wrap .sub {
  font-size: 16px;
  color: var(--ink-soft);
  line-height: 1.6;
  margin-bottom: 40px;
  max-width: 520px;
}

/* Contact Form Gravity Form Styling */
.contact-form-wrap .gform_wrapper, .contact-form-wrap form {
  width: 100%;
  float: left;
  background: #fff;
  padding: 20px;
  border-radius: 15px;
}

.contact-form-wrap .gform_fields {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 22px;
}

.contact-form-wrap .gfield {
    margin: 0 !important;
}

/* Full width fields */
.contact-form-wrap #field_4_10,
.contact-form-wrap .gfield--type-textarea {
    grid-column: 1 / -1;
}

/* Labels */
.contact-form-wrap .gfield_label {
    font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-soft); margin-bottom: 7px; display: block;
}

/* Required star only */
.contact-form-wrap .gfield_required {
    color: #dd2f2a;
}

.contact-form-wrap .gfield_required_text {
    display: none !important;
}

/* Inputs, select, textarea */
.contact-form-wrap input[type="text"],
.contact-form-wrap input[type="email"],
.contact-form-wrap input[type="tel"],
.contact-form-wrap select,
.contact-form-wrap textarea {
    width: 100% !important;
    height: 50px;
    padding: 0 18px !important;
    border: 1px solid #e6ded4 !important;
    border-radius: 6px !important;
    background-color: #fff !important;
    color: #111 !important;
    font-size: 16px !important;
    font-weight: 400;
    box-shadow: none !important;
    outline: none !important;
    font-family: inherits: ;
}

/* Placeholder */
.contact-form-wrap input::placeholder,
.contact-form-wrap textarea::placeholder {
    color: #a6a6a6 !important;
    opacity: 1;
}

/* Select styling */
.contact-form-wrap select {
    appearance: auto;
    cursor: pointer;
}

/* Textarea */
.contact-form-wrap textarea {
    height: 120px !important;
    min-height: 120px !important;
    padding-top: 14px !important;
    resize: vertical;
}

/* Footer */
.contact-form-wrap .gform_footer {
    margin-top: 22px !important;
    padding: 0 !important;
}

/* Submit Button */
.contact-form-wrap .gform_button {
    min-width: 208px;
    height: 58px;
    padding: 0 32px !important;
    border: none !important;
    border-radius: 6px !important;
    background: #df302b !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    cursor: pointer;
    transition: 0.3s ease;
}

.contact-form-wrap .gform_button:hover {
    background: #c92520 !important;
}

/* Button arrow */
.contact-form-wrap .gform_footer {
    position: relative;
    display: inline-block;
}

.contact-form-wrap .gform_footer::after {
    content: "→";
    position: absolute;
    right: 28px;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    font-size: 20px;
    pointer-events: none;
}

.contact-form-wrap .gform_button {
    padding-right: 58px !important;
}

/* Focus effect */
.contact-form-wrap input:focus,
.contact-form-wrap select:focus,
.contact-form-wrap textarea:focus {
    border-color: #df302b !important;
}

/* Hide Gravity Form default spacing issues */
.contact-form-wrap .ginput_container {
    margin: 0 !important;
}

.contact-form-wrap .gform-body {
    margin: 0 !important;
}

/* Mobile Responsive */
@media (max-width: 767px) {
    .contact-form-wrap .gform_fields {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .contact-form-wrap .gform_button {
        width: 100%;
    }

    .contact-form-wrap .gform_footer {
        width: 100%;
    }

    .contact-form-wrap .gform_footer::after {
        right: 32px;
    }
}




.cform-note {font-size: 13px;color: var(--ink-soft);margin-top: 14px;line-height: 1.5;
}

.cform-note a {color: var(--ember);font-weight: 600;
}

.contact-sidebar {display: flex;flex-direction: column;gap: 24px;position: sticky;top: 32px;
}

.cside-block {padding: 28px 32px;border-radius: 10px;border: 1px solid var(--line);background: #fff;
}

.cside-block.blue {background: var(--blue);border-color: transparent;color: #fff;
}

.cside-block.cream .cside-label {color: var(--amber);
}

.cside-block.cream .cside-heading {color: #fff;
}

.cside-block.cream .cside-body {color: rgba(255,255,255,.8);
}

.cside-block.cream .cert-row {border-bottom-color: rgba(255,255,255,.12);
}

.cside-block.cream .cert-icon {color: var(--amber);
}

.cside-block.cream .cert-name {color: #fff;font-size: 15px;font-weight: 700;
}

.cside-block.cream .cert-desc {color: rgba(255,255,255,.85);font-size: 13px;line-height: 1.55;margin-top: 2px;
}

.cside-label {font-size: 11px;letter-spacing: .13em;text-transform: uppercase;font-weight: 700;color: var(--amber);margin-bottom: 12px;
}

.cside-block:not(.blue):not(.cream) .cside-label {color: var(--ember);
}

.cside-heading {font-size: 22px;font-weight: 800;letter-spacing: -.015em;line-height: 1.2;margin-bottom: 10px;
}

.cside-body {font-size: 14px;line-height: 1.65;opacity: .85;
}

.cside-block.blue .cside-body {color: rgba(255,255,255,.85);
}

.cside-block:not(.blue):not(.cream) .cside-body {color: var(--ink-soft);
}

.phone-big {font-size: 32px;font-weight: 900;letter-spacing: -.03em;color: #fff;margin: 14px 0 6px;font-variant-numeric: tabular-nums;
}

.phone-label {font-size: 12px;opacity: .7;letter-spacing: .06em;text-transform: uppercase;font-weight: 600; }

.cside-trust {list-style: none;display: flex;flex-direction: column;gap: 8px;margin-top: 16px;
}

.cside-trust li {font-size: 14px;display: flex;align-items: flex-start;gap: 10px;color: rgba(255,255,255,.85);
}

.cside-trust li::before {content: "✓";color: var(--amber);font-weight: 800;flex-shrink: 0;margin-top: 1px;
}

.cside-certs {display: flex;flex-direction: column;gap: 12px;
}

.cert-row {display: flex;align-items: center;gap: 14px;padding: 12px 0;border-bottom: 1px solid var(--line);
}

.cert-row:last-child {border-bottom: none;padding-bottom: 0;
}

.cert-icon {width: 40px;height: 40px;display: flex;align-items: center;justify-content: center;flex-shrink: 0;color: var(--ember);
}

.cert-icon svg {width: 20px;height: 20px;
}

.cert-name {font-size: 14px;font-weight: 700;
}

.cert-desc {font-size: 12px;color: var(--ink-soft);line-height: 1.4;margin-top: 1px;
}

.sec-locations { padding: 80px 0; background: var(--cream); }
  .locations-head { margin-bottom: 48px; }
  .locations-head h2 { font-size: 42px; font-weight: 700; letter-spacing: -.03em; line-height: 1.1; margin-bottom: 12px; }
  .locations-head p { font-size: 16px; color: var(--ink-soft); max-width: 560px; line-height: 1.65; }
  .locations-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
  .loc-card { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 28px 24px; transition: border-color .2s, box-shadow .2s, transform .2s; }
  .loc-card:hover { /*border-color: var(--ember);*/ box-shadow: 0 12px 32px -10px rgba(217,52,43,.12); transform: translateY(-4px); }
  .loc-icon { color: var(--ember); margin-bottom: 16px; }
  .loc-icon svg { width: 32px; height: 32px; display: block; }
  .loc-name { font-size: 18px; font-weight: 800; letter-spacing: -.01em; margin-bottom: 8px; }
  .loc-coverage { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ember); margin-bottom: 12px; }
  .loc-coverage::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ember); flex-shrink: 0; animation: locPulse 2s ease-out infinite; }
  .loc-towns { font-size: 13px; color: var(--ink-soft); line-height: 1.6; }

  @keyframes locPulse { 0% { box-shadow: 0 0 0 0 rgba(217,52,43,.5); } 70% { box-shadow: 0 0 0 8px rgba(217,52,43,0); } 100% { box-shadow: 0 0 0 0 rgba(217,52,43,0); } }
  
  

.form-success {display: none;text-align: center;padding: 56px 32px;
}
.form-success.show {display: flex;flex-direction: column;align-items: center;gap: 16px;
}
.success-icon {width: 72px;height: 72px;border-radius: 50%;background: rgba(217,52,43,.1);color: var(--ember);display: flex;align-items: center;justify-content: center;
}
.success-icon svg {width: 36px;height: 36px;
}
.form-success h3 {font-size: 26px;font-weight: 800;letter-spacing: -.02em;
}
.form-success p {font-size: 16px;color: var(--ink-soft);max-width: 400px;line-height: 1.6;
}

/* contact page end */

/* sub services page start */

.sec-findings {padding: 100px 0;background: var(--cream);
}

.findings-head {display: grid;grid-template-columns: 1fr 1fr;gap: 80px;align-items: end;margin-bottom: 52px;
}

.findings-head h2 {font-size: 42px;font-weight: 700;letter-spacing: -.03em;line-height: 1.1;margin: 0;
}

.findings-head p {font-size: 16px;color: var(--ink-soft);line-height: 1.65;margin: 0;
}

.findings-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 16px;
}

.finding-card {background: #fff;border: 1px solid var(--line);border-radius: 8px;padding: 28px 24px;display: flex;flex-direction: column;gap: 12px;transition: border-color .2s, transform .2s, box-shadow .2s;
}

.finding-card:hover {transform: translateY(-3px);box-shadow: 0 12px 32px -12px rgba(20,17,15,.14);
}

.finding-card h3 {font-size: 17px;font-weight: 700;letter-spacing: -.01em;line-height: 1.25;margin: 0;
}

.finding-card p {font-size: 13px;color: var(--ink-soft);line-height: 1.6;margin: 0;flex: 1;
}

.sec-mid-cta {background: #fff;padding: 80px 0;}
.mid-cta-inner {display: grid;grid-template-columns: 1fr 1fr;gap: 0;border-radius: 14px;overflow: hidden;box-shadow: none;}
.mid-cta-image {}
.mid-cta-image img {width: 100%;height: 420px; object-fit: cover; object-position: center; }
.mid-cta-copy {background: var(--blue);color: #fff;padding: 56px 52px;display: flex;flex-direction: column;justify-content: center;gap: 20px;}
.mid-cta-copy h2 {font-size: 40px;font-weight: 700;letter-spacing: -.025em;line-height: 1.1;margin: 0;}
.mid-cta-copy h2 em {font-style: normal;color: var(--amber);}
.mid-cta-copy p {font-size: 16px;color: rgba(255,255,255,.8);line-height: 1.6;margin: 0;max-width: 420px;}

.btn-white {background: #fff;color: var(--blue);padding: 16px 24px;border-radius: 4px;font-weight: 700;font-size: 15px;display: inline-flex;align-items: center;gap: 8px;transition: background .2s, color .2s, gap .2s;white-space: nowrap; cursor: pointer; }
.btn-white::after {content: "→";}
.btn-white:hover {background: var(--amber);color: var(--ink);gap: 12px;}

.sec-faq {padding: 100px 0;background: var(--cream);}
.faq-grid {display: grid;grid-template-columns: 360px 1fr;gap: 80px;align-items: start;margin-top: 52px;}

h2.section-h { font-size: 42px; font-weight: 700; letter-spacing: -.025em; line-height: 1.1;
  margin-bottom: 16px; }

.faq-aside {position: sticky;top: 100px;}
.faq-aside h3 {font-size: 22px;font-weight: 700;letter-spacing: -.01em;margin-bottom: 12px;}
.faq-aside p {font-size: 14px;color: var(--ink-soft);line-height: 1.6;margin-bottom: 24px;}
.faq-aside .cta-link {display: inline-flex;align-items: center;gap: 8px;font-size: 14px;font-weight: 700;color: var(--ember);border: 1px solid var(--ember);padding: 12px 18px;border-radius: 4px;transition: background .2s, color .2s, gap .2s;}
.faq-aside .cta-link:hover {background: var(--ember);color: #fff;gap: 12px;}
.faq-list {display: flex;flex-direction: column;gap: 0;}
.faq-item {border-bottom: 1px solid var(--line);}
.faq-q {width: 100%;text-align: left;background: none;border: none;padding: 22px 0;font-family: inherit;font-size: 17px;font-weight: 700;color: var(--ink);cursor: pointer;display: flex;justify-content: space-between;align-items: center;gap: 16px;transition: color .2s;}
.faq-q:hover {color: var(--ember);}
.faq-q .faq-icon {width: 26px;height: 26px;border-radius: 50%;border: 1px solid var(--line);flex-shrink: 0;display: flex;align-items: center;justify-content: center;font-size: 16px;line-height: 1;font-weight: 400;transition: background .2s, border-color .2s, transform .3s;
}
.faq-item.open .faq-icon {background: var(--ember);border-color: var(--ember);color: #fff;transform: rotate(45deg);}
.faq-a {font-size: 15px;line-height: 1.7;color: var(--ink-soft);max-height: 0;overflow: hidden;transition: max-height .35s ease, padding .35s ease;padding-bottom: 0;}
.faq-item.open .faq-a {max-height: 300px;padding-bottom: 22px;}

.sec-slider {padding: 100px 0;background: #fff;overflow: hidden;}
.slider-track-wrap {position: relative;margin-top: 48px;}
.slider-track {display: flex;gap: 16px;overflow-x: auto;scroll-behavior: smooth;scrollbar-width: none;cursor: grab;user-select: none;padding: 4px 0 8px;}
.slider-track::-webkit-scrollbar {display: none;}
.slider-track.dragging {cursor: grabbing;scroll-behavior: auto;}
.svc-slide {flex: 0 0 240px;border-radius: 12px;overflow: hidden;display: block;text-decoration: none;position: relative;aspect-ratio: 3/4;background: #2a2522;transition: transform .25s ease, box-shadow .25s ease;}
.svc-slide-bg {position: absolute;inset: 0;background-size: cover;background-position: center;transition: transform .5s cubic-bezier(.22,.61,.36,1);}
.svc-slide::after {content: "";position: absolute;inset: 0;background: linear-gradient(180deg, rgba(20,17,15,.05) 0%, rgba(20,17,15,.72) 100%);transition: opacity .3s ease;}
.svc-slide:hover {transform: translateY(-4px);box-shadow: 0 16px 40px -16px rgba(28,60,159,.3);}
.svc-slide:hover .svc-slide-bg {transform: scale(1.06);}
.svc-slide:hover::after {opacity: .9;}
.svc-slide-body {position: absolute;bottom: 0;left: 0;right: 0;padding: 18px 20px 22px;z-index: 2;}
.svc-slide-body h3 {font-size: 15px;font-weight: 700;color: #fff;letter-spacing: -.01em;margin: 0;line-height: 1.25;}
.svc-slide-body p {font-size: 12px;color: rgba(255,255,255,0);line-height: 1.5;margin: 0;max-height: 0;overflow: hidden;transition: max-height .35s ease, color .3s ease, margin .3s ease;}
.svc-slide:hover .svc-slide-body p {color: rgba(255,255,255,.82);max-height: 80px;margin-top: 6px;}
.svc-slide-link {font-size: 12px;font-weight: 700;color: var(--amber);display: inline-flex;align-items: center;gap: 5px;opacity: 0;transform: translateY(6px);transition: opacity .3s ease, transform .3s ease;}
.svc-slide-link::after {content: "→";}
.svc-slide:hover .svc-slide-link {opacity: 1;transform: translateY(0);margin-top: 10px;}
.slider-nav {display: flex;gap: 10px;margin-top: 20px;justify-content: flex-end;}
.slider-btn {width: 40px;height: 40px;border-radius: 50%;border: 1px solid var(--line);background: #fff;display: flex;align-items: center;justify-content: center;cursor: pointer;font-size: 16px;transition: background .2s, border-color .2s, color .2s;color: var(--ink);}
.slider-btn:hover {background: var(--ember);border-color: var(--ember);color: #fff;}
.btn-download {background: var(--ink);color: var(--amber);padding: 16px 24px;border-radius: 4px;font-weight: 700;font-size: 15px;display: inline-flex;align-items: center;gap: 8px;border: none;cursor: pointer;font-family: inherit;transition: background .2s, color .2s, gap .2s;}
.btn-download:hover {background: var(--amber);color: var(--ink);gap: 12px;}

.client-review-section {padding: 100px 0;background: var(--cream);color: var(--ink); }
.client-review-section .review-author .author-name {color: var(--ink); }
.client-review-section .review-text {color: var(--ink); }

.review-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 60px;align-items: center; }

.review-text {font-size: 26px;font-weight: 600;line-height: 1.45;letter-spacing: -.015em;color: var(--ink);position: relative;padding-left: 28px; }

.review-text::before {content: "";position: absolute;left: 0;top: 4px;bottom: 4px;width: 3px;background: var(--ember); }

.review-author {margin-top: 24px;padding-left: 28px; }
.author-name {font-weight: 700;font-size: 15px; }
.author-role {font-size: 13px;color: var(--ink-soft);margin-top: 3px; }
.author-rating {font-size: 11px;font-weight: 700;letter-spacing: .12em;text-transform: uppercase;color: var(--ember);margin-top: 8px; }
.review-sidebar {display: flex;flex-direction: column;gap: 0; }
.success-story {background: var(--ink);color: #fff;border-radius: 8px;overflow: hidden;display: flex;flex-direction: column; }
.success-story-image {height: 220px;background-size: cover;background-position: center;position: relative; }
.success-story-image img { width: 100%; height: 100%; object-fit: cover; }
.success-story-tag {position: absolute;top: 20px;left: 20px;background: var(--ember);color: #fff;padding: 6px 12px;font-size: 12px;font-weight: 700;border-radius: 4px;text-transform: uppercase; }

.success-story-content {padding: 35px; }
.success-story-content h3 {margin: 0 0 20px;font-size: 20px;line-height: 1.3; }
.success-story-content p { font-size: 13px;margin: 0 0 25px;line-height: 1.7;opacity: 0.9; }
.success-story-stats {display: grid;grid-template-columns: repeat(2, 1fr);gap: 20px;margin: 30px 0; }
.success-story-item {display: flex;flex-direction: column; }
.stat-value {font-size: 28px;font-weight: 700;color: var(--amber);line-height: 1;margin-bottom: 10px; }
.stat-label { color: rgba(255,255,255,.6);font-size: 11px;line-height: 1.5; }

.success-story-link {margin-top: 16px;font-size: 13px;font-weight: 700;color: var(--amber);display: inline-flex;align-items: center;gap: 6px;transition: gap .2s; }

.success-story-link::after { content: "→"; }
.success-story-link:hover { gap: 10px; }

.sec-report {padding: 100px 0;background: #fff;}
.report-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 80px;align-items: center;}
.report-copy h2 {font-size: 42px;font-weight: 700;letter-spacing: -.03em;line-height: 1.1;margin-bottom: 20px;}
.report-copy p {font-size: 15px;color: var(--ink-soft);line-height: 1.7;margin-bottom: 16px;}
.priority-tags {display: flex;gap: 10px;flex-wrap: wrap;margin: 24px 0;}
.ptag {background: #fff;border: 1px solid var(--line);border-radius: 6px;padding: 12px 16px;display: flex;flex-direction: column;gap: 4px;min-width: 110px;}
.ptag .plabel {display: inline-flex;align-items: center;justify-content: center;width: 26px;height: 20px;border-radius: 3px;font-size: 10px;font-weight: 800;color: #fff;letter-spacing: .04em;margin-bottom: 4px;}
.ptag .plabel.p1 {background: #D9342B;}
.ptag .plabel.p2 {background: #E87D2B;}
.ptag .plabel.p3 {background: var(--blue);}
.ptag .plabel.p4 {background: #4a8c3f;}
.ptag h4 {font-size: 13px;font-weight: 700;margin: 0;}
.ptag span {font-size: 11px;color: var(--ink-soft);}
.report-link {font-size: 14px;font-weight: 700;color: var(--ember);display: inline-flex;align-items: center;gap: 6px;border-bottom: 1px solid var(--ember);padding-bottom: 2px;transition: gap .2s;}
.report-link:hover {gap: 10px;}

/* sub services page end */

/* error page style start */

body.page-404 {
  font-family: "Archivo",sans-serif;
  background: var(--cream);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.main {flex: 1;display: flex;align-items: center;justify-content: center;padding: 140px 56px 80px;position: relative;overflow: hidden;}

.main::before {content: "404";position: absolute;font-size: 520px;font-weight: 900;letter-spacing: -.06em;color: rgba(20,17,15,.04);line-height: 1;top: 50%;left: 50%;transform: translate(-50%,-50%);pointer-events: none;user-select: none;white-space: nowrap;}

.content {position: relative;z-index: 1;display: grid;grid-template-columns: 1fr 1fr;gap: 100px;align-items: center;max-width: 1280px;width: 100%;}

.error-tag {display: inline-flex;align-items: center;gap: 8px;font-size: 12px;letter-spacing: .14em;text-transform: uppercase;font-weight: 700;color: var(--ember);margin-bottom: 24px;}

.error-tag::before {content: "";width: 20px;height: 2px;background: var(--ember);}

.content-left h1 {font-size: 64px;font-weight: 900;letter-spacing: -.04em;line-height: 1.0;margin-bottom: 24px;}

.content-left h1 em { font-style: normal; color: var(--ember); }

.lede {font-size: 18px;line-height: 1.7;color: var(--ink-soft);margin-bottom: 40px;max-width: 480px;}
.cta-row {display: flex;gap: 16px;flex-wrap: wrap;align-items: center;}

.content-right {background: #fff;border-radius: 12px;padding: 40px;border: 1px solid var(--line);box-shadow: 0 8px 32px -12px rgba(20,17,15,.1);}

.links-label {font-size: 11px;letter-spacing: .14em;text-transform: uppercase;font-weight: 700;color: var(--ember);margin-bottom: 20px;}

.quick-links {list-style: none;display: flex;flex-direction: column;gap: 4px;margin-bottom: 32px;}

.quick-links a {display: flex;align-items: center;justify-content: space-between;padding: 14px 16px;border-radius: 6px;font-size: 15px;font-weight: 600;color: var(--ink);transition: background .18s, color .18s, padding-left .18s;border-left: 2px solid transparent;}

.quick-links a:hover {background: rgba(217,52,43,.06);color: var(--ember);padding-left: 22px;border-left-color: var(--ember);}

.quick-links a svg {width: 16px;height: 16px;opacity: .4;flex-shrink: 0;transition: opacity .18s;}

.quick-links a:hover svg {opacity: 1;}

.divider {border: none;border-top: 1px solid var(--line);margin: 0 0 28px;}

.phone-block {display: flex;align-items: center;gap: 16px;}

.phone-icon {width: 48px;height: 48px;border-radius: 50%;background: var(--ember);display: flex;align-items: center;justify-content: center;flex-shrink: 0;position: relative;}

.phone-icon::before {content: "";position: absolute;inset: -5px;border-radius: 50%;border: 2px solid var(--ember);opacity: .4;animation: page-404-pulse 1.8s ease-out infinite;}

.phone-icon svg {width: 20px;height: 20px;color: #fff;}

.phone-text {display: flex;flex-direction: column;gap: 2px;}

.phone-label {font-size: 11px;letter-spacing: .1em;text-transform: uppercase;font-weight: 700;/*color: var(--ink-soft);*/}

.phone-num {font-size: 22px;font-weight: 900;letter-spacing: -.02em;color: var(--ink);font-variant-numeric: tabular-nums;}

.btn-primary {padding: 16px 28px;background: var(--ember);color: #fff;border-radius: 5px;font-weight: 700;font-size: 15px;display: inline-flex;align-items: center;gap: 8px;transition: background .2s, gap .2s, transform .15s;}

.btn-primary::after {content: "→";
}

.btn-primary:hover {background: var(--ink);color: var(--amber);gap: 12px;transform: translateY(-1px);
}

/* .btn-ghost {padding: 16px 24px;color: var(--ink);font-weight: 700;font-size: 15px;display: inline-flex;align-items: center;gap: 8px;border: 1.5px solid var(--line);border-radius: 5px;transition: border-color .2s, color .2s, gap .2s;
}

.btn-ghost::after {content: "→";
}

.btn-ghost:hover {border-color: var(--ink);color: var(--ink);gap: 12px;
} */

.btn-ghost {
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  border-bottom: 1px solid rgba(255,255,255,.5);
  padding-bottom: 2px;
  transition: color .2s, border-color .2s;
}
.btn-ghost:hover {
  color: var(--amber);
  border-color: var(--amber);
}

/* error page style end */

/* fire risk assessments style start */
.sec-who {padding: 100px 0;background: var(--cream);}
.who-head {margin-bottom: 52px;}
.who-grid {display: grid;grid-template-columns: repeat(4, 1fr);gap: 16px;}
.who-card {border-radius: 12px;overflow: hidden;display: block;text-decoration: none;position: relative;aspect-ratio: 3/4;background: #2a2522;}
.who-card-bg {position: absolute;inset: 0;background-size: cover;background-position: center;transition: transform .5s cubic-bezier(.22,.61,.36,1);}
.who-card::after {content: "";position: absolute;inset: 0;background: linear-gradient(180deg, rgba(20,17,15,.05) 0%, rgba(20,17,15,.72) 100%);transition: opacity .3s ease;}
.who-card:hover .who-card-bg {transform: scale(1.06);}
.who-card:hover::after {opacity: .9;}
.who-card::before {display: none;}
.who-card-body {position: absolute;bottom: 0;left: 0;right: 0;padding: 18px 20px 20px;z-index: 2;}
.who-card h3 {font-size: 15px;font-weight: 700;color: #fff;letter-spacing: -.01em;margin-bottom: 0;line-height: 1.25;}
.who-card p {font-size: 12px;color: rgba(255,255,255,0);line-height: 1.5;margin: 0;max-height: 0;overflow: hidden;transition: max-height .35s ease, color .3s ease, margin .3s ease;}
.who-card:hover p {color: rgba(255,255,255,.82);max-height: 80px;margin-top: 6px;font-size: 13px;}
.who-card .card-link {font-size: 12px;font-weight: 700;color: var(--amber);display: inline-flex;align-items: center;gap: 5px;opacity: 0;transform: translateY(6px);margin-top: 0;transition: opacity .3s ease, transform .3s ease, gap .2s, margin .3s ease;}
.who-card .card-link::after {content: "→";}
.who-card:hover .card-link {opacity: 1;transform: translateY(0);gap: 9px;margin-top: 10px;}

.sec-how {padding: 100px 0;background: #fff;}
.how-grid {display: grid;grid-template-columns: repeat(4, 1fr);gap: 16px;margin-top: 52px;}
.steps-stat {display: contents;}
.step {display: flex;flex-direction: column;gap: 0;padding: 32px 28px;border: 1px solid var(--line);border-radius: 8px;background: #fff;}

.step-stat {display: flex;flex-direction: column;gap: 2px;margin-bottom: 20px;}
.step-stat .stat-val {font-size: 40px;font-weight: 900;letter-spacing: -.04em;line-height: 1;color: var(--ember);}

.step-stat .stat-label {font-size: 11px;letter-spacing: .12em;text-transform: uppercase;font-weight: 700;color: var(--ink-soft);margin-top: 4px;}
.step-body h3 {font-size: 16px;font-weight: 700;letter-spacing: -.01em;margin-bottom: 8px;line-height: 1.2;}
.step-body p {font-size: 13px;color: var(--ink-soft);line-height: 1.65;margin: 0;}

.sec-related {padding: 100px 0;background: #fff;}
.related-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 0;border-top: 1px solid var(--line);border-left: 1px solid var(--line);margin-top: 48px;}
.rel-card {border-right: 1px solid var(--line);border-bottom: 1px solid var(--line);padding: 44px 40px 40px;display: flex;flex-direction: column;min-height: 280px;position: relative;background: #fff;overflow: hidden;text-decoration: none;color: var(--ink);transition: background .25s ease, color .25s ease;}

.rel-card::before {content: "";position: absolute;left: 0;top: 0;height: 3px;width: 0;background: var(--ember);transition: width .35s cubic-bezier(.22,.61,.36,1), background .25s ease;}
.rel-card:hover {background: rgb(28,60,159);color: #fff;}

.rel-card:hover::before {width: 100%;background: var(--amber);}
.rel-card:hover .rel-icon {color: #fff;opacity: 1;transform: translateY(-3px) scale(1.05);}

.rel-card:hover h3 {color: #fff;}
.rel-card:hover p {color: rgba(255,255,255,.82);}
.rel-card:hover .rel-link {color: var(--amber);gap: 10px;}

.rel-icon {width: 36px;height: 36px;color: var(--ember);opacity: .9;transition: transform .25s ease, color .25s ease, opacity .25s ease;transform-origin: left center;}
.rel-icon svg {width: 36px;height: 36px;}
.rel-card h3 {font-size: 22px;margin: 22px 0 10px;letter-spacing: -.01em;font-weight: 700;transition: color .25s ease;}
.rel-card p {font-size: 14px;color: var(--ink-soft);margin: 0 0 20px;line-height: 1.55;flex: 1;transition: color .25s ease;}

.rel-link {font-size: 13px;font-weight: 700;color: var(--ember);display: inline-flex;align-items: center;gap: 6px;transition: gap .2s ease, color .25s ease;}
.rel-link::after {content: "→";}
.rel-card:hover .rel-link::after {transform: translateX(4px);}

/* fire risk assessments style end */

/* fire oor inspection style start */
.fail-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 16px;margin-bottom: 48px;}
.fail-card {border-radius: 12px;overflow: hidden;display: block;text-decoration: none;position: relative;aspect-ratio: 3/4;background: #2a2522;}
.fail-card-img {position: absolute;inset: 0;background-size: cover;background-position: center;transition: transform .5s cubic-bezier(.22,.61,.36,1);}

.fail-card::after {content: "";position: absolute;inset: 0;background: linear-gradient(180deg, rgba(20,17,15,.05) 0%, rgba(20,17,15,.75) 100%);transition: opacity .3s ease;}
.fail-card:hover .fail-card-img {transform: scale(1.06);}
.fail-card:hover::after {opacity: .9;}
.fail-card-body {position: absolute;bottom: 0;left: 0;right: 0;padding: 18px 20px 22px;z-index: 2;}
.fail-num {font-size: 11px;font-weight: 800;letter-spacing: .14em;color: var(--amber);margin-bottom: 4px;}
.fail-card h3 {font-size: 15px;font-weight: 700;color: #fff;letter-spacing: -.01em;line-height: 1.25;margin: 0;}
.fail-card p {font-size: 13px;color: rgba(255,255,255,0);line-height: 1.5;margin: 0;max-height: 0;overflow: hidden;transition: max-height .35s ease, color .3s ease, margin .3s ease;}
.fail-card:hover p {color: rgba(255,255,255,.82);max-height: 100px;margin-top: 6px;}
.fail-cta-strip {display: flex;align-items: center;justify-content: space-between;gap: 32px;padding: 28px 32px;background: #fff;border-radius: 8px;border: 1px solid var(--line);}
.fail-cta-strip p {font-size: 15px;color: var(--ink-soft);margin: 0;max-width: 600px;line-height: 1.5;}

.sec-legal {padding: 100px 0;background: #fff;}
.legal-head {display: grid;grid-template-columns: 1fr 1fr;gap: 80px;align-items: end;margin-bottom: 52px;}
.legal-head .eyebrow {color: var(--ember);margin-bottom: 14px;}
.legal-head h2 {font-size: 42px;font-weight: 700;letter-spacing: -.03em;line-height: 1.1;margin: 0;}
.legal-head p {font-size: 16px;color: var(--ink-soft);line-height: 1.65;margin: 0;}
.legal-cards {display: grid;grid-template-columns: repeat(3, 1fr);gap: 16px;margin-bottom: 24px;
}
.legal-card {background: #fff;border-radius: 8px;padding: 32px 28px 28px;border: 1px solid var(--line);display: flex;flex-direction: column;gap: 14px;}
.legal-card .year {font-size: 56px;font-weight: 900;letter-spacing: -.04em;color: var(--ember);line-height: 1;}
.legal-card h3 {font-size: 17px;font-weight: 700;letter-spacing: -.01em;line-height: 1.25;margin: 0;}

.legal-card p {font-size: 14px;color: var(--ink-soft);line-height: 1.65;margin: 0;flex: 1;}
.legal-card .legal-tag {font-size: 10px;font-weight: 800;letter-spacing: .14em;text-transform: uppercase;color: var(--ember);padding-top: 14px;border-top: 1px solid var(--line);margin-top: auto;}
.legal-note {display: flex;align-items: flex-start;gap: 12px;background: var(--ink);border-radius: 8px;padding: 18px 22px;border: 1px solid var(--ink);font-size: 14px;color: rgba(255,255,255,.8);line-height: 1.6;}
.legal-note-icon {width: 22px;height: 22px;border-radius: 50%;border: 1.5px solid var(--amber);display: flex;align-items: center;justify-content: center;color: var(--amber);font-size: 12px;font-weight: 700;flex-shrink: 0;margin-top: 1px;}

/* fire oor inspection style end */


/* blog main style start */

.sec-featured {padding: 72px 0 0;}
.featured-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 0;border: 1px solid var(--line);border-radius: 12px;overflow: hidden;box-shadow: 0 8px 40px -12px rgba(20,17,15,.12);}
.featured-image {position: relative;overflow: hidden;min-height: 480px;background: #e8e4db;}
.featured-image img {width: 100%;height: 100%;object-fit: cover;transition: transform .7s cubic-bezier(.22,.61,.36,1);}
.featured-grid:hover .featured-image img {transform: scale(1.04);}
.featured-image-overlay {position: absolute;inset: 0;background: linear-gradient(135deg, rgba(181,37,29,.18), transparent 60%);}
.feat-tag {position: absolute;top: 24px;left: 24px;z-index: 2;background: var(--ember);color: #fff;font-size: 11px;letter-spacing: .12em;text-transform: uppercase;font-weight: 700;padding: 6px 14px;border-radius: 3px;}
.featured-copy {padding: 56px 56px 56px 56px;display: flex;flex-direction: column;justify-content: center;background: #fff;position: relative;}
.featured-copy::before {content: "FEATURED";position: absolute;top: 28px;right: 28px;font-size: 10px;letter-spacing: .18em;font-weight: 800;color: var(--amber);opacity: .85;}
.post-meta {display: flex;align-items: center;gap: 16px;margin-bottom: 18px;}
.post-category {font-size: 11px;letter-spacing: .13em;text-transform: uppercase;font-weight: 700;color: var(--ember);}
.post-date {font-size: 13px;color: var(--ink-soft);font-weight: 500;}
.post-read {font-size: 13px;color: var(--ink-soft);font-weight: 500;}
.post-meta-sep {width: 3px;height: 3px;border-radius: 50%;background: var(--cream-2);}
.featured-copy h2 {font-size: 34px;font-weight: 800;line-height: 1.1;letter-spacing: -.025em;margin-bottom: 16px;transition: color .2s;}
.featured-grid:hover .featured-copy h2 {color: var(--ember);}
.featured-copy .excerpt {font-size: 16px;line-height: 1.65;color: var(--ink-soft);margin-bottom: 32px;}
.featured-author {display: flex;align-items: center;gap: 14px;padding-top: 24px;border-top: 1px solid var(--line);}
.author-avatar {width: 44px;height: 44px;border-radius: 50%;overflow: hidden;flex-shrink: 0;background: var(--cream-2);}
.author-avatar img {width: 100%;height: 100%;object-fit: cover;}
.author-name {font-size: 14px;font-weight: 700;}
.author-title {font-size: 13px;color: var(--ink-soft);}
.read-link {display: inline-flex;align-items: center;gap: 8px;margin-top: 28px;font-size: 15px;font-weight: 700;color: var(--ember);transition: gap .2s;}
.read-link::after {content: "→";transition: transform .2s;}
.read-link:hover {gap: 12px;}

.sec-posts {padding: 64px 0;}
.posts-header {display: flex;align-items: baseline;justify-content: space-between;margin-bottom: 40px;gap: 16px;}
.posts-header h2 {font-size: 42px;font-weight: 700;letter-spacing: -.03em;line-height: 1.1;}
.posts-header .view-all {font-size: 14px;font-weight: 700;color: var(--ember);display: inline-flex;align-items: center;gap: 6px;transition: gap .2s;}
.posts-header .view-all::after {content: "→";}
.posts-header .view-all:hover {gap: 10px;}

.posts-grid {display: grid;grid-template-columns: repeat(3,1fr);gap: 32px;}
.post-card {display: flex;flex-direction: column;border: 1px solid var(--line);border-radius: 10px;overflow: hidden;transition: transform .28s cubic-bezier(.22,.61,.36,1), box-shadow .28s;background: #fff;}
.post-card:hover {transform: translateY(-6px);box-shadow: 0 20px 48px -12px rgba(20,17,15,.14);}
.card-image {position: relative;height: 220px;overflow: hidden;background: var(--cream-2);flex-shrink: 0;}
.card-image img {width: 100%;height: 100%;object-fit: cover;transition: transform .6s cubic-bezier(.22,.61,.36,1);}
.post-card:hover .card-image img {transform: scale(1.06);}

.card-cat {position: absolute;bottom: 16px;left: 16px;background: var(--ember);color: #fff;font-size: 10px;letter-spacing: .12em;text-transform: uppercase;font-weight: 700;padding: 5px 12px;border-radius: 3px;}
.card-body {padding: 28px 28px 32px;display: flex;flex-direction: column;flex: 1;}
.card-meta {display: flex;align-items: center;gap: 10px;margin-bottom: 14px;}
.card-date {font-size: 12px;color: var(--ink-soft);font-weight: 500;}
.card-read {font-size: 12px;color: var(--ink-soft);font-weight: 500;}
.card-body h3 {font-size: 20px;font-weight: 800;line-height: 1.2;letter-spacing: -.02em;margin-bottom: 12px;transition: color .18s;}
.post-card:hover .card-body h3 {color: var(--ember);}
.card-excerpt {font-size: 14px;line-height: 1.6;color: var(--ink-soft);flex: 1;margin-bottom: 20px;}
.card-footer {display: flex;align-items: center;justify-content: space-between;padding-top: 16px;border-top: 1px solid var(--line);}
.card-author-name {font-size: 13px;font-weight: 700;}

.card-arrow {width: 36px;height: 36px;border-radius: 50%;border: 1.5px solid var(--line);display: flex;align-items: center;justify-content: center;font-size: 15px;color: var(--ember);transition: background .2s, border-color .2s, transform .2s;}
.post-card:hover .card-arrow {background: var(--ember);border-color: var(--ember);color: #fff;transform: translateX(3px);}

.load-more-wrap {text-align: center;padding-top: 48px;}
.btn-load-more {padding: 16px 36px;border: 2px solid var(--ink);border-radius: 6px;font-family: inherit;font-size: 15px;font-weight: 700;color: var(--ink);background: transparent;cursor: pointer;transition: background .2s, color .2s, border-color .2s;display: inline-flex;align-items: center;gap: 8px;}
.btn-load-more::after {content: "→";transition: transform .2s;}
.btn-load-more:hover {background: var(--ink);color: #fff;gap: 12px;}

.sec-topics {padding: 0 0 72px;}
.topics-head {display: flex;align-items: baseline;justify-content: space-between;margin-bottom: 32px;}
.topics-head h2 {font-size: 42px;font-weight: 700;letter-spacing: -.03em;line-height: 1.1;}
.topics-grid {display: grid;grid-template-columns: repeat(4,1fr);gap: 16px;}
.topic-card {padding: 28px 24px;border-radius: 10px;display: flex;flex-direction: column;gap: 14px;border: 1.5px solid var(--line);cursor: pointer;background: #fff;transition: background .22s, border-color .22s, color .22s;}
.topic-card:hover {background: var(--blue);border-color: var(--blue);color: #fff;}
.topic-card:hover .topic-icon {color: #fff;}
.topic-card:hover .topic-count {color: rgba(255,255,255,.7);}
.topic-icon {color: var(--ember);transition: color .22s;}
.topic-icon svg {width: 38px;height: 38px;display: block;}
.topic-name {font-size: 16px;font-weight: 800;letter-spacing: -.01em;}
.topic-count {font-size: 13px;color: var(--ink-soft);transition: color .22s;}

.sec-recent {padding: 0 0 72px;}
.recent-grid {display: grid;grid-template-columns: repeat(2,1fr);gap: 20px;}
.recent-card {display: flex;gap: 20px;padding: 20px;border: 1px solid var(--line);border-radius: 8px;transition: transform .25s cubic-bezier(.22,.61,.36,1), box-shadow .25s cubic-bezier(.22,.61,.36,1);cursor: pointer;}
.recent-card:hover {transform: translateY(-3px);box-shadow: 0 8px 18px -10px rgba(20,17,15,.13); }
.recent-thumb {width: 88px;height: 80px;border-radius: 6px;overflow: hidden;flex-shrink: 0;background: var(--cream-2);}
.recent-thumb img {width: 100%;height: 100%;object-fit: cover;}
.recent-meta {font-size: 11px;text-transform: uppercase;letter-spacing: .1em;font-weight: 700;color: var(--ember);margin-bottom: 6px;}
.recent-title {font-size: 15px;font-weight: 700;line-height: 1.25;letter-spacing: -.01em;}
.recent-date {font-size: 12px;color: var(--ink-soft);margin-top: 6px;} 

/* blog main style end */

/* blog single style start */

.hero-meta {display: flex;align-items: center;gap: 20px;flex-wrap: wrap;}
.hero-author {display: flex;align-items: center;gap: 12px;}
.hero-avatar {width: 44px;height: 44px;border-radius: 50%;overflow: hidden;border: 2px solid rgba(255,255,255,.3);flex-shrink: 0;}
.hero-avatar img {width: 100%;height: 100%;object-fit: cover;}
.hero-author-name {font-size: 15px;font-weight: 700;}
.hero-author-title {font-size: 13px;opacity: .75;}
.hero-meta-divider {width: 1px;height: 36px;background: rgba(255,255,255,.25);}
.hero-meta-info {display: flex;flex-direction: column;gap: 3px;}
.hero-meta-date {font-size: 13px;opacity: .8;}
.hero-meta-read {display: inline-flex;align-items: center;gap: 6px;font-size: 13px;font-weight: 700;color: var(--amber);}

.breadcrumb-bar {background: var(--ink);border-bottom: 1px solid rgba(255,255,255,.1);padding: 14px 0;}
.breadcrumb {display: flex;align-items: center;gap: 8px;font-size: 13px;color: rgba(255,255,255,.55);}
.breadcrumb a {color: var(--amber);font-weight: 600;transition: opacity .15s;}
.breadcrumb a:hover {opacity: .75;}
.breadcrumb-sep {opacity: .4;font-size: 11px;}
.breadcrumb-current {font-weight: 600;color: rgba(255,255,255,.85);}

.article-wrap {max-width: 1280px;margin: 0 auto;padding: 72px 56px;display: grid;grid-template-columns: 1fr 340px;gap: 80px;align-items: start;}
.article-body {min-width: 0;}

.article-lede {font-size: 20px;line-height: 1.7;color: var(--ink-soft);border-left: 3px solid var(--ember);padding-left: 24px;margin-bottom: 48px;font-weight: 500;}

.article-body h2 {font-size: 30px;font-weight: 700;letter-spacing: -.025em;line-height: 1.15;margin: 52px 0 18px; }

.article-body h3 {font-size: 22px;font-weight: 700;letter-spacing: -.015em;line-height: 1.2;margin: 36px 0 14px;color: var(--ink); }

.article-body p {font-size: 17px;line-height: 1.75;color: var(--ink-soft);margin-bottom: 22px;
}

.article-body p strong {color: var(--ink);font-weight: 700; }

.article-body ul, .article-body ol {margin: 0 0 24px 0;padding-left: 0;list-style: none;display: flex;flex-direction: column;gap: 10px; }

.article-body li {font-size: 17px;line-height: 1.7;color: var(--ink-soft);padding-left: 22px;position: relative; }

.article-body ul li::before {content: "";position: absolute;left: 0;top: 11px;width: 8px;height: 2px;background: var(--ember); }

.article-body ol {counter-reset: ol; }

.article-body ol li {counter-increment: ol; }

.article-body ol li::before {content: counter(ol);position: absolute;left: 0;top: 0;font-size: 13px;font-weight: 800;color: var(--ember);line-height: 1.75; }

.pull-quote {margin: 48px 0;padding: 32px 36px;background: var(--cream);border-left: 4px solid var(--ember);border-radius: 0 8px 8px 0; }

.pull-quote p {font-size: 21px;font-weight: 700;line-height: 1.4;letter-spacing: -.01em;color: var(--ink);margin: 0 0 14px; }

.pull-quote cite {font-size: 13px;font-style:normal;color: var(--ink-soft);font-weight: 600;}
.callout {margin: 40px 0;padding: 28px 32px;border: 1.5px solid var(--line);border-radius: 8px;background: #fff;position: relative;}

.callout::before {content: "";position: absolute;top: 0;left: 0;right: 0;height: 3px;background: var(--amber);border-radius: 8px 8px 0 0; }

.callout-label {font-size: 11px;letter-spacing: .13em;text-transform: uppercase;font-weight: 800;color: var(--ember);margin-bottom: 10px; }

.callout p {font-size: 15px;line-height: 1.7;color: var(--ink-soft);margin: 0; }

.callout p strong {color: var(--ink); }

.article-img {margin: 44px 0;border-radius: 8px;overflow: hidden;box-shadow: 0 12px 40px -12px rgba(20,17,15,.15); }

.article-img img {width: 100%;height: 360px;object-fit: cover;display: block; }

.article-img figcaption {padding: 12px 16px;background: var(--cream);font-size: 13px;color: var(--ink-soft);line-height: 1.5; }

.article-divider {margin: 52px 0;border: none;border-top: 1px solid var(--line); }

.article-footer {margin-top: 64px;padding-top: 40px;border-top: 2px solid var(--line); }

.article-tags {display: flex;gap: 8px;flex-wrap: wrap;margin-bottom: 36px; }

.article-tag {padding: 6px 14px;border-radius: 100px;border: 1.5px solid var(--line);font-size: 13px;font-weight: 600;color: var(--ink-soft);transition: border-color .18s, color .18s; }

.article-tag:hover {border-color: var(--ember);color: var(--ember); }

.article-author-card {display: flex;gap: 24px;padding: 32px;background: var(--cream); border-radius: 10px; }

.author-card-avatar {width: 72px;height: 72px;border-radius: 50%;overflow: hidden;flex-shrink: 0; }

.author-card-avatar img {width: 100%;height: 100%;object-fit: cover;}

.author-card-name {font-size: 18px;font-weight: 800;letter-spacing: -.01em;margin-bottom: 4px;
}

.author-card-title {font-size: 13px;color: var(--ink-soft);margin-bottom: 12px;}

.author-card-creds {display: flex;gap: 8px;flex-wrap: wrap;margin-bottom: 14px;}

.author-cred {font-size: 11px;letter-spacing: .1em;text-transform: uppercase;font-weight: 700;padding: 4px 10px;background: #fff;border-radius: 3px;color: var(--ember);border: 1px solid rgba(217,52,43,.2);}
.author-card-bio {font-size: 15px;line-height: 1.65;color: var(--ink-soft);}

.sidebar {position: sticky;top: 32px;}

.sidebar-block {margin-bottom: 32px;padding: 28px;border: 1px solid var(--line);border-radius: 10px;background: #fff;}

.sidebar-block:first-child {background: var(--ember);color: #fff;border-color: transparent;}

.sidebar-label {font-size: 11px;letter-spacing: .13em;text-transform: uppercase;font-weight: 700;color: var(--amber);margin-bottom: 14px;}

.sidebar-block:not(:first-child) .sidebar-label {color: var(--ember);}

.sidebar-cta-heading {font-size: 20px;font-weight: 800;line-height: 1.25;letter-spacing: -.015em;margin-bottom: 12px;}
.sidebar-cta-body {font-size: 14px;line-height: 1.6;opacity: .85;margin-bottom: 22px;}
.sidebar-btn {display: inline-flex;align-items: center;gap: 8px;padding: 14px 20px;background: var(--ink);color: var(--amber);border-radius: 5px;font-weight: 700;font-size: 14px;width: 100%;justify-content: center;border: none;cursor: pointer;font-family: inherit;transition: background .2s, color .2s, gap .2s;}

.sidebar-btn::after {content: "→";}

.sidebar-btn:hover {background: var(--amber);color: var(--ink);gap: 12px;}

.sidebar-toc {list-style: none;display: flex;flex-direction: column;gap: 2px;}

.sidebar-toc li a {display: block;padding: 9px 12px;font-size: 14px;font-weight: 500;color: var(--ink-soft);border-radius: 5px;border-left: 2px solid transparent;transition: color .15s, border-color .15s, background .15s, padding-left .15s;}

.sidebar-toc li a:hover, .sidebar-toc li a.active {color: var(--ember);border-left-color: var(--ember);background: rgba(217,52,43,.05);padding-left: 16px;}

.sidebar-related {list-style: none;display: flex;flex-direction: column;gap: 0;}

.sidebar-related li {border-bottom: 1px solid var(--line);}

.sidebar-related li:last-child {border-bottom: none;}

.sidebar-related a {display: flex;gap: 14px;padding: 14px 0;align-items: center;font-size: 14px;font-weight: 600;line-height: 1.35;transition: color .15s;}

.sidebar-related a:hover {color: var(--ember);}

.sidebar-related-cat {font-size: 11px;letter-spacing: .1em;text-transform: uppercase;font-weight: 700;color: var(--ember);display: block;margin-bottom: 4px;}

.sidebar-related-thumb {width: 56px;height: 52px;border-radius: 5px;overflow: hidden;flex-shrink: 0;background: var(--cream-2);}

.sidebar-related-thumb img {width: 100%;height: 100%;object-fit: cover;}

.progress-bar {position: fixed;top: 0;left: 0;z-index: 100;height: 3px;background: var(--ember);width: 0%;transition: width .1s linear;}

.insights-suggestion-section { padding: 80px 0; background: var(--cream); }

.insights-header {display: flex;align-items: baseline;justify-content: space-between;margin-bottom: 40px;gap: 24px; }

.insights-header h2 {font-size: 42px;font-weight: 700;letter-spacing: -.03em;line-height: 1.1; }

.insights-header a {font-size: 14px;font-weight: 700;color: var(--ember);display: inline-flex;align-items: center;gap: 6px;text-decoration: none;white-space: nowrap;transition: gap .2s; }

.insights-header a::after { content: "→"; }

.insights-header a:hover {gap: 10px; }

.insights-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 28px; }

.insight-item-card {background: #fff;border-radius: 10px;overflow: hidden;border: 1px solid var(--line);text-decoration: none;color: inherit;transition: transform .28s cubic-bezier(.22,.61,.36,1), box-shadow .28s; }

.insight-item-card:hover {transform: translateY(-5px);box-shadow: 0 20px 48px -12px rgba(20,17,15,.13); }

.insight-item-image {height: 200px;overflow: hidden;background: var(--cream-2); }

.insight-item-image img {width: 100%;height: 100%;object-fit: cover;transition: transform .6s cubic-bezier(.22,.61,.36,1); }

.insight-item-card:hover .insight-item-image img {transform: scale(1.06); }

.insight-item-content {padding: 24px; }

.insight-item-category {font-size: 11px;letter-spacing: .12em;text-transform: uppercase;font-weight: 700;color: var(--ember);margin-bottom: 10px; }

.insight-item-title {font-size: 18px;font-weight: 800;line-height: 1.2;letter-spacing: -.015em;margin-bottom: 10px;transition: color .18s; }

.insight-item-card:hover .insight-item-title {color: var(--ember); }

.insight-item-meta {font-size: 13px;color: var(--ink-soft); }

/* blog single style end */
