
:root{--w:#fff;--b:#090909;--g:#B88A43;--m:#6E6962;--l:rgba(9,9,9,.14);--lw:rgba(255,255,255,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--w);color:var(--b);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}.defs{position:absolute;width:0;height:0;overflow:hidden}.head{position:fixed;z-index:60;inset:0 0 auto;height:64px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.95);border-bottom:1px solid rgba(9,9,9,.06);backdrop-filter:blur(12px)}.head.dark{background:rgba(9,9,9,.94);border-color:rgba(255,255,255,.08)}.brand{width:43px;height:43px;color:var(--b)}.brand use,.logo use{fill:currentColor}.head.dark .brand{color:#fff}.lab{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--m)}.head.dark .lab{color:#999}.s{position:relative;overflow:hidden}.wrap{width:min(100%,1180px);margin:auto;padding:0 max(38px,calc(22px + env(safe-area-inset-right))) 0 max(22px,env(safe-area-inset-left));position:relative;z-index:3}.k{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--m);font-weight:600}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.055em;text-wrap:balance}h1{font-size:clamp(54px,14.7vw,74px);line-height:.91;font-weight:690;max-width:8.2ch}h2{font-size:clamp(43px,11.4vw,58px);line-height:.95;font-weight:650;max-width:8.7ch}h3{font-size:clamp(28px,7.6vw,38px);line-height:1.03;font-weight:630}.body{font-size:clamp(17px,4.4vw,19px);line-height:1.54;color:var(--m);text-wrap:pretty}.rv{opacity:0;transform:translateY(12px)}.rv.in{opacity:1;transform:none;transition:.58s cubic-bezier(.22,.8,.25,1)}.focus{color:var(--m);font-weight:610;background:linear-gradient(var(--g),var(--g)) no-repeat 0 94%/0 1.5px;transition:color .32s,background-size .42s cubic-bezier(.22,.8,.25,1)}.focus.hot{color:var(--g);background-size:100% 1.5px}.stuck .focus,.human .focus{color:rgba(255,255,255,.56)}.stuck .focus.hot,.human .focus.hot{color:var(--g)}.logo{position:absolute;z-index:1;pointer-events:none}.logo.light{color:var(--b);opacity:.025}.logo.dark{color:#fff;opacity:.06}.hero{min-height:100svh;padding:104px 0 54px;display:flex;align-items:center}.hero .logo{right:-34vw;top:92px;width:76vw;height:76vw}.hc{max-width:650px}.hero .k{margin-bottom:18px}.hero .body{margin-top:25px;max-width:31rem}.sig{margin-top:32px;display:flex;gap:14px;align-items:center;font-size:13px;color:var(--m)}.sig:before{content:"";width:62px;height:1px;background:var(--g)}.sig b{color:var(--b)}.stuck{background:var(--b);color:#fff;padding:84px 0 68px}.stuck .logo{width:78vw;height:78vw;right:-35vw;bottom:-21vw}.stuck .k,.human .k{color:var(--g)}.stuck h2,.human h2,.services h2,.proof h2,.contact h2{margin-top:18px}.stuck .body,.human .body{color:rgba(255,255,255,.66);margin-top:24px;max-width:30rem}.list,.svcs,.outs{margin-top:36px}.list{border-top:1px solid var(--lw)}.row,.svc,.out{display:grid;grid-template-columns:32px 1fr;gap:14px;padding:17px 0;border-bottom:1px solid var(--l)}.row{border-color:var(--lw)}.row i,.svc i,.out i{font-style:normal;color:var(--g);font-size:10px;padding-top:6px;font-weight:650}.row b{font-size:clamp(25px,6.8vw,34px);line-height:1.05;letter-spacing:-.04em;font-weight:610}.row p,.svc p,.out p{margin-top:6px;font-size:14px;line-height:1.45;color:var(--m)}.row p{color:rgba(255,255,255,.56)}.row b,.svc strong,.out h3{transition:color .26s}.row.reading b,.svc.reading strong,.out.reading h3{color:var(--g)}.services{padding:78px 0 52px}.services .logo{left:-38vw;bottom:-34vw;width:72vw;height:72vw}.services .body,.proof .body{margin-top:20px;max-width:29rem}.svc{border-top:1px solid var(--l);border-bottom:0}.svc:last-child,.out:last-child{border-bottom:1px solid var(--l)}.svc strong{font-size:clamp(28px,7.8vw,39px);line-height:1.03;letter-spacing:-.045em;font-weight:625}.proof{padding:56px 0}.make{position:absolute;z-index:0;left:18px;top:-14px;font-size:37vw;line-height:.72;letter-spacing:-.09em;font-weight:720;color:transparent;-webkit-text-stroke:1px rgba(9,9,9,.065);white-space:nowrap}.proof-copy{position:relative;z-index:2;padding-top:66px}.out{border-top:1px solid var(--l);border-bottom:0}.out h3{max-width:13ch}.human{background:var(--b);color:#fff;padding:82px 0 76px}.human .logo{width:80vw;height:80vw;right:-36vw;bottom:-23vw}.roles{margin-top:27px;display:flex;gap:14px;font-size:13px;color:#777}.roles b{color:#fff}.contact{min-height:72svh;padding:82px 0 54px;display:flex;align-items:center}.contact .logo{left:-43vw;top:8vh;width:76vw;height:76vw}.contact .body{margin-top:24px;max-width:29rem}.cta{display:inline-flex;margin-top:34px;min-height:54px;padding:0 25px;border-radius:999px;background:var(--b);color:#fff;align-items:center;font-size:13px;font-weight:650}.resolve{margin-top:42px;width:min(62vw,250px);height:34px;position:relative}.resolve:before{content:"";position:absolute;left:0;right:7px;top:17px;height:1px;background:rgba(184,138,67,.72)}.resolve:after{content:"";position:absolute;right:0;top:14px;width:7px;height:7px;border-radius:50%;background:var(--g);box-shadow:0 0 0 5px rgba(184,138,67,.10)}.contact small{display:block;margin-top:10px;font-size:12px;color:var(--m)}.ribbon{display:none}
@media(min-width:1200px){.head{height:68px;padding:0 28px}.brand{width:48px;height:48px}.lab{font-size:11px}.wrap{width:auto;max-width:none;margin:0;padding-left:72px;padding-right:calc(18vw + 42px)}.k{font-size:11px}h1{font-size:clamp(86px,6.4vw,116px);line-height:.89}h2{font-size:clamp(66px,4.6vw,82px);line-height:.93}h3{font-size:clamp(30px,2.25vw,40px)}.body{font-size:18px;line-height:1.52}.hero{min-height:100vh;padding:118px 0 86px}.hero .hc,.stuck .wrap>div.rv,.services .wrap>div.rv,.proof-copy,.human .wrap>div.rv,.contact .wrap>div.rv{max-width:760px;margin-left:0}.hero h1{max-width:8.4ch}.stuck h2,.services h2,.proof h2,.human h2,.contact h2{max-width:9ch}.hero .body,.stuck .body,.services .body,.proof .body,.human .body,.contact .body{max-width:620px}.stuck{padding:112px 0 100px}.services{padding:108px 0 92px}.proof{padding:104px 0 96px}.human{padding:108px 0 100px}.contact{min-height:82vh;padding:108px 0 88px}.stuck .list,.services .svcs,.proof .outs{max-width:760px;margin-left:0}.stuck .list{margin-top:44px}.services .svcs{margin-top:42px}.proof .outs{margin-top:48px}.row,.svc,.out{grid-template-columns:38px 1fr;padding:20px 0}.row b{font-size:31px}.svc strong,.out h3{font-size:36px}.proof-copy{padding-top:72px}.make{left:72px;top:16px;font-size:clamp(150px,12vw,220px)}.hero .logo,.contact .logo{right:18vw;left:auto;top:50%;transform:translateY(-50%);width:min(34vw,520px);height:min(34vw,520px);opacity:.02}.stuck .logo,.human .logo{right:16vw;left:auto;bottom:-14vw;width:min(36vw,560px);height:min(36vw,560px);opacity:.05}.services .logo{left:auto;right:16vw;bottom:-18vw;width:min(32vw,500px);height:min(32vw,500px);opacity:.022}
/* Desktop inspiration ribbon: visual layer only; never changes the page grid. */
.ribbon{display:block;position:fixed;z-index:30;top:0;right:0;bottom:0;width:18vw;min-width:220px;max-width:340px;overflow:hidden;pointer-events:none;background:transparent}
.ribbon-grid{position:absolute;inset:0;display:grid;grid-template-columns:52fr 48fr;gap:0;padding:0;overflow:hidden;transition:grid-template-columns .42s cubic-bezier(.22,.8,.25,1)}
.ribbon.active-a .ribbon-grid{grid-template-columns:72fr 28fr}.ribbon.active-b .ribbon-grid{grid-template-columns:28fr 72fr}
.lane{position:relative;height:100%;overflow:visible;pointer-events:auto;min-width:0}
.track{position:absolute;left:0;right:0;top:0;display:flex;flex-direction:column;gap:0;will-change:transform}
.ribbon-tile{position:relative;flex:0 0 auto;width:100%;overflow:hidden;background:#e9e7e3;opacity:.58;cursor:default;isolation:isolate;transform-origin:center;transition:opacity .22s,filter .24s,width .42s cubic-bezier(.22,.8,.25,1),height .42s cubic-bezier(.22,.8,.25,1),margin .42s cubic-bezier(.22,.8,.25,1),box-shadow .32s}
.ribbon-tile img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;transform:scale(.985);filter:saturate(.88) contrast(.98);transition:transform .34s cubic-bezier(.22,.8,.25,1),filter .3s,opacity .3s}
.ribbon-tile.ratio-tall{height:27vh;min-height:180px}.ribbon-tile.ratio-wide{height:18vh;min-height:120px}.ribbon-tile.ratio-short{height:12vh;min-height:82px}.ribbon-tile.ratio-portrait{height:34vh;min-height:230px}
/* The boxes remain seamless. Focus comes from crop, opacity and controlled bleed. */
.ribbon-tile.focused{opacity:.96;z-index:8;box-shadow:-10px 14px 30px rgba(9,9,9,.08)}
.ribbon-tile.focused img{transform:scale(1.06);filter:saturate(1) contrast(1.01)}
.ribbon-tile.near{opacity:.78}.ribbon-tile.near img{transform:scale(1.02);filter:saturate(.94)}
.ribbon-tile.far{opacity:.42;filter:saturate(.78)}.ribbon-tile.far img{transform:scale(.985)}
.ribbon.has-active,.ribbon.has-active .ribbon-grid,.ribbon.has-active .lane.active-lane{overflow:hidden}
.ribbon.has-active .lane.active-lane{z-index:2}.ribbon.has-active .lane:not(.active-lane){z-index:1}
.ribbon-tile.expanded{width:100%!important;max-width:none;margin-left:0!important;height:auto!important;opacity:.96!important;z-index:8;cursor:default;box-shadow:-10px 14px 30px rgba(9,9,9,.08)}
.ribbon-tile.expanded img{transform:scale(1.06)!important;filter:saturate(1) contrast(1.01)!important}
.ribbon.has-active .ribbon-tile:not(.expanded){opacity:.42}.ribbon.has-active .lane:not(.active-lane) .ribbon-tile{opacity:.26}
}

@media(max-width:390px){.wrap{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(32px,calc(18px + env(safe-area-inset-right)))}.head{padding:0 18px}h1{font-size:clamp(50px,14vw,60px)}h2{font-size:clamp(40px,11vw,50px)}.hero{padding-top:92px;padding-bottom:46px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv{opacity:1;transform:none}.focus,.row b,.svc strong,.out h3,.ribbon-tile,.ribbon-tile img{transition:none!important}}

/* 2.3.0 — credibility + experience */
.companies{padding:38px 0 44px;border-top:1px solid var(--l);border-bottom:1px solid var(--l);background:#f7f6f3}.companies .wrap{display:grid;gap:22px}.companies-intro{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.companies-intro p{font-size:14px;color:var(--m)}.brand-cloud{display:flex;flex-wrap:wrap;align-items:center;gap:10px 0;border-top:1px solid rgba(9,9,9,.10);border-bottom:1px solid rgba(9,9,9,.10);padding:12px 0}.brand-cloud span{display:inline-flex;align-items:center;min-height:33px;padding:0 15px 0 0;margin-right:15px;border-right:1px solid rgba(9,9,9,.13);font-size:clamp(16px,4.5vw,20px);line-height:1;font-weight:590;letter-spacing:-.025em;white-space:nowrap}.brand-cloud span:last-child{border-right:0;margin-right:0}.proof-note{max-width:47rem;font-size:13px;line-height:1.5;color:var(--m)}
.experience{padding:86px 0 82px;background:#fff}.experience-head .body{margin-top:22px;max-width:33rem}.experience h2{margin-top:18px;max-width:9.2ch}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:40px;border-top:1px solid var(--l);border-left:1px solid var(--l)}.metrics>div{min-height:112px;padding:18px 16px;border-right:1px solid var(--l);border-bottom:1px solid var(--l);display:flex;flex-direction:column;justify-content:space-between}.metrics strong{font-size:clamp(31px,9vw,46px);line-height:.95;letter-spacing:-.055em;font-weight:660}.metrics span{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--m)}.career{margin-top:48px;border-top:1px solid var(--l)}.career-step{display:grid;grid-template-columns:86px 1fr;gap:18px;padding:25px 0;border-bottom:1px solid var(--l)}.career-step time{font-size:10px;line-height:1.35;letter-spacing:.05em;color:var(--g);font-weight:650}.career-step h3{font-size:clamp(28px,7.4vw,38px);max-width:none}.career-step p{margin-top:8px;max-width:38rem;font-size:14px;line-height:1.55;color:var(--m)}.impact{margin-top:58px;padding-top:25px;border-top:1px solid var(--b)}.impact-title{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.impact-title p{font-size:13px;color:var(--m)}.impact-grid{display:grid;margin-top:18px;border-top:1px solid var(--l)}.impact-grid article{display:grid;grid-template-columns:32px 1fr;gap:6px 14px;padding:20px 0;border-bottom:1px solid var(--l)}.impact-grid i{grid-row:1/3;font-style:normal;color:var(--g);font-size:10px;padding-top:4px;font-weight:650}.impact-grid strong{font-size:clamp(24px,6.8vw,34px);line-height:1;letter-spacing:-.04em;font-weight:630}.impact-grid span{font-size:13px;line-height:1.48;color:var(--m);max-width:32rem}.cv-link{display:inline-flex;gap:12px;align-items:center;margin-top:30px;padding-bottom:5px;border-bottom:1px solid var(--b);font-size:11px;letter-spacing:.08em;font-weight:650}.cv-link span{color:var(--g);font-size:16px;line-height:1}.products[hidden]{display:none!important}
@media(min-width:760px) and (max-width:1199px){.metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.metrics>div{min-height:124px}.career-step{grid-template-columns:124px 1fr}.impact-grid{grid-template-columns:repeat(3,1fr);border-left:1px solid var(--l)}.impact-grid article{display:flex;flex-direction:column;gap:9px;border-right:1px solid var(--l);padding:20px}.impact-grid i{padding:0}.companies .wrap{gap:24px}}
@media(min-width:1200px){.companies{padding:42px 0 46px}.companies .wrap{padding-right:calc(18vw + 42px);gap:24px}.companies-intro{max-width:900px}.companies-intro p{font-size:15px}.brand-cloud{max-width:1020px;padding:15px 0}.brand-cloud span{font-size:19px;min-height:35px;padding-right:18px;margin-right:18px}.proof-note{font-size:14px}.experience{padding:118px 0 112px}.experience .wrap{padding-right:calc(18vw + 42px)}.experience-head{max-width:780px}.experience h2{font-size:clamp(66px,4.6vw,82px);max-width:9.2ch}.experience-head .body{max-width:620px}.metrics{grid-template-columns:repeat(5,minmax(0,1fr));max-width:980px;margin-top:54px}.metrics>div{min-height:138px;padding:22px}.metrics strong{font-size:47px}.career{max-width:980px;margin-top:64px}.career-step{grid-template-columns:150px 1fr;gap:28px;padding:29px 0}.career-step time{font-size:11px;padding-top:7px}.career-step h3{font-size:39px}.career-step p{font-size:15px;max-width:690px}.impact{max-width:980px;margin-top:72px}.impact-title p{font-size:14px}.impact-grid{grid-template-columns:repeat(3,1fr);border-left:1px solid var(--l)}.impact-grid article{display:flex;flex-direction:column;gap:10px;min-height:205px;padding:24px;border-right:1px solid var(--l)}.impact-grid i{padding:0}.impact-grid strong{font-size:31px}.impact-grid span{font-size:14px}.cv-link{margin-top:34px}}
@media(max-width:520px){.companies-intro{display:block}.companies-intro p{margin-top:7px}.brand-cloud span{font-size:16px}.metrics>div:last-child{grid-column:1/-1}.impact-title{display:block}.impact-title p{margin-top:6px}.career-step{grid-template-columns:72px 1fr;gap:12px}.career-step time{font-size:9px}}

/* 2.4.0 — real product proof */
.products{padding:86px 0 92px;background:#0b0b0a;color:#fff;overflow:hidden}.products .focus{color:#d6a65d}.products-head{max-width:760px}.products-head h2{margin-top:18px;max-width:9ch}.products-head .body{margin-top:22px;max-width:36rem;color:rgba(255,255,255,.62)}.product-showcase{display:grid;gap:54px;margin-top:52px}.product-card{display:grid;gap:20px;min-width:0}.product-media,.product-gallery{overflow:hidden;background:#151513;border:1px solid rgba(255,255,255,.12)}.product-media{aspect-ratio:16/9}.product-media img,.product-gallery img{display:block;width:100%;height:100%;object-fit:cover}.product-gallery.two{display:grid;grid-template-columns:1fr;gap:1px;background:rgba(255,255,255,.12)}.product-gallery.two img{aspect-ratio:16/9;background:#151513}.product-gallery.food img:first-child{object-fit:cover}.product-copy{display:grid;gap:12px}.product-copy>div{display:flex;align-items:baseline;gap:14px}.product-no{font-size:10px;font-weight:650;color:#d6a65d;letter-spacing:.08em}.product-copy h3{font-size:clamp(28px,8vw,38px);line-height:1;letter-spacing:-.04em}.product-copy p{max-width:42rem;font-size:14px;line-height:1.55;color:rgba(255,255,255,.65)}.product-type{font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:rgba(255,255,255,.42)}.products-foot{margin-top:58px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);max-width:44rem;font-size:13px;line-height:1.5;color:rgba(255,255,255,.48)}
@media(min-width:760px){.product-showcase{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 28px}.product-card.product-wide{grid-column:1/-1}.product-card.product-wide .product-copy{grid-template-columns:minmax(240px,.65fr) 1fr;column-gap:36px;align-items:start}.product-card.product-wide .product-copy>div{grid-column:1}.product-card.product-wide .product-copy>p{grid-column:2;grid-row:1}.product-card.product-wide .product-type{grid-column:2}.product-gallery.two{grid-template-columns:repeat(2,minmax(0,1fr))}.product-gallery.two img{aspect-ratio:16/9}}
@media(min-width:1200px){.products{padding:118px 0 124px}.products .wrap{padding-right:calc(18vw + 42px)}.products-head h2{font-size:clamp(66px,4.6vw,82px)}.product-showcase{max-width:1100px;margin-top:70px;gap:78px 34px}.product-card{gap:25px}.product-card:not(.product-wide) .product-media{aspect-ratio:1.34/1}.product-card:not(.product-wide) .product-media img{object-position:center top}.product-copy h3{font-size:39px}.product-copy p{font-size:15px}.product-type{font-size:10px}.products-foot{margin-top:74px;font-size:14px}}

/* 2.7.0 — calm page + fixed horizontal portfolio */
.ribbon,.products{display:none!important}
.logo-wall{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.logo-wall img{width:100%;height:64px;object-fit:contain;padding:16px 18px;border:1px solid rgba(9,9,9,.08);border-radius:14px;background:rgba(255,255,255,.74);filter:grayscale(1);opacity:.8;transition:filter .25s,opacity .25s,transform .25s}.logo-wall img:hover{filter:grayscale(0);opacity:1;transform:translateY(-1px)}.companies-link{display:inline-flex;align-items:center;gap:11px;width:max-content;padding-bottom:5px;border-bottom:1px solid var(--b);font-size:10px;letter-spacing:.09em;font-weight:650}.companies-link span{color:var(--g);font-size:15px}.contact-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.contact-cv{margin-top:34px;font-size:10px;letter-spacing:.09em;font-weight:650;padding-bottom:5px;border-bottom:1px solid rgba(9,9,9,.6)}
.portfolio{--surface:#fff;display:none}
@media(min-width:760px){.logo-wall{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1200px){
  :root{--railW:40vw}
  .wrap{padding-right:calc(var(--railW) + 44px)}
  .companies .wrap,.experience .wrap{padding-right:calc(var(--railW) + 44px)}
  .hero .logo,.stuck .logo,.services .logo,.human .logo,.contact .logo{right:calc(var(--railW) - 5vw)}
  .hero .hc,.stuck .wrap>div.rv,.services .wrap>div.rv,.proof-copy,.human .wrap>div.rv,.contact .wrap>div.rv{max-width:650px}
  .stuck .list,.services .svcs,.proof .outs{max-width:650px}
  .experience-head,.metrics,.career,.impact{max-width:760px}
  .companies-intro,.logo-wall{max-width:760px}
  .logo-wall{grid-template-columns:repeat(4,minmax(0,1fr))}
  .portfolio{display:block;position:fixed;z-index:28;right:0;top:68px;bottom:0;width:var(--railW);overflow:hidden;pointer-events:none;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--surface) 24%,transparent) 24%,color-mix(in srgb,var(--surface) 66%,transparent) 64%,var(--surface) 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.10) 5%,rgba(0,0,0,.48) 19%,#000 34%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.10) 5%,rgba(0,0,0,.48) 19%,#000 34%,#000 100%);transition:background .34s ease}
  .portfolio:before{content:"";position:absolute;z-index:9;inset:0 auto 0 0;width:28%;background:linear-gradient(90deg,var(--surface) 0%,color-mix(in srgb,var(--surface) 82%,transparent) 24%,color-mix(in srgb,var(--surface) 38%,transparent) 64%,transparent 100%);transition:background .34s ease}
  .portfolio-stage{position:absolute;inset:0;perspective:1500px;transform-style:preserve-3d}
  .portfolio-card{position:absolute;top:50%;left:9%;width:min(70%,600px);aspect-ratio:16/10;margin:0;border-radius:19px;overflow:hidden;background:#111;box-shadow:0 26px 64px rgba(0,0,0,.17);transform-origin:left center;will-change:transform,opacity,filter;backface-visibility:hidden}
  .portfolio-card.portrait{width:min(54%,410px);aspect-ratio:4/5}
  .portfolio-card img{display:block;width:100%;height:100%;object-fit:cover}
  .portfolio-meta{position:absolute;z-index:12;left:16%;bottom:6.8%;display:flex;align-items:center;gap:13px;min-width:230px;color:#776f65;transition:color .3s}.portfolio-rule{display:block;width:38px;height:1px;background:var(--g)}.portfolio-meta div{display:grid;gap:3px}.portfolio-meta b{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:inherit}.portfolio-meta span:not(.portfolio-rule){font-size:10px;color:color-mix(in srgb,currentColor 74%,transparent)}
  .portfolio-count{position:absolute;z-index:12;right:25px;bottom:24px;display:flex;gap:6px;align-items:center;font-size:10px;letter-spacing:.12em;color:#857e74}.portfolio-count i{font-style:normal;opacity:.45}
}
@media(min-width:1500px){:root{--railW:46vw}.hero .hc,.stuck .wrap>div.rv,.services .wrap>div.rv,.proof-copy,.human .wrap>div.rv,.contact .wrap>div.rv{max-width:720px}.stuck .list,.services .svcs,.proof .outs{max-width:720px}.experience-head,.metrics,.career,.impact,.companies-intro,.logo-wall{max-width:860px}.portfolio-card{left:10%;width:min(66%,650px)}}
@media(min-width:760px) and (max-width:1199px){
  .portfolio{--surface:#fff;display:block;position:relative;width:100%;height:330px;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#f7f6f3 100%);border-bottom:1px solid var(--l)}
  .portfolio-stage{position:absolute;inset:0;display:flex;gap:16px;align-items:center;overflow-x:auto;scroll-snap-type:x mandatory;padding:34px 6vw 46px;scrollbar-width:none}.portfolio-stage::-webkit-scrollbar{display:none}
  .portfolio-card{position:relative;flex:0 0 62vw;max-width:520px;aspect-ratio:16/10;margin:0;border-radius:16px;overflow:hidden;scroll-snap-align:center;background:#111;box-shadow:0 18px 40px rgba(0,0,0,.12)}.portfolio-card.portrait{flex-basis:38vw;max-width:330px;aspect-ratio:4/5}.portfolio-card img{width:100%;height:100%;object-fit:cover}.portfolio-meta,.portfolio-count{display:none}
}
@media(max-width:759px){
  .portfolio{display:block;position:relative;width:100%;height:255px;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#f7f6f3 100%);border-bottom:1px solid var(--l)}.portfolio-stage{position:absolute;inset:0;display:flex;gap:12px;align-items:center;overflow-x:auto;scroll-snap-type:x mandatory;padding:28px 22px 36px;scrollbar-width:none}.portfolio-stage::-webkit-scrollbar{display:none}.portfolio-card{position:relative;flex:0 0 78vw;aspect-ratio:16/10;margin:0;border-radius:14px;overflow:hidden;scroll-snap-align:center;background:#111;box-shadow:0 14px 32px rgba(0,0,0,.11)}.portfolio-card.portrait{flex-basis:52vw;aspect-ratio:4/5}.portfolio-card img{display:block;width:100%;height:100%;object-fit:cover}.portfolio-meta,.portfolio-count{display:none}.contact-actions{align-items:flex-start;gap:14px}.contact-cv{margin-top:8px}
}
@media(prefers-reduced-motion:reduce){.portfolio-card{transition:none!important}}

/* 2.8.0 — one calm signature interaction: the Living Proof Window */
.portfolio,.ribbon,.products{display:none!important}
.proof-window{display:none}

/* Restore the calm, full-width base on laptop/tablet/mobile. */
@media(min-width:1200px){
  .wrap,.companies .wrap,.experience .wrap{padding-right:72px}
  .hero .logo,.contact .logo{right:5vw}
  .stuck .logo,.human .logo{right:4vw}
  .services .logo{right:4vw}
  .hero .hc,.stuck .wrap>div.rv,.services .wrap>div.rv,.proof-copy,.human .wrap>div.rv,.contact .wrap>div.rv{max-width:760px}
  .stuck .list,.services .svcs,.proof .outs{max-width:760px}
  .experience-head,.metrics,.career{max-width:980px}
  .companies-intro,.logo-wall{max-width:1020px}
}

/* Company proof should read like a quiet editorial strip, not a dashboard. */
.logo-wall{gap:0;border-top:1px solid rgba(9,9,9,.10);border-bottom:1px solid rgba(9,9,9,.10);padding:8px 0}
.logo-wall img{border:0;border-radius:0;background:transparent;box-shadow:none;height:58px;padding:15px 18px;opacity:.68;border-right:1px solid rgba(9,9,9,.09)}
.logo-wall img:last-child{border-right:0}
.logo-wall img:hover{transform:none;opacity:.95;filter:grayscale(1)}
.companies-link{margin-top:2px}

/* Slightly compress experience: proof without turning the page into a CV. */
.experience{padding-top:94px;padding-bottom:94px}
.career{margin-top:52px}
.career-step{padding:22px 0}

/* Only large desktop gets the visual layer. Laptop/tablet/mobile remain pure. */
@media(min-width:1440px) and (pointer:fine){
  :root{--proofW:clamp(430px,34vw,610px)}
  .wrap,.companies .wrap,.experience .wrap{padding-left:72px;padding-right:calc(var(--proofW) + 112px)}
  .hero .hc,.stuck .wrap>div.rv,.services .wrap>div.rv,.proof-copy,.human .wrap>div.rv,.contact .wrap>div.rv{max-width:720px}
  .stuck .list,.services .svcs,.proof .outs{max-width:720px}
  .experience-head,.metrics,.career,.companies-intro,.logo-wall{max-width:820px}
  .hero .logo,.stuck .logo,.services .logo,.human .logo,.contact .logo{display:none}

  .proof-window{display:block;position:fixed;z-index:24;right:44px;top:68px;bottom:0;width:var(--proofW);pointer-events:none;color:#77716a;transition:color .35s ease}
  .proof-window.dark{color:rgba(255,255,255,.72)}
  .pw-stage{--drift:0px;position:absolute;left:0;right:0;top:50%;height:min(68vh,650px);transform:translate3d(0,calc(-50% + var(--drift)),0);transition:transform .18s linear}
  .pw-shot{position:absolute;inset:0;margin:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:translate3d(30px,0,0) scale(.978);transition:opacity .5s cubic-bezier(.22,.8,.25,1),transform .62s cubic-bezier(.22,.8,.25,1);will-change:opacity,transform}
  .pw-shot.before{transform:translate3d(-26px,0,0) scale(.986)}
  .pw-shot.after{transform:translate3d(30px,0,0) scale(.978)}
  .pw-shot.active{opacity:1;transform:translate3d(0,0,0) scale(1)}
  .pw-shot img{display:block;max-width:100%;max-height:78%;width:auto;height:auto;object-fit:contain;border-radius:22px;box-shadow:0 22px 56px rgba(9,9,9,.13);filter:none}
  .proof-window.dark .pw-shot img{box-shadow:0 24px 64px rgba(0,0,0,.34)}
  .pw-meta{position:absolute;left:0;bottom:8.5%;display:flex;align-items:center;gap:14px;min-width:250px}
  .pw-line{width:44px;height:1px;background:var(--g);flex:0 0 auto}
  .pw-meta div{display:grid;gap:4px}
  .pw-meta b{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:670}
  .pw-meta span:not(.pw-line){font-size:10px;color:color-mix(in srgb,currentColor 68%,transparent)}
  .pw-index{position:absolute;right:0;bottom:8.5%;display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.12em;color:color-mix(in srgb,currentColor 70%,transparent)}
  .pw-index i{font-style:normal;opacity:.38}
}

@media(min-width:1720px) and (pointer:fine){
  :root{--proofW:clamp(500px,35vw,680px)}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--proofW) + 130px)}
}

@media(max-width:1439px){.proof-window{display:none!important}}
@media(prefers-reduced-motion:reduce){.pw-shot,.pw-stage{transition:none!important}}

/* 2.9.0 — transparent living product panels */
.head{background:transparent!important;border-bottom:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;justify-content:flex-start;pointer-events:none}.head a{pointer-events:auto}.brand{transition:color .28s ease,opacity .28s ease}.lab{display:none!important}
@media(min-width:1200px){.companies{padding-top:58px;padding-bottom:62px}.stuck{padding-top:132px;padding-bottom:118px}.services{padding-top:126px;padding-bottom:112px}.proof{padding-top:120px;padding-bottom:116px}.experience{padding-top:126px;padding-bottom:126px}.human{padding-top:128px;padding-bottom:118px}.contact{min-height:88vh;padding-top:126px;padding-bottom:104px}.stuck .list,.services .svcs,.proof .outs{margin-top:54px}.career{margin-top:62px}}
@media(min-width:1440px) and (pointer:fine){:root{--proofW:clamp(620px,44vw,820px)}.wrap,.companies .wrap,.experience .wrap{padding-left:72px;padding-right:calc(var(--proofW) + 76px)}.hero .hc,.stuck .wrap>div.rv,.services .wrap>div.rv,.proof-copy,.human .wrap>div.rv,.contact .wrap>div.rv{max-width:690px}.stuck .list,.services .svcs,.proof .outs{max-width:690px}.experience-head,.metrics,.career,.companies-intro,.logo-wall{max-width:790px}.proof-window{display:block;position:fixed;z-index:18;right:12px;top:56px;bottom:0;width:var(--proofW);pointer-events:none;color:inherit}.pw-stage{--driftY:0px;--driftX:0px;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform:translate3d(var(--driftX),var(--driftY),0);transition:transform .12s linear;will-change:transform}.pw-shot{position:absolute;inset:0;margin:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:translate3d(20px,10px,0) scale(.965);transition:opacity .48s cubic-bezier(.22,.8,.25,1),transform .58s cubic-bezier(.22,.8,.25,1);will-change:opacity,transform}.pw-shot.before{transform:translate3d(-18px,-8px,0) scale(.975)}.pw-shot.after{transform:translate3d(20px,10px,0) scale(.965)}.pw-shot.active{opacity:1;transform:translate3d(0,0,0) scale(1)}.pw-shot img{display:block;width:min(100%,800px);height:auto;max-height:88vh;object-fit:contain;border-radius:0!important;box-shadow:none!important;filter:none!important}.proof-window.dark .pw-shot img{box-shadow:none!important}.pw-meta,.pw-index{display:none!important}}
@media(min-width:1720px) and (pointer:fine){:root{--proofW:clamp(720px,45vw,900px)}.wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--proofW) + 86px)}}
@media(max-width:1439px){.proof-window{display:none!important}}

/* 2.9.1 — composition refinement + restrained layered depth */
@media(min-width:1200px){
  .head{padding-left:72px;padding-right:28px}
  .brand{width:40px;height:40px}
  .hero .k{display:none}
  .hero .hc{position:relative;top:-24px}
  .hero .body{max-width:560px;margin-top:22px}
  .hero .sig{margin-top:24px}
}

@media(min-width:1440px) and (pointer:fine){
  :root{--proofW:clamp(650px,45vw,850px)}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--proofW) + 62px)}
  .proof-window{right:-8px;top:62px;width:var(--proofW);overflow:visible}
  .pw-stage{--driftY:0px;--driftX:0px;transform:none;overflow:visible}
  .pw-shot{overflow:visible}
  .pw-art{--artScale:1.10;--artX:0px;--artY:18px;--mainX:0px;--mainY:0px;position:relative;width:112%;aspect-ratio:4/3;flex:0 0 auto;transform:translate3d(calc(var(--artX) + var(--mainX)),calc(var(--artY) + var(--mainY)),0) scale(var(--artScale));transform-origin:center;will-change:transform;transition:transform .14s linear}
  .pw-art img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain;border-radius:0!important;box-shadow:none!important;filter:none!important}
  .pw-base{z-index:1}
  .pw-layer{z-index:2;--layerX:0px;--layerY:0px;transform:translate3d(var(--layerX),var(--layerY),0);will-change:transform;transition:transform .14s linear;filter:drop-shadow(0 13px 18px rgba(9,9,9,.06))!important}
  .proof-window.dark .pw-layer{filter:drop-shadow(0 16px 24px rgba(0,0,0,.18))!important}

  .pw-shot[data-proof-id="flows"] .pw-art{--artScale:1.13;--artX:-10px;--artY:30px}
  .pw-shot[data-proof-id="village"] .pw-art{--artScale:1.09;--artX:8px;--artY:18px}
  .pw-shot[data-proof-id="findable"] .pw-art{--artScale:1.11;--artX:4px;--artY:16px}
  .pw-shot[data-proof-id="flyer"] .pw-art{--artScale:1.12;--artX:8px;--artY:12px}
  .pw-shot[data-proof-id="finance"] .pw-art{--artScale:1.12;--artX:0px;--artY:22px}
  .pw-shot[data-proof-id="atlas"] .pw-art{--artScale:1.10;--artX:7px;--artY:14px}
  .pw-shot[data-proof-id="food"] .pw-art{--artScale:1.09;--artX:8px;--artY:17px}
  .pw-shot[data-proof-id="rome"] .pw-art{--artScale:1.10;--artX:8px;--artY:12px}
}

@media(min-width:1720px) and (pointer:fine){
  :root{--proofW:clamp(760px,46vw,930px)}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--proofW) + 72px)}
  .pw-art{width:114%}
}

