@import url("https://fonts.googleapis.com/css2?family=Baloo+2:wght@700;800&family=Poppins:wght@500;600&display=swap");

/* High-impact home welcome banner. The carnival theme is isolated from the game and contest pages. */
.home-carnival{position:relative;isolation:isolate;display:flex;align-items:center;min-height:520px;gap:22px;margin-bottom:30px;padding:56px clamp(25px,6vw,78px) 48px;overflow:hidden;border:3px solid rgba(255,211,90,.82);border-radius:34px;background:radial-gradient(circle at 18% 12%,rgba(255,240,142,.22),transparent 26%),radial-gradient(circle at 90% 16%,rgba(242,99,181,.38),transparent 28%),linear-gradient(135deg,#17134e 0%,#37207e 45%,#802b9f 75%,#d84487 100%);box-shadow:0 24px 55px rgba(47,20,119,.26),0 0 0 6px rgba(255,211,90,.1);color:#fff}
.home-carnival:before{content:"";position:absolute;inset:0;z-index:-2;opacity:.52;background:repeating-linear-gradient(115deg,transparent 0 72px,rgba(255,255,255,.06) 73px 76px,transparent 77px 148px)}
.home-carnival:after{content:"";position:absolute;z-index:-1;right:-140px;bottom:-190px;width:620px;height:620px;border:2px solid rgba(255,220,108,.2);border-radius:50%;box-shadow:0 0 0 34px rgba(255,220,108,.055),0 0 0 72px rgba(255,220,108,.045),0 0 0 110px rgba(255,220,108,.035)}
.carnival-light-string{position:absolute;z-index:2;left:8%;right:8%;top:17px;height:18px;display:flex;justify-content:space-between;transform:rotate(-1.5deg)}
.carnival-light-string:before{content:"";position:absolute;left:0;right:0;top:6px;border-top:2px solid rgba(255,226,123,.55);transform:rotate(1.5deg)}
.carnival-light-string i{position:relative;width:10px;height:10px;border-radius:50%;background:#ffe779;box-shadow:0 0 5px 3px rgba(255,225,105,.85),0 0 20px 7px rgba(255,177,54,.28);animation:carnival-bulb-twinkle 2.8s ease-in-out infinite}
.carnival-light-string i:nth-child(2n){background:#ff83a6;box-shadow:0 0 5px 3px rgba(255,104,146,.8),0 0 20px 7px rgba(255,104,146,.28);animation-delay:.35s}.carnival-light-string i:nth-child(3n){background:#8bffe0;box-shadow:0 0 5px 3px rgba(90,255,210,.75),0 0 20px 7px rgba(90,255,210,.24);animation-delay:.7s}
@keyframes carnival-bulb-twinkle{0%,100%{opacity:.72;filter:brightness(.92) saturate(.95);transform:scale(.9)}50%{opacity:1;filter:brightness(1.4) saturate(1.15);transform:scale(1.28)}}
.home-carnival-copy{position:relative;z-index:3;flex:1;max-width:650px}.carnival-kicker{color:#ffe478;text-shadow:0 2px 10px rgba(255,208,83,.28)}
 .home-carnival h1{margin:0;font-size:clamp(42px,6.2vw,74px);line-height:.92;letter-spacing:-.065em;text-shadow:0 4px 18px rgba(10,5,54,.25)}.home-carnival h1 span{color:#ffe16a}
.home-carnival-lead{max-width:590px;margin:21px 0 0;color:#f5edff;font-size:18px;line-height:1.48}
.home-carnival-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.home-carnival-pills span{padding:9px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(18,8,75,.28);font-size:11px;font-weight:850}
.home-carnival-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:26px}.carnival-primary{background:#ffd65a!important;color:#2b1b68!important;box-shadow:0 6px 0 #c7962a,0 10px 20px rgba(17,5,75,.25)}.carnival-secondary{border:1px solid rgba(255,255,255,.28)!important;background:rgba(255,255,255,.13)!important;color:#fff!important}
.home-carnival-note{margin:16px 0 0;color:#d7ceff;font-size:11px;font-weight:700}
.home-carnival-stage{position:relative;flex:0 0 405px;align-self:stretch;min-height:415px;display:flex;align-items:flex-end;justify-content:center}.carnival-arch{position:absolute;z-index:-1;top:24px;left:35px;width:345px;height:385px;border:13px solid rgba(255,218,100,.75);border-bottom:0;border-radius:210px 210px 0 0;box-shadow:0 0 0 7px rgba(235,89,155,.48),inset 0 0 24px rgba(255,239,139,.18);transform:perspective(500px) rotateY(-9deg)}
.carnival-arch:after{content:"";position:absolute;inset:17px 20px 0;border:2px solid rgba(255,255,255,.22);border-bottom:0;border-radius:190px 190px 0 0}
.carnival-bulb-ring{position:absolute;z-index:2;top:27px;left:65px;width:286px;height:340px;border-radius:50%;pointer-events:none}.carnival-bulb-ring span{position:absolute;color:#fff0a0;font-size:15px;text-shadow:0 0 10px #ffe278}.carnival-bulb-ring span:nth-child(1){top:0;left:50%}.carnival-bulb-ring span:nth-child(2){top:33px;right:15%}.carnival-bulb-ring span:nth-child(3){top:50%;right:0}.carnival-bulb-ring span:nth-child(4){bottom:12%;right:12%}.carnival-bulb-ring span:nth-child(5){bottom:1%;left:48%}.carnival-bulb-ring span:nth-child(6){top:50%;left:0}
.home-carnival-mascot{position:relative;z-index:3;width:410px;max-width:132%;height:410px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 12px rgba(8,3,49,.42));transform:translate(15px,7px) rotate(4deg);animation:gratou-welcome 3.8s ease-in-out infinite}
.carnival-character-sign{position:absolute;z-index:4;top:31px;left:19px;padding:10px 13px;border:2px solid #572486;border-radius:14px 14px 14px 4px;background:#fff;color:#542480;font-size:11px;font-weight:1000;letter-spacing:.08em;transform:rotate(-5deg);box-shadow:0 5px 0 rgba(33,9,80,.26)}.carnival-character-sign span{display:block;margin-top:3px;color:#9e4d9c;font-size:9px;font-weight:800;letter-spacing:0;text-transform:none}
.carnival-register-sign{position:absolute;z-index:5;top:82px;right:9px;width:165px;padding:10px 13px;border:2px solid #572486;border-radius:14px 14px 4px 14px;background:#fff;color:#542480;font-size:11px;font-weight:1000;letter-spacing:.08em;text-align:center;transform:rotate(4deg);box-shadow:0 5px 0 rgba(33,9,80,.26);transition:transform .15s,box-shadow .15s}.carnival-register-sign:hover{transform:rotate(4deg) translateY(-2px);box-shadow:0 7px 0 rgba(33,9,80,.26)}.carnival-register-sign span{margin-left:6px;color:#d28b18;font-size:14px}
.carnival-real-prizes{position:absolute;inset:0;z-index:4;pointer-events:none}.carnival-product-card{position:absolute;display:grid;grid-template-rows:1fr auto;gap:3px;width:104px;height:82px;margin:0;padding:5px 5px 4px;overflow:hidden;border:2px solid rgba(255,226,122,.92);border-radius:14px;background:#fff;box-shadow:0 7px 0 rgba(39,11,92,.23),0 7px 18px rgba(16,5,64,.22);transform-origin:center}.carnival-product-card img{width:100%;height:100%;min-height:0;object-fit:cover;border-radius:8px;background:#e8e9f0}.carnival-product-card figcaption{color:#4e237e;font-size:7px;font-weight:1000;letter-spacing:.09em;line-height:1;text-align:center}.carnival-product-scooter{left:-5px;bottom:28px;transform:rotate(-8deg)}.carnival-product-scooter img{object-position:center 43%}.carnival-product-phone{right:-4px;top:66px;transform:rotate(7deg)}.carnival-product-phone img{object-position:center 47%}.carnival-product-tablet{right:-3px;top:176px;transform:rotate(-5deg)}.carnival-product-tablet img{object-position:center 51%}.carnival-product-laptop{left:4px;top:154px;transform:rotate(6deg)}.carnival-product-laptop img{object-position:center 50%}.carnival-prize-caption{position:absolute;z-index:6;right:29px;bottom:10px;padding:6px 9px;border:1px solid rgba(255,232,140,.62);border-radius:999px;background:rgba(46,16,104,.76);color:#ffe98a;font-size:8px;font-weight:1000;letter-spacing:.12em;line-height:1.05;text-align:center;box-shadow:0 4px 12px rgba(17,4,65,.2);transform:rotate(-4deg)}.carnival-prize-caption b{font-size:10px;color:#fff}
@keyframes gratou-welcome{0%,100%{transform:translate(15px,7px) rotate(4deg)}50%{transform:translate(15px,-10px) rotate(1deg)}}
@media(max-width:900px){.home-carnival{display:block;min-height:0;margin-left:-2px;margin-right:-2px;padding:39px 22px 0;border-radius:25px}.home-carnival h1{font-size:46px}.home-carnival-lead{font-size:15px}.home-carnival-stage{height:360px;min-height:360px;margin:14px -12px -4px}.carnival-arch{top:10px;width:290px;height:320px}.carnival-bulb-ring{top:13px;width:240px;height:285px}.home-carnival-mascot{width:350px;height:350px}.carnival-character-sign{top:12px;left:8px}.carnival-register-sign{top:55px;right:6px;width:150px}.carnival-product-card{width:86px;height:72px}.carnival-product-scooter{left:0;bottom:24px}.carnival-product-phone{right:0;top:56px}.carnival-product-tablet{right:0;top:158px}.carnival-product-laptop{left:1px;top:141px}.carnival-prize-caption{right:20px;bottom:5px;font-size:7px}.carnival-prize-caption b{font-size:8px}}
@media(max-width:520px){.home-carnival h1{font-size:39px}.home-carnival-pills span{font-size:10px;padding:8px 9px}.home-carnival-actions{display:grid}.home-carnival-actions .button{width:100%}.home-carnival-stage{height:315px;min-height:315px}.carnival-arch{width:260px;height:280px}.carnival-bulb-ring{width:215px;height:250px}.home-carnival-mascot{width:315px;height:315px;transform:translate(10px,7px) rotate(4deg)}.carnival-character-sign{font-size:9px}.carnival-character-sign span{font-size:8px}.carnival-register-sign{top:43px;right:-2px;width:150px;padding:8px 9px;font-size:9px}.carnival-register-sign span{font-size:12px}.carnival-product-card{width:72px;height:63px;padding:4px 4px 3px;border-radius:11px}.carnival-product-card figcaption{font-size:5.5px}.carnival-product-scooter{left:-4px;bottom:21px}.carnival-product-phone{right:-4px;top:47px}.carnival-product-tablet{right:-4px;top:130px}.carnival-product-laptop{left:-2px;top:118px}.carnival-prize-caption{right:13px;bottom:3px;padding:5px 7px}}
@media(prefers-reduced-motion:reduce){.home-carnival-mascot{animation:none}}
@media(prefers-reduced-motion:reduce){.carnival-light-string i{animation:none}}

/* The prize montage stays illustrated and quiet behind Gratou; only the mascot moves. */
.carnival-real-prizes{z-index:1;display:flex;align-items:flex-end;justify-content:center;overflow:visible}
.carnival-prizes-illustration{position:absolute;left:50%;bottom:5px;width:430px;max-width:none;height:auto;display:block;transform:translateX(-50%) rotate(-1deg);filter:drop-shadow(0 13px 10px rgba(8,3,49,.3));opacity:.96}
@media(max-width:900px){
  .carnival-prizes-illustration{bottom:2px;width:390px}
}
@media(max-width:520px){
  .carnival-prizes-illustration{bottom:4px;width:335px}
}

/* The main registration action stays at the bottom; the prize caption rises above the mascot. */
.carnival-prize-caption{top:78px;bottom:auto}
@media(max-width:900px){
  .carnival-prize-caption{top:56px;bottom:auto;right:20px}
}
@media(max-width:520px){
  .carnival-prize-caption{top:49px;bottom:auto;right:13px}
}

/* Homepage audit variant: soften the decorative layer so Gratou remains the focal point. */
.home-carnival .carnival-light-string{opacity:.8}
.home-carnival .carnival-arch{opacity:.84}
.home-carnival .carnival-prizes-illustration{width:390px;opacity:.84}
.home-carnival .carnival-product-card{opacity:.86}
@media(max-width:900px){
  .home-carnival .carnival-prizes-illustration{width:360px}
}
@media(max-width:520px){
  .home-carnival .carnival-prizes-illustration{width:310px}
}

/* Stronger homepage comparison variant: separate the prize montage from Gratou instead of only fading it. */
.home-carnival .carnival-prizes-illustration{width:300px;opacity:.42}
.home-carnival .carnival-arch{opacity:.58}
.home-carnival .carnival-light-string{opacity:.68}
@media(max-width:900px){
  .home-carnival .carnival-prizes-illustration{width:285px}
}
@media(max-width:520px){
  .home-carnival .carnival-prizes-illustration{width:250px}
}

/* Homepage banner and ticket layout. The navigation and non-home pages stay untouched. */
.home-banner{
  position:relative;
  isolation:isolate;
  width:100%;
  margin:-30px -20px 36px;
  width:calc(100% + 40px);
  overflow:visible;
  border-radius:0;
  background:#15164c;
  box-shadow:0 12px 30px rgba(29,25,91,.16);
}
.home-banner img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:initial;
  image-rendering:auto;
  filter:none;
}

/* Preserve the full panoramic header on Safari/iPad. The source artwork is
   intentionally shallow, but its natural height must not be collapsed by a
   cached or inherited banner rule. */
.home-banner{
  height:auto!important;
  min-height:0!important;
}
.home-banner img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
}
/* Preview: soften only the lower edge of the panoramic header into the page. */
body.page-home{
  background-color:#d1c1f2;
  background-image:none;
}
.home-banner::before{
  content:"";
  position:absolute;
  z-index:2;
  left:-4%;
  right:-4%;
  bottom:-24px;
  height:48px;
  pointer-events:none;
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
  background:rgba(245,243,255,.72);
  filter:blur(8px);
}
.home-banner::after{
  content:"";
  position:absolute;
  z-index:3;
  left:0;
  right:0;
  bottom:0;
  height:clamp(58px,8vw,92px);
  pointer-events:none;
  background:linear-gradient(
    180deg,
    rgba(245,243,255,0) 0%,
    rgba(245,243,255,.12) 32%,
    rgba(245,243,255,.7) 76%,
    #f5f3ff 100%
  );
}
.home-ticket-section{
  padding-top:0;
}
.home-ticket-section .ticket-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}
.home-ticket-section .ticket-card{
  min-width:0;
  padding:12px;
  border-radius:16px;
}
.home-ticket-section .ticket-card .ticket-art-wrap{
  margin:0 0 10px;
}
.home-ticket-section .ticket-card .ticket-art{
  max-width:100%;
}
.home-ticket-section .ticket-card .ticket-plays{
  margin:0 0 9px;
  padding:5px 6px;
  font-size:10px;
  white-space:nowrap;
}
.home-ticket-section .ticket-card .button{
  min-height:38px;
  padding:9px 7px;
}
.home-ticket-section .ticket-section-title-secret{
  margin-top:18px;
}
.home-ticket-section .ticket-card:is(.ticket-card-secret-dino,.ticket-card-fidelity,.ticket-card-secret-volcan){
  grid-column:span 2;
}
.home-special-games-section{
  padding-top:38px;
}
.home-special-games-section .special-game-grid{
  max-width:none;
}

/* Keep every homepage ticket artwork fully visible inside the same square frame. */
.home-ticket-section .ticket-card .ticket-art-wrap{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  margin:0 0 10px!important;
  border-radius:12px!important;
  background:#f4f0ff;
}
.home-ticket-section .ticket-card .ticket-art,
.home-ticket-section .ticket-card-fidelity .ticket-art-wrap .ticket-art{
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border-radius:inherit!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
.home-ticket-section .ticket-card-fidelity .ticket-art-wrap .ticket-art{
  object-fit:cover!important;
}

@media(max-width:1050px){
  .home-ticket-section .ticket-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
  }
  .home-ticket-section .ticket-card:is(.ticket-card-secret-dino,.ticket-card-fidelity,.ticket-card-secret-volcan){
    grid-column:span 1;
  }
}
@media(max-width:700px){
  .home-banner{
    margin:-17px -14px 26px;
    width:calc(100% + 28px);
    border-radius:0;
  }
  .home-ticket-section .ticket-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px;
  }
}
@media(max-width:390px){
  .home-ticket-section .ticket-grid{
    grid-template-columns:1fr;
  }
}

/* iPad landscape: keep the secret tickets and bonus cards subordinate to the daily set. */
@media(min-width:801px) and (max-width:1100px){
  .home-banner img{
    image-rendering:auto;
  }
  .home-ticket-section .ticket-card:is(.ticket-card-secret-dino,.ticket-card-fidelity,.ticket-card-secret-volcan){
    width:calc(100% - 12px);
    margin-inline:auto;
    padding:10px;
    border-radius:14px;
  }
  .home-ticket-section .ticket-card:is(.ticket-card-secret-dino,.ticket-card-fidelity,.ticket-card-secret-volcan) .ticket-art-wrap{
    width:100%!important;
    margin:0 0 8px!important;
    border-radius:10px!important;
  }
  .home-ticket-section .ticket-card:is(.ticket-card-secret-dino,.ticket-card-fidelity,.ticket-card-secret-volcan) h3{
    font-size:17px;
  }
  .special-games-section .special-game-grid{
    width:min(820px,100%);
    margin-inline:auto;
    gap:14px;
  }
  .special-games-section .special-game-card{
    padding:6px;
    border-radius:18px;
  }
  .special-games-section .special-game-card-visual{
    border-radius:13px 13px 10px 10px;
  }
  .special-games-section .special-game-card-content{
    padding:9px 9px 8px;
  }
  .special-games-section .special-game-card h3{
    margin:4px 0 8px;
    font-size:19px;
  }
  .special-games-section .special-game-card .button{
    min-height:38px;
  }
}

/* Homepage reference layout: a bright editorial landing page below the panoramic artwork. */
.page-home{
  background:#d1c1f2;
}
.page-home .container{
  max-width:1200px;
  padding-top:0;
  padding-bottom:42px;
}
.page-home .home-banner{
  margin-top:0;
  margin-bottom:0;
  box-shadow:none;
}
.page-home .home-banner::before{
  bottom:-18px;
  height:42px;
  background:rgba(209,193,242,.58);
}
.page-home .home-banner::after{
  height:clamp(52px,7vw,78px);
  background:linear-gradient(180deg,rgba(209,193,242,0),rgba(209,193,242,.64) 72%,#d1c1f2 100%);
}

/* The supplied panoramic image already contains its final lower violet wave.
   Keep it untouched and use the same pale violet as the site canvas. */
body,
body.page-home,
body:has(.home-feature-grid),
.page-home{
  background-color:#d1c1f2!important;
  background-image:none!important;
}
.home-banner{
  background:#d1c1f2;
}
.home-banner::before,
.home-banner::after,
.page-home .home-banner-wave-details{
  display:none!important;
}
.home-welcome{
  position:relative;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  margin:-4px auto 10px;
  padding:0 12px 5px;
  color:#34266d;
}
.home-welcome-copy{
  text-align:center;
}
.home-welcome h1{
  margin:0;
  color:#3b1ca3;
  font-family:"Baloo 2","Trebuchet MS",ui-rounded,sans-serif;
  font-size:clamp(30px,4.2vw,49px);
  font-weight:800;
  letter-spacing:-.035em;
  line-height:1;
  -webkit-text-stroke:.45px rgba(61,28,123,.58);
  text-shadow:0 2px 0 rgba(255,255,255,.88),0 4px 7px rgba(77,47,148,.18);
}
.home-welcome h1 span{
  color:#ffbd31;
  -webkit-text-stroke:1.45px #4a2877;
  text-shadow:0 2px 0 #4a2877,0 4px 8px rgba(44,22,95,.24);
}
.home-welcome-copy p{
  margin:7px 0 0;
  color:#3e3577;
  font-family:"Poppins",ui-sans-serif,system-ui,sans-serif;
  font-size:13px;
  font-weight:600;
  letter-spacing:-.012em;
  line-height:1.35;
}
.home-welcome-actions{
  display:grid;
  width:min(330px,100%);
  gap:7px;
}
.home-welcome-action{
  display:grid;
  grid-template-columns:26px 1fr 18px;
  align-items:center;
  gap:7px;
  min-height:39px;
  padding:7px 13px;
  border-radius:999px;
  color:#fff;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.01em;
  box-shadow:0 4px 0 rgba(55,26,132,.18),0 7px 16px rgba(66,41,156,.12);
  transition:transform .15s ease,filter .15s ease;
}
.home-welcome-action:hover{
  transform:translateY(-2px);
  filter:brightness(1.04);
}
.home-welcome-action-primary{
  background:linear-gradient(100deg,#ffd33f,#f5a725);
  color:#4b2d76;
}
.home-welcome-action-secondary{
  background:linear-gradient(100deg,#8341ee,#5327be);
}
.home-action-icon{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:50%;
  background:rgba(255,255,255,.9);
  color:#6d36cc;
  font-size:11px;
}
.home-welcome-action-primary .home-action-icon{color:#eea51c}
.home-welcome-action b{
  font-size:19px;
  line-height:1;
  text-align:right;
}
.home-ticket-section{
  padding-top:10px;
}
.home-ticket-section .ticket-section-title{
  align-items:center;
  margin-bottom:9px;
}
.home-ticket-section .ticket-section-title-main{
  align-items:center;
}
.home-ticket-section .ticket-section-icon{
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
  border-radius:8px;
  background:linear-gradient(145deg,#ff91bd,#d84d9b);
  color:#fff;
  font-size:15px;
  box-shadow:0 3px 0 rgba(157,43,114,.2);
}
.home-ticket-section .ticket-section-title h2{
  margin:0;
  color:#351a91;
  font-size:24px;
  line-height:1;
}
.home-section-subtitle{
  margin:4px 0 0;
  color:#756d9c;
  font-size:11px;
  line-height:1.1;
}
.home-section-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 12px;
  border:1px solid rgba(95,65,187,.25);
  border-radius:999px;
  background:rgba(255,255,255,.62);
  color:#3c277f;
  font-size:11px;
  font-weight:950;
  white-space:nowrap;
}
.home-section-link span{font-size:17px;line-height:.7}
.home-ticket-section .ticket-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
}
.home-ticket-section .ticket-card{
  padding:9px;
  border:2px solid rgba(100,190,205,.7);
  border-radius:15px;
  background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(226,255,250,.92));
  box-shadow:0 7px 18px rgba(61,103,170,.13);
}
.home-ticket-section .ticket-card:nth-child(2){
  border-color:rgba(245,163,86,.85);
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,246,220,.94));
}
.home-ticket-section .ticket-card:nth-child(3){
  border-color:rgba(88,171,214,.75);
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(226,245,255,.95));
}
.home-ticket-section .ticket-card .ticket-art-wrap{
  aspect-ratio:1.62 / 1!important;
  margin:0 0 7px!important;
  border-radius:10px!important;
  background:#f4f0ff;
}
.home-ticket-section .ticket-card .ticket-art{
  object-fit:cover!important;
  object-position:center!important;
}
.home-ticket-section .home-ticket-availability{
  display:flex;
  align-items:center;
  gap:5px;
  min-height:25px;
  margin:0 0 7px;
  padding:4px 8px;
  border:1px solid rgba(54,173,126,.28);
  border-radius:999px;
  background:#d9f8df;
  color:#207b54;
  font-size:10px;
  font-weight:950;
}
.home-ticket-section .home-ticket-availability span{
  display:grid;
  place-items:center;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#fff;
  color:#20a56c;
}
.home-ticket-section .home-ticket-availability.is-empty{
  border-color:rgba(184,78,91,.26);
  background:#ffe5e9;
  color:#a13e52;
}
.home-ticket-section .home-ticket-availability.is-empty span{color:#bd5266}
.home-ticket-section .ticket-card .button{
  min-height:31px;
  padding:6px 10px;
  border-radius:9px;
  background:linear-gradient(180deg,#ffe879,#f6bd36);
  color:#5a3284;
  box-shadow:0 3px 0 #d29a25;
  font-size:11px;
}
.home-feature-section{
  padding-top:17px;
}
 .home-feature-title{
   align-items:center;
   margin-bottom:9px;
 }
 .home-feature-title .ticket-section-title-main{
   align-items:center;
 }
 .home-feature-title .ticket-section-icon{
   display:grid;
   place-items:center;
   width:29px;
   height:29px;
   border-radius:8px;
   background:linear-gradient(145deg,#ff91bd,#d84d9b);
   color:#fff;
   font-size:15px;
   box-shadow:0 3px 0 rgba(157,43,114,.2);
 }
 .home-feature-title h2{
   margin:0;
   color:#351a91;
   font-size:24px;
   line-height:1;
 }
.home-feature-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.home-feature-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:5px;
  aspect-ratio:1.34 / 1;
  overflow:hidden;
  border:3px solid #dfaf3d;
  border-radius:13px;
  background:linear-gradient(180deg,#fff3a5 0%,#ffd35b 100%);
  box-shadow:0 7px 16px rgba(48,39,132,.15),0 0 0 1px rgba(255,255,255,.55) inset;
  isolation:isolate;
}
.home-feature-card::after{
  display:none;
}
.home-feature-card img{
  display:block;
  width:100%;
  height:auto;
  min-height:0;
  flex:1 1 auto;
  border-radius:8px;
  object-fit:cover;
  transition:transform .25s ease;
}
.home-feature-card:hover img{transform:scale(1.045)}
.home-feature-card-wheel img{object-position:center 62%}
.home-feature-card-grid img{object-position:center 62%}
.home-feature-card-missions::after,
.home-feature-card-secrets::after{
  display:none;
}
.home-feature-card-overlay{
  position:static;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:100%;
  min-height:24px;
  text-align:center;
  color:#573079;
}
.home-feature-card-overlay strong{
  font-size:clamp(13px,1.55vw,19px);
  line-height:.96;
  letter-spacing:-.04em;
  text-shadow:0 2px 4px rgba(22,9,74,.6);
}
.home-feature-card-overlay small{
  margin-top:4px;
  font-size:9px;
  font-weight:800;
}
.home-feature-card-overlay b{
  display:inline-flex;
  justify-content:center;
  gap:4px;
  align-items:center;
  width:100%;
  min-height:24px;
  margin:0;
  padding:4px 12px;
  border-radius:999px;
  background:linear-gradient(180deg,#ffe878,#f2b72d);
  color:#573079;
  box-shadow:0 2px 0 rgba(157,99,24,.7);
  font-size:10px;
}
.home-feature-card-grid .home-feature-card-overlay b{color:#573079}
.home-loyalty-section,.home-gratons-section{
  margin-top:18px;
  padding:0 4px;
}
.home-section-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:8px;
}
.home-section-heading h2{
  margin:0;
  color:#3c228f;
  font-size:22px;
  letter-spacing:-.055em;
  line-height:1;
}
.home-section-heading p{
  margin:4px 0 0;
  color:#716a99;
  font-size:11px;
  line-height:1.25;
}
.home-section-heading-icon{
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  border:2px solid #6954d2;
  border-radius:8px;
  background:#c9c1ff;
  color:#5642b7;
  font-size:20px;
  transform:rotate(-6deg);
}
.home-coin-icon{
  border-color:#dc9b17;
  background:#ffd65b;
  color:#a96b08;
  border-radius:50%;
}
.home-loyalty-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 190px;
  align-items:center;
  gap:15px;
}
.home-loyalty-days{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:5px;
}
.home-loyalty-day{
  display:flex;
  align-items:center;
  gap:5px;
  min-width:0;
}
.home-loyalty-day b{
  display:grid;
  place-items:center;
  width:52px;
  height:39px;
  border:1px solid rgba(81,88,177,.18);
  border-radius:8px;
  background:linear-gradient(145deg,#fff,#eff1ff);
  color:#2e2963;
  font-size:12px;
  box-shadow:0 3px 8px rgba(58,49,139,.08);
}
.home-loyalty-day.is-complete b{
  background:linear-gradient(145deg,#7ee7a5,#32c982);
  color:#fff;
}
.home-loyalty-day.is-reward b{
  background:linear-gradient(145deg,#ffe77a,#ffca3d);
  color:#a16a11;
  font-size:19px;
}
.home-loyalty-day i{
  color:#4d87b8;
  font-size:17px;
  font-style:normal;
  font-weight:1000;
}
.home-loyalty-ticket{
  position:relative;
  display:block;
  overflow:hidden;
  aspect-ratio:1.35 / 1;
  border:2px solid #4b8bd6;
  border-radius:13px;
  background:#2e83d9;
  box-shadow:0 7px 14px rgba(45,74,153,.18);
}
.home-loyalty-ticket img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.home-loyalty-ticket-label{
  position:absolute;
  right:7px;
  bottom:7px;
  padding:4px 8px;
  border-radius:5px;
  background:#f04e84;
  color:#fff;
  font-size:9px;
  font-weight:1000;
  transform:rotate(-4deg);
}
.home-gratons-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 225px;
  align-items:center;
  gap:16px;
}
.home-payment-options{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:7px;
}
.home-payment-options span{
  display:grid;
  place-items:center;
  min-height:38px;
  padding:4px;
  border:1px solid rgba(102,94,165,.18);
  border-radius:7px;
  background:rgba(255,255,255,.8);
  color:#342b74;
  font-size:10px;
  font-weight:950;
  text-align:center;
}
.home-payment-options span:nth-child(1){color:#1674bb;font-size:12px;font-style:italic}
.home-payment-options span:nth-child(3){color:#222;font-size:12px}
.home-payment-options span:nth-child(4){background:#1d2f7a;color:#fff}
.home-payment-options span:nth-child(5){background:#e42b52;color:#fff}
.home-payment-options span:nth-child(6){background:#242424;color:#fff;font-size:13px}
.home-payment-options .is-wide{
  grid-column:span 2;
  background:#ffe3ef;
  color:#842d72;
  line-height:1.05;
}
.home-shop-art{
  position:relative;
  display:block;
  overflow:hidden;
  height:108px;
  border-radius:14px;
  background:linear-gradient(145deg,#a7e9f8,#64bbdf);
}
.home-shop-art img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.home-shop-art b{
  position:absolute;
  right:7px;
  bottom:7px;
  padding:6px 11px;
  border-radius:999px;
  background:linear-gradient(180deg,#ff6ca8,#d53882);
  color:#fff;
  font-size:10px;
  box-shadow:0 3px 0 rgba(132,33,88,.38);
}
.home-trust-strip{
  display:grid;
}
.home-footer{
  max-width:none;
  margin:0;
  padding:16px max(20px,calc((100% - 1180px)/2)) 18px;
  background:#24205f;
  color:#fff;
  align-items:center;
}
.home-footer strong{color:#fff;font-size:14px}
.home-footer span{color:#dbd8ff}
.home-footer-social{display:flex;gap:7px;margin-left:auto}
.home-footer-social span{
  display:grid;
  place-items:center;
  width:23px;
  height:23px;
  border-radius:7px;
  background:rgba(255,255,255,.16);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.home-footer a{color:#fff;font-weight:800}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
@media(min-width:621px) and (max-width:800px){
  .page-home .topbar{
    min-height:68px;
    flex-wrap:nowrap;
    gap:9px;
    padding:8px 10px;
    overflow:hidden;
  }
  .page-home .brand{
    gap:4px;
    font-size:15px;
  }
  .page-home .brand-domain{font-size:11px;margin-left:-4px}
  .page-home .brand-mascot-wrap{width:36px;height:36px;margin-left:-2px}
  .page-home .brand-mascot{height:32px}
  .page-home .desktop-nav{
    order:initial;
    flex-basis:auto;
    gap:8px;
    min-width:0;
    overflow:hidden;
  }
  .page-home .desktop-nav a{
    font-size:9px;
    white-space:nowrap;
  }
  .page-home .top-stats{
    flex-shrink:0;
    gap:5px;
  }
  .page-home .top-stats .button{
    padding:7px 8px;
    font-size:9px;
  }
  .home-welcome{
    display:flex;
    gap:15px;
    margin-top:-4px;
  }
  .home-welcome h1{font-size:32px}
  .home-welcome-copy p{font-size:11px}
  .home-welcome-actions{width:285px}
  .home-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .home-feature-card{aspect-ratio:1.24 / 1}
  .home-loyalty-layout,.home-gratons-layout{grid-template-columns:minmax(0,1fr) 165px}
  .home-loyalty-day{gap:3px}
  .home-loyalty-day b{width:39px;height:34px;font-size:10px}
  .home-loyalty-day i{font-size:12px}
  .home-shop-art{height:92px}
}
@media(max-width:620px){
  .home-welcome{
    display:grid;
    gap:10px;
    margin-top:0;
  }
  .home-welcome h1{font-size:32px}
  .home-welcome-copy p{font-size:12px}
  .home-welcome-actions{width:min(360px,100%);margin:auto}
  .home-ticket-section .ticket-section-title{align-items:flex-start}
  .home-section-link{font-size:10px;padding:7px 9px}
  .home-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-feature-card{aspect-ratio:1.25 / 1}
  .home-feature-card-overlay strong{font-size:14px}
  .home-loyalty-layout,.home-gratons-layout{grid-template-columns:1fr}
  .home-loyalty-ticket{width:min(220px,100%);margin-inline:auto}
  .home-payment-options{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-footer{align-items:flex-start;flex-wrap:wrap}
  .home-footer-social{margin-left:0}
}
@media(max-width:520px){
  .home-ticket-section .ticket-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .home-ticket-section .ticket-card{padding:7px;border-radius:13px}
  .home-ticket-section .ticket-card .ticket-art-wrap{margin-bottom:5px!important}
  .home-ticket-section .home-ticket-availability{font-size:8px;padding:3px 5px}
  .home-ticket-section .home-ticket-availability span{width:14px;height:14px}
  .home-ticket-section .ticket-card .button{font-size:10px;min-height:28px}
  .home-section-heading h2{font-size:19px}
  .home-section-heading p{font-size:10px}
  .home-loyalty-days{gap:3px}
  .home-loyalty-day{gap:2px}
  .home-loyalty-day b{width:36px;height:34px;font-size:10px}
  .home-loyalty-day i{font-size:11px}
  .home-payment-options span{font-size:8px}
}

/* Final homepage comparison adjustments: visible wave, compact daily tickets,
   and a single action row for the remaining-play count and Play button. */
.page-home .home-banner-wave-details{
  position:absolute;
  z-index:4;
  left:-3%;
  right:-3%;
  bottom:-25px;
  height:54px;
  pointer-events:none;
  overflow:visible;
}
.page-home .home-banner-wave-details::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:45px;
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
  background:linear-gradient(180deg,rgba(249,247,255,.96),#f1f2ff 88%);
  box-shadow:0 -4px 12px rgba(108,87,190,.08);
  transform:rotate(-1deg);
}
.page-home .home-banner-wave-details::after{
  content:"";
  position:absolute;
  left:12%;
  right:8%;
  bottom:22px;
  height:18px;
  border-radius:50%;
  border-top:2px solid rgba(255,255,255,.9);
  opacity:.9;
  transform:rotate(1.2deg);
}
.home-wave-coin,
.home-wave-spark{
  position:absolute;
  z-index:1;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-style:normal;
  line-height:1;
  text-shadow:0 2px 5px rgba(95,68,171,.18);
}
.home-wave-coin{
  width:24px;
  height:24px;
  border:2px solid #e5a92a;
  background:#ffd95d;
  color:#fff4a2;
  font-size:12px;
  box-shadow:0 3px 0 rgba(186,129,23,.2);
}
.home-wave-coin-left{
  left:17%;
  bottom:5px;
  transform:rotate(-12deg);
}
.home-wave-coin-mid{
  left:68%;
  bottom:1px;
  width:16px;
  height:16px;
  border-width:1px;
  color:#fff1a0;
  font-size:8px;
  transform:rotate(9deg);
}
.home-wave-spark{
  color:#e47ab2;
  font-size:19px;
}
.home-wave-spark-left{
  left:8%;
  bottom:18px;
  transform:rotate(-15deg);
}
.home-wave-spark-right{
  right:15%;
  bottom:19px;
  color:#9f82df;
  font-size:16px;
  transform:rotate(14deg);
}

/* The source ticket artwork is unchanged; only its homepage frame is shorter. */
.page-home .home-ticket-section .ticket-card .ticket-art-wrap{
  aspect-ratio:1.9 / 1!important;
}
.page-home .home-ticket-section .home-ticket-card-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
}
.page-home .home-ticket-section .home-ticket-availability{
  min-width:0;
  margin:0;
  padding:4px 7px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.page-home .home-ticket-section .ticket-card .home-ticket-card-actions > .button{
  width:auto!important;
  min-width:61px;
  min-height:31px;
  padding-inline:11px;
  white-space:nowrap;
}
@media(max-width:620px){
  .page-home .home-banner-wave-details{
    bottom:-21px;
    height:47px;
  }
  .page-home .home-banner-wave-details::before{
    height:39px;
  }
  .page-home .home-ticket-section .ticket-card .ticket-art-wrap{
    aspect-ratio:1.72 / 1!important;
  }
  .page-home .home-ticket-section .home-ticket-card-actions{
    gap:5px;
  }
  .page-home .home-ticket-section .home-ticket-availability{
    padding-inline:5px;
    font-size:8px;
  }
  .page-home .home-ticket-section .ticket-card .home-ticket-card-actions > .button{
    min-width:54px;
    padding-inline:8px;
    font-size:10px;
  }
}

/* Match the compact iPad header used by the connected reference capture. */
@media(min-width:801px) and (max-width:1100px){
  .page-home .topbar{
    height:58px;
    min-height:58px;
    gap:10px;
    padding:6px 10px;
  }
  .page-home .brand{
    gap:5px;
    font-size:19px;
    letter-spacing:.055em;
  }
  .page-home .brand-mark{
    width:32px;
    height:32px;
    border-radius:10px 10px 10px 3px;
  }
  .page-home .brand-domain{
    margin-left:-4px;
    font-size:13px;
  }
  .page-home .brand-mascot-wrap{
    width:43px;
    height:43px;
    margin-left:-3px;
  }
  .page-home .brand-mascot{
    height:39px;
  }
  .page-home .desktop-nav{
    min-width:0;
    gap:12px;
    font-size:12px;
    white-space:nowrap;
  }
  .page-home .desktop-nav a{
    white-space:nowrap;
  }
  .page-home .top-stats{
    flex:0 0 auto;
    gap:5px;
    font-size:11px;
  }
  .page-home .top-stats span{
    padding:7px 10px;
    font-size:11px;
  }
  .page-home .top-stats .button{
    padding:7px 10px;
    font-size:10px;
  }
}

/* Match the supplied night panorama reference: keep the welcome composition
   right-weighted while leaving the ticket and game artwork untouched. */
.page-home .home-welcome{
  justify-content:flex-start;
  gap:30px;
  padding-left:clamp(22px,15vw,154px);
  padding-right:12px;
}
.page-home .home-welcome-copy{
  flex:0 1 480px;
  min-width:0;
}
.page-home .home-welcome-actions{
  width:min(320px,33vw);
  flex:0 0 auto;
}
.page-home .home-welcome::before{
  content:"♛";
  position:absolute;
  left:clamp(120px,24.5vw,251px);
  top:-35px;
  color:#f2b927;
  font-size:31px;
  line-height:1;
  text-shadow:0 2px 0 rgba(255,255,255,.9),0 3px 5px rgba(95,68,171,.18);
  transform:rotate(-12deg);
}
@media(min-width:801px) and (max-width:1100px){
  .page-home .home-welcome{
    margin-top:10px;
    padding-left:clamp(22px,13.7vw,141px);
  }
  .page-home .home-welcome-copy p{
    font-size:15px;
  }
}

/* Keep the same soft multi-curve on PC, iPad and phone. The reference
   transition is part of the homepage composition, not an iPad-only detail. */
.page-home .home-banner::after{
  bottom:0;
  height:clamp(58px,8vw,92px);
  background:linear-gradient(
    180deg,
    rgba(241,242,255,0) 0%,
    rgba(241,242,255,.12) 22%,
    rgba(241,242,255,.68) 67%,
    #f1f2ff 100%
  );
  clip-path:polygon(
    0 39%, 8% 51%, 16% 37%, 24% 54%, 33% 42%, 42% 28%,
    51% 40%, 60% 28%, 69% 46%, 78% 31%, 87% 44%, 95% 32%,
    100% 42%, 100% 100%, 0 100%
  );
}
.page-home .home-banner-wave-details::before{
  opacity:.72;
  transform:none;
}
.page-home .home-banner-wave-line{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:45px;
  height:36px;
  pointer-events:none;
  opacity:.82;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 40' preserveAspectRatio='none'%3E%3Cpath d='M0 20 C48 5 96 27 145 13 S241 27 290 12 S386 27 438 11 S536 27 588 12 S687 27 738 11 S836 27 888 12 S968 25 1000 14' fill='none' stroke='%239ca8df' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M0 23 C48 8 96 30 145 16 S241 30 290 15 S386 30 438 14 S536 30 588 15 S687 30 738 14 S836 30 888 15 S968 28 1000 17' fill='none' stroke='%23ffffff' stroke-opacity='.72' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-size:100% 100%;
  filter:drop-shadow(0 1px 1px rgba(85,94,164,.18));
}

/* The supplied reference already contains the leaves, coins and curved
   lower edge in the banner artwork. Do not draw a second synthetic wave
   over it. */
.page-home .home-banner::before,
.page-home .home-banner::after,
.page-home .home-banner-wave-details::before,
.page-home .home-banner-wave-details::after,
.page-home .home-banner-wave-line,
.page-home .home-wave-coin,
.page-home .home-wave-spark,
.page-home .home-welcome::before{
  display:none;
}

/* Keep the loose coins aligned with the supplied reference instead of
   letting them drift with the action buttons. */
.page-home .home-wave-coin-left{
  left:8%;
}
.page-home .home-wave-coin-mid{
  left:32%;
}
@media(max-width:800px){
  .page-home .home-welcome{
    justify-content:center;
    gap:10px;
    padding-left:12px;
    padding-right:12px;
  }
  .page-home .home-welcome-copy{
    flex:initial;
    width:auto;
  }
  .page-home .home-welcome-actions{
    width:min(360px,100%);
    flex:initial;
  }
  .page-home .home-welcome::before{
    left:24%;
    top:-15px;
    font-size:25px;
  }
}

/* Use the same uncropped ticket framing on the games page as on the homepage.
   The ticket labels are part of the source artwork and must remain readable. */
.page-games #tickets .ticket-card .ticket-art-wrap{
  width:100%!important;
  aspect-ratio:1.9 / 1!important;
  margin:0 0 18px!important;
  overflow:hidden;
  border-radius:22px 22px 12px 12px!important;
}
.page-games #tickets .ticket-card .ticket-art{
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border-radius:inherit!important;
  object-fit:cover!important;
  object-position:center!important;
}
.page-games #tickets .ticket-card:is(.ticket-card-secret-dino,.ticket-card-fidelity,.ticket-card-secret-volcan) .ticket-art-wrap{
  aspect-ratio:1.5 / 1!important;
}
.page-games #tickets .ticket-card-pako .ticket-art{
  object-position:center 18%!important;
}
.page-games #tickets .ticket-card-mimo .ticket-art{
  object-position:center 78%!important;
}
.page-games #tickets .ticket-card-star .ticket-art{
  object-position:center 76%!important;
}
.page-games #tickets .ticket-card-secret-volcan .ticket-art{
  object-position:center 72%!important;
}
.page-games #tickets .ticket-card-secret-dino .ticket-art{
  object-position:center 24%!important;
}
.page-games #tickets .ticket-card-fidelity .ticket-art{
  object-fit:cover!important;
  object-position:center 23%!important;
}
.page-games #tickets .ticket-card.is-locked .ticket-lock-badge{
  position:absolute;
  z-index:8;
  top:12px;
  right:12px;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:2px solid rgba(255,255,255,.86);
  border-radius:13px;
  background:rgba(30,19,73,.86);
  box-shadow:0 4px 12px rgba(18,10,55,.28),inset 0 1px 0 rgba(255,255,255,.24);
  font-size:20px;
  line-height:1;
}
.page-games #tickets .ticket-card-secret-volcan.is-locked,
.page-games #tickets .ticket-card-secret-dino.is-locked,
.page-games #tickets .ticket-card-fidelity.is-locked{
  filter:none!important;
}
.page-games #tickets .ticket-card-secret-volcan.is-locked{
  background:linear-gradient(155deg,#260f32 0%,#5b1b35 56%,#d94e28 100%)!important;
}
.page-games #tickets .ticket-card-secret-dino.is-locked{
  background:linear-gradient(155deg,#f0fbff 0%,#d3efff 55%,#b9def5 100%)!important;
}
.page-games #tickets .ticket-card-fidelity.is-locked{
  background:radial-gradient(circle at 88% 12%,rgba(255,231,139,.9) 0 9%,transparent 27%),radial-gradient(circle at 10% 76%,rgba(188,137,255,.35),transparent 36%),linear-gradient(145deg,#f1ddff 0%,#c69be7 40%,#f4c95f 100%)!important;
}
.page-games #tickets .ticket-card.is-locked .ticket-art-wrap{
  filter:none!important;
}
@media(max-width:620px){
  .page-games #tickets .ticket-card .ticket-art-wrap{
    aspect-ratio:1.72 / 1!important;
  }
  .page-games #tickets .ticket-card:is(.ticket-card-secret-dino,.ticket-card-fidelity,.ticket-card-secret-volcan) .ticket-art-wrap{
    aspect-ratio:1.5 / 1!important;
  }
}

/* Homepage layout approved from the supplied iPad references. */
body.page-home,
.page-home{
  background-color:#6b5aae!important;
  background-image:
    radial-gradient(ellipse 13px 2px at 18% 42%,rgba(255,255,255,.9),rgba(255,214,253,.34) 28%,transparent 72%),
    radial-gradient(ellipse 2px 13px at 18% 42%,rgba(255,255,255,.9),rgba(255,214,253,.3) 28%,transparent 72%),
    radial-gradient(ellipse 11px 2px at 52% 51%,rgba(255,255,255,.86),rgba(252,202,255,.3) 30%,transparent 73%),
    radial-gradient(ellipse 2px 11px at 52% 51%,rgba(255,255,255,.86),rgba(252,202,255,.28) 30%,transparent 73%),
    radial-gradient(ellipse 9px 1.5px at 82% 61%,rgba(255,244,255,.82),rgba(255,191,244,.28) 32%,transparent 74%),
    radial-gradient(ellipse 1.5px 9px at 82% 61%,rgba(255,244,255,.82),rgba(255,191,244,.26) 32%,transparent 74%),
    radial-gradient(ellipse 8px 1.5px at 39% 73%,rgba(255,255,255,.76),rgba(238,199,255,.22) 32%,transparent 75%),
    radial-gradient(ellipse 1.5px 8px at 39% 73%,rgba(255,255,255,.76),rgba(238,199,255,.22) 32%,transparent 75%),
    radial-gradient(circle at 8% 58%,rgba(255,255,255,.76) 0 1px,rgba(255,217,252,.2) 1.5px,transparent 4px),
    radial-gradient(circle at 29% 62%,rgba(255,195,247,.8) 0 1px,rgba(255,195,247,.16) 2px,transparent 4px),
    radial-gradient(circle at 67% 44%,rgba(255,255,255,.74) 0 1px,rgba(255,255,255,.14) 2px,transparent 4px),
    radial-gradient(circle at 92% 72%,rgba(255,193,244,.78) 0 1px,rgba(255,193,244,.15) 2px,transparent 4px),
    radial-gradient(circle at 61% 83%,rgba(255,255,255,.68) 0 1px,rgba(255,255,255,.12) 2px,transparent 3.5px),
    radial-gradient(circle at 14% 88%,rgba(255,211,250,.7) 0 1px,rgba(255,211,250,.12) 2px,transparent 3.5px),
    radial-gradient(ellipse 52% 34% at 13% 49%,rgba(207,134,255,.24),transparent 70%),
    radial-gradient(ellipse 58% 38% at 86% 68%,rgba(255,151,232,.2),transparent 72%),
    radial-gradient(ellipse 42% 28% at 48% 85%,rgba(177,126,255,.18),transparent 74%),
    radial-gradient(ellipse 35% 200px at 22% 111%,transparent 65%,rgba(237,116,255,.2) 66.5%,rgba(247,137,255,.78) 68%,rgba(255,190,250,.32) 69.5%,transparent 72.5%),
    radial-gradient(ellipse 35% 200px at 78% 111%,transparent 65%,rgba(235,112,255,.18) 66.5%,rgba(255,124,229,.76) 68%,rgba(255,185,244,.3) 69.5%,transparent 72.5%),
    linear-gradient(180deg,#685CB0 0%,#725eb3 27%,#8069c0 58%,#745db6 79%,#866bca 100%)!important;
  background-repeat:no-repeat!important;
  background-size:100% 100%!important;
  background-attachment:fixed!important;
}
body.page-play,
.page-play{
  background-color:#6b5aae!important;
  background-image:var(--page-purple-depth)!important;
}
.topbar::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-3px;
  height:3px;
  background:linear-gradient(90deg,#a267dd 0%,#c77aff 50%,#a762ea 100%);
  pointer-events:none;
}
.page-home .container{
  max-width:1180px;
}
.page-home .home-banner{
  background:transparent;
}
.top-stats.is-guest .guest-register-button,
.top-stats.is-guest .guest-login-button{
  flex:1;
  width:auto;
  justify-content:center;
}
@media(max-width:800px){
  .guest-register-button{
    display:none;
  }
}
.page-home .home-ticket-section{
  margin-top:clamp(-82px,-6.8vw,-44px);
}
.page-home .home-ticket-section .ticket-section-title{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,1fr);
  align-items:center;
  gap:24px;
  margin-bottom:15px;
}
.page-home .home-ticket-section .ticket-section-title-main{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
@media(min-width:621px){
  .page-home .home-ticket-section .ticket-section-title{
    grid-template-columns:minmax(0,1fr);
  }
  .page-home .home-ticket-section .ticket-section-title-main{
    grid-column:1;
    grid-row:1;
    align-self:end;
    position:relative;
    z-index:2;
  }
  .page-home .home-welcome-title-image{
    grid-column:1;
    grid-row:1;
    z-index:1;
  }
}
.page-home .home-ticket-section .ticket-section-title-main > div{
  display:block;
  min-width:0;
  white-space:nowrap;
}
.page-home .home-ticket-section .ticket-section-title h2{
  color:#fff;
  white-space:nowrap;
}
.page-home .home-ticket-section .home-section-subtitle{
  margin:4px 0 0;
  color:#c9c5eb;
  white-space:nowrap;
}
.page-home .home-welcome-title-image{
  display:block;
  justify-self:center;
  width:min(100%,620px);
  max-width:100%;
  height:auto;
}
.page-home .home-loyalty-section,
.page-home .home-gratons-section{
  width:min(calc(100% - 40px),1140px);
  margin:18px auto 0;
  padding:14px;
  border:1px solid rgba(143,132,255,.32);
  border-radius:16px;
  background:#40358a;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 20px rgba(4,3,35,.22);
}
.page-home .home-loyalty-layout,
.page-home .home-gratons-layout{
  grid-template-columns:minmax(0,1fr) minmax(250px,30%);
  align-items:center;
  gap:18px;
}
.page-home .home-section-heading{
  justify-content:flex-start;
  margin-bottom:11px;
}
.page-home .home-section-heading h2{
  color:#fff;
  font-size:22px;
  letter-spacing:-.035em;
}
.page-home .home-section-heading p{
  color:#d5d1f1;
  font-size:11px;
}
.page-home .home-loyalty-calendar{
  flex:0 0 auto;
  width:66px;
  height:66px;
  object-fit:contain;
  filter:drop-shadow(0 5px 6px rgba(9,5,54,.28));
}
.page-home .home-loyalty-days{
  justify-content:flex-start;
  gap:6px;
}
.page-home .home-loyalty-day{
  gap:6px;
}
.page-home .home-loyalty-day b{
  width:52px;
  height:39px;
}
.page-home .home-loyalty-ticket,
.page-home .home-shop-art{
  width:100%;
  height:auto;
  aspect-ratio:2.05 / 1;
  border:2px solid rgba(120,192,255,.85);
  border-radius:12px;
  background:#258dd3;
  box-shadow:0 6px 14px rgba(4,4,48,.25);
}
.page-home .home-loyalty-ticket img,
.page-home .home-shop-art img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.page-home .home-payment-options{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.page-home .home-payment-options span{
  min-height:38px;
}
@media(max-width:800px){
  .page-home .home-ticket-section .ticket-section-title{
    grid-template-columns:minmax(0,1fr) minmax(210px,.8fr);
    gap:14px;
  }
  .page-home .home-ticket-section .ticket-section-title h2{
    font-size:23px;
  }
  .page-home .home-ticket-section .home-section-subtitle{
    font-size:10px;
  }
  .page-home .home-loyalty-layout,
  .page-home .home-gratons-layout{
    grid-template-columns:minmax(0,1fr) minmax(220px,30%);
    gap:12px;
  }
  .page-home .home-loyalty-calendar{
    width:56px;
    height:56px;
  }
  .page-home .home-loyalty-day{
    gap:3px;
  }
  .page-home .home-loyalty-day b{
    width:39px;
    height:34px;
  }
  .page-home .home-payment-options{
    gap:5px;
  }
  .page-home .home-payment-options span{
    min-height:34px;
    padding:3px;
    font-size:8px;
  }
}
@media(min-width:621px) and (max-width:800px){
  .page-home .home-ticket-section .ticket-section-title{
    grid-template-columns:minmax(0,1fr);
  }
  .page-home .top-stats.is-guest{
    width:132px;
  }
  .page-home .home-ticket-section .ticket-section-title-main{
    grid-column:1;
    grid-row:1;
  }
  .page-home .home-welcome-title-image{
    grid-column:1;
    grid-row:1;
    justify-self:center;
    width:min(100%,620px);
  }
}
@media(max-width:620px){
  .page-home .home-ticket-section{
    margin-top:-48px;
  }
  .page-home .home-ticket-section .ticket-section-title-main{
    align-items:flex-start;
  }
  .page-home .home-ticket-section .ticket-section-title{
    grid-template-columns:1fr;
    gap:12px;
  }
  .page-home .home-ticket-section .ticket-section-title-main{
    order:2;
  }
  .page-home .home-welcome-title-image{
    order:1;
    justify-self:stretch;
  }
  .page-home .home-ticket-section .ticket-section-title-main > div{
    display:block;
    white-space:normal;
  }
  .page-home .home-ticket-section .ticket-section-title h2{
    font-size:20px;
  }
  .page-home .home-ticket-section .home-section-subtitle{
    margin-top:2px;
    font-size:9px;
  }
  .page-home .home-loyalty-section,
  .page-home .home-gratons-section{
    padding:12px;
  }
  .page-home .home-loyalty-layout,
  .page-home .home-gratons-layout{
    grid-template-columns:1fr;
  }
  .page-home .home-section-heading h2{
    font-size:17px;
    line-height:1.05;
  }
  .page-home .home-section-heading{
    gap:8px;
  }
  .page-home .home-section-heading > div{
    min-width:0;
  }
  .page-home .home-loyalty-calendar{
    width:46px;
    height:46px;
  }
  .page-home .home-loyalty-days{
    gap:1px;
  }
  .page-home .home-loyalty-day{
    gap:1px;
  }
  .page-home .home-loyalty-day b{
    width:32px;
    height:31px;
    font-size:9px;
  }
  .page-home .home-loyalty-day i{
    font-size:9px;
  }
  .page-home .home-loyalty-ticket,
  .page-home .home-shop-art{
    width:100%;
    max-width:none;
  }
  .page-home .home-payment-options{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

/* Games page: keep the existing cards and artwork, only adapt their layout. */
body.page-games,
.page-games{
  background-color:#6b5aae!important;
  background-image:var(--page-purple-depth)!important;
}
.page-games #tickets .ticket-section-title h2{
  color:#fff;
}
.page-games #tickets .games-ticket-card-actions{
  display:block;
  min-width:0;
}
.page-games #tickets .games-ticket-card-actions > .button{
  width:100%!important;
  min-width:0!important;
  white-space:nowrap;
}
@media(min-width:900px) and (orientation:landscape){
  .page-games #tickets .ticket-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:6px;
  }
  .page-games #tickets .ticket-section-title{
    grid-column:1 / -1;
  }
  .page-games #tickets .ticket-card:is(.ticket-card-secret-dino,.ticket-card-fidelity,.ticket-card-secret-volcan){
    grid-column:span 2;
  }
  .page-games #tickets .ticket-card{
    min-width:0;
    padding:12px;
  }
  .page-games #tickets .ticket-card:is(.ticket-card-clover,.ticket-card-bibi,.ticket-card-diamond,.ticket-card-pako,.ticket-card-mimo,.ticket-card-star) .ticket-art-wrap{
    width:calc(100% + 22px)!important;
    aspect-ratio:1 / 1!important;
    margin:-14px -11px 5px!important;
  }
  .page-games #tickets .ticket-card-clover .ticket-art{
    object-position:5% center!important;
  }
  .page-games #tickets .ticket-card-bibi .ticket-art{
    object-position:12% center!important;
  }
  .page-games #tickets .ticket-card-diamond .ticket-art{
    object-position:18% center!important;
  }
  .page-games #tickets .games-ticket-card-actions > .button{
    min-height:35px;
    padding-inline:7px;
    font-size:clamp(8px,.76vw,11px);
  }
}

/* Requested global page surface and supplied panoramic header. */
html,
body,
body[class*="page-"],
.page-home,
.page-games{
  background-color:#F0ECF8!important;
  background-image:none!important;
}

/* Keep the supplied header edge-to-edge and blend only its built-in lower
   violet into the requested site background without changing the image. */
.page-home .home-banner{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}
.page-home .home-banner::after{
  content:"";
  display:block!important;
  position:absolute;
  z-index:1;
  left:0;
  right:0;
  bottom:-18px;
  height:clamp(18px,5vw,64px);
  pointer-events:none;
  background:linear-gradient(180deg,transparent 0%,rgba(240,236,248,.92) 70%,#F0ECF8 100%);
}

@media(min-width:621px) and (max-width:899px) and (orientation:portrait){
  .page-games #tickets .ticket-card:is(
    .ticket-card-clover,
    .ticket-card-bibi,
    .ticket-card-diamond,
    .ticket-card-pako,
    .ticket-card-mimo,
    .ticket-card-star
  ) .ticket-art-wrap{
    width:calc(100% + 38px)!important;
    margin:-19px -19px 10px!important;
    aspect-ratio:1.72 / 1!important;
  }
  .page-games #tickets .ticket-card-clover .ticket-art{
    object-position:48% 50%!important;
  }
  .page-games #tickets .ticket-card-bibi .ticket-art{
    object-position:46% 49%!important;
  }
  .page-games #tickets .ticket-card-diamond .ticket-art{
    object-position:52% 51%!important;
  }
  .page-games #tickets .ticket-card-pako .ticket-art{
    object-position:50% 18%!important;
  }
  .page-games #tickets .ticket-card-mimo .ticket-art{
    object-position:49% 78%!important;
  }
  .page-games #tickets .ticket-card-star .ticket-art{
    object-position:51% 76%!important;
  }
}

