:root{--header-full:110px;--header-small:74px}
html{scroll-padding-top:134px}
.header{
  --brand-scale:1;--brand-width:160px;--brand-height:100px;--brand-image:310px;--brand-left:-78px;--brand-top:-49px;
  position:sticky;top:0;z-index:100;height:var(--header-full);min-height:0;
  background:var(--cream);padding:0 5.2%;transition:height 220ms ease,box-shadow 220ms ease;
}
.header.is-compact{--brand-scale:.72;height:var(--header-small);box-shadow:0 3px 16px #103e4312}
.header .brand{width:calc(var(--brand-width)*var(--brand-scale));flex-shrink:0;transition:width 220ms ease}
.header .logo-window{width:calc(var(--brand-width)*var(--brand-scale));height:calc(var(--brand-height)*var(--brand-scale));transition:width 220ms ease,height 220ms ease}
.header .logo-window img{width:calc(var(--brand-image)*var(--brand-scale));left:calc(var(--brand-left)*var(--brand-scale));top:calc(var(--brand-top)*var(--brand-scale));height:auto;transition:width 220ms ease,left 220ms ease,top 220ms ease}
@media(hover:hover){.header.is-compact:hover{--brand-scale:1;height:var(--header-full)}}
.header.is-compact:focus-within{--brand-scale:1;height:var(--header-full)}
select,.form-row select{
  appearance:none;-webkit-appearance:none;padding-left:16px;padding-right:56px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%23103e43' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-size:14px 14px;background-position:right 20px center;
}
.email{display:table;max-width:100%}
.plan-section .direct-contact,.plan-section .email{--marker-top:-8%;--marker-bottom:0%;--marker-opacity:1}
.plan-section :is(.direct-contact,.email):is(:hover,:focus-visible,:active){color:var(--ink)}
@media(max-width:700px){
  :root{--header-full:108px;--header-small:74px}
  .header{--brand-width:145px;--brand-height:94px;--brand-image:290px;--brand-left:-72px;--brand-top:-43px;padding:0 20px;gap:12px}
  .header nav{gap:10px}
}
@media(max-width:360px){
  :root{--header-full:96px;--header-small:70px}
  .header{--brand-width:125px;--brand-height:80px;--brand-image:250px;--brand-left:-62px;--brand-top:-37px;padding:0 14px}
}
@media(prefers-reduced-motion:reduce){.header,.header .brand,.header .logo-window,.header .logo-window img{transition:none}}
@media(forced-colors:active){select,.form-row select{appearance:auto;background-image:none;padding-right:20px}}
