/* Brand system — institutional identity + service sub-brand.
   Isolated on purpose: it must not change page layout, typography or palette. */
.brand.brand--logo{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  max-width:100%;
  font:inherit;
  letter-spacing:normal;
  line-height:0;
}
.brand.brand--logo img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
}
.brand--header{width:clamp(190px,18vw,254px)}
.brand--footer{width:clamp(210px,20vw,274px)}

.brand--orientation.brand--header{width:clamp(202px,19vw,274px)}
.brand--orientation.brand--footer{width:clamp(220px,22vw,288px)}

.orientation-service-brand{
  width:min(288px,52vw);
  margin:0 0 20px;
  line-height:0;
}
.orientation-service-brand img{
  display:block;
  width:100%;
  height:auto;
}

@media(max-width:1100px){
  .brand--header{width:186px}
  .brand--orientation.brand--header{width:194px}
}
@media(max-width:640px){
  .brand--header{width:165px}
  .brand--footer{width:218px}
  .brand--orientation.brand--header{width:177px}
  .brand--orientation.brand--footer{width:232px}
  .orientation-service-brand{width:min(238px,68vw);margin-bottom:16px}
}
@media(max-width:360px){
  .brand--header{width:154px}
  .brand--orientation.brand--header{width:163px}
}

/* orientation.css uses display:contents in the mobile hero; preserve the gutter/order there. */
@media(max-width:640px){
  .hero-copy>.orientation-service-brand{order:0;margin:26px var(--gutter) 0;width:min(238px,68vw)}
  .hero-copy>.orientation-service-brand+.kicker{margin-top:18px}
}

/* Keyboard focus is intentionally visible across the whole site. */
.daniel-v2 a:focus-visible,
.daniel-v2 button:focus-visible{
  outline:3px solid var(--sage,#a7be8f);
  outline-offset:4px;
}


/* Footer contact QRs: Instagram and WhatsApp, matching in size and spacing.
   Scoped to the three main public-page footers; /links/ is untouched. */
.footer .footer-qr-pair{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:flex-start;
  gap:14px;
  max-width:100%;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--line,rgba(36,64,51,.18));
  box-sizing:border-box;
}
.footer .footer-contact-qr{
  box-sizing:border-box;
  display:flex;
  flex:0 1 120px;
  flex-direction:column;
  align-items:center;
  gap:6px;
  max-width:100%;
  min-width:0;
  text-decoration:none;
  color:var(--green,#244033);
}
.footer .footer-contact-qr__image{
  display:block;
  width:112px;
  height:112px;
  max-width:100%;
  padding:4px;
  box-sizing:border-box;
  border:1px solid rgba(36,64,51,.12);
  border-radius:8px;
  background:#fff;
  line-height:0;
  transition:border-color .2s ease;
}
.footer .footer-contact-qr__image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.footer .footer-contact-qr__title{
  display:block;
  font-family:var(--sans,Arial,sans-serif);
  font-size:10px;
  font-weight:600;
  line-height:1.35;
  letter-spacing:.06em;
  text-align:center;
  color:var(--green,#244033);
}
.footer .footer-contact-qr:hover .footer-contact-qr__image{
  border-color:rgba(36,64,51,.35);
}
/* Tablet/small-desktop: keep both QRs beside each other instead of
   stacking them in a narrow third footer column. */
@media(min-width:981px) and (max-width:1240px){
  .footer .footer-grid{grid-template-columns:1fr auto;align-items:start}
  .footer .footer-right{grid-column:1 / -1;text-align:left}
  .footer .footer-qr-pair{justify-content:flex-start}
}
@media(max-width:980px){
  .footer .footer-qr-pair{justify-content:flex-start}
}

/* Alternativa discreta ao novo primeiro contato, sem alterar componentes globais. */
.triage-direct-contact{margin:14px 0 0;color:#596b60;font-size:12px;line-height:1.5}
.triage-direct-contact a{text-decoration:underline;text-underline-offset:4px}
.triage-direct-final{margin:16px 0 0!important;color:#e6eae4!important;font-size:12px;line-height:1.5}
.triage-direct-final a{text-decoration:underline;text-underline-offset:4px}

/* Quiet corporate identification at the end of each page; no competing logo or CTA. */
.daniel-company-footer{
  margin-top:20px;
  padding-top:12px;
  border-top:1px solid rgba(36,64,51,.10);
  text-align:center;
}
.daniel-company-imprint{
  display:block;
  font-size:11px;
  font-weight:400;
  line-height:1.55;
  letter-spacing:.015em;
  color:var(--muted, #68756f);
  overflow-wrap:break-word;
}
.triage-footer .daniel-company-footer{display:block;text-align:center}
@media(max-width:640px){
  .daniel-company-footer{margin-top:16px;padding-top:11px}
}
