/* D'Ascola Teck — mobile-first layer; no desktop styling changes. */
.dt-mobile-catalog-bar,.dt-mobile-catalog-nav,.dt-mobile-catalog-overlay{display:none}
@media(max-width:767px){
  :root{--dt-m-ink:#0d2d50;--dt-m-line:#c7ddf0;--dt-m-surface:#fff;--dt-m-soft:#eef6ff;--dt-m-blue:#126bc5}
  html[data-theme="dark"]{--dt-m-ink:#f1f7ff;--dt-m-line:#31557e;--dt-m-surface:#0b2446;--dt-m-soft:#112f55;--dt-m-blue:#399cff}
  html,body{max-width:100%;overflow-x:clip}
  body.dt-mobile-enhanced .dt-v13-services .dt-v13-toolbar,
  body.dt-mobile-enhanced .dt-v13-services .dt-v13-showcase>.dt-v13-selector,
  body.dt-mobile-enhanced .pf-focus .pf-focus-toolbar,
  body.dt-mobile-enhanced .pf-focus .pf-focus-dashboard>.pf-focus-directory{display:none!important}
  body.dt-mobile-enhanced .dt-v13-services .dt-v13-showcase,
  body.dt-mobile-enhanced .pf-focus .pf-focus-dashboard{display:block!important;min-width:0}
  body.dt-mobile-enhanced .dt-v13-services .dt-v13-portfolio-heading,
  body.dt-mobile-enhanced .pf-focus .pf-focus-section-heading{margin-bottom:20px}
  body.dt-mobile-enhanced .dt-v13-services .dt-v13-portfolio-heading>p,
  body.dt-mobile-enhanced .pf-focus .pf-focus-section-heading>p{font-size:13px;line-height:1.55;margin-top:12px}
  .dt-mobile-catalog-bar{display:block;margin:0 0 10px}
  .dt-mobile-catalog-choose{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:4px 12px;align-items:center;
    border:1px solid var(--dt-m-line);border-radius:14px;background:var(--dt-m-soft);padding:13px 15px;
    width:100%;color:var(--dt-m-ink);text-align:left;box-shadow:0 6px 22px #071c3510}
  .dt-mobile-picker-label{grid-column:1;font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--dt-m-blue)}
  .dt-mobile-picker-name{grid-column:1;font-size:15px;font-weight:750;line-height:1.35;overflow-wrap:anywhere}
  .dt-mobile-picker-chevron{grid-column:2;grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;
    color:var(--dt-m-ink);background:color-mix(in srgb,var(--dt-m-blue) 11%,transparent);font-size:23px}
  .dt-mobile-catalog-nav{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:10px 0 16px}
  .dt-mobile-catalog-nav button{font:inherit;font-size:12px;font-weight:750;min-height:42px;min-width:0;
    border-radius:10px;border:1px solid var(--dt-m-line);background:var(--dt-m-soft);color:var(--dt-m-ink);padding:8px 10px}
  .dt-mobile-catalog-nav button:disabled{opacity:.4}
  .dt-mobile-catalog-counter{font-size:11px;font-weight:750;color:var(--dt-m-ink);white-space:nowrap}
  .dt-mobile-catalog-overlay:not([hidden]){position:fixed;inset:0;z-index:9000;display:flex;align-items:end;justify-content:center}
  .dt-mobile-catalog-backdrop{position:absolute;inset:0;border:0;background:#041229bb;padding:0;border-radius:0;width:100%;height:100%}
  .dt-mobile-catalog-dialog{position:relative;display:flex;flex-direction:column;width:100%;max-height:min(89dvh,760px);
    background:var(--dt-m-surface);color:var(--dt-m-ink);border:1px solid var(--dt-m-line);
    border-radius:22px 22px 0 0;box-shadow:0 -22px 55px #020e2799;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px)}
  .dt-mobile-catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 17px 12px;
    border-bottom:1px solid var(--dt-m-line);flex:none}
  .dt-mobile-catalog-heading-copy>span{display:block;font-size:9px;letter-spacing:.14em;font-weight:800;color:var(--dt-m-blue)}
  .dt-mobile-catalog-heading h2{font-size:20px;line-height:1.25;font-weight:750;margin:5px 0 0;color:var(--dt-m-ink)}
  .dt-mobile-catalog-close{flex:none;min-width:42px;width:42px;height:42px;border-radius:12px;border:1px solid var(--dt-m-line);
    color:var(--dt-m-ink);background:var(--dt-m-soft);font-size:26px;line-height:1}
  .dt-mobile-catalog-content{display:flex;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 15px 19px}
  /* Moved originals retain their native filter/search handlers and selection state. */
  .dt-mobile-catalog-content .dt-v13-toolbar,.dt-mobile-catalog-content .pf-focus-toolbar{display:flex!important;
    flex-direction:column;align-items:stretch;gap:10px;margin:0 0 12px}
  .dt-mobile-catalog-content .dt-v13-filters,.dt-mobile-catalog-content .pf-focus-filters{display:flex;flex-wrap:nowrap;
    overflow-x:auto;gap:7px;padding-bottom:5px;max-width:100%;scrollbar-width:thin}
  .dt-mobile-catalog-content .dt-v13-filters button,.dt-mobile-catalog-content .pf-focus-filters button{flex:none;min-height:42px}
  .dt-mobile-catalog-content .dt-v13-search,.dt-mobile-catalog-content .pf-focus-search{min-width:0;width:100%;max-width:none}
  .dt-mobile-catalog-content .dt-v13-selector,.dt-mobile-catalog-content .pf-focus-directory{display:block!important;background:none!important;
    border:0!important;color:var(--dt-m-ink)!important;min-width:0;overflow:visible!important}
  .dt-mobile-catalog-content .dt-v13-selector-head,.dt-mobile-catalog-content .pf-focus-directory-head{
    padding:6px 3px 11px;border:0!important;display:flex;gap:10px;justify-content:space-between}
  .dt-mobile-catalog-content .dt-v13-selector-head span,.dt-mobile-catalog-content .pf-focus-directory-head span,
  .dt-mobile-catalog-content .dt-v13-selector-head small,.dt-mobile-catalog-content .pf-focus-directory-head small{
    color:var(--dt-m-ink)!important;font-size:10px;letter-spacing:.05em}
  .dt-mobile-catalog-content .dt-v13-tabs,.dt-mobile-catalog-content .pf-focus-selector-list{display:flex!important;flex-direction:column!important;
    gap:7px!important;max-height:none!important;overflow:visible!important;padding:0!important;scroll-snap-type:none!important}
  .dt-mobile-catalog-content .dt-v13-tab,.dt-mobile-catalog-content .pf-focus-selector{display:grid!important;
    flex:none!important;width:100%!important;min-height:58px!important;padding:10px!important;
    scroll-snap-align:none!important;border:1px solid var(--dt-m-line)!important;border-radius:12px!important;
    background:var(--dt-m-soft)!important;color:var(--dt-m-ink)!important;box-shadow:none!important}
  .dt-mobile-catalog-content .dt-v13-tab.is-current,.dt-mobile-catalog-content .pf-focus-selector.is-active{background:#126bc5!important;color:#fff!important;border-color:#126bc5!important}
  .dt-mobile-catalog-content .dt-v13-tab.is-current *,.dt-mobile-catalog-content .pf-focus-selector.is-active *{color:#fff!important}
  /* Projetos: a ficha original era flex; ao migrar para grid, é essencial
     declarar as três colunas para não empilhar número, título e seta. */
  .dt-mobile-catalog-content .pf-focus-selector{
    grid-template-columns:36px minmax(0,1fr) 18px!important;
    column-gap:11px!important;row-gap:0!important;
    align-items:center!important;align-content:center!important;
    min-height:70px!important;padding:11px 12px!important;
    text-align:left!important;
  }
  .dt-mobile-catalog-content .pf-focus-selector-icon{
    grid-column:1;grid-row:1;display:grid;place-items:center;
    width:34px;height:34px;min-width:0;
    border:1px solid var(--dt-m-line);border-radius:9px;
    background:color-mix(in srgb,var(--dt-m-blue) 9%,var(--dt-m-surface));
    color:var(--dt-m-ink);font-size:11px;font-weight:850;
  }
  .dt-mobile-catalog-content .pf-focus-selector-copy{
    grid-column:2;grid-row:1;display:block;min-width:0;
    overflow-wrap:break-word;
  }
  .dt-mobile-catalog-content .pf-focus-selector-copy strong{
    display:block;font-size:12px;line-height:1.4;font-weight:800;
    color:inherit;
  }
  .dt-mobile-catalog-content .pf-focus-selector-copy small{
    display:block;margin-top:3px;font-size:10px;line-height:1.35;
    color:inherit;opacity:.76;
  }
  .dt-mobile-catalog-content .pf-focus-selector>span:last-child{
    grid-column:3;grid-row:1;justify-self:center;align-self:center;
    font-size:24px;line-height:1;color:var(--dt-m-blue);
  }
  .dt-mobile-catalog-content .pf-focus-selector.is-active .pf-focus-selector-icon{
    background:rgba(255,255,255,.19);border-color:rgba(255,255,255,.25);
  }
  .dt-mobile-catalog-content [hidden]{display:none!important}
  body.dt-mobile-picker-open{overflow:hidden!important;touch-action:pan-y}
  .dt-v13-services .dt-v13-panel-content{grid-template-columns:1fr!important;gap:14px!important}
  .dt-v13-services .dt-v13-benefits{padding:0!important;border-left:0!important;border-top:1px solid var(--dt-m-line)!important;padding-top:14px!important}
  .dt-v13-services [data-dt-slide-root],.pf-focus [data-pff-gallery]{touch-action:pan-y}
  /* On handheld, manual gallery controls are sufficient. Avoid invisible autoplay. */
  .dt-v13-services [data-dt-v14-autoplay-toggle],.pf-focus [data-pff-pause]{display:none!important}
  .dt-v13-services .dt-v14-gallery-toolbar button:not([data-dt-v14-autoplay-toggle]),
  .pf-focus .pf-focus-gallery-toolbar button:not([data-pff-pause]){min-width:34px!important;min-height:34px!important}
  /* Public typography and composition: legible, less vertical repetition. */
  .dt-public h1,.dt-public h2,.dt-public h3{overflow-wrap:break-word;hyphens:none}
  .dt-public p,.dt-public li{overflow-wrap:break-word}
  .dt-public .container{max-width:100%}
  /* Client/admin: private layout adapted independently of the public catalog. */
  .dt-private.dt-workspace-mode>.site-header{display:none!important}
  .dt-private .dt-ws-main,.dt-private .dt-ws-content,.dt-private .portal-work{min-width:0!important;max-width:100%!important}
  .dt-private .dt-ws-content{padding:clamp(12px,3.5vw,20px)!important}
  .dt-private .dt-ws-topbar{min-width:0;gap:8px}
  .dt-private .dt-ws-topbar-start{min-width:0;gap:8px}
  .dt-private .dt-ws-breadcrumb{min-width:0;max-width:175px}
  .dt-private .dt-ws-breadcrumb strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
  .dt-private .dt-ws-topbar-actions{gap:5px}
  .dt-private .dt-ws-topbar .dt-ws-theme{display:none!important}
  .dt-private .portal-heading{margin-bottom:19px}
  .dt-private .portal-heading h1{font-size:clamp(22px,6vw,30px);line-height:1.2;overflow-wrap:break-word}
  .dt-private .portal-heading p{font-size:13px;line-height:1.55}
  .dt-private .dt-ws-content .panel,.dt-private .dt-ws-content .portal-card{max-width:100%;min-width:0}
  .dt-private .dt-ws-content input:not([type="checkbox"]):not([type="radio"]),
  .dt-private .dt-ws-content select,.dt-private .dt-ws-content textarea{max-width:100%;font-size:16px}
  .dt-private .dt-ws-content .table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;scrollbar-width:thin;border-radius:10px}
  .dt-private .dt-ws-content .table-scroll:focus-visible{outline:3px solid #2988f8;outline-offset:3px}
  .dt-private .dt-ws-content .data-table{min-width:max-content}
  .dt-private .dt-ws-content .data-table.dt-mobile-card-table{display:block!important;min-width:0!important;border:0!important;width:100%}
  .dt-private .dt-ws-content .dt-mobile-card-table thead{position:absolute!important;clip-path:inset(50%)!important;width:1px!important;height:1px!important;overflow:hidden!important}
  .dt-private .dt-ws-content .dt-mobile-card-table tbody{display:grid!important;grid-template-columns:1fr;gap:11px;width:100%}
  .dt-private .dt-ws-content .dt-mobile-card-table tr{display:block!important;border:1px solid var(--dt-m-line);border-radius:13px;
    background:var(--dt-m-surface);padding:7px 12px;overflow:hidden;min-width:0}
  .dt-private .dt-ws-content .dt-mobile-card-table td{display:flex!important;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px;
    padding:10px 2px!important;border:0!important;border-bottom:1px solid var(--dt-m-line)!important;
    overflow-wrap:anywhere;white-space:normal;max-width:100%;min-width:0;font-size:13px}
  .dt-private .dt-ws-content .dt-mobile-card-table td:last-child{border-bottom:0!important}
  .dt-private .dt-ws-content .dt-mobile-card-table td::before{content:attr(data-dt-label);flex:0 1 42%;font-size:10px;
    line-height:1.5;text-transform:uppercase;letter-spacing:.04em;font-weight:800;color:var(--dt-m-ink)}
  .dt-private .dt-ws-content .dt-mobile-card-table td>*{min-width:0;max-width:100%}
  .dt-private .dt-ws-content img,.dt-private .dt-ws-content svg{max-width:100%}
  .dt-private .dt-ws-content [role="tablist"]{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
  .dt-private .dt-ws-content button,.dt-private .dt-ws-content .btn{min-height:40px}
  .dt-private .dt-ws-sidebar{max-width:min(90vw,365px)}
  .dt-private .dt-ws-nav-link{min-height:45px}
  .dt-private .dt-ws-content .grid-2,.dt-private .dt-ws-content .grid-3{grid-template-columns:1fr!important}
  /* Avoid native widgets exceeding the viewport. */
  .dt-private [role="dialog"],.dt-private dialog{max-width:calc(100vw - 18px);max-height:calc(100dvh - 28px);overflow-y:auto}
}
@media(max-width:385px){
  .dt-mobile-catalog-nav button{font-size:11px;padding:7px}
  .dt-mobile-catalog-counter{font-size:10px}
  .dt-private .dt-ws-breadcrumb{max-width:135px}
}
@media(prefers-reduced-motion:reduce){
  .dt-mobile-catalog-choose,.dt-mobile-catalog-dialog,.dt-mobile-catalog-nav *{animation:none!important;transition:none!important}
}
