
@font-face {
    font-family: 'Auliare';
    src: url('../fonts/Auliare-Regular.woff2') format('woff2'),
        url('../fonts/Auliare-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Palmer Lake Print';
    src: url('../fonts/PalmerLakePrint-Regular.woff2') format('woff2'),
        url('../fonts/PalmerLakePrint-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Libre Baskerville';
    src: url('../fonts/LibreBaskerville-Italic.woff2') format('woff2'),
        url('../fonts/LibreBaskerville-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Libre Baskerville';
    src: url('../fonts/LibreBaskerville-Regular.woff2') format('woff2'),
        url('../fonts/LibreBaskerville-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}



img.aligncenter{margin:auto;display: block}
/* Breakpoints as CSS vars */
:root{ --bp-sm: 600px; --bp-md: 900px; --bp-lg: 1200px; }

/* Spacing utilities */
.mt-0{margin-top:0}.mb-0{margin-bottom:0}.pt-0{padding-top:0}.pb-0{padding-bottom:0}
.mt-8{margin-top:8px}.mb-8{margin-bottom:8px}.pt-8{padding-top:8px}.pb-8{padding-bottom:8px}
.mt-16{margin-top:16px}.mb-16{margin-bottom:16px}.pt-16{padding-top:16px}.pb-16{padding-bottom:16px}
.mt-24{margin-top:24px}.mb-24{margin-bottom:24px}.pt-24{padding-top:24px}.pb-24{padding-bottom:24px}
.mt-32{margin-top:32px}.mb-32{margin-bottom:32px}.pt-32{padding-top:32px}.pb-32{padding-bottom:32px}
.mt-40{margin-top:40px}.mb-40{margin-bottom:40px}.pt-40{padding-top:40px}.pb-40{padding-bottom:40px}
.mt-64{margin-top:64px}.mb-64{margin-bottom:64px}.pt-64{padding-top:64px}.pb-64{padding-bottom:64px}

/* Skip link */
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-link:focus{left:12px;top:12px;width:auto;height:auto;z-index:1000;background:#000;color:#fff;padding:.5rem .75rem;border-radius:6px;}


/* Font stacks driven by Site Options */
:root{
  --font-head: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-ui:   "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  
  --gold : #c59050;
  --purple : #351b32;
  --body : #000000;
}
body{ font-family: var(--font-body); line-height: 1.6;margin:0;}
h1,h2,h3,h4,h5,h6{ font-family: var(--font-head); font-weight:500; letter-spacing:-0.025rem;color:#00364c; color:var(--gold)}
h3{letter-spacing:unset;}
button, input, select, textarea, .btn, nav, .menu-toggle{ font-family: var(--font-ui); }
a{color:inherit;text-decoration: none;}
p, section ul{margin-bottom:1.6rem;letter-spacing: -0.01rem;}


[hidden] {
  display: none !important;
}
.sep{margin:0 5px}

.bt{border-top:2px solid #E5DFEE;}

img{height:auto;max-width: 100%}

:root{--pad-tiny:15px;--pad-small:40px;--pad-medium:80px;--pad-large:120px;--block-bg:#ede3d1;--block-fg:#111111;--block-accent:#0aa7b8;--btn-bg:var(--block-fg);--btn-fg:var(--block-bg)}
:root{--fs-900:clamp(28px, 5vw + 1rem, 40px);--fs-800:clamp(18px, 4vw + 0.25rem, 28px);--fs-700:clamp(23px, 2vw + 0.25rem, 26px);--fs-600: clamp(17.5px, 0.9vw + 0.85rem, 19px);
--fs-500:clamp(1.125rem,.6vw+.85rem,1.5rem);--fs-400:1rem}
h1{font-size:var(--fs-900);line-height:1.3;margin:.2em 0 1.6rem;}h2{font-size:var(--fs-800);line-height:1.43;margin:.25em 0 1em}

h3{font-size:var(--fs-700);line-height:1.4;margin:.4em 0 0.6em;letter-spacing: -0.03rem;}
h4{font-size:var(--fs-600);line-height: 1.45;margin:.5em 0 .7em}h5{font-size:var(--fs-500);line-height:1.35;margin:.6em 0 .8em}h6{font-size:var(--fs-400);line-height:1.4;margin:.6em 0 .8em}
section, #header li{background:var(--block-bg);color:var(--block-fg);background-repeat: no-repeat;background-size:cover;background-blend-mode: screen;}



section ul:not([class]){
  list-style: none;
  margin: 0;
  padding: 0;
}

section ul:not([class]) li {
  position: relative;
  padding-left: 35px;
}


.button, button{font-size:1rem;background-color: var(--btn-bg, var(--btn-bg-default, #111));
color: var(--btn-fg, var(--btn-fg-default, #fff));
background-image:url('../images/button-bg.png');
background-size:cover;
background-position:center;
}



section ul li:before{width:20px;height:20px;content:"";display:block;background-image:url('../images/button-bg.png');transform:translateY(3px);position:absolute;left:0;}

/*.button:hover, button:hover{background-color: var(--btn-bg-hover, var(--btn-bg-default, #111));
color: var(--btn-fg-hover, var(--btn-fg-default, #fff));
}
*/



hr{background:var(--gold);height:1px;border:none}
.theme-gold hr{color:#fff}




.prel{position:relative;}
.tac{text-align:center;}
.tar{text-align: right;}

.in{max-width:1500px;margin-inline:auto}.in.padded{padding:var(--pad-medium) 50px}.in.padded.pad-none{padding-top:0;padding-bottom:0}.in.padded.pad-tiny{padding-top:var(--pad-tiny);padding-bottom:var(--pad-tiny)}.in.padded.pad-small{padding-top:var(--pad-small);padding-bottom:var(--pad-small)}.in.padded.pad-medium{padding-top:var(--pad-medium);padding-bottom:var(--pad-medium)}.in.padded.pad-large{padding-top:var(--pad-large);padding-bottom:var(--pad-large)}

.in.padded.pad-t-none{padding-top:0;}
.in.padded.pad-b-none{padding-bottom:0;}

.in.padded.pad-t-tiny{padding-top:var(--pad-tiny);}
.in.padded.pad-b-tiny{padding-bottom:var(--pad-tiny);}

.in.padded.pad-t-small{padding-top:var(--pad-small);}
.in.padded.pad-b-small{padding-bottom:var(--pad-small);}

.in.padded.pad-t-medium{padding-top:var(--pad-medium);}
.in.padded.pad-b-medium{padding-bottom:var(--pad-medium);}

.in.padded.pad-t-large{padding-top:var(--pad-large);}
.in.padded.pad-b-large{padding-bottom:var(--pad-large);}

.narrow{max-width: 1000px;margin-inline:auto}
.flex{display:flex}.inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.wrap{flex-wrap:wrap}.nowrap{flex-wrap:nowrap}
.grid{display:grid}.cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.gap-32{gap:32px}.gap-40{gap:40px}.gap-64{gap:64px}.gap-72{gap:72px}

.gap-x-8  { column-gap: 8px; }
.gap-x-12 { column-gap: 12px; }
.gap-x-16 { column-gap: 16px; }
.gap-x-20 { column-gap: 20px; }
.gap-x-24 { column-gap: 24px; }
.gap-x-32 { column-gap: 32px; }
.gap-x-40 { column-gap: 40px; }
.gap-x-64 { column-gap: 64px; }
.gap-x-72 { column-gap: 72px; }

/* Y-axis gaps */
.gap-y-8  { row-gap: 8px; }
.gap-y-12 { row-gap: 12px; }
.gap-y-16 { row-gap: 16px; }
.gap-y-20 { row-gap: 20px; }
.gap-y-24 { row-gap: 24px; }
.gap-y-32 { row-gap: 32px; }
.gap-y-40 { row-gap: 40px; }
.gap-y-64 { row-gap: 64px; }
.gap-y-72 { row-gap: 72px; }





#main-content{overflow: hidden;}


body.archive header{background-color: var(--theme-teal-bg);backdrop-filter: none!important;-webkit-backdrop-filter:none!important;mask-image:none;-webkit-mask-image:none;}

body.archive{padding-top:90px}


/*#main-content a:not(.button):not(.underline):not(.link){text-decoration: underline;text-decoration-color: var(--theme-sand-bg);text-decoration-thickness: 2px;text-underline-offset: 5px;font-weight:700}*/
a.underline{text-decoration: none;position: relative;font-weight:600}
a.underline:after{content:"";height:2px;width:100%;position:absolute;bottom:-5px;left:0;background-color:var(--theme-sand-bg);transition: 0.35s}
a.underline:hover:after{height:5px;width:110%;transform:translateX(-5%)}


a.link{text-decoration: none}


section a:not(.button):hover{text-decoration: underline;}

section:is(.theme--teal, .theme--lighter-teal) a:not(.button) {color:inherit;}

header {
  position: sticky;
  top: 0;
  width:100%;
  z-index: 9;
  text-transform: uppercase;
}


@media (max-width:1000px){.cols-6{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-5{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.cols-6,.cols-5,.cols-4,.cols-3,.cols-2{grid-template-columns:1fr}}
.hide{display:none!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.site-logo{font-weight:600;text-decoration:none;display:inline-flex;gap:.5rem;align-items:center}


.site-logo img{width: 100%}


.menu-toggle{
  display:none;
  border:none;
  font-size:2.4rem;
background:transparent;
  color:white;
  cursor:pointer;
}
.menu-toggle[aria-expanded="true"]{
  background:#f6f6f6;
}


.site-nav ul{
  list-style:none;
  display:flex;
  gap:1rem;
  margin:0;
  white-space: nowrap;
  padding:0;
}
.site-nav a{
  text-decoration:none;
  letter-spacing: 0.1em;
}

/* Submenu base styles (desktop + mobile) */
.site-nav li{
  position:relative;
}
.site-nav .sub-menu{
  list-style:none;
  margin:0;
  padding:0;
}

/* Overlay for mobile */
.nav-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.35);
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
  z-index:90;

}
.nav-overlay.is-active{
  opacity:1;
  pointer-events:auto;
}




.acf-fancy-block {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.acf-fancy-block::before {
  content: attr(data-bg-text);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 0;

  width: 140%;
  max-width: none;
  padding-left: 0.05em;

  font-size: clamp(3.5rem, 8vw, 9rem);
  line-height: 0.85;
  font-weight: 700;
  text-align: left;
  white-space: normal;
  word-break: break-word;

  opacity: 0.08;
  pointer-events: none;
  user-select: none;
}

.acf-fancy-block__inner {
  position: relative;
  z-index: 1;
}




.site-nav .current-menu-item:not(.button) > a, .site-nav .current-menu-ancestor:not(.button) > a,
.site-nav .sub-menu > li.current-menu-item a, .site-nav .sub-menu > li.current-menu-ancestor a, .site-nav a:hover{color:var(--gold);}
/* .site-nav ul:not(.sub-menu) > .current-menu-item:not(.button) > a::after, .site-nav ul:not(.sub-menu) > .current-menu-ancestor:not(.button) > a::after{content:url("data:image/svg+xml,%3Csvg width='10' height='7' viewBox='0 0 10 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.98956 6.08854L4.44026 5.53924L0.551367 1.65035L-0.000368166 1.10104L1.10067 -3.88106e-07L1.64998 0.549305L4.98956 3.88889L8.32915 0.549305L8.87845 -4.81281e-08L9.97949 1.10104L9.42776 1.65035L5.53887 5.53924L4.98956 6.08854Z' fill='%233F1469'/%3E%3C/svg%3E%0A")} */

/* MOBILE STYLES */
@media (max-width:1300px){
  .menu-toggle{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
  }

header{color:var(--body);-webkit-mask-image:none;mask-image:none;}
  /* Lock body scroll when menu is open */
  body.menu-open{
    overflow:hidden;
  }

  /* Turn nav into a fixed flyout panel */
  .site-header .site-nav#nav-primary{
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    width:min(80vw, 380px);
    padding:3rem 1.25rem 3rem;
    background:black;
    box-shadow:-2px 0 12px rgba(0,0,0,.15);
    transform:translateX(100%);
    transition:transform .25s ease;
    z-index:100;
    overflow-y:auto;
    height:100vh;
  }
  .site-header .site-nav#nav-primary > div{padding-bottom:4rem;}
  .site-header .site-nav#nav-primary.open{
    transform:translateX(0);
  }

  /* Stack items vertically */
  .site-nav ul{
    flex-direction:column;
    gap:.5rem;
    padding-top:1rem;
  }

  .site-nav li{
    /* keep block so submenus sit underneath */
  }

  .site-nav a{
    display:inline-block;
    padding:.4rem 0;
  }
	


  /* Submenu behaviour: collapsed by default on mobile */
  .site-nav .sub-menu{
    display:none;
    padding-left:1rem;
    margin-top:.25rem;
    border-left:1px solid #eee;
  }

  .site-nav li.menu-item-has-children.is-open > .sub-menu{
    display:block;
  }

  /* Submenu toggle button (injected by JS) */
  .submenu-toggle{
    border:none;
    background:none;
    padding:.25rem .25rem .25rem .5rem;
    cursor:pointer;
    font-size:1rem;
    line-height:1;
  }

  .submenu-toggle .chevron{
    display:inline-block;
    transition:transform .2s ease;
  }

  .menu-item-has-children.is-open > .submenu-toggle .chevron{
    transform:rotate(180deg);
  }
}

/* Desktop: hide mobile submenu toggles if present */
@media (min-width:1301px){
  .submenu-toggle{
    display:none;
  }

  /* Optional desktop dropdown style (simple) */
  .site-nav .sub-menu{
    position:absolute;
    top:100%;
    left:0;
    background:#fff;
    box-shadow:0 4px 12px rgba(0,0,0,.12);
    display:none;
    min-width:180px;
  }
  .site-nav .sub-menu ul{left:100%;top:0}
  .site-nav li:hover > .sub-menu{
    display:block;
  }
  .site-nav .sub-menu li{
    white-space:nowrap;
  }
  .site-nav .sub-menu a{
    padding:.4rem .75rem;
    display:block;
  }


}



.button, button, input[type=submit]{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding: 13px; line-height: 1; border-radius:1px; text-decoration:none;
  border:1px solid transparent; transition: transform .06s ease, filter .12s ease;
  font-family: var(--font-ui, inherit);font-weight:600;
}
.button:hover, button:hover, input[type=submit]:hover{ transform: scale(1.02); }
.button:active, button:active, input[type=submit]:active{ transform: translateY(1px); }
.button-wrap{ display:flex; gap:.5rem; }
.button-wrap.align-left{ justify-content:flex-start; }
.button-wrap.align-center{ justify-content:center; }
.button-wrap.align-right{ justify-content:flex-end; }

.site-logo__imgwrap, .site-logo__svg { display:inline-block; line-height:0; }
.site-logo__imgwrap img { max-width:100%; height:auto; max-height:var(--logo-max-h,80px); }

/* ========== Primary Nav (Desktop + Mobile) ========== */
.site-header .site-nav { position: relative; }

/* Base menu structure */
.site-nav .menu,
.site-nav ul.menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 18px; }
.site-nav .menu > li { position: relative; }
.site-nav li:not(.button) a { text-decoration: none; display: inline-flex; align-items: center; padding: .6rem 0rem;margin:0 0.75rem;}

.site-nav a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* Caret indicator for parents */
/* .site-nav .menu-item-has-children > a::after {
  content: url("data:image/svg+xml,%3Csvg width='10' height='7' viewBox='0 0 10 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.98956 6.08854L4.44026 5.53924L0.551367 1.65035L-0.000368166 1.10104L1.10067 -3.88106e-07L1.64998 0.549305L4.98956 3.88889L8.32915 0.549305L8.87845 -4.81281e-08L9.97949 1.10104L9.42776 1.65035L5.53887 5.53924L4.98956 6.08854Z' fill='%23ACACAC'/%3E%3C/svg%3E%0A");
  font-size: .8em;
  transform: translateY(-1px);
  opacity: .85;
} */

.site-nav .sub-menu a::after{content:"";}


.site-nav ul.menu ul.sub-menu{display:block;}


.brandRounded{border-radius:3.5px;border-bottom-right-radius: 64px;}
.swap .brandRounded{border-radius:3.5px;border-bottom-right-radius: 3.5px;border-bottom-left-radius: 64px;}



section a.button--term{font-weight:400}

.block.newsletter-signup::before{
  content:"";
  position:absolute;
  inset:0;
  background: var(--block-bg, #0b4f61);
  opacity: var(--block-bg-overlay, 0);
  pointer-events:none;
}
.block.newsletter-signup > .in{
  position: relative;
  z-index: 1;
}

.block.newsletter-signup .no-inner-pad{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.newsletter-signup .ns-grid{
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 50px;
  align-items: center;
}



.newsletter-signup .ns-eyebrow{
  opacity: .9;
  margin-bottom: 10px;
}

.newsletter-signup .ns-heading{
  margin: 0 0 10px 0;
}

.newsletter-signup .ns-copy{
  opacity: .9;
  margin-bottom: 18px;
  max-width: 60ch;
}

.newsletter-signup .ns-form{
  margin-top: 10px;
}

.newsletter-signup .ns-fields{
  display: flex;
  gap: 12px;
  align-items: stretch;
}

.newsletter-signup .ns-field{
  flex:1;
}

@media (max-width: 700px){
  .newsletter-signup .ns-fields{
    flex-direction: column;
  }
}

.newsletter-signup .ns-field input{
  height: 44px;
  border: 1px solid #F8F8F6;
  background:white;

  padding: 0 12px;
  border-radius: 1px;
  outline: none;
  width: 100%;
  box-sizing: border-box;
}

.newsletter-signup .ns-field input::placeholder{

}

.newsletter-signup .ns-submit{
  height: 44px;
  border: 0;
  border-radius: 1px;
  padding: 0 14px;
  background: var(--btn-bg, var(--btn-bg-default));
  color: var(--btn-fg);
  cursor: pointer;
  white-space: nowrap;
}

#hedgehog{position: absolute;bottom:0;left:10px}

.newsletter-signup .ns-submit[disabled]{
  opacity: .7;
  cursor: not-allowed;
}

.newsletter-signup .ns-status{
  margin-top: 10px;
  min-height: 1.2em;
  opacity: .95;
}

.newsletter-signup .ns-privacy{
  margin-top: 8px;
  opacity: .85;
}
.newsletter-signup .ns-privacy a{
  color: inherit;
  text-decoration: underline;
}

.newsletter-signup .ns-graphic{
  display: flex;
  justify-content: flex-end;
}
.newsletter-signup .ns-graphic img,
.newsletter-signup .ns-arrow{
  width: min(520px, 100%);
  height: auto;
  display: block;
}

.newsletter-signup .ns-content{
  min-width: 0;
}



footer{font-size:0.9375rem}

.subfooter{font-size:0.8125rem;}
footer ul li{list-style: none;line-height: 1.625em}
footer ul li a{text-decoration: none;}
footer .contact{line-height: 1.625em}


footer .legal ul li{padding-right:40px;display: inline;text-decoration: underline;}

footer .footer-nav ul, footer .legal ul{padding-left:0}
footer .footer-nav li{line-height: 1.2;text-transform: uppercase;}
footer .footer-nav li.current-menu-item, footer .footer-nav li:hover{color:var(--gold)}

.site-footer .logos{margin-right:auto}
.socials{margin-top:1em;margin-bottom:2rem}
.socials a{display:inline-grid;width:45px;height:45px;justify-content: center;align-items: center;background:var(--gold);border-radius:8px;text-align: center;  transition: transform letter-spacing 0.15s ease;
}
.socials img{width: auto;height:35px;margin:auto;}
.socials a:hover{    transform: scale(1.06);  letter-spacing: 0.04em;

}


p{margin-top:0}
p[style*="text-align: center"] .socials{justify-content: center;}

/* --- Desktop dropdowns --- */
@media (min-width: 1301px) {
  .site-nav .sub-menu {
    position: absolute; left: 0; top: calc(100% - 7px);
    min-width: 220px;margin: 0;
    background: black;
    color: white;
    border-radius: 3px;
    box-shadow: 0 8px 12px rgba(255,255,255,.1);
    opacity: 0; transform: translateY(6px) scale(.98);
    pointer-events: none;
    transition: opacity .18s ease, transform .2s ease;
    z-index: 50;
  }
  .site-nav li:hover > .sub-menu,
  .site-nav li:focus-within > .sub-menu {
    opacity: 1; transform: translateY(0) scale(1);
    pointer-events: auto;
  }

  .site-nav .sub-menu > li { position: relative; display: block;border-top:2px solid #efefef}

  .site-nav .sub-menu li a {
    display: block; padding: 1rem; 
    white-space: nowrap;
  }

}


.menu-close{display:none}

.site-nav.open .menu-close{display: block}

/* Mobile: animated open/close */

@media (max-width: 1300px){

  .menu-close{
  position:absolute;
  top:0.75rem;
  right:0.75rem;
  color:white;
  background:none;
  border:none;
  cursor:pointer;
  line-height:1;
  padding:0.25rem 0.5rem;
  z-index:110;
  font-size:3rem;
}

.menu-close:hover,
.menu-close:focus{
  opacity:0.7;
}

  
body .site-nav .sub-menu li:after{display:none}
  body .submenu-toggle{display:none;}
}


  /* Submenu list item styling */
  .site-nav .sub-menu li a {
    display:block;
   
  }
  .site-nav .sub-menu li{padding-right:25px}
    .site-nav .sub-menu li:after {
    width:16px;height:13px;display: inline-block;
    content:"";
    background-image: url("data:image/svg+xml,%3Csvg width='17' height='13' viewBox='0 0 17 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.7063 7.11875L16.4125 6.4125L15.7063 5.70625L10.7063 0.70625L10 0L8.58438 1.41562C8.625 1.45625 9.95938 2.79063 12.5844 5.41563H0V7.41563H12.5844C9.95938 10.0406 8.625 11.375 8.58438 11.4156L10 12.8313L10.7063 12.125L15.7063 7.125V7.11875Z' fill='%23ACACAC'/%3E%3C/svg%3E%0A");
    background-size:contain;background-repeat: no-repeat;background-position: center;position: absolute;top:50%;right:10px;transform:translateY(-50%);
  }





.ns-form.ns-contact{
  --bg: var(--block-bg, #0b1220);
  --fg: var(--block-fg, #eaf0ff);
  --muted: color-mix(in srgb, var(--fg) 70%, transparent);
  --card: color-mix(in srgb, var(--bg) 82%, white 18%);
  --border: color-mix(in srgb, var(--fg) 18%, transparent);
  --border-strong: color-mix(in srgb, var(--fg) 32%, transparent);
  --accent: var(--block-accent, #6d5efc);
  --danger: #ff4d6d;
  --radius: 8px;
  --btn-bg: var(--theme-teal-btn-bg);
  --btn-fg: var(--theme-teal-btn-text);

  color: var(--fg);
  max-width: 760px;
}

/* Grid layout */
.ns-form.ns-contact .ns-fields{
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--card) 88%, white 12%),
    var(--card)
  );
  border: 1px solid var(--border);
  border-radius: calc(var(--radius) + 4px);
  padding: clamp(18px, 3vw, 28px);
  box-shadow:
    0 12px 30px rgba(0,0,0,.10),
    0 1px 0 rgba(255,255,255,.06) inset;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 720px){
  .ns-form.ns-contact .ns-fields{ grid-template-columns: 1fr; }
}

/* Field wrapper */
.ns-form.ns-contact .ns-field{
  display: block;
  margin: 0;
}

/* Inputs + textarea */
.ns-form.ns-contact :where(input, textarea){
  width: 100%;
  color: var(--fg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 12px 14px;
  line-height: 1.35;
  outline: none;
  box-sizing:border-box;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease, transform .15s ease;
  box-shadow:
    0 1px 0 rgba(255,255,255,.06) inset,
    0 8px 18px rgba(0,0,0,.08);
}


/* Focus state */
.ns-form.ns-contact :where(input, textarea):focus{
  border-color: color-mix(in srgb, var(--accent) 70%, white 30%);
  box-shadow:
    0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent),
    0 10px 22px rgba(0,0,0,.18);
  background: color-mix(in srgb, var(--bg) 62%, white 38%);
}



/* Full width field (your textarea label already has ns-field-full) */
.ns-form.ns-contact .ns-field-full{
  grid-column: 1 / -1;
}

.ns-form.ns-contact textarea{
  resize: vertical;
  min-height: 140px;
}

/* Fieldset (checkbox group) */
.ns-form.ns-contact .ns-fieldset{
  grid-column: 1 / -1;
  padding: 14px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: color-mix(in srgb, var(--bg) 76%, white 24%);
}

.ns-form.ns-contact .ns-fieldset legend{
  padding: 0 8px;
  color: var(--muted);
  font-weight: 600;
  letter-spacing: .01em;
}

/* Nuke the <br> spacing in a modern way */
.ns-form.ns-contact .ns-fieldset br{ display: none; }

.ns-form.ns-contact .ns-fieldset label{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 10px;
  border-radius: 12px;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  user-select: none;
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}

.ns-form.ns-contact .ns-fieldset label:hover{
  background: color-mix(in srgb, var(--fg) 6%, transparent);
  border-color: var(--border);
  transform: translateY(-1px);
}

/* Checkbox styling */
.ns-form.ns-contact .ns-fieldset input[type="checkbox"]{
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--accent); /* modern browsers */
  box-shadow: none;
}


/* Status message */
.ns-form.ns-contact .ns-status{
  margin-top: 12px;
  padding: 10px 12px;
  
  color: var(--muted);
  min-height: 1.2em;
}

/* Optional: if your JS toggles status classes */
.ns-form.ns-contact .ns-status.is-success{
  border-color: color-mix(in srgb, #22c55e 45%, transparent);
  color: color-mix(in srgb, #22c55e 75%, var(--fg));
  display: block;
}
.ns-form.ns-contact .ns-status.is-error{
  border-color: color-mix(in srgb, var(--danger) 55%, transparent);
  color: color-mix(in srgb, var(--danger) 80%, var(--fg));
  display: block;
}

/* Invalid fields (uses native :invalid when form is validated) */
/*.ns-form :where(input, textarea):user-invalid,
.ns-form :where(input, textarea):invalid{
  border-color: color-mix(in srgb, var(--danger) 70%, transparent);
}*/

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .ns-form.ns-contact *{ transition: none !important; }
}





@media (max-width: 950px){
.cols-4{grid-template-columns: 1fr 1fr;}
.flex{flex-wrap: wrap}
.in.padded{padding:var(--pad-medium) 20px}
.in.padded.pad-small{padding:var(--pad-tiny) 20px}

  footer{text-align:center;}
  footer .flex{display: block}
  .extra_logos{justify-content:center;gap:30px}
  .newsletter-signup .ns-fields{display:block;}
  .newsletter-signup .ns-fields .ns-field{margin-bottom:10px;display:block}
  
.site-footer .justify-between > *{width:100%}
.site-footer ul{padding:0}

	.site-footer .logos img{max-width:100%!important}
	
.grid.swap > div:first-child{order:2;}
.grid.swap > div:last-child{order:1;}

footer .legal ul li{margin-right:0;padding-right:0;display:block;}
}


@media (max-width: 900px){
  .newsletter-signup .ns-grid{
    display:block;
  }
  .newsletter-signup .ns-graphic{
    display: none;
  }

}