/* ============================================
   IEITEC Repositório — CSS Puro
   Sem Tailwind, sem frameworks
   ============================================ */

/* --- VARIABLES --- */
:root {
  --primary: #10b748;
  --primary-dark: #0b7a30;
  --primary-hover: #0ea03e;
  --primary-10: rgba(16,183,72,.12);
  --primary-20: rgba(16,183,72,.2);
  --primary-5: rgba(16,183,72,.06);
  --primary-shadow: rgba(16,183,72,.25);
  --bg: #f6f8f6;
  --white: #fff;
  --slate-50: #f8fafc;
  --slate-100: #f1f5f9;
  --slate-200: #e2e8f0;
  --slate-300: #cbd5e1;
  --slate-400: #94a3b8;
  --slate-500: #64748b;
  --slate-600: #475569;
  --slate-700: #334155;
  --slate-800: #1e293b;
  --slate-900: #0f172a;
  --amber: #f59e0b;
  --amber-400: #fbbf24;
  --red-400: #f87171;
  --yellow-600: #ca8a04;
  --blue-600: #2563eb;
  --blue-50: #eff6ff;
  --green-600: #16a34a;
  --green-50: #f0fdf4;
  --purple-600: #9333ea;
  --purple-50: #faf5ff;
  --radius: .75rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-full: 9999px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.05);
  --shadow: 0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);
  --shadow-xl: 0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);
  --shadow-2xl: 0 25px 50px -12px rgba(0,0,0,.25);
}

/* --- RESET --- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--slate-900);font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button{font:inherit;cursor:pointer}
ul,ol{list-style:none}
table{border-collapse:collapse}
input,textarea,select{font:inherit}

/* --- LAYOUT --- */
.container{max-width:80rem;margin:0 auto;padding:0 1rem}
@media(min-width:640px){.container{padding:0 1.5rem}}
@media(min-width:1024px){.container{padding:0 2rem}}
.container--sm{max-width:48rem}
.container--md{max-width:56rem}
.container--lg{max-width:64rem}

