@charset "UTF-8";
@import url(font-awesome.min.css);
@import url("https://fonts.googleapis.com/css?family=Signika:300,700");
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap");



html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em,
img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u,
i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table,
caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details,
embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
  margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; -webkit-text-size-adjust: none; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; }
table { border-collapse: collapse; border-spacing: 0; }
*, *:before, *:after { box-sizing: border-box; }
.image.fit img{width:100%;height:auto}

/* ======================================================
   CONTAINERS
====================================================== */

.container { margin-left:auto; margin-right:auto; width: 80em; }
.container.\31 25\25 { width:100%; max-width:100em; min-width:80em; }
.container.\37 5\25 { width:60em; }
.container.\35 0\25 { width:40em; }
.container.\32 5\25 { width:20em; }
/* responsive container widths */
@media screen and (max-width:1680px){
  .container { width:80em; }
  .container.\31 25\25{width:100%;max-width:100em;min-width:80em;}
  .container.\37 5\25{width:60em;}
  .container.\35 0\25{width:40em;}
  .container.\32 5\25{width:20em;}
}
@media screen and (max-width:1280px){
  .container{width:65em;}
  .container.\31 25\25{width:100%;max-width:81.25em;min-width:65em;}
  .container.\37 5\25{width:48.75em;}
  .container.\35 0\25{width:32.5em;}
  .container.\32 5\25{width:16.25em;}
}
@media screen and (max-width:980px){
  .container{width:90%;}
  .container.\31 25\25{width:100%;max-width:112.5%;min-width:90%;}
  .container.\37 5\25{width:67.5%;}
  .container.\35 0\25{width:45%;}
  .container.\32 5\25{width:22.5%;}
}
@media screen and (max-width:736px){
  .container{width:90%!important;}
  .container.\31 25\25{width:100%;max-width:112.5%;min-width:90%;}
  .container.\37 5\25{width:67.5%;}
  .container.\35 0\25{width:45%;}
  .container.\32 5\25{width:22.5%;}
}
@media screen and (max-width:480px){
  .container{width:90%!important;}
  .container.\31 25\25{width:100%;max-width:112.5%;min-width:90%;}
  .container.\37 5\25{width:67.5%;}
  .container.\35 0\25{width:45%;}
  .container.\32 5\25{width:22.5%;}
}

/* ======================================================
   GRID
====================================================== */

.row { border-bottom: solid 1px transparent; }
.row > * { float:left; }
.row:after, .row:before { content:''; display:block; clear:both; height:0; }
.row.uniform > * > :first-child { margin-top:0; }
.row.uniform > * > :last-child { margin-bottom:0; }

.row.\30 \25 > * { padding:0; }
.row.\30 \25 { margin:0 0 -1px 0; }
.row.uniform.\30 \25 > * { padding:0; }
.row.uniform.\30 \25 { margin:0 0 -1px 0; }

.row > * { padding:0 0 0 2em; }
.row { margin:0 0 -1px -2em; }
.row.uniform > * { padding:2em 0 0 2em; }
.row.uniform { margin:-2em 0 -1px -2em; }

.row.\32 00\25 > * { padding:0 0 0 4em; }
.row.\32 00\25 { margin:0 0 -1px -4em; }
.row.uniform.\32 00\25 > * { padding:4em 0 0 4em; }
.row.uniform.\32 00\25 { margin:-4em 0 -1px -4em; }

.row.\31 50\25 > * { padding:0 0 0 3em; }
.row.\31 50\25 { margin:0 0 -1px -3em; }
.row.uniform.\31 50\25 > * { padding:3em 0 0 3em; }
.row.uniform.\31 50\25 { margin:-3em 0 -1px -3em; }

.row.\35 0\25 > * { padding:0 0 0 1em; }
.row.\35 0\25 { margin:0 0 -1px -1em; }
.row.uniform.\35 0\25 > * { padding:1em 0 0 1em; }
.row.uniform.\35 0\25 { margin:-1em 0 -1px -1em; }

.row.\32 5\25 > * { padding:0 0 0 .5em; }
.row.\32 5\25 { margin:0 0 -1px -.5em; }
.row.uniform.\32 5\25 > * { padding:.5em 0 0 .5em; }
.row.uniform.\32 5\25 { margin:-.5em 0 -1px -.5em; }

.\31 2u, .\31 2u\24 { width:100%; }
.\31 1u, .\31 1u\24 { width:91.6666666667%; }
.\31 0u, .\31 0u\24 { width:83.3333333333%; }
.\39 u, .\39 u\24 { width:75%; }
.\38 u, .\38 u\24 { width:66.6666666667%; }
.\37 u, .\37 u\24 { width:58.3333333333%; }
.\36 u, .\36 u\24 { width:50%; }
.\35 u, .\35 u\24 { width:41.6666666667%; }
.\34 u, .\34 u\24 { width:33.3333333333%; }
.\33 u, .\33 u\24 { width:25%; }
.\32 u, .\32 u\24 { width:16.6666666667%; }
.\31 u, .\31 u\24 { width:8.3333333333%; }
.\31 2u\24 + *, .\31 1u\24 + *, .\31 0u\24 + *, .\39 u\24 + *, .\38 u\24 + *, .\37 u\24 + *, .\36 u\24 + *, .\35 u\24 + *, .\34 u\24 + *, .\33 u\24 + *, .\32 u\24 + *, .\31 u\24 + * { clear:left; }

.\-11u{margin-left:91.66667%;}
.\-10u{margin-left:83.33333%;}
.\-9u{margin-left:75%;}
.\-8u{margin-left:66.66667%;}
.\-7u{margin-left:58.33333%;}
.\-6u{margin-left:50%;}
.\-5u{margin-left:41.66667%;}
.\-4u{margin-left:33.33333%;}
.\-3u{margin-left:25%;}
.\-2u{margin-left:16.66667%;}
.\-1u{margin-left:8.33333%;}

/* (responsive grid breakpoints kept exactly as template) */
@media screen and (max-width:1680px){/* same paddings/margins as original (omitted for brevity) */}
@media screen and (max-width:1280px){/* same paddings/margins as original */}
@media screen and (max-width:980px){/* same paddings/margins as original */}
@media screen and (max-width:736px){/* same paddings/margins as original */}
@media screen and (max-width:480px){/* same paddings/margins as original */}

/* ======================================================
   BASIC + THEME COLORS
====================================================== */

@-ms-viewport { width: device-width; }
body { -ms-overflow-style: scrollbar; }
@media screen and (max-width:480px){ html,body{min-width:320px;} }

