@charset "UTF-8";
:root{--ink:#17213f;--muted:#596278;--teal:#071035;--dark:#071035;--paper:#fff;--bg:#f5f6fa;--line:#dce0eb;--soft:#edf0f8;--gold:#d4dfff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--teal);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}:focus-visible{outline:3px solid #9a5900;outline-offset:4px}button{cursor:pointer}.wrap{width:min(1280px,calc(100% - 64px));margin:auto}.skip{position:fixed;top:-100px;left:20px;background:var(--paper);padding:14px;z-index:10}.skip:focus{top:10px}.utility{background:var(--dark);color:#fff;font-size:.75rem}.utility .wrap{display:flex;align-items:center;justify-content:space-between;padding:9px 0;gap:20px}.utility .wrap>div{display:flex;gap:24px}.utility a,.utility button{color:#fff}.utility button{background:none;border:0;padding:0}.masthead{background:var(--paper);border-bottom:1px solid var(--line)}.brand-row{display:flex;align-items:center;gap:32px;padding:27px 0}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--dark)}.brand b{font-size:1.7rem;line-height:1;letter-spacing:.07em}.brand small{display:block;font-size:.8rem;margin-top:6px;color:var(--muted)}.brand-mark{display:flex;gap:0;background:var(--teal);color:#fff;border-radius:14px 14px 14px 2px;font-size:30px;font-weight:800;letter-spacing:-5px;padding:4px 15px 6px 10px}.brand-mark span{color:var(--gold)}.location{font-size:.68rem;letter-spacing:.16em;color:var(--muted);border-left:1px solid var(--line);padding-left:30px}.admin-link{margin-left:auto;font-size:.8rem}.navigation{display:flex;gap:28px;overflow:auto;white-space:nowrap}.navigation a{padding:15px 0;text-decoration:none;color:var(--muted);font-size:.85rem;border-bottom:3px solid transparent}.navigation a:hover,.navigation a[aria-current]{color:var(--teal);border-bottom-color:var(--teal)}main{min-height:55vh}.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:70px;padding:70px 0 60px;align-items:center}.eyebrow{font-size:.68rem;letter-spacing:.16em;font-weight:750;color:var(--teal);margin:0 0 15px}.hero h1{font-size:clamp(2.4rem,4vw,3.5rem);font-weight:650;line-height:1.14;letter-spacing:-.045em;margin:0 0 24px}.hero h1 em{font-style:normal;color:var(--teal)}.hero p:not(.eyebrow){color:var(--muted);max-width:550px;margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--teal);background:var(--teal);border-radius:7px;color:#fff;text-decoration:none;padding:11px 19px;gap:8px;font-size:.86rem;font-weight:650;min-height:44px}.button:hover{background:var(--dark);color:#fff}.outline{background:var(--paper);color:var(--teal);border-color:var(--line)}.hero-card{position:relative;overflow:hidden;background:var(--dark);border-radius:18px;padding:36px;color:#fff;min-height:300px}.hero-card h2{font-size:1.6rem;margin:10px 0}.hero-card p:not(.eyebrow){color:#dce2f4;font-size:.9rem;max-width:350px}.hero-card a{color:var(--gold);font-weight:650;position:relative;z-index:1}.hero-number{display:inline-block;border:1px solid #707d9f;border-radius:40px;padding:4px 14px;font-size:.75rem;letter-spacing:.1em}.wave{position:absolute;bottom:-100px;right:-40px;width:260px;height:200px;border-radius:50%;border:1px solid #8291b8;box-shadow:0 -16px 0 -1px var(--dark),0 -17px 0 0 #52648f,0 -36px 0 -1px var(--dark),0 -37px 0 0 #52648f;transform:rotate(-22deg)}.section-heading,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:24px}.section-heading h2,.panel-heading h2{font-size:1.65rem;letter-spacing:-.03em;margin:0}.section-heading .eyebrow,.panel-heading .eyebrow{margin-bottom:6px}label{display:flex;flex-direction:column;gap:7px;font-size:.8rem;font-weight:600}input,select,textarea{border:1px solid #b4bcd0;border-radius:6px;background:var(--paper);color:var(--ink);min-height:44px;padding:10px 12px;max-width:100%;min-width:0}input[type=checkbox]{min-height:0}.service-search{min-width:270px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:26px;color:var(--ink);transition:border-color .15s,transform .15s}.service-card:hover{border-color:var(--teal);transform:translateY(-3px)}.card-top{display:flex;align-items:center;gap:10px;width:100%;font-size:.67rem;color:var(--muted)}.card-top b{margin-left:auto;font-size:1.2rem;color:var(--teal)}.card-index{background:var(--soft);color:var(--teal);padding:6px 9px;border-radius:6px;font-weight:700}.service-card h3{font-size:1.16rem;margin:20px 0 8px;line-height:1.3}.service-card p{font-size:.85rem;color:var(--muted);margin:0 0 24px}.card-cta{margin-top:auto;font-size:.8rem;font-weight:650;color:var(--teal)}[hidden]{display:none!important}.help-banner{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:35px;background:var(--soft);border-radius:12px;margin:45px 0 65px}.help-banner h2{font-size:1.4rem;margin:0}.help-banner p:not(.eyebrow){font-size:.9rem;margin-bottom:0;color:var(--muted)}footer{border-top:1px solid var(--line);background:var(--paper);padding-top:42px;font-size:.85rem}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px;padding-bottom:40px}.footer-grid b{font-size:.95rem}.footer-grid p{color:var(--muted)}.footer-base{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0;color:var(--muted);font-size:.75rem}.page-head{padding:40px 0 28px}.page-head h1{font-size:2.5rem;line-height:1.2;letter-spacing:-.035em;margin:15px 0}.page-head p{color:var(--muted);max-width:850px}.breadcrumb{font-size:.8rem;text-decoration:none}.filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end;padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-bottom:24px}.filters .search-field{flex:1;min-width:220px}.filters a{padding-bottom:10px;font-size:.85rem}.panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-bottom:30px;overflow:hidden}.panel-heading{padding:24px;margin:0}.table-scroll{overflow:auto;max-width:100%}table{border-collapse:collapse;width:100%;text-align:left;font-size:.85rem}th{background:var(--soft);font-size:.7rem;text-transform:uppercase;letter-spacing:.035em;color:var(--muted);font-weight:650}th,td{padding:17px 20px;border-bottom:1px solid var(--line);vertical-align:top}td{min-width:120px;max-width:420px;overflow-wrap:anywhere}td.numeric{text-align:right;white-space:nowrap}tbody tr:hover{background:var(--bg)}.file-link{font-weight:650;white-space:nowrap;font-size:.8rem}.hash{display:block;font-family:monospace;font-size:.7rem;overflow-wrap:anywhere;color:var(--muted);margin-top:7px}.pagination{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;font-size:.8rem}.pagination>div{display:flex;gap:10px}.notice{border-left:4px solid var(--teal);background:var(--soft);padding:18px 22px;font-size:.85rem;margin:0 0 25px;border-radius:4px}.error{border-color:#9b2222;background:#fff0ee;color:#812323}.empty{text-align:center;padding:45px}.toolbar,.toolbar form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.toolbar{margin:25px 0}.toolbar form{margin-left:auto}.pdf{display:block;width:100%;height:680px;border:1px solid var(--line);border-radius:10px;margin-bottom:25px;background:#e7eaf2}.text-panel,.prose{padding:28px}.prose{max-width:950px}.prose h2{font-size:1.35rem;margin-top:28px}.prose h2:first-child{margin-top:0}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem}summary{cursor:pointer;color:var(--teal);font-size:.85rem}details{margin-top:10px}td small{display:block;color:var(--muted)}.extracted{display:flex;flex-direction:column;border-bottom:1px dashed var(--line);padding:8px 0}.extracted span{color:var(--muted);font-size:.72rem}.contrast{--ink:#fff;--muted:#eee;--teal:#ffe66d;--dark:#000;--paper:#090909;--bg:#000;--line:#aaa;--soft:#222;--gold:#ffe66d}.contrast .button:not(.outline){color:#000;background:#ffe66d}.contrast .brand-mark{color:#000}.contrast .error{background:#222;color:#fff}.contrast .hero-card{border:1px solid #fff}.contrast .wave{display:none}
@media(max-width:950px){.wrap{width:calc(100% - 40px)}.hero{gap:30px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.location{display:none}.navigation{gap:23px}.filters label{flex:1}.filters select{width:100%}.hero h1{font-size:2.6rem}}
@media(max-width:620px){.wrap{width:calc(100% - 32px)}.utility .wrap>span{display:none}.utility .wrap>div{width:100%;justify-content:space-between}.brand-row{padding:20px 0;gap:15px}.brand b{font-size:1.3rem}.brand small{font-size:.65rem}.brand-mark{font-size:24px}.admin-link{font-size:.7rem;max-width:95px}.hero{grid-template-columns:1fr;padding:35px 0;gap:28px}.hero h1{font-size:2.55rem}.hero-card{padding:28px;min-height:260px}.cards{grid-template-columns:1fr}.section-heading{align-items:stretch;flex-direction:column;gap:18px}.service-search{min-width:0}.service-card{padding:24px}.help-banner{flex-direction:column;align-items:flex-start;padding:25px}.footer-grid{grid-template-columns:1fr;gap:25px}.footer-base{flex-direction:column;gap:12px}.page-head h1{font-size:2rem}.filters{padding:18px}.filters label{min-width:100%}.panel-heading{padding:18px;align-items:flex-start;flex-direction:column}.panel-heading h2{font-size:1.35rem}.pagination{padding:16px;gap:14px;flex-wrap:wrap}.pdf{height:500px}.toolbar form{margin-left:0}th,td{padding:14px}.text-panel,.prose{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.service-card:hover{transform:none}}
@media print{.utility,.navigation,.admin-link,.filters,.button,.pagination,footer,.toolbar{display:none!important}.wrap{width:100%}.table-scroll{overflow:visible}body{background:white;color:black}th,td{font-size:9pt;padding:5pt}.panel{border:0}.hero{display:block}.pdf{display:none}}

.hero-card>:not(.wave){position:relative;z-index:1}.wave{opacity:.25;pointer-events:none}

.official-logo{width:110px;height:auto;background:#fff;border-radius:4px;padding:4px}.brand b{font-size:1.4rem;letter-spacing:-.02em}.location{padding-left:20px}@media(max-width:620px){.official-logo{width:80px}.brand b{font-size:1.05rem}.brand small{font-size:.6rem;max-width:130px}.brand-row{gap:10px}}

/* Contract columns: number, process, supplier, object, term, modality, status, dates, value, document. */
.contracts-table{table-layout:fixed;width:100%;font-size:12px}.contracts-table th,.contracts-table td{min-width:0;max-width:none;padding:12px 8px;overflow-wrap:anywhere}.contracts-table th{font-size:10px;letter-spacing:0}.contracts-table td.numeric{white-space:normal}.contracts-table th:nth-child(1),.contracts-table th:nth-child(2){width:6%}.contracts-table th:nth-child(3){width:12%}.contracts-table th:nth-child(4){width:20%}.contracts-table th:nth-child(5){width:8%}.contracts-table th:nth-child(6){width:9%}.contracts-table th:nth-child(7){width:7%}.contracts-table th:nth-child(8),.contracts-table th:nth-child(9){width:7%}.contracts-table th:nth-child(10),.contracts-table th:nth-child(11){width:9%}.contracts-table .file-link{white-space:normal}@media(max-width:760px){.contracts-table{min-width:960px}}
