/* Refinements shared by the home and service directory. */
.skip-link{position:fixed;z-index:200;top:-100px;left:16px;padding:.7rem 1rem;background:#fff;color:#121718;border:2px solid #8f6b33;text-decoration:none}
.skip-link:focus{top:12px}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid #a0793e;outline-offset:3px}
.audience-guide{padding:1.45rem 1.5rem}
.audience-guide-head{align-items:center;margin-bottom:1rem}
.audience-guide-head .eyebrow{color:#e8d3ad;font-size:.78rem}
.audience-guide-head p{max-width:390px;line-height:1.4}
.audience-choice{min-height:125px}
.audience-choice span{opacity:1;color:#d5ded8}
.audience-choice:is(:hover,:focus-visible,[aria-pressed="true"]) span{color:#2d3832}
.audience-personal{gap:1rem}
.audience-personal-actions{display:flex;align-items:center;justify-content:flex-end;gap:1.15rem;flex-wrap:wrap}
.audience-personal-actions a{white-space:nowrap}
.audience-jump{font-weight:700;color:#684d28;text-decoration:none;border-bottom:1px solid #a78249;padding-bottom:.15rem}
.audience-jump:hover{color:#121718;border-bottom-color:#121718}
#serviceResults{scroll-margin-top:115px}
.services-depth{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding:1.1rem 1.35rem;border:1px solid #d4c6ae;background:#f5f0e6;color:#39443e}
.services-depth a{color:#70512a;font-weight:700;text-underline-offset:4px}
.services-depth a:hover{color:#121718}
.service-block h2 a{color:inherit;text-decoration:none;text-underline-offset:5px}
.service-block h2 a:hover,.service-block h2 a:focus-visible{color:#795b2c;text-decoration:underline}
.wa-mini-check{display:none}
.wa-contact.is-condensed{right:18px;bottom:max(18px,env(safe-area-inset-bottom));width:auto;max-width:calc(100vw - 36px);gap:.55rem;padding:.45rem .72rem;border-radius:999px;box-shadow:0 8px 24px #07170e35}
.wa-contact.is-condensed img{width:36px;height:36px}
.wa-contact.is-condensed .wa-contact-name,.wa-contact.is-condensed .wa-contact-meta{display:none}
.wa-contact.is-condensed .wa-contact-action{display:flex;align-items:center;gap:.4rem;margin:0;white-space:nowrap;font-size:.9rem}
.wa-contact.is-condensed .wa-mini-check{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#2793d2;color:#fff;font:700 .73rem/1 Arial,sans-serif}
@media(max-width:1000px){
  .wa-contact{right:14px;bottom:max(14px,env(safe-area-inset-bottom));width:auto;max-width:calc(100vw - 28px);gap:.55rem;padding:.45rem .72rem;border-radius:999px;box-shadow:0 8px 24px #07170e35}
  .wa-contact img{width:36px;height:36px}
  .wa-contact-name,.wa-contact-meta{display:none}
  .wa-contact-action{display:flex;align-items:center;gap:.4rem;margin:0;white-space:nowrap;font-size:.9rem}
  .wa-mini-check{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#2793d2;color:#fff;font:700 .73rem/1 Arial,sans-serif}
}
@media(max-width:700px){
  .audience-guide{padding:1.15rem}
  .audience-guide-head p{margin-top:.4rem}
  .audience-choice{min-height:80px}
  .audience-personal-actions{justify-content:flex-start;margin-top:.65rem;gap:.65rem 1rem}
  .services-depth{align-items:flex-start;flex-direction:column;gap:.35rem}
  .wa-contact{right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto;padding:.42rem .65rem}
  .wa-contact img{width:35px;height:35px}
}
@media(max-width:370px){.wa-contact-action{font-size:.82rem}.wa-contact img{width:32px;height:32px}}
body[data-page="contatti"] .wa-contact,body:has(.cookie-banner:not([hidden])) .wa-contact{display:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.audience-choice,.service-architecture .card{transition:none}}

/* Keep the first desktop viewport focused while retaining the card interaction. */
@media(min-width:1100px){
  .hero .wrap{min-height:450px}
  .hero-copy{padding:2.8rem 0 3.2rem}
  .hero .h1{font-size:clamp(4.5rem,5.1vw,5.65rem)}
  .hero p{margin:1.15rem 0 1.45rem}
  .home-services{padding-top:2.75rem}
  .service-architecture .card{min-height:232px;padding:1.3rem 1.5rem 1.15rem}
  .service-architecture .card h3{font-size:1.47rem;margin:.45rem 0 .35rem}
  .service-architecture .card p{font-size:.9rem;line-height:1.4;margin-bottom:.55rem}
  .service-architecture .card-number{font-size:.88rem}
  .service-mark{width:47px;height:47px;margin:-.1rem -.2rem 0 0}
  .service-mark svg{width:30px;height:30px}
  .card-action{padding-top:.55rem;font-size:.86rem}
  .card-action-arrow{width:30px;height:30px}
}