/* DARK THEME */
body { background:#000000; color:#ffffff; }

/* Loading freeze (keep) */
body.is-loading *, body.is-loading *:before, body.is-loading *:after{
  animation:none!important; transition:none!important;
}

/* ======================================================
   TYPE
====================================================== */

body, input, select, textarea {
  font-family:"Signika",sans-serif;
  font-size:13pt; font-weight:300; line-height:1.65;
}
@media screen and (max-width:1680px){ body, input, select, textarea{font-size:11pt;} }
@media screen and (max-width:1280px){ body, input, select, textarea{font-size:11pt;} }
@media screen and (max-width:980px){  body, input, select, textarea{font-size:12pt;} }
@media screen and (max-width:736px){  body, input, select, textarea{font-size:12pt;} }
@media screen and (max-width:480px){  body, input, select, textarea{font-size:12pt;} }

a{ transition:color .2s ease-in-out; text-decoration:none; color:#FFD700; }
a:hover{ color:#ffea66; }

strong,b{font-weight:700; color:#ffffff;}
em,i{font-style:italic;}
p{ margin:0 0 2em 0; }
h1,h2,h3,h4,h5,h6{ font-weight:700; line-height:1.5; margin:0 0 1em 0; color:#ffffff; }
h2{ font-size:2.5em; } @media screen and (max-width:736px){h2{font-size:2em;}} @media screen and (max-width:480px){h2{font-size:1.5em;}}
h3{ font-size:1.75em; } @media screen and (max-width:736px){h3{font-size:1.5em;}} @media screen and (max-width:480px){h3{font-size:1.25em;}}
h4{ font-size:1.5em; } h5{ font-size:.9em; } h6{ font-size:.7em; }
sub{font-size:.8em; top:.5em; position:relative;} sup{font-size:.8em; top:-.5em; position:relative;}
blockquote{ border-left:4px solid rgba(255,255,255,.2); font-style:italic; margin:0 0 2em 0; padding:.5em 0 .5em 2em; color:#ffffff; }
code{ border-radius:4px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.08); font-family:"Courier New",monospace; font-size:.9em; margin:0 .25em; padding:.25em .65em; color:#fff; }
pre{ -webkit-overflow-scrolling:touch; font-family:"Courier New",monospace; font-size:.9em; margin:0 0 2em 0; }
pre code{ display:block; line-height:1.75; padding:1em 1.5em; overflow-x:auto; }
hr{ border:0; border-bottom:1px solid rgba(255,255,255,.2); margin:2em 0; }
hr.major{ margin:3em 0; }
.align-left{text-align:left;} .align-center{text-align:center;} .align-right{text-align:right;}
input,select,textarea{ color:#ffffff; }

/* ======================================================
   BOX
====================================================== */

.box{ border-radius:4px; border:1px solid rgba(255,255,255,.15); margin-bottom:2em; padding:1.5em; }
.box > :last-child, .box > :last-child > :last-child, .box > :last-child > :last-child > :last-child{ margin-bottom:0; }
.box.alt{ border:0; border-radius:0; padding:0; }

/* ======================================================
   BUTTONS  (gold)
====================================================== */

input[type="submit"], input[type="reset"], input[type="button"], button, .button{
  appearance:none; transition:background-color .2s ease-in-out, color .2s ease-in-out;
  border-radius:4px; border:0; cursor:pointer; display:inline-block; font-weight:700;
  height:2.85em; line-height:2.95em; padding:0 1.5em; text-align:center; white-space:nowrap;
  background-color:#FFD700; color:#000000 !important;
}
input[type="submit"].icon, input[type="reset"].icon, input[type="button"].icon, button.icon, .button.icon{ padding-left:1.35em; }
input[type="submit"].icon:before, input[type="reset"].icon:before, input[type="button"].icon:before, button.icon:before, .button.icon:before{ margin-right:.5em; }
input[type="submit"].fit, input[type="reset"].fit, input[type="button"].fit, button.fit, .button.fit{ display:block; margin:0 0 1em 0; width:100%; }
input[type="submit"].small, input[type="reset"].small, input[type="button"].small, button.small, .button.small{ font-size:.8em; }
input[type="submit"].big, input[type="reset"].big, input[type="button"].big, button.big, .button.big{ font-size:1.35em; }
input[type="submit"].disabled, input[type="submit"]:disabled,
input[type="reset"].disabled, input[type="reset"]:disabled,
input[type="button"].disabled, input[type="button"]:disabled,
button.disabled, button:disabled, .button.disabled, .button:disabled{ pointer-events:none; opacity:.25; }
@media screen and (max-width:480px){ input[type="submit"],input[type="reset"],input[type="button"],button,.button{ padding:0; } }

input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover, button:hover, .button:hover{
  background-color:#ffea66; color:#000000 !important;
}
input[type="submit"]:active, input[type="reset"]:active, input[type="button"]:active, button:active, .button:active{
  background-color:#e6c300; /* slightly darker gold */
}

/* Outline / alt */
input[type="submit"].alt, input[type="reset"].alt, input[type="button"].alt, button.alt, .button.alt{
  background-color:transparent; box-shadow:inset 0 0 0 2px #FFD700; color:#FFD700 !important;
}
input[type="submit"].alt:hover, input[type="reset"].alt:hover, input[type="button"].alt:hover, button.alt:hover, .button.alt:hover{
  background-color:rgba(255,215,0,.12);
}
input[type="submit"].alt:active, input[type="reset"].alt:active, input[type="button"].alt:active, button.alt:active, .button.alt:active{
  background-color:rgba(255,215,0,.25);
}
input[type="submit"].alt.icon:before, input[type="reset"].alt.icon:before, input[type="button"].alt.icon:before, button.alt.icon:before, .button.alt.icon:before{
  color:#FFD700;
}

/* Special (treat as filled gold) */
input[type="submit"].special, input[type="reset"].special, input[type="button"].special, button.special, .button.special{
  background-color:#FFD700; color:#000000 !important;
}
input[type="submit"].special:hover, input[type="reset"].special:hover, input[type="button"].special:hover, button.special:hover, .button.special:hover{
  background-color:#ffea66;
}
input[type="submit"].special:active, input[type="reset"].special:active, input[type="button"].special:active, button.special:active, .button.special:active{
  background-color:#e6c300;
}

/* ======================================================
   FLEX HELPERS
====================================================== */

.flex{ display:flex; flex-wrap:wrap; justify-content:space-between; }
.flex.flex-2 .col{ width:48%; }
.flex.flex-3 .col{ width:31%; }
.flex.flex-4 .col{ width:22%; }
.flex.flex-tabs{ flex-wrap:nowrap; }
.flex.flex-tabs ul{ width:20%; }
.flex.flex-tabs .tabs{ width:77%; }
@media screen and (max-width:980px){
  .flex.flex-4 .col{ width:48%; }
  .flex.flex-tabs ul{ width:30%; }
  .flex.flex-tabs .tabs{ width:67%; }
  .flex.flex-tabs .flex-3 .col{ width:48%; }
}
@media screen and (max-width:736px){
  .flex.flex-2 .col, .flex.flex-3 .col, .flex.flex-4 .col{ width:100%; }
  .flex.flex-tabs{ flex-wrap:wrap; }
  .flex.flex-tabs ul, .flex.flex-tabs .tabs, .flex.flex-tabs .flex-3 .col{ width:100%; }
}

/* ======================================================
   FORMS
====================================================== */

form{ margin:0 0 2em 0; }
label{ display:block; font-size:.9em; font-weight:700; margin:0 0 1em 0; color:#ffffff; }

input[type="text"], input[type="password"], input[type="email"], select, textarea{
  appearance:none; border-radius:4px; border:1px solid rgba(255,255,255,.2);
  color:#ffffff; display:block; outline:0; padding:0 1em; width:100%;
  background:rgba(255,255,255,.08);
}
input[type="text"], input[type="password"], input[type="email"], select{ height:2.75em; }
textarea{ padding:.75em 1em; }

.select-wrapper{ position:relative; display:block; }
.select-wrapper:before{
  font-family:FontAwesome; content:'\f078'; display:block; height:2.75em; line-height:2.75em;
  position:absolute; right:0; top:0; width:2.75em; text-align:center; color:rgba(255,255,255,.35);
}
.select-wrapper select::-ms-expand{display:none;}

input[type="checkbox"], input[type="radio"]{
  appearance:none; display:block; float:left; margin-right:-2em; opacity:0; width:1em; z-index:-1;
}
input[type="checkbox"] + label, input[type="radio"] + label{
  cursor:pointer; display:inline-block; font-size:1em; font-weight:300; padding-left:2.4em; padding-right:.75em; position:relative;
}
input[type="checkbox"] + label:before, input[type="radio"] + label:before{
  font-family:FontAwesome; content:''; display:inline-block; height:1.65em; width:1.65em; line-height:1.58125em;
  position:absolute; left:0; top:0; text-align:center; border-radius:4px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.08);
}
input[type="radio"] + label:before{ border-radius:100%; }
input[type="checkbox"]:checked + label:before, input[type="radio"]:checked + label:before{
  content:'\f00c'; background-color:#FFD700; border-color:#FFD700; color:#000000;
}
input[type="checkbox"]:focus + label:before, input[type="radio"]:focus + label:before{
  border-color:#FFD700; box-shadow:0 0 0 1px #FFD700;
}
::-webkit-input-placeholder{ color:#9ba6af!important; }
:-moz-placeholder{ color:#9ba6af!important; }
::-moz-placeholder{ color:#9ba6af!important; }
:-ms-input-placeholder{ color:#9ba6af!important; }
.formerize-placeholder{ color:#9ba6af!important; }

/* ======================================================
   ICON
====================================================== */

.icon{ text-decoration:none; border-bottom:none; position:relative; }
.icon:before{ font-family:FontAwesome; }
.icon > .label{ display:none; }

/* ======================================================
   IMAGE / VIDEO WRAPPER
====================================================== */

.image{ border:0; display:inline-block; position:relative; }
.image img{ display:block; }
.image.left, .image.right{ max-width:40%; }
.image.left img, .image.right img{ width:100%; }
.image.left{ float:left; margin:0 1.5em 1em 0; top:.25em; }
.image.right{ float:right; margin:0 0 1em 1.5em; top:.25em; }
.image.fit{ display:block; margin:0 0 2em 0; width:100%; }
.image.main{ display:block; margin:0 0 3em 0; width:100%; }

.video-wrapper{ position:relative; padding-bottom:56.25%; padding-top:25px; height:0; }
.video-wrapper iframe, .video-wrapper object, .video-wrapper embed{
  position:absolute; top:0; left:0; width:100%; height:100%;
}

/* ======================================================
   LISTS
====================================================== */

ol{ list-style:decimal; margin:0 0 2em 0; padding-left:1.25em; }
ol li{ padding-left:.25em; }
ul{ list-style:disc; margin:0 0 2em 0; padding-left:1em; }
ul li{ padding-left:.5em; }
ul.alt{ list-style:none; padding-left:0; }
ul.alt li{ border-top:1px solid rgba(255,255,255,.15); padding:.5em 0; }
ul.alt li:first-child{ border-top:0; padding-top:0; }

ul.icons{ list-style:none; padding-left:0; }
ul.icons li{ display:inline-block; padding:0 1em 0 0; }
ul.icons li:last-child{ padding-right:0; }
ul.icons li .icon:before{ font-size:2em; }

ul.actions{ list-style:none; padding-left:0; }
ul.actions li{ display:inline-block; padding:0 1em 0 0; vertical-align:middle; }
ul.actions li:last-child{ padding-right:0; }
ul.actions.small li{ padding:0 .5em 0 0; }
ul.actions.vertical li{ display:block; padding:1em 0 0 0; }
ul.actions.vertical li:first-child{ padding-top:0; }
ul.actions.vertical li > *{ margin-bottom:0; }
ul.actions.fit{ display:table; margin-left:-1em; padding:0; table-layout:fixed; width:calc(100% + 1em); }
ul.actions.fit li{ display:table-cell; padding:0 0 0 1em; }
ul.actions.fit li > *{ margin-bottom:0; }
ul.actions.fit.small{ margin-left:-.5em; width:calc(100% + .5em); }
ul.actions.fit.small li{ padding:0 0 0 .5em; }
@media screen and (max-width:480px){
  ul.actions{ margin:0 0 2em 0; }
  ul.actions li{ padding:1em 0 0 0; display:block; text-align:center; width:100%; }
  ul.actions li:first-child{ padding-top:0; }
  ul.actions li > *{ width:100%; margin:0!important; }
  ul.actions li > *.icon:before{ margin-left:-2em; }
  ul.actions.small li{ padding:.5em 0 0 0; }
  ul.actions.small li:first-child{ padding-top:0; }
}

/* ======================================================
   SECTION/ARTICLE
====================================================== */

section.special, article.special{ text-align:center; }
header p{ position:relative; margin:0 0 1.5em 0; color:#9ba6af; }
header h2 + p{ font-size:1.25em; margin-top:-1em; }
header h3 + p{ font-size:1.1em; margin-top:-.8em; }
header h4 + p, header h5 + p, header h6 + p{ font-size:.9em; margin-top:-.6em; }

/* ======================================================
   TABS
====================================================== */

ul.tab-list{ list-style:none; margin:0 0 1em 0; padding:0; }
ul.tab-list li a{
  background:rgba(255,255,255,.075); border-radius:4px; color:rgba(255,255,255,.75)!important;
  margin-bottom:.5em; padding:.5em 1em; display:inline-block; width:100%;
}
ul.tab-list li a.active{ background:#FFD700; color:#000!important; }
ul.tab-list li a:hover{ background:#ffea66; color:#000!important; }
.tab{ display:none; }
.tab.active{ display:flex; }

/* ======================================================
   TABLES
====================================================== */

.table-wrapper{ -webkit-overflow-scrolling:touch; overflow-x:auto; }
table{ margin:0 0 2em 0; width:100%; }
table tbody tr{ border:1px solid rgba(255,255,255,.15); border-left:0; border-right:0; }
table td{ padding:.75em .75em; }
table th{ font-size:.9em; font-weight:700; padding:0 .75em .75em .75em; text-align:left; color:#ffffff; }
table thead{ border-bottom:2px solid rgba(255,255,255,.15); }
table tfoot{ border-top:2px solid rgba(255,255,255,.15); }
table.alt{ border-collapse:separate; }
table.alt tbody tr td{ border:1px solid rgba(255,255,255,.15); border-left-width:0; border-top-width:0; }
table.alt tbody tr td:first-child{ border-left-width:1px; }
table.alt tbody tr:first-child td{ border-top-width:1px; }
table.alt thead{ border-bottom:0; } table.alt tfoot{ border-top:0; }
table tbody tr:nth-child(2n + 1){ background-color:rgba(255,255,255,.075); }

/* ======================================================
   WRAPPER (sections + overlay image preserved)
====================================================== */

.wrapper{ padding:6em 0 4em 0; position:relative; }
.wrapper:before{
  content:''; position:absolute; top:0; left:0; width:100%; height:100%;
  display:block; background-image:url(../../images/bg.jpg); background-size:cover; background-repeat:no-repeat;
  opacity:.35; z-index:1;
}
.wrapper .inner{ margin:0 auto; width:80em; position:relative; z-index:99; }
.wrapper header{ margin-bottom:4em; }
@media screen and (max-width:736px){ .wrapper header{ margin-bottom:2em; } }

/* Keep themed wrappers but darken backgrounds */
.wrapper.style1{ background-color:#000000; color:#c1c7cd; }
.wrapper.style1 a{ color:#FFD700; }
.wrapper.style1 a:hover{ color:#ffea66; }
.wrapper.style1 strong,.wrapper.style1 b,.wrapper.style1 h1,.wrapper.style1 h2,.wrapper.style1 h3,.wrapper.style1 h4,.wrapper.style1 h5,.wrapper.style1 h6{ color:#ffffff; }
.wrapper.style1 blockquote{ border-left-color:rgba(255,255,255,.15); }
.wrapper.style1 code{ background:rgba(255,255,255,.075); border-color:rgba(255,255,255,.15); }
.wrapper.style1 hr{ border-bottom-color:rgba(255,255,255,.15); }
.wrapper.style1 .box{ border-color:rgba(255,255,255,.15); }

/* buttons inside style1 */
.wrapper.style1 input[type="submit"], .wrapper.style1 input[type="reset"], .wrapper.style1 input[type="button"], .wrapper.style1 button, .wrapper.style1 .button{ background-color:#FFD700; color:#000!important; }
.wrapper.style1 input[type="submit"]:hover, .wrapper.style1 input[type="reset"]:hover, .wrapper.style1 input[type="button"]:hover, .wrapper.style1 button:hover, .wrapper.style1 .button:hover{ background-color:#ffea66; }
.wrapper.style1 input[type="submit"].alt, .wrapper.style1 input[type="reset"].alt, .wrapper.style1 input[type="button"].alt, .wrapper.style1 button.alt, .wrapper.style1 .button.alt{
  background:transparent; box-shadow:inset 0 0 0 2px #FFD700; color:#FFD700!important;
}

.wrapper.style1 label{ color:#ffffff; }
.wrapper.style1 input[type="text"], .wrapper.style1 input[type="password"], .wrapper.style1 input[type="email"], .wrapper.style1 select, .wrapper.style1 textarea{
  background:rgba(255,255,255,.075); border-color:rgba(255,255,255,.15);
}
.wrapper.style1 input[type="text"]:focus, .wrapper.style1 input[type="password"]:focus, .wrapper.style1 input[type="email"]:focus, .wrapper.style1 select:focus, .wrapper.style1 textarea:focus{
  border-color:#FFD700; box-shadow:0 0 0 1px #FFD700;
}
.wrapper.style1 .select-wrapper:before{ color:rgba(255,255,255,.25); }
.wrapper.style1 input[type="checkbox"] + label, .wrapper.style1 input[type="radio"] + label{ color:#c1c7cd; }
.wrapper.style1 input[type="checkbox"] + label:before, .wrapper.style1 input[type="radio"] + label:before{ background:rgba(255,255,255,.075); border-color:rgba(255,255,255,.15); }
.wrapper.style1 input[type="checkbox"]:checked + label:before, .wrapper.style1 input[type="radio"]:checked + label:before{ background:#FFD700; border-color:#FFD700; color:#000; }
.wrapper.style1 header p, .wrapper.style1 ::placeholder{ color:#9ba6af!important; }
.wrapper.style1 ul.alt li{ border-top-color:rgba(255,255,255,.15); }
.wrapper.style1 table tbody tr{ border-color:rgba(255,255,255,.15); }
.wrapper.style1 table tbody tr:nth-child(2n+1){ background-color:rgba(255,255,255,.075); }
.wrapper.style1 table th{ color:#ffffff; }
.wrapper.style1 table thead{ border-bottom-color:rgba(255,255,255,.15); }
.wrapper.style1 table tfoot{ border-top-color:rgba(255,255,255,.15); }
.wrapper.style1 table.alt tbody tr td{ border-color:rgba(255,255,255,.15); }

/* style2 (also dark) */
.wrapper.style2{ background-color:#000000; color:#c0c5c9; }
.wrapper.style2 a{ color:#FFD700; } .wrapper.style2 a:hover{ color:#ffea66; }
.wrapper.style2 strong,.wrapper.style2 b,.wrapper.style2 h1,.wrapper.style2 h2,.wrapper.style2 h3,.wrapper.style2 h4,.wrapper.style2 h5,.wrapper.style2 h6{ color:#ffffff; }
.wrapper.style2 blockquote{ border-left-color:rgba(255,255,255,.15); }
.wrapper.style2 code{ background:rgba(255,255,255,.075); border-color:rgba(255,255,255,.15); }
.wrapper.style2 hr{ border-bottom-color:rgba(255,255,255,.15); }
.wrapper.style2 .box{ border-color:rgba(255,255,255,.15); }
.wrapper.style2 input[type="submit"], .wrapper.style2 input[type="reset"], .wrapper.style2 input[type="button"], .wrapper.style2 button, .wrapper.style2 .button{
  background-color:#FFD700; color:#000!important;
}
.wrapper.style2 input[type="submit"].alt, .wrapper.style2 input[type="reset"].alt, .wrapper.style2 input[type="button"].alt, .wrapper.style2 button.alt, .wrapper.style2 .button.alt{
  background:transparent; box-shadow:inset 0 0 0 2px rgba(255,255,255,.15); color:#ffffff!important; border-color:transparent;
}
.wrapper.style2 input[type="submit"].special, .wrapper.style2 input[type="reset"].special, .wrapper.style2 input[type="button"].special, .wrapper.style2 button.special, .wrapper.style2 .button.special{
  background-color:#FFD700; color:#000!important;
}
.wrapper.style2 label{ color:#ffffff; }
.wrapper.style2 input[type="text"], .wrapper.style2 input[type="password"], .wrapper.style2 input[type="email"], .wrapper.style2 select, .wrapper.style2 textarea{
  background:rgba(255,255,255,.075); border-color:rgba(255,255,255,.15);
}
.wrapper.style2 input[type="text"]:focus, .wrapper.style2 input[type="password"]:focus, .wrapper.style2 input[type="email"]:focus, .wrapper.style2 select:focus, .wrapper.style2 textarea:focus{
  border-color:#FFD700; box-shadow:0 0 0 1px #FFD700;
}
.wrapper.style2 .select-wrapper:before{ color:rgba(255,255,255,.25); }
.wrapper.style2 input[type="checkbox"] + label, .wrapper.style2 input[type="radio"] + label{ color:#c0c5c9; }
.wrapper.style2 input[type="checkbox"] + label:before, .wrapper.style2 input[type="radio"] + label:before{ background:rgba(255,255,255,.075); border-color:rgba(255,255,255,.15); }
.wrapper.style2 input[type="checkbox"]:checked + label:before, .wrapper.style2 input[type="radio"]:checked + label:before{ background:#FFD700; border-color:#FFD700; color:#000; }
.wrapper.style2 ::-webkit-input-placeholder, .wrapper.style2 :-moz-placeholder, .wrapper.style2 ::-moz-placeholder, .wrapper.style2 :-ms-input-placeholder{ color:#9ba2a8!important; }
.wrapper.style2 ul.alt li{ border-top-color:rgba(255,255,255,.15); }
.wrapper.style2 header p{ color:#9ba2a8; }
.wrapper.style2 table tbody tr{ border-color:rgba(255,255,255,.15); }
.wrapper.style2 table tbody tr:nth-child(2n+1){ background-color:rgba(255,255,255,.075); }
.wrapper.style2 table th{ color:#ffffff; }
.wrapper.style2 table thead{ border-bottom-color:rgba(255,255,255,.15); }
.wrapper.style2 table tfoot{ border-top-color:rgba(255,255,255,.15); }
.wrapper.style2 table.alt tbody tr td{ border-color:rgba(255,255,255,.15); }

@media screen and (max-width:1280px){ .wrapper > .inner{ width:65em; } }
@media screen and (max-width:980px){ .wrapper > .inner{ width:90%; } }
@media screen and (max-width:736px){ .wrapper{ padding:3em 0 1em 0; } }

/* ======================================================
   VIDEO CARD
====================================================== */

.video{ background:rgba(255,255,255,.075); border-radius:4px; margin:0 0 2em 0; overflow:hidden; position:relative; }
.video img{ transition:transform .2s ease-in-out; }
.video:hover img{ transform:scale(1.075); }
.video:hover .image .arrow .icon{ color:white; }
.video .image{ margin:0; position:relative; overflow:hidden; }
.video .image .arrow{ position:absolute; top:0; left:0; width:100%; height:100%; text-align:center; }
.video .image .arrow:before{ content:''; display:inline-block; height:100%; vertical-align:middle; margin-right:-.25em; }
.video .image .arrow .icon{ transition:color 1s ease-in-out; display:inline-block; vertical-align:middle; font-size:3em; color:rgba(255,255,255,.5); }
.video .caption{ color:#c0c5c9; padding:1.5em; font-size:1.25em; font-weight:300; margin:0; }
.video .link{ position:absolute; width:100%; height:100%; display:block; top:0; left:0; }
.video .link span{ display:none; }

/* ======================================================
   HEADER (top bar)
====================================================== */

body.subpage{ padding-top:3.125em; }

#header{
  background:rgba(0,0,0,.75); color:#c0c5c9; cursor:default; height:3.25em; left:0; line-height:3.25em;
  position:fixed; text-align:right; top:0; width:100%; z-index:10001;
}
#header > h1{ color:#ffffff; display:inline-block; height:inherit; left:1.25em; line-height:inherit; margin:0; padding:0; position:absolute; top:0; }
#header > h1 a{ font-size:1.25em; color:#ffffff; }
#header > h1 a:hover{ color:#ffffff; }
#header > h1 span{ font-weight:300; font-size:.8em; }
#header > a{ transition:color .2s ease-in-out; display:inline-block; padding:0 .75em; color:inherit; text-decoration:none; }
#header > a:hover{ color:#ffffff; }
#header > a[href="#menu"]{ text-decoration:none; -webkit-tap-highlight-color:transparent; }
#header > a[href="#menu"]:before{ content:"\f0c9"; font-family:FontAwesome; }
#header > a[href="#menu"]:before{ margin:0 .5em 0 0; }
#header > a + a[href="#menu"]:last-child{ border-left:1px solid rgba(255,255,255,.15); padding-left:1.25em; margin-left:.5em; }
#header > a:last-child{ padding-right:1.25em; }

@media screen and (max-width:736px){
  #header > a{ padding:0 .5em; }
  #header > a + a[href="#menu"]:last-child{ padding-left:1em; margin-left:.25em; }
  #header > a:last-child{ padding-right:1em; }
}
@media screen and (max-width:980px){
  body{ padding-top:44px; }
  #header{ height:44px; line-height:44px; }
  #header > h1{ left:1em; }
  #header > h1 a{ font-size:1em; }
}
@media screen and (max-width:480px){ #header{ min-width:320px; } }

/* ======================================================
   MENU (slide-out)
====================================================== */

#menu{
  transform:translateX(20em); transition:transform .5s ease, box-shadow .5s ease, visibility .5s;
  -webkit-overflow-scrolling:touch; background:#000000; color:#ffffff; height:100%;
  max-width:80%; overflow-y:auto; padding:3em 2em; position:fixed; right:0; top:0; visibility:hidden; width:20em; z-index:10002;
}
#menu > ul{ margin:0 0 1em 0; }
#menu > ul.links{ list-style:none; padding:0; }
#menu > ul.links > li{ padding:0; }
#menu > ul.links > li > a:not(.button){
  border:0; border-top:1px solid rgba(255,255,255,.15); color:inherit; display:block; line-height:3.5em; text-decoration:none;
}
#menu > ul.links > li > .button{ display:block; margin:.5em 0 0 0; }
#menu > ul.links > li:first-child > a:not(.button){ border-top:0!important; }

#menu .close{
  text-decoration:none; transition:color .2s ease-in-out; -webkit-tap-highlight-color:transparent; border:0; color:#9ba2a8; cursor:pointer;
  display:block; height:3.25em; line-height:3.25em; padding-right:1.25em; position:absolute; right:0; text-align:right; top:0; vertical-align:middle; width:7em;
}
#menu .close:before{ content:"\f00d"; font-family:FontAwesome; font-size:1.25em; }
#menu .close:hover{ color:#ffffff; }
@media screen and (max-width:736px){ #menu{ padding:2.5em 1.75em; } #menu .close{ height:4em; line-height:4em; } }

#menu.visible{ transform:translateX(0); box-shadow:0 0 1.5em 0 rgba(0,0,0,.2); visibility:visible; }

/* ======================================================
   BANNER (video/image hero preserved)
====================================================== */

#banner{
  display:flex; align-items:center; justify-content:center; text-align:center;
  padding:8em 0 6em 0; background-image:url("../../images/banner.jpg"); background-position:center; background-size:cover; background-repeat:no-repeat;
  border-top:0; min-height:100vh; height:100vh!important; position:relative; overflow:hidden; color:#ffffff;
}
#banner .inner{ transform:scale(1.0); transition:opacity 1s ease, transform 1s ease; opacity:1; position:relative; z-index:2; }
#banner h1{ font-size:4em; margin-bottom:.25em; color:#ffffff; }
#banner p{ color:rgba(255,255,255,.85); font-size:1.5em; }

/* keep your video behind overlay */
#banner video{
  transform:translateX(50%) translateY(50%); position:absolute; bottom:50%; right:50%;
  width:auto; height:auto; min-width:100%; min-height:100%; overflow:hidden; z-index:-100 !important;
}
#banner:before{
  transition:opacity 3s ease 1.25s; content:''; display:block; background-color:rgba(0,0,0,.55);
  height:100%; left:0; opacity:.55; position:absolute; top:0; width:100%; z-index:0 !important;
}

@media screen and (max-width:736px){
  #banner{ min-height:0; height:auto!important; padding:4em 2em; }
  #banner .inner{ width:100%; }
  #banner h1{ font-size:1.75em; margin-bottom:.5em; padding-bottom:0; }
  #banner p{ font-size:1.25em; }
  #banner br{ display:none; }
  #banner .button{ width:100%; }
}
@media screen and (max-width:480px){ #banner p{ font-size:1em; } }
body.is-loading #banner .inner{ transform:none; opacity:1; }
body.is-loading #banner:before{ opacity:.55; }

/* ======================================================
   MAIN / FOOTER
====================================================== */

#footer{ padding:6em 0 4em 0; background:#000000; color:#ffffff; }
#footer > .inner{ margin:0 auto; width:80em; }
#footer .copyright{ color:#9ba2a8; font-size:.9em; margin:0 0 2em 0; padding:0; text-align:center; }
.copyright{ color:#9ba2a8; font-size:.9em; margin:2em 0; padding:0; text-align:center; }
#footer .copyright .icons{ margin:2em 0 0 0; }
@media screen and (max-width:1280px){ #footer > .inner{ width:65em; } }
@media screen and (max-width:980px){ #footer > .inner{ width:90%; } }
@media screen and (max-width:736px){ #footer{ padding:3em 0 1em 0; } }

/* ======================================================
   IMAGES (ensure visible)
====================================================== */

img{ filter:brightness(1); opacity:1; transition:opacity .3s ease; }


/* ===== ENCLAVE – Hero polish & dark overlay (paste at end) ===== */

/* Darker, richer overlay on the hero (keeps video/image visible) */
#banner::before {
  /* layered gradient + base */
  background:
    linear-gradient(180deg, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.50) 38%, rgba(0,0,0,0.72) 100%),
    rgba(0,0,0,0.58);
  opacity: 1;           /* ensure full strength */
}

/* Make the headline pop */
#banner h1 {
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.15;
  text-shadow: 0 4px 18px rgba(0, 0, 0, 0.6), 0 1px 0 rgba(0,0,0,0.35);
  margin-bottom: 0.4em;
}

/* Copy slightly brighter for readability on darkened hero */
#banner p {
  color: rgba(255, 255, 255, 0.92);
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
}

/* Premium CTA style (works for your .button.big.alt) */
#banner .button,
#banner .button.big,
#banner .button.alt,
#banner .button.big.alt {
  border: 2px solid #FFD700;
  background: transparent;
  color: #FFD700 !important;
  border-radius: 10px;
  padding: 0.9rem 1.6rem;
  letter-spacing: 0.02em;
  box-shadow:
    0 0 0 rgba(255,215,0,0),
    inset 0 0 0 rgba(255,215,0,0);
  transition: transform .18s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease, border-color .25s ease;
}
#banner .button:hover,
#banner .button.big:hover,
#banner .button.alt:hover,
#banner .button.big.alt:hover {
  background: #FFD700;
  color: #000000 !important;
  transform: translateY(-1px);
  box-shadow:
    0 8px 24px rgba(255, 215, 0, 0.28),
    inset 0 0 0 rgba(0,0,0,0);
  border-color: #FFD700;
}
#banner .button:active {
  transform: translateY(0);
  box-shadow: 0 4px 14px rgba(255, 215, 0, 0.24);
}
#banner .button:focus {
  outline: none;
  box-shadow:
    0 0 0 3px rgba(0,0,0,0.65),
    0 0 0 6px rgba(255,215,0,0.45);
}

/* Add breathing room on small screens */
@media (max-width: 736px) {
  #banner { padding-top: 5.5em; padding-bottom: 3.5em; }
  #banner h1 { font-size: 1.9em; }
  #banner p { font-size: 1.15em; }
}

/* Polished sticky header: slightly darker + blur over content */
#header {
  background: rgba(0, 0, 0, 0.65);
  -webkit-backdrop-filter: saturate(120%) blur(6px);
  backdrop-filter: saturate(120%) blur(6px);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

/* Optional: subtle gold underline on nav hover (desktop) */
@media (min-width: 981px) {
  #header > a {
    position: relative;
  }
  #header > a::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 8px;
    height: 2px;
    background: linear-gradient(90deg, rgba(255,215,0,0) 0%, #FFD700 50%, rgba(255,215,0,0) 100%);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .25s ease;
  }
  #header > a:hover::after {
    transform: scaleX(1);
  }
}

/* ===== ENCLAVE – CTA + Gold Underlines (drop-in overrides) ===== */

/* Center the button text + premium styling */
#banner .button,
#banner .button.big,
#banner .button.alt,
#banner .button.big.alt {
  display: inline-flex;               /* center horizontally & vertically */
  align-items: center;
  justify-content: center;
  gap: .5rem;
  height: auto;                       /* kill fixed line-height centering */
  min-height: 3.2rem;                 /* consistent size */
  line-height: 1.2;
  padding: .95rem 1.6rem;
  border-radius: 12px;
  border: 2px solid #FFD700;
  background: transparent;
  color: #FFD700 !important;
  font-weight: 800;
  letter-spacing: .02em;
  text-align: center;
  text-transform: none;
  box-shadow: 0 0 0 rgba(255,215,0,0);
  transition: transform .18s ease, box-shadow .25s ease,
              background-color .25s ease, color .25s ease, border-color .25s ease;
}

#banner .button:hover,
#banner .button.big:hover,
#banner .button.alt:hover,
#banner .button.big.alt:hover {
  background: #FFD700;
  color: #000000 !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(255, 215, 0, 0.33);
}

#banner .button:active {
  transform: translateY(0);
  box-shadow: 0 6px 16px rgba(255, 215, 0, 0.26);
}

#banner .button:focus {
  outline: none;
  box-shadow:
    0 0 0 3px rgba(0,0,0,0.65),
    0 0 0 6px rgba(255,215,0,0.45);
}

/* Make sure any icon and text stay centered neatly */
#banner .button i,
#banner .button .icon {
  display: inline-block;
  line-height: 1;
}

/* ===== Gold underline hover for all nav titles ===== */
/* Header site title + header Menu link */
#header h1 a,
#header > a {
  position: relative;
}

#header h1 a::after,
#header > a::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  bottom: -0.35em;
  height: 2px;
  background: linear-gradient(90deg, rgba(255,215,0,0) 0%, #FFD700 50%, rgba(255,215,0,0) 100%);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .25s ease;
}

#header h1 a:hover::after,
#header > a:hover::after,
#header h1 a:focus-visible::after,
#header > a:focus-visible::after {
  transform: scaleX(1);
}

/* Slide-out menu links */
#menu > ul.links > li > a {
  position: relative;
}

#menu > ul.links > li > a::after {
  content: "";
  position: absolute;
  left: 1.25em;                       /* align with text inset */
  right: 1.25em;
  bottom: .85em;                      /* sits nicely within the 3.5em line height */
  height: 2px;
  background: linear-gradient(90deg, rgba(255,215,0,0) 0%, #FFD700 50%, rgba(255,215,0,0) 100%);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .25s ease;
}

#menu > ul.links > li > a:hover::after,
#menu > ul.links > li > a:focus-visible::after {
  transform: scaleX(1);
}

/* Optional: cursor + accessibility touch-ups */
#header h1 a, #header > a, #menu > ul.links > li > a {
  text-underline-offset: 4px;         /* nicer native underline if any */
  -webkit-tap-highlight-color: transparent;
}

/* ==== ENCLAVE — GLOBAL POLISH (append at end of main.css) ==== */

/* Smooth anchor scrolling everywhere + keep anchors clear of fixed header */
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 84px; }

/* Darker, richer hero overlay (works for any page using #banner) */
#banner::before{
  background:
    linear-gradient(180deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.50) 38%, rgba(0,0,0,.72) 100%),
    rgba(0,0,0,.58);
  opacity: 1;
}

/* Hero headline + copy readability */
#banner h1{
  font-weight: 800;
  letter-spacing: .01em;
  line-height: 1.15;
  text-shadow: 0 4px 18px rgba(0,0,0,.6), 0 1px 0 rgba(0,0,0,.35);
  margin-bottom: .4em;
}
#banner p{
  color: rgba(255,255,255,.92);
  text-shadow: 0 2px 12px rgba(0,0,0,.45);
}

/* Premium CTA look for any button placed in the hero */
#banner .button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 3.2rem;
  height: auto;
  line-height: 1.2;
  padding: .95rem 1.6rem;
  border-radius: 12px;
  border: 2px solid #FFD700;
  background: transparent;
  color: #FFD700 !important;
  font-weight: 800;
  letter-spacing: .02em;
  transition: transform .18s ease, box-shadow .25s ease,
              background-color .25s ease, color .25s ease, border-color .25s ease;
}
#banner .button:hover{
  background: #FFD700;
  color: #000 !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(255,215,0,.33);
}
#banner .button:active{ transform: translateY(0); box-shadow: 0 6px 16px rgba(255,215,0,.26); }
#banner .button:focus{
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,0,0,.65), 0 0 0 6px rgba(255,215,0,.45);
}

/* Sticky header: subtle blur + divider (applies site-wide) */
#header{
  background: rgba(0,0,0,.65);
  -webkit-backdrop-filter: saturate(120%) blur(6px);
  backdrop-filter: saturate(120%) blur(6px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

/* Gold underline hover for ALL header links + Menu link */
#header h1 a,
#header > a{
  position: relative;
}
#header h1 a::after,
#header > a::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -0.35em;
  height: 2px;
  background: linear-gradient(90deg, rgba(255,215,0,0) 0%, #FFD700 50%, rgba(255,215,0,0) 100%);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .25s ease;
}
#header h1 a:hover::after,
#header > a:hover::after,
#header h1 a:focus-visible::after,
#header > a:focus-visible::after{
  transform: scaleX(1);
}

/* Gold underline hover for slide-out menu links */
#menu > ul.links > li > a{
  position: relative;
}
#menu > ul.links > li > a::after{
  content: "";
  position: absolute;
  left: 1.25em; right: 1.25em; bottom: .85em;
  height: 2px;
  background: linear-gradient(90deg, rgba(255,215,0,0) 0%, #FFD700 50%, rgba(255,215,0,0) 100%);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .25s ease;
}
#menu > ul.links > li > a:hover::after,
#menu > ul.links > li > a:focus-visible::after{
  transform: scaleX(1);
}

/* Universal image sanity (prevents accidental dimming) */
img{ filter: brightness(1); opacity: 1; transition: opacity .3s ease; }

/* Small-screen spacing for hero */
@media (max-width:736px){
  #banner{ padding-top: 5.5em; padding-bottom: 3.5em; }
  #banner h1{ font-size: 1.9em; }
  #banner p{ font-size: 1.15em; }
}

/* ================= ENCLAVE — Unified Gold Buttons + Media Hover ================= */

/* 1) Global button reset: applies to every button, input button and .button link */
.button,
button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
  /* layout */
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  height: auto !important;          /* kill fixed line-height centering */
  min-height: 3.1rem;
  line-height: 1.2 !important;
  padding: .9rem 1.4rem !important;

  /* look */
  border: 2px solid #FFD700 !important;
  border-radius: 14px !important;    /* rounded, not boxy */
  background: transparent !important;
  color: #FFD700 !important;
  font-weight: 800 !important;
  letter-spacing: .02em;

  /* motion */
  box-shadow: 0 10px 22px rgba(255,215,0,.18);
  transition:
    transform .18s ease,
    box-shadow .25s ease,
    background-color .25s ease,
    color .25s ease,
    border-color .25s ease;
  text-decoration: none !important;
  white-space: nowrap;
}

/* icon & text centering */
.button i,
.button .icon,
button i { line-height: 1; display: inline-block; }

/* Hover / active / focus states (matches the hero CTA behavior) */
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover {
  background: #FFD700 !important;
  color: #000 !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(255,215,0,.30);
  border-color: #FFD700 !important;
}
.button:active,
button:active,
input[type="submit"]:active,
input[type="button"]:active,
input[type="reset"]:active {
  transform: translateY(0);
  box-shadow: 0 6px 16px rgba(255,215,0,.24);
}
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="button"]:focus,
input[type="reset"]:focus {
  outline: none !important;
  box-shadow:
    0 0 0 3px rgba(0,0,0,.65),
    0 0 0 6px rgba(255,215,0,.45);
}

/* Force old variants to the new unified style */
.button.alt,
.button.special,
button.alt,
button.special,
input[type="submit"].alt,
input[type="submit"].special,
input[type="button"].alt,
input[type="button"].special,
input[type="reset"].alt,
input[type="reset"].special {
  background: transparent !important;
  color: #FFD700 !important;
  border-color: #FFD700 !important;
  box-shadow: 0 10px 22px rgba(255,215,0,.18);
}

/* Optional utility: add .btn-fill if you want any specific button to be gold by default */
.btn-fill {
  background: #FFD700 !important;
  color: #000 !important;
  border-color: #FFD700 !important;
}

/* 2) Gold hover outline for media (images, videos, cards) */
.image,
.image img,
.video,
.video .image,
.video-wrapper,
.image-grid-item,
.hover-gold {
  border-radius: 12px;
  /* add a subtle base border only if there isn't one */
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
  transition: border-color .25s ease, box-shadow .25s ease, transform .18s ease;
  overflow: hidden; /* keeps iframes/images clipped to radius */
}

/* glow on hover/focus */
.image:hover,
.image:focus-within,
.image img:hover,
.video:hover,
.video:focus-within,
.video-wrapper:hover,
.video-wrapper:focus-within,
.image-grid-item:hover,
.image-grid-item:focus-within,
.hover-gold:hover,
.hover-gold:focus-within {
  border-color: #FFD700;
  box-shadow:
    0 0 0 2px rgba(255,215,0,.35),
    0 18px 40px rgba(0,0,0,.36);
  transform: translateY(-2px);
}

/* keep iframes responsive corners inside wrappers */
.video-wrapper iframe,
.video-wrapper object,
.video-wrapper embed {
  border: 0;
  border-radius: 12px;
}

/* 3) Make hero buttons also use unified style (if any extra rules exist above) */
#banner .button {
  border-radius: 14px !important;
  border-width: 2px !important;
  box-shadow: 0 10px 22px rgba(255,215,0,.18);
}

/* ==== Fix: make the copyright strip match the dark footer ==== */
#copyright,
.copyright {
  background: #000 !important;          /* kill the white/grey strip */
  color: #9ba2a8 !important;
  margin: 0 !important;                  /* remove extra white gap */
  padding: 1.25em 0 !important;
  border-top: 1px solid rgba(255,255,255,.08); /* subtle divider */
  text-align: center;
}
#footer + #copyright,
#footer + .copyright { margin-top: 0 !important; }

#copyright a,
.copyright a { color: #FFD700 !important; }
#copyright a:hover,
.copyright a:hover { color: #ffea66 !important; }

/* Safety: ensure the entire footer area stays dark */
footer, #footer { background:#000 !important; }


/* Services section custom background image */
.wrapper.style1.services-bg::before{
  opacity: .45;                                   /* overlay strength */
  background:
    linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.35) 100%),
    url("/images/Explaning our services.jpg");               /* <-- change path */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}


/* === Services quick-jump buttons: unify with global gold CTA === */
.services-bg .align-center .button,
.services-bg .align-center .button.alt,
.services-bg .align-center .button.small {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: .45rem;

  /* size */
  min-height: 2.8rem;
  line-height: 1.2 !important;
  padding: .7rem 1.2rem !important;
  margin: .2rem .25rem;

  /* look */
  border: 2px solid #FFD700 !important;
  border-radius: 14px !important;
  background: transparent !important;
  color: #FFD700 !important;
  font-weight: 800 !important;
  letter-spacing: .02em;

  /* motion / effects */
  box-shadow: 0 10px 22px rgba(255,215,0,.18);
  transition:
    transform .18s ease,
    box-shadow .25s ease,
    background-color .25s ease,
    color .25s ease,
    border-color .25s ease;
  text-decoration: none !important;
  white-space: nowrap;
}

.services-bg .align-center .button:hover,
.services-bg .align-center .button:focus-visible {
  background: #FFD700 !important;
  color: #000 !important;
  transform: translateY(-1px);
  border-color: #FFD700 !important;
  box-shadow:
    0 12px 28px rgba(255,215,0,.30),
    0 0 0 2px rgba(255,215,0,.35);
}

.services-bg .align-center .button:active {
  transform: translateY(0);
  box-shadow: 0 6px 16px rgba(255,215,0,.24);
}

.services-bg .align-center .button:focus {
  outline: none !important;
  box-shadow:
    0 0 0 3px rgba(0,0,0,.65),
    0 0 0 6px rgba(255,215,0,.45);
}

/* === Gold hover frame for the Services background section === */
.wrapper.style1.services-bg{
  position: relative;                 /* ensure ::before stays inside */
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  overflow: hidden;                   /* clip the bg + children to radius */
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
  transition: border-color .25s ease, box-shadow .25s ease, transform .18s ease;
}

/* keep your background image + overlay, but don't block hover */
.wrapper.style1.services-bg::before{
  border-radius: inherit;             /* match rounded corners */
  pointer-events: none;               /* allow hover on the section */
}

/* glow + subtle lift on hover/focus (matches site-wide media hover) */
.wrapper.style1.services-bg:hover,
.wrapper.style1.services-bg:focus-within{
  border-color: #FFD700;
  box-shadow:
    0 0 0 2px rgba(255,215,0,.35),
    0 18px 40px rgba(0,0,0,.36);
  transform: translateY(-2px);
}

/* Bigger photography grid tiles (override inline styles) */
#photography .image-grid-item{
  width: calc(50% - 20px) !important;   /* from 3 columns -> 2 columns */
  max-width: 560px !important;          /* was 350px */
}

/* Optional: keep them full-width on small screens (unchanged behavior) */
@media (max-width: 736px){
  #photography .image-grid-item{
    width: 100% !important;
    max-width: none !important;
  }
}

