body{
  background:
    linear-gradient(135deg,#fffdf0 0%,#fff4b8 34%,#e9fbff 68%,#fff 100%);
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.85;
  background:
    repeating-linear-gradient(90deg,transparent 0 58px,rgba(247,212,0,.075) 58px 64px,transparent 64px 122px),
    repeating-linear-gradient(0deg,transparent 0 54px,rgba(0,166,166,.06) 54px 59px,transparent 59px 118px),
    linear-gradient(135deg,rgba(229,57,53,.08),transparent 28%,rgba(106,76,255,.055) 58%,transparent 88%);
}

body::after{
  content:"";
  position:fixed;
  right:22px;
  top:210px;
  width:86px;
  height:86px;
  z-index:0;
  pointer-events:none;
  opacity:.34;
  background:linear-gradient(135deg,#e53935 0 50%,#00a6a6 50%);
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
  transform:rotate(14deg);
}

body>main,
body>footer{
  position:relative;
  z-index:1;
}

header{
  background:
    linear-gradient(115deg,rgba(255,255,255,.34) 0 10%,transparent 10% 18%,rgba(255,255,255,.24) 18% 28%,transparent 28% 40%),
    linear-gradient(135deg,#fff7a6 0%,#ffd84d 22%,#ff8f5e 36%,#ffec7a 50%,#8ff3e8 66%,#b8a8ff 82%,#fff176 100%) !important;
  isolation:isolate;
}

header::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  opacity:.95;
  background:
    repeating-linear-gradient(100deg,transparent 0 48px,rgba(255,255,255,.3) 48px 58px,transparent 58px 108px),
    repeating-linear-gradient(0deg,transparent 0 56px,rgba(247,212,0,.18) 56px 62px,transparent 62px 120px);
  background-size:100% 100%;
}

header::after{
  z-index:3;
}

.header-tools{
  z-index:1 !important;
}

.header-tools::before,
.header-tools::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:0;
}

.header-tools::before{
  left:5%;
  top:16px;
  width:34px;
  height:34px;
  background:#fff;
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 91%,50% 70%,21% 91%,32% 56%,2% 35%,39% 35%);
  box-shadow:16vw 28px 0 -4px #f7d400,34vw -2px 0 -6px #fff,58vw 26px 0 -3px #00a6a6,76vw 2px 0 -7px #fff,88vw 42px 0 -5px #e53935;
  opacity:.85;
}

.header-tools::after{
  right:6%;
  bottom:18px;
  width:64px;
  height:16px;
  border-radius:999px;
  background:linear-gradient(90deg,#e53935,#f7d400,#00a6a6,#6a4cff);
  box-shadow:-22vw -10px 0 -3px #f7d400,-48vw 8px 0 -5px #ff6b35,-70vw -18px 0 -4px #00a6a6;
  opacity:.72;
}

.header-tools img{
  z-index:1;
  width:clamp(76px,7vw,96px) !important;
  padding:10px !important;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,248,207,.88)) !important;
  border:2px solid rgba(255,255,255,.78) !important;
  box-shadow:0 14px 26px rgba(31,31,77,.22),inset 0 -5px 0 rgba(247,212,0,.24) !important;
  filter:drop-shadow(0 12px 18px rgba(31,31,77,.2)) saturate(1.08) !important;
}