@media(prefers-reduced-motion:reduce){
  .pw-art{--mainX:0px!important;--mainY:0px!important;transition:none!important}
  .pw-layer{--layerX:0px!important;--layerY:0px!important;transition:none!important}
}


/* 2.9.2 — sticky visual carousel + cinematic crossfade */
@media(min-width:1440px) and (pointer:fine){
  :root{--proofW:clamp(680px,46vw,880px)}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--proofW) + 78px)}
  .proof-window{right:18px;top:0;bottom:0;width:var(--proofW);display:block;z-index:18;overflow:visible;pointer-events:none}
  .pw-stage{position:absolute;inset:0;display:grid;place-items:center;padding:88px 0 56px;transform:none!important;transition:none!important}
  .pw-shot{position:absolute;inset:0;margin:0;display:grid;place-items:center;opacity:0;transform:translate3d(72px,0,0) scale(.985);transition:opacity .72s cubic-bezier(.22,.8,.25,1),transform .86s cubic-bezier(.22,.8,.25,1);will-change:opacity,transform;overflow:visible}
  .pw-shot.before{opacity:0;transform:translate3d(-58px,0,0) scale(.985)}
  .pw-shot.after{opacity:0;transform:translate3d(72px,0,0) scale(.985)}
  .pw-shot.active{opacity:1;transform:translate3d(var(--driftX,0px),var(--driftY,0px),0) rotate(var(--driftR,0deg)) scale(1)}
  .pw-card{position:relative;display:grid;place-items:center;width:min(100%,860px);aspect-ratio:4/3}
  .pw-card::before{content:"";position:absolute;left:12%;right:10%;bottom:10%;height:13%;border-radius:999px;background:radial-gradient(ellipse at center,rgba(9,9,9,.16) 0%,rgba(9,9,9,.11) 36%,rgba(9,9,9,0) 74%);filter:blur(26px);opacity:.48;transform:translateY(10px) scaleX(.96)}
  .proof-window.dark .pw-card::before{background:radial-gradient(ellipse at center,rgba(0,0,0,.42) 0%,rgba(0,0,0,.22) 36%,rgba(0,0,0,0) 74%);opacity:.66}
  .pw-image{position:relative;z-index:1;display:block;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;object-fit:contain;border-radius:0!important;box-shadow:none!important;filter:drop-shadow(0 18px 26px rgba(9,9,9,.05))!important}
  .proof-window.dark .pw-image{filter:drop-shadow(0 24px 36px rgba(0,0,0,.18))!important}

  .pw-shot[data-proof-id="flows"] .pw-card{width:min(100%,870px)}
  .pw-shot[data-proof-id="village"] .pw-card{width:min(100%,830px)}
  .pw-shot[data-proof-id="findable"] .pw-card{width:min(100%,855px)}
  .pw-shot[data-proof-id="flyer"] .pw-card{width:min(100%,840px)}
  .pw-shot[data-proof-id="finance"] .pw-card{width:min(100%,840px)}
  .pw-shot[data-proof-id="atlas"] .pw-card{width:min(100%,830px)}
  .pw-shot[data-proof-id="food"] .pw-card{width:min(100%,790px)}
  .pw-shot[data-proof-id="rome"] .pw-card{width:min(100%,840px)}
}

