{"id":1961,"date":"2022-12-14T08:33:45","date_gmt":"2022-12-14T08:33:45","guid":{"rendered":"https:\/\/weblearnbd.net\/wp\/harry\/?page_id=1961"},"modified":"2026-10-28T08:40:17","modified_gmt":"2026-10-28T08:40:17","slug":"home-portfolio","status":"publish","type":"page","link":"https:\/\/gilbertkablan.it\/en\/","title":{"rendered":"Gilbert Kablan | Creative Director a Torino"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1961\" class=\"elementor elementor-1961\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fb1c41f e-con-full e-flex e-con e-parent\" data-id=\"fb1c41f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ce71949 elementor-widget elementor-widget-html\" data-id=\"ce71949\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- GILBERT KABLAN - IMMERSIVE SCROLL \/ ELEMENTOR HTML WIDGET -->\n<!-- Le sette immagini sono gia collegate agli URL della Libreria Media di WordPress. -->\n<section id=\"gk-experience\" class=\"gk-experience\" aria-label=\"Portfolio Gilbert Kablan\">\n  <div class=\"gk-world\" aria-hidden=\"true\">\n    <div class=\"gk-frames\">\n      <img class=\"gk-frame\" src=\"https:\/\/gilbertkablan.it\/wp-content\/uploads\/2026\/10\/gk-era-01.webp\" alt=\"\" decoding=\"async\" fetchpriority=\"high\" \/>\n      <img class=\"gk-frame\" src=\"https:\/\/gilbertkablan.it\/wp-content\/uploads\/2026\/10\/gk-era-02.webp\" alt=\"\" decoding=\"async\" \/>\n      <img class=\"gk-frame\" src=\"https:\/\/gilbertkablan.it\/wp-content\/uploads\/2026\/10\/gk-era-03.webp\" alt=\"\" decoding=\"async\" \/>\n      <img class=\"gk-frame\" src=\"https:\/\/gilbertkablan.it\/wp-content\/uploads\/2026\/10\/gk-era-04.webp\" alt=\"\" decoding=\"async\" \/>\n      <img class=\"gk-frame\" src=\"https:\/\/gilbertkablan.it\/wp-content\/uploads\/2026\/10\/gk-era-05.webp\" alt=\"\" decoding=\"async\" \/>\n      <img class=\"gk-frame\" src=\"https:\/\/gilbertkablan.it\/wp-content\/uploads\/2026\/10\/gk-era-06.webp\" alt=\"\" decoding=\"async\" \/>\n      <img class=\"gk-frame\" src=\"https:\/\/gilbertkablan.it\/wp-content\/uploads\/2026\/10\/gk-era-07.webp\" alt=\"\" decoding=\"async\" \/>\n    <\/div>\n    <div class=\"gk-shade\"><\/div>\n    <!-- Overlay Canvas 2D: effetto puntatore + tracce storiche, decorativo e non interattivo -->\n    <canvas class=\"gk-cursor-canvas\" aria-hidden=\"true\"><\/canvas>\n    <div class=\"gk-film-grain\"><\/div>\n    <div class=\"gk-era-indicator\"><span class=\"gk-era-number\">01 \/ 07<\/span><span class=\"gk-era-line\"><\/span><span class=\"gk-era-title\">Le origini del segno<\/span><\/div>\n    <div class=\"gk-scroll-progress\"><span><\/span><\/div>\n  <\/div>\n  <main class=\"gk-story\">\n    <section class=\"gk-chapter gk-first\" id=\"gk-intro\" data-era=\"0\" aria-label=\"Presentazione\">\n      <div class=\"gk-copy\">\n        <p class=\"gk-overline\">Mi chiamo Gilbert Kablan<\/p>\n        <h1 class=\"gk-display\">Creative Designer &amp; Digital Marketing<\/h1>\n        <p class=\"gk-specialities\">Branding \u00b7 Graphic Design \u00b7 Photography \u00b7 Video \u00b7 Motion \u00b7 Digital<\/p>\n        <p class=\"gk-lead\">Unisco creativit\u00e0, design e strategia per sviluppare identit\u00e0, contenuti e progetti digitali.<\/p>\n        <p class=\"gk-actions\"><a href=\"https:\/\/gilbertkablan.it\/lavori\/\">Scopri i lavori<\/a> <a href=\"#gk-contatti\">Contatti<\/a> <a href=\"mailto:gilbert@gilbertkablan.com\">gilbert@gilbertkablan.com<\/a><\/p>\n      <\/div>\n      <span class=\"gk-scroll-cue\" aria-hidden=\"true\">SCROLL <span>\u2193<\/span><\/span>\n    <\/section>\n    <section class=\"gk-chapter gk-about\" id=\"gk-about\" data-era=\"1\" aria-label=\"About me\">\n      <div class=\"gk-copy\">\n        <p class=\"gk-overline\">ABOUT ME<\/p>\n        <h2 class=\"gk-title\">Sono Creative Director e Digital Marketing Manager: da oltre dieci anni progetto identit\u00e0 visive, campagne e contenuti per aziende e brand.<\/h2>\n        <p>Ho lavorato tra moda, sport, retail, biomedicale ed e-commerce, seguendo progetti dalla direzione creativa alla produzione. Ogni scelta visiva nasce da un obiettivo: dare ai brand un'identit\u00e0 riconoscibile e una comunicazione coerente sui diversi canali.<\/p>\n        <a class=\"gk-text-link\" href=\"https:\/\/gilbertkablan.it\/wp-content\/uploads\/2026\/08\/Gilbert_Kablan_2026.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">Scarica CV <span aria-hidden=\"true\">\u2197<\/span><\/a>\n      <\/div>\n    <\/section>\n    <section class=\"gk-chapter gk-services\" id=\"gk-servizi\" data-era=\"2\" aria-label=\"Servizi, prima parte\">\n      <div class=\"gk-copy\">\n        <div class=\"gk-roles\">\n          <div><h3>Product &amp; <span>Graphic Design<\/span><\/h3><p>\u201cProgettazione grafica, materiali commerciali e comunicazione di prodotto.\u201d<\/p><\/div>\n          <div><h3>Content <span>Creation<\/span><\/h3><p>\u201cFotografia, video, motion graphics e contenuti digitali.\u201d<\/p><\/div>\n          <div><h3>Creative <span>Direction<\/span><\/h3><p>\"Concept, art direction e sviluppo di linguaggi visivi per brand e campagne.\"<\/p><\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n    <section class=\"gk-chapter gk-services gk-align-right\" id=\"gk-competenze\" data-era=\"3\" aria-label=\"Servizi e competenze\">\n      <div class=\"gk-copy\">\n        <div class=\"gk-roles\">\n          <div><h3>Branding<\/h3><p>\u201cIdentit\u00e0 visive, sistemi grafici e linee guida per brand riconoscibili.\u201d<\/p><\/div>\n          <div><h3>Digital <span>Marketing<\/span><\/h3><p>\u201cStrategie digitali, contenuti, SEO, social media e campagne.\u201d<\/p><\/div>\n          <div><h3>Web &amp; <span>UX\/UI<\/span><\/h3><p>\u201cWeb design, UX\/UI ed e-commerce progettati per comunicare e convertire.\u201d<\/p><\/div>\n        <\/div>\n        <div class=\"gk-competencies\">\n          <p class=\"gk-overline\">ESPERIENZA E COMPETENZE<\/p>\n          <div class=\"gk-skills\"><span>Adobe Creative Cloud (90%)<\/span><span>WordPress (100%)<\/span><span>Foto&amp;Video (90%)<\/span><span>Blender (90%)<\/span><\/div>\n          <h2>Dalla ricerca al concept, dalla produzione alla misurazione dei risultati.<\/h2>\n        <\/div>\n      <\/div>\n    <\/section>\n    <section class=\"gk-chapter gk-exp\" id=\"gk-esperienze\" data-era=\"4\" aria-label=\"Esperienze professionali prima parte\">\n      <div class=\"gk-copy\">\n        <article class=\"gk-job\"><h3>Marketing &amp; Sponsorship Manager<\/h3><p>Volley Modena - Sviluppo commerciale, comunicazione digitale, partnership strategiche e valorizzazione del brand sportivo.<\/p><p class=\"gk-year\">2026 - OGGI<\/p><\/article>\n        <article class=\"gk-job\"><h3>Graphic &amp; Product Designer<\/h3><p>Tubertini High Quality - Progettazione grafica, materiali commerciali e supporto alla comunicazione e valorizzazione del prodotto.<\/p><p class=\"gk-year\">2026 - OGGI<\/p><\/article>\n      <\/div>\n    <\/section>\n    <section class=\"gk-chapter gk-exp gk-align-right\" id=\"gk-esperienze-2\" data-era=\"5\" aria-label=\"Esperienze professionali seconda parte\">\n      <div class=\"gk-copy\">\n        <article class=\"gk-job\"><h3>Creative Consultant &amp; Digital Content Creator<\/h3><p>Gruppo Ottica Sara \/ Occhialando - Campagne promozionali, fotografia e video, modellazione e rendering 3D di prodotti eyewear, contenuti per e-commerce e social media e supporto alla strategia di comunicazione digitale.<\/p><p class=\"gk-year\">2025 - 2026<\/p><\/article>\n        <article class=\"gk-job\"><h3>Libero Professionista<\/h3><p>Strategie creative e digitali, branding, web design, e-commerce, contenuti, fotografia, video e motion graphics per aziende e brand.<\/p><p class=\"gk-year\">2016 - OGGI<\/p><\/article>\n      <\/div>\n    <\/section>\n    <section class=\"gk-chapter gk-last\" id=\"gk-contatti\" data-era=\"6\" aria-label=\"Curriculum e contatti\">\n      <div class=\"gk-copy gk-finale\">\n        <div class=\"gk-endpart\">\n          <p class=\"gk-overline\">Vuoi saperne di pi\u00f9?<\/p>\n          <h2 class=\"gk-title\">Ogni progetto racconta un problema, una scelta creativa e il risultato di un percorso.<\/h2>\n          <p>Esplora una selezione dei miei lavori oppure approfondisci esperienze, formazione e certificazioni nel curriculum.<\/p>\n          <a class=\"gk-text-link\" href=\"https:\/\/gilbertkablan.it\/lavori\/\">Guarda i lavori <span aria-hidden=\"true\">\u2197<\/span><\/a> <a class=\"gk-text-link\" href=\"https:\/\/gilbertkablan.it\/wp-content\/uploads\/2026\/08\/Gilbert_Kablan_2026.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">Scarica CV <span aria-hidden=\"true\">\u2197<\/span><\/a>\n        <\/div>\n        <div class=\"gk-endpart gk-end-contact\">\n          <h2 class=\"gk-title\">Hai un progetto?<\/h2>\n          <p class=\"gk-overline\">Email<\/p>\n          <a class=\"gk-mail\" href=\"mailto:gilbert@gilbertkablan.it\">gilbert@gilbertkablan.it<\/a>\n          <h3>Hai un progetto da sviluppare, un'idea da trasformare in realt\u00e0 o semplicemente vuoi raccontarmi cosa hai in mente? Scrivimi. Sar\u00f2 felice di capire come posso aiutarti.<\/h3>\n          <!-- Il modulo Elementor originale va mantenuto sotto questo widget, non sostituito con un form non funzionante. -->\n        <\/div>\n      <\/div>\n    <\/section>\n  <\/main>\n<\/section>\n<style>\n\/* Tutte le regole sono isolate dentro #gk-experience: non sovrascrivono header e menu WordPress *\/\n#gk-experience{--gk-white:#f7f5ef;--gk-gold:#e8b785;--gk-dark:#080b12;position:relative;isolation:isolate;color:var(--gk-white);background:transparent;z-index:2;width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw);font-family:Arial,Helvetica,sans-serif;box-sizing:border-box;overflow:clip}\n#gk-experience *,#gk-experience *::before,#gk-experience *::after{box-sizing:border-box}\n#gk-experience .gk-world{position:sticky;top:0;width:100%;height:100vh;height:100svh;overflow:hidden;z-index:0;pointer-events:none;background:#171214}\n:is(#gk-experience,#gk-world-portal) .gk-frames,:is(#gk-experience,#gk-world-portal) .gk-shade,:is(#gk-experience,#gk-world-portal) .gk-film-grain{position:absolute;inset:0}\n:is(#gk-experience,#gk-world-portal) .gk-frame{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center center;opacity:0;will-change:opacity,transform;transform:scale(1.045);filter:saturate(1.04) contrast(1.045);backface-visibility:hidden}\n:is(#gk-experience,#gk-world-portal) .gk-frame:first-child{opacity:1}\n:is(#gk-experience,#gk-world-portal) .gk-shade{z-index:2;background:linear-gradient(90deg,rgba(5,7,12,.77) 0%,rgba(5,7,12,.46) 36%,rgba(6,9,14,.25) 57%,rgba(5,7,12,.72) 100%),linear-gradient(0deg,rgba(2,5,10,.52),transparent 26%,transparent 75%,rgba(2,5,10,.28))}\n:is(#gk-experience,#gk-world-portal) .gk-film-grain{z-index:3;opacity:.14;mix-blend-mode:soft-light;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.11) 0 1px,transparent 1px 5px);background-size:12px 12px}\n:is(#gk-experience,#gk-world-portal) .gk-era-indicator{position:absolute;z-index:5;bottom:clamp(22px,4vh,44px);right:clamp(25px,6vw,100px);display:flex;align-items:center;gap:14px;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.85);text-shadow:0 1px 10px rgba(0,0,0,.4)}\n:is(#gk-experience,#gk-world-portal) .gk-era-line{width:30px;height:1px;background:currentColor;opacity:.65}\n:is(#gk-experience,#gk-world-portal) .gk-scroll-progress{position:absolute;left:0;right:0;bottom:0;height:2px;z-index:7;background:rgba(255,255,255,.15)}\n:is(#gk-experience,#gk-world-portal) .gk-scroll-progress span{display:block;width:0;height:100%;background:#f6d5a9;transform-origin:left}\n#gk-experience .gk-story{position:relative;z-index:1;margin-top:-100vh;margin-top:-100svh;pointer-events:none}\n#gk-experience .gk-chapter{position:relative;min-height:128vh;min-height:128svh;display:flex;align-items:center;padding:clamp(100px,12vh,170px) clamp(24px,8.7vw,160px);pointer-events:none}\n#gk-experience .gk-chapter .gk-copy{width:min(690px,100%);margin-right:auto;pointer-events:auto;text-shadow:0 2px 24px rgba(0,0,0,.38)}\n#gk-experience .gk-align-right .gk-copy{margin-right:0;margin-left:auto}\n#gk-experience .gk-first{min-height:140vh;min-height:140svh}\n#gk-experience .gk-first .gk-copy{max-width:760px}\n#gk-experience .gk-copy h1,#gk-experience .gk-copy h2,#gk-experience .gk-copy h3{color:#fff;font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;letter-spacing:-.029em;text-transform:none}\n#gk-experience .gk-display{font-size:clamp(50px,7vw,116px);margin:0 0 22px}\n#gk-experience .gk-title{font-size:clamp(30px,3.65vw,55px);margin:0 0 26px}\n#gk-experience .gk-overline{font-family:Arial,Helvetica,sans-serif;font-size:12px!important;letter-spacing:.22em;line-height:1.5!important;color:#f2d0a9!important;text-transform:uppercase;margin:0 0 24px}\n#gk-experience .gk-specialities{font-size:clamp(12px,1vw,15px)!important;letter-spacing:.12em;color:#f3d9c2!important}\n#gk-experience .gk-copy p{color:rgba(255,255,255,.92);line-height:1.75;font-size:clamp(16px,1.16vw,19px);margin-top:0;margin-bottom:20px}\n#gk-experience .gk-copy .gk-lead{font-size:clamp(18px,1.4vw,22px)}\n#gk-experience .gk-actions{display:flex;flex-wrap:wrap;gap:18px 30px;align-items:center;margin-top:34px!important}\n#gk-experience a{color:#fff!important;text-decoration:none!important;border:0;cursor:pointer}\n#gk-experience a:hover,#gk-experience a:focus-visible{text-decoration:underline!important;text-underline-offset:7px}\n#gk-experience .gk-actions a:first-child,#gk-experience .gk-text-link{display:inline-block;border-bottom:1px solid rgba(255,255,255,.78)!important;padding-bottom:9px;text-transform:uppercase;font-size:12px;letter-spacing:.14em}\n#gk-experience .gk-text-link{margin-top:12px}\n#gk-experience .gk-scroll-cue{position:absolute;bottom:70px;left:clamp(24px,8.7vw,160px);font-size:11px;letter-spacing:.22em;opacity:.78}\n#gk-experience .gk-scroll-cue span{display:inline-block;margin-left:14px}\n#gk-experience .gk-roles{display:grid;gap:34px;max-width:670px}\n#gk-experience .gk-roles>div{padding-left:22px;border-left:1px solid rgba(255,255,255,.48)}\n#gk-experience .gk-roles h3{font-size:clamp(25px,3.1vw,44px);margin:0 0 9px}\n#gk-experience .gk-roles h3 span{display:inline}\n#gk-experience .gk-roles p{font-size:clamp(14px,1vw,16px)}\n#gk-experience .gk-competencies{margin-top:55px}\n#gk-experience .gk-skills{display:flex;gap:12px 25px;flex-wrap:wrap;font-size:12px;line-height:1.7;margin-bottom:19px}\n#gk-experience .gk-competencies h2{font-size:clamp(22px,2.2vw,32px);margin:14px 0 0}\n#gk-experience .gk-job{margin-bottom:42px}\n#gk-experience .gk-job h3{font-size:clamp(27px,2.8vw,43px);margin:0 0 12px}\n#gk-experience .gk-job p{font-size:clamp(15px,1.11vw,18px)}\n#gk-experience .gk-job .gk-year{font-size:12px;color:#f2d0a9;letter-spacing:.14em;font-weight:600}\n#gk-experience .gk-last{min-height:190vh;min-height:190svh;align-items:stretch;padding-top:28vh;padding-bottom:80px}\n#gk-experience .gk-last .gk-copy{display:flex;flex-direction:column;gap:clamp(130px,27vh,350px)}\n#gk-experience .gk-end-contact .gk-title{font-size:clamp(45px,6vw,86px)}\n#gk-experience .gk-mail{font-size:clamp(21px,2.3vw,36px);display:inline-block;margin:0 0 20px;overflow-wrap:anywhere}\n#gk-experience .gk-end-contact h3{font-size:clamp(22px,2.5vw,36px);line-height:1.45}\n@media(max-width:767px){\n #gk-experience .gk-chapter{padding:110px 24px 85px;min-height:132svh}\n #gk-experience .gk-first{min-height:140svh}\n #gk-experience .gk-display{font-size:clamp(45px,12vw,80px)}\n #gk-experience .gk-title{font-size:clamp(28px,7vw,44px)}\n #gk-experience .gk-align-right .gk-copy{margin-left:0}\n :is(#gk-experience,#gk-world-portal) .gk-shade{background:linear-gradient(90deg,rgba(2,5,10,.73),rgba(2,5,10,.38)),linear-gradient(0deg,rgba(2,5,10,.6),transparent 38%,rgba(2,5,10,.23))}\n :is(#gk-experience,#gk-world-portal) .gk-frame{object-position:50% center}\n #gk-experience .gk-roles{gap:23px}\n #gk-experience .gk-roles h3{font-size:27px}\n #gk-experience .gk-services{min-height:156svh}\n #gk-experience .gk-exp{min-height:162svh}\n #gk-experience .gk-last{min-height:235svh;padding-top:120px}\n :is(#gk-experience,#gk-world-portal) .gk-era-indicator{bottom:20px;right:22px;max-width:84%;font-size:9px;gap:8px}\n #gk-experience .gk-scroll-cue{left:24px;bottom:50px}\n}\n@media(prefers-reduced-motion:reduce){:is(#gk-experience,#gk-world-portal) .gk-frame{will-change:auto!important;transition:none!important;transform:none!important}#gk-experience .gk-scroll-cue{display:none}}\n\n\/* V11 \u2014 SCIA CREATIVA. Nessun cambiamento ai testi o al menu di WordPress. *\/\n:is(#gk-experience,#gk-world-portal) .gk-cursor-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none;display:block;opacity:1;contain:strict}\n\/* Nascondiamo il puntatore nativo solo sull'area non interattiva, nei desktop con mouse. *\/\n@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){\n  #gk-experience.gk-mouse-effect-on{cursor:none}\n  #gk-experience.gk-mouse-effect-on .gk-story,#gk-experience.gk-mouse-effect-on .gk-chapter,#gk-experience.gk-mouse-effect-on .gk-copy{cursor:none}\n  #gk-experience.gk-mouse-effect-on a,#gk-experience.gk-mouse-effect-on button,#gk-experience.gk-mouse-effect-on input,#gk-experience.gk-mouse-effect-on textarea{cursor:pointer}\n}\n@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){:is(#gk-experience,#gk-world-portal) .gk-cursor-canvas{display:none!important}}\n<\/style>\n<script>\n(function(){\n  'use strict';\n  const root=document.getElementById('gk-experience'); if(!root||root.dataset.gkInit==='1')return;root.dataset.gkInit='1';\n  const layers=Array.from(root.querySelectorAll('.gk-frame'));\n  const progressBar=root.querySelector('.gk-scroll-progress span');\n  const numEl=root.querySelector('.gk-era-number'),nameEl=root.querySelector('.gk-era-title');\n  const names=['Arte rupestre','Prime pubblicit\u00e0 a stampa','Pubblicit\u00e0 fotografica','Grafica e primi computer','Era digitale','Comunicazione contemporanea','Intelligenza artificiale'];\n  const reduce=window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n  let target=0,visual=0,raf=0;\n  layers.forEach((img,i)=>{\n    if(i===0){img.loading='eager';}else{img.loading='eager';}\n    img.addEventListener('error',()=>{console.warn('Gilbert scroll: immagine non trovata',img.src)},{once:true});\n  });\n  function clamp(v,min,max){return Math.min(max,Math.max(min,v));}\n  function calculate(){\n    const rect=root.getBoundingClientRect();\n    const travel=Math.max(1,root.offsetHeight-window.innerHeight);\n    target=clamp(-rect.top\/travel,0,1)*6;\n    progressBar.style.width=(target\/6*100).toFixed(3)+'%';\n    if(!raf)raf=window.requestAnimationFrame(frame);\n  }\n  function paint(pos){\n    const i=Math.min(5,Math.floor(pos)); const t=clamp(pos-i,0,1);\n    layers.forEach((img,k)=>{\n      let opacity=0;\n      if(k===i)opacity=1-t;\n      if(k===i+1)opacity=t;\n      if(pos>=6 && k===6)opacity=1;\n      img.style.opacity=opacity.toFixed(4);\n      if(opacity>0){\n        const drift=(k-pos);\n        const scale=reduce?1:(1.045+0.026*Math.sin((pos-k)*1.8));\n        const x=reduce?0:(drift*1.45);\n        img.style.transform=`translate3d(${x.toFixed(2)}%,0,0) scale(${scale.toFixed(4)})`;\n      }\n    });\n    if(typeof root.gkCursorSetEra==='function')root.gkCursorSetEra(pos);\n    const labelIndex=clamp(Math.round(pos),0,6);\n    numEl.textContent=String(labelIndex+1).padStart(2,'0')+' \/ 07';\n    nameEl.textContent=names[labelIndex];\n  }\n  function frame(){raf=0;visual=reduce?target:visual+(target-visual)*.14;paint(visual);\n    if(Math.abs(target-visual)>.002)raf=window.requestAnimationFrame(frame);\n  }\n  window.addEventListener('scroll',calculate,{passive:true});\n  window.addEventListener('resize',calculate,{passive:true});\n  calculate();paint(0);\n})();\n<\/script>\n<script>\n\/* Gilbert Kablan \u00b7 Mouse-through-time V11. Canvas2D, senza librerie esterne. *\/\n(function(){\n 'use strict';\n const root=document.getElementById('gk-experience');\n if(!root || root.dataset.gkCursorInit==='1')return;\n root.dataset.gkCursorInit='1';\n const canvas=root.querySelector('.gk-cursor-canvas');\n if(!canvas)return;\n const coarse=window.matchMedia('(hover: none), (pointer: coarse)').matches;\n const reduced=window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n if(coarse||reduced){canvas.style.display='none';return}\n const ctx=canvas.getContext('2d',{alpha:true}); if(!ctx)return;\n let w=0,h=0,dpr=1,phase=0;\n let x=0,y=0,fx=0,fy=0,inside=false,ready=false,raf=0,last=0;\n let history=[],bits=[],lastSpawnX=0,lastSpawnY=0;\n const maxBits=170;\n const clamp=(a,b,c)=>Math.min(c,Math.max(b,a));\n const mix=(a,b,t)=>a+(b-a)*t;\n const colors=['#dba46d','#b76b4c','#f1d3ab','#f9d66f','#91d9fb','#c2a9ff','#7feeff'];\n function resize(){\n   const r=canvas.getBoundingClientRect(); w=Math.max(1,r.width); h=Math.max(1,r.height);\n   dpr=Math.min(window.devicePixelRatio||1,1.7);\n   canvas.width=Math.round(w*dpr);canvas.height=Math.round(h*dpr);\n   ctx.setTransform(dpr,0,0,dpr,0,0);\n   history=[];bits=[];\n }\n const ro=typeof ResizeObserver!=='undefined'?new ResizeObserver(resize):null;\n if(ro)ro.observe(canvas);else window.addEventListener('resize',resize,{passive:true});\n resize();\n const rand=(a,b)=>a+Math.random()*(b-a);\n function weights(value){let i=Math.floor(value),f=value-i;return [[i,1-f],[Math.min(6,i+1),f]].filter(z=>z[1]>.001)}\n function addBits(a,b){\n   const v=phase, modes=weights(v);\n   for(const [type,amount] of modes){\n     let count=Math.round((type===6?5:type===0?4:3)*amount);\n     for(let k=0;k<count;k++){\n       let z=rand(.5,1.7),ang=rand(-Math.PI,Math.PI);\n       bits.push({x:a+rand(-3,3),y:b+rand(-3,3),vx:Math.cos(ang)*rand(.05,1.2),vy:Math.sin(ang)*rand(.05,1.2),r:rand(1.0,3.4)*z,rot:rand(0,Math.PI*2),life:1,type,alpha:amount,ttl:rand(310,680)});\n     }\n   }\n   if(bits.length>maxBits)bits.splice(0,bits.length-maxBits);\n }\n function drawShape(p){\n   const a=Math.max(0,p.life)*p.alpha;\n   if(a<.012)return;\n   ctx.save();ctx.globalAlpha=a;\n   if(p.type===0){\n     ctx.fillStyle=Math.random()>.5?'#e6af6f':'#a85731';\n     ctx.translate(p.x,p.y);ctx.rotate(p.rot);\n     ctx.beginPath();ctx.ellipse(0,0,p.r*rand(.6,1.3),p.r*.52,0,0,Math.PI*2);ctx.fill();\n   }else if(p.type===1){\n     ctx.fillStyle='#bc6446';ctx.translate(p.x,p.y);ctx.rotate(p.rot*.06);\n     ctx.fillRect(-p.r\/2,-p.r\/2,p.r*1.1,p.r*1.1);\n   }else if(p.type===2){\n     ctx.fillStyle='#f2dab2';ctx.beginPath();ctx.arc(p.x,p.y,p.r*.65,0,Math.PI*2);ctx.fill();\n   }else if(p.type===3){\n     ctx.strokeStyle=p.r>2.4?'#f7d26a':'#ec6d50';ctx.lineWidth=1.35;\n     ctx.beginPath();if(p.r>2){ctx.arc(p.x,p.y,p.r*2,0,Math.PI*2)}else{ctx.moveTo(p.x-p.r*2,p.y);ctx.lineTo(p.x+p.r*2,p.y)}ctx.stroke();\n   }else if(p.type===4){\n     const snap=5;ctx.fillStyle=p.r>2?'#e4efff':'#81bee1';ctx.fillRect(Math.floor(p.x\/snap)*snap,Math.floor(p.y\/snap)*snap,Math.ceil(p.r*1.75),Math.ceil(p.r*1.75));\n   }else if(p.type===5){\n     ctx.fillStyle='#a6bfff';ctx.beginPath();ctx.arc(p.x,p.y,Math.max(.8,p.r*.45),0,Math.PI*2);ctx.fill();\n   }else{\n     ctx.shadowBlur=14;ctx.shadowColor='#8a8bff';ctx.fillStyle=p.r>2.1?'#c6aaff':'#75eeff';\n     ctx.beginPath();ctx.arc(p.x,p.y,p.r*.7,0,Math.PI*2);ctx.fill();\n   }\n   ctx.restore();\n }\n function drawMode(index,alpha,t){\n   if(alpha<=.002)return;\n   ctx.save();ctx.globalAlpha=alpha;\n   if(index===0){\n     \/\/ Carboncino \/ ocra: scia irregolare, puntatore a pennello.\n     if(history.length>1){ctx.beginPath();ctx.moveTo(history[0].x,history[0].y);\n       for(let i=1;i<history.length;i++)ctx.lineTo(history[i].x,history[i].y);\n       ctx.strokeStyle='rgba(224,161,106,.45)';ctx.lineWidth=3.2;ctx.lineCap='round';ctx.stroke();}\n     ctx.beginPath();ctx.arc(fx,fy,5.5,0,Math.PI*2);ctx.fillStyle='#e7ac70';ctx.fill();\n     ctx.beginPath();ctx.moveTo(fx-10,fy+10);ctx.lineTo(fx+8,fy-8);ctx.strokeStyle='#f9d6ac';ctx.lineWidth=1.7;ctx.stroke();\n   }else if(index===1){\n     \/\/ Litografia: mirino tipografico, puntinato irregolare.\n     ctx.strokeStyle='rgba(230,129,92,.84)';ctx.lineWidth=1.7;\n     ctx.strokeRect(fx-7,fy-7,14,14);\n     ctx.beginPath();ctx.moveTo(fx-12,fy);ctx.lineTo(fx+12,fy);ctx.moveTo(fx,fy-12);ctx.lineTo(fx,fy+12);ctx.stroke();\n   }else if(index===2){\n     \/\/ Camera oscura: bagliore locale e cerchio di messa a fuoco.\n     let grad=ctx.createRadialGradient(fx,fy,0,fx,fy,70);\n     grad.addColorStop(0,'rgba(255,235,200,.22)');grad.addColorStop(1,'rgba(255,235,200,0)');\n     ctx.beginPath();ctx.arc(fx,fy,70,0,Math.PI*2);ctx.fillStyle=grad;ctx.fill();\n     ctx.strokeStyle='#f5d9b8';ctx.lineWidth=1.25;\n     for(let z=0;z<4;z++){let a=z*Math.PI\/2;ctx.beginPath();ctx.arc(fx,fy,20,a+.18,a+Math.PI\/2-.18);ctx.stroke();}\n     ctx.beginPath();ctx.arc(fx,fy,2,0,Math.PI*2);ctx.fillStyle='#f5d9b8';ctx.fill();\n   }else if(index===3){\n     \/\/ Bauhaus: geometrie geometriche attorno al cursore.\n     ctx.strokeStyle='#f4d261';ctx.lineWidth=1.6;ctx.beginPath();ctx.arc(fx,fy,9,0,Math.PI*2);ctx.stroke();\n     ctx.fillStyle='#f16e56';ctx.fillRect(fx+9,fy-11,5,5);\n     ctx.strokeStyle='#80c7e5';ctx.beginPath();ctx.moveTo(fx-13,fy+11);ctx.lineTo(fx-3,fy+11);ctx.stroke();\n   }else if(index===4){\n     \/\/ CRT: puntatore pixelato 8-bit, fianchi ortogonali.\n     const s=3;const points=[[0,0],[0,1],[0,2],[1,2],[1,3],[2,3],[1,1],[2,2]];\n     ctx.fillStyle='#a2edff';for(let point of points)ctx.fillRect(Math.round(fx\/s)*s+point[0]*s,Math.round(fy\/s)*s+point[1]*s,s,s);\n   }else if(index===5){\n     \/\/ Adobe \/ vettoriale: curva B\u00e9zier con punti di ancoraggio.\n     if(history.length>2){\n       ctx.beginPath();ctx.moveTo(history[0].x,history[0].y);\n       for(let i=1;i<history.length-1;i++){\n         const mX=(history[i].x+history[i+1].x)\/2,mY=(history[i].y+history[i+1].y)\/2;\n         ctx.quadraticCurveTo(history[i].x,history[i].y,mX,mY);\n       }\n       ctx.lineWidth=1.8;ctx.strokeStyle='rgba(167,207,255,.8)';ctx.stroke();\n     }\n     ctx.strokeStyle='#d8e5ff';ctx.lineWidth=1.4;ctx.strokeRect(fx-4,fy-4,8,8);\n     if(history.length>7){ctx.fillStyle='#e9eeff';for(const p of [history[0],history[Math.floor(history.length\/2)]])ctx.fillRect(p.x-2,p.y-2,4,4)}\n   }else{\n     \/\/ Generative AI: sciame e connessioni di punti.\n     let grad=ctx.createRadialGradient(fx,fy,0,fx,fy,48);\n     grad.addColorStop(0,'rgba(134,198,255,.25)');grad.addColorStop(1,'rgba(134,198,255,0)');\n     ctx.fillStyle=grad;ctx.beginPath();ctx.arc(fx,fy,48,0,Math.PI*2);ctx.fill();\n     let near=bits.filter(p=>p.type===6&&p.life>.3&&Math.hypot(p.x-fx,p.y-fy)<55).slice(-22);\n     ctx.strokeStyle='rgba(156,188,255,.42)';ctx.lineWidth=.7;\n     for(let i=0;i<near.length;i++)for(let j=i+1;j<near.length;j++){\n       let a=near[i],b=near[j];if(Math.hypot(a.x-b.x,a.y-b.y)<34){ctx.beginPath();ctx.moveTo(a.x,a.y);ctx.lineTo(b.x,b.y);ctx.stroke();}\n     }\n     ctx.shadowBlur=17;ctx.shadowColor='#77d9ff';ctx.strokeStyle='#c1f3ff';ctx.lineWidth=1.5;\n     ctx.beginPath();ctx.arc(fx,fy,6+Math.sin(t*.004)*.8,0,Math.PI*2);ctx.stroke();\n     ctx.fillStyle='#fff';ctx.beginPath();ctx.arc(fx,fy,2,0,Math.PI*2);ctx.fill();\n   }\n   ctx.restore();\n }\n function frame(t){\n   raf=0;\n   const dt=Math.min(42,t-last||16);last=t;\n   ctx.clearRect(0,0,w,h);\n   if(inside){\n     fx=mix(fx,x,.38);fy=mix(fy,y,.38);\n     history.push({x:fx,y:fy});if(history.length>17)history.shift();\n     if(Math.hypot(x-lastSpawnX,y-lastSpawnY)>5){addBits(fx,fy);lastSpawnX=x;lastSpawnY=y;}\n   }\n   for(const p of bits){p.x+=p.vx*dt\/16;p.y+=p.vy*dt\/16;p.vy+=.02*dt\/16;p.life-=dt\/p.ttl;drawShape(p)}\n   bits=bits.filter(p=>p.life>0);\n   if(inside){\n     for(const [mode,weight] of weights(phase))drawMode(mode,weight,t);\n   }\n   if(inside||bits.length)raf=requestAnimationFrame(frame);\n }\n function run(){if(!raf)raf=requestAnimationFrame(frame)}\n root.addEventListener('pointerenter',e=>{\n   if(e.pointerType==='touch')return;\n   let b=canvas.getBoundingClientRect();x=e.clientX-b.left;y=e.clientY-b.top;\n   if(!ready){fx=x;fy=y;ready=true;}inside=true;root.classList.add('gk-mouse-effect-on');run();\n });\n root.addEventListener('pointermove',e=>{\n   if(e.pointerType==='touch')return;\n   let b=canvas.getBoundingClientRect();x=e.clientX-b.left;y=e.clientY-b.top;\n   if(!ready){fx=x;fy=y;ready=true;}\n   inside=true;root.classList.add('gk-mouse-effect-on');run();\n },{passive:true});\n root.addEventListener('pointerleave',()=>{inside=false;ready=false;history=[];root.classList.remove('gk-mouse-effect-on');run()});\n root.gkCursorSetEra=(value)=>{phase=clamp(value,0,6);if(inside)run()};\n document.addEventListener('visibilitychange',()=>{if(document.hidden){inside=false;bits=[];history=[];root.classList.remove('gk-mouse-effect-on')}});\n})();\n<\/script>\n<!-- \/GILBERT KABLAN - IMMERSIVE SCROLL -->\n\n<style>\n\/* V12 FIX \u2014 La scena non \u00e8 pi\u00f9 vincolata allo sticky dei contenitori Elementor. *\/\n#gk-world-portal{position:fixed;inset:0;top:0;left:0;z-index:0;width:100vw;height:100vh;height:100dvh;pointer-events:none;overflow:hidden;background:#11131a;opacity:0;visibility:hidden;transition:opacity .16s linear,visibility .16s linear;}\n#gk-experience.gk-portaled{background:transparent!important;}\n#gk-experience.gk-portaled .gk-story{margin-top:0!important;}\n\/* Togliamo il blocco di fondo senza lasciare vuoti sotto la hero. *\/\n@media(prefers-reduced-motion:reduce){#gk-world-portal{transition:none!important}}\n<\/style>\n<script>\n\/* V12 FIX \u2014 Sposta solo lo sfondo decorativo fuori dai contenitori Elementor.\n   Contenuti HTML, headings, link e sezioni restano esattamente nella pagina. *\/\n(function(){\n  'use strict';\n  const root=document.getElementById('gk-experience');\n  if(!root || root.dataset.gkPortalInit==='1')return;\n  const world=root.querySelector('.gk-world');\n  if(!world)return;\n  root.dataset.gkPortalInit='1';\n  world.id='gk-world-portal';\n  document.body.insertBefore(world,document.body.firstChild);\n  root.classList.add('gk-portaled');\n  function syncVisibility(){\n    const rect=root.getBoundingClientRect();\n    const on=rect.bottom>1 && rect.top<window.innerHeight;\n    world.style.opacity=on?'1':'0';\n    world.style.visibility=on?'visible':'hidden';\n  }\n  window.addEventListener('scroll',syncVisibility,{passive:true});\n  window.addEventListener('resize',syncVisibility,{passive:true});\n  syncVisibility();\n  window.dispatchEvent(new Event('resize'));\n})();\n<\/script>\n\n\n<!-- V12.3 \u2014 Riduzione dello spazio tra header Harry e primo testo, desktop e mobile -->\n<style>\n\/* Cambia solamente la posizione del primo blocco; mantiene l'altezza della scena per lo scroll. *\/\n#gk-experience .gk-first .gk-copy {\n  transform: translate3d(0, calc(-1 * clamp(100px, 12vh, 150px)), 0);\n}\n\/* Su desktop bassi manteniamo il titolo leggermente pi\u00f9 compatto. *\/\n@media (min-width: 768px) and (max-height: 760px) {\n  #gk-experience .gk-first .gk-copy {\n    transform: translate3d(0, -100px, 0);\n  }\n  #gk-experience .gk-first .gk-display {\n    font-size: clamp(48px, 6.4vw, 108px);\n  }\n}\n\/* Sul telefono il vecchio centraggio lasciava un vuoto eccessivo sotto il logo. *\/\n@media (max-width: 767px) {\n  #gk-experience .gk-first .gk-copy {\n    transform: translate3d(0, calc(-1 * clamp(145px, 22svh, 205px)), 0);\n  }\n}\n<\/style>\n\n<style>\n\/* V12.3 \u2014 Il link Lavori e Contatti hanno pari dignit\u00e0 visiva *\/\n#gk-experience .gk-actions a:nth-child(2){display:inline-block;border-bottom:1px solid rgba(255,255,255,.78)!important;padding-bottom:9px;text-transform:uppercase;font-size:12px;letter-spacing:.14em}\n#gk-experience .gk-endpart .gk-text-link + .gk-text-link{margin-left:24px}\n@media(max-width:767px){#gk-experience .gk-endpart .gk-text-link + .gk-text-link{margin-left:16px}}\n<\/style>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>01 \/ 07Le origini del segno Mi chiamo Gilbert Kablan Creative Designer &amp; Digital Marketing Branding \u00b7 Graphic Design \u00b7 Photography \u00b7 Video \u00b7 Motion \u00b7 Digital Unisco creativit\u00e0, design e strategia per sviluppare identit\u00e0, contenuti e progetti digitali. Scopri i lavori Contatti gilbert@gilbertkablan.com SCROLL \u2193 ABOUT ME Sono Creative Director e Digital Marketing Manager: [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":45922,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_monsterinsights_skip_tracking":false,"ngg_post_thumbnail":0,"_vp_format_video_url":"","_vp_image_focal_point":[],"footnotes":""},"class_list":["post-1961","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/gilbertkablan.it\/en\/wp-json\/wp\/v2\/pages\/1961","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gilbertkablan.it\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gilbertkablan.it\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gilbertkablan.it\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gilbertkablan.it\/en\/wp-json\/wp\/v2\/comments?post=1961"}],"version-history":[{"count":99,"href":"https:\/\/gilbertkablan.it\/en\/wp-json\/wp\/v2\/pages\/1961\/revisions"}],"predecessor-version":[{"id":45923,"href":"https:\/\/gilbertkablan.it\/en\/wp-json\/wp\/v2\/pages\/1961\/revisions\/45923"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gilbertkablan.it\/en\/wp-json\/wp\/v2\/media\/45922"}],"wp:attachment":[{"href":"https:\/\/gilbertkablan.it\/en\/wp-json\/wp\/v2\/media?parent=1961"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}