/* Homepage daily tickets: match the six-card games layout on desktop and
   iPad landscape, including the square framed artwork. */
@media(min-width:900px) and (orientation:landscape){
  .page-home #tickets .ticket-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:6px;
  }
  .page-home #tickets .ticket-card{
    min-width:0;
    padding:12px;
  }
  .page-home #tickets .ticket-card:is(
    .ticket-card-clover,
    .ticket-card-bibi,
    .ticket-card-diamond,
    .ticket-card-pako,
    .ticket-card-mimo,
    .ticket-card-star
  ) .ticket-art-wrap{
    width:calc(100% + 22px)!important;
    aspect-ratio:1 / 1!important;
    margin:-14px -11px 5px!important;
  }
  .page-home #tickets .ticket-card-clover .ticket-art{
    object-position:5% center!important;
  }
  .page-home #tickets .ticket-card-bibi .ticket-art{
    object-position:12% center!important;
  }
  .page-home #tickets .ticket-card-diamond .ticket-art{
    object-position:18% center!important;
  }
  .page-home #tickets .home-ticket-card-actions{
    gap:4px;
  }
  .page-home #tickets .home-ticket-availability{
    min-height:35px;
    padding-inline:6px;
    font-size:clamp(7px,.72vw,10px);
  }
  .page-home #tickets .home-ticket-card-actions > .button{
    min-width:44px;
    min-height:35px;
    padding-inline:7px;
    font-size:clamp(8px,.76vw,11px);
  }
}

