:root{--blue:#123c83;--yellow:#ffda43;--red:#ee2938;--paper:#fffdf5;--purple:#74278d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;color:var(--blue);background:var(--paper);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--purple);outline-offset:5px}.preview{background:var(--blue);color:white;text-align:center;padding:9px 15px;font-size:11px;letter-spacing:1px}header{display:flex;align-items:center;justify-content:space-between;padding:10px 5%;background:var(--yellow);border-bottom:1px solid #123c8328}.logo{width:168px;height:78px;object-fit:contain}nav{display:flex;gap:35px;font-size:14px;font-weight:700}.cart-toggle{border:1px solid var(--blue);background:transparent;border-radius:30px;padding:12px 20px;font-weight:700}.cart-toggle span{display:inline-grid;place-items:center;border-radius:50%;width:24px;height:24px;background:var(--blue);color:var(--yellow);margin:0 10px}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:510px;background:var(--yellow);padding:42px 7% 45px;overflow:hidden;gap:35px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800}h1,h2,h3{font-family:Impact,'Arial Narrow',sans-serif;font-weight:900;line-height:1;letter-spacing:-1px}h1{font-size:clamp(48px,5.8vw,86px);margin:24px 0 20px}em{font-style:normal;color:var(--red)}.hero-copy>p:not(.eyebrow){line-height:1.6;font-size:15px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--blue);color:white;border:0;border-radius:30px;padding:17px 25px;font-weight:700;font-size:14px}.hero .button{margin-top:12px}.hero small{display:block;margin-top:17px;font-size:11px}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;isolation:isolate}.hero-art:before{content:'';position:absolute;inset:10% 4%;background:var(--purple);border-radius:49% 51% 35% 65%;transform:rotate(-15deg);z-index:-1}.hero-art>img{width:78%;height:380px;object-fit:contain;transform:rotate(8deg);filter:drop-shadow(16px 20px 12px #29125338)}.orbit{position:absolute;width:105%;height:73%;border:1px solid #123c8360;border-radius:50%;transform:rotate(-25deg);z-index:-1}.star{position:absolute;font-size:95px;color:var(--red);left:0;top:8%}.stamp{position:absolute;right:-2%;top:15%;background:var(--blue);color:var(--yellow);border:3px solid var(--yellow);outline:2px solid var(--blue);border-radius:50%;width:115px;height:115px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:32px;font-weight:900;transform:rotate(12deg)}.stamp small{font-size:10px;line-height:1.3;margin:3px 0 0;text-align:center}.art-caption{position:absolute;bottom:0;font-size:11px;letter-spacing:2px;font-weight:bold;background:var(--paper);padding:10px 20px;transform:rotate(-4deg)}.ticker{background:var(--red);color:white;display:flex;justify-content:space-around;gap:20px;align-items:center;padding:17px 4%;font-weight:800;font-size:12px;letter-spacing:1px}.catalog{padding:60px 5% 70px}.catalog-heading{display:flex;justify-content:space-between;align-items:end;gap:24px}.catalog-heading h2{font-size:43px;margin:16px 0 25px}.catalog-heading>p{font-size:14px;line-height:1.6;margin-bottom:28px}.catalog-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #123c8325;padding-top:22px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{border:1px solid #123c8330;border-radius:25px;padding:11px 19px;background:transparent;color:var(--blue);font-size:13px;font-weight:700}.filters button[aria-pressed=true]{background:var(--blue);color:white}#results,.demo-note{font-size:12px}.demo-note{line-height:1.6;color:#58637b;margin:18px 0 24px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{min-width:0}.product-art{position:relative;height:285px;background:var(--tone);border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-art:before{content:'';position:absolute;width:195px;height:195px;background:#ffffff70;border-radius:50%}.product-art img{position:relative;width:72%;height:230px;object-fit:contain;transition:transform .2s;filter:drop-shadow(8px 12px 6px #0002)}.card:hover .product-art img{transform:rotate(-5deg) scale(1.04)}.product-art.kit img{width:42%;height:210px;margin:0 -15px;transform:rotate(-8deg)}.product-art.kit img+img{transform:rotate(9deg);margin-top:28px}.badge{position:absolute;left:17px;top:16px;font-size:10px;font-weight:800;letter-spacing:1px;z-index:1}.card h3{font-size:26px;margin:18px 0 8px}.card p{font-size:13px;line-height:1.5;margin:7px 0;min-height:39px}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:17px;padding-bottom:21px;gap:10px}.price{font-size:22px;font-weight:800}.price small{display:block;font-size:10px;font-weight:400;margin-top:5px}.add{background:var(--blue);color:white;border:0;border-radius:25px;padding:12px 18px;font-weight:700;font-size:12px}.brand-strip{margin:0 5% 50px;background:var(--purple);color:var(--yellow);border-radius:12px;padding:36px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand-strip>span{font-size:110px}.brand-strip h2{font-size:37px;margin:15px 0}.light{background:var(--yellow);color:var(--blue)}footer{border-top:1px solid #123c8325;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 5%}footer small{font-size:10px;line-height:1.8}dialog{position:fixed;inset:0 0 0 auto;margin:0;height:100dvh;max-height:100dvh;width:470px;max-width:100%;border:0;background:var(--paper);color:var(--blue);padding:26px;overflow:auto}dialog::backdrop{background:#08204c88}.drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.drawer-heading h2{font-size:28px}.drawer-heading button{border:0;background:none;font-size:22px;color:var(--blue)}.cart-line{display:flex;gap:15px;border-bottom:1px solid #123c8322;padding:16px 0}.cart-line img{width:70px;height:80px;object-fit:contain}.cart-line h3{font:700 15px Arial;margin:0 0 8px}.cart-line small{font-size:12px}.quantity{display:flex;align-items:center;gap:14px;margin-top:10px}.quantity button{border:1px solid #123c8355;background:white;color:var(--blue);border-radius:50%;width:28px;height:28px}.cart-summary{margin-top:28px}.cart-summary p{font-size:12px;line-height:1.6}progress{width:100%;height:9px;accent-color:var(--blue)}.total{display:flex;justify-content:space-between;font-size:18px;margin-top:26px}.checkout{width:100%;justify-content:center;margin-top:12px;opacity:.55;cursor:not-allowed}.continue{display:block;border:0;background:none;color:var(--blue);margin:20px auto;font-size:13px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);border-radius:30px;background:var(--blue);color:white;padding:14px 25px;box-shadow:0 4px 20px #0002;font-size:13px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:5}#toast.visible{opacity:1}body:has(dialog[open]){overflow:hidden}@media(max-width:760px){header{padding:8px 5%}.logo{width:125px;height:60px}nav{display:none}.cart-toggle{font-size:12px;padding:9px 13px}.hero{grid-template-columns:1fr;gap:5px;padding:25px 6% 30px}.hero h1{font-size:58px}.hero-art{height:310px}.hero-art>img{height:280px}.hero-art:before{inset:5% 15%}.stamp{right:9%;top:6%;width:95px;height:95px;font-size:26px}.star{left:8%;font-size:75px}.art-caption{bottom:0}.ticker{font-size:10px;gap:12px;flex-wrap:wrap}.ticker span:last-child{display:none}.catalog{padding-top:35px}.catalog-heading{display:block}.catalog-heading h2{font-size:35px}.catalog-heading>p{margin:0 0 22px}.catalog-controls{align-items:start}#results{display:none}.filters button{padding:10px 12px;font-size:11px}.grid{grid-template-columns:repeat(2,1fr);gap:16px}.product-art{height:200px}.product-art img{height:165px;width:90%}.product-art:before{width:130px;height:130px}.product-art.kit img{height:155px;width:60%}.badge{font-size:8px;left:10px;top:10px}.card h3{font-size:22px}.card-bottom{align-items:start;flex-direction:column}.add{width:100%}.brand-strip{padding:25px;flex-wrap:wrap;gap:10px}.brand-strip>span{display:none}.brand-strip h2{font-size:32px}footer{flex-wrap:wrap}footer p{font-size:12px}.preview{font-size:9px;line-height:1.5}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before{transition:none!important}}

.no-photo{position:relative;font-size:15px;font-weight:bold}.add:disabled{background:#64748b;cursor:not-allowed}
.coupon-row{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.coupon-row input,#payment-step input{border:1px solid #123c8355;border-radius:8px;padding:12px;max-width:100%;color:var(--blue);font:inherit}.coupon-row input{width:160px;flex:1}.coupon-row button,#payment-step button{background:var(--blue);color:white;padding:12px;border:0;border-radius:8px}#coupon-form label,#payment-step label{display:block;font-size:13px;font-weight:700;margin:15px 0 8px}.checkout:enabled{opacity:1;cursor:pointer}#quote-status,#payment-step p{font-size:13px;line-height:1.5}#quote-details p{display:flex;justify-content:space-between}#payment-step form{display:grid;gap:8px}button:disabled{cursor:not-allowed;opacity:.55}
/* Product names need readable text typography, including long catalogue names. */
.card h3 {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 23px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: normal;
  color: #123c83;
  margin: 18px 0 10px;
  overflow-wrap: anywhere;
}
.card { display: flex; flex-direction: column; }
.card-bottom { margin-top: auto; padding-top: 17px; }
.add:disabled { color: #123c83; background: #e3e8ef; opacity: 1; }
@media (max-width: 760px) {
  .card h3 { font-size: 20px; line-height: 1.4; }
}
