/* Sicreto GDPR section — extends /style.css + /tools/tools.css. Same tokens, no new fonts. */
.gd .hero2{padding:clamp(28px,5vw,72px) 0 clamp(20px,3vw,40px)}
.gd .hero2 h1{font-family:var(--serif);font-size:clamp(2.5rem,6vw,5.2rem);line-height:.96;letter-spacing:-.02em;max-width:14em;margin:0 0 22px;text-wrap:balance}
.gd .hero2 h1 em{color:var(--ac)}
.gd .lede{font-size:1.12rem;line-height:1.6;color:var(--mut);max-width:42em}
.notice{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--ac);padding:14px 16px;border-radius:2px;font-size:.94rem;max-width:52em;margin:18px 0}
.notice b{white-space:nowrap}
.notice svg{flex:none;width:18px;height:18px;margin-top:2px;stroke:var(--ac);fill:none;stroke-width:1.7}
.gd .grid3{display:grid;gap:14px;grid-template-columns:1fr}
.gd .tile{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--rule);padding:20px;border-radius:2px;text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
.gd a.tile:hover{border-color:var(--ink);transform:translateY(-2px);color:var(--ink)}
.gd .tile h3{font-size:1.55rem;margin:0}
.gd .tile p{margin:0;color:var(--mut);font-size:.95rem}
.gd .tile .k{font:400 .72rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ac)}
.gd .tile .go{margin-top:auto;font-weight:600;font-size:.92rem}
.gd .toc{display:flex;flex-wrap:wrap;gap:6px 8px;margin:10px 0 0;padding:0;list-style:none}
.gd .toc a{display:inline-block;font:400 .8rem/1 var(--mono);letter-spacing:.04em;border:1px solid var(--rule);padding:.6em .75em;border-radius:999px;text-decoration:none;background:var(--card)}
.gd .toc a:hover{border-color:var(--ink)}
.gd .sec{padding:clamp(36px,5vw,72px) 0;border-top:1px solid var(--rule)}
.gd .sec>h2{font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.04;margin:0 0 14px;max-width:18em}
.gd .sec .k2{font:400 .74rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin:0 0 10px}
.gd .prose{max-width:44em}
.gd .prose p,.gd .prose li{font-size:1.02rem}
.gd .prose ul,.gd .prose ol{padding-left:1.2em}.gd .prose li{margin:.35em 0}
.gd .prose li::marker{color:var(--ac)}
.gd .src{display:block;border:0;padding:0;margin-top:10px;font:400 .76rem/1.5 var(--mono);color:var(--mut)}
.gd .src a{font-weight:400;color:var(--mut)}
.gd .cols2{display:grid;gap:14px;grid-template-columns:1fr}
.gd .panel{background:var(--card);border:1px solid var(--rule);padding:20px;border-radius:2px}
.gd .panel h3{font-size:1.45rem;margin:0 0 8px}
.gd .panel ul{margin:0;padding-left:1.1em}.gd .panel li{margin:.3em 0}
.gd table.mx{border-collapse:collapse;width:100%;font-size:.93rem;background:var(--card);border:1px solid var(--rule)}
.gd .mx th,.gd .mx td{padding:10px 12px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.gd .mx th{font:400 .7rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}
.gd .mxw{overflow-x:auto}
.gd .dark{background:var(--ink);color:var(--paper);padding:clamp(24px,4vw,48px);border-radius:2px;margin-top:clamp(28px,4vw,56px)}
.gd .dark h2{color:var(--paper);font-size:clamp(1.9rem,3.4vw,3rem);margin:0 0 10px}
.gd .dark p{color:var(--inkmut);max-width:40em}
.gd .dark a:not(.btn){color:var(--acl)}
/* RAG */
.rag{display:inline-flex;align-items:center;gap:10px;font:500 .8rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:.6em .85em;border-radius:999px;border:1px solid}
.rag i{width:10px;height:10px;border-radius:50%;display:inline-block}
.rag.g{color:#2f6b3a;border-color:#2f6b3a}.rag.g i{background:#2f6b3a}
.rag.a{color:#8a6d1e;border-color:#8a6d1e}.rag.a i{background:#c79a26}
.rag.r{color:var(--ac);border-color:var(--ac)}.rag.r i{background:var(--ac)}
.meter{display:flex;gap:4px;margin:14px 0 4px}.meter b{flex:1;height:6px;border-radius:3px;background:var(--rule)}
.meter.g b.on{background:#2f6b3a}.meter.a b.on{background:#c79a26}.meter.r b.on{background:var(--ac)}
.res dl{display:grid;grid-template-columns:1fr;gap:4px 18px;margin:16px 0}
.res dt{font:400 .72rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mut);margin-top:14px}
.res dd{margin:0}
.res .gapi{border-left:3px solid var(--ac);padding:6px 0 6px 12px;margin:10px 0}
.res .gapi.amb{border-color:#c79a26}
.res .gapi small{display:block;color:var(--mut)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.opt.sel2{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.qhelp{font-size:.88rem;color:var(--mut);margin:-6px 0 12px}
/* templates */
.tplbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.doc{background:#fff;border:1px solid var(--rule);padding:clamp(18px,3vw,36px);border-radius:2px;font-size:.95rem;line-height:1.55;max-height:72vh;overflow:auto}
.doc h1{font-family:var(--serif);font-size:1.9rem;line-height:1.1;margin:0 0 10px}
.doc h2{font-family:var(--sans);font-size:1.05rem;font-weight:700;margin:18px 0 6px;letter-spacing:0}
.doc .wm{background:#FFF4EE;border:1px solid var(--acl);color:#7a2312;padding:10px 12px;font-size:.86rem;margin:0 0 14px}
.doc table{border-collapse:collapse;width:100%;margin:8px 0}.doc td,.doc th{border:1px solid var(--rule);padding:6px 8px;vertical-align:top;text-align:left}
.doc .ph{background:#FFF0B8;padding:0 2px}
.flds{display:grid;gap:10px;grid-template-columns:1fr}
.flds label{display:flex;flex-direction:column;gap:5px;font:400 .72rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}
.flds input,.flds select{font:400 .98rem/1.4 var(--sans);color:var(--ink);border:1px solid var(--rule);background:#fff;padding:.65em .75em;border-radius:2px;text-transform:none;letter-spacing:0}
/* chat */
.chat{background:var(--card);border:1px solid var(--rule);border-radius:2px;display:flex;flex-direction:column;min-height:420px}
.chat .log{flex:1;padding:18px;display:flex;flex-direction:column;gap:14px;overflow:auto;max-height:62vh}
.msg{max-width:46em}
.msg.u{align-self:flex-end;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:12px 12px 2px 12px}
.msg.a{background:#fff;border:1px solid var(--rule);padding:14px 16px;border-radius:2px 12px 12px 12px}
.msg.a p{margin:0 0 .7em}.msg.a p:last-child{margin:0}
.msg.a ul{margin:.3em 0 .7em;padding-left:1.1em}
.msg .cites{margin-top:10px;border-top:1px solid var(--rule);padding-top:8px;font:400 .76rem/1.5 var(--mono);color:var(--mut)}
.msg .cites a{color:var(--mut)}
.msg .mode{font:400 .68rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#8a6d1e;margin-bottom:8px;display:block}
.chat form{display:flex;gap:8px;border-top:1px solid var(--rule);padding:12px;background:var(--paper)}
.chat textarea{flex:1;resize:none;min-height:48px;max-height:140px;font:400 1rem/1.4 var(--sans);border:1px solid var(--rule);background:#fff;padding:.7em .8em;border-radius:2px;color:var(--ink)}
.sugg{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.sugg button{appearance:none;border:1px solid var(--rule);background:var(--card);border-radius:999px;padding:.55em .8em;font:400 .88rem/1.2 var(--sans);cursor:pointer;color:var(--ink);text-align:left}
.sugg button:hover{border-color:var(--ink)}
.typing{display:inline-flex;gap:4px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--mut);animation:tp 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes tp{0%,100%{opacity:.25}50%{opacity:1}}
/* onboarding */
.stepper{display:flex;gap:6px;margin:6px 0 18px;list-style:none;padding:0;counter-reset:s}
.stepper li{flex:1;font:400 .72rem/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mut);border-top:3px solid var(--rule);padding-top:8px;counter-increment:s}
.stepper li:before{content:counter(s) ". "}
.stepper li.on{color:var(--ink);border-color:var(--ac)}.stepper li.done{color:var(--ink);border-color:var(--ink)}
.statuscard{background:#fff;border:1px solid var(--rule);padding:clamp(18px,3vw,32px);border-radius:2px}
.statuscard .ref{font:500 1rem/1 var(--mono);letter-spacing:.06em}
.tl2{list-style:none;padding:0;margin:16px 0;border-left:2px solid var(--rule)}
.tl2 li{position:relative;padding:0 0 16px 18px}
.tl2 li:before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--rule)}
.tl2 li.done:before{background:var(--ink);border-color:var(--ink)}.tl2 li.now:before{background:var(--ac);border-color:var(--ac)}
.tl2 li b{display:block}
.tl2 li span{color:var(--mut);font-size:.92rem}
.sform2{display:grid;gap:12px;grid-template-columns:1fr}
.sform2 label{display:flex;flex-direction:column;gap:6px;font:400 .72rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}
.sform2 input,.sform2 select,.sform2 textarea{font:400 1rem/1.4 var(--sans);color:var(--ink);border:1px solid var(--rule);background:#fff;padding:.75em .8em;border-radius:2px;text-transform:none;letter-spacing:0;width:100%}
.sform2 .chk{flex-direction:row;align-items:flex-start;gap:10px;font:400 .95rem/1.45 var(--sans);text-transform:none;letter-spacing:0;color:var(--ink)}
.sform2 .chk input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--ac)}
.sform2 .full{grid-column:1/-1}
.pn{font-size:.88rem;color:var(--mut);background:var(--paper2);padding:12px 14px;border-radius:2px}
.pn summary{cursor:pointer;color:var(--ink);font-weight:600}
@media(min-width:720px){
 .gd .grid3{grid-template-columns:1fr 1fr}
 .gd .cols2{grid-template-columns:1fr 1fr}
 .res dl{grid-template-columns:220px 1fr}.res dt{margin-top:0}
 .flds{grid-template-columns:1fr 1fr}
 .sform2{grid-template-columns:1fr 1fr}
}
@media(min-width:1040px){
 .gd .grid3{grid-template-columns:1fr 1fr 1fr}
 .gd .sec.split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:var(--gut)}
 .gd .sec.split>h2,.gd .sec.split>.k2{grid-column:1}
 .gd .sec.split>h2{grid-row:2/span 30;align-self:start;position:sticky;top:96px}
 .gd .sec.split>*:not(h2):not(.k2){grid-column:2}
 .gd .tplwrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--gut);align-items:start}
 .gd .tplwrap .side{position:sticky;top:96px}
}
@media print{.top,footer,.tplbar,.side,.notice.np{display:none!important}.doc{max-height:none;border:0}}
/* additions */
[data-l][hidden]{display:none!important}
.gsub{border-bottom:1px solid var(--rule);background:var(--paper2)}
.gsub .w{display:flex;gap:4px 18px;align-items:center;overflow-x:auto;scrollbar-width:none;white-space:nowrap;padding-top:10px;padding-bottom:10px}
.gsub .w::-webkit-scrollbar{display:none}
.gsub b{font:400 .72rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ac);margin-right:6px}
.gsub a{font-size:.88rem;text-decoration:none;color:var(--ink);padding:4px 0;border-bottom:1px solid transparent}
.gsub a:hover,.gsub a[aria-current]{border-color:var(--ac)}
.gsub .lg{margin-left:auto;display:flex;gap:6px}
.gsub .lg button{font:400 .72rem/1 var(--mono);letter-spacing:.06em;border:1px solid var(--rule);background:var(--card);padding:.5em .7em;border-radius:999px;cursor:pointer;color:var(--ink)}
.gsub .lg button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.doc h2{font-family:var(--serif);font-weight:400;font-size:1.9rem;line-height:1.1;margin:6px 0 12px}
.doc h3{font-family:var(--sans);font-size:1.02rem;font-weight:700;margin:18px 0 6px;letter-spacing:0}
.doc .ops{font-style:italic;color:var(--mut);border-left:2px solid var(--rule);padding-left:10px}
.doc ul{padding-left:1.2em}.doc li{margin:.3em 0}
.doc .wm:last-child{margin:18px 0 0}
.pill{display:inline-block;font:400 .68rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--rule);padding:.45em .6em;border-radius:999px;color:var(--mut);background:var(--card)}
.pill.ac{color:var(--ac);border-color:var(--ac)}
.packlist{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.packlist li{background:var(--card);border:1px solid var(--rule);padding:16px 18px;border-radius:2px}
.packlist li b{display:block;font-size:1.05rem;margin-bottom:2px}
.packlist li span{color:var(--mut);font-size:.94rem}
.packlist .src{margin-top:6px}
.flow{counter-reset:f;list-style:none;padding:0;margin:0;display:grid;gap:10px}
.flow li{counter-increment:f;position:relative;padding:14px 16px 14px 56px;background:var(--card);border:1px solid var(--rule);border-radius:2px}
.flow li:before{content:counter(f,decimal-leading-zero);position:absolute;left:16px;top:14px;font:400 .9rem/1.3 var(--mono);color:var(--ac)}
.flow li b{display:block}.flow li span{color:var(--mut);font-size:.94rem}
.flow li.gate{border-color:var(--ac);background:#FFF7F2}
.gd .twocol{display:grid;gap:clamp(20px,3vw,40px);grid-template-columns:1fr}
.panel.okp{border-left:3px solid #2f6b3a}
.formcard{background:#fff;border:1px solid var(--rule);padding:clamp(18px,3vw,32px);border-radius:2px}
.formcard h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 6px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ok-banner{background:#EEF5EC;border:1px solid #2f6b3a;color:#21492a;padding:12px 14px;border-radius:2px}
.warn-banner{background:#FFF7E3;border:1px solid #c79a26;color:#5f4a12;padding:12px 14px;border-radius:2px}
.gd .tool-h1{font-family:var(--serif);font-size:clamp(2.2rem,5vw,4rem);line-height:1;letter-spacing:-.02em;margin:12px 0 14px;max-width:16em}
@media(min-width:900px){.gd .twocol{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}.gd .twocol>.sticky{position:sticky;top:96px}}
@media print{body *{visibility:hidden}.doc,.doc *{visibility:visible}.doc{position:absolute;left:0;top:0;width:100%}}
.gd fieldset.stp{margin:0 0 12px;min-width:0}
.gd fieldset.stp>legend{float:left;width:100%;padding:0;margin:0 0 12px;font:400 clamp(1.2rem,2vw,1.45rem)/1.25 var(--serif)}
.gd fieldset.stp>legend+*{clear:both}
.gd .formcard fieldset.stp{background:var(--card)}