/* --- HEADER --- */
.header{position:sticky;top:0;z-index:50;width:100%;border-bottom:1px solid var(--primary-10);background:rgba(246,248,246,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.header__inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}
.header__left{display:flex;align-items:center;gap:2rem}
.header__brand{display:flex;align-items:center;gap:.5rem}
.header__brand-icon{width:2rem;height:2rem;color:var(--primary);flex-shrink:0}
.header__logo{display:flex;align-items:baseline;gap:.25rem}
.header__logo-name{font-size:1.25rem;font-weight:800;letter-spacing:-.025em;color:var(--slate-900)}
.header__logo-sub{font-size:1rem;font-weight:400;letter-spacing:.05em;color:var(--primary-dark);font-family:'SF Mono','Cascadia Code','Fira Code',Consolas,'Courier New',monospace}
.header__nav{display:none;align-items:center;gap:1.5rem}
.header__nav a{font-size:.875rem;font-weight:600;color:var(--slate-700);transition:color .15s}
.header__nav a:hover{color:var(--primary)}
@media(min-width:768px){.header__nav{display:flex}}

.header__right{display:flex;align-items:center;gap:.75rem}
.header__search{display:none;align-items:center;gap:.375rem;background:var(--primary-10);border-radius:var(--radius-lg);padding:.5rem .75rem}
.header__search input{background:transparent;border:none;outline:none;font-size:.875rem;width:9rem}
.header__search input::placeholder{color:rgba(16,183,72,.6)}
.header__search-icon{width:1rem;height:1rem;color:var(--primary);flex-shrink:0}
@media(min-width:1024px){.header__search{display:flex}}

/* --- BUTTONS --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;font-size:.875rem;border-radius:var(--radius-lg);border:none;cursor:pointer;white-space:nowrap;transition:all .15s;text-decoration:none}
.btn--primary{background:var(--primary);color:#0f172a;padding:.625rem 1.25rem;box-shadow:0 4px 14px var(--primary-shadow);font-weight:700}
.btn--primary:hover{opacity:.9}
@media(max-width:767px){.btn--primary{font-size:.75rem;padding:.5rem .875rem}}
.btn--primary-lg{background:var(--primary);color:#0f172a;padding:1rem 2rem;font-size:1.125rem;border-radius:var(--radius-lg);box-shadow:0 10px 25px var(--primary-shadow)}
.btn--primary-lg:hover{transform:scale(1.02)}
.btn--secondary{background:var(--slate-200);color:var(--slate-900);padding:1rem 2rem;font-size:1.125rem}
.btn--secondary:hover{background:var(--slate-300)}
.btn--dark{background:var(--slate-900);color:#fff;padding:.75rem 1.5rem}
.btn--dark:hover{opacity:.9}
.btn--outline{background:transparent;border:2px solid var(--slate-100);padding:.5rem 1rem}
.btn--outline:hover{background:var(--slate-50)}
.btn--full{width:100%;text-align:center}
.btn--icon{padding:.5rem;border-radius:var(--radius)}
.btn__icon{width:1rem;height:1rem;flex-shrink:0}

.link-analysis{font-size:.875rem;font-weight:600;color:var(--slate-500);text-decoration:underline;text-decoration-color:rgba(16,183,72,.3);text-underline-offset:4px;transition:color .15s}
.link-analysis:hover{color:var(--primary)}

/* --- MOBILE MENU --- */
.mobile-menu-btn{display:none;padding:.5rem;border-radius:var(--radius);border:none;background:transparent;color:var(--slate-900);transition:background .15s}
.mobile-menu-btn:hover{background:var(--primary-10)}
.mobile-menu-btn svg{width:1.5rem;height:1.5rem}
.mobile-menu-btn .icon-close{display:none}
@media(max-width:767px){.mobile-menu-btn{display:block}}

.mobile-nav{display:none;border-top:1px solid var(--primary-10);background:var(--bg);padding:1rem}
.mobile-nav.is-open{display:block}
.mobile-nav a{display:block;font-weight:600;padding:.25rem 0;transition:color .15s}
.mobile-nav a:hover{color:var(--primary)}
.mobile-nav .btn{display:block;text-align:center;margin-top:.5rem}
@media(min-width:768px){.mobile-nav{display:none!important}}

/* --- HERO --- */
.hero{padding:3rem 0 4rem}
@media(min-width:1024px){.hero{padding:6rem 0}}
.hero__grid{display:grid;grid-template-columns:1fr;gap:3rem}
@media(min-width:1024px){.hero__grid{grid-template-columns:1fr 1fr;align-items:center}}
.hero__content{display:flex;flex-direction:column;gap:2rem}
.hero__badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--primary-10);border-radius:var(--radius-full);padding:.375rem 1rem;font-size:.875rem;font-weight:700;color:var(--primary-dark);width:fit-content}
.hero__badge-icon{width:1rem;height:1rem}
.hero__title{font-size:clamp(2.25rem,4.5vw,3.25rem);font-weight:900;line-height:1.1;letter-spacing:-.025em}
.hero__title span{color:var(--primary-dark)}
.hero__desc{font-size:1.125rem;color:var(--slate-600);max-width:36rem}
.hero__actions{display:flex;flex-wrap:wrap;gap:1rem}
.hero__social{display:flex;align-items:center;gap:1rem;font-size:.875rem;font-weight:500;color:var(--slate-600)}
.hero__avatars{display:flex}
.hero__avatar{width:2rem;height:2rem;border-radius:50%;border:2px solid var(--bg);display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:700;color:#0f172a}
.hero__avatar:not(:first-child){margin-left:-.5rem}
.hero__avatar--1{background:var(--primary)}
.hero__avatar--2{background:var(--primary)}
.hero__avatar--3{background:var(--primary-hover)}

.hero__visual{position:relative}
.hero__glow{position:absolute;inset:-1rem;background:var(--primary-20);filter:blur(48px);border-radius:50%}
.hero__card{position:relative;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);border:8px solid rgba(15,23,42,.05)}
.hero__card-inner{width:100%;aspect-ratio:16/9;background:linear-gradient(135deg,var(--primary-10),var(--primary-5));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}
.hero__card-logos{display:flex;gap:.75rem;margin-bottom:.5rem}
.hero__card-logo{width:4rem;height:4rem;border-radius:var(--radius-lg);object-fit:cover;box-shadow:var(--shadow)}
.hero__card-title{text-align:center;font-weight:700;font-size:1.25rem;color:var(--slate-700)}
.hero__card-tags{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.hero__card-tag{background:var(--primary-10);color:var(--primary-dark);font-size:.75rem;font-weight:700;padding:.25rem .75rem;border-radius:var(--radius-full)}
.hero__card-scores{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;width:100%;max-width:20rem;margin-top:.5rem}
.hero__card-score{background:var(--white);border-radius:var(--radius-lg);padding:.75rem;text-align:center;box-shadow:var(--shadow-sm)}
.hero__card-score-value{font-size:1.5rem;font-weight:900;color:var(--primary-dark)}
.hero__card-score-label{font-size:.75rem;color:var(--slate-500);font-weight:600}

/* --- SECTIONS --- */
.section{padding:5rem 0}
.section__header{margin-bottom:3rem;text-align:center}
.section__title{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;letter-spacing:-.015em}
.section__desc{margin-top:1rem;color:var(--slate-600)}

/* --- RANKING CARDS --- */
.ranking-list{display:grid;gap:1.5rem}

.ranking-card{display:flex;flex-direction:column;align-items:center;gap:1.5rem;background:var(--white);padding:1.5rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--slate-200);transition:all .2s}
.ranking-card:hover{border-color:var(--primary)}
@media(min-width:768px){.ranking-card{flex-direction:row}}

