@font-face {
  font-family: Montserrat;
  src: url("assets/fonts/Montserrat-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
/* Aria Text G2 uses a locally installed copy until a licensed webfont is supplied. */
@font-face {
  font-family: "Aria Text G2";
  src: local("Aria Text G2"), local("AriaTextG2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
:root { --font-interface: Montserrat, Arial, sans-serif; --font-editorial: "Aria Text G2", Georgia, serif; }
body,button,input,select,textarea { font-family: var(--font-interface); }
h1,h2,.hero h1,.essence-copy h2,.article-heading h1,.article-body h2,.journal-intro h1 { font-family: var(--font-editorial); font-weight: 400; letter-spacing: -.035em; }
.hero h1 { line-height: 1.05; letter-spacing: -.045em; }
.hero h1 .hero-title-note { font-family: var(--font-interface); font-size: clamp(24px,2.35vw,34px); letter-spacing: -.04em; }
.serif-em { font-family: var(--font-editorial); }
.brand { flex-shrink: 0; }
.brand-logo { display: block; width: 220px; height: auto; max-height: 60px; object-fit: contain; }
.footer-brand .brand-logo { width: 270px; max-height: none; }
.desktop-nav { font-size: 11px; }
.desktop-nav a { padding-inline: 11px; }
.header-quote { font-size: 11px; }
.service-row h3 { font-size: 29px; }
.service-row p,.essence-copy>p:not(.eyebrow) { line-height: 1.9; }
.contact-whatsapp strong { font-size: 19px; }
.field label { font-size: 12px; }
.field input,.field select,.field textarea { font-size: 14px; min-height: 46px; }
.field select { text-overflow: ellipsis; }
.field select optgroup { font-style: normal; font-weight: 600; }
.field-hint { margin: 0; font-size: 11px; line-height: 1.6; color: var(--muted); }
.consent,.form-footnote { font-size: 11px; line-height: 1.7; }
.form-footnote { text-align: left; }
.whatsapp-reassurance { display: flex; align-items: flex-start; gap: 10px; margin-top: 18px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.whatsapp-reassurance svg { width: 18px; height: 18px; flex-shrink: 0; color: #426d5d; margin-top: 3px; }
@media(max-width:1150px) { .brand-logo { width: 190px; } .header-inner { gap: 10px; } .desktop-nav a { padding-inline: 8px; } }
@media(max-width:1050px) { .brand-logo { width: 205px; } }
@media(max-width:700px) {
  .brand-logo { width: 168px; max-height: 48px; }
  .header-inner { padding-inline: 12px; gap: 9px; }
  .header-quote { display: none; }
  .header-actions { margin-left: auto; }
  .hero h1 { font-size: clamp(46px,12.5vw,72px); }
  .hero h1 .hero-title-note { font-size: clamp(21px,5.5vw,30px); }
  .hero-description { font-size: 14px; }
  .hero-buttons .button,.hero-buttons .hero-film { font-size: 11px; padding-inline: 16px; }
  .hero-buttons { flex-wrap: wrap; gap: 12px; }
  .field input,.field select,.field textarea { font-size: 16px; }
  .contact-form-wrap h3 { font-size: 22px; }
  .footer-brand .brand-logo { width: 220px; }
  .editorial-header .brand-logo { width: 158px; }
}