/* Keep the homepage section titles visually unified and on one line. */
.page-home .home-ticket-section .ticket-section-title h2,
.page-home .home-feature-title h2{
  color:#351a91;
  font-family:"Arial Rounded MT Bold","Trebuchet MS",ui-rounded,sans-serif;
  font-size:clamp(20px,3vw,24px);
  font-weight:1000;
  letter-spacing:-.075em;
  line-height:.95;
  white-space:nowrap;
  -webkit-text-stroke:1px #fff;
  text-shadow:0 1px 0 rgba(255,255,255,.62);
}

/* Page Jeux iPad paysage: close the daily and secret artwork to the card
   frame while preserving the secret cards' established 1.5:1 artwork ratio. */
@media(min-width:900px) and (orientation:landscape){
  .page-games #tickets .ticket-card:is(
    .ticket-card-clover,
    .ticket-card-bibi,
    .ticket-card-diamond,
    .ticket-card-pako,
    .ticket-card-mimo,
    .ticket-card-star
  ) .ticket-art-wrap{
    width:calc(100% + 28px)!important;
    margin:-14px -14px 5px!important;
  }
  .page-games #tickets .ticket-card:is(
    .ticket-card-secret-dino,
    .ticket-card-fidelity,
    .ticket-card-secret-volcan
  ) .ticket-art-wrap{
    width:calc(100% + 24px)!important;
    aspect-ratio:1.5 / 1!important;
    margin:-12px -12px 18px!important;
  }
}