/* Gold CTA look for the Media Training button */
.btn-gold{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  min-height:3.1rem; padding:.9rem 1.4rem !important;
  border:2px solid #FFD700 !important; border-radius:14px !important;
  background:transparent !important; color:#FFD700 !important;
  font-weight:800 !important; letter-spacing:.02em;
  box-shadow:0 10px 22px rgba(255,215,0,.18);
  transition:transform .18s ease, box-shadow .25s ease,
             background-color .25s ease, color .25s ease, border-color .25s ease;
  text-decoration:none !important; white-space:nowrap;
}
.btn-gold:hover,
.btn-gold:focus-visible{
  background:#FFD700 !important; color:#000 !important; border-color:#FFD700 !important;
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(255,215,0,.30), 0 0 0 2px rgba(255,215,0,.35);
}
.btn-gold:active{ transform:translateY(0); box-shadow:0 6px 16px rgba(255,215,0,.24); }

/* ===== Header logo (image) ===== */
#header > h1.site-logo {
  /* your theme already positions h1 on the left; this centers the image vertically */
  height: 100%;
  display: flex;
  align-items: center;
}

#header > h1.site-logo a {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0;                 /* remove any spacing */
  border: 0;                  /* no focus border from theme */
}

/* Size the logo nicely inside the sticky header */
#header > h1.site-logo img {
  display: block;
  width: auto;
  max-height: 28px;           /* desktop size; tweak if needed */
}

