/* PONTO AUTENTICA — affirmation, editorial marker, direction, portal. */
:root{--autentica-wine:#71283C;--autentica-square-xs:7px;--autentica-square-sm:9px;--autentica-square-md:10px;--autentica-point-ease:cubic-bezier(.22,.61,.36,1);--autentica-point-duration:500ms}
.ponto-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.ponto-final{display:inline-block;width:var(--autentica-square-xs);height:var(--autentica-square-xs);background:var(--autentica-wine);margin-left:.13em;vertical-align:baseline}
/* Reserved slots keep the editorial text still while selection changes. */
.ponto-marker{position:relative;display:inline-block;vertical-align:middle;width:16px;height:var(--autentica-square-sm);flex-shrink:0}
.ponto-marker::before{content:'';position:absolute;inset:0 auto 0 0;width:var(--autentica-square-sm);background:var(--autentica-wine);opacity:0}
.ponto-current .ponto-marker::before{opacity:1}
.ponto-direction{width:36px}
.ponto-direction::after{content:'';position:absolute;left:var(--autentica-square-sm);top:4px;width:21px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform var(--autentica-point-duration) var(--autentica-point-ease)}
.home-program-card:focus-visible .ponto-direction::after{transform:scaleX(1)}
@media(hover:hover){.home-program-card:hover .ponto-direction::after{transform:scaleX(1)}}
.home-paths .ponto-current .path-number{color:var(--blue)}
.ponto-index{font-variant-numeric:tabular-nums}
/* Native details exposes expanded/collapsed semantics. One current portal avoids repetition. */
.home-faq summary .ponto-portal{position:relative;display:block;flex:0 0 var(--autentica-square-md);width:var(--autentica-square-md);height:var(--autentica-square-md);font-size:0;transform:none!important;border:1px solid transparent;transition:border-color var(--autentica-point-duration) var(--autentica-point-ease)}
.home-faq .ponto-current summary .ponto-portal{border-color:var(--autentica-wine)}
.ponto-portal::before{content:'';position:absolute;inset:0;background:var(--autentica-wine);opacity:0;transition:opacity var(--autentica-point-duration) var(--autentica-point-ease)}
.home-faq .ponto-current:not([open]) .ponto-portal::before{opacity:1}
.home-faq summary:hover,.home-faq summary:focus-visible{color:var(--blue)}
/* Keep the square for primary and final actions. Secondary CTAs retain their space and label. */
.home-new .cta-mark{visibility:hidden}
.home-stage .cta-mark,.home-final .cta-mark{visibility:visible;--cta-square:var(--autentica-square-md);--cta-wine:var(--autentica-wine)}
.home-view header .nav-cta .cta-mark{visibility:hidden}
@media(prefers-reduced-motion:reduce){.ponto-direction::after,.ponto-portal,.ponto-portal::before{transition:none!important}}
/* Navigation: the wine square appears on intention, without moving the label. */
header nav a{position:relative}
header nav a::after{content:'';position:absolute;left:50%;bottom:-1px;width:var(--autentica-square-sm,9px);height:var(--autentica-square-sm,9px);background:#71283C;pointer-events:none;opacity:0;transform:translate(-50%,3px);transition:opacity 460ms cubic-bezier(.22,.61,.36,1),transform 460ms cubic-bezier(.22,.61,.36,1)}
header nav a:focus-visible{border-bottom-color:transparent}
header nav a:focus-visible::after{opacity:1;transform:translate(-50%,0)}
@media(hover:hover) and (pointer:fine){header nav a:hover{border-bottom-color:transparent}header nav a:hover::after{opacity:1;transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){header nav a::after{transition:none;transform:translate(-50%,0)}}

/* Logo signature: overlay only the original square; the original asset stays intact. */
header .logo-link{position:relative;display:block;flex-shrink:0}
.logo-wine-motion{position:absolute;left:92.6190476%;top:49.5145631%;width:5.952381%;height:25.2427184%;background:var(--blue,#082744);pointer-events:none;--logo-travel:10px}
.logo-wine-motion::before{content:'';position:absolute;left:4%;top:3.846154%;width:92%;height:92.307692%;background:#71283C;z-index:1;transition:transform 500ms cubic-bezier(.22,.61,.36,1)}
.logo-wine-motion::after{content:'';position:absolute;left:4%;top:50%;width:var(--logo-travel);height:1px;background:var(--gold,#b78845);transform:scaleX(0);transform-origin:left center;transition:transform 500ms cubic-bezier(.22,.61,.36,1)}
body:not(.hero-intro-active):not(.hero-intro-pending) .logo-link:focus-visible .logo-wine-motion::before{transform:translateX(var(--logo-travel))}
body:not(.hero-intro-active):not(.hero-intro-pending) .logo-link:focus-visible .logo-wine-motion::after{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){
 body:not(.hero-intro-active):not(.hero-intro-pending) .logo-link:hover .logo-wine-motion::before{transform:translateX(var(--logo-travel))}
 body:not(.hero-intro-active):not(.hero-intro-pending) .logo-link:hover .logo-wine-motion::after{transform:scaleX(1)}
}
@media(max-width:650px){.logo-wine-motion{--logo-travel:7px}}
@media(prefers-reduced-motion:reduce){.logo-wine-motion::before,.logo-wine-motion::after{transition:none!important;transform:none!important}.logo-wine-motion::after{display:none}}