@media(min-width:1720px) and (pointer:fine){
  :root{--proofW:clamp(760px,47vw,940px)}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--proofW) + 84px)}
}

@media(prefers-reduced-motion:reduce){
  .pw-shot{transition:none!important}
  .pw-shot.active{transform:none!important}
}

/* 2.9.3 — calm horizontal proof carousel; neighbours stay visible */
@media(min-width:1440px) and (pointer:fine){
  :root{--proofW:clamp(650px,45vw,850px)}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--proofW) + 68px)}
  .proof-window{display:block;position:fixed;z-index:18;right:0;top:0;bottom:0;width:var(--proofW);overflow:hidden;pointer-events:none}
  .pw-stage{position:absolute;inset:0;display:flex;align-items:center;overflow:hidden;padding:0;transform:none!important;transition:none!important}
  .pw-track{display:flex;align-items:center;gap:26px;width:max-content;padding-inline:10%;transform:translate3d(var(--trackX,0px),0,0);transition:transform .72s cubic-bezier(.22,.8,.25,1);will-change:transform}
  .pw-shot{position:relative!important;inset:auto!important;display:flex!important;align-items:center;justify-content:center;flex:0 0 80%;width:80%;aspect-ratio:4/3;margin:0!important;opacity:.20!important;transform:scale(.935)!important;transition:opacity .55s ease,transform .72s cubic-bezier(.22,.8,.25,1)!important;overflow:visible!important}
  .pw-shot.active{opacity:1!important;transform:scale(1)!important}
  .pw-shot.near{opacity:.38!important;transform:scale(.955)!important}
  .pw-shot.far{opacity:.10!important;transform:scale(.92)!important}
  .pw-image{display:block!important;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;object-fit:contain!important;border-radius:0!important;box-shadow:none!important;filter:none!important}
  .proof-window.dark .pw-image{box-shadow:none!important;filter:none!important}
  .pw-card,.pw-card::before{display:none!important}
}

