 *,
 *::before,
 *::after {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
 }

 :root {
    --color-dark: #020617;
    --color-white: #FFFFFF;
    --color-primary: #2563EB;
    --color-secondary: #F97316;
    --color-accent-bg: #0F172A;
    --color-light-bg: #F3F4F6;
    --color-shadow: rgba(15, 23, 42, 0.16);
     --border-radius: 8px;
     --transition-speed: 0.3s;

     --accent: #00A36C;
     --bg: #ffffff;
     --text: #0f172a;
     --muted: #6b7280;
     --border: #e5e7eb;
     --overlay: rgba(15, 23, 42, .72);
     --radius: 14px;
 }

 body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
     line-height: 1.6;
     color: var(--color-dark);
     background-color: var(--color-white);
     min-height: 100vh;
 }

 .container {
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 15px;
 }

 h1,
 h2,
 h3,
 h4 {
     margin-bottom: 0.5em;
     font-weight: bold;
     line-height: 1.2;
 }

 h1 {
     font-size: 2.5em;
 }

 h2 {
     font-size: 2em;
     margin-top: 1.5em;
 }

 h3 {
     font-size: 1.5em;
 }

 a {
     color: var(--color-primary);
     text-decoration: none;
     transition: color var(--transition-speed);
 }

 a:hover {
     color: var(--color-dark);
 }

 p {
     margin-bottom: 1em;
 }

 .dark-bg {
     background-color: var(--color-dark);
     color: var(--color-white);
     padding: 40px 0;
 }

 .dark-bg a {
     color: var(--color-secondary);
 }


 .btn {
     padding: 10px 20px;
     border: none;
     border-radius: 50px;
     cursor: pointer;
     font-weight: bold;
     text-align: center;
     transition: background-color var(--transition-speed), box-shadow var(--transition-speed);
     display: inline-flex;
     align-items: center;
     gap: 8px;
 }

 .btn-primary {
     background-color: var(--color-primary);
     color: var(--color-white);
     box-shadow: 0 4px 8px var(--color-shadow);
 }

 .btn-primary:hover,
 .btn-primary:focus {
     background-color: #008f5c;
     box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
 }

 .btn-secondary {
     background-color: var(--color-light-bg);
     color: var(--color-dark);
     border: 2px solid var(--color-dark);
 }

 .btn-secondary:hover,
 .btn-secondary:focus {
     background-color: var(--color-dark);
     color: var(--color-white);
     border-color: var(--color-dark);
 }

 .btn-tertiary {
     background-color: var(--color-secondary);
     color: var(--color-dark);
     font-size: 0.9em;
     padding: 8px 15px;
 }

 .btn-tertiary:hover {
     background-color: #e5c100;
 }

 .btn-full-width {
     width: 100%;
     display: flex;
     justify-content: center;
     align-items: center;
 }

 .btn-light-outline {
     background: transparent;
     color: var(--color-dark);
     border: 2px solid var(--color-dark);
     padding: 8px 15px;
 }

 .btn-light-outline:hover {
     background: var(--color-dark);
     color: var(--color-white);
 }


 .sticky-header {
     position: sticky;
     top: 0;
     z-index: 1000;
     background-color: var(--color-white);
     box-shadow: 0 2px 5px var(--color-shadow);
     padding: 10px 0;
 }

 .header-content {
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

 .logo {
     font-size: 1.5em;
     font-weight: 900;
     color: var(--color-dark);
 }

 .logo:hover {
     color: var(--color-primary);
 }

 .nav-list {
     list-style: none;
     display: flex;
     gap: 20px;
 }

 .nav-list a {
     text-transform: uppercase;
     font-size: 0.9em;
     padding: 5px 0;
     border-bottom: 2px solid transparent;
 }

 .nav-list a.cta-link {
     color: var(--color-primary);
     font-weight: bold;
 }

 .nav-list a.accent-link {
     color: var(--color-secondary);
     font-weight: bold;
 }

 .nav-list a:hover {
     border-bottom-color: var(--color-primary);
 }

 .burger-menu {
     display: none;
     font-size: 1.5em;
     border: none;
     background: none;
     color: var(--color-dark);
     cursor: pointer;
 }


 @media (max-width: 768px) {
     .burger-menu {
         display: block;
     }

     #main-nav {
         display: none;
         position: absolute;
         top: 100%;
         left: 0;
         right: 0;
         background-color: var(--color-dark);
         box-shadow: 0 4px 5px rgba(0, 0, 0, 0.3);
         padding: 10px 0;

         transform: translateY(-20px);
         opacity: 0;
         transition: transform 0.3s ease-out, opacity 0.3s ease-out;
     }

     #main-nav.active {
         display: block;
         transform: translateY(0);
         opacity: 1;
     }

     .nav-list {
         flex-direction: column;
         padding: 10px 15px;
         gap: 0;
     }

     .nav-list li {
         border-bottom: 1px solid rgba(255, 255, 255, 0.1);
     }

     .nav-list a {
         display: block;
         padding: 10px 0;
         color: var(--color-white);
     }

     .nav-list a.cta-link,
     .nav-list a.accent-link {
         color: var(--color-secondary);
     }
 }




