/*
Theme Name: RUBIK DESIGN
Author: RUBIK
Description: RUBIK DESIGN visual portfolio — v6.0
Version: 9.15.1
Requires PHP: 8.0
*/
:root{--ink:#101010;--paper:#f4f2ec}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:"DM Sans",Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}.skip-link{position:absolute;top:-100px;left:8px;z-index:500;background:white;color:black;padding:10px}.skip-link:focus{top:10px}.progress{position:fixed;top:0;left:0;width:0;height:2px;background:#eee;z-index:200}.topbar.v6-top{position:relative;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(20px,5vw,90px);height:90px;background:#111;z-index:20;border-bottom:1px solid #303030}.brand-logo{width:65px;height:65px;object-fit:contain}.v6-nav{display:flex;gap:clamp(15px,3vw,50px);font-weight:900;font-size:12px;letter-spacing:.16em}.v6-nav a{transition:opacity .2s}.v6-nav a:hover{opacity:.55}.v6-hero{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 2vw 85px;background:radial-gradient(ellipse at 50% 40%,#292929,#101010 70%)}.v6-brand{font-size:min(var(--v6-brand-vw,11vw),180px);line-height:1.08;white-space:nowrap;letter-spacing:-.08em;margin:0 auto 30px;font-weight:1000;max-width:100%;transform-origin:center}.v6-font-stencil{font-family:Georgia,serif;font-weight:900;letter-spacing:-.095em;font-style:italic;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.v6-font-display{font-family:Georgia,serif;font-style:italic;letter-spacing:-.11em}.v6-font-mono{font-family:monospace;letter-spacing:-.12em}.v6-font-serif{font-family:Georgia,serif;letter-spacing:-.075em}.v6-font-brutal{font-family:"Arial Black",Arial,sans-serif;letter-spacing:-.095em}.v6-slogan{font-weight:900;font-size:clamp(18px,3vw,44px);letter-spacing:-.055em;margin:0 0 18px}.v6-intro{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#bbb}.v6-home-gallery{display:flex;flex-direction:column;gap:0}.v6-media{margin:0;background:#1b1b1b;line-height:0;min-height:35vh}.v6-media img,.v6-media video{display:block;width:100%;height:auto;min-height:35vh;max-height:100vh;object-fit:cover}.v6-end{padding:clamp(90px,12vw,220px) 5vw;text-align:center}.v6-end h2{font-size:clamp(40px,9vw,150px);line-height:.92;letter-spacing:-.075em;margin:0 0 35px}.v6-end a{display:inline-block;border:1px solid #aaa;padding:16px 26px;font-size:13px;font-weight:900}.v6-projects,.v6-project-single,.v6-page{padding:90px clamp(20px,5vw,90px) 130px;min-height:80vh}.v6-projects>h1,.v6-project-single>h1,.v6-page>h1{font-size:clamp(56px,11vw,175px);line-height:.9;letter-spacing:-.08em;margin:20px 0 70px;overflow-wrap:normal}.v6-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.v6-project-card{display:block;position:relative;overflow:hidden;background:#222}.v6-project-card>img,.v6-project-placeholder{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform .5s}.v6-project-card:hover>img{transform:scale(1.035)}.v6-project-placeholder{display:grid;place-items:center;color:#999}.v6-project-caption{padding:18px 2px 30px}.v6-project-caption h2{font-size:clamp(20px,3vw,44px);margin:0 0 6px}.v6-project-caption p,.v6-project-meta{color:#aaa;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.v6-project-meta{display:flex;gap:35px;margin-bottom:30px}.v6-project-cover{display:block;width:100%;height:auto;max-height:90vh;object-fit:cover}.v6-project-copy,.v6-page-copy{max-width:900px;font-size:clamp(17px,2vw,23px);line-height:1.65;margin:40px 0 70px}.v6-contact-email{font-size:clamp(20px,4vw,54px);overflow-wrap:anywhere}.v6-footer{padding:35px 5vw 45px;border-top:1px solid #444;color:#aaa;font-size:12px}.v6-footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.v6-footer-inner>div{display:flex;gap:18px;flex-wrap:wrap}.v6-footer button{background:none;border:0;color:inherit;padding:0;cursor:pointer}.v6-legal{margin-right:12px}.v6-back{position:fixed;left:22px;bottom:22px;z-index:95;background:#f4f2ec;color:#111;padding:13px 18px;font-size:11px;font-weight:900;letter-spacing:.1em;box-shadow:0 4px 25px #0008}.cube-cursor{position:fixed;z-index:9999;left:0;top:0;width:43px;height:43px;pointer-events:none;opacity:0;will-change:transform;filter:drop-shadow(0 0 4px #000)}.cube-cursor svg{width:100%;height:100%}.mutant-letter{display:inline-block;transform-origin:50% 55%;transition:transform .25s cubic-bezier(.2,1.35,.35,1)}.rubik-word{display:inline-block;white-space:nowrap}.rubik-consent{position:fixed;bottom:20px;left:20px;z-index:1000;background:#f4f2ec;color:#111;padding:22px;width:min(650px,calc(100vw - 40px));box-shadow:0 8px 35px #0008;font-size:14px}.rubik-consent[hidden]{display:none!important}.rubik-consent h2{margin:0 0 15px;font-size:24px}.rubik-consent label{display:block;margin:10px 0}.consent-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.consent-actions button{background:#111;color:#fff;border:1px solid #111;padding:12px;font-weight:900;font-size:11px}.consent-note{font-size:12px}.v6-pagination{margin-top:30px}@media(hover:hover) and (pointer:fine){html,body,body *,body *::before,body *::after{cursor:auto!important}a,button,[role="button"],label,select,input[type="checkbox"]{cursor:pointer!important}input:not([type="checkbox"]),textarea{cursor:text!important}}@media(max-width:700px){.topbar.v6-top{height:76px;padding:10px 16px}.brand-logo{width:45px;height:45px}.v6-nav{gap:12px;font-size:10px;letter-spacing:.03em}.v6-hero{min-height:60vh}.v6-brand{font-size:min(var(--v6-brand-vw,11vw),16vw);letter-spacing:-.09em}.v6-project-grid{grid-template-columns:1fr}.v6-media img,.v6-media video{min-height:0}.cube-cursor{display:none}.v6-back{bottom:12px;left:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mutant-letter{transition:none}}

/* RUBIK v7: expressive editorial typography and no overlaps */
@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Anton&family=Space+Grotesk:wght@400;500;700&family=Unbounded:wght@500;700;900&display=swap');
.v6-brand.v6-font-display{font-family:'Unbounded','Arial Black',sans-serif;font-weight:900;font-style:normal;letter-spacing:-.085em;line-height:1.12;clip-path:none;}
.v6-brand.v6-font-stencil{font-family:'Anton',sans-serif;font-style:normal;letter-spacing:-.03em;}
.v6-brand.v6-font-brutal{font-family:'Archivo Black',sans-serif;}
.v6-slogan{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:.01em;}
.v6-nav,.v6-project-caption h2,.v6-end h2{font-family:'Unbounded',sans-serif;}
.v6-brand{font-size:min(var(--v6-brand-vw,11vw),10vw);padding:0 .05em;white-space:nowrap;}
.v7-statement{min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:9vw 5vw;background:#121212;color:#f3f0e8;text-align:center;overflow:hidden;}
.v7-statement:nth-child(4n){background:#292929;}
.v7-statement-index{font:700 11px 'Space Grotesk',sans-serif;letter-spacing:.25em;color:#b2aaa0;margin:0 0 32px;}
.v7-statement h2{font:900 clamp(36px,7.8vw,132px)/1.06 'Unbounded',sans-serif;letter-spacing:-.07em;max-width:1500px;margin:0;overflow-wrap:normal;}
.v6-media img{filter:none!important;backdrop-filter:none!important;opacity:1!important;transform:none;object-position:center;}
.v6-footer{padding-bottom:clamp(70px,8vw,115px);}
.v6-back{position:static;display:inline-flex;align-items:center;max-width:max-content;margin:28px 0 28px clamp(18px,5vw,90px);z-index:2;}
.rubik-consent{z-index:10001;}
@media(max-width:700px){.v6-brand{font-size:min(var(--v6-brand-vw,11vw),9vw)}.v7-statement{min-height:40vh}.v7-statement h2{font-size:clamp(27px,9vw,65px)}.v6-back{margin:18px 16px 26px;}}

/* V8: poster-inspired cinematic layout; original logo untouched */
@import url('https://fonts.googleapis.com/css2?family=Black+Ops+One&family=Rubik+Mono+One&family=Staatliches&family=Syne:wght@400;700;800&display=swap');
.v6-hero{min-height:55vh;background:#0a0a0a;padding:70px 2vw 60px;}
.v6-brand.v6-font-display{font-family:'Black Ops One',Impact,sans-serif!important;font-style:normal!important;font-weight:400!important;letter-spacing:-.055em!important;font-size:min(var(--v6-brand-vw,11vw),10vw);text-shadow:2px 2px 0 #5e5e5e;}
.v6-slogan{font-family:'Staatliches',sans-serif!important;font-size:clamp(22px,3.2vw,56px);font-weight:400!important;letter-spacing:.025em!important;}
.v7-statement{min-height:32vh;padding:55px 6vw 62px;align-items:flex-start;text-align:left;border-top:1px solid #444;border-bottom:1px solid #444;background:#0b0b0b!important;}
.v7-statement:nth-of-type(4n){background:#1c1c1c!important;}
.v7-statement h2{font-family:'Rubik Mono One',Impact,sans-serif!important;font-size:clamp(32px,6vw,110px);line-height:.96;letter-spacing:-.065em;max-width:1300px;text-transform:uppercase;overflow-wrap:normal;}
.v7-statement-index{font-family:'Staatliches',sans-serif;font-size:15px;letter-spacing:.18em;color:#f7f2e9;margin-bottom:20px;}
.v8-story{max-width:780px;font:600 clamp(15px,1.5vw,23px)/1.45 'Syne',sans-serif;color:#bfbfbf;margin:24px 0 0;}
.v6-media{min-height:0;overflow:hidden;position:relative;background:#080808;}
.v6-media img{width:100%;height:auto;min-height:0;max-height:none;object-fit:cover;filter:none!important;opacity:1!important;}
.v6-nav{font-family:'Staatliches',sans-serif;font-size:16px;letter-spacing:.08em;}
.v6-projects>h1,.v6-project-single>h1,.v6-page>h1,.v6-end h2,.v6-project-caption h2{font-family:'Black Ops One',sans-serif!important;}
.v6-footer{padding-bottom:40px}.v6-back{position:static!important;margin:25px clamp(20px,5vw,90px);display:inline-flex;}
@media(max-width:700px){.v6-hero{min-height:42vh;padding:45px 12px}.v7-statement{padding:38px 18px;min-height:25vh}.v7-statement h2{font-size:clamp(28px,8.4vw,64px)}.v8-story{font-size:15px}.v6-brand.v6-font-display{font-size:8.8vw!important}}

/* V9 — typographic identities and functional controls */

.v6-brand.v6-font-display,.v6-brand.v6-font-stencil,.v6-brand.v6-font-mono,.v6-brand.v6-font-serif,.v6-brand.v6-font-brutal{font-family:'Climate Crisis','Arial Black',sans-serif!important;font-weight:400!important;font-style:normal!important;letter-spacing:-.065em!important;text-shadow:none!important;font-size:clamp(32px,var(--v6-brand-vw,9vw),150px)!important;white-space:nowrap;}
.v6-slogan{font-family:'Bungee Shade',system-ui,sans-serif!important;font-size:clamp(18px,3vw,52px)!important;font-weight:400!important;line-height:1.35!important;letter-spacing:0!important;max-width:96vw;}
.v6-end h2,.v6-page:has(.v6-contact-email)>h1{font-family:'Rubik Wet Paint','Fascinate Inline',sans-serif!important;font-weight:400!important;letter-spacing:-.02em!important;line-height:1.12!important;}
.v7-statement h2{font-family:'Rubik Glitch','Climate Crisis',sans-serif!important;font-weight:400!important;letter-spacing:-.025em!important;line-height:1.06!important;}
.v6-nav{font-size:13px!important;letter-spacing:.12em!important;gap:clamp(15px,2vw,32px)!important;font-family:'Righteous',sans-serif!important;font-weight:400!important;}
.v6-nav a{padding:10px 0;}
.v6-media img{width:100%!important;height:auto!important;max-height:none!important;min-height:0!important;filter:none!important;opacity:1!important;object-fit:contain!important;}
.v6-hero{background:#0c0c0c!important;}
.v9-social{display:flex;align-items:center;flex-wrap:wrap;gap:20px;padding:20px 0 12px;min-height:64px;}
.v9-social a{display:inline-flex;align-items:center;gap:10px;color:#f4f2ec;min-width:30px;min-height:36px;}
.v9-social svg{width:25px;height:25px;display:block;flex-shrink:0;}
.v9-social a:hover{color:#df9775;}
.v9-phone span{font-size:15px;font-weight:700;letter-spacing:.03em;}
.v9-go-up-zone{display:flex;justify-content:flex-end;padding:15px clamp(20px,5vw,90px) 35px;background:#111;min-height:90px;}
.v9-go-up{background:transparent;border:1px solid #bbb;color:#f5f1e9;padding:14px 20px;font-family:'Righteous',sans-serif;letter-spacing:.1em;font-size:13px;min-height:46px;cursor:pointer;}
.v9-go-up:hover{background:#f5f1e9;color:#111;}
.v6-back{position:static!important;display:inline-flex!important;margin:30px clamp(20px,5vw,90px)!important;}
.rubik-consent{z-index:2147483646!important;pointer-events:auto!important;}
.rubik-consent button,.rubik-consent input,.v6-footer button{pointer-events:auto!important;position:relative;z-index:1;}
.rubik-consent button{cursor:pointer;touch-action:manipulation;}
.cube-cursor{pointer-events:none!important;z-index:9999!important;}
@media(max-width:700px){.v6-brand.v6-font-display,.v6-brand.v6-font-stencil,.v6-brand.v6-font-mono,.v6-brand.v6-font-serif,.v6-brand.v6-font-brutal{font-size:8.3vw!important;}.v6-slogan{font-size:clamp(15px,4.5vw,29px)!important;}.v6-end h2{font-size:clamp(35px,10vw,76px)!important;}.v9-go-up-zone{justify-content:center;}.v6-nav{font-size:11px!important;}}

/* v9.1 — typography refresh: brand logo stays untouched. */
@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Bricolage+Grotesque:opsz,wght@12..96,800&family=Syne:wght@800&display=swap');
.v6-slogan{font-family:'Syne','Arial Black',sans-serif!important;font-weight:800!important;font-style:normal!important;letter-spacing:-.055em!important;line-height:1.1!important;}
.v6-end h2,.v6-page:has(.v6-contact-email)>h1{font-family:'Bricolage Grotesque','Arial Black',sans-serif!important;font-weight:800!important;font-style:normal!important;letter-spacing:-.065em!important;line-height:.98!important;}
.v7-statement h2{font-family:'Archivo Black','Arial Black',sans-serif!important;font-weight:900!important;font-style:normal!important;letter-spacing:-.055em!important;line-height:1.02!important;text-shadow:none!important;filter:none!important;}
/* Scroll-to-top appears as soon as the top header has left the viewport. */
.v9-go-up-zone{position:fixed!important;right:clamp(12px,3vw,38px);bottom:clamp(12px,3vw,32px);z-index:190;display:block!important;padding:0!important;background:transparent!important;min-height:0!important;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease,visibility .2s;}
.v9-go-up-zone.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
.v9-go-up{background:#f4f2ec!important;color:#111!important;border:1px solid #111!important;box-shadow:0 6px 25px #0008;}
.v9-go-up:hover{background:#111!important;color:#f4f2ec!important;border-color:#f4f2ec!important;}
body:has(.rubik-consent:not([hidden])) .v9-go-up-zone{bottom:clamp(12px,3vw,32px);z-index:90;}
@media(max-width:700px){.v9-go-up-zone{right:12px!important;bottom:12px!important}.v9-go-up{font-size:11px;padding:12px 14px}}
@media(prefers-reduced-motion:reduce){.v9-go-up-zone{transition:none}}

/* RUBIK v9.3 — expressive editorial type, no glitch, original RUBIK logo untouched */
@import url('https://fonts.googleapis.com/css2?family=Bowlby+One+SC&family=Unbounded:wght@700;800;900&display=swap');
.v6-end h2,.v6-page:has(.v6-contact-email)>h1{font-family:'Bowlby One SC','Arial Black',sans-serif!important;font-weight:400!important;letter-spacing:-.075em!important;line-height:.89!important;font-size:clamp(48px,10.2vw,188px)!important;text-transform:uppercase;transform:skew(-3deg);text-wrap:balance;transition:transform .35s cubic-bezier(.2,1.4,.3,1),letter-spacing .35s ease;}
.v6-end h2:hover{transform:skew(2deg) scale(1.025);letter-spacing:-.09em!important;}
.v7-statement h2{font-family:'Unbounded','Arial Black',sans-serif!important;font-weight:900!important;letter-spacing:-.09em!important;line-height:.98!important;font-size:clamp(36px,7vw,126px)!important;text-transform:uppercase;font-stretch:expanded;text-shadow:none!important;filter:none!important;transform:skew(-2deg);transform-origin:left center;transition:transform .35s ease,letter-spacing .35s ease;}
.v7-statement:nth-of-type(even) h2{letter-spacing:-.075em!important;transform:skew(2deg);}
.v7-statement h2:hover{transform:skew(0deg) translateX(12px);letter-spacing:-.105em!important;}
.v93-footer-inner{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:start;gap:22px;}
.v93-footer-nav{display:flex;align-items:center;justify-content:center;gap:clamp(12px,2vw,28px);flex-wrap:wrap;text-align:center;}
.v93-footer-nav a,.v93-footer-nav button{white-space:nowrap;font-size:12px;letter-spacing:.02em;}
.v93-footer-legal{display:flex;justify-content:flex-end;gap:16px;flex-wrap:wrap;font-size:11px;}
.v93-footer-inner a:hover,.v93-footer-inner button:hover{color:#f4f2ec;}
@media(max-width:950px){.v93-footer-inner{grid-template-columns:1fr!important;justify-items:center;text-align:center;}.v93-footer-legal{justify-content:center;}.v93-footer-nav{order:0}.v93-footer-legal{order:1}.v93-copyright{order:2}}
@media(max-width:700px){.v6-end h2,.v6-page:has(.v6-contact-email)>h1{font-size:clamp(38px,10vw,82px)!important;overflow-wrap:anywhere;}.v7-statement h2{font-size:clamp(30px,8.2vw,72px)!important;letter-spacing:-.07em!important;overflow-wrap:anywhere;}.v93-footer-nav{gap:12px 18px;}}
@media(prefers-reduced-motion:reduce){.v6-end h2,.v7-statement h2{transition:none!important;}}

/* v9.4 — expressive typography, stable 3-line headings */
.v7-statement h2{
  font-family:'Unbounded','Arial Black',sans-serif!important;
  font-weight:900!important;
  font-size:var(--rubik-fit-size,clamp(30px,7vw,126px))!important;
  line-height:1.06!important;
  letter-spacing:-.075em!important;
  transform:none!important;
  text-wrap:wrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  max-width:100%;
  transition:none!important;
  font-kerning:normal;
}
.v7-statement:nth-of-type(even) h2,.v7-statement h2:hover{
  transform:none!important;letter-spacing:-.075em!important;
}
.v7-statement h2 .rubik-word{white-space:nowrap;}
.v7-statement h2 .mutant-letter{transform-origin:50% 55%;transition:transform .32s cubic-bezier(.2,1.7,.25,1),color .2s ease;}
.v7-statement h2 .rubik-word:nth-child(3n+1) .mutant-letter:nth-child(3n+2){font-style:italic;}
.v7-statement h2 .rubik-word:nth-child(4n+2) .mutant-letter:nth-child(2n){-webkit-text-stroke:.012em currentColor;}
.v7-statement h2:hover .rubik-word:nth-child(3n+1) .mutant-letter:nth-child(3n+2){color:#d8a28d;}
.v6-end h2,.v6-page:has(.v6-contact-email)>h1{
  font-family:'Bowlby One SC','Arial Black',sans-serif!important;
  font-weight:400!important;
  transform:none!important;
  letter-spacing:-.075em!important;
  transition:none!important;
}
.v6-end h2:hover{transform:none!important;letter-spacing:-.075em!important;}
.v6-end h2 .mutant-letter{transition:transform .38s cubic-bezier(.16,1.8,.24,1),color .25s ease;}
.v6-end h2 .rubik-word:nth-child(even) .mutant-letter:nth-child(3n){font-style:italic;}
.v6-end h2:hover .rubik-word:nth-child(even) .mutant-letter:nth-child(3n){color:#d8a28d;}
@media(max-width:700px){.v7-statement h2{font-size:var(--rubik-fit-size,clamp(26px,8vw,72px))!important;}}
@media(prefers-reduced-motion:reduce){.v7-statement h2 .mutant-letter,.v6-end h2 .mutant-letter{transition:none!important;}}

/* v9.5 — RUBIK experimental kinetic type. Transforms never alter layout metrics. */
.v7-statement h2,.v6-end h2{isolation:isolate;}
.v7-statement h2 .mutant-letter,.v6-end h2 .mutant-letter{position:relative;vertical-align:baseline;}
.v7-statement h2 .rubik-glyph,.v6-end h2 .rubik-glyph{
  display:inline-block;position:relative;transform-origin:50% 65%;
  transform:translate3d(var(--rx,0px),var(--ry,0px),0) rotate(var(--rr,0deg)) skewX(var(--sk,0deg)) scaleX(var(--sx,1)) scaleY(var(--sy,1));
  transition:transform 560ms cubic-bezier(.15,1.65,.2,1),color 350ms ease,filter 350ms ease;
  will-change:transform;
}
.v7-statement h2 .mutant-letter:nth-child(5n+2) .rubik-glyph{font-style:italic;}
.v7-statement h2 .mutant-letter:nth-child(7n+4) .rubik-glyph{-webkit-text-stroke:.015em currentColor;}
.v7-statement h2:hover .rubik-glyph,.v6-end h2:hover .rubik-glyph{
  transform:translate3d(var(--hx,0px),var(--hy,0px),0) rotate(var(--hr,0deg)) skewX(var(--hs,0deg)) scaleX(var(--hw,1)) scaleY(var(--hh,1));
}
.v7-statement h2 .rubik-word:nth-child(4n+2) .rubik-glyph{color:#e4c0a6;}
.v7-statement h2:hover .rubik-word:nth-child(4n+2) .rubik-glyph{color:inherit;}
.v6-end h2 .rubik-word:nth-child(3n+2) .rubik-glyph{color:#d8a28d;}
.v6-end h2:hover .rubik-word:nth-child(3n+2) .rubik-glyph{color:#f4f2ec;}
@media(max-width:700px){
 .v7-statement h2 .rubik-glyph,.v6-end h2 .rubik-glyph{--rx:0px!important;--ry:0px!important;--rr:0deg!important;--sk:0deg!important;--sx:1!important;--sy:1!important;}
}
@media(prefers-reduced-motion:reduce){
 .v7-statement h2 .rubik-glyph,.v6-end h2 .rubik-glyph{transition:none!important;transform:none!important;will-change:auto!important;}
}

/* v9.6 split media: same height, independently replaceable, no blur */
.v96-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,1.2vw,22px);padding:clamp(8px,1.2vw,22px);background:#101010}
.v96-pair-cell{margin:0;min-width:0;aspect-ratio:4/5;overflow:hidden;background:#202020}
.v96-pair-cell img,.v96-pair-cell video{display:block;width:100%;height:100%;object-fit:cover;filter:none!important;opacity:1!important}
@media(max-width:650px){.v96-pair{grid-template-columns:1fr}.v96-pair-cell{aspect-ratio:16/11}}

/* v9.8 — expressive editorial typography, not novelty/gaming fonts.
   Word wrapping remains controlled by the existing three-line fit script. */
@import url('https://fonts.googleapis.com/css2?family=Anybody:ital,wdth,wght@0,50..150,100..900;1,50..150,100..900&family=Bricolage+Grotesque:opsz,wdth,wght@12..96,75..100,200..800&display=swap');
.v7-statement h2{
  font-family:'Anybody','Arial Black',sans-serif!important;
  font-variation-settings:'wdth' 115!important;
  font-weight:900!important;
  font-style:normal!important;
  letter-spacing:-.085em!important;
  line-height:1.035!important;
  text-shadow:none!important;
  filter:none!important;
  -webkit-text-stroke:0!important;
}
.v6-end h2,.v6-page:has(.v6-contact-email)>h1{
  font-family:'Bricolage Grotesque','Arial Black',sans-serif!important;
  font-weight:800!important;
  font-optical-sizing:auto;
  font-variation-settings:'wdth' 100!important;
  letter-spacing:-.085em!important;
  line-height:.96!important;
  -webkit-text-stroke:0!important;
  text-shadow:none!important;
  filter:none!important;
}
/* Keep expressive movement but remove decorative color and faux italic gimmicks. */
.v7-statement h2 .rubik-glyph,.v6-end h2 .rubik-glyph{
  color:inherit!important;
  font-style:normal!important;
  -webkit-text-stroke:0!important;
  filter:none!important;
}
.v7-statement h2 .rubik-word:nth-child(4n+2) .rubik-glyph,
.v6-end h2 .rubik-word:nth-child(3n+2) .rubik-glyph{color:inherit!important;}
.v7-statement h2 .mutant-letter:nth-child(5n+2) .rubik-glyph,
.v6-end h2 .mutant-letter:nth-child(5n+2) .rubik-glyph{font-style:normal!important;}
@media(max-width:700px){.v7-statement h2{font-variation-settings:'wdth' 100!important;}}

/* v9.9 — user-supplied Bocalupo webfont, local (no third-party font request). */
@font-face{font-family:'RUBIK Bocalupo';src:url('assets/fonts/Bocalupo-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;}
.v7-statement h2,.v6-end h2,.v6-page:has(.v6-contact-email)>h1{font-family:'RUBIK Bocalupo',sans-serif!important;font-weight:400!important;font-variation-settings:normal!important;font-optical-sizing:auto;letter-spacing:-.025em!important;}
.v7-statement h2{line-height:1.06!important;}
.v6-end h2{line-height:1.05!important;}

/* v9.10 — user-supplied XCicero Cesare, restrained monochrome kinetic typography. */
@font-face {
  font-family:'RUBIK Cesare';
  src:url('assets/fonts/Cesare-Regular.woff2') format('woff2');
  font-style:normal;font-weight:400;font-display:swap;
}
.v7-statement h2,.v6-end h2,.v6-page:has(.v6-contact-email)>h1 {
  font-family:'RUBIK Cesare',sans-serif!important;
  font-weight:400!important;
  font-variation-settings:normal!important;
  letter-spacing:-.025em!important;
}
.v7-statement h2 .rubik-glyph,.v6-end h2 .rubik-glyph,
.v7-statement h2:hover .rubik-glyph,.v6-end h2:hover .rubik-glyph,
.v7-statement h2 .mutant-letter,.v6-end h2 .mutant-letter,
.v7-statement h2:hover .mutant-letter,.v6-end h2:hover .mutant-letter {
  color:inherit!important;
  -webkit-text-stroke:0!important;
  font-style:normal!important;
  filter:none!important;
  text-shadow:none!important;
}
.v7-statement h2 .rubik-glyph,.v6-end h2 .rubik-glyph {
  transition:transform 350ms ease-out!important;
  transition-delay:0ms!important;
}

/* v9.11 — readability fix: preserve Cesare, remove all letter distortion.
   This applies to project statements and the GOT A CRAZY IDEA heading only. */
.v7-statement h2,
.v7-statement h2:hover,
.v6-end h2,
.v6-end h2:hover {
  transform:none!important;
  filter:none!important;
  text-shadow:none!important;
  letter-spacing:-.025em!important;
}
.v7-statement h2 .mutant-letter,
.v7-statement h2:hover .mutant-letter,
.v6-end h2 .mutant-letter,
.v6-end h2:hover .mutant-letter,
.v7-statement h2 .rubik-glyph,
.v7-statement h2:hover .rubik-glyph,
.v6-end h2 .rubik-glyph,
.v6-end h2:hover .rubik-glyph {
  transform:none!important;
  animation:none!important;
  transition:none!important;
  color:inherit!important;
  font-style:normal!important;
  -webkit-text-stroke:0!important;
  filter:none!important;
  text-shadow:none!important;
  letter-spacing:inherit!important;
  will-change:auto!important;
}

/* v9.12: neutralize kinetic movement while keeping all other JS features. */
.v7-statement h2 .mutant-letter,.v6-end h2 .mutant-letter,
.v7-statement h2 .rubik-glyph,.v6-end h2 .rubik-glyph,
.v7-statement h2:hover .mutant-letter,.v6-end h2:hover .mutant-letter {
 transform:none!important; animation:none!important; transition:none!important;
 color:inherit!important; filter:none!important;
}

/* v9.13 compact trusted brands strip */
.rubik-trusted{max-width:1240px;margin:0 auto;padding:38px 24px 30px;text-align:center}
.rubik-trusted h2{font:600 11px/1.4 system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;opacity:.58;margin:0 0 24px}
.rubik-trusted-grid{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:24px 38px}
.rubik-trusted-logo{width:clamp(84px,11vw,132px);height:48px;display:flex;align-items:center;justify-content:center}
.rubik-trusted-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.72;transition:opacity .2s ease}
.rubik-trusted-logo:hover img{opacity:1}
@media(max-width:600px){.rubik-trusted{padding:30px 18px 24px}.rubik-trusted-grid{gap:18px 24px}.rubik-trusted-logo{width:90px;height:38px}}

/* v9.14 — Cesare: readable, subtle editorial hover; never recolor letters. */
.v6-end h2{
  font-family:'RUBIK Cesare',sans-serif!important;
  font-size:clamp(34px,7vw,112px)!important;
  line-height:1.13!important;
  letter-spacing:-.02em!important;
  width:100%;max-width:100%;margin-left:auto;margin-right:auto;
  overflow:visible!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-wrap:balance;
}
.v6-end h2 .rubik-word{display:inline-block;white-space:nowrap;max-width:100%;vertical-align:baseline}
.v6-end h2 .mutant-letter,.v7-statement h2 .mutant-letter{
  transform:none!important;
  display:inline-block;
  color:inherit!important;
  font-style:normal!important;
  -webkit-text-stroke:0!important;
  filter:none!important;
  animation:none!important;
  transition:transform .32s cubic-bezier(.2,.8,.2,1)!important;
  will-change:auto!important;
}
.v6-end h2 .rubik-glyph,.v7-statement h2 .rubik-glyph{
  transform:none!important;transition:none!important;
  color:inherit!important;font-style:normal!important;
}
.v6-end h2:hover .rubik-word:nth-child(2n) .mutant-letter,
.v7-statement h2:hover .rubik-word:nth-child(2n) .mutant-letter{
  transform:translateY(-2px)!important;
}
.v6-end h2:hover .rubik-word:nth-child(2n+1) .mutant-letter,
.v7-statement h2:hover .rubik-word:nth-child(2n+1) .mutant-letter{
  transform:translateY(1px)!important;
}
.v6-end h2:hover .rubik-word .rubik-glyph,
.v7-statement h2:hover .rubik-word .rubik-glyph{transform:none!important}
@media(max-width:700px){
 .v6-end h2{font-size:clamp(30px,8.4vw,65px)!important;line-height:1.16!important}
}
@media(prefers-reduced-motion:reduce){
 .v6-end h2 .mutant-letter,.v7-statement h2 .mutant-letter{transition:none!important}
 .v6-end h2:hover .mutant-letter,.v7-statement h2:hover .mutant-letter{transform:none!important}
}

/* v9.14.1: logos — restrained motion, no recoloring. */
.rubik-trusted-logo img {
  transition: transform .35s cubic-bezier(.22,1,.36,1), opacity .35s ease !important;
  transform: translateY(0) scale(1);
  transform-origin:center;
}
.rubik-trusted-logo:hover img,
.rubik-trusted-logo:focus-within img {
  transform:translateY(-4px) scale(1.045);
  opacity:1;
}
/* Prevent final punctuation from being cropped on the contact headline. */
.v6-end { overflow:visible!important; }
.v6-end h2 { font-size:clamp(30px,6vw,100px)!important; max-width:100%; overflow:visible!important; text-wrap:balance; }
.v6-end h2 .rubik-word { max-width:none!important; }
@media(max-width:700px){.v6-end h2{font-size:clamp(25px,7.5vw,54px)!important}}
@media(prefers-reduced-motion:reduce){.rubik-trusted-logo img{transition:none!important}.rubik-trusted-logo:hover img{transform:none!important}}

/* v9.14.2: larger CTA, fit the entire text including punctuation. */
.v6-end{padding-left:clamp(16px,4vw,72px)!important;padding-right:clamp(16px,4vw,72px)!important;overflow:visible!important;}
.v6-end h2{
 font-family:'RUBIK Cesare',sans-serif!important;
 font-size:var(--rubik-cta-fit,clamp(44px,9.2vw,160px))!important;
 line-height:1.08!important;
 letter-spacing:-.02em!important;
 max-width:100%!important;
 width:100%!important;
 overflow:visible!important;
 overflow-wrap:normal!important;
 word-break:normal!important;
 text-wrap:wrap!important;
 box-sizing:border-box!important;
}
.v6-end h2 .rubik-word{display:inline-block!important;white-space:nowrap!important;max-width:none!important;}
@media(max-width:700px){.v6-end h2{font-size:var(--rubik-cta-fit,clamp(38px,9.2vw,90px))!important;}}

/* v9.14.3 — CTA: force visible question mark, large two-line typography */
.v6-end h2{
 font-family:'RUBIK Cesare',sans-serif!important;
 font-size:var(--rubik-cta-fit,clamp(48px,10vw,160px))!important;
 line-height:1.05!important;
 letter-spacing:-.025em!important;
 display:block!important;
 width:100%!important;
 max-width:100%!important;
 overflow:visible!important;
 text-align:center!important;
 white-space:normal!important;
 transform:none!important;
}
.v6-end h2 .rubik-cta-line{
 display:block!important;
 width:100%!important;
 white-space:nowrap!important;
 overflow:visible!important;
 text-align:center!important;
 transform:none!important;
 color:inherit!important;
}

/* v9.14.4: no dynamic font shrink; visible, substantial headline. */
.v6-end{overflow:visible!important;box-sizing:border-box!important}
.v6-end h2{
 font-family:'RUBIK Cesare',sans-serif!important;
 font-size:clamp(48px,6.5vw,132px)!important;
 line-height:1.12!important;
 letter-spacing:-.02em!important;
 width:100%!important;max-width:100%!important;
 overflow:visible!important;
 display:block!important;
 white-space:normal!important;
 text-align:center!important;
 transform:none!important;
}
.v6-end h2 .rubik-cta-line{
 display:block!important;
 width:100%!important;
 white-space:normal!important;
 overflow-wrap:normal!important;
 text-align:center!important;
 transform:none!important;
}
@media(max-width:700px){
 .v6-end h2{font-size:clamp(32px,6.8vw,58px)!important;}
}

/* v9.14.5: display the whole CTA without clipping */
.v6-end h2{font-size:clamp(44px,7vw,124px)!important;overflow:visible!important}
.v6-end h2 .rubik-cta-line{display:block!important;white-space:normal!important;overflow:visible!important}

/* v9.14.6 — one-line CTA, separate legible punctuation, no auto-shrink */
.v6-end{overflow:visible!important;padding-left:12px!important;padding-right:12px!important}
.v6-end h2{
 display:flex!important;align-items:baseline!important;justify-content:center!important;
 gap:.025em!important;
 font-family:'RUBIK Cesare',sans-serif!important;
 font-size:clamp(32px,7vw,138px)!important;
 font-weight:400!important;
 line-height:1.18!important;
 letter-spacing:-.025em!important;
 white-space:nowrap!important;
 text-wrap:nowrap!important;
 width:100%!important;max-width:100%!important;
 overflow:visible!important;
 transform:none!important;
}
.v6-end h2 .rubik-cta-words{
 display:inline-block!important;white-space:pre!important;flex:0 1 auto!important;
 min-width:0!important;overflow:visible!important;transform:none!important;
}
.v6-end h2 .rubik-cta-punctuation{
 display:inline-block!important;flex:none!important;
 font-family:Arial,Helvetica,sans-serif!important;
 font-size:.85em!important;font-weight:800!important;
 line-height:1!important;letter-spacing:0!important;
 color:inherit!important;transform:none!important;
}
@media(max-width:700px){
 .v6-end h2{font-size:clamp(24px,6.5vw,55px)!important}
}

/* v9.15: usable native pointer with decorative cube; cookie dialog always interactive */
.cube-cursor{pointer-events:none!important;z-index:9998!important}
.rubik-consent{z-index:100000!important;pointer-events:auto!important}
.rubik-consent button,.rubik-consent input,.rubik-consent label{pointer-events:auto!important;cursor:pointer!important}

/* v9.15.1: hide OS cursor only when the custom cube is actually running. */
@media (hover:hover) and (pointer:fine){
 html.rubik-custom-cursor-active,
 html.rubik-custom-cursor-active body,
 html.rubik-custom-cursor-active body *,
 html.rubik-custom-cursor-active body *::before,
 html.rubik-custom-cursor-active body *::after {cursor:none!important;}
}
