.contact-form__form,.contact-form__sent{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.contact-form__title{letter-spacing:-.01em;font-size:clamp(1.25rem,1.05rem + .55vw,1.625rem);font-stretch:110%}.contact-form__grid{gap:1rem;display:grid}.contact-form__field{flex-direction:column;gap:.375rem;display:flex}.contact-form__label{color:var(--fg);font-size:.9375rem;font-weight:500}.contact-form__input{border:1px solid var(--muted);border-radius:var(--radius);background:var(--bg);width:100%;min-height:3.25rem;color:var(--fg);padding:0 .875rem;font-size:1rem}.contact-form__input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.contact-form__input[aria-invalid=true]{border:2px solid var(--error)}.contact-form__input[readonly]{border-color:var(--line);background:var(--surface);color:var(--muted)}.contact-form__select{padding-inline:.75rem}.contact-form__textarea{resize:vertical;min-height:8rem;padding-block:.75rem;line-height:1.5}.contact-form__error{color:var(--error);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.contact-form__error:empty{display:none}.contact-form__stages{border:0;flex-direction:column;gap:.5rem;margin:0;padding:0;display:flex}.contact-form__stages .contact-form__label{margin-bottom:.5rem;padding:0}.contact-form__segments{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.contact-form__segment{display:flex;position:relative}.contact-form__segment-input{opacity:0;pointer-events:none;position:absolute}.contact-form__segment-label{border:1px solid var(--muted);border-radius:var(--radius);background:var(--bg);min-height:3rem;color:var(--fg);text-align:center;cursor:pointer;flex:1;justify-content:center;align-items:center;padding:.25rem .5rem;font-size:.875rem;font-weight:500;line-height:1.2;transition:border-color .15s,background-color .15s,color .15s;display:flex}.contact-form__segment-label:hover{border-color:var(--navy)}.contact-form__segment-input:checked+.contact-form__segment-label{border-color:var(--navy);background:var(--navy);color:var(--on-navy)}.contact-form__segment-input:focus-visible+.contact-form__segment-label{outline:2px solid var(--accent);outline-offset:1px}.contact-form__trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-form__consent{color:var(--muted);font-size:.8125rem;line-height:1.55}.contact-form__inline-link{color:var(--accent-text)}.contact-form__footer{flex-direction:column;gap:.75rem;display:flex}.contact-form__sending{color:var(--muted);font-size:.875rem}.contact-form__sending:empty{display:none}.contact-form__urgent{color:var(--muted);font-size:.875rem}.contact-form__urgent-link{color:var(--accent-text);text-decoration:none}.contact-form__failed{border:2px solid var(--error);border-radius:var(--radius);align-items:flex-start;gap:.75rem;padding:1rem;font-size:1rem;line-height:1.55;display:none}.contact-form--failed .contact-form__failed,.contact-form__failed:target{display:flex}.contact-form__alert-icon{color:var(--accent-text);margin-top:2px}.contact-form__failed-title{color:var(--navy);font-weight:600}.contact-form__sent{border-color:var(--navy);display:none}.contact-form--sent .contact-form__sent,.contact-form__sent:target{display:flex}.contact-form--sent .contact-form__form,.contact-form:has(.contact-form__sent:target) .contact-form__form{display:none}.contact-form__sent-title{font-size:clamp(1.375rem,1.2rem + .45vw,1.625rem);font-stretch:110%}.contact-form__sent-text{font-size:1rem}@media (width>=64rem){.contact-form__form,.contact-form__sent{gap:1.5rem;padding:3rem}.contact-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.contact-form__field{gap:.5rem}.contact-form__segments{grid-template-columns:repeat(4,minmax(0,1fr))}.contact-form__consent{font-size:.875rem}.contact-form__footer{border-top:1px solid var(--line);flex-flow:wrap;align-items:center;gap:1.25rem;padding-top:.5rem}.contact-form__submit{padding-inline:1.75rem}}.o-firmie-title{font-size:clamp(1.625rem,1.3rem + .95vw,2.5rem)}.o-firmie-intro{flex-direction:column;gap:1rem;padding-top:1.25rem;display:flex}.o-firmie-intro__title{max-width:56.25rem;font-size:var(--text-h1);line-height:1.1}.o-firmie-intro__lead{font-size:1rem}.o-firmie-about{align-items:start;gap:1rem;padding-top:3rem;display:grid}.o-firmie-about__figure{flex-direction:column;gap:.5rem;display:flex}.o-firmie-about__image{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}.o-firmie-about__caption{color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem}.o-firmie-about__text{flex-direction:column;gap:1rem;display:flex}.o-firmie-about__label{display:none}.o-firmie-about__text .o-firmie-title{margin-top:.5rem}.o-firmie-about__paragraph{font-size:clamp(1.0625rem,1.02rem + .15vw,1.1875rem)}.o-firmie-about__signature{border-top:1px solid var(--line);align-items:center;gap:1rem;padding-top:.875rem;display:flex}.o-firmie-about__logo{width:auto;height:2.5rem;display:none}.o-firmie-about__name{color:var(--navy);font-size:1rem;font-weight:600}.o-firmie-about__role{color:var(--muted);font-size:.875rem}.o-firmie-about__quote{border-top:1px solid var(--navy);flex-direction:column;gap:.75rem;margin-top:.5rem;padding-top:1.25rem;display:flex}.o-firmie-about__quote-text{color:var(--navy);letter-spacing:-.01em;font-size:clamp(1.3125rem,1.05rem + .75vw,1.75rem);font-weight:500;font-stretch:105%;line-height:1.3}.o-firmie-about__quote-author{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase}.o-firmie-facts{padding-top:3rem}.o-firmie-facts__note{color:var(--muted);margin-top:1rem;font-size:.9375rem}.o-firmie-facts__link{color:var(--accent-text)}.o-firmie-contact{background:var(--surface);margin-top:3rem;padding-block:3rem}.o-firmie-contact__inner{align-items:start;gap:1.75rem;display:grid}.o-firmie-contact__details{flex-direction:column;gap:1.25rem;display:flex}.o-firmie-contact__label{display:none}.o-firmie-contact__phone{min-height:3rem;color:var(--navy);text-decoration:none;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:8px;align-items:center;gap:.875rem;font-size:clamp(1.5rem,1.15rem + 1.05vw,2.125rem);font-weight:600;font-stretch:112%;display:flex}.o-firmie-contact__phone:hover,.o-firmie-contact__email:hover,.o-firmie-contact__link:hover{text-decoration-line:underline}.o-firmie-contact__phone-icon{display:none}.o-firmie-contact__email{color:var(--navy);text-decoration:none;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);font-size:clamp(1rem,.95rem + .2vw,1.1875rem);font-weight:500}.o-firmie-contact__list{border-top:1px solid var(--line);margin:0}.o-firmie-contact__row{border-bottom:1px solid var(--line);flex-direction:column;gap:.125rem;padding:.625rem 0;display:flex}.o-firmie-contact__term{color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;line-height:1.7}.o-firmie-contact__value{margin:0;font-size:.9375rem;line-height:1.5}.o-firmie-contact__links{flex-wrap:wrap;gap:0 1.25rem;margin:0;padding:0;list-style:none;display:flex}.o-firmie-contact__link{min-height:2.75rem;color:var(--navy);text-decoration:none;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;display:flex}.o-firmie-contact__pin,.o-firmie-contact__maps-long{display:none}@media (width>=64rem){.o-firmie-intro{gap:1.5rem;padding-top:2.5rem}.o-firmie-intro__title{margin-top:1rem;line-height:1.08}.o-firmie-intro__lead,.o-firmie-intro__call{display:none}.o-firmie-about{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:5rem;padding-top:4rem}.o-firmie-about__figure{gap:.75rem;position:sticky;top:7rem}.o-firmie-about__image{aspect-ratio:4/5}.o-firmie-about__caption{font-size:.75rem}.o-firmie-about__text{gap:1.5rem;padding-top:.5rem}.o-firmie-about__label{display:flex}.o-firmie-about__text .o-firmie-title{margin-top:0}.o-firmie-about__signature{padding-top:1.25rem}.o-firmie-about__logo{display:block}.o-firmie-about__name{font-size:1.0625rem}.o-firmie-about__role{font-size:.9375rem}.o-firmie-about__quote{gap:1rem;margin-top:1.5rem;padding-top:1.75rem}.o-firmie-facts{padding-top:6rem}.o-firmie-contact{margin-top:7rem;padding-block:6.5rem}.o-firmie-contact__inner{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:5rem}.o-firmie-contact__details{gap:1.75rem}.o-firmie-contact__label,.o-firmie-contact__phone-icon,.o-firmie-contact__pin,.o-firmie-contact__maps-long{display:flex}.o-firmie-contact__maps-short{display:none}.o-firmie-contact__row{grid-template-columns:8.75rem minmax(0,1fr);padding:0;display:grid}.o-firmie-contact__term{padding:.875rem 0;font-size:.75rem}.o-firmie-contact__value{padding:.75rem 0;font-size:1rem;line-height:1.6}.o-firmie-contact__links{gap:1.5rem}.o-firmie-contact__link{min-height:0;font-size:1rem}}
