
/* BrunelloVarique: accessibility, consistent site shell and simple carousels. */
img { max-width: 100%; height: auto; }
html { scroll-behavior: auto; }
body { margin: 0; min-width: 0; }
*, *::before, *::after { box-sizing: border-box; }
.bv-page-main { min-width:0; width:100%; }
.hero-title { font-size:var(--font-size-4xl); line-height:1.22; }
.section-title { font-size:var(--font-size-3xl); }
:where(.bv-legal-main, .bv-home-guide) a { color:var(--color-primary); text-decoration:underline; text-underline-offset:3px; }
:where(.bv-legal-main, .bv-home-guide) a:visited { color:var(--color-primary); }
:where(.bv-legal-main, .bv-home-guide) a:hover { color:var(--color-accent); }
:where(.bv-legal-main, .bv-home-guide) a:active { color:var(--color-on-surface); }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {outline:2px solid var(--color-primary);outline-offset:3px}
.bv-site-header { position:relative;z-index:1000;width:100%;background:var(--color-surface);color:var(--color-on-surface);border-bottom:1px solid color-mix(in srgb,var(--color-neutral) 27%,transparent); }
.bv-site-header__inner { max-width:var(--content-max-width); margin:auto;padding:16px clamp(16px,4vw,38px);display:flex;justify-content:space-between;align-items:center;gap:20px; }
.bv-site-header__brand {display:flex;gap:12px;align-items:center;color:var(--color-on-surface)!important;text-decoration:none!important;flex-shrink:0;}
.bv-site-header__mark {width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--color-primary);font:600 12px var(--font-family-body);letter-spacing:.06em;color:var(--color-primary);}
.bv-site-header__wordmark {display:flex;flex-direction:column;font-family:var(--font-family-heading);font-size:clamp(18px,2vw,23px);line-height:1.15;white-space:nowrap;}
.bv-site-header__wordmark small {margin-top:4px;font:500 9px var(--font-family-body);letter-spacing:.23em;}
.bv-site-header__nav {display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:clamp(11px,1.9vw,26px);}
.bv-site-header__link {position:relative;padding:9px 0;color:var(--color-on-surface)!important;text-decoration:none!important;font:500 12px var(--font-family-body);letter-spacing:.045em;white-space:nowrap;}
.bv-site-header__link::after {content:"";height:1px;position:absolute;bottom:3px;left:0;right:0;background:var(--color-primary);transform:scaleX(0);transform-origin:left;transition:transform .15s ease;}
.bv-site-header__link[aria-current="page"]::after,.bv-site-header__link:hover::after,.bv-site-header__link:focus-visible::after {transform:scaleX(1)}
.bv-site-header__toggle {display:none;width:44px;height:44px;border:1px solid var(--color-outline);border-radius:4px;padding:10px;background:transparent;cursor:pointer;flex:0 0 44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;}
.bv-site-header__toggle span {display:block;width:22px;height:2px;background:var(--color-on-surface);}
.bv-legal-main {display:block;width:100%;background:var(--color-surface);color:var(--color-on-surface);}
.bv-legal-container {width:min(100% - 40px,960px);margin-inline:auto;}
.bv-legal-hero {padding:clamp(65px,9vw,124px) 0 clamp(45px,5vw,80px);background:var(--color-surface-tint);border-bottom:1px solid var(--color-outline);}
.bv-legal-kicker {font:600 .78rem var(--font-family-body);color:var(--color-primary);letter-spacing:.16em;}
.bv-legal-hero h1 {font-family:var(--font-family-heading);font-weight:var(--font-weight-heading);margin:22px 0;}
.bv-legal-lead {font-size:1.06rem;color:var(--color-on-surface-secondary);max-width:68ch;line-height:1.7;}
.bv-legal-body {padding:clamp(44px,6vw,85px) 0 90px;}
.bv-legal-updated {font-size:.81rem;letter-spacing:.03em;color:var(--color-on-surface-secondary);}
.bv-legal-section {padding:26px 0;border-bottom:1px solid color-mix(in srgb,var(--color-neutral) 22%,transparent);}
.bv-legal-section h2 {margin:0 0 14px;font-family:var(--font-family-heading);font-size:clamp(1.45rem,1.2rem + 1vw,2.1rem);}
.bv-legal-section p {max-width:78ch;margin:0;color:var(--color-on-surface-secondary);line-height:1.85;overflow-wrap:anywhere;}
.bv-legal-data {margin:30px 0 0;padding:26px;border:1px solid var(--color-outline);background:var(--color-surface-elevated);width:100%;}
.bv-legal-data h4 {font:600 .83rem var(--font-family-body);color:var(--color-primary);margin:0 0 16px;letter-spacing:.1em;text-transform:uppercase;}
.bv-legal-data dl {margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;}
.bv-legal-data dl div {min-width:0;overflow-wrap:anywhere;}
.bv-legal-data dt {font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;opacity:.7;}
.bv-legal-data dd {margin:5px 0 0;font-size:.85rem;line-height:1.6;}
.bv-footer-root .bv-legal-data {margin-top:clamp(20px,3vw,34px);background:transparent;border-color:color-mix(in srgb,currentColor 20%,transparent);}
.bv-footer-root .bv-legal-data dl {grid-template-columns:repeat(4,minmax(0,1fr));}
.bv-footer-root .bv-legal-data dt,.bv-footer-root .bv-legal-data dd {color:inherit;}
.bv-footer-meta-right {display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.bv-home-guide {padding:clamp(55px,7vw,95px) 0;background:var(--color-surface);}
.bv-home-guide .section-title {font-family:var(--font-family-heading);}
.bv-home-guide__item {padding:20px 0;border-bottom:1px solid color-mix(in srgb,var(--color-neutral) 25%,transparent);}
.bv-home-guide__item h3 {font-size:1.04rem;margin:0 0 9px;}
.bv-home-guide__item p {margin:0;color:var(--color-on-surface-secondary);}
/* Instant carousel states: still manual next/previous and touch scroll, no slide/scale/fade animations. */
.bv-carousel-card,.gallery-item,.timeline-card,.bv-carousel-track,.gallery-carousel-track,.timeline-carousel-track,
.bv-carousel-img,.gallery-item img,.timeline-card img {transition:none!important;animation:none!important;}
.bv-carousel-card.is-active,.bv-carousel-card.is-prev,.bv-carousel-card.is-next {transform:none!important;}
.gallery-item-active,.gallery-item-prev,.gallery-item-next {transform:none!important;}
.timeline-carousel-track {scroll-behavior:auto!important;}
@media(max-width:900px) {
 .bv-site-header__inner {padding:12px 20px;}
 .bv-site-header__toggle {display:flex;}
 .bv-site-header__nav {display:none;position:absolute;left:0;right:0;top:100%;z-index:1000;max-height:calc(100dvh - 65px);overflow:auto;background:var(--color-surface);padding:16px 24px 25px;box-shadow:0 18px 25px rgba(0,0,0,.14);border-bottom:1px solid var(--color-outline);flex-direction:column;gap:0;align-items:stretch;}
 .bv-site-header__nav.is-open {display:flex;}
 .bv-site-header__link {display:block;padding:13px 7px;font-size:1rem;border-bottom:1px solid color-mix(in srgb,var(--color-neutral) 18%,transparent);}
 .bv-footer-root .bv-legal-data dl {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767px) {
 .hero-section,.hero-title,.section-title {overflow-wrap:anywhere;word-break:break-word;white-space:normal;}
 .bv-legal-container {width:min(100% - 32px,960px);}
 .bv-legal-hero {padding:54px 0 45px;}
 .bv-legal-data {padding:18px;}
 .bv-legal-data dl,.bv-footer-root .bv-legal-data dl {grid-template-columns:1fr;}
 .bv-site-header__wordmark {font-size:18px;}
 .bv-site-header__inner {padding:10px 16px;}
 .bv-site-header__mark {width:32px;height:32px;}
 .bv-site-header__brand {gap:8px;}
 .bv-legal-section {padding:23px 0;}
}

.bv-simple-carousel-btn{border:0;background:transparent;color:var(--color-on-surface);cursor:pointer;min-width:42px;min-height:38px;font:600 1.4rem var(--font-family-body);}
.bv-simple-carousel-btn:hover{color:var(--color-primary);}
.bv-simple-carousel-counter{min-width:64px;text-align:center;color:var(--color-on-surface);font:500 .78rem var(--font-family-body);white-space:nowrap;}
@media(max-width:479px){
 .about-us-btn,.services-btn,.btn.btn-outline{box-sizing:border-box;max-width:100%;min-width:0!important;width:auto!important;white-space:normal!important;overflow-wrap:anywhere;padding-inline:14px!important;gap:8px;}
 .about-us-btn > span,.services-btn > span{overflow-wrap:anywhere;white-space:normal;}
 .expertise-split-grid > *, .services-feature-grid > *,.process-detail-grid > * {min-width:0;}
}