/* Shorter header on mobile per your theme */
@media screen and (max-width: 980px) {
  #header > h1.site-logo img { max-height: 22px; }
}

/* Disable gold underline hover effect for the image link */
#header h1.site-logo a::after { display: none !important; }


/* === ENCLAVE — Larger Logo + Header Height (merged/final) === */

/* Desktop / large */
#header{
  height: 88px;                 /* taller header to fit bigger logo */
  line-height: 88px;            /* keeps Menu vertically centered */
}
#header > h1.site-logo{
  left: 1.25em;                 /* keep original left offset */
  height: 100%;
  display: flex;
  align-items: center;          /* vertical center inside header */
}
#header > h1.site-logo a{
  display: flex;
  align-items: center;
  height: 100%;
}
#header > h1.site-logo img{
  display: block;
  max-height: 64px;             /* ⬅️ desktop logo size (wider) */
  width: auto;                  /* preserve aspect ratio */
}

/* Remove underline FX on the image-logo link */
#header h1.site-logo a::after{ display: none !important; }

/* Tablet and below (<=980px) */
@media screen and (max-width:980px){
  #header{
    height: 72px;               /* was 44px in template */
    line-height: 72px;
  }
  body{ padding-top: 68px; }    /* keep content below fixed header */
  #header > h1.site-logo img{
    max-height: 68px;           /* comfortable tablet/large phone size */
  }
}

/* Small phones (<=480px) */
@media screen and (max-width:480px){
  #header > h1.site-logo img{
    max-height: 50px;           /* slightly smaller on very small screens */
  }
}