#hero {
    padding: 80px 0;
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, 0.45), transparent 55%),
        radial-gradient(circle at bottom right, rgba(249, 115, 22, 0.45), transparent 55%),
        linear-gradient(135deg, #020617, #020617 30%, #020617 100%);
    color: #E5E7EB;
}

.hero-layout {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: 40px;
    align-items: center;
}

.hero-main h1 {
    font-size: 2.6em;
    max-width: 720px;
    margin-bottom: 16px;
}

.hero-main p {
    font-size: 1.05em;
    max-width: 620px;
}

.hero-kicker {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.8rem;
    color: #93C5FD;
    margin-bottom: 10px;
}

.hero-note {
    font-size: 0.85em;
    opacity: 0.85;
    margin-top: 12px;
}

.hero-ctas {
    display: flex;
    justify-content: flex-start;
    gap: 16px;
    margin-top: 20px;
}

.hero-aside {
    display: flex;
    justify-content: flex-end;
}

.hero-aside-card {
    background: rgba(15, 23, 42, 0.9);
    border-radius: 18px;
    padding: 20px 22px;
    border: 1px solid rgba(148, 163, 184, 0.5);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.75);
    max-width: 320px;
}

.hero-aside-label {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #9CA3AF;
    margin-bottom: 12px;
}

.hero-aside-list {
    list-style: none;
    padding: 0;
    margin: 0 0 14px;
}

.hero-aside-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid rgba(31, 41, 55, 0.9);
    font-size: 0.95rem;
}

.hero-aside-list li:last-child {
    border-bottom: none;
}

.tag {
    font-size: 0.75rem;
    padding: 3px 9px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.2);
    color: #BFDBFE;
}

.hero-aside-foot {
    font-size: 0.8rem;
    color: #9CA3AF;
}