.ranking-card--featured{position:relative}
.ranking-pos{display:none;position:absolute;left:-.75rem;top:50%;transform:translateY(-50%);width:3rem;height:3rem;border-radius:50%;background:var(--primary);color:#0f172a;font-weight:900;font-size:1.25rem;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg)}
@media(max-width:1023px){.ranking-pos{display:none}}
@media(min-width:1024px){.ranking-pos{display:flex}}

.ranking-card__img{width:6rem;height:6rem;flex-shrink:0;border-radius:var(--radius-lg);overflow:hidden;display:flex;align-items:center;justify-content:center}
.ranking-card__img--primary{background:var(--primary-5)}
.ranking-card__img--neutral{background:var(--slate-100)}
.ranking-card__img img{width:100%;height:100%;object-fit:cover}

.ranking-card__body{flex:1;text-align:center}
@media(min-width:768px){.ranking-card__body{text-align:left}}
.ranking-card__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.5rem}
@media(min-width:768px){.ranking-card__top{justify-content:flex-start}}
.ranking-card__name{font-size:1.25rem;font-weight:700}
.ranking-card__badge{font-size:.6875rem;font-weight:700;padding:.125rem .75rem;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em}
.badge--green{background:var(--primary-10);color:var(--primary-dark)}
.badge--yellow{background:rgba(202,138,4,.15);color:#92600a}
.badge--blue{background:var(--blue-50);color:var(--blue-600)}
.badge--slate{background:var(--slate-100);color:var(--slate-600)}
.badge--green-alt{background:var(--green-50);color:#15803d}
.badge--purple{background:var(--purple-50);color:#7e22ce}

.ranking-card__stars{display:flex;align-items:center;justify-content:center;gap:.25rem;color:var(--amber);margin-bottom:.75rem}
@media(min-width:768px){.ranking-card__stars{justify-content:flex-start}}
.ranking-card__stars .star-icon{width:1.25rem;height:1.25rem;fill:var(--amber)}
.ranking-card__stars .star-half-icon{width:1.25rem;height:1.25rem;fill:var(--amber)}
.ranking-card__rating{margin-left:.5rem;color:var(--slate-500);font-size:.875rem;font-weight:500}

.ranking-card__tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}
@media(min-width:768px){.ranking-card__tags{justify-content:flex-start}}
.ranking-card__tag{background:var(--slate-100);padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}

.ranking-card__actions{display:flex;flex-direction:column;gap:.75rem;min-width:10rem;width:100%}
@media(min-width:768px){.ranking-card__actions{width:auto}}
.ranking-card__actions .btn{width:100%}
.ranking-card__actions .link-analysis{text-align:center}

/* Small ranking cards (3-col grid) */
.ranking-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:768px){.ranking-grid{grid-template-columns:repeat(3,1fr)}}

.ranking-card-sm{background:var(--white);padding:1.5rem;border-radius:var(--radius-xl);border:1px solid var(--slate-200);transition:all .2s}
.ranking-card-sm:hover{border-color:var(--primary)}
.ranking-card-sm__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}
.ranking-card-sm__pos{font-size:1.5rem;font-weight:900;color:var(--slate-600)}
.ranking-card-sm__img{width:3.5rem;height:3.5rem;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:.75rem}
.ranking-card-sm__img img{width:100%;height:100%;object-fit:cover}
.ranking-card-sm__name{font-weight:700;font-size:1.125rem;margin-bottom:.25rem}
.ranking-card-sm__stars{display:flex;align-items:center;gap:.125rem;color:var(--amber);margin-bottom:.5rem;font-size:.875rem}
.ranking-card-sm__stars .star-icon{width:1rem;height:1rem;fill:var(--amber)}
.ranking-card-sm__stars .star-half-icon{width:1rem;height:1rem;fill:var(--amber)}
.ranking-card-sm__rating{color:var(--slate-500);font-size:.75rem;margin-left:.25rem}
.ranking-card-sm__desc{font-size:.875rem;color:var(--slate-500);margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* --- COMPARATIVO --- */
.comparativo{background:var(--primary-5);border-radius:3rem;padding:5rem 1rem;margin:0 -1rem}
@media(min-width:640px){.comparativo{padding:5rem 1.5rem;margin:0 -1.5rem}}
@media(min-width:1024px){.comparativo{padding:5rem 2rem;margin:0 -2rem}}
.comparativo__table-wrap{overflow-x:auto;border-radius:var(--radius-xl);border:1px solid var(--slate-200);background:var(--white);box-shadow:var(--shadow-xl)}
.comparativo table{width:100%;text-align:left}
.comparativo thead tr{background:var(--slate-50)}
.comparativo th{padding:1.25rem;font-weight:700;border-bottom:1px solid var(--slate-200)}
.comparativo th.text-primary{color:var(--primary-dark)}
.comparativo td{padding:1.25rem;font-weight:500}
.comparativo tbody tr{border-bottom:1px solid var(--slate-100)}
.comparativo tbody tr:last-child{border-bottom:none}
.comparativo .text-center{text-align:center}
.comparativo .font-black{font-weight:900}
.comparativo .check-icon{width:1.5rem;height:1.5rem;color:var(--primary);display:inline-block;vertical-align:middle}

/* --- REVIEWS --- */
.tabs{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:2.5rem}
.tab{padding:.625rem 1.25rem;border-radius:var(--radius-full);font-weight:600;font-size:.875rem;border:2px solid var(--slate-200);background:transparent;color:var(--slate-600);cursor:pointer;transition:all .15s}
.tab:hover{border-color:var(--primary);color:var(--primary)}
.tab.is-active{background:var(--primary);border-color:var(--primary);color:#0f172a}

.reviews-grid{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:768px){.reviews-grid{grid-template-columns:repeat(3,1fr)}}

.review-card{background:var(--white);padding:2rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--slate-100)}
.review-card.hidden{display:none}
.review-card__stars{color:#b45309;font-size:1.25rem;margin-bottom:1rem;letter-spacing:2px}
.review-card__text{color:var(--slate-600);font-style:italic;margin-bottom:1.5rem;line-height:1.7}
.review-card__author{display:flex;align-items:center;gap:1rem}
.review-card__avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;color:#0f172a;font-weight:700;font-size:.875rem}
.review-card__name{font-weight:700;font-size:.875rem}
.review-card__role{font-size:.75rem;color:var(--slate-500)}

/* --- FAQ --- */
.faq{max-width:48rem;margin:0 auto}
.faq__list{display:flex;flex-direction:column;gap:1rem}
.faq-item{background:var(--white);border-radius:var(--radius-xl);border:1px solid var(--slate-200);overflow:hidden}
.faq-item.hidden{display:none}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;font-weight:700;cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{display:none}
.faq-item .chevron{width:1.25rem;height:1.25rem;flex-shrink:0;color:var(--slate-400);transition:transform .25s}
.faq-item[open] .chevron{transform:rotate(180deg)}
.faq-item__answer{padding:0 1.5rem 1.5rem;color:var(--slate-600);line-height:1.7}

/* --- FOOTER --- */
.footer{background:var(--slate-900);color:var(--slate-400);padding:4rem 0;margin-top:5rem}
.footer__grid{display:grid;grid-template-columns:1fr;gap:3rem;margin-bottom:3rem}
@media(min-width:768px){.footer__grid{grid-template-columns:2fr 1fr 1fr}}
.footer__brand{display:flex;align-items:center;gap:.5rem;color:var(--white);margin-bottom:1.5rem}
.footer__brand-icon{width:1.75rem;height:1.75rem;color:var(--primary);flex-shrink:0}
.footer__brand-title{font-size:1.25rem;font-weight:800;letter-spacing:-.025em}
.footer__brand-title span{color:var(--primary)}
.footer__about{font-size:.875rem;line-height:1.7;max-width:24rem;margin-bottom:1rem}
.footer__disclaimer{margin-bottom:1.5rem}
.footer__disclaimer summary{font-size:.75rem;color:var(--slate-400);cursor:pointer;list-style:none;transition:color .15s}
.footer__disclaimer summary::-webkit-details-marker{display:none}
.footer__disclaimer summary:hover{color:var(--slate-300)}
.footer__disclaimer summary span{text-decoration:underline;text-underline-offset:2px}
.footer__disclaimer-body{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}
.footer__disclaimer-body p{font-size:.75rem;color:var(--slate-500);line-height:1.6}
.footer__disclaimer-body a{color:var(--primary);text-decoration:underline}
.footer__social{display:flex;gap:1rem}
.footer__social-link{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--slate-800);color:var(--white);transition:background .15s}
.footer__social-link:hover{background:var(--primary)}
.footer__social-link svg{width:1.25rem;height:1.25rem}
.footer__nav-title{color:var(--white);font-weight:700;margin-bottom:1.5rem}
.footer__nav ul{display:flex;flex-direction:column;gap:1rem}
.footer__nav a{font-size:.875rem;transition:color .15s}
.footer__nav a:hover{color:var(--primary)}
.footer__bottom{border-top:1px solid var(--slate-800);padding-top:2rem;margin-top:2rem;text-align:center;font-size:.75rem}

/* --- BREADCRUMBS --- */
.breadcrumbs{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--slate-500);padding:1rem 0}
.breadcrumbs__current{color:var(--slate-900);font-weight:500}

