/* Shared layout rules for the seven landings and their guided demos. */
body[data-service-page] :where(main, section, article, header, footer, .wrap, .envoltura, .deck, .side, .panel, .window, .head, .stat){min-width:0}
body[data-service-page] :where(button,a,input,textarea,summary){touch-action:manipulation}
body[data-service-page] :where(h1,h2,h3,p){overflow-wrap:break-word}
body[data-service-page="landing"] :where(.btn,.brand-demo-button){max-width:100%;white-space:normal;text-align:center}
body[data-service-page="landing"] :where(.hero-txt,.hero-copy,.case-launch-copy,.preview-copy,.agent-copy){min-width:0}
body[data-service-page="landing"] :where(.case-tabs,.capability-selector)>button{min-width:0}
body[data-service-page="demo"] :where(.chrome,.top,.controls){min-width:0}
body[data-service-page="demo"] .chrome .view{min-width:0}
body[data-service-page="demo"] :where(.cta,.ghost,.demo-back){max-width:100%;white-space:normal;text-align:center}
body[data-service-page="demo"] .st-main{min-width:0}
body[data-service-page="demo"] .st-label{text-overflow:clip;overflow-wrap:normal}
body[data-service-page="demo"] .demo-detail .scene-html{min-width:0;width:100%;max-width:100%}
body[data-service-page="demo"] .demo-detail :where(.bchart,.scene-html){min-height:0}
body[data-service-page="demo"] .demo-detail .forge-demo-screen{min-height:0}
.responsive-menu-toggle{display:none}