@media (max-width: 900px) {
    .hero-layout {
        grid-template-columns: 1fr;
    }

    .hero-aside {
        justify-content: flex-start;
    }
}


 .features-section {
     padding: 40px 0;
     text-align: center;
 }

 .feature-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
     gap: 30px;
     margin-top: 30px;
 }

 .feature-card i {
     color: var(--color-secondary);
     margin-bottom: 15px;
 }


 .how-it-works-section h2 {
     color: var(--color-white);
     text-align: center;
 }

 .steps-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
     gap: 30px;
     margin-top: 30px;
     text-align: center;
 }

 .step-card {
     background-color: var(--color-dark);
     padding: 30px;
     border-radius: var(--border-radius);
     border: 1px solid var(--color-primary);
 }

 .step-icon {
     display: inline-block;
     width: 40px;
     height: 40px;
     line-height: 40px;
     background-color: var(--color-primary);
     color: var(--color-white);
     border-radius: 50%;
     font-weight: bold;
     margin-bottom: 15px;
 }


 .popular-draws-section {
     padding: 40px 0;
 }

 .draws-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
     gap: 30px;
     margin-top: 30px;
 }

 .draw-card {
     background-color: var(--color-white);
     padding: 25px;
     border-radius: var(--border-radius);
     box-shadow: 0 4px 10px var(--color-shadow);
     border-top: 5px solid var(--color-primary);
     display: flex;
     flex-direction: column;
     align-items: center;
     text-align: center;
 }

 .draw-card img {
     max-width: 100px;
     margin-bottom: 15px;
 }

 .draw-card h3 {
     color: var(--color-primary);
 }

 .draw-info {
     margin: 15px 0 20px;
     display: flex;
     gap: 15px;
 }

 .info-tag {
     background-color: var(--color-light-bg);
     padding: 5px 10px;
     border-radius: 20px;
     font-size: 0.9em;
 }

 .info-tag i {
     color: var(--color-dark);
     margin-right: 5px;
 }

 .select-draw-btn {
     margin-top: auto;
 }


 .testimonials-section {
     padding: 50px 0;
     text-align: center;
 }

 .testimonials-section h2 {
     color: var(--color-white);
 }

 .testimonial-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
     gap: 30px;
     margin-top: 30px;
 }

 .testimonial-card {
     background-color: var(--color-white);
     color: var(--color-dark);
     padding: 25px;
     border-radius: var(--border-radius);
     box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
     border-left: 5px solid var(--color-secondary);
 }

 .testimonial-card p {
     font-style: italic;
     margin-bottom: 10px;
 }

 .testimonial-card footer {
     font-weight: bold;
     color: var(--color-primary);
 }


 .responsible-play-strip {
     text-align: center;
     padding: 30px 0;
     background-color: var(--color-secondary);
     color: var(--color-dark);
 }

 .responsible-play-strip h3 {
     margin-bottom: 5px;
 }

 .responsible-play-strip p {
     max-width: 800px;
     margin: 0 auto 15px;
 }

 .responsible-play-strip a {
     color: var(--color-dark);
     border-color: var(--color-dark);
 }

 .responsible-play-strip a:hover {
     background-color: var(--color-dark);
     color: var(--color-white);
 }

 .disclaimer {
     font-size: 0.8em;
     opacity: 0.7;
     margin-top: 10px;
 }


 .cookie-banner {
     position: fixed;
     bottom: 0;
     left: 0;
     right: 0;
     background-color: var(--color-dark);
     color: var(--color-white);
     padding: 15px;
     display: flex;
     justify-content: space-between;
     align-items: center;
     gap: 20px;
     z-index: 2000;
     box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.3);
 }

 .cookie-banner p {
     margin: 0;
     flex-grow: 1;
 }

 .cookie-actions {
     display: flex;
     gap: 10px;
 }


 .card {
     background-color: var(--color-white);
     padding: 30px;
     border-radius: var(--border-radius);
     box-shadow: 0 2px 8px var(--color-shadow);
     margin-bottom: 20px;
 }

 .form-group {
     margin-bottom: 15px;
 }

 label {
     display: block;
     margin-bottom: 5px;
     font-weight: bold;
 }

 input[type="text"],
 input[type="email"],
 input[type="tel"],
 input[type="password"],
 select,
 textarea {
     width: 100%;
     padding: 10px;
     border: 1px solid #ccc;
     border-radius: 4px;
     font-size: 1em;
     transition: border-color 0.3s;
 }

 input:focus,
 select:focus,
 textarea:focus {
     border-color: var(--color-primary);
     outline: none;
     box-shadow: 0 0 5px rgba(0, 163, 108, 0.5);
 }

 .form-checkbox {
     display: flex;
     align-items: center;
     margin-bottom: 15px;
 }

 .form-checkbox input {
     width: auto;
     margin-right: 10px;
 }

 .form-checkbox label a {
     font-weight: normal;
 }


 .buy-page {
     padding: 40px 0;
 }

 .order-flow-grid {
     display: grid;
     grid-template-columns: 2fr 1fr;
     gap: 30px;
 }

 @media (max-width: 992px) {
     .order-flow-grid {
         grid-template-columns: 1fr;
     }
 }

 .about-page {
     padding: 40px 0;
 }

 .draw-tabs {
     display: flex;
     margin-bottom: 20px;
     border-bottom: 2px solid var(--color-light-bg);
     overflow-x: auto;
 }

 .draw-tab {
     padding: 10px 15px;
     border: none;
     background: none;
     cursor: pointer;
     font-size: 1.1em;
     border-bottom: 3px solid transparent;
     transition: border-color var(--transition-speed), color var(--transition-speed);
 }

 .draw-tab:hover {
     color: var(--color-primary);
 }

 .draw-tab.active {
     color: var(--color-primary);
     border-bottom-color: var(--color-primary);
     font-weight: bold;
 }

 .draw-panel.hidden {
     display: none;
 }


 .number-buttons-container,
 .grand-number-container {
     display: flex;
     flex-wrap: wrap;
     gap: 5px;
     margin: 15px 0;
 }

 .number-button {
     width: 35px;
     height: 35px;
     line-height: 35px;
     text-align: center;
     border: 1px solid #ccc;
     border-radius: 50%;
     cursor: pointer;
     background-color: var(--color-light-bg);
     transition: background-color 0.15s, color 0.15s;
     user-select: none;
 }

 .number-button:hover {
     border-color: var(--color-primary);
 }

 .number-button.selected {
     background-color: var(--color-primary);
     color: var(--color-white);
     border-color: var(--color-primary);
     font-weight: bold;
 }

 .number-button.selected-grand {
     background-color: var(--color-secondary);
     color: var(--color-dark);
     border-color: var(--color-secondary);
 }

 .picker-actions {
     display: flex;
     gap: 10px;
     margin-top: 20px;
 }

 .help-text {
     font-size: 0.9em;
     color: var(--color-dark);
     margin-top: 10px;
     opacity: 0.8;
 }

 .help-text i {
     color: var(--color-primary);
 }


 .cart-lines-container {
     min-height: 100px;
     margin-bottom: 15px;
     border: 1px solid var(--color-light-bg);
     padding: 10px;
     border-radius: var(--border-radius);
 }

 .cart-line-item {
     display: flex;
     justify-content: space-between;
     padding: 8px 0;
     border-bottom: 1px dashed var(--color-light-bg);
 }

 .cart-line-item:last-child {
     border-bottom: none;
 }

 .line-details {
     font-size: 0.9em;
 }

 .remove-line-btn {
     background: none;
     border: none;
     color: #c00;
     cursor: pointer;
 }

 .empty-cart-message {
     text-align: center;
     color: #999;
     padding: 30px 0;
 }


 .summary-line {
     display: flex;
     justify-content: space-between;
     padding: 5px 0;
     font-size: 1em;
 }

 .discount-line {
     color: var(--color-primary);
 }

 .total-line {
     border-top: 2px solid var(--color-dark);
     padding-top: 10px;
     margin-top: 10px;
     font-size: 1.2em;
 }

 .promo-code-container {
     display: flex;
     gap: 10px;
     margin-top: 20px;
     padding-top: 10px;
     border-top: 1px solid var(--color-light-bg);
 }

 .promo-code-container input {
     flex-grow: 1;
 }

 .status-message {
     font-size: 0.9em;
     margin-top: 5px;
     min-height: 1.2em;
 }


 .modal {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background-color: rgba(51, 51, 51, 0.8);
     display: none;
     justify-content: center;
     align-items: center;
     z-index: 3000;
 }

 .modal.visible {
     display: flex;
 }

 .modal-content {
     background-color: var(--color-white);
     padding: 40px;
     border-radius: var(--border-radius);
     max-width: 500px;
     text-align: center;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
     animation: slide-up 0.3s ease-out;
 }

 .modal-content h3 i {
     color: var(--color-primary);
     margin-right: 10px;
 }

 .modal-content .btn {
     margin-top: 20px;
 }

 @keyframes slide-up {
     from {
         opacity: 0;
         transform: translateY(50px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .footer-imgs {
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     align-items: center;
 }

 .footer-imgs img {
     height: 60px;
     background: white;
     padding: 10px;
     margin: 10px;
     border-radius: 10px;
 }

 .story-content-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 40px;
     align-items: center;
     margin-top: 30px;
 }

 @media (max-width: 768px) {
     .story-content-grid {
         grid-template-columns: 1fr;
     }
 }

 .story-image {
     max-width: 100%;
     height: auto;
     border-radius: var(--border-radius);
     border: 3px solid var(--color-primary);
 }

 .value-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
     gap: 30px;
     margin-top: 30px;
     text-align: center;
 }

 .value-card {
     border-top: 5px solid var(--color-primary);
     background-color: var(--color-white);
     color: var(--color-dark);
 }

 .value-card i {
     margin-bottom: 15px;
 }

 .compliance-box {
     margin: 30px auto;
     max-width: 900px;
     border-left: 5px solid var(--color-secondary);
 }

 .compliance-box p:first-child {
     font-size: 1.1em;
     font-weight: bold;
     color: var(--color-primary);
 }

 .compliance-heading {
     margin-top: 15px;
     color: var(--color-dark);
     font-weight: bold;
     border-bottom: 1px solid var(--color-light-bg);
     padding-bottom: 5px;
 }

 .resource-list {
     list-style: none;
     padding-left: 0;
     margin-bottom: 20px;
     font-size: 0.95em;
 }

 .resource-list li::before {
     content: "•";
     color: var(--color-primary);
     font-weight: bold;
     display: inline-block;
     width: 1em;
     margin-left: -1em;
 }

 .faq-list {
     margin-top: 20px;
 }

 .faq-item {
     border-bottom: 1px solid var(--color-light-bg);
     padding: 15px 0;
 }

 .faq-item h3 {
     color: var(--color-dark);
     font-size: 1.2em;
     cursor: pointer;
     position: relative;
     padding-right: 30px;
 }


 .contact-page {
     padding: 40px 0;
 }

 .contact-grid {
     display: grid;
     grid-template-columns: 1fr 2fr;
     gap: 30px;
     margin-top: 30px;
 }

 @media (max-width: 992px) {
     .contact-grid {
         grid-template-columns: 1fr;
     }
 }

 .info-card {
     border-top: 5px solid var(--color-secondary);
 }

 .contact-item {
     display: flex;
     gap: 15px;
     align-items: flex-start;
     margin-bottom: 25px;
 }

 .contact-item h3 {
     margin: 0;
     font-size: 1.1em;
 }

 .contact-item p {
     margin: 0;
     font-size: 0.95em;
 }

 .contact-item a {
     font-weight: bold;
 }

 .small-text {
     font-size: 0.8em;
     color: #666;
 }

 .map-placeholder {
     width: 100%;
     height: auto;
     max-height: 200px;
     object-fit: cover;
     border-radius: var(--border-radius);
     margin-top: 15px;
     border: 1px solid var(--color-light-bg);
 }


 .error-message {
     color: #C00;
     font-size: 0.8em;
     margin-top: 5px;
     min-height: 1.2em;
 }

 .error-input {
     border-color: #C00 !important;
     box-shadow: 0 0 5px rgba(204, 0, 0, 0.5) !important;
 }


 .toast {
     position: fixed;
     bottom: 30px;
     left: 50%;
     transform: translateX(-50%);
     background-color: var(--color-primary);
     color: var(--color-white);
     padding: 15px 25px;
     border-radius: var(--border-radius);
     box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
     opacity: 0;
     visibility: hidden;
     transition: opacity 0.3s ease, visibility 0.3s ease;
     z-index: 4000;
     display: flex;
     align-items: center;
     gap: 10px;
 }

 .toast i {
     font-size: 1.2em;
 }

 .toast.visible {
     opacity: 1;
     visibility: visible;
 }

 .login-page {
     padding: 60px 15px;
     display: flex;
     justify-content: center;
     align-items: center;
     min-height: calc(100vh - 100px);
 }

 .login-container {
     max-width: 400px;
     width: 100%;
     padding: 30px;
     text-align: center;
     border-top: 5px solid var(--color-primary);
 }

 .login-container h1 {
     font-size: 2em;
     margin-bottom: 10px;
 }

 .password-wrapper {
     position: relative;
 }

 .password-wrapper input {
     padding-right: 40px;
 }

 .password-toggle {
     position: absolute;
     right: 10px;
     top: 50%;
     transform: translateY(-50%);
     background: none;
     border: none;
     color: #666;
     cursor: pointer;
     padding: 5px;
     font-size: 1.1em;
 }

 .login-options {
     display: flex;
     justify-content: flex-end;
     margin-bottom: 20px;
 }

 .forgot-link {
     font-size: 0.9em;
     color: var(--color-dark);
 }

 .forgot-link:hover {
     color: var(--color-primary);
 }

 .login-btn {
     margin-top: 10px;
 }

 .separator {
     text-align: center;
     margin: 20px 0;
     position: relative;
     font-size: 0.9em;
     color: #999;
 }

 .separator::before,
 .separator::after {
     content: '';
     position: absolute;
     top: 50%;
     width: 40%;
     height: 1px;
     background: var(--color-light-bg);
 }

 .separator::before {
     left: 0;
 }

 .separator::after {
     right: 0;
 }

 .register-prompt {
     margin-top: 20px;
     font-size: 0.95em;
 }

 .register-page {
     padding: 60px 15px;
     display: flex;
     justify-content: center;
 }

 .register-container {
     max-width: 600px;
     width: 100%;
     padding: 30px;
     border-top: 5px solid var(--color-primary);
 }

 .register-container h1 {
     text-align: center;
 }

 .register-container .subtitle {
     text-align: center;
     margin-bottom: 30px;
 }

 .form-section h2 {
     font-size: 1.5em;
     color: var(--color-primary);
     margin-bottom: 20px;
 }

 .form-inline {
     display: flex;
     gap: 20px;
 }

 .form-half {
     flex: 1;
 }

 @media (max-width: 500px) {
     .form-inline {
         flex-direction: column;
         gap: 0;
     }
 }

 .small-note {
     font-size: 0.85em;
     color: #999;
     margin-top: 5px;
 }

 .checkbox-group {
     display: flex;
     align-items: flex-start;
     gap: 10px;
     margin-bottom: 15px;
 }

 .checkbox-group input[type="checkbox"] {
     margin-top: 4px;
     flex-shrink: 0;
 }

 .checkbox-group label {
     font-weight: normal;
     cursor: pointer;
 }


 .register-container .separator {
     text-align: center;
     margin: 30px 0 15px;
     position: relative;
     font-size: 0.9em;
     color: #999;
 }

 .register-container .separator::before,
 .register-container .separator::after {
     content: '';
     position: absolute;
     top: 50%;
     width: 35%;
     height: 1px;
     background: var(--color-light-bg);
 }

 .register-container .separator::before {
     left: 0;
 }

 .register-container .separator::after {
     right: 0;
 }

 .login-prompt {
     text-align: center;
     font-size: 0.95em;
 }

 .content-page {
     padding: 50px 0;
 }

 .content-page h1 {
     margin-bottom: 5px;
 }

 .cookie-category {
     padding: 20px;
     margin-bottom: 25px;
     border-left: 5px solid var(--color-primary);
 }

 .cookie-category h3 {
     color: var(--color-dark);
     margin-top: 0;
     font-size: 1.3em;
 }

 .cookie-category i {
     margin-right: 10px;
 }

 .cookie-note {
     font-size: 0.9em;
     padding-top: 10px;
     border-top: 1px dashed var(--color-light-bg);
     margin-top: 15px;
 }

 .cookie-management-box {
     padding: 30px;
     margin: 40px 0;
     border-radius: var(--border-radius);
     color: var(--color-white);
 }

 .cookie-management-box h3 {
     color: var(--color-secondary);
     margin-top: 0;
 }

 .cookie-management-box .checkbox-group label {
     color: var(--color-white);
 }

 .cookie-management-box .btn {
     margin-top: 20px;
 }

 .content-page {

     max-width: 900px;
     margin: 0 auto;
 }

 .content-sections h2 {
     color: var(--color-primary);
     margin-top: 30px;
 }

 .privacy-list-container {
     padding: 25px;
     margin: 20px 0;
     border-left: 5px solid var(--color-secondary);
 }

 .privacy-list {
     list-style: none;
     padding-left: 0;
 }

 .privacy-list li {
     margin-bottom: 10px;
     display: flex;
     align-items: flex-start;
     gap: 10px;
     color: black;
 }

 .privacy-list li i {
     color: var(--color-secondary);
     font-size: 1.1em;
     padding-top: 4px;
     flex-shrink: 0;
 }

 .privacy-list li strong {
     color: var(--color-secondary);
 }


 .list-check {
     list-style: none;
     padding-left: 0;
 }

 .list-check li {
     margin-bottom: 10px;
     padding-left: 1.5em;
     position: relative;
 }

 .list-check li i {
     position: absolute;
     left: 0;
     top: 3px;
     font-size: 1.1em;
 }


 .list-disc {
     list-style: disc;
     padding-left: 20px;
 }

 .list-disc li {
     margin-bottom: 10px;
 }

 .policy-contact-box {
     text-align: center;
     padding: 20px;
     margin-top: 40px;
     border: 1px solid var(--color-light-bg);
 }

 .policy-contact-box p {
     margin: 5px 0;
 }

 .intro-box {
     padding: 30px;
     margin: 30px 0;
     text-align: center;
     border: 1px solid var(--color-primary);
 }

 .principles-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
     gap: 30px;
     margin-top: 30px;
 }

 .principle-item {
     text-align: center;
     padding: 25px;
     border-top: 4px solid var(--color-secondary);
 }

 .principle-item i {
     margin-bottom: 15px;
 }

 .principle-item h3 {
     color: var(--color-dark);
 }

 .tools-list {
     list-style: none;
     padding-left: 0;
     margin-top: 20px;
 }

 .tools-list li {
     margin-bottom: 15px;
     padding-left: 25px;
     position: relative;
     font-size: 1.1em;
 }

 .tools-list li i {
     position: absolute;
     left: 0;
     top: 3px;
     font-size: 1.2em;
 }

 .provincial-resources {
     margin-top: 50px;
 }

 .resource-cards-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
     gap: 20px;
     margin-top: 20px;
 }

 .resource-card {
     padding: 20px;
     text-align: center;
     border: 1px solid var(--color-light-bg);
 }

 .resource-card h3 {
     color: var(--color-primary);
     margin-top: 0;
 }

 .resource-card p {
     font-size: 0.9em;
     min-height: 40px;
 }

 .resource-card a {
     font-weight: bold;
     display: block;
     margin-top: 10px;
 }

 .final-note {
     text-align: center;
     margin-top: 30px;
     font-style: italic;
     color: #666;
 }

 .agegate {
     position: fixed;
     inset: 0;
     display: none;
     place-items: center;
     background: var(--overlay);
     z-index: 9998;
 }

