
:root{--pub-accent:#d99c6c;--pub-ink:#f6f2ed;--pub-muted:#8d8781;--pub-line:rgba(255,255,255,.11);--pub-panel:#11110f;--pub-panel2:#181714}

/* Header */
.v2-header nav{gap:23px}
.v2-mega-menu{position:relative}
.v2-mega-menu>summary{list-style:none;cursor:pointer;display:flex;gap:5px;align-items:center;font-size:11px;white-space:nowrap}
.v2-mega-menu>summary::-webkit-details-marker{display:none}
.v2-mega-menu>summary span{color:var(--pub-accent);font-size:9px}
.v2-mega-panel{position:absolute;z-index:1000;top:35px;left:50%;transform:translateX(-50%);width:660px;display:grid;grid-template-columns:.72fr 1.28fr;gap:10px;padding:12px;border:1px solid var(--pub-line);border-radius:20px;background:rgba(11,10,8,.97);backdrop-filter:blur(22px);box-shadow:0 35px 90px rgba(0,0,0,.55)}
.v2-mega-menu:not([open])>.v2-mega-panel{display:none}
.menu-intro{padding:18px;border-radius:14px;background:#15130f;display:flex;flex-direction:column;justify-content:flex-end;min-height:270px}
.menu-intro small{color:var(--pub-accent);font-size:7px;letter-spacing:.18em}
.menu-intro b{font-size:25px;line-height:1;letter-spacing:-.04em;margin:8px 0 20px}
.menu-intro a{color:var(--pub-accent);font-size:8px;font-weight:900}
.menu-links{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.menu-links a{display:flex;gap:10px;align-items:center;padding:13px 11px;border-radius:10px;color:#aaa;text-decoration:none;font-size:9px;border:1px solid transparent}
.menu-links a:hover{background:#191713;border-color:var(--pub-line);color:#fff}
.menu-links small{font-size:7px;color:#57514b}

/* Homepage hero */
.home-orbit{position:relative;width:min(42vw,540px);aspect-ratio:1;margin:auto;border:1px solid var(--pub-line);border-radius:50%;animation:orbitFloat 7s ease-in-out infinite}
.home-orbit:before,.home-orbit:after{content:"";position:absolute;inset:13%;border:1px solid rgba(255,255,255,.07);border-radius:50%}.home-orbit:after{inset:28%}
.orbit-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:120px;height:120px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--pub-accent);color:#111}
.orbit-core span{font-size:8px;letter-spacing:.15em}.orbit-core b{font-size:17px}
.home-orbit>a{position:absolute;padding:9px 12px;border:1px solid var(--pub-line);border-radius:999px;background:#0c0c0a;color:#aaa;text-decoration:none;font-size:8px;transition:.25s}
.home-orbit>a:hover{background:#fff;color:#111;transform:scale(1.06)}
.home-orbit .o1{left:5%;top:18%}.home-orbit .o2{right:-2%;top:16%}.home-orbit .o3{right:1%;bottom:20%}.home-orbit .o4{left:6%;bottom:18%}.home-orbit .o5{left:-5%;top:48%}.home-orbit .o6{right:-7%;top:48%}
@keyframes orbitFloat{50%{transform:translateY(-8px)}}

/* Partners in Growth: old-client section, redesigned */
.partners-section{width:min(calc(100% - 28px),var(--max));margin:0 auto;padding:70px 0 82px;border-top:1px solid var(--pub-line);overflow:hidden}
.partners-head{display:grid;grid-template-columns:1fr .66fr;gap:40px;align-items:end;margin-bottom:30px}
.partners-head span{color:var(--pub-accent);font-size:8px;letter-spacing:.17em;font-weight:900}
.partners-head h2{font-size:clamp(50px,6vw,88px);line-height:.89;letter-spacing:-.065em;margin:10px 0 0}
.partners-head h2 em{font-style:normal;color:var(--pub-accent)}
.partners-head p{color:var(--pub-muted);line-height:1.7;max-width:560px}
.logo-marquee{overflow:hidden;margin:8px -12vw;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.logo-track{display:flex;gap:8px;width:max-content;animation:partnerMove 38s linear infinite}
.logo-marquee.reverse .logo-track{animation-direction:reverse;animation-duration:44s}
.logo-marquee:hover .logo-track{animation-play-state:paused}
.logo-track figure{margin:0;width:170px;height:105px;padding:13px;border:1px solid var(--pub-line);border-radius:17px;background:#f3f1ed;display:grid;place-items:center;flex:0 0 auto;transition:.25s}
.logo-track figure:hover{transform:translateY(-4px) rotate(-1deg);background:#fff}
.logo-track img{max-width:100%;max-height:100%;object-fit:contain;display:block}
@keyframes partnerMove{to{transform:translateX(-50%)}}

/* Service listing */
.home-service-list{display:grid;border-top:1px solid var(--pub-line)}
.home-service-list>a{display:grid;grid-template-columns:55px .8fr 1.3fr auto;gap:18px;align-items:center;padding:23px 5px;border-bottom:1px solid var(--pub-line);color:#fff;text-decoration:none;transition:.25s}
.home-service-list>a small{font-size:8px;color:#555}.home-service-list>a h3{margin:0;font-size:19px;letter-spacing:-.03em}.home-service-list>a p{margin:0;color:#777;font-size:10px;line-height:1.55}.home-service-list>a span{font-size:8px;color:var(--pub-accent)}
.home-service-list>a:hover{padding-left:14px;background:#0f0e0c}.home-service-list>a:hover h3{color:var(--pub-accent)}

/* Creative Desk */
.creative-desk-home{overflow:hidden}
.desk-head{display:grid;grid-template-columns:1fr .65fr;gap:35px;align-items:end;margin-bottom:25px}
.desk-head>div:first-child>span,.creative-rooms-hero>span,.portfolio-studio-hero>div>span,.service-index-hero>span,.service-detail-hero>div>span,.section-head>span,.service-index-cta>span,.service-work-link>span,.service-next>span,.portfolio-service-cta>span,.portfolio-end>span,.archive-head>span{color:var(--pub-accent);font-size:8px;letter-spacing:.17em;font-weight:900}
.desk-head h2{font-size:clamp(48px,6vw,88px);line-height:.88;letter-spacing:-.065em;margin:10px 0 0}.desk-head em,.creative-rooms-hero em,.service-index-hero em,.service-index-cta em,.service-detail-includes em,.service-process em,.service-work-link em,.service-faq em,.service-next em,.portfolio-service-cta em,.portfolio-end em,.archive-head em{font-style:normal;color:var(--pub-accent)}
.desk-head p{color:var(--pub-muted);line-height:1.7}.desk-head a{color:var(--pub-accent);font-size:9px;font-weight:900}
.desk-tabs{display:flex;gap:6px;overflow:auto;padding-bottom:12px;scrollbar-width:none}.desk-tabs::-webkit-scrollbar{display:none}
.desk-tabs button{flex:0 0 auto;padding:10px 13px;border:1px solid var(--pub-line);border-radius:999px;background:#0d0d0b;color:#8c8680;font-size:8px;cursor:pointer}.desk-tabs button small{color:#555;margin-right:6px}.desk-tabs button.active{background:var(--pub-accent);color:#111;border-color:var(--pub-accent)}.desk-tabs button.active small{color:#111}
.desk-world{display:none;grid-template-columns:.36fr .64fr;gap:18px;min-height:580px;border:1px solid var(--pub-line);border-radius:26px;padding:18px;background:#0c0c0a}.desk-world.active{display:grid;animation:fadeUp .35s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.desk-copy{padding:25px;display:flex;flex-direction:column;justify-content:flex-end}.desk-copy small{font-size:7px;color:var(--pub-accent);letter-spacing:.15em}.desk-copy h3{font-size:43px;letter-spacing:-.055em;line-height:.92;margin:9px 0 14px}.desk-copy p{color:#817b75;line-height:1.65;font-size:11px}.desk-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.desk-actions button,.desk-actions a{padding:9px 11px;border-radius:999px;font-size:8px;text-decoration:none}.desk-actions button{border:1px solid var(--pub-line);background:#171511;color:#fff;cursor:pointer}.desk-actions a{background:var(--pub-accent);color:#111;font-weight:900}
.creative-table,.studio-board{position:relative;overflow:hidden;min-height:540px;border-radius:20px;background:#17140f;touch-action:none}
.table-grid,.board-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:36px 36px}
.desk-piece,.studio-piece{position:absolute;left:var(--x);top:var(--y);width:38%;padding:7px;border:0;border-radius:9px;background:#eee;box-shadow:0 20px 45px rgba(0,0,0,.38);transform:rotate(var(--r)) scale(var(--s));transform-origin:center;cursor:grab;touch-action:none;transition:box-shadow .2s}
.desk-piece:active,.studio-piece:active{cursor:grabbing;box-shadow:0 28px 70px rgba(0,0,0,.55);z-index:50!important}
.desk-piece.hero-piece,.studio-piece.hero-piece{width:46%}
.desk-piece img,.studio-piece img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px}
.desk-piece span,.studio-piece span{display:block;padding:7px 3px 1px;color:#222;font-size:7px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.public-erp p{max-width:620px}

/* Services hub / detail */
.service-index-hero,.creative-rooms-hero{width:min(calc(100% - 28px),var(--max));margin:auto;padding:145px 0 55px}
.service-index-hero h1,.creative-rooms-hero h1{font-size:clamp(65px,9vw,135px);line-height:.84;letter-spacing:-.075em;margin:12px 0 22px}.service-index-hero p,.creative-rooms-hero p{max-width:760px;color:var(--pub-muted);line-height:1.75}
.service-index-grid{width:min(calc(100% - 28px),var(--max));margin:auto 80px;display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.service-index-grid>a{min-height:330px;padding:27px;border:1px solid var(--pub-line);border-radius:22px;background:#10100e;color:#fff;text-decoration:none;display:flex;flex-direction:column;transition:.3s}
.service-index-grid>a small{color:var(--pub-accent);font-size:7px;letter-spacing:.12em}.service-index-grid h2{font-size:35px;letter-spacing:-.045em;margin:18px 0 10px}.service-index-grid p{color:#817b75;line-height:1.65;max-width:520px}.service-index-grid>a>span{margin-top:auto;color:var(--pub-accent);font-size:9px;font-weight:900}.service-index-grid>a:hover{transform:translateY(-5px);border-color:rgba(217,156,108,.5);background:#15130f}
.service-index-cta,.service-next,.portfolio-end{width:min(calc(100% - 28px),var(--max));margin:40px auto 90px;padding:65px 0;border-top:1px solid var(--pub-line)}
.service-index-cta h2,.service-next h2,.portfolio-end h2{font-size:clamp(48px,6vw,88px);line-height:.9;letter-spacing:-.06em;margin:12px 0}.service-index-cta a,.service-next a,.portfolio-end a{color:var(--pub-accent);font-weight:900;font-size:9px}

.service-detail-hero{width:min(calc(100% - 28px),var(--max));margin:auto;padding:145px 0 70px;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}.service-detail-hero h1{font-size:clamp(58px,7vw,108px);line-height:.89;letter-spacing:-.068em;margin:13px 0 22px}.service-detail-hero>div>p{max-width:720px;color:var(--pub-muted);font-size:14px;line-height:1.75}.service-detail-hero>div>div{display:flex;gap:7px;margin-top:24px}.service-detail-hero aside{border-left:1px solid var(--pub-line);padding-left:25px}.service-detail-hero aside>small{color:var(--pub-accent);font-size:7px;letter-spacing:.13em}.service-detail-hero aside p{display:grid;grid-template-columns:30px 1fr;gap:8px;border-bottom:1px solid var(--pub-line);padding:13px 0;margin:0;color:#8c8680;font-size:10px;line-height:1.5}.service-detail-hero aside b{color:#555;font-size:7px}
.service-detail-includes,.service-process,.service-faq,.service-work-link{width:min(calc(100% - 28px),var(--max));margin:0 auto 80px;padding-top:45px;border-top:1px solid var(--pub-line)}
.service-detail-includes .section-head h2,.service-process .section-head h2,.service-faq .section-head h2,.service-work-link h2{font-size:clamp(44px,5vw,76px);line-height:.91;letter-spacing:-.055em;margin:10px 0 25px}.service-detail-includes>div:last-child{display:flex;flex-wrap:wrap;gap:7px}.service-detail-includes>div:last-child span{padding:11px 14px;border:1px solid var(--pub-line);border-radius:999px;color:#aaa;font-size:9px}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.process-grid article{min-height:255px;padding:19px;border:1px solid var(--pub-line);border-radius:16px;background:#0f0f0d}.process-grid small{color:var(--pub-accent);font-size:7px}.process-grid h3{font-size:22px;margin:34px 0 10px}.process-grid p{color:#7c7671;font-size:10px;line-height:1.65}
.service-work-link>a{color:var(--pub-accent);font-size:10px;font-weight:900}
.faq-list{border-top:1px solid var(--pub-line)}.faq-list details{border-bottom:1px solid var(--pub-line)}.faq-list summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:20px 5px;font-size:13px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:#555;font-size:7px}.faq-list summary b{color:var(--pub-accent);font-size:20px}.faq-list p{max-width:850px;color:#88817b;line-height:1.75;padding:0 55px 20px;margin:0}.service-next p{max-width:680px;color:#817b75;line-height:1.7}.service-related{width:min(calc(100% - 28px),var(--max));margin:-45px auto 80px;display:flex;gap:6px;flex-wrap:wrap}.service-related a{padding:8px 10px;border:1px solid var(--pub-line);border-radius:999px;color:#888;text-decoration:none;font-size:8px}.service-related a:hover{color:#111;background:var(--pub-accent)}

/* Portfolio rooms */
.creative-rooms{width:min(calc(100% - 28px),var(--max));margin:auto 85px;display:grid;gap:13px}.creative-room{position:relative;min-height:540px;border:1px solid var(--pub-line);border-radius:28px;background:#0e0e0c;overflow:hidden;color:#fff;text-decoration:none;display:grid;grid-template-columns:.7fr 1.3fr;transition:.35s;perspective:1000px}.creative-room:nth-child(even){grid-template-columns:1.3fr .7fr}.creative-room:nth-child(even) .room-copy{order:2}.creative-room:nth-child(even) .room-stack{order:1}.creative-room:hover{border-color:rgba(217,156,108,.5);box-shadow:0 35px 100px rgba(0,0,0,.35)}.room-copy{padding:38px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;z-index:3}.room-copy small{color:var(--pub-accent);font-size:7px;letter-spacing:.14em}.room-copy h2{font-size:clamp(42px,5vw,72px);line-height:.88;letter-spacing:-.06em;margin:12px 0 16px}.room-copy p{color:#7f7973;line-height:1.65;max-width:500px}.room-copy span{margin-top:25px;color:var(--pub-accent);font-size:9px;font-weight:900}
.room-stack{position:relative;min-height:540px}.room-stack figure{position:absolute;margin:0;border-radius:17px;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 60px rgba(0,0,0,.4);transition:.4s}.room-stack img{width:100%;height:100%;object-fit:cover}.room-stack .f1{width:48%;height:47%;left:5%;top:8%;transform:rotate(-5deg)}.room-stack .f2{width:42%;height:37%;right:4%;top:5%;transform:rotate(5deg)}.room-stack .f3{width:44%;height:38%;left:9%;bottom:5%;transform:rotate(3deg)}.room-stack .f4{width:47%;height:44%;right:4%;bottom:5%;transform:rotate(-4deg)}.room-stack .f5{width:29%;height:30%;left:39%;top:34%;z-index:5;transform:rotate(1deg)}.creative-room:hover .f1{transform:translate(-7px,-7px) rotate(-7deg)}.creative-room:hover .f2{transform:translate(7px,-7px) rotate(7deg)}.creative-room:hover .f3{transform:translate(-7px,7px) rotate(5deg)}.creative-room:hover .f4{transform:translate(7px,7px) rotate(-6deg)}

/* Portfolio service */
.portfolio-studio-hero{width:min(calc(100% - 28px),var(--max));margin:auto;padding:135px 0 40px;display:grid;grid-template-columns:.55fr 1.45fr;gap:35px;align-items:center}.portfolio-studio-hero>div:first-child h1{font-size:clamp(55px,6.5vw,98px);line-height:.88;letter-spacing:-.065em;margin:12px 0 18px}.portfolio-studio-hero>div:first-child p{color:var(--pub-muted);line-height:1.7}.portfolio-studio-hero>div:first-child a{display:inline-block;margin-top:16px;color:var(--pub-accent);font-size:9px;font-weight:900}
.studio-board{min-height:590px}.board-shuffle{position:absolute;z-index:90;right:14px;bottom:14px;border:0;border-radius:999px;background:var(--pub-accent);color:#111;padding:10px 14px;font-weight:900;font-size:8px;cursor:pointer}.board-note{position:absolute;left:14px;bottom:17px;color:#777;font-size:7px}
.portfolio-service-nav{width:min(calc(100% - 28px),var(--max));margin:auto;padding:0 0 35px;display:flex;gap:6px;overflow:auto}.portfolio-service-nav a{flex:0 0 auto;padding:9px 11px;border:1px solid var(--pub-line);border-radius:999px;color:#888;text-decoration:none;font-size:8px}.portfolio-service-nav a.active{background:var(--pub-accent);border-color:var(--pub-accent);color:#111;font-weight:900}
.portfolio-archive{width:min(calc(100% - 28px),var(--max));margin:auto 80px}.archive-head{display:grid;grid-template-columns:1fr .65fr;gap:25px;align-items:end;margin-bottom:25px}.archive-head h2{font-size:clamp(48px,5vw,76px);line-height:.9;letter-spacing:-.055em;margin:10px 0}.archive-head p{color:#817b75;line-height:1.7}
.archive-grid{columns:4;column-gap:8px}.archive-card{break-inside:avoid;margin:0 0 16px}.archive-card>button{position:relative;width:100%;padding:0;border:0;border-radius:15px;background:#111;overflow:hidden;cursor:zoom-in}.archive-card>button img{display:block;width:100%;height:auto;transition:.4s}.archive-card>button span{position:absolute;right:8px;top:8px;padding:6px 8px;border-radius:999px;background:rgba(8,8,7,.75);color:var(--pub-accent);font-size:7px;opacity:0;transform:translateY(-4px);transition:.25s}.archive-card:hover>button img{transform:scale(1.025)}.archive-card:hover>button span{opacity:1;transform:none}.archive-card>div{display:flex;justify-content:space-between;gap:8px;padding:7px 2px 2px}.archive-card h3{font-size:9px;color:#999;margin:0}.archive-card a{font-size:7px;color:var(--pub-accent);white-space:nowrap}.archive-more{display:grid;place-items:center;margin:35px 0}.archive-more button{padding:11px 16px;border:1px solid rgba(217,156,108,.4);border-radius:999px;background:#111;color:var(--pub-accent);cursor:pointer}.archive-more button b{font-size:18px;margin-left:6px}.portfolio-service-cta{width:min(calc(100% - 28px),var(--max));margin:40px auto 90px;padding:65px 0;border-top:1px solid var(--pub-line)}.portfolio-service-cta h2{font-size:clamp(50px,6vw,90px);line-height:.9;letter-spacing:-.06em;margin:12px 0}.portfolio-service-cta a{color:var(--pub-accent);font-weight:900;font-size:9px}

/* Lightbox */
.icode-lightbox{position:fixed;z-index:99999;inset:0;background:rgba(4,4,3,.94);display:none;align-items:center;justify-content:center;padding:28px;backdrop-filter:blur(16px)}.icode-lightbox.open{display:flex}.icode-lightbox figure{margin:0;max-width:min(1320px,94vw);max-height:92vh;display:grid;gap:8px}.icode-lightbox img{max-width:100%;max-height:84vh;object-fit:contain;border-radius:16px}.icode-lightbox figcaption{color:#8f8881;font-size:10px;text-align:center}.icode-lightbox .lb-close{position:absolute;right:20px;top:20px;width:44px;height:44px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:#111;color:#fff;font-size:22px;cursor:pointer}

@media(max-width:1050px){
.v2-header nav{gap:14px}.process-grid{grid-template-columns:1fr 1fr}.archive-grid{columns:3}.desk-world{grid-template-columns:1fr}.desk-copy{padding:15px}.creative-table{min-height:520px}.portfolio-studio-hero{grid-template-columns:1fr}.studio-board{min-height:560px}
}
@media(max-width:900px){
.v2-mega-menu{width:100%}.v2-mega-menu>summary{padding:10px 0}.v2-mega-panel{position:static;transform:none;width:100%;grid-template-columns:1fr;margin:5px 0;box-shadow:none}.menu-intro{min-height:150px}.menu-links{grid-template-columns:1fr 1fr}
.home-orbit{width:min(88vw,500px);margin-top:35px}.partners-head,.desk-head,.service-detail-hero,.archive-head{grid-template-columns:1fr}.service-detail-hero{gap:30px}.service-detail-hero aside{border-left:0;border-top:1px solid var(--pub-line);padding:20px 0 0}
.service-index-grid{grid-template-columns:1fr}.creative-room,.creative-room:nth-child(even){grid-template-columns:1fr;min-height:auto}.creative-room:nth-child(even) .room-copy,.creative-room:nth-child(even) .room-stack{order:initial}.room-stack{min-height:480px}.archive-grid{columns:2}
}
@media(max-width:600px){
.home-service-list>a{grid-template-columns:34px 1fr auto}.home-service-list>a p{display:none}.home-orbit>a{font-size:7px;padding:7px 9px}.orbit-core{width:90px;height:90px}.partners-section{padding-top:55px}.logo-track figure{width:135px;height:88px}.desk-head h2{font-size:47px}.desk-world{padding:10px;min-height:auto}.desk-copy h3{font-size:35px}.creative-table,.studio-board{min-height:430px}.desk-piece,.studio-piece{width:45%}.desk-piece.hero-piece,.studio-piece.hero-piece{width:54%}
.service-index-hero,.creative-rooms-hero{padding-top:120px}.service-index-hero h1,.creative-rooms-hero h1{font-size:55px}.service-detail-hero{padding-top:120px}.service-detail-hero h1{font-size:50px}.process-grid{grid-template-columns:1fr}.menu-links{grid-template-columns:1fr}.room-stack{min-height:410px}.room-copy{padding:25px}.archive-grid{columns:2;column-gap:6px}.archive-card{margin-bottom:11px}.portfolio-studio-hero{padding-top:120px}.studio-board{min-height:430px}.faq-list summary{font-size:11px}
}


/* Public Site V4.1 clarity + uncropped media + WhatsApp */
.menu-links a{align-items:flex-start}
.menu-links a span{line-height:1.35}
.menu-links a span em{display:block;margin-top:2px;color:#69625c;font-style:normal;font-size:7px}

/* Partner logos are now all fully visible: no half-cards entering from viewport edges. */
.logo-marquee{display:none!important}
.partners-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
}
.partners-grid figure{
  min-width:0;
  margin:0;
  aspect-ratio:1.6/1;
  padding:16px;
  border:1px solid var(--pub-line);
  border-radius:18px;
  background:#f5f3ef;
  display:grid;
  place-items:center;
  overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}
.partners-grid figure:hover{
  transform:translateY(-4px);
  background:#fff;
  box-shadow:0 20px 45px rgba(0,0,0,.24);
}
.partners-grid img{
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain!important;
  object-position:center!important;
}

/* Portfolio paper cards must show the whole visual, never crop it. */
.desk-piece,.studio-piece{
  width:31%;
  padding:7px;
  overflow:hidden;
}
.desk-piece.hero-piece,.studio-piece.hero-piece{width:37%}
.desk-piece img,.studio-piece img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff;
  border-radius:5px;
}
.creative-table{min-height:590px}
.studio-board{min-height:620px}

/* Portfolio category tabs need human-readable labels, not shorthand. */
.desk-tabs button,
.portfolio-service-nav a{
  font-size:8px;
  line-height:1.25;
  white-space:normal;
  text-align:left;
}
.desk-tabs button{
  min-height:38px;
  max-width:190px;
}
.portfolio-service-nav a{max-width:190px}

/* Footer contact */
.v2-footer .footer-phone{
  color:inherit;
  text-decoration:none;
}
.v2-footer .footer-phone:hover{color:var(--pub-accent)}

/* Site-wide WhatsApp */
.floating-whatsapp{
  position:fixed;
  z-index:9998;
  right:20px;
  bottom:20px;
  width:58px;
  height:58px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#25D366;
  color:#fff;
  text-decoration:none;
  box-shadow:0 16px 45px rgba(0,0,0,.38);
  transition:transform .22s ease,box-shadow .22s ease;
}
.floating-whatsapp svg{width:31px;height:31px}
.floating-whatsapp span{
  position:absolute;
  right:66px;
  padding:8px 10px;
  border-radius:9px;
  background:#111;
  color:#fff;
  font-size:8px;
  white-space:nowrap;
  opacity:0;
  transform:translateX(5px);
  pointer-events:none;
  transition:.22s;
  border:1px solid rgba(255,255,255,.12);
}
.floating-whatsapp:hover{
  transform:translateY(-4px) scale(1.04);
  box-shadow:0 22px 55px rgba(0,0,0,.45);
}
.floating-whatsapp:hover span{opacity:1;transform:none}

@media(max-width:900px){
  .partners-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .creative-table{min-height:560px}
  .studio-board{min-height:570px}
}
@media(max-width:600px){
  .partners-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .partners-grid figure{padding:11px;border-radius:14px}
  .desk-piece,.studio-piece{width:39%}
  .desk-piece.hero-piece,.studio-piece.hero-piece{width:46%}
  .creative-table,.studio-board{min-height:530px}
  .floating-whatsapp{right:14px;bottom:14px;width:54px;height:54px}
  .floating-whatsapp svg{width:29px;height:29px}
  .floating-whatsapp span{display:none}
}


/* ==========================================================
   V4.2 — Partners Showcase + LIVE DEMO header
   ========================================================== */

/* Restore the tiny LIVE DEMO label above ERP / CRM */
.public-erp-link{
  position:relative;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  line-height:1.05;
  white-space:nowrap;
}
.public-erp-link small{
  display:block;
  color:var(--pub-accent);
  font-size:5px;
  line-height:1;
  letter-spacing:.16em;
  font-weight:900;
}
.public-erp-link span{
  display:block;
  font-size:10px;
  line-height:1.15;
}

/* Completely replace the plain logo grid with a premium logo wall. */
.partners-grid{display:none!important}

.partners-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:78px 0 92px;
}
.partners-section:before{
  content:"";
  position:absolute;
  z-index:-2;
  width:520px;
  height:520px;
  left:-260px;
  top:10%;
  border-radius:50%;
  background:rgba(217,156,108,.09);
  filter:blur(100px);
}
.partners-section:after{
  content:"";
  position:absolute;
  z-index:-2;
  width:430px;
  height:430px;
  right:-220px;
  bottom:0;
  border-radius:50%;
  background:rgba(217,156,108,.07);
  filter:blur(100px);
}

.partner-showcase{
  position:relative;
  margin-top:34px;
  padding:30px;
  border:1px solid var(--pub-line);
  border-radius:30px;
  background:
    radial-gradient(circle at 50% -10%,rgba(217,156,108,.08),transparent 40%),
    #0d0d0b;
  overflow:hidden;
}
.partner-showcase:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.25;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:42px 42px;
}
.partner-showcase-glow{
  position:absolute;
  pointer-events:none;
  border-radius:50%;
  filter:blur(80px);
  opacity:.45;
}
.partner-showcase-glow.glow-a{
  width:320px;height:320px;left:10%;top:7%;
  background:rgba(217,156,108,.12);
}
.partner-showcase-glow.glow-b{
  width:300px;height:300px;right:8%;bottom:5%;
  background:rgba(255,255,255,.055);
}

.partner-logo-wall{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:13px;
  padding:7px 0 20px;
}
.partner-logo-card{
  position:relative;
  min-width:0;
  margin:0;
  aspect-ratio:1.15/1;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:#f4f2ee;
  box-shadow:0 12px 35px rgba(0,0,0,.17);
  display:grid;
  place-items:center;
  overflow:visible;
  transition:
    transform .32s cubic-bezier(.2,.8,.2,1),
    box-shadow .32s ease,
    border-color .32s ease,
    background .32s ease;
}
.partner-logo-card:nth-child(5n+2),
.partner-logo-card:nth-child(5n+4){
  transform:translateY(13px);
}
.partner-logo-card:nth-child(5n+1){transform:rotate(-1deg)}
.partner-logo-card:nth-child(5n+5){transform:rotate(1deg)}

.partner-logo-card>small{
  position:absolute;
  z-index:3;
  top:9px;
  left:10px;
  color:#9d948b;
  font-size:6px;
  letter-spacing:.08em;
}
.partner-logo-frame{
  width:100%;
  height:100%;
  padding:28px 22px 22px;
  display:grid;
  place-items:center;
  overflow:visible;
}
.partner-logo-frame img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:82%!important;
  max-height:82%!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
  transform:none!important;
  filter:none!important;
}
.partner-logo-card:hover{
  transform:translateY(-7px) rotate(0deg) scale(1.02)!important;
  z-index:10;
  background:#fff;
  border-color:rgba(217,156,108,.7);
  box-shadow:0 25px 60px rgba(0,0,0,.32);
}
.partner-logo-card:hover .partner-logo-frame img{
  transform:scale(1.035)!important;
  transition:transform .3s ease;
}

.partner-showcase-note{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding-top:12px;
  color:#77716b;
  font-size:7px;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.partner-showcase-note i{
  width:44px;
  height:1px;
  background:rgba(217,156,108,.45);
}

/* Remove old logo-image rules from affecting V4.2 cards. */
.partners-grid img,
.logo-track img{
  transform:none!important;
}

/* Tablet */
@media(max-width:1000px){
  .partner-logo-wall{grid-template-columns:repeat(3,minmax(0,1fr))}
  .partner-logo-card:nth-child(n){transform:none}
  .partner-logo-card:nth-child(3n+2){transform:translateY(10px)}
}

/* Mobile */
@media(max-width:600px){
  .public-erp-link{align-items:flex-start}
  .public-erp-link small{font-size:5px}
  .public-erp-link span{font-size:12px}

  .partners-section{padding-top:62px}
  .partner-showcase{padding:14px;border-radius:22px}
  .partner-logo-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .partner-logo-card:nth-child(n){transform:none}
  .partner-logo-card:nth-child(even){transform:translateY(7px)}
  .partner-logo-card{border-radius:16px;aspect-ratio:1.08/1}
  .partner-logo-frame{padding:20px 14px 14px}
  .partner-logo-frame img{max-width:84%!important;max-height:84%!important}
  .partner-showcase-note{gap:8px;font-size:6px}
  .partner-showcase-note i{width:24px}
}