/* The three Jeux section titles use the same violet fill and white outline. */
.page-games #tickets .ticket-section-title h2,
.page-games .special-games-heading h2{
  color:#351a91!important;
  -webkit-text-stroke:1px #fff;
  text-shadow:0 1px 0 rgba(255,255,255,.62);
}

/* iPad portrait: let every listing thumbnail touch the inside frame on the
   left, right and top. The controls and the playable tickets remain intact. */
@media(min-width:621px) and (max-width:899px) and (orientation:portrait){
  .page-games #tickets .ticket-card .ticket-art-wrap{
    width:calc(100% + 38px)!important;
    margin:-19px -19px 10px!important;
    aspect-ratio:1.72 / 1!important;
  }
  .page-games #tickets .ticket-card:is(
    .ticket-card-secret-dino,
    .ticket-card-fidelity,
    .ticket-card-secret-volcan
  ) .ticket-art-wrap{
    aspect-ratio:1.5 / 1!important;
  }
  .page-games .special-games-section .special-game-card-visual{
    width:calc(100% + 12px)!important;
    margin:-6px -6px 0!important;
  }
  .page-home #tickets .ticket-card .ticket-art-wrap{
    width:calc(100% + 18px)!important;
    margin:-9px -9px 7px!important;
  }
  .page-home .home-feature-card-wheel img,
  .page-home .home-feature-card-grid img{
    width:calc(100% + 10px)!important;
    margin:-5px -5px 0!important;
  }
}

/* Homepage-only frame colors requested from the portrait reference. */
.page-home .home-feature-card-grid,
.page-home .home-feature-card-secrets{
  border-color:#70B84A!important;
  background:#C3E374!important;
}

/* Games page title artwork: centered above the daily ticket heading. */
.page-games .games-title-image{
  display:block;
  width:min(70%,560px);
  height:auto;
  margin:-12px auto 10px;
}

/* Page Jeux — iPad paysage : hiérarchie plus compacte, sans toucher au menu. */
@media(min-width:900px) and (max-width:1366px) and (orientation:landscape){
  .page-games .container{
    padding-top:18px;
    padding-bottom:54px;
  }
  .page-games #tickets{
    padding-top:34px!important;
  }
  .page-games .games-title-image{
    width:min(62%,500px);
    margin-top:-12px;
    margin-bottom:4px;
  }
  .page-games #tickets .ticket-section-title-daily{
    margin-bottom:8px;
  }
  .page-games #tickets .ticket-grid{
    gap:6px;
  }
  .page-games #tickets .ticket-card:not(:is(
    .ticket-card-secret-dino,
    .ticket-card-fidelity,
    .ticket-card-secret-volcan
  )){
    transform:scale(1.035);
    transform-origin:center top;
    position:relative;
    z-index:1;
  }
  .page-games #tickets .ticket-section-title-secret{
    margin-top:6px;
    margin-bottom:4px;
  }
}

/* Les trois previews secrets conservent leur cadrage source. */
.page-games #tickets .ticket-card:is(
  .ticket-card-secret-dino,
  .ticket-card-fidelity,
  .ticket-card-secret-volcan
) .ticket-art{
  object-fit:cover!important;
}
.page-games #tickets .ticket-card-secret-dino .ticket-art-wrap{
  background-image:url("images/tickets/preview/dino-preview-20260921.png")!important;
  background-position:center 38%!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
}
.page-games #tickets .ticket-card-fidelity .ticket-art-wrap{
  background-image:url("images/tickets/preview/fidelity-preview-20260921.png")!important;
  background-position:center 42%!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
}
.page-games #tickets .ticket-card-secret-volcan .ticket-art-wrap{
  background-image:url("images/tickets/preview/volcano-preview-20260921.png")!important;
  background-position:center 50%!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
}
.page-games #tickets .ticket-card-secret-dino .ticket-art{
  object-position:center 38%!important;
}
.page-games #tickets .ticket-card-fidelity .ticket-art{
  object-position:center 42%!important;
}
.page-games #tickets .ticket-card-secret-volcan .ticket-art{
  object-position:center 50%!important;
}

/* Les boutons reprennent la couleur du contour extérieur de leur carte. */
.page-home #tickets .ticket-card-clover,
.page-games #tickets .ticket-card-clover{
  --ticket-frame-button:#37803f;
  --ticket-frame-dark:#2f7138;
  --ticket-frame-highlight:#61d96b;
  --ticket-frame-outer:rgba(40,120,55,.35);
  --ticket-button-top:#1fc94a;
  --ticket-button-mid:#18b943;
  --ticket-button-bottom:#0fa83a;
  --ticket-button-border:#0c9633;
  --ticket-button-shadow:#087f2b;
}
.page-home #tickets .ticket-card-bibi,
.page-games #tickets .ticket-card-bibi{
  --ticket-frame-button:#e05d29;
  --ticket-frame-dark:#c94a22;
  --ticket-frame-highlight:#f59a58;
  --ticket-frame-outer:rgba(200,75,30,.35);
  --ticket-button-top:#f8b52c;
  --ticket-button-mid:#f19a20;
  --ticket-button-bottom:#e87516;
  --ticket-button-border:#d96510;
  --ticket-button-shadow:#b9520b;
}
.page-home #tickets .ticket-card-diamond,
.page-games #tickets .ticket-card-diamond{
  --ticket-frame-button:#2a63e8;
  --ticket-frame-dark:#2455d0;
  --ticket-frame-highlight:#55a9ff;
  --ticket-frame-outer:rgba(35,85,210,.35);
  --ticket-button-top:#55b5ff;
  --ticket-button-mid:#2fa9ff;
  --ticket-button-bottom:#287bea;
  --ticket-button-border:#2168d2;
  --ticket-button-shadow:#1857b5;
}
.page-home #tickets .ticket-card-pako,
.page-games #tickets .ticket-card-pako{
  --ticket-frame-button:#d95726;
  --ticket-frame-dark:#c64820;
  --ticket-frame-highlight:#f06f35;
  --ticket-frame-outer:rgba(195,70,30,.35);
  --ticket-button-top:#f8b52c;
  --ticket-button-mid:#f19a20;
  --ticket-button-bottom:#e87516;
  --ticket-button-border:#d96510;
  --ticket-button-shadow:#b9520b;
}
.page-home #tickets .ticket-card-mimo,
.page-games #tickets .ticket-card-mimo{
  --ticket-frame-button:#408ebe;
  --ticket-frame-dark:#367fae;
  --ticket-frame-highlight:#63c9e8;
  --ticket-frame-outer:rgba(50,125,170,.35);
  --ticket-button-top:#55d5e8;
  --ticket-button-mid:#28b8d8;
  --ticket-button-bottom:#269bc4;
  --ticket-button-border:#208baf;
  --ticket-button-shadow:#197b9a;
}
.page-home #tickets .ticket-card-star,
.page-games #tickets .ticket-card-star{
  --ticket-frame-button:#d89635;
  --ticket-frame-dark:#c7842d;
  --ticket-frame-highlight:#f3c84b;
  --ticket-frame-outer:rgba(200,135,40,.35);
  --ticket-button-top:#ffe05a;
  --ticket-button-mid:#f8c52e;
  --ticket-button-bottom:#e5a91f;
  --ticket-button-border:#d49a16;
  --ticket-button-shadow:#b9820f;
}
.page-home #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
) .home-ticket-card-actions > .button,
.page-games #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
) .games-ticket-card-actions > .button{
  width:100%!important;
  grid-column:1 / -1;
  min-height:38px;
  padding-block:8px;
  border:2px solid var(--ticket-button-border)!important;
  border-radius:999px!important;
  background:linear-gradient(
    180deg,
    var(--ticket-button-top) 0%,
    var(--ticket-button-mid) 52%,
    var(--ticket-button-bottom) 100%
  )!important;
  color:#fff!important;
  font-size:clamp(10px,.9vw,13px)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-weight:900;
  letter-spacing:.01em;
  text-transform:none!important;
  text-shadow:0 1px 1px rgba(0,0,0,.18);
  box-shadow:
    0 3px 0 var(--ticket-button-shadow),
    0 4px 8px rgba(0,0,0,.25),
    inset 0 2px 2px rgba(255,255,255,.45)!important;
  transition:transform .15s ease,filter .15s ease,box-shadow .15s ease;
}

.page-home #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
),
.page-games #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
){
  border:4px solid transparent!important;
  border-radius:22px!important;
  background:
    linear-gradient(
      180deg,
      var(--ticket-frame-highlight) 0%,
      var(--ticket-frame-button) 45%,
      var(--ticket-frame-dark) 100%
    ) border-box,
    linear-gradient(
      155deg,
      color-mix(in srgb,var(--ticket-frame-highlight) 18%,#fff) 0%,
      color-mix(in srgb,var(--ticket-frame-button) 18%,#fff) 54%,
      color-mix(in srgb,var(--ticket-frame-highlight) 14%,#fff) 100%
    ) padding-box!important;
  box-shadow:
    0 4px 0 var(--ticket-frame-dark),
    0 6px 12px var(--ticket-frame-outer),
    inset 0 2px 2px rgba(255,255,255,.55),
    inset 0 -2px 3px rgba(0,0,0,.20)!important;
}
.page-home #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
) .home-ticket-card-actions > .button:hover,
.page-games #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
) .games-ticket-card-actions > .button:hover{
  filter:saturate(1.06) brightness(1.03);
  transform:translateY(-1px);
  box-shadow:
    0 4px 0 var(--ticket-button-shadow),
    0 9px 17px color-mix(in srgb,var(--ticket-button-shadow) 30%,transparent),
    inset 0 1px 0 rgba(255,255,255,.42)!important;
}

/* Les boutons des miniatures utilisent aussi le contour de leur cadre. */
.page-games .special-game-card-grid .button{
  background:#70bb55!important;
  color:#214f2f!important;
  border-color:#70bb55!important;
  box-shadow:0 4px 0 #4d8f38!important;
}
.page-home .home-feature-card-secrets .home-feature-card-overlay b{
  background:#70B84A!important;
  color:#1d5b30!important;
  box-shadow:0 2px 0 #4d9631!important;
}

/* Dézoom renforcé des trois previews secrets, sans changer leurs cartes. */
.page-games #tickets .ticket-card:is(
  .ticket-card-secret-dino,
  .ticket-card-fidelity,
  .ticket-card-secret-volcan
) .ticket-art{
  transform:scale(.94)!important;
}

/* Daily ticket reference treatment: preserve the existing layout and artwork,
   while matching the light premium cards from the supplied reference. */
.page-home #tickets .ticket-card-clover,
.page-games #tickets .ticket-card-clover{
  --ticket-main:#5DCB52;
  --ticket-secondary:#8BE36F;
  --ticket-dark:#388040;
  --ticket-button-top:#38E06A;
  --ticket-button-mid:#12C94B;
  --ticket-button-bottom:#0AAB3C;
}
.page-home #tickets .ticket-card-bibi,
.page-games #tickets .ticket-card-bibi{
  --ticket-main:#F09E3A;
  --ticket-secondary:#FFC15A;
  --ticket-dark:#E7752F;
  --ticket-button-top:#FFB52F;
  --ticket-button-mid:#FF8C16;
  --ticket-button-bottom:#F36B0B;
}
.page-home #tickets .ticket-card-diamond,
.page-games #tickets .ticket-card-diamond{
  --ticket-main:#51B2F7;
  --ticket-secondary:#73C8FF;
  --ticket-dark:#2A63E8;
  --ticket-button-top:#32C9FF;
  --ticket-button-mid:#079BEF;
  --ticket-button-bottom:#0876D9;
}
.page-home #tickets .ticket-card-pako,
.page-games #tickets .ticket-card-pako{
  --ticket-main:#F3B440;
  --ticket-secondary:#FFC765;
  --ticket-dark:#E87532;
  --ticket-button-top:#FFC13B;
  --ticket-button-mid:#FF9817;
  --ticket-button-bottom:#F06A0A;
}
.page-home #tickets .ticket-card-mimo,
.page-games #tickets .ticket-card-mimo{
  --ticket-main:#58C1E1;
  --ticket-secondary:#7ADCF0;
  --ticket-dark:#408EBE;
  --ticket-button-top:#42D9F3;
  --ticket-button-mid:#16B9D8;
  --ticket-button-bottom:#089DBB;
}
.page-home #tickets .ticket-card-star,
.page-games #tickets .ticket-card-star{
  --ticket-main:#F4C946;
  --ticket-secondary:#FFE477;
  --ticket-dark:#D99E25;
  --ticket-button-top:#FFE35C;
  --ticket-button-mid:#FFC21F;
  --ticket-button-bottom:#F0A900;
}

.page-home #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
),
.page-games #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
){
  border:3px solid var(--ticket-main)!important;
  border-radius:26px!important;
  background:linear-gradient(
    180deg,
    var(--ticket-secondary) 0%,
    var(--ticket-main) 50%,
    var(--ticket-dark) 100%
  )!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.35),
    0 8px 18px rgba(40,25,90,.16),
    0 4px 0 var(--ticket-dark)!important;
}

.page-home #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
 ) .ticket-art-wrap,
.page-games #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
 ) .ticket-art-wrap{
  border-radius:20px 20px 14px 14px!important;
}

.page-home #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
) .home-ticket-card-actions > .button,
.page-games #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
) .games-ticket-card-actions > .button{
  border:2px solid rgba(255,255,255,.45)!important;
  border-radius:999px!important;
  background:linear-gradient(
    180deg,
    var(--ticket-button-top) 0%,
    var(--ticket-button-mid) 55%,
    var(--ticket-button-bottom) 100%
  )!important;
  color:#FFFFFF!important;
  font-weight:700!important;
  text-shadow:0 1px 1px rgba(0,0,0,.12)!important;
  box-shadow:
    inset 0 2px 2px rgba(255,255,255,.45),
    inset 0 -3px 5px rgba(0,0,0,.12),
    0 3px 5px rgba(0,0,0,.20)!important;
}

/* The reference banner belongs to the Games heading, not the homepage. */
.page-games #tickets .ticket-section-title-daily{
  position:relative;
}
.page-games #tickets .ticket-section-title-daily::after{
  content:"✨ 3 parties par jour sur les tickets quotidiens ✨";
  position:absolute;
  left:auto;
  bottom:auto;
  top:0;
  right:0;
  width:auto;
  height:auto;
  max-width:52%;
  padding:8px 18px;
  border-radius:999px;
  background:#5432A2;
  color:#fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    0 3px 0 rgba(48,24,117,.28),
    0 6px 12px rgba(48,24,117,.18);
  font-size:clamp(10px,1.15vw,16px);
  font-weight:800;
  line-height:1.1;
  text-align:center;
  white-space:nowrap;
}
@media(max-width:700px){
  .page-games #tickets .ticket-section-title-daily::after{
    position:static;
    left:auto;
    right:auto;
    bottom:auto;
    width:auto;
    height:auto;
    display:block;
    max-width:none;
    margin-top:8px;
    font-size:10px;
  }
}

/* Final strict reference pass: shared proportions, exact six-card palette,
   and the same page surface on every route. */
:root{
  --gratou-page-bg:#F0ECF8;
}
html,
body,
body[class*="page-"],
body:has(.home-feature-grid),
main.container{
  background-color:var(--gratou-page-bg)!important;
  background-image:none!important;
}

.page-home #tickets .ticket-grid,
.page-games #tickets .ticket-grid{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch;
}

.page-home #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
),
.page-games #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
){
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  height:100%!important;
  padding:5px!important;
  overflow:visible!important;
}

.page-home #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
) .ticket-art-wrap,
.page-games #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
) .ticket-art-wrap{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  margin:0 0 12px!important;
  border-radius:19px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.16)!important;
}

.page-home #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
) .ticket-art,
.page-games #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
) .ticket-art{
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border-radius:inherit!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:none!important;
  transform:none!important;
}

.page-home #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
) .home-ticket-card-actions,
.page-games #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
) .games-ticket-card-actions{
  display:flex!important;
  align-items:stretch!important;
  width:100%!important;
  margin-top:auto!important;
  gap:0!important;
}

.page-home #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
) .home-ticket-card-actions > .button,
.page-games #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
) .games-ticket-card-actions > .button{
  width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  padding:8px 10px!important;
  font-size:14px!important;
  line-height:1!important;
}

@media(min-width:621px) and (max-width:899px){
  .page-home #tickets .ticket-grid,
  .page-games #tickets .ticket-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
  }
}
@media(min-width:401px) and (max-width:620px){
  .page-home #tickets .ticket-grid,
  .page-games #tickets .ticket-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
}
@media(max-width:400px){
  .page-home #tickets .ticket-grid,
  .page-games #tickets .ticket-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
}