/* ===== ENCLAVE — Careers Page Bits ===== */

/* Hero background for careers page */
.services-bg.careers-hero::before {
  opacity: .50;
  background:
    linear-gradient(180deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.44) 100%),
    url("/images/career@enclave.JPG"); /* swap path to your image */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Make tab containers stack nicely in your grid system */
#apply .tab { padding-top: 0.5rem; }
#apply .tab.active { display: block; }
#apply .tab:not(.active) { display: none; }

/* Form buttons use unified gold style automatically from your global rules */

/* ===== FORCE Careers hero background ===== */
.wrapper.style1.services-bg.careers-hero {       /* the section itself */
  position: relative !important;
  min-height: 60vh;                               /* ensure visible height */
}

.wrapper.style1.services-bg.careers-hero > .inner {
  position: relative;
  z-index: 2;                                     /* keep text above overlay */
}

/* Stronger, explicit ::before overlay (overrides any earlier .wrapper::before) */
.wrapper.style1.services-bg.careers-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  z-index: 1 !important;

  /* Use %40 to safely handle the @ in the filename */
  background:
    linear-gradient(180deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.44) 100%),
    url("/images/career%40enclave.JPG") !important;

  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  opacity: .50 !important;
}

/* Tabs behavior stays the same */
#apply .tab { padding-top: .5rem; }
#apply .tab.active { display: block; }
#apply .tab:not(.active) { display: none; }


/* ===================== TEAMS PAGE POLISH ===================== */

/* 1) Make sure page content clears the fixed header on desktop */
@media (min-width: 981px) {
  body { padding-top: 72px !important; }         /* match your taller header */
}
/* Nudge the first team section down a touch so the title isn't under the blur */
.wrapper.style1 .inner > header.align-center + .team-tree {
  margin-top: 1.25rem;
}

/* 2) Passport-sized photos (rectangular) */
.team-member .member-photo img {
  width: 130px;
  height: 170px;                 /* passport proportion */
  border-radius: 12px;           /* rounded rectangle */
  object-fit: cover;
}

/* CEO larger for emphasis */
.node-root .member-photo img {
  width: 150px;
  height: 200px;
  border-radius: 14px;
  border: 3px solid #66bb6a;     /* keep existing accent */
}

/* 3) Gold hover / focus treatment to match site CTAs */
.team-member {
  border: 1px solid rgba(0,0,0,.08);
  transition: border-color .25s ease, box-shadow .25s ease, transform .18s ease;
  background: #ffffff;
}
.team-member:hover,
.team-member:focus-within {
  border-color: #FFD700;
  box-shadow:
    0 0 0 2px rgba(255,215,0,.35),
    0 18px 40px rgba(0,0,0,.28);
  transform: translateY(-2px);
}

/* Keep CEO and colored roles readable on hover (no darken swap) */
.node-root .team-member,
.c-suite-row .team-member,
.marketing-lead,
.pr-lead,
.photo-head,
.video-head {
  transition: border-color .25s ease, box-shadow .25s ease, transform .18s ease;
}
.node-root .team-member:hover,
.c-suite-row .team-member:hover,
.marketing-lead:hover,
.pr-lead:hover,
.photo-head:hover,
.video-head:hover,
.node-root .team-member:focus-within,
.c-suite-row .team-member:focus-within,
.marketing-lead:focus-within,
.pr-lead:focus-within,
.photo-head:focus-within,
.video-head:focus-within {
  box-shadow:
    0 0 0 2px rgba(255,215,0,.35),
    0 18px 40px rgba(0,0,0,.36);
  border-color: #FFD700;
  transform: translateY(-2px);
}

/* 4) Directors row — same passport sizing, subtle card polish */
.directors-row .team-member {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 4px 10px rgba(0,0,0,.08);
}

/* 5) Mobile: scale the larger images down a bit so layout breathes */
@media (max-width: 736px) {
  .team-member .member-photo img {
    width: 110px;
    height: 145px;
  }
  .node-root .member-photo img {
    width: 130px;
    height: 175px;
  }
}

/* 6) Optional: gold underline for section title (matches your theme) */
.wrapper.style1 .inner > header.align-center h2 {
  position: relative;
}
.wrapper.style1 .inner > header.align-center h2::after {
  content: "";
  display: block;
  width: 180px;
  height: 2px;
  margin: 0.6rem auto 0;
  background: linear-gradient(90deg, rgba(255,215,0,0) 0%, #FFD700 50%, rgba(255,215,0,0) 100%);
}


/* ===================== TEAM PAGE — SPACING + DARK THEME ===================== */
/* Scope to the team section by targeting the tree container */
.team-tree {
  background: #000;                /* pure black backdrop for the org chart */
  border-radius: 16px;
  padding: 2.25rem 1rem 3rem;      /* more inner air */
  color: #fff;
}

/* Headings that sit directly above the chart */
.wrapper.style1 .inner > header.align-center h2,
.wrapper.style1 .inner > header.align-center p {
  color: #fff;                     /* ensure readable on black */
}

/* Cards: make a touch wider and darker, with consistent spacing */
.team-member {
  width: 220px;                    /* was 180px -> reduces crowding by pushing wrap earlier */
  margin: 14px;
  background: #0e0e0e;             /* dark card on black stage */
  color: #fff;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 6px 16px rgba(0,0,0,.35);
}

/* Gold hover glow (kept consistent with your site) */
.team-member:hover,
.team-member:focus-within {
  border-color: #FFD700;
  box-shadow:
    0 0 0 2px rgba(255,215,0,.35),
    0 18px 40px rgba(0,0,0,.55);
  transform: translateY(-2px);
}

/* Passport-sized photos (kept from earlier, looks great on wider card) */
.team-member .member-photo img {
  width: 130px;
  height: 170px;
  border-radius: 12px;
  object-fit: cover;
}

/* CEO emphasized on dark */
.node-root .team-member {
  background: #01332d;
  border-color: rgba(255,255,255,.14);
}
.node-root .member-photo img {
  width: 150px;
  height: 200px;
  border-radius: 14px;
  border: 3px solid #66bb6a;
}

/* C-suite row: add intentional spacing */
.c-suite-row {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 44px;                       /* key spacing */
  width: 100%;
  padding: 34px 20px 0;
}

/* Color roles keep readable on dark */
.c-suite-row .team-member         { background: #055a51; }
.marketing-lead, .pr-lead         { background: #194e86; }
.photo-head, .video-head          { background: #286c31; }

/* PA: drop it lower so it doesn't collide with C-suite */
.pa-wrapper {
  position: absolute;
  top: 160px;                      /* was ~100px — more clearance */
  left: 50%;
  transform: translateX(-50%);
  z-index: 15;
}
.pa-wrapper .team-member {
  background: rgba(120, 130, 210, .14); /* subtle tinted panel on black */
  backdrop-filter: blur(3px);
  border: 1px solid #7986cb;
  color: #e6e6f3;
}

/* Functional tier: add more headroom and spacing */
.node-functional-tier {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 28px;                       /* consistent horizontal & vertical gap */
  width: 90%;
  margin-top: 190px;               /* extra gap under PA */
}

/* ---------------- Connector lines (taller to match new spacing) --------------- */
.node-top-tier-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #666;
  z-index: 4;
}
.node-top-tier-container::after {
  content: "";
  position: absolute;
  top: -95px;                /* meets CEO line after spacing changes */
  left: 50%;
  width: 2px;
  height: 95px;
  background: #666;
  transform: translateX(-50%);
  z-index: 4;
}
.node-root .team-member::after {
  content: "";
  position: absolute;
  bottom: -40px;
  left: 50%;
  width: 2px;
  height: 40px;
  background: #666;
  transform: translateX(-50%);
  z-index: 5;
}
.c-suite-row .team-member::before {
  content: "";
  position: absolute;
  top: -24px;
  left: 50%;
  width: 2px;
  height: 24px;
  background: #666;
  transform: translateX(-50%);
  z-index: 6;
}

/* --- NEW: PA centered between C-suite and the rest --- */
.pa-center {
  position: relative;
  display: flex;
  justify-content: center;
  margin: 36px 0 44px;       /* vertical spacing around PA */
  z-index: 5;
}
/* line from C-suite line to PA */
.pa-center::before {
  content: "";
  position: absolute;
  top: -34px;                /* meets the C-suite horizontal line */
  left: 50%;
  width: 2px;
  height: 34px;
  background: #666;
  transform: translateX(-50%);
  z-index: 4;
}
/* line from PA to functional tier line */
.pa-center::after {
  content: "";
  position: absolute;
  bottom: -42px;
  left: 50%;
  width: 2px;
  height: 42px;
  background: #666;
  transform: translateX(-50%);
  z-index: 4;
}

.node-functional-tier::before {
  content: "";
  position: absolute;
  top: -22px;                /* aligns with PA bottom connector */
  left: 0;
  width: 100%;
  height: 2px;
  background: #666;
  z-index: 4;
}
.node-functional-tier .team-member::before {
  content: "";
  position: absolute;
  top: -22px;
  left: 50%;
  width: 2px;
  height: 22px;
  background: #666;
  transform: translateX(-50%);
  z-index: 6;
}

/* ------------------------ Responsive tidy-up ---------------------------------- */
@media (max-width: 980px) {
  .team-member { width: 200px; }
  .node-functional-tier { margin-top: 30px; gap: 20px; }

  /* Hide lines on small screens (keeps layout clean) */
  .node-root .team-member::after,
  .node-top-tier-container::before,
  .c-suite-row .team-member::before,
  .node-top-tier-container::after,
  .pa-center::before,
  .pa-center::after,
  .node-functional-tier::before,
  .node-functional-tier .team-member::before {
    display: none !important;
  }

  /* passport-ish photo sizes on small screens */
  .team-member .member-photo img { width: 110px; height: 145px; object-fit: cover; }
  .node-root .member-photo img { width: 130px; height: 175px; object-fit: cover; }
}

/* === Centered PA row between C-suite and Functional tier === */
.pa-center{
  position: relative;
  display: flex;
  justify-content: center;
  margin: 36px 0 46px; /* space above & below PA */
  z-index: 5;
}
.pa-center .team-member{
  background: transparent;
  border: 1px solid #7986cb;
  box-shadow: none;
  color: #e8e8e8;
}

/* Vertical connector from C-suite line to PA */
.pa-center::before{
  content: "";
  position: absolute;
  top: -34px;          /* meets the C-suite horizontal line */
  left: 50%;
  width: 2px;
  height: 34px;
  background: #666;
  transform: translateX(-50%);
  z-index: 4;
}
/* Vertical connector from PA down to functional tier line */
.pa-center::after{
  content: "";
  position: absolute;
  bottom: -42px;       /* meets the functional tier horizontal line */
  left: 50%;
  width: 2px;
  height: 42px;
  background: #666;
  transform: translateX(-50%);
  z-index: 4;
}

/* Functional tier spacing + line so the PA connects cleanly */
.node-functional-tier{
  position: relative;
  display: flex;
  justify-content: space-around;
  width: 86%;
  gap: 28px;
  margin: 18px auto 0;
}
.node-functional-tier::before{
  content: "";
  position: absolute;
  top: -22px;
  left: 0;
  width: 100%;
  height: 2px;
  background: #666;
  z-index: 4;
}
.node-functional-tier .team-member::before{
  content: "";
  position: absolute;
  top: -22px;
  left: 50%;
  width: 2px;
  height: 22px;
  background: #666;
  transform: translateX(-50%);
  z-index: 6;
}

/* Kill the old absolute PA block if any remains in markup */
.pa-wrapper{ display:none !important; }

/* Decongest C-suite spacing a bit */
.c-suite-row{
  justify-content: space-between;
  gap: 28px;
  padding-top: 28px;
}

/* Passport-size photos (square for CEO, portrait for others) */
.member-photo img{
  width: 120px;
  height: 160px;
  border-radius: 12px;
  object-fit: cover;
}
.node-root .member-photo img{
  width: 140px;
  height: 140px;      /* CEO can stay square and prominent */
  border-radius: 16px;
}

/* Dark background for the page section (keeps the site’s look) */
.wrapper.style1{
  background: #000;
  color: #fff;
}

/* Responsive tidy-up */
@media (max-width: 980px){
  .member-photo img{ width: 110px; height: 145px; }
  .node-root .member-photo img{ width: 130px; height: 130px; }
  /* Hide connector lines on small screens for clarity */
  .pa-center::before,
  .pa-center::after,
  .node-functional-tier::before,
  .node-functional-tier .team-member::before,
  .node-root .team-member::after,
  .node-top-tier-container::before,
  .c-suite-row .team-member::before,
  .node-top-tier-container::after{ display:none !important; }
}

/* === Make ALL team cards transparent like PA === */
.team-member{
  background: transparent !important;
  box-shadow: none !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: #e8e8e8 !important;
}

/* Keep the gold hover glow */
.team-member:hover{
  border-color: #FFD700 !important;
  box-shadow: 0 12px 28px rgba(255,215,0,.25),
              0 0 0 2px rgba(255,215,0,.25) inset !important;
  transform: translateY(-2px);
}

/* Cards that previously had colored backgrounds—neutralize them */
.node-root .team-member,
.c-suite-row .team-member,
.marketing-lead, .pr-lead,
.photo-head, .video-head,
.pa-center .team-member{
  background: transparent !important;
  border-color: rgba(255,255,255,.18) !important;
}

/* Photos keep a subtle frame (can tweak or remove) */
.member-photo img{
  border-color: rgba(255,255,255,.25) !important;
}

/* Optional: brighter names for contrast on the dark page */
.team-member strong{ color:#fff !important; }
.team-member small{ color:rgba(255,255,255,.85) !important; }

/* CEO connector: start the line AFTER the card, so transparency never shows it */
.node-root .team-member{
  position: relative;
  z-index: 3;                    /* card above everything */
}

/* vertical stem — anchored to the bottom edge of the card (outside it) */
.node-root .team-member::after{
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(100% + 12px);        /* ⬅️ starts below the card; no overlap */
  width: 2px;
  height: 36px;                  /* stem length */
  background: #6e6e6e;
  z-index: 1;                    /* behind other bits */
}

/* small anchor dot for a neat join (also outside the card) */
.node-root .team-member::before{
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(100% + 4px);         /* sits just above the stem */
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #6e6e6e;
  z-index: 2;
}

/* keep a little breathing room under CEO so the line never crowds the card */
.node-root { margin-bottom: 22px; }

/* Remove any connector line attached to the CEO card */
.team-tree .node-root > .team-member.ceo::before,
.team-tree .node-root > .team-member.ceo::after{
  content: none !important;
  display: none !important;
}

/* Also remove the vertical spine that usually runs from CEO down to the C-suite */
.team-tree .node-top-tier-container::after{
  content: none !important;
  display: none !important;
}

/* (Optional) keep the spacing pleasant after removing the spine */
.team-tree .node-top-tier-container{
  margin-top: 12px; /* tweak to taste */
}

.tab.tab-2 .image.fit {
  height: 400px;
  overflow: hidden;
  border-radius: 12px;
}

.tab.tab-2 .image.fit img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

/* Optional: subtle zoom on hover */
.tab.tab-2 .image.fit:hover img {
  transform: scale(1.05);
}
/* for the wedding banner picture changeged to banners */

#bannersss{
  display:flex; align-items:center; justify-content:center; text-align:center;
  padding:8em 0 6em 0; background-image:url("../../images/bannersss.jpg"); background-position:center; background-size:cover; background-repeat:no-repeat;
  border-top:0; min-height:100vh; height:100vh!important; position:relative; overflow:hidden; color:#ffffff;
}
#bannersss .inner{ transform:scale(1.0); transition:opacity 1s ease, transform 1s ease; opacity:1; position:relative; z-index:2; }
#bannersss h1{ font-size:4em; margin-bottom:.25em; color:#ffffff; }
#bannersss p{ color:rgba(255,255,255,.85); font-size:1.5em; }

/* keep your video behind overlay */
#bannersss video{
  transform:translateX(50%) translateY(50%); position:absolute; bottom:50%; right:50%;
  width:auto; height:auto; min-width:100%; min-height:100%; overflow:hidden; z-index:-100 !important;
}
#bannersss:before{
  transition:opacity 3s ease 1.25s; content:''; display:block; background-color:rgba(0,0,0,.55);
  height:100%; left:0; opacity:.55; position:absolute; top:0; width:100%; z-index:0 !important;
}

@media screen and (max-width:736px){
  #bannersss{ min-height:0; height:auto!important; padding:4em 2em; }
  #bannersss .inner{ width:100%; }
  #bannersss h1{ font-size:1.75em; margin-bottom:.5em; padding-bottom:0; }
  #bannersss p{ font-size:1.25em; }
  #bannersss br{ display:none; }
  #bannersss .button{ width:100%; }
}
@media screen and (max-width:480px){ #bannersss p{ font-size:1em; } }
body.is-loading #bannersss .inner{ transform:none; opacity:1; }
body.is-loading #bannersss:before{ opacity:.55; }

/* ======================================================
   ENCLAVE PREMIUM REFRESH
====================================================== */

:root{
  --enclave-bg:#050505;
  --enclave-bg-soft:#0d0d0d;
  --enclave-surface:#111111;
  --enclave-surface-strong:#171717;
  --enclave-surface-glass:rgba(18,18,18,.72);
  --enclave-border:rgba(255,215,0,.18);
  --enclave-border-strong:rgba(255,215,0,.34);
  --enclave-text:#f4efe3;
  --enclave-muted:#c9bfa4;
  --enclave-muted-soft:#998a69;
  --enclave-gold:#d4af37;
  --enclave-gold-bright:#f6d76b;
  --enclave-shadow:0 28px 80px rgba(0,0,0,.42);
  --enclave-shadow-soft:0 18px 40px rgba(0,0,0,.28);
  --enclave-radius:24px;
  --enclave-radius-sm:16px;
}

html{
  scroll-behavior:smooth;
  background:
    radial-gradient(circle at top, rgba(212,175,55,.12), transparent 34%),
    radial-gradient(circle at 85% 15%, rgba(212,175,55,.08), transparent 22%),
    linear-gradient(180deg, #090909 0%, #050505 40%, #020202 100%);
  overflow-x:hidden;
}

body{
  background:
    radial-gradient(circle at top, rgba(212,175,55,.12), transparent 34%),
    radial-gradient(circle at 85% 15%, rgba(212,175,55,.08), transparent 22%),
    linear-gradient(180deg, #090909 0%, #050505 40%, #020202 100%);
  color:var(--enclave-text);
  font-family:"Manrope","Signika",sans-serif;
  letter-spacing:.01em;
  overflow-x:hidden;
}

body, input, select, textarea{
  font-family:"Manrope","Signika",sans-serif;
  color:var(--enclave-text);
}

h1,h2,h3,h4,h5,h6{
  color:#fff8eb;
  font-family:"Cormorant Garamond",serif;
  font-weight:600;
  letter-spacing:.015em;
  line-height:1.08;
}

h2{
  font-size:clamp(2.3rem,4vw,4.5rem);
}

h3{
  font-size:clamp(1.65rem,2.1vw,2.4rem);
}

p, li, label{
  color:var(--enclave-text);
}

header p,
.wrapper.style1 header p,
.wrapper.style2 header p,
.video .caption,
#footer .copyright,
.copyright{
  color:rgba(244,239,227,.72) !important;
}

a{
  color:var(--enclave-gold);
}

a:hover{
  color:var(--enclave-gold-bright);
}

strong,b{
  color:#fff7dc;
}

::selection{
  background:rgba(212,175,55,.32);
  color:#fff;
}

#header{
  height:72px;
  line-height:72px;
  background:rgba(5,5,5,.72) !important;
  border-bottom:1px solid rgba(255,255,255,.07);
  box-shadow:0 18px 45px rgba(0,0,0,.18);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
  backdrop-filter:blur(18px) saturate(130%);
}

body{
  padding-top:72px;
}

#header > h1.site-logo{
  left:1.75rem;
}

#header > h1.site-logo a{
  display:flex;
  align-items:center;
  min-height:72px;
}

#header > h1.site-logo img{
  max-height:42px;
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.35));
}