/* The screenshot stays contained; only its detail area scrolls when zoomed. */
dialog[data-responsive-viewer]{box-sizing:border-box;width:min(1400px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:12px;overflow:hidden}
.responsive-capture-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:0 0 12px;position:relative;z-index:2}
.responsive-capture-tools>button{position:static;display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:10px 15px;border:1px solid #dce4f0;border-radius:999px;background:#fff;color:#1c4787;font:600 13px/1.35 Inter,system-ui,sans-serif;cursor:pointer}
.responsive-capture-stage{overflow:auto;overscroll-behavior:contain;max-height:calc(100dvh - 110px);max-width:100%;border-radius:8px}
dialog[data-responsive-viewer] .responsive-capture-stage>img{display:block;width:100%;max-width:100%;height:auto;max-height:none;margin:0;object-fit:contain;transform:none}
dialog[data-responsive-viewer] .responsive-capture-stage.is-zoomed>img{width:max(100%,var(--capture-width,1200px));max-width:none}
.responsive-capture-tools>button:focus-visible{outline:3px solid #7b65cf;outline-offset:3px}

@media(max-width:1050px){
 body[data-service-page="landing"] .btn{min-height:44px}
 body[data-service-page="landing"] :where(.menu,.mobile-nav-button,.section-nav-toggle,.orbital-toggle){min-width:44px;min-height:44px}
 body[data-service="sentinel"] .responsive-menu-toggle{display:grid;place-items:center;flex:none;width:44px;height:44px;margin-left:auto;border:1px solid #e0e5ee;border-radius:50%;background:#fff;color:#325c85;font-size:24px;line-height:1}
 html body[data-service="sentinel"] header.dicsys-standard-header nav.links{display:none!important;position:absolute;top:calc(100% - 6px);left:16px;right:16px;margin:0;padding:12px;max-height:calc(100dvh - 120px);overflow:auto;background:#fff;border:1px solid #dce5f1;border-radius:16px;box-shadow:0 15px 35px #2039591a}
 html body[data-service="sentinel"] header.dicsys-standard-header nav.links.is-open{display:flex!important;flex-direction:column;align-items:stretch;gap:0!important}
 html body[data-service="sentinel"] header.dicsys-standard-header nav.links a{display:flex;align-items:center;min-height:44px;padding:12px}
}

/* A tablet needs the whole screenshot width, with its explanation underneath. */
@media(max-width:1024px){
 html:root body[data-service-page="demo"] .app{height:auto;min-height:100dvh;grid-template-rows:auto auto auto auto auto}
 html:root body[data-service-page="demo"] .deck{display:flex;flex-direction:column;gap:18px;padding-top:16px;padding-bottom:24px;min-height:0}
 body[data-service-page="demo"] .side{display:contents}
 body[data-service-page="demo"] .head{order:1;align-self:stretch;padding-right:0}
 body[data-service-page="demo"] .window{order:2;flex:none;width:100%;height:clamp(300px,64vw,560px)}
 body[data-service-page="demo"] .window:has(.forge-demo-screen){height:clamp(480px,72vw,640px)}
 body[data-service-page="demo"] .stat{order:3;align-self:stretch;max-width:none;width:100%}
 html:root body[data-service-page="demo"] #panel{order:4;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;overflow:visible;max-height:none;min-height:0;flex:none}
 body[data-service-page="demo"] .panel .missing{grid-column:1/-1;margin:0;padding:2px 4px}
 body[data-service-page="demo"] .panel .role{margin:0;align-content:start}
 body[data-service-page="demo"] .title{font-size:clamp(27px,4.4vw,38px);max-width:none}
 body[data-service-page="demo"] .top{gap:12px;padding-top:14px;padding-bottom:12px}
 body[data-service-page="demo"] .case{min-width:0;white-space:normal;flex:1;font-size:12px}
 body[data-service-page="demo"] .demo-back{font-size:13px;flex:none;margin-left:auto;min-height:44px}
 body[data-service-page="demo"] .stepper{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;overflow:visible;padding-top:2px;padding-bottom:4px}
 body[data-service-page="demo"] .stepper li{min-width:0}
 body[data-service-page="demo"] .stepper li::before{display:none}
 body[data-service-page="demo"] .st-main{flex-direction:column;justify-content:flex-start;gap:6px;width:100%;min-height:44px;padding:5px 2px}
 body[data-service-page="demo"] .st-num{width:30px;height:30px;flex:none}
 html:root body[data-service-page="demo"] .st-label{display:block;text-align:center;white-space:normal;overflow:visible;font-size:10px;line-height:1.35;letter-spacing:.03em}
 body[data-service-page="demo"] .st-dots{display:none}
 body[data-service-page="demo"] .chrome .view{display:none}
 body[data-service-page="demo"] .controls{position:sticky;bottom:0;z-index:8;gap:10px;padding:12px var(--gutter,16px) calc(12px + env(safe-area-inset-bottom));background:#f8f9fcf5;backdrop-filter:blur(12px);box-shadow:0 -1px 0 #dfe5ef}
 body[data-service-page="demo"] .controls .cta,body[data-service-page="demo"] .controls .ghost{min-width:0;min-height:44px}
 body[data-service-page="demo"] .legend{display:none}
 body[data-service-page="demo"] .legend-m{order:5;display:block;font-size:11px}
 body[data-service-page="demo"] .final{display:flex;flex-direction:column;align-items:stretch;gap:24px;min-width:0;padding-bottom:24px}
 body[data-service-page="demo"] .final[hidden]{display:none}
 body[data-service-page="demo"] .fin-main,body[data-service-page="demo"] .fin-side{width:100%;min-width:0}
 body[data-service-page="demo"] .fin-cta{padding:24px}
 body[data-service-page="demo"] .demo-detail{padding:12px;max-height:calc(100dvh - 24px);width:calc(100vw - 24px)}
}

@media(max-width:760px){
 body[data-service-page="landing"] :where(.btn,.brand-demo-button){width:auto;min-width:0;padding-left:18px;padding-right:18px;line-height:1.4}
 body[data-service-page="landing"] .brand-demo-button{display:inline-flex;justify-content:center;align-items:center;max-width:100%;height:auto}
 body[data-service-page="landing"]>footer{padding-bottom:90px}
 body[data-service-page="landing"] .case-tabs{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:8px}
 body[data-service-page="landing"] .case-tabs button{width:100%;white-space:normal;overflow-wrap:anywhere;padding-left:0;padding-right:0}
 body[data-service-page="landing"] .case-orb{width:clamp(60px,20vw,82px);height:clamp(60px,20vw,82px);flex:none}
 body[data-service-page="landing"] .capability-selector{max-width:100%}
 body[data-service-page="landing"] .screen-preview{min-height:44px}
 body[data-service="ai-delivery-platform"] #resultados .state-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
 body[data-service="ai-delivery-platform"] #resultados .state-controls button{min-height:44px;font-size:13px}
 body #dicsys-contact .dc-close{width:44px;height:44px;right:10px;top:10px}
 body #dicsys-contact .dc-tags button{min-height:44px}
 body[data-service-page="demo"] .window{height:clamp(290px,75vw,480px)}
 html:root body[data-service-page="demo"] .window:has(.forge-demo-screen){height:540px}
 body[data-service-page="demo"] .chrome{padding:10px 12px;gap:8px}
 body[data-service-page="demo"] .chrome .lights{display:none}
 body[data-service-page="demo"] .chrome b{font-size:12px;min-width:0;white-space:normal}
 body[data-service-page="demo"] .chrome .tag{font-size:10px;white-space:normal;min-width:0;line-height:1.3;padding:5px 8px;text-align:right}
 body[data-service-page="demo"] .chrome .tag i{flex:none}
 body[data-service-page="demo"] .demo-detail .sc{padding:14px}
 body[data-service-page="demo"] .demo-detail .bchart{padding:16px}
 body[data-service-page="demo"] .demo-detail .bc-row{grid-template-columns:minmax(60px,.8fr) minmax(0,1fr) 58px;gap:8px}
 body[data-service-page="demo"] .demo-detail .bc-row>span{white-space:normal;font-size:12px}
 body[data-service-page="demo"] .demo-detail .bc-row b{font-size:14px}
 body[data-service-page] .capture-viewer header{flex-wrap:wrap;gap:10px}
 body[data-service-page] .capture-viewer h2{flex-basis:100%;font-size:13px}
 body[data-service-page] .capture-viewer header>div{width:100%;justify-content:flex-end;flex-wrap:wrap}
 body[data-service-page] .capture-viewer button{min-height:44px;font-size:12px}
 body[data-service-page] .capture-viewer-body{max-height:calc(100dvh - 200px)}
 body[data-service-page] .capture-viewer-body img{max-height:calc(100dvh - 200px)}
 body[data-service-page] .capture-viewer-body.is-original img{max-height:none}
}

@media(max-width:520px){
 body[data-service="ai-delivery-platform"] #resultados .category-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:360px;border-radius:18px;padding:5px;gap:4px}
 body[data-service="ai-delivery-platform"] #resultados .category-tabs .tab-glider{display:none}
 body[data-service="ai-delivery-platform"] #resultados .category-tabs button{width:100%;min-height:44px;padding:8px 4px;border-radius:12px;font-size:13px}
 body[data-service="ai-delivery-platform"] #resultados .category-tabs button[aria-selected=true]{background:#fff;box-shadow:0 2px 8px #1c478714;color:#0076be}
}

@media(max-width:600px){
 body[data-service-page="demo"] .case{display:none}
 body[data-service-page="demo"] .top{padding-left:16px;padding-right:16px;gap:8px}
 body[data-service-page="demo"] .top img{width:92px;height:24px;object-fit:contain}
 body[data-service-page="demo"] .demo-back{font-size:12px;padding:8px 12px}
 html:root body[data-service-page="demo"] .st-label{display:none}
 html:root body[data-service-page="demo"] #panel{grid-template-columns:minmax(0,1fr)}
 body[data-service-page="demo"] .title{font-size:clamp(26px,7vw,34px)}
 body[data-service-page="demo"] .controls{gap:8px}
 body[data-service-page="demo"] .controls #prev{width:44px;min-width:44px;height:44px;padding:0}
 body[data-service-page="demo"] .controls #next{flex:1;min-width:0;font-size:14px;padding:12px}
 body[data-service-page="demo"] .counter{white-space:nowrap;font-size:14px}
 body[data-service-page="demo"] .final .gains{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 body[data-service-page="demo"] .final .ba{display:flex;flex-direction:column;align-items:stretch;gap:12px}
 body[data-service-page="demo"] .final .ba>.ico{transform:rotate(90deg);align-self:center}
 body[data-service-page="demo"] .fin-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}
 body[data-service-page="demo"] .fin-actions>a{width:100%;min-width:0;font-size:14px}
 .responsive-capture-tools>button{padding:9px 12px;font-size:12px}
}