.agegate {
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

body.blurred main,
body.blurred header,
body.blurred footer {
    filter: blur(4px);
    transition: filter 0.2s ease-out;
}

 .agegate--show {
     display: grid;
 }

 .agegate__card {
     width: min(560px, 92vw);
     background: var(--bg);
     color: var(--text);
     border-radius: var(--radius);
     padding: 28px;
     box-shadow: 0 20px 60px rgba(0, 0, 0, .2);
     text-align: center;
     transform: translateY(10px);
     animation: pop .25s ease-out forwards;
 }

 @keyframes pop {
     to {
         transform: translateY(0)
     }
 }

 .agegate__title {
     font-size: 1.4rem;
     font-weight: 800;
     margin: 0 0 10px
 }

 .agegate__desc {
     color: var(--muted);
     margin: 0 0 18px;
     line-height: 1.5
 }

 .agegate__btns {
     display: flex;
     gap: 12px;
     justify-content: center;
     flex-wrap: wrap
 }

 .btn {
     appearance: none;
     border: 1px solid var(--border);
     background: #f8fafc;
     color: var(--text);
     padding: 12px 18px;
     border-radius: 12px;
     font-weight: 700;
     cursor: pointer;
     transition: .16s ease;
 }

 .btn--primary {
     background: var(--accent);
     color: #fff;
     border-color: var(--accent)
 }

 .btn:hover {
     transform: translateY(-1px)
 }

 .btn:active {
     transform: translateY(0)
 }

 .cookiebar {
     position: fixed;
     left: 0;
     right: 0;
     bottom: 0;
     z-index: 9997;
     display: none;
 }

 .cookiebar--show {
     display: block
 }

 .cookiebar__inner {
     margin: 12px auto;
     width: min(1000px, 94vw);
     background: var(--bg);
     color: var(--text);
     border: 1px solid var(--border);
     border-radius: var(--radius);
     box-shadow: 0 10px 40px rgba(0, 0, 0, .12);
     padding: 16px;
     display: grid;
     grid-template-columns: 1fr auto;
     gap: 16px;
     align-items: center;
 }

 .cookiebar__text {
     line-height: 1.45
 }

 .cookiebar__title {
     font-weight: 800;
     margin: 0 0 6px;
     font-size: 1.05rem
 }

 .cookiebar__desc {
     margin: 0;
     color: var(--muted)
 }

 .cookiebar__actions {
     display: flex;
     gap: 10px;
     align-items: center;
     flex-wrap: wrap
 }

 .link {
     color: var(--accent);
     font-weight: 700;
     text-decoration: none
 }

 .link:hover {
     text-decoration: underline
 }

 .csettings {
     position: fixed;
     inset: 0;
     display: none;
     place-items: center;
     background: var(--overlay);
     z-index: 9999
 }

 .csettings--show {
     display: grid
 }

 .csettings__panel {
     width: min(720px, 94vw);
     background: var(--bg);
     color: var(--text);
     border-radius: var(--radius);
     border: 1px solid var(--border);
     box-shadow: 0 24px 80px rgba(0, 0, 0, .25);
     padding: 22px;
 }

 .csettings__head {
     display: flex;
     justify-content: space-between;
     align-items: center;
     margin-bottom: 10px
 }

 .csettings__title {
     font-size: 1.2rem;
     font-weight: 800;
     margin: 0
 }

 .iconbtn {
     background: transparent;
     border: 0;
     font-size: 20px;
     cursor: pointer;
     color: var(--muted)
 }

 .csettings__list {
     display: grid;
     gap: 12px;
     margin: 12px 0 18px
 }

 .citem {
     border: 1px solid var(--border);
     border-radius: 12px;
     padding: 14px
 }

 .citem__row {
     display: flex;
     justify-content: space-between;
     align-items: center;
     gap: 14px;
     flex-wrap: wrap
 }

 .citem__title {
     font-weight: 800;
     margin: 0
 }

 .citem__desc {
     margin: 8px 0 0;
     color: var(--muted)
 }

 .switch {
     --w: 52px;
     --h: 30px;
     inline-size: var(--w);
     block-size: var(--h);
     background: #e5e7eb;
     border-radius: 999px;
     position: relative;
     cursor: pointer;
     border: 1px solid var(--border);
 }

 .switch input {
     appearance: none;
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     cursor: pointer;
     opacity: 0
 }

 .switch__dot {
     position: absolute;
     top: 50%;
     left: 2px;
     translate: 0 -50%;
     width: 26px;
     height: 26px;
     background: #fff;
     border-radius: 50%;
     box-shadow: 0 2px 4px rgba(0, 0, 0, .12);
     transition: .18s ease;
 }

 .switch input:checked+.switch__dot {
     left: calc(100% - 28px);
     background: var(--accent)
 }

 .csettings__footer {
     display: flex;
     justify-content: flex-end;
     gap: 10px;
     flex-wrap: wrap
 }

 @media (max-width:640px) {
     .cookiebar__inner {
         grid-template-columns: 1fr;
         text-align: left
     }

     .cookiebar__actions {
         justify-content: flex-start
     }
 }