/* OFICIO CERO / SYSTEM CASEFILES — editorial extension, built for ClickFiscal & ClickMovil */
.casefile{--project:#d7e9ae;--project-dark:#1d2a21;overflow-x:clip}
.casefile[data-product="clickmovil"]{--project:#eda783;--project-dark:#30271f}
.casefile[data-product="clickfiscal"]{--project:#d1e4b3;--project-dark:#1b2b24}
.casefile a:focus-visible,.casefile button:focus-visible{outline:3px solid #c15a35;outline-offset:4px}
.casefile .case-intro{border-bottom:1px solid var(--ink);padding:43px var(--gutter) 64px}
.casefile .case-intro-top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.casefile .case-intro .case-title{margin:50px 0 24px;font-size:clamp(65px,11.4vw,195px)}
.casefile .intro-bottom{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:5vw;align-items:end}
.casefile .case-subtitle{font-size:clamp(31px,4vw,64px)}
.casefile .intro-lead{border-left:1px solid var(--ink);padding-left:28px;font:clamp(16px,1.7vw,22px)/1.55 var(--body)}
.casefile .case-facts{margin-top:65px}
.casefile .case-plate{height:clamp(390px,51vw,640px)}
.casefile .case-plate-note{position:absolute;bottom:30px;left:var(--gutter);z-index:2;max-width:360px;font:10px/1.7 var(--mono);text-transform:uppercase}
.casefile .case-localnav{display:flex;gap:0;flex-wrap:wrap;border-bottom:1px solid var(--ink);background:var(--paper)}
.casefile .case-localnav a{display:inline-flex;gap:25px;align-items:center;padding:20px clamp(15px,2.5vw,38px);border-right:1px solid var(--hair);font:11px var(--mono);text-transform:uppercase;transition:background .2s}
.casefile .case-localnav a:hover{background:var(--project)}.casefile .case-localnav a span{color:#b15a35}
.casefile .project-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.43fr);gap:4vw;align-items:end}
.casefile .project-head h2{font:clamp(45px,6.25vw,102px)/.98 var(--display);letter-spacing:-.083em;text-transform:uppercase}
.casefile .project-head h2 em{font:italic 1em var(--serif);color:var(--heat);text-transform:none;letter-spacing:-.05em}
.casefile .project-head>p{font:clamp(16px,1.5vw,20px)/1.5 var(--body)}
.casefile .edition-tag{font:10px/1.7 var(--mono);text-transform:uppercase;color:var(--muted)}
.casefile .case-block{padding:95px var(--gutter);border-bottom:1px solid var(--hair)}
.casefile .case-block.soft{background:#edece4}
.casefile .case-block.ink{background:var(--ink);color:var(--paper)}
.casefile .case-block.ink .head-rule{border-color:#789174}.casefile .case-block.ink .project-head h2{color:var(--paper)}
.casefile .case-block.ink .project-head p{color:#c0c9bd}.casefile .case-block.ink .edition-tag{color:#adbda5}
.casefile .block-description{margin:34px 0 0;max-width:880px;font:clamp(17px,1.65vw,23px)/1.55 var(--body)}
.casefile .case-indexnotes{font:12px/1.65 var(--mono);text-transform:uppercase;border-top:1px solid var(--hair);padding-top:24px}
.casefile .case-indexnotes strong{display:block;font:clamp(42px,7vw,88px)/.9 var(--display);letter-spacing:-.08em;margin:12px 0}
.casefile .case-walk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:60px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
.casefile .walk-step{position:relative;padding:35px clamp(16px,2vw,35px) 42px 0;min-height:285px}
.casefile .walk-step:not(:first-child){padding-left:clamp(16px,2vw,35px);border-left:1px solid #87908266}
.casefile .walk-step .walk-no{font:11px var(--mono);letter-spacing:.1em;opacity:.65}
.casefile .walk-step h3{margin:64px 0 14px;font:clamp(25px,2.5vw,39px)/1.06 var(--display);letter-spacing:-.05em;text-transform:uppercase}
.casefile .walk-step p{font:15px/1.5 var(--body);max-width:250px}
.casefile .walk-step:after{content:'↗';position:absolute;right:17px;top:26px;font:25px var(--body);opacity:.45}
.casefile .filter-board{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;border-top:1px solid var(--ink);padding-top:24px;margin-top:48px}
.casefile .filter-options{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.casefile .filter-options button{appearance:none;border:1px solid #90948b;background:transparent;color:var(--ink);padding:12px 16px;border-radius:0;font:11px var(--mono);text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}
.casefile .filter-options button[aria-pressed="true"],.casefile .filter-options button:hover{background:var(--ink);color:var(--paper)}
.casefile .filter-counter{font:11px var(--mono);white-space:nowrap}
.casefile .module-register{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);border-left:1px solid var(--hair);margin-top:14px}
.casefile .module-entry{padding:25px 25px 32px;border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);min-height:246px;display:flex;flex-direction:column;gap:23px;transition:background .2s}
.casefile .module-entry[hidden]{display:none!important}
.casefile .module-entry:hover{background:#dfe3d0}
.casefile .module-entry-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font:10px var(--mono);text-transform:uppercase;color:var(--muted)}
.casefile .status-mark{color:#a34a2e}
.casefile .module-entry h3{font:clamp(23px,2.25vw,34px)/1.05 var(--display);letter-spacing:-.043em;margin-top:auto}
.casefile .module-entry p{font-size:15px;line-height:1.55;max-width:390px}
.casefile .status-explainer{font:12px/1.6 var(--mono);margin-top:22px;color:var(--muted)}
.casefile .detail-panels{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,5vw,92px);margin-top:56px}
.casefile .detail-lede{font:italic clamp(35px,4vw,64px)/1.07 var(--serif);letter-spacing:-.05em}
.casefile .detail-lede em{color:var(--heat)}
.casefile .detail-info{font:clamp(16px,1.55vw,20px)/1.65 var(--body)}
.casefile .detail-info p+p{margin-top:18px}
.casefile .tech-label{font:11px var(--mono);text-transform:uppercase;color:var(--muted);display:block;margin:28px 0 12px}
.casefile .tech-strips{display:flex;gap:7px;flex-wrap:wrap}
.casefile .tech-strips span{padding:9px 12px;border:1px solid #7f8b7c;font:11px var(--mono)}
.casefile .diagram-board{border:1px solid #869986;background:repeating-linear-gradient(90deg,rgba(209,232,169,.045) 0,rgba(209,232,169,.045) 1px,transparent 1px,transparent 50px),#213128;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:center;padding:44px 30px;margin-top:60px;color:#eff2df}
.casefile .diagram-node{border:1px solid #86ac7e;min-height:135px;padding:18px 16px;display:flex;flex-direction:column;justify-content:space-between;gap:25px}
.casefile .diagram-node small{font:10px var(--mono);color:#b7d4af}.casefile .diagram-node strong{font:clamp(16px,1.8vw,25px)/1.1 var(--display);text-transform:uppercase;letter-spacing:-.035em}
.casefile .diagram-arrow{font:30px var(--mono);color:#cbf578}
.casefile .story-roles{border-top:1px solid currentColor;margin-top:53px}
.casefile .role-row{display:grid;grid-template-columns:40px minmax(170px,.65fr) minmax(0,1.35fr);gap:24px;border-bottom:1px solid #8991846b;padding:29px 0;align-items:baseline}
.casefile .role-row h3{font:clamp(23px,2.6vw,38px)/1 var(--display);letter-spacing:-.05em;text-transform:uppercase}
.casefile .role-row p{font:16px/1.55 var(--body)}
.casefile .role-row .mono{font-size:11px;color:inherit;opacity:.58}
.casefile .risk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:50px;border:1px solid #7a8776}
.casefile .risk-item{padding:35px;border-right:1px solid #7a8776;border-bottom:1px solid #7a8776}
.casefile .risk-item:nth-child(2n){border-right:0}.casefile .risk-item:nth-last-child(-n+2){border-bottom:0}
.casefile .risk-item .mono{font:11px var(--mono);color:#cde3bd}.casefile .risk-item h3{margin:32px 0 14px;color:var(--paper);font:clamp(23px,2.3vw,35px) var(--display);letter-spacing:-.05em}
.casefile .risk-item p{color:#bac9b7;font-size:15px;line-height:1.55}
.casefile .status-column{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--ink);border:1px solid var(--ink);margin-top:45px}
.casefile .status-lane{background:var(--paper);padding:27px 25px 33px;min-height:240px}
.casefile .status-lane b{font:10px var(--mono);text-transform:uppercase;color:#943b24}
.casefile .status-lane h3{font:clamp(24px,2.4vw,36px) var(--display);margin:32px 0 17px;letter-spacing:-.05em}
.casefile .status-lane p{font-size:15px;line-height:1.55}
.casefile .product-outro{background:var(--project);padding:90px var(--gutter);display:grid;grid-template-columns:1.3fr .7fr;gap:4vw;align-items:end;border-top:1px solid var(--ink)}
.casefile .product-outro h2{font:clamp(49px,6.8vw,108px)/.96 var(--display);letter-spacing:-.08em;text-transform:uppercase}
.casefile .product-outro h2 em{font:italic .98em var(--serif);color:#a64f30;text-transform:none}
.casefile .product-outro p{max-width:470px;margin:23px 0 29px;font-size:18px;line-height:1.5}
.casefile .product-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch}
.casefile .product-actions a{border:1px solid var(--ink);padding:18px;display:flex;align-items:center;justify-content:space-between;gap:25px;font:12px var(--mono);text-transform:uppercase;background:var(--ink);color:var(--paper);transition:background .2s}
.casefile .product-actions a:nth-child(2){background:transparent;color:var(--ink)}.casefile .product-actions a:hover{background:#a64f30;color:#fff}
.casefile .product-footnote{margin-top:25px;font:12px/1.7 var(--mono);color:#3b4138}
@media(max-width:1100px){.casefile .module-register{grid-template-columns:repeat(2,minmax(0,1fr))}.casefile .case-walk{grid-template-columns:repeat(2,1fr)}.casefile .walk-step:nth-child(3){border-left:0;border-top:1px solid #89918466;padding-left:0}.casefile .walk-step:nth-child(4){border-top:1px solid #89918466}}
@media(max-width:800px){.casefile .intro-bottom,.casefile .project-head,.casefile .detail-panels,.casefile .product-outro{grid-template-columns:1fr}.casefile .intro-lead{border-left:0;border-top:1px solid var(--hair);padding:21px 0 0}.casefile .project-head{gap:20px}.casefile .diagram-board{grid-template-columns:1fr;gap:12px}.casefile .diagram-arrow{transform:rotate(90deg);justify-self:center}.casefile .role-row{grid-template-columns:30px 1fr}.casefile .role-row p{grid-column:2}.casefile .case-block{padding:70px var(--gutter)}.casefile .status-column{grid-template-columns:1fr}.casefile .status-lane{min-height:0}.casefile .product-outro{padding-block:70px}.casefile .case-plate{height:445px}}
@media(max-width:540px){.casefile .case-intro{padding-top:28px}.casefile .case-intro .case-title{margin:35px 0 20px;font-size:clamp(58px,14vw,90px)}.casefile .case-intro .case-facts{margin-top:45px}.casefile .case-plate{height:340px}.casefile .case-localnav{display:grid;grid-template-columns:1fr 1fr}.casefile .case-localnav a{padding:16px 13px;font-size:10px}.casefile .case-walk,.casefile .module-register,.casefile .risk-grid{grid-template-columns:1fr}.casefile .walk-step,.casefile .walk-step:not(:first-child),.casefile .walk-step:nth-child(3){padding:24px 0 30px;border-left:0;border-top:1px solid #87908266;min-height:0}.casefile .walk-step:first-child{border-top:0}.casefile .walk-step h3{margin:30px 0 9px}.casefile .walk-step:after{right:4px;top:20px}.casefile .module-entry{min-height:195px;padding:20px}.casefile .risk-item,.casefile .risk-item:nth-child(2n),.casefile .risk-item:nth-last-child(-n+2){border-right:0;border-bottom:1px solid #7a8776;padding:28px 22px}.casefile .risk-item:last-child{border-bottom:0}.casefile .project-head h2{font-size:clamp(43px,11vw,67px)}.casefile .case-block{padding-block:55px}.casefile .case-block .head-rule{margin-bottom:35px}.casefile .filter-options button{font-size:10px;padding:10px 12px}.casefile .diagram-board{padding:25px 20px}.casefile .product-outro h2{font-size:clamp(47px,11vw,70px)}}
@media(prefers-reduced-motion:reduce){.casefile *{scroll-behavior:auto!important;transition:none!important}}