/* Secret ticket reference treatment: recolor only the existing cards and
   controls; preserve their geometry, artwork, crop and lock state. */
.page-games #tickets .ticket-card-secret-dino{
  --secret-frame-light:#64B5F6;
  --secret-frame-main:#2196F3;
  --secret-frame-dark:#1976D2;
  --secret-frame-depth:#1565C0;
  --secret-frame-shadow:rgba(21,101,192,.34);
  --secret-button-top:#64B5F6;
  --secret-button-mid:#2196F3;
  --secret-button-bottom:#1976D2;
  --secret-button-border:#1565C0;
  --secret-button-depth:#0D47A1;
}
.page-games #tickets .ticket-card-fidelity{
  --secret-frame-light:#CE93D8;
  --secret-frame-main:#AB7BEA;
  --secret-frame-dark:#7E57C2;
  --secret-frame-depth:#5E35B1;
  --secret-frame-shadow:rgba(94,53,177,.34);
  --secret-button-top:#CE93D8;
  --secret-button-mid:#AB7BEA;
  --secret-button-bottom:#7E57C2;
  --secret-button-border:#5E35B1;
  --secret-button-depth:#4527A0;
}
.page-games #tickets .ticket-card-secret-volcan{
  --secret-frame-light:#FF8A65;
  --secret-frame-main:#FF7043;
  --secret-frame-dark:#F4511E;
  --secret-frame-depth:#D84315;
  --secret-frame-shadow:rgba(191,54,12,.34);
  --secret-button-top:#FF8A65;
  --secret-button-mid:#FF7043;
  --secret-button-bottom:#F4511E;
  --secret-button-border:#D84315;
  --secret-button-depth:#BF360C;
}

.page-games #tickets .ticket-card:is(
  .ticket-card-secret-dino,
  .ticket-card-fidelity,
  .ticket-card-secret-volcan
){
  border-color:var(--secret-frame-main)!important;
  background:linear-gradient(
    180deg,
    var(--secret-frame-light) 0%,
    var(--secret-frame-main) 48%,
    var(--secret-frame-dark) 100%
  )!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.48),
    inset 0 -2px 3px rgba(0,0,0,.22),
    0 4px 0 var(--secret-frame-depth),
    0 7px 14px var(--secret-frame-shadow)!important;
}

.page-games #tickets .ticket-card:is(
  .ticket-card-secret-dino,
  .ticket-card-fidelity,
  .ticket-card-secret-volcan
 ) .games-ticket-card-actions > .button{
  border-color:var(--secret-button-border)!important;
  background:linear-gradient(
    180deg,
    var(--secret-button-top) 0%,
    var(--secret-button-mid) 54%,
    var(--secret-button-bottom) 100%
  )!important;
  color:#fff!important;
  text-shadow:0 1px 1px rgba(0,0,0,.2)!important;
  box-shadow:
    inset 0 2px 2px rgba(255,255,255,.48),
    inset 0 -3px 5px rgba(0,0,0,.16),
    0 3px 0 var(--secret-button-depth),
    0 5px 9px rgba(0,0,0,.22)!important;
}

.page-games #tickets .ticket-card:is(
  .ticket-card-secret-dino,
  .ticket-card-fidelity,
  .ticket-card-secret-volcan
 ) .games-ticket-card-actions > .button:hover{
  filter:saturate(1.06) brightness(1.04);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.52),
    0 4px 0 var(--secret-button-depth),
    0 8px 14px rgba(0,0,0,.24)!important;
}

/* The supplied reference uses a clean violet title, without the legacy
   white outline that reduced contrast on the requested page surface. */
.page-home #tickets .ticket-section-title-daily h2,
.page-games #tickets .ticket-section-title-daily h2{
  color:#351A91!important;
  font-family:Inter,ui-sans-serif,system-ui,sans-serif!important;
  font-size:clamp(20px,2.6vw,26px)!important;
  font-weight:700!important;
  letter-spacing:-.035em!important;
  line-height:1!important;
  -webkit-text-stroke:0!important;
  text-shadow:none!important;
}

/* Portrait large: keep the homepage and Jeux ticket grids identical, with
   three daily cards per row and one column per secret card. */
@media(min-width:900px) and (orientation:portrait){
  .page-home #tickets .ticket-grid,
  .page-games #tickets .ticket-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .page-home #tickets .ticket-card:is(
    .ticket-card-secret-dino,
    .ticket-card-fidelity,
    .ticket-card-secret-volcan
  ),
  .page-games #tickets .ticket-card:is(
    .ticket-card-secret-dino,
    .ticket-card-fidelity,
    .ticket-card-secret-volcan
  ){
    grid-column:span 1!important;
  }
}

/* Daily ticket artwork only: fill the existing inner frame without changing
   the six cards' outer dimensions, palette, effects, or controls. */
.page-home #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
) .ticket-art-wrap,
.page-games #tickets .ticket-card:is(
  .ticket-card-clover,
  .ticket-card-bibi,
  .ticket-card-diamond,
  .ticket-card-pako,
  .ticket-card-mimo,
  .ticket-card-star
) .ticket-art-wrap{
  width:calc(100% + 8px)!important;
  margin:-4px -4px 8px!important;
}

/* Secret thumbnails use the same visible frame thickness as daily thumbnails:
   5px inner space plus the card border. The bottom remains unchanged for the
   action button. */
@media(min-width:900px) and (orientation:landscape){
  .page-games #tickets .ticket-card:is(
    .ticket-card-secret-dino,
    .ticket-card-fidelity,
    .ticket-card-secret-volcan
  ) .ticket-art-wrap{
    width:calc(100% + 22px)!important;
    margin:-11px -11px 18px!important;
  }
}
/* Large iPad portrait uses a CSS viewport above 899px. Keep the same 1px
   secret-thumbnail frame there instead of falling back to the card padding. */
@media(min-width:900px) and (orientation:portrait){
  .page-games #tickets .ticket-card:is(
    .ticket-card-secret-dino,
    .ticket-card-fidelity,
    .ticket-card-secret-volcan
  ) .ticket-art-wrap{
    width:calc(100% + 48px)!important;
    margin:-24px -24px 10px!important;
  }
}
@media(min-width:621px) and (max-width:899px) and (orientation:portrait){
  .page-games #tickets .ticket-card:is(
    .ticket-card-secret-dino,
    .ticket-card-fidelity,
    .ticket-card-secret-volcan
  ) .ticket-art-wrap{
    width:calc(100% + 48px)!important;
    margin:-24px -24px 10px!important;
  }
}
@media(max-width:620px){
  .page-games #tickets .ticket-card:is(
    .ticket-card-secret-dino,
    .ticket-card-fidelity,
    .ticket-card-secret-volcan
  ) .ticket-art-wrap{
    width:calc(100% + 30px)!important;
    margin:-13px -15px 18px!important;
  }
}

/* Enlarge only the locked secret-ticket label to match the daily "Jouer"
   text; the button surface and its geometry remain unchanged. */
.page-games #tickets .ticket-card:is(
  .ticket-card-secret-dino,
  .ticket-card-fidelity,
  .ticket-card-secret-volcan
).is-locked .games-ticket-card-actions > .button .ticket-secret-button-label{
  display:inline-block;
  font-size:14px!important;
  line-height:1!important;
}

/* The square secret artwork must be painted once inside its expanded frame.
   Reset the inherited hover zoom, which can persist as a Safari/iPad hover
   state and makes the top and bottom edges look duplicated. */
.page-games #tickets .ticket-card:is(
  .ticket-card-secret-dino,
  .ticket-card-fidelity,
  .ticket-card-secret-volcan
){
  overflow:hidden!important;
}
.page-games #tickets .ticket-card:is(
  .ticket-card-secret-dino,
  .ticket-card-fidelity,
  .ticket-card-secret-volcan
) .ticket-art-wrap{
  overflow:hidden!important;
}
.page-games #tickets .ticket-card:is(
  .ticket-card-secret-dino,
  .ticket-card-fidelity,
  .ticket-card-secret-volcan
) .ticket-art{
  transform:none!important;
}

/* Slightly zoom out the three secret illustrations so their ticket labels
   remain visible. Use one CSS artwork layer only; palette colors fill the
   side areas instead of painting a second cropped copy of the illustration. */
.page-games #tickets .ticket-card:is(
  .ticket-card-secret-dino,
  .ticket-card-fidelity,
  .ticket-card-secret-volcan
) .ticket-art-wrap{
  aspect-ratio:1.25 / 1!important;
  height:auto!important;
  min-height:0!important;
  background-repeat:no-repeat!important;
  background-position:center top!important;
  background-size:calc(100% - 2px) auto!important;
}
.page-games #tickets .ticket-card-secret-dino .ticket-art-wrap{
  background-image:url("images/tickets/preview/dino-preview-20260921.png")!important;
  background-color:#3d82b0!important;
}
.page-games #tickets .ticket-card-fidelity .ticket-art-wrap{
  background-image:url("images/tickets/preview/fidelity-preview-20260921.png")!important;
  background-color:#7144a2!important;
}
.page-games #tickets .ticket-card-secret-volcan .ticket-art-wrap{
  background-image:url("images/tickets/preview/volcano-preview-20260921.png")!important;
  background-color:#6e1b32!important;
}
.page-games #tickets .ticket-card-fidelity .ticket-art-wrap{
  aspect-ratio:1 / 1!important;
  background-position:center 1px!important;
  background-size:94% auto!important;
  box-shadow:inset 0 0 0 1px #7144a2!important;
}
.page-games #tickets .ticket-card:is(
  .ticket-card-secret-dino,
  .ticket-card-fidelity,
  .ticket-card-secret-volcan
) .ticket-art{
  display:none!important;
}

/* Keep the same 1px top/side frame on every viewport orientation. */
@media(min-width:621px) and (orientation:portrait){
  .page-games #tickets .ticket-card:is(
    .ticket-card-secret-dino,
    .ticket-card-fidelity,
    .ticket-card-secret-volcan
  ) .ticket-art-wrap{
    background-position:center top!important;
    background-size:calc(100% - 2px) auto!important;
  }
}

/* Secret tickets: redistribute the existing inner space without enlarging
   the outer frame. The artwork grows downward, the action follows it, and
   both the image/button and button/frame gaps stay short and regular. */
.page-games #tickets .ticket-card:is(
  .ticket-card-secret-dino,
  .ticket-card-fidelity,
  .ticket-card-secret-volcan
){
  padding-bottom:6px!important;
}
.page-games #tickets .ticket-card:is(
  .ticket-card-secret-dino,
  .ticket-card-fidelity,
  .ticket-card-secret-volcan
) .ticket-art-wrap{
  margin-bottom:8px!important;
}
@media(orientation:portrait){
  .page-games #tickets .ticket-card:is(
    .ticket-card-secret-dino,
    .ticket-card-fidelity,
    .ticket-card-secret-volcan
  ){
    padding-bottom:6.5px!important;
  }
  .page-games #tickets .ticket-card:is(
    .ticket-card-secret-dino,
    .ticket-card-fidelity,
    .ticket-card-secret-volcan
  ) .ticket-art-wrap{
    aspect-ratio:1.15 / 1!important;
  }
}
@media(orientation:landscape){
  .page-games #tickets .ticket-card:is(
    .ticket-card-secret-dino,
    .ticket-card-fidelity,
    .ticket-card-secret-volcan
  ){
    padding-bottom:4.7px!important;
  }
  .page-games #tickets .ticket-card:is(
    .ticket-card-secret-dino,
    .ticket-card-fidelity,
    .ticket-card-secret-volcan
  ) .ticket-art-wrap{
    aspect-ratio:1.18 / 1!important;
  }
}

/* The daily remaining-play pill is private to authenticated home cards.
   Keep it compact so it does not push the six-ticket row taller. */
.page-home .home-ticket-section .ticket-card .ticket-plays{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:0;
  margin:0 0 8px;
  padding:3px 5px;
  border:1px solid color-mix(in srgb,var(--ticket-accent) 42%,#fff);
  border-radius:999px;
  background:var(--ticket-soft,#f0edff);
  color:var(--ticket-accent);
  font-size:clamp(8px,.72vw,10px);
  font-weight:950;
  line-height:1.05;
  text-align:center;
  white-space:nowrap;
}
@supports not (border-color:color-mix(in srgb,#000 20%,#fff)){
  .page-home .home-ticket-section .ticket-card .ticket-plays{
    border-color:#ddd7f4;
  }
}

/* Keep the games-page play-count pill identical to the homepage pill. */
.page-games #tickets .ticket-card .ticket-plays{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:0;
  margin:0 0 8px;
  padding:3px 5px;
  border:1px solid color-mix(in srgb,var(--ticket-accent) 42%,#fff);
  border-radius:999px;
  background:var(--ticket-soft,#f0edff);
  color:var(--ticket-accent);
  font-size:clamp(8px,.72vw,10px);
  font-weight:950;
  line-height:1.05;
  text-align:center;
  white-space:nowrap;
}
@supports not (border-color:color-mix(in srgb,#000 20%,#fff)){
  .page-games #tickets .ticket-card .ticket-plays{
    border-color:#ddd7f4;
  }
}

/* Gratou alone uses the full available width minus a 1px side contour and
   stays aligned to the top so the 1px upper contour remains visible. */
.page-games #tickets .ticket-card.ticket-card-fidelity .ticket-art-wrap{
  background-position:center top!important;
  background-size:calc(100% - 2px) auto!important;
  box-shadow:inset 0 0 0 1px #7144a2!important;
}

/* Secret buttons: widen the three unlock actions while retaining a small,
   even side inset inside their card. */
.page-games #tickets .ticket-card:is(
  .ticket-card-secret-dino,
  .ticket-card-fidelity,
  .ticket-card-secret-volcan
) .games-ticket-card-actions{
  grid-template-columns:minmax(0,1fr)!important;
  width:calc(100% + 12px)!important;
  margin-inline:-6px!important;
}
.page-games #tickets .ticket-card:is(
  .ticket-card-secret-dino,
  .ticket-card-fidelity,
  .ticket-card-secret-volcan
) .games-ticket-card-actions > .button{
  grid-column:1 / -1!important;
  width:100%!important;
  min-width:0!important;
}
@media(min-width:621px) and (orientation:portrait){
  .page-games #tickets .ticket-card:is(
    .ticket-card-secret-dino,
    .ticket-card-fidelity,
    .ticket-card-secret-volcan
  ) .games-ticket-card-actions{
    width:calc(100% + 30px)!important;
    margin-inline:-15px!important;
  }
}

/* User-supplied home banner and six independent, accessible action cards. */
.page-home > main.container{
  max-width:none;
  padding-inline:0;
}
.page-home .home-overview-section{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:0;
  margin:0 0 clamp(44px,6vw,72px);
}
.page-home .home-overview-banner-wrap{
  position:relative;
  z-index:0;
  line-height:0;
}
.page-home .home-overview-banner{
  display:block;
  width:100%;
  height:auto;
}
/* Blend the artwork's final pixels into the page background without adding
   a border, shadow, or extra band below the banner. */
.page-home .home-overview-banner-wrap::after{
  content:"";
  position:absolute;
  z-index:1;
  right:0;
  bottom:0;
  left:0;
  height:clamp(16px,2.8vw,32px);
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    rgba(240,236,248,0) 0%,
    #F0ECF8 100%
  );
}
.page-home .home-overview-content{
  position:relative;
  z-index:1;
  width:min(calc(100% - 40px),1140px);
  margin-inline:auto;
}
.page-home .home-overview-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:clamp(22px,3vw,34px) 0 clamp(16px,2vw,22px);
  color:#351A91;
  font-size:clamp(21px,2.5vw,30px);
  font-weight:950;
  line-height:1.12;
  letter-spacing:-.04em;
  text-align:center;
}
.page-home .home-overview-title::after{
  content:"";
  width:9px;
  height:9px;
  flex:0 0 auto;
  border-radius:50%;
  background:#f3c653;
  box-shadow:0 0 0 4px rgba(243,198,83,.18);
}
.page-home .home-overview-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  gap:clamp(16px,2vw,24px);
}
.page-home .home-overview-card{
  position:relative;
  display:block;
  align-self:start;
  justify-self:center;
  width:94%;
  line-height:0;
  -webkit-tap-highlight-color:transparent;
}
.page-home .home-overview-card:nth-child(2){width:89.5%}
.page-home .home-overview-card:nth-child(3){width:93.3%}
.page-home .home-overview-card:nth-child(4){width:90.7%}
.page-home .home-overview-card:nth-child(5){width:85.9%}
.page-home .home-overview-card:nth-child(6){width:90.8%}
.page-home .home-overview-card-art{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
}
.page-home .home-overview-arrow{
  position:absolute;
  z-index:1;
  right:3.5%;
  bottom:4%;
  display:block;
  width:17%;
  max-width:72px;
  height:auto;
  pointer-events:none;
  transform-origin:center;
  transition:transform .16s ease;
}
.page-home .home-overview-card:hover .home-overview-arrow{
  transform:scale(1.06);
}
.page-home .home-overview-card:active .home-overview-arrow{
  transform:scale(.96);
}
.page-home .home-overview-card:focus-visible{
  z-index:2;
  outline:3px solid #f5ca4c;
  outline-offset:4px;
  border-radius:14px;
}
@media(max-width:850px){
  .page-home .home-overview-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(14px,2vw,20px);
  }
}
@media(min-width:740px) and (max-width:850px) and (orientation:portrait){
  .page-home .home-overview-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(12px,2vw,18px);
  }
}
@media(max-width:520px){
  .page-home .home-overview-grid{
    grid-template-columns:minmax(0,1fr);
    gap:16px;
  }
}
@media(prefers-reduced-motion:reduce){
  .page-home .home-overview-arrow{
    transition:none;
  }
}

/* On iPad landscape, match the portrait side inset around all six overview
   blocks while keeping the supplied banner artwork full-width and undistorted. */
@media(min-width:900px) and (max-width:1366px) and (orientation:landscape) and (max-height:900px){
  .page-home .home-overview-section{
    margin-bottom:28px;
  }
  .page-home .home-overview-banner-wrap{
    width:100%;
    max-width:none;
    margin-inline:0;
  }
  .page-home .home-overview-banner{
    width:100%;
    height:auto;
    max-width:100%;
  }
  .page-home .home-overview-content{
    width:min(calc(100% - 40px),1140px);
  }
  .page-home .home-overview-title{
    margin:10px 0 12px;
    font-size:clamp(20px,2.3vw,24px);
  }
  .page-home .home-overview-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }
}

/* On iPad-width layouts, keep the menu links and guest actions together
   instead of letting the flexible navigation create a large empty gap. */
@media(min-width:801px) and (max-width:1366px){
  .page-home .topbar,
  .page-games .topbar{
    gap:8px;
    padding-inline:10px;
  }
  .page-home .desktop-nav,
  .page-games .desktop-nav{
    flex:0 1 auto;
    min-width:0;
    margin-left:auto;
    gap:clamp(5px,.8vw,8px);
    font-size:11px;
  }
  .page-home .top-stats,
  .page-games .top-stats{
    flex:0 0 auto;
    margin-left:0;
    gap:6px;
  }
  .page-home .top-stats.is-guest,
  .page-games .top-stats.is-guest{
    width:auto;
  }
  .page-home .top-stats.is-guest .guest-register-button,
  .page-home .top-stats.is-guest .guest-login-button,
  .page-games .top-stats.is-guest .guest-register-button,
  .page-games .top-stats.is-guest .guest-login-button{
    flex:0 0 auto;
    width:auto;
    padding:7px 8px;
    font-size:10px;
    white-space:nowrap;
  }
}

