:root{--cream:#F5EDD8;--oat:#f0dfc8;--tan:#e6ceaa;--sand:#e0c9a8;--taupe:#7A5F3A;--brown:#6B5540;--charcoal:#1a0f09;--dark:#2c1a0a;--orange:#E8801C;--orange-lt:#F5A84E;--font-body:"DM Sans",system-ui,-apple-system,sans-serif;--font-display:"Cormorant Garamond",Georgia,serif;--font-serif:"Bree Serif",Georgia,serif;--ease:cubic-bezier(0.25,0.46,0.45,0.94);--t:0.38s;--section-pad:clamp(56px,7vw,96px);--radius:16px;--shadow:0 4px 20px rgba(44,26,10,0.10);--shadow-md:0 8px 28px rgba(44,26,10,0.13);--shadow-lg:0 16px 48px rgba(44,26,10,0.16)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none !important}html{scroll-padding-top:100px;overflow-x:hidden}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body{background:var(--charcoal);color:var(--cream);font-family:var(--font-body);font-weight:300;line-height:1.65;overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}::selection{background:rgba(232,128,28,0.18)}a,button{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:4px;box-shadow:0 0 0 4px rgba(232,128,28,0.16)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--oat)}::-webkit-scrollbar-thumb{background:var(--taupe);border-radius:3px}.is-game-page:not(.light)::-webkit-scrollbar-track{background:var(--dark)}.is-game-page:not(.light)::-webkit-scrollbar-thumb{background:var(--taupe)}.skip-link{position:absolute;top:-100px;left:16px;z-index:9999;background:var(--dark);color:var(--cream);padding:10px 20px;border-radius:0 0 8px 8px;font-size:0.8125rem;font-weight:500;transition:top 0.2s ease}.skip-link:focus{top:0}.sec-lbl{display:block;text-transform:uppercase;font-size:0.8125rem;font-weight:700;letter-spacing:0.28em;color:var(--orange);margin-bottom:10px}.sec-lbl--center{display:block;text-align:center}.sec-h{font-family:var(--font-display);font-size:clamp(32px,5.5vw,72px);font-weight:400;line-height:1.02;letter-spacing:-0.015em;color:var(--charcoal);margin-bottom:14px}.sec-h em{font-style:italic;color:var(--orange);text-shadow:0 0 28px rgba(232,128,28,0.22)}.sec-h--center{text-align:center;margin-bottom:3rem}.sec-h--small{font-size:clamp(28px,3.5vw,44px)}.cp-wave-inline{display:block;line-height:0;margin-bottom:-1px;overflow:hidden}.cp-wave-inline svg{display:block;width:100%;height:60px}.cp-wave-inline--oat{background:var(--oat)}.cp-wave-inline--sand{background:var(--sand)}#hdr{position:fixed;top:16px;left:0;right:0;z-index:900;padding:0 34px}.cp-premium-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:min(calc(100vw - 120px),900px);margin:0 auto;min-height:70px;padding:12px 22px;border-radius:28px;background:var(--cream);border:1px solid rgba(180,140,90,0.25);position:relative;transition:box-shadow 0.3s var(--ease)}.hdr--scrolled .cp-premium-nav{box-shadow:0 6px 28px rgba(44,26,10,0.13)}.cp-brand-logo{width:50px;align-self:center;justify-self:start}.cp-brand-logo img,.cp-logo-img{width:50px;height:50px;max-width:none;display:block;object-fit:contain}.cp-premium-links{display:flex;align-items:center;justify-content:center;gap:16px;position:relative;top:2px}.cp-nav-link{display:inline-flex;align-items:center;gap:9px;min-height:28px;padding:11px 10px;border-radius:99px;font-size:0.825rem;font-weight:600;letter-spacing:0.045em;color:var(--dark);background:transparent;border:none;white-space:nowrap}.cp-nav-link.active,.cp-nav-link[aria-current="page"]{color:var(--orange)}.cp-nav-link:focus-visible{outline:2px solid rgba(196,147,90,0.4);outline-offset:2px}.cp-premium-links.is-open .cp-nav-link:focus-visible{outline:none;background:rgba(44,26,10,0.07)}.cp-premium-actions{display:flex;align-items:center;gap:12px;justify-self:end}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:12px;background:none;border:none}.hamburger span{display:block;width:22px;height:2px;background:var(--dark);transition:transform 0.25s var(--ease),opacity 0.2s var(--ease)}.hamburger.is-open span{background:var(--dark)}.hamburger.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.hamburger.is-open span:nth-child(2){opacity:0}.hamburger.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.hero{position:relative;height:100vh;height:100svh;min-height:640px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding-top:90px;z-index:1}.hero-vid{position:absolute;inset:0;z-index:1;opacity:0;transition:opacity 0.8s ease}.hero-vid.vid-ready{opacity:1}.hero-vid video{width:100%;height:100%;object-fit:cover}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;z-index:0}.hero-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(to top,rgba(22,13,4,0.38) 0%,rgba(22,13,4,0.22) 45%,rgba(22,13,4,0.04) 100%),linear-gradient(105deg,rgba(22,13,4,0.36) 0%,transparent 52%)}.hero-body{position:relative;z-index:4;padding:0 80px 130px;max-width:820px}.hero h1{font-family:var(--font-display);font-size:clamp(42px,4.8vw,68px);font-weight:400;line-height:1.04;color:var(--cream);margin-bottom:16px;letter-spacing:-0.01em;text-shadow:0 4px 20px rgba(0,0,0,0.18)}.hero h1 em{font-style:italic;color:#f5c070}.hero-sub{font-size:1.0625rem;font-weight:300;line-height:1.75;color:rgba(245,237,216,0.92);max-width:340px;margin-bottom:36px}.hero-btns{display:flex;gap:14px;flex-wrap:wrap}.btn-primary,.btn-secondary,.btn-ghost,.btn-hero-pri,.btn-hero-sec,.btn-order,.btn-order-active{display:inline-flex;align-items:center;justify-content:center;padding:14px 36px;border-radius:100px;font-family:var(--font-body);font-size:0.9375rem;font-weight:600;letter-spacing:0.045em;border:none;cursor:pointer;text-align:center;text-decoration:none;white-space:nowrap;transition:background var(--t) var(--ease),color var(--t) var(--ease),box-shadow var(--t) var(--ease),transform var(--t) var(--ease);position:relative;overflow:hidden}.btn-primary,.btn-hero-pri{background:var(--cream);color:var(--dark);box-shadow:0 4px 14px rgba(232,128,28,0.15)}.btn-primary:hover,.btn-hero-pri:hover{background:var(--orange);color:var(--dark);box-shadow:0 10px 28px rgba(232,128,28,0.38);transform:translateY(-2px)}.btn-secondary,.btn-hero-sec,.btn-order-active,.cp-community-btn,.tt-teaser .btn-hero-sec,.cp-game-card .btn-order-active,.pd-play-btn{background:var(--orange);color:var(--cream);box-shadow:0 4px 14px rgba(232,128,28,0.25)}.btn-secondary:hover,.btn-hero-sec:hover,.btn-order-active:hover,.cp-community-btn:hover,.tt-teaser .btn-hero-sec:hover,.cp-game-card .btn-order-active:hover,.pd-play-btn:hover{background:#f0922a;color:var(--cream);transform:translateY(-2px);box-shadow:0 10px 28px rgba(232,128,28,0.4)}.cp-game-card .btn-order-active,.cp-game-card .pd-play-btn,.tt-teaser .btn-hero-sec{background:var(--cream);color:var(--dark);box-shadow:0 4px 14px rgba(0,0,0,0.22)}.cp-game-card .btn-order-active:hover,.cp-game-card .pd-play-btn:hover,.tt-teaser .btn-hero-sec:hover{background:var(--orange);color:var(--dark);transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,0.32)}.hero-btns .btn-hero-sec{background:rgba(28,22,18,0.28);color:var(--cream);border:1.5px solid rgba(255,250,240,0.85);box-shadow:0 4px 16px rgba(0,0,0,0.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-btns .btn-hero-sec:hover{background:var(--cream);color:var(--dark);border-color:var(--cream);transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,0.28)}.btn-ghost{background:transparent;color:var(--orange);border:1.5px solid var(--orange);box-shadow:none}.btn-ghost:hover{background:rgba(232,128,28,0.08);transform:translateY(-2px)}.btn-order{display:block;width:100%;padding:13px 24px;font-size:0.875rem;margin-top:auto}.btn-primary:active,.btn-hero-pri:active,.btn-secondary:active,.btn-hero-sec:active,.btn-order-active:active,.cp-community-btn:active,.btn-ghost:active{transform:translateY(1px) scale(0.975);transition:transform 0.08s ease}.reveal{opacity:0;transform:translateY(16px);transition:opacity 1.1s cubic-bezier(0.16,1,0.3,1),transform 1.1s cubic-bezier(0.16,1,0.3,1)}.reveal.in{opacity:1;transform:translateY(0)}.d1{transition-delay:0.08s}.d2{transition-delay:0.16s}.d3{transition-delay:0.26s}.d4{transition-delay:0.36s}.cp-about .sec-h,.cp-social-section .sec-h,.hiw .sec-h{color:var(--dark)}.cp-about .sec-lbl,.cp-social-section .sec-lbl,.hiw .sec-lbl{color:#7a4e0a}p{font-size:0.9375rem;font-weight:300;line-height:1.8;color:rgba(44,26,10,0.82);margin-top:14px}.hiw{background:var(--oat);padding:var(--section-pad) 80px}.hiw-inner{max-width:1100px;margin:0 auto}.hiw .sec-h{font-size:clamp(28px,3.5vw,44px);margin-bottom:48px}.cp-games-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:0}.cp-games-stack{display:flex;flex-direction:column;gap:32px}.conn-card-visual--compact{padding:16px 24px 20px}.cpv2-visual{padding:16px 20px 20px;flex:1}.cpv2-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.cpv2-tile{border-radius:8px;padding:10px 4px;font-size:0.62rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;text-align:center;color:rgba(255,255,255,0.92);opacity:0;transform:scale(0.85);transition:opacity 0.3s ease,transform 0.3s ease}.cpv2-tile.cpv2-in{opacity:1;transform:scale(1)}.cpv2-tile--y{background:#b94e2d}.cpv2-tile--g{background:#ac7d16}.cpv2-tile--b{background:#643e16}.cpv2-tile--p{background:#486226}.cp-game-card{background:var(--dark);border-radius:20px;overflow:hidden;box-shadow:0 12px 36px rgba(44,26,10,0.18)}.conn-card-visual{flex:1;padding:20px 24px 24px;display:flex;align-items:center;justify-content:center}.conn-card-grid{display:flex;flex-direction:column;gap:8px;width:100%}.conn-card-row{display:flex;align-items:center;justify-content:space-evenly;line-height:1;gap:6px;border-radius:10px;padding:10px 12px;font-family:"DM Sans",system-ui,sans-serif;font-size:0.65rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:#fff;text-align:center}.conn-card-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conn-card-row--yellow{background:#8f3a1e}.conn-card-row--green{background:#7a5a10}.conn-card-row--blue{background:#3d2410}.conn-card-row--purple{background:#2c3a10}@keyframes cellDrop{from{opacity:0;transform:translateY(-22px) scale(0.85)}to{opacity:1;transform:translateY(0) scale(1)}}.cp-game-card .pd-cell{opacity:0}.cp-game-card.in .pd-cell{animation:cellDrop 0.3s cubic-bezier(0.16,1,0.3,1) both}.cp-game-card.in .pd-cell:nth-child(1){animation-delay:0.06s}.cp-game-card.in .pd-cell:nth-child(2){animation-delay:0.12s}.cp-game-card.in .pd-cell:nth-child(3){animation-delay:0.18s}.cp-game-card.in .pd-cell:nth-child(4){animation-delay:0.24s}.cp-game-card.in .pd-cell:nth-child(5){animation-delay:0.30s}.cp-game-card.in .pd-cell:nth-child(6){animation-delay:0.36s}.cp-game-card.in .pd-cell:nth-child(7){animation-delay:0.42s}.cp-game-card.in .pd-cell:nth-child(8){animation-delay:0.48s}.cp-game-card.in .pd-cell:nth-child(9){animation-delay:0.54s}.cp-game-card.in .pd-cell:nth-child(10){animation-delay:0.60s}.cp-game-card.in .pd-cell:nth-child(11){animation-delay:0.66s}.cp-game-card.in .pd-cell:nth-child(12){animation-delay:0.72s}.cp-game-card.in .pd-cell:nth-child(13){animation-delay:0.78s}.cp-game-card.in .pd-cell:nth-child(14){animation-delay:0.84s}.cp-game-card.in .pd-cell:nth-child(15){animation-delay:0.90s}.cp-game-card.in .pd-cell:nth-child(16){animation-delay:0.96s}.cp-game-card.in .pd-cell:nth-child(17){animation-delay:1.02s}.cp-game-card.in .pd-cell:nth-child(18){animation-delay:1.08s}.cp-game-card.in .pd-cell:nth-child(19){animation-delay:1.14s}.cp-game-card.in .pd-cell:nth-child(20){animation-delay:1.20s}.cp-game-card.in .pd-cell:nth-child(21){animation-delay:1.26s}.cp-game-card.in .pd-cell:nth-child(22){animation-delay:1.32s}.cp-game-card.in .pd-cell:nth-child(23){animation-delay:1.38s}.cp-game-card.in .pd-cell:nth-child(24){animation-delay:1.44s}.cp-game-card.in .pd-cell:nth-child(25){animation-delay:1.50s}.cp-game-card.in .pd-cell:nth-child(26){animation-delay:1.56s}.cp-game-card.in .pd-cell:nth-child(27){animation-delay:1.62s}.cp-game-card.in .pd-cell:nth-child(28){animation-delay:1.68s}.cp-game-card.in .pd-cell:nth-child(29){animation-delay:1.74s}.cp-game-card.in .pd-cell:nth-child(30){animation-delay:1.80s}@media (prefers-reduced-motion:reduce){.cp-game-card .pd-cell{opacity:1;animation:none}}.cp-community-section{background:var(--oat);padding:clamp(52px,7vw,96px) 24px;position:relative}.cp-community-section .sec-h{color:var(--dark)}.cp-community-section .sec-h em{color:var(--orange)}.cp-community-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.cp-community-copy{display:flex;flex-direction:column;align-items:flex-start}.cp-community-sub{font-size:1rem;line-height:1.7;color:rgba(44,26,10,0.75);margin:16px 0 28px;max-width:460px}.cp-community-btn{display:inline-block;width:fit-content}.cp-community-card{background:var(--tan);border-radius:20px;border:1.5px dashed rgba(180,130,80,0.35);min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;box-shadow:var(--shadow);overflow:visible;width:100%;padding-top:28px}.cp-community-pup-img{width:calc(100% - 40px);height:auto;max-height:300px;object-fit:cover;object-position:center top;border-radius:4px;display:block;flex-shrink:0;transform:rotate(1.5deg);box-shadow:0 8px 24px rgba(44,26,10,0.22),0 2px 6px rgba(44,26,10,0.12);border:6px solid #fff;margin-bottom:16px;transition:transform 0.3s var(--ease),box-shadow 0.3s var(--ease)}.cp-community-pup-img:hover{transform:rotate(0deg);box-shadow:0 12px 32px rgba(44,26,10,0.28),0 2px 8px rgba(44,26,10,0.14)}.cp-community-pup-info{width:100%;padding:0 1rem 1.2rem}.cp-community-pup-caption{text-align:center;font-size:1rem;color:rgba(44,26,10,0.85);font-weight:700;padding-bottom:0.6rem;letter-spacing:0.01em}.cp-pup-submitted{display:block;font-size:0.75rem;font-weight:400;color:rgba(44,26,10,0.5);font-style:italic;margin-top:2px}.cp-pup-tags{display:flex;flex-direction:column;gap:5px}.cp-pup-tag{font-size:0.75rem;color:rgba(44,26,10,0.7);line-height:1.4}.cp-pup-tag-label{font-weight:700;color:var(--orange);font-style:normal;margin-right:4px;font-size:0.6875rem;letter-spacing:0.04em;text-transform:uppercase}.cp-about{background:var(--tan);padding:clamp(56px,7vw,96px) 80px;overflow:hidden;position:relative}.cp-about-two-col{display:flex;align-items:flex-start;gap:clamp(40px,6vw,64px);max-width:780px;margin:0 auto}.cp-about-photo{flex:0 0 clamp(220px,28%,300px);align-self:stretch}.cp-about-img{width:100%;height:100%;display:block;border-radius:20px;object-fit:cover;object-position:center 40%;box-shadow:0 6px 28px rgba(44,26,10,0.14)}.cp-about-inner{flex:1;text-align:left}.cp-about-inner .sec-lbl{display:block;margin-bottom:14px}.cp-about-inner .sec-h{margin-bottom:28px}.cp-about-inner p{color:rgba(44,26,10,0.82);font-size:clamp(15px,1.6vw,17px);line-height:1.8;margin-bottom:16px}.cp-about-inner p:last-child{margin-bottom:0}.cp-social-section{background:var(--tan);padding:clamp(48px,6vw,72px) 80px}.cp-social-intro{max-width:560px;margin:0 auto 40px;text-align:center}.cp-social-section .sec-h{font-size:clamp(32px,4vw,52px);margin-bottom:0;color:var(--dark)}.cp-social-sub{font-size:clamp(14px,1.4vw,16px);color:rgba(44,26,10,0.65);line-height:1.75;margin-top:12px}.cp-social-grid{display:grid;grid-template-columns:repeat(3,minmax(280px,340px));justify-content:center;gap:36px;max-width:1200px;margin:0 auto;padding:clamp(24px,3vw,36px) clamp(16px,3vw,40px)}.cp-social-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:1.4rem clamp(1rem,1.6vw,1.4rem) clamp(1.1rem,1.8vw,1.5rem);border-radius:20px;text-decoration:none;background:rgba(255,255,255,0.55);border:1px solid rgba(180,130,80,0.2);box-shadow:0 4px 20px rgba(44,26,10,0.08);transition:transform 0.28s var(--ease),box-shadow 0.28s var(--ease),border-color 0.28s var(--ease),background 0.28s var(--ease)}.cp-social-card:hover,.cp-social-card:focus-visible{transform:translateY(-3px);background:rgba(255,250,242,0.98);border-color:rgba(220,130,25,0.22);box-shadow:0 12px 36px rgba(44,26,10,0.13)}.cp-social-icon{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:0.65rem;border-radius:14px;background:rgba(180,130,80,0.10);box-shadow:inset 0 1px 0 rgba(255,255,255,0.65),0 12px 28px rgba(105,66,28,0.07)}.cp-social-icon svg{width:26px;height:26px;stroke:#dc7f16;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.cp-social-card:hover .cp-social-icon svg,.cp-social-card:focus-visible .cp-social-icon svg{stroke:#b56510}.cp-social-card h3{margin:0 0 0.75rem;color:var(--dark);font-family:var(--font-display);font-size:clamp(1.05rem,1.4vw,1.25rem);font-weight:400;line-height:1.1;letter-spacing:-0.01em}.cp-social-card p{color:rgba(44,26,10,0.65);font-size:clamp(0.8rem,1.1vw,0.88rem);line-height:1.45;text-wrap:balance;text-align:center}.cp-engage-section{background:var(--oat);padding:clamp(48px,6vw,80px) 24px}.cp-engage-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch}.cp-newsletter-card,.cp-poll-card{background:var(--cream);border-radius:20px;border:1px solid rgba(180,130,80,0.15);box-shadow:0 4px 16px rgba(44,26,10,0.07);padding:clamp(28px,4vw,44px);display:flex;flex-direction:column}.cp-newsletter-card .sec-h,.cp-poll-card .sec-h{font-size:clamp(22px,2.8vw,34px);color:var(--dark);margin-bottom:12px;line-height:1.1}.cp-newsletter-sub{color:rgba(44,26,10,0.7);line-height:1.7;margin:12px 0 28px}.cp-newsletter-field{display:flex;gap:10px;flex-wrap:wrap}.cp-newsletter-field input[type="email"]{flex:1;min-width:0;padding:14px 18px;border-radius:999px;border:1.5px solid rgba(180,130,80,0.35);background:var(--oat);color:var(--dark);font-size:0.9375rem;font-family:inherit;outline:none}.cp-newsletter-field input[type="email"]::placeholder{color:rgba(44,26,10,0.4)}.cp-newsletter-field button{padding:14px 24px;border-radius:999px;border:none;background:var(--orange);color:var(--cream);font-weight:700;font-size:0.9375rem;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background 0.22s var(--ease),transform 0.22s var(--ease),box-shadow 0.22s var(--ease)}.cp-newsletter-field button:hover{background:#f0922a;transform:translateY(-1px);box-shadow:0 4px 14px rgba(232,128,28,0.3)}.cp-newsletter-field button:active{transform:scale(0.97);box-shadow:none}.cp-newsletter-legal{margin-top:12px;font-size:0.8125rem;color:rgba(44,26,10,0.5)}.cp-newsletter-error{min-height:1.2em;margin-top:8px;font-size:0.8125rem;color:#c05030;font-weight:600}.cp-newsletter-field input[type="email"].is-invalid{border-color:#c05030}.cp-poll-options{display:flex;flex-direction:column;gap:10px}.cp-poll-btn{width:100%;padding:14px 20px;border-radius:14px;border:1.5px solid rgba(180,130,80,0.35);background:var(--oat);color:var(--dark);font-size:0.9375rem;font-weight:500;font-family:inherit;cursor:pointer;text-align:left;box-shadow:inset 0 1px 0 rgba(255,255,255,0.55);transition:background 0.22s var(--ease),border-color 0.22s var(--ease),transform 0.15s var(--ease),box-shadow 0.22s var(--ease)}.cp-poll-btn:hover{background:var(--tan);border-color:var(--orange);box-shadow:inset 0 1px 0 rgba(255,255,255,0.55),0 3px 12px rgba(232,128,28,0.13)}.cp-poll-btn:active{transform:scale(0.98);box-shadow:inset 0 1px 0 rgba(255,255,255,0.55)}.cp-poll-btn:disabled{cursor:default}.cp-poll-btn:disabled:not(.cp-poll-btn--voted):hover{background:var(--oat);border-color:rgba(180,130,80,0.3);transform:none;box-shadow:inset 0 1px 0 rgba(255,255,255,0.55)}.cp-poll-btn--voted{background:var(--orange);color:var(--cream);border-color:var(--orange);cursor:default;box-shadow:none}.cp-poll-btn--voted:hover{background:var(--orange);border-color:var(--orange);transform:none;box-shadow:none}.cp-poll-btn--locked{opacity:0.45;cursor:default}.cp-poll-thanks{font-size:0.875rem;color:var(--dark);margin-top:16px;margin-bottom:12px}.cp-poll-bar-row{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.cp-poll-bar-meta{display:flex;justify-content:space-between;align-items:flex-end;gap:8px}.cp-poll-bar-label{font-size:0.875rem;color:var(--dark);font-weight:600}.cp-poll-bar-track{width:100%;height:10px;background:rgba(44,26,10,0.1);border-radius:999px;overflow:hidden}.cp-poll-bar-fill{height:100%;background:var(--orange);border-radius:999px;transition:width 0.6s cubic-bezier(.22,.75,.2,1)}.cp-poll-bar-pct{font-size:0.8125rem;color:rgba(44,26,10,0.65);flex-shrink:0}.contact{background:var(--tan);padding:clamp(40px,5.5vw,68px) 80px}.contact-simple{max-width:600px;margin:0 auto;text-align:center}.contact-simple .sec-lbl{display:block;margin-bottom:9px}.contact-simple h2{margin-bottom:14px;color:var(--dark)}.contact-simple-sub{font-size:0.9375rem;font-weight:300;line-height:1.75;color:rgba(44,26,10,0.75)}.contact-socials{display:flex;justify-content:center;gap:20px;margin-top:24px}.contact-socials a{width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(180,130,80,0.25);background:var(--oat);display:flex;align-items:center;justify-content:center;color:#4b2e1f}.contact-socials a:hover{border-color:var(--orange);color:var(--orange);transform:translateY(-2px);box-shadow:0 4px 14px rgba(232,128,28,0.25)}.cp-footer{background:var(--dark);padding:44px 24px 36px;position:relative}.cp-footer-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}.cp-footer-logo{width:60px;height:57px;margin-bottom:18px}.cp-footer-legal{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;margin-bottom:18px}.cp-footer-legal a,.cp-footer-legal button{background:none;border:none;padding:0;cursor:pointer;font-family:inherit;color:rgba(245,237,216,0.82);font-size:0.8125rem;transition:color 0.2s ease}.cp-footer-legal a:hover,.cp-footer-legal button:hover{color:rgba(245,237,216,1)}.cp-footer-legal button[aria-expanded="true"]{color:var(--orange)}.cp-footer-socials{display:flex;gap:14px;margin-bottom:14px}.cp-footer-socials a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,0.07);color:rgba(245,237,216,0.7);display:flex;align-items:center;justify-content:center}.cp-footer-socials a:hover{background:var(--orange);transform:translateY(-2px);box-shadow:0 4px 16px rgba(232,128,28,0.35);color:var(--cream)}.cp-footer-copy{color:rgba(245,237,216,0.78);font-size:0.8125rem}.cookie-banner{position:fixed;left:18px;right:18px;bottom:max(18px,env(safe-area-inset-bottom));z-index:1200;display:flex;gap:18px;align-items:center;justify-content:space-between;max-width:980px;margin:0 auto;padding:16px 18px;border:1px solid rgba(255,255,255,0.18);border-radius:20px;background:rgba(53,38,24,0.96);color:var(--cream);box-shadow:0 16px 48px rgba(0,0,0,0.24);backdrop-filter:blur(6px);transform:translateY(120%);opacity:0;transition:transform 0.42s cubic-bezier(0.34,1.56,0.64,1),opacity 0.35s ease}.cookie-banner.is-visible{transform:translateY(0);opacity:1}.cookie-banner.is-hiding{transform:translateY(120%);opacity:0;transition:transform 0.3s ease-in,opacity 0.25s ease-in}.cookie-banner[hidden]{display:none}.cookie-banner strong{display:block;font-family:var(--font-serif);font-size:1rem;margin-bottom:4px}.cookie-banner p{margin:0;font-size:0.8125rem;line-height:1.55;color:rgba(245,237,216,0.8)}.cookie-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.cookie-actions a{font-size:0.8125rem;color:var(--cream);text-decoration:underline;text-underline-offset:3px}.cookie-actions button{border:none;border-radius:999px;background:var(--orange);color:var(--charcoal);font-family:var(--font-body);font-weight:700;padding:10px 16px;cursor:pointer;transition:background 0.2s var(--ease),transform 0.15s var(--ease)}.cookie-actions button:hover{background:#d4721a}.cookie-actions button:active{transform:scale(0.97)}.legal-hero{background:var(--oat);padding:clamp(80px,12vw,140px) 80px clamp(40px,5vw,64px);text-align:center}.legal-hero .sec-lbl{display:block;margin-bottom:14px}.legal-hero h1{font-family:var(--font-display);font-size:clamp(38px,5vw,64px);font-weight:400;line-height:1.05;color:var(--charcoal);margin-bottom:10px}.legal-hero p{color:var(--taupe);font-size:14px}.legal-body{background:var(--cream);padding:clamp(48px,6vw,80px) 80px clamp(64px,9vw,120px)}.legal-content{max-width:700px;margin:0 auto;color:rgba(44,26,10,0.82);font-size:15px;line-height:1.75}.legal-content h2{font-family:var(--font-display);font-size:clamp(20px,2.5vw,26px);font-weight:400;letter-spacing:-0.01em;color:var(--charcoal);margin:2rem 0 0.6rem}.legal-content h2:first-child{margin-top:0}.legal-content p{margin-bottom:0.85rem}.legal-content ul{padding-left:1.4rem;margin-bottom:0.85rem}.legal-content li{margin-bottom:0.4rem}.legal-content a{color:var(--orange);border-bottom:1px solid rgba(185,95,20,0.3)}.legal-content a:hover{border-color:var(--orange)}body.homepage{background:var(--oat);color:var(--dark)}body.homepage .hero{overflow:visible}body.homepage .hero-body{padding:0 80px 64px;color:var(--cream)}body.homepage .hero h1{color:var(--cream)}body.homepage .hiw{background:var(--oat);padding-top:var(--section-pad);padding-bottom:var(--section-pad)}body.homepage .cp-about{background:var(--sand);padding-top:var(--section-pad);padding-bottom:var(--section-pad)}body.homepage .cp-community-section{background:var(--sand)}body.homepage .cp-engage-section{background:var(--oat)}body.homepage .cp-poll-solo{background:var(--oat)}body.homepage .cp-newsletter-solo{background:var(--sand)}body.homepage .cp-section-ornament{background:var(--sand)}body.homepage .cp-meet-dogs{background:var(--sand)}body.homepage .cp-footer{background:var(--dark)}body.homepage .cp-community-section .sec-h{color:var(--dark)}body.homepage .cp-community-sub{color:rgba(44,26,10,0.75)}body.homepage .cp-community-card{background:var(--tan);border-color:rgba(180,130,80,0.25)}.hero-h1-enter,.hero-sub-enter,.hero-btns-enter{opacity:0;transform:translateY(22px);animation:heroFadeUp 1.1s cubic-bezier(0.16,1,0.3,1) forwards}.hero-h1-enter{animation-delay:0.55s}.hero-sub-enter{animation-delay:0.82s}.hero-btns-enter{animation-delay:1.08s}@keyframes heroFadeUp{to{opacity:1;transform:translateY(0)}}.cp-social-card-r{opacity:0;transform:translateY(16px);transition:opacity 1.0s cubic-bezier(0.16,1,0.3,1),transform 1.0s cubic-bezier(0.16,1,0.3,1)}.cp-social-card-r.in{opacity:1;transform:translateY(0)}.cp-social-card-r:nth-child(2){transition-delay:0.1s}.cp-social-card-r:nth-child(3){transition-delay:0.2s}.cp-community-pup-img{transform:translateY(-14px) rotate(3deg);transition:transform 0s}.cp-community-card.pup-landed .cp-community-pup-img{transform:translateY(0) rotate(1.5deg);transition:transform 0.9s cubic-bezier(0.34,1.56,0.64,1)}.cp-community-card.pup-landed .cp-community-pup-img:hover{transform:translateY(0) rotate(0deg);transition:transform 0.3s var(--ease)}.cp-about-photo-r{opacity:0;transform:translateX(-24px);transition:opacity 1.1s cubic-bezier(0.16,1,0.3,1),transform 1.1s cubic-bezier(0.16,1,0.3,1)}.cp-about-inner-r{opacity:0;transform:translateX(24px);transition:opacity 1.1s 0.18s cubic-bezier(0.16,1,0.3,1),transform 1.1s 0.18s cubic-bezier(0.16,1,0.3,1)}.cp-about-photo-r.in,.cp-about-inner-r.in{opacity:1;transform:translateX(0)}.cp-engage-card-r{opacity:0;transform:translateY(16px);transition:opacity 1.0s cubic-bezier(0.16,1,0.3,1),transform 1.0s cubic-bezier(0.16,1,0.3,1)}.cp-engage-card-r.in{opacity:1;transform:translateY(0)}.cp-engage-card-r:nth-child(2){transition-delay:0.12s}@keyframes dogAmbient{0%{transform:scale(1.04) translateY(0px)}50%{transform:scale(1.02) translateY(-3px)}100%{transform:scale(1.04) translateY(0px)}}.cp-dog-img{transform:scale(1.08)}.cp-dog-card.img-settled .cp-dog-img{animation:dogAmbient 30s ease-in-out infinite}.cp-dog-card.img-settled:hover .cp-dog-img{animation:none;transform:scale(1.03);transition:transform 0.65s var(--ease)}@keyframes logoWag{0%{transform:rotate(0deg)}20%{transform:rotate(-10deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-7deg)}80%{transform:rotate(5deg)}100%{transform:rotate(0deg)}}@media (hover:hover){.cp-brand-logo:hover .cp-logo-img,.cp-brand-logo:hover img{animation:logoWag 0.55s ease both}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero-h1-enter,.hero-sub-enter,.hero-btns-enter{animation:none;opacity:1;transform:none}.cp-social-card-r,.cp-about-photo-r,.cp-about-inner-r,.cp-engage-card-r{opacity:1;transform:none;transition:none}.cp-community-pup-img{transform:rotate(1.5deg)}.tt-teaser-img{animation:none;transform:none}.tt-teaser::before,.tt-teaser::after{animation:none}}@media (max-width:1180px){#hdr{padding:0 22px}.cp-premium-nav{width:min(calc(100vw - 46px),2180px);padding-left:24px}.cp-premium-links{gap:16px}.cp-nav-link{padding:9px 10px}}@media (max-width:1024px){.hero-body{padding:0 48px 72px}.contact{padding:clamp(38px,5vw,56px) 48px}.hiw{padding:clamp(32px,5vw,54px) 48px clamp(38px,5.5vw,62px)}}@media (max-width:940px){#hdr{padding:0 14px;top:16px}.cp-premium-nav{width:min(calc(100vw - 28px),2180px);min-height:68px;padding:8px 13px 8px 18px;border-radius:27px}.cp-premium-links{position:absolute;top:calc(100% + 8px);left:0;right:0;display:flex;flex-direction:column;align-items:stretch;padding:12px;border-radius:22px;background:var(--cream);border:1px solid rgba(180,140,90,0.25);box-shadow:0 16px 40px rgba(44,26,10,0.14);opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity 0.25s var(--ease),transform 0.25s var(--ease)}.cp-premium-links.is-open{opacity:1;pointer-events:auto;transform:translateY(0);z-index:999}.cp-premium-links.is-open .cp-nav-link{color:var(--dark);font-size:0.9375rem}.cp-premium-links.is-open .cp-nav-link:hover{background:rgba(44,26,10,0.07);color:var(--dark)}.cp-nav-link{justify-content:center;min-height:46px}.hamburger{display:inline-flex}}@media (max-width:768px){html{scroll-padding-top:80px}#hdr{top:8px;padding:0 16px}.hero-body{padding:0 26px 80px}.hero h1{font-size:clamp(42px,5.5vw,76px)}.hero-sub{max-width:100%}.hero-btns{flex-direction:column;align-items:flex-start}body.homepage .hero-body{padding:96px 26px 44px}.hiw{padding:38px 28px}.cp-games-grid{grid-template-columns:1fr;gap:20px}.cp-games-stack{gap:20px}.cp-social-section{padding:44px 24px}.cp-social-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%;gap:16px}.cp-community-section{padding:44px 24px}.cp-community-inner{grid-template-columns:1fr;gap:32px}.cp-community-card{min-height:180px}.cp-about{padding:48px 28px}.cp-about-two-col{flex-direction:column}.cp-about-photo{flex:none;width:100%;max-width:420px;align-self:auto;margin:0 auto}.cp-about-img{height:340px}.cp-about-inner{text-align:center}.cp-engage-section{padding:44px 24px}.cp-engage-inner{grid-template-columns:1fr}.contact{padding:38px 28px}.contact-socials{margin-top:20px}.cp-footer{padding:32px 24px 28px}.cookie-banner{flex-direction:column;align-items:flex-start}.cookie-actions{width:100%;justify-content:space-between}.cp-pup-tags{padding-bottom:14px}.cp-community-pup-info{padding-bottom:14px}.legal-hero{padding:clamp(80px,12vw,140px) 28px clamp(40px,5vw,64px)}.legal-body{padding:clamp(48px,6vw,80px) 28px clamp(64px,9vw,120px)}.reveal{transition-duration:0.9s}}@media (max-width:640px){.cp-social-grid{grid-template-columns:1fr}}@media (max-width:560px){#hdr{padding:0 8px}.cp-premium-nav{width:calc(100vw - 18px);min-height:64px;padding:7px 11px 7px 15px;border-radius:25px}}@media (max-width:480px){.hiw,.contact{padding-top:34px;padding-bottom:34px}.tt-teaser{padding:40px 24px}.cp-community-section{padding:36px 24px}.cp-social-section{padding-top:36px;padding-bottom:36px}.cp-engage-section{padding:36px 24px}.cp-about{padding:40px 24px}.cp-meet-dogs{padding:36px 24px 52px}.cp-newsletter-card,.cp-poll-card{padding:24px}.cp-newsletter-field{flex-direction:column}.cp-newsletter-field button{width:100%}}@media print{.hamburger,#hdr,.hero-vid,.hero-art,.hero-overlay{display:none}.hero{height:auto;min-height:0;background:var(--cream)}.hero-body{color:var(--charcoal);padding:20px}body{background:var(--oat);color:black}}.pd-card-head{padding:28px 28px 0;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px}.pd-card-kicker{font-size:0.6875rem;font-weight:700;letter-spacing:0.28em;text-transform:uppercase;color:var(--orange);display:block;margin-bottom:6px}.pd-card-title{font-family:var(--font-display);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:400;letter-spacing:-0.01em;color:#ffffff;margin:0 0 6px}.pd-card-sub{font-size:0.875rem;color:rgba(245,237,216,0.6);line-height:1.6;margin:0;max-width:280px}.pd-grid-wrap{padding:20px 28px 0;perspective:600px}.pd-grid-tilt{transform:rotateX(18deg) rotateY(-8deg);transform-style:preserve-3d;display:inline-block;width:100%}.pd-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;max-width:240px;margin:0 auto}.pd-cell{aspect-ratio:1;border-radius:6px;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:clamp(0.9rem,1.8vw,1.2rem);font-weight:400}.pd-cell--green{background:#5a7a4a;color:#fff;box-shadow:0 4px 0 #3a5a2a,0 5px 8px rgba(0,0,0,0.3)}.pd-cell--amber{background:#b8762a;color:#fff;box-shadow:0 4px 0 #8a5618,0 5px 8px rgba(0,0,0,0.3)}.pd-cell--used{background:#3a2c1e;color:rgba(245,237,216,0.5);box-shadow:0 4px 0 var(--charcoal),0 5px 8px rgba(0,0,0,0.3)}.pd-cell--empty{background:rgba(255,255,255,0.05);border:1px solid rgba(245,237,216,0.08);box-shadow:0 4px 0 rgba(0,0,0,0.2)}.pd-leaderboard{padding:56px 28px 28px;flex:1;display:flex;flex-direction:column}.pd-leaderboard-label{font-size:0.6875rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--orange);margin:0 0 12px}#hp-leaderboard{display:flex;flex-direction:column;gap:8px}.pd-leaderboard-loading{color:rgba(245,237,216,0.3);font-size:0.8rem;font-style:italic;font-family:var(--font-display)}.pd-play-btn{margin-top:auto;padding-top:18px;display:block;text-align:center;text-decoration:none;font-size:0.8125rem}.pd-streak{text-align:center;margin:12px 0 4px;min-height:28px}.pd-streak-inner{display:inline-flex;align-items:center;gap:7px;background:rgba(196,147,90,0.1);border:1px solid rgba(196,147,90,0.25);border-radius:100px;padding:5px 14px;animation:streakPop 0.4s cubic-bezier(0.175,0.885,0.32,1.275) both}@keyframes streakPop{from{opacity:0;transform:scale(0.85)}to{opacity:1;transform:scale(1)}}.pd-streak-flame{font-size:1rem}.pd-streak-count{font-family:var(--font-serif);font-size:1rem;color:#c4935a}.pd-streak-label{font-family:var(--font-body);font-size:0.75rem;color:rgba(245,237,216,0.6);letter-spacing:0.05em}.cp-section-ornament{background:var(--sand);display:flex;align-items:center;justify-content:center;gap:18px;padding:48px 80px 0}.cp-orn-line{flex:1;max-width:140px;height:1px;background:rgba(122,95,58,0.22)}.cp-orn-dots{display:flex;gap:6px;align-items:center}.cp-orn-dots span{display:block;width:4px;height:4px;border-radius:50%;background:rgba(122,95,58,0.38)}.cp-meet-dogs{background:var(--sand);padding:clamp(32px,4vw,48px) clamp(20px,6vw,80px) clamp(56px,7vw,96px)}.cp-meet-dogs-inner{max-width:1100px;margin:0 auto}.cp-meet-dogs-header{text-align:center;margin-bottom:clamp(40px,5vw,64px)}.cp-meet-dogs-sub{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(1rem,1.8vw,1.2rem);color:rgba(53,38,24,0.68);max-width:520px;margin:0 auto;line-height:1.75}.cp-dogs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}@media (max-width:700px){.cp-dogs-grid{grid-template-columns:1fr;gap:24px}}.cp-dog-card{background:var(--cream);border-radius:16px;border:1px solid rgba(180,130,80,0.15);box-shadow:0 4px 16px rgba(44,26,10,0.08);overflow:hidden;display:flex;flex-direction:column;transition:transform 0.3s var(--ease),box-shadow 0.3s var(--ease)}.cp-dog-img-wrap{width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--oat)}.cp-dog-img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}.cp-dog-card:nth-child(1) .cp-dog-img{object-position:65% 40%;transform:scale(0.82);transform-origin:center center}.cp-dog-card:nth-child(2) .cp-dog-img{object-position:center 62%}.cp-dog-card:nth-child(3) .cp-dog-img{object-position:center 30%}.cp-dog-card:nth-child(4) .cp-dog-img{object-position:center 45%}.cp-dog-body{padding:22px 24px 26px}.cp-dog-num{font-family:var(--font-body);font-size:0.6875rem;font-weight:500;letter-spacing:0.28em;color:rgba(196,147,90,0.75);display:block;margin-bottom:6px}.cp-dog-name{font-family:var(--font-display);font-size:clamp(1.6rem,2.5vw,2rem);font-weight:400;letter-spacing:-0.01em;color:var(--dark);margin:0 0 2px;line-height:1}.cp-dog-breed{font-family:var(--font-body);font-size:0.75rem;font-weight:500;letter-spacing:0.28em;text-transform:uppercase;color:var(--orange);margin:0 0 14px}.cp-dog-desc{font-family:var(--font-display);font-weight:400;font-size:clamp(1rem,1.5vw,1.1rem);color:rgba(53,38,24,0.78);line-height:1.8;margin:0}.tt-teaser-bridge{height:0;display:block}.tt-teaser{background:var(--dark);padding:clamp(48px,6vw,80px) clamp(20px,6vw,80px);position:relative;overflow:hidden}.tt-teaser-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:center}@media (max-width:700px){.tt-teaser-inner{grid-template-columns:1fr}.tt-teaser-img-wrap{order:-1}}.tt-teaser-text .sec-lbl{color:var(--orange)}.tt-teaser-heading{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:400;color:var(--cream);line-height:1.15;letter-spacing:-0.015em;margin:0 0 16px}.tt-teaser-heading em{color:var(--orange);font-style:italic}.tt-teaser-sub{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(1rem,1.6vw,1.15rem);color:rgba(245,237,216,0.92);line-height:1.75;margin:0 0 28px}.tt-teaser-img-wrap{border-radius:20px;overflow:hidden;box-shadow:0 16px 48px rgba(0,0,0,0.32)}.tt-teaser-img{width:100%;height:100%;object-fit:cover;object-position:center 30%;aspect-ratio:4/3;display:block;animation:ttImgZoom 22s ease-out forwards}#scrollToTop:hover{background:var(--orange);box-shadow:0 6px 20px rgba(232,128,28,0.4)}@media (hover:hover) and (min-width:941px){.cp-nav-link{position:relative;transition:background 0.18s ease}.cp-nav-link:hover{background:rgba(44,26,10,0.055)}.cp-nav-link::after{content:'';position:absolute;bottom:6px;left:10px;right:10px;height:1.5px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform 0.22s var(--ease)}.cp-nav-link:hover::after,.cp-nav-link[aria-current="page"]::after{transform:scaleX(1)}}.cp-nav-cta{display:inline-flex;align-items:center;padding:8px 18px;border-radius:99px;background:var(--dark);color:var(--cream);font-family:var(--font-body);font-size:0.8rem;font-weight:600;letter-spacing:0.045em;text-decoration:none;white-space:nowrap;border:none;cursor:pointer;transition:background 0.2s var(--ease),transform 0.15s var(--ease),box-shadow 0.2s var(--ease)}@media (max-width:940px){}@keyframes navSlideDown{from{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion:no-preference){.cp-premium-nav{animation:navSlideDown 0.38s var(--ease) both;animation-delay:0.15s}}@keyframes ttImgZoom{from{transform:scale(1.06)}to{transform:scale(1.0)}}@keyframes orbDrift{from{transform:translate(0,0)}to{transform:translate(30px,18px)}}@media (prefers-reduced-motion:no-preference){.tt-teaser::before{content:'';position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(196,147,90,0.07) 0%,transparent 70%);top:-80px;left:-60px;pointer-events:none;animation:orbDrift 22s ease-in-out infinite alternate}.tt-teaser::after{content:'';position:absolute;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(232,128,28,0.05) 0%,transparent 70%);bottom:-40px;right:-50px;pointer-events:none;animation:orbDrift 30s ease-in-out infinite alternate-reverse}}.cp-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:140px;background:radial-gradient(ellipse 70% 100% at 50% 0%,rgba(196,147,90,0.08) 0%,transparent 70%);pointer-events:none}.cp-community-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 80% at 75% 50%,rgba(232,128,28,0.06) 0%,transparent 70%);pointer-events:none}.cp-about::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 80% at 25% 50%,rgba(232,128,28,0.06) 0%,transparent 70%);pointer-events:none}.pp-hero-lbl,.pp-hero-title,.pp-hero-sub{opacity:0;transform:translateY(14px);animation:heroFadeUp 1.1s cubic-bezier(0.16,1,0.3,1) forwards}.pp-hero-lbl{animation-delay:0.28s}.pp-hero-title{animation-delay:0.48s}.pp-hero-sub{animation-delay:0.68s}.tt-teaser-text-r{opacity:0;transform:translateY(14px);transition:opacity 1.1s cubic-bezier(0.16,1,0.3,1),transform 1.1s cubic-bezier(0.16,1,0.3,1)}.tt-teaser-img-r{opacity:0;transform:translateY(14px);transition:opacity 1.1s 0.15s cubic-bezier(0.16,1,0.3,1),transform 1.1s 0.15s cubic-bezier(0.16,1,0.3,1)}.tt-teaser-text-r.in,.tt-teaser-img-r.in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.pp-hero-lbl,.pp-hero-title,.pp-hero-sub{animation:none;opacity:1;transform:none}.tt-teaser-text-r,.tt-teaser-img-r{opacity:1;transform:none;transition:none}}.cp-dog-card{transition:transform 0.3s var(--ease),box-shadow 0.3s var(--ease)}.cp-game-card{transition:transform 0.32s var(--ease),box-shadow 0.35s var(--ease)}.cp-community-card{transition:box-shadow 0.3s var(--ease),border-color 0.3s ease}.cp-newsletter-card,.cp-poll-card{transition:box-shadow 0.3s var(--ease)}.cp-dog-img{transition:transform 0.65s var(--ease)}.tt-photo img,.tt-teaser-img-wrap{transition:transform 0.35s var(--ease),box-shadow 0.35s var(--ease)}.cp-about-photo{overflow:hidden;border-radius:20px;box-shadow:0 6px 28px rgba(44,26,10,0.14);transition:box-shadow 0.35s var(--ease)}.cp-about-img{border-radius:0;box-shadow:none;transition:transform 0.65s var(--ease)}.cp-social-icon{transition:transform 0.28s var(--ease),background 0.28s ease,box-shadow 0.28s ease}.conn-card-row{transition:filter 0.2s ease,transform 0.2s var(--ease)}.pp-email-card{transition:transform 0.28s var(--ease),box-shadow 0.28s var(--ease)}.cp-footer-socials a{transition:background 0.28s var(--ease),transform 0.28s var(--ease),box-shadow 0.28s ease,color 0.28s ease}.contact-socials a{transition:border-color 0.28s var(--ease),color 0.28s ease,transform 0.28s var(--ease),box-shadow 0.28s ease,background 0.28s ease}.cp-footer-logo{transition:transform 0.35s var(--ease)}.cp-footer a:has(.cp-footer-logo){display:inline-block;opacity:0.85;transition:opacity 0.2s}.cp-footer a:has(.cp-footer-logo):hover{opacity:1}@media (hover:hover){.cp-dog-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(44,26,10,0.15),0 0 0 1px rgba(196,147,90,0.14)}.cp-dog-card.img-settled:hover .cp-dog-img{animation:none;transform:scale(1.05)}}@media (hover:hover){.cp-game-card:hover{transform:translateY(-3px);box-shadow:0 24px 64px rgba(196,147,90,0.26)}}@media (hover:hover){.tt-card.cp-visible{transition:opacity 0.85s ease,transform 0.3s var(--ease),box-shadow 0.3s ease}.tt-card.cp-visible:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(44,26,10,0.14)}.tt-card:hover .tt-photo img{transform:scale(1.04)}}@media (hover:hover){.tt-teaser-img-wrap:hover{transform:translateY(-3px);box-shadow:0 28px 72px rgba(0,0,0,0.42),0 0 0 1px rgba(196,147,90,0.1)}}@media (hover:hover){.cp-community-card:hover{box-shadow:0 12px 36px rgba(44,26,10,0.13);border-color:rgba(196,147,90,0.4)}}@media (hover:hover){.cp-newsletter-card:hover,.cp-poll-card:hover{box-shadow:0 12px 36px rgba(44,26,10,0.10)}}@media (hover:hover){.pp-email-card:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(44,26,10,0.10)}}@media (hover:hover){.pp-dotw-photo-wrap:hover{transform:scale(1.03)}}@media (hover:hover){.cp-about-photo:hover{box-shadow:0 18px 52px rgba(44,26,10,0.21)}.cp-about-photo:hover .cp-about-img{transform:scale(1.03)}}@media (hover:hover){.cp-social-card:hover .cp-social-icon{transform:scale(1.1);background:rgba(180,130,80,0.18);box-shadow:inset 0 1px 0 rgba(255,255,255,0.7),0 12px 28px rgba(105,66,28,0.09),0 0 0 1.5px rgba(220,127,22,0.18)}}.cp-newsletter-field input[type="email"]{transition:border-color 0.22s ease,box-shadow 0.25s ease,background 0.22s ease}.cp-newsletter-field input[type="email"]:focus{border-color:var(--orange);background:rgba(248,240,226,0.85);box-shadow:0 0 0 4px rgba(232,128,28,0.12),0 1px 6px rgba(196,147,90,0.18)}@media (hover:hover){.cp-footer-logo:hover{animation:logoWag 0.55s ease both}}#scrollToTop{position:fixed;bottom:24px;right:24px;z-index:800;width:44px;height:44px;border-radius:50%;background:var(--dark);border:1px solid rgba(245,237,216,0.2);color:var(--cream);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity 0.3s ease,transform 0.3s ease,background 0.22s ease,box-shadow 0.22s ease}@media (prefers-reduced-motion:reduce){.cp-dog-img,.tt-photo img,.cp-about-img,.tt-teaser-img-wrap,.cp-dog-card,.cp-game-card,.cp-community-card,.cp-newsletter-card,.cp-poll-card,.cp-social-icon,.conn-card-row,.cp-footer-logo,.cp-footer-socials a,.contact-socials a,.pp-email-card,.cp-newsletter-field input[type="email"]{transition:none}.cp-dog-card:hover,.cp-game-card:hover,.tt-card.cp-visible:hover,.tt-teaser-img-wrap:hover,.pp-email-card:hover{transform:none}.cp-dog-card.img-settled .cp-dog-img,.cp-dog-card.img-settled:hover .cp-dog-img{animation:none;transform:scale(1.0)}}.cp-meet-dogs{position:relative}.cp-meet-dogs::before{display:none}.cp-social-section{position:relative}.cp-social-section::before{content:'';position:absolute;inset:0;background:radial-gradient(
ellipse 60% 60% at 50% 50%,rgba(232,128,28,0.042) 0%,transparent 65%
);pointer-events:none}.contact{position:relative}.contact::before{content:'';position:absolute;inset:0;background:radial-gradient(
ellipse 45% 65% at 50% 50%,rgba(196,147,90,0.06) 0%,transparent 65%
);pointer-events:none}.cp-wave-inline{filter:none}@media (prefers-reduced-motion:reduce){}.cp-nav-dropdown-menu::before{content:'';display:block;position:absolute;top:0;left:0;right:0;height:10px}.cp-nav-dropdown-menu-inner,.cp-nav-dropdown-menu > a,.cp-nav-dropdown-menu > span,.cp-nav-dropdown-menu > div.cp-nav-dest-divider{}.cp-nav-dropdown-menu{background:var(--cream);border:1px solid rgba(180,140,90,0.25);border-radius:14px;padding:6px;min-width:230px;box-shadow:0 6px 28px rgba(44,26,10,0.13)}.cp-dest-dropdown{min-width:260px}.cp-games-menu{min-width:210px}.cp-nav-dest-link{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;color:var(--dark);font-size:13px;font-family:var(--font-body);font-weight:500;border-radius:9px;text-decoration:none;transition:background 0.12s;cursor:pointer}.cp-nav-dest-link:hover{background:rgba(44,26,10,0.07);color:var(--dark)}.cp-dest-flag{font-size:15px;flex-shrink:0;line-height:1.4}.cp-dest-info{display:flex;flex-direction:column;gap:1px}.cp-dest-city{font-size:13px;font-weight:600;color:var(--dark)}.cp-dest-sub{font-size:11px;font-weight:400;color:rgba(44,26,10,0.5);line-height:1.3}.cp-game-name{display:block;font-size:13px;font-weight:600;color:var(--dark)}.cp-beta-tag{display:inline-block;font-size:8px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#fff;background:var(--orange);padding:1px 5px;border-radius:999px;margin-left:5px;vertical-align:1px;line-height:1.4}.cp-game-current .cp-game-name,.cp-game-current{color:var(--orange)}.cp-games-active > button{color:var(--orange)}.cp-nav-dest-disabled{color:rgba(44,26,10,0.3);cursor:default;pointer-events:none}.cp-nav-dest-divider{height:1px;background:rgba(44,26,10,0.1);margin:4px 8px}.cp-mobile-dest-list,.cp-mobile-games-list{display:none}.cp-mobile-teddy-toggle{display:none;background:none;border:none;cursor:pointer;padding:4px;color:inherit;align-items:center;justify-content:center;flex-shrink:0}@media (max-width:940px){.cp-nav-dropdown > a svg{display:none}.cp-nav-dropdown-menu{display:none}.cp-mobile-teddy-toggle{display:inline-flex}.cp-mobile-dest-list{display:none}.cp-mobile-games-list{display:none}.cp-nav-dropdown{flex-wrap:nowrap;justify-content:center}.cp-nav-dropdown > a{flex:0 0 auto;justify-content:center}.cp-mobile-teddy-toggle{flex:0 0 auto}.cp-games-dropdown > button{flex:0 0 auto;justify-content:center}}.cp-mobile-dest-list:not([hidden]){display:flex;flex-direction:column}.cp-mobile-games-list:not([hidden]){display:flex;flex-direction:column}.cp-mobile-dest-list a,.cp-mobile-games-list a{display:flex;align-items:center;justify-content:center;text-align:center;gap:10px;padding:9px 12px;font-size:0.875rem;font-family:var(--font-body);font-weight:500;color:var(--dark);text-decoration:none;border-radius:9px;transition:background 0.12s}.cp-mobile-dest-list .cp-dest-info,.cp-mobile-games-list .cp-dest-info{align-items:center;text-align:center}.cp-mobile-dest-list a:hover,.cp-mobile-games-list a:hover{background:rgba(44,26,10,0.07)}.cp-nav-dropdown{position:relative;display:flex;align-items:center}.cp-nav-dropdown-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-6px);z-index:500;min-width:200px;background:var(--cream);border:1px solid rgba(180,140,90,0.25);border-radius:14px;padding:6px;box-shadow:0 6px 28px rgba(44,26,10,0.13);opacity:0;pointer-events:none;transition:opacity 0.18s ease,transform 0.18s ease}.cp-nav-dropdown-menu::before{content:'';position:absolute;bottom:100%;left:0;right:0;height:12px}.cp-nav-dropdown:hover .cp-nav-dropdown-menu,.cp-nav-dropdown.is-open .cp-nav-dropdown-menu{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}.cp-nav-dest-link{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;color:var(--dark);font-size:13px;font-family:var(--font-body);font-weight:500;border-radius:9px;text-decoration:none;transition:background 0.12s;cursor:pointer}.cp-nav-dest-link:hover{background:rgba(44,26,10,0.07);color:var(--dark)}.cp-nav-dest-disabled{color:rgba(44,26,10,0.3);cursor:default;pointer-events:none}.cp-nav-dest-divider{height:1px;background:rgba(44,26,10,0.1);margin:4px 8px}@media (max-width:940px){.cp-nav-dropdown-menu{display:none}}.game-card-head{padding:28px 28px 0}.game-card-head--compact{padding:24px 28px 14px}.game-card-kicker{font-size:0.6875rem;font-weight:700;letter-spacing:0.28em;text-transform:uppercase;color:#c4935a;display:block;margin-bottom:6px}.game-card-title{font-family:var(--font-display);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:400;letter-spacing:-0.01em;color:var(--cream);margin:0 0 6px}.game-card-sub{font-size:0.875rem;color:rgba(245,237,216,0.6);line-height:1.6;margin:0}.game-card-foot{padding:20px 28px 28px}.cp-game-info-head{padding:28px 28px 0}.cp-game-info-head--compact{padding:24px 28px 14px}.cp-game-info-kicker{font-size:0.6875rem;font-weight:700;letter-spacing:0.28em;text-transform:uppercase;color:var(--orange);display:block;margin-bottom:6px}.cp-game-info-title{font-family:var(--font-display);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:400;color:#ffffff;margin:0 0 6px}.cp-game-info-sub{font-size:0.875rem;color:rgba(245,237,216,0.6);line-height:1.6;margin:0}.cp-game-info-foot{padding:20px 28px 28px}@media (prefers-reduced-motion:reduce){.hero-vid{opacity:1;transition:none}.cookie-banner{transform:none;opacity:1;transition:none}.cookie-banner.is-hiding{transform:none;opacity:0;transition:opacity 0.15s ease}.cp-premium-links{transition:none}.cp-dog-name{transition:none}.cp-game-card .pd-cell{opacity:1;animation:none}.cp-dog-card.img-settled .cp-dog-img{animation:none;transform:scale(1.02)}}.cp-dog-cta{display:inline-block;margin-top:16px;font-size:0.8125rem;font-weight:600;letter-spacing:0.04em;color:var(--orange);text-decoration:none;border-bottom:1px solid rgba(232,128,28,0.3);padding-bottom:1px;transition:border-color 0.2s ease,color 0.2s ease}.cp-dog-cta:hover{border-color:var(--orange)}.cp-meet-dogs-footer{text-align:center;margin-top:clamp(32px,4vw,52px)}.cp-newsletter-solo{background:var(--sand);padding:clamp(52px,7vw,96px) 80px}.cp-newsletter-solo-inner{max-width:640px;margin:0 auto;text-align:center}.cp-newsletter-solo .sec-lbl{display:block;margin-bottom:12px}.cp-newsletter-solo .sec-h{margin-bottom:16px;color:var(--dark)}.cp-newsletter-solo .cp-newsletter-sub{margin-bottom:32px}.cp-newsletter-solo .cp-newsletter-form{position:relative}@media (max-width:768px){.cp-newsletter-solo{padding:44px 24px}}.cp-poll-solo{background:var(--oat);padding:clamp(48px,6vw,80px) 24px}.cp-poll-solo-inner{max-width:600px;margin:0 auto}.cp-community-card--invite{display:flex;align-items:center;justify-content:center;min-height:320px;border:2px dashed rgba(180,130,80,0.35);background:var(--cream);border-radius:20px}.cp-community-invite{text-align:center;padding:40px 32px;display:flex;flex-direction:column;align-items:center;gap:12px}.cp-invite-paw{font-size:48px;line-height:1;margin-bottom:4px;opacity:0.75}.cp-invite-headline{font-family:var(--font-display);font-size:clamp(22px,3vw,30px);font-weight:400;color:var(--dark);margin:0;line-height:1.2}.cp-invite-sub{font-size:0.9rem;color:rgba(44,26,10,0.65);line-height:1.7;max-width:300px;margin:0}.cp-invite-sub a{color:var(--orange);border-bottom:1px solid rgba(232,128,28,0.35);padding-bottom:1px}.cp-community-card--dog{overflow:hidden;border-radius:20px;background:var(--cream);display:flex;flex-direction:column;align-items:stretch;padding-top:0;border:1px solid rgba(180,130,80,0.2)}.cp-dotw-home-img-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:20px 20px 0 0}.cp-dotw-home-img{width:100%;height:100%;object-fit:cover;object-position:42% 72%;display:block;transition:transform 0.4s ease}.cp-community-card--dog:hover .cp-dotw-home-img{transform:scale(1.03)}.cp-dotw-home-badge{position:absolute;top:12px;left:12px;background:var(--orange);color:#fff;font-size:0.7rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;padding:5px 12px;border-radius:99px;box-shadow:0 2px 8px rgba(0,0,0,0.2)}.cp-dotw-home-info{padding:18px 24px 24px 24px;display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left}.cp-dotw-home-name{font-family:var(--font-display);font-size:1.6rem;font-weight:400;color:var(--dark);margin:0;line-height:1.1}.cp-dotw-home-breed{font-size:0.75rem;font-weight:600;color:var(--orange);letter-spacing:0.08em;text-transform:uppercase}.cp-dotw-home-sub{font-size:0.8rem;color:rgba(44,26,10,0.45);margin:4px 0 10px}.cp-dotw-home-link{font-family:var(--font-body);font-size:0.85rem;font-weight:600;color:var(--orange);text-decoration:none;letter-spacing:0.02em;transition:opacity 0.2s}.cp-dotw-home-link:hover{opacity:0.75}.pd-leaderboard-skeleton{display:flex;flex-direction:column;gap:8px;padding:4px 0 8px}.pd-skeleton-row{height:20px;border-radius:6px;background:linear-gradient(90deg,rgba(44,26,10,0.08) 25%,rgba(44,26,10,0.04) 50%,rgba(44,26,10,0.08) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease infinite}.pd-skeleton-row:nth-child(2){width:85%}.pd-skeleton-row:nth-child(3){width:70%}@keyframes skeleton-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@keyframes cpFloatSlow{0%,100%{transform:translateY(0px)}50%{transform:translateY(-6px)}}@keyframes cpBadgePop{0%{transform:scale(0.5) rotate(-8deg);opacity:0}60%{transform:scale(1.12) rotate(2deg);opacity:1}80%{transform:scale(0.95) rotate(-1deg)}100%{transform:scale(1) rotate(0deg);opacity:1}}@keyframes cpPulseRing{0%{box-shadow:0 0 0 0 rgba(232,128,28,0.4)}70%{box-shadow:0 0 0 10px rgba(232,128,28,0)}100%{box-shadow:0 0 0 0 rgba(232,128,28,0)}}@keyframes cpEmGlow{0%,100%{text-shadow:0 0 18px rgba(232,128,28,0.18)}50%{text-shadow:0 0 32px rgba(232,128,28,0.38)}}@keyframes cpConnRowSlide{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:translateX(0)}}@keyframes cpNewsletterFadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (hover:hover){.btn-hero-pri,.btn-hero-sec{position:relative;overflow:hidden}.btn-hero-pri::after,.btn-hero-sec::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,0.18) 0%,transparent 65%);pointer-events:none;opacity:0;transition:opacity 0.3s ease}.btn-hero-pri:hover::after,.btn-hero-sec:hover::after{opacity:1}}.cp-dog-card.reveal:nth-child(1){transition-delay:0.00s}.cp-dog-card.reveal:nth-child(2){transition-delay:0.10s}.cp-dog-card.reveal:nth-child(3){transition-delay:0.20s}.cp-dog-card.reveal:nth-child(4){transition-delay:0.30s}@media (hover:hover){.cp-dog-img-wrap{position:relative}.cp-dog-img-wrap::after{content:'';position:absolute;inset:0;border-radius:0;box-shadow:inset 0 0 0 0px rgba(196,147,90,0);transition:box-shadow 0.35s var(--ease);pointer-events:none;z-index:2}.cp-dog-card:hover .cp-dog-img-wrap::after{box-shadow:inset 0 0 0 3px rgba(196,147,90,0.35)}}.cp-dog-cta .cp-cta-arrow{display:inline-block;transition:transform 0.2s cubic-bezier(0.34,1.56,0.64,1)}@media (hover:hover){.cp-dog-cta:hover .cp-cta-arrow{transform:translateX(5px)}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.tt-teaser-img-wrap{will-change:transform;transition:transform 0.1s linear}}.tt-teaser-heading em{display:inline;transition:opacity 0.5s 0.35s ease,color 0.3s ease}.tt-teaser-text-r:not(.in) .tt-teaser-heading em{opacity:0}.tt-teaser-text-r.in .tt-teaser-heading em{opacity:1}.cp-newsletter-solo-inner .sec-lbl{opacity:0;animation:none}.cp-newsletter-solo-inner.nl-revealed .sec-lbl{animation:cpNewsletterFadeUp 0.7s 0.00s cubic-bezier(0.16,1,0.3,1) both}.cp-newsletter-solo-inner.nl-revealed .sec-h{animation:cpNewsletterFadeUp 0.7s 0.10s cubic-bezier(0.16,1,0.3,1) both}.cp-newsletter-solo-inner.nl-revealed .cp-newsletter-sub{animation:cpNewsletterFadeUp 0.7s 0.20s cubic-bezier(0.16,1,0.3,1) both}.cp-newsletter-solo-inner.nl-revealed .cp-newsletter-form{animation:cpNewsletterFadeUp 0.7s 0.32s cubic-bezier(0.16,1,0.3,1) both}.cp-newsletter-solo-inner .sec-h,.cp-newsletter-solo-inner .cp-newsletter-sub,.cp-newsletter-solo-inner .cp-newsletter-form{opacity:0}.cp-newsletter-field input[type="email"]:focus{box-shadow:0 0 0 3px rgba(232,128,28,0.2),0 0 0 1px rgba(232,128,28,0.5);border-color:var(--orange);outline:none}@media (prefers-reduced-motion:no-preference){.cp-newsletter-field button.nl-idle-pulse{animation:cpPulseRing 2.2s cubic-bezier(0.34,1,0.64,1) 3}}.cp-newsletter-solo{position:relative;overflow:hidden}.conn-card-visual.in-view .conn-card-row:nth-child(1){animation:cpConnRowSlide 0.5s 0.05s cubic-bezier(0.16,1,0.3,1) both}.conn-card-visual.in-view .conn-card-row:nth-child(2){animation:cpConnRowSlide 0.5s 0.15s cubic-bezier(0.16,1,0.3,1) both}.conn-card-visual.in-view .conn-card-row:nth-child(3){animation:cpConnRowSlide 0.5s 0.25s cubic-bezier(0.16,1,0.3,1) both}.conn-card-visual.in-view .conn-card-row:nth-child(4){animation:cpConnRowSlide 0.5s 0.35s cubic-bezier(0.16,1,0.3,1) both}@media (prefers-reduced-motion:no-preference){.pd-play-btn{animation:cpPulseRing 2.8s cubic-bezier(0.34,1,0.64,1) 3 1s}.pd-play-btn:hover{animation:none}}@media (prefers-reduced-motion:no-preference){.hiw .sec-h em{animation:cpEmGlow 3.5s ease-in-out 3}}.cp-dotw-home-badge.badge-popped{animation:cpBadgePop 0.55s cubic-bezier(0.34,1.56,0.64,1) both}.cp-dotw-home-link .cp-cta-arrow{display:inline-block;transition:transform 0.2s cubic-bezier(0.34,1.56,0.64,1)}@media (hover:hover){.cp-dotw-home-link:hover .cp-cta-arrow{transform:translateX(4px)}.cp-dotw-home-link:hover{opacity:1}.cp-community-card--dog:hover{box-shadow:0 16px 48px rgba(196,147,90,0.22),0 4px 12px rgba(44,26,10,0.1);transition:box-shadow 0.35s var(--ease)}}.cp-community-copy.reveal{transition-delay:0s}.cp-community-card.reveal{transition-delay:0.18s}.cp-poll-btn{position:relative;overflow:hidden}.cp-poll-btn::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--orange);transform:scaleY(0);transform-origin:bottom;transition:transform 0.2s cubic-bezier(0.34,1.56,0.64,1)}@media (hover:hover){.cp-poll-btn:not(:disabled):hover::before{transform:scaleY(1)}.cp-poll-btn:not(:disabled):hover{transform:scale(1.018)}}.cp-poll-btn:active:not(:disabled){transform:scale(0.97);transition:transform 0.08s ease}.cp-poll-bar-fill{transition:width 0.75s cubic-bezier(0.22,0.75,0.2,1)}.cp-poll-thanks{opacity:0;transform:translateY(8px);transition:opacity 0.5s ease,transform 0.5s cubic-bezier(0.16,1,0.3,1)}.cp-poll-results:not([hidden]) .cp-poll-thanks{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:no-preference){.cp-about-img{animation:cpFloatSlow 7s ease-in-out infinite}}.cp-about-photo{position:relative}.cp-about-photo::before{content:'';position:absolute;inset:-20px;border-radius:50%;background:radial-gradient(ellipse 70% 80% at 50% 55%,rgba(232,128,28,0.14) 0%,transparent 70%);pointer-events:none;z-index:0}.cp-about-img{position:relative;z-index:1}.cp-about-inner-r.in .cp-about-inner p:nth-child(1){animation:cpNewsletterFadeUp 0.7s 0.30s cubic-bezier(0.16,1,0.3,1) both}.cp-about-inner-r.in .cp-about-inner p:nth-child(2){animation:cpNewsletterFadeUp 0.7s 0.44s cubic-bezier(0.16,1,0.3,1) both}.cp-about-inner-r:not(.in) .cp-about-inner p{opacity:0}@media (prefers-reduced-motion:no-preference){.reveal .sec-lbl{clip-path:inset(0 100% 0 0);opacity:0;transition:clip-path 0.45s 0.05s cubic-bezier(0.16,1,0.3,1),opacity 0.2s 0.05s ease}.reveal.in .sec-lbl{clip-path:inset(0 0% 0 0);opacity:1}}#scrollToTop{transition:opacity 0.4s cubic-bezier(0.34,1.56,0.64,1),transform 0.4s cubic-bezier(0.34,1.56,0.64,1)}@media (prefers-reduced-motion:reduce){.cp-about-img{animation:none}.cp-about-photo::before{animation:none}.pd-play-btn{animation:none}.hiw .sec-h em{animation:none}.cp-wave-inline--sand svg path,.cp-wave-inline--oat svg path{animation:none}.cp-newsletter-solo-inner .sec-lbl,.cp-newsletter-solo-inner .sec-h,.cp-newsletter-solo-inner .cp-newsletter-sub,.cp-newsletter-solo-inner .cp-newsletter-form{opacity:1;animation:none}.reveal .sec-lbl{clip-path:none;opacity:1;transition:none}.cp-poll-thanks{opacity:1;transform:none;transition:none}}@media (prefers-reduced-motion:no-preference) and (hover:hover){.cp-newsletter-field button.nl-idle-pulse{animation:cpPulseRing 2.2s cubic-bezier(0.34,1,0.64,1) 3}}@media (hover:none){.cp-newsletter-field button.nl-idle-pulse{animation:none}}@media (prefers-reduced-motion:no-preference) and (hover:none){.pd-play-btn{animation:none}}.cp-poll-btn{overflow:clip}@media (max-width:768px){.cp-about-img{height:clamp(260px,60vw,340px)}}@media (max-width:480px){.pp-section-nav{justify-content:flex-start;padding-left:4px}}.cp-nav-link:focus-visible{outline:2px solid var(--dark);outline-offset:2px;background:rgba(44,26,10,0.07)}.cp-poll-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(44,26,10,0.35),inset 0 1px 0 rgba(255,255,255,0.55)}:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:4px;box-shadow:0 0 0 4px rgba(232,128,28,0.14)}.tt-teaser:focus-visible,.cp-game-card:focus-visible,.hero:focus-visible{outline-color:var(--orange);box-shadow:0 0 0 4px rgba(232,128,28,0.25)}.pd-leader-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:rgba(255,255,255,0.04);border-radius:10px;border:1px solid rgba(245,237,216,0.07)}.pd-leader-medal{font-size:1rem;flex-shrink:0}.pd-leader-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.pd-leader-name{font-family:var(--font-serif);font-size:0.9rem;color:var(--cream);flex:1}.pd-leader-pts{font-size:0.8rem;color:var(--orange-lt);font-weight:600}.pd-leader-empty{color:rgba(245,237,216,0.3);font-size:0.8rem;font-style:italic;font-family:var(--font-display)}.cp-game-card .cm-prev{opacity:0}.cp-game-card.in .cm-prev{animation:cellDrop .38s cubic-bezier(.34,1.56,.64,1) both}.cp-game-card.in .cm-prev:nth-child(1){animation-delay:.04s}.cp-game-card.in .cm-prev:nth-child(2){animation-delay:.07s}.cp-game-card.in .cm-prev:nth-child(3){animation-delay:.10s}.cp-game-card.in .cm-prev:nth-child(4){animation-delay:.13s}.cp-game-card.in .cm-prev:nth-child(5){animation-delay:.16s}.cp-game-card.in .cm-prev:nth-child(6){animation-delay:.19s}.cp-game-card.in .cm-prev:nth-child(7){animation-delay:.22s}.cp-game-card.in .cm-prev:nth-child(8){animation-delay:.25s}.cp-game-card.in .cm-prev:nth-child(9){animation-delay:.28s}.cp-game-card.in .cm-prev:nth-child(10){animation-delay:.31s}.cp-game-card.in .cm-prev:nth-child(11){animation-delay:.34s}.cp-game-card.in .cm-prev:nth-child(12){animation-delay:.37s}.cp-game-card.in .cm-prev:nth-child(13){animation-delay:.40s}.cp-game-card.in .cm-prev:nth-child(14){animation-delay:.43s}.cp-game-card.in .cm-prev:nth-child(15){animation-delay:.46s}.cp-game-card.in .cm-prev:nth-child(16){animation-delay:.49s}@media(prefers-reduced-motion:reduce){.cp-game-card .cm-prev{opacity:1;animation:none}}

@media(max-width:768px){.cpv2-visual{flex-direction:column;gap:16px;align-items:center;padding:16px 18px 20px}.cpv2-visual>div:first-child{justify-content:center}}

/* ── Anonymous footer feedback ───────────────────────────── */
.cp-feedback{width:min(100%,620px);margin:0 auto 20px}.cp-footer-support-btn{display:inline-flex;align-items:center;gap:8px;border:1.5px solid rgba(232,128,28,.45);border-radius:999px;background:rgba(232,128,28,.14);color:var(--cream);font-family:var(--font-body);font-size:.85rem;font-weight:700;letter-spacing:.03em;padding:12px 26px;text-decoration:none;margin-top:14px;transition:background .22s var(--ease),border-color .22s ease,transform .18s var(--ease),box-shadow .22s ease}.cp-footer-support-btn:hover{background:rgba(232,128,28,.26);border-color:rgba(232,128,28,.7);box-shadow:0 8px 24px rgba(0,0,0,.18);transform:translateY(-1px)}.cp-feedback-panel{overflow:hidden;max-height:0;opacity:0;transform:translateY(-6px);transition:max-height .28s var(--ease),opacity .22s ease,transform .22s var(--ease);margin-top:16px}.cp-feedback-panel.is-open{max-height:520px;opacity:1;transform:translateY(0)}.cp-feedback-form{display:block;background:rgba(255,255,255,.06);border:1px solid rgba(245,237,216,.14);border-radius:18px;padding:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.cp-feedback-title{font-family:var(--font-display);font-size:clamp(1.45rem,3vw,2rem);font-weight:400;line-height:1.1;color:var(--cream);margin:0 0 6px}.cp-feedback-note{color:rgba(245,237,216,.62);font-size:.86rem;margin:0 0 14px}.cp-feedback-form textarea{width:100%;min-height:118px;resize:vertical;border:1px solid rgba(245,237,216,.22);border-radius:14px;background:rgba(245,237,216,.08);color:var(--cream);font-family:var(--font-body);font-size:1rem;line-height:1.55;padding:14px 15px;outline:none;transition:border-color .22s ease,box-shadow .22s ease,background .22s ease}.cp-feedback-form textarea::placeholder{color:rgba(245,237,216,.42)}.cp-feedback-form textarea:focus{border-color:var(--orange);background:rgba(245,237,216,.11);box-shadow:0 0 0 4px rgba(232,128,28,.14)}.cp-feedback-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}.cp-feedback-submit{border:0;border-radius:999px;background:var(--orange);color:var(--cream);font-family:var(--font-body);font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:11px 18px;cursor:pointer;transition:filter .18s ease,transform .15s var(--ease),opacity .18s ease}.cp-feedback-submit:hover{filter:brightness(1.06);transform:translateY(-1px)}.cp-feedback-submit:disabled{opacity:.62;cursor:not-allowed;transform:none}.cp-feedback-count{font-size:.76rem;color:rgba(245,237,216,.48);white-space:nowrap}.cp-feedback-status{min-height:1.4em;margin:12px 0 0;color:rgba(245,237,216,.68);font-size:.86rem}.cp-feedback-status--ok{color:#bfe7b3}.cp-feedback-status--error{color:#ffd0b8}.cp-feedback-trap{position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;opacity:0 !important;pointer-events:none !important}@media (max-width:560px){.cp-feedback-form{padding:16px}.cp-feedback-actions{align-items:flex-start;flex-direction:column}.cp-feedback-submit{width:100%}.cp-feedback-count{align-self:flex-end}}@media (prefers-reduced-motion:reduce){.cp-footer-support-btn,.cp-feedback-panel,.cp-feedback-form textarea,.cp-feedback-submit{transition:none}.cp-footer-support-btn:hover,.cp-feedback-submit:hover{transform:none}}


/* Keep the first mobile visit useful: compact the notice so the hero CTA remains visible. */
@media (max-width:560px){
  .cookie-banner{
    left:10px;
    right:10px;
    bottom:max(10px,env(safe-area-inset-bottom));
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px 12px;
    align-items:center;
    padding:11px 12px;
    border-radius:16px;
  }
  .cookie-banner strong{
    font-size:.875rem;
    margin-bottom:1px;
  }
  .cookie-banner p{
    font-size:.7rem;
    line-height:1.35;
  }
  .cookie-actions{
    width:auto;
    align-self:center;
  }
  .cookie-actions button{
    min-height:38px;
    padding:8px 14px;
  }
}

/* Keep the desktop navbar growing with the viewport. The original base rule
   capped it at 900px above the 1180px breakpoint, making wider windows narrower. */
@media (min-width: 1181px) {
  #hdr {
    padding: 0 22px;
  }

  .cp-premium-nav {
    width: min(calc(100vw - 46px), 2180px);
  }
}

/* ── My Paws page ─────────────────────────────────────────── */
.my-paws-page{background:var(--sand);color:var(--dark)}
.mp-hero{min-height:680px;padding:150px 80px 90px;background:radial-gradient(circle at 78% 18%,rgba(232,128,28,0.14),transparent 34%),var(--sand);display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}
.mp-hero::after{content:'';position:absolute;right:8%;bottom:8%;font-size:8rem;opacity:.05;transform:rotate(-14deg)}
.mp-hero-inner{max-width:760px;margin:0 auto;position:relative;z-index:1}
.mp-hero h1{font-family:var(--font-display);font-size:clamp(44px,6vw,86px);font-weight:400;line-height:1.02;color:var(--dark);letter-spacing:-.02em;margin-bottom:18px}
.mp-hero h1 em{font-style:italic;color:var(--orange)}
.mp-hero p{max-width:620px;margin:0 auto 30px;font-size:1.05rem;color:rgba(44,26,10,.76)}
.mp-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.mp-panel-section{padding:clamp(24px,3vw,36px) 80px var(--section-pad);background:var(--sand)}
.mp-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.mp-card{background:var(--cream);border:1px solid rgba(107,85,64,.12);border-radius:28px;padding:32px;box-shadow:var(--shadow)}
.mp-icon{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(232,128,28,.13);font-size:1.5rem;margin-bottom:18px}
.mp-card h2,.mp-note h2{font-family:var(--font-display);font-size:clamp(26px,3vw,40px);font-weight:400;line-height:1.08;color:var(--dark);margin-bottom:10px}
.mp-card p,.mp-note p,.mp-profile-copy p{color:rgba(44,26,10,.76)}
.mp-profile-section{padding:var(--section-pad) 80px;background:var(--sand);display:grid;grid-template-columns:minmax(0,420px) minmax(0,560px);gap:58px;align-items:center;justify-content:center}
.mp-profile-copy .sec-h{margin-bottom:16px}
.mp-dog-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:16px;max-width:600px}
.mp-dog-picker--preview{grid-template-columns:repeat(6,1fr);gap:10px;max-width:100%}
.mp-dog-choice{padding:0;border:none;background:none;cursor:pointer;aspect-ratio:1;border-radius:50%;line-height:0;transition:transform .22s var(--ease)}
.mp-dog-choice img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--cream);border:3px solid transparent;box-shadow:0 3px 12px rgba(44,26,10,.16);transition:border-color .2s,box-shadow .2s}
.mp-dog-choice:hover{transform:translateY(-3px) scale(1.04)}
.mp-dog-choice:hover img,.mp-dog-choice:focus-visible img{border-color:var(--orange);box-shadow:0 8px 22px rgba(232,128,28,.32)}
.mp-dog-choice.is-selected img{border-color:var(--orange);box-shadow:0 8px 22px rgba(232,128,28,.4)}
.mp-account{padding:var(--section-pad) 80px;background:var(--sand)}
.mp-account-inner{max-width:860px;margin:0 auto;background:var(--cream);border-radius:32px;padding:clamp(28px,4vw,48px);box-shadow:var(--shadow-md);border:1px solid rgba(107,85,64,.12)}
.mp-account-inner .sec-h{margin-bottom:24px}
.mp-acct-row{display:flex;gap:24px;align-items:center;margin-bottom:28px;flex-wrap:wrap}
.mp-acct-avatar{width:104px;height:104px;border-radius:50%;flex:none;overflow:hidden;border:4px solid var(--cream);box-shadow:0 6px 20px rgba(44,26,10,.2)}
.mp-acct-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.mp-acct-avatar span{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#291a12,#6d351c);color:#f5ead8;font-family:var(--font-display,Georgia,serif);font-size:2.2rem;font-weight:700}
.mp-acct-fields{flex:1;min-width:220px}
.mp-acct-label{display:block;font-family:var(--font-body);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:7px}
.mp-acct-input{width:100%;padding:13px 16px;border-radius:12px;border:1.5px solid rgba(180,140,90,.45);background:#fff;color:var(--dark);font-family:var(--font-body);font-size:1rem;outline:none}
.mp-acct-input:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(232,128,28,.14)}
.mp-acct-actions{display:flex;align-items:center;gap:14px;margin-top:14px;flex-wrap:wrap}
.mp-acct-status{font-family:var(--font-body);font-size:.85rem;font-weight:600;color:rgba(44,26,10,.6)}
.mp-acct-status.is-ok{color:#5a7a4a}
.mp-acct-status.is-err{color:#c05030}
.mp-acct-pick-label{font-family:var(--font-body);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin:0 0 14px}
.mp-dog-picker--account{max-width:none;grid-template-columns:repeat(7,1fr)}
.mp-acct-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px;padding-top:22px;border-top:1px solid rgba(107,85,64,.14)}
.mp-acct-foot p{margin:0;font-size:.85rem;color:rgba(44,26,10,.7)}
@media (max-width:900px){.mp-account{padding-left:24px;padding-right:24px}}
@media (max-width:520px){.mp-acct-row{justify-content:center;text-align:center}.mp-acct-foot{justify-content:center;text-align:center}}
.mp-note-section{padding:var(--section-pad) 80px clamp(24px,3vw,36px);background:var(--sand)}
.mp-note{max-width:820px;margin:0 auto;text-align:center;background:var(--cream);border-radius:32px;padding:44px;box-shadow:var(--shadow-md);border:1px solid rgba(107,85,64,.12)}
@media (max-width:900px){.mp-grid,.mp-profile-section{grid-template-columns:1fr}.mp-profile-section{text-align:center}.mp-panel-section,.mp-profile-section,.mp-note-section,.mp-hero{padding-left:24px;padding-right:24px}.mp-dog-picker{max-width:600px;margin:0 auto}}
@media (max-width:520px){.mp-hero{min-height:620px;padding-top:130px}.mp-grid{gap:16px}.mp-card,.mp-note{padding:26px 22px}.mp-dog-picker{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:12px;max-width:400px}}

/* ── My Paws Google sign-in ─────────────────────────────────── */
.mp-google-btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:13px 26px;border-radius:100px;font-family:var(--font-body);font-size:0.9375rem;font-weight:600;letter-spacing:0.02em;color:#3c4043;background:#fff;border:1px solid rgba(60,64,67,0.18);box-shadow:0 2px 10px rgba(44,26,10,0.10);cursor:pointer;transition:box-shadow 0.22s var(--ease),transform 0.15s var(--ease),background 0.2s var(--ease)}
.mp-google-btn:hover{background:#fbfbfb;box-shadow:0 6px 20px rgba(44,26,10,0.16);transform:translateY(-2px)}
.mp-google-btn:active{transform:translateY(0) scale(0.98)}
.mp-google-btn:disabled{opacity:0.6;cursor:default;transform:none;box-shadow:0 2px 10px rgba(44,26,10,0.10)}
.mp-google-btn .mp-g-icon{flex-shrink:0;display:block}
.mp-signedin{display:flex;flex-direction:column;align-items:center;gap:14px}
.mp-signedin-msg{margin:0;font-size:1rem;line-height:1.7;color:rgba(44,26,10,0.82)}
.mp-signedin-msg strong{color:var(--orange);font-weight:600}
.mp-signout{align-self:center}
/* navbar auth chip */
.cp-auth-slot{display:flex;align-items:center}
.cp-auth{position:relative}
.cp-auth-toggle{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:99px;background:rgba(44,26,10,0.06);border:1px solid rgba(180,140,90,0.22);color:var(--dark);font-family:var(--font-body);font-size:0.8rem;font-weight:600;letter-spacing:0.02em;cursor:pointer;max-width:150px;transition:background 0.18s var(--ease)}
.cp-auth-toggle:hover{background:rgba(44,26,10,0.1)}
.cp-auth-dot{width:8px;height:8px;border-radius:50%;background:#5a7a4a;flex-shrink:0}
.cp-auth-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-auth-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--cream);border:1px solid rgba(180,140,90,0.25);border-radius:14px;padding:12px;min-width:172px;box-shadow:0 6px 28px rgba(44,26,10,0.16);z-index:600}
.cp-auth-menu[hidden]{display:none}
.cp-auth-as{display:block;font-size:0.75rem;color:rgba(44,26,10,0.6);line-height:1.5;margin-bottom:10px}
.cp-auth-as strong{color:var(--dark);font-size:0.85rem;font-weight:600;word-break:break-word}
.cp-auth-signout{display:block;width:100%;padding:9px 12px;border-radius:9px;border:none;background:var(--orange);color:var(--cream);font-family:var(--font-body);font-size:0.8125rem;font-weight:600;cursor:pointer;transition:background 0.18s var(--ease)}
.cp-auth-signout:hover{background:#f0922a}
.cp-auth-signin{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 24px;border-radius:99px;color:var(--dark);font-family:var(--font-body);font-size:.9rem;font-weight:700;letter-spacing:0.02em;border:1px solid rgba(180,140,90,0.3);transition:background 0.18s var(--ease)}
.cp-auth-signin:hover{background:rgba(44,26,10,0.06)}
@media (max-width:940px){.cp-auth-signin{display:none}}


/* v1.5.156 mobile logged-out auth fix */
.cp-mobile-auth-slot{display:none;align-items:center;justify-content:center;padding:10px 12px 4px;margin-top:4px}
.cp-mobile-auth-signin,.cp-mobile-auth-account{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:190px;padding:11px 20px;border-radius:999px;color:var(--dark);background:rgba(44,26,10,0.05);border:1px solid rgba(180,140,90,0.3);font-family:var(--font-body);font-size:.9rem;font-weight:700;letter-spacing:.02em;text-decoration:none}
@media (max-width:940px){.cp-mobile-auth-slot{display:flex}.cp-premium-links:not(.is-open) .cp-mobile-auth-slot{display:none}}

/* ── Game page nav ─────────────────────────────────────────── */
body.is-game-page{--pw-topbar-h:94px;--cp-topbar-h:86px;--cm-topbar-h:80px;--pp-topbar-h:84px;--pl-topbar-h:86px}

.cp-game-btn-slot{display:flex;align-items:center;gap:6px;justify-self:end}

@media (hover:hover) and (min-width:941px){.cp-nav-link::after{display:none}}
/* Connect Paws: compact spacing so Submit stays on-screen */
body.is-game-page #cp-solved{margin-bottom:2px}
body.is-game-page .cp-oneaway{height:8px;margin-bottom:2px}
body.is-game-page .cp-stat-pill{height:40px}
body.is-game-page .cp-btn{height:40px}
body.is-game-page .cp-main{padding-bottom:8px}
body.is-game-page #cp-timer-row{flex-direction:row;justify-content:center;gap:14px;padding:0 12px}

#lisa-profile{scroll-margin-top:180px;}

/* v1.0.1 - My Paws avatar picker: 5 cols on mobile */
@media (max-width:540px){
  .mp-dog-picker--account{grid-template-columns:repeat(5,1fr);}
}

.cp-guide-section{margin-top:5px;border-top:1px solid rgba(44,26,10,0.12);padding-top:5px;background:transparent;border-radius:0}.cp-guide-label{display:none}


/* ── v3.0.179 - Navbar polish ───────────────────────────────── */

/* 1. Always-present base shadow; stronger on scroll                    */
/*    Gives the pill depth and definition even at page-top              */
.cp-premium-nav {
  box-shadow: 0 2px 14px rgba(44,26,10,0.07);
  border-color: rgba(180,140,90,0.32);
}
.hdr--scrolled .cp-premium-nav {
  box-shadow: 0 6px 28px rgba(44,26,10,0.15);
}

/* 2. Active link: add warm orange tint on desktop (text colour alone   */
/*    is easy to miss; the tint makes the current page obvious)         */
@media (hover:hover) and (min-width:941px) {
  .cp-nav-link[aria-current="page"] {
    background: rgba(232,128,28,0.10);
  }

  /* 3. Restore the orange underline indicator that was disabled.        */
  /*    The animation code already exists in the earlier block;          */
  /*    this simply re-enables the element.                              */
  .cp-nav-link::after {
    display: block;
  }

  /* 4. Slightly stronger hover background (was 0.055, now 0.075)       */
  .cp-nav-link:hover {
    background: rgba(44,26,10,0.075);
  }
}

/* 5. Shared game-navbar icons (moon / streak / trophy) - SINGLE SOURCE
      OF TRUTH for Pawdle, Connect Paws, Paw Logic and Paw Paths.
      The navbar pill is always cream, regardless of each game's own
      light/dark toggle, so these never need a light/dark variant -
      per-game CSS files must not redefine .pw-icon-btn / .pw-streak.
      (v1.5.283 consistency pass - replaces dead .pw-topbar-right-
      prefixed rules and the mismatched .cp-icon-btn/.cp-streak set
      that never matched the shared nav markup.)                      */
.pw-icon-btn {
  width: 44px; height: 44px; border-radius: 50%;
  background: rgba(26,15,9,0.10);
  border: 1px solid rgba(26,15,9,0.18);
  color: #2c1a0a;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: background 0.2s, transform 0.15s;
  -webkit-tap-highlight-color: transparent;
}
.pw-icon-btn:hover, .pw-icon-btn:active { background: rgba(26,15,9,0.16); transform: scale(1.08); }
.pw-icon-btn:focus-visible { outline: 2px solid #c97a35; outline-offset: 2px; }

.pw-streak {
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 1px; width: 44px; height: 44px; padding: 0; border-radius: 50%;
  background: rgba(26,15,9,0.10);
  border: 1px solid rgba(26,15,9,0.18);
  color: #2c1a0a;
  font-family: 'Bree Serif', 'DM Sans', sans-serif;
  line-height: 1; box-shadow: none; user-select: none; flex-shrink: 0; cursor: default;
  transition: background 0.2s;
}
.pw-streak-icon { font-size: 18px; display: block; line-height: 0.95; filter: drop-shadow(0 0 5px rgba(232,128,28,0.35)); }
.pw-streak-num { font-size: 14px; font-weight: 700; line-height: 0.95; display: block; margin-top: 0; font-variant-numeric: tabular-nums; color: inherit; }
.pw-streak.is-zero { opacity: 0.62; }
.pw-streak.is-zero .pw-streak-icon { filter: none; }

@media (max-width: 380px) {
  .cp-game-btn-slot .pw-icon-btn, .cp-game-btn-slot .pw-streak { width: 40px; height: 40px; }
  .cp-game-btn-slot .pw-streak-icon { font-size: 16px; }
  .cp-game-btn-slot .pw-streak-num { font-size: 12px; }
}

/* 7. Games dropdown "How to Play": simple final row with a divider. */
.cp-guide-section {
  background: transparent;
  border-top-color: rgba(44,26,10,0.12);
}
.cp-guide-label {
  display: none;
}

/* 8. Mobile hamburger: slightly tighter line gap for a crisper button  */
.hamburger {
  gap: 5px;
  padding: 10px 12px;
}

/* 9. Mobile dropdown: tighten close animation - pill to menu gap       */
/*    feels more physically attached                                     */
@media (max-width:940px) {
  .cp-premium-links {
    top: calc(100% + 6px);
  }
   .cp-nav-dropdown:not(.cp-games-dropdown) {
    gap: 5px;
  }
  .cp-mobile-teddy-toggle {
    margin: 0;
    padding: 0;
  }
}


/* ── v1.5.304 - Nav pill: solid cream, no glass effect ───────── */
/*   Reverted the frosted-glass treatment: solid cream keeps text  */
/*   and homepage content from bleeding through behind the navbar. */


/* ── v3.0.181 - Homepage audit fixes ────────────────────────── */

/* 1. Ornament: fix 80px side-padding bug on mobile               */
@media (max-width: 768px) {
  .cp-section-ornament {
    padding: 36px 24px 0;
  }
}

/* 2. Newsletter field: stack earlier to prevent cramped wrapping  */
/*    between 480–560 px where the long button text would squeeze  */
/*    the email input to under 150 px.                             */
@media (max-width: 560px) {
  .cp-newsletter-solo .cp-newsletter-field {
    flex-direction: column;
  }
  .cp-newsletter-solo .cp-newsletter-field button {
    width: 100%;
  }
}


/* ── Mobile nav: logo left · signed-in name centred · hamburger right ── */
@media (max-width:940px) {
  /* Anchor hamburger directly to the right of the nav pill.
     Grid-column alone fails on game pages because the 3 icon buttons
     (~144px) overflow col 3 and push the hamburger into the centre. */
  .hamburger {
    position: absolute;
    right: 13px; /* matches .cp-premium-nav padding-right at ≤940px */
    top: 50%;
    transform: translateY(-50%);
  }
  /* Game controls stay centred on game pages. */
  .cp-game-btn-slot {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    white-space: nowrap;
  }
  /* actions div is now fully out of flow; keep gap:0 for tidiness */
   .cp-premium-actions {
    gap: 0;
  }
  /* Restore the signed-in name to the centre of standard-page top bars.
     Signed-out links remain inside the open menu. */
  .cp-auth-slot {
    display: flex;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    max-width: calc(100% - 150px);
  }
  .cp-auth-slot .cp-auth-toggle {
    max-width: min(180px, calc(100vw - 180px));
    padding: 8px 14px;
    background: transparent;
    border-color: transparent;
    font-size: .9rem;
  }
  .cp-auth-slot .cp-auth-menu {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }
  .cp-auth-signin {
    display: none;
  }
  .cp-mobile-auth-slot {
    display: flex;
  }
  .cp-premium-links:not(.is-open) .cp-mobile-auth-slot {
    display: none;
  }
}

/* Mobile games list: How to Play section fills full width like the other items */
.cp-mobile-games-list .cp-guide-section {
  width: 100%;
}

/* ── v3.0.183 - Games menu icons ───────────────────────────── */
/* The supplied artwork is shown directly as matching icons. */
.cp-game-thumb {
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
}
.cp-game-thumb img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  display: block;
}
@media (max-width: 940px) {
  .cp-mobile-games-list .cp-nav-dest-link {
    justify-content: flex-start;
    text-align: left;
  }
  .cp-mobile-games-list .cp-dest-info {
    align-items: flex-start;
    text-align: left;
  }
}

/* On mobile, centre each complete game row — artwork and copy travel as one
   unit rather than sitting against the left edge of a full-width link. */
@media (max-width: 940px) {
  .cp-mobile-games-list:not([hidden]) {
    align-items: center;
    gap: 6px;
    padding: 8px 0 4px;
  }
  .cp-mobile-games-list .cp-nav-dest-link {
    width: 100%;
    max-width: 360px;
    min-height: 76px;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 8px 0;
  }
  .cp-mobile-games-list .cp-dest-info {
    flex: 0 0 auto;
  }
  .cp-mobile-games-list .cp-nav-dest-link:not(.cp-nav-dest-has-thumb) {
    min-height: auto;
    justify-content: center;
    padding: 10px 0;
  }
  .cp-mobile-games-list .cp-nav-dest-divider {
    align-self: center;
    width: min(calc(100% - 64px), 296px);
    margin: 6px 0 4px;
  }
  .cp-mobile-games-list .cp-nav-dest-has-thumb[href="sudoku.html"] .cp-game-thumb img {
    transform: scale(0.9);
  }
}

/* v1.0.342 - Shared dropdown item layout for Games, Underdogs and Community navigation. */
.cp-dropdown-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  cursor: pointer;
  font: inherit;
  letter-spacing: inherit;
}
.cp-coming-soon {
  display: block;
  margin-top: 2px;
  color: var(--orange);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.3;
}
.cp-underdogs-tagline {
  display: block;
  color: rgba(44,26,10,0.58);
  font-size: 0.73rem;
  font-style: italic;
  line-height: 1.3;
}
.cp-dropdown-section-heading {
  padding: 8px 12px 5px;
  color: var(--orange);
  font-family: var(--font-body);
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}
.cp-nav-dest-disabled {
  align-items: flex-start;
}
.cp-mobile-submenu {
  display: none;
}
@media (max-width: 940px) {
  body.is-game-page .cp-auth-slot {
    display: none;
  }
  .cp-mobile-submenu:not([hidden]) {
    display: flex;
    flex-direction: column;
  }
  .cp-mobile-submenu > a,
  .cp-mobile-submenu > .cp-nav-dest-disabled {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 9px 12px;
    border-radius: 9px;
    color: var(--dark);
    font-family: var(--font-body);
    font-size: .875rem;
    font-weight: 500;
    text-align: center;
  }
  .cp-mobile-submenu .cp-dest-info {
    align-items: center;
    text-align: center;
  }
  .cp-mobile-submenu .cp-dropdown-section-heading {
    text-align: center;
  }
}

/* At ≤560px the nav padding-right drops to 11px - keep hamburger aligned */
@media (max-width:560px) {
  .hamburger {
    right: 11px;
  }
}

/* Shared compact mobile navbar - identical shell on standard and game pages. */
@media (max-width:940px) {
  #hdr {
    top: 8px;
    padding: 0 8px;
  }
  .cp-premium-nav {
    width: calc(100vw - 18px);
    min-height: 58px;
    padding: 6px 11px 6px 14px;
    border-radius: 23px;
  }
  .cp-brand-logo {
    width: 44px;
  }
  .cp-brand-logo img,
  .cp-logo-img {
    width: 44px;
    height: 44px;
  }
}

/* Shared daily-game result card (Connect Paws, Paw Logic, Paw Paths). */
.cp-result-overlay{
  position:fixed;
  inset:0;
  z-index:900;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(14,8,3,.58);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.cp-result-overlay[hidden]{display:none}
.cp-result-card{
  position:relative;
  width:min(92vw,380px);
  max-height:90dvh;
  overflow-y:auto;
  padding:28px 24px 24px;
  border:1.5px solid rgba(255,210,140,.22);
  border-radius:24px;
  background:linear-gradient(160deg,#2e1a0c,#1e1008);
  box-shadow:0 22px 70px rgba(0,0,0,.45);
  text-align:center;
}
.cp-result-close{
  position:absolute;
  top:10px;
  right:10px;
  z-index:2;
  display:flex;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:50%;
  background:transparent;
  color:rgba(245,237,216,.68);
  cursor:pointer;
  font-size:14px;
}
.cp-result-close::before{
  content:'';
  position:absolute;
  width:30px;
  height:30px;
  border:1px solid rgba(255,210,140,.20);
  border-radius:50%;
  background:rgba(255,210,140,.10);
}
.cp-result-close span{position:relative;z-index:1}
.cp-result-close:hover{color:var(--cream)}
.cp-result-close:hover::before{background:rgba(255,210,140,.20)}
.cp-result-avatar{
  width:76px;
  height:76px;
  margin:0 auto 10px;
  overflow:hidden;
  border:3px solid rgba(232,128,28,.72);
  border-radius:50%;
  background:var(--cream);
  box-shadow:0 8px 24px rgba(0,0,0,.22);
}
.cp-result-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.cp-result-title{
  margin:0 0 4px;
  color:var(--cream);
  font-family:var(--font-serif);
  font-size:26px;
  line-height:1.15;
}
.cp-result-kicker{
  color:var(--orange-lt);
  font-family:var(--font-serif);
  font-size:20px;
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
}
.cp-result-summary{
  margin:5px 0 16px;
  color:rgba(245,237,216,.68);
  font-size:13px;
  line-height:1.5;
}
.cp-result-stats{display:flex;justify-content:center;gap:28px;margin-bottom:18px}
.cp-result-stat{min-width:60px;text-align:center}
.cp-result-stat strong{
  display:block;
  color:var(--cream);
  font-family:var(--font-serif);
  font-size:28px;
  line-height:1;
}
.cp-result-stat span{
  display:block;
  margin-top:5px;
  color:rgba(245,237,216,.58);
  font-size:10px;
  font-weight:700;
  letter-spacing:.8px;
  text-transform:uppercase;
}
.cp-result-action{
  display:block;
  width:100%;
  padding:14px 20px;
  border:0;
  border-radius:999px;
  background:var(--orange);
  color:#fff;
  box-shadow:0 6px 18px rgba(232,128,28,.28);
  cursor:pointer;
  font-family:var(--font-body);
  font-size:15px;
  font-weight:700;
}
.cp-result-action:hover{background:#f0922a;box-shadow:0 9px 24px rgba(232,128,28,.36)}
.cp-result-secondary{
  display:block;
  width:100%;
  margin-top:8px;
  padding:10px;
  border:0;
  background:transparent;
  color:rgba(245,237,216,.68);
  cursor:pointer;
  font-family:var(--font-body);
  font-size:13px;
  text-decoration:underline;
}
.cp-result-countdown{margin-top:12px}
.cp-result-countdown span{
  display:block;
  margin-bottom:4px;
  color:rgba(245,237,216,.58);
  font-size:11px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
}
.cp-result-countdown strong{
  color:var(--cream);
  font-family:var(--font-serif);
  font-size:22px;
}
body.light .cp-result-overlay,
body.pp-light .cp-result-overlay{background:rgba(245,237,216,.28)}
body.light .cp-result-card,
body.pp-light .cp-result-card{
  background:
    linear-gradient(160deg,rgba(253,245,228,.90),rgba(245,237,216,.84)),
    url('images/game-wallpaper.webp') center/cover;
  border-color:rgba(26,15,9,.16);
  box-shadow:0 18px 60px rgba(80,45,12,.18);
}
body.light .cp-result-title,
body.light .cp-result-stat strong,
body.light .cp-result-countdown strong,
body.pp-light .cp-result-title,
body.pp-light .cp-result-stat strong,
body.pp-light .cp-result-countdown strong{color:#1a0f09}
body.light .cp-result-kicker,
body.pp-light .cp-result-kicker{color:#b85f00}
body.light .cp-result-close,
body.pp-light .cp-result-close{color:rgba(44,26,10,.68)}
body.light .cp-result-close::before,
body.pp-light .cp-result-close::before{
  border-color:rgba(44,26,10,.16);
  background:rgba(44,26,10,.07);
}
body.light .cp-result-close:hover,
body.pp-light .cp-result-close:hover{color:#1a0f09}
body.light .cp-result-close:hover::before,
body.pp-light .cp-result-close:hover::before{background:rgba(44,26,10,.13)}
body.light .cp-result-summary,
body.light .cp-result-stat span,
body.light .cp-result-countdown span,
body.pp-light .cp-result-summary,
body.pp-light .cp-result-stat span,
body.pp-light .cp-result-countdown span{color:rgba(44,26,10,.62)}
/* ── Photo hero ── */
.my-paws-page .mp-hero {
  position: relative;
  height: clamp(420px, 56vw, 580px);
  min-height: 0;
  padding: 0;
  background: var(--dark);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
}
.mp-hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 60%;
  display: block;
  animation: ttImgZoom 22s ease-out forwards;
  transform-origin: center center;
}
.mp-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(10,6,2,0.06) 0%, rgba(10,6,2,0.28) 50%, rgba(10,6,2,0.72) 100%);
}
/* Hide the guest hero text/button until JS has actually confirmed the
   sign-in state, so returning signed-in users don't see it flash on
   then get swapped for the "Welcome back" version a moment later. */
.my-paws-page:not(.cp-auth-ready) #mp-hero-guest,
.my-paws-page:not(.cp-auth-ready) #mp-actions{visibility:hidden}
.my-paws-page .mp-hero .mp-hero-inner {
  position: relative;
  z-index: 1;
  padding: clamp(80px, 14vw, 160px) clamp(20px, 6vw, 48px) clamp(40px, 5vw, 60px);
  width: 100%;
  max-width: 760px;
  align-self: flex-end;
  margin: 0 auto;
}
.my-paws-page .mp-hero .sec-lbl {
  color: var(--cream);
  font-size: 0.9rem;
  letter-spacing: 0.32em;
  text-shadow: 0 1px 8px rgba(0,0,0,0.7), 0 2px 16px rgba(0,0,0,0.5);
}
.my-paws-page .mp-hero h1 {
  color: var(--cream);
  text-shadow: 0 2px 16px rgba(0,0,0,0.35);
}
.my-paws-page .mp-hero h1 em {
  color: var(--orange);
  text-shadow: 0 2px 8px rgba(0,0,0,0.8), 0 4px 24px rgba(0,0,0,0.6);
}
.my-paws-page .mp-hero p {
  color: rgba(255,248,230,0.90);
  text-shadow: 0 1px 10px rgba(0,0,0,0.65);
  margin-bottom: 24px;
}
.mp-stats{background:var(--sand);padding:32px 24px 56px}
.mp-stats-inner{max-width:900px;margin:0 auto}
@keyframes mpSpin{to{transform:rotate(360deg)}}
.mp-game-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:32px}
.mp-game-box,.mp-crossgame-box{background:var(--cream);border:1px solid rgba(107,85,64,.12);border-radius:18px;padding:22px 20px;box-shadow:var(--shadow)}
.mp-crossgame-box{margin-top:16px}
.mp-game-hd{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.mp-game-icon-lbl{font-size:20px;flex-shrink:0}
a.mp-game-name-lbl{font-family:'Bree Serif',Georgia,serif;font-size:1rem;color:var(--dark);text-decoration:none;transition:color .15s}
a.mp-game-name-lbl:hover{color:#E8801C}
span.mp-game-name-lbl{font-family:'Bree Serif',Georgia,serif;font-size:1rem;color:var(--dark)}
.mp-sec-lbl-inner{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(232,128,28,.75);font-family:'DM Sans',system-ui,sans-serif;display:block;margin:10px 0 5px}
.mp-sec-lbl-inner:first-child{margin-top:0}
.mpg-divider{height:1px;background:rgba(107,85,64,.14);margin:12px 0}
.mpg-row{display:flex;justify-content:space-between;align-items:baseline;padding:3px 0;gap:8px}
.mpg-label{font-family:'DM Sans',system-ui,sans-serif;font-size:.8rem;color:rgba(44,26,10,.55);flex-shrink:0}
.mpg-val{font-family:'DM Sans',system-ui,sans-serif;font-size:.85rem;font-weight:600;color:var(--dark);text-align:right}
.mpg-val.hi{color:#E8801C}
.mpg-loading{color:rgba(44,26,10,.35);font-family:'DM Sans',system-ui,sans-serif;font-size:.82rem;padding:4px 0}
.mp-dist{margin-top:14px;display:flex;flex-direction:column;gap:5px}
.mp-dist-row{display:flex;align-items:center;gap:7px}
.mp-dist-n{width:10px;text-align:right;color:rgba(44,26,10,.4);font-family:'DM Sans',system-ui,sans-serif;font-size:.72rem;flex-shrink:0}
.mp-dist-track{flex:1;height:9px;background:rgba(107,85,64,.12);border-radius:5px;overflow:hidden}
.mp-dist-fill{height:100%;background:#E8801C;border-radius:5px;min-width:2px}
.mp-dist-count{width:22px;color:rgba(44,26,10,.45);font-family:'DM Sans',system-ui,sans-serif;font-size:.7rem}
.mp-crossgame-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:4px}
.mp-cg-item{display:flex;flex-direction:column;gap:5px}
.mp-cg-label{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(44,26,10,.45);font-family:'DM Sans',system-ui,sans-serif}
.mp-cg-val{font-family:'DM Sans',system-ui,sans-serif;font-size:1rem;font-weight:700;color:var(--dark)}
@media(max-width:700px){.mp-game-grid{grid-template-columns:1fr;gap:12px}.mp-crossgame-grid{grid-template-columns:repeat(2,1fr);gap:12px}.mp-crossgame-grid>:last-child{grid-column:1 / -1}}

.my-paws-page #mp-account:not([hidden]),
.my-paws-page #mp-stats:not([hidden]),
.my-paws-page #mp-guest:not([hidden]){display:block}
.my-paws-page #mp-account:not([hidden]) .reveal,
.my-paws-page #mp-stats:not([hidden]) .reveal,
.my-paws-page #mp-guest:not([hidden]) .reveal,
.my-paws-page .mp-hero .reveal{opacity:1;transform:none}

.mp-stats-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
.mp-stats-head .sec-lbl{margin-bottom:0}
.mp-refresh-btn{background:none;border:none;cursor:pointer;color:rgba(232,128,28,.7);font-size:14px;padding:9px 14px;min-height:38px;border-radius:999px;transition:color .2s,background .2s;font-family:'DM Sans',sans-serif;font-weight:600;letter-spacing:.03em;display:inline-flex;align-items:center;gap:6px;flex-shrink:0}
.mp-refresh-btn:hover{color:var(--orange);background:rgba(232,128,28,.08)}
.mp-signin-error{margin-top:2px}

/* Hero sizing - desktop vs mobile, signed-out vs signed-in.
   One rule per breakpoint/state, ordered so the more specific or
   later-declared rule wins normally. No !important needed: this
   replaces the old v1.5.156 / v1.5.160 / v1.5.171 / v1.5.174 / v1.5.190
   patch stack, which had drifted into fighting itself with !important. */
@media (min-width:701px){
  .my-paws-page:not(.mp-signed-in) .mp-hero{
    height: max(clamp(520px,56vw,680px), 62vh);
    align-items: center;
  }
  .my-paws-page:not(.mp-signed-in) .mp-hero .mp-hero-inner{
    align-self: auto;
    padding-top: clamp(100px,10vh,160px);
    padding-bottom: clamp(80px,8vh,130px);
    transform: none;
  }
  /* Signed-in: shorter hero (base height applies), centred, symmetric padding */
  .my-paws-page.mp-signed-in .mp-hero{
    align-items: center;
  }
  .my-paws-page.mp-signed-in .mp-hero .mp-hero-inner{
    align-self: center;
    padding-top: clamp(100px,9vw,160px);
    padding-bottom: clamp(100px,9vw,160px);
    transform: none;
  }
}
@media (max-width:700px){
  .my-paws-page .mp-hero{
    height: auto;
    min-height: 700px;
    align-items: center;
  }
  .my-paws-page .mp-hero .mp-hero-inner{
    align-self: center;
    padding: 100px 22px 80px;
    transform: none;
  }
  .my-paws-page .mp-hero h1{ font-size: clamp(43px,13vw,62px); line-height: 1.04; }
  .my-paws-page .mp-hero p{ font-size: 1rem; line-height: 1.72; margin-bottom: 22px; }
  .my-paws-page.mp-signed-in .mp-hero .mp-hero-inner{
    padding: 92px 22px 82px;
    transform: none;
  }
}
@media (max-width:420px){
  .my-paws-page .mp-hero{ min-height: 690px; }
  .my-paws-page .mp-hero .mp-hero-inner{
    padding-top: 92px;
    padding-bottom: 74px;
    transform: none;
  }
  .my-paws-page .mp-hero h1{ font-size: clamp(38px,12vw,52px); }
  .my-paws-page.mp-signed-in .mp-hero .mp-hero-inner{
    padding-top: 84px;
    padding-bottom: 78px;
    transform: none;
  }
}

/* ── Paw Paths preview frame fade-up on scroll ── */
.cp-pawpaths-preview-frame{opacity:0}
.cp-game-card.in .cp-pawpaths-preview-frame{animation:cellDrop .9s .3s cubic-bezier(.34,1.56,.64,1) both}
@media(prefers-reduced-motion:reduce){.cp-pawpaths-preview-frame{opacity:1;animation:none}}

/* Official text wordmark beside the existing paw logo. */
.cp-brand-logo,
.logo-group {
  display: inline-flex;
  align-items: center;
  gap: 23px;
  width: auto;
  min-width: 0;
  color: var(--dark);
  flex-shrink: 0;
}

.logo-wordmark {
  font-family: var(--font-body);
  font-weight: 800;
  -webkit-text-stroke: 0.3px currentColor;
  text-transform: uppercase;
  letter-spacing: 0.24em;
  color: var(--dark);
  font-size: 0.9rem;
  line-height: 1;
  white-space: nowrap;
}

@media (min-width: 941px) {
  .cp-premium-links {
    gap: 14px;
  }
}

@media (max-width: 940px) {
  .cp-brand-logo,
  .logo-group {
    gap: 19px;
  }

  .logo-wordmark {
    position: static;
    transform: none;
    z-index: auto;
    font-size: 0.78rem;
    letter-spacing: 0.14em;
    max-width: calc(100vw - 178px);
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .cp-auth-slot {
    display: none;
  }

  .cp-game-btn-slot {
    left: auto;
    right: 61px;
    transform: translateY(-50%);
    gap: 4px;
    z-index: 2;
  }
}

@media (max-width: 560px) {
  .cp-game-btn-slot {
    right: 56px;
  }
}

@media (max-width: 430px) {
  .cp-game-btn-slot .pw-icon-btn {
    display: none;
  }

  .cp-game-btn-slot .pw-streak {
    width: 36px;
    height: 36px;
  }

  .cp-game-btn-slot .pw-streak-icon {
    font-size: 15px;
  }

  .cp-game-btn-slot .pw-streak-num {
    font-size: 12px;
  }
}

@media (max-width: 360px) {
  .logo-wordmark {
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    max-width: calc(100vw - 160px);
  }

  .cp-game-btn-slot {
    right: 52px;
  }
}

/* v3.0.186 - content-sized Games dropdown and compact mobile accordion */

/* Size from the icon-and-copy rows themselves. This avoids another guessed
   fixed width and keeps the right inset equal to the left inset. */
@media (min-width: 941px) {
  .cp-games-menu {
    width: max-content;
    min-width: 0;
    max-width: calc(100vw - 32px);
    padding: 8px;
  }

  .cp-games-menu .cp-nav-dest-link {
    align-items: center;
    gap: 14px;
    min-height: 66px;
    padding: 8px 12px;
  }

  .cp-games-menu .cp-game-thumb {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
  }

  .cp-games-menu .cp-dest-info {
    gap: 3px;
  }

  .cp-games-menu .cp-game-name,
  .cp-games-menu .cp-dest-sub {
    white-space: nowrap;
  }

  .cp-games-menu .cp-nav-dest-divider {
    margin: 4px 6px;
  }
}

/* The mobile menu remains an anchored accordion, but every top-level control
   owns one 42px row. Dropdown wrappers no longer add a second layer of
   padding around their buttons. */
@media (max-width: 940px) {
  .cp-premium-links.is-open {
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    width: min(calc(100vw - 32px), 360px);
    max-width: none;
    height: auto;
    max-height: calc(100dvh - 88px);
    overflow-y: auto;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding: 8px 10px 10px;
    border: 1px solid rgba(180,140,90,0.32);
    border-radius: 18px;
    background: var(--cream);
    box-shadow: 0 10px 30px rgba(44,26,10,0.16);
  }

  .cp-premium-links.is-open > a.cp-nav-link,
  .cp-premium-links.is-open > .cp-nav-dropdown {
    min-height: 42px;
    padding: 0 10px;
  }

  .cp-premium-links.is-open > .cp-nav-dropdown {
    padding: 0;
  }

  .cp-premium-links.is-open > .cp-nav-dropdown > .cp-dropdown-toggle {
    min-height: 42px;
    padding: 0 10px;
  }

  .cp-premium-links.is-open .cp-mobile-games-list:not([hidden]),
  .cp-premium-links.is-open .cp-mobile-submenu:not([hidden]) {
    margin: 0;
    padding: 4px 0;
  }

  .cp-premium-links.is-open .cp-mobile-games-list:not([hidden]) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    /* Let the Games grid sit closer to its own toggle without changing the
       vertical rhythm of the top-level navigation links. */
    margin-top: -8px;
    padding: 0 0 8px;
  }

  .cp-premium-links.is-open .cp-mobile-games-list .cp-nav-dest-link {
    width: auto;
    /* Two-column game cards should read as a compact square grid rather than
       four shallow horizontal strips. */
    min-height: 90px;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 6px;
  }

  .cp-premium-links.is-open .cp-mobile-games-list .cp-game-thumb {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
  }

  .cp-premium-links.is-open .cp-mobile-games-list .cp-dest-info {
    align-items: center;
    text-align: center;
  }

  /* Match the compact desktop menu scale instead of making game names the
     largest text in the mobile accordion. */
  .cp-premium-links.is-open .cp-mobile-games-list .cp-game-name {
    font-size: 0.75rem;
    line-height: 1.2;
  }

  .cp-premium-links.is-open .cp-mobile-games-list .cp-dest-sub {
    display: none;
  }

  .cp-premium-links.is-open .cp-mobile-games-list .cp-nav-dest-divider,
  .cp-premium-links.is-open .cp-mobile-games-list .cp-nav-dest-link:not(.cp-nav-dest-has-thumb) {
    grid-column: 1 / -1;
  }

  .cp-premium-links.is-open .cp-mobile-games-list .cp-nav-dest-divider {
    width: 100%;
    margin: 8px 0;
  }

  .cp-premium-links.is-open .cp-mobile-games-list .cp-nav-dest-link:not(.cp-nav-dest-has-thumb),
  .cp-premium-links.is-open .cp-mobile-submenu > a,
  .cp-premium-links.is-open .cp-mobile-submenu > .cp-nav-dest-disabled {
    min-height: 42px;
    padding: 0 10px;
  }

  .cp-premium-links.is-open .cp-mobile-auth-slot {
    margin: 2px 0 0;
    padding: 6px 0 0;
  }

  .cp-premium-links.is-open .cp-mobile-auth-signin,
  .cp-premium-links.is-open .cp-mobile-auth-account {
    min-width: 0;
    min-height: 38px;
    padding: 6px 14px;
    background: rgba(44,26,10,0.035);
    border-color: rgba(180,140,90,0.24);
    font-size: .8rem;
    font-weight: 600;
  }
}


/* v1.0.293 mobile game-nav fix after logo wordmark update
   Keep the streak, leaderboard and theme/help buttons visible on phones. */
@media (max-width: 560px) {
  /* The compact game header is roughly 66px tall, but the shared game-page
     layout used to reserve 94px above the grid. Reclaim that blank space for
     the six Pawdle rows, especially on short iPhone viewports. */
  body.is-game-page.pw-body {
    --pw-topbar-h: 74px;
  }

  body.is-game-page .logo-wordmark {
    display: none;
  }
  body.is-game-page .cp-game-btn-slot {
    right: 56px;
    gap: 4px;
  }
  body.is-game-page .cp-game-btn-slot .pw-icon-btn,
  body.is-game-page .cp-game-btn-slot .pw-streak {
    width: 38px;
    height: 38px;
  }
  body.is-game-page .cp-game-btn-slot .pw-icon-btn svg {
    width: 18px;
    height: 18px;
  }
  body.is-game-page .cp-game-btn-slot .pw-streak-icon {
    font-size: 15px;
  }
  body.is-game-page .cp-game-btn-slot .pw-streak-num {
    font-size: 12px;
  }
}

@media (max-width: 430px) {
  body.is-game-page .cp-game-btn-slot .pw-icon-btn {
    display: flex;
  }
}

@media (max-width: 360px) {
  body.is-game-page .cp-game-btn-slot {
    right: 52px;
    gap: 3px;
  }
  body.is-game-page .cp-game-btn-slot .pw-icon-btn,
  body.is-game-page .cp-game-btn-slot .pw-streak {
    width: 35px;
    height: 35px;
  }
}

/* v1.0.295 mobile game-nav logo balance
   Keep the game controls visible while matching the standard mobile logo more closely. */
@media (max-width: 560px) {
  body.is-game-page .logo-wordmark {
    display: inline-block;
    font-size: 0.76rem;
    letter-spacing: 0.12em;
    max-width: 118px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  body.is-game-page .cp-brand-logo,
  body.is-game-page .logo-group {
    gap: 15px;
  }
}

@media (max-width: 390px) {
  body.is-game-page .logo-wordmark {
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    max-width: 112px;
  }
}

@media (max-width: 365px) {
  body.is-game-page .logo-wordmark {
    font-size: 0.66rem;
    letter-spacing: 0.08em;
    max-width: 98px;
  }
}

@media (max-width: 340px) {
  body.is-game-page .logo-wordmark {
    display: none;
  }
}

/* v1.0.348 — refine monogram scale and wordmark spacing without changing the navbar shell. */
/* v1.0.349 — monogram scaled down 5% (1.49 -> 1.415) to balance against heavier wordmark. */
.cp-logo-img {
  transform: scale(1.415);
  transform-origin: center;
}

.cp-footer-logo {
  width: 82px;
  height: 82px;
  object-fit: contain;
}

@media (max-width: 940px) {
  .cp-logo-img {
    transform: scale(1.359);
  }
}

/* v1.0.347 — keep the enlarged navbar scale throughout the intentional wobble. */
@keyframes cpLogoWagLarge {
  0% { transform: scale(1.415) rotate(0deg); }
  20% { transform: scale(1.415) rotate(-10deg); }
  40% { transform: scale(1.415) rotate(10deg); }
  60% { transform: scale(1.415) rotate(-7deg); }
  80% { transform: scale(1.415) rotate(5deg); }
  100% { transform: scale(1.415) rotate(0deg); }
}

@media (hover: hover) {
  .cp-brand-logo:hover .cp-logo-img {
    animation: cpLogoWagLarge 0.55s ease both;
  }
}

@keyframes cpLogoWagLargeMobile {
  0% { transform: scale(1.359) rotate(0deg); }
  20% { transform: scale(1.359) rotate(-10deg); }
  40% { transform: scale(1.359) rotate(10deg); }
  60% { transform: scale(1.359) rotate(-7deg); }
  80% { transform: scale(1.359) rotate(5deg); }
  100% { transform: scale(1.359) rotate(0deg); }
}

@media (hover: hover) and (max-width: 940px) {
  .cp-brand-logo:hover .cp-logo-img {
    animation-name: cpLogoWagLargeMobile;
  }
}

.pd-home-visual {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 20px 20px;
  min-height: 230px;
}

.pd-home-visual .pd-grid {
  max-width: 236px;
}

@media (max-width: 768px) {
  .pd-home-visual {
    padding: 16px 18px 20px;
    min-height: 220px;
  }
}

body.homepage .hero-body {
  max-width: min(960px, calc(100vw - 120px));
  padding-left: clamp(64px, 7vw, 112px);
  padding-bottom: clamp(108px, 13vh, 150px);
}

body.homepage .hero h1 {
  max-width: 880px;
  font-size: clamp(54px, 6.1vw, 86px);
  line-height: 0.94;
  margin-bottom: 20px;
}

body.homepage .hero-sub {
  max-width: 430px;
  margin-bottom: 34px;
}

@media (max-width: 1024px) {
  body.homepage .hero-body {
    max-width: min(820px, calc(100vw - 80px));
    padding-left: 48px;
    padding-bottom: 78px;
  }

  body.homepage .hero h1 {
    font-size: clamp(50px, 7.2vw, 76px);
  }
}

@media (max-width: 768px) {
  body.homepage .hero-body {
    max-width: none;
    padding: 96px 26px 48px;
  }

  body.homepage .hero h1 {
    max-width: 100%;
    font-size: clamp(42px, 12vw, 64px);
    line-height: 0.98;
    margin-bottom: 16px;
  }

  body.homepage .hero-sub {
    max-width: 100%;
    margin-bottom: 32px;
  }
}

/* v1.0.296 wordmark tuning across all navbars
   Slightly bolder and tighter so the text feels more confident without widening the header. */
.logo-wordmark {
  font-weight: 800;
  letter-spacing: 0.17em;
  font-size: 0.94rem;
}

@media (max-width: 940px) {
  .logo-wordmark {
    font-size: 0.84rem;
    letter-spacing: 0.105em;
    max-width: calc(100vw - 170px);
  }
}

@media (max-width: 560px) {
  body.is-game-page .logo-wordmark {
    display: inline-block;
    font-size: 0.84rem;
    letter-spacing: 0.065em;
    max-width: 136px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (max-width: 390px) {
  body.is-game-page .logo-wordmark {
    font-size: 0.82rem;
    letter-spacing: 0.055em;
    max-width: 130px;
  }
}

@media (max-width: 365px) {
  body.is-game-page .logo-wordmark {
    font-size: 0.76rem;
    letter-spacing: 0.045em;
    max-width: 112px;
  }
}

@media (max-width: 340px) {
  body.is-game-page .logo-wordmark {
    display: none;
  }
}

/* v1.0.350 - Visual polish pass: homepage game cards, newsletter field, footer consistency
   ─────────────────────────────────────────────────────────────────────────────────────── */

/* ── Homepage game cards: warm atmosphere + definition against the sand background ── */
.cp-game-card {
  background:
    radial-gradient(ellipse 130% 70% at 50% -12%, rgba(196, 147, 90, 0.14) 0%, transparent 58%),
    var(--dark);
  border: 1px solid rgba(245, 237, 216, 0.07);
}

/* Centre the Connect Paws mini-grid vertically so tall rows don't leave a dark void below it */
.cpv2-visual {
  display: flex;
  align-items: center;
  justify-content: center;
}
.cpv2-visual .cpv2-grid {
  width: 100%;
  max-width: 430px;
  margin: 0 auto;
}

/* Slightly stronger card sub-copy for readability on the dark cards */
.cp-game-info-sub { color: rgba(245, 237, 216, 0.7); }

/* ── Newsletter: lift the email field off the matching oat background ── */
.cp-newsletter-field input[type="email"] {
  background: var(--cream);
  box-shadow: inset 0 1px 3px rgba(44, 26, 10, 0.06), 0 1px 0 rgba(255, 255, 255, 0.35);
}

/* ── Footer: legal links and the Feedback button render identically ── */
.cp-footer-legal a,
.cp-footer-legal button {
  font-weight: 400;
  font-size: 0.8125rem;
  line-height: 1.4;
  letter-spacing: normal;
}

/* Tighter homepage rhythm: less dead space between the games grid, newsletter, and waves */
body.homepage .hiw { padding-bottom: clamp(36px, 4.5vw, 60px); }
body.homepage .cp-newsletter-solo { padding-top: clamp(36px, 4.5vw, 60px); padding-bottom: clamp(40px, 5vw, 68px); }
body.homepage .cp-community-section { padding-top: clamp(40px, 5vw, 68px); }

/* Dog of the Week home card: centre the pup in the 4:3 crop */
.cp-dotw-home-img { object-position: 42% 88%; }

/* Pawdle home card: larger mini-grid so the visual fills the card like Connect Paws */
.pd-home-visual .pd-grid { max-width: 320px; gap: 7px; }
.pd-home-visual .pd-cell { font-size: clamp(1.05rem, 1.9vw, 1.45rem); border-radius: 8px; }

/* ============================================================
   v1.0.375 — Focused daily-games product shell
   ============================================================ */

:root {
  --dp-paper: #fcf8f1;
  --dp-cream: #f7f1e6;
  --dp-cream-deep: #eee3d3;
  --dp-brown: #33251b;
  --dp-brown-soft: #6e5d4e;
  --dp-green: #5e6d5c;
  --dp-green-deep: #3f4e41;
  --dp-rust: #ad583b;
  --dp-amber: #c9853f;
  --dp-line: rgba(51, 37, 27, 0.14);
  --dp-line-strong: rgba(51, 37, 27, 0.24);
  --dp-shadow-sm: 0 10px 28px rgba(62, 43, 28, 0.08);
  --dp-shadow-lg: 0 28px 70px rgba(62, 43, 28, 0.13);
  --dp-container: 1440px;
  --dp-gutter: clamp(1.25rem, 4vw, 4.5rem);
  --dp-ease: cubic-bezier(0.2, 0.72, 0.22, 1);
}

body.nav-is-open {
  overflow: hidden;
}

.hub-shell,
.mp-shell {
  width: min(100%, var(--dp-container));
  margin-inline: auto;
  padding-inline: var(--dp-gutter);
}

.cp-noscript-nav {
  display: flex;
  position: relative;
  z-index: 1000;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1rem var(--dp-gutter);
  border-bottom: 1px solid var(--dp-line);
  background: var(--dp-paper);
  color: var(--dp-brown);
  font: 600 0.82rem/1.3 var(--font-body);
}

.cp-noscript-nav a {
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}

/* Shared header */

#hdr {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 900;
  height: 76px;
  padding: 0;
  border-bottom: 1px solid rgba(51, 37, 27, 0.1);
  background: rgba(252, 248, 241, 0.92);
  box-shadow: none;
  -webkit-backdrop-filter: blur(18px) saturate(120%);
  backdrop-filter: blur(18px) saturate(120%);
  transition:
    background-color 240ms ease,
    border-color 240ms ease,
    box-shadow 240ms ease;
}

#hdr.hdr--scrolled {
  border-bottom-color: var(--dp-line);
  background: rgba(252, 248, 241, 0.97);
  box-shadow: 0 10px 34px rgba(51, 37, 27, 0.07);
}

#hdr .cp-premium-nav,
#hdr.hdr--scrolled .cp-premium-nav {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr);
  width: min(100%, var(--dp-container));
  min-height: 76px;
  margin-inline: auto;
  padding: 0 var(--dp-gutter);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#hdr .cp-brand-logo {
  display: inline-flex;
  width: auto;
  min-height: 44px;
  align-items: center;
  gap: 0.7rem;
  justify-self: start;
  color: var(--dp-brown);
}

#hdr .cp-brand-logo img,
#hdr .cp-logo-img {
  width: 38px;
  height: 38px;
}

#hdr .logo-wordmark {
  display: inline-block;
  color: var(--dp-brown);
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1;
  text-transform: uppercase;
}

#hdr .cp-premium-links {
  display: flex;
  position: static;
  top: auto;
  height: 76px;
  align-items: stretch;
  gap: clamp(0.85rem, 1.5vw, 1.55rem);
}

#hdr .cp-nav-link {
  display: inline-flex;
  position: relative;
  min-height: 44px;
  align-items: center;
  padding: 0.4rem 0.1rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(51, 37, 27, 0.7);
  font-family: var(--font-body);
  font-size: 0.76rem;
  font-weight: 650;
  letter-spacing: 0.035em;
  transition: color 180ms ease;
}

#hdr .cp-nav-link::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: var(--dp-rust);
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 220ms var(--dp-ease);
}

#hdr .cp-nav-link:hover,
#hdr .cp-nav-link[aria-current="page"] {
  color: var(--dp-brown);
}