/* --- SUBPAGE CONTENT --- */
.page-hero{padding:4rem 0 2rem;text-align:center}
.page-hero__badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--primary-10);border-radius:var(--radius-full);padding:.375rem 1rem;font-size:.875rem;font-weight:700;color:var(--primary-dark);margin-bottom:1rem}
.page-hero__title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:900;letter-spacing:-.025em;margin-bottom:1rem}
.page-hero__desc{color:var(--slate-600);max-width:36rem;margin:0 auto}

.content-card{background:var(--white);border-radius:var(--radius-xl);padding:1.75rem;box-shadow:var(--shadow-sm);border:1px solid var(--slate-100);margin-bottom:1rem}
.content-card h3{font-size:1.125rem;font-weight:700;margin-bottom:.75rem}
.content-card p{color:var(--slate-600);line-height:1.7;margin-bottom:.75rem}
.content-card p:last-child{margin-bottom:0}
.content-card ul,.content-card ol{padding-left:1.25rem;color:var(--slate-600);line-height:1.7;margin-bottom:.75rem}
.content-card ul{list-style:disc}
.content-card ol{list-style:decimal}
.content-card li{margin-bottom:.375rem}
.content-card a{color:var(--primary-dark);text-decoration:underline}

.summary-box{background:var(--primary-5);border-left:4px solid var(--primary);border-radius:var(--radius-xl);padding:1.5rem;margin-bottom:2rem}
.summary-box p{color:var(--slate-600);line-height:1.7}
.summary-box a{color:var(--primary-dark);text-decoration:underline}