@media(min-width:1720px) and (pointer:fine){
  :root{--proofW:clamp(720px,46vw,920px)}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--proofW) + 74px)}
  .pw-track{gap:30px}
}

@media(prefers-reduced-motion:reduce){
  .pw-track,.pw-shot{transition:none!important}
}

/* 2.9.3 alignment correction: fixed card width inside the fixed visual stage. */
@media(min-width:1440px) and (pointer:fine){
  :root{--proofW:clamp(690px,48vw,900px);--proofCardW:clamp(525px,35vw,660px)}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--proofW) + 58px)}
  .pw-track{padding-inline:calc((var(--proofW) - var(--proofCardW))/2);gap:26px}
  .pw-shot{flex:0 0 var(--proofCardW);width:var(--proofCardW)}
}
@media(min-width:1720px) and (pointer:fine){
  :root{--proofW:clamp(790px,48vw,940px);--proofCardW:clamp(600px,36vw,700px)}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--proofW) + 64px)}
}


/* 2.9.4 — global-progress stacked carousel */
@media(min-width:1440px) and (pointer:fine){
  :root{--proofW:clamp(760px,48vw,980px);--proofCardW:clamp(520px,34vw,700px)}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--proofW) + 64px)}
  .proof-window{display:block;position:fixed;z-index:18;right:0;top:0;bottom:0;width:var(--proofW);overflow:visible;pointer-events:none}
  .pw-stage{position:absolute;inset:0;display:grid;place-items:center;padding:0;transform:none!important;transition:none!important}
  .pw-track{position:relative;width:100%;height:min(72vh,760px);overflow:visible}
  .pw-shot{position:absolute!important;left:50%;top:50%;inset:auto!important;display:block!important;width:var(--proofCardW)!important;aspect-ratio:4/3;margin:0!important;opacity:var(--opacity,.12)!important;transform:translate3d(calc(-50% + var(--x,0px)),calc(-50% + var(--y,0px)),0) scale(var(--scale,.88))!important;transform-origin:center center;transition:transform .18s linear,opacity .18s linear;z-index:var(--z,1);overflow:visible!important;will-change:transform,opacity}
  .pw-shot.active{opacity:var(--opacity,1)!important}
  .pw-shot.near{opacity:var(--opacity,.55)!important}
  .pw-shot.far{opacity:var(--opacity,.18)!important}
  .pw-image{display:block!important;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;object-fit:contain!important;border-radius:0!important;box-shadow:none!important;filter:none!important}
  .proof-window.dark .pw-image{box-shadow:none!important;filter:none!important}
}

