/* The original navy and emerald identity, with copper as a small accent. */
body.digital-home .focused-hero { position: relative; }
.hero-sector-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.hero-sector-tabs button { min-height: 44px; padding: 9px 13px; color: #c5dcd7; background: #ffffff06; border: 1px solid #8de0bc36; border-radius: 30px; font: inherit; font-size: 12px; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.hero-sector-tabs button:hover { background: #8de0bc15; border-color: #8de0bc; }
.hero-sector-tabs button[aria-pressed="true"] { background: #8de0bc; color: #071b35; border-color: #8de0bc; }
body.digital-home .sc-scene { height: 435px; }
body.digital-home .sc-scene-art { transition: opacity .4s, transform .6s; }
.focused-hero[data-hero-sector]:not([data-hero-sector="all"]) .sc-scene-art { opacity: .16; transform: scale(.88) translateY(15px); }
.hero-sector-art { position: absolute; inset: 0; z-index: 1; pointer-events: none; display: grid; place-items: center; overflow: hidden; }
.hero-sector-panel { position: relative; width: min(76%, 330px); aspect-ratio: 1; display: grid; place-items: center; animation: sector-enter .45s ease both; }
.hero-sector-panel svg { display: block; width: 90%; height: 90%; color: #8de0bc; filter: drop-shadow(0 15px 20px #0006); }
.hero-sector-panel::after { content: ''; position: absolute; bottom: 10%; left: 17%; right: 17%; height: 12%; border-radius: 50%; background: #36aa8526; filter: blur(13px); }
.hero-sector-panel .scene-float { transform-box: fill-box; transform-origin: center; animation: sector-float 5s ease-in-out infinite; }
.hero-sector-caption { color: #dcece5; font-size: 13px; text-align: center; margin-block: 0 12px; letter-spacing: .1px; }
@keyframes sector-enter { from { opacity: 0; transform: translateY(14px) scale(.94); } to { opacity: 1; transform: none; } }
@keyframes sector-float { 50% { transform: translateY(-8px); } }
.hero-motion-paused *, .hero-document-hidden * { animation-play-state: paused !important; }
body.digital-site .service-card { border-radius: 16px; padding: 28px; box-shadow: 0 7px 28px #071b3505; transition: transform .24s, box-shadow .24s, border-color .24s; }
body.digital-site .service-card .service-icon { width: 64px; height: 64px; border-radius: 17px; background: linear-gradient(145deg, #e3f3e9, #f5faf6); border-color: #d0e6d8; color: #157655; }
body.digital-site .service-card .service-icon svg { width: 35px; height: 35px; }
body.digital-site .service-card .card-index { color: #869c93; font-size: 13px; }
body.digital-site .service-card h3 { font-size: 21px; line-height: 1.85; }
body.digital-site .service-card .detail-link { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; color: #157655; }
@media (hover:hover) and (pointer:fine) { body.digital-site .service-card:hover { transform: translateY(-6px); box-shadow: 0 22px 42px #071b3510; border-color: #58a98b; } }
body.digital-site .service-card:focus-within { border-color: #157655; box-shadow: 0 0 0 2px #15765522; }
body.service-preview-open { overflow: hidden; }
dialog.service-preview { position: fixed; inset: 0 0 0 auto; margin: 0; width: min(560px, 100%); max-width: 100%; height: 100%; height: 100dvh; max-height: 100%; border: none; border-inline-start: 1px solid #c9dfd3; border-radius: 0; background: #f8faf7; color: #152e38; padding: 0; box-shadow: -20px 0 80px #00122433; overflow-y: auto; overscroll-behavior: contain; }
dialog.service-preview::backdrop { background: #041528b8; backdrop-filter: blur(4px); }
.preview-top { position: sticky; inset-block-start: 0; display: flex; align-items: center; justify-content: space-between; background: #f8faf7f5; border-bottom: 1px solid #dce5df; padding: 16px 26px; z-index: 3; }
.preview-top > span { font-size: 12px; color: #157655; }
.service-preview .dialog-close { position: static; min-width: 44px; min-height: 44px; font: inherit; border: 1px solid #c9dfd3; border-radius: 50%; color: #071b35; background: #fff; cursor: pointer; }
.preview-content { padding: 30px 30px 22px; }
.preview-category { color: #157655; font-size: 13px; }
.service-preview h2 { font-size: clamp(25px,5vw,32px); line-height: 1.7; color: #071b35; margin: 10px 0 18px; }
.service-preview h3 { font-size: 17px; color: #071b35; margin: 26px 0 12px; }
.service-preview p, .service-preview li { font-size: 14px; line-height: 2.1; }
.service-preview ul { padding-inline-start: 22px; }
.service-preview li { margin-block: 9px; padding-inline-start: 3px; }
.service-preview li::marker { color: #36aa85; }
.preview-checklist { padding: 18px 22px; border-radius: 14px; background: #edf4ef; border: 1px solid #d7e6db; margin-top: 26px; }
.preview-checklist h3 { margin-top: 0; }
.preview-checklist p { font-size: 11px; color: #5c6c71; }
.preview-steps { list-style: none; padding: 0; counter-reset: preview; }
.preview-steps li { display: flex; gap: 12px; align-items: center; }
.preview-steps li::before { counter-increment: preview; content: '0' counter(preview); display: grid; place-items: center; flex-shrink: 0; width: 31px; height: 31px; border-radius: 50%; border: 1px solid #c5ddd0; color: #157655; font: 12px Arial, sans-serif; }
.preview-actions { padding: 20px 30px 28px; display: flex; flex-wrap: wrap; gap: 10px; border-top: 1px solid #dce5df; background: #fff; }
.preview-actions .button { flex: 1 1 180px; justify-content: center; }
.preview-actions .preview-full { flex-basis: 100%; text-align: center; padding: 8px; font-size: 12px; color: #157655; text-decoration: underline; text-underline-offset: 5px; }
.mobile-selection { display: none; }
@media (max-width:650px) {
  body.digital-home .sc-scene { height: 330px; }
  .hero-sector-tabs { gap: 6px; }
  .hero-sector-tabs button { font-size: 11px; padding-inline: 11px; }
  body.digital-site .service-card { padding: 23px; }
  body.digital-site .service-card h3 { font-size: 19px; }
  .preview-top { padding: 12px 20px; }
  .preview-content { padding: 22px; }
  .preview-actions { padding: 18px 22px calc(20px + env(safe-area-inset-bottom,0px)); }
  body.digital-site .mobile-service-bar { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom,0px)); }
  .mobile-selection { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 9px; min-width: 0; padding-inline: 2px; }
  .mobile-selection small { flex-shrink: 0; font-size: 10px; color: #5c6c71; }
  .mobile-selection strong { display: block; min-width: 0; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; font-size: 12px; color: #071b35; line-height: 1.8; }
  body.digital-site .mobile-service-bar a { font-size: 13px; min-height: 44px; }
  body.digital-site .mobile-service-bar a[href^="tel:"] { background: #071b35; border-color: #071b35; color: #fff; }
  body.digital-site .mobile-service-bar [data-mobile-request] { background: #157655; border-color: #157655; color: #fff; }
  body.digital-site.has-mobile-bar { padding-bottom: calc(112px + env(safe-area-inset-bottom,0px)); }
  body.digital-site.has-mobile-bar .floating-contact.immersive-call { bottom: calc(123px + env(safe-area-inset-bottom,0px)); }
}
@media (prefers-reduced-motion: reduce) { .hero-sector-panel, .hero-sector-panel .scene-float { animation: none; } .sc-scene-art, body.digital-site .service-card { transition: none; } }
@media print { .hero-sector-tabs, .service-preview, .mobile-selection { display: none !important; } body.digital-site.has-mobile-bar { padding-bottom: 0; } }
