/*
Theme Name: DISEGN — Portfolio audiovisual
Theme URI: https://www.disegn.com
Author: Ignacio Martínez Loredo
Author URI: https://www.disegn.com
Description: Tema responsive para portfolio creativo con vídeo y galerías a pantalla completa, proyectos editables, menús y textos legales para España.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: disegn
Tags: portfolio, full-width-template, block-styles, custom-logo, custom-menu, featured-images, one-column, two-columns, translation-ready
*/
:root{--disegn-ink:oklch(16% 0 0);--disegn-paper:oklch(95% 0 0);--disegn-muted:oklch(72% 0 0);--disegn-accent:oklch(56% .055 105);--disegn-line:oklch(100% 0 0 / .22);--disegn-gutter:clamp(20px,3vw,48px);--disegn-header:88px;--disegn-font:"Helvetica Neue",Helvetica,Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--disegn-ink);color:var(--disegn-paper);font-family:var(--disegn-font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.disegn-menu-open,body.disegn-lightbox-open{overflow:hidden}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}button,input,textarea,select{font:inherit}button{cursor:pointer}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{position:fixed!important;z-index:1000;top:12px;left:12px;width:auto;height:auto;clip:auto;padding:12px 18px;background:var(--disegn-paper);color:var(--disegn-ink)}:focus-visible{outline:2px solid var(--disegn-paper);outline-offset:5px}.disegn-shell{width:min(100%,1680px);margin-inline:auto;padding-inline:var(--disegn-gutter)}
.disegn-header{position:fixed;inset:0 0 auto;z-index:80;height:var(--disegn-header);display:flex;align-items:center;justify-content:space-between;padding:0 var(--disegn-gutter);mix-blend-mode:difference;color:#fff}.disegn-brand{display:flex;align-items:center;gap:10px;font-size:clamp(19px,2vw,28px);font-weight:600;letter-spacing:-.045em;line-height:1}.disegn-brand img{max-height:42px;width:auto}.disegn-brand-dot{width:8px;height:8px;background:var(--disegn-accent);border-radius:50%;mix-blend-mode:normal}.disegn-header-meta{display:flex;align-items:center;gap:24px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.disegn-menu-toggle{appearance:none;border:0;background:none;color:inherit;min-width:48px;min-height:48px;display:flex;align-items:center;gap:12px;padding:0;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.disegn-menu-icon{width:25px;height:14px;position:relative}.disegn-menu-icon::before,.disegn-menu-icon::after{content:"";position:absolute;left:0;width:100%;height:1px;background:currentColor;transition:transform .22s ease-out,top .22s ease-out}.disegn-menu-icon::before{top:2px}.disegn-menu-icon::after{top:11px}.disegn-menu-open .disegn-menu-icon::before{top:7px;transform:rotate(45deg)}.disegn-menu-open .disegn-menu-icon::after{top:7px;transform:rotate(-45deg)}
.disegn-nav{position:fixed;inset:0;z-index:70;background:var(--disegn-ink);color:var(--disegn-paper);padding:calc(var(--disegn-header) + 32px) var(--disegn-gutter) 36px;display:grid;grid-template-columns:1fr minmax(260px,32%);gap:48px;visibility:hidden;opacity:0;transform:translateY(-12px);transition:opacity .24s ease-out,transform .24s ease-out,visibility .24s}.disegn-nav.is-open{visibility:visible;opacity:1;transform:none}.disegn-nav-menu{list-style:none;margin:0;padding:0;align-self:center}.disegn-nav-menu li{border-bottom:1px solid var(--disegn-line)}.disegn-nav-menu a{display:flex;align-items:center;justify-content:space-between;padding:10px 0;font-size:clamp(30px,5.3vw,82px);font-weight:300;line-height:1.08;letter-spacing:-.055em;transition:padding-left .22s ease-out,color .22s}.disegn-nav-menu a::after{content:"↗";font-size:.32em;letter-spacing:0;opacity:.45}.disegn-nav-menu a:hover{padding-left:12px;color:var(--disegn-muted)}.disegn-nav-aside{align-self:end;font-size:14px;color:var(--disegn-muted)}.disegn-nav-aside strong{display:block;color:var(--disegn-paper);font-weight:400;font-size:20px;margin-bottom:12px}.disegn-nav-aside a{text-decoration:underline;text-underline-offset:4px}.disegn-nav-aside .disegn-nav-location{margin-top:28px}
.disegn-hero{position:relative;height:100vh;height:100dvh;min-height:600px;overflow:hidden;background:var(--disegn-ink)}.disegn-hero-slides,.disegn-hero-slide{position:absolute;inset:0}.disegn-hero-slide{opacity:0;visibility:hidden;transition:opacity .65s ease-out,visibility .65s}.disegn-hero-slide.is-active{opacity:1;visibility:visible;z-index:1}.disegn-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.025);transition:transform 6s linear}.disegn-hero-slide.is-active .disegn-hero-media{transform:scale(1)}.disegn-hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.5),transparent 75%),linear-gradient(180deg,rgba(0,0,0,.1) 25%,rgba(0,0,0,.78) 100%);pointer-events:none}.disegn-hero-link{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--disegn-gutter) clamp(80px,10vh,124px)}.disegn-hero-kicker{font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:16px}.disegn-hero-title{font-size:clamp(46px,8.4vw,138px);line-height:.9;letter-spacing:-.065em;font-weight:400;margin:0;max-width:12ch}.disegn-hero-subtitle{max-width:48ch;margin:22px 0 0;color:#eee}.disegn-hero-cta{display:inline-flex;align-items:center;gap:12px;margin-top:24px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.disegn-hero-cta::after{content:"↗";font-size:20px}.disegn-hero-controls{position:absolute;z-index:4;right:var(--disegn-gutter);bottom:32px;display:flex;align-items:center;gap:12px}.disegn-hero-arrow,.disegn-hero-play{width:46px;height:46px;border:1px solid rgba(255,255,255,.55);background:rgba(10,10,10,.24);color:#fff;display:grid;place-items:center;border-radius:50%;transition:background .2s,transform .2s}.disegn-hero-arrow:hover,.disegn-hero-play:hover{background:rgba(10,10,10,.75);transform:scale(1.05)}.disegn-hero-count{min-width:54px;font-size:12px;letter-spacing:.12em}.disegn-scroll{position:absolute;left:var(--disegn-gutter);bottom:30px;z-index:4;font-size:11px;text-transform:uppercase;letter-spacing:.18em;display:flex;gap:12px;align-items:center}.disegn-scroll::after{content:"↓";font-size:18px}
.disegn-section{padding:clamp(76px,10vw,160px) 0;border-top:1px solid var(--disegn-line)}.disegn-intro-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}.disegn-label{grid-column:1/3;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--disegn-muted);margin:8px 0}.disegn-intro-text{grid-column:3/11;font-size:clamp(30px,4.5vw,70px);font-weight:300;line-height:1.08;letter-spacing:-.045em;margin:0}.disegn-intro-text em{font-style:normal;color:var(--disegn-muted)}.disegn-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:44px}.disegn-section-title{font-size:clamp(36px,5vw,72px);font-weight:300;letter-spacing:-.05em;line-height:1;margin:0}.disegn-text-link{font-size:12px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:4px}.disegn-project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(24px,4vw,64px) 24px}.disegn-project-card{grid-column:span 6}.disegn-project-card:nth-child(3n){grid-column:2/span 5}.disegn-project-card:nth-child(3n+2){grid-column:8/span 5;margin-top:12vw}.disegn-project-card-media{display:block;aspect-ratio:4/3;overflow:hidden;background:#222}.disegn-project-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease-out,opacity .35s}.disegn-project-card:hover img{transform:scale(1.035)}.disegn-project-card-info{display:flex;justify-content:space-between;gap:16px;margin-top:14px}.disegn-project-card-title{font-size:clamp(21px,2.4vw,34px);font-weight:400;letter-spacing:-.035em;margin:0}.disegn-project-card-meta{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--disegn-muted);margin:6px 0 0}.disegn-project-card-index{font-size:12px;color:var(--disegn-muted)}
.disegn-contact{display:grid;grid-template-columns:1fr 1fr;gap:48px}.disegn-contact-title{font-size:clamp(48px,8vw,120px);font-weight:300;line-height:.92;letter-spacing:-.06em;margin:0}.disegn-contact-details{align-self:end;max-width:480px}.disegn-contact-details p{margin:0 0 18px}.disegn-contact-details a{font-size:clamp(20px,2.5vw,34px);line-height:1.3;letter-spacing:-.03em;border-bottom:1px solid var(--disegn-line)}
.disegn-page-main{padding-top:calc(var(--disegn-header) + 60px);min-height:80vh}.disegn-page-header{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;margin-bottom:64px}.disegn-page-title{grid-column:1/10;font-size:clamp(50px,9vw,140px);font-weight:300;letter-spacing:-.065em;line-height:.9;margin:0}.disegn-page-subtitle{grid-column:7/12;font-size:20px;color:var(--disegn-muted)}.disegn-content{width:min(100%,780px);margin-inline:auto;font-size:18px}.disegn-content h2{font-size:clamp(28px,4vw,44px);font-weight:400;line-height:1.15;letter-spacing:-.035em;margin:2em 0 .6em}.disegn-content h3{font-size:24px;font-weight:500;margin-top:1.8em}.disegn-content a{text-decoration:underline;text-underline-offset:4px}.disegn-content ul,.disegn-content ol{padding-left:24px}.disegn-content .wp-block-gallery{width:min(92vw,1400px);margin-left:50%;transform:translateX(-50%);display:grid!important;grid-template-columns:repeat(12,1fr)!important;gap:16px!important}.disegn-content .wp-block-gallery .wp-block-image{grid-column:span 6;margin:0!important}.disegn-content .wp-block-gallery .wp-block-image:nth-child(3n){grid-column:span 12}.disegn-content .wp-block-gallery img{width:100%;height:100%;min-height:260px;max-height:82vh;object-fit:cover;cursor:zoom-in}.disegn-content .wp-block-image{margin:48px 0}.disegn-content figcaption{font-size:12px;color:var(--disegn-muted);margin-top:8px}.disegn-legal-warning{padding:16px;border:1px solid var(--disegn-accent);font-size:15px}.disegn-project-feature{margin:0 0 64px;height:min(75vh,900px)}.disegn-project-feature img,.disegn-project-feature video{width:100%;height:100%;object-fit:cover}.disegn-project-next{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--disegn-line);padding:36px 0;margin-top:80px}.disegn-project-next span{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--disegn-muted)}.disegn-project-next strong{font-size:clamp(25px,4vw,48px);font-weight:300}.disegn-pagination{display:flex;gap:12px;margin:56px 0}.disegn-pagination .page-numbers{padding:10px 14px;border:1px solid var(--disegn-line)}
.disegn-footer{padding:64px var(--disegn-gutter) 28px;border-top:1px solid var(--disegn-line)}.disegn-footer-top{display:flex;justify-content:space-between;gap:40px;align-items:end}.disegn-footer-logo{font-size:clamp(64px,16vw,250px);font-weight:600;letter-spacing:-.085em;line-height:.75;margin-left:-.06em}.disegn-footer-contact{text-align:right;font-size:14px}.disegn-footer-bottom{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid var(--disegn-line);padding-top:24px;margin-top:48px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--disegn-muted)}.disegn-legal-links{display:flex;gap:20px;flex-wrap:wrap}.disegn-legal-links a:hover,.disegn-cookie-open:hover{color:var(--disegn-paper)}.disegn-cookie-open{border:0;background:none;color:inherit;padding:0;text-transform:inherit;letter-spacing:inherit;font-size:inherit}
.disegn-cookie-banner{position:fixed;z-index:200;left:16px;right:16px;bottom:16px;background:var(--disegn-paper);color:var(--disegn-ink);padding:24px;box-shadow:0 16px 60px rgba(0,0,0,.3);display:none;grid-template-columns:1fr auto;gap:24px;align-items:end}.disegn-cookie-banner.is-visible{display:grid}.disegn-cookie-banner h2{font-size:18px;margin:0 0 8px}.disegn-cookie-banner p{font-size:14px;line-height:1.5;max-width:760px;margin:0}.disegn-cookie-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.disegn-cookie-btn{min-height:44px;padding:10px 16px;border:1px solid var(--disegn-ink);background:transparent;color:var(--disegn-ink);font-size:13px}.disegn-cookie-btn--primary{background:var(--disegn-ink);color:var(--disegn-paper)}.disegn-cookie-links{grid-column:1/-1;display:flex;gap:16px;font-size:12px;text-decoration:underline}.disegn-cookie-modal{position:fixed;z-index:210;inset:0;background:rgba(0,0,0,.7);display:none;place-items:center;padding:20px}.disegn-cookie-modal.is-visible{display:grid}.disegn-cookie-panel{background:var(--disegn-paper);color:var(--disegn-ink);width:min(100%,600px);max-height:90vh;overflow:auto;padding:28px}.disegn-cookie-panel-head{display:flex;justify-content:space-between;align-items:center}.disegn-cookie-panel h2{margin:0;font-size:26px}.disegn-cookie-close{width:44px;height:44px;background:none;border:1px solid var(--disegn-ink);color:var(--disegn-ink)}.disegn-cookie-option{display:grid;grid-template-columns:1fr auto;gap:8px;padding:18px 0;border-bottom:1px solid rgba(0,0,0,.2)}.disegn-cookie-option p{grid-column:1/-1;margin:0;font-size:14px}.disegn-cookie-option input{width:22px;height:22px}.disegn-cookie-save{margin-top:24px;width:100%}
.disegn-lightbox{position:fixed;z-index:180;inset:0;background:rgba(5,5,5,.96);display:none;place-items:center;padding:64px 24px 24px}.disegn-lightbox.is-visible{display:grid}.disegn-lightbox img{max-width:100%;max-height:calc(100vh - 110px);object-fit:contain}.disegn-lightbox-close{position:absolute;top:16px;right:20px;width:44px;height:44px;border:1px solid #777;background:#111;color:#fff;font-size:24px}.disegn-lightbox-caption{position:absolute;bottom:12px;left:24px;color:#ddd;font-size:13px}
@media(max-width:900px){:root{--disegn-header:72px}.disegn-header-meta>a{display:none}.disegn-nav{grid-template-columns:1fr;padding-bottom:24px;overflow:auto}.disegn-nav-menu a{font-size:clamp(30px,7vw,58px)}.disegn-nav-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.disegn-nav-aside .disegn-nav-location{margin:0}.disegn-intro-text{grid-column:3/13}.disegn-project-card,.disegn-project-card:nth-child(3n),.disegn-project-card:nth-child(3n+2){grid-column:span 6;margin-top:0}.disegn-page-subtitle{grid-column:5/13}.disegn-footer-top{display:block}.disegn-footer-contact{text-align:left;margin-top:40px}.disegn-cookie-banner{grid-template-columns:1fr}.disegn-cookie-actions{justify-content:flex-start}}
@media(max-width:600px){body{font-size:16px}.disegn-menu-toggle>span:first-child{display:none}.disegn-hero{min-height:560px}.disegn-hero-link{padding-bottom:110px}.disegn-hero-title{font-size:clamp(44px,15vw,76px)}.disegn-hero-subtitle{font-size:15px;max-width:32ch}.disegn-hero-controls{right:20px;bottom:24px}.disegn-scroll{display:none}.disegn-intro-grid,.disegn-page-header{display:block}.disegn-label{margin-bottom:28px}.disegn-intro-text{font-size:34px}.disegn-section-head{align-items:start;flex-direction:column}.disegn-project-grid{display:block}.disegn-project-card{margin:0 0 44px!important}.disegn-contact{grid-template-columns:1fr}.disegn-contact-details a{font-size:22px}.disegn-page-subtitle{margin-top:24px;font-size:17px}.disegn-project-feature{height:55vh;margin-left:calc(var(--disegn-gutter)*-1);margin-right:calc(var(--disegn-gutter)*-1)}.disegn-content .wp-block-gallery{display:block!important;width:calc(100% + 40px);margin-left:-20px;transform:none}.disegn-content .wp-block-gallery .wp-block-image{margin-bottom:12px!important}.disegn-content .wp-block-gallery img{min-height:220px}.disegn-footer-logo{font-size:25vw}.disegn-footer-bottom{display:block}.disegn-legal-links{margin-top:18px;gap:12px}.disegn-cookie-banner{left:8px;right:8px;bottom:8px;padding:20px}.disegn-cookie-actions{display:grid;grid-template-columns:1fr 1fr}.disegn-cookie-btn:last-child{grid-column:1/-1}.disegn-cookie-links{flex-wrap:wrap}.disegn-nav-aside{display:block}.disegn-nav-aside .disegn-nav-location{margin-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.disegn-hero-media{transform:none!important}}

.disegn-content button[type="submit"]{color:var(--disegn-paper);border-color:var(--disegn-paper)}