#hdr .cp-nav-link:hover::after,
#hdr .cp-nav-link[aria-current="page"]::after {
  transform: scaleX(1);
  transform-origin: left;
}

#hdr .cp-premium-actions {
  gap: 0.65rem;
  justify-self: end;
}

#hdr .cp-game-btn-slot {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

#hdr .cp-auth-toggle,
#hdr .cp-auth-signin {
  min-height: 40px;
  padding: 0.6rem 0.9rem;
  border: 1px solid var(--dp-line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.52);
  color: var(--dp-brown);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
  font-size: 0.75rem;
  font-weight: 700;
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    transform 180ms var(--dp-ease);
}

#hdr .cp-auth-toggle:hover,
#hdr .cp-auth-signin:hover {
  border-color: var(--dp-line-strong);
  background: #fffdfa;
  transform: translateY(-1px);
}

#hdr .cp-auth-dot {
  width: 7px;
  height: 7px;
  background: var(--dp-green);
  box-shadow: 0 0 0 3px rgba(94, 109, 92, 0.12);
}

#hdr .cp-auth-menu {
  top: calc(100% + 10px);
  min-width: 210px;
  padding: 0.9rem;
  border: 1px solid var(--dp-line);
  border-radius: 14px;
  background: var(--dp-paper);
  box-shadow: var(--dp-shadow-lg);
}