#header > a{
  color:rgba(255,248,235,.82);
  font-size:.88rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

#header > a[href="#menu"]:before{
  color:var(--enclave-gold);
}

#menu{
  background:
    linear-gradient(180deg, rgba(20,20,20,.98) 0%, rgba(6,6,6,.98) 100%);
  border-left:1px solid rgba(255,255,255,.08);
  box-shadow:-28px 0 60px rgba(0,0,0,.45);
}

#menu > ul.links > li > a:not(.button){
  border-top:1px solid rgba(255,255,255,.08);
  color:rgba(255,248,235,.84);
  font-weight:600;
  letter-spacing:.04em;
}

#menu > ul.links > li > a:not(.button):hover{
  color:#fff;
}

#banner,
#bannersss{
  min-height:calc(100vh - 72px);
  padding:9rem 1.5rem 7rem;
}

#banner:before,
#bannersss:before{
  background:
    linear-gradient(180deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.38) 34%, rgba(0,0,0,.72) 100%),
    linear-gradient(135deg, rgba(212,175,55,.18), transparent 35%);
  opacity:1 !important;
}

#banner:after,
#bannersss:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at center, rgba(255,255,255,.06) 0%, transparent 42%),
    linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
  opacity:.35;
  z-index:1;
  pointer-events:none;
}

#banner .inner,
#bannersss .inner{
  max-width:900px;
  padding:3rem 3rem 2.5rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:32px;
  background:linear-gradient(180deg, rgba(13,13,13,.58), rgba(13,13,13,.34));
  box-shadow:var(--enclave-shadow);
  backdrop-filter:blur(10px);
}

#banner h1,
#bannersss h1{
  font-size:clamp(3.2rem,7vw,6.5rem);
  margin-bottom:.3em;
  text-transform:none;
}

#banner p,
#bannersss p{
  max-width:720px;
  margin:0 auto 1.8rem;
  font-size:clamp(1.05rem,1.5vw,1.45rem);
  line-height:1.8;
  color:rgba(255,248,235,.88) !important;
}

.button,
button,
input[type="submit"],
input[type="button"],
input[type="reset"]{
  min-height:3.35rem;
  padding:.95rem 1.5rem !important;
  border-radius:999px !important;
  border:1px solid var(--enclave-border-strong) !important;
  background:linear-gradient(135deg, rgba(212,175,55,.16), rgba(212,175,55,.06)) !important;
  color:#fff5d8 !important;
  box-shadow:0 12px 30px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08);
  text-transform:uppercase;
  font-size:.84rem;
  letter-spacing:.18em;
}

.button.alt,
button.alt,
input[type="submit"].alt,
input[type="button"].alt,
input[type="reset"].alt{
  background:transparent !important;
  color:var(--enclave-gold-bright) !important;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover{
  background:linear-gradient(135deg, var(--enclave-gold-bright), var(--enclave-gold)) !important;
  color:#140f03 !important;
  box-shadow:0 18px 32px rgba(212,175,55,.22);
}

.wrapper{
  padding:7rem 0 5rem;
}

.wrapper:before{
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.7), rgba(0,0,0,.6)),
    url(../../images/bg.jpg);
  background-size:cover;
  background-position:center;
  opacity:.32;
}

.wrapper > .inner{
  width:min(1120px, 90%);
}

.wrapper.style1,
.wrapper.style2{
  background:transparent;
  color:var(--enclave-text);
}

.wrapper.style1 .inner,
.wrapper.style2 .inner{
  position:relative;
}

.wrapper.style1 .inner:before,
.wrapper.style2 .inner:before{
  content:"";
  position:absolute;
  inset:-1.5rem -1.5rem;
  border-radius:36px;
  border:1px solid rgba(255,255,255,.06);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  box-shadow:var(--enclave-shadow-soft);
  z-index:-1;
}

.video,
.box,
.tab,
.studio-section .video-wrapper,
.image-grid-item{
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02)) !important;
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--enclave-radius) !important;
  box-shadow:var(--enclave-shadow-soft);
  overflow:hidden;
}

.video,
.box,
.image-grid-item{
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.video:hover,
.box:hover,
.image-grid-item:hover{
  transform:translateY(-8px);
  border-color:var(--enclave-border-strong);
  box-shadow:0 28px 52px rgba(0,0,0,.34);
}

.video .image:after,
.image-grid-item:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 20%, rgba(0,0,0,.24) 100%);
  pointer-events:none;
}

.video .caption{
  padding:1.6rem 1.7rem 1.8rem;
  font-size:1.02rem;
  line-height:1.75;
}

.box{
  padding:2rem;
}

.box h3,
.video .caption strong{
  color:#fff8ea;
}

.flex.flex-2,
.flex.flex-3,
.flex.flex-4{
  gap:1.5rem;
}

.flex.flex-2 .col{
  width:calc(50% - .75rem);
}

.flex.flex-3 .col{
  width:calc(33.333% - 1rem);
}

.flex.flex-4 .col{
  width:calc(25% - 1.125rem);
}

ul.tab-list li a{
  padding:1rem 1.15rem;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  color:rgba(255,248,235,.76) !important;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.8rem;
}

ul.tab-list li a.active,
ul.tab-list li a:hover{
  background:linear-gradient(135deg, rgba(212,175,55,.95), rgba(246,215,107,.82));
  color:#140f03 !important;
  border-color:transparent;
}

input[type="text"],
input[type="password"],
input[type="email"],
select,
textarea{
  min-height:3.35rem;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
  color:#fff8ea;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}

textarea{
  min-height:10rem;
  padding:1rem 1.15rem;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
select:focus,
textarea:focus{
  border-color:var(--enclave-border-strong);
  box-shadow:0 0 0 4px rgba(212,175,55,.08);
}

.services-bg .align-center .button,
.btn-gold{
  background:linear-gradient(135deg, rgba(212,175,55,.16), rgba(212,175,55,.08)) !important;
}

.image-grid-container{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1.25rem !important;
}

.image-grid-item{
  position:relative;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
}

.image-grid-item img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  border-radius:inherit;
}

.studio-section,
.services-bg,
.about-hero{
  position:relative;
}

.studio-section .video-wrapper,
.video-wrapper{
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
}

.studio-section iframe,
.video-wrapper iframe{
  display:block;
}

#footer{
  padding:5rem 0 3rem;
  background:
    linear-gradient(180deg, rgba(16,16,16,.96), rgba(2,2,2,1)) !important;
  border-top:1px solid rgba(255,255,255,.07);
}

#footer > .inner{
  width:min(1120px,90%);
}

#footer h3{
  font-size:1.5rem;
  margin-bottom:.85rem;
}

#footer ul.alt li{
  border-top:1px solid rgba(255,255,255,.08);
}

ul.icons li .icon:before,
ul.icons li .icon i{
  color:var(--enclave-gold-bright);
  text-shadow:0 0 18px rgba(212,175,55,.18);
}