.header-tools img:nth-child(1){
  background:linear-gradient(135deg,#fff 0%,#fff0b8 48%,#ffdd57 100%) !important;
  border-radius:38% 62% 48% 52% / 54% 42% 58% 46% !important;
}

.header-tools img:nth-child(2){
  background:linear-gradient(135deg,#fff 0%,#ffe9e6 48%,#ff8f7a 100%) !important;
  border-radius:60% 40% 55% 45% / 42% 58% 40% 60% !important;
}

.header-tools img:nth-child(3){
  background:linear-gradient(135deg,#fff 0%,#e9fbff 48%,#74e0dd 100%) !important;
  border-radius:46% 54% 37% 63% / 60% 40% 58% 42% !important;
}

.header-tools img:nth-child(4){
  background:linear-gradient(135deg,#fff 0%,#f3efff 48%,#b8a8ff 100%) !important;
  border-radius:55% 45% 63% 37% / 44% 58% 42% 56% !important;
}

.brand-lockup{
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,248,207,.92) 42%,rgba(232,251,255,.9) 100%);
  border:3px solid rgba(255,255,255,.74);
  box-shadow:0 18px 40px rgba(31,31,77,.22),0 0 0 3px rgba(247,212,0,.28),inset 0 -8px 0 rgba(247,212,0,.18);
}

.brand-lockup::before{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:-10px;
  height:10px;
  border-radius:0 0 8px 8px;
  background:linear-gradient(90deg,#e53935,#f7d400,#00a6a6,#6a4cff,#e53935);
}

.brand-lockup::after{
  content:"";
  position:absolute;
  right:16px;
  top:10px;
  width:46px;
  height:46px;
  z-index:0;
  background:#f7d400;
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 91%,50% 70%,21% 91%,32% 56%,2% 35%,39% 35%);
  opacity:.58;
  filter:drop-shadow(0 8px 10px rgba(31,31,77,.14));
}

.brand-logo,
.brand-text{
  position:relative;
  z-index:1;
}

nav a{
  display:inline-block;
  padding:7px 10px;
  border-radius:8px;
  transition:background .2s,color .2s,transform .2s;
}

nav a:hover,
nav a.active{
  background:rgba(255,255,255,.13);
  color:#f7d400;
  transform:translateY(-1px);
}

.hero{
  background:
    url("decor/classroom-background.png") center/cover no-repeat,
    linear-gradient(135deg,#fffdf0 0%,#fff4b8 45%,#e9fbff 100%);
}

.hero::after,
.custom-services::after,
nav::after,
.panama-band::after{
  background:linear-gradient(90deg,#e53935 0 14%,#f7d400 14% 28%,#00a6a6 28% 42%,#6a4cff 42% 56%,#ff6b35 56% 70%,#2bd66f 70% 84%,#e53935 84% 100%);
  background-size:260% 100%;
  animation:sotsanStripeMove 6s linear infinite;
  will-change:background-position;
}

header::after{
  background:linear-gradient(90deg,#e53935 0 14%,#f7d400 14% 28%,#00a6a6 28% 42%,#6a4cff 42% 56%,#ff6b35 56% 70%,#2bd66f 70% 84%,#e53935 84% 100%) !important;
  background-size:100% 100% !important;
  animation:none !important;
  will-change:auto !important;
}

@keyframes sotsanStripeMove{
  from{background-position:0 0}
  to{background-position:260% 0}
}

@keyframes headerRainbowDrift{
  from{background-position:0 0}
  to{background-position:220% 0}
}

@keyframes headerStarTwinkle{
  0%,100%{transform:translateY(0) rotate(-8deg) scale(.94);opacity:.72}
  50%{transform:translateY(-8px) rotate(9deg) scale(1.08);opacity:1}
}

@keyframes headerConfettiFloat{
  0%,100%{transform:translateY(0) rotate(-4deg)}
  50%{transform:translateY(-10px) rotate(5deg)}
}

.hero-copy h2,
.intro h2,
.payment-intro h2,
.product-info-card h2{
  text-shadow:2px 3px 0 rgba(247,212,0,.22);
}

.intro,
.payment-intro{
  width:min(760px,calc(100% - 32px));
  max-width:none;
  padding:28px clamp(16px,4vw,34px) 16px;
}

.intro::before,
.payment-intro::before{
  left:0;
  width:100%;
  transform:none;
}

.intro p,
.payment-intro p{
  max-width:650px;
  margin:0 auto;
}

.intro,
.card,
.product-card,
.service-card,
.info,
.form-box,
.summary,
.payment-summary,
.pay-form,
.product-image-card,
.product-info-card,
.suggestion,
.cart-summary,
.thanks-card{
  min-width:0;
  overflow-wrap:break-word;
}

.intro *,
.card *,
.product-card *,
.service-card *,
.info *,
.form-box *,
.summary *,
.payment-summary *,
.pay-form *,
.product-image-card *,
.product-info-card *,
.suggestion *,
.cart-summary *,
.thanks-card *{
  max-width:100%;
  min-width:0;
}

.intro h2,
.card h3,
.product-card h3,
.category-section h3,
.catalog-title h2,
.services-copy h3,
.payment-intro h2,
.summary h2,
.pay-form h2,
.product-info-card h2{
  text-wrap:balance;
}

.category-bar button{
  white-space:normal;
  line-height:1.18;
}

.payment-wrap,
.product-preview,
.method-grid,
.form-actions{
  min-width:0;
}

.product-preview h3,
.safe-note,
.method-grid label,
.form-actions .btn{
  min-width:0;
  overflow-wrap:break-word;
}

.form-actions .btn{
  white-space:normal;
  line-height:1.2;
}

.hero-content::before,
.page::marker{
  content:none;
}

.quick-strip{
  background:linear-gradient(90deg,#1f1f4d 0%,#313184 34%,#e53935 100%);
}

.quick-strip>div{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.16);
  border-radius:8px;
  padding:12px;
  box-shadow:inset 0 -4px 0 rgba(247,212,0,.22);
}

.products,
.custom-services,
.page,
.payment-page,
.product-page{
  background:
    linear-gradient(135deg,#fffdf0 0%,#fff4b8 34%,#e9fbff 68%,#fff 100%);
}

.products h3,
.catalog-title h2{
  position:relative;
}

.products h3::after,
.catalog-title h2::after{
  content:"";
  display:block;
  width:150px;
  height:8px;
  margin:14px auto 0;
  border-radius:8px;
  background:linear-gradient(90deg,#e53935,#f7d400,#00a6a6,#6a4cff);
}

.card,
.product-card,
.service-card,
.info,
.form-box,
.summary,
.pay-form,
.product-image-card,
.product-info-card,
.suggestion{
  border:1px solid rgba(31,31,77,.1);
}

.card:nth-child(5n+1)::before,
.product-card:nth-child(5n+1)::before,
.suggestion:nth-child(5n+1){
  border-top-color:#e53935;
}

.card:nth-child(5n+2)::before,
.product-card:nth-child(5n+2)::before,
.suggestion:nth-child(5n+2){
  border-top-color:#00a6a6;
}

.card:nth-child(5n+3)::before,
.product-card:nth-child(5n+3)::before,
.suggestion:nth-child(5n+3){
  border-top-color:#f7d400;
}

.card:nth-child(5n+4)::before,
.product-card:nth-child(5n+4)::before,
.suggestion:nth-child(5n+4){
  border-top-color:#6a4cff;
}

.card:nth-child(5n+5)::before,
.product-card:nth-child(5n+5)::before,
.suggestion:nth-child(5n+5){
  border-top-color:#ff6b35;
}

.card:nth-child(5n+1){box-shadow:0 14px 30px rgba(229,57,53,.14)}
.card:nth-child(5n+2){box-shadow:0 14px 30px rgba(0,166,166,.14)}
.card:nth-child(5n+3){box-shadow:0 14px 30px rgba(247,212,0,.18)}
.card:nth-child(5n+4){box-shadow:0 14px 30px rgba(106,76,255,.13)}
.card:nth-child(5n+5){box-shadow:0 14px 30px rgba(255,107,53,.13)}

.category-bar{
  background:
    repeating-linear-gradient(135deg,rgba(247,212,0,.14) 0 12px,rgba(255,255,255,.2) 12px 24px),
    linear-gradient(135deg,#fff 0%,#fff4b8 44%,#e9fbff 100%);
  border-color:rgba(31,31,77,.18);
}

.category-bar button:nth-of-type(1)::after{background:linear-gradient(90deg,#e53935,#f7d400)}
.category-bar button:nth-of-type(2)::after{background:linear-gradient(90deg,#f7d400,#00a6a6)}
.category-bar button:nth-of-type(3)::after{background:linear-gradient(90deg,#00a6a6,#6a4cff)}
.category-bar button:nth-of-type(4)::after{background:linear-gradient(90deg,#6a4cff,#ff6b35)}
.category-bar button:nth-of-type(5)::after{background:linear-gradient(90deg,#ff6b35,#e53935)}
.category-bar button:nth-of-type(6)::after{background:linear-gradient(90deg,#34a853,#f7d400)}

.category-section{
  background:rgba(255,255,255,.76);
  border-radius:8px;
  padding:22px;
  box-shadow:0 14px 30px rgba(31,31,77,.09);
}

.category-section:nth-child(5n+1){border-top-color:#e53935}
.category-section:nth-child(5n+2){border-top-color:#00a6a6}
.category-section:nth-child(5n+3){border-top-color:#f7d400}
.category-section:nth-child(5n+4){border-top-color:#6a4cff}
.category-section:nth-child(5n+5){border-top-color:#34a853}

.product-card{
  position:relative;
  overflow:hidden;
}

.product-card::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:6px;
  background:linear-gradient(90deg,#e53935,#f7d400,#00a6a6);
}

.contact-wrap::before,
.payment-wrap::before,
.product-wrap::before,
.grid::before{
  filter:drop-shadow(0 12px 16px rgba(31,31,77,.14));
}

.info,
.form-box,
.summary,
.pay-form,
.product-info-card,
.product-image-card{
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,253,240,.96));
}

.method-grid label:nth-child(1){border-color:rgba(229,57,53,.28)}
.method-grid label:nth-child(2){border-color:rgba(0,166,166,.28)}
.method-grid label:nth-child(3){border-color:rgba(106,76,255,.28)}

.pill:nth-child(1){background:#fff1ee}
.pill:nth-child(2){background:#fff8cf}
.pill:nth-child(3){background:#e9fbff}

.product-page::after{
  content:"";
  position:absolute;
  right:-54px;
  bottom:110px;
  width:210px;
  height:210px;
  background:linear-gradient(135deg,rgba(229,57,53,.15),rgba(0,166,166,.16));
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
  transform:rotate(15deg);
}

.product-wrap{
  z-index:1;
}

.product-wrap::after{
  content:"";
  position:absolute;
  right:-30px;
  top:-24px;
  width:92px;
  height:92px;
  background:#f7d400;
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 91%,50% 70%,21% 91%,32% 56%,2% 35%,39% 35%);
  z-index:-1;
  filter:drop-shadow(0 12px 16px rgba(31,31,77,.14));
}

.suggestion:nth-child(1){background:linear-gradient(180deg,#fff,#fff1ee)}
.suggestion:nth-child(2){background:linear-gradient(180deg,#fff,#fff8cf)}
.suggestion:nth-child(3){background:linear-gradient(180deg,#fff,#e9fbff)}

footer{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#1f1f4d,#303080);
}

footer::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:10px;
  background:linear-gradient(90deg,#e53935,#f7d400,#00a6a6,#6a4cff,#ff6b35,#e53935);
}

footer::after{
  content:"";
  position:absolute;
  right:26px;
  bottom:14px;
  width:64px;
  height:64px;
  background:#f7d400;
  opacity:.25;
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 91%,50% 70%,21% 91%,32% 56%,2% 35%,39% 35%);
}

footer p{
  position:relative;
  z-index:1;
}

/* Extra colorful page polish */
.page,
.payment-page,
.product-page{
  background:
    repeating-linear-gradient(135deg,rgba(247,212,0,.18) 0 14px,transparent 14px 34px),
    repeating-linear-gradient(45deg,transparent 0 62px,rgba(0,166,166,.09) 62px 68px,transparent 68px 126px),
    linear-gradient(135deg,#fffceb 0%,#fff0b8 30%,#e5fbff 62%,#fff1f1 100%) !important;
}

.page::before,
.payment-page::before,
.product-page::before{
  background:
    repeating-linear-gradient(90deg,rgba(31,31,77,.2) 0 2px,transparent 2px 15px),
    linear-gradient(135deg,#f7d400 0%,#fff6a8 46%,#00a6a6 100%) !important;
  border-color:rgba(31,31,77,.26) !important;
}

.page::after,
.payment-page::after,
.product-page::after{
  background:linear-gradient(135deg,#e53935 0 33%,#f7d400 33% 66%,#00a6a6 66%) !important;
  opacity:.22;
  box-shadow:-110px 80px 0 -70px rgba(106,76,255,.65),-190px -42px 0 -86px rgba(247,212,0,.8);
}

.intro,
.payment-intro,
.cart-intro{
  border:2px solid rgba(31,31,77,.1);
  box-shadow:0 18px 42px rgba(31,31,77,.1),inset 0 -8px 0 rgba(247,212,0,.22);
}

.intro::after,
.payment-intro::after,
.cart-intro::after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  bottom:-8px;
  height:12px;
  border-radius:999px;
  background:linear-gradient(90deg,#e53935,#f7d400,#00a6a6,#6a4cff,#ff6b35,#e53935);
  background-size:240% 100%;
  animation:sotsanStripeMove 8s linear infinite;
  box-shadow:0 8px 16px rgba(31,31,77,.12);
}

.catalog{
  position:relative;
}

.catalog::before{
  content:"";
  position:absolute;
  left:-28px;
  top:18px;
  width:88px;
  height:88px;
  background:#f7d400;
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 91%,50% 70%,21% 91%,32% 56%,2% 35%,39% 35%);
  filter:drop-shadow(0 12px 16px rgba(31,31,77,.16));
  animation:sotsanSparkle 4.8s ease-in-out infinite;
  z-index:-1;
}

.catalog::after{
  content:"";
  position:absolute;
  right:-24px;
  top:84px;
  width:128px;
  height:34px;
  border-radius:8px;
  background:linear-gradient(90deg,#e53935,#f7d400,#00a6a6);
  transform:rotate(12deg);
  box-shadow:0 12px 22px rgba(31,31,77,.14);
  z-index:-1;
}

.catalog-header{
  position:relative;
  background:rgba(255,255,255,.78);
  border:2px solid rgba(31,31,77,.1);
  border-radius:8px;
  padding:20px;
  box-shadow:0 16px 34px rgba(31,31,77,.09);
}

.catalog-title h2{
  text-shadow:2px 3px 0 rgba(247,212,0,.28);
}

.search-box input{
  border:2px solid rgba(0,166,166,.28) !important;
  box-shadow:inset 0 -4px 0 rgba(247,212,0,.22),0 8px 16px rgba(31,31,77,.08);
}

.search-box input:focus{
  outline:0;
  border-color:#e53935 !important;
  box-shadow:0 0 0 4px rgba(229,57,53,.12),inset 0 -4px 0 rgba(247,212,0,.28);
}

.category-bar{
  border:3px solid rgba(31,31,77,.14) !important;
  background:
    linear-gradient(90deg,rgba(229,57,53,.08),rgba(247,212,0,.2),rgba(0,166,166,.12)),
    repeating-linear-gradient(135deg,rgba(255,255,255,.8) 0 14px,rgba(255,255,255,.35) 14px 28px) !important;
}

.category-bar::before{
  background:linear-gradient(135deg,#e53935,#ff6b35) !important;
  animation:sotsanBadgeWiggle 4.5s ease-in-out infinite;
}

.category-bar button{
  border:2px solid rgba(31,31,77,.08) !important;
  background:linear-gradient(180deg,#fff,#fff9d8) !important;
}

.category-bar button:nth-of-type(2){background:linear-gradient(180deg,#fff,#fff1ee) !important}
.category-bar button:nth-of-type(3){background:linear-gradient(180deg,#fff,#e9fbff) !important}
.category-bar button:nth-of-type(4){background:linear-gradient(180deg,#fff,#f2efff) !important}
.category-bar button:nth-of-type(5){background:linear-gradient(180deg,#fff,#fff3e8) !important}
.category-bar button:nth-of-type(6){background:linear-gradient(180deg,#fff,#effcf3) !important}

.category-bar button.active{
  background:linear-gradient(135deg,#1f1f4d,#303080) !important;
  border-color:#f7d400 !important;
}

.category-section{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,250,220,.88)),
    repeating-linear-gradient(90deg,transparent 0 44px,rgba(247,212,0,.18) 44px 50px) !important;
}

.category-section::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:9px;
  background:linear-gradient(90deg,#e53935,#f7d400,#00a6a6,#6a4cff,#ff6b35);
}

.category-section::after{
  content:"";
  position:absolute;
  right:18px;
  top:20px;
  width:44px;
  height:44px;
  border:6px solid rgba(247,212,0,.5);
  border-radius:50%;
  box-shadow:-26px 32px 0 -16px rgba(0,166,166,.45);
}

.category-section h3{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border-radius:8px;
  background:#fff;
  border:1px solid rgba(31,31,77,.1);
  padding:10px 14px;
  box-shadow:0 10px 18px rgba(31,31,77,.08);
}

.product-card{
  border:2px solid rgba(31,31,77,.08);
  background:linear-gradient(180deg,#fff,#fffdf0) !important;
  box-shadow:0 12px 24px rgba(31,31,77,.11) !important;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}

.product-card:nth-child(5n+2){background:linear-gradient(180deg,#fff,#e9fbff) !important}
.product-card:nth-child(5n+3){background:linear-gradient(180deg,#fff,#fff1ee) !important}
.product-card:nth-child(5n+4){background:linear-gradient(180deg,#fff,#f3efff) !important}
.product-card:nth-child(5n+5){background:linear-gradient(180deg,#fff,#effcf3) !important}

.product-card::after{
  content:"";
  position:absolute;
  right:10px;
  top:12px;
  width:26px;
  height:26px;
  background:rgba(247,212,0,.58);
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 91%,50% 70%,21% 91%,32% 56%,2% 35%,39% 35%);
  opacity:.75;
}

.product-card:hover{
  transform:translateY(-5px) rotate(-.4deg);
  border-color:rgba(229,57,53,.28);
  box-shadow:0 18px 32px rgba(31,31,77,.16) !important;
}

.contact-wrap,
.payment-wrap{
  position:relative;
}

.contact-wrap::after,
.payment-wrap::after{
  content:"";
  position:absolute;
  right:-28px;
  top:-34px;
  width:86px;
  height:86px;
  background:#f7d400;
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 91%,50% 70%,21% 91%,32% 56%,2% 35%,39% 35%);
  z-index:-1;
  filter:drop-shadow(0 12px 18px rgba(31,31,77,.15));
  animation:sotsanSparkle 5.2s ease-in-out infinite;
}

.info,
.form-box,
.summary,
.pay-form{
  border:2px solid rgba(31,31,77,.09) !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,250,225,.96)),
    repeating-linear-gradient(135deg,transparent 0 48px,rgba(0,166,166,.08) 48px 54px) !important;
}

.info::before,
.form-box::before,
.summary::before,
.pay-form::before{
  background:linear-gradient(90deg,#e53935,#f7d400,#00a6a6,#6a4cff,#ff6b35) !important;
}

.info h3,
.form-box h3,
.summary h2,
.pay-form h2{
  text-shadow:1px 2px 0 rgba(247,212,0,.22);
}

.info p{
  background:rgba(255,255,255,.68);
  border-radius:8px;
  padding:9px 12px 9px 20px !important;
}

input,
textarea,
select{
  border:2px solid rgba(31,31,77,.12) !important;
  box-shadow:inset 0 -3px 0 rgba(247,212,0,.18);
}

input:focus,
textarea:focus,
select:focus{
  outline:0;
  border-color:#00a6a6 !important;
  box-shadow:0 0 0 4px rgba(0,166,166,.14),inset 0 -3px 0 rgba(247,212,0,.22) !important;
}

.payment-decor .star,
.contact-decor .spark{
  animation:sotsanSparkle 4.8s ease-in-out infinite;
}

.payment-decor .ticket,
.contact-decor .clip{
  animation:sotsanTicketFloat 6s ease-in-out infinite;
}

.method-grid label{
  background:linear-gradient(180deg,#fff,#fff8cf) !important;
}

.method-grid label:nth-child(2){background:linear-gradient(180deg,#fff,#e9fbff) !important}
.method-grid label:nth-child(3){background:linear-gradient(180deg,#fff,#f2efff) !important}

@keyframes sotsanSparkle{
  0%,100%{transform:translateY(0) rotate(-8deg) scale(.94)}
  50%{transform:translateY(-13px) rotate(10deg) scale(1.06)}
}

@keyframes sotsanTicketFloat{
  0%,100%{transform:translateY(0) rotate(13deg)}
  50%{transform:translateY(-12px) rotate(7deg)}
}

@keyframes sotsanBadgeWiggle{
  0%,100%{transform:rotate(-8deg) scale(1)}
  50%{transform:rotate(-3deg) scale(1.04)}
}

@media(max-width:620px){
  body::after{
    display:none;
  }

  nav a{
    padding:7px 9px;
  }

  .category-section{
    padding:16px;
  }

  .catalog::before,
  .catalog::after,
  .contact-wrap::after,
  .payment-wrap::after,
  .category-section::after{
    display:none;
  }
}

@media(max-width:760px){
  body{
    overflow-x:hidden;
  }

  .payment-page{
    padding:48px 14px 36px !important;
  }

  .payment-page::before{
    left:-58px !important;
    top:64px !important;
    width:160px !important;
    height:38px !important;
    opacity:.55 !important;
  }

  .payment-page::after,
  .payment-decor{
    display:none !important;
  }

  .payment-intro{
    width:100% !important;
    margin:0 auto 22px !important;
    padding:24px 16px 14px !important;
  }

  .payment-intro h2{
    font-size:clamp(2rem,12vw,2.65rem) !important;
    line-height:1.05 !important;
  }

  .payment-intro h2::after{
    width:min(160px,55vw) !important;
    height:8px !important;
    margin-top:12px !important;
  }

  .payment-intro p{
    font-size:.98rem !important;
    line-height:1.55 !important;
  }

  .payment-wrap{
    grid-template-columns:1fr !important;
    gap:16px !important;
    max-width:520px !important;
    width:100% !important;
  }

  .summary,
  .pay-form{
    padding:30px 16px 18px !important;
    border-radius:8px !important;
  }

  .summary::after,
  .pay-form::after{
    right:12px !important;
    top:18px !important;
    width:38px !important;
    height:38px !important;
    box-shadow:-14px 24px 0 rgba(0,166,166,.1) !important;
  }

  .summary h2,
  .pay-form h2{
    font-size:1.35rem !important;
    line-height:1.15 !important;
    padding-right:48px !important;
  }

  .product-preview{
    grid-template-columns:84px minmax(0,1fr) !important;
    gap:12px !important;
    padding:12px !important;
    margin:20px 0 14px !important;
  }

  .product-preview img{
    width:84px !important;
    padding:8px !important;
  }

  .product-preview h3{
    font-size:1rem !important;
    line-height:1.25 !important;
  }

  .pill-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  .pill{
    padding:9px 10px !important;
    font-size:.92rem !important;
  }

  .safe-note{
    padding:12px !important;
    font-size:.95rem !important;
  }

  .method-grid{
    grid-template-columns:1fr !important;
  }

  .method-grid label{
    padding:12px !important;
    line-height:1.25 !important;
  }

  .payment-page input,
  .payment-page textarea,
  .payment-page select{
    font-size:16px !important;
  }

  .form-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .form-actions .btn{
    width:100% !important;
    padding:13px 14px !important;
  }
}

@media(max-width:420px){
  .payment-page{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .payment-wrap{
    max-width:100% !important;
  }

  .summary,
  .pay-form{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .product-preview{
    grid-template-columns:1fr !important;
    text-align:center !important;
  }

  .product-preview img{
    margin:auto !important;
  }

  .summary h2,
  .pay-form h2{
    padding-right:0 !important;
  }

  .summary::after,
  .pay-form::after{
    display:none !important;
  }
}

@media(max-width:900px){
  header{
    padding:20px 14px 26px !important;
  }

  .brand-lockup{
    width:min(720px,100%) !important;
    gap:14px !important;
    padding:12px 14px !important;
  }

  nav{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    gap:8px !important;
    padding:12px 10px !important;
  }

  nav a{
    margin:0 !important;
    padding:8px 10px !important;
  }

  .hero{
    min-height:auto !important;
    background-position:center top !important;
  }

  .hero-content,
  .services-inner,
  .panama-inner,
  .contact-wrap,
  .payment-wrap,
  .product-wrap{
    grid-template-columns:1fr !important;
  }

  .hero-content{
    padding:54px 18px !important;
    gap:22px !important;
  }

  .interactive-panel,
  .service-card,
  .panama-card,
  .info,
  .form-box,
  .summary,
  .pay-form,
  .product-image-card,
  .product-info-card,
  .cart-box,
  .cart-summary{
    width:100% !important;
  }

  .catalog-header{
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:start !important;
  }

  .search-box{
    max-width:none !important;
  }

  .suggestions{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:680px){
  html,
  body{
    width:100% !important;
    overflow-x:hidden !important;
  }

  .brand-lockup{
    display:block !important;
    text-align:center !important;
  }

  .brand-logo{
    width:min(190px,72vw) !important;
    min-width:0 !important;
    max-width:190px !important;
    margin:0 auto 10px !important;
  }

  .brand-text{
    text-align:center !important;
  }

  .brand-text h1{
    font-size:clamp(1.45rem,8vw,2rem) !important;
    line-height:1.05 !important;
  }

  .brand-text p{
    font-size:.95rem !important;
  }

  .header-tools img{
    width:52px !important;
  }

  .header-tools img:nth-child(2),
  .header-tools img:nth-child(3){
    display:none !important;
  }

  nav{
    position:relative !important;
  }

  nav a{
    font-size:.92rem !important;
    line-height:1.1 !important;
  }

  .hero::before{
    background:linear-gradient(180deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.76) 48%,rgba(255,255,255,.38) 100%) !important;
  }

  .hero-copy h2,
  .intro h2,
  .payment-intro h2,
  .cart-intro h2,
  .panama-copy h3,
  .services-copy h3{
    font-size:clamp(2rem,11vw,2.8rem) !important;
    line-height:1.05 !important;
  }

  .hero-copy p,
  .intro p,
  .payment-intro p,
  .cart-intro p,
  .panama-copy p,
  .services-copy p{
    font-size:.98rem !important;
    line-height:1.55 !important;
  }

  .hero-actions,
  .actions,
  .form-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .btn,
  .cart-action,
  .cart-add-small,
  .clear-cart,
  .remove-item{
    max-width:100% !important;
    white-space:normal !important;
    text-align:center !important;
    line-height:1.2 !important;
  }

  .hero-actions .btn,
  .actions .btn,
  .form-actions .btn{
    width:100% !important;
  }

  .delivery-badge{
    position:relative !important;
    right:auto !important;
    top:auto !important;
    width:118px !important;
    height:118px !important;
    margin:0 0 18px auto !important;
    font-size:.9rem !important;
  }

  .supply-scene,
  .hero-decor{
    opacity:.38 !important;
  }

  .quick-strip{
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }

  .custom-services,
  .products,
  .panama-band,
  .page,
  .cart-page,
  .payment-page,
  .product-page,
  .thanks-page{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .service-showcase,
  .grid{
    grid-template-columns:1fr !important;
  }

  .service-card{
    min-height:auto !important;
  }

  .mockup-stage{
    min-height:220px !important;
  }

  .panama-card{
    min-height:260px !important;
  }

  .panama-flag{
    width:108px !important;
    height:70px !important;
    left:16px !important;
    bottom:56px !important;
  }

  .category-bar{
    margin-left:0 !important;
    margin-right:0 !important;
    padding:12px !important;
    gap:10px !important;
  }

  .category-bar::before{
    width:78px !important;
    height:78px !important;
    font-size:.76rem !important;
  }

  .category-bar button{
    min-width:144px !important;
    padding:14px 14px 14px 50px !important;
    font-size:.9rem !important;
  }

  .category-products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }

  .product-card{
    padding:12px !important;
    min-height:0 !important;
  }

  .product-card h3{
    font-size:.88rem !important;
  }

  .contact-wrap,
  .payment-wrap,
  .cart-layout,
  .product-wrap{
    gap:16px !important;
  }

  .info,
  .form-box,
  .summary,
  .pay-form,
  .cart-box,
  .cart-summary,
  .product-image-card,
  .product-info-card,
  .thanks-card{
    padding:30px 16px 18px !important;
  }

  input,
  textarea,
  select{
    font-size:16px !important;
  }

  footer{
    margin-top:0 !important;
    padding:24px 14px !important;
  }
}

@media(max-width:520px){
  .quick-strip,
  .category-products{
    grid-template-columns:1fr !important;
  }

  .hero-content,
  .custom-services,
  .products,
  .panama-band,
  .page,
  .cart-page,
  .payment-page,
  .product-page{
    padding-top:42px !important;
    padding-bottom:34px !important;
  }

  .intro,
  .payment-intro,
  .cart-intro{
    width:100% !important;
    margin-bottom:22px !important;
    padding:24px 14px 14px !important;
  }

  .intro h2::after,
  .payment-intro h2::after,
  .cart-intro h2::after{
    width:min(150px,54vw) !important;
    height:8px !important;
  }

  .category-bar::before{
    display:none !important;
  }

  .category-bar button{
    min-width:132px !important;
  }

  .product-preview,
  .cart-item{
    grid-template-columns:1fr !important;
    text-align:center !important;
  }

  .product-preview img,
  .cart-item img,
  .product-image-card img{
    margin:auto !important;
  }

  .cart-item-actions{
    grid-column:auto !important;
  }

  .summary h2,
  .pay-form h2,
  .info h3,
  .form-box h3{
    padding-right:0 !important;
  }

  .summary::after,
  .pay-form::after,
  .info::after,
  .form-box::after{
    display:none !important;
  }

  .panama-tags,
  .service-tags,
  .pill-row{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
}