#hdr .cp-auth-as {
  margin-bottom: 0.75rem;
  color: var(--dp-brown-soft);
  font-size: 0.72rem;
}

#hdr .cp-auth-as strong {
  color: var(--dp-brown);
  font-size: 0.78rem;
}

#hdr .cp-auth-signout {
  min-height: 40px;
  border-radius: 9px;
  background: var(--dp-brown);
  color: var(--dp-paper);
  font-size: 0.76rem;
  transition:
    background-color 180ms ease,
    transform 180ms var(--dp-ease);
}

#hdr .cp-auth-signout:hover {
  background: var(--dp-green-deep);
  transform: translateY(-1px);
}

#hdr .hamburger {
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--dp-line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.5);
}

#hdr .hamburger span {
  background: var(--dp-brown);
}

/* Shared footer */

.cp-footer {
  position: relative;
  padding: 0;
  background: var(--dp-brown);
  color: var(--dp-cream);
}

.cp-footer-inner {
  width: min(100%, var(--dp-container));
  margin-inline: auto;
  padding: clamp(3rem, 6vw, 5.5rem) var(--dp-gutter) 1.75rem;
}

.cp-footer-main {
  display: grid;
  grid-template-columns: minmax(230px, 1fr) minmax(0, 2fr);
  gap: clamp(2.5rem, 7vw, 8rem);
  align-items: start;
  padding-bottom: clamp(3rem, 5vw, 4.75rem);
}