.agreement-box{background:var(--primary-5);border:1px solid var(--primary-20);border-radius:var(--radius-xl);padding:1.25rem;margin-bottom:2rem}
.agreement-box p{color:var(--slate-600);font-size:.875rem;line-height:1.6}

/* Stats grid */
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin:2rem 0}
@media(min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}
.stat{text-align:center}
.stat__value{font-size:1.875rem;font-weight:900;color:var(--primary-dark)}
.stat__label{font-size:.875rem;color:var(--slate-500);margin-top:.25rem}

/* Methodology cards */
.method-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:768px){.method-grid{grid-template-columns:repeat(3,1fr)}}
.method-card{background:var(--white);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--slate-100)}
.method-card__num{width:2.5rem;height:2.5rem;background:var(--primary-10);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--primary-dark);margin-bottom:1rem}
.method-card h3{font-weight:700;margin-bottom:.5rem}
.method-card p{font-size:.875rem;color:var(--slate-600);line-height:1.6}

/* Principles */
.principle{display:flex;gap:1rem;padding:1rem 0}
.principle__check{width:2rem;height:2rem;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#0f172a}
.principle__check svg{width:1rem;height:1rem}
.principle h4{font-weight:700;margin-bottom:.25rem}
.principle p{font-size:.875rem;color:var(--slate-600);line-height:1.6}

/* Permission/prohibition items */
.perm-item{display:flex;gap:.5rem;margin-bottom:.5rem}
.perm-item__icon{font-weight:700;margin-top:.125rem;flex-shrink:0}
.perm-item__icon--allow{color:var(--primary-dark)}
.perm-item__icon--deny{color:var(--red-400)}

/* Info cards (contact page) */
.info-card{background:var(--white);border-radius:var(--radius-xl);padding:1.5rem;border:1px solid var(--slate-100);box-shadow:var(--shadow-sm)}
.info-card__icon{width:2.5rem;height:2.5rem;background:var(--primary-10);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--primary-dark);margin-bottom:1rem}
.info-card__icon svg{width:1.25rem;height:1.25rem}
.info-card h3{font-weight:700;font-size:1rem;margin-bottom:.5rem}
.info-card p{font-size:.875rem;color:var(--slate-600);line-height:1.6}

