 :root {
     --color-primary: #00a6e6;
     --color-primary-dark: #007bb5;
     --color-accent: #f4c542;
     --color-bg: #f5f8fb;
     --color-bg-alt: #ffffff;
     --color-text: #1f2933;
     --color-muted: #6b7280;
     --color-border: #e5e7eb;
     --shadow-soft: 0 12px 30px rgba(15, 23, 42, 0.08);
     --radius-lg: 16px;
     --radius-full: 999px;
     --max-width: 1160px;
 }

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

 html {
     scroll-behavior: smooth;
 }

 body {
     font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
     background: var(--color-bg);
     color: var(--color-text);
     line-height: 1.6;
 }

 img {
     max-width: 100%;
     height: auto;
     display: block;
 }

 a {
     color: inherit;
     text-decoration: none;
 }

 ul {
     list-style: none;
 }

 .container {
     width: 100%;
     max-width: var(--max-width);
     margin: 0 auto;
     padding: 0 1.5rem;
 }

 section {
     padding: 4.5rem 0;
 }

 h1,
 h2,
 h3,
 h4 {
     font-weight: 700;
     color: #111827;
 }

 .eyebrow {
     display: inline-flex;
     align-items: center;
     gap: .5rem;
     font-size: .8rem;
     text-transform: uppercase;
     letter-spacing: .06em;
     font-weight: 600;
     color: var(--color-primary-dark);
     background: rgba(0, 166, 230, .06);
     padding: .25rem .75rem;
     border-radius: var(--radius-full);
 }

 .eyebrow i {
     font-size: .85rem;
 }



 .btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: .5rem;
     padding: .8rem 1.5rem;
     border-radius: var(--radius-full);
     border: 1px solid transparent;
     font-weight: 600;
     font-size: .95rem;
     cursor: pointer;
     transition: all .2s ease;
     text-decoration: none;
     white-space: nowrap;
 }

 .btn-primary {
     background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
     color: #fff;
     box-shadow: var(--shadow-soft);
 }

 .btn-primary:hover {
     filter: brightness(1.05);
     transform: translateY(-1px);
     box-shadow: 0 16px 35px rgba(15, 23, 42, 0.12);
 }

 .btn-outline {
     border-color: var(--color-primary);
     color: var(--color-primary-dark);
     background: rgba(255, 255, 255, 0.9);
 }

 .btn-outline:hover {
     background: #e0f4ff;
 }

 .btn-ghost {
     border-color: transparent;
     color: var(--color-primary-dark);
     background: transparent;
     padding-inline: 0;
 }

 .btn-sm {
     padding: .5rem 1rem;
     font-size: .85rem;
 }



 .header {
     position: sticky;
     top: 0;
     z-index: 40;
     background: rgba(255, 255, 255, 0.95);
     backdrop-filter: blur(12px);
     border-bottom: 1px solid rgba(229, 231, 235, 0.8);
 }

 .header-inner {
     display: flex;
     align-items: center;
     justify-content: space-between;
     min-height: 64px;
     gap: 1rem;
 }

 .logo {
     display: inline-flex;
     align-items: center;
     gap: .7rem;
 }

 .logo-icon {
     width: 36px;
     height: 36px;
     border-radius: 40%;
     background: radial-gradient(circle at 30% 30%, #fef3c7, var(--color-accent));
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.1rem;
     color: #14532d;
     box-shadow: 0 6px 16px rgba(148, 163, 184, 0.5);
 }

 .logo-text {
     display: flex;
     flex-direction: column;
     line-height: 1.1;
 }

 .logo-title {
     font-weight: 800;
     font-size: 1.1rem;
 }

 .logo-subtitle {
     font-size: .75rem;
     color: var(--color-muted);
 }

 .nav {
     width: 100%;
     display: flex;
     align-items: center;
     justify-content: flex-end;
     gap: 1.5rem;
 }

 .nav-list {
     display: flex;
     align-items: center;
     gap: 1.2rem;
     font-size: .9rem;
 }

 .nav-list a {
     display: inline-flex;
     align-items: center;
     gap: .4rem;
     padding: .4rem .7rem;
     border-radius: 999px;
     color: var(--color-muted);
     transition: all .2s ease;
 }

 .nav-list a i {
     font-size: .8rem;
 }

 .nav-list a:hover {
     color: var(--color-primary-dark);
     background: rgba(0, 166, 230, 0.06);
 }

 .nav-cta {
     margin-left: .5rem;
 }

 .nav-toggle {
     display: none;
     background: none;
     border: none;
     font-size: 1.2rem;
     cursor: pointer;
     color: var(--color-text);
 }



 .hero {
     background: radial-gradient(circle at top left, #e0f4ff, #f5f8fb 50%);
 }

 .hero-inner {
     display: grid;
     grid-template-columns: minmax(0, 3fr) minmax(0, 2.5fr);
     gap: 3rem;
     align-items: center;
 }

 .hero-title {
     font-size: 2.3rem;
     line-height: 1.1;
     margin: 1rem 0 .75rem;
 }

 .hero-subtitle {
     font-size: 1rem;
     color: var(--color-muted);
     max-width: 32rem;
 }

 .hero-benefits {
     margin: 1.5rem 0 1.75rem;
     display: grid;
     gap: .6rem;
 }

 .hero-benefits li {
     display: inline-flex;
     align-items: flex-start;
     gap: .6rem;
     font-size: .95rem;
     color: #111827;
 }

 .hero-benefits i {
     color: #16a34a;
     margin-top: .1rem;
 }

 .hero-actions {
     display: flex;
     align-items: center;
     gap: 1rem;
     flex-wrap: wrap;
     margin-bottom: .6rem;
 }

 .hero-legal {
     display: flex;
     align-items: center;
     gap: .35rem;
     font-size: .8rem;
     color: var(--color-muted);
 }

 .badge-18 {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 22px;
     height: 22px;
     border-radius: 999px;
     border: 2px solid #b91c1c;
     color: #b91c1c;
     font-size: .7rem;
     font-weight: 700;
     background: #fef2f2;
 }

 .hero-card {
     background: var(--color-bg-alt);
     border-radius: 28px;
     padding: 1.5rem 1.4rem;
     box-shadow: var(--shadow-soft);
     border: 1px solid rgba(209, 213, 219, 0.7);
     display: grid;
     gap: 1rem;
 }

 .hero-card-header {
     display: flex;
     justify-content: space-between;
     align-items: center;
     gap: .75rem;
 }

 .hero-card-title {
     font-size: .95rem;
     font-weight: 600;
     display: flex;
     align-items: center;
     gap: .4rem;
 }

 .hero-card-title span {
     display: inline-flex;
     align-items: center;
     gap: .3rem;
 }

 .hero-card-pill {
     font-size: .75rem;
     padding: .25rem .55rem;
     border-radius: var(--radius-full);
     background: rgba(22, 163, 74, .08);
     color: #15803d;
 }

 .hero-card-rating {
     display: flex;
     flex-direction: column;
     align-items: flex-end;
     font-size: .8rem;
 }

 .hero-card-stars {
     color: #facc15;
     font-size: .75rem;
 }

 .hero-card-meta {
     display: flex;
     justify-content: space-between;
     align-items: center;
     gap: .75rem;
     font-size: .8rem;
     color: var(--color-muted);
 }

 .hero-card-list {
     display: grid;
     gap: .4rem;
     font-size: .85rem;
 }

 .hero-card-list li {
     display: flex;
     align-items: center;
     gap: .4rem;
 }

 .hero-card-list i {
     color: var(--color-primary-dark);
 }

 .hero-card-footer {
     display: flex;
     justify-content: space-between;
     align-items: center;
     gap: .75rem;
     font-size: .75rem;
     color: var(--color-muted);
     border-top: 1px dashed var(--color-border);
     padding-top: .75rem;
 }



 .section-header {
     margin-bottom: 2rem;
     display: flex;
     flex-direction: column;
     gap: .3rem;
     max-width: 40rem;
 }

 .section-header p {
     color: var(--color-muted);
     font-size: .95rem;
 }



 .codere {
     background: #ffffff;
 }

 .codere-grid {
     display: grid;
     grid-template-columns: minmax(0, 2.2fr) minmax(0, 2.1fr);
     gap: 2.5rem;
     align-items: flex-start;
 }

 .codere-logo-box {
     display: inline-flex;
     align-items: center;
     gap: .75rem;
     padding: .75rem 1rem;
     border-radius: var(--radius-full);
     background: #f1f5f9;
     border: 1px dashed #cbd5f5;
     font-size: .85rem;
     color: var(--color-muted);
 }

 .codere-logo-placeholder {
     width: 90px;
     height: 42px;
     border-radius: 10px;
     background: #0f172a;
     display: flex;
     align-items: center;
     justify-content: center;

     padding: 5px;
 }

 .codere-rating {
     margin: 1rem 0;
     display: flex;
     align-items: center;
     gap: .75rem;
     font-size: .9rem;
 }

 .codere-stars {
     color: #facc15;
     font-size: 1rem;
 }

 .codere-note {
     font-weight: 600;
 }

 .codere-tag {
     font-size: .75rem;
     padding: .15rem .6rem;
     border-radius: var(--radius-full);
     background: rgba(34, 197, 94, .12);
     color: #166534;
 }

 .codere-bonuses {
     margin-top: 1.25rem;
     padding: 1rem 1.25rem;
     border-radius: var(--radius-lg);
     background: linear-gradient(135deg, rgba(0, 166, 230, .05), rgba(244, 197, 66, .08));
     border: 1px solid rgba(209, 213, 219, 0.8);
 }

 .codere-bonuses h3 {
     font-size: 1rem;
     margin-bottom: .3rem;
 }

 .codere-bonuses p {
     font-size: .85rem;
     color: var(--color-muted);
     margin-bottom: .6rem;
 }

 .codere-bonuses-list {
     display: grid;
     gap: .4rem;
     font-size: .9rem;
 }

 .codere-bonuses-list li {
     display: flex;
     align-items: flex-start;
     gap: .5rem;
 }

 .codere-bonuses-list i {
     margin-top: .15rem;
     color: var(--color-primary-dark);
 }

 .codere-terms {
     margin-top: .75rem;
     font-size: .8rem;
     color: var(--color-muted);
 }

 .codere-highlights {
     padding: 1rem 1.25rem;
     border-radius: var(--radius-lg);
     background: var(--color-bg);
     border: 1px solid var(--color-border);
     display: grid;
     gap: .6rem;
     font-size: .9rem;
     margin-top: 1rem;
 }

 .codere-highlights h3 {
     font-size: .95rem;
 }

 .codere-highlights-list {
     display: grid;
     gap: .35rem;
 }

 .codere-highlights-list li {
     display: flex;
     align-items: center;
     gap: .5rem;
 }

 .codere-highlights-list i {
     color: #16a34a;
 }

 .codere-actions {
     margin-top: 1.25rem;
     display: flex;
     flex-direction: column;
     gap: .5rem;
     align-items: flex-start;
 }

 .codere-disclaimer {
     font-size: .8rem;
     color: var(--color-muted);
     display: flex;
     align-items: flex-start;
     gap: .35rem;
 }

 .codere-disclaimer i {
     margin-top: .1rem;
 }

 .codere-meta-card {
     background: #0b1220;
     color: #e5e7eb;
     border-radius: 24px;
     padding: 1.25rem 1.3rem;
     box-shadow: 0 14px 30px rgba(15, 23, 42, .6);
     display: grid;
     gap: .75rem;
     font-size: .85rem;
 }

 .codere-meta-row {
     display: flex;
     justify-content: space-between;
     gap: 1rem;
     align-items: center;
 }

 .codere-meta-label {
     display: flex;
     align-items: center;
     gap: .5rem;
     color: #9ca3af;
 }

 .codere-meta-label i {
     font-size: .85rem;
 }

 .codere-meta-value {
     font-weight: 600;
 }

 .codere-chip-row {
     display: flex;
     flex-wrap: wrap;
     gap: .4rem;
 }

 .chip {
     font-size: .75rem;
     padding: .2rem .7rem;
     border-radius: var(--radius-full);
     background: rgba(15, 23, 42, .7);
     border: 1px solid rgba(148, 163, 184, .6);
     display: inline-flex;
     align-items: center;
     gap: .25rem;
 }

 .chip i {
     font-size: .7rem;
 }

 .codere-meta-footer {
     border-top: 1px dashed rgba(148, 163, 184, .6);
     padding-top: .7rem;
     display: flex;
     justify-content: space-between;
     align-items: center;
     gap: .6rem;
 }

 .codere-meta-footer span {
     display: inline-flex;
     align-items: center;
     gap: .35rem;
 }

 .codere-meta-footer small {
     font-size: .7rem;
     color: #9ca3af;
 }



 .comparison {
     background: #f9fafb;
 }

 .comparison-table-wrapper {
     overflow-x: auto;
     border-radius: 18px;
     box-shadow: var(--shadow-soft);
     background: #fff;
     border: 1px solid var(--color-border);
 }

 table.comparison-table {
     width: 100%;
     border-collapse: collapse;
     font-size: .9rem;
     min-width: 720px;
 }

 .comparison-table thead {
     background: #f1f5f9;
 }

 .comparison-table th,
 .comparison-table td {
     padding: .9rem .9rem;
     text-align: left;
     border-bottom: 1px solid #e5e7eb;
     vertical-align: top;
 }

 .comparison-table th {
     font-weight: 600;
     font-size: .85rem;
     text-transform: uppercase;
     letter-spacing: .05em;
     color: #4b5563;
 }

 .comparison-table th .th-label {
     display: inline-flex;
     align-items: center;
     gap: .45rem;
 }

 .comparison-table th .th-label i {
     font-size: .85rem;
     color: var(--color-primary-dark);
 }

 .comparison-table tbody tr:nth-child(even) {
     background: #f9fafb;
 }

 .comparison-table tbody tr:hover {
     background: #eff6ff;
 }

 .tag {
     display: inline-flex;
     align-items: center;
     gap: .3rem;
     font-size: .75rem;
     padding: .2rem .55rem;
     border-radius: var(--radius-full);
     background: rgba(0, 166, 230, .06);
     color: var(--color-primary-dark);
 }

 .tag-secondary {
     background: rgba(148, 163, 184, .15);
     color: #4b5563;
 }

 .tag-success {
     background: rgba(34, 197, 94, .08);
     color: #166534;
 }

 .tag-warning {
     background: rgba(244, 197, 66, .12);
     color: #92400e;
 }

 .comparison-cta-row {
     display: flex;
     flex-wrap: wrap;
     justify-content: space-between;
     align-items: center;
     gap: 1rem;
     margin-top: 1rem;
     font-size: .85rem;
     color: var(--color-muted);
 }

 .comparison-cta-row span {
     display: inline-flex;
     align-items: center;
     gap: .35rem;
 }

 .comparison-cta-row span i {
     color: #f97316;
 }



 .criteria-grid {
     display: grid;
     grid-template-columns: repeat(3, minmax(0, 1fr));
     gap: 1.5rem;
 }

 .criteria-card {
     background: #fff;
     border-radius: var(--radius-lg);
     padding: 1.25rem 1.3rem;
     border: 1px solid var(--color-border);
     box-shadow: var(--shadow-soft);
     display: grid;
     gap: .4rem;
 }

 .criteria-icon {
     width: 32px;
     height: 32px;
     border-radius: 12px;
     display: flex;
     align-items: center;
     justify-content: center;
     background: rgba(0, 166, 230, .08);
     color: var(--color-primary-dark);
     margin-bottom: .3rem;
 }

 .criteria-card h3 {
     font-size: .95rem;
 }

 .criteria-card p {
     font-size: .85rem;
     color: var(--color-muted);
 }



 .guides {
     background: #ffffff;
 }

 .guides-grid {
     display: grid;
     grid-template-columns: repeat(4, minmax(0, 1fr));
     gap: 1.5rem;
 }

 .guide-card {
     background: #f9fafb;
     border-radius: var(--radius-lg);
     padding: 1.2rem 1.3rem;
     border: 1px solid var(--color-border);
     display: grid;
     gap: .6rem;
 }

 .guide-header {
     display: flex;
     align-items: center;
     gap: .6rem;
 }

 .guide-icon {
     width: 30px;
     height: 30px;
     border-radius: 999px;
     display: flex;
     align-items: center;
     justify-content: center;
     background: rgba(0, 166, 230, .08);
     color: var(--color-primary-dark);
     font-size: .9rem;
 }

 .guide-card h3 {
     font-size: .95rem;
 }

 .guide-list {
     font-size: .85rem;
     color: var(--color-muted);
     display: grid;
     gap: .35rem;
     padding-left: .1rem;
 }

 .guide-list li {
     display: flex;
     gap: .35rem;
 }

 .guide-list li i {
     margin-top: .05rem;
     font-size: .75rem;
     color: #6b7280;
 }

 .guide-footer {
     font-size: .8rem;
     color: var(--color-muted);
 }



 .faq {
     background: #f9fafb;
 }

 .faq-grid {
     display: grid;
     grid-template-columns: minmax(0, 1.4fr) minmax(0, 2fr);
     gap: 2.5rem;
     align-items: flex-start;
 }

 .faq-intro {
     font-size: .9rem;
     color: var(--color-muted);
     display: grid;
     gap: .75rem;
 }

 .faq-intro-list {
     display: grid;
     gap: .35rem;
     font-size: .85rem;
 }

 .faq-intro-list li {
     display: flex;
     gap: .35rem;
     align-items: flex-start;
 }

 .faq-intro-list i {
     margin-top: .1rem;
     color: var(--color-primary-dark);
 }

 .faq-items {
     display: grid;
     gap: .8rem;
 }

 details.faq-item {
     border-radius: 14px;
     border: 1px solid var(--color-border);
     background: #fff;
     padding: .8rem 1rem;
     box-shadow: 0 4px 12px rgba(148, 163, 184, .18);
 }

 summary.faq-summary {
     list-style: none;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: .75rem;
 }

 summary.faq-summary::-webkit-details-marker {
     display: none;
 }

 .faq-summary-main {
     display: flex;
     align-items: center;
     gap: .55rem;
     font-size: .9rem;
     font-weight: 600;
 }

 .faq-summary-main i {
     font-size: 1rem;
     color: var(--color-primary-dark);
 }

 .faq-toggle-icon {
     font-size: .8rem;
     color: var(--color-muted);
 }

 .faq-body {
     margin-top: .6rem;
     font-size: .85rem;
     color: var(--color-muted);
     border-top: 1px dashed var(--color-border);
     padding-top: .6rem;
 }

 .faq-body p+p {
     margin-top: .35rem;
 }

 .faq-body ul {
     margin-top: .35rem;
     display: grid;
     gap: .2rem;
 }

 .faq-body ul li {
     display: flex;
     gap: .35rem;
 }

 .faq-body ul li i {
     margin-top: .1rem;
     font-size: .7rem;
     color: var(--color-primary-dark);
 }



 .responsible {
     background: linear-gradient(135deg, #0f172a, #111827);
     color: #e5e7eb;
     position: relative;
     overflow: hidden;
 }

 .responsible::before {
     content: "";
     position: absolute;
     inset: -20%;
     background:
         radial-gradient(circle at 10% 0%, rgba(0, 166, 230, 0.22), transparent 55%),
         radial-gradient(circle at 90% 100%, rgba(244, 197, 66, 0.24), transparent 55%);
     opacity: 0.9;
     pointer-events: none;
 }

 .responsible-inner {
     position: relative;
     z-index: 1;
     display: grid;
     grid-template-columns: minmax(0, 2.3fr) minmax(0, 2fr);
     gap: 2.5rem;
     align-items: flex-start;
 }

 .responsible h2 {
     color: #f9fafb;
 }

 .responsible p {
     font-size: .9rem;
     color: #cbd5f5;
 }

 .responsible-list {
     margin-top: 1rem;
     display: grid;
     gap: .5rem;
     font-size: .9rem;
 }

 .responsible-list li {
     display: flex;
     gap: .5rem;
 }

 .responsible-list i {
     margin-top: .2rem;
     color: #f4c542;
 }

 .responsible-box {
     background: rgba(15, 23, 42, 0.75);
     border-radius: 20px;
     padding: 1.3rem 1.4rem;
     border: 1px solid rgba(148, 163, 184, .5);
     display: grid;
     gap: .6rem;
     font-size: .85rem;
 }

 .responsible-box h3 {
     font-size: .95rem;
     color: #f9fafb;
 }

 .responsible-box small {
     font-size: .75rem;
     color: #9ca3af;
 }

 .responsible-chips {
     display: flex;
     flex-wrap: wrap;
     gap: .4rem;
 }

 .badge-18-strong {
     display: inline-flex;
     align-items: center;
     gap: .45rem;
     padding: .4rem .75rem;
     border-radius: var(--radius-full);
     background: #7f1d1d;
     color: #fee2e2;
     font-size: .8rem;
     font-weight: 600;
     border: 1px solid #fecaca;
 }



 .footer {
     background: #020617;
     color: #9ca3af;
     padding: 3rem 0 1.5rem;
 }

 .footer-top {
     display: grid;
     grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
     gap: 2.5rem;
     padding-bottom: 2.2rem;
     border-bottom: 1px solid rgba(55, 65, 81, 0.9);
 }

 .footer h4 {
     color: #e5e7eb;
     font-size: .95rem;
     margin-bottom: .7rem;
 }

 .footer-logo {
     display: flex;
     flex-direction: column;
     gap: .8rem;
     font-size: .85rem;
 }

 .footer-logo .logo {
     transform: translateX(-.3rem);
 }

 .footer-socials {
     display: flex;
     gap: .4rem;
     flex-wrap: wrap;
 }

 .footer-socials a {
     width: 30px;
     height: 30px;
     border-radius: var(--radius-full);
     background: rgba(15, 23, 42, 0.9);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: .8rem;
     color: #e5e7eb;
     border: 1px solid rgba(55, 65, 81, 0.9);
 }

 .footer-links {
     font-size: .85rem;
     display: grid;
     gap: .35rem;
 }

 .footer-links a {
     display: inline-flex;
     align-items: center;
     gap: .35rem;
     color: #9ca3af;
 }

 .footer-links a i {
     font-size: .7rem;
     color: #4b5563;
 }

 .footer-warning {
     display: grid;
     gap: .4rem;
     font-size: .82rem;
 }

 .footer-warning p span {
     font-weight: 600;
     color: #fbbf24;
 }

 .footer-warning .badge-18 {
     border-color: #f97316;
     color: #fed7aa;
     background: rgba(248, 113, 113, 0.06);
 }

 .footer-bottom {
     padding-top: 1.1rem;
     font-size: .75rem;
     color: #6b7280;
     display: flex;
     flex-wrap: wrap;
     justify-content: space-between;
     gap: .75rem;
     align-items: center;
 }

 .footer-bottom span {
     display: inline-flex;
     align-items: center;
     gap: .3rem;
 }

 .footer-bottom i {
     font-size: .7rem;
 }



 @media (max-width: 960px) {
     .hero-inner {
         grid-template-columns: minmax(0, 1fr);
     }

     .codere-grid {
         grid-template-columns: minmax(0, 1fr);
     }

     .responsible-inner {
         grid-template-columns: minmax(0, 1fr);
     }

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

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

     .faq-grid {
         grid-template-columns: minmax(0, 1fr);
     }

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

 @media (max-width: 768px) {
     .header-inner {
         min-height: 60px;
     }

     .nav {
         position: absolute;
         inset-inline: 0;
         top: 100%;
         background: rgba(255, 255, 255, 0.98);
         border-bottom: 1px solid rgba(229, 231, 235, 0.9);
         flex-direction: column;
         align-items: stretch;
         gap: .75rem;
         padding: 0 1.5rem 1rem;
         transform-origin: top;
         transform: scaleY(0);
         opacity: 0;
         pointer-events: none;
         transition: transform .18s ease, opacity .18s ease;
     }

     .nav.open {
         transform: scaleY(1);
         opacity: 1;
         pointer-events: auto;
     }

     .nav-list {
         flex-direction: column;
         align-items: flex-start;
         gap: .3rem;
     }

     .nav-list a {
         padding: .45rem 0;
     }

     .nav-cta {
         margin: .3rem 0 0;
         width: 100%;
         justify-content: center;
     }

     .nav-toggle {
         display: inline-flex;
     }

     .hero-title {
         font-size: 2rem;
     }

     .section-header {
         margin-bottom: 1.5rem;
     }

     section {
         padding: 3.2rem 0;
     }

     .criteria-grid {
         grid-template-columns: minmax(0, 1fr);
     }

     .guides-grid {
         grid-template-columns: minmax(0, 1fr);
     }

     .footer-top {
         grid-template-columns: minmax(0, 1fr);
     }
 }

 @media (max-width: 480px) {
     .hero-card {
         border-radius: 20px;
     }

     .comparison-table-wrapper {
         border-radius: 14px;
     }
 }

 .logo-footer {
     display: flex;
     flex-wrap: wrap;
     gap: 15px;
     width: 100%;
     max-width: 1120px;
     margin: 25px auto;
     justify-content: center;
 }

 .logo-footer a {
     height: 48px;

 }

 .logo-footer a img {
     height: 100%;
     object-fit: contain;
 }

 .privacy {
     background: #ffffff;
 }

 .privacy-header {
     margin-bottom: 2rem;
     max-width: 42rem;
 }

 .privacy-header .eyebrow {
     margin-bottom: .6rem;
 }

 .privacy-header h2 {
     margin-bottom: .4rem;
 }

 .privacy-header p {
     font-size: .95rem;
     color: var(--color-muted);
 }

 .privacy-grid {
     display: grid;
     grid-template-columns: minmax(0, 1.6fr) minmax(0, 2.1fr);
     gap: 2rem;
     align-items: flex-start;
 }

 .privacy-toc {
     background: #f9fafb;
     border-radius: 16px;
     padding: 1.2rem 1.3rem;
     border: 1px solid var(--color-border);
     box-shadow: var(--shadow-soft);
     font-size: .87rem;
     position: sticky;
     top: 5.5rem;
 }

 .privacy-toc-title {
     display: flex;
     align-items: center;
     gap: .5rem;
     margin-bottom: .6rem;
     font-weight: 600;
     font-size: .9rem;
 }

 .privacy-toc-title i {
     color: var(--color-primary-dark);
 }

 .privacy-toc p {
     color: var(--color-muted);
     margin-bottom: .5rem;
 }

 .privacy-toc ul {
     list-style: none;
     display: grid;
     gap: .3rem;
     margin-top: .2rem;
 }

 .privacy-toc li a {
     display: inline-flex;
     align-items: center;
     gap: .35rem;
     color: #4b5563;
     padding: .25rem 0;
     text-decoration: none;
 }

 .privacy-toc li a i {
     font-size: .7rem;
     color: var(--color-primary-dark);
 }

 .privacy-content {
     background: #f9fafb;
     border-radius: 18px;
     padding: 1.6rem 1.7rem;
     border: 1px solid var(--color-border);
     box-shadow: var(--shadow-soft);
     font-size: .9rem;
     color: #111827;
 }

 .privacy-section {
     margin-bottom: 1.4rem;
 }

 .privacy-section:last-child {
     margin-bottom: 0;
 }

 .privacy-section h3 {
     font-size: 1rem;
     margin-bottom: .4rem;
     display: flex;
     align-items: center;
     gap: .5rem;
 }

 .privacy-section h3 i {
     font-size: .95rem;
     color: var(--color-primary-dark);
 }

 .privacy-section p {
     margin-bottom: .45rem;
     color: var(--color-muted);
 }

 .privacy-section p:last-child {
     margin-bottom: 0;
 }

 .privacy-section ul {
     list-style: none;
     margin: .25rem 0 .35rem 0;
     display: grid;
     gap: .25rem;
 }

 .privacy-section li {
     display: flex;
     gap: .4rem;
     color: var(--color-muted);
 }

 .privacy-section li i {
     margin-top: .16rem;
     font-size: .65rem;
     color: var(--color-primary-dark);
 }

 .privacy-highlight {
     background: rgba(0, 166, 230, .05);
     border-radius: 12px;
     padding: .75rem .85rem;
     border: 1px dashed var(--color-primary);
     font-size: .82rem;
     color: var(--color-muted);
     display: flex;
     gap: .5rem;
     margin-top: .4rem;
 }

 .privacy-highlight i {
     color: var(--color-primary-dark);
     margin-top: .05rem;
 }

 .privacy-legal-note {
     margin-top: .6rem;
     font-size: .8rem;
     color: var(--color-muted);
 }

 .privacy-legal-note span {
     font-weight: 600;
 }

 .privacy-age-warning {
     margin-top: .4rem;
     display: inline-flex;
     align-items: center;
     gap: .45rem;
     padding: .4rem .75rem;
     border-radius: 999px;
     background: #fef2f2;
     border: 1px solid #fecaca;
     font-size: .82rem;
     color: #b91c1c;
     font-weight: 600;
 }

 .privacy-age-warning i {
     font-size: .9rem;
 }

 @media (max-width: 960px) {
     .privacy-grid {
         grid-template-columns: minmax(0, 1fr);
     }

     .privacy-toc {
         position: static;
     }
 }

 @media (max-width: 768px) {
     .privacy-content {
         padding: 1.3rem 1.3rem;
     }
 }

 .terms {
     background: #ffffff;
 }

 .terms-header {
     margin-bottom: 2rem;
     max-width: 42rem;
 }

 .terms-header .eyebrow {
     margin-bottom: .6rem;
 }

 .terms-header h2 {
     margin-bottom: .4rem;
 }

 .terms-header p {
     font-size: .95rem;
     color: var(--color-muted);
 }

 .terms-grid {
     display: grid;
     grid-template-columns: minmax(0, 1.6fr) minmax(0, 2.1fr);
     gap: 2rem;
     align-items: flex-start;
 }

 .terms-toc {
     background: #f9fafb;
     border-radius: 16px;
     padding: 1.2rem 1.3rem;
     border: 1px solid var(--color-border);
     box-shadow: var(--shadow-soft);
     font-size: .87rem;
     position: sticky;
     top: 5.5rem;
 }

 .terms-toc-title {
     display: flex;
     align-items: center;
     gap: .5rem;
     margin-bottom: .6rem;
     font-weight: 600;
     font-size: .9rem;
 }

 .terms-toc-title i {
     color: var(--color-primary-dark);
 }

 .terms-toc p {
     color: var(--color-muted);
     margin-bottom: .5rem;
 }

 .terms-toc ul {
     list-style: none;
     display: grid;
     gap: .3rem;
     margin-top: .2rem;
 }

 .terms-toc li a {
     display: inline-flex;
     align-items: center;
     gap: .35rem;
     color: #4b5563;
     padding: .25rem 0;
     text-decoration: none;
 }

 .terms-toc li a i {
     font-size: .7rem;
     color: var(--color-primary-dark);
 }

 .terms-content {
     background: #f9fafb;
     border-radius: 18px;
     padding: 1.6rem 1.7rem;
     border: 1px solid var(--color-border);
     box-shadow: var(--shadow-soft);
     font-size: .9rem;
     color: #111827;
 }

 .terms-section {
     margin-bottom: 1.5rem;
 }

 .terms-section:last-child {
     margin-bottom: 0;
 }

 .terms-section h3 {
     font-size: 1rem;
     margin-bottom: .4rem;
     display: flex;
     align-items: center;
     gap: .5rem;
 }

 .terms-section h3 i {
     font-size: .95rem;
     color: var(--color-primary-dark);
 }

 .terms-section p {
     margin-bottom: .45rem;
     color: var(--color-muted);
 }

 .terms-section p:last-child {
     margin-bottom: 0;
 }

 .terms-section ul {
     list-style: none;
     margin: .25rem 0 .35rem 0;
     display: grid;
     gap: .25rem;
 }

 .terms-section li {
     display: flex;
     gap: .4rem;
     color: var(--color-muted);
 }

 .terms-section li i {
     margin-top: .16rem;
     font-size: .65rem;
     color: var(--color-primary-dark);
 }

 .terms-highlight {
     background: rgba(0, 166, 230, .05);
     border-radius: 12px;
     padding: .75rem .9rem;
     border: 1px dashed var(--color-primary);
     font-size: .82rem;
     color: var(--color-muted);
     display: flex;
     gap: .5rem;
     margin-top: .4rem;
 }

 .terms-highlight i {
     color: var(--color-primary-dark);
     margin-top: .05rem;
 }

 .terms-legal-note {
     margin-top: .6rem;
     font-size: .8rem;
     color: var(--color-muted);
 }

 .terms-legal-note span {
     font-weight: 600;
 }

 .terms-age-warning {
     margin-top: .4rem;
     display: inline-flex;
     align-items: center;
     gap: .45rem;
     padding: .4rem .75rem;
     border-radius: 999px;
     background: #fef2f2;
     border: 1px solid #fecaca;
     font-size: .82rem;
     color: #b91c1c;
     font-weight: 600;
 }

 .terms-age-warning i {
     font-size: .9rem;
 }

 @media (max-width: 960px) {
     .terms-grid {
         grid-template-columns: minmax(0, 1fr);
     }

     .terms-toc {
         position: static;
     }
 }

 @media (max-width: 768px) {
     .terms-content {
         padding: 1.3rem 1.3rem;
     }
 }

 .cookies {
     background: #ffffff;
 }

 .cookies-header {
     margin-bottom: 2rem;
     max-width: 42rem;
 }

 .cookies-header .eyebrow {
     margin-bottom: .6rem;
 }

 .cookies-header h2 {
     margin-bottom: .4rem;
 }

 .cookies-header p {
     font-size: .95rem;
     color: var(--color-muted);
 }

 .cookies-grid {
     display: grid;
     grid-template-columns: minmax(0, 1.6fr) minmax(0, 2.1fr);
     gap: 2rem;
     align-items: flex-start;
 }

 .cookies-toc {
     background: #f9fafb;
     border-radius: 16px;
     padding: 1.2rem 1.3rem;
     border: 1px solid var(--color-border);
     box-shadow: var(--shadow-soft);
     font-size: .87rem;
     position: sticky;
     top: 5.5rem;
 }

 .cookies-toc-title {
     display: flex;
     align-items: center;
     gap: .5rem;
     margin-bottom: .6rem;
     font-weight: 600;
     font-size: .9rem;
 }

 .cookies-toc-title i {
     color: var(--color-primary-dark);
 }

 .cookies-toc p {
     color: var(--color-muted);
     margin-bottom: .5rem;
 }

 .cookies-toc ul {
     list-style: none;
     display: grid;
     gap: .3rem;
     margin-top: .2rem;
 }

 .cookies-toc li a {
     display: inline-flex;
     align-items: center;
     gap: .35rem;
     color: #4b5563;
     padding: .25rem 0;
     text-decoration: none;
 }

 .cookies-toc li a i {
     font-size: .7rem;
     color: var(--color-primary-dark);
 }

 .cookies-content {
     background: #f9fafb;
     border-radius: 18px;
     padding: 1.6rem 1.7rem;
     border: 1px solid var(--color-border);
     box-shadow: var(--shadow-soft);
     font-size: .9rem;
     color: #111827;
 }

 .cookies-section {
     margin-bottom: 1.5rem;
 }

 .cookies-section:last-child {
     margin-bottom: 0;
 }

 .cookies-section h3 {
     font-size: 1rem;
     margin-bottom: .4rem;
     display: flex;
     align-items: center;
     gap: .5rem;
 }

 .cookies-section h3 i {
     font-size: .95rem;
     color: var(--color-primary-dark);
 }

 .cookies-section p {
     margin-bottom: .45rem;
     color: var(--color-muted);
 }

 .cookies-section p:last-child {
     margin-bottom: 0;
 }

 .cookies-section ul {
     list-style: none;
     margin: .25rem 0 .35rem 0;
     display: grid;
     gap: .25rem;
 }

 .cookies-section li {
     display: flex;
     gap: .4rem;
     color: var(--color-muted);
 }

 .cookies-section li i {
     margin-top: .16rem;
     font-size: .65rem;
     color: var(--color-primary-dark);
 }

 .cookies-highlight {
     background: rgba(0, 166, 230, .05);
     border-radius: 12px;
     padding: .75rem .9rem;
     border: 1px dashed var(--color-primary);
     font-size: .82rem;
     color: var(--color-muted);
     display: flex;
     gap: .5rem;
     margin-top: .4rem;
 }

 .cookies-highlight i {
     color: var(--color-primary-dark);
     margin-top: .05rem;
 }

 .cookies-legal-note {
     margin-top: .6rem;
     font-size: .8rem;
     color: var(--color-muted);
 }

 .cookies-legal-note span {
     font-weight: 600;
 }

 .cookies-age-warning {
     margin-top: .4rem;
     display: inline-flex;
     align-items: center;
     gap: .45rem;
     padding: .4rem .75rem;
     border-radius: 999px;
     background: #fef2f2;
     border: 1px solid #fecaca;
     font-size: .82rem;
     color: #b91c1c;
     font-weight: 600;
 }

 .cookies-age-warning i {
     font-size: .9rem;
 }

 @media (max-width: 960px) {
     .cookies-grid {
         grid-template-columns: minmax(0, 1fr);
     }

     .cookies-toc {
         position: static;
     }
 }

 @media (max-width: 768px) {
     .cookies-content {
         padding: 1.3rem 1.3rem;
     }
 }

 .rg-responsible {
     background: #ffffff;
 }

 .rg-header {
     margin-bottom: 2rem;
     max-width: 44rem;
 }

 .rg-header .eyebrow {
     margin-bottom: .6rem;
 }

 .rg-header h2 {
     margin-bottom: .4rem;
 }

 .rg-header p {
     font-size: .95rem;
     color: var(--color-muted);
 }

 .rg-grid {
     display: grid;
     grid-template-columns: minmax(0, 1.6fr) minmax(0, 2.1fr);
     gap: 2rem;
     align-items: flex-start;
 }

 .rg-sidebar {
     background: #f9fafb;
     border-radius: 16px;
     padding: 1.2rem 1.3rem;
     border: 1px solid var(--color-border);
     box-shadow: var(--shadow-soft);
     font-size: .87rem;
     position: sticky;
     top: 5.5rem;
 }

 .rg-sidebar-title {
     display: flex;
     align-items: center;
     gap: .5rem;
     margin-bottom: .6rem;
     font-weight: 600;
     font-size: .9rem;
 }

 .rg-sidebar-title i {
     color: var(--color-primary-dark);
 }

 .rg-sidebar p {
     color: var(--color-muted);
     margin-bottom: .5rem;
 }

 .rg-sidebar ul {
     list-style: none;
     display: grid;
     gap: .3rem;
     margin-top: .2rem;
 }

 .rg-sidebar li a {
     display: inline-flex;
     align-items: center;
     gap: .35rem;
     color: #4b5563;
     padding: .25rem 0;
     text-decoration: none;
 }

 .rg-sidebar li a i {
     font-size: .7rem;
     color: var(--color-primary-dark);
 }

 .rg-content {
     background: #f9fafb;
     border-radius: 18px;
     padding: 1.6rem 1.7rem;
     border: 1px solid var(--color-border);
     box-shadow: var(--shadow-soft);
     font-size: .9rem;
     color: #111827;
 }

 .rg-block {
     margin-bottom: 1.6rem;
 }

 .rg-block:last-child {
     margin-bottom: 0;
 }

 .rg-block h3 {
     font-size: 1rem;
     margin-bottom: .4rem;
     display: flex;
     align-items: center;
     gap: .5rem;
 }

 .rg-block h3 i {
     font-size: .95rem;
     color: var(--color-primary-dark);
 }

 .rg-block p {
     margin-bottom: .45rem;
     color: var(--color-muted);
 }

 .rg-block p:last-child {
     margin-bottom: 0;
 }

 .rg-block ul {
     list-style: none;
     margin: .25rem 0 .35rem 0;
     display: grid;
     gap: .25rem;
 }

 .rg-block li {
     display: flex;
     gap: .4rem;
     color: var(--color-muted);
 }

 .rg-block li i {
     margin-top: .16rem;
     font-size: .65rem;
     color: var(--color-primary-dark);
 }

 .rg-highlight {
     background: rgba(0, 166, 230, .05);
     border-radius: 12px;
     padding: .75rem .9rem;
     border: 1px dashed var(--color-primary);
     font-size: .82rem;
     color: var(--color-muted);
     display: flex;
     gap: .5rem;
     margin-top: .4rem;
 }

 .rg-highlight i {
     color: var(--color-primary-dark);
     margin-top: .05rem;
 }

 .rg-chip-row {
     display: flex;
     flex-wrap: wrap;
     gap: .4rem;
     margin-top: .35rem;
 }

 .rg-chip {
     display: inline-flex;
     align-items: center;
     gap: .3rem;
     font-size: .78rem;
     padding: .25rem .7rem;
     border-radius: 999px;
     background: rgba(15, 23, 42, 0.03);
     border: 1px solid var(--color-border);
     color: #4b5563;
 }

 .rg-chip i {
     font-size: .75rem;
     color: var(--color-primary-dark);
 }

 .rg-legal-note {
     margin-top: .6rem;
     font-size: .8rem;
     color: var(--color-muted);
 }

 .rg-legal-note span {
     font-weight: 600;
 }

 .rg-age-warning {
     margin-top: .4rem;
     display: inline-flex;
     align-items: center;
     gap: .45rem;
     padding: .4rem .75rem;
     border-radius: 999px;
     background: #fef2f2;
     border: 1px solid #fecaca;
     font-size: .82rem;
     color: #b91c1c;
     font-weight: 600;
 }

 .rg-age-warning i {
     font-size: .9rem;
 }

 .rg-resources {
     background: rgba(15, 23, 42, 0.9);
     color: #e5e7eb;
     border-radius: 16px;
     padding: 1.1rem 1.2rem;
     font-size: .85rem;
     border: 1px solid rgba(148, 163, 184, .7);
     margin-top: .6rem;
 }

 .rg-resources h4 {
     font-size: .92rem;
     margin-bottom: .35rem;
     display: flex;
     align-items: center;
     gap: .45rem;
 }

 .rg-resources h4 i {
     color: #fbbf24;
 }

 .rg-resources p {
     color: #cbd5f5;
     margin-bottom: .3rem;
 }

 .rg-resources ul {
     margin-top: .25rem;
 }

 .rg-resources li {
     color: #cbd5f5;
 }

 .rg-resources li i {
     color: #93c5fd;
 }

 @media (max-width: 960px) {
     .rg-grid {
         grid-template-columns: minmax(0, 1fr);
     }

     .rg-sidebar {
         position: static;
     }
 }

 @media (max-width: 768px) {
     .rg-content {
         padding: 1.3rem 1.3rem;
     }
 }

 .contact {
     background: #ffffff;
 }

 .contact-header {
     margin-bottom: 2rem;
     max-width: 44rem;
 }

 .contact-header .eyebrow {
     margin-bottom: .6rem;
 }

 .contact-header h2 {
     margin-bottom: .4rem;
 }

 .contact-header p {
     font-size: .95rem;
     color: var(--color-muted);
 }

 .contact-grid {
     display: grid;
     grid-template-columns: minmax(0, 1.6fr) minmax(0, 2.1fr);
     gap: 2rem;
     align-items: flex-start;
 }

 .contact-info {
     background: #f9fafb;
     border-radius: 18px;
     padding: 1.4rem 1.5rem;
     border: 1px solid var(--color-border);
     box-shadow: var(--shadow-soft);
     font-size: .9rem;
 }

 .contact-info-block {
     margin-bottom: 1.1rem;
 }

 .contact-info-block:last-child {
     margin-bottom: 0;
 }

 .contact-info-title {
     display: flex;
     align-items: center;
     gap: .6rem;
     margin-bottom: .4rem;
     font-weight: 600;
 }

 .contact-info-title i {
     color: var(--color-primary-dark);
 }

 .contact-info p {
     color: var(--color-muted);
     margin-bottom: .35rem;
 }

 .contact-info p:last-child {
     margin-bottom: 0;
 }

 .contact-info-list {
     list-style: none;
     margin-top: .2rem;
     display: grid;
     gap: .25rem;
 }

 .contact-info-list li {
     display: flex;
     align-items: center;
     gap: .4rem;
     color: #4b5563;
 }

 .contact-info-list li i {
     font-size: .85rem;
     color: var(--color-primary-dark);
 }

 .contact-chip-row {
     display: flex;
     flex-wrap: wrap;
     gap: .4rem;
     margin-top: .5rem;
 }

 .contact-chip {
     display: inline-flex;
     align-items: center;
     gap: .3rem;
     font-size: .78rem;
     padding: .25rem .7rem;
     border-radius: 999px;
     background: rgba(15, 23, 42, 0.03);
     border: 1px solid var(--color-border);
     color: #4b5563;
 }

 .contact-chip i {
     font-size: .75rem;
     color: var(--color-primary-dark);
 }

 .contact-legal-small {
     margin-top: .6rem;
     font-size: .8rem;
     color: var(--color-muted);
 }

 .contact-legal-small span {
     font-weight: 600;
 }

 .contact-age-warning {
     margin-top: .45rem;
     display: inline-flex;
     align-items: center;
     gap: .45rem;
     padding: .35rem .7rem;
     border-radius: 999px;
     background: #fef2f2;
     border: 1px solid #fecaca;
     font-size: .8rem;
     color: #b91c1c;
     font-weight: 600;
 }

 .contact-age-warning i {
     font-size: .85rem;
 }

 .contact-form-wrapper {
     background: #f9fafb;
     border-radius: 18px;
     padding: 1.6rem 1.7rem;
     border: 1px solid var(--color-border);
     box-shadow: var(--shadow-soft);
 }

 .contact-form-header {
     display: flex;
     justify-content: space-between;
     gap: .75rem;
     align-items: center;
     margin-bottom: 1rem;
 }

 .contact-form-header h3 {
     font-size: 1rem;
     display: flex;
     align-items: center;
     gap: .5rem;
 }

 .contact-form-header h3 i {
     color: var(--color-primary-dark);
 }

 .contact-form-header p {
     font-size: .82rem;
     color: var(--color-muted);
 }

 .contact-form {
     display: grid;
     gap: .9rem;
 }

 .contact-form-row {
     display: grid;
     grid-template-columns: repeat(2, minmax(0, 1fr));
     gap: .9rem;
 }

 .contact-form-group {
     display: flex;
     flex-direction: column;
     gap: .25rem;
     font-size: .86rem;
 }

 .contact-form-label {
     display: flex;
     align-items: center;
     gap: .4rem;
     font-weight: 600;
     color: #111827;
 }

 .contact-form-label i {
     font-size: .85rem;
     color: var(--color-primary-dark);
 }

 .contact-form-label span.required::after {
     content: " *";
     color: #b91c1c;
 }

 .contact-form-input,
 .contact-form-select,
 .contact-form-textarea {
     border-radius: 10px;
     border: 1px solid var(--color-border);
     padding: .55rem .75rem;
     font-size: .85rem;
     font-family: inherit;
     outline: none;
     transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
     background: #ffffff;
 }

 .contact-form-input:focus,
 .contact-form-select:focus,
 .contact-form-textarea:focus {
     border-color: var(--color-primary);
     box-shadow: 0 0 0 1px rgba(0, 166, 230, .15);
     background: #ffffff;
 }

 .contact-form-textarea {
     min-height: 130px;
     resize: vertical;
 }

 .contact-form-hint {
     font-size: .78rem;
     color: var(--color-muted);
 }

 .contact-form-checkbox-group {
     display: grid;
     gap: .35rem;
     margin-top: .25rem;
 }

 .contact-checkbox {
     display: flex;
     align-items: flex-start;
     gap: .45rem;
     font-size: .8rem;
     color: var(--color-muted);
 }

 .contact-checkbox input[type="checkbox"] {
     margin-top: .2rem;
     width: 15px;
     height: 15px;
 }

 .contact-checkbox span strong {
     color: #111827;
 }

 .contact-form-footer {
     margin-top: .4rem;
     display: flex;
     flex-wrap: wrap;
     justify-content: space-between;
     gap: .7rem;
     align-items: center;
     font-size: .78rem;
     color: var(--color-muted);
 }

 .contact-form-footer span {
     display: inline-flex;
     align-items: center;
     gap: .35rem;
 }

 .contact-form-footer span i {
     font-size: .8rem;
 }

 .contact-form-footer .badge-18 {
     border-color: #f97316;
     color: #b91c1c;
     background: #fef2f2;
 }

 @media (max-width: 960px) {
     .contact-grid {
         grid-template-columns: minmax(0, 1fr);
     }
 }

 @media (max-width: 768px) {
     .contact-form-wrapper {
         padding: 1.3rem 1.3rem;
     }

     .contact-form-row {
         grid-template-columns: minmax(0, 1fr);
     }

     .contact-form-header {
         flex-direction: column;
         align-items: flex-start;
     }
 }

 .cp-hidden {
     display: none !important;
 }


 .cp-cookie-banner {
     position: fixed;
     inset-inline: 0;
     bottom: 0;
     z-index: 60;
     background: #0f172a;
     color: #e5e7eb;
     border-top: 1px solid rgba(148, 163, 184, 0.7);
     box-shadow: 0 -8px 25px rgba(15, 23, 42, .7);
     font-size: .86rem;
 }

 .cp-cookie-banner-inner {
     max-width: var(--max-width, 1160px);
     margin: 0 auto;
     padding: .9rem 1.5rem .95rem;
     display: flex;
     gap: 1rem;
     align-items: center;
     justify-content: space-between;
     flex-wrap: wrap;
 }

 .cp-cookie-text {
     display: flex;
     align-items: flex-start;
     gap: .7rem;
     max-width: 680px;
 }

 .cp-cookie-text-icon {
     width: 30px;
     height: 30px;
     border-radius: 999px;
     background: rgba(248, 250, 252, .06);
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
 }

 .cp-cookie-text-icon i {
     color: var(--color-accent, #f4c542);
     font-size: 1rem;
 }

 .cp-cookie-text-main strong {
     font-weight: 600;
 }

 .cp-cookie-text-main p {
     margin: 0;
     color: #cbd5f5;
 }

 .cp-cookie-text-main a {
     color: #e5e7eb;
     text-decoration: underline;
     text-decoration-style: dotted;
 }

 .cp-cookie-actions {
     display: flex;
     flex-wrap: wrap;
     gap: .5rem;
     align-items: center;
     justify-content: flex-end;
 }

 .cp-cookie-btn {
     border-radius: 999px;
     border: 1px solid transparent;
     padding: .45rem .9rem;
     font-size: .8rem;
     font-weight: 600;
     display: inline-flex;
     align-items: center;
     gap: .35rem;
     cursor: pointer;
     background: transparent;
     color: #e5e7eb;
     transition: background .15s ease, border-color .15s ease, color .15s ease, transform .12s ease;
     text-decoration: none;
 }

 .cp-cookie-btn i {
     font-size: .8rem;
 }

 .cp-cookie-btn-primary {
     background: linear-gradient(135deg, var(--color-primary, #00a6e6), var(--color-primary-dark, #007bb5));
     border-color: transparent;
     color: #ffffff;
     box-shadow: 0 8px 22px rgba(15, 23, 42, .6);
 }

 .cp-cookie-btn-primary:hover {
     transform: translateY(-1px);
     filter: brightness(1.05);
 }

 .cp-cookie-btn-secondary {
     border-color: rgba(148, 163, 184, 0.8);
     background: rgba(15, 23, 42, .7);
 }

 .cp-cookie-btn-secondary:hover {
     background: rgba(15, 23, 42, .9);
 }

 .cp-cookie-btn-ghost {
     border-color: transparent;
     color: #cbd5f5;
     padding-inline: .3rem;
 }

 .cp-cookie-btn-ghost:hover {
     color: #ffffff;
 }

 .cp-cookie-panel-backdrop {
     position: fixed;
     inset: 0;
     background: rgba(15, 23, 42, .7);
     z-index: 70;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .cp-cookie-panel {
     width: 100%;
     max-width: 540px;
     background: #ffffff;
     border-radius: 18px;
     border: 1px solid var(--color-border, #e5e7eb);
     box-shadow: 0 24px 60px rgba(15, 23, 42, .25);
     padding: 1.4rem 1.6rem 1.3rem;
     font-size: .88rem;
 }

 .cp-cookie-panel-header {
     display: flex;
     justify-content: space-between;
     align-items: flex-start;
     gap: .75rem;
     margin-bottom: .8rem;
 }

 .cp-cookie-panel-header h3 {
     font-size: 1rem;
     margin: 0 0 .2rem;
     display: flex;
     align-items: center;
     gap: .45rem;
 }

 .cp-cookie-panel-header h3 i {
     color: var(--color-primary-dark, #007bb5);
 }

 .cp-cookie-panel-header p {
     margin: 0;
     color: var(--color-muted, #6b7280);
     font-size: .82rem;
 }

 .cp-cookie-panel-close {
     border: none;
     background: transparent;
     border-radius: 999px;
     width: 28px;
     height: 28px;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     color: #6b7280;
 }

 .cp-cookie-panel-close:hover {
     background: #f3f4f6;
     color: #111827;
 }

 .cp-cookie-groups {
     margin-top: .3rem;
     display: grid;
     gap: .65rem;
 }

 .cp-cookie-group {
     border-radius: 12px;
     border: 1px solid var(--color-border, #e5e7eb);
     background: #f9fafb;
     padding: .7rem .8rem;
     display: grid;
     gap: .25rem;
 }

 .cp-cookie-group-header {
     display: flex;
     justify-content: space-between;
     align-items: center;
     gap: .7rem;
 }

 .cp-cookie-group-title {
     display: flex;
     align-items: center;
     gap: .45rem;
     font-weight: 600;
     font-size: .86rem;
 }

 .cp-cookie-group-title i {
     color: var(--color-primary-dark, #007bb5);
     font-size: .9rem;
 }

 .cp-cookie-group-desc {
     font-size: .8rem;
     color: var(--color-muted, #6b7280);
 }

 .cp-cookie-switch {
     position: relative;
     width: 40px;
     height: 22px;
     flex-shrink: 0;
 }

 .cp-cookie-switch input {
     opacity: 0;
     width: 0;
     height: 0;
 }

 .cp-cookie-slider {
     position: absolute;
     cursor: pointer;
     inset: 0;
     background: #e5e7eb;
     border-radius: 999px;
     transition: background .15s ease;
 }

 .cp-cookie-slider::before {
     content: "";
     position: absolute;
     height: 16px;
     width: 16px;
     left: 3px;
     top: 3px;
     border-radius: 999px;
     background: #ffffff;
     transition: transform .15s ease;
     box-shadow: 0 1px 3px rgba(15, 23, 42, .4);
 }

 .cp-cookie-switch input:checked+.cp-cookie-slider {
     background: var(--color-primary, #00a6e6);
 }

 .cp-cookie-switch input:checked+.cp-cookie-slider::before {
     transform: translateX(18px);
 }

 .cp-cookie-switch input:disabled+.cp-cookie-slider {
     background: #9ca3af;
     cursor: not-allowed;
 }

 .cp-cookie-required-label {
     font-size: .75rem;
     color: #16a34a;
     display: inline-flex;
     align-items: center;
     gap: .3rem;
 }

 .cp-cookie-required-label i {
     font-size: .75rem;
 }

 .cp-cookie-panel-footer {
     margin-top: .8rem;
     display: flex;
     flex-wrap: wrap;
     justify-content: space-between;
     gap: .7rem;
     align-items: center;
     font-size: .78rem;
     color: var(--color-muted, #6b7280);
 }

 .cp-cookie-panel-footer span {
     display: inline-flex;
     align-items: center;
     gap: .35rem;
 }

 .cp-cookie-panel-footer span i {
     font-size: .8rem;
 }

 .cp-cookie-panel-actions {
     display: flex;
     gap: .5rem;
     flex-wrap: wrap;
 }

 .cp-cookie-panel-actions .cp-cookie-btn {
     font-size: .8rem;
     padding-inline: 1rem;
 }

 @media (max-width: 640px) {
     .cp-cookie-panel {
         margin: 0 1rem;
         padding: 1.2rem 1.2rem 1.1rem;
     }

     .cp-cookie-banner-inner {
         padding-inline: 1rem;
     }

     .cp-cookie-actions {
         justify-content: flex-start;
     }
 }

 @media (max-width: 480px) {
     .cp-cookie-text {
         align-items: flex-start;
     }
 }


 .cp-age-gate {
     position: fixed;
     inset: 0;
     z-index: 80;
     background: radial-gradient(circle at top, #0f172a, #020617 55%);
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 1.5rem;
 }

 .cp-age-gate-inner {
     max-width: 420px;
     width: 100%;
     background: rgba(15, 23, 42, 0.96);
     border-radius: 22px;
     border: 1px solid rgba(148, 163, 184, .6);
     box-shadow: 0 32px 80px rgba(0, 0, 0, .8);
     padding: 1.6rem 1.7rem 1.4rem;
     color: #e5e7eb;
     text-align: left;
     font-size: .9rem;
 }

 .cp-age-gate-badge {
     display: inline-flex;
     align-items: center;
     gap: .4rem;
     padding: .35rem .75rem;
     border-radius: 999px;
     border: 1px solid #fecaca;
     background: rgba(127, 29, 29, .9);
     color: #fee2e2;
     font-size: .78rem;
     font-weight: 600;
     margin-bottom: .7rem;
 }

 .cp-age-gate-badge i {
     font-size: .85rem;
 }

 .cp-age-gate-header {
     display: flex;
     align-items: flex-start;
     gap: .7rem;
     margin-bottom: .65rem;
 }

 .cp-age-gate-icon {
     width: 42px;
     height: 42px;
     border-radius: 14px;
     background: radial-gradient(circle at 30% 20%, #facc15, #f97316);
     display: flex;
     align-items: center;
     justify-content: center;
     color: #1f2937;
     flex-shrink: 0;
 }

 .cp-age-gate-icon i {
     font-size: 1.1rem;
 }

 .cp-age-gate-header h2 {
     font-size: 1.3rem;
     margin: 0 0 .25rem;
     color: #f9fafb;
 }

 .cp-age-gate-header p {
     margin: 0;
     color: #cbd5f5;
     font-size: .9rem;
 }

 .cp-age-gate-text {
     margin-top: .4rem;
     color: #d1d5db;
 }

 .cp-age-gate-text p {
     margin: 0 0 .4rem;
 }

 .cp-age-gate-text p:last-child {
     margin-bottom: 0;
 }

 .cp-age-gate-actions {
     margin-top: .9rem;
     display: flex;
     flex-wrap: wrap;
     gap: .5rem;
 }

 .cp-age-gate-btn {
     border-radius: 999px;
     border: 1px solid transparent;
     padding: .55rem 1.1rem;
     font-size: .85rem;
     font-weight: 600;
     display: inline-flex;
     align-items: center;
     gap: .4rem;
     cursor: pointer;
     background: transparent;
     color: #e5e7eb;
     transition: background .15s ease, border-color .15s ease, transform .12s ease;
     flex: 1 0 120px;
     justify-content: center;
 }

 .cp-age-gate-btn i {
     font-size: .9rem;
 }

 .cp-age-gate-btn-primary {
     background: linear-gradient(135deg, var(--color-primary, #00a6e6), var(--color-primary-dark, #007bb5));
     color: #ffffff;
     box-shadow: 0 10px 30px rgba(15, 23, 42, .7);
 }

 .cp-age-gate-btn-primary:hover {
     transform: translateY(-1px);
     filter: brightness(1.05);
 }

 .cp-age-gate-btn-secondary {
     border-color: rgba(148, 163, 184, .8);
     background: rgba(15, 23, 42, .9);
 }

 .cp-age-gate-btn-secondary:hover {
     background: rgba(31, 41, 55, .95);
 }

 .cp-age-gate-footer {
     margin-top: .75rem;
     font-size: .78rem;
     color: #9ca3af;
 }

 .cp-age-gate-footer strong {
     color: #e5e7eb;
 }

 .cp-age-gate-message {
     margin-top: .7rem;
     font-size: .82rem;
     color: #fecaca;
     display: none;
 }

 .cp-age-gate-message.cp-visible {
     display: block;
 }

 @media (max-width: 480px) {
     .cp-age-gate-inner {
         padding: 1.4rem 1.3rem 1.2rem;
     }

     .cp-age-gate-header h2 {
         font-size: 1.15rem;
     }
 }