@media(min-width:1720px) and (pointer:fine){
  :root{--proofW:clamp(820px,49vw,1040px);--proofCardW:clamp(600px,35vw,760px)}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--proofW) + 70px)}
}

@media(prefers-reduced-motion:reduce){
  .pw-shot{transition:none!important}
}


/* 2.9.5 — true horizontal 3D rotating carousel */
@media(min-width:1440px) and (pointer:fine){
  :root{--proofW:clamp(780px,49vw,1040px);--proofCardW:clamp(540px,35vw,740px)}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--proofW) + 68px)}
  .proof-window{display:block;position:fixed;z-index:18;right:0;top:0;bottom:0;width:var(--proofW);overflow:visible;pointer-events:none}
  .pw-stage{position:absolute;inset:0;display:grid;place-items:center;padding:0;perspective:1900px;perspective-origin:50% 50%;transform-style:preserve-3d}
  .pw-track{position:relative;width:100%;height:min(74vh,800px);transform-style:preserve-3d;overflow:visible}
  .pw-shot{position:absolute!important;left:50%;top:50%;inset:auto!important;display:block!important;width:var(--proofCardW)!important;aspect-ratio:4/3;margin:0!important;transform-style:preserve-3d;transform:translate3d(-50%,-50%,0);transform-origin:center center;transition:transform .18s linear,opacity .18s linear,filter .18s linear;overflow:visible!important;will-change:transform,opacity,filter;filter:saturate(var(--sat,.86)) brightness(var(--bright,.96)) blur(var(--blur,0px))}
  .pw-shot::after{content:"";position:absolute;left:12%;right:12%;bottom:8%;height:12%;border-radius:999px;background:radial-gradient(ellipse at center,rgba(9,9,9,.18) 0%,rgba(9,9,9,.10) 38%,rgba(9,9,9,0) 74%);opacity:var(--shadowOpacity,.16);filter:blur(24px);transform:translateY(10px) scaleX(.94);z-index:-1;pointer-events:none}
  .proof-window.dark .pw-shot::after{background:radial-gradient(ellipse at center,rgba(0,0,0,.44) 0%,rgba(0,0,0,.24) 38%,rgba(0,0,0,0) 74%)}
  .pw-shot.active{filter:saturate(1) brightness(1) blur(0px)}
  .pw-image{display:block!important;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;object-fit:contain!important;border-radius:0!important;box-shadow:none!important}
  .proof-window.dark .pw-image{box-shadow:none!important}
}

