/* ============================================================
   Mechanic — FG1 template stylesheet
   Palette: change these 11 variables to restyle the template.
   ============================================================ */
:root {
  --fg1-primary: #547792;                                /* steel blue — brand */
  --fg1-secondary: #374162;                              /* dark navy companion */
  --fg1-accent: #fab95b;                                 /* amber highlight / CTA */
  --fg1-bg: #f9f9f9;                                     /* page background */
  --fg1-surface: #f0f0f0;                                /* cards / alt sections */
  --fg1-text: #212529;                                   /* body text */
  --fg1-muted: #5a5e62;                                  /* secondary text */
  --fg1-accent-text: #000000;                            /* text on accent */
  --fg1-heading-font: "Montserrat Variable", sans-serif; /* headings + buttons */
  --fg1-body-font: "Inter Variable", sans-serif;         /* body copy */
  --fg1-radius: 0.375rem;                                /* corner rounding */
}

/* ============================================================
   Vendor CSS (regenerated from the upstream vite build:
   purged Bootstrap 5 + boxicons + self-hosted fonts + preloader
   + the template's own theme). Brand colours are var-ized.
   ============================================================ */
#loader-wrapper{background:#000000f2;height:100%;inset:0;overflow:hidden;position:fixed;z-index:999}
.hide-preloader{opacity:0;transition:all .5s ease-out;visibility:hidden}
.loader{border:1px solid #fff;border-radius:50%;height:150px;left:50%;margin:-75px 0 0 -75px;width:150px}
.loader,.loader .loading{position:absolute;top:50%}
.loader .loading{color:#fff;font-size:10px;font-style:italic;font-weight:700;left:0;line-height:14px;margin-top:20px;text-align:center;text-transform:uppercase;width:100%}
.loader-circle-1{animation:spin 3s linear infinite;border:1px solid #fff;border-radius:50%;border-right-color:transparent;height:138px;width:138px}
.loader-circle-1,.loader-circle-2{left:5px;position:absolute;top:5px}
.loader-circle-2{animation:spin 5s linear infinite;border:1px solid transparent;border-radius:50%;border-right-color:var(--fg1-accent);height:126px;width:126px}
.loader .line{background:#fff;height:2px;position:absolute;width:10px}
.loader .line:first-child{left:16px;margin-top:-1px;top:50%}
.loader .line:nth-child(2){left:33px;top:33px;transform:rotate(45deg)}
.loader .line:nth-child(3){height:10px;left:50%;top:16px;width:2px}
.loader .line:nth-child(4){right:33px;top:33px;transform:rotate(135deg)}
.loader .line:nth-child(5){margin-top:-1px;right:16px;top:50%}
.loader .line:nth-child(6){background:var(--fg1-accent);bottom:33px;right:33px;transform:rotate(45deg)}
.loader .subline{background:#fff;height:2px;position:absolute;width:3px}
.loader .subline:nth-child(7){left:21px;top:50px;transform:rotate(22.5deg)}
.loader .subline:nth-child(8){left:50px;top:21px;transform:rotate(67.5deg)}
.loader .subline:nth-child(9){right:50px;top:21px;transform:rotate(112.5deg)}
.loader .subline:nth-child(10){right:21px;top:50px;transform:rotate(157.5deg)}
.loader .subline:nth-child(11){background:var(--fg1-accent);bottom:49px;right:20px;transform:rotate(22.5deg)}
.loader .needle{animation:pegIt 3s ease-in-out infinite;border:1px solid #fff;border-radius:50%;height:14px;left:50%;margin:-8px 0 0 -8px;position:absolute;top:50%;width:14px;z-index:1}
.loader .needle:before{border-color:transparent var(--fg1-accent) transparent transparent;border-radius:0 50% 50% 0;border-style:solid;border-width:3.5px 50px 3.5px 0;content:"";height:0;margin:-3.5px 0 0;position:absolute;right:50%;top:50%;width:0}
@keyframes pegIt{0%{transform:rotate(0)}
16%{transform:rotate(75deg)}
25%{transform:rotate(55deg)}
30%{transform:rotate(90deg)}
36%{transform:rotate(170deg)}
42%{transform:rotate(150deg)}
50%{transform:rotate(227deg)}
to{transform:rotate(0)}
}
@keyframes spin{0%{transform:rotate(0)}
to{transform:rotate(1turn)}
}
@font-face{font-display:swap;font-family:Montserrat Variable;font-style:normal;font-weight:100 900;src:url(assets/fonts/montserrat-latin.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(assets/fonts/inter-latin.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
:root,[data-bs-theme=light]{--bs-success-rgb:16,91,56;--bs-danger-rgb:158,26,26;--bs-light-rgb:254,254,254;--bs-font-sans-serif:var(--fg1-body-font);--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:var(--fg1-text);--bs-body-bg:#fff;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:var(--fg1-muted);--bs-secondary-bg:#e9ecef;--bs-tertiary-bg:#f8f9fa;--bs-heading-color:inherit;--bs-link-color:var(--fg1-primary);--bs-link-hover-color:color-mix(in srgb,var(--fg1-primary) 80%,black);--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0,0,0,.175);--bs-border-radius:var(--fg1-radius);--bs-border-radius-lg:.5rem;--bs-border-radius-pill:50rem;--bs-box-shadow-sm:0 .125rem .25rem rgba(0,0,0,.075)}
*,:after,:before{box-sizing:border-box}
@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}
}
body{background-color:var(--bs-body-bg);color:var(--bs-body-color);font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);margin:0;text-align:var(--bs-body-text-align);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}
.h1,.h2,.h4,h1,h2,h4{color:var(--bs-heading-color);font-family:var(--fg1-heading-font);font-weight:500;line-height:1.2;margin-bottom:.5rem;margin-top:0}
.h1,h1{font-size:calc(1.375rem + 1.5vw)}
@media(min-width:1200px){.h1,h1{font-size:2.5rem}
}
.h2,h2{font-size:calc(1.325rem + .9vw)}
@media(min-width:1200px){.h2,h2{font-size:2rem}
}
.h4,h4{font-size:calc(1.275rem + .3vw)}
@media(min-width:1200px){.h4,h4{font-size:1.5rem}
}
p{margin-top:0}
address,p{margin-bottom:1rem}
address{font-style:normal;line-height:inherit}
ul{margin-bottom:1rem;margin-top:0;padding-left:2rem}
ul ul{margin-bottom:0}
blockquote{margin:0 0 1rem}
.small,small{font-size:.875em}
a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}
a:hover{color:var(--bs-link-hover-color)}
a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}
figure{margin:0 0 1rem}
img,svg{vertical-align:middle}
table{border-collapse:collapse;caption-side:bottom}
th{text-align:inherit;text-align:-webkit-match-parent}
tbody,td,th,thead,tr{border:0 solid;border-color:inherit}
label{display:inline-block}
button{border-radius:0}
button:focus:not(:focus-visible){outline:0}
button,input,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}
button{text-transform:none}
[role=button]{cursor:pointer}
[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}
[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}
[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}
::-moz-focus-inner{border-style:none;padding:0}
textarea{resize:vertical}
::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}
::-webkit-inner-spin-button{height:auto}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-color-swatch-wrapper{padding:0}
::file-selector-button{-webkit-appearance:button;font:inherit}
output{display:inline-block}
iframe{border:0}
progress{vertical-align:baseline}
[hidden]{display:none!important}
.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}
@media(min-width:1200px){.display-1{font-size:5rem}
}
.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}
@media(min-width:1200px){.display-6{font-size:2.5rem}
}
.list-unstyled{list-style:none;padding-left:0}
.blockquote{font-size:1.25rem;margin-bottom:1rem}
.blockquote>:last-child{margin-bottom:0}
.figure{display:inline-block}
.container{--bs-gutter-x:1.5rem;--bs-gutter-y:0;margin-left:auto;margin-right:auto;padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5);width:100%}
@media(min-width:576px){.container{max-width:540px}
}
@media(min-width:768px){.container{max-width:720px}
}
@media(min-width:992px){.container{max-width:960px}
}
@media(min-width:1200px){.container{max-width:1140px}
}
@media(min-width:1400px){.container{max-width:1320px}
}
.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-left:calc(var(--bs-gutter-x)*-.5);margin-right:calc(var(--bs-gutter-x)*-.5);margin-top:calc(var(--bs-gutter-y)*-1)}
.row>*{flex-shrink:0;margin-top:var(--bs-gutter-y);max-width:100%;padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5);width:100%}
.col-6{flex:0 0 auto;width:50%}
.col-12{flex:0 0 auto;width:100%}
.g-0{--bs-gutter-x:0;--bs-gutter-y:0}
.g-2{--bs-gutter-x:.5rem;--bs-gutter-y:.5rem}
.g-4{--bs-gutter-x:1.5rem;--bs-gutter-y:1.5rem}
@media(min-width:992px){.col-lg-3{flex:0 0 auto;width:25%}
.col-lg-4{flex:0 0 auto;width:33.33333333%}
.col-lg-6{flex:0 0 auto;width:50%}
}
.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb),.05);border-color:var(--bs-table-border-color);margin-bottom:1rem;vertical-align:top;width:100%}
.table>:not(caption)>*>*{background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)));color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));padding:.5rem}
.table>tbody{vertical-align:inherit}
.table>thead{vertical-align:bottom}
.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}
.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}
.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}
.form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-clip:padding-box;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);color:var(--bs-body-color);display:block;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}
@media(prefers-reduced-motion:reduce){.form-control{transition:none}
}
.form-control[type=file]{overflow:hidden}
.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}
.form-control:focus{background-color:var(--bs-body-bg);border-color:color-mix(in srgb,var(--fg1-primary) 45%,white);box-shadow:0 0 0 .25rem color-mix(in srgb,var(--fg1-primary) 25%,transparent);color:var(--bs-body-color);outline:0}
.form-control::-webkit-date-and-time-value{height:1.5em;margin:0;min-width:85px}
.form-control::-webkit-datetime-edit{display:block;padding:0}
.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}
.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}
.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}
.form-control::file-selector-button{background-color:var(--bs-tertiary-bg);border:0 solid;border-color:inherit;border-inline-end-width:var(--bs-border-width);border-radius:0;color:var(--bs-body-color);margin:-.375rem -.75rem;margin-inline-end:.75rem;padding:.375rem .75rem;pointer-events:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}
@media(prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}
textarea.form-control{min-height:calc(1.5em + .75rem + var(--bs-border-width)*2)}
.btn{--bs-btn-padding-x:.75rem;--bs-btn-padding-y:.375rem;--bs-btn-font-family:var(--fg1-heading-font);--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-disabled-opacity:.65;--bs-btn-focus-box-shadow:0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb),.5);background-color:var(--bs-btn-bg);border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);color:var(--bs-btn-color);cursor:pointer;display:inline-block;font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}
@media(prefers-reduced-motion:reduce){.btn{transition:none}
}
.btn:hover{background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);color:var(--bs-btn-hover-color)}
.btn:focus-visible{background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);box-shadow:var(--bs-btn-focus-box-shadow);color:var(--bs-btn-hover-color);outline:0}
.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color);color:var(--bs-btn-active-color)}
.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}
.btn:disabled{background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);color:var(--bs-btn-disabled-color);opacity:var(--bs-btn-disabled-opacity);pointer-events:none}
.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:var(--fg1-primary);--bs-btn-border-color:var(--fg1-primary);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:color-mix(in srgb,var(--fg1-primary) 85%,black);--bs-btn-hover-border-color:color-mix(in srgb,var(--fg1-primary) 80%,black);--bs-btn-focus-box-shadow:0 0 0 .25rem color-mix(in srgb,var(--fg1-primary) 50%,transparent);--bs-btn-active-color:#fff;--bs-btn-active-bg:color-mix(in srgb,var(--fg1-primary) 80%,black);--bs-btn-active-border-color:color-mix(in srgb,var(--fg1-primary) 75%,black);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:var(--fg1-primary);--bs-btn-disabled-border-color:var(--fg1-primary)}
.btn-secondary{--bs-btn-color:var(--fg1-accent-text);--bs-btn-bg:var(--fg1-accent);--bs-btn-border-color:var(--fg1-accent);--bs-btn-hover-color:var(--fg1-accent-text);--bs-btn-hover-bg:color-mix(in srgb,var(--fg1-accent) 85%,white);--bs-btn-hover-border-color:color-mix(in srgb,var(--fg1-accent) 90%,white);--bs-btn-focus-box-shadow:0 0 0 .25rem color-mix(in srgb,var(--fg1-accent) 50%,transparent);--bs-btn-active-color:var(--fg1-accent-text);--bs-btn-active-bg:color-mix(in srgb,var(--fg1-accent) 80%,white);--bs-btn-active-border-color:color-mix(in srgb,var(--fg1-accent) 90%,white);--bs-btn-disabled-color:var(--fg1-accent-text);--bs-btn-disabled-bg:var(--fg1-accent);--bs-btn-disabled-border-color:var(--fg1-accent)}
.btn-info{--bs-btn-color:#000;--bs-btn-bg:var(--fg1-surface);--bs-btn-border-color:var(--fg1-surface);--bs-btn-hover-color:#000;--bs-btn-hover-bg:color-mix(in srgb,var(--fg1-surface) 92%,white);--bs-btn-hover-border-color:color-mix(in srgb,var(--fg1-surface) 95%,white);--bs-btn-focus-box-shadow:0 0 0 .25rem color-mix(in srgb,var(--fg1-surface) 50%,transparent);--bs-btn-active-color:#000;--bs-btn-active-bg:color-mix(in srgb,var(--fg1-surface) 88%,white);--bs-btn-active-border-color:color-mix(in srgb,var(--fg1-surface) 95%,white);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:var(--fg1-surface);--bs-btn-disabled-border-color:var(--fg1-surface)}
.btn-outline-info{--bs-btn-color:var(--fg1-surface);--bs-btn-border-color:var(--fg1-surface);--bs-btn-hover-color:#000;--bs-btn-hover-bg:var(--fg1-surface);--bs-btn-hover-border-color:var(--fg1-surface);--bs-btn-focus-box-shadow:0 0 0 .25rem color-mix(in srgb,var(--fg1-surface) 50%,transparent);--bs-btn-active-color:#000;--bs-btn-active-bg:var(--fg1-surface);--bs-btn-active-border-color:var(--fg1-surface);--bs-btn-disabled-color:var(--fg1-surface);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:var(--fg1-surface)}
.btn-outline-light{--bs-btn-color:#fefefe;--bs-btn-border-color:#fefefe;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#fefefe;--bs-btn-hover-border-color:#fefefe;--bs-btn-focus-shadow-rgb:254,254,254;--bs-btn-active-color:#000;--bs-btn-active-bg:#fefefe;--bs-btn-active-border-color:#fefefe;--bs-btn-disabled-color:#fefefe;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#fefefe}
.btn-lg{--bs-btn-padding-y:.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}
.nav-link{background:none;border:0;color:var(--bs-nav-link-color);display:block;font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}
@media(prefers-reduced-motion:reduce){.nav-link{transition:none}
}
.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}
.nav-link:focus-visible{box-shadow:0 0 0 .25rem color-mix(in srgb,var(--fg1-primary) 25%,transparent);outline:0}
.nav-link:disabled{color:var(--bs-nav-link-disabled-color);cursor:default;pointer-events:none}
.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:.5rem;--bs-card-title-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);color:var(--bs-body-color);display:flex;flex-direction:column;height:var(--bs-card-height);min-width:0;position:relative;word-wrap:break-word;background-clip:border-box;background-color:var(--bs-card-bg);border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}
.card-body{color:var(--bs-card-color);flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x)}
.card-title{color:var(--bs-card-title-color);margin-bottom:var(--bs-card-title-spacer-y)}
.text-bg-primary{background-color:var(--fg1-primary)!important;color:#fff!important}
.text-bg-secondary{background-color:var(--fg1-accent)!important;color:var(--fg1-accent-text)!important}
.link-secondary{color:var(--fg1-accent)!important;text-decoration-color:var(--fg1-accent)!important}
.link-secondary:focus,.link-secondary:hover{color:color-mix(in srgb,var(--fg1-accent) 85%,white)!important;text-decoration-color:color-mix(in srgb,var(--fg1-accent) 85%,white)!important}
.d-flex{display:flex!important}
.d-none{display:none!important}
.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}
.shadow-none{box-shadow:none!important}
.position-relative{position:relative!important}
.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}
.border-0{border:0!important}
.h-100{height:100%!important}
.h-auto{height:auto!important}
.flex-column{flex-direction:column!important}
.flex-wrap{flex-wrap:wrap!important}
.justify-content-center{justify-content:center!important}
.justify-content-around{justify-content:space-around!important}
.align-items-center{align-items:center!important}
.m-0{margin:0!important}
.my-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}
.me-2{margin-right:.5rem!important}
.mb-2{margin-bottom:.5rem!important}
.mb-3{margin-bottom:1rem!important}
.mb-4{margin-bottom:1.5rem!important}
.mb-5{margin-bottom:3rem!important}
.p-0{padding:0!important}
.p-1{padding:.25rem!important}
.p-2{padding:.5rem!important}
.p-3{padding:1rem!important}
.p-4{padding:1.5rem!important}
.px-3{padding-left:1rem!important;padding-right:1rem!important}
.py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}
.py-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}
.row-gap-3{row-gap:1rem!important}
.fs-2{font-size:calc(1.325rem + .9vw)!important}
.fs-3{font-size:calc(1.3rem + .6vw)!important}
.fs-5{font-size:1.25rem!important}
.fw-normal{font-weight:400!important}
.fw-medium{font-weight:500!important}
.fw-bold{font-weight:700!important}
.lh-1{line-height:1!important}
.text-end{text-align:right!important}
.text-center{text-align:center!important}
.text-decoration-underline{text-decoration:underline!important}
.text-primary{color:var(--fg1-primary)!important}
.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}
.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}
.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}
.bg-primary{--bs-bg-opacity:1;background-color:var(--fg1-primary)!important}
.bg-secondary{--bs-bg-opacity:1;background-color:var(--fg1-accent)!important}
.bg-opacity-25{--bs-bg-opacity:.25}
.rounded{border-radius:var(--bs-border-radius)!important}
.rounded-circle{border-radius:50%!important}
.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}
@media(min-width:768px){.text-md-start{text-align:left!important}
}
@media(min-width:992px){.d-lg-block{display:block!important}
.d-lg-flex{display:flex!important}
.pe-lg-3{padding-right:1rem!important}
.ps-lg-3{padding-left:1rem!important}
.text-lg-start{text-align:left!important}
.text-lg-end{text-align:right!important}
}
@media(min-width:1200px){.fs-2{font-size:2rem!important}
.fs-3{font-size:1.75rem!important}
}
html{scroll-padding-top:68px}
a{color:var(--bs-link-color);text-decoration:underline}
.section{align-content:center;align-items:center;display:flex;justify-content:center;padding:2rem 0;place-content:center}
.section:nth-child(2n){background-color:var(--fg1-surface)}
.section:nth-child(odd){background-color:var(--fg1-bg)}
.heading-container{margin-bottom:1.5rem}
.section-heading{padding-bottom:1rem;position:relative;text-align:center}
.section-heading:before{background:#ddd;bottom:1px;content:"";display:block;height:1px;left:calc(50% - 120px);position:absolute;width:240px}
.section-heading:after{background:var(--fg1-primary);bottom:0;content:"";display:block;height:3px;left:calc(50% - 40px);position:absolute;width:80px}
.section-copy{margin-left:auto;margin-right:auto;max-width:768px}
body.dark a.top-link{opacity:1;transition:all .3s ease-in-out;visibility:visible}
a.top-link{bottom:10px;opacity:0;position:fixed;right:10px;transition:all .3s ease-in-out;visibility:hidden;z-index:4}
.site-header{background-color:transparent;left:0;padding-top:10px;position:fixed;top:0;width:100%;z-index:11}
.dark .site-header{background-color:color-mix(in srgb,var(--fg1-primary) 95%,transparent);border-bottom:1px solid var(--fg1-primary);box-shadow:0 2px 2px #00000040;padding-top:0}
.nav-flex{display:grid;grid-template-columns:2fr 7.5fr;width:100%;z-index:10}
.site-title{margin-bottom:0}
.site-title>a{background-size:contain;display:block;font-size:76px;line-height:0}
.dark .site-title>a{font-size:66px;padding-bottom:0}
.primary-menu{display:flex;flex-wrap:wrap;gap:20px;justify-content:flex-end;max-width:1200px}
ul.primary-menu{list-style:none;margin:0}
.primary-menu .menu-item{color:#fefefe;font-size:.875rem;font-weight:500;line-height:76px;text-shadow:1px 1px 2px rgba(0,0,0,.1);text-transform:uppercase}
.dark .primary-menu .menu-item{line-height:66px}
.dark .primary-menu .menu-item:has(a.active){border-bottom:1px solid var(--fg1-accent)}
.primary-menu a.active,.primary-menu a:hover{color:var(--fg1-accent)}
@media only screen and (min-width:769px){.menu-toggle{display:none!important;visibility:hidden}
.nav-primary{display:block!important}
}
@media only screen and (max-width:992px){.nav-flex{grid-template-columns:80% 20%}
nav.nav-primary{max-height:0;overflow:hidden;position:relative;transition:all .2s ease-in-out}
nav.nav-primary.show{margin-top:2rem;max-height:100svh;visibility:visible}
ul.primary-menu{margin-bottom:20px}
.site-header{background-color:color-mix(in srgb,var(--fg1-secondary) 95%,transparent);border-bottom:1px solid var(--fg1-primary);box-shadow:0 2px 2px #00000040;padding-top:0}
.dark .site-title>a,.site-title>a{font-size:66px}
.menu-toggle{background:transparent;border-width:0;color:#fefefe;cursor:pointer;display:block!important;margin-top:2px;padding:0;text-align:right;visibility:visible}
.primary-menu{flex-wrap:wrap;margin-bottom:20px}
.primary-menu .menu-item{display:block;font-size:1rem;line-height:30px!important;margin-left:calc(10% + 10px);width:100%}
.menu-toggle:focus,.menu-toggle:hover{background-color:transparent;border-width:0}
.menu-toggle:before{border-radius:40px;display:inline-block;font-size:2.5rem;padding:5px;text-rendering:auto;transform:rotateX(0);transition:all .2s ease-in-out}
.menu-toggle.activated:before{color:var(--fg1-accent);transform:rotateX(180deg)}
.menu-toggle.activated:before,.menu-toggle:before{text-rendering:auto}
}
.btn{box-shadow:inset 0 -2px #0000004d,1px 1px 2px #0000004d;font-weight:500;letter-spacing:1px;padding:1rem 2rem;text-transform:uppercase;transition:all .1s ease-in-out}
.btn:hover{box-shadow:inset 0 -2px #0000004d;transform:translateY(.5px)}
.btn:active{box-shadow:none;text-shadow:none;transform:translateY(2px)}
[class*=btn-]:not([class*=btn-outline-]){border:0}
[class*=btn-outline-],[class*=btn-outline-]:active,[class*=btn-outline-]:hover{box-shadow:none}
.hero{background-image:url(assets/header-bg.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;min-height:100svh;padding:calc(2rem + 66px) 0 2rem;position:relative}
.hero a.home-phone>i.bx:hover{transform:rotate(30deg)}
.hero .container *{z-index:2}
.hero .background-overlay{background-color:var(--fg1-primary);height:100%;left:0;min-height:100svh;mix-blend-mode:multiply;opacity:1;position:absolute;top:0;width:100%;z-index:0}
@media(max-width:1024px){.hero{background-image:url(assets/header-bg-mobile.webp)}
}
.ag-courses_item{overflow:hidden;position:relative}
.ag-courses_item:hover{box-shadow:1px 1px 4px #0000004d}
.ag-courses_item:hover .ag-courses-item_bg{transform:scale(10)}
.ag-courses-item_title{overflow:hidden;position:relative;z-index:2}
.ag-course-body{position:relative;z-index:3}
.ag-courses-item_bg{background-color:var(--fg1-accent);border-radius:50%;height:128px;position:absolute;right:-75px;top:-75px;transition:all .2s ease-in-out;width:128px;z-index:1}
.contact-form label{font-weight:500;margin-bottom:.2rem}
.contact-form input,.contact-form textarea{background-color:var(--fg1-surface);border:1px solid var(--fg1-primary);border-radius:var(--fg1-radius);margin-bottom:2rem;outline:0;padding:.5rem;transition:all .2s ease-in-out;width:100%}
.contact-form input:focus,.contact-form textarea:focus{background-color:var(--fg1-bg);border-color:var(--fg1-primary)}
@media only screen and (max-width:992px){.contact-form input,.contact-form textarea{margin-bottom:1rem}
}
@font-face{font-family:boxicons;font-style:normal;font-weight:400;src:url(assets/fonts/boxicons.woff2) format("woff2");font-display:swap}
.bx{display:inline-block;font-family:boxicons!important;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-rendering:auto;text-transform:none;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.bx-envelope:before{content:""}
.bx-map-alt:before{content:""}
.bx-menu:before{content:""}
.bx-message-dots:before{content:""}
.bx-phone:before{content:""}
.bx-user:before{content:""}
.bx-x:before{content:""}
.bxs-battery:before{content:""}
.bxs-calendar:before{content:""}
.bxs-calendar-event:before{content:""}
.bxs-car:before{content:""}
.bxs-car-mechanic:before{content:""}
.bxs-contact:before{content:""}
.bxs-envelope:before{content:""}
.bxs-home:before{content:""}
.bxs-info-circle:before{content:""}
.bxs-phone-call:before{content:""}
.bxs-time:before{content:""}
.bxs-to-top:before{content:""}
.bxs-wrench:before{content:""}
/* == vendor css above / fg1 custom below == */

/* ---- FG1 lead-form plumbing ---- */
.fg1-hp {
  position: absolute;
  left: -9999px;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
.fg1-form-note {
  background-color: var(--fg1-surface);
  border-left: 4px solid var(--fg1-accent);
  border-radius: var(--fg1-radius);
  font-weight: 500;
  margin-top: 1rem;
  padding: 0.75rem 1rem;
}

/* ---- h3 (card / service titles; upstream only shipped h1/h2/h4) ---- */
.h3, h3 {
  color: var(--bs-heading-color);
  font-family: var(--fg1-heading-font);
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 0.5rem;
  margin-top: 0;
  font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  .h3, h3 { font-size: 1.75rem; }
}

/* ---- compact hero for sub-pages ---- */
.hero.page-hero,
.hero.page-hero .background-overlay {
  min-height: 0;
}
.hero.page-hero {
  padding: calc(4rem + 66px) 0 4rem;
}
/* keep hero copy above the multiply overlay (plain blocks ignore the
   upstream `z-index:2` unless the container itself is positioned) */
.hero .container {
  position: relative;
  z-index: 2;
}

/* ---- services grid (static replacement for the upstream carousel) ---- */
ul.service-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0;
}
.service-item {
  display: flex;
  width: 100%;
}
@media (min-width: 768px) {
  .service-item { width: calc(50% - 0.5rem); }
}
@media (min-width: 992px) {
  .service-item { width: calc(33.333% - 0.667rem); }
}
.service-item .ag-courses_item {
  width: 100%;
}
.service-grid .ag-courses-item_title {
  color: #fff;
}

/* ---- newsletter signup (gated add-on) ---- */
.newsletter-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  margin: 0 auto;
  max-width: 560px;
}
.newsletter-form input[type="email"] {
  background-color: var(--fg1-surface);
  border: 1px solid var(--fg1-primary);
  border-radius: var(--fg1-radius);
  flex: 1 1 240px;
  outline: 0;
  padding: 0.5rem 0.75rem;
  transition: all 0.2s ease-in-out;
}
.newsletter-form input[type="email"]:focus {
  background-color: var(--fg1-bg);
  border-color: var(--fg1-primary);
}
.newsletter-form .fg1-form-note {
  flex-basis: 100%;
  text-align: center;
}

/* ---- band cards (booking / cta) ---- */
.band-card {
  border: 0;
}
.band-card .card-body {
  padding: 2rem 1.5rem;
}

/* ---- about section photo ---- */
.about-photo {
  aspect-ratio: 3 / 2;
  display: block;
  object-fit: cover;
  width: 100%;
}
