/* v7 polish layer: tactile controls, segmented tabs, soft cards, graphs. Brand colours come from each site's own variables via --v7-*. */
:root{--v7-ease:cubic-bezier(.22,1,.36,1);--v7-track:#F2F2F2;--v7-thumb:#fff;--v7-ink:#111;--v7-acc:#111;--v7-card:#F5F5F5}
a.btn,.btn,.sp-btn,button,.hc,.card,.sc,.wc,.ac{-webkit-tap-highlight-color:transparent}
a.btn,.btn,.sp-btn{transition:transform .2s var(--v7-ease),background-color .2s,color .2s,border-color .2s,opacity .2s!important;will-change:transform}
a.btn:hover,.btn:hover,.sp-btn:hover{transform:translateY(-1px)}
a.btn:active,.btn:active,.sp-btn:active,button:active{transform:scale(.97)!important;transition-duration:.08s!important}
a.btn:focus-visible,.btn:focus-visible,button:focus-visible,[role=tab]:focus-visible{outline:2px solid var(--v7-acc);outline-offset:3px}
/* segmented tabs */
.v7-tabs{position:relative;display:inline-flex;gap:2px;padding:4px;border-radius:999px;background:var(--v7-track);max-width:100%;overflow-x:auto;scrollbar-width:none;margin:0 0 28px}
.v7-tabs.full{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(max-content,1fr);width:100%}
.v7-tabs::-webkit-scrollbar{display:none}
.v7-tabs button{position:relative;z-index:1;border:0;background:none;font:500 14.5px/1 Inter,system-ui,sans-serif;color:#555;padding:11px 18px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:color .25s var(--v7-ease),transform .2s var(--v7-ease)}
.v7-tabs button[aria-selected=true]{color:var(--v7-ink)}
.v7-tabs .v7-thumb{position:absolute;z-index:0;top:4px;bottom:4px;left:0;border-radius:999px;background:var(--v7-thumb);box-shadow:0 1px 2px rgba(0,0,0,.06);transition:transform .42s var(--v7-ease),width .42s var(--v7-ease)}
.v7-panels{display:grid}
.v7-box .v7-panels>*{position:relative!important;inset:auto!important;grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .32s var(--v7-ease),transform .42s var(--v7-ease),visibility 0s .32s}
.v7-box .v7-panels>.v7-on{opacity:1;visibility:visible;transform:none;transition:opacity .38s var(--v7-ease) .06s,transform .46s var(--v7-ease) .06s,visibility 0s}
.v7-prog{height:2px;background:rgba(0,0,0,.08);border-radius:2px;margin-top:18px;overflow:hidden;max-width:240px}
.v7-prog i{display:block;height:100%;width:0;background:var(--v7-acc)}
/* graphs */
.v7-graph{margin-top:40px;padding:28px;border-radius:24px;background:var(--v7-card)}
.v7-graph h4{font:600 15px/1.2 Inter,sans-serif;letter-spacing:-.01em;margin:0 0 4px;color:var(--v7-ink)}
.v7-graph .v7-sub{font-size:13.5px;color:#666;margin:0 0 20px}
.v7-row{display:grid;grid-template-columns:minmax(120px,1.1fr) 3fr minmax(64px,max-content);align-items:center;gap:16px;padding:9px 0;cursor:default;border-radius:10px;transition:background-color .2s}
.v7-row span{font-size:14px;color:#444}
.v7-row b{font:600 15px/1 Inter,sans-serif;text-align:right;color:var(--v7-ink);font-variant-numeric:tabular-nums}
.v7-bar{height:10px;border-radius:999px;background:rgba(0,0,0,.06);overflow:hidden}
.v7-bar i{display:block;height:100%;width:0;border-radius:999px;background:var(--v7-acc);transition:width 1.1s var(--v7-ease)}
.v7-graph.dim .v7-row:not(.hot){opacity:.45}
.v7-row{transition:opacity .25s,background-color .2s}
@media(max-width:760px){.v7-row{grid-template-columns:1fr auto;gap:6px 12px}.v7-row b{white-space:nowrap;font-size:14px}.v7-row .v7-bar{grid-column:1/-1;order:3}.v7-graph{padding:20px}}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

.v7-split{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}.v7-split.nomedia{grid-template-columns:1fr}.v7-split>img{width:100%;height:100%;min-height:320px;object-fit:cover;border-radius:24px}
@media(max-width:760px){.v7-split{grid-template-columns:1fr}.v7-split>img{min-height:220px;max-height:260px}.v7-tabs.full{grid-auto-columns:max-content}}
.v7-box .v7-panels>*:not(.v7-on){opacity:0!important;visibility:hidden!important}
.v7-box .v7-panels>.v7-on{opacity:1!important;visibility:visible!important}
/* v8 tactile buttons: soft emboss at rest, deboss on press */
a.btn,.btn,.sp-btn,a.pl,.nl button,form button[type=submit]{box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,0,0,.14),0 1px 2px rgba(0,0,0,.07),0 2px 6px -2px rgba(0,0,0,.08)!important;transition:transform .22s var(--v7-ease),box-shadow .22s var(--v7-ease),background-color .2s,color .2s,border-color .2s!important}
a.btn:hover,.btn:hover,.sp-btn:hover,a.pl:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.32),inset 0 -1px 0 rgba(0,0,0,.14),0 2px 4px rgba(0,0,0,.08),0 6px 14px -6px rgba(0,0,0,.14)!important}
a.btn:active,.btn:active,.sp-btn:active,a.pl:active,.nl button:active,form button[type=submit]:active{transform:translateY(1px) scale(.985)!important;box-shadow:inset 0 2px 5px rgba(0,0,0,.24),inset 0 -1px 0 rgba(255,255,255,.12),0 0 0 rgba(0,0,0,0)!important;transition-duration:.07s!important}
.v7-tabs{box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}
.v7-tabs .v7-thumb{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(0,0,0,.08),0 2px 6px -2px rgba(0,0,0,.08)}
.v7-tabs button:active{transform:scale(.97)}
/* dp3 phone polish: tab pills fit their card, progress spans the text */
.v7-prog{max-width:none!important;width:100%;margin-top:20px}
.v7-box{padding-bottom:24px!important}
@media(max-width:560px){
.ic .v7-tabs.full{grid-auto-columns:minmax(0,1fr)!important;gap:0}
.ic .v7-tabs.full button{padding:10px 4px;font-size:13px;min-width:0;overflow:hidden;text-overflow:clip}
.v7-tabs:not(.full){-webkit-mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);scroll-padding:0 16px}
}
@media(max-width:560px){:not(.ic)>.v7-tabs{-webkit-mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent);padding-inline:6px!important;scroll-padding:0 16px}}
:not(.ic)>.v7-panels>*:not(.v7-on),.v7-box:not(.ic) .v7-panels>*:not(.v7-on){display:none!important}
.sp-w .v7-tabs.full,.sp-w .v7-panels{max-width:760px}.sp-w .me-h{margin-top:36px!important}.sp-w>.me-h:first-child{margin-top:0!important}
@media(max-width:599px){.v7-tabs.full>button,.v7-tabs.full>a{padding-left:9px!important;padding-right:9px!important;font-size:13px!important;flex:1 1 auto!important;min-width:0!important}}