@media(min-width:1720px) and (pointer:fine){
  :root{--proofW:clamp(860px,50vw,1100px);--proofCardW:clamp(620px,36vw,790px)}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--proofW) + 76px)}
}

@media(prefers-reduced-motion:reduce){
  .pw-shot{transition:none!important;filter:none!important}
}

/* 2.9.6 — restored original 2.7 coverflow, mapped to total page scroll */
@media(min-width:1440px) and (pointer:fine){
  :root{--proofW:clamp(740px,47vw,980px);--proofCardW:clamp(500px,33vw,680px)}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--proofW) + 66px)}
  .proof-window{display:block;position:fixed;z-index:18;right:0;top:0;bottom:0;width:var(--proofW);overflow:hidden;pointer-events:none}
  .pw-stage{position:absolute;inset:0;perspective:1500px;perspective-origin:50% 50%;transform-style:preserve-3d;overflow:visible;padding:0!important;display:block!important}
  .pw-track{position:absolute;inset:0;width:100%;height:100%;transform:none!important;transition:none!important;transform-style:preserve-3d;overflow:visible}
  .pw-shot{position:absolute!important;left:50%!important;top:50%!important;inset:auto!important;width:var(--proofCardW)!important;aspect-ratio:4/3;margin:0!important;display:block!important;transform-origin:center center!important;transform-style:preserve-3d;backface-visibility:hidden;will-change:transform,opacity,filter;transition:none!important;overflow:visible!important}
  .pw-shot::after{display:none!important}
  .pw-image{display:block!important;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;object-fit:contain!important;border-radius:0!important;box-shadow:none!important}
  .proof-window.dark .pw-image{box-shadow:none!important}
}

