/* Contact details and control states follow FigCraft nodes 1369–1436. */
.contact-section__info>.contact-section__eyebrow{font-size:calc(18px * var(--type-scale,1));line-height:calc(26px * var(--type-scale,1))}
.contact-section__channel{border-color:rgb(255 255 255 / .2);column-gap:19px;row-gap:16px;margin-bottom:0}
.contact-section__channel+.contact-section__channel{border-top:0;margin-top:0;margin-bottom:20px}
.contact-section__channel h3{margin-bottom:0}
.contact-section__separator{width:4px;height:4px;border-radius:50%;background:white;flex:none}
.contact-section__channel a{line-height:calc(24px * var(--type-scale,1));white-space:nowrap}
.contact-section__channel:first-of-type a:first-of-type{color:white}
.contact-section__info::after{border-color:rgb(255 255 255 / .2)}
.contact-section__info>p:last-child{opacity:1;color:rgb(255 255 255 / .65)}
.contact-section__info>p:last-child a{color:white}
.contact-section__grid>div{min-width:0}
.contact-form__label{display:block;color:white}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{
  background-color:rgb(255 255 255 / .05);
  border-bottom-color:rgb(255 255 255 / .4);
  -webkit-backdrop-filter:blur(32px);
  backdrop-filter:blur(32px);
  caret-color:white;
}
.contact-form input::placeholder{color:rgb(255 255 255 / .6);opacity:1}
.contact-form select{appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat}
.contact-form select:has(option[value=""]:checked){color:rgb(255 255 255 / .6)}
.contact-form select option{color:white}
.contact-form__fields label:focus-within .contact-form__label{color:rgb(255 255 255 / .4)}
.contact-form input:not([type=checkbox]):is(:focus,:active),.contact-form select:is(:focus,:active),.contact-form textarea:is(:focus,:active){background-color:rgb(255 255 255 / .15);border-bottom-color:white;outline:none;color:white}
.contact-form__consent input{
  appearance:none;-webkit-appearance:none;position:relative;padding:0;
  width:20px;height:20px;border:1px solid white;border-radius:0;
  background:rgb(255 255 255 / .3);cursor:pointer;
}
.contact-form__consent input:checked{background-image:linear-gradient(white,white);background-size:10px 10px;background-position:center;background-repeat:no-repeat}
.contact-form__consent input:focus-visible{outline:2px solid white;outline-offset:4px}
.contact-form .contact-form__consent{color:white;align-items:center;min-height:28px;cursor:pointer}
.contact-form .contact-form__consent+.contact-form__consent{min-height:20px}
.contact-form__consent:first-of-type{margin-top:30px}
.contact-form__submit{margin-top:30px;font-weight:300}
@media(max-width:767.98px){
  .contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{font-size:max(var(--font-size-min),calc(16px * var(--type-scale,1)))}
}
@media(max-width:539.98px){
  .contact-form__fields{grid-template-columns:1fr}
  .contact-form .contact-form__consent,.contact-form .contact-form__consent+.contact-form__consent{min-height:36px}
  .contact-section__channel a:first-of-type{min-width:0}
}
@media(forced-colors:active){
  .contact-form input:not([type=checkbox]):focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible{outline:2px solid Highlight;outline-offset:2px}
  .contact-form__consent input{appearance:auto;-webkit-appearance:auto}
  .contact-form__consent input:checked{background-image:none}
}

