/* Diseño Web: identidad, ventanas y recorridos; las capturas conservan sus colores. */
.web-page { --dw-spectrum:linear-gradient(105deg,var(--blue),var(--violet) 28%,var(--pink) 55%,var(--orange) 79%,var(--amber)); }
.dw-header { position:absolute; z-index:40; inset:0 0 auto; height:108px; }
.dw-header .mobile-menu { position:fixed; min-height:100dvh; }
.dw-main { --dw-spectrum:linear-gradient(105deg,var(--blue),var(--violet) 28%,var(--pink) 55%,var(--orange) 79%,var(--amber)); overflow:clip; }
.dw-main [id] { scroll-margin-top:30px; }
.dw-main h1,.dw-main h2,.dw-main h3 { font-family:var(--font-title); font-weight:900; line-height:1.22; letter-spacing:-.02em; text-transform:uppercase; overflow-wrap:anywhere; }
.dw-main a:focus-visible,.dw-main button:focus-visible,.dw-main summary:focus-visible { outline:3px solid var(--amber); outline-offset:5px; }
.dw-eyebrow { margin:0 0 22px; color:#d4cbdc; font:600 9px/1.6 var(--font-body); letter-spacing:.15em; text-transform:uppercase; }
.dw-body { margin:0; color:#c6bec9; font:400 clamp(14px,1.05vw,16px)/1.85 var(--font-body); }
.dw-hero { position:relative; isolation:isolate; display:grid; grid-template-rows:1fr auto; min-height:100svh; padding:144px var(--pad) 25px; background:#09080e; }
.dw-hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--dw-spectrum); }
.dw-hero-atmosphere { position:absolute; z-index:-1; inset:0; pointer-events:none; background:radial-gradient(ellipse at 72% 52%,rgba(255,174,0,.11),rgba(255,46,138,.1) 20%,rgba(106,0,255,.22) 38%,transparent 63%),radial-gradient(ellipse at 15% 90%,rgba(0,17,255,.17),transparent 55%); }
.dw-hero-atmosphere::after { content:""; position:absolute; right:8%; top:20%; width:45%; height:60%; opacity:.2; background-image:linear-gradient(rgba(255,246,224,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,246,224,.1) 1px,transparent 1px); background-size:35px 35px; mask-image:radial-gradient(ellipse,black,transparent 72%); }
.dw-hero-grid { display:grid; grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr); align-items:center; gap:clamp(30px,4vw,68px); width:min(1510px,100%); margin:auto; padding:16px 0; }
.dw-hero-copy { min-width:0; }
.dw-hero-copy>.dw-eyebrow { margin-bottom:17px; }
.dw-hero h1 { max-width:550px; margin:0 0 29px; color:#d4cbdc; font-size:clamp(20px,1.65vw,27px); line-height:1.35; }
.dw-statement { margin:0 0 28px; font:900 clamp(34px,3.5vw,58px)/1.12 var(--font-title); letter-spacing:-.035em; text-transform:uppercase; overflow-wrap:anywhere; }
.dw-statement>span { display:block; }
.dw-statement-spectrum { width:fit-content; padding-bottom:4px; color:#ff9b43; background:linear-gradient(100deg,#bb9aff,#ff84bd 38%,#ff865d 73%,#ffd173); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.dw-intro { max-width:570px; margin:0; color:#d0c8d1; font:400 clamp(14px,1.05vw,16px)/1.8 var(--font-body); }
.dw-actions { display:flex; flex-wrap:wrap; align-items:stretch; gap:12px; margin-top:27px; }
.dw-main .contact-cta { justify-content:space-between; gap:22px; min-height:52px; padding:13px 17px; font:600 11px/1.5 var(--font-body); }
.dw-main .contact-cta>span { color:var(--amber); font-size:19px; }
.dw-hero-showcase { animation:dwPageReveal .65s cubic-bezier(.2,.7,.2,1) both; position:relative; min-width:0; padding-top:5px; }
.dw-showcase-topline { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:13px; color:#d4cbdc; font:500 8px/1.6 var(--font-body); letter-spacing:.13em; text-transform:uppercase; }
.dw-showcase-topline>span:last-child { flex:none; color:var(--amber); letter-spacing:.12em; }
.dw-browser { position:relative; min-width:0; border:1px solid rgba(255,246,224,.3); border-radius:7px; overflow:hidden; background:#15131c; }
.dw-browser--hero { box-shadow:-14px 18px 0 rgba(106,0,255,.12),0 18px 70px rgba(0,0,0,.4); }
.dw-browser--hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--dw-spectrum); pointer-events:none; }
.dw-browser-bar { display:grid; grid-template-columns:52px minmax(0,1fr) auto; align-items:center; gap:15px; min-height:38px; padding:9px 15px; color:#d4cbdc; background:#19161f; font:500 8px/1.5 var(--font-body); letter-spacing:.08em; }
.dw-browser-bar>span:nth-child(2) { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:center; }
.dw-browser-bar>span:last-child { font-size:9px; }
.dw-browser-dots { display:flex; align-items:center; gap:5px; }
.dw-browser-dots i { width:6px; height:6px; border-radius:50%; background:#8f64ff; }.dw-browser-dots i:nth-child(2) { background:#ff62a2; }.dw-browser-dots i:nth-child(3) { background:#ffbd47; }
.dw-site-shot { position:relative; min-width:0; overflow:hidden; background:#101014; }
.dw-site-shot>img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
.dw-hero-shot { height:clamp(280px,36vw,435px); }
.dw-hero-open { position:absolute; right:17px; bottom:17px; display:flex; align-items:center; gap:18px; min-height:42px; padding:10px 13px; color:#fff6e0; border:1px solid rgba(255,246,224,.6); background:#151219; font:600 9px/1.5 var(--font-body); letter-spacing:.04em; }
.dw-hero-open>b { font-size:19px; color:var(--amber); font-weight:400; }
.dw-hero-open:hover { border-color:var(--amber); }
.dw-browser-caption { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:59px; padding:14px 17px 17px; }
.dw-browser-caption>strong { min-width:0; font:900 clamp(13px,1.15vw,18px)/1.3 var(--font-title); text-transform:uppercase; overflow-wrap:anywhere; }
.dw-status { display:inline-flex; align-items:center; gap:7px; width:fit-content; color:#d4cbdc; font:500 8px/1.5 var(--font-body); letter-spacing:.05em; white-space:nowrap; }
.dw-status::before { content:""; flex:none; width:5px; height:5px; border-radius:50%; background:#aaa4b3; }
.dw-status[data-status="live"]::before { background:var(--amber); }.dw-status[data-status="private"]::before { background:#b99bff; }.dw-status[data-status="concept"]::before { background:#ff84bd; }
.dw-hero-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; margin-top:23px; }
.dw-hero-choices>button { display:flex; align-items:center; gap:10px; min-width:0; min-height:51px; margin:0; padding:9px 0; border:0; border-bottom:1px solid rgba(255,246,224,.23); color:#b8aebe; background:none; text-align:left; cursor:pointer; }
.dw-hero-choices>button>img { flex:none; display:block; width:49px; height:35px; object-fit:cover; object-position:center top; border:1px solid rgba(255,246,224,.2); opacity:.65; }
.dw-hero-choices>button>span { min-width:0; display:grid; gap:5px; font:600 9px/1.45 var(--font-body); overflow-wrap:anywhere; }
.dw-hero-choices small { color:#b8aebe; font:500 7px/1.2 var(--font-body); }
.dw-hero-choices>button[aria-pressed="true"] { color:#fff6e0; border-bottom:2px solid var(--amber); }
.dw-hero-choices>button[aria-pressed="true"] img { opacity:1; }.dw-hero-choices>button[aria-pressed="true"] small { color:var(--amber); }
.dw-hero-bottom { display:flex; justify-content:space-between; align-items:center; gap:28px; width:min(1510px,100%); margin:33px auto 0; padding-top:19px; border-top:1px solid rgba(255,246,224,.2); color:#b8aebe; font:500 8px/1.6 var(--font-body); letter-spacing:.12em; text-transform:uppercase; }
.dw-hero-bottom>a { display:flex; align-items:center; gap:20px; min-height:32px; padding-right:70px; color:#fff6e0; }
.dw-hero-bottom>a>span { font-size:23px; color:var(--amber); }
.dw-section { width:min(1560px,100%); margin:0 auto; padding:96px var(--pad); border-bottom:1px solid rgba(255,246,224,.15); }
.dw-section h2 { margin:0; font-size:clamp(23px,2.1vw,35px); line-height:1.25; }
.dw-section-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:clamp(30px,5vw,80px); margin-bottom:47px; }
.dw-section-heading>.dw-body { padding-top:30px; }
.dw-archive-topline { display:flex; justify-content:space-between; gap:24px; margin-bottom:28px; padding-bottom:17px; border-bottom:1px solid rgba(255,246,224,.2); color:#b8aebe; font:500 9px/1.7 var(--font-body); }
.dw-archive-topline>span:first-child { color:var(--cream); text-transform:uppercase; letter-spacing:.1em; }
.dw-project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:52px 35px; align-items:start; }
.dw-project-card { min-width:0; }
.dw-project-card:nth-child(even) { padding-top:66px; }
.dw-project-link { display:block; min-width:0; }
.dw-project-window { position:relative; overflow:hidden; border:1px solid rgba(255,246,224,.2); border-radius:5px; background:#141218; }
.dw-project-window::after { content:""; position:absolute; bottom:0; left:0; right:0; height:3px; background:var(--project-color,var(--violet)); opacity:.7; transition:opacity .25s; }
.dw-project-window .dw-site-shot { height:clamp(260px,25vw,380px); }
.dw-project-expand { position:absolute; right:18px; bottom:18px; display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(255,246,224,.6); border-radius:50%; color:#fff6e0; background:#151219; font:400 23px/1 var(--font-body); transition:transform .25s,color .25s; }
.dw-project-caption { padding-top:21px; }
.dw-project-category { margin:0 0 12px; color:#aaa4b3; font:500 8px/1.5 var(--font-body); letter-spacing:.13em; text-transform:uppercase; }
.dw-project-titleline { display:flex; align-items:baseline; justify-content:space-between; gap:20px; }
.dw-project-titleline>h3 { margin:0; min-width:0; font-size:clamp(18px,1.7vw,27px); }
.dw-project-titleline .dw-status { flex:none; }
.dw-project-summary { max-width:590px; margin:17px 0 0; color:#c6bec9; font:400 12px/1.8 var(--font-body); }
.dw-project-detail { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-top:22px; padding:14px 0 0; border-top:1px solid rgba(255,246,224,.17); color:#fff6e0; font:500 10px/1.6 var(--font-body); }
.dw-project-detail>span { font-size:19px; color:var(--amber); }
.dw-project-link:hover .dw-project-expand { color:var(--amber); transform:translate(2px,-2px); }.dw-project-link:hover .dw-project-window::after { opacity:1; }.dw-project-link:hover h3 { color:var(--amber); }
.dw-direction { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(35px,7vw,110px); }
.dw-direction>.dw-body,.dw-direction>div>.dw-body { margin-top:26px; }
.dw-direction-sign { position:relative; padding:23px 0 36px; }
.dw-direction-sign>span { display:block; font:900 clamp(24px,3.3vw,52px)/1.35 var(--font-title); text-transform:uppercase; letter-spacing:-.04em; }
.dw-direction-sign>span:nth-child(2) { color:#c1a0ff; }.dw-direction-sign>span:nth-child(3) { color:#ff90be; }
.dw-direction-sign>i { display:block; width:75%; height:5px; margin-top:28px; background:var(--dw-spectrum); }
.dw-text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:25px; min-height:44px; margin-top:23px; padding:9px 0; border-bottom:1px solid var(--amber); color:#fff6e0; font:500 11px/1.7 var(--font-body); }
.dw-text-link>span { color:var(--amber); font-size:20px; }
.dw-foundation-heading { display:flex; justify-content:space-between; align-items:baseline; gap:30px; margin-bottom:37px; }
.dw-foundation-heading>.dw-eyebrow { margin:0; }.dw-foundation-heading>p:last-child { margin:0; color:#c6bec9; font:400 13px/1.7 var(--font-body); }
.dw-foundation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:55px; }
.dw-foundation-grid>article { min-width:0; padding:30px 0 0; border-top:1px solid rgba(255,246,224,.25); }
.dw-foundation-number { display:block; margin-bottom:25px; color:#c1a0ff; font:500 10px/1.5 var(--font-body); }
.dw-foundation-grid>article:nth-child(2)>.dw-foundation-number { color:#ff90be; }
.dw-foundation-grid h2 { max-width:540px; font-size:clamp(21px,1.65vw,27px); }.dw-foundation-grid .dw-body { margin-top:25px; }
.dw-screen-composition { display:flex; align-items:end; justify-content:center; gap:12px; height:175px; margin-top:35px; padding:19px; background:#110e19; border:1px solid rgba(185,155,255,.25); }
.dw-screen-composition>span { display:grid; align-content:start; gap:8px; width:56%; height:100%; padding:12px; border:1px solid #b99bff; border-top:5px solid #b99bff; background:#191025; }
.dw-screen-composition>span:nth-child(2) { width:23%; height:85%; border-color:#ff84bd; }.dw-screen-composition>span:nth-child(3) { width:12%; height:70%; border-color:#ffbd47; }
.dw-screen-composition i { display:block; height:7px; background:linear-gradient(90deg,#8c60d9,#5a3b87); }.dw-screen-composition i:first-child { height:38px; background:var(--dw-spectrum); opacity:.7; }.dw-screen-composition>span:not(:first-child)>i:first-child { height:55px; }
.dw-page-map { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:175px; margin-top:35px; padding:24px 15px; background:#110e19; border:1px solid rgba(255,132,189,.25); }
.dw-page-map>span,.dw-page-map>div>span { display:block; padding:10px 13px; border:1px solid #8d6aab; color:#d4cbdc; font:500 9px/1.6 var(--font-body); }
.dw-page-map>span { border-color:#ff90be; }.dw-page-map>i { display:block; width:1px; height:24px; background:var(--dw-spectrum); }.dw-page-map>div { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; }
.dw-brief,.dw-faq { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(35px,7vw,110px); align-items:start; }
.dw-brief { position:relative; isolation:isolate; }.dw-brief::before { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(ellipse at 8% 75%,rgba(106,0,255,.14),transparent 55%); pointer-events:none; }
.dw-faq-list details { border-top:1px solid rgba(255,246,224,.25); }.dw-faq-list details:last-child { border-bottom:1px solid rgba(255,246,224,.25); }
.dw-faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:22px 0; list-style:none; color:#fff6e0; font:500 14px/1.7 var(--font-body); cursor:pointer; }
.dw-faq-list summary::-webkit-details-marker { display:none; }.dw-faq-list summary>span { color:var(--amber); font-size:23px; font-weight:300; }.dw-faq-list details[open] summary>span { transform:rotate(45deg); }
.dw-faq-list details>p { margin:0; padding:0 28px 24px 0; color:#c6bec9; font:400 13px/1.85 var(--font-body); }
.dw-dialog { width:min(94vw,1460px); max-width:calc(100vw - 24px); max-height:90dvh; margin:auto; padding:0; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; border:1px solid rgba(255,246,224,.3); border-radius:6px; color:#fff6e0; background:#101014; box-shadow:0 35px 110px rgba(0,0,0,.65); scrollbar-width:thin; scrollbar-color:#b99bff #101014; }
.dw-dialog:not([open]),.dw-dialog [hidden] { display:none!important; }
.dw-dialog::backdrop { background:rgba(4,3,8,.9); backdrop-filter:blur(9px); }
.dw-dialog-toolbar { position:sticky; z-index:5; top:0; display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:68px; padding:11px 25px; border-bottom:1px solid rgba(255,246,224,.2); background:#101014; }
.dw-dialog-toolbar>span { display:flex; flex-wrap:wrap; gap:8px 13px; color:#d4cbdc; font:500 8px/1.7 var(--font-body); letter-spacing:.12em; text-transform:uppercase; }.dw-dialog-toolbar b { font-weight:400; color:#b99bff; }
.dw-dialog-toolbar>button { flex:none; display:grid; place-items:center; width:44px; height:44px; margin:0; padding:0; border:1px solid rgba(255,246,224,.6); border-radius:50%; color:#fff6e0; background:none; cursor:pointer; }.dw-dialog-toolbar>button>span { font:400 28px/1 var(--font-body); }
.dw-dialog button:focus-visible,.dw-dialog a:focus-visible,.dw-dialog-capture:focus-visible { outline:3px solid var(--amber); outline-offset:4px; }
.dw-dialog-layout { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:0; align-items:start; }
.dw-dialog-story { min-width:0; padding:42px clamp(24px,3.1vw,47px); }
.dw-dialog-story>.dw-eyebrow { font-size:8px; }
.dw-dialog-story>h2 { margin:0 0 20px; color:#fff6e0; font:900 clamp(23px,2.1vw,34px)/1.25 var(--font-title); letter-spacing:-.02em; text-transform:uppercase; overflow-wrap:anywhere; }
.dw-dialog-story>.dw-status { margin-bottom:25px; font-size:9px; }
.dw-dialog-story>[data-web-dialog-summary] { margin:0; color:#d4cbdc; font:400 14px/1.85 var(--font-body); }
.dw-dialog-story .contact-cta { margin-top:22px; font-size:11px; }
.dw-dialog-context { margin:21px 0 0; color:#aaa4b3; font:400 11px/1.8 var(--font-body); }
.dw-dialog-preview { position:sticky; top:68px; min-width:0; padding:26px 26px 24px; border-left:1px solid rgba(255,246,224,.18); }
.dw-dialog-preview>.dw-browser-bar { border:1px solid rgba(255,246,224,.25); border-bottom:0; border-radius:4px 4px 0 0; }
.dw-dialog-capture { min-height:250px; height:clamp(280px,calc(90dvh - 280px),650px); overflow:auto; overscroll-behavior:contain; border:1px solid rgba(255,246,224,.25); background:#1a1720; scrollbar-width:thin; scrollbar-color:#b99bff #101014; }
.dw-dialog-capture>img { display:block; width:100%; height:auto; min-height:0; object-fit:contain; }
.dw-dialog-capture>p { margin:0; padding:35px; font:400 14px/1.8 var(--font-body); }
.dw-dialog-caption { display:flex; align-items:start; justify-content:space-between; gap:20px; margin:0; padding:15px 0 0; color:#d4cbdc; font:400 9px/1.7 var(--font-body); }.dw-dialog-caption>span:last-child { flex:none; color:#aaa4b3; font-size:8px; }
.dw-dialog-thumbnails { display:flex; align-items:stretch; gap:10px; margin:17px -3px 0; padding:5px 3px 10px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#b99bff #101014; }
.dw-dialog-thumbnails>button { position:relative; flex:0 0 94px; min-width:94px; height:67px; padding:3px; border:2px solid transparent; background:#211a2c; cursor:pointer; }.dw-dialog-thumbnails>button[aria-pressed="true"] { border-color:var(--amber); }.dw-dialog-thumbnails img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }.dw-dialog-thumbnails span { position:absolute; left:6px; bottom:5px; padding:2px 4px; color:#fff6e0; background:#101014; font:500 8px/1.5 var(--font-body); }
.dw-dialog.is-entering { animation:dwDialogEnter .4s cubic-bezier(.2,.7,.2,1) both; }.dw-dialog.is-entering .dw-dialog-story { animation:dwStoryEnter .5s .04s cubic-bezier(.2,.7,.2,1) both; }.dw-dialog.is-entering .dw-dialog-preview { animation:dwPreviewEnter .55s .08s cubic-bezier(.2,.7,.2,1) both; }
@keyframes dwPageReveal { from { opacity:0; transform:translate(18px,14px); } to { opacity:1; transform:none; } }
@keyframes dwDialogEnter { from { opacity:0; transform:translateY(16px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes dwStoryEnter { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
@keyframes dwPreviewEnter { from { opacity:0; transform:translateX(22px); } to { opacity:1; transform:none; } }
@media (max-width:1100px) {
 .dw-hero-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:28px; }.dw-statement { font-size:clamp(32px,3.8vw,43px); }.dw-hero h1 { font-size:21px; margin-bottom:22px; }.dw-intro { font-size:14px; }.dw-actions { gap:10px; }.dw-main .contact-cta { font-size:10px; padding:12px 14px; gap:16px; }
 .dw-hero-shot { height:340px; }.dw-browser-caption { padding:13px 13px 17px; }.dw-browser-caption>strong { font-size:13px; }.dw-hero-choices { gap:11px; }.dw-hero-choices>button>img { width:35px; height:28px; }
 .dw-project-grid { gap:42px 26px; }.dw-project-titleline { display:block; }.dw-project-titleline .dw-status { margin-top:10px; }.dw-foundation-grid { gap:35px; }.dw-dialog-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }.dw-dialog-story { padding:30px 25px; }.dw-dialog-preview { padding:20px; }
}
@media (min-width:821px) and (max-height:800px) {
 .dw-hero { padding-top:132px; }.dw-hero-grid { padding:5px 0; }.dw-hero-shot { height:clamp(270px,39dvh,340px); }.dw-statement { font-size:clamp(31px,3.2vw,49px); margin-bottom:22px; }.dw-hero h1 { margin-bottom:23px; }.dw-hero-bottom { margin-top:26px; }.dw-hero-choices { margin-top:17px; }
}
@media (max-width:820px) {
 .dw-header { height:86px; }.dw-hero { min-height:0; padding:116px 22px 25px; }.dw-hero-grid { grid-template-columns:1fr; gap:38px; padding:0; }.dw-hero-copy { max-width:680px; }.dw-hero h1 { max-width:640px; font-size:clamp(23px,3.7vw,29px); }.dw-statement { font-size:clamp(34px,6.2vw,50px); }.dw-intro { max-width:650px; font-size:15px; }.dw-actions { margin-top:24px; }.dw-main .contact-cta { font-size:12px; min-height:52px; padding:13px 16px; }.dw-hero-showcase { padding-top:0; }.dw-hero-shot { height:clamp(290px,55vw,420px); }.dw-browser--hero { box-shadow:-7px 11px 0 rgba(106,0,255,.15),0 18px 50px rgba(0,0,0,.3); }.dw-browser-caption>strong { font-size:17px; }.dw-hero-choices>button>img { width:49px; height:35px; }.dw-hero-bottom { margin-top:28px; }
 .dw-section { padding:64px 22px; }.dw-section-heading,.dw-direction,.dw-brief,.dw-faq { grid-template-columns:1fr; gap:29px; }.dw-section-heading { margin-bottom:35px; }.dw-section-heading>.dw-body { padding-top:0; }.dw-section h2 { font-size:clamp(23px,3.7vw,30px); }.dw-project-grid { gap:39px 24px; }.dw-project-card:nth-child(even) { padding-top:40px; }.dw-project-window .dw-site-shot { height:250px; }.dw-project-titleline>h3 { font-size:20px; }.dw-project-summary { font-size:12px; }.dw-direction-sign>span { font-size:clamp(29px,5.6vw,43px); }.dw-direction-sign { padding-top:0; }.dw-direction>div>.dw-body { margin-top:24px; }
 .dw-foundation-grid { gap:28px; }.dw-foundation-grid h2 { font-size:21px; }.dw-foundation-heading { display:block; }.dw-foundation-heading>p:last-child { margin-top:13px; }.dw-screen-composition,.dw-page-map { margin-top:25px; height:165px; }.dw-screen-composition { padding:15px; gap:8px; }.dw-screen-composition>span { padding:7px; }.dw-page-map>div { gap:6px; }.dw-page-map>div>span { padding:7px; font-size:8px; }
 .dw-dialog { width:calc(100vw - 24px); max-height:90dvh; }.dw-dialog-toolbar { min-height:66px; padding:10px 17px; }.dw-dialog-toolbar>span { font-size:7px; gap:5px 9px; }.dw-dialog-layout { display:flex; flex-direction:column; }.dw-dialog-story { padding:28px 23px; }.dw-dialog-story>h2 { font-size:clamp(23px,4vw,32px); }.dw-dialog-story .contact-cta { min-height:50px; font-size:12px; }.dw-dialog-preview { position:static; width:100%; padding:25px 23px; border-left:0; border-top:1px solid rgba(255,246,224,.2); }.dw-dialog-capture { height:clamp(300px,63dvh,620px); }
}
@media (max-width:520px) {
 .dw-hero h1 { font-size:clamp(21px,5.8vw,28px); }.dw-statement { margin-bottom:23px; font-size:clamp(30px,8.6vw,42px); }.dw-eyebrow { font-size:8px; margin-bottom:19px; }.dw-actions { display:grid; grid-template-columns:1fr; gap:11px; }.dw-hero-shot { height:270px; }.dw-browser-bar { min-height:34px; padding:8px 11px; gap:9px; grid-template-columns:40px minmax(0,1fr) auto; font-size:7px; }.dw-browser-caption { display:block; padding:14px 13px 18px; }.dw-browser-caption>strong { display:block; font-size:16px; }.dw-browser-caption .dw-status { margin-top:9px; }.dw-hero-choices { gap:10px; margin-top:20px; }.dw-hero-choices>button { gap:7px; padding-top:7px; }.dw-hero-choices>button>img { width:33px; height:30px; }.dw-hero-choices>button>span { font-size:8px; gap:4px; }.dw-hero-choices small { font-size:6px; }.dw-hero-open { min-height:39px; right:12px; bottom:12px; padding:8px 11px; font-size:8px; }.dw-hero-bottom { align-items:start; font-size:7px; gap:15px; }.dw-hero-bottom>a { padding-right:48px; max-width:180px; gap:12px; }.dw-hero-bottom>a>span { font-size:20px; }.dw-showcase-topline { font-size:7px; }
 .dw-section h2 { font-size:clamp(21px,5.8vw,27px); }.dw-archive-topline { gap:18px; font-size:8px; }.dw-archive-topline>span:last-child { max-width:120px; text-align:right; }.dw-project-grid { grid-template-columns:1fr; gap:37px; }.dw-project-card:nth-child(even) { padding-top:0; }.dw-project-window .dw-site-shot { height:280px; }.dw-project-titleline { display:flex; align-items:baseline; gap:15px; }.dw-project-titleline>h3 { font-size:clamp(18px,5.1vw,23px); }.dw-project-titleline .dw-status { margin:0; font-size:7px; }.dw-project-caption { padding-top:20px; }.dw-project-category { font-size:8px; }.dw-project-summary { margin-top:15px; font-size:12px; }.dw-project-detail { margin-top:18px; }.dw-direction-sign>span { font-size:clamp(26px,7.1vw,37px); }.dw-foundation-grid { grid-template-columns:1fr; gap:35px; }.dw-foundation-grid h2 { font-size:22px; }.dw-screen-composition,.dw-page-map { max-width:none; min-height:180px; }.dw-foundation-number { margin-bottom:20px; }
 .dw-dialog-toolbar { padding:10px 14px; }.dw-dialog-toolbar>span { max-width:230px; font-size:7px; letter-spacing:.07em; }.dw-dialog-story { padding:25px 18px; }.dw-dialog-story>h2 { font-size:clamp(22px,6.1vw,29px); }.dw-dialog-story>[data-web-dialog-summary] { font-size:13px; }.dw-dialog-story>.dw-status { margin-bottom:20px; }.dw-dialog-preview { padding:23px 17px; }.dw-dialog-capture { height:clamp(280px,57dvh,520px); }.dw-dialog-caption { display:block; font-size:9px; }.dw-dialog-caption>span:last-child { display:block; margin-top:7px; }.dw-dialog-thumbnails>button { flex-basis:82px; min-width:82px; height:61px; }
}
@media (prefers-reduced-motion:reduce) {
 .dw-main,.dw-main *,.dw-dialog,.dw-dialog *,.dw-dialog::backdrop { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
 .dw-project-link:hover .dw-project-expand { transform:none; }.dw-dialog::backdrop { backdrop-filter:none; }
}

/* Un archivo de identidad nunca se presenta como captura de una web. */
.dw-project-window--identity { border-radius:0; border-color:rgba(255,246,224,.22); }
.dw-identity-label { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0; padding:13px 16px; color:#d4cbdc; background:#17131e; font:500 8px/1.6 var(--font-body); letter-spacing:.1em; text-transform:uppercase; }
.dw-project-window--identity .dw-site-shot { background:#17151c; }.dw-project-window--identity .dw-site-shot>img { object-fit:contain; }
.dw-project-note { margin:12px 0 0; color:#b99bff; font:500 11px/1.8 var(--font-body); }
.dw-dialog-details { display:grid; gap:20px; margin-top:25px; }.dw-dialog-details:empty { display:none; }
.dw-dialog-details>div>h3 { margin:0 0 9px; color:#c1a0ff; font:900 10px/1.6 var(--font-title); letter-spacing:-.01em; text-transform:uppercase; }
.dw-dialog-details>div>p { margin:0; color:#d4cbdc; font:400 12px/1.8 var(--font-body); }
.dw-dialog-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:25px; }.dw-dialog-tags:empty { display:none; }
.dw-dialog-tags>span { display:block; padding:5px 8px; border:1px solid rgba(255,246,224,.25); color:#d4cbdc; font:500 8px/1.5 var(--font-body); }
.dw-dialog-identity-label { margin:0; padding:12px 15px; color:#d4cbdc; background:#17131e; font:500 9px/1.6 var(--font-body); letter-spacing:.1em; text-transform:uppercase; }
.dw-dialog.is-identity .dw-dialog-preview>.dw-browser-bar { display:none; }
.dw-dialog.is-identity .dw-dialog-capture { background:#17151c; }.dw-dialog.is-identity .dw-dialog-capture>img { min-height:100%; max-height:61dvh; object-fit:contain; }

/* En móvil la pieza precede a la lectura, con altura según la captura real. */
@media (max-width:820px) {
 .dw-dialog-preview { order:0; border-top:0; border-bottom:1px solid rgba(255,246,224,.2); }
 .dw-dialog-story { order:1; }
 .dw-dialog-capture { height:auto; min-height:0; max-height:57dvh; }
}

/* Las tarjetas muestran la captura entera, sin cortar logotipos ni navegación. */
.dw-project-window:not(.dw-project-window--identity) .dw-site-shot { height:auto; }
.dw-project-window:not(.dw-project-window--identity) .dw-site-shot>img { height:auto; object-fit:contain; }
