:root { --ink:#10203b; --navy:#102b72; --navy-deep:#081b4b; --blue:#2762dc; --paper:#f4f7fc; --white:#fff; --line:#d6dfef; --soft:#53627a; --lime:#d7fb4f; --coral:#f2665a; --sky:#eaf1ff; --max:78rem; color-scheme:light; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:20rem; background:var(--paper); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:1rem; line-height:1.6; }
img { display:block; max-width:100%; }
a { color:inherit; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid var(--coral); outline-offset:4px; }
.shell,.article-shell { width:min(calc(100% - 3rem),var(--max)); margin-inline:auto; }
.article-shell { padding-bottom:5.5rem; }
.skip-link { position:fixed; z-index:30; top:.8rem; left:.8rem; transform:translateY(-200%); padding:.7rem 1rem; background:var(--lime); color:var(--navy-deep); font-weight:850; text-decoration:none; }
.skip-link:focus { transform:translateY(0); }
.site-header { position:sticky; z-index:20; top:0; border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); backdrop-filter:blur(12px); }
.header-inner { display:flex; min-height:4.7rem; align-items:center; justify-content:space-between; gap:1.25rem; }
.brand { display:inline-flex; align-items:center; gap:.65rem; color:var(--navy); line-height:1; text-decoration:none; }
.brand svg { width:2.3rem; height:2.3rem; fill:none; stroke:none; filter:drop-shadow(0 2px 2px rgba(8,27,75,.12)); }.logo-shell { fill:currentColor; }.logo-lines { fill:var(--white); }.logo-dot { fill:var(--lime); }.footer-brand .logo-lines { fill:var(--navy-deep); }
.brand strong,.brand small { display:block; letter-spacing:.08em; }
.brand strong { font-size:1rem; }.brand small { margin-top:.2rem; font-size:.54rem; font-weight:850; }
.primary-nav { display:flex; align-items:center; gap:1.5rem; }
.primary-nav a { color:var(--navy); font-size:.88rem; font-weight:800; text-decoration:none; }
.primary-nav a:hover { color:var(--blue); text-decoration:underline; text-underline-offset:.25rem; }
.menu-toggle { display:none; border:0; padding:.5rem; color:var(--navy); background:transparent; font:inherit; font-weight:850; cursor:pointer; }
.menu-toggle i,.menu-toggle i::before,.menu-toggle i::after { display:block; width:1.4rem; height:2px; background:currentColor; content:""; }.menu-toggle i { position:relative; margin-top:.35rem; }.menu-toggle i::before,.menu-toggle i::after { position:absolute; left:0; }.menu-toggle i::before { top:-.42rem; }.menu-toggle i::after { top:.42rem; }
.masthead { border-bottom:1px solid #dae4f8; background:linear-gradient(135deg,#fff 0%,#f8fced 100%); }
.hero-copy { padding-block:clamp(2.35rem,4vw,3.8rem); }
.kicker,.eyebrow { margin:0 0:.7rem; color:var(--coral); font-size:.73rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
h1,h2,h3,p,span,td,th { overflow-wrap:break-word; }
h1 { max-width:26ch; margin:0; color:#0b2039; font-size:clamp(2.35rem,5vw,4.45rem); font-weight:850; letter-spacing:-.073em; line-height:.98; }
.lede { max-width:none; margin:1.15rem 0 0; font-size:clamp(1.04rem,1.7vw,1.22rem); line-height:1.55; }
.lede strong,.section p strong { color:var(--navy); text-decoration:underline; text-decoration-color:var(--lime); text-decoration-thickness:.28em; text-underline-offset:-.14em; }
.hero-meta { margin:.75rem 0 0; color:#4c607e; font-size:.8rem; font-weight:750; }
.section { padding-top:clamp(3.8rem,7vw,6.2rem); }
.ranking-section { padding-block:clamp(2.25rem,4.5vw,3.7rem); background:var(--white); }
.section-intro { max-width:none; }.ranking-intro { display:grid; grid-template-columns:minmax(14rem,.78fr) minmax(20rem,1.22fr); column-gap:3rem; align-items:end; margin-bottom:1.75rem; }.ranking-intro .eyebrow { grid-column:1/-1; }.ranking-intro h2 { margin:0; }.ranking-intro p { margin:0; }
.section h2 { max-width:31ch; margin:0; color:var(--navy); font-size:clamp(2.1rem,4vw,3.45rem); font-weight:850; letter-spacing:-.055em; line-height:1.03; }
.section h3 { margin:2.4rem 0 .65rem; color:var(--navy); font-size:clamp(1.3rem,2vw,1.65rem); line-height:1.2; }
.section p { max-width:none; margin:1rem 0; }
.casino-list { display:grid; gap:.75rem; margin:0; padding:0; list-style:none; }
.casino-card { display:grid; grid-template-columns:3.2rem minmax(14rem,1fr) minmax(20rem,1.55fr) 9.3rem; align-items:center; gap:1rem; min-height:5.55rem; padding:.8rem 1rem; border:1px solid #d5dfef; border-radius:1rem; background:linear-gradient(90deg,#fbfdff 0%,#fff 74%); box-shadow:0 8px 22px rgba(16,43,114,.055); transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease; }
.casino-card:hover { transform:translateY(-2px); border-color:#a9bfea; box-shadow:0 12px 26px rgba(16,43,114,.11); }
.rank { display:flex; align-items:center; justify-content:center; width:2.45rem; height:2.45rem; border-radius:50%; background:#eaf0ff; color:var(--blue); font-size:.95rem; font-weight:900; letter-spacing:.05em; }
.casino-identity { display:flex; align-items:center; gap:.85rem; min-width:0; }.logo-box { display:flex; flex:0 0 7.25rem; align-items:center; justify-content:center; height:3.65rem; padding:.45rem .65rem; border:1px solid #d5dfee; border-radius:.6rem; background:#eef3fa; }.logo-box img { width:100%; max-height:100%; object-fit:contain; }.casino-card h3 { margin:0; color:var(--navy); font-size:1.05rem; line-height:1.2; }.casino-deal span { display:block; color:#5b6b85; font-size:.65rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }.casino-deal p { margin:.13rem 0 0; color:#112c61; font-size:.92rem; font-weight:760; line-height:1.34; }.visit-link { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; min-height:3.15rem; padding:.7rem .8rem; border-radius:.55rem; background:var(--lime); color:#0a1d48; font-size:.85rem; font-weight:900; text-decoration:none; }.visit-link:hover { background:#c8f733; }.visit-link span { font-size:1.18rem; }
.feature-grid,.licence-cards { display:grid; grid-template-columns:repeat(5,1fr); gap:.7rem; margin:1.4rem 0; padding:0; list-style:none; }.feature-grid > *,.licence-cards > * { display:block; min-height:9rem; padding:1.1rem; border:1px solid #dbe4f4; border-top:4px solid var(--blue); border-radius:.75rem; background:#fff; box-shadow:0 6px 16px rgba(16,43,114,.035); }.feature-grid strong,.licence-cards strong { display:block; margin-bottom:.55rem; color:var(--navy); font-size:.92rem; line-height:1.25; }.feature-grid span,.licence-cards span { display:block; color:#4b5b75; font-size:.84rem; line-height:1.42; }.feature-grid.bonus-grid > * { background:linear-gradient(140deg,#fff 0%,#f4f8ff 100%); }.licence-cards { grid-template-columns:repeat(3,1fr); }
.check-list,.priority-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem 1rem; max-width:none; margin:1.1rem 0; padding:0; list-style:none; }.check-list li { position:relative; min-height:3rem; padding:.7rem .8rem .7rem 2.65rem; border:1px solid #dce5f2; border-radius:.6rem; background:#fff; }.check-list li::before { position:absolute; top:.86rem; left:.9rem; display:grid; width:1.05rem; height:1.05rem; place-items:center; border-radius:50%; background:var(--lime); color:var(--navy-deep); content:"✓"; font-size:.72rem; font-weight:900; }.priority-list li { min-height:4.2rem; padding:1rem 1rem 1rem 1.2rem; border-left:4px solid var(--coral); border-radius:0 .6rem .6rem 0; background:#fff; box-shadow:0 5px 14px rgba(16,43,114,.04); }
.table-wrap { overflow-x:auto; margin:1.35rem 0; border:1px solid #d6e0ef; border-radius:.9rem; background:#fff; box-shadow:0 8px 22px rgba(16,43,114,.045); }.table-wrap table { width:100%; min-width:44rem; border-collapse:collapse; text-align:left; }.table-wrap caption { padding:.85rem 1.05rem; border-bottom:1px solid #d7e0ef; background:linear-gradient(90deg,#ecf2ff,#fff); color:var(--navy); font-size:.83rem; font-weight:850; text-align:left; }.table-wrap th,.table-wrap td { padding:.95rem 1rem; border-top:1px solid #dfe6f1; vertical-align:top; font-size:.89rem; line-height:1.42; }.table-wrap thead th { border-top:0; background:var(--navy); color:#fff; font-size:.79rem; font-weight:850; letter-spacing:.025em; }.table-wrap tbody tr:nth-child(even) { background:#f8faff; }.table-wrap tbody tr:hover { background:#eef4ff; }.table-wrap tbody th { color:var(--navy); font-weight:800; }.table-wrap tbody td { color:#394a65; }
.notice { margin:1.3rem 0; padding:1rem 1.15rem; border:1px solid #efbd56; border-radius:.65rem; background:#fff7df; }.notice.urgent { border-color:var(--coral); background:#fff0ee; }.responsible-section { scroll-margin-top:5.5rem; }.responsible-section .eyebrow { color:#be4b42; }
.faq-section details { border:1px solid #d6dfed; border-bottom:0; background:#fff; }.faq-section details:first-of-type { margin-top:1.25rem; border-radius:.8rem .8rem 0 0; }.faq-section details:last-of-type { border-bottom:1px solid #d6dfed; border-radius:0 0 .8rem .8rem; }.faq-section summary { display:flex; align-items:center; justify-content:space-between; min-height:4.2rem; padding:.95rem 1rem; color:var(--navy); cursor:pointer; font-weight:850; list-style:none; }.faq-section summary::-webkit-details-marker { display:none; }.faq-section summary::after { flex:0 0 auto; margin-left:1rem; content:"+"; font-size:1.5rem; font-weight:400; }.faq-section details[open] summary::after { content:"−"; }.faq-section details p { margin:0; padding:0 1rem 1.1rem; }
.site-footer { padding-top:3.5rem; background:var(--navy-deep); color:#dce6ff; }.footer-top { display:grid; grid-template-columns:1.55fr .65fr .78fr; gap:2rem; padding-bottom:2.4rem; }.footer-brand { color:#fff; }.footer-top p { margin:.8rem 0; color:#c8d4f2; font-size:.9rem; }.footer-top h2 { margin:0 0 .65rem; color:#fff; font-size:.83rem; letter-spacing:.08em; text-transform:uppercase; }.footer-top a:not(.brand) { display:block; margin:.32rem 0; color:#dce6ff; font-size:.9rem; }.footer-disclosure { color:var(--lime)!important; font-weight:800; }.support-links { display:grid; grid-template-columns:repeat(6,1fr); gap:.65rem; padding-block:1.25rem; border-top:1px solid rgba(255,255,255,.16); }.support-links a { display:flex; align-items:center; justify-content:center; min-height:3.45rem; padding:.5rem; border:1px solid rgba(255,255,255,.22); border-radius:.5rem; background:#24386d; }.support-links a:hover { background:#304985; }.support-links img { width:100%; max-height:2rem; object-fit:contain; }.footer-bottom { display:flex; justify-content:space-between; gap:1rem; padding-block:1.05rem; border-top:1px solid rgba(255,255,255,.16); color:#aebddd; font-size:.78rem; }
@media (max-width:66rem) { .ranking-intro { grid-template-columns:1fr; gap:.55rem; }.casino-card { grid-template-columns:3.1rem minmax(13rem,1fr) minmax(17rem,1.2fr) 8.8rem; }.feature-grid,.feature-grid.bonus-grid { grid-template-columns:repeat(3,1fr); }.feature-grid > * { min-height:7.9rem; } }
@media (max-width:51rem) { .casino-card { grid-template-columns:3rem minmax(0,1fr) 8.7rem; }.casino-deal { grid-column:2; }.visit-link { grid-column:3; grid-row:1 / span 2; }.feature-grid,.feature-grid.bonus-grid { grid-template-columns:repeat(2,1fr); }.licence-cards { grid-template-columns:1fr; }.footer-top { grid-template-columns:1fr 1fr; }.footer-top > :first-child { grid-column:1/-1; } }
@media (max-width:42rem) { .shell,.article-shell { width:min(calc(100% - 1.3rem),var(--max)); }.header-inner { min-height:4.25rem; }.menu-toggle { display:inline-flex; flex-direction:column; align-items:flex-end; }.primary-nav { position:absolute; top:100%; right:0; left:0; display:none; gap:0; padding:.6rem max(.75rem,calc((100% - var(--max))/2)); border-bottom:1px solid var(--line); background:#fff; box-shadow:0 7px 16px rgba(8,27,75,.09); }.primary-nav[data-open="true"] { display:grid; }.primary-nav a { display:flex; align-items:center; min-height:2.7rem; }.hero-copy { padding-block:2.7rem 3rem; }h1 { font-size:clamp(2.18rem,11vw,3rem); }.section h2 { max-width:18ch; }.casino-card { grid-template-columns:2.55rem minmax(0,1fr); gap:.7rem; padding:.75rem; }.rank { width:2.25rem; height:2.25rem; align-self:start; }.casino-identity { grid-column:2; }.logo-box { flex-basis:6.1rem; height:3.25rem; }.casino-deal { grid-column:2; }.visit-link { grid-column:2; grid-row:auto; width:100%; }.feature-grid,.feature-grid.bonus-grid,.check-list,.priority-list { grid-template-columns:1fr; }.feature-grid > * { min-height:0; }.table-wrap { margin-inline:-.65rem; border-radius:0; }.footer-top { grid-template-columns:1fr; }.footer-top > :first-child { grid-column:auto; }.support-links { grid-template-columns:repeat(3,1fr); }.footer-bottom { display:grid; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.casino-card { transition:none; }.casino-card:hover { transform:none; } }