.cp-footer-brand {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 0.9rem;
  color: var(--dp-cream);
}

.cp-footer-brand .cp-footer-logo {
  width: 46px;
  height: 46px;
  object-fit: contain;
}

.cp-footer-brand > span {
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
}

.cp-footer-brand strong {
  font-family: var(--font-body);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.cp-footer-brand small {
  color: rgba(247, 241, 230, 0.55);
  font-family: var(--font-display);
  font-size: 1rem;
  font-style: italic;
}

.cp-footer-games {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem clamp(1.25rem, 3vw, 2.75rem);
  align-items: start;
}

.cp-footer-games a {
  position: relative;
  width: fit-content;
  color: rgba(247, 241, 230, 0.76);
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.45;
  transition: color 180ms ease;
}

.cp-footer-games a::after {
  position: absolute;
  right: 0;
  bottom: -0.35rem;
  left: 0;
  height: 1px;
  background: var(--dp-amber);
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 200ms var(--dp-ease);
}

.cp-footer-games a:hover {
  color: var(--dp-cream);
}

.cp-footer-games a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

.cp-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(247, 241, 230, 0.14);
}

.cp-footer-copy {
  color: rgba(247, 241, 230, 0.42);
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.cp-footer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
}

.cp-footer .cp-footer-legal a {
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(247, 241, 230, 0.58);
  font-size: 0.72rem;
  transition: color 180ms ease;
}