@media screen and (max-width:980px){
  body{
    padding-top:60px;
  }

  #header{
    height:60px;
    line-height:60px;
  }

  #header > h1.site-logo img{
    max-height:34px;
  }

  #banner,
  #bannersss{
    min-height:auto;
    height:auto !important;
    padding:7rem 1rem 4rem;
  }

  #banner .inner,
  #bannersss .inner{
    padding:2rem 1.25rem;
    border-radius:24px;
  }

  .flex.flex-2 .col,
  .flex.flex-3 .col,
  .flex.flex-4 .col,
  .image-grid-item{
    width:100% !important;
  }

  .wrapper{
    padding:4.5rem 0 3rem;
  }

  .wrapper.style1 .inner:before,
  .wrapper.style2 .inner:before{
    inset:-1rem -.65rem;
    border-radius:24px;
  }

  .why-choose-tabs{
    flex-wrap:wrap;
    gap:1rem;
  }

  .why-choose-tabs > .tab-list,
  .why-choose-tabs > .tabs{
    width:100%;
    flex:1 1 100%;
  }

  .why-choose-tabs > .tab-list{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:.7rem;
  }

  .why-choose-tabs > .tab-list li{
    margin:0;
  }

  .why-choose-tabs > .tab-list li a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:72px;
    margin:0;
    padding:.95rem .75rem;
    text-align:center;
  }

  .why-choose-points,
  .why-choose-steps{
    grid-template-columns:1fr;
  }

  .why-choose-tabs .tab.tab-2.active{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width:736px){
  h2{
    font-size:clamp(2rem,9vw,3rem);
  }

  #header > a{
    font-size:.76rem;
    letter-spacing:.12em;
  }

  .button,
  button,
  input[type="submit"],
  input[type="button"],
  input[type="reset"]{
    width:100%;
    white-space:normal;
  }

  .video .caption,
  .box{
    padding:1.35rem;
  }

  .why-choose-panel{
    padding:1.35rem;
    border-radius:22px;
  }

  .why-choose-tabs > .tab-list{
    flex:1 1 100%;
  }

  .why-choose-tabs > .tab-list li a{
    min-height:64px;
    padding:.85rem .55rem;
    text-align:center;
    font-size:.72rem;
    letter-spacing:.04em;
    line-height:1.25;
  }

  .why-choose-panel h3{
    font-size:clamp(1.5rem,7vw,2rem);
    line-height:1.15;
  }

  .why-choose-panel p,
  .why-choose-point p{
    line-height:1.65;
  }

  .why-choose-point{
    padding:1rem;
  }

  .why-choose-tabs .tab.tab-2.active{
    grid-template-columns:1fr;
    gap:.85rem;
  }

  .why-choose-tabs .tab.tab-2 .image.fit img{
    aspect-ratio:5/4;
  }

  .why-choose-panel--cta .button{
    width:100%;
    align-self:stretch;
  }
}

/* ======================================================
   ENCLAVE SHARED PAGE CLASSES
====================================================== */

.content-spacer-sm{
  margin-top:.5rem;
}

.content-spacer-lg{
  margin-top:2rem;
}

.full-width-col{
  width:100%;
}

.section-note{
  margin-top:1.5rem;
}

.section-note--center{
  text-align:center;
}

.section-note--large{
  margin-top:2.5rem;
}

.zero-margin{
  margin:0;
}

.premium-inline-cta{
  display:inline-flex;
}

.wide-video-wrapper{
  padding-bottom:38%;
}

.portfolio-hero-media{
  margin-bottom:2rem;
}

.portfolio-hero-media img{
  max-height:40vh;
  width:100%;
  object-fit:cover;
}

.portfolio-feature-image{
  max-width:100%;
  max-height:80vh;
  height:auto;
  display:block;
  margin:0 auto;
  object-fit:contain;
}

.portfolio-feature-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.9rem;
}

.portfolio-feature-actions li{
  padding:0 !important;
}

.portfolio-feature-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:3.45rem;
  padding:1rem 1.8rem !important;
  border-radius:16px !important;
  font-size:1rem !important;
  font-weight:800;
  letter-spacing:.04em;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}

.portfolio-feature-cta:before{
  margin-right:.2rem !important;
}

.training-cta{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:3.45rem;
  padding:1rem 1.75rem !important;
  border-radius:16px !important;
  font-size:1rem !important;
  font-weight:800 !important;
  letter-spacing:.04em;
  text-align:center;
  white-space:normal !important;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}

.application-submit{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:3.45rem;
  padding:1rem 1.75rem !important;
  border-radius:16px !important;
  font-size:1rem !important;
  font-weight:800 !important;
  letter-spacing:.04em;
  text-align:center;
  white-space:normal !important;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}

.section-premium-cta{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:3.45rem;
  padding:1rem 1.75rem !important;
  border-radius:16px !important;
  font-size:1rem !important;
  font-weight:800 !important;
  letter-spacing:.04em;
  text-align:center;
  white-space:normal !important;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}

#apply .full-width-col{
  width:100%;
  padding:1.6rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.018));
  box-shadow:var(--enclave-shadow-soft);
}

#apply .full-width-col > h3{
  margin-bottom:1rem;
}

#apply .tab-list{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.85rem;
  margin:0 0 1.35rem 0;
  padding:0;
}

#apply .tab-list li{
  margin:0;
  padding:0;
}

#apply .tab-list li a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:3.2rem;
  margin:0;
  text-align:center;
}

#apply label{
  margin-bottom:.6rem;
  color:#fff4df;
}

#apply .row.uniform{
  margin-top:-1.3rem;
  margin-left:-1.3rem;
}

#apply .row.uniform > *{
  padding-top:1.3rem;
  padding-left:1.3rem;
}

#apply input[type="checkbox"] + label{
  display:inline-block;
  max-width:46rem;
  line-height:1.5;
}

.portfolio-video-shell{
  max-height:50vh;
  display:flex;
  justify-content:center;
  align-items:center;
}

.portfolio-video-shell video{
  width:100%;
  height:100%;
  object-fit:contain;
  position:relative;
  top:auto;
  left:auto;
  transform:none;
}

.showcase-card-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1.5rem;
  align-items:start;
}

.showcase-card{
  display:flex;
  flex-direction:column;
  gap:.9rem;
}

.showcase-card .video,
.showcase-card .image.fit{
  margin:0;
}

.showcase-card .video-wrapper,
.showcase-card .image.fit{
  border-radius:22px;
  overflow:hidden;
}

.showcase-card .image.fit img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
}

.showcase-card .actions{
  margin-top:auto;
}

.showcase-card .actions li{
  width:100%;
}

.showcase-card .button{
  width:100%;
  justify-content:center;
}

.package-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1.5rem;
  align-items:stretch;
}

.package-card{
  min-width:0;
}

.package-card .box{
  height:100%;
  display:flex;
  flex-direction:column;
  gap:.95rem;
  padding:1.75rem;
}

.package-card .box strong{
  display:block;
  font-size:1.9rem;
  line-height:1.1;
  color:#fff8ea;
}

.package-card .box ul.alt{
  margin-bottom:0;
}

.package-card .box .button{
  margin-top:auto;
  width:100%;
  justify-content:center;
}

.portfolio-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1.25rem;
}

.portfolio-gallery-item{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}

.portfolio-gallery-item img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}

.portfolio-gallery-item:hover img,
.portfolio-gallery-item:focus-within img{
  transform:scale(1.04);
}

.gallery-two-up{
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:.45rem !important;
  align-items:stretch;
}

.gallery-two-up .image-grid-item{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  justify-self:stretch !important;
}

.gallery-two-up .image-grid-item img{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  display:block;
}

#photography .gallery-two-up .image-grid-item{
  width:100% !important;
  max-width:none !important;
}

.why-choose-section .inner{
  overflow:hidden;
}

.why-choose-tabs{
  align-items:stretch;
  gap:1.5rem;
}

.why-choose-tabs > .tab-list{
  width:240px;
  flex:0 0 240px;
  margin:0;
}

.why-choose-tabs > .tabs{
  width:auto;
  flex:1 1 0;
  min-width:0;
}

.why-choose-tabs .tab{
  display:none;
}

.why-choose-tabs .tab.active{
  display:block;
}

.why-choose-panel{
  min-height:100%;
  padding:2rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.018));
  box-shadow:var(--enclave-shadow-soft);
}

.why-choose-copy{
  max-width:760px;
}

.why-choose-eyebrow{
  display:inline-block;
  margin-bottom:.9rem;
  padding:.4rem .8rem;
  border-radius:999px;
  border:1px solid rgba(212,175,55,.24);
  background:rgba(212,175,55,.08);
  color:var(--enclave-gold-bright);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.why-choose-panel h3{
  margin-bottom:.55rem;
  font-size:clamp(2rem,3.2vw,3rem);
}

.why-choose-panel p{
  margin-bottom:0;
  max-width:62ch;
  line-height:1.85;
}

.why-choose-points{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
  margin-top:1.5rem;
}

.why-choose-point{
  min-width:0;
  padding:1.15rem 1.1rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  background:rgba(0,0,0,.22);
}

.why-choose-point strong{
  display:block;
  margin-bottom:.55rem;
  font-size:1rem;
}

.why-choose-point p{
  font-size:.97rem;
  line-height:1.75;
}

.why-choose-tabs .tab.tab-2.active{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
}

.why-choose-tabs .tab.tab-2 .col{
  width:auto !important;
  min-width:0;
}

.why-choose-tabs .tab.tab-2 .video{
  height:100%;
}

.why-choose-tabs .tab.tab-2 .image.fit{
  margin:0;
}

.why-choose-tabs .tab.tab-2 .image.fit img{
  aspect-ratio:4/5;
  object-fit:cover;
  display:block;
}

.why-choose-panel--cta{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}

.why-choose-steps{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.9rem;
}

.why-step{
  padding:1rem 1.1rem;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.22);
}

.why-step strong{
  display:block;
  margin-bottom:.35rem;
  color:var(--enclave-gold-bright);
  font-size:1.35rem;
}

.why-step span{
  display:block;
  color:#fff8ea;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:.82rem;
}

.why-choose-panel--cta .button{
  width:auto;
  align-self:flex-start;
}

.studio-section--plain{
  background:transparent;
}

.studio-section__inner{
  max-width:960px;
  margin:0 auto;
  text-align:center;
  padding:60px 0;
}

.studio-section__header{
  margin-bottom:20px;
}

.studio-section__title{
  margin:0;
  font-size:1.8rem;
  color:#fff;
}

.studio-section__copy{
  margin:8px 0 20px;
  color:#ccc;
}

.studio-section__frame{
  width:100%;
  overflow:hidden;
}

.studio-section__iframe{
  width:100%;
  height:380px;
  display:block;
  border:none;
}

.wrapper.style1.services-bg.training-hero::before{
  opacity:.45 !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,.60) 0%, rgba(0,0,0,.40) 100%),
    url("../../images/content_catalyst.jpg") !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}

.contact-select{
  color:#333 !important;
  background-color:#f7f7f7 !important;
}

.contact-select option{
  color:#333;
}

.map-note{
  margin-top:1em;
  font-size:.9em;
}

.map-embed{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  box-shadow:var(--enclave-shadow-soft);
  min-height:360px;
}

.map-embed iframe{
  display:block;
  width:100%;
  height:360px;
  border:0;
}

.map-actions{
  margin-top:1rem;
}

.team-page .wrapper{
  padding:4em 0;
}

.team-page .inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 2em;
}

.team-page .align-center{
  text-align:center;
  margin-bottom:3em;
}

.team-tree{
  display:flex;
  flex-direction:column;
  align-items:center;
  position:relative;
  padding:30px 0 60px;
}

.directors-row{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:20px;
  margin-bottom:20px;
}

.team-member{
  background:#0b0f10;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:12px 12px 14px;
  margin:10px;
  text-align:center;
  box-shadow:0 10px 24px rgba(0,0,0,.45);
  width:200px;
  min-height:140px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transition:transform .18s ease, box-shadow .25s ease, border-color .25s ease;
}

.team-member:hover{
  transform:translateY(-2px);
  border-color:#FFD700;
  box-shadow:0 12px 28px rgba(255,215,0,.25), 0 0 0 2px rgba(255,215,0,.25) inset;
}

.member-photo{
  margin-bottom:8px;
}

.member-photo img{
  width:120px;
  height:160px;
  border-radius:12px;
  object-fit:cover;
  border:3px solid rgba(255,255,255,.08);
  background:#111;
}

.team-member strong{
  display:block;
  font-size:1.05em;
  font-weight:700;
  margin-top:6px;
  color:#fff;
}

.team-member small{
  display:block;
  font-size:.8em;
  color:rgba(255,255,255,.8);
  line-height:1.2;
}

.node-root{
  z-index:10;
  margin-bottom:10px;
}

.node-root .team-member{
  background:#07352f;
  border-color:#0a5a50;
}

.node-root .member-photo img{
  width:140px;
  height:140px;
  border-radius:16px;
  border-color:#66bb6a;
}

.node-top-tier-container{
  width:92%;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  position:relative;
  margin-top:14px;
}

.c-suite-row{
  display:flex;
  justify-content:space-between;
  width:100%;
  gap:28px;
  padding-top:28px;
}

.c-suite-row .team-member{
  background:#0a3f39;
  border-color:#0e6a5f;
}

.c-suite-row .member-photo img{
  border-color:#80cbc4;
}

.pa-center{
  position:relative;
  display:flex;
  justify-content:center;
  margin:36px 0 46px;
  z-index:5;
}

.pa-center .team-member{
  background:transparent;
  border:1px solid #7986cb;
  box-shadow:none;
  color:#e8e8e8;
}

.pa-center .member-photo img{
  border-color:#7986cb;
}

.node-functional-tier{
  position:relative;
  display:flex;
  justify-content:space-around;
  width:86%;
  gap:28px;
  margin:18px auto 0;
}

.marketing-lead,
.pr-lead{
  background:#113453;
  border-color:#1e88e5;
}

.marketing-lead .member-photo img,
.pr-lead .member-photo img{
  border-color:#64b5f6;
}

.photo-head,
.video-head{
  background:#0f3b1e;
  border-color:#43a047;
}

.photo-head .member-photo img,
.video-head .member-photo img{
  border-color:#81c784;
}

.node-root .team-member::after{
  content:"";
  position:absolute;
  bottom:-40px;
  left:50%;
  width:2px;
  height:40px;
  background:#666;
  transform:translateX(-50%);
  z-index:5;
}

.node-top-tier-container::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:2px;
  background:#666;
  z-index:4;
}

.c-suite-row .team-member::before{
  content:"";
  position:absolute;
  top:-24px;
  left:50%;
  width:2px;
  height:24px;
  background:#666;
  transform:translateX(-50%);
  z-index:6;
}

.node-top-tier-container::after{
  content:"";
  position:absolute;
  top:-95px;
  left:50%;
  width:2px;
  height:95px;
  background:#666;
  transform:translateX(-50%);
  z-index:4;
}

.pa-center::before{
  content:"";
  position:absolute;
  top:-34px;
  left:50%;
  width:2px;
  height:34px;
  background:#666;
  transform:translateX(-50%);
  z-index:4;
}

.pa-center::after{
  content:"";
  position:absolute;
  bottom:-42px;
  left:50%;
  width:2px;
  height:42px;
  background:#666;
  transform:translateX(-50%);
  z-index:4;
}