@media(min-width:701px) and (max-width:800px){
  .page-home .topbar,
  .page-games .topbar{
    height:auto;
    min-height:58px;
    flex-wrap:nowrap;
    gap:8px;
    padding:8px 10px;
    overflow:hidden;
  }
  .page-home .desktop-nav,
  .page-games .desktop-nav{
    order:initial;
    flex:0 1 auto;
    flex-basis:auto;
    min-width:0;
    margin-left:auto;
    gap:6px;
    overflow:hidden;
    font-size:10px;
  }
  .page-home .desktop-nav a,
  .page-games .desktop-nav a{
    font-size:9px;
    white-space:nowrap;
  }
  .page-home .top-stats,
  .page-games .top-stats{
    flex:0 0 auto;
    margin-left:0;
    gap:5px;
  }
  .page-home .top-stats.is-guest,
  .page-games .top-stats.is-guest{
    width:auto;
  }
  .page-home .top-stats.is-guest .guest-register-button,
  .page-home .top-stats.is-guest .guest-login-button,
  .page-games .top-stats.is-guest .guest-register-button,
  .page-games .top-stats.is-guest .guest-login-button{
    display:inline-flex;
    flex:0 0 auto;
    width:auto;
    padding:7px 7px;
    font-size:9px;
    white-space:nowrap;
  }
}

/* The six daily tickets stay on one row on iPad portrait; phone layouts keep
   their existing two-column and single-column breakpoints. */
@media(min-width:621px) and (max-width:1366px) and (orientation:portrait){
  .page-games #tickets .ticket-grid{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:clamp(4px,.75vw,9px)!important;
  }
  .page-games #tickets .ticket-card:is(
    .ticket-card-clover,
    .ticket-card-bibi,
    .ticket-card-diamond,
    .ticket-card-pako,
    .ticket-card-mimo,
    .ticket-card-star
  ){
    padding:4px!important;
  }
  .page-games #tickets .ticket-card:is(
    .ticket-card-clover,
    .ticket-card-bibi,
    .ticket-card-diamond,
    .ticket-card-pako,
    .ticket-card-mimo,
    .ticket-card-star
  ) h3{
    font-size:clamp(9px,1.1vw,12px)!important;
    line-height:1.1!important;
  }
  .page-games #tickets .ticket-card:is(
    .ticket-card-clover,
    .ticket-card-bibi,
    .ticket-card-diamond,
    .ticket-card-pako,
    .ticket-card-mimo,
    .ticket-card-star
  ) .ticket-plays{
    padding:3px!important;
    font-size:clamp(8px,.9vw,10px)!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
  .page-games #tickets .ticket-card:is(
    .ticket-card-clover,
    .ticket-card-bibi,
    .ticket-card-diamond,
    .ticket-card-pako,
    .ticket-card-mimo,
    .ticket-card-star
  ) .ticket-art-wrap{
    margin:0 0 6px!important;
    border-radius:10px!important;
  }
  .page-games #tickets .ticket-card:is(
    .ticket-card-clover,
    .ticket-card-bibi,
    .ticket-card-diamond,
    .ticket-card-pako,
    .ticket-card-mimo,
    .ticket-card-star
  ) .games-ticket-card-actions > .button{
    min-height:32px!important;
    padding:4px 2px!important;
    font-size:clamp(8px,1vw,10px)!important;
  }
}

/* Match the landscape secret-ticket cards: each one spans two of six columns,
   so the three cards use the full row instead of leaving a blank half. */
@media(min-width:621px) and (max-width:1366px) and (orientation:portrait){
  .page-games #tickets .ticket-card:is(
    .ticket-card-secret-dino,
    .ticket-card-fidelity,
    .ticket-card-secret-volcan
  ){
    grid-column:span 2!important;
  }
}

/* Match the violet sampled from the extended official home header. */
body.page-home{
  background-color:#7561E8!important;
  background-image:none!important;
}

/* Match the Missions header on Home and Games in iPad landscape. */
@media(min-width:801px) and (max-width:1100px) and (orientation:landscape){
  .page-home .topbar,
  .page-games .topbar{
    height:76px;
    min-height:76px;
    gap:28px;
    padding:0 max(20px,calc((100% - 1180px)/2));
    justify-content:flex-start;
  }
  .page-home .brand,
  .page-games .brand{
    gap:10px;
    font-size:21px;
    letter-spacing:.08em;
  }
  .page-home .brand-mark,
  .page-games .brand-mark{
    width:34px;
    height:34px;
    border-radius:12px 12px 12px 4px;
  }
  .page-home .brand-domain,
  .page-games .brand-domain{
    margin-left:-7px;
    font-size:16px;
  }
  .page-home .brand-mascot-wrap,
  .page-games .brand-mascot-wrap{
    width:52px;
    height:52px;
    margin-left:-5px;
  }
  .page-home .brand-mascot,
  .page-games .brand-mascot{
    height:46px;
  }
  .page-home .desktop-nav,
  .page-games .desktop-nav{
    order:initial;
    flex:1 1 0%;
    flex-basis:0;
    min-width:0;
    margin-left:0;
    gap:18px;
    overflow:visible;
    padding-bottom:0;
    font-size:14px;
    white-space:nowrap;
  }
  .page-home .desktop-nav a,
  .page-games .desktop-nav a{
    font-size:14px;
    white-space:nowrap;
  }
  .page-home .top-stats,
  .page-games .top-stats{
    flex:0 0 auto;
    margin-left:0;
    gap:10px;
    font-size:13px;
  }
  .page-home .top-stats span,
  .page-games .top-stats span{
    padding:9px 11px;
    font-size:13px;
  }
  .page-home .top-stats .button,
  .page-games .top-stats .button{
    padding:13px 18px;
    font-size:13px;
  }
  .page-home .top-stats.is-guest,
  .page-games .top-stats.is-guest{
    width:190px;
  }
  .page-home .top-stats.is-guest .guest-register-button,
  .page-home .top-stats.is-guest .guest-login-button,
  .page-games .top-stats.is-guest .guest-register-button,
  .page-games .top-stats.is-guest .guest-login-button{
    display:inline-flex;
    flex:1;
    width:auto;
    padding:13px 18px;
    font-size:13px;
    white-space:nowrap;
  }
}

/* Focused home finish: keep the supplied header and card artwork untouched. */
.page-home .home-overview-title{
  display:flex;
  align-items:center;
  justify-content:center;
  margin:clamp(16px,2.2vw,25px) 0 clamp(12px,1.6vw,18px);
  line-height:0;
}
.page-home .home-overview-title::after{
  content:none;
  display:none;
}
.page-home .home-overview-title-image{
  display:block;
  width:min(100%,420px);
  max-width:100%;
  height:auto;
  aspect-ratio:3 / 1;
  object-fit:contain;
}
.page-home .home-overview-grid{
  column-gap:clamp(16px,2vw,24px);
  row-gap:clamp(12px,1.6vw,19px);
}
.page-home .home-loyalty-section,
.page-home .home-gratons-section{
  background-image:
    radial-gradient(ellipse at 12% 10%,rgba(197,170,255,.12),transparent 38%),
    radial-gradient(ellipse at 88% 90%,rgba(146,222,255,.08),transparent 30%),
    linear-gradient(135deg,#483b94 0%,#40358a 50%,#38307e 100%);
}

/* iPad landscape: trim the existing gap by 20% without touching the header. */
@media(min-width:900px) and (max-width:1366px) and (orientation:landscape) and (max-height:900px){
  .page-home .home-overview-title{
    margin-top:8px;
    margin-bottom:10px;
  }
  .page-home .home-overview-title-image{
    width:min(100%,370px);
  }
  .page-home .home-overview-grid{
    row-gap:8px;
  }
}
@media(max-width:850px){
  .page-home .home-overview-title-image{
    width:min(100%,360px);
  }
  .page-home .home-overview-grid{
    row-gap:clamp(13px,1.6vw,16px);
  }
}
@media(min-width:740px) and (max-width:850px) and (orientation:portrait){
  .page-home .home-overview-grid{
    row-gap:13px;
  }
}
@media(max-width:900px) and (orientation:landscape){
  .page-home .home-overview-title-image{
    width:min(100%,340px);
  }
}
@media(max-width:520px){
  .page-home .home-overview-title-image{
    width:min(100%,315px);
  }
  .page-home .home-overview-grid{
    row-gap:14px;
  }
}

/* The official banner's pale mist blends into the existing light canvas.
   Keep the image at its natural ratio on every viewport. */
.page-home .home-overview-banner-wrap::after{
  height:clamp(24px,4vw,56px);
  background:linear-gradient(to bottom,rgba(240,236,248,0),#F0ECF8);
}
.page-home .home-overview-section{
  margin-bottom:0;
}
.page-home .home-loyalty-section{
  margin-top:clamp(14px,2vw,24px);
}
@media(max-width:520px){
  .page-home .home-overview-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:10px;
  }
  .page-home .home-overview-card{
    width:100%;
  }
  .page-home .home-overview-content{
    width:calc(100% - 24px);
  }
}
@media(max-width:360px){
  .page-home .home-overview-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .page-home .home-overview-content{
    width:min(calc(100% - 48px),320px);
  }
}

.page-home .home-overview-title{
  margin:clamp(16px,2.2vw,26px) 0 clamp(12px,1.6vw,18px);
  color:#351A91;
  font-family:"Fredoka Login Local","Baloo 2","Trebuchet MS",ui-rounded,sans-serif;
  font-size:clamp(22px,2.5vw,32px);
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.025em;
}
.page-home .home-overview-title::after{
  content:"";
  display:block;
}
.page-home .home-mobile-menu{
  display:none;
}
@media(min-width:801px) and (max-width:1100px) and (orientation:landscape){
  .page-home .topbar{
    gap:10px;
    padding-inline:12px;
  }
  .page-home .brand{
    gap:6px;
    font-size:18px;
  }
  .page-home .brand-mascot-wrap{
    width:40px;
    height:40px;
  }
  .page-home .brand-mascot{
    height:37px;
  }
  .page-home .desktop-nav{
    flex:1 1 auto;
    gap:8px;
  }
  .page-home .desktop-nav a{
    font-size:11px;
  }
  .page-home .top-stats.is-guest{
    width:auto;
    gap:6px;
  }
  .page-home .top-stats.is-guest .guest-register-button,
  .page-home .top-stats.is-guest .guest-login-button{
    flex:0 0 auto;
    padding:9px 10px;
    font-size:10px;
  }
}
@media(max-width:800px){
  .page-home .topbar{
    height:64px;
    min-height:64px;
    flex-wrap:nowrap;
    justify-content:space-between;
    overflow:visible;
    padding:0 14px;
  }
  .page-home .desktop-nav,
  .page-home .top-stats.is-guest{
    display:none;
  }
  .page-home .home-mobile-menu{
    display:block;
    flex:0 0 auto;
    margin-left:auto;
  }
  .page-home .home-mobile-menu summary{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:10px;
    color:#fff;
    font-size:24px;
    cursor:pointer;
    list-style:none;
  }
  .page-home .home-mobile-menu summary::-webkit-details-marker{
    display:none;
  }
  .page-home .home-mobile-menu summary:focus-visible{
    outline:3px solid #ffd45b;
    outline-offset:2px;
  }
  .page-home .home-mobile-menu nav{
    position:absolute;
    z-index:20;
    top:calc(100% + 3px);
    right:12px;
    display:grid;
    width:min(250px,calc(100vw - 24px));
    gap:2px;
    padding:10px;
    border:1px solid #a468df;
    border-radius:14px;
    background:#24205f;
    box-shadow:0 12px 24px rgba(11,8,58,.3);
  }
  .page-home .home-mobile-menu nav a{
    padding:9px 11px;
    border-radius:8px;
    color:#fff;
    font-size:14px;
    font-weight:700;
  }
  .page-home .home-mobile-menu nav a:hover,
  .page-home .home-mobile-menu nav a:focus-visible{
    background:#4e3ca0;
  }
}
@media(max-width:360px){
  .page-home .home-loyalty-day b{
    width:27px;
    height:30px;
  }
  .page-home .home-loyalty-day i{
    font-size:8px;
  }
}

/* Reference composition: the heading sits in the artwork's own pale mist,
   while the existing six illustrated links fill the space beneath it. */
.page-home .home-overview-banner-wrap::after{
  height:clamp(52px,8vw,116px);
}
.page-home .home-overview-content{
  width:min(calc(100% - 48px),1275px);
  margin-top:clamp(-86px,-5.5vw,-40px);
}
.page-home .home-overview-title{
  position:relative;
  z-index:2;
  margin:0 0 clamp(12px,1.5vw,21px);
  color:#351A91;
}
.page-home .home-overview-title::before{
  content:"";
  width:24px;
  height:26px;
  flex:0 0 auto;
  margin-right:2px;
  background:
    linear-gradient(#f3c653,#f3c653) 0 0/14px 3px no-repeat,
    linear-gradient(#f3c653,#f3c653) 9px 10px/15px 3px no-repeat,
    linear-gradient(#f3c653,#f3c653) 0 21px/14px 3px no-repeat;
  transform:rotate(-13deg);
}
.page-home .home-overview-title::after{
  width:12px;
  height:12px;
  margin-left:4px;
  box-shadow:0 0 0 4px rgba(243,198,83,.18),18px 0 0 -4px #f3c653;
}
.page-home .home-overview-grid{
  column-gap:clamp(12px,1.5vw,22px);
  row-gap:clamp(10px,1.1vw,16px);
}
.page-home .home-overview-card,
.page-home .home-overview-card:nth-child(n){
  width:100%;
  aspect-ratio:1.73;
}
.page-home .home-overview-card-art{
  width:100%;
  height:100%;
  object-fit:fill;
}
.page-home .home-loyalty-section{
  width:min(calc(100% - 48px),1320px);
  margin-top:clamp(11px,1.2vw,18px);
}
@media(min-width:1200px){
  .page-home .home-overview-content{margin-top:-50px}
  .page-home .home-overview-title{
    margin-bottom:34px;
    font-size:48px;
  }
  .page-home .home-overview-card,
  .page-home .home-overview-card:nth-child(n){aspect-ratio:1.65}
}
/* The reference retains a menu icon even beside the desktop navigation. */
@media(min-width:801px){
  .page-home .home-mobile-menu{
    display:block;
    flex:0 0 auto;
    margin-left:0;
  }
  .page-home .home-mobile-menu summary{
    display:grid;
    place-items:center;
    width:38px;
    height:42px;
    border-radius:10px;
    color:#fff;
    font-size:24px;
    cursor:pointer;
    list-style:none;
  }
  .page-home .home-mobile-menu summary::-webkit-details-marker{display:none}
  .page-home .home-mobile-menu summary:focus-visible{
    outline:3px solid #ffd45b;
    outline-offset:2px;
  }
  .page-home .home-mobile-menu nav{
    position:absolute;
    z-index:20;
    top:calc(100% + 3px);
    right:12px;
    display:grid;
    width:250px;
    gap:2px;
    padding:10px;
    border:1px solid #a468df;
    border-radius:14px;
    background:#24205f;
    box-shadow:0 12px 24px rgba(11,8,58,.3);
  }
  .page-home .home-mobile-menu nav a{
    padding:9px 11px;
    border-radius:8px;
    color:#fff;
    font-size:14px;
    font-weight:700;
  }
  .page-home .home-mobile-menu nav a:hover,
  .page-home .home-mobile-menu nav a:focus-visible{
    background:#4e3ca0;
  }
}
@media(min-width:801px) and (max-width:1100px){
  .page-home .topbar{gap:5px}
  .page-home .desktop-nav{gap:5px}
  .page-home .brand{font-size:16px}
  .page-home .brand-mascot-wrap{width:35px;height:35px}
  .page-home .brand-mascot{height:33px}
  .page-home .home-overview-content{margin-top:-58px}
  .page-home .home-overview-title{font-size:37px}
  .page-home .home-overview-card,
  .page-home .home-overview-card:nth-child(n){aspect-ratio:1.85}
}
@media(min-width:621px) and (max-width:800px){
  .page-home .home-overview-content{width:calc(100% - 40px);margin-top:-46px}
  .page-home .home-overview-title{font-size:32px}
  .page-home .home-overview-card,
  .page-home .home-overview-card:nth-child(n){aspect-ratio:1.85}
  .page-home .home-loyalty-section{width:calc(100% - 40px)}
}
@media(max-width:620px){
  .page-home .home-overview-banner-wrap{
    padding-bottom:28px;
    background:#F0ECF8;
  }
  .page-home .home-overview-content{width:calc(100% - 24px);margin-top:0}
  .page-home .home-overview-title{
    margin-bottom:18px;
    font-size:clamp(17px,5.4vw,22px);
  }
  .page-home .home-overview-title::before{
    width:15px;
    height:18px;
    background-size:10px 2px,10px 2px,10px 2px;
    background-position:0 1px,5px 8px,0 15px;
  }
  .page-home .home-overview-title::after{width:8px;height:8px}
  .page-home .home-overview-grid{column-gap:8px;row-gap:10px}
  .page-home .home-loyalty-section{width:calc(100% - 24px);margin-top:12px}
}
@media(max-width:360px){
  .page-home .home-overview-content{width:calc(100% - 20px)}
  .page-home .home-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-home .home-loyalty-section{width:calc(100% - 20px)}
  .page-home .home-loyalty-section .home-section-heading p{font-size:10px;line-height:1.25}
}

/* On iPad landscape, match Games: readable links and guest actions sit together. */
@media(min-width:1000px) and (max-width:1100px) and (orientation:landscape){
  .page-home .desktop-nav{gap:18px}
  .page-home .desktop-nav a{font-size:14px}
  .page-home .top-stats.is-guest{gap:10px}
  .page-home .top-stats.is-guest .guest-register-button,
  .page-home .top-stats.is-guest .guest-login-button{
    padding:13px 18px;
    font-size:13px;
  }
}

/* Rebuilt compact transition and illustrated overview card grid. */
.page-home .home-overview-section{
  --overview-overlap:clamp(80px,11.5vw,165px);
  --overview-title-size:clamp(22px,3vw,44px);
  --overview-title-rise:clamp(82px,calc(30.9vw - 196px),120px);
  --overview-title-gap:clamp(16px,2vw,24px);
  --overview-peak-offset:clamp(38px,4.2vw,46px);
  --overview-art-head-offset:clamp(0px,13.8vw,249px);
  position:relative;
  isolation:isolate;
  overflow:visible;
  margin:calc(0px - var(--overview-overlap)) 0 0;
  background:transparent;
}
.page-home .home-overview-section::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:var(--overview-overlap);
  right:0;
  bottom:0;
  left:0;
  background:#f0ecf8;
  pointer-events:none;
}
.page-home .home-overview-stage{
  position:relative;
  font-size:var(--overview-title-size);
  --overview-title-top:calc(var(--overview-overlap) - .55em - 12px - var(--overview-title-rise));
  height:max(0px,calc(var(--overview-title-top) + 1.1em + var(--overview-title-gap)));
}
.page-home .home-overview-clouds{
  position:absolute;
  z-index:0;
  top:0;
  left:0;
  width:100%;
  height:0;
  overflow:visible;
  pointer-events:none;
}
.page-home .home-overview-banner{
  position:absolute;
  top:calc(var(--overview-title-top) - var(--overview-peak-offset) - var(--overview-art-head-offset));
  left:calc(7vw - 33px);
  display:block;
  width:min(60vw,1080px);
  max-width:none;
  height:auto;
  transform:none;
}
.page-home .home-overview-title{
  position:absolute;
  z-index:2;
  top:var(--overview-title-top);
  left:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(8px,1.2vw,15px);
  width:max-content;
  max-width:calc(100% - 28px);
  margin:0;
  color:#33227d;
  font-family:"Fredoka Login Local","Baloo 2","Trebuchet MS",ui-rounded,sans-serif;
  font-size:var(--overview-title-size);
  font-weight:850;
  line-height:1.1;
  letter-spacing:-.035em;
  text-align:center;
  white-space:nowrap;
  text-shadow:0 2px 0 rgba(255,255,255,.95),0 6px 16px rgba(46,32,111,.14);
  transform:translateX(-50%);
}
.page-home .home-overview-title::before,
.page-home .home-overview-title::after{
  content:"";
  display:block;
  flex:0 0 auto;
  width:clamp(11px,1.8vw,22px);
  height:clamp(7px,.8vw,10px);
  border-top:3px solid #f1bd3f;
  border-bottom:3px solid #f1bd3f;
  border-radius:50%;
}
.page-home .home-overview-title::before{transform:rotate(-14deg)}
.page-home .home-overview-title::after{transform:rotate(14deg)}
.page-home .home-overview-content{
  position:relative;
  z-index:2;
  width:min(calc(100% - clamp(24px,5vw,64px)),1275px);
  margin:0 auto;
}
.page-home .home-overview-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:clamp(12px,1.45vw,20px);
}
.page-home .home-overview-card,
.page-home .home-overview-card:nth-child(n){
  --overview-accent:#ef4b70;
  --overview-accent-rgb:239,75,112;
  --overview-ink:#762044;
  --overview-surface:#fff4f7;
  position:relative;
  display:grid;
  grid-template-columns:minmax(38px,12%) minmax(0,1fr) minmax(104px,36%);
  align-items:stretch;
  width:100%;
  min-width:0;
  min-height:154px;
  aspect-ratio:1.95 / 1;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(11px,1.25vw,17px);
  border:2px solid var(--overview-accent);
  border-radius:clamp(20px,2vw,28px);
  background:linear-gradient(145deg,#fff 0%,var(--overview-surface) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.98),
    0 6px 0 rgba(var(--overview-accent-rgb),.2),
    0 15px 25px rgba(62,44,116,.11);
  color:var(--overview-ink);
  line-height:1.2;
  text-decoration:none;
  -webkit-tap-highlight-color:transparent;
  transition:transform .18s ease,box-shadow .18s ease;
}
.page-home .home-overview-card:nth-child(2){
  --overview-accent:#2b80e8;
  --overview-accent-rgb:43,128,232;
  --overview-ink:#163f86;
  --overview-surface:#f0f7ff;
}
.page-home .home-overview-card:nth-child(3){
  --overview-accent:#2da85c;
  --overview-accent-rgb:45,168,92;
  --overview-ink:#245d36;
  --overview-surface:#f1fbf2;
}
.page-home .home-overview-card:nth-child(4){
  --overview-accent:#e9842b;
  --overview-accent-rgb:233,132,43;
  --overview-ink:#7d3d18;
  --overview-surface:#fff6e9;
}
.page-home .home-overview-card:nth-child(5){
  --overview-accent:#8b45d0;
  --overview-accent-rgb:139,69,208;
  --overview-ink:#4c257c;
  --overview-surface:#f8f1ff;
}
.page-home .home-overview-card:nth-child(6){
  --overview-accent:#df9e18;
  --overview-accent-rgb:223,158,24;
  --overview-ink:#6f4610;
  --overview-surface:#fff9e8;
}
.page-home .home-overview-card::before,
.page-home .home-overview-card::after{
  content:"";
  position:absolute;
  z-index:0;
  width:clamp(24px,3vw,40px);
  height:clamp(10px,1.2vw,16px);
  border-radius:100% 0 100% 0;
  background:rgba(var(--overview-accent-rgb),.12);
  pointer-events:none;
}
.page-home .home-overview-card::before{
  top:9px;
  right:12px;
  transform:rotate(-23deg);
}
.page-home .home-overview-card::after{
  bottom:11px;
  left:48%;
  width:18px;
  height:9px;
  transform:rotate(155deg);
}
.page-home .home-overview-card:hover{
  transform:translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.98),
    0 8px 0 rgba(var(--overview-accent-rgb),.22),
    0 20px 30px rgba(62,44,116,.15);
}
.page-home .home-overview-card:active{transform:translateY(1px)}
.page-home .home-overview-card:focus-visible{
  z-index:3;
  outline:3px solid #f3c653;
  outline-offset:4px;
}
.page-home .home-overview-card-number{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  align-self:start;
  width:clamp(36px,3.4vw,48px);
  height:clamp(36px,3.4vw,48px);
  border:3px solid #fff;
  border-radius:50%;
  background:var(--overview-accent);
  color:#fff;
  font-size:clamp(19px,1.9vw,27px);
  font-weight:950;
  line-height:1;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.34),0 4px 0 rgba(var(--overview-accent-rgb),.3);
}
.page-home .home-overview-card-copy{
  position:relative;
  z-index:1;
  display:flex;
  min-width:0;
  flex-direction:column;
  align-self:center;
  gap:6px;
  padding-right:4px;
}
.page-home .home-overview-card-title{
  display:block;
  font-size:clamp(16px,1.45vw,21px);
  font-weight:900;
  line-height:1.05;
  letter-spacing:-.035em;
}
.page-home .home-overview-card-description{
  display:block;
  max-width:25ch;
  color:var(--overview-ink);
  font-size:clamp(11px,.96vw,13.5px);
  font-weight:650;
  line-height:1.24;
}
.page-home .home-overview-card-illustration{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  align-self:stretch;
  min-width:0;
}
.page-home .home-overview-card-art{
  display:block;
  width:100%;
  max-width:164px;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 6px 5px rgba(48,34,94,.17));
}
.page-home .home-overview-card:nth-child(1) .home-overview-card-illustration::before{
  content:"G";
  position:absolute;
  z-index:2;
  top:45%;
  left:49%;
  color:#91380d;
  font-size:clamp(12px,1.15vw,16px);
  font-weight:950;
  line-height:1;
  text-shadow:0 1px 1px rgba(255,255,255,.7);
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.page-home .home-overview-card-arrow{
  position:absolute;
  z-index:3;
  right:9px;
  bottom:8px;
  display:grid;
  place-items:center;
  width:clamp(26px,2.2vw,33px);
  height:clamp(26px,2.2vw,33px);
  border:2px solid rgba(255,255,255,.9);
  border-radius:50%;
  background:var(--overview-accent);
  color:#fff;
  font-family:ui-rounded,sans-serif;
  font-size:clamp(17px,1.6vw,22px);
  font-weight:900;
  line-height:1;
  box-shadow:0 3px 7px rgba(39,28,82,.18),inset 0 1px 0 rgba(255,255,255,.45);
}
@media(max-width:900px){
  .page-home .home-overview-section{
    --overview-overlap:clamp(48px,11.5vw,110px);
    --overview-title-size:clamp(21px,3vw,27px);
    --overview-title-rise:clamp(0px,calc(18vw - 78.4px),82px);
    --overview-title-gap:clamp(14px,2vw,18px);
    --overview-peak-offset:clamp(28px,4vw,36px);
  }
  .page-home .home-overview-banner{
    left:calc(15.5vw - 95px);
  }
  .page-home .home-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-home .home-overview-card,
  .page-home .home-overview-card:nth-child(n){
    grid-template-columns:minmax(38px,12%) minmax(0,1fr) minmax(104px,36%);
    min-height:164px;
    aspect-ratio:1.9 / 1;
  }
  .page-home .home-overview-card-title{font-size:17px}
  .page-home .home-overview-card-description{font-size:12px}
}
@media(max-width:560px){
  .page-home .home-overview-section{
    --overview-overlap:clamp(42px,15vw,68px);
    --overview-title-size:clamp(21px,5.8vw,25px);
    --overview-title-rise:clamp(0px,calc(12vw - 46.8px),22px);
    --overview-title-gap:clamp(12px,3vw,14px);
    --overview-peak-offset:clamp(18px,5vw,22px);
    --overview-art-head-offset:clamp(0px,10.4vw,58px);
  }
  .page-home .home-overview-clouds{height:clamp(72px,20vw,112px)}
  .page-home .home-overview-banner{
    left:calc(7.6vw - 51px);
    width:45vw;
  }
  .page-home .home-overview-title{
    gap:7px;
  }
  .page-home .home-overview-title::before,
  .page-home .home-overview-title::after{
    width:11px;
    height:7px;
    border-width:2px;
  }
  .page-home .home-overview-content{width:calc(100% - 24px)}
  .page-home .home-overview-grid{gap:10px}
  .page-home .home-overview-card,
  .page-home .home-overview-card:nth-child(n){
    grid-template-columns:minmax(0,1.08fr) minmax(62px,.92fr);
    grid-template-rows:30px minmax(0,1fr);
    min-height:172px;
    aspect-ratio:1 / 1;
    padding:10px;
    border-radius:18px;
  }
  .page-home .home-overview-card-number{
    grid-column:1;
    grid-row:1;
    width:29px;
    height:29px;
    border-width:2px;
    font-size:17px;
  }
  .page-home .home-overview-card-copy{
    grid-column:1;
    grid-row:2;
    align-self:start;
    gap:4px;
    padding:0 2px 0 0;
  }
  .page-home .home-overview-card-title{
    font-size:clamp(12px,3.65vw,14px);
    line-height:1.04;
  }
  .page-home .home-overview-card-description{
    font-size:clamp(9.8px,2.75vw,10.8px);
    line-height:1.19;
  }
  .page-home .home-overview-card-illustration{
    grid-column:2;
    grid-row:1 / 3;
  }
  .page-home .home-overview-card-art{max-width:100%}
  .page-home .home-overview-card-arrow{
    right:6px;
    bottom:6px;
    width:24px;
    height:24px;
    font-size:16px;
  }
}
@media(max-width:360px){
  .page-home .home-overview-content{width:calc(100% - 20px)}
  .page-home .home-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .page-home .home-overview-card,
  .page-home .home-overview-card:nth-child(n){min-height:180px;padding:8px}
  .page-home .home-overview-card-title{font-size:12px}
  .page-home .home-overview-card-description{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .page-home .home-overview-card{transition:none}
}

/* Official homepage header: show the complete supplied image at its natural
   ratio. Its extended lower artwork is part of the transition to the first panel. */
.page-home .home-header-banner{
  display:block;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  overflow:visible;
  background:transparent;
  line-height:0;
}
.page-home .home-header-banner img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 93%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 93%,transparent 100%);
}