.cp-footer .cp-footer-legal a:hover {
  color: var(--dp-cream);
}

/* Shared product controls */

.dp-button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 0.75rem 1rem 0.75rem 1.15rem;
  border: 1px solid transparent;
  border-radius: 11px;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  transition:
    color 220ms ease,
    background-color 220ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease,
    transform 220ms var(--dp-ease);
}

.dp-button > span:last-child {
  display: inline-grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.12);
  transition: transform 220ms var(--dp-ease);
}

.dp-button:hover {
  transform: translateY(-2px);
}

.dp-button:hover > span:last-child {
  transform: translate(2px, -2px);
}

.dp-button--primary {
  background: var(--dp-brown);
  color: var(--dp-paper);
  box-shadow: 0 10px 28px rgba(51, 37, 27, 0.16);
}

.dp-button--primary:hover {
  background: var(--dp-green-deep);
  box-shadow: 0 16px 36px rgba(51, 37, 27, 0.2);
}

.dp-button--secondary {
  border-color: var(--dp-line-strong);
  background: rgba(255, 255, 255, 0.38);
  color: var(--dp-brown);
}

.dp-button--secondary:hover {
  border-color: rgba(51, 37, 27, 0.38);
  background: rgba(255, 255, 255, 0.78);
}

.dp-button--ink {
  background: var(--dp-green-deep);
  color: var(--dp-paper);
}