/* Tablet: equal columns, one readable field per row. Desktop stays unchanged. */
@media(max-width:1199.98px){
.contact-section__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.contact-section__info::after{right:-16px;height:100%}
.contact-section__info h2{font-size:calc(36px * var(--type-scale,1));line-height:1.15;margin-bottom:20px}
.contact-section__info>h3{margin-bottom:16px}
.contact-section__info>p{line-height:1.5}
.contact-section__form h2{font-size:calc(30px * var(--type-scale,1));line-height:1.2;margin-bottom:16px}
.contact-section__channel{padding-block:14px;margin-block:16px;gap:10px}
.contact-section__channel a{display:inline-flex;align-items:center;min-height:44px}
.contact-section__channel a:first-of-type{flex-basis:auto;min-width:0;margin-right:0}
.contact-section__separator{display:none}
.contact-section__channel a:not(:first-of-type)::before{content:"";width:4px;height:4px;flex:none;border-radius:50%;background:white;margin-right:10px}
.contact-form__fields{grid-template-columns:minmax(0,1fr);gap:12px}
.contact-form__fields>label{min-width:0;font-size:var(--font-size-min);line-height:20px}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{min-height:44px;padding:10px 12px;margin-top:6px;font-size:14px;line-height:22px}
.contact-form select{padding-right:32px;background-position:right 12px center}
.contact-form textarea{height:120px;min-height:120px}
.contact-form__consent:first-of-type{margin-top:20px}
.contact-form .contact-form__consent,.contact-form .contact-form__consent+.contact-form__consent{min-height:44px}
.contact-form__submit{min-height:48px;margin-top:20px;padding-block:12px}
}
@media(max-width:767.98px){
.contact-section__grid{grid-template-columns:minmax(0,1fr);gap:36px}
.contact-section__info::after{display:none}
.contact-section__channel{max-width:none}
.contact-section__channel a{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:399.98px){.contact-form__fields{grid-template-columns:minmax(0,1fr)}}

/* Touch browsers keep 16px native controls to avoid automatic input zoom. */
@media(max-width:1199.98px) and (pointer:coarse){.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{font-size:16px}}

/* Give the tablet form slightly more width and a shorter, resizable message field. */
@media(min-width:768px) and (max-width:1199.98px){
.contact-section__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.contact-form textarea{height:80px;min-height:80px}
}

/* JS moves this same form into a native dialog on phones; no JS stays inline. */
.contact-section__open[hidden]{display:none}
.contact-section__open{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;width:100%;border:0;border-radius:30px;padding:14px 24px;background:white;color:var(--color-deep-blue);font-weight:400;text-align:left}
.contact-dialog{width:min(540px,calc(100% - 24px));max-width:none;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:20px;border:0;border-radius:16px;background:var(--color-deep-blue);color:white;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--color-light-blue) var(--color-deep-blue)}
.contact-dialog::backdrop{background:rgb(0 7 50 / .72)}
.contact-dialog__close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:white}
.contact-dialog__close:is(:hover,:focus-visible){background:rgb(255 255 255 / .15)}
.contact-dialog .contact-section__form h2{font-size:26px;line-height:1.25;margin:0 40px 20px 0}
.contact-dialog .contact-form__fields{gap:12px}
.contact-dialog .contact-form input:not([type=checkbox]),.contact-dialog .contact-form select,.contact-dialog .contact-form textarea{font-size:16px}
.contact-dialog .contact-form textarea{height:96px;min-height:80px;resize:vertical}
.contact-dialog .contact-form__status{margin-top:12px;line-height:1.5}
.contact-dialog .contact-form__submit{white-space:normal;gap:12px}
.contact-dialog .contact-form__consent{font-size:var(--font-size-min);line-height:1.5}

/* Compact header controls keep their existing aria-expanded behavior. */
.site-header__toggle-name{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.site-header__toggle .site-header__toggle-icon,.site-header__toggle .site-header__toggle-close{display:none}
.site-header__toggle[aria-expanded="true"] .site-header__toggle-name.site-header__toggle-open{display:none}
.site-header__toggle[aria-expanded="true"] .site-header__toggle-name.site-header__toggle-close{display:block}
@media(max-width:1199.98px){
.site-header__toggle{width:44px;height:44px;padding:10px;border:0;border-radius:50%;background:transparent}
.site-header__toggle-label{display:none}
.site-header__toggle .site-header__toggle-icon.site-header__toggle-open{display:block}
.site-header__toggle[aria-expanded="true"] .site-header__toggle-icon.site-header__toggle-open{display:none}
.site-header__toggle[aria-expanded="true"] .site-header__toggle-icon.site-header__toggle-close{display:block}
}
