:root { color-scheme: dark; --navy:#041b36; --blue:#062a4b; --green:#16834f; --gold:#f6d629; --white:#fff; }
* { box-sizing:border-box; }
html { min-height:100%; background:var(--navy); }
body { margin:0; min-height:100vh; color:var(--white); font-family:"Montserrat",Arial,sans-serif; background:linear-gradient(180deg,rgba(3,18,37,.6),rgba(2,22,43,.82)),url("hero-background.png") center/cover fixed; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; background:radial-gradient(circle at 50% 9%,rgba(20,67,105,.32),transparent 34%),linear-gradient(180deg,transparent 64%,rgba(1,25,46,.9)); }
.shell { position:relative; z-index:1; width:min(100%,520px); min-height:100vh; margin:auto; padding:34px 22px 26px; }
.hero { display:flex; flex-direction:column; align-items:center; text-align:center; }
.portrait { width:142px; aspect-ratio:1; border-radius:50%; border:3px solid var(--gold); display:grid; place-items:center; background:linear-gradient(145deg,#f7f7f3,#cfd9df); box-shadow:0 12px 35px rgba(0,0,0,.35); overflow:hidden; }
.portrait img { width:100%; height:100%; object-fit:cover; transform:scale(1.12); transform-origin:50% 20%; }
.brand { width:min(100%,410px); margin:14px 0 0; line-height:0; filter:drop-shadow(0 4px 6px rgba(0,0,0,.5)); }
.brand img { width:100%; height:auto; display:block; }
.tagline { margin:20px 0 18px; font-size:21px; line-height:1.08; font-weight:600; }
.tagline strong { color:#5bc15b; font-style:normal; }.tagline em { color:var(--gold); font-style:normal; font-weight:800; }
.links { display:grid; gap:8px; }
.link-card { min-height:70px; display:grid; grid-template-columns:54px 1fr 24px; gap:11px; align-items:center; padding:9px 14px; color:#fff; text-decoration:none; border:1.5px solid rgba(255,255,255,.88); border-radius:17px; background:linear-gradient(110deg,rgba(5,26,51,.94),rgba(8,35,65,.76)); box-shadow:0 7px 18px rgba(0,0,0,.17); transition:transform .18s,background .18s; }
.link-card:hover,.link-card:focus-visible { transform:translateY(-2px); background:rgba(12,48,84,.96); outline:none; }
.link-card.featured { border-color:#5ad070; background:linear-gradient(110deg,rgba(8,113,55,.95),rgba(28,147,70,.86)); }
.icon { width:48px; aspect-ratio:1; border-radius:13px; display:grid; place-items:center; font-size:31px; font-weight:800; font-family:Arial,sans-serif; box-shadow:inset 0 0 0 1px rgba(255,255,255,.25); }
.instagram { background:radial-gradient(circle at 70% 70%,#ffdf40 0 13%,#ff6149 30%,#ca23a9 58%,#5545d8 100%); }.whatsapp { background:#08bd57; }.facebook { background:#1976d2; }.tiktok { background:#05090e; text-shadow:-2px 0 #25f4ee,2px 0 #fe2c55; }.document,.generic { background:#082747; font-size:29px; }
.material-card { border-color:rgba(246,214,41,.92); background:linear-gradient(110deg,rgba(7,75,49,.95),rgba(9,39,63,.9)); }
.material { color:#062a4b; background:linear-gradient(145deg,#f7df3b,#fff3a0); font-size:28px; }
.copy { min-width:0; display:flex; flex-direction:column; gap:3px; }.copy strong { font-size:15px; line-height:1.1; }.copy small { font-size:11px; line-height:1.25; opacity:.94; }.arrow { font:300 43px/1 Arial; }
.site-footer { margin-top:24px; text-align:center; }
.footer-signature { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; font-size:10px; font-weight:700; letter-spacing:.42em; }
.footer-signature span { height:2px; background:linear-gradient(90deg,transparent,var(--gold)); }
.footer-signature span:nth-of-type(2) { background:linear-gradient(90deg,var(--gold),transparent); }
.footer-signature small { grid-column:1/-1; font-size:7px; letter-spacing:.55em; opacity:.75; }
.legal-info { margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.72); font-size:9px; line-height:1.55; letter-spacing:.01em; }
.legal-info strong { display:block; margin-bottom:5px; color:#fff; font-size:9px; letter-spacing:.16em; }
.legal-info p { margin:2px 0; }
.legal-info a { color:#fff; text-underline-offset:2px; }
.tse-link { display:inline-block; margin-top:7px; font-weight:700; }
.compact-footer { margin-top:34px; }
.compact-footer .legal-info { margin-top:0; }
.notice { position:fixed; z-index:5; left:50%; bottom:20px; translate:-50% 24px; width:max-content; max-width:calc(100% - 32px); padding:12px 18px; border-radius:12px; color:#08233e; background:#fff; font-weight:700; font-size:13px; opacity:0; visibility:hidden; transition:.2s; box-shadow:0 10px 30px rgba(0,0,0,.3); }.notice.show { opacity:1; visibility:visible; translate:-50% 0; }
.papers-shell { display:flex; flex-direction:column; justify-content:center; padding-block:42px; }
.papers-header { display:grid; grid-template-columns:34px 1fr 34px; align-items:start; text-align:center; margin-bottom:28px; }.papers-header h1 { margin:0 0 5px; font-size:22px; }.papers-header p { margin:0; font-size:11px; }.back-icon { color:#fff; text-decoration:none; font-size:25px; line-height:1; }
.paper-list { display:grid; gap:0; }.paper { display:grid; grid-template-columns:68px 1fr auto; gap:13px; align-items:center; padding:13px 3px; border-bottom:1px solid rgba(255,255,255,.15); }.cover { width:68px; height:88px; display:flex; align-items:center; justify-content:space-between; overflow:hidden; border-radius:4px; color:var(--navy); background:linear-gradient(135deg,#f6d834,#f3f4ee 48%,#3bad62); font-size:7px; font-weight:900; box-shadow:0 3px 8px rgba(0,0,0,.25); }.cover img { width:100%; height:100%; display:block; object-fit:cover; }.cover b { font-size:24px; }.paper-copy { display:flex; flex-direction:column; gap:4px; }.paper-copy strong { font-size:14px; }.paper-copy small { font-size:11px; }.download { display:flex; gap:7px; align-items:center; padding:12px 13px; border-radius:8px; color:#fff; background:#16834f; text-decoration:none; font-size:11px; font-weight:800; }.download span { font-size:20px; }.back-button { margin:28px auto 0; padding:13px 28px; border:1px solid rgba(255,255,255,.35); border-radius:10px; color:#fff; text-decoration:none; font-size:12px; font-weight:700; }
@media (min-width:700px) { .shell { padding-top:48px; padding-bottom:36px; }.portrait { width:154px; }.link-card { min-height:74px; }.copy strong { font-size:16px; }.copy small { font-size:12px; } }
@media (max-width:370px) { .shell { padding-inline:14px; }.portrait { width:118px; }.brand { width:92%; margin-top:10px; }.tagline { font-size:18px; }.link-card { grid-template-columns:46px 1fr 18px; padding-inline:10px; }.icon { width:43px; }.copy strong { font-size:13px; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }
.consent-banner { position:fixed; z-index:20; left:50%; bottom:16px; translate:-50% 0; width:min(680px,calc(100% - 24px)); display:grid; grid-template-columns:1fr auto; gap:18px; align-items:center; padding:18px; border:1px solid rgba(255,255,255,.2); border-radius:16px; color:#fff; background:#071d34; box-shadow:0 18px 55px rgba(0,0,0,.5); }
.consent-banner strong { font-size:14px; }.consent-banner p { margin:5px 0 0; color:#c5d1dc; font-size:11px; line-height:1.45; }.consent-actions { display:flex; gap:8px; }.consent-actions button { padding:10px 12px; border:1px solid rgba(255,255,255,.28); border-radius:9px; color:#fff; background:transparent; font:700 10px/1.2 "Montserrat",Arial,sans-serif; cursor:pointer; }.consent-actions .accept { border-color:#35aa63; background:#16834f; }
@media (max-width:600px) { .consent-banner { grid-template-columns:1fr; }.consent-actions { justify-content:stretch; }.consent-actions button { flex:1; } }
.legal-links { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 14px; margin-top:12px; }.legal-links a { font-weight:700; }
.legal-shell { width:min(100%,760px); padding-block:38px 54px; }.legal-page { padding:28px; border:1px solid rgba(255,255,255,.16); border-radius:18px; background:rgba(4,27,54,.92); box-shadow:0 18px 50px rgba(0,0,0,.24); }.legal-top { display:flex; align-items:center; gap:14px; margin-bottom:24px; }.legal-top a { color:#fff; font-size:24px; text-decoration:none; }.legal-top h1 { margin:0; font-size:25px; }.legal-page h2 { margin:28px 0 9px; color:#fff; font-size:16px; }.legal-page p,.legal-page li { color:#d2dce5; font-size:13px; line-height:1.65; }.legal-page a { color:#fff; text-underline-offset:3px; }.legal-page ul { padding-left:20px; }.legal-meta { color:#8fa7b9!important; font-size:11px!important; }.privacy-choice { display:grid; gap:12px; margin:24px 0; padding:18px; border-radius:13px; background:rgba(255,255,255,.06); }.privacy-choice strong { font-size:14px; }.privacy-choice p { margin:0; }.privacy-actions { display:flex; flex-wrap:wrap; gap:9px; }.privacy-actions button { padding:11px 15px; border:1px solid rgba(255,255,255,.3); border-radius:9px; color:#fff; background:transparent; font:700 11px "Montserrat",Arial,sans-serif; cursor:pointer; }.privacy-actions .primary { border-color:#35aa63; background:#16834f; }.choice-status { min-height:20px; color:#8ee4ab!important; font-weight:700; }.legal-footer-nav { margin-top:30px; padding-top:18px; border-top:1px solid rgba(255,255,255,.14); display:flex; flex-wrap:wrap; gap:12px; }.legal-footer-nav a { font-size:11px; font-weight:700; }
@media(max-width:600px){.legal-shell{padding:18px 12px 36px}.legal-page{padding:21px 17px}.legal-top h1{font-size:21px}.privacy-actions{display:grid}.privacy-actions button{width:100%}}