@media(min-width:1720px) and (pointer:fine){
  :root{--proofW:clamp(820px,48vw,1040px);--proofCardW:clamp(570px,34vw,730px)}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--proofW) + 74px)}
}

@media(prefers-reduced-motion:reduce){
  .pw-shot{transition:none!important}
}

/* 2.9.7 — restore the original screenshot Cover Flow concept */
.proof-window{display:none!important}
.coverflow-window{display:none}
@media(min-width:1440px) and (pointer:fine){
  :root{--coverRailW:48vw}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--coverRailW) + 58px)}
  .coverflow-window{--surface:#fff;display:block;position:fixed;z-index:18;right:0;top:0;bottom:0;width:var(--coverRailW);overflow:hidden;pointer-events:none;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--surface) 18%,transparent) 22%,color-mix(in srgb,var(--surface) 58%,transparent) 63%,var(--surface) 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 7%,rgba(0,0,0,.68) 22%,#000 36%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 7%,rgba(0,0,0,.68) 22%,#000 36%,#000 100%);transition:background .3s ease}
  .coverflow-stage{position:absolute;inset:0;perspective:1500px;perspective-origin:50% 50%;transform-style:preserve-3d}
  .coverflow-card{position:absolute;top:50%;left:9%;width:min(70%,620px);aspect-ratio:16/10;margin:0;border-radius:18px;overflow:hidden;background:#111;box-shadow:0 24px 58px rgba(0,0,0,.15);transform-origin:left center;will-change:transform,opacity,filter;backface-visibility:hidden;transition:box-shadow .25s ease}
  .coverflow-card.active{box-shadow:0 28px 66px rgba(0,0,0,.18)}
  .coverflow-card img{display:block;width:100%;height:100%;object-fit:cover;background:#111}
  .coverflow-card.contain img{object-fit:contain;background:#f5f5f3}
  .coverflow-card.finance img{object-fit:contain;background:transparent}
  .coverflow-window.dark .coverflow-card{box-shadow:0 28px 68px rgba(0,0,0,.34)}
}
@media(min-width:1720px) and (pointer:fine){
  :root{--coverRailW:49vw}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--coverRailW) + 66px)}
  .coverflow-card{left:10%;width:min(68%,680px)}
}
@media(max-width:1439px){.coverflow-window{display:none!important}}
@media(prefers-reduced-motion:reduce){.coverflow-card{transition:none!important}}

/* 2.9.8 — return to the original two-ribbon visual system */
.proof-window,.portfolio,.products{display:none!important}
.ribbon{display:none!important}

@media(min-width:1200px) and (pointer:fine){
  :root{--ribbonW:clamp(250px,18vw,340px)}

  /* Undo the large product-panel reservation and restore the calmer editorial grid. */
  .wrap,.companies .wrap,.experience .wrap{
    padding-left:72px;
    padding-right:calc(var(--ribbonW) + 42px);
  }
  .hero .hc,.stuck .wrap>div.rv,.services .wrap>div.rv,.proof-copy,.human .wrap>div.rv,.contact .wrap>div.rv{max-width:760px}
  .stuck .list,.services .svcs,.proof .outs{max-width:760px}
  .experience-head,.metrics,.career,.companies-intro,.logo-wall{max-width:920px}

  .ribbon{
    display:block!important;
    position:fixed;
    z-index:30;
    inset:0 0 0 auto;
    width:var(--ribbonW);
    overflow:hidden;
    pointer-events:none;
    background:transparent;
  }
  .ribbon-grid{
    position:absolute;
    inset:0;
    display:grid;
    grid-template-columns:52fr 48fr;
    overflow:hidden;
  }
  .lane{position:relative;height:100%;overflow:hidden;min-width:0}
  .track{position:absolute;left:0;right:0;top:0;display:flex;flex-direction:column;gap:0;will-change:transform}

  .ribbon-tile{
    position:relative;
    flex:0 0 auto;
    width:100%;
    overflow:hidden;
    background:#f3f2ef;
    opacity:.54;
    isolation:isolate;
    transform-origin:center;
    transition:opacity .24s ease,filter .28s ease,transform .32s cubic-bezier(.22,.8,.25,1),box-shadow .32s ease;
  }
  .ribbon-tile img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    pointer-events:none;
    transform:scale(1.002);
    filter:saturate(.86) contrast(.985);
    transition:transform .36s cubic-bezier(.22,.8,.25,1),filter .3s ease,opacity .3s ease;
  }
  .ribbon-tile.fit-contain{background:transparent;overflow:visible}
  .ribbon-tile.fit-contain img{object-fit:contain;padding:5px 2px;filter:saturate(.92) contrast(.99)}

  .ribbon-tile.ratio-tall{height:26vh;min-height:175px}
  .ribbon-tile.ratio-wide{height:18vh;min-height:122px}
  .ribbon-tile.ratio-short{height:11.5vh;min-height:78px}
  .ribbon-tile.ratio-portrait{height:34vh;min-height:230px}

  .ribbon-tile.focused{opacity:.98;z-index:4;box-shadow:-8px 14px 32px rgba(9,9,9,.075)}
  .ribbon-tile.focused img{transform:scale(1.035);filter:saturate(1) contrast(1)}
  .ribbon-tile.focused.fit-contain img{transform:scale(1.055)}
  .ribbon-tile.near{opacity:.76}
  .ribbon-tile.near img{transform:scale(1.015);filter:saturate(.94) contrast(.99)}
  .ribbon-tile.far{opacity:.34;filter:saturate(.78)}
  .ribbon-tile.far img{transform:scale(.995)}
}

