/* Approved sibling style, then this page’s section treatments. */
@import url("/assets/mockup/v9-loki/verovapaat/category.css?v=b351be5791");
/* Approved sibling typography and paper; harbour-register section treatments. */
.category-hero h1{font-size:clamp(42px,5.4vw,78px);line-height:.96}
.category-hero h1>span{max-width:none}
.category-hero h1 em{font-size:clamp(30px,3.1vw,44px);max-width:23ch}
.category-hero .hero-plate{width:100%;margin:0;align-self:center}
.category-intro,.category-commission{max-width:none}
.prose-columns{columns:1!important}.section-body p{max-width:none}
.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
/* Harbour ledger: official identity tiles, dotted entries and comparison tabs. */
.manifest-table{border-block:3px double var(--ink-3)}
.manifest-table table{min-width:880px}
.manifest-table th:first-child{width:20%}.manifest-table th:nth-child(2){width:18%}.manifest-table th:nth-child(3){width:25%}.manifest-table th:nth-child(4){width:17%}.manifest-table th:nth-child(5){width:20%}
.manifest-identity{display:flex;align-items:center;gap:10px}
.manifest-identity>.casino-logo{width:64px;height:44px;padding:7px}
.manifest-identity>span:last-child{font-size:18px}
.manifest-table td:nth-child(3){border-inline:1px dotted var(--rule)}
.manifest-table td:last-child{font-size:0;line-height:0}
.route-chip{display:inline-block;font:9px/1.6 var(--mono);padding:3px 7px;border:1px solid var(--ink-3);border-radius:2px;margin:0 4px 5px 0;background:var(--wash);color:var(--ink)}
.manifest-table tbody tr:last-child td:nth-child(4){border-left:2px solid var(--red)}
/* Six separate route cards, each with its own small original engraved vignette. */
.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}
.guide-card{min-width:0;border-block:3px double var(--ink-3);padding:22px;background:var(--wash);display:flow-root}
.guide-card:nth-child(even){background:transparent}
.guide-thumb{display:block;width:144px;aspect-ratio:1.5;overflow:hidden;margin:0 0 18px;border-bottom:1px dotted var(--ink-3)}
.guide-thumb img{width:100%;height:100%;object-fit:cover}
.guide-card h3{font-size:30px;margin:0 0 18px;max-width:none}
.guide-card p{font-size:12px;line-height:1.9}
/* Casino index folios: screenshot, logo, title, table-derived facts, source copy. */
.casino-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;margin-top:27px;align-items:stretch}
.casino-card{grid-column:span 3}.casino-card:nth-last-child(-n+3){grid-column:span 2}
.casino-card{min-width:0;display:flex;flex-direction:column;border:1px solid var(--ink-3);border-bottom:3px double var(--ink-3);position:relative}
.casino-card::after{content:'♧';position:absolute;right:18px;bottom:20px;font:25px/1 var(--serif);color:var(--ink-3);pointer-events:none}
.casino-card:nth-child(even)::after{content:'♢'}
.casino-card .casino-shot{width:100%;max-width:none;margin:0;border:0;border-bottom:1px solid var(--ink-3)}
.casino-card-body{padding:22px;display:flex;flex-direction:column;flex:1;min-width:0}
.casino-card-body>.casino-logo{width:102px;height:59px;padding:10px;margin-bottom:18px}
.casino-card h3{font-size:31px;line-height:1.13;margin:0 0 20px;max-width:none}
.casino-card .casino-facts{position:static;align-self:auto;width:100%;max-width:none;margin:0 0 22px;padding:15px 0;border-inline:0;border-block:1px solid var(--rule);background:var(--wash);font-size:10px}
.casino-card .casino-facts h4{font:10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.06em;margin:0 12px 12px}
.casino-card .casino-facts dl{display:grid;grid-template-columns:94px minmax(0,1fr);gap:0 12px;margin:0 12px}
.casino-card .casino-facts dt,.casino-card .casino-facts dd{padding:8px 0;margin:0;border-top:1px dotted var(--rule);font-size:10px;line-height:1.7}
.casino-card .casino-facts dt:first-child,.casino-card .casino-facts dd:nth-child(2){border:0;padding-top:0}
.casino-card-copy{margin-bottom:22px}.casino-card-copy p{font-size:12px;line-height:1.9}
.casino-card .review-button{margin-top:auto;align-self:start;text-decoration:none;font:11px/1.5 var(--mono);min-height:41px;padding:11px 17px;color:var(--ink);background:var(--wash)}
.review-button[aria-disabled=true]{cursor:default}
/* Three full-width inspection entries, using the siblings' stamped ledger. */
.method-seals{grid-template-columns:1fr;gap:18px}
.method-seal{padding:23px 25px 23px 94px;position:relative}
.method-seal .seal-mark{position:absolute;left:22px;top:24px;width:43px;height:43px;margin:0;font-size:25px}
.method-seal h3{font-size:30px;margin-top:0;min-height:0}
.method-seal p{font-size:13px}.method-seal .prose-columns{clear:both}
.component-profiles{padding-bottom:28px}.component-method{padding-top:32px}
.safety-entry{border-top:1px solid color-mix(in srgb,var(--red) 30%,transparent);padding-top:24px;margin-top:22px}
.safety-entry h3{color:var(--red);margin-top:0}.safety-entry:last-child{border-top-style:dashed}
.faq-entry[open]{background:var(--wash);padding-right:18px}
/* Only the whole feather and flame move. Paper silhouettes remain crisp. */
.register-plate .quill-motion{transform-origin:15.75% 36.72%;animation:register-quill 5s ease-in-out infinite}
.register-plate .flame-motion{transform-origin:85.29% 26.66%;animation:register-flame 2.4s ease-in-out infinite}
.register-plate .flame-ink{animation:register-flutter 2.4s ease-in-out infinite;animation-play-state:inherit}
.lamp-glow{position:absolute;left:79%;top:8%;width:12.5%;height:22%;border-radius:50%;background:radial-gradient(ellipse,#efe9dc 0%,#efe9dc80 30%,transparent 72%);mix-blend-mode:normal;animation:register-glow 2.4s ease-in-out infinite;pointer-events:none}
@keyframes register-quill{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}
@keyframes register-flame{0%,100%{transform:scaleY(.94) skewX(-1deg)}23%{transform:scaleY(1.035) skewX(.8deg)}41%{transform:scaleY(.975) skewX(-.35deg)}67%{transform:scaleY(1.06) skewX(1deg)}83%{transform:scaleY(.96) skewX(-.7deg)}}
@keyframes register-flutter{0%,100%{opacity:.88}23%{opacity:1}41%{opacity:.92}67%{opacity:1}83%{opacity:.9}}
@keyframes register-glow{0%,100%{opacity:.10}23%{opacity:.17}41%{opacity:.12}67%{opacity:.20}83%{opacity:.11}}
.register-plate noscript img{width:100%;height:auto;display:block}
@media(max-width:1100px){.category-hero .hero-plate{width:100%}}
@media(max-width:720px){
 .category-hero h1{font-size:44px}.category-hero h1 em{font-size:34px;max-width:none}
 .category-byline{grid-row:2;margin-top:20px}.category-hero .hero-plate{grid-row:3;width:calc(100% + 16px);margin:5px 0 20px}.category-commission{grid-row:4}.category-intro{grid-row:5}
 .guide-grid,.casino-grid{grid-template-columns:1fr;gap:22px}.casino-card,.casino-card:nth-last-child(-n+3){grid-column:auto}.guide-card,.casino-card-body{padding:20px}
 .guide-thumb{width:132px}.guide-card h3{font-size:29px}.guide-card p,.casino-card-copy p{font-size:12.5px}
 .casino-card h3{font-size:30px}.casino-card .casino-facts dl{grid-template-columns:87px minmax(0,1fr)}
 .method-seal{padding:22px}.method-seal .seal-mark{position:static;float:left;margin:2px 20px 16px 0}.method-seal h3{display:block;min-height:43px;font-size:28px}.method-seal p{font-size:12.5px}
 .manifest-table th:first-child{position:sticky;left:0;background:var(--paper);z-index:1;border-right:1px solid var(--ink-3)}
 .manifest-table thead th:first-child{background:var(--ink);color:var(--paper)}
}
@media(prefers-reduced-motion:reduce){.register-plate .flame-ink{animation:none!important}.register-plate .lamp-glow{opacity:.12!important}}
