/* ---- fonts.css ---- */
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(font-0.woff2) format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(font-1.woff2) format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(font-2.woff2) format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(font-3.woff2) format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(font-4.woff2) format('woff2');
}

/* ---- site.css ---- */
:root{--red:#d1182e;--bg:#0e0e0c;--paper:#f4f4f3;--white:#edeae3;--ink:#171717;--gray:#aaa;--line:#303030;--body:'Poppins',Arial,sans-serif;--display:'Bebas Neue','Arial Narrow',Impact,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--white);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,summary,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:.99;letter-spacing:-.014em}h1{font-size:clamp(4rem,8.7vw,8.5rem)}h2{font-size:clamp(3rem,5.9vw,5.8rem)}h3{font-weight:500;line-height:1.3}button{color:inherit}::selection{background:var(--red);color:#edeae3}:focus-visible{outline:3px solid var(--red);outline-offset:6px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px}a,button,summary{touch-action:manipulation}.wrap{width:calc(100% - 112px);max-width:1344px;margin-inline:auto}.section{padding-block:112px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8125rem;font-weight:500;line-height:1.6}.number{font-size:.875rem;font-weight:400;letter-spacing:.08em}.muted{color:#707070}.light{background:var(--paper);color:var(--ink)}.light .text-link{border-color:#bdbdbd}.light .eyebrow{color:#616161}.skip{position:fixed;z-index:30;left:20px;top:-100px;background:#edeae3;color:#0e0e0c;padding:12px 20px}.skip:focus{top:12px}.site-header{position:sticky;top:0;z-index:20;background:rgba(8,8,8,.96);border-bottom:1px solid #242424;backdrop-filter:blur(16px)}.nav-wrap{max-width:1500px;width:calc(100% - 72px);height:91px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{flex-shrink:0}.brand img{width:170px;height:auto}.site-header nav{display:flex;align-items:center;gap:25px;font-size:.875rem}.site-header nav>a:not(.nav-cta),.dropdown>summary{padding-block:25px;white-space:nowrap}.site-header [aria-current=page]{color:#ff5269}.nav-cta{display:flex;gap:22px;align-items:center;border:1px solid #666;border-radius:100px;padding:10px 18px;white-space:nowrap}.nav-cta:hover{background:#edeae3;color:#0e0e0c}.dropdown{position:relative}.dropdown>summary{cursor:pointer;list-style:none;display:flex;gap:8px;align-items:center}.dropdown>summary::-webkit-details-marker{display:none}.dropdown[open]>summary{color:#ff5269}.dropdown-panel{position:absolute;top:100%;left:-24px;background:#111;border:1px solid #393939;box-shadow:0 20px 50px #0e0e0c88;border-radius:8px;width:305px;padding:12px;max-height:76vh;overflow:auto}.dropdown-panel a{display:flex;gap:12px;align-items:center;justify-content:flex-start;padding:12px;line-height:1.4;border-radius:4px}.dropdown-panel a:first-child{border-bottom:1px solid #333;border-radius:0;margin-bottom:6px;padding-bottom:18px;justify-content:space-between}.dropdown-panel a:hover{background:#272727}.dropdown-panel small{color:#919191;font-size:.75rem}.menu-toggle{display:none}.hero{padding:65px 0 0;overflow:hidden}.hero-topline{display:flex;justify-content:space-between;align-items:center}.hero-topline>span{font-size:.8125rem;color:#999}.hero h1{font-size:clamp(5rem,10.55vw,10.5rem);margin-top:57px;line-height:.96;letter-spacing:-.005em}.hero h1>span{color:var(--red)}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-top:45px;padding-bottom:60px}.hero-bottom p{color:#b0b0b0;font-size:1rem;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:27px}.button{display:inline-flex;align-items:center;justify-content:center;gap:27px;border-radius:100px;border:1px solid transparent;padding:15px 24px;font-size:.875rem;font-weight:500;line-height:1.5;transition:background .2s,transform .2s}.button-red{background:var(--red);color:#edeae3}.button-red:hover{background:#b61129;transform:translateY(-2px)}.button span{font-size:1.25rem}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;font-size:.875rem;border-bottom:1px solid #666;padding-bottom:9px;transition:color .2s,border-color .2s}.text-link:hover{color:var(--red);border-color:var(--red)}.text-link span{font-size:1.4rem;line-height:1}.hero-rule{border-top:1px solid #313131;display:flex;justify-content:space-between;padding-block:22px;font-size:.75rem;letter-spacing:.05em;color:#929292}.hero-rule a{color:#edeae3}.statement{padding-block:130px}.statement-grid{display:grid;grid-template-columns:1fr 3fr;gap:44px}.statement .eyebrow{color:#a5a5a5;padding-top:8px}.statement h2{font-family:var(--body);font-size:clamp(2rem,4.5vw,4.25rem);font-weight:500;text-transform:none;line-height:1.18;letter-spacing:-.055em}.statement-bottom{display:flex;gap:50px;justify-content:space-between;align-items:flex-end;margin-top:38px}.statement-bottom p{max-width:510px;color:#aaa}.statement-bottom .text-link{flex-shrink:0}.method{background:#131313;border-block:1px solid #242424}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:55px}.section-heading .eyebrow{margin-bottom:24px}.section-heading>p{max-width:410px;color:#a6a6a6;font-size:1rem;line-height:1.8}.light .section-heading>p{color:#656565}.method-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #424242}.method-tabs button{position:relative;border:0;background:transparent;text-align:left;padding:21px 0 25px;color:#949494;font-weight:500;font-size:1.2rem;display:flex;gap:20px;align-items:center}.method-tabs button span{font-weight:400;font-size:.875rem}.method-tabs button::after{content:'';position:absolute;bottom:-1px;height:3px;background:var(--red);width:0;left:0;transition:width .25s}.method-tabs button[aria-selected=true]{color:#edeae3}.method-tabs button[aria-selected=true]::after{width:100%}.method-tabs button[aria-selected=true] span{color:#ff546b}.method-panels{min-height:292px}.method-panel{display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:80px;padding-block:40px}.method-panel[hidden]{display:none}.method-number{font-family:var(--display);font-size:clamp(8rem,14vw,13rem);line-height:1;color:#353535}.method-panel h3{font-size:clamp(1.8rem,2.8vw,2.8rem);letter-spacing:-.035em;margin-bottom:16px}.method-panel p{color:#aaa;max-width:620px}.inline-list{display:flex;flex-wrap:wrap;gap:9px 25px;padding:0;list-style:none;font-size:.8125rem;color:#ddd;margin-top:25px}.inline-list li{border-bottom:1px solid #515151;padding-bottom:6px}.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cecece;border-left:1px solid #cecece}.cap-card{padding:32px;border-right:1px solid #cecece;border-bottom:1px solid #cecece;transition:background .25s;display:flex;flex-direction:column;min-height:365px}.cap-card:hover{background:#edeae3}.cap-top{display:flex;align-items:flex-start;justify-content:space-between;min-height:100px}.cap-top .number{color:#757575}.cap-top img{width:46px;height:71px;object-fit:contain;object-position:top}.cap-card h3{font-size:1.22rem;max-width:275px;letter-spacing:-.025em;margin-bottom:17px}.cap-card p{font-size:.875rem;color:#676767;line-height:1.8;max-width:310px}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8125rem;margin-top:auto;padding-top:27px}.card-bottom>span{font-size:1.5rem;transition:transform .2s}.cap-card:hover .card-bottom>span{transform:translate(3px,-3px)}.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:50px 28px}.case-visual{position:relative;aspect-ratio:1.55;display:flex;align-items:center;justify-content:center;padding:45px;overflow:hidden;background:#e5e4e2;color:#151515}.case-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}.case-tone-1{background:#171717;color:#f5f5f5;border:1px solid #3b3b3b}.case-tone-2{background:#bfc3c5}.case-tone-3{background:#d8d1c6}.case-wordmark{font-family:var(--display);font-size:clamp(2.8rem,5.5vw,5.8rem);line-height:1;text-align:center;max-width:90%;letter-spacing:.005em}.case-index{position:absolute;top:23px;left:25px;font-size:.75rem;letter-spacing:.1em;opacity:.65;z-index:1}.case-open{position:absolute;bottom:22px;right:25px;font-size:1.7rem;transition:transform .2s;z-index:1}.case-card:hover .case-open{transform:translate(4px,-4px)}.case-card:hover img{transform:scale(1.035)}.case-caption{padding-top:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.case-caption h3{font-size:1.0625rem;font-weight:500;margin-bottom:5px}.case-caption p{color:#999;font-size:.8125rem}.case-status{font-size:.75rem;color:#929292;margin-top:3px}.section-end{display:flex;justify-content:flex-end;margin-top:45px}.article-row{display:grid;grid-template-columns:170px 1fr 40px;align-items:center;gap:20px;border-top:1px solid #ccc;padding-block:29px}.article-row:last-of-type{border-bottom:1px solid #ccc}.article-row h3{font-size:clamp(1.3rem,2.5vw,2rem);letter-spacing:-.035em;transition:color .2s}.article-row:hover h3{color:var(--red)}.article-arrow{justify-self:end;font-size:1.7rem}.origin{background:#050505}.origin-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}.origin .eyebrow{color:#aaa;margin-bottom:23px}.origin h2{font-size:clamp(3rem,5.4vw,5.2rem)}.origin p:not(.eyebrow){color:#aaa;max-width:390px;margin-block:26px}.origin img{width:100%;object-fit:contain}.closing{background:var(--red);padding:65px 0 35px}.closing .eyebrow{color:#edeae3}.closing-row{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-block:24px 45px}.closing h2{font-size:clamp(4rem,8vw,8rem)}.circle-link{width:108px;height:108px;border:1px solid #edeae3a3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3.5rem;flex-shrink:0;transition:background .2s,color .2s}.circle-link:hover{background:#edeae3;color:var(--red)}.closing-bottom{display:flex;justify-content:space-between;border-top:1px solid #edeae360;padding-top:26px;font-size:.875rem;gap:25px}.footer{padding:65px 0 22px}.footer-top{display:grid;grid-template-columns:2fr 1.4fr 1fr;align-items:center;gap:30px;border-bottom:1px solid #333;padding-bottom:45px}.footer-top img{width:204px;height:auto}.footer-top p{font-size:.875rem;color:#aaa}.footer-grid{display:grid;grid-template-columns:.8fr 1.2fr 1fr 1.25fr;gap:45px;padding-block:45px 55px}.footer-grid h2{font-family:var(--body);font-size:.8125rem;font-weight:500;letter-spacing:.01em;text-transform:none;color:#edeae3;margin-bottom:24px}.footer-grid a{display:block;font-size:.8125rem;color:#aaa;margin-bottom:12px;line-height:1.65;overflow-wrap:anywhere}.footer-grid a:hover,.footer-bottom a:hover{color:#edeae3}.footer-grid .social-heading{margin-top:28px;margin-bottom:18px}.footer-bottom{border-top:1px solid #333;padding-top:22px;display:flex;justify-content:space-between;gap:25px;color:#999;font-size:.75rem}.page-intro{padding-top:78px;padding-bottom:75px}.page-intro .eyebrow{margin-bottom:32px;color:#aaa}.page-intro .intro-copy{max-width:740px;margin-top:32px;font-size:1.0625rem;color:#aaa;line-height:1.8}.two-col{display:grid;grid-template-columns:1.05fr 1fr;gap:90px}.two-col .eyebrow{margin-bottom:25px}.two-col h2{font-size:clamp(3rem,5.2vw,5rem)}.prose{font-size:1.0625rem;color:#aaa;line-height:1.85;padding-top:40px}.prose p+p{margin-top:25px}.light .prose{color:#606060}.method-detail{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:55px 0;border-bottom:1px solid #c7c7c7}.method-detail:first-child{padding-top:0}.method-detail:last-child{border-bottom:0;padding-bottom:0}.step-title .number{display:block;color:var(--red);margin-bottom:27px}.method-detail h2{font-size:clamp(2.8rem,4.3vw,4.3rem);max-width:420px}.method-detail p{color:#616161}.clean-list{padding:0;list-style:none;margin:25px 0}.clean-list li{border-bottom:1px solid #ccc;padding:12px 0;font-size:.9375rem}.method-detail .outcome{color:var(--ink);font-weight:500;margin-top:25px}.faq{max-width:950px}.faq>.eyebrow{margin-bottom:25px}.faq>h2{margin-bottom:45px}.faq details{border-top:1px solid #ccc}.faq details:last-child{border-bottom:1px solid #ccc}.faq summary{font-size:1.0625rem;font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:25px;padding-block:24px}.faq summary::after{content:'+';color:var(--red);font-size:1.5rem}.faq details[open] summary::after{content:'−'}.faq details p{color:#626262;padding:0 45px 28px 0;line-height:1.85}.cap-subnav{display:flex;flex-wrap:wrap;gap:12px 24px;padding-bottom:55px}.cap-subnav a{font-size:.875rem;padding-block:9px;border-bottom:1px solid #666}.cap-subnav a:hover{color:#ff5269}.cap-detail-header{display:flex;align-items:center;justify-content:space-between;gap:65px}.cap-detail-header>div{max-width:810px}.cap-detail-header .eyebrow{margin-bottom:25px}.cap-detail-header h2{font-size:clamp(3.1rem,5.8vw,5.5rem)}.cap-detail-header .lead{font-size:1.15rem;color:#aaa;margin-top:26px;max-width:690px}.light .cap-detail-header .lead{color:#676767}.cap-detail-header img{height:175px;width:130px;object-fit:contain;flex-shrink:0}.cap-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:85px;margin-top:60px;border-top:1px solid #414141;padding-top:36px}.light .cap-detail-columns{border-color:#c7c7c7}.cap-detail-columns h3{font-size:1rem;margin-bottom:16px}.cap-detail-columns p{color:#aaa;margin-bottom:28px}.light .cap-detail-columns p{color:#626262}.cap-detail:not(.light) .clean-list li{border-color:#383838}.scope-note{padding-block:42px;font-size:.875rem;color:#aaa}.case-pending{padding-block:55px 100px;min-height:75vh}.back-link{font-size:.875rem;display:inline-block;color:#aaa;margin-bottom:60px}.case-pending>.eyebrow{color:#aaa;margin-bottom:22px}.case-pending h1{max-width:950px}.pending-message{border-top:1px solid #333;margin-top:55px;padding-top:45px}.pending-message h2{font-family:var(--body);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:500;text-transform:none;letter-spacing:-.03em;line-height:1.2}.pending-message p{color:#aaa;margin:22px 0 30px}.small-rule{display:block;width:36px;height:3px;background:var(--red);margin-bottom:22px}.studio-film{display:grid;grid-template-columns:.75fr 1.25fr;gap:45px;align-items:center;padding-bottom:90px}.studio-film img{width:100%}.film-copy .eyebrow{color:#aaa;margin-bottom:25px}.film-copy h2{font-size:clamp(4rem,7vw,7rem);margin-bottom:30px}.article-header{padding-top:50px;padding-bottom:65px;max-width:1120px}.article-header .eyebrow{color:#aaa;margin-bottom:30px}.article-header h1{font-size:clamp(4rem,7.5vw,7.5rem);max-width:1050px}.article-header .intro-copy{max-width:660px;color:#aaa;font-size:1.15rem;margin-top:27px}.byline{font-size:.8125rem;color:#888;margin-top:30px}.article-body{max-width:740px;width:calc(100% - 112px);margin:0 auto;padding:10px 0 100px}.article-body section{margin-top:45px}.article-body h2{font-family:var(--body);font-size:1.5rem;text-transform:none;font-weight:500;line-height:1.3;letter-spacing:-.025em;margin-bottom:18px}.article-body p{font-size:1.0625rem;color:#bbb;line-height:1.95}.article-body a{text-decoration:underline;text-underline-offset:4px}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.contact-grid .eyebrow{margin-bottom:25px}.contact-grid h2{margin-bottom:25px}.contact-grid>div>p:not(.eyebrow){color:#666;max-width:350px}.contact-direct{display:flex;flex-direction:column;gap:16px;margin-top:35px;font-size:.9375rem}.contact-direct a:first-child{color:var(--red);font-weight:500}.contact-direct a{overflow-wrap:anywhere}form label{display:block;font-size:.875rem;font-weight:500}form input,form select,form textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #aaa;border-radius:0;padding:15px 0;color:var(--ink);font-size:.9375rem;margin-bottom:26px}form textarea{resize:vertical;min-height:120px}form input::placeholder,form textarea::placeholder{color:#747474;font-weight:400}form select{cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}.form-help{color:#666;font-size:.8125rem;line-height:1.75;margin-top:18px;max-width:550px}#form-status{font-size:.875rem;line-height:1.8;margin-top:20px}#form-status a{color:#b8102a;text-decoration:underline}.location-details h3{margin-bottom:20px}.location-details p{color:#aaa;margin-bottom:25px}.video-dialog{border:1px solid #555;border-radius:10px;padding:22px;background:#111;color:#edeae3;width:min(1100px,95vw);max-width:95vw;max-height:95vh;overflow:auto}.video-dialog::backdrop{background:#0e0e0cdd}.video-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.video-bar h2{font-family:var(--body);font-size:1rem;text-transform:none;line-height:1.5}.video-close{background:transparent;border:1px solid #777;border-radius:100px;padding:9px 18px;font-size:.875rem}.video-frame{aspect-ratio:16/9;background:#0e0e0c}.video-frame iframe{display:block;width:100%;height:100%;border:0}.video-dialog>p{font-size:.875rem;margin-top:14px}.menu-open{overflow:hidden}
@media(min-width:1700px){.hero{padding-top:85px}.hero h1{margin-top:72px}.hero-bottom{padding-bottom:75px}}
@media(max-width:1200px){.wrap{width:calc(100% - 72px)}.nav-wrap{width:calc(100% - 48px);gap:20px}.site-header nav{gap:17px;font-size:.8125rem}.brand img{width:150px}.hero h1{font-size:10.3vw}.statement-grid{grid-template-columns:1fr 3.2fr;gap:30px}.statement-bottom{flex-wrap:wrap;gap:26px}.case-status{display:none}.footer-grid{gap:25px}.footer-grid a{font-size:.8125rem}.contact-grid{gap:55px}.cap-card{padding:27px}.article-body{width:calc(100% - 72px)}}
@media(max-width:1020px){.site-header nav{display:none;position:fixed;left:0;right:0;top:79px;background:#0d0d0d;padding:18px 30px 35px;max-height:calc(100dvh - 79px);overflow:auto;align-items:stretch;flex-direction:column;gap:0;font-size:1rem;border-bottom:1px solid #444}.site-header nav.is-open{display:flex}.nav-wrap{height:79px}.menu-toggle{display:flex;align-items:center;gap:25px;background:transparent;border:1px solid #656565;border-radius:50px;padding:8px 16px;font-size:.875rem}.menu-toggle span{font-size:1.15rem}.site-header nav>a:not(.nav-cta),.dropdown>summary{display:flex;justify-content:space-between;padding-block:18px;border-bottom:1px solid #333}.dropdown-panel{position:static;width:auto;max-height:none;box-shadow:none;background:transparent;border:0;padding:4px 0 12px 14px}.dropdown-panel a{font-size:.875rem}.dropdown-panel a:first-child{margin-bottom:0;padding:12px;border:0}.nav-cta{margin-top:20px;justify-content:space-between;padding:14px 18px}.hero-topline .eyebrow{font-size:.75rem}.hero-bottom{align-items:flex-start}.hero-actions{flex-direction:column;align-items:flex-end;gap:18px}.hero h1{margin-top:50px}.section{padding-block:85px}.statement-grid{grid-template-columns:1fr;gap:25px}.statement h2{font-size:5.4vw}.statement-bottom{flex-wrap:nowrap;align-items:flex-end}.cap-grid{grid-template-columns:repeat(2,1fr)}.cap-card{min-height:330px}.cap-card h3{max-width:280px}.method-panel{gap:45px}.method-tabs button{font-size:1rem;gap:15px}.origin-grid{gap:25px}.origin-grid img{width:100%}.footer-grid{grid-template-columns:repeat(2,1fr);gap:40px 60px}.footer-top{grid-template-columns:1.5fr 1fr}.footer-top p:last-child{display:none}.two-col{gap:45px}.contact-grid{gap:40px}.form-row{grid-template-columns:1fr;gap:0}.cap-detail-header{gap:35px}.cap-detail-columns{gap:50px}.article-row{grid-template-columns:120px 1fr 25px}.article-header{padding-bottom:35px}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}.nav-wrap{width:calc(100% - 36px);height:73px}.brand img{width:140px}.site-header nav{top:73px;max-height:calc(100dvh - 73px);padding-inline:20px}html{scroll-padding-top:90px}h1{font-size:3.8rem}h2{font-size:3.1rem}.section{padding-block:65px}.hero{padding-top:36px}.hero-topline{display:block}.hero-topline>span{display:none}.hero-topline .eyebrow{font-size:.75rem;letter-spacing:.085em;max-width:300px}.hero h1{font-size:clamp(3.1rem,10.4vw,4.2rem);line-height:1.02;margin-top:41px;letter-spacing:-.005em}.hero-bottom{flex-direction:column;gap:27px;padding-top:28px;padding-bottom:36px}.hero-bottom p{font-size:.9375rem;line-height:1.75}.hero-actions{align-items:flex-start;gap:22px;flex-direction:row;flex-wrap:wrap}.hero-actions>.text-link{align-self:center;font-size:.8125rem;gap:15px}.button{font-size:.8125rem;padding:13px 19px;gap:15px}.hero-actions .button{min-height:48px}.hero-rule{font-size:.75rem;padding-block:18px}.hero-rule>span:last-child{display:none}.eyebrow{font-size:.75rem}.statement h2{font-size:clamp(1.8rem,6.4vw,2.6rem);letter-spacing:-.035em;line-height:1.24}.statement-bottom{display:block;margin-top:26px}.statement-bottom p{font-size:.9375rem}.statement-bottom .text-link{margin-top:25px}.section-heading{display:block;margin-bottom:33px}.section-heading .eyebrow{margin-bottom:20px}.section-heading>p,.section-heading>.text-link{margin-top:26px}.section-heading>p{font-size:.9375rem}.method-tabs{grid-template-columns:repeat(2,1fr);border:0;gap:0 20px}.method-tabs button{font-size:.9375rem;border-bottom:1px solid #454545;padding:17px 0;gap:13px}.method-tabs button span{font-size:.75rem}.method-panel{grid-template-columns:65px 1fr;gap:23px;padding-block:33px;align-items:flex-start}.method-number{font-size:5rem;line-height:1}.method-panel h3{font-size:1.45rem;line-height:1.3;margin-bottom:13px}.method-panel p{font-size:.875rem;line-height:1.85}.method-panels{min-height:320px}.inline-list{font-size:.75rem;gap:9px;margin-top:20px}.method>.wrap>.text-link{font-size:.8125rem}.cap-grid{grid-template-columns:1fr}.cap-card{padding:25px;min-height:0}.cap-top{min-height:80px}.cap-top img{height:61px;width:44px}.cap-card h3{font-size:1.25rem;max-width:100%;margin-bottom:14px}.cap-card p{max-width:100%;font-size:.9375rem}.card-bottom{padding-top:22px;font-size:.8125rem}.case-grid{grid-template-columns:1fr;gap:34px}.case-visual{padding:35px;aspect-ratio:1.45}.case-wordmark{font-size:3.5rem}.case-index{left:21px;top:19px;font-size:.75rem}.case-caption{padding-top:14px}.case-caption h3{font-size:1rem}.case-caption p{font-size:.8125rem}.case-status{display:block;font-size:.75rem;max-width:88px;text-align:right;line-height:1.6}.section-end{margin-top:30px}.article-row{grid-template-columns:1fr 30px;gap:14px;padding-block:25px}.article-row .eyebrow{grid-column:1/-1;font-size:.75rem}.article-row h3{font-size:1.3rem;line-height:1.4;letter-spacing:-.025em}.origin-grid{display:flex;flex-direction:column;align-items:stretch;gap:30px}.origin h2{font-size:3.2rem}.origin p:not(.eyebrow){font-size:.9375rem;margin-block:24px}.origin img{margin-top:5px}.closing{padding-top:44px;padding-bottom:26px}.closing-row{gap:18px;margin:24px 0 31px}.closing h2{font-size:clamp(2.8rem,9vw,3.6rem)}.circle-link{width:60px;height:60px;font-size:2rem}.closing-bottom{display:block;padding-top:23px;font-size:.8125rem}.closing-bottom p{margin-bottom:14px}.closing-bottom a{overflow-wrap:anywhere}.footer{padding-top:44px}.footer-top{grid-template-columns:1fr;gap:23px;padding-bottom:30px}.footer-top img{width:185px}.footer-top p{font-size:.8125rem}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 24px;padding-block:35px}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid h2{font-size:.8125rem;margin-bottom:20px}.footer-grid a{font-size:.8125rem;margin-bottom:13px}.footer-bottom{flex-wrap:wrap;font-size:.75rem;gap:15px 25px}.footer-bottom>span:last-child{flex-basis:100%}.page-intro{padding-top:48px;padding-bottom:45px}.page-intro .eyebrow{margin-bottom:25px}.page-intro h1{font-size:clamp(3.25rem,10.7vw,4.3rem)}.page-intro .intro-copy{font-size:.9375rem;margin-top:27px;line-height:1.85}.two-col{grid-template-columns:1fr;gap:30px}.two-col h2{font-size:3.1rem}.prose{padding:0;font-size:1rem}.method-detail{grid-template-columns:1fr;gap:25px;padding-block:40px}.method-detail h2{font-size:3rem}.step-title .number{margin-bottom:19px}.method-detail p{font-size:.9375rem}.clean-list li{font-size:.875rem}.faq h2{font-size:2.8rem;margin-bottom:30px}.faq summary{font-size:.9375rem;gap:18px}.faq details p{font-size:.9375rem;padding-right:0}.cap-subnav{gap:6px 18px;padding-bottom:36px}.cap-subnav a{font-size:.8125rem}.cap-detail-header{align-items:flex-start;gap:18px}.cap-detail-header h2{font-size:2.7rem}.cap-detail-header img{width:44px;height:80px;margin-top:36px}.cap-detail-header .lead{font-size:1rem;line-height:1.8}.cap-detail-header .eyebrow{margin-bottom:20px}.cap-detail-columns{grid-template-columns:1fr;gap:30px;margin-top:35px;padding-top:28px}.cap-detail-columns p{font-size:.9375rem}.scope-note{padding-block:30px;font-size:.8125rem}.case-pending{padding-top:30px;padding-bottom:60px;min-height:auto}.back-link{margin-bottom:42px;font-size:.8125rem}.case-pending h1{font-size:3.6rem}.pending-message{padding-top:30px;margin-top:35px}.pending-message p{font-size:.9375rem}.studio-film{grid-template-columns:1fr;gap:30px;padding-bottom:55px}.film-copy h2{font-size:4rem}.article-header{padding-top:30px;padding-bottom:20px}.article-header h1{font-size:3.6rem}.article-header .intro-copy{font-size:1rem}.article-body{width:calc(100% - 40px);padding-bottom:65px}.article-body h2{font-size:1.3rem}.article-body p{font-size:1rem;line-height:1.9}.article-body section{margin-top:34px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-grid h2{font-size:3.1rem}.contact-direct{font-size:.875rem}form .button{width:100%;font-size:.8125rem;gap:12px}.form-help{font-size:.75rem}.location-details p{font-size:.9375rem}.video-dialog{padding:15px}.video-bar h2{font-size:.8125rem}.video-close{padding:7px 11px;font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* ---- evidence.css ---- */
/* Visual evidence layer. The approved navigation, hero, CTA and footer stay untouched. */
figure{margin:0}.evidence-story{height:145vh;min-height:900px;padding-bottom:75px;position:relative;--story-progress:0}.evidence-sticky{position:sticky;top:108px;height:min(72vh,770px);padding:0 3vw}.evidence-canvas{height:100%;position:relative;max-width:1520px;margin:auto}.evidence-main{position:absolute;inset:0 13% 0 0;overflow:hidden;clip-path:inset(0 calc(9% * (1 - var(--story-progress))) 0 calc(9% * (1 - var(--story-progress))));background:#111}.evidence-main>img{width:100%;height:100%;object-fit:cover;transform:scale(calc(1.06 - var(--story-progress) * .06));object-position:center 53%}.evidence-main::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0e0e0cbb)}.evidence-main figcaption{position:absolute;bottom:35px;left:max(35px,calc(10% * (1 - var(--story-progress))));z-index:1}.evidence-main figcaption span,.evidence-layer figcaption span{display:block;font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px}.evidence-main figcaption strong{font-size:1.8rem;font-weight:500;letter-spacing:-.035em}.evidence-layer{position:absolute;right:0;bottom:-32px;width:30%;height:78%;box-shadow:0 25px 70px #0e0e0c88;border:1px solid #454545;transform:translateY(calc(90px * (1 - var(--story-progress))));background:#111;overflow:hidden}.evidence-layer>img{width:100%;height:100%;object-fit:cover;object-position:center}.evidence-layer figcaption{position:absolute;bottom:0;left:0;right:0;padding:55px 22px 23px;background:linear-gradient(transparent,#0e0e0cee);line-height:1.5}.evidence-layer figcaption strong{font-size:.875rem;font-weight:500}.evidence-progress{position:absolute;bottom:-54px;height:2px;background:#333;left:0;width:55%}.evidence-progress span{display:block;height:100%;width:calc(15% + var(--story-progress) * 85%);background:var(--red)}
.method-with-evidence .method-panels{min-height:535px}.visual-method-panel{display:grid;grid-template-columns:.83fr 1.17fr;gap:65px;align-items:center;padding-block:45px}.visual-method-panel[hidden]{display:none!important}.visual-method-panel .method-number{font-size:5.8rem;display:block;margin-bottom:20px;color:#444}.visual-method-panel .method-copy h3{font-size:clamp(1.8rem,2.7vw,2.5rem);line-height:1.15;max-width:420px}.method-evidence{min-width:0;animation:evidence-enter .4s ease both}.method-photo,.method-document{height:370px;position:relative;overflow:hidden;background:#202020}.method-photo img{width:100%;height:100%;object-fit:cover}.media-caption{position:absolute;bottom:0;left:0;right:0;font-size:.8125rem;padding:55px 24px 22px;background:linear-gradient(transparent,#0e0e0ccc)}.method-document{padding:30px 55px;display:flex;justify-content:center;align-items:flex-start;background:#d9d9d7}.method-document img{width:71%;max-height:none;box-shadow:0 10px 45px #0e0e0c33;transform:rotate(-3deg);object-position:top}.document-label{position:absolute;right:17px;bottom:16px;background:#171717;color:#edeae3;max-width:58%;padding:13px 16px;font-size:.75rem;line-height:1.6}.evidence-caption{font-size:.8125rem!important;color:#999!important;margin-top:13px;line-height:1.65}.method-film .film-media{height:370px;aspect-ratio:auto}.method-film .film-media img{object-fit:cover}.film{min-width:0}.film-media{position:relative;overflow:hidden;background:#111;aspect-ratio:16/9;border:1px solid #333}.film-media>img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}.film-media::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0e0e0c99);pointer-events:none}.film-media:hover>img{transform:scale(1.025)}.film-play{position:absolute;left:24px;bottom:23px;z-index:2;display:flex;align-items:center;gap:12px;border:1px solid #edeae388;border-radius:100px;background:#111d;padding:8px 19px 8px 9px;color:#edeae3;transition:background .2s}.film-play>span:first-child{display:flex;align-items:center;justify-content:center;background:#edeae3;color:#111;width:37px;height:37px;border-radius:50%;font-size:1.35rem;padding-left:2px}.film-play .play-label{font-size:.8125rem;font-weight:500}.film-play:hover{background:var(--red);border-color:var(--red)}.film-time{position:absolute;top:18px;right:18px;background:#111c;padding:5px 9px;font-size:.75rem;line-height:1.6;z-index:1}.film figcaption{padding-top:19px}.film figcaption>span{font-size:.75rem;color:#999;display:block;margin-bottom:8px}.film figcaption h3{font-size:1.3rem;letter-spacing:-.025em;line-height:1.4}.film-pending{position:absolute;left:24px;bottom:23px;z-index:1;background:#111d;border:1px solid #edeae366;padding:12px 18px;border-radius:100px;font-size:.875rem}
.evidence-cap{min-height:380px}.evidence-cap:hover{background:#edeae3}.evidence-cap .card-bottom{padding-top:23px;font-size:.8125rem}.evidence-cap>p{margin-bottom:22px}.cap-example{margin-top:auto;border-top:1px solid #ccc}.cap-example summary{display:flex;justify-content:space-between;gap:15px;align-items:center;cursor:pointer;list-style:none;font-size:.8125rem;padding:15px 0}.cap-example summary::-webkit-details-marker{display:none}.cap-example summary>span{font-size:1.2rem;transition:transform .2s}.cap-example[open] summary>span{transform:rotate(45deg)}.cap-preview{height:195px;overflow:hidden;background:#151515;animation:evidence-enter .3s ease both}.cap-preview>img{width:100%;height:100%;object-fit:cover;object-position:center}.cap-preview.document-preview{background:#dededb;padding:15px 15px 0}.cap-preview.document-preview>img{object-position:top;object-fit:cover;height:auto;box-shadow:0 0 25px #0e0e0c22;transform:rotate(-2deg)}.cap-preview.interface-preview>img{object-fit:contain}.cap-example .cap-caption{font-size:.75rem;line-height:1.6;padding-top:11px;color:#666}.mini-play{border:0;border-bottom:1px solid #999;background:transparent;font-size:.8125rem;display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 0}.mini-play:hover{color:var(--red)}.evidence-cap .card-bottom:hover{color:var(--red)}
.editorial-work{display:flex;flex-direction:column;gap:85px}.project-feature{display:grid;grid-template-columns:1.5fr 1fr;align-items:stretch;background:#151515;min-height:600px}.project-feature-media{display:block;position:relative;overflow:hidden;min-width:0}.project-feature-media>img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .7s}.project-feature-media:hover>img{transform:scale(1.025)}.project-arrow{display:flex;align-items:center;justify-content:center;position:absolute;right:22px;bottom:22px;width:48px;height:48px;background:#edeae3;color:#111;border-radius:50%;font-size:1.6rem}.project-feature-copy{padding:60px 40px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.project-feature-copy .eyebrow{font-size:.75rem;color:#a7a7a7;max-width:250px}.project-feature-copy h3{font-family:var(--display);font-size:clamp(3.3rem,5.2vw,5.8rem);line-height:1.02;text-transform:uppercase;font-weight:400;margin:50px 0 22px}.project-feature-copy>p:not(.eyebrow){color:#aaa;font-size:.875rem;margin-bottom:35px}.project-feature-copy .text-link{font-size:.8125rem}.secondary-projects{display:grid;grid-template-columns:1.08fr .92fr;gap:52px;align-items:start}.project-government{padding-top:130px}.research-composition{display:block;height:560px;background:#bfc0bc;position:relative;overflow:hidden;padding:0}.research-composition .research-photo{width:100%;height:100%;object-fit:cover}.research-composition .research-cover{position:absolute;right:8%;bottom:-25%;width:43%;max-height:none;box-shadow:0 15px 65px #0e0e0c77;transform:rotate(7deg);transition:transform .5s}.research-composition:hover .research-cover{transform:translateY(-10px) rotate(4deg)}.project-label{padding-top:20px}.project-label>span{font-size:.75rem;color:#999}.project-label h3{font-size:1.6rem;letter-spacing:-.035em;margin:8px 0 15px}.project-label>a{font-size:.8125rem;border-bottom:1px solid #666;padding-bottom:6px}.project-government>.text-link{margin-top:24px;font-size:.8125rem}.project-government .film-media{aspect-ratio:1.22}.project-government .film-media>img{object-fit:cover}.project-government .film figcaption h3{font-size:1.35rem}.work-reel{margin-inline:calc((min(1344px,100vw - 112px) - 100vw)/2);padding-top:20px}.reel-heading{width:calc(100% - 112px);max-width:1344px;margin:0 auto 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.reel-heading>p:last-child{font-size:.875rem;color:#aaa}.wide-film .film-media{aspect-ratio:2.06;border-inline:0}.wide-film .film-media>img{object-fit:contain;background:#070707}.wide-film .film-play{left:max(40px,calc((100vw - 1344px)/2));bottom:35px}.wide-film figcaption{display:none}.life-feature{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.life-feature-copy .eyebrow{color:#aaa;margin-bottom:24px}.life-feature-copy h3{font-family:var(--display);text-transform:uppercase;font-size:clamp(3rem,4.7vw,5rem);line-height:1.02;font-weight:400}.life-feature-copy>p:last-child{color:#aaa;font-size:.875rem;margin-top:25px}.life-film .film-media{aspect-ratio:1.22}.life-film .film-media>img{object-position:center}.extra-films{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:85px}.extra-films .text-link{margin-top:23px}.project-directory{margin-top:90px}.project-directory>.eyebrow{margin-bottom:28px}.project-directory>a{display:grid;grid-template-columns:1fr 1fr 24px;gap:25px;border-top:1px solid #333;padding:23px 0;align-items:center}.project-directory>a:last-child{border-bottom:1px solid #333}.project-directory>a>span:first-child{font-size:1.2rem;line-height:1.4}.project-directory>a>small{font-size:.8125rem;color:#999}.project-directory>a>span:last-child{font-size:1.5rem;justify-self:end}.project-directory>a:hover{color:#ff5269}.case-evidence-gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:25px;margin-top:45px;align-items:center}.case-evidence-gallery>img{width:100%;max-height:650px;object-fit:contain;background:#111}.pinsa-gallery{grid-template-columns:1.25fr .75fr}.pinsa-gallery>img:last-child{max-height:570px;background:#e0e0de;padding:20px}.case-video-preview{margin-top:45px;max-width:1000px}.cap-detail-evidence{margin-top:45px;max-width:940px;max-height:none}.cap-detail-evidence>img{width:100%;max-height:480px;object-fit:cover;object-position:center}.cap-detail-evidence.document-preview{background:#ddd;padding:30px;overflow:hidden;max-width:760px}.cap-detail-evidence.document-preview>img{object-position:top;object-fit:cover;width:100%;height:330px;box-shadow:0 10px 30px #0e0e0c22}.cap-detail-evidence.interface-preview>img{object-fit:contain}.cap-detail-evidence>figcaption{font-size:.8125rem;margin-top:16px;color:#777}.light .film figcaption>span{color:#666}.cap-detail-evidence .film-media{max-height:480px}.motion-enabled [data-reveal]{opacity:.4;transform:translateY(28px);transition:opacity .7s ease,transform .7s var(--ease)}.motion-enabled [data-reveal].is-revealed{opacity:1;transform:translateY(0)}@keyframes evidence-enter{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.project-feature{min-height:680px}.research-composition{height:620px}}
@media(max-width:1200px){.work-reel{margin-inline:-36px}.reel-heading{width:calc(100% - 72px)}.project-feature{min-height:510px}.project-feature-copy{padding:40px 30px}.project-feature-copy h3{margin-top:35px}.secondary-projects{gap:32px}.research-composition{height:480px}.method-with-evidence .method-panels{min-height:500px}.visual-method-panel{gap:35px}.method-photo,.method-document,.method-film .film-media{height:330px}}
@media(max-width:1020px){.evidence-story{height:120vh;min-height:720px}.evidence-sticky{height:60vh;top:99px}.evidence-main{right:8%}.evidence-layer{width:36%;height:74%}.visual-method-panel{grid-template-columns:.9fr 1.1fr;gap:30px}.visual-method-panel .method-number{font-size:4.5rem;margin-bottom:17px}.visual-method-panel .method-copy h3{font-size:1.7rem}.visual-method-panel .method-copy p{font-size:.9375rem}.method-photo,.method-document,.method-film .film-media{height:300px}.method-document{padding:25px}.method-document img{width:92%}.document-label{font-size:.75rem}.project-feature{grid-template-columns:1.3fr 1fr;min-height:430px}.project-feature-copy h3{font-size:3.5rem}.project-feature-copy{padding:35px 25px}.research-composition{height:425px}.project-government{padding-top:95px}.editorial-work{gap:65px}.life-feature{gap:40px;grid-template-columns:1fr 1fr}.life-feature-copy h3{font-size:3.2rem}.reel-heading{margin-bottom:20px}.project-directory>a{grid-template-columns:1.3fr 1fr 24px}}
@media(max-width:640px){.evidence-story{height:auto;min-height:0;padding:0 0 65px}.evidence-sticky{position:static;height:500px;padding-inline:20px}.evidence-canvas{height:100%}.evidence-main{inset:0 0 110px;clip-path:none!important}.evidence-main>img{transform:none!important;object-position:45% center}.evidence-main figcaption{left:20px!important;bottom:23px}.evidence-main figcaption strong{font-size:1.2rem}.evidence-main figcaption span,.evidence-layer figcaption span{font-size:.75rem}.evidence-layer{width:47%;height:245px;right:0;bottom:0;transform:none!important}.evidence-layer figcaption{padding:35px 12px 12px}.evidence-layer figcaption span{display:none}.evidence-layer figcaption strong{font-size:.75rem}.evidence-progress{left:0;bottom:43px;width:44%}.evidence-progress span{width:100%}.method-with-evidence .method-panels{min-height:0}.visual-method-panel{grid-template-columns:1fr;gap:27px;padding-block:30px}.visual-method-panel .method-copy{display:grid;grid-template-columns:48px 1fr;gap:5px 20px}.visual-method-panel .method-copy h3{grid-column:2;font-size:1.5rem;margin:0 0 10px;align-self:center}.visual-method-panel .method-number{grid-column:1;grid-row:1/4;font-size:3.4rem;line-height:1.1;margin:0}.visual-method-panel .method-copy>p,.visual-method-panel .method-copy>ul{grid-column:2}.visual-method-panel .method-copy p{font-size:.875rem}.visual-method-panel .inline-list{margin:16px 0 0;font-size:.75rem}.method-photo,.method-document,.method-film .film-media{height:250px}.method-document{padding:22px 42px}.method-document img{width:78%;max-width:230px}.document-label{max-width:65%;font-size:.75rem;padding:10px 12px;right:12px;bottom:12px}.media-caption{font-size:.75rem;padding:40px 17px 15px}.evidence-caption{font-size:.75rem!important}.film-play{left:16px;bottom:16px;padding:7px 14px 7px 7px;gap:9px}.film-play>span:first-child{height:32px;width:32px;font-size:1.1rem}.film-play .play-label{font-size:.75rem}.film-time{top:12px;right:12px;font-size:.75rem}.film figcaption{padding-top:16px}.film figcaption h3{font-size:1.15rem}.film figcaption>span{font-size:.75rem}.evidence-cap{min-height:0}.cap-example summary{font-size:.875rem}.cap-preview{height:225px}.cap-example .cap-caption{font-size:.75rem}.evidence-cap .card-bottom{font-size:.8125rem}.editorial-work{gap:45px}.project-feature{grid-template-columns:1fr;min-height:0}.project-feature-media{height:auto;aspect-ratio:1.22}.project-feature-media>img{object-fit:cover}.project-feature-copy{padding:28px 24px}.project-feature-copy .eyebrow{font-size:.75rem;max-width:none}.project-feature-copy h3{font-size:3.2rem;margin:22px 0 15px}.project-feature-copy>p:not(.eyebrow){margin-bottom:22px;font-size:.8125rem}.project-feature-copy h3 br{display:none}.secondary-projects{grid-template-columns:1fr;gap:40px}.research-composition{height:390px}.project-government{padding-top:0}.project-government .film-media{aspect-ratio:1.55}.project-government .film figcaption h3{font-size:1.2rem}.project-government>.text-link{margin-top:18px}.project-label{padding-top:16px}.project-label h3{font-size:1.35rem}.project-arrow{width:42px;height:42px;bottom:17px;right:17px;font-size:1.4rem}.work-reel{margin-inline:-20px;padding-top:8px}.reel-heading{width:calc(100% - 40px);display:block;margin-bottom:20px}.reel-heading>p:last-child{margin-top:9px;font-size:.8125rem}.wide-film .film-media{aspect-ratio:1.4}.wide-film .film-media>img{object-fit:contain}.wide-film .film-play{left:20px;bottom:16px}.life-feature{grid-template-columns:1fr;gap:26px}.life-feature-copy .eyebrow{margin-bottom:20px}.life-feature-copy h3{font-size:3.1rem}.life-feature-copy h3 br:last-child{display:none}.life-feature-copy>p:last-child{font-size:.8125rem;margin-top:20px}.life-film .film-media{aspect-ratio:1.35}.extra-films{grid-template-columns:1fr;gap:35px;margin-top:45px}.project-directory{margin-top:55px}.project-directory>a{grid-template-columns:1fr 24px;gap:5px 18px;padding:20px 0}.project-directory>a>span:first-child{font-size:1.0625rem}.project-directory>a>small{grid-column:1;grid-row:2;font-size:.75rem}.project-directory>a>span:last-child{grid-column:2;grid-row:1/3}.case-evidence-gallery,.pinsa-gallery{grid-template-columns:1fr;gap:20px;margin-top:30px}.pinsa-gallery>img:last-child{height:370px;width:100%;padding:15px}.case-video-preview{margin-top:30px}.cap-detail-evidence{margin-top:30px}.cap-detail-evidence>img{max-height:300px}.cap-detail-evidence.document-preview{padding:16px}.cap-detail-evidence.document-preview>img{height:235px}.cap-detail-evidence>figcaption{font-size:.75rem}.motion-enabled [data-reveal]{transform:translateY(15px)}}
@media(prefers-reduced-motion:reduce){.evidence-story{height:auto;min-height:0;padding-bottom:90px}.evidence-sticky{position:relative;top:auto;height:650px}.evidence-main{clip-path:none!important}.evidence-main>img,.evidence-layer{transform:none!important}.evidence-progress span{width:100%}.motion-enabled [data-reveal]{opacity:1;transform:none}.method-evidence,.cap-preview{animation:none!important}}
@media(max-width:640px) and (prefers-reduced-motion:reduce){.evidence-sticky{height:500px}.evidence-story{padding-bottom:60px}}
.statement{padding-bottom:65px}
@media(max-width:640px){.statement{padding-bottom:40px}}

/* ---- direction.css ---- */
/* O&O / Direction in action. Shared editorial treatment, real project media. */
:root{--header-height:92px;--ease:var(--ease)}
.eyebrow{font-size:.875rem}.text-link,.card-bottom{font-size:.875rem}
.site-header{backdrop-filter:none;background:#0e0e0c}.site-header nav{font-size:.875rem}
.dropdown{position:static}.mega-panel{position:absolute;top:calc(100% - 1px);left:max(36px,calc((100% - 1344px)/2));right:max(36px,calc((100% - 1344px)/2));width:auto;max-height:calc(100dvh - var(--header-height) - 24px);padding:24px;display:grid;grid-template-columns:minmax(0,1fr);gap:0;border-radius:0;background:#141414;border:1px solid #3a3a3a;box-shadow:none}
.dropdown:not([open])>.mega-panel{display:none}.dropdown-panel .menu-feature{position:relative;display:block;min-height:315px;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:#222}.menu-feature>img{width:100%;height:100%;position:absolute;object-fit:cover;transition:transform .5s var(--ease)}.menu-feature:hover>img{transform:scale(1.035)}.menu-feature>span{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:10px;position:relative;min-height:315px;height:100%;padding:25px;background:linear-gradient(transparent,#0e0e0cee)}.menu-feature strong{font-family:var(--display);font-size:3.2rem;line-height:1.05;font-weight:400}.menu-feature small{font-size:.8125rem;color:#edeae3}.menu-feature>span>span{font-size:.875rem}.menu-links{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:2px 20px}.dropdown-panel .menu-links a{font-size:.9375rem;padding:15px 8px;min-height:55px;border-bottom:1px solid #383838;border-radius:0;align-items:center}.dropdown-panel .menu-links a:first-child{grid-column:1/-1;margin-bottom:6px;justify-content:space-between;color:#edeae3;padding-bottom:18px}.dropdown-panel .menu-links a:hover{background:transparent;color:#ff5c70}.menu-links a>small{font-size:.8125rem;color:#b1b1b1}
.hero{padding-top:38px}.hero h1{margin-top:34px;font-size:clamp(4.6rem,10.2vw,9.8rem)}.hero-bottom{padding-top:28px;padding-bottom:35px}.hero-topline .eyebrow{font-size:.8125rem}.hero-rule{padding-block:19px}.work-window{position:relative;margin-top:5px}.window-panels{position:relative;height:400px;overflow:hidden;background:#171717}.window-panel{position:relative;width:100%;height:100%;isolation:isolate}.window-panel[hidden]{display:none}.window-panel>img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:center 53%;animation:window-image .65s var(--ease)}.window-panel:first-child>img{object-position:center 48%}.window-panel::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0e0e0cbb,transparent 78%);z-index:-1}.window-panel>img{z-index:-2}.window-caption{height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:38px;color:#edeae3;max-width:600px}.window-caption h2{font-size:clamp(2.8rem,4vw,4.4rem);margin:15px 0 8px}.window-caption>p:not(.eyebrow){font-size:.9375rem}.window-caption .eyebrow{font-size:.75rem}.window-action{display:inline-flex;gap:35px;align-items:center;border:1px solid #edeae39c;background:#08080860;color:#edeae3;border-radius:100px;padding:12px 20px;font-size:.875rem;margin-top:22px;transition:background .2s}.window-action:hover{background:var(--red);border-color:var(--red)}.window-action>span{font-size:1.4rem;line-height:1}.window-index{display:flex;justify-content:space-between;align-items:center;gap:25px;background:#171717;padding:0 26px}.window-signature{font-size:.875rem;color:#c8c8c8}.window-index [role=tablist]{display:flex;gap:24px}.window-index button{display:flex;gap:12px;align-items:center;padding:23px 4px;border:0;border-bottom:3px solid transparent;background:transparent;color:#bdbdbd;font-size:.875rem}.window-index button>span{font-size:.75rem;color:#999}.window-index button[aria-selected=true]{border-color:var(--red);color:#edeae3}.window-index button[aria-selected=true]>span{color:#ff5269}.window-all{font-size:.8125rem;display:flex;gap:18px}.window-all:hover{color:#ff5269}@keyframes window-image{from{opacity:.6;transform:scale(1.035)}to{opacity:1;transform:none}}
.statement .eyebrow::before{content:'';display:block;width:20px;height:16px;background:var(--red);clip-path:polygon(0 0,100% 0,50% 100%);margin-bottom:22px}.statement{padding-top:105px}.statement h2 .muted{color:#aeaeae}.method-with-evidence{background:#101010}.method-with-evidence .method-tabs button[aria-selected=true]{background:#1c1c1c;padding-left:18px}.method-tabs button{transition:background .2s,padding .2s}.method-evidence{border-bottom:1px solid #383838;padding-bottom:13px}.method-copy .method-number{color:var(--red)}
.route-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:center;min-height:620px;padding-block:68px 78px}.route-heading{position:relative;z-index:1}.route-intro h1{font-size:clamp(4rem,6.7vw,7rem);line-height:1.015}.route-intro .intro-copy{font-size:1rem;max-width:600px}.route-intro .eyebrow{color:#d2d2d2;font-size:.8125rem;margin-bottom:30px}.route-visual{height:470px;position:relative;isolation:isolate;overflow:hidden;align-self:stretch;max-height:620px;min-height:100%}.route-visual>img{width:100%;height:100%;object-fit:cover}.route-visual::after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0e0e0cbb);z-index:0}.route-visual figcaption{position:absolute;bottom:24px;left:24px;right:24px;font-size:.8125rem;z-index:1}.route-mark{position:absolute;top:0;right:0;background:var(--red);color:#edeae3;display:grid;place-items:center;width:65px;height:75px;clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%);font-family:var(--display);font-size:2.5rem;padding-bottom:9px;line-height:1}
[data-route=jugadas-ganadoras] .route-intro{grid-template-columns:1fr 1fr;gap:50px}[data-route=jugadas-ganadoras] .route-visual{height:530px}[data-route=jugadas-ganadoras] .work-section{padding-top:20px}
.project-feature{position:relative;min-height:0;grid-template-columns:1fr;background:transparent}.project-feature-media{height:clamp(450px,50vw,750px)}.project-feature-media>img{object-fit:cover}.project-feature-copy{display:grid;grid-template-columns:1.3fr 1fr;align-items:start;padding:28px 0 0;gap:10px 40px}.project-feature-copy .eyebrow{grid-column:1;max-width:none;font-size:.8125rem}.project-feature-copy h3{grid-column:1;grid-row:2/4;font-size:clamp(3rem,4.5vw,5rem);margin:0}.project-feature-copy h3 br{display:none}.project-feature-copy>p:not(.eyebrow){grid-column:2;grid-row:1;margin:0;align-self:center;justify-self:end}.project-feature-copy>.text-link{grid-column:2;grid-row:2;justify-self:end;align-self:end}.project-feature-media .project-arrow{width:65px;height:65px;right:28px;bottom:28px;font-size:2rem}.editorial-work{gap:100px}.life-feature-copy h3{font-size:clamp(3.3rem,5.2vw,5.5rem)}.project-government .film-media{aspect-ratio:1}.project-government{padding-top:155px}.work-reel .film-media{aspect-ratio:1.95}.work-reel .film-media>img{object-fit:cover}.work-reel .film-play{left:50%;bottom:50%;transform:translate(-50%,50%);padding:12px 22px 12px 12px}.work-reel .film-play>span:first-child{width:54px;height:54px}.work-reel .film-play:hover{transform:translate(-50%,50%)}
.method-journey{width:calc(100% - 112px);max-width:1344px;margin:0 auto;padding:5px 0 100px;display:grid;grid-template-columns:170px 1fr;gap:60px}.chapter-nav{position:sticky;top:calc(var(--header-height) + 35px);align-self:start;border-top:1px solid #444}.chapter-nav a{display:flex;gap:15px;padding:20px 0;border-bottom:1px solid #333;font-size:.875rem;color:#aaa}.chapter-nav a>span{font-size:.75rem;color:#777}.chapter-nav a[aria-current=true]{color:#edeae3}.chapter-nav a[aria-current=true]>span{color:#ff5269}.journey-chapter{padding:55px 0 90px;display:grid;grid-template-columns:.9fr 1.1fr;gap:45px;border-top:1px solid #3a3a3a;scroll-margin-top:25px}.chapter-copy>.eyebrow{color:#ff5269;margin-bottom:25px}.chapter-copy h2{font-size:clamp(3rem,4vw,4.5rem);margin-bottom:25px}.chapter-copy>p:not(.eyebrow){font-size:1rem;color:#b0b0b0}.chapter-copy .clean-list li{border-color:#333;font-size:.875rem}.chapter-copy p.chapter-outcome{color:#edeae3;border-left:3px solid var(--red);padding-left:18px;margin-top:30px}.chapter-visual{align-self:center;min-width:0}.chapter-visual>img{height:440px;width:100%;object-fit:cover}.chapter-visual>p{font-size:.8125rem;color:#aaa;margin-top:14px}.chapter-document .chapter-visual>img{object-fit:contain;background:#ddd;padding:25px}.chapter-film .film-media{aspect-ratio:1;height:440px}.journey-chapter:nth-child(2){padding-top:60px}.journey-chapter:last-child{padding-bottom:0}
.cap-subnav{position:sticky;top:var(--header-height);z-index:5;background:#0e0e0c;width:100%;max-width:none;justify-content:center;padding:14px 24px;gap:8px 22px;border-top:1px solid #333;border-bottom:1px solid #333}.cap-subnav a{font-size:.8125rem;border-bottom:2px solid transparent;padding:8px 0;color:#ccc}.cap-subnav a[aria-current=true]{border-color:var(--red);color:#edeae3}.cap-detail{scroll-margin-top:75px}.cap-detail-header{align-items:flex-start}.cap-detail-header h2{max-width:850px}.cap-content-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:start;margin-top:45px}.cap-content-layout .cap-detail-evidence{margin:0;max-width:none;position:sticky;top:190px;width:100%}.cap-content-layout .cap-detail-columns{display:block;margin:0;border:0;padding:0}.cap-detail-columns>div+div{margin-top:38px}.cap-content-layout .cap-detail-evidence>img{height:480px;max-height:none}.cap-content-layout .document-preview{padding:25px}.cap-content-layout .document-preview>img{height:520px;object-fit:contain;object-position:top;background:#eee;box-shadow:none}.cap-content-layout .film-media{height:460px;max-height:none;aspect-ratio:auto}.cap-content-layout .film-media>img{object-fit:cover}.related-work{display:grid;grid-template-columns:1fr 1.4fr 28px;gap:30px;align-items:center;border-top:1px solid #444;margin-top:55px;padding-top:25px}.related-work>span:first-child{font-size:.8125rem;color:#aaa}.related-work strong{font-size:1.2rem;font-weight:500}.related-work>span:last-child{font-size:1.7rem}.light .related-work{border-color:#ccc}.light .related-work>span:first-child{color:#666}.related-work:hover strong{color:var(--red)}
.studio-gallery{display:grid;grid-template-columns:1.15fr .75fr 1fr;gap:24px;align-items:start;padding-bottom:100px}.studio-gallery figure:nth-child(2){margin-top:90px}.studio-gallery figure:nth-child(3){margin-top:38px}.studio-gallery img{width:100%;height:330px;object-fit:cover}.studio-gallery figure:nth-child(2) img{height:360px}.studio-gallery figcaption{font-family:var(--display);text-transform:uppercase;font-size:2.7rem;line-height:1.1;padding-top:16px}.studio-film{border-top:1px solid #333;padding-top:65px}.studio-film img{min-height:350px;object-fit:cover}.studio-film .film-copy{padding:20px 0}.idea-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:55px;align-items:center;padding-bottom:65px}.idea-feature-media{overflow:hidden}.idea-feature-media>img{height:460px;width:100%;object-fit:cover;transition:transform .5s var(--ease)}.idea-feature:hover img{transform:scale(1.03)}.idea-feature-copy h2{font-size:clamp(3rem,4.8vw,5rem);margin:24px 0}.idea-feature-copy>p:not(.eyebrow){max-width:440px;color:#606060}.idea-feature-copy .text-link{margin-top:30px}.article-header{max-width:1344px;border-bottom:1px solid #333;padding-bottom:45px}.article-header h1{max-width:1050px}.reading-layout{display:grid;grid-template-columns:240px 1fr;gap:100px;padding-block:50px 90px;align-items:start}.reading-nav{position:sticky;top:125px}.reading-nav>.eyebrow{margin-bottom:25px;color:#aaa}.reading-nav a{display:grid;grid-template-columns:25px 1fr;gap:12px;align-items:start;font-size:.875rem;padding-block:15px;border-bottom:1px solid #333;color:#aaa;line-height:1.5}.reading-nav a>span{font-size:.75rem;color:#888}.reading-nav a[aria-current=true]{color:#edeae3}.reading-nav a[aria-current=true]>span{color:#ff5269}.reading-layout .article-body{width:100%;max-width:720px;padding:0;margin:0}.reading-layout .article-body section{margin:0 0 55px;scroll-margin-top:25px}.reading-layout .article-body section:last-child{margin:0}.reading-layout .article-body h2{font-size:1.9rem}.reading-layout .article-body .reading-number{font-family:var(--display);color:var(--red);font-size:3.6rem;line-height:1;margin-bottom:22px}.article-row{transition:padding .3s,background .3s}.article-row:hover{padding-inline:15px;background:#edeae366}
.case-pending>.eyebrow{border-left:3px solid var(--red);padding-left:15px}.case-pending>h1{max-width:1150px}.case-evidence-gallery{margin-top:55px;align-items:start;grid-template-columns:1.4fr 1fr;gap:30px}.case-evidence-gallery>img{height:650px;max-height:none;object-fit:cover}.case-evidence-gallery>img:last-child{margin-top:100px;height:560px}.case-evidence-gallery.pinsa-gallery>img:last-child{object-fit:contain;padding:20px;height:540px}.case-video-preview{max-width:none}.case-video-preview .film-media{max-height:700px}.pending-message{display:grid;grid-template-columns:1fr 1fr;gap:14px 50px;margin-top:70px;padding-top:35px}.pending-message .small-rule{display:none}.pending-message h2{grid-row:1/3}.pending-message>p{margin:0}.pending-message .text-link{justify-self:start;align-self:start;margin-top:12px}.case-next{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #333;padding-block:30px 75px;gap:40px}.case-next>a:first-child{font-size:.875rem;color:#aaa}.case-next>a:last-child{display:grid;grid-template-columns:1fr 40px;gap:6px 35px}.case-next>a:last-child>span:first-child{font-size:.8125rem;color:#999;grid-column:1}.case-next strong{font-family:var(--display);font-weight:400;font-size:clamp(2rem,3vw,3rem);line-height:1.1;grid-column:1}.case-next>a:last-child>span:last-child{grid-column:2;grid-row:1/3;font-size:2rem;align-self:center}.case-next>a:hover strong{color:#ff5269}
[data-route=contacto] .route-intro{min-height:440px;padding-block:55px}.contact-grid{gap:75px}.form-row input,form select,form textarea{font-size:1rem}form input:focus,form textarea:focus,form select:focus{border-bottom-color:var(--red)}
@media(min-width:1600px){.window-panels{height:480px}.route-intro{min-height:680px}}
@media(max-width:1200px){.method-journey{width:calc(100% - 72px);grid-template-columns:140px 1fr;gap:35px}.journey-chapter{gap:30px}.chapter-visual>img,.chapter-film .film-media{height:365px}.cap-subnav{gap:6px 16px}.cap-subnav a{font-size:.75rem}.cap-content-layout{gap:40px}.reading-layout{gap:65px}.route-intro{gap:35px}.route-intro h1{font-size:6.6vw}.window-signature{display:none}.hero h1{font-size:10vw}}
@media(max-width:1020px){:root{--header-height:80px}.site-header nav{font-size:1rem}.mega-panel{position:static;display:block;padding:0 0 12px 12px;max-height:none;background:transparent;border:0;box-shadow:none}.dropdown-panel .menu-feature{display:none}.menu-links{gap:0 20px}.dropdown-panel .menu-links a{font-size:.875rem;padding:14px 0;min-height:0}.dropdown-panel .menu-links a:first-child{margin:0}.window-panels{height:380px}.window-caption{padding:30px}.window-index{padding-inline:18px}.window-index [role=tablist]{gap:20px}.window-all{font-size:.75rem}.route-intro{min-height:0;grid-template-columns:1.15fr .85fr;padding-block:55px}.route-intro .intro-copy{font-size:.9375rem}.route-visual{height:410px}.route-visual figcaption{font-size:.75rem;left:18px;bottom:18px}.route-mark{width:50px;height:60px;font-size:2rem}.method-journey{grid-template-columns:1fr;gap:0}.chapter-nav{top:var(--header-height);background:#0e0e0c;display:grid;grid-template-columns:repeat(4,1fr);z-index:4;border-bottom:1px solid #333}.chapter-nav a{justify-content:center;gap:10px;border:0;font-size:.8125rem}.journey-chapter{scroll-margin-top:70px;gap:40px;padding-bottom:65px}.chapter-copy h2{font-size:3.5rem}.cap-subnav{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;padding-inline:36px}.cap-subnav a{font-size:.8125rem}.cap-content-layout .cap-detail-evidence>img{height:420px}.cap-content-layout .film-media{height:380px}.related-work{grid-template-columns:1fr 1.7fr 28px;gap:20px}.related-work strong{font-size:1.05rem}.studio-gallery{gap:20px;padding-bottom:70px}.studio-gallery img{height:280px}.studio-gallery figure:nth-child(2) img{height:300px}.studio-gallery figcaption{font-size:2.3rem}.idea-feature{gap:35px}.idea-feature-media>img{height:400px}.reading-layout{grid-template-columns:190px 1fr;gap:40px}.project-feature-media{height:480px}.project-government{padding-top:100px}.editorial-work{gap:70px}.case-evidence-gallery>img{height:510px}.case-evidence-gallery>img:last-child{height:440px;margin-top:70px}}
@media(max-width:640px){:root{--header-height:74px}.eyebrow{font-size:.8125rem}.hero{padding-top:28px}.hero h1{font-size:10.5vw;margin-top:30px;line-height:1.035}.hero-topline .eyebrow{font-size:.75rem}.hero-bottom{padding-top:23px;padding-bottom:27px;gap:23px}.hero-actions{gap:20px}.hero-rule{font-size:.75rem}.hero-rule>span:first-child{font-size:.75rem}.work-window{margin-inline:-20px}.window-panels{height:370px}.window-caption{padding:25px 20px;max-width:90%}.window-caption h2{font-size:2.7rem;line-height:1.08;margin-top:12px}.window-caption>p:not(.eyebrow){font-size:.875rem}.window-caption .eyebrow{font-size:.75rem}.window-panel>img{object-position:60% center}.window-panel:first-child>img{object-position:58% center}.window-panel::after{background:linear-gradient(0deg,#0e0e0ccc,transparent 100%)}.window-action{padding:10px 16px;gap:23px;font-size:.8125rem;margin-top:19px}.window-index{display:block;padding-inline:20px}.window-index [role=tablist]{justify-content:space-between;gap:16px}.window-index button{padding:19px 0;font-size:.8125rem;gap:8px}.window-index button>span{font-size:.75rem}.window-all{display:none}.statement{padding-top:65px}.statement .eyebrow::before{width:16px;height:13px;margin-bottom:16px}.method-with-evidence .method-tabs button[aria-selected=true]{padding-left:10px}.route-intro,[data-route=jugadas-ganadoras] .route-intro{grid-template-columns:1fr;gap:30px;padding-block:40px 45px}.route-intro h1{font-size:clamp(3.15rem,10.8vw,4.3rem)}.route-intro .intro-copy{margin-top:22px;font-size:.9375rem}.route-intro .eyebrow{font-size:.75rem;margin-bottom:24px}.route-visual,[data-route=jugadas-ganadoras] .route-visual{height:310px;min-height:0}.route-visual figcaption{font-size:.75rem}.route-mark{width:46px;height:55px}.project-feature-media{height:auto;aspect-ratio:1.08}.project-feature-copy{display:block;padding-top:23px}.project-feature-copy .eyebrow{font-size:.75rem}.project-feature-copy h3{font-size:3.3rem;margin:13px 0}.project-feature-copy>p:not(.eyebrow){font-size:.8125rem;margin:0 0 18px}.project-feature-copy>.text-link{font-size:.8125rem}.project-feature-media .project-arrow{height:48px;width:48px;right:18px;bottom:18px;font-size:1.5rem}.editorial-work{gap:50px}.project-government{padding:0}.project-government .film-media{aspect-ratio:1.5}.work-reel .film-media{aspect-ratio:1.35}.work-reel .film-play{padding:8px 18px 8px 8px;white-space:nowrap}.work-reel .film-play>span:first-child{height:42px;width:42px}.life-feature-copy h3{font-size:3.2rem}.method-journey{width:100%;padding-bottom:65px}.chapter-nav{gap:0;padding-inline:20px}.chapter-nav a{font-size:.75rem;gap:5px;padding-block:18px;flex-direction:column;align-items:center}.chapter-nav a>span{font-size:.75rem}.journey-chapters{padding-inline:20px}.journey-chapter{grid-template-columns:1fr;gap:30px;padding:40px 0 50px;scroll-margin-top:85px}.journey-chapter:nth-child(2){padding-top:40px}.chapter-copy h2{font-size:3.1rem;margin-bottom:22px}.chapter-copy>.eyebrow{margin-bottom:18px}.chapter-copy>p:not(.eyebrow){font-size:.9375rem}.chapter-copy .clean-list{margin:20px 0}.chapter-copy p.chapter-outcome{margin-top:22px}.chapter-visual>img,.chapter-film .film-media{height:330px}.chapter-visual>p{font-size:.8125rem}.cap-subnav{padding-inline:20px;gap:23px}.cap-content-layout{grid-template-columns:1fr;gap:35px;margin-top:30px}.cap-content-layout .cap-detail-evidence{position:static}.cap-content-layout .cap-detail-evidence>img{height:330px}.cap-content-layout .document-preview>img{height:350px}.cap-content-layout .film-media{height:290px}.cap-content-layout .cap-detail-columns{margin:0}.related-work{grid-template-columns:1fr 25px;gap:8px 18px;margin-top:35px;padding-top:23px}.related-work>span:first-child{grid-column:1;grid-row:1;font-size:.75rem}.related-work strong{grid-column:1;grid-row:2;font-size:1.0625rem}.related-work>span:last-child{grid-column:2;grid-row:1/3}.studio-gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px 17px;padding-bottom:55px}.studio-gallery figure:first-child{grid-column:1/-1}.studio-gallery figure:nth-child(2),.studio-gallery figure:nth-child(3){margin:0}.studio-gallery img{height:230px}.studio-gallery figure:first-child img{height:290px}.studio-gallery figure:nth-child(2) img{height:230px}.studio-gallery figcaption{font-size:2rem;padding-top:12px}.studio-film{padding-top:40px}.studio-film img{min-height:0}.idea-feature{grid-template-columns:1fr;gap:28px;padding-bottom:40px}.idea-feature-media>img{height:290px}.idea-feature-copy h2{font-size:3.3rem;margin:18px 0}.idea-feature-copy>p:not(.eyebrow){font-size:.9375rem}.idea-feature-copy .text-link{margin-top:23px}.reading-layout{grid-template-columns:1fr;gap:35px;padding-block:35px 60px}.reading-nav{position:static}.reading-nav>.eyebrow{margin-bottom:13px}.reading-nav a{font-size:.875rem;padding-block:13px}.reading-layout .article-body h2{font-size:1.5rem}.reading-layout .article-body .reading-number{font-size:3rem;margin-bottom:16px}.reading-layout .article-body section{margin-bottom:40px}.article-header h1{font-size:clamp(3.25rem,10.7vw,4.3rem)}.article-header{padding-bottom:30px}.case-evidence-gallery{grid-template-columns:1fr;gap:20px;margin-top:35px}.case-evidence-gallery>img,.case-evidence-gallery>img:last-child{height:auto;max-height:520px;object-fit:contain;margin:0}.case-evidence-gallery.pinsa-gallery>img:last-child{height:440px}.pending-message{display:block;margin-top:40px;padding-top:30px}.pending-message>p{margin:20px 0}.pending-message h2{font-size:1.75rem}.case-next{padding-block:25px 50px;display:block}.case-next>a:last-child{margin-top:25px}.case-next strong{font-size:2.6rem}.case-next>a:last-child>span:first-child{font-size:.8125rem}[data-route=contacto] .route-intro{padding-block:40px}.contact-grid{gap:40px}.menu-links{grid-template-columns:1fr}.dropdown-panel .menu-links a{font-size:.9375rem}}
.document-inspect{display:block;position:relative;height:420px;overflow:hidden;background:#e3e3e1;padding:25px 25px 0}.document-inspect>img{width:100%;height:auto;max-height:none;box-shadow:0 10px 30px #0e0e0c22}.document-inspect>span{position:absolute;right:16px;bottom:16px;background:#171717;color:#edeae3;border:1px solid #777;padding:10px 16px;display:flex;gap:22px;align-items:center;font-size:.8125rem}.document-inspect:hover>span{background:var(--red);border-color:var(--red)}.cap-content-layout .document-preview{padding:0 0 16px}.cap-content-layout .document-preview>figcaption{padding-inline:20px;color:#555}.document-dialog{width:min(900px,94vw);max-width:94vw;max-height:92dvh;padding:0;border:1px solid #555;background:#202020;color:#edeae3}.document-dialog::backdrop{background:#0e0e0cdd}.document-bar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;background:#111;z-index:1}.document-bar h2{font-family:var(--body);font-size:.9375rem;font-weight:400;text-transform:none;line-height:1.5;max-width:650px}.document-bar button{background:transparent;border:1px solid #888;border-radius:50px;padding:8px 16px;white-space:nowrap;font-size:.875rem}.document-full{width:100%;height:auto;padding:22px;background:#d6d6d4}.brand-path{display:grid;grid-template-columns:repeat(3,1fr);margin-top:65px;border-block:1px solid #333}.brand-path a{display:flex;flex-direction:column;padding:30px 30px 27px;border-right:1px solid #333}.brand-path a:first-child{padding-left:0}.brand-path a:last-child{border:0}.brand-path span{color:#aaa;font-size:.8125rem}.brand-path strong{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(4rem,7vw,7rem);line-height:1.1;transition:color .2s;margin-top:15px}.brand-path a:hover strong,.brand-path a:focus-visible strong{color:var(--red)}
@media(max-width:640px){.document-inspect{height:330px;padding:20px 20px 0}.document-inspect>span{font-size:.8125rem;padding:10px 13px;right:13px;bottom:13px}.document-bar{padding:13px;gap:12px;align-items:flex-start}.document-bar h2{font-size:.8125rem}.document-bar button{font-size:.8125rem;padding:7px 12px}.document-full{padding:10px}.brand-path{margin-top:35px}.brand-path a{padding:20px 13px}.brand-path strong{font-size:clamp(2.25rem,9vw,3.5rem);margin-top:12px}.brand-path span{font-size:.75rem;line-height:1.5}}
@media(prefers-reduced-motion:reduce){.window-panel>img{animation:none}.method-tabs button,.article-row,.menu-feature>img{transition:none}}

/* ---- vendor/lenis.css ---- */
html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}

/* ---- craft.css ---- */
/* 88 / Craft system. The page architecture and authored copy remain unchanged. */
:root{--bg:#0e0e0c;--white:#edeae3;--paper:#edeae3;--ink:#1c1c18;--red:#d1182e;--ambient:#0e0e0c;--ease:cubic-bezier(.16,1,.3,1);--entrance:1.1s;--space:8px;--section-space:clamp(96px,18vh,208px)}
html{scroll-behavior:auto;background:var(--bg)}
*,*::before,*::after{transition-timing-function:var(--ease)!important}
body{background:var(--ambient);color:var(--white);font-size:18px;line-height:1.5}
/* Shared timing includes inherited interactions; moving UI remains interruptible. */
a,button,summary,img,[data-reveal],.method-evidence,.cap-preview,.article-row{transition-timing-function:var(--ease);transition-duration:.9s}
button:focus-visible,a:focus-visible,summary:focus-visible{transition:none}
.section,.statement{padding-block:var(--section-space)}
.wrap{width:calc(100% - 112px)}
h1,h2{letter-spacing:-.04em;line-height:.9}
h1{font-size:clamp(4rem,10vw,10rem)}
h2{font-size:clamp(3.4rem,7.5vw,7.5rem)}
.hero{padding-top:48px}.hero h1{font-size:clamp(3.3rem,12.5vw,13.5rem);letter-spacing:-.04em;line-height:.9;margin-top:40px}
.hero h1>span{color:var(--red)}.hero h1 .craft-line-mask,.hero h1 .craft-line{color:inherit}.hero h1 .craft-line span{color:var(--red)}
.hero-bottom{padding-block:40px 48px}.hero-bottom p{font-size:18px;line-height:1.5}.hero-rule{padding-block:24px}
.section-heading{margin-bottom:64px}.section-heading>p,.statement-bottom p,.intro-copy,.prose,.chapter-copy>p:not(.eyebrow),.cap-detail-header .lead,.cap-detail-columns p,.article-body p,.contact-grid>div>p:not(.eyebrow){font-size:clamp(1.125rem,1.3vw,1.25rem);line-height:1.5;max-width:60ch}
.statement h2{font-size:clamp(2.5rem,5.7vw,5.5rem);line-height:1.06;letter-spacing:-.04em}.statement-bottom{margin-top:40px}
.eyebrow,.number,.cap-top .number,.hero-topline .eyebrow{font-size:.8125rem;line-height:1.5;letter-spacing:.1em;text-transform:uppercase}
.eyebrow{max-width:60ch}.route-intro{padding-block:80px;gap:56px}.route-intro h1{font-size:clamp(4rem,7.8vw,8rem);letter-spacing:-.04em;line-height:.9}
.route-intro .intro-copy{font-size:18px;line-height:1.5;margin-top:32px}.route-intro .eyebrow{margin-bottom:32px}
.project-feature-copy h3,.life-feature-copy h3,.studio-gallery figcaption,.brand-path strong{letter-spacing:-.04em;line-height:.94}
.project-feature-copy h3{font-size:clamp(3.4rem,6.3vw,6.5rem)}.project-feature-copy{padding-top:32px;gap:16px 40px}
.editorial-work{gap:clamp(80px,16vh,176px)}.secondary-projects{gap:48px}.chapter-copy h2{font-size:clamp(3.3rem,4.4vw,4.8rem);line-height:.94}
.chapter-copy .clean-list li,.cap-card>p,.cap-detail-columns .clean-list li{font-size:18px;line-height:1.5}.cap-card{padding:32px}.cap-card h3{font-size:1.4rem;line-height:1.2}
.cap-card>p{max-width:60ch}.cap-detail-header h2{font-size:clamp(3.4rem,6.6vw,6.8rem);line-height:.94}.cap-content-layout{gap:64px;margin-top:48px}
.article-header h1{font-size:clamp(4rem,9.4vw,9.2rem);line-height:.94}.article-body{max-width:60ch}.article-body p{font-size:20px;line-height:1.5}
.reading-layout{gap:80px}.reading-layout .article-body h2{line-height:1.15}.reading-layout .article-body section{margin-bottom:64px}
.closing{padding-block:80px 40px}.closing h2{font-size:clamp(4rem,10vw,10rem);line-height:.9;letter-spacing:-.04em}.closing-row{margin-block:32px 48px}
/* Warm surfaces: photographs retain their original color. Only interface colors change. */
.site-header,.site-header nav,.cap-subnav,.chapter-nav,.document-bar{background:var(--bg)}
.hero,.statement,.work-section,.origin,.footer{background:var(--ambient)}
.light{background:var(--paper);color:var(--ink)}.method,.method-with-evidence{background:#171713}
.mega-panel,.window-index,.video-dialog,.document-dialog,.project-feature{background:#1c1c18}
.evidence-cap:hover{background:transparent}.article-row:hover{background:#e3e0d7}
.light .eyebrow,.light .section-heading>p,.light .cap-detail-header .lead,.light .cap-detail-columns p,.light .prose,.cap-card p,.contact-grid>div>p:not(.eyebrow),.form-help{color:#55554c}
.film-play>span:first-child,.project-arrow{background:var(--paper);color:var(--bg)}
.button-red,.closing{background:var(--red);color:var(--paper)}.button-red:hover{background:var(--red)}
.nav-cta:hover,.circle-link:hover{background:var(--paper);color:var(--bg)}
.site-header [aria-current=page],.dropdown[open]>summary,.method-tabs button[aria-selected=true] span,.chapter-copy>.eyebrow,.chapter-nav a[aria-current=true]>span,.reading-nav a[aria-current=true]>span,.window-index button[aria-selected=true]>span,.project-directory>a:hover,.dropdown-panel .menu-links a:hover{color:var(--red)}
.method-panel p,.prose,.hero-bottom p,.section-heading>p,.statement-bottom p,.page-intro .intro-copy{color:#b7b5ac}
/* Left-to-right link entry; on leave, the underline exits toward the right. */
.text-link{position:relative;border-bottom:0;background:linear-gradient(currentColor,currentColor) left bottom/100% 1px no-repeat}
.text-link::after{content:'';position:absolute;bottom:0;left:0;height:2px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:right;transition:transform .9s var(--ease)}
.text-link:hover::after,.text-link:focus-visible::after{transform:scaleX(1);transform-origin:left}
.menu-links a,.footer-grid a{background-image:linear-gradient(currentColor,currentColor);background-position:right bottom;background-size:0 1px;background-repeat:no-repeat;transition:background-size .9s var(--ease),color .9s var(--ease)}
.menu-links a:hover,.footer-grid a:hover{background-size:100% 1px;background-position:left bottom}
/* Capability cards keep the paper surface. Each piece supplies its own colour. */
.evidence-cap{--cap-accent:#d1182e;--cap-accent-rgb:210 23 47;position:relative;isolation:isolate;overflow:hidden;background:transparent;transition:color .9s var(--ease),border-color .9s var(--ease)}
.evidence-cap:nth-child(1){--cap-accent:#e01e34;--cap-accent-rgb:224 30 52}.evidence-cap:nth-child(2){--cap-accent:#f15928;--cap-accent-rgb:241 89 40}.evidence-cap:nth-child(3){--cap-accent:#2b459d;--cap-accent-rgb:43 69 157}.evidence-cap:nth-child(4){--cap-accent:#6457a6;--cap-accent-rgb:100 87 166}.evidence-cap:nth-child(5){--cap-accent:#40a948;--cap-accent-rgb:64 169 72}.evidence-cap:nth-child(6){--cap-accent:#00a1a7;--cap-accent-rgb:0 161 167}
.evidence-cap::before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(145deg,rgb(var(--cap-accent-rgb)/.16),rgb(var(--cap-accent-rgb)/.045) 48%,transparent 74%);transform:translateY(101%);transition:transform 1.05s var(--ease);pointer-events:none}
.evidence-cap::after{content:'';position:absolute;z-index:2;top:-1px;left:-1px;width:calc(100% + 2px);height:3px;background:var(--cap-accent);transform:scaleX(0);transform-origin:right;transition:transform .9s var(--ease);pointer-events:none}
.evidence-cap>:where(div,h3,p,details,a){position:relative;z-index:1}
.evidence-cap .cap-top img{transition:transform 1s var(--ease),filter 1s var(--ease)}
.evidence-cap h3{position:relative;width:fit-content;transition:transform .9s var(--ease)}
.evidence-cap h3::after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--cap-accent);transform:scaleX(0);transform-origin:right;transition:transform .9s var(--ease)}
.evidence-cap .number{transition:color .7s var(--ease),letter-spacing .9s var(--ease)}
.evidence-cap:hover::before,.evidence-cap:focus-within::before{transform:translateY(0)}
.evidence-cap:hover::after,.evidence-cap:focus-within::after,.evidence-cap:hover h3::after,.evidence-cap:focus-within h3::after{transform:scaleX(1);transform-origin:left}
.evidence-cap:hover .cap-top img,.evidence-cap:focus-within .cap-top img{transform:translateY(-7px) rotate(-2deg) scale(1.035);filter:saturate(1.12)}
.evidence-cap:hover h3,.evidence-cap:focus-within h3{transform:translateX(6px)}
.evidence-cap:hover .number,.evidence-cap:focus-within .number{color:var(--cap-accent);letter-spacing:.16em}
.evidence-cap:hover .card-bottom>span,.evidence-cap:focus-within .card-bottom>span{transform:translate(4px,-4px)}
/* SplitText masks get a little overscan for accents, preserving tight leading. */
.craft-line-mask{overflow:hidden!important;padding-block:.1em;margin-block:-.1em}.craft-line{will-change:transform}
.craft-motion [data-reveal]{opacity:1;transform:none;transition:none}
.craft-motion .method-evidence,.craft-motion .cap-preview,.craft-motion .window-panel>img{animation:none}
.craft-motion .film-media>img,.craft-motion .project-feature-media>img,.craft-motion .idea-feature-media>img{transition:none}
.craft-frame{position:relative;isolation:isolate;overflow:hidden}.craft-frame img.craft-parallax{position:absolute;top:-10%;left:0;width:100%;height:120%;max-height:none;object-fit:cover;will-change:transform}
.craft-frame img{transform-origin:center}.craft-motion .film-media:hover>img,.craft-motion .project-feature-media:hover>img{transform:none}
/* Transparent film grain: a tiny repeated SVG, moved in discrete steps (no filter repaint loop). */
.craft-grain{position:fixed;z-index:80;inset:-16%;pointer-events:none;opacity:.06;background-image:url("grain.svg");background-size:180px 180px;contain:strict}
/* Grain stays static: the old 4 fps animation repainted the full screen and caused layout-shift reports. */
@keyframes film-grain{0%,100%{transform:translate(0,0)}25%{transform:translate(2%,-2%)}50%{transform:translate(-2%,1%)}75%{transform:translate(1%,2%)}}
/* Decorative slogan only: a single accessible phrase already exists in the hero. */
.craft-marquee{overflow:hidden;border-block:1px solid #45453c;padding-block:32px;background:var(--paper);color:var(--ink)}
.marquee-track{display:flex;width:max-content;will-change:transform}.marquee-group{display:flex;align-items:center;flex-shrink:0;gap:64px;padding-right:64px}
.marquee-group span{font-family:var(--display);font-size:clamp(4rem,10vw,10rem);line-height:1;letter-spacing:-.04em;white-space:nowrap}.marquee-group i{font-style:normal;color:var(--red)}
/* Cursor is supplemental and never blocks native controls or touch input. */
.craft-cursor{display:none;position:fixed;top:0;left:0;width:12px;height:12px;z-index:100;border:1px solid var(--paper);border-radius:50%;pointer-events:none;background:var(--paper);color:var(--bg);opacity:0;align-items:center;justify-content:center;font-size:12px;letter-spacing:.1em;text-transform:uppercase;transition:width .9s var(--ease),height .9s var(--ease),background .9s var(--ease),opacity .2s;will-change:transform;white-space:nowrap}
@media(hover:hover) and (pointer:fine){.craft-motion .craft-cursor{display:flex}.craft-cursor.is-context{width:72px;height:72px;background:var(--paper)}.craft-cursor.is-generic{background:transparent;width:28px;height:28px}}
/* Footer signature and utilities add no new navigation destinations. */
.footer{padding-top:80px}.footer-signature{font-family:var(--display);font-weight:400;font-size:clamp(3.2rem,15.8vw,16rem);line-height:.9;letter-spacing:-.04em;text-align:center;white-space:nowrap;margin-bottom:64px;width:100%;color:var(--paper)}
.footer-utilities{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #3b3b33;padding-block:24px;font-size:.8125rem;color:#b7b5ac}
.local-clock{display:flex;gap:16px;align-items:center}.local-clock>span{letter-spacing:.1em;text-transform:uppercase}.local-clock time{font-variant-numeric:tabular-nums;letter-spacing:.04em}.motion-toggle{display:none;background:none;border:1px solid #77776e;border-radius:50px;padding:10px 16px;color:var(--paper);font-size:.8125rem}.motion-toggle.is-ready{display:block}
.footer-grid a{color:#b7b5ac}.footer-top p{color:#b7b5ac}.footer-bottom{font-size:.8125rem}
/* Pause/reduced motion is comprehensive, including previous site enhancements. */
html.motion-paused{scroll-behavior:auto}html.motion-paused *,html.motion-paused *::before,html.motion-paused *::after{animation:none!important;transition:none!important}
html.motion-paused .craft-grain{opacity:.035}html.motion-paused .craft-cursor{display:none!important}
html.motion-paused .evidence-story{height:auto;min-height:0;padding-bottom:96px}html.motion-paused .evidence-sticky{position:relative;top:auto;height:650px}html.motion-paused .evidence-main{clip-path:none}html.motion-paused .evidence-main>img,html.motion-paused .evidence-layer{transform:none}
html.motion-paused .marquee-track{transform:none!important}.motion-paused .marquee-group:nth-child(2){display:none}
@media(max-width:1200px){.wrap{width:calc(100% - 72px)}.cap-content-layout{gap:40px}.route-intro h1{font-size:7.5vw}.reading-layout{gap:48px}.footer-signature{font-size:15.2vw}}
@media(max-width:1020px){.route-intro{gap:32px}.section{padding-block:clamp(80px,15vh,144px)}.hero h1{font-size:12.1vw}.cap-card{padding:24px}.route-intro h1{font-size:7.2vw}.footer-utilities{flex-wrap:wrap}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}.section,.statement{padding-block:80px}.hero{padding-top:32px}.hero h1{font-size:clamp(3rem,12.5vw,5rem);line-height:.94;margin-top:32px}.hero-bottom{padding-block:32px;gap:24px}.hero-bottom p{font-size:18px}.hero-topline .eyebrow{font-size:12px}.hero-rule{padding-block:24px}.section-heading{margin-bottom:40px}.section-heading h2{font-size:clamp(3.3rem,12vw,4.5rem)}.statement h2{font-size:clamp(2rem,7.8vw,3rem);line-height:1.08}.statement-bottom p,.section-heading>p,.prose,.intro-copy{font-size:18px;line-height:1.5}.route-intro,[data-route=jugadas-ganadoras] .route-intro,[data-route=contacto] .route-intro{padding-block:48px;gap:32px}.route-intro h1{font-size:clamp(3.5rem,13vw,5rem);line-height:.94}.route-intro .intro-copy{font-size:18px}.cap-card>p,.cap-detail-columns p,.chapter-copy>p:not(.eyebrow),.article-body p{font-size:18px;line-height:1.5}.cap-content-layout{gap:32px}.cap-detail-header h2{font-size:clamp(3rem,11vw,4rem)}.project-feature-copy h3{font-size:3.5rem;line-height:.95}.editorial-work{gap:64px}.chapter-copy h2{font-size:3.4rem}.article-header h1{font-size:clamp(3.2rem,12vw,4.5rem)}.reading-layout{gap:40px;padding-block:40px 64px}.reading-layout .article-body p{font-size:18px;line-height:1.5}.closing{padding-block:56px 32px}.closing h2{font-size:clamp(2.9rem,10.5vw,4rem);line-height:.94}.closing-row{margin-block:32px}.closing .circle-link{width:56px;height:56px}.footer{padding-top:56px}.footer-signature{font-size:15.2vw;margin-bottom:40px}.footer-utilities{gap:20px;padding-block:24px}.local-clock{gap:12px}.craft-marquee{padding-block:24px}.marquee-group{gap:32px;padding-right:32px}.marquee-group span{font-size:4rem}.craft-cursor{display:none!important}html.motion-paused .evidence-sticky{height:500px}html.motion-paused .evidence-story{padding-bottom:64px}}
@media(max-width:640px){.evidence-cap:hover h3,.evidence-cap:focus-within h3{transform:none}.evidence-cap::before{background:linear-gradient(145deg,rgb(var(--cap-accent-rgb)/.11),rgb(var(--cap-accent-rgb)/.025) 50%,transparent 75%)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.craft-grain{animation:none!important;opacity:.035}.craft-cursor{display:none!important}.marquee-track{transform:none!important}.marquee-group:nth-child(2){display:none}.evidence-cap::before,.evidence-cap::after,.evidence-cap h3::after,.evidence-cap .cap-top img,.evidence-cap h3,.evidence-cap .number{transition:none!important}}

/* Case archive: a visual index built from the supplied project work. */
.case-archive{padding-top:clamp(112px,18vh,200px)}
.case-archive-heading{display:grid;grid-template-columns:.85fr 1.25fr .7fr;gap:48px;align-items:end;margin-bottom:72px}
.case-archive-heading h2{font-size:clamp(4rem,7.1vw,7rem)}
.case-archive-heading>p:last-child{color:#aaa;max-width:31ch;padding-bottom:8px}
.case-mosaic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px 24px}
.case-mosaic-card{display:block;min-width:0}
.case-mosaic-media{position:relative;overflow:hidden;aspect-ratio:1.28;background:#1b1b18}
.case-mosaic-card:nth-child(4n+2) .case-mosaic-media,.case-mosaic-card:nth-child(4n+3) .case-mosaic-media{aspect-ratio:.94}
.case-mosaic-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.92);transition:transform 1.2s var(--ease),filter 1.2s var(--ease)}
.case-mosaic-index{position:absolute;z-index:2;top:20px;left:20px;padding:7px 10px;background:#0e0e0ccc;color:#fff;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
.case-mosaic-arrow{position:absolute;z-index:2;right:20px;bottom:20px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--case-accent);color:#fff;font-size:1.5rem;transform:translateY(80px) rotate(-25deg);transition:transform .9s var(--ease)}
.case-mosaic-copy{display:flex;justify-content:space-between;gap:24px;align-items:baseline;padding-top:18px;border-top:1px solid transparent}
.case-mosaic-copy h3{font-size:clamp(1.45rem,2.1vw,2.15rem);letter-spacing:-.035em}
.case-mosaic-copy p{color:#999;font-size:.8125rem;text-align:right}
.case-mosaic-card:hover .case-mosaic-media img,.case-mosaic-card:focus-visible .case-mosaic-media img{transform:scale(1.045);filter:saturate(1.08)}
.case-mosaic-card:hover .case-mosaic-arrow,.case-mosaic-card:focus-visible .case-mosaic-arrow{transform:translateY(0) rotate(0)}

/* Case studies: one editorial system, with a project-specific accent. */
.case-study{background:var(--bg);color:var(--paper)}
.case-hero{overflow:hidden;background:#0e0e0c}
.case-hero-copy{position:relative;padding-top:48px;padding-bottom:64px;isolation:isolate}
.case-hero-copy .back-link{margin-bottom:clamp(56px,10vh,112px)}
.case-hero-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.65fr);gap:56px;align-items:end}
.case-hero-heading .eyebrow{color:var(--case-accent);margin-bottom:24px}
.case-hero-heading h1{font-size:clamp(4.5rem,10.5vw,11rem);line-height:.82;max-width:9ch;overflow-wrap:anywhere}
.case-hero-intro{position:relative;z-index:2;color:#cbc8c0;font-size:clamp(1.2rem,1.7vw,1.55rem);line-height:1.42;max-width:33ch;padding-bottom:8px}
.case-meta{position:relative;z-index:2;display:flex;gap:10px;flex-wrap:wrap;margin-top:48px;list-style:none}
.case-meta li{border:1px solid #4b4b45;border-radius:100px;padding:9px 15px;color:#b9b7af;font-size:.75rem;letter-spacing:.07em;text-transform:uppercase}
.case-hero-ghost{position:absolute;z-index:-1;right:-.05em;bottom:-.27em;font-family:var(--display);font-size:clamp(14rem,36vw,38rem);line-height:1;color:color-mix(in srgb,var(--case-accent) 14%,transparent);pointer-events:none}
.case-hero-media{position:relative;width:calc(100% - 32px);max-width:1680px;margin-inline:auto;aspect-ratio:16/9;overflow:hidden;background:#181814}
.case-hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#0e0e0c99);pointer-events:none}
.case-hero-media img{width:100%;height:100%;object-fit:cover}
.case-hero-media figcaption{position:absolute;z-index:2;left:24px;bottom:20px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.case-opening{padding-block:clamp(96px,17vh,184px)}
.case-opening>.wrap{display:grid;grid-template-columns:.36fr 1.2fr;gap:72px;align-items:start}
.case-opening h2{font-size:clamp(4.2rem,8.4vw,8.7rem);max-width:11ch;color:var(--ink)}
.case-opening div>p:last-child{font-size:clamp(1.2rem,1.7vw,1.55rem);line-height:1.5;color:#55554c;max-width:48ch;margin-top:40px}
.case-story{display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(56px,9vw,144px);padding-block:clamp(112px,20vh,224px)}
.case-story-heading{position:sticky;top:130px;align-self:start}
.case-story-heading .eyebrow{color:var(--case-accent);margin-bottom:32px}
.case-story-heading h2{font-size:clamp(4rem,6.4vw,6.5rem)}
.case-story-list{border-bottom:1px solid #3a3a34}
.case-story-block{display:grid;grid-template-columns:86px 1fr;gap:24px;padding-block:48px;border-top:1px solid #3a3a34}
.case-story-number{font-family:var(--display);font-size:clamp(2.8rem,4.2vw,4.7rem);line-height:1;color:var(--case-accent)}
.case-story-block .eyebrow{color:#85857d;margin-bottom:16px}
.case-story-block h3{font-size:clamp(1.7rem,2.7vw,2.8rem);line-height:1.05;letter-spacing:-.035em;max-width:22ch;margin-bottom:20px}
.case-story-block p:last-child{color:#b7b5ac;font-size:18px;line-height:1.65;max-width:56ch}
.case-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(16px,2vw,32px);padding:clamp(48px,8vw,120px);background:#171713}
.case-gallery-item{position:relative;overflow:hidden;min-height:0;background:#0e0e0c;aspect-ratio:4/3}
.case-gallery-item:nth-child(1){grid-column:1/9}.case-gallery-item:nth-child(2){grid-column:7/13}.case-gallery-item:nth-child(3){grid-column:2/12;aspect-ratio:16/9}
.case-gallery-item img{width:100%;height:100%;object-fit:cover}
.case-gallery-item::after{content:'';position:absolute;z-index:1;inset:48% 0 0;background:linear-gradient(transparent,#0e0e0ccc);pointer-events:none}
.case-gallery-item figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;display:flex;gap:16px;color:#fff;font-size:.8rem;line-height:1.45}
.case-gallery-item figcaption span{color:var(--case-accent);font-variant-numeric:tabular-nums}
.case-focus{padding-block:clamp(104px,19vh,208px)}
.case-section-heading{display:grid;grid-template-columns:.45fr 1.25fr;gap:56px;align-items:end;margin-bottom:64px}
.case-section-heading h2{font-size:clamp(4rem,7.2vw,7.4rem)}
.case-focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid #b8b4aa}
.case-focus-card{display:grid;grid-template-columns:48px 1fr;gap:14px 22px;padding:36px 32px 40px 0;border-top:1px solid #b8b4aa}
.case-focus-card:nth-child(odd){border-right:1px solid #b8b4aa}.case-focus-card:nth-child(even){padding-left:32px}
.case-focus-card>span{grid-row:1/3;color:var(--case-accent);font-size:.8rem;letter-spacing:.1em}
.case-focus-card h3{font-size:clamp(1.4rem,2vw,2rem);letter-spacing:-.025em}
.case-focus-card ul{list-style:none;color:#5b5b53;font-size:.95rem;line-height:1.75}
.case-focus-card li::before{content:'—';color:var(--case-accent);margin-right:10px}
.case-results{padding-block:clamp(112px,20vh,224px);background:#0e0e0c}
.case-results .case-section-heading .eyebrow{color:var(--case-accent)}
.case-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid #3e3e38}
.case-metric{padding:44px 40px 48px 0;border-top:1px solid #3e3e38}
.case-metric:nth-child(odd){border-right:1px solid #3e3e38}.case-metric:nth-child(even){padding-left:40px}
.case-metric strong{display:block;color:var(--case-accent);font-family:var(--display);font-size:clamp(3.4rem,6.8vw,7.3rem);font-weight:400;line-height:.9;letter-spacing:-.045em;overflow-wrap:anywhere}
.case-metric h3{font-size:clamp(1.2rem,1.8vw,1.75rem);letter-spacing:-.02em;margin-top:20px}
.case-metric p{color:#999990;max-width:36ch;margin-top:10px;font-size:.9rem}
.case-source-note{max-width:70ch;margin-top:28px;color:#77776f;font-size:.75rem;line-height:1.65}
.case-outcomes{display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(56px,9vw,144px);padding-block:clamp(104px,17vh,184px)}
.case-outcomes h2{font-size:clamp(4rem,6.4vw,6.5rem);margin-top:24px}
.case-outcomes ol{list-style:none;border-bottom:1px solid #3a3a34}
.case-outcomes li{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:24px 0;border-top:1px solid #3a3a34;color:#cbc8c0;font-size:1.05rem}
.case-outcomes li span{color:var(--case-accent);font-size:.75rem;letter-spacing:.1em}
.case-learning{padding-block:clamp(104px,18vh,192px)}
.case-learning>.wrap{display:grid;grid-template-columns:.35fr 1.25fr;gap:56px}
.case-learning-copy{font-family:var(--display);font-size:clamp(2.3rem,4.4vw,4.7rem);line-height:1.03;letter-spacing:-.04em;max-width:20ch}
.case-learning blockquote{grid-column:2;margin-top:56px;padding-top:28px;border-top:4px solid var(--case-accent);font-size:clamp(1.2rem,2vw,1.8rem);font-weight:500;line-height:1.4;max-width:36ch}
.case-study+.case-next{border-top:0}

@media(max-width:1020px){
 .case-archive-heading{grid-template-columns:.7fr 1.3fr}.case-archive-heading>p:last-child{grid-column:2}.case-mosaic{gap-block:48px}
 .case-hero-heading{grid-template-columns:1fr .62fr;gap:36px}.case-hero-heading h1{font-size:9.8vw}.case-opening>.wrap{gap:40px}.case-story{gap:56px}.case-section-heading{grid-template-columns:.35fr 1.25fr}
}
@media(max-width:640px){
 .case-archive{padding-top:88px}.case-archive-heading{display:block;margin-bottom:40px}.case-archive-heading h2{font-size:clamp(3.4rem,13vw,4.8rem);margin-block:22px}.case-archive-heading>p:last-child{font-size:.95rem}
 .case-mosaic{grid-template-columns:1fr;gap:44px}.case-mosaic-media,.case-mosaic-card:nth-child(4n+2) .case-mosaic-media,.case-mosaic-card:nth-child(4n+3) .case-mosaic-media{aspect-ratio:1.12}.case-mosaic-copy{display:block}.case-mosaic-copy h3{font-size:1.55rem}.case-mosaic-copy p{text-align:left;margin-top:6px}.case-mosaic-arrow{transform:none;width:46px;height:46px}
 .case-hero-copy{padding-top:30px;padding-bottom:44px}.case-hero-copy .back-link{margin-bottom:54px}.case-hero-heading{display:block}.case-hero-heading h1{font-size:clamp(3.8rem,17vw,6rem);line-height:.84;max-width:100%}.case-hero-intro{font-size:1.08rem;margin-top:34px}.case-meta{margin-top:32px}.case-meta li{font-size:.65rem;padding:8px 11px}.case-hero-ghost{display:none}
 .case-hero-media{width:calc(100% - 16px);aspect-ratio:4/5}.case-hero-media figcaption{left:14px;bottom:12px;font-size:.62rem}
 .case-opening{padding-block:80px}.case-opening>.wrap{display:block}.case-opening h2{font-size:clamp(3.5rem,14vw,5rem);margin-top:24px}.case-opening div>p:last-child{font-size:1.05rem;margin-top:28px}
 .case-story{display:block;padding-block:88px}.case-story-heading{position:static;margin-bottom:48px}.case-story-heading h2{font-size:3.8rem}.case-story-block{grid-template-columns:52px 1fr;gap:14px;padding-block:36px}.case-story-number{font-size:2.8rem}.case-story-block h3{font-size:1.7rem}.case-story-block p:last-child{font-size:1rem;line-height:1.55}
 .case-gallery{display:block;padding:28px 20px}.case-gallery-item,.case-gallery-item:nth-child(3){aspect-ratio:4/3;margin-bottom:20px}.case-gallery-item:last-child{margin-bottom:0}.case-gallery-item figcaption{left:14px;right:14px;bottom:12px;font-size:.7rem}
 .case-focus{padding-block:88px}.case-section-heading{display:block;margin-bottom:44px}.case-section-heading h2{font-size:clamp(3.6rem,13vw,4.8rem);margin-top:24px}.case-focus-grid{display:block}.case-focus-card,.case-focus-card:nth-child(even){grid-template-columns:38px 1fr;padding:30px 0;border-right:0}.case-focus-card h3{font-size:1.45rem}
 .case-results{padding-block:88px}.case-metrics{display:block}.case-metric,.case-metric:nth-child(odd),.case-metric:nth-child(even){padding:34px 0;border-right:0}.case-metric strong{font-size:clamp(3.5rem,16vw,5.5rem)}.case-metric h3{font-size:1.25rem}.case-source-note{font-size:.7rem}
 .case-outcomes{display:block;padding-block:88px}.case-outcomes h2{font-size:3.8rem;margin-block:24px 44px}.case-outcomes li{grid-template-columns:38px 1fr;font-size:.95rem}
 .case-learning{padding-block:88px}.case-learning>.wrap{display:block}.case-learning-copy{font-size:2.55rem;margin-top:28px}.case-learning blockquote{margin-top:42px;font-size:1.2rem}
}
@media(prefers-reduced-motion:reduce){.case-mosaic-arrow{transform:none}.case-mosaic-media img{transform:none!important}}

/* 2026 portfolio direction: quieter interface, stronger real work, faster reading. */
:root{--brand-blue:#1381bc;--brand-violet:#7e6aaa;--brand-pink:#e84967;--brand-gradient:linear-gradient(100deg,var(--brand-blue),var(--brand-violet) 52%,var(--brand-pink));--premium-radius:22px}
.craft-grain{opacity:.022}
.site-header{background:rgb(14 14 12/.84);backdrop-filter:blur(20px) saturate(1.15);-webkit-backdrop-filter:blur(20px) saturate(1.15);border-bottom:1px solid rgb(255 255 255/.08)}
.brand img,.footer-top img{height:auto;object-fit:contain}
.hero h1 span{color:transparent;background:var(--brand-gradient);background-clip:text;-webkit-background-clip:text}
.window-panels{border-radius:var(--premium-radius) var(--premium-radius) 0 0}
.window-index{border-radius:0 0 var(--premium-radius) var(--premium-radius);border-top:1px solid rgb(255 255 255/.08)}
.window-panel::after{background:linear-gradient(90deg,rgb(9 9 8/.82),rgb(9 9 8/.12) 72%)}
.route-visual,.menu-feature,.project-feature,.film-media,.research-composition,.portfolio-inline,.case-mosaic-media{border-radius:var(--premium-radius)}
.route-visual{box-shadow:0 28px 80px rgb(0 0 0/.24)}
.route-visual::before{content:'';position:absolute;z-index:2;inset:0;border-radius:inherit;border:1px solid rgb(255 255 255/.11);pointer-events:none}
.project-feature{min-height:520px;background:#151512;overflow:hidden}
.project-feature-media{border-radius:0}
.project-feature-copy h3{font-size:clamp(3rem,4.5vw,4.7rem);margin-block:34px 18px}
.portfolio-composition{padding:0;background:#f4f2ec}
.portfolio-composition .research-photo{position:static;width:100%;height:100%;object-fit:cover}
.project-portfolio{padding-top:86px}
.portfolio-inline{display:block;position:relative;overflow:hidden;aspect-ratio:1.25;background:#171713}
.portfolio-inline>img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.portfolio-inline:hover>img{transform:scale(1.035)}
.portfolio-inline>span{position:absolute;inset:auto 0 0;padding:80px 25px 24px;background:linear-gradient(transparent,rgb(10 10 9/.9));display:flex;flex-direction:column;gap:7px}
.portfolio-inline small{color:#ddd;font-size:.75rem}.portfolio-inline strong{font-family:var(--display);font-weight:400;font-size:clamp(2.2rem,4vw,4rem);text-transform:uppercase}

.visual-selection{scroll-margin-top:110px;padding-top:clamp(100px,15vh,160px)}
.visual-selection-heading{display:grid;grid-template-columns:.72fr 1.25fr .78fr;align-items:end;gap:42px;margin-bottom:48px}
.visual-selection-heading h2{font-size:clamp(3.4rem,6vw,6rem)}
.visual-selection-heading>p:last-child{color:#aaa;max-width:31ch;padding-bottom:8px}
.visual-selection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.visual-selection-card{min-width:0}.visual-selection-card>div{overflow:hidden;aspect-ratio:16/10;border-radius:var(--premium-radius);background:#171713}
.visual-selection-card:nth-child(2),.visual-selection-card:nth-child(3){margin-top:56px}
.visual-selection-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.visual-selection-card:hover img{transform:scale(1.035)}
.visual-selection-card>p{display:flex;justify-content:space-between;gap:18px;padding:15px 2px 0}
.visual-selection-card strong{font-size:1rem;font-weight:500}.visual-selection-card span{color:#999;font-size:.78rem;text-align:right}

.case-archive{padding-top:clamp(100px,15vh,160px)}
.case-archive-heading{grid-template-columns:.7fr 1.15fr .7fr;gap:42px;margin-bottom:48px}
.case-archive-heading h2{font-size:clamp(3.5rem,5.5vw,5.6rem)}
.case-mosaic{grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 20px}
.case-mosaic-media,.case-mosaic-card:nth-child(4n+2) .case-mosaic-media,.case-mosaic-card:nth-child(4n+3) .case-mosaic-media{aspect-ratio:1.18}
.case-mosaic-copy{display:block;padding-top:14px}.case-mosaic-copy h3{font-size:clamp(1.2rem,1.55vw,1.6rem)}.case-mosaic-copy p{text-align:left;margin-top:6px;font-size:.74rem}

.case-study{background:#0e0e0c}
.case-hero{padding-block:54px 72px}
.case-hero-layout{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:clamp(42px,6vw,92px);align-items:center}
.case-hero-copy{padding:0;position:relative;isolation:auto}
.case-hero-copy .back-link{margin-bottom:clamp(48px,8vh,78px)}
.case-hero-copy>.eyebrow{color:var(--case-accent);margin-bottom:20px}
.case-hero-copy h1{font-size:clamp(3.5rem,6.5vw,6.8rem);line-height:.9;letter-spacing:-.035em;max-width:10ch;overflow-wrap:anywhere}
.case-hero-intro{font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.55;max-width:42ch;margin-top:28px;padding:0}
.case-meta{margin-top:28px}
.case-hero-media{width:100%;max-width:none;margin:0;aspect-ratio:16/11;border-radius:var(--premium-radius)}
.case-hero-media figcaption{left:18px;bottom:16px}
.case-hero-ghost,.case-opening{display:none}
.case-story{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(48px,7vw,96px);padding-block:clamp(82px,12vh,128px)}
.case-story-heading{top:116px}.case-story-heading .eyebrow{margin-bottom:22px}.case-story-heading h2{font-size:clamp(2.8rem,4.1vw,4.2rem);line-height:1.02;max-width:12ch}
.case-story-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:0;gap:0 28px}
.case-story-block{display:block;padding-block:28px;border-top:1px solid #3a3a34}
.case-story-number{display:block;font-size:1rem;margin-bottom:22px;letter-spacing:.08em}
.case-story-block .eyebrow{font-size:.68rem;margin-bottom:12px}.case-story-block h3{font-size:clamp(1.25rem,1.65vw,1.65rem);line-height:1.15;margin-bottom:13px}.case-story-block p:last-child{font-size:.95rem;line-height:1.6}
.case-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:clamp(24px,3vw,48px)}
.case-gallery-item,.case-gallery-item:nth-child(1),.case-gallery-item:nth-child(2),.case-gallery-item:nth-child(3){grid-column:auto;aspect-ratio:4/3;border-radius:var(--premium-radius)}
.case-gallery-item figcaption{left:16px;right:16px;bottom:14px;font-size:.68rem}
.case-focus{padding-block:clamp(82px,12vh,128px)}
.case-section-heading{grid-template-columns:.28fr 1fr;margin-bottom:52px}.case-section-heading h2{font-size:clamp(3rem,5vw,5.2rem)}
.case-focus-card{padding-block:30px}.case-focus-card h3{font-size:clamp(1.2rem,1.55vw,1.55rem)}
.case-results{padding-block:clamp(82px,12vh,128px)}
.case-metrics{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));border-bottom:1px solid #3e3e38}
.case-metric,.case-metric:nth-child(odd),.case-metric:nth-child(even){padding:30px 24px 34px;border-right:1px solid #3e3e38}
.case-metric:first-child{padding-left:0}.case-metric:last-child{border-right:0}
.case-metric strong{font-size:clamp(2.8rem,4.6vw,4.8rem)}.case-metric h3{font-size:1.15rem;margin-top:15px}.case-metric p{font-size:.86rem;line-height:1.55}
.case-outcomes{padding-block:clamp(78px,11vh,118px)}.case-outcomes h2{font-size:clamp(3rem,4.8vw,4.8rem)}
.case-learning{padding-block:clamp(72px,10vh,108px)}.case-learning>.wrap{grid-template-columns:.3fr 1fr}.case-learning-copy{font-family:var(--body);font-size:clamp(1.7rem,2.6vw,2.6rem);font-weight:500;line-height:1.15;max-width:28ch}.case-learning blockquote{font-size:clamp(1.05rem,1.45vw,1.35rem);margin-top:36px;border-top-width:2px}

@media(max-width:1020px){
 .visual-selection-heading{grid-template-columns:.65fr 1.35fr}.visual-selection-heading>p:last-child{grid-column:2}.case-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}
 .case-hero-layout{grid-template-columns:.85fr 1.15fr;gap:36px}.case-hero-copy h1{font-size:6.5vw}.case-story{grid-template-columns:1fr}.case-story-heading{position:static}.case-story-heading h2{max-width:18ch}.case-gallery{grid-template-columns:1fr 1fr}.case-gallery-item:last-child{grid-column:1/-1;aspect-ratio:16/8}
}
@media(max-width:640px){
 :root{--premium-radius:16px}.site-header{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
 .window-panels{border-radius:0}.window-index{border-radius:0}.route-visual{border-radius:16px}
 .project-feature{border-radius:16px}.project-feature-media{border-radius:0}.project-portfolio{padding:0}.portfolio-inline{aspect-ratio:1.28}
 .visual-selection{padding-top:86px}.visual-selection-heading{display:block;margin-bottom:34px}.visual-selection-heading h2{font-size:clamp(3rem,11vw,4.2rem);margin-block:18px}.visual-selection-heading>p:last-child{font-size:.92rem}.visual-selection-grid{grid-template-columns:1fr;gap:32px}.visual-selection-card:nth-child(2),.visual-selection-card:nth-child(3){margin-top:0}.visual-selection-card>p{padding-top:12px}
 .case-archive{padding-top:86px}.case-archive-heading h2{font-size:clamp(3rem,11vw,4.2rem)}.case-mosaic{grid-template-columns:1fr;gap:34px}.case-mosaic-media,.case-mosaic-card:nth-child(4n+2) .case-mosaic-media,.case-mosaic-card:nth-child(4n+3) .case-mosaic-media{aspect-ratio:1.24}
 .case-hero{padding-block:30px 42px}.case-hero-layout{display:flex;flex-direction:column;gap:34px}.case-hero-copy .back-link{margin-bottom:46px}.case-hero-copy h1{font-size:clamp(3.2rem,14vw,4.8rem);line-height:.9;max-width:100%}.case-hero-intro{font-size:1rem;margin-top:24px}.case-meta{margin-top:24px}.case-hero-media{width:100%;aspect-ratio:4/3}
 .case-story{display:block;padding-block:72px}.case-story-heading{margin-bottom:38px}.case-story-heading h2{font-size:2.7rem;max-width:12ch}.case-story-list{grid-template-columns:1fr}.case-story-block{padding-block:24px}.case-story-number{font-size:.86rem;margin-bottom:17px}.case-story-block h3{font-size:1.35rem}.case-story-block p:last-child{font-size:.94rem}
 .case-gallery{display:grid;grid-template-columns:1fr;padding:20px}.case-gallery-item,.case-gallery-item:nth-child(3),.case-gallery-item:last-child{grid-column:auto;aspect-ratio:4/3;margin:0}
 .case-focus,.case-results{padding-block:72px}.case-section-heading{margin-bottom:36px}.case-section-heading h2{font-size:3rem}.case-metrics{display:grid;grid-template-columns:1fr 1fr}.case-metric,.case-metric:nth-child(odd),.case-metric:nth-child(even){padding:25px 14px;border-right:0}.case-metric:nth-child(odd){border-right:1px solid #3e3e38}.case-metric strong{font-size:clamp(2.4rem,11vw,3.5rem)}.case-metric h3{font-size:1rem}.case-metric p{font-size:.8rem}
 .case-learning{padding-block:68px}.case-learning-copy{font-size:1.8rem}.case-learning blockquote{font-size:1.05rem}
}

/* 2026 motion library: one automatic silent film, the rest remains user-directed. */
.ambient-media{position:relative;overflow:hidden;background:#080808;isolation:isolate}
.ambient-media>.ambient-poster,.ambient-media>iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ambient-media>.ambient-poster{object-fit:cover;z-index:-2;transition:opacity .65s var(--ease)}
.ambient-media>iframe{z-index:-1;opacity:0;pointer-events:none;transition:opacity .65s var(--ease)}
.ambient-media.is-playing>iframe{opacity:1}.ambient-media.is-playing>.ambient-poster{opacity:0}
.ambient-status{position:absolute;z-index:2;right:18px;top:18px;display:flex;align-items:center;gap:8px;border:1px solid rgb(255 255 255/.23);border-radius:999px;background:rgb(8 8 8/.58);backdrop-filter:blur(10px);padding:7px 11px;color:#e9e6de;font-size:.65rem;letter-spacing:.04em;text-transform:uppercase}
.ambient-status i{width:6px;height:6px;border-radius:50%;background:#d1182e;box-shadow:0 0 0 4px rgb(209 24 46/.18)}
.window-panel>.window-ambient{position:absolute;inset:0;z-index:-2}
.window-ambient>iframe{inset:50% auto auto 0;width:100%;height:auto;aspect-ratio:16/9;transform:translateY(-50%)}
.window-ambient>.ambient-poster{object-position:center 45%}
.window-panel:has(.window-ambient)::after{z-index:-1;background:linear-gradient(90deg,rgb(7 7 7/.88),rgb(7 7 7/.12) 75%)}
.window-index [role=tablist]{gap:18px}

.video-lead{padding-bottom:clamp(90px,13vh,145px)}
.video-lead-heading{display:grid;grid-template-columns:.55fr 1.15fr .8fr;gap:38px;align-items:end;margin-bottom:35px}
.video-lead-heading>div:first-child{grid-column:1/3;display:grid;grid-template-columns:.55fr 1.15fr;gap:38px;align-items:end}
.video-lead-heading .eyebrow{padding-bottom:9px}.video-lead-heading h2{font-size:clamp(3.6rem,6.6vw,6.8rem)}
.video-lead-heading>div:last-child{grid-column:3}.video-lead-heading>div:last-child>p{color:#aaa;font-size:.95rem;line-height:1.65;max-width:34ch}
.video-sound-action{display:inline-flex;align-items:center;gap:12px;border:1px solid rgb(255 255 255/.3);border-radius:999px;background:transparent;color:#edeae3;padding:11px 17px;margin-top:20px;font-size:.8rem;transition:background .25s,border-color .25s,transform .25s}
.video-sound-action>span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#edeae3;color:#111;font-size:.72rem;padding-left:2px}
.video-sound-action:hover{background:#d1182e;border-color:#d1182e;transform:translateY(-2px)}
.video-lead-media{width:100%;aspect-ratio:16/8.2;border-radius:var(--premium-radius);box-shadow:0 34px 110px rgb(0 0 0/.3)}
.video-lead-media>iframe{inset:50% auto auto 0;width:100%;height:auto;aspect-ratio:16/9;transform:translateY(-50%)}
.video-lead-media>.ambient-poster{object-position:center}

.motion-library{scroll-margin-top:110px;padding-top:clamp(100px,15vh,160px)}
.motion-library-heading{display:grid;grid-template-columns:.58fr 1.12fr .72fr;gap:42px;align-items:end;margin-bottom:45px}
.motion-library-heading h2{font-size:clamp(3.5rem,5.8vw,5.9rem)}
.motion-library-heading>p:last-child{color:#aaa;line-height:1.65;max-width:35ch;padding-bottom:8px}
.rewind-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 22px}
.motion-card{display:block;min-width:0;border:0;padding:0;background:transparent;color:inherit;text-align:left}
.motion-card-media{position:relative;display:block;overflow:hidden;border-radius:var(--premium-radius);background:#121210}
.rewind-card .motion-card-media{aspect-ratio:16/9}.short-card .motion-card-media{aspect-ratio:9/16}
.motion-card-media::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgb(4 4 4/.72));pointer-events:none}
.motion-card-media>img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .8s var(--ease)}
.motion-card:hover .motion-card-media>img,.motion-card:focus-visible .motion-card-media>img{transform:scale(1.035);filter:saturate(1.08)}
.motion-play{position:absolute;z-index:2;right:17px;bottom:16px;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#edeae3;color:#111;font-size:.9rem;padding-left:2px;transition:transform .3s,background .3s,color .3s}
.motion-card:hover .motion-play{transform:scale(1.08);background:#d1182e;color:#fff}
.motion-card-media>small{position:absolute;z-index:2;left:18px;top:17px;border:1px solid rgb(255 255 255/.25);background:rgb(8 8 8/.65);padding:6px 10px;font-size:.68rem;letter-spacing:.08em}
.motion-card-copy{display:flex;justify-content:space-between;gap:18px;padding:14px 2px 0}
.motion-card-copy strong{font-size:1rem;font-weight:500}.motion-card-copy>span{color:#929292;font-size:.72rem;text-align:right}
.shorts-showcase{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(48px,8vw,110px);align-items:center;margin-top:clamp(90px,13vh,140px);padding:clamp(48px,7vw,86px);border-radius:var(--premium-radius);background:#161613;border:1px solid rgb(255 255 255/.08)}
.shorts-copy h3{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(3rem,5vw,5.3rem);line-height:.95;margin:22px 0}
.shorts-copy>p:not(.eyebrow){color:#aaa;max-width:38ch}.shorts-copy .text-link{margin-top:26px}
.shorts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.short-card:nth-child(2){margin-top:62px}
.youtube-channel-link{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid #363630;border-bottom:1px solid #363630;margin-top:70px;padding-block:22px;font-size:.9rem}
.youtube-channel-link>span{font-size:1.35rem}.youtube-channel-link:hover{color:#ff5269}
.video-dialog.video-dialog-vertical{width:min(520px,95vw)}
.video-dialog-vertical .video-frame{aspect-ratio:9/16;max-height:76vh;margin-inline:auto}

@media(max-width:1020px){
 .window-signature{display:none}.video-lead-heading{grid-template-columns:1fr 1fr}.video-lead-heading>div:first-child{grid-column:1;display:block}.video-lead-heading>div:last-child{grid-column:2}.video-lead-heading .eyebrow{margin-bottom:18px}.video-lead-media{aspect-ratio:16/9}
 .motion-library-heading{grid-template-columns:.58fr 1.42fr}.motion-library-heading>p:last-child{grid-column:2}.shorts-showcase{grid-template-columns:.85fr 1.15fr;gap:45px;padding:48px}
}
@media(max-width:640px){
 .window-index [role=tablist]{gap:8px}.window-index button{flex-direction:column;gap:3px;font-size:.68rem;line-height:1.2}.window-index button>span{font-size:.62rem}.window-ambient>iframe{inset:0 auto auto 50%;height:100%;width:auto;aspect-ratio:16/9;transform:translateX(-50%)}.ambient-status{display:none}
 .video-lead{padding-bottom:84px}.video-lead-heading{display:block;margin-bottom:28px}.video-lead-heading>div:first-child{display:block}.video-lead-heading h2{font-size:clamp(3.4rem,15vw,5rem);margin-bottom:24px}.video-lead-heading>div:last-child>p{font-size:.92rem}.video-sound-action{margin-top:18px}.video-lead-media{aspect-ratio:16/10;border-radius:16px}.video-lead-media>iframe{inset:50% auto auto 50%;height:100%;width:auto;aspect-ratio:16/9;transform:translate(-50%,-50%)}
 .motion-library{padding-top:84px}.motion-library-heading{display:block;margin-bottom:32px}.motion-library-heading h2{font-size:clamp(3.1rem,13vw,4.5rem);margin-block:18px}.motion-library-heading>p:last-child{font-size:.92rem}.rewind-grid{grid-template-columns:1fr;gap:30px}.motion-card-copy{padding-top:11px}.motion-card-copy strong{font-size:.92rem}.motion-card-copy>span{font-size:.66rem;max-width:19ch}.motion-play{width:42px;height:42px}
 .shorts-showcase{display:block;margin-top:80px;padding:30px 20px}.shorts-copy h3{font-size:3.45rem}.shorts-copy>p:not(.eyebrow){font-size:.9rem}.shorts-grid{margin-top:40px;gap:12px}.short-card:nth-child(2){margin-top:34px}.short-card .motion-card-copy{display:block}.short-card .motion-card-copy>span{display:block;text-align:left;margin-top:4px}.youtube-channel-link{margin-top:48px;font-size:.82rem}
}
@media(prefers-reduced-motion:reduce){.ambient-media>iframe{display:none}.ambient-media>.ambient-poster{opacity:1!important}.motion-card-media>img{transform:none!important}}

/* Origin: the surrounding field is sampled from the artwork itself (#0a0a09). */
.origin{--origin-black:#0a0a09;position:relative;isolation:isolate;overflow:hidden;background:var(--origin-black)!important}
.origin::before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 64% 45%,rgb(30 126 196/.065),transparent 23%),radial-gradient(circle at 84% 48%,rgb(209 24 46/.055),transparent 25%);opacity:var(--origin-glow,.35);pointer-events:none}
.origin-grid{position:relative;grid-template-columns:minmax(300px,.76fr) minmax(0,1.24fr);gap:clamp(42px,6vw,92px)}
.origin-copy{position:relative;z-index:2}.origin-copy h2{font-size:clamp(3.4rem,5.5vw,5.8rem);max-width:8.5ch}
.origin-stage{position:relative;isolation:isolate;overflow:hidden;margin:0;background:var(--origin-black);transform-style:preserve-3d;perspective:1200px;will-change:transform;box-shadow:0 0 0 1px rgb(255 255 255/.025)}
.origin-stage::before{content:'';position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,var(--origin-black),transparent 7%,transparent 93%,var(--origin-black)),linear-gradient(180deg,var(--origin-black),transparent 7%,transparent 93%,var(--origin-black));pointer-events:none}
.origin-stage::after{content:'';position:absolute;z-index:3;inset:0;background:radial-gradient(circle at var(--origin-pointer-x,50%) var(--origin-pointer-y,45%),rgb(255 255 255/.075),transparent 24%);mix-blend-mode:screen;opacity:.7;pointer-events:none}
.origin-stage>img{display:block;width:100%;height:auto;object-fit:contain;background:var(--origin-black);transform-origin:center;will-change:transform,filter}
.origin-stage-line{position:absolute;z-index:4;left:5%;right:5%;bottom:4px;height:1px;background:linear-gradient(90deg,transparent,#1381bc 20%,#7e6aaa 54%,#d1182e 84%,transparent);transform:scaleX(var(--origin-line,0));transform-origin:left;box-shadow:0 0 18px rgb(126 106 170/.45);pointer-events:none}
.origin .brand-path{position:relative;border-color:#32322e}.origin .brand-path a{position:relative;overflow:hidden;border-color:#32322e}
.origin .brand-path a::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,#1381bc,#7e6aaa 52%,#d1182e);transform:scaleX(0);transform-origin:right;transition:transform .9s var(--ease)}
.origin .brand-path a:hover::before,.origin .brand-path a:focus-visible::before{transform:scaleX(1);transform-origin:left}
.origin .brand-path a:hover strong,.origin .brand-path a:focus-visible strong{color:#edeae3;text-shadow:0 0 35px rgb(209 24 46/.28)}

@media(max-width:1020px){.origin-grid{grid-template-columns:.8fr 1.2fr;gap:32px}.origin-copy h2{font-size:clamp(3rem,6vw,4.8rem)}}
@media(max-width:640px){
 .origin{padding-top:86px}.origin-grid{display:flex;flex-direction:column;gap:42px}.origin-copy h2{font-size:3.45rem;max-width:9ch}.origin-stage{margin-inline:-20px;box-shadow:none}.origin-stage::before{background:linear-gradient(180deg,var(--origin-black),transparent 8%,transparent 92%,var(--origin-black))}.origin-stage::after{display:none}.origin .brand-path{margin-top:45px}
}
@media(prefers-reduced-motion:reduce){.origin-stage,.origin-stage>img,.origin-stage-line,.origin-copy>*{transform:none!important;filter:none!important;opacity:1!important}.origin-stage-line{--origin-line:1}}

/* ==========================================================================
   Consultoría, sectores y conversión (2026-10). Mobile-first; only the shared tokens.
   Components: dato-pendiente, answer block, offer steps, proof strip, sectors,
   team, qualifying form, WhatsApp button, breadcrumbs.
   ========================================================================== */
.dato-pendiente{background:#ffe35a;color:#1c1c18;font:600 .75rem/1.4 var(--body);letter-spacing:.02em;padding:2px 6px;border-radius:4px;white-space:normal}

/* Direct, citable answer: what, for whom, where, how and with which evidence. */
.answer-block{padding-block:clamp(40px,7vw,72px);border-bottom:1px solid #303030}
.answer-block .eyebrow{color:#aaa;margin-bottom:16px}
.answer-copy{font-size:clamp(1.125rem,2.2vw,1.5rem);line-height:1.55;color:var(--white);max-width:62ch}

.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;padding-top:28px;font-size:.8125rem;color:#8f8d86}
.breadcrumbs a{color:#bdbbb3;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#55554c}
.breadcrumbs a:hover{color:var(--white)}
.sector-intro{padding-top:32px}
.sector-intro h1{max-width:16ch}
.sector-intro .hero-actions{margin-top:32px}

/* Offer: Diagnóstico → Plan → Acompañamiento */
.offer-steps{list-style:none;padding:0;margin:0;display:grid;gap:16px;counter-reset:none}
.offer-step{position:relative;border:1px solid #303030;border-radius:var(--premium-radius);padding:28px 24px 30px;background:rgb(255 255 255/.02)}
.light .offer-step{border-color:#cfccc3;background:#f7f6f2}
.offer-index{font:400 3.25rem/1 var(--display);color:var(--red);display:block;margin-bottom:12px}
.offer-method{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#8f8d86;margin-bottom:6px}
.offer-step h3{font:400 clamp(2rem,4vw,2.75rem)/1 var(--display);letter-spacing:.01em;margin-bottom:14px}
.offer-promise{font-weight:500;line-height:1.5;margin-bottom:14px}
.offer-step>p:not(.offer-method):not(.offer-promise){color:#aaa;line-height:1.7;font-size:.9375rem}
.light .offer-step>p:not(.offer-method):not(.offer-promise){color:#55554c}
.offer-step h4{font-size:.8125rem;font-weight:600;margin-top:22px;text-transform:uppercase;letter-spacing:.08em}
.offer-list{margin:12px 0 0}
.offer-list li{position:relative;padding:8px 0 8px 22px;border-top:1px solid rgb(127 127 127/.25);font-size:.9375rem;line-height:1.5}
.offer-list li::before{content:'';position:absolute;left:2px;top:15px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:9px solid var(--red)}
.offer-terms{display:grid;gap:10px;margin-top:22px;font-size:.875rem}
.offer-terms dt{font-weight:600}
.offer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px;margin-top:40px}
.offer-note{margin-top:28px;font-size:.9375rem;color:#8f8d86}
.offer-note a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:900px){.offer-steps{grid-template-columns:repeat(3,1fr);gap:20px}.offer-step{padding:36px 32px 38px}}

/* Proof next to every CTA: numbers come from casos.json and link to their case. */
.proof-strip{display:grid;gap:10px;margin-block:24px}
.proof-card{display:grid;gap:4px;padding:16px 18px;border-radius:12px;border:1px solid rgb(237 234 227/.35);transition:background .3s var(--ease),border-color .3s var(--ease)}
.proof-card strong{font:400 clamp(2rem,5vw,2.75rem)/1 var(--display);letter-spacing:.01em}
.proof-card span{font-weight:500;font-size:.9375rem}
.proof-card small{font-size:.75rem;line-height:1.5;opacity:.82}
.proof-card:hover,.proof-card:focus-visible{background:rgb(255 255 255/.08)}
.proof-light .proof-card{border-color:#cfccc3;color:var(--ink)}
.proof-light .proof-card strong{color:var(--red)}
.proof-light .proof-card:hover{background:#fff}
@media(min-width:760px){.proof-strip{grid-template-columns:repeat(3,1fr);gap:14px}.proof-stack{grid-template-columns:1fr}}
.closing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.closing-actions a:not(.button){text-decoration:underline;text-underline-offset:3px}
.button-light{background:var(--white);color:var(--ink)}
.button-light:hover{background:#fff}
.closing-bottom{flex-wrap:wrap;align-items:center}

/* Sectors */
.sector-links{display:flex;flex-wrap:wrap;gap:10px}
.sector-links a{display:inline-flex;gap:10px;align-items:center;border:1px solid currentColor;border-radius:999px;padding:12px 18px;font-size:.875rem;min-height:48px;transition:background .3s var(--ease),color .3s var(--ease)}
.sector-links a:hover{background:var(--red);border-color:var(--red);color:var(--white)}
.sector-grid{display:grid;gap:20px}
.sector-card{display:grid;border:1px solid #303030;border-radius:var(--premium-radius);overflow:hidden;transition:border-color .4s var(--ease)}
.sector-card:hover{border-color:#77756d}
.sector-card-media{aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#1c1c18,#2a1015)}
.sector-card-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.sector-card:hover .sector-card-media img{transform:scale(1.04)}
.sector-wordmark{display:flex;align-items:flex-end;height:100%;padding:22px;font:400 clamp(2.4rem,6vw,3.5rem)/.95 var(--display);color:var(--white)}
.sector-card-copy{display:grid;gap:12px;padding:24px}
.sector-card-copy h2{font:400 clamp(2rem,4vw,2.6rem)/1 var(--display);letter-spacing:.01em}
.sector-card-copy p{color:#aaa;line-height:1.65;font-size:.9375rem}
.sector-card-copy small{color:#8f8d86;font-size:.8125rem}
.sector-card-copy .text-link{justify-self:start}
@media(min-width:760px){.sector-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.sector-grid{grid-template-columns:repeat(3,1fr)}}
.sector-hero-media{margin-block:clamp(24px,5vw,48px) 0;border-radius:var(--premium-radius);overflow:hidden;aspect-ratio:16/9}
.sector-hero-media img{width:100%;height:100%;object-fit:cover}
.situation-grid{display:grid;gap:14px}
.situation-grid article{border-top:1px solid #303030;padding-top:22px}
.situation-grid span{font:400 1.5rem/1 var(--display);color:var(--red)}
.situation-grid h3{font-size:clamp(1.125rem,1.6vw,1.3rem);font-weight:500;line-height:1.35;margin:10px 0}
.situation-grid p{color:#aaa;line-height:1.75;font-size:.9375rem;max-width:56ch}
@media(min-width:760px){.situation-grid{grid-template-columns:repeat(2,1fr);gap:36px 48px}}
.when-grid{display:grid;gap:14px}
.when-grid article{border-left:3px solid var(--red);padding:6px 0 6px 20px}
.when-grid h3{font-size:1.125rem;font-weight:500;line-height:1.4;margin-bottom:8px}
.when-grid p{color:#aaa;line-height:1.7;font-size:.9375rem}
@media(min-width:760px){.when-grid{grid-template-columns:repeat(2,1fr);gap:36px 48px}}
.sector-feature h3{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin:6px 0 12px}
.feature-list{margin:0 0 28px;color:var(--white);font-size:.9375rem}
.sector-cases{display:grid;gap:20px}
.sector-case{display:grid;border-radius:var(--premium-radius);overflow:hidden;background:#fff;color:var(--ink);border:1px solid #dcd9d0}
.sector-case-media{aspect-ratio:16/10;overflow:hidden}
.sector-case-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.sector-case:hover .sector-case-media img{transform:scale(1.04)}
.sector-case-copy{display:grid;gap:12px;padding:24px}
.sector-case-copy .eyebrow{margin:0;color:#616161}
.sector-case-copy h3{font:400 clamp(2rem,4vw,2.6rem)/1 var(--display)}
.sector-case-copy p{color:#55554c;line-height:1.65;font-size:.9375rem}
.sector-case-copy ul{list-style:none;padding:0;display:grid;gap:6px;font-size:.875rem}
.sector-case-copy li strong{color:var(--red);font-weight:600}
.sector-case-copy .text-link{justify-self:start}
@media(min-width:900px){.sector-case{grid-template-columns:1fr 1fr}.sector-case-media{aspect-ratio:auto;min-height:100%}}
.sector-portfolio{display:grid;gap:16px}
.sector-portfolio figure{border-radius:var(--premium-radius);overflow:hidden}
.sector-portfolio img{width:100%;aspect-ratio:4/3;object-fit:cover}
.sector-portfolio figcaption{font-size:.8125rem;color:#aaa;padding-top:10px}
@media(min-width:760px){.sector-portfolio{grid-template-columns:repeat(3,1fr)}}

/* Home: sectors as an index, not as another set of cards. */
.home-sector-list{display:grid;border-top:1px solid #303030}
.home-sector-list a{display:grid;gap:4px;padding:20px 0;border-bottom:1px solid #303030;transition:padding .5s var(--ease),color .3s}
.home-sector-list span{font:400 clamp(2rem,5vw,3.5rem)/1 var(--display);letter-spacing:.01em}
.home-sector-list small{color:#8f8d86;font-size:.8125rem}
.home-sector-list a:hover{padding-left:14px;color:var(--red)}
@media(min-width:900px){.home-sector-list{grid-template-columns:1fr 1fr;column-gap:56px}.home-sector-list a{grid-template-columns:1fr auto;align-items:end}}

/* Team (E-E-A-T) */
.team-grid{display:grid;gap:20px}
.team-card{display:grid;gap:10px;align-content:start}
.team-grid.team-profiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:32px 48px}
.team-profile{border-top:1px solid #c9c9c9;padding-top:22px;scroll-margin-top:calc(var(--header-height) + 24px)}
.team-grid.team-profiles .team-profile h3{font:400 clamp(2rem,3vw,2.6rem)/1.05 var(--display)}
.team-profile .text-link{justify-self:start;min-height:44px;margin-top:8px;font-size:.875rem}
.team-card .eyebrow{margin:8px 0 0}
.team-card h3{font-size:1.125rem;font-weight:500}
.team-card p{color:#55554c;font-size:.9375rem;line-height:1.6}
.team-photo{aspect-ratio:4/5;border-radius:var(--premium-radius);background:#dedbd2;display:flex;align-items:center;justify-content:center;padding:16px}
@media(min-width:760px){.team-grid{grid-template-columns:repeat(3,1fr);gap:28px}}
.fact-list{display:grid;gap:0;margin-top:clamp(40px,6vw,72px);border-top:1px solid #cfccc3}
.fact-list div{display:grid;gap:4px;padding:16px 0;border-bottom:1px solid #cfccc3}
.fact-list dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#616161}
.fact-list dd{font-size:1rem;line-height:1.5}
@media(min-width:760px){.fact-list div{grid-template-columns:1fr 2fr;gap:24px}}

/* Qualifying form */
.qualify-form fieldset{border:0;padding:0;margin:0 0 12px;min-width:0}
.qualify-form legend{font:400 1.75rem/1 var(--display);letter-spacing:.02em;margin-bottom:18px;color:var(--ink)}
.qualify-form [aria-invalid="true"]{border-bottom-color:var(--red)}
.qualify-form select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#55554c 50%),linear-gradient(135deg,#55554c 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:28px}
.qualify-form input:focus-visible,.qualify-form select:focus-visible,.qualify-form textarea:focus-visible{outline:none;border-bottom:2px solid var(--red)}
.qualify-form .button{transition:transform .5s var(--ease),background .3s}
.qualify-form.is-sent .button{background:#1f7a46}
.form-row{display:grid;gap:0 24px}
@media(min-width:640px){.form-row{grid-template-columns:1fr 1fr}}
#form-status{margin-top:16px;font-size:.9375rem}
#form-status a{text-decoration:underline}

/* WhatsApp: always reachable, never covering content controls. */
.wa-float{position:fixed;z-index:70;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:10px;min-height:52px;min-width:52px;justify-content:center;padding:0 18px 0 16px;border-radius:999px;background:#1f7a46;color:#fff;font-size:.875rem;font-weight:500;box-shadow:0 10px 30px rgb(0 0 0/.35);transition:transform .5s var(--ease),background .3s}
.wa-float:hover{background:#18653a;transform:translateY(-2px)}
.wa-float:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:640px){.wa-float{padding:0;width:56px}.wa-float span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
body.menu-open .wa-float,html:has(dialog[open]) .wa-float{display:none}

/* Footer additions */
.footer-hours{font-size:.8125rem;color:#aaa;margin:4px 0 12px;line-height:1.6}
.footer-capabilities{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:baseline;padding-bottom:32px;border-bottom:1px solid #333}
.footer-capabilities h2{font-family:var(--body);font-size:.8125rem;font-weight:500;color:#edeae3;text-transform:none;margin-right:6px}
.footer-capabilities a{font-size:.8125rem;color:#aaa}
.footer-capabilities a:hover{color:#edeae3}
@media(prefers-reduced-motion:reduce){.sector-card-media img,.sector-case-media img,.home-sector-list a,.wa-float,.proof-card{transition:none!important}}
@media(max-width:759px){.proof-card{gap:2px;padding:14px 16px}.proof-card strong{font-size:1.9rem}}
/* Contrast (AA): the brand red #d1182e stays; text placed on it is pure white (5.38:1 instead of 4.48:1),
   and small red text on dark surfaces uses a lighter tint of the same red (4.6:1+). */
.button-red,.closing,.closing .eyebrow,.closing-bottom p,.closing-actions a:not(.button),.proof-on-red .proof-card,.proof-on-red .proof-card small{color:#fff}
.closing-actions .button-light{color:var(--ink)}
.proof-on-red .proof-card small{opacity:1}
.work-window .window-index [role="tab"] span,.work-window .window-index [role="tab"][aria-selected="true"] span{color:#f0455a}
.light .offer-method,.light .offer-note,.offer-detail .offer-note,.offer-detail .offer-note a{color:#4a4943}
@media(max-width:759px){.team-photo{aspect-ratio:4/3}}
/* Light sections fade in from #dbd8cf: muted labels must clear 4.5:1 on that starting tone too. */
.light .eyebrow,.light .fact-list dt,.light .offer-method,.light .sector-case-copy .eyebrow,.light .team-card .eyebrow{color:#4a4943}
/* Small red text: lighter tint on dark surfaces, deeper tint on light ones (accent #d1182e unchanged elsewhere). */
.site-header [aria-current=page],.site-header .dropdown[open]>summary{color:#f0455a}
.light .contact-direct a,.contact-section .contact-direct a{color:#a3112a}
/* Filler copy requested to reserve space: readable, but visibly provisional until replaced. */
.texto-relleno{background:linear-gradient(#ffe35a,#ffe35a) no-repeat 0 100%/100% 2px;cursor:help}
.texto-relleno::after{content:' · relleno';font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:inherit;opacity:.72}
.team-photo .texto-relleno{background:none;color:#4a4943}
/* Narrow desktops: the navigation gained two entries, so it tightens before the mobile menu takes over at 1020px. */
@media(min-width:1021px) and (max-width:1160px){#navigation{gap:10px}#navigation>a,#navigation summary{font-size:.8125rem}#navigation .nav-cta{padding-inline:14px;gap:10px}.brand img{width:140px}}
.sample-photos{display:grid;gap:14px;margin-top:20px}
.sample-photo{aspect-ratio:4/3;border:1px dashed #6b695f;border-radius:var(--premium-radius);display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;font-size:.875rem}
@media(min-width:760px){.sample-photos{grid-template-columns:repeat(3,1fr)}}
.testimonial blockquote{font-size:clamp(1.25rem,2.4vw,1.75rem);line-height:1.45;max-width:46ch;margin:0 0 18px}
.testimonial p:last-child{color:#aaa;font-size:.9375rem}
.offer-terms dd{margin:2px 0 0}

/* ==========================================================================
   Dirección visual «Expediente» + la pieza de «Tablero» (2026-10).
   Five moments only: dossier sheet, offer folder with the advancing piece,
   traced underline, counters with a source stamp, page transitions.
   Motion uses transform and opacity; resting state is always complete.
   ========================================================================== */

/* 1 · The citable answer is a paper sheet from the case file, with its tab. */
.answer-block{position:relative;isolation:isolate;margin-top:56px;padding:clamp(28px,5vw,60px);background:#f7f6f2;color:var(--ink);border:0;border-radius:0 14px 14px 14px;box-shadow:0 30px 60px rgb(0 0 0/.35)}
.answer-block::after{content:'';position:absolute;z-index:-2;inset:0;border-radius:inherit;background:#dedbd2;transform:translate(10px,-8px) rotate(.8deg)}
.answer-block::before{content:'';position:absolute;z-index:-1;inset:0;border-radius:inherit;background:#f7f6f2}
.answer-block .eyebrow{color:#4a4943}
.answer-copy{color:var(--ink);max-width:66ch}
.file-tab{position:absolute;left:0;top:0;transform:translateY(-100%);background:var(--red);color:#fff;font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px 7px;border-radius:8px 8px 0 0;max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.answer-block+section,.answer-block+figure{margin-top:clamp(24px,4vw,48px)}

/* 2 · Offer folder: each stage is a file with a tab; the red piece advances along the rail. */
.offer-board{position:relative}
.offer-rail{position:absolute;left:0;top:0;bottom:0;width:2px;background:#34332d}
.light .offer-rail{background:#cfccc3}
.offer-rail i{position:absolute;left:-8px;top:0;width:18px;height:16px;background:var(--red);clip-path:polygon(0 0,100% 0,50% 100%);will-change:transform}
.offer-board .offer-steps{padding-left:26px;gap:34px}
.offer-step{border-radius:0 var(--premium-radius) var(--premium-radius) var(--premium-radius)}
.offer-step .offer-method{position:absolute;left:-1px;top:0;transform:translateY(-100%);margin:0;background:#34332d;color:#edeae3;padding:6px 12px 5px;border-radius:6px 6px 0 0;font-size:.6875rem;font-weight:600}
.light .offer-step .offer-method{background:var(--ink);color:#edeae3}
.offer-steps.sector-steps{gap:34px;margin-top:22px}
@media(min-width:900px){
  .offer-rail{position:relative;width:auto;height:2px;top:auto;bottom:auto;margin:6px 0 46px}
  .offer-rail i{left:0;top:-7px}
  .offer-board .offer-steps{padding-left:0;gap:20px}
}

/* 3 · Traced underline on the one phrase that matters in a heading. */
.trazo{position:relative;display:inline-block}
.trazo::after{content:'';position:absolute;left:0;right:0;bottom:.04em;height:.09em;background:var(--red);transform-origin:left center;transform:scaleX(1);transition:transform 1.1s var(--ease) .25s}
html.craft-motion :is(h1,h2):not(.is-traced) .trazo::after{transform:scaleX(0)}

/* 4 · Source stamp next to the figures. */
.sello{grid-column:1/-1;justify-self:start;margin-top:6px;border:1.5px solid currentColor;border-radius:4px;padding:6px 10px 5px;font-size:.625rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;transform:rotate(-1.5deg);opacity:.9}
.proof-light .sello{color:#a3112a}
.proof-card strong,.case-metric strong{font-variant-numeric:tabular-nums}

/* 5 · Page transitions (cross-document View Transitions; browsers without support navigate instantly). */
@view-transition{navigation:auto}
@keyframes vt-leave{to{opacity:0;transform:translateY(-10px)}}
@keyframes vt-enter{from{opacity:0;transform:translateY(14px)}}
::view-transition-old(root){animation:.26s ease both vt-leave}
::view-transition-new(root){animation:.5s cubic-bezier(.16,1,.3,1) both vt-enter}
::view-transition-group(*){animation-duration:.6s;animation-timing-function:cubic-bezier(.16,1,.3,1)}
html.motion-paused::view-transition-group(*),html.motion-paused::view-transition-old(*),html.motion-paused::view-transition-new(*){animation:none!important}
@media(prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  .trazo::after{transition:none}
}

/* 5b · Entering a case or a sector: the brand triangle (point down) opens over the page being left and
   the new page opens inside it. The rule lives in the destination document, so only those routes use it.
   Unsupported browsers and reduced motion change page instantly; craft.js cancels it under the manual pause. */
:root:has(.case-study,.sector-intro)::view-transition-group(root){background:var(--red)}
:root:has(.case-study,.sector-intro)::view-transition-old(root){mix-blend-mode:normal;animation:.5s cubic-bezier(.7,0,.3,1) both vt-triangle-cover}
:root:has(.case-study,.sector-intro)::view-transition-new(root){mix-blend-mode:normal;animation:.6s cubic-bezier(.7,0,.2,1) .3s both vt-triangle-open}
@keyframes vt-triangle-cover{
  from{clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,50% 50%,50% 50%,50% 50%,50% 50%)}
  to{clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,-150% -100%,250% -100%,50% 250%,-150% -100%)}
}
@keyframes vt-triangle-open{
  from{clip-path:polygon(50% 50%,50% 50%,50% 50%)}
  to{clip-path:polygon(-150% -100%,250% -100%,50% 250%)}
}

/* Stepped form: the same piece marks the current step. */
.form-progress{margin-bottom:28px}
.form-track{position:relative;height:2px;background:#cfccc3;margin:8px 0 14px}
.form-track i{position:absolute;left:0;top:-7px;width:18px;height:16px;background:var(--red);clip-path:polygon(0 0,100% 0,50% 100%);transition:transform .7s var(--ease)}
.form-progress[data-step="2"] .form-track i{transform:translateX(calc(50cqw))}
.form-progress{container-type:inline-size}
.form-progress ol{list-style:none;display:grid;grid-template-columns:1fr 1fr;padding:0;margin:0;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#4a4943}
.form-progress li[aria-current="step"]{color:var(--ink);font-weight:600}
.form-step-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.form-nav{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.form-back{background:none;border:0;padding:0;font:inherit;font-size:.875rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;color:var(--ink)}
.qualify-form.is-stepped fieldset{animation:step-in .5s var(--ease) both}
@keyframes step-in{from{opacity:0;transform:translateY(12px)}}
@media(prefers-reduced-motion:reduce){.qualify-form.is-stepped fieldset{animation:none}.form-track i{transition:none}}
html.motion-paused .qualify-form.is-stepped fieldset{animation:none}
.qualify-form [hidden]{display:none!important}
@media(max-width:640px){body[data-route="contacto"] .wa-float{display:none}}

/* ==========================================================================
   DIRECCIÓN EDITORIAL (2026-10) · la web como evolución digital del brochure 2026.
   Fuente: 88_Brochure de Servicios_2026.pdf y Logo completo/colorometria.pdf.
   Reglas: negro y blanco plenos que se alternan · rojo oficial #D1182E solo como acento ·
   el degradado vive únicamente en la barra del borde · Bebas espaciada como antetítulo ·
   esquinas rectas, sin sombras, sin desenfoques, sin tarjetas · una idea por pantalla.
   Esta capa sustituye la presentación «Expediente»: conserva su contenido, no sus tarjetas.
   ========================================================================== */
:root{--red:#d1182e;--bg:#000;--ambient:#000;--paper:#fff;--white:#f5f3ef;--ink:#0b0b0b;--line:#2a2a2a;--premium-radius:0px;
  --edge:linear-gradient(180deg,#e84967,#7e6aaa 50%,#1381bc);--pad:clamp(72px,11vw,168px)}
body{background:#000}
main *,header *,footer *,dialog,dialog *{border-radius:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.button,.nav-cta,.menu-toggle,.wa-float,.form-next{border-radius:4px!important}
.site-header{background:#000;border-bottom:1px solid #1c1c1c}
.craft-grain,.craft-cursor,.craft-marquee{display:none!important}
.light{background:#fff;color:var(--ink)}

/* Typography: one voice. Bebas tracked for the set-up line, Bebas large for the pay-off. */
.eyebrow,.hero-topline .eyebrow{font-family:var(--display);font-weight:400;font-size:clamp(.875rem,1.1vw,1.0625rem);letter-spacing:.3em;line-height:1.5;text-transform:uppercase;padding-top:0;max-width:none}
.eyebrow{color:#9a9a9a}
.light .eyebrow,.light .fact-list dt,.light .team-card .eyebrow{color:#3a3a3a}
main h2{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:-.01em;line-height:.92}
.pair{display:grid;gap:clamp(14px,2vw,22px);margin-bottom:clamp(40px,6vw,88px)}
.pair h2{font-size:clamp(3.4rem,10.5vw,10.5rem)}
.pair-foot{display:grid;gap:24px;max-width:56ch;margin-top:clamp(16px,3vw,40px)}
.pair-foot p{font-size:clamp(1.0625rem,1.5vw,1.3125rem);line-height:1.55}
.pair-foot .text-link{justify-self:start}
.trazo::after{display:none}

/* The gradient appears once per light screen: the edge bar from the brochure. */
.light{position:relative}
.light::after{content:'';position:absolute;top:0;bottom:0;right:0;width:clamp(6px,.7vw,12px);background:var(--edge);pointer-events:none}
.hero h1 span,.hero h1 .craft-line span{color:var(--red);background:none;-webkit-background-clip:border-box;background-clip:border-box}

/* 1 · Hero: headline, one line, one action; then the brand film edge to edge. */
.hero-editorial{padding-bottom:0}
.hero-editorial .hero-bottom{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 48px;padding-block:clamp(24px,4vw,48px) clamp(32px,5vw,64px)}
.hero-editorial .hero-bottom p{max-width:30ch;font-size:clamp(1.0625rem,1.6vw,1.375rem);color:#c9c7c0}
.hero-editorial .hero-actions{margin-top:0}
.hero-film{margin:0}
.hero-film-media{position:relative;display:block;width:100%;aspect-ratio:16/9;max-height:92vh;overflow:hidden;background:#000}
.hero-film-media img,.hero-film-media iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.hero-film figcaption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-block:18px;font-size:.8125rem;color:#9a9a9a}
.hero-film figcaption .text-link{background:none;border:0;border-bottom:1px solid #555;color:var(--white);cursor:pointer;font:inherit;font-size:.875rem;margin:0}

/* 2 · Stance · 4 · Offer · 6 · Sectors: white screens with air. */
.stance,.offer-section,.home-sectors,.fit{padding-block:var(--pad)}
.stance .pair{margin-bottom:0}

/* 3 · Work: real projects at three different scales, one figure each. */
.work-editorial{background:#000;padding-top:var(--pad);padding-bottom:clamp(56px,8vw,112px)}
.work-wide{display:block;position:relative}
.work-wide img{width:100%;aspect-ratio:21/9;object-fit:cover;display:block}
.work-wide .work-meta{padding-block:20px 0}
.work-duo{display:grid;gap:clamp(48px,7vw,96px) clamp(24px,5vw,80px);margin-top:clamp(56px,9vw,128px);align-items:start}
.work-tall,.work-square{display:block}
.loop-video{display:block;width:100%;height:auto;background:#0b0b0b;object-fit:cover}
.work-tall .loop-video{aspect-ratio:9/16}
.work-square .loop-video{aspect-ratio:1}
.work-meta{display:grid;gap:8px;padding-top:18px}
.work-meta .eyebrow{margin:0;font-size:.8125rem}
.work-figure{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}
.work-figure strong{font:400 clamp(2.6rem,6vw,5.5rem)/.9 var(--display);letter-spacing:-.01em;color:var(--white)}
.work-figure span{font-size:.9375rem;color:#c9c7c0}
.work-end{margin-top:clamp(48px,7vw,88px)}
@media(max-width:759px){.work-wide img{aspect-ratio:4/3}.work-tall{width:78%}.work-square{width:100%}}
@media(min-width:760px){.work-duo{grid-template-columns:5fr 7fr}.work-square{margin-top:clamp(80px,14vw,220px)}}

/* Offer: three lines, not cards. The red piece keeps moving along the rail. */
.offer-step{border:0;border-top:1px solid currentColor;background:none;padding:28px 0 32px}
.light .offer-step{background:none;border-color:#0b0b0b}
.offer-board .offer-steps,.offer-steps.sector-steps{gap:0;margin-top:0}
.offer-step .offer-method{position:static;transform:none;background:none!important;color:#6b6b6b!important;padding:0;font-family:var(--display);letter-spacing:.3em;font-size:.8125rem;margin-bottom:8px}
/* Sector pages place the three stages on black: the same label needs a lighter grey to stay readable (6.6:1). */
.sector-steps .offer-step .offer-method{color:#a3a3a3!important}
.offer-index{font-size:clamp(2.6rem,5vw,4.5rem);margin-bottom:6px}
.offer-step h3{font-size:clamp(2.2rem,4.6vw,4rem)}
.offer-promise{font-size:1.0625rem;font-weight:400;max-width:34ch}
@media(min-width:900px){
  .offer-board .offer-steps{display:block}
  .offer-board .offer-step{display:grid;grid-template-columns:minmax(90px,1fr) 4fr 5fr;column-gap:32px;align-items:baseline}
  .offer-board .offer-step>.offer-index{grid-row:1/span 6;margin:0}
  .offer-board .offer-step>*{grid-column:2}
  .offer-board .offer-step>.offer-promise{grid-column:3;grid-row:1/span 2;align-self:center;margin:0}
  .offer-board .offer-step>p:not(.offer-method):not(.offer-promise),.offer-board .offer-step>h4,.offer-board .offer-step>ul,.offer-board .offer-step>dl{grid-column:3}
  .offer-rail{display:none}
}
.offer-actions{margin-top:clamp(40px,6vw,72px)}

/* 5 · Figures: the numbers are the graphic. */
.figures{background:#000;padding-block:var(--pad)}
.figure-row{display:grid;gap:48px 32px;margin-top:clamp(32px,5vw,64px)}
.figure{display:grid;min-width:0;gap:6px;align-content:start;border-top:1px solid #333;padding-top:20px}
.figure strong{font:400 clamp(5rem,15vw,13rem)/.82 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--white)}
.figure span{font-size:clamp(1rem,1.4vw,1.25rem);color:var(--white)}
.figure small{font-size:.8125rem;color:#9a9a9a;line-height:1.5}
.figure:hover strong{color:var(--red)}
.figure-source{margin-top:clamp(32px,5vw,56px);font-size:.8125rem;color:#9a9a9a}
@media(min-width:900px){.figure-row{grid-template-columns:repeat(3,1fr)}}

/* 6 · Sector index: typography first; on fine pointers the case photograph follows the cursor. */
.home-sector-list{border-top:1px solid #0b0b0b}
.home-sector-list a{border-bottom:1px solid #0b0b0b;padding:clamp(16px,2.2vw,28px) 0}
.home-sector-list span{font-size:clamp(2.1rem,6.4vw,6rem);line-height:.92}
.home-sector-list small{color:#4a4a4a}
.home-sector-list a:hover{padding-left:0;color:var(--red)}
@media(min-width:900px){.home-sector-list{display:block}.home-sector-list a{display:flex;justify-content:space-between;align-items:baseline;gap:24px}}
.sector-preview{position:fixed;z-index:60;left:0;top:0;width:min(26vw,380px);aspect-ratio:4/5;object-fit:cover;pointer-events:none;opacity:0;will-change:transform,opacity}
@media(hover:none),(max-width:899px){.sector-preview{display:none}}

/* 7 · 88: real type, as in the brochure. */
.postura{background:#000;padding-block:var(--pad)}
.postura-grid{display:grid;gap:clamp(24px,5vw,72px);align-items:end}
.postura-88{font:600 clamp(9rem,34vw,30rem)/.74 var(--body);letter-spacing:-.06em;color:var(--white);margin-left:-.04em}
.postura-copy{display:grid;gap:18px;max-width:46ch}
.postura-copy h2{font-size:clamp(3rem,7vw,6.5rem)}
.postura-copy p:not(.eyebrow){color:#c9c7c0;font-size:1.0625rem;line-height:1.6}
.postura-close{color:var(--white)!important;margin-top:12px}
.postura-copy .text-link{justify-self:start;margin-top:8px}
@media(min-width:1000px){.postura-grid{grid-template-columns:1.1fr 1fr}}

/* 8 · Closing: one sentence and one action on red. */
.closing{padding-block:var(--pad) clamp(56px,8vw,96px)}
.closing .eyebrow{color:#fff;margin-bottom:18px}
.closing h2{font-size:clamp(3.2rem,10.5vw,10.5rem);line-height:.9;margin-bottom:clamp(32px,5vw,64px)}
.closing-actions{margin-top:clamp(28px,4vw,48px)}

/* Proof beside a CTA: a quiet line of figures, no boxes. */
.proof-strip{gap:0;margin-block:0;border-top:1px solid currentColor}
.proof-card{border:0;border-bottom:1px solid currentColor;padding:16px 0;gap:2px}
.proof-card:hover,.proof-light .proof-card:hover{background:none}
.proof-card strong{font-size:clamp(2.2rem,4.5vw,3.5rem)}
.sello{border:0;transform:none;padding:12px 0 0;letter-spacing:.06em;text-transform:none;font-weight:400;font-size:.8125rem;opacity:.85}
.proof-light .sello{color:#4a4a4a}
@media(min-width:760px){.proof-strip{grid-template-columns:repeat(3,1fr);column-gap:32px}.proof-card{border-bottom:0}.proof-stack{grid-template-columns:1fr}.proof-stack .proof-card{border-bottom:1px solid currentColor}}

/* The citable answer: a white screen with large reading text, no sheet, no tab. */
.answer-block{margin:0 auto;padding:clamp(56px,8vw,112px) 0;background:none;color:var(--white);border-top:1px solid #333;border-bottom:1px solid #333}
.answer-block::before,.answer-block::after{display:none}
.file-tab{display:none}
.answer-block .eyebrow{color:#9a9a9a}
.answer-copy{color:var(--white);font-size:clamp(1.25rem,2.4vw,2rem);line-height:1.4;max-width:34em}

/* Flat lists everywhere: no boxes around sectors, cases, situations or team. */
.sector-card,.sector-case{border:0;background:none;color:inherit}
.sector-card-copy,.sector-case-copy{padding:20px 0 0}
.sector-case-copy h3,.sector-card-copy h2{font-size:clamp(2.4rem,5vw,4.5rem)}
.sector-wordmark{padding:0}
.sector-card-media{background:#111}
.light .sector-case-copy p{color:#3a3a3a}
.team-photo{background:#eee}
.sample-photo{border-color:#777}
.sector-links a{border-radius:0!important;border-width:0 0 1px;padding:10px 0;margin-right:28px}
.sector-links a:hover{background:none;color:var(--red);border-color:var(--red)}
.when-grid article{border-left:0;padding-left:0;border-top:1px solid #333;padding-top:18px}

/* «Es para ti si / No es para ti si» (brochure, p. 9). */
.fit-grid{display:grid;gap:clamp(32px,5vw,72px)}
.fit-col h3{font:400 clamp(1.8rem,3.4vw,3rem)/1 var(--display);letter-spacing:.02em;text-transform:uppercase;padding-bottom:16px;border-bottom:1px solid #0b0b0b}
.fit-col ul{list-style:none;padding:0;margin:0}
.fit-col li{padding:16px 0;border-bottom:1px solid #d9d9d9;font-size:clamp(1.0625rem,1.6vw,1.375rem)}
.fit-no h3,.fit-no li{color:#6b6b6b}
.fit-yes h3{color:var(--red)}
@media(min-width:800px){.fit-grid{grid-template-columns:1fr 1fr}}

/* Botones: el estilo vigente está al final, en «MÓDULOS · 11 de octubre». */
.wa-float{background:#0b0b0b;color:#fff;border:1px solid #3a3a3a}
.wa-float:hover{background:var(--red);border-color:var(--red);transform:none}
.wa-float svg{color:#25d366}
.wa-float:hover svg{color:#fff}

/* Footer: fewer layers. */
.footer{background:#000}
.footer-utilities{justify-content:flex-end}
@media(prefers-reduced-motion:reduce){.sector-preview{display:none}}
.hero-film .ambient-status{display:none!important}
@media(min-width:760px){.work-duo{grid-template-columns:4fr 6fr;max-width:1180px}.work-tall .loop-video{max-width:420px}.work-square .loop-video{max-width:640px}.work-square{justify-self:end;width:100%;max-width:640px}}
@media(max-width:759px){.hero-editorial .hero-bottom{display:grid;justify-content:stretch;gap:24px}.hero-editorial .hero-bottom p{max-width:none;padding:0;margin:0}.hero-editorial .hero-actions{display:block}.hero-editorial .hero-actions .button{width:100%}}
.case-metric strong{color:var(--white)}
.proof-on-red .sello{opacity:1;color:#fff}

/* ==========================================================================
   ENERGÍA (2026-10): la evidencia en movimiento. Mismas reglas del brochure,
   más trabajo real a la vista. Cuatro gestos: reel del hero, franja cinética,
   triángulo a gran escala y riel horizontal de proyectos.
   ========================================================================== */

/* Hero reel: the headline sits on hard cuts through real projects. */
.hero-reel{position:relative;isolation:isolate;display:grid;grid-template-rows:1fr auto;min-height:min(100svh,1080px);padding:0;overflow:hidden;background:#000}
.reel-frames{position:absolute;inset:0;z-index:-2}
.reel-frame{position:absolute;inset:0;opacity:0}
.reel-frame.is-active{opacity:1}
.reel-frame img{width:100%;height:100%;object-fit:cover;display:block}
html.craft-motion .reel-frame.is-active img{animation:reel-settle 1.6s cubic-bezier(.16,1,.3,1) both}
@keyframes reel-settle{from{transform:scale(1.07)}to{transform:scale(1)}}
/* Scrim: guarantees the headline's contrast over any photograph. */
.hero-reel::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgb(0 0 0/.72) 0%,rgb(0 0 0/.38) 38%,rgb(0 0 0/.6) 72%,rgb(0 0 0/.88) 100%)}
.hero-reel-copy{align-self:end;padding-top:clamp(96px,14vh,160px);padding-bottom:clamp(20px,3vw,40px)}
.hero-reel h1{font-size:clamp(3.4rem,13.6vw,15rem);line-height:.86;letter-spacing:-.035em;margin-top:clamp(16px,2vw,28px);text-shadow:none}
.hero-reel .hero-topline .eyebrow,.hero-reel .hero-topline span{color:#fff}
.hero-reel .hero-bottom{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 48px;padding-block:clamp(20px,3vw,40px) 0}
.hero-reel .hero-bottom p{max-width:32ch;font-size:clamp(1.0625rem,1.6vw,1.375rem);color:#fff;margin:0;padding:0}
.hero-reel .hero-actions{margin:0}
.reel-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;padding-block:18px 22px;border-top:1px solid rgb(255 255 255/.28);margin-top:clamp(20px,3vw,36px);font-size:.8125rem;color:#fff}
.reel-caption{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 auto 0 0;align-items:baseline}
.reel-name{font:400 1.375rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
.reel-kind{color:#d6d6d6}
.reel-count{font:400 1.375rem/1 var(--display);letter-spacing:.08em;font-variant-numeric:tabular-nums;margin:0}
.reel-toggle,.reel-film{background:none;border:0;border-bottom:1px solid rgb(255 255 255/.6);color:#fff;font:inherit;font-size:.8125rem;padding:6px 0;cursor:pointer;min-height:32px}
.reel-toggle:hover,.reel-film:hover{color:var(--red);border-color:var(--red)}
.reel-toggle:focus-visible,.reel-film:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:759px){.hero-reel .hero-bottom{display:grid}.hero-reel .hero-actions .button{width:100%}.reel-count{display:none}}

/* Kinetic band: the brand line at poster scale, moved by the scroll. */
.kinetic{background:#000;overflow:hidden;padding-block:clamp(28px,5vw,72px);border-bottom:1px solid #1c1c1c}
.kinetic-line{display:flex;gap:.28em;white-space:nowrap;font:400 clamp(4.5rem,17vw,17rem)/.86 var(--display);letter-spacing:-.02em;text-transform:uppercase;color:var(--white);will-change:transform}
.kinetic-back{color:transparent;-webkit-text-stroke:1.5px #5a5a5a;margin-left:-28vw}
.kinetic-back .k-red{-webkit-text-stroke-color:var(--red)}
.k-red{color:var(--red)}
.kinetic-back .k-red{color:transparent}

/* The inverted triangle at large scale: the brand's own shape as the graphic. */
.stance{overflow:hidden}
.stance-mark{display:block;width:min(46vw,300px);aspect-ratio:1/.92;margin:0 0 clamp(32px,6vw,56px) max(20px,calc((100% - 1344px)/2));background:var(--red);clip-path:polygon(0 0,100% 0,50% 100%)}
@media(min-width:1000px){
  .stance-mark{position:absolute;right:clamp(40px,7vw,140px);top:50%;width:min(34vw,560px);margin:0;translate:0 -50%}
  .stance .pair{position:relative;max-width:none}
  .stance .pair h2{max-width:9.5em}
}

/* Work rail: projects side by side at large scale. */
.work-rail{background:#000;padding-block:clamp(72px,9vw,128px) clamp(56px,7vw,96px);overflow:hidden}
.rail-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 32px;margin-bottom:clamp(32px,4vw,56px)}
.rail-head h2{font-size:clamp(3rem,8vw,8rem)}
.rail-track{display:flex;gap:clamp(20px,3vw,48px);padding-inline:max(20px,calc((100vw - 1344px)/2));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.rail-track::-webkit-scrollbar{display:none}
.rail-panel{position:relative;flex:0 0 auto;display:grid;align-content:start;scroll-snap-align:start;color:var(--white)}
.rail-wide{width:min(86vw,880px)}
.rail-tall{width:min(62vw,400px)}
.rail-media{display:block;overflow:hidden;background:#0b0b0b}
.rail-wide .rail-media{aspect-ratio:3/2}
.rail-tall .rail-media{aspect-ratio:9/16}
.rail-media img,.rail-media video{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.rail-panel:hover .rail-media img{transform:scale(1.04)}
.rail-number{position:absolute;z-index:2;left:14px;top:10px;font:400 1.25rem/1 var(--display);letter-spacing:.1em;color:#fff;mix-blend-mode:difference}
.rail-panel .work-figure strong{font-size:clamp(2.8rem,5.5vw,5rem)}
.rail-panel:hover .work-figure strong{color:var(--red)}
.rail-end{width:min(70vw,420px);align-content:center;gap:28px;border-left:1px solid #333;padding-left:clamp(24px,3vw,48px)}
.rail-end-title{font:400 clamp(3rem,6vw,6rem)/.9 var(--display);text-transform:uppercase}
.rail-end .text-link{justify-self:start}
/* Pinned mode (desktop, motion on): the page scroll drives the track. */
.work-rail.is-pinned{min-height:100vh;display:grid;align-content:center;padding-block:96px 40px}
.work-rail.is-pinned .rail-track{overflow:visible;scroll-snap-type:none;width:max-content}
.work-rail.is-pinned .rail-wide{width:min(56vw,860px)}
.work-rail.is-pinned .rail-wide .rail-media{aspect-ratio:auto;height:min(54vh,560px)}
.work-rail.is-pinned .rail-tall{width:auto}
.work-rail.is-pinned .rail-tall .rail-media{aspect-ratio:9/16;height:min(54vh,560px)}
@media(prefers-reduced-motion:reduce){.rail-media img{transition:none}}

/* Figures respond: the number turns red and its case is one click away. */
.figure strong{transition:color .3s}
.hero-reel{min-height:min(calc(100svh - 66px),1040px)}
.hero-reel-copy{padding-top:clamp(48px,8vh,120px)}
.work-rail.is-pinned{padding-block:84px 24px;align-content:start}
.work-rail.is-pinned .rail-head{margin-bottom:clamp(16px,2.4vh,32px)}
.work-rail.is-pinned .rail-head h2{font-size:clamp(2.6rem,7.5vh,5.5rem)}
.work-rail.is-pinned .rail-wide .rail-media,.work-rail.is-pinned .rail-tall .rail-media{height:min(48vh,520px)}
.work-rail.is-pinned .work-figure strong{font-size:clamp(2.4rem,7vh,4.5rem)}
@media(max-width:759px){.reel-caption{flex-basis:100%;margin:0}.reel-bar{gap:10px 24px}}

/* Editorial refinement · 5 October. Photography gets its own stage; type gets breathing room.
   Four gestures: deliberate reel, brand line, portfolio reveal and documented figures. */
.hero-reel{display:block;min-height:0;overflow:clip}
.hero-reel::before{display:none}
.hero-reel-layout{display:grid;grid-template-columns:1.08fr 1fr;min-height:calc(100svh - 90px)}
.hero-reel-copy{display:flex;flex-direction:column;justify-content:center;align-self:stretch;padding:clamp(36px,4vw,64px) clamp(24px,4vw,72px);padding-left:max(24px,calc((100vw - 1344px)/2))}
.hero-reel .hero-topline{display:block;margin-bottom:clamp(24px,2.5vw,36px)}
.hero-reel .hero-topline .eyebrow{font-size:clamp(.8125rem,1vw,1rem);letter-spacing:.23em;line-height:1.7}
.hero-reel .hero-topline>span{display:block;font-size:.75rem;color:#a8a8a8;margin-top:8px}
.hero-reel h1{font-size:clamp(3.5rem,6.3vw,7.5rem);line-height:.98;letter-spacing:-.025em;margin:0;color:var(--white)}
.hero-reel h1 span,.hero-reel h1 .craft-line span{color:var(--white)}
.hero-reel h1::after{content:'';display:block;width:64px;height:3px;background:var(--red);margin-top:28px}
.hero-reel .hero-bottom{display:grid;gap:26px;padding-block:32px 0;align-items:start}
.hero-reel .hero-bottom p{max-width:34ch;font-size:clamp(1rem,1.35vw,1.1875rem);line-height:1.6;color:#b6b6b6}
.hero-reel .hero-actions{justify-self:start}
.hero-explore{align-self:flex-start;margin-top:24px;font-size:.8125rem;color:#a8a8a8;gap:28px}
.hero-reel-gallery{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;background:#111}
.hero-reel-gallery .reel-frames{position:relative;inset:auto;z-index:auto;min-height:480px;overflow:hidden}
.reel-frame{transition:opacity .85s cubic-bezier(.16,1,.3,1)}
.reel-frame img{object-position:center;transform:scale(1.035)}
html.craft-motion .reel-frame.is-active img{animation:reel-settle 5.2s cubic-bezier(.16,1,.3,1) both}
@keyframes reel-settle{from{transform:scale(1.035)}to{transform:scale(1)}}
.reel-bar{position:relative;width:100%;padding:22px 28px;margin:0;border-top:0;background:#111;gap:18px 20px;display:grid;grid-template-columns:1fr auto}
.reel-caption{display:grid;gap:6px;margin:0;grid-column:1}
.reel-name{font-size:1.5rem;letter-spacing:.05em}
.reel-kind{font-size:.75rem;color:#9c9c9c}
.reel-count{grid-row:1;grid-column:2;font-size:1rem;color:#9c9c9c}
.reel-controls{display:flex;align-items:center;gap:12px;grid-column:1}
.reel-arrow,.rail-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;color:inherit;border:1px solid #555;background:transparent;font-size:1.125rem;cursor:pointer;transition:color .2s,background .2s}
.reel-arrow:hover,.rail-controls button:hover{background:var(--white);color:#000}
.reel-arrow:focus-visible,.rail-controls button:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.reel-toggle{margin-left:6px;min-height:44px;font-size:.75rem}
.reel-film{grid-column:2;justify-self:end;min-height:44px;white-space:nowrap;font-size:.75rem}
.kinetic{padding-block:clamp(36px,5vw,72px);border-top:1px solid #222}
.kinetic-line{justify-content:space-between;padding-inline:max(24px,calc((100vw - 1344px)/2));font-size:clamp(3.5rem,10vw,10rem);gap:.3em;line-height:1;white-space:normal}
.stance .pair h2{font-size:clamp(3.5rem,8vw,8rem);max-width:14ch}
.stance .pair-foot{max-width:42ch}
.stance-mark{background:url(portfolio/logo-symbol-red.png) center/contain no-repeat;clip-path:none;border:0;width:220px;aspect-ratio:auto;height:250px;position:relative;transform-origin:center}
.stance-mark::before,.stance-mark::after{display:none}
@media(min-width:1000px){.stance-mark{position:absolute;right:12%;top:50%;width:220px;height:250px;margin:0;translate:0 -50%}.stance .pair-foot{max-width:48ch}}
.work-rail{padding-block:clamp(64px,8vw,120px)}
.rail-head h2{font-size:clamp(3.2rem,7vw,7rem)}
.rail-track{gap:32px;padding-inline:max(24px,calc((100vw - 1344px)/2));scroll-padding-inline:max(24px,calc((100vw - 1344px)/2));overscroll-behavior-x:contain}
.rail-wide{width:min(72vw,760px)}
.rail-tall{width:min(40vw,300px)}
.rail-wide .rail-media{aspect-ratio:4/3}
.rail-tall .rail-media{aspect-ratio:9/16}
.rail-tall .rail-media video{object-position:50% 35%}
.rail-panel .work-meta{padding-top:20px;max-width:100%}
.rail-panel .work-meta .eyebrow{letter-spacing:.15em;font-size:.75rem;line-height:1.6}
.rail-panel .work-figure{gap:10px 20px;align-items:center}
.rail-panel .work-figure strong{font-size:clamp(2.5rem,4.4vw,4rem)}
.rail-panel .work-figure span{font-size:.875rem}
.rail-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:32px;font-size:.8125rem;color:#9c9c9c}
.rail-controls{display:flex;gap:10px;color:var(--white)}
.rail-controls button:disabled{opacity:.25;cursor:default;background:transparent;color:inherit}
.rail-track:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
.offer-section .pair h2,.home-sectors .pair h2{font-size:clamp(3.2rem,8vw,8rem)}
.home-sector-list a{display:grid;grid-template-columns:160px minmax(0,1fr) auto 32px;gap:28px;align-items:center;padding:22px 0}
.home-sector-list .sector-row-media{width:160px;height:112px;font-size:3rem;overflow:hidden;display:grid;place-items:center;background:#eee}
.sector-row-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.home-sector-list .sector-row-title{font-size:clamp(1.8rem,3.5vw,3.4rem);line-height:1.05;max-width:17ch}
.home-sector-list small{font-size:.75rem;max-width:23ch;text-align:right;line-height:1.6}
.home-sector-list .sector-row-arrow{font-size:1.5rem;text-align:right}
.home-sector-list a:hover img,.home-sector-list a:focus-visible img{transform:scale(1.045)}
.postura-88{font-size:clamp(10rem,29vw,27rem)}
@media(max-width:1100px) and (min-width:900px){.hero-reel-copy{padding-inline:28px}.hero-reel h1{font-size:6vw}.hero-explore{margin-top:24px}.home-sector-list a{grid-template-columns:120px minmax(0,1fr) 24px}.home-sector-list .sector-row-media{width:120px;height:90px}.home-sector-list small{display:none}}
@media(max-width:899px){
 .hero-reel-layout{grid-template-columns:1fr;min-height:0}.hero-reel-copy{padding:42px 24px 36px}.hero-reel .hero-topline{margin-bottom:28px}.hero-reel .hero-topline .eyebrow{font-size:.8125rem}.hero-reel .hero-topline>span{margin-top:6px}.hero-reel h1{font-size:clamp(3.4rem,14.2vw,6.5rem);line-height:.96}.hero-reel h1::after{margin-top:24px;width:48px}.hero-reel .hero-bottom{padding-top:24px;gap:22px}.hero-reel .hero-bottom p{max-width:34ch;font-size:1rem}.hero-reel .hero-actions{width:100%}.hero-reel .hero-actions .button{width:100%;justify-content:space-between}.hero-explore{display:none}.hero-reel-gallery .reel-frames{min-height:0;aspect-ratio:4/3}.reel-bar{padding:20px 24px;gap:16px}.reel-count{display:block}.reel-caption{flex-basis:auto}.kinetic-line{font-size:clamp(2.8rem,10vw,5.5rem);padding-inline:24px}.stance-mark{width:110px;height:83px;border-top-width:16px;margin:0 0 36px 24px}.stance-mark::before,.stance-mark::after{top:-16px;width:16px;height:103px}.stance .pair h2{font-size:clamp(3.4rem,11.5vw,6rem)}.rail-track{gap:20px;padding-inline:24px;scroll-padding-inline:24px}.rail-wide{width:85vw}.rail-tall{width:62vw}.rail-panel .work-meta .eyebrow{font-size:.6875rem}.rail-panel .work-figure strong{font-size:2.5rem}.rail-panel .work-figure span{font-size:.8125rem}.rail-footer{font-size:.75rem}.home-sector-list a{grid-template-columns:80px minmax(0,1fr) 20px;gap:16px;padding:18px 0}.home-sector-list .sector-row-media{width:80px;height:80px}.home-sector-list .sector-row-title{font-size:clamp(1.35rem,5.5vw,2rem);max-width:none}.home-sector-list small{grid-column:2;grid-row:2;text-align:left;font-size:.6875rem;margin-top:-10px}.home-sector-list .sector-row-media{grid-row:1/span 2}.home-sector-list .sector-row-arrow{grid-column:3;grid-row:1/span 2;font-size:1.25rem}.postura-88{font-size:clamp(10rem,44vw,22rem)}
}
@media(prefers-reduced-motion:reduce){.reel-frame,.sector-row-media img{transition:none}.reel-frame img{transform:none!important;animation:none!important}}
@media(max-width:899px){.hero-reel h1{font-size:clamp(2.6rem,12vw,5.5rem)}.rail-tall{width:44vw}.stance .pair h2{max-width:none}.stance-mark{border:0;height:130px}}
@media(max-width:380px){.kinetic-line{font-size:10vw}.kinetic-bar{min-width:0}.kinetic-bar>span{overflow-wrap:anywhere}}

/* A stable opening and chapter wayfinding; the collection owns the camera journey.
   The desktop gallery exists only while GSAP owns it; static/mobile content stays normal. */
.home-progress{position:fixed;z-index:90;top:90px;left:0;right:0;height:2px;pointer-events:none}
.home-progress i{display:block;width:100%;height:100%;background:var(--red);transform:scaleX(0);transform-origin:left}
.home-chapters{position:fixed;z-index:45;bottom:22px;left:24px;display:flex;align-items:center;gap:4px;padding:8px 10px;background:#000;color:var(--white);border-top:1px solid #333}
.home-chapters a{display:flex;align-items:center;gap:6px;padding:8px;font:400 .8125rem/1 var(--display);letter-spacing:.08em;min-height:32px;color:#999}
.home-chapters .chapter-name{display:none}
.home-chapters a.is-current{color:var(--white)}
.home-chapters a.is-current .chapter-name{display:inline}
.home-chapters a:hover,.home-chapters a:focus-visible{color:var(--red)}
.home-chapters.on-light{background:#fff;border-color:#ddd;color:#000}
.home-chapters.on-light a{color:#666}
.home-chapters.on-light a.is-current{color:#000}
.home-chapters a:focus-visible{outline:2px solid var(--red);outline-offset:0}
.postura-graphic{position:relative;isolation:isolate;perspective:1000px;padding-block:30px;overflow:hidden}
.postura-board{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.16;color:var(--white);transform-origin:center}
.postura-88{display:flex;justify-content:center;margin:0;letter-spacing:-.055em}
.postura-88 span{display:block}
[data-route=index] .offer-section .offer-step{position:relative}
[data-route=index] .offer-section .offer-step::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .8s cubic-bezier(.16,1,.3,1)}
[data-route=index] .offer-section .offer-step.is-reading::after{transform:scaleX(1)}
[data-route=index] .offer-section .offer-step.is-reading .offer-index{color:var(--red)}
@media(min-width:1000px){
 [data-route=index] .offer-section .offer-main{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(40px,6vw,96px);align-items:start}
 [data-route=index] .offer-section .offer-sticky-column{grid-column:1;grid-row:1;align-self:stretch;min-width:0}
 [data-route=index] .offer-section .pair{position:sticky;top:140px;grid-column:1;grid-row:1;margin-bottom:0}
 [data-route=index] .offer-section .pair h2{font-size:clamp(3.2rem,5.7vw,6rem)}
 [data-route=index] .offer-section .offer-board{grid-column:2;grid-row:1}
 [data-route=index] .offer-section .offer-board .offer-step{display:grid;grid-template-columns:64px 1fr;column-gap:20px;min-height:240px;padding-block:36px;align-content:center}
 [data-route=index] .offer-section .offer-board .offer-step>*{grid-column:2;grid-row:auto}
 [data-route=index] .offer-section .offer-board .offer-step>.offer-index{grid-column:1;grid-row:1/span 4;font-size:3.6rem;align-self:start}
 [data-route=index] .offer-section .offer-board .offer-step>.offer-promise{grid-column:2;grid-row:auto;align-self:auto;margin-top:16px}
 [data-route=index] .offer-section .offer-step h3{font-size:clamp(2.5rem,3.5vw,3.5rem)}
 [data-route=index] .offer-section .offer-actions{grid-column:1/-1;grid-row:2}
}
@media(max-width:1199px){.home-chapters{display:none}}
@media(max-width:1020px){.home-progress{top:74px}}
@media(prefers-reduced-motion:reduce){.postura-board{transform:none!important}.postura-88 span{transform:none!important}.offer-step::after{transition:none!important}}

/* ==========================================================================
   Carrusel coverflow, corredor de diseño y película (2026-10-05).
   Structure from two 21st.dev components chosen by the client; identity from the
   brochure: straight corners, no glow, no blur, Bebas, red #D1182E as the accent.
   ========================================================================== */

/* «Piensa. Mueve. Gana.» over a muted loop of the brand film. */
.kinetic-film{position:relative;isolation:isolate;display:grid;align-content:center;min-height:clamp(320px,56vw,760px);padding-block:clamp(48px,7vw,96px) 0}
.kinetic-video{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.kinetic-film::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgb(0 0 0/.55),rgb(0 0 0/.35) 45%,rgb(0 0 0/.78))}
.kinetic-film .kinetic-line{color:#fff}
.kinetic-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;margin-top:clamp(32px,6vw,88px);padding-block:16px;border-top:1px solid rgb(255 255 255/.3);font-size:.8125rem;color:#fff}
.kinetic-bar .text-link{background:none;border:0;border-bottom:1px solid rgb(255 255 255/.6);color:#fff;font:inherit;font-size:.8125rem;cursor:pointer;margin:0;padding:6px 0}
.kinetic-bar .text-link:hover{color:var(--red);border-color:var(--red)}

/* Coverflow: the centre project faces the viewer; its neighbours turn away. */

.coverflow-head{display:grid;gap:14px;margin-bottom:clamp(28px,4vw,56px)}
.coverflow-head h2{font-size:clamp(3rem,8vw,8rem)}

/* Live mode (JavaScript on): cards stack on one point and take their place by position. */

/* Design corridor: two rails of real work ride toward the viewer (CSS only). */
.design-stream{position:relative;container-type:inline-size;overflow:hidden;background:#000;height:clamp(520px,64vw,900px);border-top:1px solid #1c1c1c}
.stream-space{position:absolute;inset:0;pointer-events:none;perspective:30cqw;perspective-origin:50% 55%}
.stream-rails{position:absolute;inset:0;transform-style:preserve-3d}
.stream-card{position:absolute;left:50%;top:55%;width:18cqw;height:25cqw;margin-left:-9cqw;margin-top:-12.5cqw;overflow:hidden;backface-visibility:hidden;animation:20s linear infinite;background:#111}
.stream-card img{width:100%;height:100%;object-fit:cover;display:block}
.stream-copy{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center;padding-block:clamp(40px,6vw,88px)}
.stream-copy .eyebrow{margin-bottom:14px}
.stream-copy h2{font-size:clamp(3rem,9vw,9rem);text-shadow:0 0 40px #000,0 0 12px #000}
.stream-foot{display:grid;gap:14px;justify-items:center;max-width:48ch}
.stream-foot p{font-size:.9375rem;color:#e6e6e6;text-shadow:0 0 16px #000,0 0 6px #000}
.stream-foot .text-link{margin:0;background:#000;padding:8px 12px;border:1px solid #555}
.design-stream.is-offscreen .stream-card,html.motion-paused .stream-card{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.stream-card{animation-play-state:paused}}
@media(max-width:759px){.design-stream{height:118vw;min-height:460px}}

/* 88 media direction: real photography, complete artwork and legible documents.
   The brand lives in the frame/caption, never painted over the client's identity. */
.local-film{margin:0;min-width:0}
.local-media-stage{position:relative;overflow:hidden;background:#000;aspect-ratio:16/9}
.local-preview{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.local-play{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 16px;background:#000;border:1px solid #777;color:#fff;font-size:.75rem}
.local-play:hover{background:var(--red);border-color:var(--red)}
.local-film>figcaption{display:flex;align-items:center;gap:12px;border-top:1px solid #333;padding:14px 0;min-height:64px}
.local-film>figcaption h3{font-size:.875rem;line-height:1.5;font-weight:500}
.local-film>figcaption p{font-size:.75rem;color:#b5b5b5;line-height:1.5}
.light .local-film>figcaption{border-color:#ccc}.light .local-film>figcaption p{color:#555}
.local-film[data-format=vertical] .local-media-stage{aspect-ratio:9/16;max-height:520px}
.cap-detail-evidence .local-film[data-format=vertical] .local-media-stage{aspect-ratio:auto;height:460px}
.cap-detail-evidence .local-film[data-format=wide] .local-media-stage{aspect-ratio:16/10}
.native-library{padding-block:80px;border-bottom:1px solid #333}
.native-library .section-heading{margin-bottom:40px}.native-library .section-heading>p{max-width:32ch}
.native-reel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}
.native-reel-grid .local-media-stage{height:440px;aspect-ratio:auto}
.native-reel-grid .local-film[data-format=wide] .local-media-stage{height:auto;aspect-ratio:16/9}
.native-more{margin-top:36px;border-top:1px solid #333}.native-more summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:56px;padding-block:18px;font-size:.875rem}.native-more summary::-webkit-details-marker{display:none}.native-more[open] summary span{transform:rotate(45deg)}.native-more .native-reel-grid{padding-top:24px}
.case-archive-first{margin-top:0;padding-top:56px;padding-bottom:72px;border-top:0}
.case-gallery-film .local-media-stage,.case-gallery-film[data-format=vertical] .local-media-stage{height:clamp(260px,30vw,420px);aspect-ratio:auto}
.brand-media>.local-preview{position:relative;display:block;width:100%;height:clamp(340px,40vw,600px);object-fit:contain}
.case-hero-media>.local-preview{background:#000}
.video-frame>video{display:block;width:100%;height:100%;max-height:72vh;object-fit:contain;background:#000}
.document-text-link{display:inline-flex;gap:20px;align-items:center;min-height:44px;margin-top:22px;font-size:.75rem;border-bottom:1px solid #777}
.cover-project-stage{font-size:.875rem;color:#bbb;padding-block:12px}
@media(max-width:640px){.native-reel-grid{grid-template-columns:1fr 1fr;gap:24px 16px}.native-reel-grid .local-media-stage{height:280px}.native-reel-grid .local-film[data-format=wide]{grid-column:1/-1}.local-film>figcaption h3{font-size:.75rem}.local-film>figcaption p{font-size:.6875rem}.local-play{left:8px;bottom:8px;padding:8px 10px;font-size:.6875rem;gap:8px}.local-film>figcaption{gap:8px;align-items:flex-start}.local-film>figcaption .media-signature{flex-basis:14px;height:18px}.cap-detail-evidence .local-film[data-format=vertical] .local-media-stage{height:340px}.brand-media>.local-preview{height:340px}.native-library{padding-block:48px}.case-archive-first{padding-top:40px;padding-bottom:48px}}
.portfolio-networks{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;padding-block:16px;border-block:1px solid #333}
.portfolio-networks>p{margin:0;color:#b5b5b5;font-size:.8125rem}
.portfolio-network-links{display:flex;flex-wrap:wrap;gap:16px 32px}
.portfolio-network-links .text-link{display:flex;align-items:center;gap:28px;min-height:44px;margin:0;font-size:.875rem}
img[data-media="photo"]{object-position:var(--image-focus,50% 50%)}
.brand-media{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:0;overflow:hidden;background:transparent;aspect-ratio:auto}
.brand-media::after,.brand-media::before{display:none!important}
.brand-media>img{position:relative;top:auto;left:auto;width:100%;height:clamp(300px,34vw,540px);max-height:none;object-fit:cover;display:block}
.brand-media .brand-caption{position:relative;inset:auto;z-index:2;display:flex;align-items:center;gap:12px;min-height:54px;padding:14px 0 0;margin:0;border-top:1px solid #333;background:transparent;color:#b5b5b5;font-family:var(--body);font-size:.75rem;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none}
.media-signature{display:block;flex:0 0 18px;height:23px;background:url(portfolio/logo-symbol-red.png) center/contain no-repeat}
.brand-caption .media-index{color:#888;font:400 .8125rem/1 var(--display);letter-spacing:.1em}
.brand-caption .brand-caption-text{color:inherit;flex:1;min-width:0}
.mockup-original{display:flex;align-items:center;gap:12px;min-height:44px;width:fit-content;text-decoration:underline;text-underline-offset:4px}
.mockup-original:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.has-mockup .project-feature-copy .mockup-disclosure{font-size:.75rem;color:#aaa;margin:0;grid-column:2;grid-row:2}
.has-mockup .project-feature-copy>.text-link:not(.mockup-original){grid-row:3}
.has-mockup .project-feature-copy>.mockup-original{grid-row:4}
@media(max-width:640px){.has-mockup .project-feature-copy{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-block:24px}.has-mockup .project-feature-copy>p:not(.eyebrow),.has-mockup .project-feature-copy>.text-link{align-self:auto;justify-self:auto;margin:0;text-align:left}.has-mockup .project-feature-copy h3{margin:0}}
.brand-caption .media-enlarge{display:grid;place-items:center;width:44px;min-width:44px;height:44px;margin-left:auto;border:1px solid #444;color:var(--white);font-size:1.125rem}
.brand-caption .media-enlarge:hover,.brand-caption .media-enlarge:focus-visible{background:var(--red);border-color:var(--red);color:#fff}
.brand-caption .media-enlarge:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.light .brand-caption{color:#555;border-color:#ccc}
.light .brand-caption .media-enlarge{color:#111;border-color:#bbb}
.light .brand-caption .media-enlarge:hover{color:#fff}
.brand-media>img[data-media="art"],.brand-media>img[data-media="document"]{object-fit:contain;background:var(--media-backdrop,#f5f3ef);padding:clamp(12px,1.2vw,20px)}
.route-visual.brand-media{height:auto;min-height:0;max-height:none;align-self:center}
.route-visual.brand-media>img{height:clamp(320px,35vw,540px)}
[data-route=jugadas-ganadoras] .route-visual.brand-media{height:auto}
.case-hero-media.brand-media{aspect-ratio:auto;align-self:center}
.case-hero-media.brand-media>img{height:clamp(340px,40vw,600px)}
.case-hero-media.brand-media>img[data-media="art"]{height:auto;aspect-ratio:16/10;padding:0}
.case-hero-media.brand-media.native-portrait-art>img[data-media="art"]{height:clamp(360px,40vw,520px);aspect-ratio:auto;object-fit:contain}
.case-gallery-item.brand-media,.case-gallery-item.brand-media:nth-child(3),.case-gallery-item.brand-media:last-child{aspect-ratio:auto}
.case-gallery-item.brand-media>img{height:clamp(260px,30vw,420px)}
.case-gallery-item.brand-media .brand-caption{padding-top:12px;font-size:.75rem}
.cap-detail-evidence.brand-media{padding:0;background:transparent}
.cap-detail-evidence.brand-media>img{height:clamp(320px,34vw,500px);max-height:none}
.cap-detail-evidence.brand-media .document-inspect{height:clamp(320px,34vw,500px);padding:18px;background:#f5f3ef}
.cap-detail-evidence.brand-media .document-inspect>img{width:100%;height:100%;object-fit:contain;transform:none!important}
.cap-detail-evidence.brand-media .brand-caption{padding:14px 0 0}
.cap-content-layout .document-preview.brand-media>.brand-caption{color:#b5b5b5}
.light .cap-content-layout .document-preview.brand-media>.brand-caption{color:#555}
.case-study .case-hero-copy>.eyebrow,.case-study .case-story-heading>.eyebrow,.case-study .case-results .eyebrow,.case-study .case-story-number{color:color-mix(in srgb,var(--case-accent) 65%,white)}
.case-study .case-outcomes li span{color:var(--white)}
@media(max-width:640px){.case-study .case-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study .case-metric{min-width:0}.case-study .case-metric h3,.case-study .case-metric p{overflow-wrap:anywhere}}
.case-study .case-source-note{color:#aaa}
.sector-hero-media.brand-media{aspect-ratio:auto}
.sector-hero-media.brand-media>img{height:clamp(350px,50vw,720px)}
.sector-portfolio .brand-media>img{height:clamp(240px,28vw,390px);aspect-ratio:auto}
.studio-gallery .brand-media>img,.studio-gallery .brand-media:nth-child(2)>img{height:clamp(300px,35vw,500px)}
.studio-gallery .brand-caption{font-family:var(--body);font-size:.75rem;padding-top:14px}
.project-feature-media>img[data-media="art"],.research-composition>img[data-media="art"],.research-composition>img[data-media="document"],.portfolio-inline>img[data-media="art"],.visual-selection-card img[data-media="art"],.case-mosaic-media img[data-media="art"],.sector-card-media img[data-media="art"],.sector-case-media img[data-media="art"]{object-fit:contain!important;background:var(--media-backdrop,#f5f3ef);padding:16px}
.visual-selection-card>div{aspect-ratio:4/3;background:#f5f3ef}
.visual-selection-card>div:has(img[data-orientation="portrait"]){aspect-ratio:4/5;max-height:560px}
.visual-selection-card img[data-media="photo"]{object-fit:contain;background:#000}
.visual-selection-enlarge.text-link{display:flex;align-items:center;gap:24px;justify-self:start;min-height:44px;font-size:.75rem;margin-top:8px}
.visual-selection-card img[data-media="art"]{transform:none!important}
.visual-selection-card:nth-child(2),.visual-selection-card:nth-child(3){margin-top:32px}
.visual-selection-heading>p:last-child{max-width:30ch}
.stream-card img[data-media="art"],.stream-card img[data-media="document"]{object-fit:contain;background:var(--media-backdrop,#f5f3ef)}
.stream-card{border-top:2px solid var(--red)}

.route-intro .intro-copy{max-width:38ch;line-height:1.65}
.route-intro,[data-route=jugadas-ganadoras] .route-intro{grid-template-columns:1fr 1fr;gap:40px;min-height:0;padding-block:64px 72px}
.route-intro h1{font-size:clamp(3.2rem,5.5vw,6rem)}
.route-visual.brand-media>img[data-media="art"]{height:auto;aspect-ratio:16/10}
.brand-media img[data-media="document"],.document-inspect>img[data-media="document"]{background:var(--media-backdrop,#f5f3ef)}
.case-story-block p:last-child{max-width:44ch}
@media(max-width:640px){
 .route-visual.brand-media>img,.case-hero-media.brand-media>img{height:320px}.brand-media .brand-caption{min-height:48px;padding-top:10px;font-size:.6875rem;gap:10px}.brand-caption .media-enlarge{width:44px;min-width:44px}.case-gallery-item.brand-media>img{height:310px}.cap-detail-evidence.brand-media>img,.cap-detail-evidence.brand-media .document-inspect{height:300px}.sector-hero-media.brand-media>img{height:340px}.sector-portfolio .brand-media>img{height:300px}.studio-gallery .brand-media>img,.studio-gallery .brand-media:nth-child(2)>img{height:230px}.studio-gallery .brand-media:first-child>img{height:300px}.visual-selection-card:nth-child(2),.visual-selection-card:nth-child(3){margin-top:0}
 .route-intro,[data-route=jugadas-ganadoras] .route-intro{grid-template-columns:1fr;gap:32px;padding-block:40px 48px}.route-intro h1{font-size:clamp(3rem,12vw,4.5rem)}
}

/* 7 October: user-selected masthead reference. A fine color rule is the only new
   gradient exception on black. Three selected openings, not every service heading.
   Real text and source order remain intact; the word is never cropped or stretched. */
.editorial-masthead{--editorial-size:clamp(7rem,24vw,20rem);min-width:0}
.editorial-masthead--long{--editorial-size:clamp(5rem,16.1vw,14rem)}
.editorial-masthead>.eyebrow{margin:0 0 20px;color:#bbb;font-size:.75rem}
.editorial-masthead .editorial-title{display:grid;grid-template-columns:minmax(0,.26fr) minmax(0,.74fr);align-items:end;gap:0 32px;margin:0;letter-spacing:-.02em;max-width:none;font:400 1rem/1 var(--display);text-transform:uppercase}
.editorial-title>.editorial-prefix{position:relative;display:block;padding-left:22px;padding-block:8px;max-width:16ch;font:400 clamp(1.65rem,2.6vw,2.7rem)/1.08 var(--display);letter-spacing:0}
.editorial-prefix::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,var(--brand-pink),var(--brand-violet) 50%,var(--brand-blue))}
.editorial-title>.editorial-word{display:block;min-width:0;font:400 var(--editorial-size)/.88 var(--display);letter-spacing:-.025em;white-space:nowrap;color:var(--white)}
.editorial-title>.editorial-tail{grid-column:2;margin-top:16px;font:400 clamp(1.4rem,2.4vw,2rem)/1.1 var(--display);letter-spacing:0;color:#bbb}
.editorial-intro{display:grid;grid-template-columns:minmax(0,.28fr) minmax(0,.72fr);gap:32px 40px;align-items:center;min-height:0;padding-block:48px 64px}
.editorial-intro>.editorial-masthead{grid-column:1/-1}
.editorial-description{font-size:1rem;line-height:1.7;color:#bbb;max-width:38ch;margin:0;min-width:0}
.editorial-intro .route-visual.brand-media>img{height:auto;aspect-ratio:16/9;object-fit:cover}
.editorial-intro--capabilities{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.editorial-intro--capabilities .editorial-description{max-width:44ch;align-self:end;padding-bottom:62px}
.editorial-intro--capabilities .route-visual.brand-media>img{aspect-ratio:16/10}
.editorial-intro--work .editorial-description{border-top:1px solid #333;padding-top:20px}
@media(min-width:1600px){.editorial-masthead{--editorial-size:22rem}.editorial-masthead--long{--editorial-size:15rem}}
@media(max-width:1000px){.editorial-masthead .editorial-title{gap:0 24px}.editorial-title>.editorial-prefix{padding-left:16px;font-size:1.7rem}.editorial-intro{gap:28px;grid-template-columns:minmax(0,.4fr) minmax(0,.6fr)}}
@media(max-width:760px){
 .editorial-masthead{--editorial-size:clamp(5.5rem,25vw,11rem)}
 .editorial-masthead--long{--editorial-size:clamp(3.3rem,17vw,7rem)}
 .editorial-masthead>.eyebrow{margin-bottom:18px;font-size:.6875rem}
 .editorial-masthead .editorial-title{grid-template-columns:1fr;gap:18px}
 .editorial-title>.editorial-prefix{font-size:1.5rem;max-width:none;padding-block:0;padding-left:16px}
 .editorial-prefix::before{top:0;bottom:0}
 .editorial-prefix br{display:none}
 .editorial-title>.editorial-tail{grid-column:1;margin-top:0;font-size:1.25rem}
 .editorial-intro,.editorial-intro--capabilities{grid-template-columns:1fr;gap:24px;padding-block:32px 44px}
 .editorial-intro .route-visual{grid-row:2}
 .editorial-intro--capabilities .editorial-description{padding-bottom:0;max-width:44ch}
 .editorial-description{font-size:.9375rem;max-width:none}
}
/* Narrow-screen QA: do not let an unbreakable service name push its chess icon out. */
@media(max-width:360px){.cap-detail-header>div{min-width:0}.cap-detail-header{gap:12px}.cap-detail-header h2{font-size:2.6rem;overflow-wrap:anywhere}.native-reel-grid>.local-film{min-width:0}.native-reel-grid .local-film[data-format=vertical] .local-media-stage{height:auto;aspect-ratio:9/16}}

/* Home offer chapter: one quiet visual entry to the set, with honest placeholder media. */
.home-set{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;align-items:center;border-top:1px solid #bbb;margin-top:clamp(48px,6vw,80px);padding-top:clamp(40px,5vw,64px);scroll-margin-top:calc(var(--header-height) + 24px)}
.home-set-copy{min-width:0}
.home-set-copy>.eyebrow{margin-bottom:22px}
.home-set-copy h2{font:400 clamp(2.8rem,4.5vw,4.5rem)/.98 var(--display);letter-spacing:-.02em;max-width:15ch}
.home-set-copy>p:not(.eyebrow){max-width:34ch;font-size:1rem;line-height:1.7;color:#444;margin-top:22px}
.home-set-copy>.button{margin-top:28px}
.home-set-copy>.home-set-note{font-size:.75rem!important;max-width:42ch}
.home-set-media.brand-media>img{height:auto;aspect-ratio:16/9;object-fit:contain;background:#fff;transform:none!important}
.home-set .home-set-media .brand-caption{font-size:.8125rem}
.home-set .set-original{display:inline-flex;align-items:center;min-height:44px;font:400 .875rem/1.5 var(--utility);text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.home-set{grid-template-columns:1fr;gap:24px;margin-top:44px;padding-top:36px}.home-set-copy h2{font-size:clamp(2.8rem,9vw,3.6rem)}.home-set-copy>.eyebrow{margin-bottom:18px}.home-set-copy>p:not(.eyebrow){font-size:.9375rem;max-width:none;margin-top:18px}.home-set-copy>.button{margin-top:22px}.home-set-copy>.home-set-note{max-width:none}.home-set-media .brand-caption{font-size:.6875rem;line-height:1.6}}
/* Direction A · Galería clara. Real artwork, calm camera, meaningful bright/dark rhythm.
   Bebas is the brand display, Poppins the narrative voice, native UI the quiet support. */
:root{--utility:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.site-header nav,.menu-toggle,.reel-controls,.reel-film{font-family:var(--utility)}
.home-chapters{background:#fff;border:1px solid #ddd;color:#111;box-shadow:none}
.home-chapters a{color:#666}.home-chapters a.is-current,.home-chapters a[aria-current]{color:#111}

[data-route="index"] .hero-reel{background:#fff;color:#111}
[data-route="index"] .hero-reel h1,[data-route="index"] .hero-reel h1 span,[data-route="index"] .hero-reel h1 .craft-line span{color:#111}
[data-route="index"] .hero-reel .hero-topline .eyebrow{color:#555}
[data-route="index"] .hero-reel .hero-topline>span,[data-route="index"] .hero-reel .hero-bottom p{color:#555}
[data-route="index"] .hero-explore{color:#111;border-color:#aaa}
[data-route="index"] .reel-frame[data-name="KADI Eventos"] img{object-fit:contain;background:#120f0b}
[data-route="caso-kadi"] .case-hero-media img{object-fit:contain!important;background:#120f0b}

[data-route="index"] .home-sectors .pair h2{font:600 clamp(2.4rem,4.8vw,4.8rem)/1.07 var(--utility);letter-spacing:-.04em;text-transform:none}
[data-route="index"] .coverflow-head h2{font-size:clamp(2.8rem,5vw,5rem)}

/* First cover: the philosophy becomes a short, finite motion piece in real HTML.
   The heading/action are never hidden. Static CSS is the complete final composition. */
.philosophy-hero{background:#fff;color:#111;min-height:calc(100svh - 90px);padding:26px 0 48px;display:grid;grid-template-rows:auto minmax(290px,1fr) auto;overflow:hidden}
.philosophy-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;font:400 .75rem/1.5 var(--utility);color:#555}
.philosophy-meta p{margin:0}.philosophy-controls{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.philosophy-controls button{border:0;border-bottom:1px solid #aaa;background:none;padding:8px 0;min-height:44px;font:inherit;color:#444;cursor:pointer}
.philosophy-controls button[hidden]{display:none}
.philosophy-stage{position:relative;width:100%;height:clamp(290px,42svh,430px);align-self:center;margin-block:10px 12px}
.philosophy-phrases{position:absolute;top:12px;left:20px;right:20px;height:52px;text-align:center;font:500 clamp(1.15rem,2.3vw,2rem)/1.2 var(--utility);letter-spacing:-.035em;color:#111}
.philosophy-phrases span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0}
.philosophy-phrases span:last-child{opacity:1}
.philosophy-world{position:absolute;inset:72px 20px 0;perspective:1000px;transform-style:preserve-3d}
.philosophy-board{position:absolute;width:260px;height:260px;left:calc(50% - 130px);top:4px;background:repeating-linear-gradient(0deg,transparent 0 calc(12.5% - 1px),#dedede calc(12.5% - 1px) 12.5%),repeating-linear-gradient(90deg,transparent 0 calc(12.5% - 1px),#dedede calc(12.5% - 1px) 12.5%);border:1px solid #dedede;transform:rotateX(38deg);transform-origin:center;opacity:.7}
.philosophy-board svg{width:100%;height:100%;overflow:visible}
.philosophy-route{fill:none;stroke:var(--red);stroke-width:2;stroke-linecap:square;stroke-dasharray:650;stroke-dashoffset:0}
.philosophy-piece{position:absolute;left:calc(50% - 36px);top:64px;width:72px;height:120px;object-fit:contain;transform:rotateX(-38deg)}
.philosophy-sample{position:absolute;top:26px;left:calc(50% - 115px);width:230px;margin:0;transform-origin:center;backface-visibility:hidden}
.philosophy-sample img{width:100%;height:158px;display:block;object-fit:cover}
.philosophy-sample img[data-media="art"]{object-fit:contain;background:#f7f6f2}
.philosophy-sample figcaption{margin-top:9px;font:400 .6875rem/1.4 var(--utility);color:#555}
.philosophy-research{transform:translateX(-275px) rotate(-3deg)}
.philosophy-production{transform:translateX(275px) rotate(3deg)}
.philosophy-close{text-align:center;position:relative;z-index:2}
.philosophy-close h1{font:400 clamp(2.6rem,4.4vw,4.8rem)/.98 var(--display);letter-spacing:-.025em;margin:0 0 20px;color:#111}
.philosophy-close h1 span{color:#111}
.philosophy-method{display:flex;align-items:center;justify-content:center;gap:22px;list-style:none;margin:0 0 24px;padding:0;font:400 .8125rem/1.4 var(--utility);color:#555}
.philosophy-method li{border-top:2px solid #ddd;padding-top:8px;transition:border-color .2s}
.philosophy-method li.is-active{border-color:var(--red);color:#111}
.philosophy-hero .button{font-family:var(--utility)}
@media(max-width:899px){.philosophy-hero{min-height:calc(100svh - 74px);padding-block:12px 32px}.philosophy-stage{height:300px;margin-block:8px}.philosophy-meta{font-size:.625rem}.philosophy-controls{gap:10px}.philosophy-world{inset:65px 10px 0}.philosophy-board{width:180px;height:180px;left:calc(50% - 90px);top:30px}.philosophy-piece{width:38px;height:63px;left:calc(50% - 19px);top:66px}.philosophy-sample{width:160px;left:calc(50% - 80px);top:40px}.philosophy-sample img{height:115px}.philosophy-research{transform:translateX(-150px) rotate(-3deg)}.philosophy-production{transform:translateX(150px) rotate(3deg)}.philosophy-close h1{font-size:clamp(2.5rem,7vw,4.5rem)}}
@media(max-width:640px){.philosophy-stage{height:264px}.philosophy-meta{align-items:flex-start}.philosophy-meta p{max-width:130px;padding-top:10px}.philosophy-controls{max-width:175px}.philosophy-phrases{top:4px;height:45px}.philosophy-world{inset:52px 0 0}.philosophy-sample{width:135px;left:calc(50% - 67.5px);top:40px}.philosophy-sample img{height:110px}.philosophy-research{transform:translateX(-86px) rotate(-3deg);z-index:2}.philosophy-production{transform:translateX(86px) rotate(3deg);z-index:2}.philosophy-board{width:165px;height:165px;left:calc(50% - 82.5px);top:52px;opacity:.5}.philosophy-piece{top:55px;width:34px;height:57px;left:calc(50% - 17px)}.philosophy-close h1{font-size:clamp(2.4rem,11vw,4rem);margin-bottom:18px}.philosophy-method{gap:14px;font-size:.6875rem;margin-bottom:22px}.philosophy-hero .button{min-height:48px;font-size:.6875rem}.philosophy-sample figcaption{font-size:.625rem}}
@media(max-width:360px){.philosophy-sample{width:115px;left:calc(50% - 57.5px)}.philosophy-sample img{height:98px}.philosophy-research{transform:translateX(-75px) rotate(-3deg)}.philosophy-production{transform:translateX(75px) rotate(3deg)}.philosophy-close h1{font-size:11vw}.philosophy-method{gap:10px}}
/* Portrait source stays complete; the supplied red chess piece is not redrawn. */
.opening-in-view .home-chapters,.opening-in-view .wa-float{visibility:hidden;pointer-events:none}
.philosophy-piece{transform:none;z-index:3;top:58px}
.philosophy-production{width:180px;left:calc(50% - 90px);top:8px}
.philosophy-production img{height:220px;object-fit:contain}
@media(max-width:899px){.philosophy-piece{top:70px}.philosophy-production{width:150px;left:calc(50% - 75px);top:15px}.philosophy-production img{height:180px}}
@media(max-width:640px){.philosophy-piece{top:92px;width:48px;height:80px;left:calc(50% - 24px)}.philosophy-production{width:120px;left:calc(50% - 60px);top:16px}.philosophy-production img{height:166px}.philosophy-research{transform:translateX(-100px) rotate(-3deg)}.philosophy-production{transform:translateX(100px) rotate(3deg)}}
@media(max-width:360px){.philosophy-piece{width:44px;height:73px;left:calc(50% - 22px)}.philosophy-production{width:110px;left:calc(50% - 55px)}.philosophy-research{transform:translateX(-82px) rotate(-3deg)}.philosophy-production{transform:translateX(82px) rotate(3deg)}}

/* Portada · manifiesto audiovisual (aprobado el 10 de octubre). El video ocupa la pantalla; el título y la acción,
   como texto real, van en una barra al pie. El video se recorta como mucho un 6.5 % por lado, que es el margen
   seguro de la pieza: en pantallas más anchas que eso queda centrado sobre negro en lugar de cortar texto. */
.manifesto-hero{--bar:96px;background:#0b0b0b;color:#fff}
.manifesto-stage{position:relative;overflow:hidden;margin-inline:auto;background:#0b0b0b;height:min(calc(100svh - 92px - var(--bar)),56.25vw);width:min(100%,calc((100svh - 92px - var(--bar))*2.04))}
.manifesto-poster,.manifesto-poster img,.manifesto-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.manifesto-video{z-index:1}
.manifesto-static{position:absolute;z-index:2;right:16px;top:16px;min-height:44px;padding:8px 14px;border:0;background:#0b0b0b;color:#fff;font:400 .75rem/1.2 var(--utility);cursor:pointer}
.manifesto-static[hidden]{display:none}
.manifesto-bar{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;min-height:var(--bar);padding-block:14px}
.manifesto-meta{margin:0 0 6px;font:400 .6875rem/1.4 var(--utility);letter-spacing:.04em;color:#b5b5b5}
.manifesto-bar h1{margin:0;font:400 clamp(1.75rem,2.9vw,3rem)/1 var(--display);letter-spacing:-.01em;text-transform:uppercase;color:#fff}
.manifesto-bar h1 br{display:none}
.manifesto-bar h1 span{margin-left:.26em;color:var(--red)}
.manifesto-hero .button{flex:none;font-family:var(--utility)}
@media(max-width:759.98px){
  .manifesto-stage{width:100%;height:min(177.78vw,max(calc(100svh - 74px - 176px),160vw))}
  .manifesto-bar{flex-direction:column;align-items:flex-start;padding-block:18px 28px}
  .manifesto-bar h1{font-size:clamp(2.4rem,11.5vw,3.4rem);line-height:.95}
  .manifesto-bar h1 br{display:inline}
  .manifesto-bar h1 span{margin-left:0}
}

/* ==========================================================================
   CAPACIDADES, JUGADAS Y PORTAFOLIO · 10 de octubre de 2026 (petición del cliente).
   Capacidades gana peso y los sectores viven dentro de ella, como una lista corta.
   Jugadas ganadoras se lee de un vistazo: una jugada por pantalla, y el resto del trabajo
   en un portafolio sin historia. Misma identidad: negro y blanco plenos que se alternan,
   rojo solo como acento, Bebas para la voz, esquinas rectas, sin sombras ni tarjetas.
   ========================================================================== */

/* 1 · Jugadas: cada una ocupa la pantalla. En escritorio la siguiente sube y cubre a la anterior (solo CSS). */
.plays-index{display:flex;flex-wrap:wrap;gap:0 clamp(16px,2.2vw,32px);padding-block:0 clamp(28px,4vw,48px);font:400 .8125rem/1.3 var(--utility)}
.plays-index a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#c9c7c0;text-decoration:none}
.plays-index a span{font:400 .8125rem/1 var(--display);letter-spacing:.14em;color:#ff5c70}
.plays-index a:hover{color:#fff}
.plays-index .plays-index-more{color:#fff;border-bottom:1px solid var(--red);min-height:0;align-self:center;padding-block:4px}
.plays{--head:92px;background:#000}
.play{display:grid;background:#000;color:#fff}
.play.light{background:#fff;color:var(--ink)}
.play-media{display:block;position:relative;aspect-ratio:15/13;overflow:hidden;background:#0b0b0b}
.play-media img,.play-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:none}
.play-media img[data-media="art"]{object-fit:contain;background:var(--media-backdrop,#f5f3ef)}
.play-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:clamp(12px,1.6vh,20px);padding:32px 20px 48px}
.play-copy>*{margin:0}
.play-count{font:400 1rem/1 var(--display);letter-spacing:.3em;color:#a3a3a3}
.play.light .play-count{color:#555}
.play-count span{color:#ff5c70}
.play.light .play-count span{color:#b3142a}
.play h2{font-size:clamp(3.2rem,14vw,4.8rem);line-height:.9}
.play-line{max-width:24ch;font-size:clamp(1.125rem,1.7vw,1.5rem);line-height:1.3}
.play-figure{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.play-figure strong{font:400 clamp(3rem,6vw,5.4rem)/.9 var(--display);letter-spacing:-.01em;color:var(--red)}
.play-figure span{max-width:18ch;font:400 .9375rem/1.35 var(--utility)}
.play-figure-text span{max-width:none;font:400 .875rem/1.5 var(--display);letter-spacing:.24em;text-transform:uppercase;color:#a3a3a3}
.play.light .play-figure-text span{color:#555}
.play .button{margin-top:8px}
@media(min-width:900px){
  .play{grid-template-columns:minmax(0,42fr) minmax(0,58fr);min-height:calc(100svh - var(--head))}
  .play-media{order:2;aspect-ratio:auto;min-height:calc(100svh - var(--head))}
  .play.light .play-media{order:0}
  .play-copy{padding:clamp(32px,4.5vw,80px)}
  .play h2{font-size:clamp(3.6rem,min(7.4vw,13vh),8.4rem)}
}
@media(min-width:900px) and (min-height:620px){.plays .play{position:sticky;top:var(--head)}}
@media(max-width:1020px){.plays{--head:80px}}

/* 2 · Portafolio: trabajo sin historia. Columnas que respetan la proporción de cada pieza. */
.folio{padding-block:var(--pad)}
.folio-head{display:grid;gap:16px;margin-bottom:clamp(24px,4vw,48px)}
.folio-head .pair{margin-bottom:0}
.folio-head>p{max-width:40ch;font-size:clamp(1.0625rem,1.4vw,1.25rem);line-height:1.45}
@media(min-width:900px){.folio-head{grid-template-columns:minmax(0,1fr) auto;align-items:end}}
.folio-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(24px,3vw,40px)}
.folio-filters button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border:1px solid #111;background:#fff;color:#111;font:400 .875rem/1 var(--utility);cursor:pointer}
.folio-filters button span{font-size:.75rem;color:#5c5c5c}
.folio-filters button[aria-pressed="true"]{background:#111;color:#fff}
.folio-filters button[aria-pressed="true"] span{color:#d6d6d6}
.folio-grid{list-style:none;margin:0;padding:0;columns:2;column-gap:clamp(12px,1.6vw,24px)}
@media(min-width:700px){.folio-grid{columns:3}}
@media(min-width:1100px){.folio-grid{columns:4}}
.folio-item{break-inside:avoid;margin:0 0 clamp(20px,2.4vw,36px)}
.folio-item[hidden]{display:none}
.folio-media{display:block;position:relative;width:100%;padding:0;border:0;background:#efefef;color:inherit;cursor:pointer;overflow:hidden}
.folio-media img,.folio-media video{display:block;width:100%;height:auto;transition:transform .9s var(--ease)}
.folio-media:hover img,.folio-media:hover video{transform:scale(1.03)}
.folio-play{position:absolute;left:10px;bottom:10px;display:grid;place-items:center;width:36px;height:36px;background:var(--red);color:#fff;font-size:.6875rem;line-height:1}
.folio-label{display:grid;gap:2px;margin:10px 0 0}
.folio-label strong{font:400 1.25rem/1.1 var(--display);letter-spacing:.02em;text-transform:uppercase}
.folio-label span,.folio-label .mockup-original{font:400 .8125rem/1.4 var(--utility);color:#555}
.folio-label .mockup-original{justify-self:start;border-bottom:1px solid #999;text-decoration:none}
.folio-grid.is-filtering .folio-item{animation:folio-in .5s var(--ease) both}
@keyframes folio-in{from{opacity:0;transform:translateY(14px)}}
.folio-networks{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 24px;margin-top:clamp(32px,4vw,56px);padding-top:20px;border-top:1px solid #d5d5d5}
.folio-networks p{margin:0 auto 0 0;font:400 .875rem/1.5 var(--display);letter-spacing:.24em;text-transform:uppercase;color:#3a3a3a}

/* 3 · Política y gobierno: un lugar propio al final, sin imágenes. */
.politics{padding-block:clamp(72px,9vw,128px);background:#000;color:#fff}
.politics-grid{display:grid;gap:clamp(28px,5vw,72px)}
@media(min-width:960px){.politics-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}}
.politics h2{font-size:clamp(2.4rem,4.6vw,4.4rem);margin:10px 0 18px}
.politics-grid>div>p:not(.eyebrow){max-width:40ch;margin:0 0 20px;color:#c9c7c0}
.politics-list{border-top:1px solid #2a2a2a}
.politics-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 20px;align-items:baseline;padding:18px 0;border-bottom:1px solid #2a2a2a;color:inherit;text-decoration:none}
.politics-list a>*{grid-column:1}
.politics-list a>span[aria-hidden]{grid-column:2;grid-row:1}
.politics-name{font:400 clamp(1.5rem,2.4vw,2.2rem)/1 var(--display);text-transform:uppercase}
.politics-list small{font:400 .8125rem/1.4 var(--utility);color:#a3a3a3}
.politics-figure{font:400 .875rem/1.4 var(--utility);color:#d8d6cf}
.politics-figure strong{font:400 1.25rem/1 var(--display);letter-spacing:.02em;color:#fff}
.politics-list a:hover .politics-name{color:#ff5c70}

/* 5 · Sectores: una lista corta. Siguen teniendo su página; aquí solo se enlazan. */
.where{padding-block:clamp(56px,8vw,112px)}
.where-grid{display:grid;gap:clamp(28px,5vw,72px)}
@media(min-width:960px){.where-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start}}
.where h2{margin:10px 0 18px;font-size:clamp(2.2rem,4vw,3.6rem);line-height:.95}
.where-copy>p:not(.eyebrow){max-width:38ch;font-size:1rem;line-height:1.55}
.where-places{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:20px}
.where-list{border-top:1px solid #111}
.where-list a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:4px 20px;align-items:baseline;padding:15px 0;border-bottom:1px solid #d5d5d5;color:inherit;text-decoration:none}
.where-name{font:400 clamp(1.25rem,1.9vw,1.75rem)/1.1 var(--display);letter-spacing:.01em;text-transform:uppercase}
.where-list small{font:400 .8125rem/1.4 var(--utility);color:#555}
.where-list a:hover .where-name{color:var(--red)}
@media(max-width:599px){.where-list a{grid-template-columns:minmax(0,1fr) auto}.where-list small{grid-column:1;grid-row:2}}
.where-index{padding-top:0}
.where-index .where-places{margin-top:28px}

/* Inicio: los sectores, una línea al pie de las capacidades. */
.home-where{display:grid;gap:8px;margin-top:clamp(28px,4vw,48px)}
.home-where-links{display:flex;flex-wrap:wrap;gap:4px 22px;margin:0;font:400 .9375rem/1.5 var(--utility)}
.home-where-links a{display:inline-flex;align-items:center;min-height:36px;border-bottom:1px solid #b5b5b5;color:#2a2a2a;text-decoration:none}
.home-where-links a:hover{color:var(--red);border-color:var(--red)}

/* Menú de Capacidades: los sectores como línea secundaria. */
.menu-links .menu-sectors{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 18px;padding-top:14px}
.menu-sectors p{width:100%;margin:0 0 2px;font:400 .75rem/1.4 var(--display);letter-spacing:.24em;text-transform:uppercase;color:#a3a3a3}
.menu-links .menu-sectors a{min-height:36px;margin:0;padding:6px 0;border-bottom:0;font-size:.8125rem;color:#c9c7c0}
.menu-links .menu-sectors a:first-child{grid-column:auto}

/* 6 · Páginas de sector: mismo texto, la mitad de pantallas. */
.sector-intro-split{display:grid;gap:clamp(24px,4vw,56px);align-items:end}
.sector-intro-split h1{font-size:clamp(2.8rem,5.6vw,5.8rem);line-height:.92}
@media(min-width:900px){.sector-intro-split{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}}
.sector-intro-media{margin:0}
.sector-intro-media>img{display:block;width:100%;height:auto;max-height:58vh;object-fit:cover}
.sector-page .section{padding-block:clamp(56px,8vw,104px)}
.sector-page .section-heading{margin-bottom:clamp(28px,4vw,48px)}
.sector-stages{border-top:1px solid #2a2a2a}
.sector-stage{border-bottom:1px solid #2a2a2a}
.sector-stage summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 18px;align-items:baseline;padding:18px 0;cursor:pointer;list-style:none}
.sector-stage summary::-webkit-details-marker{display:none}
.sector-stage-name{font:400 clamp(1.5rem,2.6vw,2.4rem)/1 var(--display);text-transform:uppercase}
.sector-stage .offer-method{grid-column:2;grid-row:2;margin:0;color:#a3a3a3}
.sector-stage-sign{grid-column:3;grid-row:1;font-size:1.25rem;transition:transform .4s var(--ease)}
.sector-stage[open] .sector-stage-sign{transform:rotate(45deg)}
.sector-stage .offer-list{max-width:64ch;margin:0;padding:0 0 24px}

/* 7 · Caso: reto, decisión y resultado a la vista; la historia completa, a un clic. */
.case-steps{padding-block:clamp(64px,9vw,128px)}
.case-steps-heading{display:grid;gap:14px;margin-bottom:clamp(32px,5vw,64px)}
.case-steps-heading h2{max-width:16ch;font-size:clamp(2.8rem,6.4vw,6.4rem)}
.case-step-list{list-style:none;display:grid;margin:0;padding:0}
.case-step{display:grid;align-content:start;gap:12px;padding:24px 0 clamp(28px,4vw,40px);border-top:2px solid var(--case-accent,var(--red))}
@media(min-width:900px){.case-step-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}}
.case-step>*{margin:0}
.case-step-number{font:400 clamp(2.4rem,4vw,3.6rem)/.9 var(--display);color:#fff}
.case-step h3{font:600 clamp(1.25rem,1.7vw,1.5rem)/1.2 var(--body);letter-spacing:0;text-transform:none}
.case-step>p:not(.eyebrow){font-size:1rem;line-height:1.55;color:#c9c7c0}
.case-step-figures{display:grid;gap:20px}
.case-step-figures .case-metric{display:grid;gap:2px;margin:0;padding:0;border:0;background:none;min-height:0}
.case-step-figures .case-metric strong{font:400 clamp(2.8rem,4.6vw,4.4rem)/.9 var(--display);letter-spacing:-.01em;color:#fff}
.case-step-figures .case-metric-label{margin:4px 0 0;font:600 1rem/1.3 var(--body)}
.case-step-figures .case-metric p:not(.case-metric-label){margin:0;font-size:.875rem;line-height:1.45;color:#a3a3a3}
.case-steps .case-source-note{margin-top:clamp(20px,3vw,32px)}
.case-more{margin-top:clamp(32px,4vw,56px);border-top:1px solid #111;border-bottom:1px solid #d5d5d5}
.case-more summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;cursor:pointer;list-style:none;font:400 clamp(1.25rem,2vw,1.75rem)/1 var(--display);letter-spacing:.04em;text-transform:uppercase}
.case-more summary::-webkit-details-marker{display:none}
.case-more summary span{transition:transform .4s var(--ease)}
.case-more[open] summary span{transform:rotate(45deg)}
.case-more-body{display:grid;gap:clamp(28px,4vw,56px);padding-block:20px clamp(28px,4vw,48px)}
.case-more-story{display:grid;gap:28px}
@media(min-width:800px){.case-more-story{grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px)}}
.case-more-body h3{margin:6px 0 8px;font:600 1.125rem/1.25 var(--body);letter-spacing:0;text-transform:none}
.case-more-body p:not(.eyebrow){margin:0;max-width:60ch;font-size:1rem;line-height:1.6}
.case-more-focus>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:24px;margin-top:12px}
.case-more-focus ul,.case-more-outcomes ol{margin:0;padding:0;list-style:none;font-size:.9375rem;line-height:1.65;color:#333}
.case-more-outcomes ol{display:grid;gap:6px;margin-top:12px;max-width:70ch}
.case-learning .case-more{grid-column:1/-1}
/* Sector: dos casos comparten fila; uno solo no ocupa más de media pantalla. */
.sector-page .answer-block{padding-block:clamp(32px,5vw,56px)}
.sector-page .sector-case-media{max-height:440px}
@media(min-width:900px){
  .sector-page .sector-cases:has(.sector-case:nth-child(2)){grid-template-columns:1fr 1fr}
  .sector-page .sector-cases:has(.sector-case:nth-child(2)) .sector-case{grid-template-columns:1fr;align-content:start}
  .sector-page .sector-cases:has(.sector-case:nth-child(2)) .sector-case-media{aspect-ratio:16/10;min-height:0}
}
@media(max-width:759px){.plays-index{display:none}}
/* Sello «Ochenta & Ocho Politics»: logotipo aportado, sin recolorear. Su nombre es negro, así que va sobre panel blanco. */
.politics-seal{display:inline-block;margin:0 0 clamp(18px,2.4vw,28px);padding:12px 16px;background:#fff;line-height:0}
.politics-seal img{display:block;width:168px;height:auto}
/* Portada: si el teléfono impide el arranque automático del video, un toque lo inicia. */
.manifesto-play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:12px 22px;border:0;border-radius:4px!important;background:var(--red);color:#fff;font:600 .9375rem/1 var(--utility);cursor:pointer}
.manifesto-play[hidden]{display:none}

/* ==========================================================================
   ENCUADRES · 10 de octubre (petición del cliente): cada imagen y cada video entra completo o con un
   recorte pensado. Nada vertical ampliado dentro de una caja ancha, nada flotando entre bandas.
   ========================================================================== */
/* Jugadas: el medio ocupa siempre la columna ancha, también en las pantallas claras. */
@media(min-width:900px){.play.light{grid-template-columns:minmax(0,58fr) minmax(0,42fr)}}
/* Caso · portada: el video de la jugada, ya encuadrado; una fotografía vertical conserva su formato. */
.case-hero-media.brand-media>video.case-hero-loop{display:block;width:100%;height:auto;aspect-ratio:15/13;max-height:74vh;object-fit:cover;background:#0b0b0b}
.case-hero-media.brand-media.is-portrait{justify-self:end;width:min(100%,calc(74vh*.8))}
.case-hero-media.brand-media.is-portrait>img{height:auto;aspect-ratio:4/5;object-fit:cover}
/* Caso · galería: filas de piezas completas a la misma altura. */
.case-gallery.case-rows{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(16px,2vw,32px);padding:clamp(24px,3vw,48px)}
.case-row{display:flex;align-items:flex-start;gap:clamp(12px,1.6vw,24px);width:calc(var(--fill,1)*100%)}
.case-row>figure{flex:var(--r,1.5) 1 0%;min-width:0;margin:0}
.case-rows .case-gallery-item{grid-column:auto;aspect-ratio:auto;overflow:visible;background:none}
.case-rows .case-gallery-item::after{display:none}
.case-rows .case-gallery-item.brand-media>img{display:block;width:100%;height:auto;aspect-ratio:var(--r);object-fit:cover;padding:0}
.case-rows .case-gallery-film .local-media-stage,.case-rows .case-gallery-film[data-format=vertical] .local-media-stage{height:auto;max-height:none;aspect-ratio:var(--r)}
.case-rows .case-gallery-film video{width:100%;height:100%;object-fit:cover}
@media(max-width:759px){
  .case-gallery.case-rows{padding:24px 20px}
  .case-row{flex-direction:column;width:100%}
  .case-row>figure{flex:none;width:100%}
  .case-row>figure[data-portrait]{width:74%}
}
/* Tarjetas de caso (sectores, Tepic): portada horizontal con altura acotada. */
.sector-case-media{max-height:440px}
/* Carrusel del inicio: el video vertical llena la tarjeta; el arte descansa sobre su propio fondo. */

/* Caso · portada de arte: la caja toma la proporción de la pieza, sin bandas. */
.case-play .case-hero-media.brand-media>img[data-media="art"]{aspect-ratio:auto;height:auto}
/* Pie: en teléfono las tres listas de enlaces empiezan cerradas; el pie pasa de tres pantallas y media a una y media. */
.footer-group summary{list-style:none}
.footer-group summary::-webkit-details-marker{display:none}
@media(min-width:700px){.footer-group summary{pointer-events:none}}
@media(max-width:699px){
  .footer-grid .footer-group{grid-column:1/-1;border-bottom:1px solid #2a2a2a}
  .footer-grid .footer-group:first-child{border-top:1px solid #2a2a2a}
  .footer-grid{gap:0 24px}
  .footer-grid>div:last-child{margin-top:32px}
  .footer-group summary{display:flex;align-items:center;justify-content:space-between;min-height:56px;cursor:pointer}
  .footer-grid .footer-group summary h2{margin:0;font-size:.9375rem}
  .footer-group summary::after{content:'+';color:#edeae3;font:400 1.25rem/1 var(--utility)}
  .footer-group[open] summary::after{content:'−'}
  .footer-group[open]{padding-bottom:14px}
  .footer-grid .footer-group a{font-size:.9375rem;margin-bottom:14px}
}

/* ==========================================================================
   LEGIBILIDAD · 10 de octubre. Medido en teléfono: había rótulos a 10 y 11 px. Ninguno baja ya de 12 px
   y las frases completas no bajan de 13 px. Se fija aquí, en un solo sitio, por encima de las capas anteriores.
   ========================================================================== */
.manifesto-meta,.editorial-masthead .eyebrow,
.case-meta li,.local-play,.mockup-original,.media-index,.offer-method,.home-set-note{font-size:max(.75rem,12px)!important}
.brand-caption-text,.local-film>figcaption p,.case-source-note,.closing small,.proof-strip small,.figures small,.figure-source,.sector-case-copy li{font-size:max(.8125rem,13px)!important;line-height:1.45}
.local-film>figcaption h3{font-size:max(.875rem,14px)!important}
@media(max-width:699px){
  .folio-label span,.politics-list small,.where-list small{font-size:.8125rem}
}
/* La etiqueta de etapa (Entender, Decidir…) se leía a 3.9:1 sobre negro: gris claro en fondos negros, oscuro en blancos. */
.offer-board .offer-step .offer-method{color:#a3a3a3!important}
.light .offer-board .offer-step .offer-method{color:#5c5c5c!important}
/* Encuadres, segunda pasada: video vertical sin bandas en Capacidades; piezas completas en Nosotros y en sectores. */
.studio-gallery .brand-media>img{height:auto;aspect-ratio:3/2;object-fit:cover}
.sector-portfolio img{aspect-ratio:16/9;height:auto}
/* Nosotros: los datos de la empresa se leen como ficha, en dos columnas y con letra de lectura. */
.fact-list{display:grid;gap:0 clamp(28px,4vw,64px)}
@media(min-width:800px){.fact-list{grid-template-columns:1fr 1fr}}
.fact-list>div{display:grid;gap:4px;padding:16px 0}
.fact-list dd{margin:0;font-size:clamp(1rem,1.25vw,1.125rem);line-height:1.4}

/* Nosotros · equipo y alianzas con relleno visible mientras llega el material (seis perfiles, seis aliados). */
.team-grid.team-profiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,40px) clamp(16px,2.4vw,32px)}
@media(min-width:800px){.team-grid.team-profiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.team-portrait{display:grid;place-items:center;aspect-ratio:4/5;background-color:#0b0b0b;background-image:linear-gradient(#242424 1px,transparent 1px),linear-gradient(90deg,#242424 1px,transparent 1px);background-size:12.5% 12.5%;color:#fff}
.team-portrait span{font:400 clamp(3rem,7vw,6rem)/1 var(--display);letter-spacing:.02em}
.team-pending .team-portrait span{color:#6b6b6b}
.team-card>.texto-relleno{font-size:.75rem}
.team-pending h3,.team-pending p{margin:0}
.allies{padding-block:clamp(64px,9vw,128px);background:#000;color:#fff}
.allies-grid{display:grid;gap:clamp(28px,5vw,72px)}
@media(min-width:960px){.allies-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}}
.allies h2{margin:10px 0 18px;font-size:clamp(2.6rem,5.4vw,5.4rem)}
.allies-grid>div>p:not(.eyebrow){max-width:40ch;margin:0;color:#c9c7c0}
.ally-list{border-top:1px solid #2a2a2a}
.ally{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2px 18px;align-items:baseline;padding:16px 0;border-bottom:1px solid #2a2a2a;color:inherit;text-decoration:none}
.ally>span:first-child{font:400 .875rem/1 var(--display);letter-spacing:.2em;color:#ff5c70}
.ally strong{font:400 clamp(1.5rem,2.4vw,2.2rem)/1.1 var(--display);text-transform:uppercase}
.ally small{grid-column:2;font:400 .8125rem/1.4 var(--utility);color:#a3a3a3}
.ally-pending strong,.ally-pending small{color:#8a8a8a}
a.ally:hover strong{color:#ff5c70}

/* ==========================================================================
   CAPACIDADES · SISTEMA DE PRODUCTO (10 de octubre, noche). El cliente pidió subir la sección «a nivel
   apple.com»: la versión anterior apilaba bloques densos con columnas que no alineaban.
   Reglas: una idea por pantalla · retícula de 12 columnas · escala de espacios 8/16/24/32/48/64/96/128 ·
   titulares Bebas, frases en Poppins grande, grises de lectura · barra local fija · el trabajo real grande
   y sin recortes. La identidad no cambia: negro y blanco plenos, rojo solo acento, esquinas rectas, sin sombras.
   Sin JavaScript o con el movimiento en pausa todo se lee apilado; el movimiento solo añade la coreografía.
   ========================================================================== */
:root{--cp-nav:52px;--cp-grey:#a1a1a6;--cp-ink-grey:#6e6e73;--cp-line:#2c2c2e;--cp-ink-line:#d2d2d7}

/* Barra local: título, saltos y la acción, fijos bajo la cabecera. La línea roja mide el avance de la página. */
.cp-nav{position:sticky;top:var(--header-height,92px);z-index:6;background:#000;border-bottom:1px solid #1f1f1f;color:#fff}
.cp-nav-inner{display:flex;align-items:center;gap:clamp(16px,2.4vw,40px);width:calc(100% - 112px);max-width:1344px;height:var(--cp-nav);margin-inline:auto}
.cp-nav-title{flex:none;color:#fff;font:400 1.375rem/1 var(--display);letter-spacing:.02em;text-transform:uppercase;text-decoration:none}
.cp-nav-links{display:flex;gap:clamp(14px,1.8vw,28px);margin-left:auto;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.cp-nav-links::-webkit-scrollbar{display:none}
.cp-nav-links a{display:inline-flex;align-items:center;gap:6px;height:var(--cp-nav);color:var(--cp-grey);font:400 .8125rem/1 var(--utility);text-decoration:none;transition:color .3s var(--ease)}
.cp-nav-links a span{font:400 .75rem/1 var(--display);letter-spacing:.14em;color:#8e8e93}
.cp-nav-links a:hover,.cp-nav-links a[aria-current="true"]{color:#fff}
.cp-nav-links a[aria-current="true"] span{color:#ff5c70}
.cp-nav-cta{flex:none;display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:4px!important;background:var(--red);color:#fff;font:500 .8125rem/1 var(--utility);text-decoration:none}
.cp-nav-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:0 50%}
@media(max-width:1199px){.cp-nav-inner{width:calc(100% - 72px)}}
@media(max-width:899px){.cp-nav-inner{width:calc(100% - 40px);gap:14px}.cp-nav-title,.cp-nav-cta{display:none}.cp-nav-links{flex:1;margin-left:0}}

/* Escena de una capacidad (lectura apilada: teléfono, pausa o sin JavaScript). */
.cp-stage{background:#000}
.cp-rail{display:none}
.cp-scene{display:grid;background:#000;color:#fff}
.cp-scene.light{background:#fff;color:#0b0b0b}
.cp-media{display:block;position:relative;aspect-ratio:16/11;overflow:hidden;background:#0b0b0b}
.cp-media img,.cp-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:none}
.cp-copy{display:grid;align-content:center;gap:clamp(16px,2.2vh,24px);padding:clamp(32px,7vw,64px) 20px clamp(56px,10vw,96px)}
.cp-copy>*{margin:0}
.cp-count{display:flex;align-items:center;gap:10px;font:400 .9375rem/1 var(--display);letter-spacing:.3em;color:var(--cp-grey)}
.light .cp-count{color:var(--cp-ink-grey)}
.cp-count span{color:#ff5c70}
.light .cp-count span{color:#b3142a}
.cp-count img{width:auto;height:26px;margin-left:6px}
.cp-scene h2{font-size:clamp(2.6rem,10vw,4rem);line-height:.92}
.cp-line{max-width:22ch;font:400 clamp(1.375rem,2vw,1.875rem)/1.15 var(--body);letter-spacing:-.012em;color:#f5f5f7;text-wrap:balance}
.light .cp-line{color:#1d1d1f}
.cp-promise{max-width:38ch;font:400 clamp(1rem,1.15vw,1.125rem)/1.45 var(--body);color:var(--cp-grey)}
.light .cp-promise{color:var(--cp-ink-grey)}

.cp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
/* Pantallas amplias: arriba, título, promesa y trabajo; abajo, una fila de tres columnas (para quién, qué incluye, prueba y salidas). */
@media(min-width:960px){
  .cp-scene{grid-template-columns:minmax(0,6.4fr) minmax(0,5.6fr);grid-template-rows:auto auto 1fr auto;column-gap:clamp(32px,5vw,80px);align-items:start;padding:clamp(64px,8vw,120px) max(56px,calc((100% - 1344px)/2))}
  .cp-copy{display:contents}
  .cp-count{grid-column:1;grid-row:1;margin-bottom:clamp(14px,2.2vh,24px)}
  .cp-scene h2{grid-column:1;grid-row:2;margin-bottom:clamp(14px,2.2vh,24px);font-size:clamp(2.8rem,4.4vw,4.6rem)}
  .cp-line{grid-column:1;grid-row:3;margin-bottom:clamp(8px,1.4vh,14px)}
  .cp-promise{grid-column:1;grid-row:4}
  .cp-media{grid-column:2;grid-row:1/5;align-self:center;aspect-ratio:15/13}
}

/* Escena anclada (pantallas amplias, movimiento activo): el encuadre se queda y el desplazamiento cambia de capacidad. */
.cp-stage.is-live{--seg:84vh;--sticky:calc(100svh - var(--header-height,92px) - var(--cp-nav));height:calc(var(--sticky) + var(--seg)*var(--cp-count,6))}
.is-live .cp-stage-sticky{position:sticky;top:calc(var(--header-height,92px) + var(--cp-nav));display:grid;grid-template-columns:minmax(0,2.3fr) minmax(0,9.7fr);gap:clamp(24px,3vw,48px);width:calc(100% - 112px);max-width:1344px;height:var(--sticky);margin-inline:auto;overflow:hidden}
.is-live .cp-rail{position:relative;display:grid;align-content:center;list-style:none;margin:0;padding:0}
.is-live .cp-rail a{display:flex;align-items:baseline;gap:12px;padding:11px 0;color:#8e8e93;font:400 clamp(1.125rem,1.5vw,1.4rem)/1.1 var(--display);letter-spacing:.02em;text-transform:uppercase;text-decoration:none;transition:color .4s var(--ease),transform .5s var(--ease)}
.is-live .cp-rail a span{font-size:.75rem;letter-spacing:.2em}
.is-live .cp-rail a:hover{color:#d2d2d7}
.is-live .cp-rail li.is-active a{color:#fff;transform:translateX(10px)}
.is-live .cp-rail li.is-active a span{color:#ff5c70}
.is-live .cp-rail li{position:relative}
.is-live .cp-rail li::before{content:'';position:absolute;left:-2px;top:50%;margin-top:-4px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid var(--red);opacity:0;transform:translateX(-8px);transition:opacity .4s var(--ease),transform .5s var(--ease)}
.is-live .cp-rail li.is-active::before{opacity:1;transform:none}
.is-live .cp-scenes{position:relative}
.is-live .cp-scene{position:absolute;inset:0;grid-template-rows:auto auto auto auto;align-content:center;padding:0;background:transparent;color:#fff;opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility 0s .45s}
.is-live .cp-scene.is-active{opacity:1;visibility:visible;transition:opacity .6s var(--ease) .08s,visibility 0s}
.is-live .cp-media{width:min(100%,calc(var(--sticky)*.54))}
.is-live .cp-count,.is-live .cp-scene h2{margin-bottom:clamp(10px,1.8vh,20px)}
.is-live .cp-media>*{transform:scale(1.07);transition:transform 1.4s var(--ease)}
.is-live .is-active .cp-media>*{transform:none}
.is-live .cp-scene h2{font-size:clamp(2.2rem,min(3.9vw,6vh),4.2rem)}
.is-live .cp-line{font-size:clamp(1.1875rem,min(1.9vw,3.3vh),1.75rem);margin-bottom:clamp(8px,1.4vh,14px)}
.is-live .cp-promise{max-width:40ch;font-size:clamp(.9375rem,min(1.1vw,2vh),1.0625rem)}
.is-live .cp-copy>*{opacity:0;transform:translateY(22px);transition:opacity .35s var(--ease),transform .35s var(--ease)}
.is-live .is-active .cp-copy>*{opacity:1;transform:none;transition:opacity .6s var(--ease),transform .8s var(--ease);transition-delay:calc(.14s + var(--i,0)*.06s)}
.cp-copy>:nth-child(2){--i:1}.cp-copy>:nth-child(3){--i:2}.cp-copy>:nth-child(4){--i:3}.cp-copy>:nth-child(5){--i:4}.cp-copy>:nth-child(6){--i:5}
.is-live .cp-media{opacity:0;transition:opacity .35s var(--ease)}
.is-live .is-active .cp-media{opacity:1;transition:opacity .7s var(--ease) .2s}
@media(max-width:1199px){.is-live .cp-stage-sticky{width:calc(100% - 72px)}}

/* Página de una capacidad. */
.cpx,.cp-hero{--gutter:clamp(20px,5vw,72px)}
.cp-hero{padding:clamp(40px,7vw,104px) 0 0;text-align:center}
.cp-hero-copy{display:grid;justify-items:center;gap:clamp(14px,2vw,24px)}
.cp-hero-copy>*{margin:0}
.cp-hero h1{max-width:13ch;font-size:clamp(3.4rem,9.4vw,9.6rem);line-height:.88}
.cp-hero-line{max-width:26ch;font:400 clamp(1.375rem,2.4vw,2.125rem)/1.15 var(--body);letter-spacing:-.012em;color:#f5f5f7;text-wrap:balance}
.cp-hero-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 28px;margin-top:8px}
.cp-hero-media{position:relative;width:min(calc(100% - var(--gutter)*2),calc(78vh*var(--r,1.1538)),1344px);aspect-ratio:var(--r,1.1538);margin:clamp(40px,6vw,88px) auto 0;overflow:hidden;background:#0b0b0b}
.cp-hero-media img,.cp-hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cp-say{padding-block:clamp(80px,12vw,184px)}
.cp-say .wrap{display:grid;gap:20px;max-width:1080px}
.cp-say-lead{max-width:24ch;margin:0;font:500 clamp(1.75rem,3.6vw,3.375rem)/1.1 var(--body);letter-spacing:-.018em;color:#f5f5f7;text-wrap:balance}
.cp-say .cp-say-copy{max-width:62ch;margin:0;font:400 clamp(1.0625rem,1.5vw,1.375rem)/1.5 var(--body);letter-spacing:-.003em;color:var(--cp-grey)}
.cp-three,.cp-spec,.cp-method,.cp-proofx{padding-block:clamp(72px,10vw,160px)}
.cp-three-list{list-style:none;display:grid;margin:0;padding:0;border-top:1px solid #0b0b0b}
.cp-three-list li{display:grid;align-content:start;gap:clamp(14px,2vw,28px);padding:clamp(20px,2.4vw,32px) 0;border-bottom:1px solid var(--cp-ink-line)}
.cp-three-list span{font:400 clamp(2.4rem,4vw,3.6rem)/.9 var(--display);color:var(--red)}
.cp-three-list p{margin:0;font:500 clamp(1.25rem,1.9vw,1.75rem)/1.25 var(--body);letter-spacing:-.005em}
@media(min-width:860px){
  .cp-three-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px);border-top:0}
  .cp-three-list li{border-top:1px solid #0b0b0b;border-bottom:0}
}
.cp-gets{display:grid;gap:8px;max-width:52ch;margin:clamp(32px,5vw,64px) 0 0;font:400 clamp(1.0625rem,1.4vw,1.25rem)/1.45 var(--body);color:#1d1d1f}
.cp-gets span,.cp-related p{font:400 .8125rem/1.5 var(--display);letter-spacing:.26em;text-transform:uppercase;color:var(--cp-ink-grey)}
.cp-spec-rows{border-top:1px solid var(--cp-line)}
.cp-spec-row{display:grid;gap:14px 32px;padding:clamp(24px,3.4vw,48px) 0;border-bottom:1px solid var(--cp-line)}
.cp-spec-row h3{margin:0;font:400 clamp(2rem,3.6vw,3.4rem)/.95 var(--display);letter-spacing:0;text-transform:uppercase}
.cp-spec-row ul{list-style:none;display:grid;gap:12px 40px;margin:0;padding:0}
.cp-spec-row li{font:400 clamp(1.0625rem,1.5vw,1.375rem)/1.3 var(--body);color:#f5f5f7}
@media(min-width:620px){.cp-spec-row ul{grid-template-columns:1fr 1fr}}
@media(min-width:860px){.cp-spec-row{grid-template-columns:minmax(0,3.2fr) minmax(0,8.8fr);align-items:start}}
.cp-note{max-width:60ch;margin:clamp(20px,3vw,32px) 0 0;font:400 .9375rem/1.5 var(--body);color:var(--cp-grey)}
.cp-steps{position:relative;list-style:none;display:grid;margin:0 0 clamp(28px,4vw,48px);padding:0;border-top:1px solid #0b0b0b}
.cp-steps li{display:grid;align-content:start;gap:10px;padding:clamp(20px,2.6vw,36px) clamp(12px,1.6vw,24px) clamp(20px,2.6vw,36px) 0;border-bottom:1px solid var(--cp-ink-line)}
.cp-steps span{font:400 1rem/1 var(--display);letter-spacing:.2em;color:#b3142a}
.cp-steps strong{font:400 clamp(2.2rem,3.6vw,3.4rem)/.95 var(--display);text-transform:uppercase}
.cp-steps p{margin:0;font:400 1.0625rem/1.4 var(--body);color:#424245}
@media(min-width:860px){
  .cp-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cp-steps li{border-bottom:0}
  .cp-steps::before{content:'';position:absolute;top:-1px;left:calc(var(--p,0)*(100% - 16px));border-left:8px solid transparent;border-right:8px solid transparent;border-top:12px solid var(--red)}
}
.cp-proofx-top{display:grid;gap:clamp(28px,4vw,64px);align-items:center}
@media(min-width:960px){.cp-proofx-top{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.cp-proofx h2{font-size:clamp(3rem,6.4vw,6.4rem)}
.cp-proofx-line{max-width:40ch;margin:8px 0 20px;font:400 clamp(1.0625rem,1.4vw,1.25rem)/1.45 var(--body);color:#d2d2d7}
.cp-proofx .button{justify-self:start}
.cp-proofx-media{display:block;position:relative;justify-self:end;width:min(100%,calc(70vh*var(--r,1.5)));aspect-ratio:var(--r,1.5);overflow:hidden;background:#0b0b0b}
.cp-proofx-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cp-proofx-media img[data-media="art"]{object-fit:contain;background:var(--media-backdrop,#f5f3ef)}
.cp-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:clamp(24px,3vw,48px);margin-top:clamp(40px,6vw,88px);padding-top:clamp(20px,3vw,32px);border-top:1px solid var(--cp-line)}
.cp-figures .case-metric{display:grid;gap:4px;min-height:0;margin:0;padding:0;border:0;background:none}
.cp-figures .case-metric strong{font:400 clamp(3.4rem,8vw,8rem)/.86 var(--display);letter-spacing:-.02em;color:#fff}
.cp-figures .case-metric-label{margin:8px 0 0;font:500 clamp(1.0625rem,1.4vw,1.25rem)/1.3 var(--body)}
.cp-figures .case-metric p:not(.case-metric-label){margin:0;font:400 .875rem/1.45 var(--body);color:var(--cp-grey)}
.cp-related{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 24px;margin-top:clamp(24px,3vw,40px)}
.cp-related p{width:100%;margin:0;color:var(--cp-grey)}
.cp-related a{display:inline-flex;align-items:center;gap:6px;min-height:36px;border-bottom:1px solid var(--red);color:inherit;font:400 clamp(1.25rem,1.8vw,1.625rem)/1 var(--display);letter-spacing:.02em;text-transform:uppercase;text-decoration:none}
.cp-more{padding-block:clamp(56px,8vw,112px)}
.cp-more .eyebrow{margin:0 0 16px}
.cp-more-list{border-top:1px solid var(--cp-line)}
.cp-more-list a{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.1fr) auto;align-items:baseline;gap:6px clamp(14px,3vw,40px);padding:clamp(14px,1.8vw,22px) 0;border-bottom:1px solid var(--cp-line);color:inherit;text-decoration:none}
.cp-more-list a>span:first-child{font:400 .875rem/1 var(--display);letter-spacing:.2em;color:#ff5c70}
.cp-more-list strong{font:400 clamp(1.75rem,3.4vw,3.2rem)/.95 var(--display);text-transform:uppercase;transition:color .3s var(--ease)}
.cp-more-list small{font:400 .9375rem/1.4 var(--utility);color:var(--cp-grey)}
.cp-more-list a:hover strong{color:#ff5c70}
@media(max-width:759px){.cp-more-list a{grid-template-columns:auto minmax(0,1fr) auto}.cp-more-list small{grid-column:2;grid-row:2}}
.cpx+.closing+.breadcrumbs,.closing+.breadcrumbs{padding-block:20px}

/* Cortes de línea equilibrados en titulares y frases (los navegadores que no lo admiten conservan el corte normal). */
.cp-scene h2,.cp-promise,.cp-hero h1,.cp-three-list p,.cp-proofx-line{text-wrap:balance}
.cp-service-group li,.cp-spec-row li,.cp-say-copy{text-wrap:pretty}

/* ==========================================================================
   CRITERIO DE VENTA · 10 de octubre (noche). El cliente no quiere justificar la venta con resultados a cada paso
   ni plantear barreras («es para ti si»): se dice qué se hace, cómo y en qué contexto funciona mejor, y el trabajo
   se muestra sin cifras. Las cifras quedan dentro de cada caso.
   ========================================================================== */
@media(min-width:860px){.cp-four .cp-three-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cp-four .cp-three-list p{font-size:clamp(1.125rem,1.5vw,1.4375rem)}
/* Trabajo relacionado: piezas completas a la misma altura, con nombre y tipo. */
.cp-work{padding-block:clamp(72px,10vw,160px)}
.cp-work-row{display:flex;align-items:flex-start;gap:clamp(14px,2vw,32px);margin-bottom:clamp(28px,4vw,48px)}
.cp-work-tile{flex:var(--r,1.5) 1 0%;display:grid;gap:4px;min-width:0;color:inherit;text-decoration:none}
.cp-work-media{position:relative;display:block;aspect-ratio:var(--r,1.5);margin-bottom:12px;overflow:hidden;background:#0b0b0b}
.cp-work-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.cp-work-tile:hover img{transform:scale(1.04)}
.cp-work-tile strong{font:400 clamp(1.5rem,2.4vw,2.2rem)/1 var(--display);text-transform:uppercase;transition:color .3s var(--ease)}
.cp-work-tile:hover strong{color:#ff5c70}
.cp-work-tile small{font:400 .875rem/1.4 var(--utility);color:var(--cp-grey)}
@media(max-width:759px){.cp-work-row{flex-direction:column}.cp-work-tile{flex:none;width:100%}}
/* Carrusel del inicio: la tarjeta dice la idea del proyecto en lugar de una cifra. */

/* Servicios: el desglose completo de cada capacidad, en sus tres grupos (el cliente pidió no decir «incluye»). */
.cp-services{display:grid;gap:14px;padding-top:clamp(16px,2.2vh,24px);border-top:1px solid var(--cp-line)}
.light .cp-services{border-color:var(--cp-ink-line)}
.cp-services>h3{margin:0;font:400 .8125rem/1.4 var(--display);letter-spacing:.26em;text-transform:uppercase;color:var(--cp-grey)}
.light .cp-services>h3{color:var(--cp-ink-grey)}
.cp-service-groups{display:grid;gap:20px clamp(24px,3vw,48px)}
@media(min-width:700px){.cp-service-groups{grid-template-columns:repeat(3,minmax(0,1fr))}}
.cp-service-group h4{margin:0 0 8px;font:400 clamp(1.375rem,1.9vw,1.75rem)/1 var(--display);letter-spacing:.01em;text-transform:uppercase}
.cp-service-group ul{list-style:none;display:grid;gap:6px;margin:0;padding:0}
.cp-service-group li{font:400 .9375rem/1.4 var(--body);color:#d2d2d7}
.light .cp-service-group li{color:#424245}
@media(min-width:960px){
  .cp-scene{grid-template-rows:auto auto auto auto 1fr auto}
  .cp-promise{margin-bottom:clamp(16px,2.6vh,28px)}
  .cp-actions{grid-column:1;grid-row:5;align-self:start}
  .cp-media{grid-row:1/6}
  .cp-services{grid-column:1/-1;grid-row:6;margin-top:clamp(28px,4.4vh,56px)}
}
.is-live .cp-scene{grid-template-rows:auto auto auto auto auto auto}
.is-live .cp-services{gap:clamp(8px,1.4vh,14px);margin-top:clamp(18px,3.4vh,40px);padding-top:clamp(14px,2vh,22px)}
.is-live .cp-service-group li{font-size:clamp(.8125rem,1.7vh,.9375rem)}
.is-live .cp-service-group ul{gap:clamp(3px,.7vh,6px)}
.is-live .cp-service-group h4{font-size:clamp(1.25rem,min(1.8vw,3vh),1.625rem)}
/* Inicio: los servicios de la capacidad abierta, por grupo. */

/* ==========================================================================
   BELLEZA · 10 de octubre (noche). El cliente quiere que todo el sitio se sienta como apple.com: que al entrar se note
   calidad en textos, tamaños, colores, formas y en la selección de fotos y videos. Esta capa lleva el sistema de
   Capacidades al resto: portadas centradas con el trabajo en su proporción real, una escala tipográfica única,
   grises de lectura, líneas finas y aire constante. La identidad no cambia (negro y blanco, rojo acento, Bebas y Poppins).
   ========================================================================== */
:root{--t-body:clamp(1.0625rem,1.15vw,1.1875rem);--t-lead:clamp(1.1875rem,1.6vw,1.5rem);--c-text:#f5f5f7;--c-soft:#a1a1a6;--c-ink:#1d1d1f;--c-ink-soft:#6e6e73;--c-line:#2c2c2e;--c-ink-line:#d2d2d7}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}

/* Portada de página: una idea centrada y, debajo, el trabajo. */
.cp-hero-page{padding-bottom:clamp(56px,8vw,112px)}
.cp-hero-plain{padding-bottom:clamp(72px,10vw,144px)}
.cp-hero-page h1{max-width:15ch}
.cp-hero-figure{display:grid;justify-items:center;gap:14px;margin:clamp(40px,6vw,88px) 0 0}
.cp-hero-figure .cp-hero-media{display:block;margin:0}
.cp-hero-figure figcaption{font:400 .8125rem/1.4 var(--utility);color:var(--c-soft)}
.page-intro.cp-hero .eyebrow{margin:0}

/* Escala tipográfica única para texto de lectura y de apoyo. */
.section-heading>p,.prose p,.lead,.chapter-copy>p:not(.eyebrow),.article-body p{font-size:var(--t-body);line-height:1.5}
.section-heading>p{color:var(--c-soft)}
.light .section-heading>p{color:var(--c-ink-soft)}
.prose p{color:#d2d2d7}
.light .prose p{color:#424245}
main h2{text-wrap:balance}
.section{padding-block:clamp(80px,10vw,152px)}

/* Consultoría: las tres etapas como filas amplias. */
.cp-etapas{padding-block:clamp(72px,10vw,160px)}
.cp-stages{list-style:none;margin:0;padding:0;border-top:1px solid var(--c-line)}
.cp-stages .offer-step{display:grid;gap:20px clamp(32px,5vw,80px);margin:0;padding:clamp(32px,5vw,72px) 0;border:0;border-bottom:1px solid var(--c-line);background:none}
@media(min-width:900px){.cp-stages .offer-step{grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start}}
.cp-stage-head{display:grid;gap:10px;align-content:start}
.cp-stages .offer-index{position:static;font:400 clamp(3.4rem,6vw,5.6rem)/.8 var(--display);color:var(--red);opacity:1;transform:none}
.cp-stages .offer-step .offer-method{position:static;margin:6px 0 0;padding:0;background:none!important;font:400 .8125rem/1.4 var(--display);letter-spacing:.26em;text-transform:uppercase;color:var(--c-soft)!important}
.cp-stages h3{margin:0;font:400 clamp(2.6rem,5vw,4.8rem)/.92 var(--display);letter-spacing:0;text-transform:uppercase}
.cp-stage-body{display:grid;gap:18px}
.cp-stage-body>*{margin:0}
.cp-stages .offer-promise{max-width:26ch;font:500 clamp(1.375rem,2.3vw,2.125rem)/1.2 var(--body);letter-spacing:-.008em;color:var(--c-text);text-wrap:balance}
.cp-stage-text{max-width:60ch;font-size:var(--t-body);line-height:1.5;color:var(--c-soft)}
.cp-stage-body h4{margin-top:10px;font:400 .8125rem/1.4 var(--display);letter-spacing:.26em;text-transform:uppercase;color:var(--c-soft)}
.cp-stage-list{list-style:none;display:grid;gap:0 40px;padding:0;border-top:1px solid var(--c-line)}
@media(min-width:620px){.cp-stage-list{grid-template-columns:1fr 1fr}}
.cp-stage-list li{padding:13px 0;border-bottom:1px solid var(--c-line);font-size:var(--t-body);line-height:1.35;color:var(--c-text)}
.cp-stages .offer-terms{display:flex;flex-wrap:wrap;gap:12px 48px;margin-top:6px}
.cp-stages .offer-terms div{display:grid;gap:2px}
.cp-stages .offer-terms dt{font:400 .8125rem/1.4 var(--display);letter-spacing:.26em;text-transform:uppercase;color:var(--c-soft)}
.cp-stages .offer-terms dd{margin:0;font-size:1rem;color:var(--c-text)}
.cp-etapas .offer-note{margin-top:clamp(24px,3vw,40px);font-size:.9375rem;color:var(--c-soft)}
.cp-etapas .offer-note a{color:inherit}

/* Sectores y páginas locales: situaciones y casos con la misma escala; sin tarjetas. */
.situation-grid{gap:0 clamp(24px,4vw,64px)}
@media(min-width:860px){.situation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.situation-grid article{padding:clamp(22px,2.6vw,36px) 0;border-top:1px solid var(--c-line)}
.situation-grid span{font:400 clamp(2rem,3vw,2.8rem)/.9 var(--display);color:var(--red)}
.situation-grid h3{margin:14px 0 10px;font:500 clamp(1.25rem,1.8vw,1.625rem)/1.25 var(--body);letter-spacing:-.005em}
.situation-grid p{max-width:48ch;font-size:var(--t-body);line-height:1.5;color:var(--c-soft)}
.sector-case{gap:clamp(18px,3vw,48px);border:0;background:none;color:inherit}
.sector-case-copy{align-content:center;padding:0}
.sector-case-copy .eyebrow{color:var(--c-ink-soft)}
.sector-case-copy h3{font:400 clamp(2.4rem,4vw,3.8rem)/.95 var(--display)}
.sector-case-copy p{max-width:44ch;font-size:var(--t-body);line-height:1.5;color:#424245}
.sector-links{gap:8px clamp(20px,3vw,40px)}
.sector-links a{font:400 clamp(1.25rem,2vw,1.75rem)/1.1 var(--display);text-transform:uppercase}

/* Preguntas frecuentes: preguntas grandes, respuestas en gris de lectura, líneas finas. */
.faq details{border-bottom:1px solid var(--c-ink-line)}
.faq summary{padding:22px 0;font:500 clamp(1.0625rem,1.5vw,1.3125rem)/1.3 var(--body);letter-spacing:-.005em}
.faq details p{max-width:64ch;padding:0 0 24px;font-size:var(--t-body);line-height:1.55;color:#424245}

/* Pie y migas: gris de lectura. */
.breadcrumbs{font-size:.8125rem;color:var(--c-soft)}
/* Método: el antetítulo rojo de cada capítulo no alcanzaba contraste sobre negro. */
.journey-chapters .chapter-copy .eyebrow{color:#ff5c70}
.light .journey-chapters .chapter-copy .eyebrow{color:#b3142a}

/* ==========================================================================
   MÓDULOS · 11 de octubre. El cliente pidió copiar mejor el estilo visual y la forma de titular de apple.com «con
   nuestros tipos de letra, colores, etc.». De la referencia se toma la composición (módulos apilados y centrados:
   nombre en grande, una sola línea debajo, dos salidas y el medio; retícula de dos columnas; aire constante) y la
   manera de escribir (nombre + frase corta con punto). De la marca queda lo demás: Bebas y Poppins, negro, blanco
   y rojo #D1182E, esquinas rectas, sin sombras ni desenfoques. No se copia texto ni material de la referencia.
   ========================================================================== */
:root{--mod-grey:#f5f5f7;--mod-pad:clamp(72px,9vw,136px);--mod-gap:12px}

/* Botones: dos por módulo, en minúsculas y sin flecha. Rojo = acción principal; contorno = segunda salida. */
.button{min-height:44px;padding:0 22px;gap:10px;justify-content:center;border:1px solid transparent;box-shadow:none;font:500 .9375rem/1.2 var(--utility);letter-spacing:0;text-transform:none;text-align:center;transition:background .25s,color .25s,border-color .25s}
.button>span[aria-hidden="true"]{display:none}
.button-red{border-color:var(--red)}
.button-red:hover{background:#b3142a;border-color:#b3142a}
.button-ghost{background:transparent;border-color:currentColor;color:inherit}
.button-ghost:hover{background:#f5f5f7;border-color:#f5f5f7;color:#000}
.light .button-ghost:hover{background:#1d1d1f;border-color:#1d1d1f;color:#fff}
.nav-cta{letter-spacing:0}
#navigation .nav-cta>span[aria-hidden="true"]{display:none}
@media(max-width:699px){.button{font-size:.9375rem}}

/* Módulo: una idea centrada. */
.mod{position:relative;padding-block:var(--mod-pad);overflow:hidden;text-align:center}
.mod-dark{background:#000;color:#f5f5f7}
.mod-light{background:#fff;color:#1d1d1f}
.mod-grey,.mod-grey.light{background:var(--mod-grey);color:#1d1d1f}
.mod-copy{display:grid;justify-items:center;gap:clamp(10px,1.3vw,18px);width:min(100% - 40px,1080px);margin-inline:auto;text-align:center}
.mod-copy>*{margin:0}
main .mod-super{font:400 clamp(3.25rem,7.2vw,7.25rem)/.9 var(--display);letter-spacing:.004em;text-transform:uppercase;text-wrap:balance}
.mod-line{max-width:30ch;font:400 clamp(1.25rem,2.15vw,1.9375rem)/1.18 var(--body);letter-spacing:-.014em;text-wrap:balance}
.mod-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 14px;margin-top:clamp(8px,1vw,14px)}
.mod-media{display:block;width:min(100% - 40px,1344px);margin:clamp(40px,5.4vw,80px) auto 0;aspect-ratio:var(--r,16/9);overflow:hidden;background:#000}
.mod-media>*{display:block;width:100%;height:100%;object-fit:cover}

/* Postura: una afirmación en dos tiempos, con el símbolo oficial encima. */
.mod-say .stance-mark{position:static;display:block;width:60px;height:68px;margin:0 auto clamp(24px,3vw,40px);translate:none;transform:none}
main .mod-say .mod-super{font-size:clamp(2.75rem,6.3vw,6.25rem)}
.mod-say .mod-super span{display:block;color:#86868b}
.mod-say .mod-line{max-width:44ch;color:#424245}

/* Jugadas ganadoras: el carrusel es el medio del módulo. */

/* Consultoría: la película del tablero y las tres etapas en una fila. */
.mod-offer .mod-line{color:#1d1d1f}
.mod-steps{list-style:none;display:grid;gap:0 clamp(24px,3.6vw,56px);margin:clamp(48px,6vw,88px) 0 0;padding:0;text-align:left}
@media(min-width:860px){.mod-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
.mod-steps .offer-step{display:grid;align-content:start;gap:10px;margin:0;padding:clamp(22px,2.4vw,32px) 0 clamp(28px,3vw,40px);border:0;border-top:1px solid #1d1d1f;border-radius:0;background:none}
.mod-steps .offer-step>*{margin:0}
.mod-steps .offer-index{display:inline;font:400 1.125rem/1 var(--display);letter-spacing:.2em;color:#b3142a}
.mod-step-method{font:400 .8125rem/1.4 var(--display);letter-spacing:.26em;text-transform:uppercase;color:#6e6e73}
.mod-steps .offer-step h3{margin-top:6px;font:400 clamp(2.25rem,3.4vw,3.25rem)/.95 var(--display);letter-spacing:.004em;text-transform:uppercase}
.mod-steps .offer-promise{max-width:30ch;font:400 clamp(1.0625rem,1.3vw,1.1875rem)/1.4 var(--body);color:#424245}
.mod-step-head{display:flex;align-items:baseline;gap:14px}
.mod .home-set{text-align:left;border-top-color:var(--c-ink-line)}

/* Seis capacidades: retícula de módulos. En dos columnas alternan como un tablero. */
.mod-caps{padding-bottom:clamp(40px,5vw,72px)}
.mod-grid{display:grid;gap:var(--mod-gap);margin-top:clamp(40px,5.4vw,80px);padding-inline:var(--mod-gap)}
.mod-tile{display:grid;grid-template-rows:auto 1fr;gap:clamp(28px,3.2vw,48px);padding-top:clamp(44px,4.6vw,72px);overflow:hidden;background:#000;color:#f5f5f7}
main .mod-tile .mod-super{font-size:clamp(2.5rem,4.3vw,4.5rem)}
.mod-tile .mod-line{font-size:clamp(1.0625rem,1.55vw,1.4375rem)}
.mod-tile .mod-copy{width:min(100% - 40px,560px)}
.mod-tile-media{display:block;align-self:end;overflow:hidden}
.mod-tile-media img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;transition:transform 1.2s var(--ease)}
.mod-tile:hover .mod-tile-media img{transform:scale(1.03)}
.mod-tile:nth-child(even){background:var(--mod-grey);color:#1d1d1f}
.light .mod-tile:nth-child(odd) .button-ghost:hover{background:#f5f5f7;border-color:#f5f5f7;color:#000}
@media(min-width:800px){
  .mod-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mod-tile:nth-child(n){background:#000;color:#f5f5f7}
  .mod-tile:nth-child(4n+2),.mod-tile:nth-child(4n+3){background:var(--mod-grey);color:#1d1d1f}
  .light .mod-tile:nth-child(4n) .button-ghost:hover,.light .mod-tile:nth-child(4n+1) .button-ghost:hover{background:#f5f5f7;border-color:#f5f5f7;color:#000}
  .light .mod-tile:nth-child(4n+2) .button-ghost:hover,.light .mod-tile:nth-child(4n+3) .button-ghost:hover{background:#1d1d1f;border-color:#1d1d1f;color:#fff}
}
.mod-caps .home-where{justify-items:center;margin-top:clamp(40px,5vw,72px)}
.mod-caps .home-where-links{justify-content:center}

/* Portadas de página y de capacidad: nombre, una línea, dos salidas. */
.cp-hero h1{font-size:clamp(3.25rem,7.8vw,8rem)}
.cp-hero-actions{gap:12px 14px}
.cp-hero-page .cp-hero-line{max-width:36ch;color:#d2d2d7}
.cp-actions{gap:12px 14px}

/* Cierre: la frase del brochure, centrada, con dos salidas. */
.closing{text-align:center}
.closing .eyebrow{max-width:none}
.closing h2{font-size:clamp(3.25rem,8.4vw,8.75rem)}
.closing-actions{justify-content:center;gap:12px 14px}
.closing .button-ghost:hover{background:#fff;border-color:#fff;color:#b3142a}

/* ==========================================================================
   MÓDULOS EN TODO EL SITIO · 11 de octubre («aplica todos los cambios que se puedan en todas las secciones»).
   Un solo encabezado de sección (titulares.head → .mod-head): antetítulo, afirmación grande, una línea y hasta dos
   salidas, centrado. Debajo, el contenido conserva su forma (listas, filas, rejillas) dentro de una columna centrada.
   ========================================================================== */
.mod-head{margin-bottom:clamp(40px,5.4vw,80px)}
main .mod-head>*{margin:0}
.mod-head .eyebrow{max-width:none}
main .mod-head .mod-super{max-width:20ch;font-size:clamp(2.75rem,6.2vw,6.25rem);line-height:.92}
.mod-head .mod-line{max-width:48ch;font-size:clamp(1.125rem,1.6vw,1.4375rem);line-height:1.35;letter-spacing:-.006em;color:#d2d2d7}
.light .mod-head .mod-line{color:#424245}
.mod-head .mod-actions{margin-top:clamp(10px,1.2vw,16px)}
.mod-prose{max-width:62ch;margin-inline:auto}
.mod-section.mod-grey{background:var(--mod-grey);color:#1d1d1f}
.mod-links{text-align:center}
.mod-links .sector-links{justify-content:center}
.mod-links .sector-links a{margin-inline:14px}
.mod-links>.wrap>.eyebrow{margin-bottom:20px}
.mod-step-text{max-width:34ch;font-size:.9375rem;line-height:1.5;color:#6e6e73}
.mod-section .mod-steps{margin-top:0}

/* Listas bajo un encabezado centrado: columna de lectura. */
.where .where-list,.politics .politics-list,.allies .ally-list{max-width:1040px;margin-inline:auto;text-align:left}
.faq .mod-head{margin-bottom:clamp(28px,3.6vw,48px)}
.folio .folio-filters{justify-content:center}
.politics-mark{display:grid;justify-items:center}
.mod-location .location-details{max-width:560px;margin-inline:auto;text-align:center}
.cp-work>.wrap>.text-link,.cp-method>.wrap>.text-link{display:flex;width:max-content;margin-inline:auto}
.cp-note,.cp-gets{text-align:center;margin-inline:auto}
.cp-etapas .offer-note{text-align:center}

/* 88: el número arriba, la postura debajo. */
.postura.mod{padding-block:var(--mod-pad)}
.postura.mod .postura-graphic{width:min(84vw,560px);margin:0 auto clamp(20px,3vw,40px);padding-block:24px}
.postura.mod .postura-88{font-size:clamp(8rem,24vw,17rem);margin:0}
.postura.mod .mod-head{margin-bottom:0}
.postura.mod .postura-close{margin:clamp(28px,3.4vw,44px) 0 0;color:#f5f5f7!important}

/* Sector: portada con el patrón común; título y línea más contenidos porque son frases largas. */
.sector-hero h1{max-width:19ch;font-size:clamp(2.75rem,5.8vw,5.75rem);line-height:.92}
.sector-hero .cp-hero-line{max-width:54ch;font-size:clamp(1.0625rem,1.5vw,1.375rem);line-height:1.4;letter-spacing:-.004em}
.sector-hero .politics-seal{margin-bottom:6px}

/* Caso: portada centrada con el medio completo en su proporción; el aprendizaje, como afirmación. */
.case-hero-mod{padding-block:clamp(28px,4vw,56px) clamp(56px,7vw,104px)}
.case-hero-mod .case-hero-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(36px,5vw,72px);justify-items:center;text-align:center}
.case-hero-mod .case-hero-copy{display:grid;justify-items:center;gap:clamp(12px,1.6vw,20px);max-width:1080px;padding:0}
.case-hero-mod .case-hero-copy>*{margin:0}
.case-hero-mod .case-hero-copy .back-link{margin:0 0 clamp(20px,3.4vw,44px)}
.case-hero-mod h1{font-size:clamp(3.5rem,9vw,9rem);line-height:.88;text-wrap:balance}
.case-hero-mod .case-hero-intro{max-width:36ch;padding:0;font:400 clamp(1.25rem,2.1vw,1.875rem)/1.2 var(--body);letter-spacing:-.012em;color:#f5f5f7;text-wrap:balance}
.case-hero-mod .case-meta{justify-content:center;gap:4px 0;margin-top:4px}
.case-hero-mod .case-meta li{border:0;border-radius:0;padding:0;color:#a1a1a6;font:400 .8125rem/1.5 var(--display)!important;letter-spacing:.2em}
.case-hero-mod .case-meta li+li::before{content:'·';margin-inline:12px}
.case-hero-mod .case-hero-media.brand-media{justify-self:center;width:min(100%,1180px,calc(72vh*var(--r,1.6)))}
.case-hero-mod .case-hero-media.brand-media>img,.case-hero-mod .case-hero-media.brand-media>video{display:block;width:100%;height:auto!important;max-height:none;aspect-ratio:var(--r,1.6)!important;object-fit:cover;padding:0}
.case-steps .mod-head .mod-super{max-width:18ch}
.case-learning-mod>.wrap{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:0;text-align:center}
.case-learning-mod .case-learning-copy{max-width:26ch;margin-top:18px;font:500 clamp(1.75rem,3.4vw,3.125rem)/1.12 var(--body);letter-spacing:-.016em;text-wrap:balance}
.case-learning-mod blockquote{grid-column:auto;max-width:46ch;margin:clamp(28px,3.4vw,48px) 0 0;padding-top:24px;border-top:2px solid var(--case-accent);font-size:clamp(1.0625rem,1.45vw,1.3125rem);font-weight:400;line-height:1.45;color:#424245}
.case-learning-mod .case-more{justify-self:stretch;margin-top:clamp(40px,5vw,72px);text-align:left}

/* Cierre de la página en inglés. */
.closing-line{max-width:46ch;margin:0 auto;font-size:var(--t-lead);line-height:1.35}
.closing-alt{margin:22px 0 0;font-size:.9375rem}
.closing-alt a{text-decoration:underline;text-underline-offset:3px}

/* «En pocas palabras»: una afirmación centrada y, debajo, la respuesta completa en gris de lectura. */
.cp-say .wrap{justify-items:center;text-align:center}
.cp-say-lead,.cp-say .cp-say-copy{margin-inline:auto}
.answer-block{border:0;text-align:center}
.answer-block .eyebrow{margin:0 0 18px;max-width:none}
.answer-block .answer-copy{max-width:64ch;margin-inline:auto;font:400 clamp(1.125rem,1.7vw,1.5rem)/1.45 var(--body);letter-spacing:-.006em;color:#d2d2d7}

/* Galería del inicio: mismo titular (conserva su tipografía, elegida el 8 de octubre), ahora al centro. La altura del
   encabezado no cambia, así que la escena de cámara mantiene su encuadre. */

@media(max-width:699px){.cp-say .cp-say-copy,.answer-block .answer-copy{text-align:left}}

/* ==========================================================================
   RECORTES · 11 de octubre. El cliente: los objetos sin fondo, fijos y animados, se sienten más premium que una foto
   en un cuadro. El objeto se apoya directamente sobre el color del módulo: sin marco, sin sombra, sin esquinas.
   Los animados son video compuesto sobre negro puro, por eso solo van en módulos negros.
   ========================================================================== */
.mod-tile-media.is-cut{position:relative;display:block;aspect-ratio:16/10}
.mod-tile-media.is-cut .cutout{position:absolute;left:8%;top:2%;width:84%;height:88%;aspect-ratio:auto;object-fit:contain;object-position:50% 50%;transition:transform 1.2s var(--ease)}
.mod-tile-media.is-bottom .cutout,.mod-tile-media.is-clip .cutout{top:0;height:100%;object-position:50% 100%}
.mod-tile-media.is-clip .cutout{background:#000}
.mod-tile:hover .mod-tile-media.is-cut .cutout{transform:translateY(-8px)}
.mod-tile:hover .mod-tile-media.is-bottom .cutout,.mod-tile:hover .mod-tile-media.is-clip .cutout{transform:none}
/* Un video sobre negro necesita su módulo en negro, también cuando la retícula alterna tonos. */
.mod-grid .mod-tile:has(.is-clip){background:#000;color:#f5f5f7}

/* Portada de capacidad con objeto sin fondo: sin caja ni recorte. */
.cp-hero-media.cp-hero-cut{overflow:visible;background:none;width:min(calc(100% - var(--gutter)*2),calc(62vh*var(--r,1.6)),1100px)}
.cp-hero-media.cp-hero-cut .cutout{position:static;display:block;width:100%;height:auto;object-fit:contain}
.cp-hero-media.cp-hero-cut.is-clip{width:min(calc(100% - var(--gutter)*2),calc(64vh*var(--r,1)),720px)}
.cp-hero:has(.cp-hero-cut){padding-bottom:clamp(40px,6vw,96px)}

/* Módulo con video a sangre (material de apoyo que aportó el cliente). */
.mod-tile-media.is-video{position:relative;aspect-ratio:16/10;background:#000}
.mod-tile-media.is-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ==========================================================================
   JUGADAS GANADORAS Y MARCAS QUE SE VEN EN EL INICIO · 11 de octubre. El cliente pidió una mejor experiencia «tanto en
   forma que se ve como en animación». El coverflow en 3D y la galería de cámara se sustituyen por dos piezas más
   limpias: un carrusel de pantalla ancha (una jugada al centro con su video, las vecinas asomando) y un muro de
   marcas en tres filas que se deslizan en sentidos opuestos con el desplazamiento. Sin sombras ni desenfoques.
   ========================================================================== */
.jg{position:relative;padding-block:clamp(48px,5.4vw,84px) clamp(40px,5vw,72px);overflow:hidden;background:#000;color:#f5f5f7;text-align:center}
.jg .mod-copy{gap:clamp(8px,1vw,14px);margin-bottom:clamp(28px,3.4vw,44px)}
main .jg .mod-super{font-size:clamp(3rem,6vw,6rem)}
.jg-track{--w:86vw;display:flex;gap:clamp(10px,1.4vw,20px);padding-inline:calc((100% - var(--w))/2);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
.jg-track::-webkit-scrollbar{display:none}
.jg-track:focus-visible{outline:2px solid #f5f5f7;outline-offset:-2px}
.jg-card{position:relative;flex:0 0 var(--w);aspect-ratio:4/5;overflow:hidden;background:#0b0b0b;scroll-snap-align:center}
@media(min-width:760px){
  .jg-track{--h:clamp(300px,calc(100svh - 500px),640px);--w:min(calc(var(--h)*16/9),78vw)}
  .jg-card{aspect-ratio:16/9}
}
.jg-media{position:absolute;inset:0;display:block}
.jg-media img,.jg-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focus,var(--image-focus,50% 50%));transition:transform 1.6s var(--ease)}
.jg-card::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgb(0 0 0/.9) 0,rgb(0 0 0/.55) 28%,rgb(0 0 0/0) 62%);pointer-events:none}
/* Tarjeta con la captura de un sitio: la captura trae su propio texto, así que no lleva nada encima. Va completa, a un
   lado (arriba en teléfono), y el rótulo de la tarjeta ocupa el otro. */
.jg-card[data-jg-screen]::after{content:none}
.jg-card[data-jg-screen] .jg-media img{inset:clamp(20px,3vw,44px) auto auto clamp(20px,3vw,44px);width:calc(100% - 2*clamp(20px,3vw,44px));height:34%;object-fit:contain;object-position:0 0}
@media(min-width:760px){
  .jg-card[data-jg-screen] .jg-media img{inset:50% clamp(20px,3vw,44px) auto auto;width:calc(52% - clamp(20px,3vw,44px));height:auto;aspect-ratio:16/10;translate:0 -50%;object-position:50% 50%}
  .jg-card[data-jg-screen] .jg-copy{top:0;right:auto;width:48%;align-content:center;padding-block:clamp(14px,2vw,28px)}
  .jg-card[data-jg-screen] .jg-copy h3{font-size:clamp(1.9rem,3.2vw,3.25rem)}
  .jg-card[data-jg-screen] .jg-line{font-size:clamp(.9375rem,1.2vw,1.125rem)}
}
.jg-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;display:grid;justify-items:start;gap:8px;padding:clamp(20px,3vw,44px);text-align:left}
.jg-copy>*{margin:0}
.jg-tag{font:400 .8125rem/1.4 var(--display);letter-spacing:.24em;text-transform:uppercase;color:#d2d2d7}
.jg-tag span::before{content:'·';margin-inline:.7em}
.jg-copy h3{font:400 clamp(2.5rem,4.6vw,4.75rem)/.9 var(--display);letter-spacing:.004em;text-transform:uppercase;color:#fff}
.jg-line{max-width:34ch;font:400 clamp(1rem,1.4vw,1.25rem)/1.3 var(--body);color:#f5f5f7}
.jg-copy .button{margin-top:10px}
/* Con el carrusel activo: la jugada del centro manda; las demás esperan atenuadas y sin texto. */
.jg.is-live .jg-card{opacity:.32;cursor:pointer;transition:opacity .7s var(--ease)}
.jg.is-live .jg-card.is-active{opacity:1;cursor:auto}
.jg.is-live .jg-copy>*{opacity:0;transform:translateY(16px);transition:opacity .4s var(--ease),transform .5s var(--ease)}
.jg.is-live .is-active .jg-copy>*{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .9s var(--ease);transition-delay:calc(.18s + var(--i,0)*.07s)}
.jg-copy>:nth-child(2){--i:1}.jg-copy>:nth-child(3){--i:2}.jg-copy>:nth-child(4){--i:3}
.jg.is-live .jg-card:not(.is-active) .jg-media img,.jg.is-live .jg-card:not(.is-active) .jg-media video{transform:scale(1.05)}
.jg-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px;margin-top:clamp(22px,2.8vw,36px);font-family:var(--utility)}
.jg-dots{display:flex;align-items:center}
.jg-dot{position:relative;width:24px;height:44px;padding:0;border:0;background:none;cursor:pointer;transition:width .5s var(--ease)}
.jg-dot i{position:absolute;left:50%;top:50%;width:8px;height:8px;overflow:hidden;background:#636366;translate:-50% -50%;transition:width .5s var(--ease)}
.jg-dot:hover i{background:#aeaeb2}
.jg-dot[aria-current="true"]{width:56px}
.jg-dot[aria-current="true"] i{width:40px}
.jg-dot i::after{content:'';position:absolute;inset:0;background:#f5f5f7;transform:scaleX(0);transform-origin:left}
.jg-dot[aria-current="true"] i::after{transform:scaleX(1)}
.jg.is-playing .jg-dot[aria-current="true"] i::after{animation:jg-fill var(--jg-hold,6500ms) linear both}
@keyframes jg-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.jg-arrow,.jg-pause{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 14px;border:1px solid #48484a;border-radius:4px;background:transparent;color:#f5f5f7;font:500 .875rem/1 var(--utility);cursor:pointer;transition:background .25s,border-color .25s,color .25s}
.jg-arrow{padding:0;font-size:1.125rem}
.jg-arrow:hover,.jg-pause:hover{background:#f5f5f7;border-color:#f5f5f7;color:#000}
.jg:not(.is-live) .jg-controls{display:none}
@media(prefers-reduced-motion:reduce){.jg.is-live .jg-card,.jg.is-live .jg-copy>*,.jg-media img,.jg-media video{transition:none}}
html.motion-paused .jg.is-live .jg-card,html.motion-paused .jg.is-live .jg-copy>*{transition:none}

/* Muro de marcas. Estático: retícula completa. Con movimiento: tres filas que se deslizan con el desplazamiento. */
.wall-section{position:relative;padding-block:var(--mod-pad) clamp(56px,7vw,104px);overflow:hidden;background:#fff;color:#1d1d1f;text-align:center}
.wall{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2vw,28px) clamp(10px,1.2vw,18px);padding-inline:clamp(16px,3vw,40px)}
@media(min-width:700px){.wall{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1100px){.wall{grid-template-columns:repeat(6,minmax(0,1fr))}}
.wall-row{display:contents}
.wall-tile a{display:grid;gap:10px;color:inherit;text-align:left;text-decoration:none}
.wall-image{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--mod-grey)}
.wall-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--image-focus,50% 50%);transition:transform 1.1s var(--ease)}
.wall-image img[data-media="art"],.wall-image img[data-media="document"]{object-fit:contain;background:var(--media-backdrop,#f5f3ef)}
.wall-tile a:hover .wall-image img,.wall-tile a:focus-visible .wall-image img{transform:scale(1.045)}
.wall-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
main .wall-label h3{margin:0;font:600 .9375rem/1.3 var(--utility);letter-spacing:-.01em;text-transform:none}
.wall-label small{font:400 .8125rem/1.3 var(--utility);color:#6e6e73;text-align:right}
.wall-tile a:hover h3{color:#b3142a}
.is-gallery-live .wall{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(18px,2.2vw,32px);padding-inline:0}
.is-gallery-live .wall-row{display:flex;gap:clamp(10px,1.4vw,20px);width:max-content;will-change:transform}
.is-gallery-live .wall-tile{flex:0 0 clamp(180px,46vw,250px)}
@media(min-width:700px){.is-gallery-live .wall-tile{flex-basis:clamp(240px,23vw,400px)}}
/* Mientras el carrusel ocupa la pantalla, el índice flotante de capítulos se retira: su sitio lo ocupa el texto de la jugada. */
.home-chapters{transition:opacity .4s var(--ease),visibility 0s}
.jg-focused .home-chapters{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s var(--ease),visibility 0s .3s}

/* Equipo · 11 de octubre: siete perfiles con nombre, cargo, especialidad y texto del cliente. El retrato sigue siendo
   un fondo de marca con las iniciales hasta que lleguen las fotografías. */
.team-grid.team-profiles{grid-template-columns:minmax(0,1fr);gap:clamp(28px,3vw,44px) clamp(16px,2vw,28px)}
@media(min-width:620px){.team-grid.team-profiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:940px){.team-grid.team-profiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1240px){.team-grid.team-profiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
.team-grid.team-profiles .team-profile{display:grid;grid-template-columns:104px minmax(0,1fr);gap:14px 18px;align-items:start;padding-top:0;border-top:0;text-align:left}
.team-figure{display:grid;gap:6px}
.team-copy{display:grid;gap:8px;align-content:start}
.team-copy>*{margin:0}
.team-grid.team-profiles .team-profile h3{font:400 clamp(1.75rem,2.4vw,2.25rem)/1 var(--display);letter-spacing:.004em}
.team-role{display:grid;gap:2px;font:400 .9375rem/1.35 var(--utility);color:#1d1d1f}
.team-role strong{font:400 .8125rem/1.4 var(--display);letter-spacing:.22em;text-transform:uppercase;color:#b3142a}
.team-card .team-bio{font-size:.9375rem;line-height:1.55;color:#424245}
.team-figure .texto-relleno{font-size:.6875rem}
@media(min-width:620px){
  .team-grid.team-profiles .team-profile{grid-template-columns:minmax(0,1fr);gap:16px}
  .team-figure{gap:8px}
}



/* El set: sección propia (inicio y Nosotros), en negro, con su fotografía real en su proporción. */
main .home-set,.set-block{display:block;margin:0;padding:var(--mod-pad) 0 clamp(56px,7vw,104px);border:0;background:#000;color:#f5f5f7;text-align:center}
.home-set .eyebrow,.set-block .eyebrow{color:#a1a1a6}
.set-block .mod-head{margin-bottom:0}
.set-block .mod-head .mod-line{color:#d2d2d7}
main .home-set .home-set-media,.set-block .set-block-media{width:min(100% - 40px,1100px,calc(78vh*var(--r,1.36)));margin:clamp(36px,5vw,72px) auto 0}
main .home-set .home-set-media>img,.set-block .set-block-media>img{display:block;width:100%;height:auto;aspect-ratio:var(--r,1.36);object-fit:cover;background:none;padding:0}
.home-set .brand-caption,.set-block .brand-caption{color:#a1a1a6}
main .home-set>.home-set-note,.set-block-note{max-width:60ch;margin:clamp(18px,2vw,28px) auto 0;padding-inline:20px;font-size:.8125rem!important;line-height:1.5;color:#a1a1a6}

/* ==========================================================================
   NOSOTROS · 11 de octubre. El cliente la veía «muy plana y simple» y la pidió «muy premium». Una idea por pantalla,
   en negro y blanco: película de marca, forma de trabajar, el equipo como índice que se recorre, la agencia en
   datos, el trabajo desde dentro, el set y el origen. Sin sombras, sin tarjetas, sin esquinas redondeadas.
   ========================================================================== */
.ab-way .cp-three-list p{font:400 clamp(1.0625rem,1.3vw,1.25rem)/1.5 var(--body);letter-spacing:0;color:#424245;text-wrap:pretty}

/* Equipo: un nombre por fila; la ficha de la persona activa se muestra aparte. */
.crew{padding-block:var(--mod-pad);background:#000;color:#f5f5f7}
.crew .mod-head .mod-line{color:#d2d2d7}
.crew-list{position:relative;border-top:1px solid #2c2c2e}
.crew-person{border-bottom:1px solid #2c2c2e}
main .crew-head{margin:0;font:inherit;scroll-margin-top:calc(var(--header-height,92px) + 24px)}
.crew-name{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:6px clamp(12px,1.6vw,22px);width:100%;min-height:64px;padding:clamp(14px,1.5vw,20px) 0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}
.crew-name:focus-visible{outline:2px solid #f5f5f7;outline-offset:2px}
.crew-n{font:400 .8125rem/1 var(--display);letter-spacing:.22em;color:#8e8e93;transition:color .4s var(--ease)}
.crew-who{font:400 clamp(2.25rem,4.4vw,4.25rem)/.95 var(--display);letter-spacing:.004em;text-transform:uppercase;color:#f5f5f7;transition:color .4s var(--ease),transform .6s var(--ease)}
.crew-role{font:400 .8125rem/1.3 var(--utility);color:#a1a1a6;text-align:right}
.crew-detail-inner{display:grid;grid-template-columns:104px minmax(0,1fr);gap:18px;padding:4px 0 clamp(22px,3vw,32px)}
.crew-figure{display:grid;gap:6px;align-content:start}
.crew-portrait{display:grid;place-items:center;aspect-ratio:4/5;overflow:hidden;background-color:#0b0b0b;color:#f5f5f7}
.crew-portrait.is-pending{background-image:linear-gradient(#232325 1px,transparent 1px),linear-gradient(90deg,#232325 1px,transparent 1px);background-size:12.5% 10%}
.crew-portrait span{font:400 clamp(2.4rem,9vw,3rem)/1 var(--display);letter-spacing:.02em}
.crew-portrait img{display:block;width:100%;height:100%;object-fit:cover}
.crew .texto-relleno{font-size:.6875rem;color:#d2d2d7}
.crew-text{display:grid;gap:8px;align-content:start}
.crew-text>*{margin:0}
.crew-label{font:400 .8125rem/1.4 var(--display);letter-spacing:.24em;text-transform:uppercase;color:#ff5c70}
.crew-area{font:500 clamp(1.125rem,1.6vw,1.4375rem)/1.25 var(--body);letter-spacing:-.01em;color:#f5f5f7}
.crew-bio{max-width:46ch;font:400 clamp(1rem,1.15vw,1.125rem)/1.55 var(--body);color:#a1a1a6}
.crew-text .text-link{justify-self:start;margin-top:8px;color:#f5f5f7}
/* Con el índice activo: solo la persona elegida muestra su ficha. En teléfono se abre debajo del nombre. */
.crew.is-live .crew-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.crew.is-live .crew-detail-inner{min-height:0;overflow:hidden;padding-block:0;opacity:0;transition:opacity .35s var(--ease),padding .6s var(--ease)}
.crew.is-live .is-active .crew-detail{grid-template-rows:1fr}
.crew.is-live .is-active .crew-detail-inner{padding-block:4px clamp(22px,3vw,32px);opacity:1}
.crew.is-live .crew-person:not(.is-active) .crew-who{color:#6e6e73}
.crew.is-live .crew-person:not(.is-active) .crew-name:hover .crew-who{color:#d2d2d7}
.crew.is-live .is-active .crew-n{color:#ff5c70}
@media(min-width:960px){
  .crew.is-live .crew-list{min-height:clamp(540px,64vh,700px);padding-right:54%}
  .crew.is-live .crew-detail{position:absolute;top:0;right:0;bottom:0;display:block;width:48%;visibility:hidden;opacity:0;transition:opacity .3s var(--ease),visibility 0s .3s}
  .crew.is-live .is-active .crew-detail{visibility:visible;opacity:1;transition:opacity .6s var(--ease) .08s,visibility 0s}
  .crew.is-live .crew-detail-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;align-content:center;gap:clamp(24px,2.6vw,40px);height:100%;overflow:visible;padding:0;opacity:1}
  .crew.is-live .crew-portrait span{font-size:clamp(5rem,9vw,8.5rem)}
  .crew.is-live .crew-text{gap:12px}
  .crew.is-live .is-active .crew-who{transform:translateX(10px)}
}
@media(min-width:960px) and (prefers-reduced-motion:no-preference){
  html:not(.motion-paused) .crew.is-live .is-active .crew-text>*{animation:crew-rise .7s var(--ease) both}
  html:not(.motion-paused) .crew.is-live .is-active .crew-text>:nth-child(2){animation-delay:.06s}
  html:not(.motion-paused) .crew.is-live .is-active .crew-text>:nth-child(3){animation-delay:.12s}
  html:not(.motion-paused) .crew.is-live .is-active .crew-text>:nth-child(4){animation-delay:.18s}
  html:not(.motion-paused) .crew.is-live .is-active .crew-portrait{animation:crew-in .9s var(--ease) both}
}
@keyframes crew-rise{from{opacity:0;transform:translateY(18px)}}
@keyframes crew-in{from{opacity:0;transform:scale(1.05)}}

/* La agencia en datos: hechos de la empresa como tipografía y, debajo, la ficha. */
.ab-facts{padding-block:var(--mod-pad)}
.ab-figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,3vw,48px) clamp(16px,3vw,48px);margin-bottom:clamp(44px,5.4vw,80px)}
@media(min-width:860px){.ab-figures{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ab-figure{display:grid;align-content:start;gap:10px;padding-top:18px;border-top:1px solid #1d1d1f;text-align:left}
.ab-figure strong{font:400 clamp(4rem,8.4vw,7.75rem)/.82 var(--display);letter-spacing:.004em;color:#1d1d1f}
.ab-figure span{max-width:18ch;font:400 clamp(.9375rem,1.1vw,1.0625rem)/1.35 var(--body);color:#424245}
.ab-sheet{display:grid;margin:0;border-top:1px solid var(--c-ink-line);text-align:left}
.ab-sheet>div{display:grid;gap:4px 32px;padding:18px 0;border-bottom:1px solid var(--c-ink-line)}
@media(min-width:760px){.ab-sheet>div{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}}
.ab-sheet dt{font:400 .8125rem/1.5 var(--display);letter-spacing:.2em;text-transform:uppercase;color:#6e6e73}
.ab-sheet dd{margin:0;font:400 clamp(1rem,1.2vw,1.125rem)/1.45 var(--body);color:#1d1d1f}

/* El trabajo desde dentro: tres tomas a la misma altura. */
.ab-inside{padding-block:var(--mod-pad);background:#000;color:#f5f5f7}
.ab-shots{display:grid;gap:clamp(12px,1.4vw,20px)}
@media(min-width:760px){.ab-shots{grid-template-columns:3fr 2fr 3fr}}
.ab-shot{display:grid;gap:10px;margin:0;overflow:hidden}
.ab-shot img{display:block;width:100%;height:clamp(240px,34vw,500px);object-fit:cover;object-position:var(--image-focus,50% 50%)}
.ab-shot figcaption{font:400 .8125rem/1.4 var(--utility);color:#a1a1a6;text-align:left}

/* Servicios · 11 de octubre: la lista del cliente, cada servicio con una línea que lo define, y el grupo «Lo nuevo». */
.cp-spec-list{display:grid;gap:0 clamp(24px,3vw,48px);margin:0}
@media(min-width:760px){.cp-spec-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cp-spec-list>div{display:grid;gap:4px;padding:14px 0;border-bottom:1px solid var(--cp-line)}
.cp-spec-list dt{font:500 clamp(1.0625rem,1.3vw,1.1875rem)/1.3 var(--body);color:#f5f5f7}
.cp-spec-list dd{margin:0;font:400 .9375rem/1.5 var(--body);color:var(--cp-grey)}
.cp-spec-row.is-new h3,.cp-service-group.is-new h4{color:#ff5c70}
.light .cp-service-group.is-new h4{color:#b3142a}
@media(min-width:1100px){.cp-service-groups{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Capacidades · lectura clara por defecto. La preferencia automática sigue al sistema,
   no un reloj supuesto. Alcance: índice + seis páginas, nunca la identidad de todo el sitio. */
html.cap-family{color-scheme:light;--cap-surface:#fff;--cap-panel:#f5f5f3;--cap-text:#171717;--cap-muted:#555;--cap-line:#d5d5d2;--cap-accent:#b3142a;--cp-grey:var(--cap-muted);--cp-ink-grey:var(--cap-muted);--cp-line:var(--cap-line);--cp-ink-line:var(--cap-line)}
html.cap-family[data-cap-theme="dark"]{color-scheme:dark;--cap-surface:#101010;--cap-panel:#191919;--cap-text:#f5f5f7;--cap-muted:#b7b7bc;--cap-line:#38383a;--cap-accent:#ff5c70}
html.cap-family body{background:var(--cap-surface)}
html.cap-family main{background:var(--cap-surface);color:var(--cap-text)}
html.cap-family :is(.editorial-intro,.cpx,.cp-stage,.cp-scene,.cp-scene.light,.cp-say,.cp-spec,.cp-work,.cp-more,.scope-note,.breadcrumbs){background:var(--cap-surface);color:var(--cap-text)}
html.cap-family :is(.cp-three,.cp-method,.where,.where.light){background:var(--cap-panel);color:var(--cap-text)}
html.cap-family .cp-scene.light:not(.is-active){background:var(--cap-panel)}
html.cap-family :is(.editorial-title,.editorial-title span,.cp-scene h2,.cp-service-group h4,.cp-hero h1,.cp-say-lead,.cp-spec-row h3,.cp-spec-list dt,.cp-more-list strong,.cp-work-tile strong,.cp-steps strong,.cp-gets,.where h2),html.cap-family .cpx .mod-super{color:var(--cap-text)}
html.cap-family :is(.editorial-description,.cp-count,.cp-line,.cp-promise,.cp-service-group li,.cp-hero-line,.cp-say-copy,.cp-spec-list dd,.cp-note,.cp-more-list small,.cp-steps p,.cp-gets span,.cp-work-tile small,.cp-hero-figure figcaption,.where-copy>p,.scope-note p,.breadcrumbs a){color:var(--cap-muted)}
html.cap-family .cpx :is(.mod-line,.eyebrow),html.cap-family .editorial-intro .eyebrow,html.cap-family .cp-hero .eyebrow,html.cap-family .where .eyebrow,html.cap-family .cp-services>h3{color:var(--cap-muted)}
html.cap-family :is(.cp-count span,.cp-steps span,.cp-more-list>a>span,.cp-spec-row.is-new h3,.cp-service-group.is-new h4){color:var(--cap-accent)}
html.cap-family :is(.cp-services,.cp-spec-rows,.cp-spec-row,.cp-spec-list>div,.cp-more-list,.cp-more-list a,.cp-three-list,.cp-three-list li,.cp-steps,.cp-steps li,.where-list,.where-list a,.faq details){border-color:var(--cap-line)}
html.cap-family .cp-spec-list dd{font-size:1rem;line-height:1.65;max-width:48ch}
html.cap-family .cp-spec-list>div{padding-block:18px}
html.cap-family .cp-services>h3{font-size:.875rem;letter-spacing:.16em}
html.cap-family .cp-nav{background:var(--cap-surface);color:var(--cap-text);border-color:var(--cap-line)}
html.cap-family :is(.cp-nav-title,.cp-nav-links a,.cp-nav-links a span,.is-live .cp-rail a){color:var(--cap-muted)}
html.cap-family :is(.cp-nav-links a[aria-current],.cp-nav-links a:hover,.is-live .cp-rail .is-active a,.is-live .cp-rail a:hover){color:var(--cap-text)}
html.cap-family :is(.cp-nav-links a[aria-current] span,.is-live .cp-rail .is-active a span){color:var(--cap-accent)}
html.cap-family :is(.cp-actions,.cp-hero-actions,.cpx) .button-ghost{color:var(--cap-accent);border-color:var(--cap-accent)}
html.cap-family .cpx :is(.faq,.faq details,.faq summary,.faq p){color:var(--cap-text)}
.cp-appearance{display:flex;align-items:center;gap:8px;flex:none;font:400 .75rem/1.2 var(--utility)}
.cp-appearance select{width:108px;min-height:44px;padding:8px;border:1px solid var(--cap-line);border-radius:0;background:var(--cap-surface);color:var(--cap-text);font:inherit;cursor:pointer}
.cp-appearance select:focus-visible{outline:2px solid var(--red);outline-offset:2px}
html.cap-family .cp-nav-links{min-width:0;flex:1}
html.cap-family .cp-nav-inner{gap:16px}
html.cap-family .cp-nav-cta{border-radius:0!important;min-height:44px}
@media(max-width:1199px){.cp-appearance>span{display:none}}
@media(max-width:699px){.cp-appearance select{width:90px;font-size:.75rem}html.cap-family .cp-nav-inner{gap:10px}}
.cap-opening-media{position:relative;aspect-ratio:var(--r,1.7778);width:100%;background:#eee;overflow:hidden}
.cap-opening-media video{display:block;width:100%;height:100%;object-fit:contain}
.cap-opening-controls{position:absolute;bottom:12px;right:12px;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.cap-opening-controls button{min-height:44px;padding:8px 12px;border:1px solid #777;background:#fff;color:#111;font:400 .75rem/1.2 var(--utility);cursor:pointer}
.cap-opening-controls button[hidden]{display:none}
html.cap-family .editorial-intro .brand-caption{color:var(--cap-muted);font-size:.75rem}
html.cap-family .editorial-intro .route-visual{background:none}
@media(max-width:640px){.cap-opening-controls{bottom:8px;right:8px}.cap-opening-controls button{padding:8px;font-size:.75rem}}

/* ==========================================================================
   CAPACIDADES · NUEVAS PROPORCIONES · 12 de octubre. El cliente: «los textos y acomodos están mal proporcionados; al
   inicio no se entiende bien la primera frase; haz una mejora drástica». La apertura dice el titular completo y en
   orden; cada capacidad ocupa una pantalla con tres zonas: nombre en grande + una frase + dos salidas, el medio
   grande al lado y los servicios debajo. Se retira el índice lateral: la barra local ya marca dónde estás.
   Usa las variables de tema de la familia (clara, automática, oscura).
   ========================================================================== */
.page-intro.cp-hub-hero{padding:clamp(56px,7vw,104px) 0 clamp(40px,5vw,72px)}
.cp-hub-hero h1{max-width:none;font-size:clamp(3rem,7.6vw,7.75rem);line-height:.9}
html.cap-family .cp-hub-hero h1 span{color:var(--cap-accent)}
.cp-hub-hero .cp-hero-line{max-width:50ch;font-size:clamp(1.1875rem,1.8vw,1.5625rem);line-height:1.3}
html.cap-family .cp-hub-hero .cp-hero-line{color:var(--cap-text)}
.cp-hub-hero .cp-hero-figure{margin-top:clamp(36px,5vw,72px)}
.cp-hub-hero .cap-opening-media{width:min(calc(100% - var(--gutter)*2),calc(68vh*var(--r,1.7778)),1200px)}
.cp-hub-hero .cap-opening-media video{position:static;object-fit:cover}
.cp-hub-reading{display:flex;justify-content:center;margin-top:clamp(18px,2vw,28px)}

.cp-stage .cp-scene{display:grid;grid-template-columns:minmax(0,1fr);row-gap:0;padding:0 0 clamp(48px,10vw,80px)}
.cp-stage .cp-copy{display:grid;justify-items:start;align-content:center;gap:clamp(14px,1.8vw,22px);padding:clamp(28px,6vw,48px) 20px 0}
.cp-stage .cp-copy>*{grid-column:auto;grid-row:auto;margin:0}
.cp-stage .cp-scene h2{margin:0;font-size:clamp(2.75rem,5.6vw,5.75rem);line-height:.9;text-wrap:balance}
.cp-stage .cp-line{max-width:22ch;margin:0;font:400 clamp(1.375rem,2.2vw,2.125rem)/1.16 var(--body);letter-spacing:-.014em;text-wrap:balance}
html.cap-family .cp-stage .cp-line{color:var(--cap-text)}
.cp-stage .cp-actions{margin-top:clamp(4px,.8vw,10px)}
.cp-stage .cp-media{position:relative;display:block;order:-1;width:100%;aspect-ratio:16/11;overflow:hidden;background:var(--cap-panel,#f5f5f3)}
.cp-stage .cp-media.is-cut{background:none}
.cp-stage .cp-media.is-cut .cutout{position:absolute;inset:4% 6%;width:88%;height:92%;object-fit:contain}
.cp-stage .cp-services{margin:clamp(28px,6vw,44px) 20px 0;padding-top:clamp(18px,2.2vw,28px)}
@media(min-width:960px){
  .cp-stage .cp-scene{grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto auto;column-gap:clamp(32px,5vw,88px);row-gap:clamp(32px,4.4vw,64px);align-items:center;padding:clamp(72px,9vw,128px) max(clamp(20px,5vw,72px),calc((100% - 1344px)/2))}
  .cp-stage .cp-copy{grid-column:1;grid-row:1;padding:0}
  .cp-stage .cp-media{grid-column:2;grid-row:1;order:0;aspect-ratio:16/10;align-self:center}
  .cp-stage .cp-services{grid-column:1/-1;grid-row:2;margin:0}
}
/* Escena anclada: mismas tres zonas, medidas con la altura de la pantalla para que quepan con margen. */
.cp-stage.is-live .cp-stage-sticky{display:block;width:min(calc(100% - clamp(40px,10vw,144px)),1344px)}
.cp-stage.is-live .cp-scenes{position:relative;height:100%}
.cp-stage.is-live .cp-scene{position:absolute;inset:0;grid-template-rows:auto auto;align-content:center;row-gap:clamp(18px,3.6vh,44px);padding:0;background:transparent}
.cp-stage.is-live .cp-scene h2{margin:0;font-size:clamp(2.6rem,min(5.2vw,8.6vh),5.5rem)}
.cp-stage.is-live .cp-line{margin:0;font-size:clamp(1.25rem,min(2.1vw,3.6vh),2rem)}
.cp-stage.is-live .cp-count{margin:0}
.cp-stage.is-live .cp-media{justify-self:end;width:auto;max-width:100%;height:min(44vh,460px)}
.cp-stage.is-live .cp-services{margin:0;padding-top:clamp(14px,2.2vh,24px);opacity:0;transform:translateY(22px);transition:opacity .35s var(--ease),transform .35s var(--ease)}
.cp-stage.is-live .is-active .cp-services{opacity:1;transform:none;transition:opacity .6s var(--ease) .34s,transform .8s var(--ease) .34s}
/* En la escena anclada la barra de color del borde quedaba dentro del encuadre, no en la orilla de la pantalla. */
.cp-stage.is-live .cp-scene.light::after{display:none}

/* Páginas de capacidad: mismas proporciones que el índice. El nombre oficial cabe en dos líneas, la frase en dos, y
   el medio asoma en la primera pantalla. */
.cpx .page-intro.cp-hero{padding-top:clamp(56px,7vw,104px)}
.cpx .cp-hero h1{max-width:19ch;font-size:clamp(2.75rem,6.2vw,6.25rem);line-height:.92}
.cpx .cp-hero-line{max-width:44ch;font-size:clamp(1.1875rem,1.8vw,1.5625rem);line-height:1.3}
html.cap-family .cpx .cp-hero-line{color:var(--cap-text)}
.cpx .cp-hero-media{margin-top:clamp(36px,5vw,72px)}
.cpx .cp-say-lead{max-width:30ch;font-size:clamp(1.5rem,2.9vw,2.625rem);line-height:1.14}

/* ==========================================================================
   PÁGINA DE PRODUCTO · 12 de octubre (piloto: Producción de contenido). El cliente eligió tratar cada capacidad como
   Apple trata un producto: mucho espacio, una idea por pantalla y el trabajo real como protagonista. «Lo esencial»
   reutiliza el carrusel de pantalla ancha; cada grupo de servicios tiene después su capítulo con el medio grande,
   una frase y los servicios plegados. Usa las variables de tema de la familia.
   ========================================================================== */
.cpp-highlights .mod-head{margin-bottom:clamp(28px,3.4vw,44px)}
html.cap-family .cpx .cpp-highlights .mod-super{color:#f5f5f7}
.cpp-chapters{display:grid}
.cpp-chapter{display:grid;gap:clamp(24px,5vw,40px);align-items:center;padding:clamp(56px,9vw,128px) max(20px,calc((100% - 1344px)/2));border-top:1px solid var(--cap-line,#d5d5d2)}
.cpp-chapter:nth-child(even){background:var(--cap-panel,#f5f5f3)}
/* Capítulo en negro: para una pieza que ya viene sobre negro puro y así queda sin marco, apoyada en la pantalla. */
html.cap-family .cpp-chapter.is-dark{--cap-text:#f5f5f7;--cap-muted:#b7b7bc;--cap-line:#38383a;--cap-accent:#ff5c70;background:#000;border-top-color:#000;color:#f5f5f7}
.cpp-chapter.is-dark+.cpp-chapter{border-top-color:transparent}
/* La pieza se apoya en el borde de la pantalla y en la base del capítulo: sus cortes coinciden con los del marco. */
.cpp-chapter.is-dark{padding-bottom:0}
.cpp-chapter.is-dark .cpp-media{order:2;align-self:end;margin-inline:calc(-1*max(20px,(100vw - 1344px)/2))}
.cpp-chapter.is-dark .cpp-shot{position:relative;margin-inline:0 auto}
.cpp-chapter.is-dark .cpp-shot figcaption{position:absolute;left:0;bottom:14px;padding-inline:20px}
@media(min-width:960px){
  .cpp-chapter.is-dark{padding-top:clamp(40px,5vw,72px)}
  .cpp-chapter.is-dark .cpp-media{order:0;margin-inline:0}
  .cpp-chapter.is-dark.is-flip .cpp-media{order:2}
  .cpp-chapter.is-dark.is-flip .cpp-shot{margin-inline:auto 0}
  .cpp-chapter.is-dark .cpp-copy{align-self:center;padding-bottom:clamp(40px,5vw,72px)}
}
@media(min-width:960px){
  /* El medio ocupa más de la mitad de la pantalla y llega a su orilla: el trabajo manda, el texto acompaña. */
  .cpp-chapter{grid-template-columns:minmax(0,58%) minmax(0,42%);column-gap:0;padding:clamp(72px,9vw,136px) 0}
  .cpp-chapter.is-flip{grid-template-columns:minmax(0,42%) minmax(0,58%)}
  .cpp-chapter.is-flip .cpp-media{order:2}
  .cpp-copy{padding-inline:clamp(36px,5.4vw,96px)}
  .cpp-media .local-film>figcaption,.cpp-shot figcaption{padding-inline:clamp(20px,2.4vw,36px)}
  .cpp-chapter.is-reels .cpp-media{padding-inline:clamp(20px,3vw,48px)}
  .cpp-chapter.is-reels .local-film>figcaption{padding-inline:0}
}
.cpp-highlights .jg-track{--h:clamp(320px,calc(100svh - 400px),700px)}
/* «Lo esencial» con el texto debajo de la pieza: el diseño trae sus propias letras y no admite texto encima. */
.cpp-highlights.is-clean .jg-card{display:grid;align-content:start;aspect-ratio:auto;overflow:visible;background:transparent}
.cpp-highlights.is-clean .jg-card::after{content:none}
.cpp-highlights.is-clean .jg-media{position:relative;inset:auto;aspect-ratio:16/9;overflow:hidden;background:#0b0b0b}
.cpp-highlights.is-clean .jg-copy{position:static;gap:6px;padding:clamp(14px,1.8vw,24px) 0 0}
.cpp-highlights.is-clean .jg-copy h3{font-size:clamp(2rem,3.2vw,3.25rem)}
.cpp-highlights.is-clean .jg-copy .button{margin-top:8px}
@media(min-width:760px){
  .cpp-highlights.is-clean .jg-track{--h:clamp(300px,calc(100svh - 440px),660px)}
  .cpp-highlights.is-clean .jg-copy{grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:24px}
  .cpp-highlights.is-clean .jg-copy>:not(.button){grid-column:1}
  .cpp-highlights.is-clean .jg-copy .button{grid-column:2;grid-row:1/span 3;margin:0}
  .cpp-highlights.is-clean .jg-line{max-width:none}
}
.cpp-media{min-width:0}
/* La pieza entra completa: el ancho se limita para que una pieza cuadrada o vertical no pase de la altura de la pantalla. */
.cpp-shot{display:grid;gap:12px;width:min(100%,calc(72svh*var(--r,1.6)),var(--w,100%));margin:0 auto}
.cpp-shot img{display:block;width:100%;height:auto;aspect-ratio:var(--r,1.6);object-fit:cover}
.cpp-shot figcaption{font:400 .8125rem/1.4 var(--utility);color:var(--cap-muted,#555)}
.cpp-media .local-film>figcaption{border-color:var(--cap-line,#d5d5d2)}
.cpp-media .local-film>figcaption h3{color:var(--cap-text,#171717)}
.cpp-media .local-film>figcaption p{color:var(--cap-muted,#555)}
.cpp-chapter.is-reels .cpp-media{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1.2vw,16px)}
.cpp-chapter.is-reels .local-film[data-format=vertical] .local-media-stage{max-height:none}
.cpp-chapter.is-reels .local-film>figcaption{min-height:0;padding:10px 0 0;border:0}
.cpp-chapter.is-reels .local-film>figcaption .media-signature{display:none}
.cpp-copy{display:grid;justify-items:start;align-content:center;gap:clamp(14px,1.8vw,22px);min-width:0}
.cpp-copy>*{margin:0}
main .cpp-copy h2{font-size:clamp(2.75rem,5.6vw,5.75rem);line-height:.9;text-wrap:balance}
.cpp-line{max-width:24ch;font:400 clamp(1.375rem,2.2vw,2.125rem)/1.16 var(--body);letter-spacing:-.014em;color:var(--cap-text,#171717);text-wrap:balance}
html.cap-family .cpp-chapter.is-new .cp-count span,html.cap-family .cpp-chapter.is-new h2{color:var(--cap-accent)}
.cpp-more{width:100%;margin-top:clamp(6px,1vw,14px);border-top:1px solid var(--cap-line,#d5d5d2);border-bottom:1px solid var(--cap-line,#d5d5d2)}
.cpp-more summary{display:flex;align-items:center;gap:12px;min-height:56px;cursor:pointer;list-style:none;font:500 1rem/1.2 var(--utility);color:var(--cap-text,#171717)}
.cpp-more summary::-webkit-details-marker{display:none}
.cpp-more summary b{font:400 .8125rem/1 var(--display);letter-spacing:.18em;color:var(--cap-muted,#555)}
.cpp-more summary i{position:relative;width:16px;height:16px;margin-left:auto}
.cpp-more summary i::before,.cpp-more summary i::after{content:'';position:absolute;left:0;right:0;top:50%;height:1.5px;margin-top:-.75px;background:currentColor;transition:transform .4s var(--ease)}
.cpp-more summary i::after{transform:rotate(90deg)}
.cpp-more[open] summary i::after{transform:rotate(0)}
.cpp-more summary:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.cpp-more .cp-spec-list{grid-template-columns:minmax(0,1fr);padding-bottom:8px}
.cpp-more .cp-spec-list>div:last-child{border-bottom:0}
.cpp-more .cp-spec-list dt{color:var(--cap-text,#171717)}

/* ==========================================================================
   PÁGINA DE PRODUCTO · LAS SEIS CAPACIDADES Y EL TELÉFONO (12 de octubre)
   El cliente: «quiero que en el teléfono también se vea bien» y «utiliza material ajeno o prestado o deja espacios
   de referencia para las capacidades que hacen falta».
   ========================================================================== */
/* Espacio de referencia: lugar reservado para un medio que el cliente aún no entrega. Dice qué va ahí y usa la misma
   retícula que los retratos pendientes del equipo, para que «pendiente» se lea igual en todo el sitio. */
.cpp-ref{display:grid;place-content:center;justify-items:center;gap:10px;aspect-ratio:16/10;padding:clamp(20px,4vw,48px);background-color:#0b0b0b;background-image:linear-gradient(#232325 1px,transparent 1px),linear-gradient(90deg,#232325 1px,transparent 1px);background-size:6.25% 10%;color:#f5f5f7;text-align:center}
.cpp-ref>*{margin:0}
.cpp-ref-mark{width:0;height:0;border-inline:9px solid transparent;border-top:15px solid var(--red)}
.cpp-ref-tag{font:400 .8125rem/1.4 var(--display);letter-spacing:.24em;text-transform:uppercase;color:#a1a1a6}
.cpp-ref-need{max-width:30ch;font:400 clamp(1rem,1.5vw,1.25rem)/1.35 var(--body);color:#f5f5f7;text-wrap:balance}
.cpp-ref .texto-relleno{background:none;cursor:auto}
.cpp-ref .texto-relleno::after{content:none}
.jg-media .cpp-ref{position:absolute;inset:0;aspect-ratio:auto}
/* Imagen de fuente pequeña en el carrusel: a su tamaño real y centrada; no se estira para llenar la tarjeta. */
.cpp-highlights .jg-media.is-native img{inset:0;margin:auto;width:min(100%,var(--w));height:auto;max-height:100%;object-fit:contain}
/* Video prestado dentro de un capítulo: en su proporción y siempre con su rótulo. */
.cpp-shot-clip video{display:block;width:100%;height:auto;aspect-ratio:var(--r,1.7778);object-fit:cover;background:#0b0b0b}

/* Sitios en línea, como muestra: lista corta de enlaces bajo los servicios del capítulo. */
.cpp-live{width:100%;display:grid;gap:4px;font-family:var(--utility)}
.cpp-live>p{margin:0;font:400 .8125rem/1.4 var(--display);letter-spacing:.24em;text-transform:uppercase;color:var(--cap-muted,#555)}
.cpp-live ul{list-style:none;display:grid;margin:0;padding:0}
.cpp-live li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 16px;min-height:44px;border-bottom:1px solid var(--cap-line,#d5d5d2)}
.cpp-live a,.cpp-live b{display:inline-flex;align-items:center;min-height:44px;font:500 1rem/1.2 var(--utility);color:var(--cap-text,#171717)}
.cpp-live a{text-decoration:underline;text-decoration-color:var(--cap-accent,#b3142a);text-underline-offset:4px}
.cpp-live a:hover,.cpp-live a:focus-visible{color:var(--cap-accent,#b3142a)}
.cpp-live b{color:var(--cap-muted,#555)}
.cpp-live li>span{font:400 .875rem/1.3 var(--utility);color:var(--cap-muted,#555)}

/* Teléfono y tableta en vertical: el medio de cada capítulo va de orilla a orilla (el margen le quitaba tamaño al
   trabajo) y su pie conserva el margen del texto. */
@media(max-width:959px){
  .cpp-chapter .cpp-media{margin-inline:-20px}
  .cpp-media .cpp-shot figcaption,.cpp-media .local-film>figcaption{padding-inline:20px}
  .cpp-chapter.is-reels .cpp-media{margin-inline:0}
}
/* Teléfono: los tres verticales dejan de ir en miniatura, uno junto a otro; pasan a una fila que se desliza, con el
   siguiente asomando para que se entienda el gesto. Los pies vuelven a leerse en una o dos líneas. */
@media(max-width:759px){
  .cpp-chapter.is-reels .cpp-media{display:flex;gap:10px;margin-inline:-20px;padding-inline:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:20px;scrollbar-width:none}
  .cpp-chapter.is-reels .cpp-media::-webkit-scrollbar{display:none}
  .cpp-chapter.is-reels .local-film{flex:0 0 62vw;scroll-snap-align:start}
  .cpp-chapter.is-reels .local-film>figcaption{padding-inline:0}
  .cpp-shot figcaption{font-size:.875rem}
}
/* Dedo: los enlaces de texto y la ruta de navegación amplían su zona de toque hasta los 44 px de alto, sin mover nada. */
@media(pointer:coarse){
  .cpx .text-link::before,.breadcrumbs a::before{content:'';position:absolute;inset:-8px 0}
  .breadcrumbs a{position:relative}
  .breadcrumbs a::before{inset:-13px -4px}
}

/* ==========================================================================
   JUGADAS GANADORAS · ENCABEZADO (12 de octubre)
   El cliente: «el texto en varios niveles en la web no se ve bien, pero en el celular sí; adapta una versión que se
   vea bien en los 2 contextos». En teléfono no cambia nada. Desde tableta, el encabezado se lee en el mismo orden y
   en una sola columna (antetítulo, «Trabajo», «real.», «Lectura directa.», descripción), con el trabajo al lado.
   ========================================================================== */
@media(min-width:761px){
  .editorial-intro--work{grid-template-columns:minmax(0,.4fr) minmax(0,.6fr);column-gap:clamp(32px,5vw,88px);row-gap:clamp(20px,2.4vw,32px);align-items:start}
  .editorial-intro--work>.editorial-masthead{grid-column:1;grid-row:1;align-self:end;--editorial-size:clamp(6.5rem,13vw,13.5rem)}
  .editorial-intro--work .editorial-masthead .editorial-title{grid-template-columns:minmax(0,1fr);gap:14px}
  .editorial-intro--work .editorial-title>.editorial-prefix{max-width:none;padding-block:2px}
  .editorial-intro--work .editorial-prefix::before{top:2px;bottom:2px}
  .editorial-intro--work .editorial-title>.editorial-tail{grid-column:1;margin-top:0}
  .editorial-intro--work>.editorial-description{grid-column:1;grid-row:2;align-self:start}
  .editorial-intro--work>.route-visual{grid-column:2;grid-row:1/span 2;align-self:center}
}


/* ==========================================================================
   SERVICIOS A LA VISTA (13 de octubre)
   El cliente: «baja los servicios». En el índice de Capacidades cada capacidad se resume en sus grupos, con una
   frase; la lista completa queda plegada al final. En los capítulos, «Servicios» ya no lleva contador.
   ========================================================================== */
.cp-service-group p{margin:0;max-width:30ch;font:400 .9375rem/1.45 var(--body);color:#d2d2d7;text-wrap:pretty}
.light .cp-service-group p{color:#424245}
html.cap-family .cp-service-group p{color:var(--cap-muted)}
.cp-all{padding-block:clamp(8px,2vw,24px) clamp(40px,6vw,80px);background:var(--cap-surface,#fff);color:var(--cap-text,#171717)}
.cp-all details{border-top:1px solid var(--cap-line,#d5d5d2);border-bottom:1px solid var(--cap-line,#d5d5d2)}
.cp-all summary{display:flex;align-items:center;gap:12px;min-height:64px;cursor:pointer;list-style:none;font:500 1.0625rem/1.2 var(--utility);color:var(--cap-text,#171717)}
.cp-all summary::-webkit-details-marker{display:none}
.cp-all summary i{position:relative;width:16px;height:16px;margin-left:auto}
.cp-all summary i::before,.cp-all summary i::after{content:'';position:absolute;left:0;right:0;top:50%;height:1.5px;margin-top:-.75px;background:currentColor;transition:transform .4s var(--ease)}
.cp-all summary i::after{transform:rotate(90deg)}
.cp-all details[open] summary i::after{transform:rotate(0)}
.cp-all summary:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.cp-all-rows{display:grid;gap:clamp(28px,4vw,48px);padding-block:clamp(16px,2.4vw,32px) clamp(28px,4vw,48px)}
.cp-all-cap{display:grid;gap:14px}
.cp-all-cap h3{margin:0;font:400 clamp(1.5rem,2.4vw,2rem)/1 var(--display);letter-spacing:.01em;text-transform:uppercase}
.cp-all-cap h3 a{color:inherit;text-decoration:none}
.cp-all-cap h3 a:hover,.cp-all-cap h3 a:focus-visible{color:var(--cap-accent,#b3142a)}
.cp-all .cp-service-group li{color:var(--cap-muted,#555)}

/* ==========================================================================
   LOGOFOLIO (14 de octubre)
   El cliente: «un apartado de logofolio, una sección sencilla de todos los logos que hemos creado». Va en Branding,
   después de los capítulos. Cada logotipo en su color original, sobre el mismo panel claro (también en lectura
   oscura: hay logotipos con tinta oscura) y con la misma superficie visual. Sin sombras ni esquinas.
   ========================================================================== */
.logofolio{padding-block:clamp(64px,8vw,120px);background:var(--cap-surface,#fff);color:var(--cap-text,#171717)}
.logo-grid{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.6vw,20px) clamp(10px,1.4vw,16px);width:min(1180px,calc(100% - 40px));margin:clamp(28px,3.4vw,44px) auto 0;padding:0}
@media(min-width:760px){.logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.logo-grid li{min-width:0}
.logo-grid a,.logo-grid li>div{display:grid;gap:10px;color:inherit;text-decoration:none}
.logo-tile{display:grid;place-items:center;aspect-ratio:3/2;background:#f5f5f7;transition:background-color .4s var(--ease)}
.logo-tile img{display:block;width:var(--w,50%);height:auto;max-height:78%;object-fit:contain}
@media(max-width:759px){.logo-tile img{width:min(88%,calc(var(--w,50%) * 1.3))}}
.logo-grid a:hover .logo-tile,.logo-grid a:focus-visible .logo-tile{background:#ebebee}
.logo-grid a:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.logo-name{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px;min-height:24px}
.logo-name strong{font:500 .9375rem/1.3 var(--utility)}
.logo-name small{font:400 .875rem/1.3 var(--utility);color:var(--cap-muted,#555)}


/* =========================================================================
   POLÍTICA · PÁGINA DEL SECTOR «GOBIERNO Y CAMPAÑAS» (14 de octubre, el cliente: «robustécela con el contenido e
   imágenes»). Servicios en retícula de seis grupos, el descargo de la pauta a la vista, trabajo en filas justificadas
   (cada pieza completa, todas las de una fila a la misma altura, sin recorte ni ampliación) y trayectoria en tabla.
   Sin tarjetas, sin sombras, esquinas rectas, líneas finas.
   ========================================================================= */
.pol-grid{max-width:1040px;margin:56px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 56px}
.pol-group h3{margin:0 0 18px;font:400 clamp(1.6rem,2.2vw,2rem)/1 var(--display);letter-spacing:.04em;text-transform:uppercase}
.pol-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.pol-list li,.pol-defs div{position:relative;padding-left:20px;font:400 1rem/1.45 var(--body)}
.pol-list li::before,.pol-defs div::before{content:'';position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--red)}
.pol-defs{margin:0;display:grid;gap:14px}
.pol-defs dt{font:500 1rem/1.4 var(--body)}
.pol-defs dd{margin:4px 0 0;font:400 .9375rem/1.45 var(--body);opacity:.72}
.pol-lock{margin:22px 0 0;padding-left:16px;border-left:3px solid var(--red);font:500 1rem/1.45 var(--body)}
.pol-case{max-width:1040px;margin:72px auto 0}
.pol-case + .pol-case{padding-top:72px;border-top:1px solid rgb(127 127 127/.25)}
.pol-case-copy{max-width:640px;margin-bottom:28px}
.pol-nowrap{white-space:nowrap}
.pol-case-copy h3{margin:8px 0 12px;font:400 clamp(2.25rem,4.4vw,3.5rem)/.95 var(--display);text-transform:uppercase}
.pol-case-copy p:not(.eyebrow){margin:0;font:400 clamp(1.0625rem,1.4vw,1.1875rem)/1.5 var(--body)}
.pol-row{display:flex;gap:16px;align-items:flex-start}
.pol-row + .pol-row{margin-top:16px}
.pol-piece{margin:0;min-width:0}
.pol-piece img{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:auto}
.pol-piece figcaption{margin-top:10px;font:400 .875rem/1.4 var(--body);opacity:.7}
/* Una pieza sola (la identidad de Santa María del Oro, casi toda en blanco) no ocupa todo el ancho. */
.pol-row-single{max-width:760px}
.pol-table{width:100%;max-width:1040px;margin:48px auto 0;border-collapse:collapse;font:400 .9375rem/1.45 var(--body);text-align:left}
.pol-table caption{padding-bottom:14px;text-align:left;font:400 1.5rem/1 var(--display);letter-spacing:.04em;text-transform:uppercase}
.pol-table thead th{padding:0 16px 10px 0;font:400 .8125rem/1 var(--display);letter-spacing:.18em;text-transform:uppercase;opacity:.6}
.pol-table td,.pol-table tbody th{padding:12px 16px 12px 0;vertical-align:top;border-top:1px solid rgb(127 127 127/.25)}
.pol-table tbody th{font-weight:500}
.pol-table .pol-year{width:110px;font:400 1.25rem/1.1 var(--display);letter-spacing:.04em;white-space:nowrap}
.pol-table .pol-what{opacity:.75}
.pol-table tbody th{width:250px}
.pol-table td:nth-child(3){width:270px}
.pol-record-photos{max-width:1040px;margin:48px auto 0}
.pol-note{margin:12px 0 0;font:400 .875rem/1.4 var(--body);opacity:.7}
@media (max-width:960px){.pol-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .pol-grid{grid-template-columns:1fr;gap:40px}
  /* Las piezas de cada caso, en una tira que se desliza con la siguiente asomando (como los verticales de Capacidades). */
  .pol-pieces{display:flex;gap:12px;align-items:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
    margin-right:calc(50% - 50vw);padding-right:calc(50vw - 50%);overscroll-behavior-x:contain}
  .pol-pieces::-webkit-scrollbar{display:none}
  .pol-row{display:contents}
  .pol-piece{flex:0 0 80%!important;scroll-snap-align:start}
  .pol-row-single .pol-piece:only-child{flex-basis:100%!important}
  .pol-table thead{display:none}
  .pol-table,.pol-table tbody,.pol-table tr,.pol-table td,.pol-table tbody th{display:block;width:auto}
  .pol-table tr{padding:14px 0;border-top:1px solid rgb(127 127 127/.25)}
  .pol-table td,.pol-table tbody th{padding:2px 0;border:0}
  .pol-table .pol-year:empty{display:none}
}
/* Política · valor del servicio (14 de octubre, segunda vuelta: «mejorar la sensación de un servicio de calidad y alto
   valor» sin diseños nuevos). Todo tipográfico: el ciclo completo, las relaciones que siguieron y las reglas que se cuidan. */
.pol-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.pol-cycle{max-width:1040px;margin:56px auto 0;padding:0;list-style:none}
.pol-step{display:grid;grid-template-columns:84px minmax(0,300px) minmax(0,1fr);gap:8px 40px;align-items:baseline;padding:30px 0;border-top:1px solid rgb(127 127 127/.3)}
.pol-step:last-child{border-bottom:1px solid rgb(127 127 127/.3)}
.pol-step-num{font:400 clamp(2.25rem,3.4vw,3rem)/.9 var(--display);color:var(--red)}
.pol-step h3{margin:0;font:400 clamp(1.9rem,3vw,2.6rem)/.95 var(--display);letter-spacing:.01em;text-transform:uppercase}
.pol-step p{margin:0;font:400 clamp(1.0625rem,1.4vw,1.25rem)/1.45 var(--body)}
.pol-step small{display:block;margin-top:10px;font:500 .875rem/1.4 var(--body);opacity:.62}
.pol-bonds{max-width:1040px;margin:56px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 64px}
.pol-bond{padding:34px 0;border-top:1px solid rgb(127 127 127/.3)}
.pol-bond strong{display:block;font:500 1.0625rem/1.3 var(--body);opacity:.8}
.pol-bond p{margin:12px 0 0;font:400 clamp(2.4rem,4.4vw,3.75rem)/.95 var(--display);text-transform:uppercase;letter-spacing:.005em}
.pol-bond p span[aria-hidden]{color:var(--red);padding-inline:.12em}
.pol-bond small{display:block;margin-top:14px;font:400 .9375rem/1.45 var(--body);opacity:.62;max-width:40ch}
.pol-rules{max-width:1040px;margin:56px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 64px}
.pol-rule{padding-top:22px;border-top:2px solid var(--red)}
.pol-rule h3{margin:0;font:500 clamp(1.25rem,1.8vw,1.5rem)/1.25 var(--body)}
.pol-rule p{margin:12px 0 0;font:400 1.0625rem/1.55 var(--body);opacity:.72}
.pol-full-cases{max-width:1040px;margin:96px auto 0}
.pol-sub{margin:0 0 28px;font:400 clamp(1.6rem,2.4vw,2.1rem)/1 var(--display);letter-spacing:.04em;text-transform:uppercase}
@media (max-width:760px){
  .pol-step{grid-template-columns:52px minmax(0,1fr);gap:6px 14px;padding:24px 0}
  .pol-step > div{grid-column:2}
  .pol-bonds,.pol-rules{grid-template-columns:1fr;gap:0}
  .pol-rules{gap:36px}
  .pol-full-cases{margin-top:64px}
}
/* Las tarjetas de caso nacieron para fondo claro; dentro de la trayectoria (negro) sus grises se aclaran para leerse bien. */
.pol-record .sector-case .eyebrow{color:#a1a1a6}
.pol-record .sector-case p:not(.eyebrow){color:#c7c7cc}
.pol-record .sector-case .text-link{border-color:#6e6e73}

/* =========================================================================
   MOVIMIENTO · CRITERIO DE EMIL KOWALSKI (20 de octubre; el cliente: «agregar la skill de Emil Kowalski para todas las
   animaciones y botones»; skills en .claude/skills/). Rige la RESPUESTA de la interfaz: botones, controles, hover, acordeones
   e índices. Las entradas y escenas al desplazar (GSAP, 0.9–1.4 s, --ease) siguen como se aprobaron.
   Reglas: presionar se siente al instante (scale .97, 160 ms, ease-out fuerte); la interfaz responde en menos de 300 ms;
   el hover que mueve cosas solo existe con ratón (en pantallas táctiles el toque lo deja «pegado»); movimiento reducido y
   la pausa manual quitan el movimiento, no la respuesta de color.
   ========================================================================= */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--t-press:160ms;--t-ui:220ms;--t-media:500ms}

/* 1. Presionar: todo lo que se pulsa responde con CSS (antes lo hacía Motion en JavaScript y solo en 49 de 75 páginas). */
.button,.qualify-form .button,.nav-cta,.cp-nav-cta,.jg-arrow,.jg-pause,.menu-toggle,.motion-toggle,.video-close,.manifesto-play,.form-back,.folio-filters button,[data-loop-play],[data-scene-static]{
  transition:background-color var(--t-ui) ease,color var(--t-ui) ease,border-color var(--t-ui) ease,transform var(--t-press) var(--ease-out)}
.wa-float{transition:background-color var(--t-ui) ease,border-color var(--t-ui) ease,transform var(--t-press) var(--ease-out)}
.video-sound-action{transition:background-color var(--t-ui) ease,border-color var(--t-ui) ease,transform var(--t-press) var(--ease-out)}
.button:active,.qualify-form .button:active,.nav-cta:active,.cp-nav-cta:active,.wa-float:active,.jg-arrow:active,.jg-pause:active,.menu-toggle:active,.motion-toggle:active,
.video-close:active,.manifesto-play:active,.form-back:active,.folio-filters button:active,.video-sound-action:active,[data-loop-play]:active,[data-scene-static]:active{transform:scale(.97)}
.jg-dot:active{transform:scale(.95)}
.jg-dot{transition:width .3s var(--ease-out),transform var(--t-press) var(--ease-out)}
.jg-dot i{transition-duration:.3s;transition-timing-function:var(--ease-out)}
@media (prefers-reduced-motion:reduce){
  .button:active,.qualify-form .button:active,.nav-cta:active,.cp-nav-cta:active,.wa-float:active,.jg-arrow:active,.jg-pause:active,.jg-dot:active,.menu-toggle:active,.motion-toggle:active,
  .video-close:active,.manifesto-play:active,.form-back:active,.folio-filters button:active,.video-sound-action:active,[data-loop-play]:active,[data-scene-static]:active{transform:none}
}
html.motion-paused .button:active,html.motion-paused .nav-cta:active,html.motion-paused .cp-nav-cta:active,html.motion-paused .wa-float:active,html.motion-paused .jg-arrow:active,
html.motion-paused .jg-pause:active,html.motion-paused .jg-dot:active,html.motion-paused .menu-toggle:active,html.motion-paused .motion-toggle:active,html.motion-paused .video-close:active,
html.motion-paused .manifesto-play:active,html.motion-paused .form-back:active,html.motion-paused .folio-filters button:active,html.motion-paused .video-sound-action:active{transform:none}

/* 2. La interfaz responde en menos de 300 ms (antes había subrayados y colores a 900 ms e índices a 600 ms). */
.text-link::after,.menu-links a,.footer-grid a,.origin .brand-path a::before,.case-mosaic-arrow{transition-duration:250ms;transition-timing-function:var(--ease-out)}
.sector-stage-sign,.case-more summary span,.cpp-more summary i::before,.cpp-more summary i::after,.cp-all summary i::before,.cp-all summary i::after{transition-duration:200ms;transition-timing-function:var(--ease-out)}
.logo-tile,.sector-card,.motion-play{transition-duration:var(--t-ui)}
.home-sector-list a{transition-duration:250ms,var(--t-ui)}
.form-track i{transition-duration:300ms;transition-timing-function:var(--ease-out)}
.crew-n,.crew-who{transition-duration:200ms;transition-timing-function:var(--ease-out)}
.crew.is-live .crew-detail,.crew.is-live .crew-detail-inner{transition-duration:280ms;transition-timing-function:var(--ease-out)}
.crew.is-live .is-active .crew-detail{transition-duration:280ms;transition-delay:0s}

/* 3. Fotos que se acercan al pasar el ratón: más cortas (500 ms en lugar de 0.8–1.2 s); salir también es rápido. */
.case-visual img,.menu-feature>img,.idea-feature-media>img,.film-media>img,.project-feature-media>img,.case-mosaic-media img,.portfolio-inline>img,.visual-selection-card img,
.motion-card-media>img,.sector-card-media img,.sector-case-media img,.rail-media img,.rail-media video,.sector-row-media img,.folio-media img,.folio-media video,.cp-work-media img,
.mod-tile-media img,.mod-tile-media.is-cut .cutout,.wall-image img{transition-duration:var(--t-media);transition-timing-function:var(--ease-out)}

/* 4. En pantallas táctiles el toque activa :hover y lo deja puesto: ahí el hover no mueve nada (el color sí puede cambiar). */
@media (hover:none),(pointer:coarse){
  .button-red:hover,.wa-float:hover,.video-sound-action:hover,.cap-card:hover .card-bottom>span,.case-card:hover .case-open,.case-card:hover img,.menu-feature:hover>img,
  .idea-feature:hover img,.film-media:hover>img,.project-feature-media:hover>img,.case-mosaic-card:hover .case-mosaic-media img,.portfolio-inline:hover>img,
  .visual-selection-card:hover img,.motion-card:hover .motion-card-media>img,.motion-card:hover .motion-play,.sector-card:hover .sector-card-media img,
  .sector-case:hover .sector-case-media img,.rail-panel:hover .rail-media img,.home-sector-list a:hover img,.folio-media:hover img,.folio-media:hover video,
  .cp-work-tile:hover img,.mod-tile:hover .mod-tile-media img,.wall-tile a:hover .wall-image img{transform:none}
}

/* Aviso de privacidad simplificado en el formulario de contacto (art. 16 LFPDPPP, 21 de octubre) */
.qualify-form .aviso-simplificado{font-size:.8125rem;line-height:1.6;color:#55554c;margin:12px 0 0;max-width:72ch}
.qualify-form .aviso-simplificado a{text-decoration:underline;text-underline-offset:3px}
.aviso-privacidad .aviso-fecha{font-size:.875rem;color:#a8a89d}

/* MENÚ · EL SET Y POLITICS (23 de octubre). El desplegable de «El set» no es un megamenú: con `.dropdown{position:static}`
   (direction.css) su panel se anclaba al encabezado y salía cortado contra el borde izquierdo, en dos columnas. Ahora cae
   bajo su propio botón, en una columna, con la misma superficie, línea y esquinas que los megamenús. «Politics» usa el
   megamenú de siempre (solo texto). */
@media (min-width:1021px){
  .set-dropdown{position:relative}
  /* Va casi al final del menú (orden del cliente, 23 de octubre): el panel se alinea a la derecha de su botón. */
  .set-dropdown>.dropdown-panel{top:100%;left:auto;right:-20px;width:300px;padding:12px 20px 14px;border:1px solid #3a3a3a;border-radius:0;background:#1c1c18;box-shadow:none}
  .set-dropdown .menu-links{grid-template-columns:minmax(0,1fr);gap:0}
  .set-dropdown .dropdown-panel .menu-links a,.set-dropdown .dropdown-panel .menu-links a:first-child{grid-column:auto;justify-content:space-between;margin:0;padding:15px 0;white-space:nowrap}
  .set-dropdown .dropdown-panel .menu-links a:last-child{border-bottom:0}
  .menu-links .menu-sectors .menu-cta{margin-left:auto}
}
.menu-links .menu-sectors .menu-cta{color:inherit}
.set-dropdown .dropdown-panel .menu-links a{justify-content:space-between}