/* Final header-to-overview transition: the supplied RGBA cloud artwork
   overlaps the untouched header and fades naturally into the page canvas. */
.page-home .home-overview-section{
  --overview-overlap:clamp(48px,calc(7.735vw + 20px),130px);
  --overview-copy-after-header:clamp(4px,1.95vw,28px);
  --overview-card-gap:clamp(25px,2.2vw,35px);
  --overview-title-size:clamp(26px,3vw,42px);
  --overview-subtitle-size:clamp(12px,1.2vw,16px);
  --overview-art-shift:clamp(-72px,-5vw,-24px);
  --overview-art-width:100vw;
  --overview-art-top:-28px;
  position:relative;
  z-index:1;
  isolation:isolate;
  display:block;
  overflow:visible;
  margin:calc(0px - var(--overview-overlap)) 0 0;
  background:transparent;
}
.page-home .home-overview-section::before{
  top:var(--overview-overlap);
  background:#F4F0FF;
}
.page-home .home-overview-stage{
  position:relative;
  height:auto;
  padding:calc(var(--overview-overlap) + var(--overview-copy-after-header)) 0 0;
  font-size:16px;
}
.page-home .home-overview-clouds{
  position:absolute;
  z-index:0;
  inset:0 auto auto 0;
  width:100%;
  height:100%;
  overflow:visible;
}
.page-home .home-overview-banner{
  position:absolute;
  top:var(--overview-art-top,0px);
  left:calc(50% + var(--overview-art-shift));
  display:block;
  width:var(--overview-art-width);
  max-width:none;
  height:auto;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  object-fit:initial;
  transform:translateX(-50%);
}
.page-home .home-overview-copy{
  position:relative;
  z-index:2;
  width:min(calc(100% - 32px),720px);
  margin:0 auto;
  text-align:center;
}
.page-home .home-overview-title{
  position:relative;
  top:auto;
  left:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(8px,1.2vw,15px);
  width:100%;
  max-width:none;
  margin:0;
  color:#33227d;
  font-family:"Fredoka Login Local","Baloo 2","Trebuchet MS",ui-rounded,sans-serif;
  font-size:var(--overview-title-size);
  font-weight:850;
  line-height:1.08;
  letter-spacing:-.035em;
  text-align:center;
  white-space:nowrap;
  text-shadow:0 2px 0 rgba(255,255,255,.95),0 6px 16px rgba(46,32,111,.14);
  transform:none;
}
.page-home .home-overview-subtitle{
  max-width:100%;
  margin:8px auto 0;
  color:#3e3577;
  font-family:"Poppins",ui-sans-serif,system-ui,sans-serif;
  font-size:var(--overview-subtitle-size);
  font-weight:600;
  line-height:1.3;
  text-align:center;
  text-shadow:0 1px 0 rgba(255,255,255,.8);
}
.page-home .home-overview-content{
  position:relative;
  z-index:2;
  width:min(calc(100% - clamp(24px,5vw,64px)),1275px);
  margin:var(--overview-card-gap) auto 0;
}
@media(max-width:900px){
  .page-home .home-overview-section{
    --overview-copy-after-header:clamp(10px,1.5vw,14px);
    --overview-card-gap:25px;
    --overview-title-size:clamp(23px,3.2vw,30px);
    --overview-subtitle-size:clamp(12px,1.7vw,14px);
    --overview-art-shift:-7vw;
    --overview-art-top:0px;
  }
}
@media(max-width:900px) and (orientation:landscape){
  .page-home .home-overview-section{
    --overview-overlap:clamp(92px,calc(7.735vw + 55px),125px);
    --overview-copy-after-header:-40px;
    --overview-card-gap:clamp(16px,2vw,18px);
    --overview-art-top:-30px;
  }
}
@media(max-width:560px){
  .page-home .home-overview-section{
    --overview-overlap:clamp(48px,calc(7.735vw + 20px),64px);
    --overview-copy-after-header:clamp(4px,1.95vw,8px);
    --overview-card-gap:clamp(14px,4.1vw,17px);
    --overview-title-size:clamp(18px,5.5vw,22px);
    --overview-subtitle-size:clamp(11px,3vw,12px);
    --overview-art-shift:-16.4vw;
    --overview-art-width:95vw;
  }
  .page-home .home-overview-title{
    gap:7px;
  }
}

/* 2026-09-29: replace the six step tiles with the supplied three-pillar artwork. */
.page-home .home-overview-section{
  --home-header-overlap:clamp(150px,48vw,740px);
  --home-overview-raise:clamp(165px,12.3vw,205px);
  position:relative;
  z-index:2;
  width:100%;
  margin:calc(0px - var(--home-header-overlap) - var(--home-overview-raise)) 0 0!important;
  padding:clamp(12px,2vw,24px) clamp(14px,3vw,32px) clamp(22px,3vw,38px);
  overflow:visible;
  background:transparent;
  isolation:isolate;
}
.page-home .home-overview-section::before{
  content:none!important;
  display:none!important;
}
.page-home .home-overview-panel{
  position:relative;
  z-index:1;
  width:min(100%,1300px);
  margin:0 auto;
  padding:clamp(14px,2vw,24px) clamp(12px,2.5vw,32px) clamp(18px,2vw,28px);
  overflow:visible;
  border:2px solid #C86BFF;
  border-radius:clamp(22px,3vw,34px);
  background:linear-gradient(145deg,#4D39B3 0%,#3C288F 100%);
  box-shadow:0 0 6px rgba(200,107,255,.75),0 0 16px rgba(166,74,255,.4),0 6px 18px rgba(52,30,120,.2),inset 0 0 8px rgba(220,150,255,.12);
}
.page-home .home-overview-heading{
  position:static;
  display:block;
  min-height:0;
  margin:0;
  text-align:center;
}
.page-home .home-overview-copy{
  position:relative;
  z-index:2;
  width:100%;
  max-width:720px;
  margin:0 auto;
  padding-top:clamp(14px,1.8vw,24px);
  text-align:center;
}
.page-home .home-overview-title{
  display:block;
  width:100%;
  margin:0;
  color:#fff;
  font-family:"Fredoka Login Local","Baloo 2","Trebuchet MS",ui-rounded,sans-serif;
  font-size:clamp(26px,3.2vw,42px);
  font-weight:850;
  line-height:1.08;
  letter-spacing:-.035em;
  text-align:center;
  white-space:nowrap;
  text-shadow:0 2px 0 rgba(22,12,81,.22),0 5px 15px rgba(20,12,65,.25);
  transform:none;
}
.page-home .home-overview-title::before,
.page-home .home-overview-title::after{
  content:none!important;
  display:none!important;
}
.page-home .home-overview-subtitle{
  max-width:100%;
  margin:8px auto 0;
  color:rgba(255,255,255,.86);
  font-family:"Poppins",ui-sans-serif,system-ui,sans-serif;
  font-size:clamp(12px,1.25vw,15px);
  font-weight:600;
  line-height:1.35;
  text-align:center;
  text-shadow:none;
}
.page-home .home-overview-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:max-content;
  align-items:stretch;
  width:100%;
  margin:0 auto;
  gap:0;
}
.page-home .home-overview-card,
.page-home .home-overview-card:nth-child(n){
  position:relative;
  display:flex;
  grid-column:auto!important;
  grid-row:auto!important;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  width:100%!important;
  min-width:0;
  min-height:0;
  min-height:max-content!important;
  height:auto!important;
  aspect-ratio:auto!important;
  align-self:stretch;
  margin:0!important;
  padding:0 clamp(10px,2vw,26px);
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff;
  text-align:center;
  text-decoration:none;
  transform:none!important;
}
.page-home .home-overview-card::before,
.page-home .home-overview-card::after{
  content:none!important;
  display:none!important;
}
.page-home .home-overview-card:hover{
  color:#fff;
  background:transparent!important;
  box-shadow:none!important;
  transform:translateY(-2px)!important;
}
.page-home .home-overview-card:active{
  transform:translateY(0)!important;
}
.page-home .home-overview-card:focus-visible{
  outline:3px solid #FFE36E;
  outline-offset:4px;
  border-radius:10px;
}
.page-home .home-overview-card-button{
  display:block;
  width:min(100%,250px);
  max-height:76px;
  height:auto;
  margin:0 auto;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 5px 8px rgba(14,9,51,.2));
}
.page-home .home-overview-card-description{
  display:block;
  flex:0 0 auto;
  width:min(100%,300px);
  max-width:none;
  margin:10px auto 8px;
  color:rgba(255,255,255,.94);
  font-family:"Poppins",ui-sans-serif,system-ui,sans-serif;
  font-size:clamp(11px,1.15vw,14px);
  font-weight:500;
  line-height:1.36;
  text-align:center;
  text-shadow:0 1px 3px rgba(20,12,65,.2);
}
.page-home .home-overview-card-art{
  position:static!important;
  display:block;
  width:min(100%,280px);
  max-width:100%;
  max-height:clamp(128px,17vw,180px);
  height:auto;
  margin:0 auto;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  object-fit:contain;
  object-position:center bottom;
  transform:none;
  filter:none;
}
@media(max-width:900px){
  .page-home .home-overview-section{
    --home-overview-raise:clamp(95px,13.5vw,115px);
  }
  .page-home .home-overview-panel{
    padding:14px 12px 18px;
  }
  .page-home .home-overview-title{
    font-size:clamp(24px,4vw,31px);
  }
  .page-home .home-overview-subtitle{
    font-size:12px;
  }
  .page-home .home-overview-card{
    padding-inline:10px;
  }
  .page-home .home-overview-card-button{
    width:min(100%,220px);
    max-height:66px;
  }
  .page-home .home-overview-card-description{
    margin:8px auto 6px;
    font-size:11px;
    line-height:1.32;
  }
  .page-home .home-overview-card-art{
    width:min(100%,240px);
    max-height:145px;
  }
}
@media(min-width:901px) and (max-width:1200px){
  .page-home .home-overview-section{
    --home-overview-raise:clamp(100px,11vw,132px);
  }
}
@media(max-width:900px) and (orientation:landscape){
  .page-home .home-overview-section{
    --home-overview-raise:clamp(85px,11vw,100px);
  }
}
@media(max-width:640px){
  .page-home .home-overview-section{
    --home-overview-raise:clamp(38px,12.8vw,58px);
    padding:8px 10px 20px;
  }
  .page-home .home-overview-panel{
    padding:12px 12px 18px;
    border-radius:22px;
  }
  .page-home .home-overview-copy{
    padding-top:12px;
  }
  .page-home .home-overview-title{
    font-size:clamp(19px,5.4vw,25px);
    line-height:1.06;
    white-space:normal;
  }
  .page-home .home-overview-subtitle{
    margin-top:5px;
    font-size:11px;
  }
  .page-home .home-overview-grid{
    grid-template-columns:minmax(0,1fr);
    margin-top:5px;
  }
  .page-home .home-overview-card,
  .page-home .home-overview-card:nth-child(n){
    display:grid;
    grid-template-columns:minmax(105px,.82fr) minmax(0,1.18fr);
    grid-template-rows:auto auto;
    align-items:center;
    column-gap:12px;
    row-gap:7px;
    min-height:0;
    padding:12px 4px 10px;
  }
  .page-home .home-overview-card-button{
    grid-column:1;
    grid-row:1;
    align-self:end;
    width:100%;
    max-height:60px;
  }
  .page-home .home-overview-card-description{
    grid-column:2;
    grid-row:1;
    align-self:center;
    width:100%;
    margin:0;
    font-size:12px;
    line-height:1.35;
    text-align:left;
  }
  .page-home .home-overview-card-art{
    grid-column:1 / -1;
    grid-row:2;
    width:min(100%,300px);
    max-height:148px;
    margin:0 auto;
  }
}