.hub-inline-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: inherit;
  font-size: 0.76rem;
  font-weight: 700;
}

.hub-inline-link > span:last-child {
  transition: transform 200ms var(--dp-ease);
}

.hub-inline-link:hover > span:last-child {
  transform: translateX(4px);
}

.hub-kicker,
.hub-panel-label {
  margin: 0;
  color: var(--dp-rust);
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.4;
  text-transform: uppercase;
}

/* Focused play hub */

body.homepage--hub {
  background: var(--dp-paper);
  color: var(--dp-brown);
  font-weight: 400;
}

.homepage--hub .hub-hero {
  position: relative;
  min-height: 680px;
  overflow: hidden;
  padding: clamp(9.5rem, 14vw, 12.5rem) 0 clamp(5.5rem, 9vw, 8rem);
  background:
    radial-gradient(circle at 86% 18%, rgba(173, 88, 59, 0.12), transparent 27%),
    radial-gradient(circle at 65% 78%, rgba(94, 109, 92, 0.13), transparent 32%),
    linear-gradient(145deg, var(--dp-paper) 0%, var(--dp-cream) 100%);
}

.homepage--hub .hub-hero::before {
  position: absolute;
  top: 76px;
  right: var(--dp-gutter);
  left: var(--dp-gutter);
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--dp-line), transparent);
  content: "";
}

