/* Photographs belong to the game surface, not just to a title badge. */
.photo-game-layout{display:grid!important;grid-template-columns:minmax(150px,.65fr) minmax(0,1.35fr);gap:24px;align-items:start;position:relative}.photo-game-controls{min-width:0}.hairold-companion{margin:12px 0 0;position:relative;align-self:start;transform:rotate(-3deg);border:8px solid #fff;background:#fff;box-shadow:0 9px 22px #142f3220;z-index:1}.hairold-companion img{display:block;width:100%;height:300px;object-fit:cover;object-position:50% 43%}.hairold-companion.crop-wide img{object-position:37% 44%;height:250px}.hairold-companion.crop-nose img{object-position:36% 46%;height:280px;object-fit:cover}.hairold-companion figcaption{padding:14px 5px 6px;font-size:14px;line-height:1.3;color:var(--ink)}.companion-label{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;margin-bottom:8px;color:var(--teal)}[data-game-reaction]{display:block}.hairold-round-complete .hairold-companion{border-color:#e7ee80;transform:rotate(2deg)}.hairold-round-complete .companion-label{color:var(--ink)}
[data-arcade-photo] .page-hero{background:#f7f5ef;color:var(--ink);padding-block:25px 10px}[data-arcade-photo] .page-hero h1{font-size:clamp(2.5rem,4vw,4rem);margin-bottom:12px}[data-arcade-photo] .page-hero .lead{font-size:17px;max-width:650px}[data-arcade-photo] .play-layout{grid-template-columns:minmax(0,1fr) 215px;gap:30px}[data-arcade-photo] .play-aside{font-size:14px;padding:20px 0 20px 20px}[data-arcade-photo] .play-board{margin-top:20px;box-shadow:0 7px 0 #142f3220;border:10px solid #fffdf5;border-radius:12px;background:#fffdf5}[data-arcade-photo="golden-grid"] .board-grid button{border-radius:8px;background:#254e49;color:white;border:2px solid #254e49;font-size:15px;font-weight:800;min-height:64px}[data-arcade-photo="golden-grid"] .board-grid button.gold{background:#e5bd59;color:#142f32;border-color:#9c6d16}[data-arcade-photo="golden-grid"] .board-grid button[aria-pressed=true]::before{content:'●';display:block;font-size:21px;line-height:1.1}[data-arcade-photo="golden-grid"] .board-grid button[aria-pressed=false]::before{content:'○';display:block;font-size:21px;line-height:1.1}[data-arcade-photo="golden-grid"] .game-toolbar{margin-top:25px}[data-arcade-photo="sniff-detective"] .v11-arena{background:#edf0e8;border:0;border-top:5px solid var(--teal);border-radius:0}[data-arcade-photo="treat-tower"] .v11-arena{border-radius:14px 14px 3px 3px;background:#254e49;border:8px solid #fffdf5;box-shadow:0 6px 0 #142f3220}[data-arcade-photo="word-fetch"] .letter-rack{background:#fffdf5;border-bottom:4px solid #bc542b;letter-spacing:.09em}[data-arcade-photo="leash-logic"] .v11-arena{background:#e5e9db;border:2px solid #6e8b77;border-radius:40px}[data-arcade-photo="paw-tac-toe"] .board-ttt button{background:#f1e8d1;border-radius:50%;color:var(--ink)}[data-arcade-photo="memory"] .memory-card{border-radius:4px;border:3px solid #fff;box-shadow:0 4px 0 #142f3220}[data-arcade-photo="dvd"] .arena,[data-arcade-photo="catch-hairold"] .arena{border:8px solid #fffdf5;box-shadow:0 7px 0 #142f3220;border-radius:22px}[data-arcade-photo="hairold-says"] .says-grid{transform:rotate(2deg);padding:12px;background:#fffdf5;border-radius:20px}[data-arcade-photo="boop-reflex"] .reflex-portrait{border:8px solid #fff;box-shadow:0 8px 0 #142f3220;border-radius:35% 35% 8px 8px;max-width:640px}.hairold-round-complete[data-arcade-photo="boop-reflex"] .reflex-portrait{border-color:#e7ee80}
/* Homepage Golden Grid: use the first-day portrait already in the story flow. */
.ad-play-spread{background:#e2e7dd;grid-template-columns:.85fr 1.15fr;gap:35px}.ad-demo{transform:none;background:transparent;color:var(--ink);box-shadow:none;padding:0;max-width:560px;display:grid;grid-template-columns:42% 1fr;gap:0 20px;align-items:start}.ad-demo>.hairold-companion{grid-column:1;grid-row:1/9;transform:rotate(-4deg);margin-top:40px}.ad-demo>.hairold-companion img{height:320px;object-position:center 42%}.ad-demo>*:not(.hairold-companion){grid-column:2}.ad-demo .ad-demo-heading{font-size:10px;margin-bottom:12px}.ad-demo .play-board{width:100%;max-width:none;margin:10px 0 20px;border:8px solid #fffdf5;border-radius:12px;box-shadow:0 6px 0 #142f321f;background:#fffdf5;gap:5px}.ad-demo .play-board button{min-height:44px;border-radius:5px;font-size:12px;background:#254e49;color:white}.ad-demo .play-board button[aria-pressed=true]{background:#e5bd59;color:var(--ink)}.ad-demo .play-board button[aria-pressed=false]{background:#254e49;color:white}.ad-demo .game-message,.ad-demo #new-best,.ad-demo #new-stats,.ad-demo [data-score-card]{color:var(--ink)}.ad-demo .btn{background:var(--ink);color:white;border-color:var(--ink);font-size:14px;padding:10px}.ad-demo .btn.outline{color:var(--ink);border-color:var(--ink)}.ad-demo .game-toolbar{gap:8px;flex-wrap:wrap}.ad-demo [data-score-card]{font-size:14px;text-align:left}.ad-demo .hairold-companion figcaption{font-size:12px}.ad-demo .companion-label{font-size:9px}
/* Photographic entry points; both images are confirmed, not stock dogs. */
.photo-selection{height:265px;position:relative;background:#274d45}.photo-selection img{height:100%;width:100%;object-fit:cover;object-position:center 41%}.photo-selection>span{position:absolute;bottom:12px;left:12px;background:#fffdf5;color:var(--ink);padding:8px 12px;font-size:12px;font-weight:800;letter-spacing:.05em}.photo-boop-reflex{background-image:url('/images/hairold-comfort-toy-960.webp');background-size:cover;background-position:37% 42%}.photo-selection.photo-golden-grid img{object-position:50% 43%}.identity-clue{background-image:linear-gradient(90deg,#142f32ec,#142f3235),url('/images/hairold-comfort-toy-480.webp');background-size:cover;background-position:36% 45%;color:#fff}.art-directed #game-catalog>a:nth-child(-n+2){grid-column:span 1}.art-directed #game-catalog>a:nth-child(-n+2) .game-art{height:265px}
@media(max-width:1100px){[data-arcade-photo] .play-layout{grid-template-columns:1fr}.photo-game-layout{grid-template-columns:minmax(160px,.6fr) minmax(0,1.4fr)}[data-arcade-photo] .play-aside{border-left:0;border-top:1px solid var(--line);padding:18px 0;display:flex;flex-wrap:wrap;gap:12px 22px}[data-arcade-photo] .play-aside>p{margin:0}.ad-play-spread{grid-template-columns:1fr 1.2fr}.ad-demo{grid-template-columns:36% 1fr;gap:0 14px}.ad-demo>.hairold-companion img{height:260px}}
@media(max-width:700px){.photo-game-layout{display:flex!important;flex-direction:column;gap:20px}.photo-game-controls{width:100%}.hairold-companion{display:grid;grid-template-columns:54% 1fr;width:100%;border:5px solid white;transform:rotate(-1deg);margin:0;box-shadow:4px 5px 0 #142f3212}.hairold-companion img,.hairold-companion.crop-wide img,.hairold-companion.crop-nose img{height:175px;object-position:center 44%;border-radius:0}.hairold-companion.crop-wide img,.hairold-companion.crop-nose img{object-position:36% 44%}.hairold-companion figcaption{align-self:center;padding:15px 12px;font-size:16px}.companion-label{font-size:10px}[data-arcade-photo] .section{padding-top:20px}[data-arcade-photo] .page-hero h1{font-size:2.7rem}[data-arcade-photo] .page-hero .lead{font-size:16px}[data-arcade-photo] .play-board{max-width:390px;margin:15px auto 20px}[data-arcade-photo="golden-grid"] .board-grid button{min-height:58px}.ad-play-spread{grid-template-columns:1fr;padding-top:30px;gap:20px}.ad-play-copy h2{font-size:2.5rem}.ad-demo{display:block;max-width:420px;width:100%;padding:0}.ad-demo>.hairold-companion{margin:0 0 24px;transform:rotate(-2deg);grid-template-columns:56% 1fr}.ad-demo>.hairold-companion img{height:195px;object-position:center 43%}.ad-demo .hairold-companion figcaption{font-size:16px}.ad-demo .companion-label{font-size:10px}.ad-demo .ad-demo-heading{font-size:12px}.ad-demo .play-board{max-width:340px;margin:15px auto 20px;border-width:10px;gap:8px}.ad-demo .play-board button{min-height:65px;font-size:15px}.ad-demo .btn{font-size:16px;padding:12px 17px}.ad-demo #new-best,.ad-demo #new-stats{font-size:14px}.ad-demo [data-score-card]{font-size:16px}.photo-selection{height:220px}.identity-clue{background-position:36% center}}
@media(max-width:375px){.hairold-companion figcaption{font-size:14px;padding:12px 8px}.hairold-companion img,.hairold-companion.crop-wide img,.hairold-companion.crop-nose img{height:155px}.ad-demo .hairold-companion figcaption{font-size:14px}.ad-demo .play-board button{min-height:58px}.ad-demo .companion-label{font-size:9px}.photo-game-layout{gap:16px}}
@media(prefers-reduced-motion:reduce){.hairold-companion,.hairold-round-complete .hairold-companion,.ad-demo>.hairold-companion,[data-arcade-photo="hairold-says"] .says-grid{transform:none!important}}
@media print{.hairold-companion,.photo-selection{display:none!important}.photo-game-layout{display:block!important}}
/* Different mechanics get different photo compositions. */
[data-arcade-photo="golden-grid"] .hairold-companion{border-radius:45% 45% 3px 3px;overflow:hidden;transform:rotate(-4deg)}[data-arcade-photo="golden-grid"] .hairold-companion img{height:360px}[data-arcade-photo="word-fetch"] .hairold-companion{border:0;border-bottom:7px solid #bc542b;transform:none;background:transparent;box-shadow:none}[data-arcade-photo="word-fetch"] .hairold-companion img{border-radius:50% 50% 0 0;height:230px}[data-arcade-photo="sniff-detective"] .hairold-companion{border-color:#e1e8db;transform:rotate(3deg)}[data-arcade-photo="sniff-detective"] .companion-label{color:#6c401e}[data-arcade-photo="memory"] .hairold-companion{transform:rotate(-5deg);border-bottom-width:20px}[data-arcade-photo="treat-tower"] .hairold-companion{margin-top:50px;border-color:#e7d9b8;box-shadow:-6px 8px 0 #9b77572b}[data-arcade-photo="dvd"] .hairold-companion{border-radius:100px 100px 8px 8px;overflow:hidden;background:#e1e8db;border-color:#e1e8db}[data-arcade-photo="paw-tac-toe"] .hairold-companion{background:#eee0ba;border-color:#eee0ba;transform:rotate(4deg)}[data-arcade-photo="leash-logic"] .hairold-companion{border:0;border-left:5px solid #567e62;border-bottom:5px solid #567e62;transform:none;box-shadow:none}[data-arcade-photo="photo-puzzle"] .photo-game-layout{grid-template-columns:170px minmax(0,1fr)}[data-arcade-photo="photo-puzzle"] .hairold-companion{transform:none;box-shadow:none;border:0;background:transparent}[data-arcade-photo="photo-puzzle"] .hairold-companion img{height:180px;border-radius:50% 50% 0 0}
@media(max-width:700px){[data-arcade-photo="golden-grid"] .hairold-companion{display:block;max-width:330px;align-self:center;border-radius:42% 42% 3px 3px;transform:rotate(-2deg);width:92%}[data-arcade-photo="golden-grid"] .hairold-companion img{height:210px;object-position:center 42%}[data-arcade-photo="golden-grid"] .hairold-companion figcaption{padding:10px 14px}[data-arcade-photo="golden-grid"] .companion-label{margin-bottom:5px}[data-arcade-photo="word-fetch"] .hairold-companion{grid-template-columns:60% 1fr}[data-arcade-photo="word-fetch"] .hairold-companion img{height:160px}[data-arcade-photo="treat-tower"] .hairold-companion{margin-top:0}[data-arcade-photo="dvd"] .hairold-companion{border-radius:0 45px 0 0}[data-arcade-photo="memory"] .hairold-companion{transform:rotate(-1deg);border-bottom-width:5px}[data-arcade-photo="photo-puzzle"] .hairold-companion{grid-template-columns:44% 1fr}[data-arcade-photo="photo-puzzle"] .hairold-companion img{height:160px}.hairold-round-complete[data-arcade-photo] .hairold-companion{border-color:#d9b34d}}
.board-puzzle button{position:relative;overflow:hidden}.board-puzzle .puzzle-photo-piece{position:absolute;max-width:none;object-fit:cover;object-position:50% 43%;pointer-events:none;user-select:none}.board-puzzle button>span{position:relative;z-index:1}

/* Treat Tower's hit-box-sized chew layers; decoration never extends beyond a layer. */
[data-arcade-photo="treat-tower"] .v11-arena.tower{background-color:#645143;background-image:linear-gradient(180deg,rgba(31,20,12,.16),rgba(31,20,12,.36)),url('/images/hairold-portrait-960.webp');background-position:center,center 38%;background-size:cover;background-repeat:no-repeat}
[data-arcade-photo="treat-tower"] .tower-layer{box-sizing:border-box;height:25px;border:1px solid #4d2a13;border-radius:4px;background-color:#aa6b32;background-image:repeating-linear-gradient(90deg,transparent 0 11px,rgba(63,30,11,.13) 11px 12px),linear-gradient(180deg,#e0b479 0%,#b0783c 14%,#613516 20%,#d7a265 28%,#b88043 42%,#75431f 49%,#d5a05d 58%,#a66e35 74%,#603518 82%,#c48d4d 88%,#835023 100%);box-shadow:inset 0 1px 0 #edc48d,inset 0 -1px 0 #3c210e;overflow:hidden;color:#fff;line-height:23px}
[data-arcade-photo="treat-tower"] .tower-layer.moving{border-color:#fff2d7;box-shadow:inset 0 0 0 1px #815024,inset 0 1px 0 #f8d9a4}
[data-arcade-photo="treat-tower"] .tower-label{display:inline-block;max-width:100%;padding:0 5px;background:#321b10;color:#fff;border-radius:3px;font:800 13px/18px system-ui;vertical-align:middle;overflow:hidden;text-overflow:clip}