.node-functional-tier::before{
  content:"";
  position:absolute;
  top:-22px;
  left:0;
  width:100%;
  height:2px;
  background:#666;
  z-index:4;
}

.node-functional-tier .team-member::before{
  content:"";
  position:absolute;
  top:-22px;
  left:50%;
  width:2px;
  height:22px;
  background:#666;
  transform:translateX(-50%);
  z-index:6;
}

.pa-wrapper{
  display:none !important;
}

.success-page .thankyou-box{
  max-width:720px;
  margin:6em auto;
  padding:2.8em;
  border-radius:20px;
  background:rgba(255,255,255,.05);
  box-shadow:0 8px 20px rgba(0,0,0,.4);
  text-align:center;
}

.success-page .thankyou-box h2{
  font-size:2rem;
  font-weight:700;
  margin-bottom:.6em;
}

.success-page .thankyou-box h3{
  color:#d4af37;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:1em;
  font-size:1.2rem;
}

.success-page .thankyou-box p{
  font-size:1.1rem;
  line-height:1.6;
}

.success-urgent-note{
  margin-top:1em;
  font-style:italic;
  color:#aaa;
}

.success-phone,
.developer-link{
  color:#d4af37;
}

.timestamp{
  margin-top:1.2em;
  font-size:.95rem;
  color:#888;
  font-style:italic;
}

.thankyou-box .buttons{
  margin-top:2em;
}

.thankyou-box .button{
  margin:.5em;
}

.detail-media-card{
  max-width:960px;
  margin:0 auto;
}

.detail-media-grid{
  margin-top:2em;
}

.reception-gallery{
  align-items:stretch;
}

.reception-gallery__item{
  min-width:0;
}

.reception-gallery .image.fit{
  margin:0;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 18px 38px rgba(0,0,0,.22);
}

.reception-gallery .image.fit img{
  display:block;
  width:100%;
  aspect-ratio:4 / 5;
  object-fit:cover;
}

.weddings-hero__cta{
  min-height:3.5rem;
  padding:1rem 1.7rem !important;
  border-radius:16px !important;
  font-size:1rem !important;
  font-weight:800;
  letter-spacing:.04em;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}

@media (max-width:980px){
  .showcase-card-grid,
  .package-grid,
  .portfolio-gallery-grid,
  .image-grid-container{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .member-photo img{
    width:110px;
    height:145px;
  }

  .node-root .member-photo img{
    width:130px;
    height:130px;
  }

  .c-suite-row{
    gap:16px;
  }

  .node-functional-tier{
    gap:18px;
  }

  .node-root .team-member::after,
  .node-top-tier-container::before,
  .c-suite-row .team-member::before,
  .node-top-tier-container::after,
  .pa-center::before,
  .pa-center::after,
  .node-functional-tier::before,
  .node-functional-tier .team-member::before{
    display:none !important;
  }

  .team-page .inner{
    padding:0 1.35rem;
  }

  .team-tree{
    padding:20px 0 32px;
    align-items:stretch;
  }

  .node-root,
  .node-top-tier-container,
  .pa-center,
  .node-functional-tier,
  .directors-row,
  .c-suite-row{
    width:100%;
  }

  .node-root{
    display:flex;
    justify-content:center;
    margin-bottom:18px;
  }

  .directors-row,
  .c-suite-row,
  .node-functional-tier{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
    justify-content:stretch;
  }

  .team-page .team-member{
    width:100%;
    max-width:none;
    min-height:0;
    margin:0;
    padding:14px 12px 16px;
  }

  .node-root .team-member{
    width:min(100%, 340px);
  }

  .pa-center{
    margin:22px 0 26px;
  }
}

@media (max-width:736px){
  .showcase-card-grid,
  .package-grid,
  .portfolio-gallery-grid,
  .image-grid-container{
    grid-template-columns:1fr;
  }

  .gallery-two-up{
    grid-template-columns:1fr !important;
  }

  .studio-section__inner{
    padding:30px 0;
  }

  .studio-section__iframe{
    height:260px;
  }

  .wide-video-wrapper{
    padding-bottom:56.25%;
  }

  .portfolio-feature-actions{
    gap:.75rem;
  }

  .portfolio-feature-actions li{
    width:100%;
  }

  .portfolio-feature-cta{
    width:100%;
    min-height:3.25rem;
    padding:.95rem 1.35rem !important;
    font-size:.94rem !important;
  }

  .training-cta{
    width:100%;
    min-height:3.3rem;
    padding:.95rem 1.2rem !important;
    font-size:.93rem !important;
    line-height:1.3;
    letter-spacing:.06em;
  }

  .application-submit{
    width:100%;
    min-height:3.3rem;
    padding:.95rem 1.2rem !important;
    font-size:.93rem !important;
    line-height:1.3;
    letter-spacing:.06em;
  }

  .section-premium-cta{
    width:100%;
    min-height:3.3rem;
    padding:.95rem 1.2rem !important;
    font-size:.93rem !important;
    line-height:1.3;
    letter-spacing:.06em;
  }

  #apply .full-width-col{
    padding:1.3rem;
    border-radius:20px;
  }

  #apply .tab-list{
    gap:.7rem;
  }

  #apply .tab-list li a{
    min-height:3.05rem;
    padding:.9rem .7rem;
    font-size:.78rem;
  }

  .weddings-hero__cta{
    width:auto !important;
    max-width:22rem;
    margin:1.4rem auto 0;
    padding:1rem 1.4rem !important;
    font-size:.98rem !important;
    text-align:center;
  }

  .success-page .thankyou-box{
    margin:2em auto;
    padding:1.6em;
  }

  .map-embed,
  .map-embed iframe{
    min-height:300px;
    height:300px;
  }

  .reception-gallery{
    justify-content:center;
  }

  .reception-gallery__item{
    width:100% !important;
  }

  .reception-gallery .image.fit{
    max-width:420px;
    margin:0 auto 1rem;
    border-radius:18px;
  }

  .reception-gallery .image.fit img{
    aspect-ratio:5 / 4;
  }

  .team-page .wrapper{
    padding:3rem 0 2.5rem;
  }

  .team-page .inner{
    padding:0 1rem;
  }

  .team-page .align-center{
    margin-bottom:2rem;
  }

  .directors-row,
  .c-suite-row,
  .node-functional-tier{
    grid-template-columns:1fr;
    gap:14px;
  }

  .team-page .team-member{
    border-radius:16px;
    padding:14px 12px 16px;
  }

  .team-page .member-photo img{
    width:108px;
    height:132px;
  }

  .team-page .node-root .member-photo img{
    width:124px;
    height:124px;
  }

  .team-page .team-member strong{
    font-size:1rem;
  }

  .team-page .team-member small{
    font-size:.83rem;
    line-height:1.35;
  }

  .pa-center{
    margin:18px 0 22px;
  }
}

@media screen and (max-width:736px){
  .why-choose-tabs{
    display:block !important;
    width:100% !important;
  }

  .why-choose-tabs > .tab-list,
  .why-choose-tabs > .tabs{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    flex:none !important;
  }

  .why-choose-tabs > .tab-list{
    margin:0 0 1rem 0 !important;
    padding:0 !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }

  .why-choose-tabs > .tabs{
    margin-top:0 !important;
  }

  .why-choose-tabs .tab{
    width:100% !important;
    min-width:0 !important;
  }

  .why-choose-tabs .tab.active{
    display:block !important;
  }

  .why-choose-tabs .tab.tab-2.active{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.85rem !important;
  }

  .why-choose-panel{
    width:100% !important;
    min-width:0 !important;
  }

  .why-choose-copy,
  .why-choose-panel p{
    max-width:none !important;
  }

  .why-choose-panel{
    padding:1.2rem !important;
  }

  .why-choose-panel h3{
    margin-bottom:.7rem !important;
    font-size:clamp(1.45rem, 6.5vw, 1.95rem) !important;
    line-height:1.08 !important;
  }

  .why-choose-panel p{
    font-size:.95rem !important;
    line-height:1.7 !important;
  }

  .why-choose-points{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.75rem !important;
    margin-top:1rem !important;
  }

  .why-choose-point{
    padding:.95rem 1rem !important;
    border-radius:16px !important;
  }

  .why-choose-point strong{
    margin-bottom:.35rem !important;
    font-size:.95rem !important;
    line-height:1.25 !important;
  }

  .why-choose-point p{
    font-size:.88rem !important;
    line-height:1.55 !important;
  }

  .why-choose-panel--cta{
    gap:1.15rem !important;
  }

  .why-choose-panel--cta .why-choose-copy{
    display:grid;
    gap:.7rem;
  }

  .why-choose-panel--cta .why-choose-copy p{
    margin-top:0;
  }

  .why-choose-steps{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:.55rem !important;
  }

  .why-step{
    min-height:82px;
    padding:.8rem .45rem !important;
    border-radius:16px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
  }

  .why-step strong{
    margin-bottom:.22rem;
    font-size:1.12rem;
    line-height:1;
  }

  .why-step span{
    font-size:.56rem;
    line-height:1.2;
    letter-spacing:.02em;
    text-wrap:balance;
  }

  .why-choose-panel--cta .button{
    width:auto !important;
    min-width:9.5rem;
    align-self:flex-start !important;
    padding:.82rem 1.15rem !important;
    font-size:.72rem !important;
    letter-spacing:.18em;
  }

  #apply .full-width-col{
    padding:1.05rem !important;
    border-radius:18px !important;
  }

  #apply .tab-list{
    grid-template-columns:1fr !important;
    gap:.6rem !important;
    margin-bottom:1rem !important;
  }

  #apply .tab-list li a{
    min-height:3rem !important;
    padding:.82rem .9rem !important;
    font-size:.76rem !important;
    letter-spacing:.05em !important;
  }

  #apply .full-width-col > h3{
    margin-bottom:.85rem;
    font-size:1.45rem;
  }

  #apply label{
    font-size:.88rem;
  }

  #apply .row.uniform{
    margin-top:-.95rem !important;
    margin-left:-.95rem !important;
  }

  #apply .row.uniform > *{
    padding-top:.95rem !important;
    padding-left:.95rem !important;
  }

  #apply .row.uniform .\33 u,
  #apply .row.uniform .\34 u,
  #apply .row.uniform .\36 u,
  #apply .row.uniform .\31 2u,
  #apply .row.uniform [class*="12u$("],
  #apply .row.uniform [class*="6u "],
  #apply .row.uniform [class*="4u "],
  #apply .row.uniform [class*="3u "]{
    width:100% !important;
  }

  #apply input[type="text"],
  #apply input[type="email"],
  #apply input[type="url"],
  #apply select,
  #apply textarea,
  #apply input[type="file"]{
    border-radius:16px;
    min-height:3.15rem;
    font-size:.95rem;
  }

  #apply textarea{
    min-height:8.75rem;
    padding:1rem;
  }

  #apply input[type="file"]{
    padding:.75rem .85rem;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.1);
    color:#fff8ea;
  }

  #apply input[type="file"]::file-selector-button{
    margin-right:.8rem;
    padding:.65rem .9rem;
    border:0;
    border-radius:12px;
    background:linear-gradient(135deg, rgba(212,175,55,.95), rgba(246,215,107,.82));
    color:#140f03;
    font-weight:800;
    cursor:pointer;
  }

  #apply input[type="checkbox"] + label{
    display:block;
    max-width:none;
    padding-left:2.1rem;
    line-height:1.45;
    font-size:.82rem;
  }
}

/* ======================================================
   FINAL MOBILE RESPONSIVENESS OVERRIDES
====================================================== */

@media screen and (max-width: 736px) {
    /* 1. Reset Global Containers */
    .inner, .container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 1.5em !important;
        margin: 0 auto !important;
    }

    /* 2. Force Skel Grid Columns to Stack */
    /* This targets the encoded classes like .6u, .4u, etc. */
    [class*="u"] {
        width: 100% !important;
        float: none !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
        padding-top: 20px !important;
    }

    /* 3. Fix Flexbox Helpers */
    .flex {
        display: block !important;
    }

    .flex .col, .flex .video {
        width: 100% !important;
        margin: 0 0 2em 0 !important;
    }

    /* 4. "Why Choose Us" Tabs - Stack the layout */
    .why-choose-tabs {
        display: flex;
        flex-direction: column !important;
    }

    .tab-list {
        width: 100% !important;
        margin-bottom: 1.5em !important;
        text-align: center;
    }

    .why-choose-panel {
        display: flex;
        flex-direction: column !important;
        padding: 1.5em !important;
    }

    .why-choose-copy, .why-choose-points, .why-choose-steps {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 0 1.5em 0 !important;
    }

    /* 5. Center align headers */
    header.align-center {
        text-align: center !important;
        margin-bottom: 2em !important;
    }

    /* 6. Footer Layout */
    #footer .flex {
        display: flex !important;
        flex-direction: column !important;
    }

    #footer .col {
        width: 100% !important;
        margin-bottom: 2em !important;
        text-align: center;
    }

    #footer .icons {
        justify-content: center;
        display: flex;
        flex-wrap: wrap;
    }

    /* 7. Buttons and Actions */
    ul.actions {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    ul.actions li {
        width: 100% !important;
        padding: 0.5em 0 !important;
    }

    .button {
        width: 100% !important;
        display: block;
    }
}

html {
    background-color: #1a1a1a !important; /* Use your specific dark background hex here */
}

body {
    background-color: #1a1a1a;
}


/* FORCE MOBILE COLLAPSE - OVERRIDING SKEL.JS */
@media screen and (max-width: 980px) {
    /* Target the specific row using a wildcard to avoid the % character issue */
    #main div[class*="row"] {
        display: flex !important;
        flex-direction: column !important;
        margin-left: 0 !important;
        width: 100% !important;
    }

    /* Force all grid units (6u, 12u, etc) to stack */
    #main div[class*="u"] {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
        float: none !important;
        margin-bottom: 2em;
    }

    /* Ensure form fields don't overflow the screen */
    #main input, #main select, #main textarea {
        width: 100% !important;
        box-sizing: border-box !important;
    }
}