@media(min-width:1600px) and (pointer:fine){
  :root{--ribbonW:clamp(285px,19vw,360px)}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--ribbonW) + 48px)}
}

@media(max-width:1199px), (pointer:coarse){.ribbon{display:none!important}}
@media(prefers-reduced-motion:reduce){.ribbon-tile,.ribbon-tile img,.track{transition:none!important}}
/* 2.9.8 hard reset of superseded desktop visual experiments */
.coverflow-window,.proof-window,.portfolio,.products{display:none!important}

/* 2.9.9 — wider, irregular, clickable end-to-end ribbons */
@media(min-width:1200px) and (pointer:fine){
  :root{--ribbonW:clamp(330px,22vw,430px)}

  .wrap,.companies .wrap,.experience .wrap{
    padding-right:calc(var(--ribbonW) + 44px);
  }

  .ribbon{
    width:var(--ribbonW)!important;
    overflow:hidden!important;
    pointer-events:auto!important;
    background:transparent!important;
  }
  .ribbon-grid{
    grid-template-columns:51fr 49fr!important;
    gap:0!important;
    overflow:hidden!important;
    transition:grid-template-columns .38s cubic-bezier(.22,.8,.25,1)!important;
  }
  .ribbon.active-a .ribbon-grid{grid-template-columns:78fr 22fr!important}
  .ribbon.active-b .ribbon-grid{grid-template-columns:22fr 78fr!important}

  .lane{
    overflow:hidden!important;
    pointer-events:auto!important;
    min-width:0;
  }
  .lane-a{padding-right:0}
  .lane-b{padding-left:0}
  .track{
    gap:0!important;
    align-items:stretch;
    overflow:visible;
  }

  /* Every tile keeps the exact source shape. No crop, no added card background. */
  .ribbon-tile{
    position:relative;
    flex:0 0 auto;
    width:100%;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:var(--ratio,16/9);
    overflow:hidden;
    background:transparent!important;
    opacity:1!important;
    filter:none!important;
    box-shadow:none!important;
    cursor:zoom-in;
    isolation:isolate;
    transition:width .38s cubic-bezier(.22,.8,.25,1),margin .38s cubic-bezier(.22,.8,.25,1),transform .28s ease!important;
  }
  .ribbon-tile img{
    display:block;
    width:100%!important;
    height:100%!important;
    padding:0!important;
    margin:0!important;
    object-fit:cover!important;
    transform:none!important;
    filter:none!important;
    opacity:1!important;
    background:transparent!important;
    transition:none!important;
  }

  /* Uneven editorial rhythm: same lanes, deliberately different tile widths. */
  .ribbon-tile.size-full{width:100%}
  .ribbon-tile.size-mid{width:92%}
  .ribbon-tile.size-narrow{width:84%}
  .ribbon-tile.align-left{margin-left:0;margin-right:auto}
  .ribbon-tile.align-right{margin-left:auto;margin-right:0}

  /* No center/top/bottom fading anymore. */
  .ribbon-tile.focused,.ribbon-tile.near,.ribbon-tile.far{
    opacity:1!important;
    filter:none!important;
    box-shadow:none!important;
  }
  .ribbon-tile.focused img,.ribbon-tile.near img,.ribbon-tile.far img{transform:none!important;filter:none!important}

  /* Click-to-open: widen the active lane and let the exact same image grow in place. */
  .ribbon.has-active .lane.active-lane{z-index:3}
  .ribbon.has-active .lane:not(.active-lane){z-index:1}
  .ribbon-tile.expanded{
    width:100%!important;
    height:auto!important;
    aspect-ratio:var(--ratio,16/9)!important;
    margin-left:0!important;
    margin-right:0!important;
    opacity:1!important;
    background:transparent!important;
    box-shadow:none!important;
    cursor:zoom-out;
    z-index:8;
  }
  .ribbon-tile.expanded img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    transform:none!important;
    filter:none!important;
    background:transparent!important;
  }
  .ribbon.has-active .ribbon-tile:not(.expanded),
  .ribbon.has-active .lane:not(.active-lane) .ribbon-tile{
    opacity:1!important;
    filter:none!important;
  }

  .ribbon-tile:hover:not(.expanded){transform:scale(.992)}
  .ribbon-tile:focus-visible{outline:1px solid rgba(184,138,67,.72);outline-offset:-1px}
}

@media(min-width:1600px) and (pointer:fine){
  :root{--ribbonW:clamp(370px,23vw,470px)}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--ribbonW) + 50px)}
}

@media(max-width:1199px),(pointer:coarse){.ribbon{display:none!important}}
@media(prefers-reduced-motion:reduce){.ribbon-grid,.ribbon-tile{transition:none!important}}

/* 2.9.10 — equal-width ribbons + large seamless breakout viewer */
@media(min-width:1200px) and (pointer:fine){
  :root{--ribbonW:clamp(350px,23vw,455px)}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--ribbonW) + 46px)}
  .ribbon{width:var(--ribbonW)!important;overflow:hidden!important;pointer-events:auto!important}
  .ribbon-grid{grid-template-columns:1fr 1fr!important;gap:0!important;overflow:hidden!important}
  .lane{overflow:hidden!important;min-width:0!important;padding:0!important}
  .track{gap:0!important;align-items:stretch!important}

  /* Every image gets exactly the same lane width. Only the real source ratio changes height. */
  .ribbon-tile,
  .ribbon-tile.size-full,
  .ribbon-tile.size-mid,
  .ribbon-tile.size-narrow{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:var(--ratio,16/9)!important;
    margin:0!important;
    overflow:hidden!important;
    background:transparent!important;
    opacity:1!important;
    filter:none!important;
    box-shadow:none!important;
    cursor:zoom-in!important;
    transform:none!important;
    transition:none!important;
  }
  .ribbon-tile img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
    transform:none!important;
    filter:none!important;
    opacity:1!important;
    background:transparent!important;
  }
  .ribbon-tile.focused,.ribbon-tile.near,.ribbon-tile.far{opacity:1!important;filter:none!important;box-shadow:none!important}
  .ribbon-tile:hover{transform:none!important}
  .ribbon.active-a .ribbon-grid,.ribbon.active-b .ribbon-grid{grid-template-columns:1fr 1fr!important}
}

.ribbon-viewer{
  position:fixed;
  z-index:120;
  overflow:hidden;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  cursor:zoom-out;
  transform:none;
  transition:left .44s cubic-bezier(.22,.8,.25,1),top .44s cubic-bezier(.22,.8,.25,1),width .44s cubic-bezier(.22,.8,.25,1),height .44s cubic-bezier(.22,.8,.25,1);
  will-change:left,top,width,height;
}
.ribbon-viewer img{
  display:block;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  object-fit:cover;
  background:transparent;
  box-shadow:none;
  filter:none;
}
.ribbon-viewer:focus-visible{outline:1px solid rgba(184,138,67,.72);outline-offset:2px}

@media(min-width:1600px) and (pointer:fine){
  :root{--ribbonW:clamp(390px,24vw,490px)}
  .wrap,.companies .wrap,.experience .wrap{padding-right:calc(var(--ribbonW) + 52px)}
}
@media(max-width:1199px),(pointer:coarse){.ribbon{display:none!important}.ribbon-viewer{display:none!important}}
@media(prefers-reduced-motion:reduce){.ribbon-viewer{transition:none!important}}