.hub-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.32fr) minmax(320px, 0.68fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: end;
}

.hub-hero__copy {
  max-width: 780px;
}

.hub-hero__copy h1 {
  margin: 1.2rem 0 1.5rem;
  color: var(--dp-brown);
  font-family: var(--font-display);
  font-size: clamp(4rem, 7.3vw, 7.6rem);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 0.82;
}

.hub-hero__copy h1 span,
.hub-hero__copy h1 em {
  display: block;
}

.hub-hero__copy h1 em {
  margin-left: 0.28em;
  color: var(--dp-green-deep);
  font-style: italic;
  font-weight: 400;
}

.hub-hero__intro {
  max-width: 510px;
  margin: 0;
  color: var(--dp-brown-soft);
  font-size: clamp(1rem, 1.35vw, 1.15rem);
  font-weight: 400;
  line-height: 1.7;
}

.hub-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2.25rem;
}

.hub-progress {
  position: relative;
  overflow: hidden;
  padding: clamp(1.6rem, 3vw, 2.25rem);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(201, 133, 63, 0.22), transparent 38%),
    var(--dp-green-deep);
  color: var(--dp-paper);
  box-shadow: var(--dp-shadow-lg);
}

.hub-progress::after {
  position: absolute;
  right: -3.5rem;
  bottom: -4.5rem;
  width: 11rem;
  height: 11rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  content: "";
}

.hub-progress__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1.4rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
}

.hub-progress .hub-panel-label {
  color: rgba(252, 248, 241, 0.62);
}

.hub-live-dot {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: rgba(252, 248, 241, 0.72);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hub-live-dot > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #dca25a;
  box-shadow: 0 0 0 4px rgba(220, 162, 90, 0.12);
}

.hub-progress h2 {
  max-width: 330px;
  margin: 1.5rem 0 1.75rem;
  color: var(--dp-paper);
  font-family: var(--font-display);
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1;
}

.hub-progress__streak {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1.5rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.hub-progress__streak > span {
  color: rgba(252, 248, 241, 0.66);
  font-size: 0.76rem;
}

#hp-streak:empty::before {
  color: var(--dp-paper);
  content: "Start today";
  font-size: 0.78rem;
  font-weight: 700;
}

#hp-streak .pd-streak-inner {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

#hp-streak .pd-streak-count {
  color: var(--dp-paper);
  font-size: 1.3rem;
  font-weight: 700;
}

#hp-streak .pd-streak-label {
  color: rgba(252, 248, 241, 0.62);
  font-size: 0.7rem;
}

.hub-games {
  padding: clamp(5.5rem, 9vw, 9rem) 0;
  background: var(--dp-paper);
}

.hub-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.42fr);
  gap: 3rem;
  align-items: end;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.hub-section-head h2,
.hub-leaders__copy h2 {
  margin: 0.7rem 0 0;
  color: var(--dp-brown);
  font-family: var(--font-display);
  font-size: clamp(3rem, 5.2vw, 5.8rem);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 0.92;
}

.hub-section-head > p,
.hub-leaders__copy > p {
  margin: 0;
  color: var(--dp-brown-soft);
  font-size: 0.92rem;
  line-height: 1.7;
}

.hub-game-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.75rem);
}

.hub-game-card {
  display: grid;
  position: relative;
  min-height: 520px;
  grid-template-rows: auto auto minmax(190px, 1fr) auto;
  overflow: hidden;
  padding: clamp(1.4rem, 2.6vw, 2rem);
  border: 1px solid var(--dp-line);
  border-radius: 18px;
  background: #fffdfa;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9);
  color: var(--dp-brown);
  transition:
    border-color 240ms ease,
    box-shadow 260ms ease,
    transform 260ms var(--dp-ease);
}

.hub-game-card::before {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 82% 26%, rgba(201, 133, 63, 0.1), transparent 29%),
    linear-gradient(145deg, transparent 58%, rgba(51, 37, 27, 0.025));
  content: "";
  pointer-events: none;
}

.hub-game-card--connect::before {
  background:
    radial-gradient(circle at 82% 26%, rgba(173, 88, 59, 0.1), transparent 29%),
    linear-gradient(145deg, transparent 58%, rgba(51, 37, 27, 0.025));
}

.hub-game-card--paths::before {
  background:
    radial-gradient(circle at 82% 26%, rgba(94, 109, 92, 0.14), transparent 29%),
    linear-gradient(145deg, transparent 58%, rgba(51, 37, 27, 0.025));
}

.hub-game-card--sudoku::before {
  background:
    radial-gradient(circle at 82% 26%, rgba(105, 77, 53, 0.12), transparent 29%),
    linear-gradient(145deg, transparent 58%, rgba(51, 37, 27, 0.025));
}

@media (hover: hover) {
  .hub-game-card:hover {
    border-color: var(--dp-line-strong);
    box-shadow: var(--dp-shadow-lg);
    transform: translateY(-6px);
  }

  .hub-game-card:hover .hub-game-card__cta > span:last-child {
    transform: translate(3px, -3px);
  }

  .hub-game-card:hover .hub-game-card__image {
    transform: rotateX(10deg) rotateZ(-1deg) scale(1.025);
  }
}

.hub-game-card__top,
.hub-game-card__copy,
.hub-game-card__visual,
.hub-game-card__cta {
  position: relative;
  z-index: 1;
}

.hub-game-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1.1rem;
  border-bottom: 1px solid var(--dp-line);
}

.hub-game-card__number,
.hub-game-card__type {
  color: var(--dp-brown-soft);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hub-game-card__type {
  color: var(--dp-green);
}

.hub-game-card__copy {
  padding-top: 1.4rem;
}

.hub-game-card__copy h3 {
  margin: 0;
  color: var(--dp-brown);
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 4vw, 4.4rem);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 0.95;
}

.hub-game-card__copy p {
  max-width: 360px;
  margin: 0.8rem 0 0;
  color: var(--dp-brown-soft);
  font-size: 0.84rem;
  line-height: 1.6;
}

.hub-game-card__visual {
  display: grid;
  min-height: 190px;
  place-items: center;
  padding: 1.8rem 0 1.35rem;
  perspective: 800px;
}

.hub-game-card__visual--pawdle .pd-grid {
  display: grid;
  width: min(100%, 310px);
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
  transform: rotateX(12deg) rotateZ(-1deg);
  filter: drop-shadow(0 18px 16px rgba(51, 37, 27, 0.12));
}

.hub-game-card__visual--pawdle .pd-cell {
  display: grid;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 7px;
  font-size: clamp(0.85rem, 1.6vw, 1.15rem);
}

.hub-game-card__visual--connect .cpv2-grid {
  width: min(100%, 390px);
  gap: 5px;
  transform: rotateX(9deg) rotateZ(0.5deg);
  filter: drop-shadow(0 18px 16px rgba(51, 37, 27, 0.11));
}

.hub-game-card__visual--connect .cpv2-tile {
  padding: 9px 3px;
  border-radius: 6px;
  font-size: clamp(0.44rem, 0.75vw, 0.6rem);
}

.hub-game-card__visual--connect .cpv2-tile--y {
  background: #a85639;
}

.hub-game-card__visual--connect .cpv2-tile--g {
  background: #9b773a;
}

.hub-game-card__visual--connect .cpv2-tile--b {
  background: #74553d;
}

.hub-game-card__visual--connect .cpv2-tile--p {
  background: #576857;
}

.hub-game-card__image {
  display: block;
  width: min(72%, 265px);
  max-height: 220px;
  border: 1px solid rgba(51, 37, 27, 0.12);
  border-radius: 14px;
  object-fit: cover;
  box-shadow:
    0 14px 0 rgba(51, 37, 27, 0.88),
    0 26px 30px rgba(51, 37, 27, 0.2);
  transform: rotateX(12deg) rotateZ(-1deg);
  transform-origin: center;
  transition: transform 260ms var(--dp-ease);
}

.hub-game-card__image--sudoku {
  width: min(62%, 230px);
}

.hub-game-card__cta {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--dp-line);
  font-size: 0.76rem;
  font-weight: 700;
}

.hub-game-card__cta > span:last-child {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 9px;
  background: var(--dp-brown);
  color: var(--dp-paper);
  transition: transform 220ms var(--dp-ease);
}

.hub-leaders {
  padding: clamp(5.5rem, 9vw, 9rem) 0;
  border-top: 1px solid var(--dp-line);
  background:
    radial-gradient(circle at 12% 88%, rgba(173, 88, 59, 0.08), transparent 26%),
    var(--dp-cream);
}

