:root{--maxw: 1180px;--edge-min: 20px;--edge-max: 64px;--edge: clamp(var(--edge-min), 4vw, var(--edge-max));--header-h: clamp(56px, 9svh, 84px);--footer-h: clamp(44px, 5vh, 64px);--bg: #fff;--fg: #111;--muted: #666;--line: rgba(0, 0, 0, .12);--accent: #000;--fs-base: 16px;--lh-base: 1.6;--fs-h1: clamp(40px, 6.6vw, 88px);--fs-h2: clamp(22px, 3.2vw, 32px);--fs-h3: clamp(18px, 2.6vw, 22px);--font-sans: "Montserrat", "Avenir Next", "Futura", "Trebuchet MS", Arial, sans-serif;--hero-img: url(/hero-1.jpg);--section-pad: clamp(20px, 4vw, 48px);--container-w: min(var(--maxw), calc(100svw - var(--edge) * 2));--container-x: calc((100svw - var(--container-w)) / 2);--content-left: calc(var(--container-x) + var(--edge))}@media (max-width: 1024px){:root{--hero-img: url(/hero-2.jpg)}}@media (max-width: 640px){:root{--hero-img: url(/hero-3.jpg)}}html,body,#root{height:100%}html,body{overflow-x:clip}html{font-size:var(--fs-base)}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-sans);line-height:var(--lh-base);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:0}body:not(:has(.hero.full-bleed)){padding-bottom:var(--footer-h)}*{box-sizing:border-box}img,svg{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}a:hover,a:focus-visible{text-decoration:underline;text-underline-offset:3px}h1,h2,h3,h4{font-weight:800;letter-spacing:0;margin:0 0 .5em}p{margin:0 0 1em}strong,b{font-weight:700}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid #000;outline-offset:2px}::selection{background:#000;color:#fff}.container{width:min(var(--maxw),calc(100% - var(--edge) * 2));margin-inline:auto}.section{padding-block:var(--section-pad)}main.container.section{min-height:calc(100svh - var(--footer-h) - var(--section-pad) * 2)}main.container.section:has(>.hero.full-bleed){padding-top:0;padding-bottom:0;min-height:100svh}.full-bleed{width:100svw;margin-left:calc(50% - 50svw);margin-right:calc(50% - 50svw)}.no-section-bottom{padding-bottom:0!important}.no-section-top{padding-top:0!important}.pad-top-header{padding-top:var(--header-h)!important}*,*:before,*:after{box-sizing:border-box}:root{--vrule-offset: 20px;--vrule-width: 1.5px;--vrule-alpha: .4;--vrule-color: 0, 0, 0}.section{padding-block:clamp(28px,6vw,72px)}.stack>*+*{margin-top:clamp(8px,1.6vw,16px)}@media (max-width: 640px){.section{padding-block:28px}}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:root{--edge: clamp(16px, 4vw, 64px);--header-h: clamp(56px, 9svh, 84px)}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:transparent;transition:background .4s ease,box-shadow .4s ease}.site-header.scrolled{background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-row{min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding-inline:calc(var(--edge) - 40px);z-index:1}.brand{display:inline-flex;flex-direction:column;gap:.3em;text-decoration:none;color:inherit;letter-spacing:1px}.brand-title{font-weight:200;line-height:1;font-size:clamp(18px,2.8vh,28px)}.brand-sub{font-size:clamp(12px,1.8vh,14px);font-weight:600;color:#000;line-height:1}.brand:hover{text-decoration:none}.menu-btn{display:inline-flex;align-items:center;gap:15px;background:none;border:none;padding:6px 10px;border-radius:8px;cursor:pointer;color:#000}.menu-btn:focus-visible{outline:2px solid #000;outline-offset:2px}.menu-btn.open{background:transparent}.menu-back{font-weight:700;letter-spacing:.04em}.burger{width:28px;height:21px;position:relative;display:inline-block}.burger>span{position:absolute;left:0;right:0;height:3px;border-radius:2px;background:currentColor}.burger>span:nth-child(1){top:0}.burger>span:nth-child(2){top:9px}.burger>span:nth-child(3){bottom:0}.menu-label{display:none}.nav-ghost{position:absolute;inset:0;display:flex;z-index:40;pointer-events:auto}.nav-ghost-center,.nav-ghost-right{flex:1}.lang-switcher{display:flex;gap:12px;font-size:16px;font-weight:500;align-items:center;background:none;pointer-events:auto;z-index:100}.lang-switcher button{all:unset;cursor:pointer;font-size:16px;font-weight:500;min-width:44px;min-height:44px;border-radius:6px;color:inherit;opacity:1;text-align:center;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease,background-color .2s ease}.lang-switcher button:hover{opacity:.7}.nav-ghost-left{flex:0 0 var(--panel-w);display:flex;align-items:flex-start;justify-content:flex-end;padding:var(--edge)}body:has(.nav-overlay.open) .lang-switcher,body:has(.nav-overlay.open) .lang-switcher button{color:#fff!important}.lang-fixed-wrapper{position:fixed;top:12px;left:auto;right:calc(var(--edge) - 40px);z-index:200;pointer-events:none}.lang-fixed-wrapper .lang-switcher{display:inline-flex;gap:10px;align-items:center;font-weight:600;pointer-events:auto;-webkit-user-select:none;user-select:none}.lang-fixed-wrapper .lang-switcher button{all:unset;cursor:pointer;font-size:15px;line-height:1;min-width:36px;min-height:36px;padding:4px 6px;border-radius:6px;color:#000;transition:opacity .2s ease,transform .1s ease}.lang-fixed-wrapper .lang-switcher button:hover{opacity:.75}.lang-fixed-wrapper .lang-switcher button:active{transform:scale(.96)}body:has(.nav-overlay.open) .lang-fixed-wrapper .lang-switcher button,body:has(.nav-overlay.open) .lang-fixed-wrapper .lang-switcher{color:#fff!important}.nav-overlay{position:fixed;inset:0;display:flex;visibility:hidden;z-index:60;--panel-w: min(120dvh, 70vw)}.nav-overlay.open{pointer-events:auto;visibility:visible}.nav-panel{flex:0 0 var(--panel-w);background:#000;color:#fff;transform:translate(-100%);transition:transform .26s ease}.nav-overlay.open .nav-panel{transform:translate(0)}.nav-overlay.closing .nav-panel{transform:translate(-100%)}.nav-menu{flex:1;display:flex;align-items:center;color:#fff;width:100%;z-index:5}.nav-center{position:absolute;inset:0;display:flex;justify-content:flex-start;align-items:center;background:transparent;pointer-events:none;z-index:70}.nav-inner{max-width:1270px;width:100%;margin:0 auto;padding-inline:var(--edge);pointer-events:auto}.nav-menu ul{list-style:none;margin:0;padding:0}.nav-menu li+li{margin-top:clamp(12px,1.6vw,18px)}.nav-menu a{color:#fff;text-decoration:none;font-weight:700;font-size:clamp(28px,9.5vmin,90px);line-height:1.2;display:block;width:400px;transition:transform .3s ease,color .3s ease}.nav-menu a:hover{text-decoration:none;transform:scale(1.08)}.nav-dim{flex:1;background:#000000d1;opacity:0;transition:opacity .26s ease;border:none}.nav-overlay.open .nav-dim{opacity:1;cursor:pointer}.nav-overlay.closing .nav-dim{opacity:0}.nav-close{display:none}body:has(.nav-overlay.open) .site-header{color:#fff}body:has(.nav-overlay.open) .site-header .brand-sub{color:#fff!important}body:has(.nav-overlay.open) .menu-btn{color:#fff}body:has(.nav-overlay.open) .menu-btn .burger{display:none}@media (max-width: 960px){.brand-title{font-size:24px}.brand-sub{font-size:14px}.menu-btn{gap:10px;padding:4px 8px}.burger{width:20px;height:14px}.burger>span{height:2px}.burger>span:nth-child(2){top:6px}}@media (max-width: 640px){.brand-title{font-size:22px}.brand-sub{font-size:13px}.menu-btn{padding:4px 6px}.burger{width:18px;height:14px}.burger>span{height:2px}.burger>span:nth-child(2){top:6px}}.nav-menu .nav-inner{opacity:0;transform:translate(-120px);transition:opacity .66s ease,transform .66s ease;transition-delay:0ms}.nav-overlay.open .nav-menu .nav-inner{opacity:1;transform:translate(0);transition-delay:.46s}.nav-overlay.closing .nav-menu .nav-inner{opacity:0;transform:translate(-1200px);transition-delay:0ms}.site-header,.site-footer{opacity:1;transition:opacity .18s ease}.nav-overlay.open~.site-header{opacity:0}.nav-overlay.closing~.site-header,.nav-overlay.closing~.site-footer{opacity:1}body:has(.nav-overlay.open) .lang-switcher,body:has(.nav-overlay.open) .lang-switcher button,body:has(.nav-overlay.open) .brand-title,body:has(.nav-overlay.open) .brand-sub{color:#fff!important;opacity:1!important}@media (max-width: 960px){.brand-title{font-size:20px}.brand-sub{font-size:12px}.menu-back{font-size:16px;letter-spacing:.03em}.menu-btn{gap:8px;padding:4px 6px}.burger{width:18px;height:13px}.burger>span{height:2px}.burger>span:nth-child(2){top:5px}.lang-fixed-wrapper{top:14px}.lang-fixed-wrapper .lang-switcher{gap:10px}.lang-fixed-wrapper .lang-switcher button{font-size:14px;min-width:36px;min-height:36px;padding:2px 4px}}@media (max-width: 640px){.brand-title{font-size:18px}.brand-sub{font-size:11px}.menu-back{font-size:14px}.menu-btn{gap:6px;padding:3px 6px}.burger{width:16px;height:12px}.burger>span{height:2px}.burger>span:nth-child(2){top:5px}.lang-fixed-wrapper{top:10px}.lang-fixed-wrapper .lang-switcher{gap:8px}.lang-fixed-wrapper .lang-switcher button{font-size:13px;min-width:32px;min-height:32px;padding:2px 4px}}.nav-overlay:not(.open) .nav-panel,.nav-overlay:not(.open) .nav-center,.nav-overlay:not(.open) .nav-dim{pointer-events:none}.nav-overlay{z-index:60}.nav-dim{z-index:65}.nav-panel{z-index:70}.nav-center{z-index:75}.nav-ghost{z-index:90}.nav-ghost{pointer-events:none}.nav-ghost-left .lang-switcher,.lang-fixed-wrapper .lang-switcher{pointer-events:auto}.lang-fixed-wrapper{position:fixed;top:20px;left:calc(var(--edge) - 40px);z-index:200;pointer-events:none;width:var(--panel-w);display:flex;justify-content:flex-end}.lang-fixed-wrapper .lang-switcher,.lang-switcher button{pointer-events:auto}@media (max-width: 960px){.lang-fixed-wrapper{top:10px;right:calc(var(--edge) - 32px)}.lang-fixed-wrapper .lang-switcher{gap:8px}.lang-fixed-wrapper .lang-switcher button{font-size:14px;min-width:32px;min-height:32px;padding:3px 5px;border-radius:6px}}@media (max-width: 640px){.lang-fixed-wrapper{top:8px;right:calc(var(--edge) - 28px)}.lang-fixed-wrapper .lang-switcher{gap:6px}.lang-fixed-wrapper .lang-switcher button{font-size:13px;min-width:28px;min-height:28px;padding:2px 4px;border-radius:5px}}body:has(.nav-overlay.open) .lang-fixed-wrapper .lang-switcher{transition:opacity .26s ease,transform .26s ease;opacity:1}.nav-ghost-left .lang-switcher{display:flex!important;gap:12px;pointer-events:auto}.lang-fixed-wrapper{position:fixed;top:12px;right:calc(var(--edge) - 40px);z-index:1000;pointer-events:auto}.lang-fixed-wrapper .lang-switcher,.site-header{pointer-events:auto}body:has(.nav-overlay.open) .site-header{pointer-events:none}.lang-fixed-wrapper .lang-switcher,.nav-ghost-left .lang-switcher{display:inline-flex;align-items:center;margin-right:50px}.lang-switcher>span[aria-hidden=true]{opacity:.5;margin:0;line-height:1}.lang-switcher a,.lang-switcher button{all:unset;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:600;line-height:1;border-radius:6px;transition:opacity .2s ease,transform .1s ease}.lang-switcher a:hover,.lang-switcher button:hover{opacity:.75}.lang-switcher a:active,.lang-switcher button:active{transform:scale(.96)}.lang-switcher a,.lang-switcher button{font-size:15px;min-width:36px;min-height:36px}@media (max-width: 960px){.lang-fixed-wrapper .lang-switcher,.nav-ghost-left .lang-switcher{gap:8px}.lang-switcher a,.lang-switcher button{font-size:14px;min-width:22px;min-height:22px;padding:3px}.lang-switcher>span[aria-hidden=true]{margin:0 2px}}@media (max-width: 640px){.lang-fixed-wrapper .lang-switcher,.nav-ghost-left .lang-switcher{gap:0px;margin-right:-20px}.lang-switcher a,.lang-switcher button{font-size:10px;min-width:12px;min-height:12px;padding:2px;border-radius:5px}.lang-switcher>span[aria-hidden=true]{margin:0 1px}}.brand-title{font-size:26px;font-weight:200;line-height:1}.brand-sub{font-size:14px;font-weight:600;line-height:1}.menu-btn{gap:12px;padding:6px 10px}.burger{width:24px;height:18px}.burger>span{height:2px}.burger>span:nth-child(2){top:8px}.menu-back{font-size:18px;letter-spacing:.04em}@media (max-width: 960px){.brand-title{font-size:22px}.brand-sub{font-size:12px}.menu-btn{gap:8px;padding:4px 8px}.burger{width:18px;height:13px}.burger>span{height:2px}.burger>span:nth-child(2){top:5px}.menu-back{font-size:16px;letter-spacing:.03em}}@media (max-width: 640px){.brand-title{font-size:20px}.brand-sub{font-size:11px}.menu-btn{gap:6px;padding:3px 6px}.burger{width:16px;height:12px}.burger>span{height:2px}.burger>span:nth-child(2){top:5px}.menu-back{font-size:14px}}.hero{position:relative;display:flex;align-items:center;min-height:100svh;overflow:hidden}.hero-text{flex:.8;position:relative;padding-left:calc(var(--content-left) - 5dvh);display:flex;flex-direction:column;justify-content:flex-end;z-index:3}.hero-media-wrap{position:absolute;inset:0;display:flex;justify-content:flex-end;align-items:stretch;pointer-events:none;height:100%}.hero-title-wrap{display:flex;flex-direction:column;align-items:flex-start;flex-grow:1}.hero-dots-wrap{margin-top:0;margin-bottom:20px}@media (min-width: 1025px){.hero-media-wrap{max-width:1500px;margin-inline:auto}}.hero-media{flex:0 0 auto;width:100%;max-width:100%;background:var(--hero-img) right center / contain no-repeat;height:100%;z-index:1}.hero-title{margin:0;font-weight:300;font-size:clamp(34px,3.8vw,52px);line-height:1.2;max-width:20ch;white-space:normal;cursor:grab;display:flex;flex-direction:column-reverse}.hero-title.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none;transition:none}.hero-title>div{opacity:0}.hero-title>.enter-from-right{animation:slideFromRight .6s cubic-bezier(.22,.61,.36,1) forwards}.hero-title>.enter-from-left{animation:slideFromLeft .6s cubic-bezier(.22,.61,.36,1) forwards}.hero-dots{display:flex;gap:10px;align-items:center;padding-top:20px}.dot{display:block;width:8px;height:8px;border:none;padding:0;border-radius:50%;background:#0000004d;cursor:pointer;transition:background .3s ease}.dot:hover{background:#00000080}.dot.active{background:#000}@keyframes slideFromRight{0%{opacity:0;transform:translate(40%)}to{opacity:1;transform:translate(0)}}@keyframes slideFromLeft{0%{opacity:0;transform:translate(-40%)}to{opacity:1;transform:translate(0)}}.cta-fixed{position:absolute;bottom:25vh;left:0;right:0;z-index:5;pointer-events:auto;display:flex;justify-content:flex-start;padding-left:calc(var(--content-left) - 5dvh)}.cta-inner{max-width:600px;width:100%}.cta-fixed .btn{display:inline-flex;align-items:center;justify-content:center;height:52px;padding-inline:clamp(32px,10vw,170px);font-size:clamp(15px,1.6vw,17px);font-weight:500;line-height:1;text-decoration:none;border:1px solid;cursor:pointer;transition:all .2s ease;color:#fff;border-color:#111;background:#000}.cta-fixed .btn:hover{transform:scale(1.1)}@media (max-width: 1024px){.hero{justify-content:flex-start;text-align:left;height:100svh;min-height:600px;overflow:hidden}.hero-media{position:absolute;inset:0;background:var(--hero-img) right center / cover no-repeat;z-index:1}.hero-text{flex-direction:column;margin-top:300px;max-width:32ch;padding-left:calc(var(--content-left) - 30px);padding-right:var(--edge);padding-bottom:24dvh;z-index:2}.hero-title{white-space:normal;max-width:none}.cta-fixed{bottom:12vh}.cta-fixed .btn{height:48px;padding:0 48px;font-size:16px}}@media (max-width: 640px){.hero{text-align:left}.hero-media{background:var(--hero-img) center center / cover no-repeat}.hero-title{font-size:1.9rem}.hero-text{margin-top:28dvh;margin-left:20px;max-width:34ch;padding-left:calc(var(--content-left) - 40px);padding-right:var(--edge);padding-bottom:10px}body:has(.nav-overlay.open) .hero-text{display:none}.cta-fixed{bottom:12vh;padding-left:20px}.cta-fixed .btn{height:44px;padding:0 80px;font-size:15px}.cta-inner{max-width:none}}@media (min-width: 641px) and (max-width: 1024px){.hero-text{margin-top:200px;max-width:45ch;padding-left:calc(var(--content-left) - 30px);padding-right:var(--edge);padding-bottom:28dvh;z-index:2}.cta-fixed{bottom:35vh;padding-left:calc(var(--content-left) - 30px)}.cta-fixed .btn{height:48px;padding:0 88px;font-size:16px}}.section-title{position:relative;padding-left:24px;margin-bottom:clamp(20px,4vw,36px)}.section-title:before{content:"";position:absolute;left:0;top:.15em;width:1px;height:1.4em;background:var(--line)}.section-label{display:inline-block;color:var(--muted);font-size:var(--fs-h3);letter-spacing:.04em}.section-h2{margin:8px 0 0;font-size:var(--fs-h2);font-weight:600;line-height:1.2}.section-desc{margin:8px 0 0;color:var(--muted);max-width:72ch}.services .section-title{padding-top:30px;padding-left:calc(var(--content-left) - 42px);padding-right:var(--edge);font-weight:400;letter-spacing:0}.services .section-title :is(h1,h2,h3){font-weight:400;letter-spacing:0}.services-bg{opacity:.65;-webkit-mask-image:linear-gradient(to left,rgba(0,0,0,.95) 0%,rgba(0,0,0,.55) 24%,rgba(0,0,0,.05) 55%,rgba(0,0,0,0) 70%);mask-image:linear-gradient(to left,#000000f2,#0000008c 24%,#0000000d 55%,#0000 70%)}.services-wrap{width:100%;max-width:var(--container-w);margin:0 auto;padding:0 calc(var(--edge) - 40px);padding-bottom:calc(var(--footer-h) + 12px);display:grid;row-gap:clamp(18px,3vw,36px)}.svc-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(32px,4vw,48px);align-items:start}.svc{display:flex;flex-direction:column;gap:8px;padding-right:24px}.svc-title{margin:0;font-size:1.5rem;font-weight:400;line-height:1.3}.svc-lead{margin:0 0 4px;font-size:1rem;color:var(--muted);line-height:1.4}.svc-list{margin:0;padding-left:18px;font-size:.95rem;line-height:1.5}.svc-list li+li{margin-top:6px}.svc-foot{display:none!important}.cta-button{grid-column:1 / -1;display:flex;justify-content:center;margin-top:clamp(32px,4vw,48px)}.summary-cta{padding:14px 64px;border:1px solid var(--fg);border-radius:999px;font-size:1rem;font-weight:500;color:var(--fg);text-decoration:none;transition:background .25s,color .25s}.summary-cta:hover{background:var(--fg);color:var(--bg)}@media (max-width: 960px){.svc-cards{grid-template-columns:1fr}.services .section-title{padding-left:var(--edge);padding-right:var(--edge)}.summary-cta{padding:12px 40px;font-size:.95rem}.services-wrap{margin-left:var(--edge);width:calc(100svw - var(--edge) * 2)}.services-bg{opacity:.45}}@media (max-width: 640px){.svc-title{font-size:1.3rem}.svc-lead{font-size:.9rem}.svc-list{font-size:.9rem;line-height:1.4}.summary-cta{width:100%;max-width:90%;text-align:center}}.portfolio .section-title{padding-left:calc(var(--content-left) - 42px);padding-right:var(--edge);padding-top:calc(var(--header-h) + 20px);padding-bottom:20px;font-weight:400;margin-bottom:0}.portfolio .section-title,.portfolio .section-title *{font-weight:400;letter-spacing:0}.portfolio-bg{opacity:.65;-webkit-mask-image:linear-gradient(to left,rgba(0,0,0,.95) 0%,rgba(0,0,0,.55) 24%,rgba(0,0,0,.05) 55%,rgba(0,0,0,0) 70%);mask-image:linear-gradient(to left,#000000f2,#0000008c 24%,#0000000d 55%,#0000 70%)}.portfolio-wrap{position:relative;z-index:1;display:grid;grid-template-columns:1fr;row-gap:clamp(24px,4svh,40px);padding-left:calc(var(--content-left) - 40px);padding-right:var(--edge);padding-bottom:var(--footer-h);width:calc(100svw - var(--content-left) - var(--edge));margin-right:var(--edge)}.portfolio-wrap .pf{padding-inline:0}.portfolio-wrap .pf-tabs{margin-left:0}.pf-tabs{display:flex;gap:16px;margin:6px 0 18px}.pf-tab{background:transparent;border:0;padding:4px 0;cursor:pointer;color:var(--muted);font-weight:600;letter-spacing:.02em}.pf-tab.active{color:var(--fg);text-decoration:underline;text-underline-offset:6px}.portfolio-wrap .pf-grid{--pf-gap: clamp(14px, 2.4vw, 28px);--pf-col: clamp(260px, 28vw, 360px);display:grid;gap:var(--pf-gap);grid-template-columns:repeat(auto-fit,minmax(var(--pf-col),1fr));width:100%;max-width:1200px;margin-right:auto}@media (max-width: 1200px){.portfolio-wrap{margin:0 auto;width:100%;padding:0 var(--edge);padding-bottom:var(--footer-h)}.portfolio .section-title{padding-left:var(--edge);padding-right:var(--edge)}.portfolio-wrap .pf-grid{grid-template-columns:repeat(2,1fr)}}.pf-card{aspect-ratio:4/3;border:1px solid var(--line);background:#fff;overflow:hidden;display:grid;place-items:center;padding:0;cursor:pointer}.pf-card:hover{outline:2px solid #00000012}.pf-card:focus-visible{outline:2px solid #000;outline-offset:2px}.pf-img{width:100%;height:100%}.pf-img.cover{object-fit:cover}.pf-img.contain{object-fit:contain;background:#fff;padding:clamp(8px,1.2vw,16px)}.pf-overlay{position:fixed;inset:0;z-index:99999;background:#000000d1;display:grid;place-items:center}.pf-lightbox{position:relative;display:flex;justify-content:center;align-items:center;box-sizing:border-box;overflow:hidden;width:90vw;height:min(90vh,90vw);background:none}.pf-lb-img{width:100%;height:100%;margin-left:40px;object-fit:contain;background:transparent;display:block}.pf-swipe{width:100%;height:100%;will-change:transform;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.pf-swipe.dragging{cursor:grabbing}.pf-lb-title{font-weight:600}.pf-view{text-decoration:none;border:1px solid var(--fg);padding:6px 10px}.pf-view:hover{background:#f7f7f7}.pf-close,.pf-nav{position:fixed;z-index:100000;background:none;border:0;padding:0;line-height:1;color:#fff;transition:opacity .16s ease}.pf-close{top:18px;right:22px;width:40px;height:40px;font-size:28px}.pf-nav{top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:30px;display:flex;align-items:center;justify-content:center}.pf-nav.pf-prev{left:24px}.pf-nav.pf-next{right:24px}.pf-close:hover,.pf-nav:hover{opacity:.85}.pf-close:focus-visible,.pf-nav:focus-visible{outline:2px solid #fff;outline-offset:2px}.pf-close:after,.pf-nav:after{content:"";position:absolute;inset:-10px;pointer-events:none}body:has(.pf-overlay){overflow:hidden}body:has(.pf-overlay) .site-header,body:has(.pf-overlay) .site-footer,body:has(.pf-overlay) main,body:has(.pf-overlay) .nav-overlay{pointer-events:none!important}body:has(.pf-overlay) .site-header{z-index:1}.pf-overlay,.pf-overlay *{pointer-events:auto!important}.pf-overlay{z-index:999999!important}.pf-close,.pf-nav{z-index:1000000!important}@media (max-width: 640px){.portfolio-wrap{margin:0 auto;width:100%;padding:0 var(--edge);padding-bottom:var(--footer-h)}.portfolio .section-title{padding-left:var(--edge);padding-right:var(--edge)}.portfolio-wrap .pf-grid{grid-template-columns:1fr}.pf-lb-img{margin:0 auto 0 20px}}.contact .section-title{padding-left:calc(var(--content-left) - 42px);padding-right:car(--edge);padding-top:calc(var(--header-h) + 20px)}.contact .section-title,.contact .section-title *{font-weight:400;letter-spacing:0}.contact{position:relative;min-height:100svh;padding-bottom:var(--footer-h);overflow:clip}.contact.full-bleed{width:100svw;margin-left:calc(50% - 50svw);margin-right:calc(50% - 50svw)}body:has(.contact.full-bleed){padding-bottom:0!important}.contact-bg{position:absolute;inset:0;z-index:0;opacity:.65;-webkit-mask-image:linear-gradient(to left,rgba(0,0,0,.95) 0%,rgba(0,0,0,.55) 24%,rgba(0,0,0,.05) 55%,rgba(0,0,0,0) 70%);mask-image:linear-gradient(to left,#000000f2,#0000008c 24%,#0000000d 55%,#0000 70%)}.contact-bg img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:right center!important;max-width:none!important;filter:grayscale(100%)}.contact-wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(340px,560px) minmax(280px,1fr);grid-template-areas:"form info";gap:clamp(20px,4vw,48px);align-items:start;margin-left:calc(var(--content-left) - 40px);padding-right:var(--edge);padding-bottom:var(--footer-h);width:calc(100svw - var(--content-left) - var(--edge));margin-bottom:var(--footer-h)}.cf{grid-area:form;display:grid;gap:14px;max-width:560px}.cf-field{display:grid;gap:6px}.cf input:not([type=checkbox]),.cf textarea{width:100%;border:1px solid var(--line);background:#fff;padding:10px 12px;outline:none}.cf input:not([type=checkbox]):focus,.cf textarea:focus{border-color:#0005;box-shadow:0 0 0 2px #00000010}.cf .cf-error,.cf-error{color:#c1121f!important;font-size:.9rem;line-height:1.35;margin-top:6px}.cf-privacy{display:inline-flex;align-items:center;gap:10px;margin-top:4px}.cf-privacy input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#111}.cf-submit{display:block;width:100%;padding:12px 16px;border:1px solid #000;background:#000;color:#fff;cursor:pointer;transition:background .18s ease,color .18s ease,opacity .18s ease,border-color .18s ease}.cf-submit:hover:not(:disabled){background:#111;border-color:#111}.cf-submit:active:not(:disabled){background:#000;filter:brightness(.95)}.cf-submit:focus-visible{outline:2px solid #000;outline-offset:2px}.cf-submit:disabled{background:#fff;color:#999;border-color:#ccc;cursor:not-allowed}.contact-info{grid-area:info;display:grid;gap:12px;max-width:clamp(320px,34vw,520px)}.contact-info h3{font-weight:400;font-size:30px;letter-spacing:0}.contact-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.contact-list li{display:flex;align-items:center;gap:10px}.contact-list .ci{width:18px;height:18px;opacity:.75;flex:0 0 18px}@media (max-width: 960px){.contact .section-title{padding-left:var(--edge)}.contact-wrap{margin-left:var(--edge);width:calc(100svw - 2 * var(--edge));grid-template-columns:1fr;grid-template-areas:"info" "form"}}@media (max-width: 640px){.contact-bg{opacity:.4}}.site-footer{position:fixed;left:0;right:0;bottom:0;z-index:100;background:#ffffff4d;-webkit-backdrop-filter:saturate(1.2) blur(2px);backdrop-filter:saturate(1.2) blur(2px);color:#000;font-size:15px;padding-block:10px}.footer-inner{display:flex;max-width:1200px;margin-inline:auto;padding-inline:calc(var(--edge) - 40px);align-items:center;justify-content:space-between;flex-wrap:nowrap;white-space:nowrap}.footer-left,.footer-right{display:flex;align-items:center;gap:5px}.footer-right a{text-decoration:none;color:inherit}.footer-right a:hover{text-decoration:underline;text-underline-offset:2px}@media (min-width: 641px) and (max-width: 960px){.site-footer{font-size:13.5px;padding-left:calc(var(--content-left) - 70px)}.footer-inner{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}body:has(.nav-overlay.open) .footer-left{order:1}body:has(.nav-overlay.open) .footer-right{order:2}}@media (max-width: 640px){.site-footer{font-size:12px;padding-block:1px;padding-left:calc(var(--content-left) - 40px);text-align:left;padding-top:5px;padding-bottom:5px}.footer-inner{flex-direction:column;align-items:flex-start;gap:2px}.footer-left,.footer-right{flex-direction:row;gap:5px}.footer-left{order:1}.footer-right{order:2}}body:has(.nav-overlay.open) .site-footer{background:transparent;color:#fff}body:has(.nav-overlay.open) .site-footer a{color:#fff}body:has(.nav-overlay.open) .privacy-link{display:none}@media (max-width: 960px){body:has(.nav-overlay.open) .footer-left{order:2}body:has(.nav-overlay.open) .footer-right{order:1}}.cookie{position:fixed;left:0;right:0;bottom:0;background:#fffffffa;border-top:1px solid var(--line);z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cookie-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:clamp(10px,2vw,14px)}.cookie-text{margin:0;color:var(--fg)}.cookie-actions{display:flex;gap:10px}.cookie-btn{border:1px solid var(--fg);background:#f5f5f5;padding:8px 12px;cursor:pointer}.cookie-btn.alt{background:transparent}@media (max-width: 640px){.cookie-inner{flex-direction:column;align-items:stretch}.cookie-actions{justify-content:flex-end}}.pagebg{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.pagebg-fade{position:absolute;inset:0;background:linear-gradient(to right,#ffffffe6,#ffffff8c 35%,#fff0 65%)}@media (max-width: 640px){.pagebg img{opacity:.12!important}}.profile{position:relative;min-height:100svh;overflow:hidden;scroll-margin-top:var(--header-h)}.profile .profile-bg{position:absolute;inset:0;z-index:0;pointer-events:none}.profile .profile-bg img,.profile .profile-bg picture,.profile .profile-bg video,.profile .profile-bg canvas{width:100%;height:100%;object-fit:cover;object-position:right center;display:block}.profile .profile-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(to left,#fff0,#ffffff8c,#ffffffeb 60%,#fff);pointer-events:none}.profile-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;row-gap:clamp(24px,4svh,40px);padding-left:calc(var(--content-left) - 40px);padding-right:var(--edge);padding-bottom:clamp(20px,6svh,64px)}.profile-body{display:grid;gap:18px;max-width:50ch}.profile-lead{margin:0 0 clamp(12px,2vw,18px) 0;font-size:clamp(18px,1.4vw,20px);line-height:1.65}.profile-list{margin:.4em 0 0 1.1em;padding:0;color:var(--fg)}.profile-list li+li{margin-top:6px}.profile-card{margin:0;max-width:62ch;border:none;background:none;padding:0;display:grid;row-gap:8px;font-size:.95rem;color:var(--fg)}.profile-card>header{font-weight:600;font-size:.9rem;letter-spacing:.03em;margin-bottom:4px;text-transform:uppercase;color:var(--muted)}.pc-row{display:flex;align-items:center;gap:8px;color:var(--fg)}.pc-ic{font-size:14px;opacity:.7}.profile-cta{display:inline-block;margin-top:6px;font-weight:600;color:inherit;text-decoration:underline;border:none;background:none;padding:0}.profile-cta:hover{color:var(--muted)}@media (max-width: 960px){.profile .profile-bg{inset:0}.profile-body{width:500px}.profile .profile-bg img{object-position:center 18%}.profile-grid{grid-template-columns:1fr;row-gap:16px;padding-left:var(--edge);padding-right:var(--edge)}.profile-card{margin-top:6px;max-width:100%}}.profile .section-title{padding-left:calc(var(--content-left) - 40px);padding-right:var(--edge);padding-top:clamp(12px,12svh,180px);font-weight:400}@media (max-width: 960px){.profile .section-title{padding-left:var(--edge);padding-right:var(--edge);padding-top:calc(var(--header-h) + 4svh)}}@media (max-width: 640px){.profile-body{width:350px;gap:10px;font-size:.9rem}.profile-lead{font-size:.95rem;line-height:1.5}.profile-list{font-size:.9rem}.profile-cta{font-size:.85rem;padding:8px 12px}.profile .section-title{font-size:1.1rem}.profile-card{font-size:.85rem;row-gap:6px}.profile-card>header{font-size:.8rem}.pc-ic{font-size:12px}.profile-cta{font-size:.85rem}}.privacy{position:relative;min-height:100svh;overflow:hidden;scroll-margin-top:var(--header-h)}.privacy .privacy-bg{position:absolute;inset:0;z-index:0;pointer-events:none}.privacy .privacy-bg img,.privacy .privacy-bg picture{width:100%;height:100%;object-fit:cover;object-position:right center;display:block;filter:brightness(.95)}.privacy .privacy-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(to left,#fff0,#ffffff59 35%,#ffffffbf 65%,#fff);pointer-events:none}.privacy-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;row-gap:clamp(16px,2svh,28px);padding-left:calc(var(--content-left) - 40px);padding-right:var(--edge);padding-bottom:clamp(12px,4svh,40px)}.privacy-body{display:grid;max-width:50ch;font-size:clamp(16px,1.2vw,18px);line-height:1.5}.privacy-body h2{font-size:1.2em;margin-top:1.2em;margin-bottom:.4em;font-weight:400}.privacy-list{margin:.4em 0 0 1.1em;padding:0}.privacy-list li+li{margin-top:6px}.privacy .section-title{padding-left:calc(var(--content-left) - 40px);padding-right:var(--edge);padding-top:clamp(12px,12svh,180px);font-weight:400}@media (max-width: 960px){.privacy .privacy-bg img{object-position:center 18%}.privacy-grid{grid-template-columns:1fr;row-gap:16px;padding-left:var(--edge);padding-right:var(--edge)}.privacy-body{width:500px;font-size:.9rem;line-height:1.5}.privacy .section-title{padding-left:var(--edge);padding-right:var(--edge);padding-top:calc(var(--header-h) + 4svh)}}@media (max-width: 640px){.privacy-body{width:350px;gap:10px;font-size:.9rem;line-height:1.5}.privacy .section-title{font-size:1.1rem}}.notfound{position:relative;min-height:100svh;overflow:hidden;scroll-margin-top:var(--header-h);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.notfound .notfound-bg{position:absolute;inset:0;z-index:0;pointer-events:none}.notfound .section-title{padding-left:calc(var(--content-left) - 40px);padding-right:var(--edge);padding-top:clamp(12px,12svh,180px);font-weight:600;font-size:5dvh}.notfound-wrap{position:relative;z-index:1;display:grid;row-gap:12px;padding-left:calc(var(--content-left) - 40px);padding-right:var(--edge);padding-bottom:clamp(20px,6svh,64px);max-width:80ch;font-size:1.1rem;line-height:1.6;color:var(--fg)}.notfound-lead{font-weight:500;font-size:1.4rem}@media (max-width: 640px){.notfound .section-title{padding-left:var(--edge);padding-right:var(--edge);padding-top:calc(var(--header-h) + 4svh)}.notfound-wrap{padding-left:var(--edge);padding-right:var(--edge);font-size:1rem}.notfound-lead{font-size:1.2rem}}
