/* Shared responsive layout: desktop, tablet and phone */
html{scroll-padding-top:24px}
body{font-size:17px;line-height:1.55}
main,article,section,fieldset,.wrap{min-width:0}
.wrap{max-width:calc(100% - 40px)}
:where(.hero,.story,.layout,.insurance-grid,.pros-grid,.news-grid,.mag-grid,.products,.years,.lottery-simple,.contact-grid)>*{min-width:0}
p,address,legend,.copy,figcaption,.news-copy,.policy-card,.pro-card{overflow-wrap:anywhere}
button,input,select,textarea{font:inherit}
input:not([type=checkbox]):not([type=radio]),select,textarea{max-width:100%;min-width:0;font-size:1rem}
fieldset{min-inline-size:0}
:where(.btn,.back,.book-link,.trip-share,.submit,.insurance-whatsapp){max-width:100%;white-space:normal;text-align:center}
.nav{height:auto;min-height:88px;gap:18px;flex-wrap:wrap;padding-block:16px}
.navlinks{display:flex;flex-wrap:wrap;gap:10px;min-width:0}
.navlinks a{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:.875rem;line-height:1.2;padding:10px 12px}
.news-return{flex-wrap:wrap}.news-return .back{min-height:44px;display:inline-flex;align-items:center;font-size:.875rem}
.language-trigger,.language-top-fixed,.language-home-fixed{width:44px;height:44px;flex-shrink:0}
.language-flags button{width:44px;height:44px}
.language-flags{max-height:calc(100dvh - 140px);overflow-y:auto;overscroll-behavior:contain}
.partners-viewport{touch-action:pan-x pan-y}.partners-track{padding-bottom:10px}
.insurance-types{grid-template-columns:repeat(3,minmax(0,1fr))}
.insurance-type h4{font-size:.875rem;line-height:1.35;min-height:58px;display:grid;place-items:center;overflow-wrap:anywhere}
.news-footer-copy{min-width:0;overflow-wrap:anywhere}
@media (max-width:1100px){
 .navlinks{width:100%;justify-content:flex-start}
 .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}
 .archive>.wrap{grid-template-columns:1fr}.archive .mag{min-height:0;display:grid;grid-template-columns:100px minmax(0,1fr)}
 .insurance-grid,.pros-grid{gap:32px}
}
@media (min-width:701px) and (max-width:1100px){
 .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-card{display:flex}.news-visual{aspect-ratio:16/10;min-height:0}
 .insurance-types{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:850px){
 .hero{grid-template-columns:minmax(0,1fr)}
 .lottery-simple{grid-template-columns:minmax(0,1fr);gap:22px}
 .lottery-head{grid-column:1;grid-row:1;text-align:center}
 .lottery .lottery-poster{grid-column:1;grid-row:2;width:min(360px,90%);margin:auto}
 .lottery-order{grid-column:1;grid-row:3}.lottery-share{grid-column:1;grid-row:4;justify-self:center}.lottery-note{grid-column:1;grid-row:5;text-align:center}
 .story,.layout{grid-template-columns:minmax(0,1fr)}.visuals{position:static}
 .other-insurance-head,.pros-contribute,.other-insurance-cta{flex-wrap:wrap}
 .news-accordion{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
 .wrap{width:calc(100% - 32px);max-width:calc(100% - 32px)}
 .navlinks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:9px}
 .navlinks a{font-size:.875rem;padding:10px 6px;letter-spacing:.025em;overflow-wrap:anywhere}
 .news-grid{grid-template-columns:minmax(0,1fr)}.news-card{display:flex}
 .news-copy p,.archive .mag-copy p,.archive-top .section-head p,.lottery-note,.gallery-entry-copy p{font-size:1rem;line-height:1.55}
 .insurance-types{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .insurance-type img{aspect-ratio:1;object-fit:contain}
 .insurance h2,.pros-title h2,.gallery-entry-copy h2{font-size:clamp(2.4rem,10vw,4rem);line-height:1.02;overflow-wrap:anywhere}
 .other-insurance-cta{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.other-insurance-cta a{width:100%;white-space:normal;font-size:.875rem}
 .news-banner .news-panel .news-subtitle{font-size:1rem;line-height:1.4}
 .language-menu{position:fixed;top:50%;bottom:auto;right:max(5px,env(safe-area-inset-right));transform:translateY(-50%);display:flex;flex-direction:column;width:44px;gap:7px}
 .language-flags{right:0;bottom:calc(100% + 8px);max-height:calc(100dvh - 100px)}
 body{padding-bottom:0}.news-footer-wrap{grid-template-columns:minmax(0,1fr)!important}.news-footer-logo{max-width:150px}
 .partners-head p,.kicker,.eyebrow,.tag,.pro-place,.pro-trade,.pros-tags span,.classic-insurers h3{font-size:.875rem;line-height:1.4}
 .contact-grid,.choices.two{grid-template-columns:minmax(0,1fr)}
 .choice{min-height:44px;font-size:1rem}.form{padding:22px 16px}.group{padding-inline:0}
 .trip-main{font-size:clamp(1.8rem,8vw,3.2rem);line-height:1.08;overflow-wrap:anywhere}
 .archive-top{display:block}.editor-signature{width:100%;min-width:0;margin:20px 0 0!important}
 .archive .mag{grid-template-columns:82px minmax(0,1fr);padding:18px;gap:16px}
 .gallery-entry-figure{max-width:100%;transform:none}.card figcaption{grid-template-columns:44px minmax(0,1fr)}
}
@media (max-width:390px){
 .navlinks{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero-copy{min-height:450px}.hero-title-logo{width:82%;left:9%;top:14px}.hero-mascot{width:68%;right:0;bottom:0}
 .year-logo-divider{grid-template-columns:minmax(0,1fr) minmax(0,170px) minmax(0,1fr)}
 .news-banner .news-panel{gap:8px;padding:12px 10px}.news-banner .news-panel .news-tab-title em{font-size:1.65rem;line-height:1.05}
 .insurance-type h4{font-size:.875rem;letter-spacing:.025em;padding-inline:4px}
 .partners-carousel{padding-inline:46px}.partner-arrow{width:44px;height:44px}
 .archive .mag{grid-template-columns:minmax(0,1fr)}.archive .cover{margin:auto}
}
@media (max-height:500px) and (max-width:1000px){
 .language-menu{position:fixed;top:50%;bottom:auto;right:5px;transform:translateY(-50%);flex-direction:column;width:44px}
 .language-flags{bottom:calc(100% + 8px);max-height:calc(100dvh - 85px)}
}

/* Gentle retro button motion on every page; transform keeps existing artwork angles. */
@keyframes kafer-button-lift{0%,65%,100%{translate:0 0}78%{translate:0 -3px}88%{translate:0 0}94%{translate:0 -1px}}
:is(.navlinks a,a.btn,a.back,.back>a,.insurance-whatsapp,.lottery-whatsapp,.lottery-share,.trip-share,.book-link,.museum-link,.contact-button,a.button,a.whatsapp,.pros-contribute>a,.other-insurance-cta>a,.actions>a,button:not(.partner-dot),.section-fold>summary){animation:kafer-button-lift 4.8s ease-in-out infinite!important;transition:translate .18s ease,scale .18s ease,filter .18s ease;transform-origin:center;touch-action:manipulation}
:is(.navlinks a,a.btn,a.back,.back>a,.insurance-whatsapp,.lottery-whatsapp,.lottery-share,.trip-share,.book-link,.museum-link,.contact-button,a.button,a.whatsapp,.pros-contribute>a,.other-insurance-cta>a,.actions>a,button:not(.partner-dot),.section-fold>summary):nth-child(2n){animation-delay:-1.6s!important}
:is(.navlinks a,a.btn,a.back,.back>a,.insurance-whatsapp,.lottery-whatsapp,.lottery-share,.trip-share,.book-link,.museum-link,.contact-button,a.button,a.whatsapp,.pros-contribute>a,.other-insurance-cta>a,.actions>a,button:not(.partner-dot),.section-fold>summary):nth-child(3n){animation-delay:-3.2s!important}
@media(hover:hover){:is(.navlinks a,a.btn,a.back,.back>a,.insurance-whatsapp,.lottery-whatsapp,.lottery-share,.trip-share,.book-link,.museum-link,.contact-button,a.button,a.whatsapp,.pros-contribute>a,.other-insurance-cta>a,.actions>a,button:not(.partner-dot),.section-fold>summary):hover{animation:none!important;translate:0 -4px;scale:1.025;filter:brightness(1.06)}}
:is(.navlinks a,a.btn,a.back,.back>a,.insurance-whatsapp,.lottery-whatsapp,.lottery-share,.trip-share,.book-link,.museum-link,.contact-button,a.button,a.whatsapp,.pros-contribute>a,.other-insurance-cta>a,.actions>a,button:not(.partner-dot),.section-fold>summary):focus-visible{animation:none!important;translate:0 -3px;outline:3px solid var(--yellow,#efc64d);outline-offset:4px}
:is(.navlinks a,a.btn,a.back,.back>a,.insurance-whatsapp,.lottery-whatsapp,.lottery-share,.trip-share,.book-link,.museum-link,.contact-button,a.button,a.whatsapp,.pros-contribute>a,.other-insurance-cta>a,.actions>a,button:not(.partner-dot),.section-fold>summary):active{animation:none!important;translate:2px 2px;scale:.97}
@media(prefers-reduced-motion:reduce){:is(.navlinks a,a.btn,a.back,.back>a,.insurance-whatsapp,.lottery-whatsapp,.lottery-share,.trip-share,.book-link,.museum-link,.contact-button,a.button,a.whatsapp,.pros-contribute>a,.other-insurance-cta>a,.actions>a,button:not(.partner-dot),.section-fold>summary){animation:none!important;transition:none;translate:none;scale:none}:is(.navlinks a,a.btn,a.back,.back>a,.insurance-whatsapp,.lottery-whatsapp,.lottery-share,.trip-share,.book-link,.museum-link,.contact-button,a.button,a.whatsapp,.pros-contribute>a,.other-insurance-cta>a,.actions>a,button:not(.partner-dot),.section-fold>summary):hover,:is(.navlinks a,a.btn,a.back,.back>a,.insurance-whatsapp,.lottery-whatsapp,.lottery-share,.trip-share,.book-link,.museum-link,.contact-button,a.button,a.whatsapp,.pros-contribute>a,.other-insurance-cta>a,.actions>a,button:not(.partner-dot),.section-fold>summary):active,:is(.navlinks a,a.btn,a.back,.back>a,.insurance-whatsapp,.lottery-whatsapp,.lottery-share,.trip-share,.book-link,.museum-link,.contact-button,a.button,a.whatsapp,.pros-contribute>a,.other-insurance-cta>a,.actions>a,button:not(.partner-dot),.section-fold>summary):focus-visible{translate:none;scale:none}}

/* Shared language controls and long translated copy. */
    .language-menu{position:fixed;z-index:9999;right:max(22px,env(safe-area-inset-right));top:50%;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translateY(-50%);isolation:isolate}
    .language-trigger{display:grid;place-items:center;width:48px;height:48px;padding:9px;border:1.5px solid rgba(23,35,31,.72);border-radius:50%;background:rgba(251,244,229,.62);color:var(--ink);cursor:pointer;box-shadow:0 4px 14px rgba(23,35,31,.22);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .16s,transform .16s}.language-trigger svg{width:100%;height:100%}.language-trigger:hover,.language-trigger:focus-visible,.language-trigger[aria-expanded="true"]{background:rgba(239,198,77,.68);transform:scale(1.05);outline:2px solid var(--ink);outline-offset:2px}
    .language-flags{position:absolute;right:0;top:auto;bottom:calc(100% + 10px);display:flex;flex-direction:column;gap:6px;max-height:calc(100vh - 90px);overflow-y:auto;padding:7px 5px;background:rgba(251,244,229,.97);border:2px solid var(--ink);box-shadow:4px 5px 0 rgba(23,35,31,.55);opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .16s,transform .16s,visibility .16s;backdrop-filter:blur(5px)}.language-menu.open .language-flags{opacity:1;visibility:visible;transform:translateY(0)}
    .language-flags button{display:grid;place-items:center;width:36px;height:29px;padding:0;border:1px solid rgba(23,35,31,.25);border-radius:2px;background:transparent;font-size:1.15rem;line-height:1;cursor:pointer;color:var(--ink);filter:saturate(.88);transition:transform .15s,background .15s}.language-flags button:hover,.language-flags button:focus-visible{background:var(--yellow);transform:scale(1.08);outline:1px solid var(--ink)}.language-flags button[aria-current="true"]{background:rgba(239,198,77,.65);border-color:var(--ink)}.language-top-fixed{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1.5px solid rgba(23,35,31,.72);border-radius:50%;background:rgba(251,244,229,.62);color:var(--ink);font:800 1.2rem/1 "League Spartan",sans-serif;cursor:pointer;box-shadow:0 4px 14px rgba(23,35,31,.22);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.language-top-fixed:hover,.language-top-fixed:focus-visible{background:rgba(239,198,77,.68);transform:scale(1.05);outline:2px solid var(--ink);outline-offset:2px}
.language-menu{right:max(5px,env(safe-area-inset-right))}.language-flags button{min-width:44px;min-height:44px}.language-flags{max-height:calc(100dvh - 100px)}
main,section,article,nav,header,footer,.copy{min-width:0}h1,h2,h3,summary,.back,.actions a{overflow-wrap:anywhere}img{max-width:100%;height:auto}input,select,textarea{max-width:100%;font-size:16px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a6463d;outline-offset:4px}
@media(max-width:600px){.news-return,.actions{flex-wrap:wrap}.language-menu{width:44px}.language-trigger,.language-top-fixed{min-width:44px;min-height:44px}.copy{overflow-wrap:break-word}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