.hub-leaders__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(390px, 0.7fr);
  gap: clamp(3.5rem, 9vw, 10rem);
  align-items: center;
}

.hub-leaders__copy {
  max-width: 590px;
}

.hub-leaders__copy > p {
  max-width: 440px;
  margin-top: 1.4rem;
}

.hub-leaders__copy .dp-button {
  margin-top: 2rem;
}

.hub-leaderboard-card {
  padding: clamp(1.4rem, 3vw, 2.25rem);
  border: 1px solid var(--dp-line);
  border-radius: 18px;
  background: rgba(255, 253, 250, 0.84);
  box-shadow: var(--dp-shadow-sm);
}

.hub-leaderboard-card__head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--dp-line);
}

.hub-leaderboard-card__head h3 {
  margin: 0.35rem 0 0;
  color: var(--dp-brown);
  font-family: var(--font-display);
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1;
}

.hub-leaderboard-card__head > span {
  color: var(--dp-brown-soft);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hub-leaderboard-list {
  display: flex;
  min-height: 190px;
  flex-direction: column;
  justify-content: center;
  gap: 0.55rem;
  padding: 1.2rem 0;
}

.hub-leaderboard-card .pd-leader-row {
  gap: 0.75rem;
  padding: 0.72rem 0.8rem;
  border: 1px solid var(--dp-line);
  border-radius: 11px;
  background: rgba(247, 241, 230, 0.55);
}

.hub-leaderboard-card .pd-leader-medal {
  font-size: 1.05rem;
}

.hub-leaderboard-card .pd-leader-avatar {
  width: 34px;
  height: 34px;
  border: 2px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 2px 8px rgba(51, 37, 27, 0.12);
}

.hub-leaderboard-card .pd-leader-name {
  color: var(--dp-brown);
  font-family: var(--font-body);
  font-size: 0.8rem;
  font-weight: 650;
}

.hub-leaderboard-card .pd-leader-pts {
  color: var(--dp-rust);
  font-size: 0.75rem;
  font-weight: 700;
}

.hub-leaderboard-card .pd-leader-empty {
  color: var(--dp-brown-soft);
  font-family: var(--font-body);
  font-size: 0.78rem;
}

.hub-leaderboard-card .hub-inline-link {
  padding-top: 1rem;
  border-top: 1px solid var(--dp-line);
  color: var(--dp-green-deep);
}

.hub-leaderboard-card .pd-skeleton-row {
  background: linear-gradient(
    90deg,
    rgba(51, 37, 27, 0.07) 25%,
    rgba(51, 37, 27, 0.025) 50%,
    rgba(51, 37, 27, 0.07) 75%
  );
  background-size: 200% 100%;
}

/* My Stats and account presentation */

body.my-paws-page {
  background: var(--dp-paper);
  color: var(--dp-brown);
  font-weight: 400;
}

.my-paws-page .mp-dashboard {
  padding-top: 76px;
}

.my-paws-page .mp-hero {
  display: block;
  min-height: 0;
  padding: clamp(5rem, 9vw, 8rem) 0;
  background:
    radial-gradient(circle at 82% 20%, rgba(94, 109, 92, 0.14), transparent 28%),
    linear-gradient(145deg, var(--dp-paper), var(--dp-cream));
  text-align: left;
}

.my-paws-page .mp-hero::after {
  display: none;
}

.mp-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(350px, 0.72fr);
  gap: clamp(3rem, 9vw, 9rem);
  align-items: center;
}

.my-paws-page .mp-hero .mp-hero-inner {
  width: auto;
  max-width: 720px;
  margin: 0;
  text-align: left;
}

.my-paws-page .mp-hero h1 {
  margin: 1rem 0 1.25rem;
  color: var(--dp-brown);
  font-family: var(--font-display);
  font-size: clamp(3.8rem, 6.4vw, 7rem);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 0.9;
}

.my-paws-page .mp-hero h1 em {
  color: var(--dp-green-deep);
  font-style: italic;
}

.my-paws-page .mp-hero p {
  max-width: 560px;
  margin: 0;
  color: var(--dp-brown-soft);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
}

.my-paws-page .mp-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
  margin-top: 2rem;
}

.my-paws-page .mp-google-btn {
  min-height: 50px;
  padding: 0.75rem 1.15rem;
  border: 1px solid var(--dp-line-strong);
  border-radius: 11px;
  background: #fffdfa;
  color: var(--dp-brown);
  box-shadow: var(--dp-shadow-sm);
  font-size: 0.8rem;
  font-weight: 700;
}

.my-paws-page .mp-google-btn:hover {
  border-color: rgba(51, 37, 27, 0.34);
  background: #fff;
  box-shadow: 0 16px 34px rgba(51, 37, 27, 0.12);
}

.mp-hero-summary {
  overflow: hidden;
  border: 1px solid var(--dp-line);
  border-radius: 18px;
  background: rgba(255, 253, 250, 0.72);
  box-shadow: var(--dp-shadow-sm);
}

.mp-hero-summary > div {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.25rem 0.85rem;
  padding: 1.25rem 1.4rem;
  border-bottom: 1px solid var(--dp-line);
}

.mp-hero-summary > div:last-child {
  border-bottom: 0;
}

.mp-hero-summary span {
  grid-row: span 2;
  color: var(--dp-rust);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.mp-hero-summary strong {
  color: var(--dp-brown);
  font-size: 0.86rem;
}

.mp-hero-summary small {
  color: var(--dp-brown-soft);
  font-size: 0.72rem;
}

.my-paws-page #mp-guest {
  background: var(--dp-paper);
}

.mp-guest-panel {
  width: min(calc(100% - 2 * var(--dp-gutter)), 900px);
  margin: 0 auto;
  padding: clamp(3rem, 6vw, 5rem) 0;
  text-align: center;
}

.mp-guest-panel h2 {
  margin: 0.8rem 0 1rem;
  color: var(--dp-brown);
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 4.5vw, 4.5rem);
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 0.95;
}

.mp-guest-panel > p:last-child {
  max-width: 550px;
  margin: 0 auto;
  color: var(--dp-brown-soft);
  font-size: 0.9rem;
  line-height: 1.7;
}

.my-paws-page .mp-stats,
.my-paws-page .mp-account {
  padding: clamp(4.5rem, 8vw, 7.5rem) var(--dp-gutter);
  background: var(--dp-paper);
}

.my-paws-page .mp-account {
  border-top: 1px solid var(--dp-line);
  background: var(--dp-cream);
}

.my-paws-page .mp-stats-inner,
.my-paws-page .mp-account-inner {
  max-width: 1120px;
  margin-inline: auto;
}

.my-paws-page .mp-account-inner {
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid var(--dp-line);
  border-radius: 18px;
  background: rgba(255, 253, 250, 0.82);
  box-shadow: var(--dp-shadow-sm);
}

.my-paws-page .sec-lbl {
  margin: 0;
  color: var(--dp-rust);
  font-size: 0.66rem;
  letter-spacing: 0.15em;
}

.my-paws-page .sec-h {
  margin: 0.8rem 0 clamp(2rem, 4vw, 3.5rem);
  color: var(--dp-brown);
  font-family: var(--font-display);
  font-size: clamp(3rem, 5vw, 5.4rem);
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 0.92;
}

.my-paws-page .sec-h em {
  color: var(--dp-green-deep);
  text-shadow: none;
}

.mp-stats-head {
  margin-bottom: 0;
}

.my-paws-page .mp-refresh-btn {
  min-height: 40px;
  padding: 0.55rem 0.8rem;
  border: 1px solid var(--dp-line);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.5);
  color: var(--dp-brown);
  font-size: 0.72rem;
  font-weight: 700;
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    transform 180ms var(--dp-ease);
}

.my-paws-page .mp-refresh-btn:hover {
  border-color: var(--dp-line-strong);
  background: #fffdfa;
  transform: translateY(-1px);
}

.my-paws-page .mp-game-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.my-paws-page .mp-game-box,
.my-paws-page .mp-crossgame-box {
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  border: 1px solid var(--dp-line);
  border-radius: 15px;
  background: #fffdfa;
  box-shadow: none;
  transition:
    border-color 200ms ease,
    box-shadow 220ms ease,
    transform 220ms var(--dp-ease);
}

@media (hover: hover) {
  .my-paws-page .mp-game-box:hover {
    border-color: var(--dp-line-strong);
    box-shadow: var(--dp-shadow-sm);
    transform: translateY(-3px);
  }
}

.my-paws-page .mp-crossgame-box {
  margin-top: 1rem;
  background:
    radial-gradient(circle at 94% 0%, rgba(201, 133, 63, 0.12), transparent 30%),
    var(--dp-green-deep);
  color: var(--dp-paper);
}

.my-paws-page .mp-game-hd {
  margin-bottom: 1rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid var(--dp-line);
}

.my-paws-page .mp-crossgame-box .mp-game-hd {
  border-bottom-color: rgba(255, 255, 255, 0.13);
}

.my-paws-page .mp-game-name-lbl {
  color: var(--dp-brown);
  font-family: var(--font-display);
  font-size: 1.65rem;
  font-weight: 400;
}

.my-paws-page .mp-crossgame-box .mp-game-name-lbl {
  color: var(--dp-paper);
}

.my-paws-page .mp-sec-lbl-inner {
  margin: 1rem 0 0.45rem;
  color: var(--dp-rust);
  font-size: 0.61rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.my-paws-page .mpg-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.54rem 0;
  border-bottom: 1px solid rgba(51, 37, 27, 0.08);
}

.my-paws-page .mpg-row:last-child {
  border-bottom: 0;
}

.my-paws-page .mpg-label {
  color: var(--dp-brown-soft);
  font-size: 0.74rem;
}

.my-paws-page .mpg-val {
  color: var(--dp-brown);
  font-size: 0.76rem;
  font-weight: 700;
  text-align: right;
}

.my-paws-page .mpg-val.hi {
  color: var(--dp-rust);
}

.my-paws-page .mpg-divider {
  height: 1px;
  margin: 1rem 0;
  background: var(--dp-line);
}

.my-paws-page .mpg-loading {
  padding: 1.5rem 0;
  color: var(--dp-brown-soft);
  font-size: 0.76rem;
}

.my-paws-page .mp-crossgame-grid {
  gap: 0.75rem;
}

.my-paws-page .mp-cg-item {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
}

.my-paws-page .mp-cg-label {
  color: rgba(252, 248, 241, 0.58);
}

.my-paws-page .mp-cg-val {
  color: var(--dp-paper);
}

.my-paws-page .mp-acct-row {
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
  margin-bottom: 2rem;
}

.my-paws-page .mp-acct-avatar {
  width: clamp(100px, 13vw, 145px);
  height: clamp(100px, 13vw, 145px);
  border: 1px solid var(--dp-line);
  border-radius: 18px;
  background: var(--dp-cream);
  box-shadow: var(--dp-shadow-sm);
}

.my-paws-page .mp-acct-avatar img {
  border-radius: 17px;
}

.my-paws-page .mp-acct-avatar span {
  border-radius: 17px;
}

.my-paws-page .mp-acct-label,
.my-paws-page .mp-acct-pick-label {
  color: var(--dp-brown-soft);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.my-paws-page .mp-acct-input {
  min-height: 50px;
  border: 1px solid var(--dp-line-strong);
  border-radius: 10px;
  background: var(--dp-paper);
  color: var(--dp-brown);
  font-family: var(--font-body);
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.my-paws-page .mp-acct-input:focus {
  border-color: var(--dp-green);
  box-shadow: 0 0 0 4px rgba(94, 109, 92, 0.12);
}

.my-paws-page .btn-secondary,
.my-paws-page .btn-ghost {
  min-height: 44px;
  padding: 0.65rem 1rem;
  border-radius: 9px;
  font-size: 0.74rem;
  font-weight: 700;
}

.my-paws-page .btn-secondary {
  background: var(--dp-brown);
  color: var(--dp-paper);
  box-shadow: none;
}

.my-paws-page .btn-secondary:hover {
  background: var(--dp-green-deep);
  box-shadow: none;
}

.my-paws-page .btn-ghost {
  border-color: var(--dp-line-strong);
  background: transparent;
  color: var(--dp-brown);
}

.my-paws-page .mp-dog-picker--account {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 1rem;
}

.my-paws-page .mp-dog-choice {
  overflow: hidden;
  aspect-ratio: 1;
  padding: 0;
  border: 1px solid var(--dp-line);
  border-radius: 13px;
  background: var(--dp-cream);
  box-shadow: none;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms var(--dp-ease);
}

.my-paws-page .mp-dog-choice:hover {
  border-color: var(--dp-line-strong);
  transform: translateY(-2px);
}

.my-paws-page .mp-dog-choice.is-selected {
  border-color: var(--dp-green);
  box-shadow: 0 0 0 3px rgba(94, 109, 92, 0.14);
}

.my-paws-page .mp-dog-choice img {
  width: 100%;
  height: 100%;
  border-radius: 12px;
  object-fit: cover;
}

.my-paws-page .mp-acct-foot {
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--dp-line);
}

.my-paws-page .mp-acct-foot p {
  color: var(--dp-brown-soft);
}

.my-paws-page .mp-signin-error,
.my-paws-page .mp-acct-status {
  font-size: 0.74rem;
}

/* Shared cookie presentation */

.cookie-banner {
  border: 1px solid var(--dp-line);
  border-radius: 14px;
  background: rgba(252, 248, 241, 0.97);
  color: var(--dp-brown);
  box-shadow: var(--dp-shadow-lg);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.cookie-banner strong,
.cookie-banner p,
.cookie-banner a {
  color: var(--dp-brown);
}

.cookie-banner #cookie-dismiss {
  min-height: 40px;
  border-radius: 9px;
  background: var(--dp-brown);
  color: var(--dp-paper);
}

@media (max-width: 1180px) {
  #hdr .cp-premium-nav,
  #hdr.hdr--scrolled .cp-premium-nav {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  #hdr .hamburger {
    display: flex;
  }

  #hdr .cp-premium-links {
    display: none;
    position: fixed;
    top: 76px;
    right: 0;
    left: 0;
    z-index: 899;
    width: auto;
    max-width: none;
    height: calc(100dvh - 76px);
    max-height: none;
    overflow-y: auto;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: 1.25rem var(--dp-gutter) 2rem;
    border: 0;
    border-top: 1px solid var(--dp-line);
    border-radius: 0;
    background: rgba(252, 248, 241, 0.985);
    box-shadow: none;
    transform: none;
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }

  #hdr .cp-premium-links.is-open {
    display: flex;
  }

  #hdr .cp-nav-link {
    min-height: 58px;
    justify-content: space-between;
    padding: 0.8rem 0;
    border-bottom: 1px solid var(--dp-line);
    color: var(--dp-brown);
    font-family: var(--font-display);
    font-size: clamp(1.55rem, 4vw, 2.25rem);
    font-weight: 400;
    letter-spacing: -0.015em;
  }

  #hdr .cp-nav-link::after {
    display: none;
  }

  #hdr .cp-nav-link::before {
    order: 2;
    color: var(--dp-rust);
    content: "";
    font-family: var(--font-body);
    font-size: 0.8rem;
  }

  #hdr .cp-mobile-auth-slot {
    display: flex;
    justify-content: stretch;
    padding: 1.25rem 0 0;
    margin: 0;
  }

  #hdr .cp-mobile-auth-signin {
    display: flex;
    width: 100%;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--dp-brown);
    color: var(--dp-paper);
    font-size: 0.78rem;
    font-weight: 700;
  }

  #hdr .cp-auth-signin {
    display: none;
  }

  .cp-footer-games {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hub-hero__grid,
  .hub-leaders__grid,
  .mp-hero-layout {
    grid-template-columns: 1fr;
  }

  .hub-hero__grid {
    align-items: start;
  }

  .hub-progress,
  .mp-hero-summary {
    max-width: 620px;
  }

  .hub-section-head {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .hub-section-head > p {
    max-width: 500px;
  }
}

@media (max-width: 760px) {
  #hdr,
  #hdr .cp-premium-nav,
  #hdr.hdr--scrolled .cp-premium-nav,
  #hdr .cp-premium-links {
    height: 68px;
  }

  #hdr .cp-premium-nav,
  #hdr.hdr--scrolled .cp-premium-nav {
    min-height: 68px;
  }

  #hdr .cp-premium-links {
    top: 68px;
    height: calc(100dvh - 68px);
  }

  #hdr .cp-brand-logo img,
  #hdr .cp-logo-img {
    width: 34px;
    height: 34px;
  }

  #hdr .logo-wordmark {
    font-size: 0.64rem;
  }

  #hdr .cp-game-btn-slot {
    gap: 0.25rem;
  }

  #hdr .cp-auth-toggle {
    max-width: 86px;
    padding-inline: 0.7rem;
  }

  #hdr .cp-auth-name {
    max-width: 48px;
  }

  .cp-footer-main {
    grid-template-columns: 1fr;
  }

  .cp-footer-games {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cp-footer-bottom {
    align-items: flex-start;
    flex-direction: column-reverse;
    gap: 1rem;
  }

  .homepage--hub .hub-hero {
    min-height: 0;
    padding-top: 8.5rem;
  }

  .homepage--hub .hub-hero::before {
    top: 68px;
  }

  .hub-hero__copy h1 {
    font-size: clamp(3.6rem, 17vw, 6rem);
    line-height: 0.87;
  }

  .hub-hero__copy h1 em {
    margin-top: 0.08em;
    margin-left: 0;
  }

  .hub-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .hub-actions .dp-button {
    width: 100%;
  }

  .hub-progress {
    padding: 1.4rem;
  }

  .hub-game-grid,
  .my-paws-page .mp-game-grid {
    grid-template-columns: 1fr;
  }

  .hub-game-card {
    min-height: 500px;
  }

  .hub-leaders__grid {
    gap: 3rem;
  }

  .my-paws-page .mp-dashboard {
    padding-top: 68px;
  }

  .my-paws-page .mp-hero {
    padding-block: 4.5rem;
  }

  .my-paws-page .mp-hero h1 {
    font-size: clamp(3.4rem, 15vw, 5.8rem);
  }

  .my-paws-page .mp-stats,
  .my-paws-page .mp-account {
    padding-inline: var(--dp-gutter);
  }

  .my-paws-page .mp-acct-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .my-paws-page .mp-acct-fields {
    width: 100%;
  }

  .my-paws-page .mp-dog-picker--account {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.55rem;
  }
}

@media (max-width: 520px) {
  #hdr .logo-wordmark {
    display: none;
  }

  #hdr .cp-premium-actions {
    gap: 0.35rem;
  }

  #hdr .cp-auth-toggle {
    max-width: 72px;
  }

  .hub-game-card {
    min-height: 460px;
    padding: 1.2rem;
  }

  .hub-game-card__copy h3 {
    font-size: 2.7rem;
  }

  .hub-game-card__visual {
    min-height: 165px;
    padding-block: 1.25rem;
  }

  .hub-game-card__image {
    width: min(68%, 220px);
  }

  .hub-game-card__image--sudoku {
    width: min(58%, 190px);
  }

  .hub-leaderboard-card {
    padding: 1.2rem;
  }

  .my-paws-page .mp-dog-picker--account {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .cookie-banner {
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    width: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  #hdr,
  #hdr .cp-nav-link::after,
  #hdr .cp-auth-toggle,
  #hdr .cp-auth-signin,
  .dp-button,
  .dp-button > span:last-child,
  .hub-inline-link > span:last-child,
  .hub-game-card,
  .hub-game-card__image,
  .hub-game-card__cta > span:last-child,
  .my-paws-page .mp-refresh-btn,
  .my-paws-page .mp-game-box,
  .my-paws-page .mp-dog-choice,
  .my-paws-page .btn-secondary,
  .my-paws-page .btn-ghost {
    transition: none;
  }

  .dp-button:hover,
  .hub-game-card:hover,
  .my-paws-page .mp-refresh-btn:hover,
  .my-paws-page .mp-game-box:hover,
  .my-paws-page .mp-dog-choice:hover,
  .my-paws-page .btn-secondary:hover,
  .my-paws-page .btn-ghost:hover {
    transform: none;
  }
}

/* Shared Underdogs compatibility tokens for legacy page components. */
:root {
  --cream: var(--ud-white);
  --oat: var(--ud-black-soft);
  --tan: var(--ud-black-raised);
  --sand: var(--ud-purple-black);
  --taupe: var(--ud-white-muted);
  --brown: var(--ud-purple-deep);
  --charcoal: var(--ud-black);
  --dark: var(--ud-black-raised);
  --orange: var(--ud-purple);
  --orange-lt: var(--ud-purple-bright);
  --shadow: 0 32px 80px var(--ud-shadow);
  --shadow-md: 0 40px 100px var(--ud-shadow);
  --shadow-lg: 0 55px 90px rgba(0, 0, 0, 0.42);
  --dp-brown: var(--ud-black-raised);
  --dp-brown-soft: var(--ud-white-muted);
  --dp-cream: var(--ud-white);
  --dp-cream-muted: var(--ud-white-muted);
  --dp-rust: var(--ud-purple);
  --dp-amber: var(--ud-purple-bright);
  --dp-line: var(--ud-line);
}