/* --- FORMS --- */
.form-group{margin-bottom:1.25rem}
.form-label{display:block;font-weight:600;font-size:.875rem;margin-bottom:.375rem}
.form-input,.form-select,.form-textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--slate-200);border-radius:var(--radius-lg);background:var(--slate-50);font-size:.875rem;transition:border-color .15s,box-shadow .15s;outline:none}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-10)}
.form-textarea{min-height:8rem;resize:vertical}

/* --- TABLES (subpages) --- */
.styled-table{width:100%;font-size:.875rem;overflow:hidden;border-radius:var(--radius)}
.styled-table thead tr{background:var(--slate-50)}
.styled-table th{padding:.75rem;font-weight:600;border-bottom:1px solid var(--slate-200);text-align:left}
.styled-table td{padding:.75rem}
.styled-table tbody tr{border-bottom:1px solid var(--slate-100)}
.styled-table tbody tr:last-child{border-bottom:none}

/* Rights grid */
.rights-grid{display:grid;grid-template-columns:1fr;gap:.75rem}
@media(min-width:640px){.rights-grid{grid-template-columns:repeat(2,1fr)}}
.rights-item{background:var(--slate-50);border-radius:var(--radius-lg);padding:.75rem;display:flex;align-items:center;gap:.5rem;font-size:.875rem}
.rights-item svg{width:1rem;height:1rem;color:var(--primary);flex-shrink:0}

/* --- UTILITIES --- */
.hidden{display:none!important}
.text-center{text-align:center}
.text-primary{color:var(--primary-dark)}
.mt-1{margin-top:.25rem}
.mt-2{margin-top:.5rem}
.mt-4{margin-top:1rem}
.mb-2{margin-bottom:.5rem}
.mb-4{margin-bottom:1rem}
.space-y-2>*+*{margin-top:.5rem}
.space-y-4>*+*{margin-top:1rem}
.space-y-8>*+*{margin-top:2rem}

/* --- SCROLLBAR --- */
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}