/* Final homepage palette, supplied header, and shared panel outlines. */
.page-home .home-overview-panel,
.page-home .home-loyalty-section,
.page-home .home-gratons-section{
  border:2px solid #D875FF;
  border-radius:clamp(20px,2.1vw,28px);
  box-shadow:0 0 6px rgba(216,117,255,.64),0 0 14px rgba(151,71,255,.24),0 5px 16px rgba(52,30,120,.12);
}

/* Keep the official image untouched and let its lower edge fade into lavender. */
.page-home .home-header-banner{
  display:block;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  overflow:visible;
  background:linear-gradient(180deg,#B8A7FF 0%,#EEE9FF 100%);
  line-height:0;
}
.page-home .home-header-banner img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 85%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 85%,transparent 100%);
}

/* The first card sits close to the header without covering its wordmark. */
.page-home .home-overview-section{
  margin:calc(0px - clamp(7px,1.35vw,18px)) 0 0!important;
  padding:0 clamp(14px,3vw,32px) clamp(22px,3vw,38px)!important;
}
.page-home .home-overview-section::before{
  /* Reuse the existing layer, behind the original clouds and panel. */
  content:""!important;
  display:block!important;
  position:absolute;
  z-index:-1;
  inset:-14px 20px auto;
  width:auto;
  height:34px;
  background:radial-gradient(ellipse at 50% 50%,rgba(174,182,243,.18),rgba(195,189,248,.10) 42%,transparent 72%);
  filter:blur(7px);
  transform:none;
  box-shadow:none;
  pointer-events:none;
}
.page-home .home-overview-panel{
  padding:clamp(12px,1.6vw,20px) clamp(12px,2.5vw,32px) clamp(18px,2vw,28px);
}
.page-home .home-overview-copy{
  padding-top:clamp(6px,1vw,14px)!important;
}
.page-home .home-overview-title{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:clamp(6px,1vw,14px);
  width:100%;
  max-width:none;
  margin:0;
  color:#fff;
  font-size:clamp(20px,3.2vw,42px);
  line-height:1.08;
  text-align:center;
  white-space:nowrap;
  transform:none;
}
.page-home .home-overview-title-copy{
  display:inline-block;
  flex:0 1 auto;
}
.page-home .home-overview-question-mark{
  color:#FFE15A;
}
.page-home .home-overview-title-ornament{
  display:block;
  flex:0 0 auto;
  width:auto;
  height:clamp(24px,3.2vw,42px);
  max-width:60px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  object-fit:contain;
  object-position:center;
  filter:none;
}

/* Almost-white blue/lavender canvas; the validated header keeps its own fade. */
body.page-home{
  --gratou-page-bg:#F1EDFF;
  background-color:#F1EDFF!important;
  background-image:linear-gradient(180deg,#EEEAFE 0%,#F5F2FF 52%,#F1EDFF 100%)!important;
}
body.page-home > main.container,
body.page-home main.container{
  --gratou-page-bg:#EEE9FF;
  background-color:transparent!important;
  background-image:none!important;
}

@media(max-width:640px){
  .page-home .home-overview-panel,
  .page-home .home-loyalty-section,
  .page-home .home-gratons-section{
    border-radius:20px;
  }
  .page-home .home-overview-title{
    gap:7px;
    font-size:clamp(20px,5.2vw,24px);
  }
  .page-home .home-overview-title-ornament{
    height:24px;
  }
}

/* 2026-10-02 homepage finishing pass: soften transitions and align the
   responsive benefit cards without changing the supplied header artwork. */
body.page-home{
  --home-primary-gap:clamp(14px,1.65vw,20px);
}
body.page-home > main.container{
  padding-bottom:12px!important;
}
.page-home .home-header-banner{
  background:linear-gradient(
    180deg,
    #B8A7FF 0%,
    #B8A7FF 72%,
    #D4C9F5 88%,
    #EEE9FF 100%
  );
}
.page-home .home-header-banner img{
  -webkit-mask-image:linear-gradient(
    to bottom,
    #000 0%,
    #000 77%,
    rgba(0,0,0,.92) 84%,
    rgba(0,0,0,.72) 90%,
    rgba(0,0,0,.38) 96%,
    transparent 100%
  );
  mask-image:linear-gradient(
    to bottom,
    #000 0%,
    #000 77%,
    rgba(0,0,0,.92) 84%,
    rgba(0,0,0,.72) 90%,
    rgba(0,0,0,.38) 96%,
    transparent 100%
  );
}
.page-home .home-overview-section{
  position:relative;
  margin:calc(0px - clamp(12px,1.6vw,22px)) 0 var(--home-primary-gap)!important;
  padding-inline:20px!important;
  padding-bottom:0!important;
}
/* Independent corner clouds: the official header and the validated lower
   sections keep their existing imagery, dimensions and spacing. */
.page-home .home-transition-cloud{
  position:absolute;
  z-index:0;
  top:calc(0px - clamp(33px,8.5vw,120px));
  width:clamp(72px,24vw,340px);
  height:auto;
  max-width:26%;
  opacity:.74;
  pointer-events:none;
  user-select:none;
}
.page-home .home-transition-cloud-left{left:0}
.page-home .home-transition-cloud-right{right:0}
.page-home .home-overview-panel{
  /* Preserve the validated compact height across intermediate widths too.
     The formula retains the previous title, subtitle and track dimensions. */
  --overview-reference-title-width:clamp(280px,50vw,560px);
  /* Spend at most two pixels of the existing transparent gap above the art
     on breathing room below the category banners; all tracks stay fixed. */
  --overview-copy-offset:clamp(0px,calc(22px - 2vw),2px);
  --overview-locked-height:calc(289px + var(--overview-reference-title-width) * 0.1507334345 + clamp(12px,1.25vw,15px) * 1.35 + clamp(11px,1.15vw,14px) * 3.2);
  --overview-banner-row:114px;
  --overview-text-row:2.56em;
  display:grid;
  grid-template-rows:max-content minmax(0,1fr);
  height:var(--overview-locked-height);
  box-sizing:border-box;
  border-radius:24px;
  border:1px solid #C88CEF;
  padding:2px clamp(8px,1vw,14px);
  background:
    radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.10),transparent 70%),
    linear-gradient(0deg,rgba(24,13,67,.16),transparent 65%),
    linear-gradient(145deg,#4D39B3 0%,#3C288F 100%);
  box-shadow:
    0 0 5px rgba(200,140,239,.32),
    0 0 12px rgba(159,74,255,.14),
    inset 0 -10px 24px rgba(25,14,65,.08);
}
.page-home .home-overview-copy{
  padding-top:0!important;
  max-width:1100px;
}
.page-home .home-overview-heading{
  padding-bottom:0;
}
.page-home .home-overview-subtitle{
  margin-top:0;
}
.page-home .home-loyalty-section,
.page-home .home-gratons-section{
  width:min(calc(100% - 40px),1300px);
  max-width:1300px;
  border:2px solid rgba(213,107,255,.80);
  border-radius:20px;
  box-shadow:
    0 0 6px rgba(213,107,255,.35),
    0 0 13px rgba(159,74,255,.16);
}
.page-home .home-loyalty-section{
  margin:0 auto var(--home-primary-gap)!important;
}
.page-home .home-gratons-section{
  margin:0 auto!important;
}
.page-home .home-overview-title{
  display:grid!important;
  grid-template-columns:minmax(24px,1fr) minmax(0,auto) minmax(24px,1fr);
  align-items:center;
  column-gap:clamp(4px,.7vw,10px);
  margin:0 auto;
  font-size:0;
  line-height:1;
  text-shadow:none;
}
.page-home .home-overview-title-image{
  display:block;
  width:var(--overview-reference-title-width);
  max-width:100%;
  height:auto;
  /* The replacement retains its original transparent canvas. Keep the
     validated title slot and centre the complete lettering within it. */
  aspect-ratio:1977 / 298;
  margin:0 auto;
  object-fit:cover;
  object-position:center 47.5%;
}
.page-home .home-overview-title-line{
  display:block;
  width:min(100%,clamp(28px,9vw,120px));
  height:auto;
  aspect-ratio:886 / 265;
  pointer-events:none;
}
.page-home .home-overview-title-line img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
@media(min-width:641px){
  /* Enlarge the trails and their embedded stars together, without stretching
     the artwork or moving the title or the validated lower sections. */
  .page-home .home-overview-title-line{
    width:min(100%,clamp(84px,19vw,240px));
    aspect-ratio:1772 / 265;
  }
}
.page-home .home-overview-title-line-left{justify-self:end}
.page-home .home-overview-title-line-right{justify-self:start}
.page-home .home-overview-grid{
  gap:clamp(6px,.8vw,12px);
  grid-auto-rows:minmax(0,1fr);
  min-height:0;
  height:100%;
  margin-top:0;
}
.page-home .home-overview-card,
.page-home .home-overview-card:nth-child(n){
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:var(--overview-banner-row) var(--overview-text-row) minmax(0,1fr);
  align-items:center;
  justify-items:center;
  gap:0;
  padding:0;
  min-height:0!important;
  height:100%!important;
  isolation:isolate;
  border:0;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
  font-size:clamp(11px,1.15vw,14px);
}
/* Diffuse lighting, not individual cards. The existing PNGs remain untouched. */
.page-home .home-overview-card:nth-child(1){--overview-light:255,81,45}
.page-home .home-overview-card:nth-child(2){--overview-light:39,195,255}
.page-home .home-overview-card:nth-child(3){--overview-light:211,75,255}
.page-home .home-overview-card::before{
  content:""!important;
  display:block!important;
  position:absolute;
  z-index:-1;
  inset:4px -4px 2px;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:
    radial-gradient(ellipse 55% 50% at 50% 30%,rgba(var(--overview-light),.32),transparent 100%),
    radial-gradient(ellipse 55% 50% at 50% 72%,rgba(var(--overview-light),.21),transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 80%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 12%,#000 80%,transparent);
  box-shadow:none;
  transform:none;
  opacity:1;
  pointer-events:none;
}
.page-home .home-overview-card + .home-overview-card::after{
  content:""!important;
  display:block!important;
  position:absolute;
  z-index:-1;
  top:calc(var(--overview-banner-row) * .45);
  bottom:8%;
  left:calc(0px - clamp(6px,.8vw,12px) / 2);
  width:1px;
  height:auto;
  border:0;
  background:linear-gradient(180deg,transparent,rgba(211,198,255,.34) 25%,rgba(211,198,255,.13) 75%,transparent);
  filter:drop-shadow(0 0 1px rgba(211,198,255,.18));
  box-shadow:none;
  transform:none;
  opacity:1;
  pointer-events:none;
}
.page-home .home-overview-card + .home-overview-card{
  border:0;
}
.page-home .home-overview-card:hover{
  background:transparent!important;
  box-shadow:none!important;
}
.page-home .home-overview-card-button{
  grid-area:1 / 1;
  width:min(100%,300px);
  height:100%;
  max-height:none;
  object-fit:contain;
  margin:0;
  align-self:center;
  filter:drop-shadow(0 3px 5px rgba(var(--overview-light),.35));
}
.page-home .home-overview-card-description{
  grid-area:2 / 1;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  width:min(100%,360px);
  min-height:0;
  height:100%;
  margin:0;
  font-size:inherit;
  font-weight:500;
  line-height:1.28;
  text-align:center;
  transform:translateY(var(--overview-copy-offset));
}
.page-home .home-overview-card-art{
  grid-area:3 / 1;
  width:100%;
  height:100%;
  max-height:none;
  object-fit:contain;
  object-position:center bottom;
  margin:0;
}
.page-home .home-trust-strip{
  position:relative;
  isolation:isolate;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:1fr;
  align-items:stretch;
  gap:0;
  width:min(calc(100% - 40px),1300px);
  margin:var(--home-primary-gap) auto 0!important;
  padding:10px 0;
  border:1px solid #9865d8;
  border-radius:18px;
  background:
    radial-gradient(circle at 20% 17%,#fff0ff 0 .5px,#d094ff 1px,#7425cb 2px,transparent 4px),
    radial-gradient(circle at 33% 75%,rgba(204,162,255,.45) 0 1px,transparent 2px),
    radial-gradient(circle at 73% 20%,#fff0ff 0 .5px,#d094ff 1px,#7425cb 2px,transparent 4px),
    radial-gradient(circle at 91% 68%,rgba(204,162,255,.45) 0 1px,transparent 2px),
    radial-gradient(ellipse 12px 10px at 20% 17%,rgba(160,65,246,.52),transparent),
    radial-gradient(ellipse 12px 10px at 73% 20%,rgba(160,65,246,.52),transparent),
    radial-gradient(ellipse at 14% 35%,rgba(113,35,207,.26),transparent 27%),
    radial-gradient(ellipse at 63% 28%,rgba(113,35,207,.22),transparent 32%),
    /* Couleurs relevées dans les zones de fond du modèle 5 fourni. */
    linear-gradient(180deg,#1f0e64 0%,#28106b 48%,#241267 100%);
  box-shadow:0 6px 18px rgba(60,22,125,.27),0 0 12px rgba(147,75,226,.2),inset 0 1px 0 rgba(225,206,247,.65),inset 0 -12px 20px rgba(12,15,61,.10);
  overflow:hidden;
}
/* Décor secondaire : les silhouettes restent derrière le contenu existant. */
.page-home .home-trust-strip::before,
.page-home .home-trust-strip::after{
  content:"";
  position:absolute;
  z-index:0;
  bottom:-4px;
  width:62px;
  height:min(110px,100%);
  pointer-events:none;
  opacity:.7;
  background:linear-gradient(120deg,#8042d2,#4e2195);
  clip-path:polygon(0 100%,0 0,17% 8%,27% 25%,23% 40%,40% 28%,51% 30%,46% 47%,31% 58%,43% 62%,68% 48%,80% 49%,70% 67%,48% 76%,58% 81%,90% 75%,100% 79%,90% 92%,62% 98%);
}
.page-home .home-trust-strip::before{left:0}
.page-home .home-trust-strip::after{right:0;transform:scaleX(-1)}
.page-home .home-trust-card{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:4px;
  min-width:0;
  min-height:0;
  height:100%;
  padding:4px 10px 5px;
  border:0;
  border-radius:0;
  background:transparent!important;
  box-shadow:none;
  text-align:center;
}
.page-home .home-trust-card + .home-trust-card{
  border-left:1px solid transparent;
}
.page-home .home-trust-card + .home-trust-card::after{
  content:"";
  position:absolute;
  left:0;
  top:12%;
  bottom:12%;
  width:1px;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(180,111,255,.6),transparent);
}
.page-home .home-trust-illustration{
  display:block;
  flex:0 0 auto;
  width:clamp(45px,5vw,62px);
  height:clamp(45px,5vw,62px);
  max-width:100%;
  object-fit:contain;
  object-position:center;
}
.page-home .home-trust-card > div{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  align-items:center;
  width:100%;
  min-width:0;
}
.page-home .home-trust-card strong{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:1.5em;
  color:#faf7ff;
  font-size:clamp(11px,1vw,13px);
  line-height:1.12;
  text-align:center;
}
.page-home .home-trust-card p{
  width:100%;
  margin:3px 0 0;
  color:#e0d8f3;
  font-size:clamp(10px,.85vw,12px);
  line-height:1.25;
  text-align:center;
}
.page-home .home-footer{
  margin-top:0;
  padding-top:34px;
  background:linear-gradient(
    180deg,
    #EEE9FF 0,
    #D9CEFF 10px,
    #8673C2 22px,
    #24205F 34px
  );
}
@media(max-width:800px) and (orientation:portrait){
  .page-home .home-footer{
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    text-align:center;
  }
  .page-home .home-footer-social{
    margin:0;
    justify-content:center;
  }
}
@media(max-width:900px){
  .page-home .home-overview-panel{
    --overview-locked-height:calc(300.44px + var(--overview-reference-title-width) * 0.1507334345);
    --overview-banner-row:98px;
  }
  .page-home .home-overview-card,
  .page-home .home-overview-card:nth-child(n){
    font-size:11px;
  }
  .page-home .home-overview-card-button{
    width:100%;
  }
}
@media(min-width:641px) and (max-width:760px){
  .page-home .home-overview-panel{
    --overview-text-row:3.84em;
  }
}
@media(max-width:640px){
  .page-home .home-transition-cloud{
    opacity:.45;
  }
  .page-home .home-overview-panel{
    --overview-locked-height:calc(864.45px + var(--overview-reference-title-width) * 0.1507334345);
    --overview-banner-row:94px;
    border-radius:22px;
  }
  .page-home .home-overview-grid{
    gap:8px;
  }
  .page-home .home-overview-title-image{
    max-width:calc(100vw - 124px);
  }
  .page-home .home-overview-title-line{
    /* Use the remaining inset rather than shrinking the lettering. */
    width:min(calc(100% + 6px),clamp(36px,11vw,136px));
  }
  .page-home .home-overview-card,
  .page-home .home-overview-card:nth-child(n){
    font-size:12px;
  }
  .page-home .home-overview-card + .home-overview-card::after{
    content:none!important;
    display:none!important;
  }
  .page-home .home-trust-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:8px 0;
  }
  .page-home .home-trust-card{
    padding:7px 8px;
  }
  .page-home .home-trust-card:nth-child(3){
    border-left:0;
  }
  .page-home .home-trust-card:nth-child(n+3){
    border-top:1px solid transparent;
  }
  .page-home .home-trust-card:nth-child(3)::after,
  .page-home .home-trust-card:nth-child(4)::before{
    content:"";
    position:absolute;
    top:0;
    bottom:auto;
    left:12%;
    right:12%;
    width:auto;
    height:1px;
    pointer-events:none;
    background:linear-gradient(90deg,transparent,rgba(180,111,255,.6),transparent);
  }
}
@media(max-width:375px){
  .page-home .home-overview-panel{
    --overview-text-row:3.84em;
  }
}
@media (min-width:641px) and (max-width:900px) and (orientation:portrait){
  .page-home .home-overview-section{
    margin-top:calc(0px - clamp(32px,4.2vw,46px))!important;
  }
}
