
:root{--cr:#FFF9EE;--or:#EC5D3D;--tc:#C2512F;--bl:#1032CF;--k:#141414;--hl:rgba(236,93,61,.28);--mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;--serif:'Instrument Serif',Georgia,serif;--e:cubic-bezier(.2,.8,.2,1)}
html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto}
#CookiebotWidget{display:none!important}
.n5-mono,.mono{font-family:var(--mono)!important;font-weight:500!important;font-size:11px!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:var(--or)}
.n5-it{font-family:var(--serif);font-style:italic;font-weight:400}
/* ---------- header ---------- */
.n2-header{padding:34px 48px!important;align-items:center!important;transition:color .4s}
.n2-logo{height:26px!important;width:auto!important;transition:filter .4s}
.n2-nav{display:flex!important;gap:28px!important;align-items:center}
.n2-nav-link{font:500 11px/1 var(--mono)!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--or)!important;position:relative;padding:4px 0}
.n2-nav-link:after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--e)}
.n2-nav-link:hover:after{transform:scaleX(1);transform-origin:left}
.n2-nav-link sup{font-size:8px;margin-right:5px;opacity:.6;vertical-align:top}
.n7-clock{font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--or);opacity:.7;margin-left:12px}
.n2-header.n7-on-dark .n2-logo{filter:brightness(0) invert(.97) sepia(.08)}
.n2-header.n7-on-dark .n2-nav-link,.n2-header.n7-on-dark .n7-clock{color:var(--cr)!important}
/* ---------- hero ---------- */
body .n3-hero{position:relative;overflow:hidden;background:#141414;color:var(--cr);height:100svh!important;min-height:680px!important;padding:0!important;display:block!important;cursor:pointer}
.n6-bg{position:absolute;inset:0;z-index:0}
.n6-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 1.1s cubic-bezier(.2,.7,.2,1),transform 8s linear}
.n6-bg img.on{opacity:1;transform:scale(1)}
.n6-bg:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,20,.38) 0,rgba(20,20,20,0) 24%,rgba(20,20,20,0) 48%,rgba(20,20,20,.62) 100%)}
.n6-vf{position:absolute;inset:18px;z-index:1;pointer-events:none}
.n6-vf i{position:absolute;width:18px;height:18px;border:0 solid rgba(255,249,238,.7)}
.n6-vf i:nth-child(1){left:0;top:0;border-left-width:1px;border-top-width:1px}
.n6-vf i:nth-child(2){right:0;top:0;border-right-width:1px;border-top-width:1px}
.n6-vf i:nth-child(3){left:0;bottom:0;border-left-width:1px;border-bottom-width:1px}
.n6-vf i:nth-child(4){right:0;bottom:0;border-right-width:1px;border-bottom-width:1px}
.n7-cap{position:absolute;top:96px;right:48px;z-index:2;text-align:right;color:var(--cr);pointer-events:auto;text-decoration:none;display:block}
.n7-cap .n5-mono{color:var(--cr)!important;opacity:.75;display:block}
.n7-cap .t{display:block;font:italic 400 26px/1.05 var(--serif);margin:8px 0 6px;min-height:28px}
.n7-cap .go{display:inline-block;border-bottom:1px solid rgba(255,249,238,.45);padding-bottom:3px}
.n7-cap:hover .go{border-color:var(--cr)}
body .n3-hero .n5-hero-copy{position:absolute;z-index:2;left:48px;right:48px;bottom:46px;text-align:left;color:var(--cr);max-width:none;margin:0;transform:none;pointer-events:none}
body .n3-hero .n5-hero-index{display:flex;gap:18px;margin:0 0 14px}
body .n3-hero .n5-hero-index>span:nth-child(1),body .n3-hero .n5-hero-index>span:nth-child(2){display:none}
body .n3-hero [data-n5-rec]{color:var(--cr)!important;pointer-events:auto;cursor:pointer}
body .n3-hero [data-n5-rec]:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--or);margin-right:8px;vertical-align:1px;animation:n7blink 1.2s steps(2) infinite}
@keyframes n7blink{50%{opacity:0}}
body .n3-hero .n5-h1{color:var(--cr);font-size:clamp(54px,8.6vw,148px);line-height:.88;letter-spacing:-.035em;margin:0;text-align:left}
body .n3-hero .n5-sub{color:var(--cr);font:italic 400 clamp(20px,1.9vw,28px)/1.2 var(--serif);max-width:30ch;margin:18px 0 0;text-align:left;letter-spacing:0}
body .n3-hero .n5-pill,body .n3-hero .n3-trail,body .n3-hero .n5-hero-foot{display:none!important}
.n5-h1 .n5-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em}
.n5-h1 .n5-w>span{display:inline-block;transform:translateY(105%);transition:transform 1.1s var(--e)}
.n5-in .n5-h1 .n5-w>span{transform:none}
.n5-sub{opacity:0;transform:translateY(14px);transition:opacity .9s .7s,transform .9s var(--e) .7s}
.n5-in .n5-sub{opacity:1;transform:none}
.n5-hero-index{opacity:0;transition:opacity .8s .9s}.n5-in .n5-hero-index{opacity:1}
.n6-count{position:absolute;z-index:2;right:48px;bottom:46px;display:flex;gap:6px;align-items:center}
.n6-count b{display:block;width:28px;height:14px;position:relative;cursor:pointer}
.n6-count b:before{content:'';position:absolute;left:0;right:0;top:6px;height:1px;background:rgba(255,249,238,.35)}
.n6-count b.on:after{content:'';position:absolute;left:0;right:0;top:6px;height:1px;background:var(--cr);transform-origin:left;animation:n6p 5s linear forwards}
@keyframes n6p{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.n5-flash{position:fixed;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:9999}
.n5-flash.on{animation:n5fl .5s ease-out}@keyframes n5fl{0%{opacity:.85}100%{opacity:0}}
/* loader */
.n5-load{position:fixed;inset:0;z-index:10000;display:flex;pointer-events:none}
.n5-load i{flex:1;height:100%;background:var(--or);transition:transform .9s cubic-bezier(.7,0,.2,1)}
.n5-load i:nth-child(even){background:var(--cr)}
.n5-load.go i{transform:translateY(-101%)}
.n5-load-t{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:2;transition:opacity .3s}
.n5-load.go .n5-load-t{opacity:0}
.n5-load-t img{width:min(46vw,420px);filter:brightness(0)}
.n5-load-t .n5-mono{color:#141414!important;background:var(--cr);padding:4px 8px}
/* ---------- work ---------- */
.n3-vid{position:absolute;left:0;top:50%;width:100%;height:237%;transform:translateY(-50%);border:0;pointer-events:none;z-index:0}
.n3-dither{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;z-index:1;pointer-events:none}
.n2-work-img{transition:transform 1s var(--e)}.n2-work-item:hover .n2-work-img{transform:scale(1.035)}
[data-n2-reveal],.n2-work-item{opacity:0;transform:translateY(30px);transition:opacity .9s var(--e),transform .9s var(--e)}
.is-in{opacity:1!important;transform:none!important}
/* ---------- services: per-row live media ---------- */
.n2-service-icon{display:none!important}
.n2-services{counter-reset:svc}
.n2-service{grid-template-columns:72px 1fr 140px minmax(0,.9fr)!important;align-items:center!important;counter-increment:svc;position:relative;cursor:default;gap:0 28px}
.n2-service:before{content:'('counter(svc,decimal-leading-zero)')';font:500 11px/1 var(--mono);letter-spacing:.06em;color:var(--or);grid-column:1}
.n2-service-name{transition:transform .6s var(--e),color .3s}
.n2-service:hover .n2-service-name{transform:translateX(18px)}
.n7-sm{grid-column:3;grid-row:1;position:relative;width:140px;aspect-ratio:4/5;overflow:hidden;background:#EBE3D4;transform-origin:50% 50%;transition:transform .7s var(--e),box-shadow .5s;margin:14px 0}
.n2-service-note{grid-column:4}
.n2-service:hover .n7-sm{transform:scale(1.55) rotate(-2deg);z-index:5;box-shadow:0 30px 60px -20px rgba(20,20,20,.4)}
.n7-sm img,.n7-sm .vw{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s}
.n7-sm img.on,.n7-sm .vw.on{opacity:1}
.n7-sm[data-k=foto] img{transition:none}
.n7-sm[data-k=live] img{transition:none;filter:contrast(1.08) saturate(1.1)}
.n7-sm .vw{overflow:hidden;background:#141414}
.n7-sm .vw iframe{position:absolute;left:50%;top:50%;border:0;pointer-events:none;transform:translate(-50%,-50%)}
.n7-sm .lb{position:absolute;left:6px;bottom:5px;z-index:3;color:var(--cr)!important;font-size:9px!important;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.n7-sm[data-k=live]:after{content:'';position:absolute;inset:0;z-index:2;background:repeating-linear-gradient(0deg,rgba(0,0,0,.12) 0 1px,transparent 1px 3px);mix-blend-mode:multiply;pointer-events:none}
.n7-sm .rec{position:absolute;right:6px;top:6px;z-index:3;width:7px;height:7px;border-radius:50%;background:var(--or);animation:n7blink 1s steps(2) infinite}
/* ---------- hello from naples: parallax postcards ---------- */
.n3-imp-viewport,.n3-imp-track,.n5-diario,.n5-sheet,.xe{display:none!important}
.n3-imp{padding-bottom:0!important}
.n7-pc{position:relative;height:320vh;margin-top:3vh}
.n7-pc-st{position:sticky;top:0;height:100vh;overflow:hidden}
.n7-pc-tr{position:absolute;left:0;top:0;height:100%;will-change:transform}
.n7-card{position:absolute;background:#FFFDF8;padding:12px 12px 0;box-shadow:0 1px 0 rgba(20,20,20,.05),0 30px 60px -24px rgba(20,20,20,.35);cursor:zoom-in;transform:rotate(var(--r));transition:box-shadow .4s}
.n7-card:hover{box-shadow:0 1px 0 rgba(20,20,20,.05),0 40px 80px -24px rgba(20,20,20,.45)}
.n7-card .ph{position:relative;overflow:hidden;background:#EBE3D4}
.n7-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--e)}
.n7-card:hover img{transform:scale(1.04)}
.n7-card .cp{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:11px 2px 13px}
.n7-card .cp .n5-it{font-size:21px;line-height:1;color:var(--k)}
.n7-card .tape{position:absolute;left:50%;top:-11px;width:70px;height:22px;margin-left:-35px;background:rgba(236,227,212,.82);transform:rotate(-4deg);box-shadow:0 1px 2px rgba(20,20,20,.08);z-index:3}
.n7-card .pm{position:absolute;right:-40px;bottom:30px;width:150px;z-index:4;opacity:.8;mix-blend-mode:multiply;pointer-events:none}
.n7-pc-hint{position:absolute;left:48px;bottom:34px;z-index:5}
.n7-pc-prog{position:absolute;right:48px;bottom:38px;width:160px;height:1px;background:var(--hl);z-index:5}
.n7-pc-prog i{position:absolute;left:0;top:0;bottom:0;width:100%;background:var(--or);transform-origin:left;transform:scaleX(0)}
.n7-pc-word{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;font:italic 400 clamp(90px,16vw,280px)/.8 var(--serif);color:rgba(236,93,61,.1);white-space:nowrap;pointer-events:none}
.n5-lb{position:fixed;inset:0;z-index:500;background:rgba(255,249,238,.97);display:grid;grid-template-rows:auto 1fr auto;padding:22px 28px;opacity:0;transition:opacity .35s}
.n5-lb.on{opacity:1}
.n5-lb-top,.n5-lb-bot{display:flex;justify-content:space-between;align-items:center}
.n5-lb img{max-width:100%;max-height:100%;margin:auto;display:block;object-fit:contain;align-self:center;justify-self:center}
.n5-lb button{background:none;border:0;cursor:pointer;padding:6px 0}
/* ---------- clients: name ↔ logo ---------- */
.n2-clients-line .cl{display:inline-block;position:relative;perspective:600px;vertical-align:baseline}
.n2-clients-line .cl .tx,.n2-clients-line .cl .lg{display:inline-block;transition:transform .7s var(--e),opacity .35s;backface-visibility:hidden;transform-origin:50% 50% -.4em}
.n2-clients-line .cl .lg{position:absolute;left:50%;top:50%;width:var(--w);height:1.05em;margin:-.52em 0 0 calc(var(--w) / -2);background:var(--or);-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;transform:rotateX(-90deg);opacity:0}
.n2-clients-line .cl.sw .tx{transform:rotateX(90deg);opacity:0}
.n2-clients-line .cl.sw .lg{transform:none;opacity:1}
/* ---------- contact ---------- */
.n3-mail{position:relative;cursor:pointer;color:var(--k)!important;text-decoration:none!important;font:italic 400 clamp(34px,3.2vw,52px)/1.1 var(--serif)!important;background:linear-gradient(var(--or),var(--or)) 0 100%/100% 2px no-repeat;padding-bottom:4px;transition:color .3s,background-size .5s var(--e)}
.n3-mail:hover{color:var(--or)!important;background-size:0 2px;background-position:100% 100%}
.n3-copied{position:absolute;left:0;top:100%;margin-top:10px;opacity:0;transition:opacity .25s;white-space:nowrap;color:var(--or)!important}
.n3-mail.is-copied .n3-copied{opacity:1}
.n7-hot{display:flex;align-items:center;gap:14px;margin:26px 0 0;text-decoration:none;color:var(--k)}
.n7-hot .tp{width:46px;height:30px;border:1.5px solid var(--k);border-radius:4px;position:relative;flex:none}
.n7-hot .tp:before,.n7-hot .tp:after{content:'';position:absolute;top:7px;width:12px;height:12px;border:1.5px solid var(--k);border-radius:50%;animation:n7spin 2.4s linear infinite}
.n7-hot .tp:before{left:6px}.n7-hot .tp:after{right:6px}
@keyframes n7spin{to{transform:rotate(360deg)}}
.n7-hot b{display:block;font:italic 400 24px/1 var(--serif)}
.n7-hot:hover b{color:var(--or)}
/* ---------- stamps: real perforation (mask) ---------- */
.stpw{position:relative;filter:drop-shadow(0 6px 10px rgba(20,20,20,.16))}
.stp{--r:4px;position:relative;background:#FFFDF8;padding:calc(var(--r)*3);-webkit-mask:radial-gradient(var(--r),#0000 97%,#000) round calc(var(--r)*-1.5) calc(var(--r)*-1.5)/calc(var(--r)*3) calc(var(--r)*3),linear-gradient(#000 0 0) no-repeat 50%/calc(100% - var(--r)*3) calc(100% - var(--r)*3);mask:radial-gradient(var(--r),#0000 97%,#000) round calc(var(--r)*-1.5) calc(var(--r)*-1.5)/calc(var(--r)*3) calc(var(--r)*3),linear-gradient(#000 0 0) no-repeat 50%/calc(100% - var(--r)*3) calc(100% - var(--r)*3)}
.stp-in{position:relative;overflow:hidden;background:#EBE3D4}
.stp-in img{display:block;width:100%;height:100%;object-fit:cover}
.stp-v{position:absolute;left:7px;top:6px;z-index:2;color:var(--cr)!important;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.stp-in:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(20,20,20,.06)}
/* postcard */
.n3-stage{perspective:1800px}
.n3-card{position:relative!important;transform-style:preserve-3d;transition:transform .9s var(--e);aspect-ratio:3/2;background:none!important;box-shadow:none!important;padding:0!important;margin:0!important;display:block!important}
.n3-card>form{position:absolute;inset:0;display:grid;grid-template-columns:1.25fr 1fr;gap:28px;border-radius:4px;background:#FFFDF8;box-shadow:0 30px 80px rgba(20,20,20,.12);padding:32px;margin:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotateY(180deg)}
.n3-card>form:after{content:'';position:absolute;left:56%;top:32px;bottom:32px;border-left:1px solid var(--hl)}
.n3-card .w-form-done,.n3-card .w-form-fail{display:none!important}
.n3-card .w-input{height:auto;border:0;border-bottom:1px solid var(--hl);border-radius:0;background-color:transparent;padding:10px 0;font:italic 400 26px var(--serif);color:var(--k);box-shadow:none;margin:0}
.n3-card textarea.w-input{border-bottom:0;height:100%;min-height:100%;font-size:28px;line-height:36px;padding:0;background-image:repeating-linear-gradient(180deg,transparent 0,transparent 35px,var(--hl) 35px,var(--hl) 36px);resize:none}
.n3-card-msg{display:flex;position:relative}
.n3-stamp img{width:78%;height:auto;filter:brightness(0) invert(1)}
.n3-back-btn{position:absolute;left:32px;bottom:14px;cursor:pointer}
.n3-front{position:absolute;inset:0;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:4px;background:#FFFDF8;box-shadow:0 2px 0 rgba(20,20,20,.04),0 40px 80px -20px rgba(20,20,20,.28);cursor:pointer}
.n3-front-img{position:absolute;inset:16px;width:calc(100% - 32px);height:calc(100% - 32px);object-fit:cover;transition:filter .5s}
.n3-front-shade{position:absolute;inset:16px;background:linear-gradient(180deg,rgba(20,20,20,0) 50%,rgba(20,20,20,.38))}
.n3-front.m-bw .n3-front-img{filter:grayscale(1) contrast(1.1)}
.n3-front.m-sun .n3-front-shade{background:linear-gradient(180deg,rgba(245,179,74,.35),rgba(236,93,61,.35) 60%,rgba(142,59,143,.4));mix-blend-mode:multiply}
.n3-front.m-night .n3-front-img{filter:grayscale(1) contrast(1.2)}.n3-front.m-night .n3-front-shade{background:var(--bl);mix-blend-mode:multiply;opacity:.9}
.n3-front-kicker{position:absolute;left:44px;bottom:40px;z-index:2;font:italic 400 clamp(30px,3vw,52px)/1 var(--serif);color:var(--cr)}
.n3-front-meta{position:absolute;left:44px;top:38px;z-index:2;color:var(--cr)!important}
.n3-front-btn{position:absolute;right:150px;bottom:44px;z-index:4;color:var(--cr)!important;border-bottom:1px solid rgba(255,249,238,.6);padding-bottom:4px}
.pc-stamp{position:absolute;right:38px;top:34px;width:92px;z-index:4;transform:rotate(3deg)}
.pc-stamp .stp-in{aspect-ratio:4/5}
.pc-pm{position:absolute;right:92px;top:58px;width:170px;z-index:5;transform:rotate(-8deg);opacity:.85;pointer-events:none}
.n3-front-stamp{position:absolute;right:44px;bottom:70px;z-index:5;width:170px;height:170px;border-radius:50%;border:3px solid var(--bl);background:rgba(255,249,238,.94);color:var(--bl);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font:500 12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;transform:rotate(-14deg) scale(2.2);opacity:0;transition:transform .35s cubic-bezier(.3,1.6,.5,1) .7s,opacity .2s .7s;pointer-events:none}
.n3-front-stamp b{font:italic 400 28px/1 var(--serif);text-transform:none;letter-spacing:0;margin:4px 0}
.n3-card.is-sent .n3-front-stamp{opacity:1;transform:rotate(-14deg) scale(1)}.n3-card.is-sent .n3-front-btn{display:none}
.n5-classes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin:6px 0 30px}
.n5-cls{background:none;border:0;padding:0;text-align:left;cursor:pointer}
.n5-cls .stpw{transition:transform .45s var(--e)}
.n5-cls:hover .stpw{transform:translateY(-5px) rotate(-2deg)}
.n5-cls.on .stpw{transform:translateY(-8px) rotate(2deg)}
.n5-cls.on .stp{background:var(--or)}
.n5-cls .stp-in{aspect-ratio:4/5}
.n5-cls .n{display:block;font:italic 400 22px/1 var(--serif);color:var(--k);margin:12px 0 4px}
.n5-cls .d{display:block;font:400 13px/1.3 Dxnacky,sans-serif;color:var(--k);opacity:.7}
.n3-moods{display:none!important}
/* ---------- footer ---------- */
.n2-footer{overflow:hidden!important;padding:72px 48px 0!important}
.n2-footer-grid,.n2-footer-bottom{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px!important;width:100%}
.n2-footer-grid{padding-bottom:40px;border-bottom:1px solid var(--hl)}
.n2-footer-col{display:flex!important;flex-direction:column!important;gap:6px!important;align-items:flex-start}
.n2-footer-col>.n2-label:first-child{order:-1;font:500 11px/1 var(--mono)!important;letter-spacing:.08em;text-transform:uppercase;opacity:.65;margin-bottom:10px}
.n2-footer-text,.n2-footer-link{font:400 17px/1.45 Dxnacky,sans-serif!important;color:var(--or)!important}
.n2-footer-link{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .4s var(--e)}
.n2-footer-link:hover{background-size:100% 1px}
.n7-open{font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--or);margin-top:10px;display:inline-flex;align-items:center;gap:7px}
.n7-open i{width:7px;height:7px;border-radius:50%;background:#2F6B3F}.n7-open.off i{background:var(--or);opacity:.5}
.n2-footer-bottom{padding:22px 0 0;align-items:center}
.n2-footer-bottom>*{justify-self:start;margin:0!important}
.n2-footer-bottom .n2-footer-small{font:500 11px/1 var(--mono)!important;letter-spacing:.08em;text-transform:uppercase}
.n7-legal{display:flex;gap:22px}
.n2-footer-logo{width:100%!important;max-width:none!important;margin:7vw 0 -17.5vw!important;display:block;transform-origin:50% 100%}
@media (max-width:767px){.n2-footer{padding:48px 24px 0!important}.n2-footer-grid,.n2-footer-bottom{grid-template-columns:1fr 1fr!important;row-gap:32px!important}}
/* ---------- naples media player (classic mac) ---------- */
.mac{position:fixed;left:24px;bottom:24px;width:388px;z-index:300;font:12px/1.35 Charcoal,Chicago,'Geneva','Lucida Grande',Helvetica,sans-serif;color:#000;background:#DDDDDD;border:1px solid #000;box-shadow:inset 1px 1px #fff,inset -1px -1px #999,2px 2px 0 rgba(0,0,0,.55);transform:translateY(160%);transition:transform .6s cubic-bezier(.2,1.2,.3,1);-webkit-font-smoothing:none;user-select:none}
.mac.on{transform:none}.mac.drag{transition:none}
.mac-t{height:20px;display:flex;align-items:center;gap:6px;padding:0 5px;cursor:move;background:repeating-linear-gradient(180deg,#DDD 0 1px,#999 1px 2px) 0 4px/100% 12px no-repeat,#DDD;border-bottom:1px solid #000}
.mac-t span{margin:0 auto;padding:0 8px;background:#DDD;font-weight:bold;font-size:12px}
.mac-t b{width:11px;height:11px;border:1px solid #000;background:linear-gradient(135deg,#fff,#999);box-shadow:inset 1px 1px #fff;cursor:pointer;flex:none}
.mac-t b:active{background:#555}
.mac-m{display:flex;gap:0;padding:0 4px;border-bottom:1px solid #000;background:#EEE;position:relative}
.mac-m>div{position:relative}
.mac-m>div>span{display:block;padding:2px 9px;cursor:default}
.mac-m>div.op>span{background:#1032CF;color:#fff}
.mac-dd{display:none;position:absolute;left:0;top:100%;min-width:210px;background:#EEE;border:1px solid #000;box-shadow:2px 2px 0 rgba(0,0,0,.5);z-index:5;padding:2px 0}
.mac-m>div.op .mac-dd{display:block}
.mac-dd a{display:flex;justify-content:space-between;gap:18px;padding:2px 14px 2px 18px;cursor:default;position:relative;color:#000;text-decoration:none}
.mac-dd a:hover{background:#1032CF;color:#fff}
.mac-dd a.ck:before{content:'✓';position:absolute;left:5px}
.mac-dd a.dis{color:#999;pointer-events:none}
.mac-dd hr{border:0;border-top:1px solid #999;margin:3px 0}
.mac-dd a i{font-style:normal;opacity:.7}
.mac-b{padding:9px}
.mac-lcd{background:#C9D3B4;border:1px solid #000;box-shadow:inset 2px 2px #8E9A78,inset -1px -1px #E6EED5;padding:7px 9px;font:12px/1.3 Monaco,'Courier New',monospace;color:#22301A;position:relative;height:104px}
.mac-lcd .st{display:flex;justify-content:space-between}
.mac-lcd .st b{font-size:20px;letter-spacing:.02em}
.mac-lcd canvas{position:absolute;left:9px;right:9px;bottom:7px;width:calc(100% - 18px);height:40px}
.mac-lcd .tr{white-space:nowrap;overflow:hidden;margin-top:2px}
.mac-lcd .tr span{display:inline-block;padding-left:100%;animation:xpm 14s linear infinite}@keyframes xpm{to{transform:translateX(-100%)}}
.mac-dial{position:relative;height:30px;margin:9px 0 4px;background:#EEE;border:1px solid #000;box-shadow:inset 1px 1px #999;cursor:pointer;overflow:hidden}
.mac-dial .sc{position:absolute;left:8px;right:8px;top:4px;height:10px;background:repeating-linear-gradient(90deg,#000 0 1px,transparent 1px 10%) 0 0/100% 10px,repeating-linear-gradient(90deg,#000 0 1px,transparent 1px 2%) 0 5px/100% 5px no-repeat}
.mac-dial .lb{position:absolute;top:15px;font:9px Monaco,monospace;transform:translateX(-50%)}
.mac-dial .st2{position:absolute;top:2px;width:7px;height:7px;border-radius:50%;background:#EC5D3D;border:1px solid #000;transform:translateX(-50%)}
.mac-dial .nd{position:absolute;top:0;bottom:0;width:2px;background:#C00;transition:left .8s cubic-bezier(.3,1.3,.5,1)}
.mac-ctl{display:flex;gap:5px;align-items:center;margin-top:8px}
.mac-ctl button{height:24px;min-width:34px;padding:0 8px;border:1px solid #000;border-radius:4px;background:linear-gradient(180deg,#F4F4F4,#CCC);box-shadow:inset 1px 1px #fff,inset -1px -1px #999;font:12px Charcoal,Chicago,Geneva,sans-serif;cursor:pointer;color:#000}
.mac-ctl button:active{background:#555;color:#fff;box-shadow:none}
.mac-ctl .pl{min-width:52px;font-weight:bold}
.mac-vol{margin-left:auto;display:flex;align-items:center;gap:5px}
.mac-vol input{width:86px;accent-color:#555}
.mac-seek{height:8px;margin:8px 0 0;background:#fff;border:1px solid #000;position:relative;cursor:pointer}
.mac-seek i{position:absolute;left:0;top:0;bottom:0;width:0;background:repeating-linear-gradient(135deg,#1032CF 0 4px,#4A64E0 4px 8px)}
.mac-list{margin-top:8px;background:#fff;border:1px solid #000;box-shadow:inset 1px 1px #999;max-height:118px;overflow:auto}
.mac-list div{display:flex;justify-content:space-between;gap:10px;padding:2px 6px;cursor:default}
.mac-list div span:last-child{color:#666}
.mac-list div.on{background:#1032CF;color:#fff}.mac-list div.on span:last-child{color:#cfd6ff}
.mac-sb{margin-top:8px;display:flex;justify-content:space-between;font-size:10px;color:#333}
.mac.min .mac-m,.mac.min .mac-b{display:none}
.mac-ab{position:absolute;left:50%;top:40px;width:270px;margin-left:-135px;background:#EEE;border:2px solid #000;box-shadow:3px 3px 0 rgba(0,0,0,.5);padding:14px 16px;text-align:center;z-index:6;display:none}
.mac-ab.on{display:block}
.mac-ab img{width:120px;margin:4px auto 8px;display:block}
.mac-ab button{margin-top:10px;height:22px;padding:0 18px;border:2px solid #000;border-radius:6px;background:#EEE;font:12px Charcoal,Chicago,Geneva,sans-serif;cursor:pointer}
.n5-fm{cursor:pointer;opacity:.7;transition:opacity .2s}.n5-fm:hover{opacity:1}
.n5-pausa{position:fixed;left:18px;bottom:16px;z-index:200;background:none;border:0;cursor:pointer;padding:6px 0;mix-blend-mode:multiply}
html.n5-paused *{animation-play-state:paused!important}
.n2-footer-reveal{position:sticky;bottom:0;z-index:0}
.n2-page,.n2-page-2,.n3-contact{position:relative;z-index:1}
@media (max-width:991px){.n2-work-grid{grid-template-columns:1fr 1fr!important}.n5-classes{grid-template-columns:1fr 1fr}.n2-service{grid-template-columns:52px 1fr 96px!important}.n7-sm{width:96px}.n2-service-note{grid-column:2/4}}
@media (max-width:767px){.n2-header{padding:22px 24px!important}.n7-clock{display:none}.n2-nav{gap:16px!important}.n7-cap{top:76px;right:24px}.n7-cap .t{font-size:20px}body .n3-hero .n5-hero-copy{left:24px;right:24px;bottom:72px}.n6-count{left:24px;right:auto;bottom:36px}.n2-work-grid{grid-template-columns:1fr!important}.n2-service{grid-template-columns:36px 1fr 76px!important}.n7-sm{width:76px}.n2-service:hover .n7-sm{transform:none}.n7-pc{height:auto}.n7-pc-st{position:relative;height:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px 0 40px}.n7-pc-tr{position:relative;display:flex;gap:18px;padding:0 20px;transform:none!important;height:auto}.n7-card{position:relative!important;left:auto!important;top:auto!important;flex:none;width:72vw!important;scroll-snap-align:center}.n7-card .pm,.n7-pc-word,.n7-pc-prog{display:none}.n7-pc-hint{position:static;padding:0 20px}.n3-card{aspect-ratio:auto;height:660px}.n3-card>form{grid-template-columns:1fr;padding:20px}.mac{left:8px;right:8px;width:auto}.pc-pm{display:none}}
@media (prefers-reduced-motion:reduce){[data-n2-reveal],.n2-work-item{opacity:1;transform:none;transition:none}}

.n7-fmhint{display:inline-flex;align-items:center;gap:10px;cursor:pointer;color:var(--or);text-decoration:none}
.n7-fmhint kbd{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid currentColor;border-bottom-width:3px;border-radius:5px;font:500 12px/1 var(--mono);transition:transform .15s,border-bottom-width .15s}
.n7-fmhint:hover kbd,.n7-fmhint.pr kbd{transform:translateY(2px);border-bottom-width:1px}
.n7-fmhint .eq{display:inline-flex;gap:2px;align-items:flex-end;height:12px}
.n7-fmhint .eq i{width:2px;background:currentColor;animation:n7eq .9s ease-in-out infinite alternate}
.n7-fmhint .eq i:nth-child(2){animation-delay:-.3s}.n7-fmhint .eq i:nth-child(3){animation-delay:-.6s}.n7-fmhint .eq i:nth-child(4){animation-delay:-.15s}
@keyframes n7eq{from{height:2px}to{height:12px}}
.n7-fmhint .n5-it{font-size:20px;color:var(--or)}
/* footer: orange, comes up from behind */
.n2-footer{background:var(--or)!important;color:var(--cr)!important}
.n2-footer *,.n2-footer .n5-mono,.n2-footer .n2-label,.n2-footer .n2-footer-text,.n2-footer .n2-footer-link,.n2-footer .n7-fmhint,.n2-footer .n7-fmhint .n5-it,.n2-footer .n7-open{color:var(--cr)!important}
.n2-footer-grid{border-color:rgba(255,249,238,.3)!important}
.n2-footer-logo{filter:brightness(0) invert(.97) sepia(.12)}
.n2-footer .n7-open i{background:#BFE3A5}.n2-footer .n7-open.off i{background:var(--cr);opacity:.45}
.n3-contact{box-shadow:0 30px 60px -30px rgba(20,20,20,.25)}
.n3-imp{overflow:visible!important}.n7-pc{overflow-x:clip;height:440vh!important}
.n2-footer-logo{margin-top:3vw!important}
.n2-service{grid-template-columns:72px 1fr 1fr!important}.n2-service-note{grid-column:3!important}
.n7-sm{position:fixed!important;left:0;top:0;width:250px!important;margin:0!important;grid-column:auto!important;pointer-events:none;z-index:60;opacity:0;transform:translate(-50%,-50%)!important;scale:.6;transition:opacity .25s,scale .5s var(--e)!important;box-shadow:0 30px 60px -20px rgba(20,20,20,.35)}
.n7-sm.on{opacity:1;scale:1}
.n7-sm .lb{display:none!important}
.n7-cap{text-shadow:0 1px 12px rgba(0,0,0,.35)}
.n2-clients-line .nw{white-space:nowrap}
.n2-footer .n7-hot{display:inline;margin:0;font:400 17px/1.45 Dxnacky,sans-serif!important;opacity:.8}
.n2-clients-line .cl .lg{left:0!important;width:100%!important;margin:-.75em 0 0!important;height:1.5em!important}
.n2-clients-line .sep{display:inline-block;width:.16em;height:.16em;border-radius:50%;background:currentColor;margin:0 .32em 0 .36em;vertical-align:.22em;opacity:.55}

.n2-nav-link.n7-cur:after{transform:scaleX(1)}
.n2-clients-line .cl .lg[data-top],.n2-clients-line .cl[data-top] .lg{-webkit-mask-position:center top!important;mask-position:center top!important;-webkit-mask-size:auto 175%!important;mask-size:auto 175%!important}
.n2-clients-line .cl .lgt{background:none!important;-webkit-mask:none!important;mask:none!important;color:var(--or);font-style:normal;display:flex!important;align-items:center;justify-content:center;white-space:nowrap}
.n2-clients-line .cl .lt-vt{font:400 1.12em/1 'Anton',sans-serif;letter-spacing:.01em}
.n2-clients-line .cl .lt-er{font:700 .95em/1 'Fraunces',serif;letter-spacing:-.02em}
