/* Launch accessibility fixes. Preserve the approved typography, palette and layout. */
/* One gentle wobble per hover; the link itself stays still and easy to click. */
@keyframes yeti-logo-wobble{
 0%,100%{transform:rotate(0deg)}
 20%{transform:rotate(-4deg)}
 40%{transform:rotate(3deg)}
 60%{transform:rotate(-2deg)}
 80%{transform:rotate(1deg)}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .header>.brand:hover>img,.authority-footer .footer-company>.brand:hover>img{
  transform-origin:50% 50%;animation:yeti-logo-wobble 700ms ease-in-out 1;
 }
}
/* Decorations may bleed within a section, but must not widen the page.
   Clip does not create a scroll container or interfere with the nested rails. */
main{overflow-x:clip}
:where(.wrap,.footer-directory,.network-destinations)>*{min-width:0}
@media(max-width:600px){
 /* A centred flex item otherwise sizes from the artwork's intrinsic width. */
 .hero-art{width:100%;max-width:620px;min-width:0;margin-inline:0}
 .engine-showcase .product-stage:before{inset:9% 0 10%;transform:none}
 .network-destinations{grid-template-columns:repeat(2,minmax(0,1fr))}
 .network-destinations>span{overflow-wrap:anywhere}
 .quote-facts{flex-wrap:wrap}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.enquiry-fields{min-width:0;margin:0;padding:0;border:0}
.enquiry-fields:disabled{opacity:.7}
.enquiry-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.enquiry-error{color:#9b1c1c;margin:14px 0 0}
.enquiry-fields[aria-busy="true"] .button{opacity:.7;cursor:progress}
#enquiry-sent:focus{outline:none}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--teal);outline-offset:4px}
:where(.authority-footer,.insurers,.navy-section,.yc-engine,.yc-hero) :where(a,button,summary,[tabindex]):focus-visible{outline-color:var(--yellow)}
#main:focus{outline:none}
.button:hover{background:var(--teal);color:white}
.header-contact:hover,.button-light:hover{background:var(--yellow);color:var(--navy)}
:where(button,input,textarea,select){font-family:inherit}
:where(.page-actions,.hero-actions,.page-close,.founding-cta)>*{min-width:0}
:where(.page-actions,.hero-actions) a{white-space:normal}
:where(pre,code){overflow-wrap:anywhere}
pre{max-width:100%;overflow-x:auto}
:where(.legal-copy,.footer-directory,.contact-hero) a{overflow-wrap:anywhere}
.legal-table-scroll{overflow-x:auto;overscroll-behavior-inline:contain;margin-block:20px}
.legal-table-scroll table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.7;text-align:left}
.legal-table-scroll th,.legal-table-scroll td{padding:16px 18px;border:1px solid var(--line);vertical-align:top;overflow-wrap:break-word}
.legal-table-scroll thead{background:#edf4f1}
.legal-table-scroll tbody th{font-weight:500;width:46%}
.logo-track.motion-allowed{animation:logo-belt var(--carousel-duration,36s) linear infinite!important}
.logo-track:focus-within{animation-play-state:paused!important}
.brand-art-carousel .brand-carousel-controls button{min-width:44px;min-height:44px}
.missing-page{padding-block:65px;max-width:850px}
.missing-page .brand{margin-bottom:60px}
.footer-regulatory a,.footer-legal a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.missing-page h1{font-size:clamp(36px,5vw,62px);font-weight:600;margin-bottom:25px}
@media(max-width:950px){
 .header{width:100%;padding-inline:28px;gap:20px}
 .header .brand{max-width:calc(100% - 72px)}
 .menu-toggle{display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;width:48px;height:48px;background:none;border:0;margin-left:auto;padding:8px}
 .menu-toggle>span{width:25px;height:2px;background:var(--navy);display:block;transition:transform .2s}
 .menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(4.5px) rotate(45deg)}
 .menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
 .mobile-nav:not([hidden]){display:flex;position:absolute;left:20px;right:20px;top:100%;width:auto;padding:15px 24px;flex-direction:column;background:white;box-shadow:0 15px 25px #04265716;border:1px solid var(--line);z-index:25;max-height:calc(100dvh - 130px);overflow-y:auto;overscroll-behavior:contain}
 .mobile-nav a{font-size:17px;min-height:44px;padding-block:10px;flex-shrink:0}
}
@media(max-width:600px){
 .header{padding-inline:20px}
 .legal-table-scroll th,.legal-table-scroll td{padding:12px 10px;font-size:14px}
 .legal-table-scroll tbody th{width:44%}
 .page-close{gap:25px}
 :where(.contact-direct,.footer-email){overflow-wrap:anywhere}
 .hero-actions{flex-wrap:wrap}
 .format-tabs{max-width:100%}
}
@media(max-width:360px){.header{padding-inline:16px}.mobile-nav:not([hidden]){left:16px;right:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.menu-toggle>span{transition:none}}
@media(forced-colors:active){
 .button,.brand-swatch,.pet-choice label,.menu-toggle{border:1px solid ButtonText}
 :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid Highlight}
 .choice-dot{border:1px solid ButtonText}.pet-choice input:checked~.choice-dot{background:Highlight;forced-color-adjust:none}
 .menu-toggle>span{background:ButtonText}
}
