.scene{z-index:0;isolation:isolate;pointer-events:none;background:var(--paper-2);height:100lvh;position:fixed;inset:0 0 auto;overflow:hidden}.scene__layer{display:block;position:absolute;inset:0}.scene__layer img{object-fit:cover;object-position:62% 32%;width:100%;height:100%}.scene__layer+.scene__layer{--p:0;-webkit-mask-image:linear-gradient(100deg, #000 calc(var(--p) * 160% - 60%), transparent calc(var(--p) * 160%));-webkit-mask-image:linear-gradient(100deg, #000 calc(var(--p) * 160% - 60%), transparent calc(var(--p) * 160%));mask-image:linear-gradient(100deg, #000 calc(var(--p) * 160% - 60%), transparent calc(var(--p) * 160%))}.scene__layer.is-off{visibility:hidden}.scene__layer.is-full{-webkit-mask-image:none;mask-image:none}.scene__grain{mix-blend-mode:soft-light;opacity:.55;background:url(/media/grain.png) 0 0/256px 256px;position:absolute;inset:0}@media (max-aspect-ratio:4/5){.scene__layer img{object-position:85% 78%}}.scene-note{z-index:1;pointer-events:none;left:var(--hut-x,80vw);top:var(--hut-y,60vh);opacity:var(--note,1);color:var(--paper);text-shadow:0 1px 10px #18292b73;position:fixed}.scene-note[hidden]{display:none}.scene-note__text{white-space:nowrap;transform-origin:100% 0;font-size:clamp(1.25rem,1rem + .9vw,1.7rem);position:absolute;top:100px;right:34px;transform:rotate(-4deg)}.scene-note__arrow{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 5px #18292b73);width:62px;max-width:none;height:84px;position:absolute;top:22px;left:-22px;overflow:visible}.nav{z-index:60;height:var(--nav-h);padding-inline:max(8px, calc(var(--gutter) - 22px));pointer-events:none;align-items:center;display:flex;position:fixed;inset:0 0 auto}.nav__bar{pointer-events:auto;height:56px;max-width:calc(var(--maxw) - 2 * var(--gutter) + 44px);border-radius:999px;flex:1;justify-content:space-between;align-items:center;gap:24px;margin-inline:auto;padding:0 8px 0 22px;transition:background-color .35s,box-shadow .35s;display:flex}.nav.is-solid .nav__bar{-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2);box-shadow:0 0 0 1px var(--line), 0 12px 30px -18px #18292b80;background:#fcf9f3e6}.nav__logo{color:var(--ink);flex:none;display:block}.nav__logo svg{width:auto;height:30px}.nav__links{gap:clamp(18px,2.6vw,40px);font-size:1rem;font-weight:560;display:flex}.nav__links a{padding:8px 0;position:relative}.nav__links a:after{content:"";background:var(--amber);transform-origin:0;height:2px;transition:transform .4s var(--ease-out);border-radius:2px;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.nav__links a:hover:after,.nav__links a:focus-visible:after,.nav__links a.is-active:after{transform:scaleX(1)}.nav__right{flex:none;align-items:center;gap:14px;display:flex}.nav__lang{letter-spacing:.08em;padding:8px;font-size:.86rem;font-weight:650}.nav__lang:hover{color:var(--amber-ink)}.nav__burger{background:var(--ink);cursor:pointer;border:0;border-radius:50%;width:42px;height:42px;padding:0;display:none;position:relative}.nav__burger i{background:var(--paper);height:2px;transition:transform .4s var(--ease-out), top .4s var(--ease-out);border-radius:2px;position:absolute;left:12px;right:12px}.nav__burger i:first-of-type{top:16px}.nav__burger i:last-of-type{top:24px}.nav__burger[aria-expanded=true] i:first-of-type{top:20px;transform:rotate(45deg)}.nav__burger[aria-expanded=true] i:last-of-type{top:20px;transform:rotate(-45deg)}.menu{z-index:55;background:var(--paper);padding:calc(var(--nav-h) + 20px) var(--gutter) max(24px, env(safe-area-inset-bottom));opacity:0;transition:opacity .3s, transform .4s var(--ease-out);flex-direction:column;justify-content:space-between;gap:24px;display:flex;position:fixed;inset:0;overflow-y:auto;transform:translateY(-8px)}.menu[hidden]{display:none}.menu.is-open{opacity:1;transform:none}.menu__links{flex-direction:column;display:flex}.menu__item{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:2px 16px;padding:18px 0;display:grid}.menu__t{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(2rem,9vw,3rem);font-weight:600;line-height:1.05}.menu__d{color:var(--ink-2);grid-column:1;font-size:.95rem}.menu__item .arrow{width:26px;height:16px;color:var(--amber-ink);grid-area:1/2/span 2}.menu__item[aria-current=page] .menu__t{color:var(--amber-ink)}.menu__bottom{flex-direction:column;gap:18px;display:flex}.menu__cta{align-self:stretch}.menu__foot{color:var(--ink-2);justify-content:space-between;gap:16px;font-size:.95rem;display:flex}html.menu-open{overflow:hidden}main{z-index:1;position:relative}.sheet{background:var(--paper);border-radius:var(--radius-sheet);padding-block:var(--section);position:relative;box-shadow:0 0 0 1px #18292b0a,0 -24px 70px -46px #18292b80,0 24px 70px -46px #18292b80}.sheet--flush-top{border-top-left-radius:0;border-top-right-radius:0}.sheet__block+.sheet__block{margin-top:var(--section)}.window{min-height:78svh;display:grid;position:relative}.window--short{min-height:clamp(220px,42svh,420px)}.window .label{color:var(--ink)}.window__season{margin:0 var(--gutter) clamp(20px, 3vw, 36px);color:var(--paper);text-shadow:0 1px 12px #18292b80;transform-origin:0 100%;place-self:end start;font-size:clamp(1.5rem,1.1rem + 1.3vw,2.2rem);transform:rotate(-3deg)}.head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px 48px;margin-bottom:clamp(32px,4.4vw,64px);display:grid}.head>.label,.head__title{grid-column:1/-1;justify-self:start}.head__title{font-size:var(--fs-h2)}.head__intro{color:var(--ink-2);font-size:var(--fs-lead);max-width:44ch;line-height:1.45}.head .link{justify-self:end}.page-head{min-height:clamp(400px,60svh,640px);padding-top:calc(var(--nav-h) + clamp(28px, 7vh, 80px));align-items:start;padding-bottom:48px;display:grid;position:relative}.page-head .label{color:var(--ink)}.page-head__inner{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.page-head__title{font-size:var(--fs-display);letter-spacing:-.04em;max-width:14ch;line-height:.98}.page-head__intro{font-size:var(--fs-lead);text-shadow:0 0 3px #fcf9f3b3,0 0 16px #fcf9f3bf;max-width:40ch;font-weight:500;line-height:1.45}.next{flex-direction:column;align-items:flex-start;gap:22px;display:flex}.next__title{font-size:var(--fs-h2)}.next__text{color:var(--ink-2);font-size:var(--fs-lead);max-width:40ch}.next__actions{flex-wrap:wrap;gap:12px;margin-top:6px;display:flex}.footer{z-index:1;background:var(--paper);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;padding-top:clamp(40px,5vw,72px);position:relative;box-shadow:0 -24px 70px -46px #18292b80}.footer__top{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:32px 64px;padding-bottom:clamp(36px,5vw,64px);display:grid}.footer__brand{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.footer__logo svg{width:auto;height:clamp(44px,5vw,64px)}.footer__tagline{color:var(--ink-2);font-size:var(--fs-lead);max-width:26ch;line-height:1.35}.footer__nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 32px;font-weight:560;display:grid}.footer__nav a{background:linear-gradient(var(--amber), var(--amber)) 0 100% / 0 2px no-repeat;transition:background-size .4s var(--ease-out);justify-self:start;padding:4px 0}.footer__nav a:hover,.footer__nav a:focus-visible{background-size:100% 2px}.footer__bottom{border-top:1px solid var(--line);color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 32px;padding-block:22px 28px;font-size:.9rem;display:flex}.footer__legal{flex-wrap:wrap;gap:8px 24px;display:flex}.footer__legal a:hover{color:var(--ink)}.replay{border:1.5px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:10px;padding:9px 16px;font-size:.92rem;font-weight:560;transition:border-color .3s,box-shadow .3s;display:inline-flex}.replay:before{content:"";background:var(--amber);border-radius:50%;width:9px;height:9px}.replay:hover,.replay:focus-visible{border-color:var(--ink);box-shadow:0 0 0 4px #f2a33a4d}@media (max-width:1000px){.nav__links,.nav__cta{display:none}.nav__burger{display:block}}@media (max-width:760px){.scene-note__text{font-size:1.15rem;top:64px;right:26px}.scene-note__arrow{width:43px;height:58px;top:18px;left:-14px}.nav__bar{height:52px;padding:0 7px 0 14px}.nav__logo svg{height:26px}.head{grid-template-columns:minmax(0,1fr)}.head .link{justify-self:start}.window{min-height:62svh}.window--short{min-height:clamp(180px,34svh,320px)}.footer__top{grid-template-columns:minmax(0,1fr)}.page-head{min-height:clamp(360px,62svh,560px)}}.hero{min-height:100svh;padding-top:calc(var(--nav-h) + clamp(20px, 7vh, 84px));align-items:start;padding-bottom:48px}.hero__inner{flex-direction:column;align-items:flex-start;gap:clamp(18px,2.2vw,30px);display:flex}.hero__title{font-size:var(--fs-display);letter-spacing:-.045em;font-weight:640;line-height:.95}.hero__line{display:block}.hero__sub,.contact__text{text-shadow:0 0 3px #fcf9f3b3,0 0 16px #fcf9f3bf}.hero__sub{font-size:var(--fs-lead);max-width:33ch;font-weight:500;line-height:1.42}.hero__ctas{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.stroke{display:inline-block;position:relative}.stroke__svg{z-index:-1;fill:none;width:106%;height:.2em;stroke:var(--amber);stroke-width:clamp(5px,.6vw,10px);stroke-linecap:round;position:absolute;bottom:-.1em;left:-3%;overflow:visible}.stroke__svg path{vector-effect:non-scaling-stroke}.manifest{grid-template-columns:minmax(0,2.3fr) minmax(0,1fr);align-items:end;gap:26px clamp(32px,5vw,80px);display:grid}.manifest .label{grid-column:1/-1;justify-self:start}.manifest__text{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.7rem,1rem + 2.5vw,3.3rem);font-weight:520;line-height:1.12}.manifest__note{color:var(--ink-2);max-width:34ch;padding-bottom:.5em}.services{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,4.4vw,68px) clamp(20px,2.8vw,44px);display:grid}.svc{flex-direction:column;gap:22px;display:flex}.svc__media{border-radius:var(--radius);aspect-ratio:4/3;background:var(--paper-2);margin:0;overflow:hidden}.svc__media img{object-fit:cover;width:100%;height:100%}.svc__body{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px 18px;display:grid}.svc__no{color:var(--amber-ink);grid-row:1/span 3;font-size:1.55rem;line-height:1.35}.svc__title{font-size:var(--fs-h3);grid-column:2}.svc__text{color:var(--ink-2);grid-column:2;max-width:46ch}.svc .tags{grid-column:2;margin-top:8px}.services-rows .services{grid-template-columns:minmax(0,1fr);gap:clamp(48px,7vw,110px)}.services-rows .svc{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,80px);display:grid}.services-rows .svc:nth-child(2n) .svc__media{order:2}.services-rows .svc__title{font-size:clamp(1.8rem,1.2rem + 2vw,3rem)}.projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.8vw,44px);display:grid}.proj{flex-direction:column;gap:22px;display:flex}.proj__media{border-radius:var(--radius);aspect-ratio:16/10;background:var(--paper-2);box-shadow:0 0 0 1px var(--line);margin:0;overflow:hidden}.proj__media img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--ease-out)}.proj:hover .proj__media img,.proj:focus-visible .proj__media img{transform:scale(1.03)}.proj__body{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.proj__title{font-size:var(--fs-h3)}.proj__text{color:var(--ink-2);max-width:44ch}.proj__body .link{margin-top:6px}.about{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(28px,6vw,100px);display:grid}.about__portrait{aspect-ratio:4/5;border-radius:999px 999px var(--radius) var(--radius);background:var(--paper-3);justify-self:center;width:100%;max-width:420px;margin:0;overflow:hidden}.about__portrait img{object-fit:cover;object-position:50% 20%;width:100%;height:100%}.about__body{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.about__title{font-size:var(--fs-h2)}.about__text{color:var(--ink-2);max-width:54ch}.cv{border-top:1px solid var(--line);width:100%;margin-block:8px}.cv__row{border-bottom:1px solid var(--line);grid-template-columns:132px minmax(0,1fr);align-items:baseline;gap:16px;padding:13px 0;display:grid}.cv__k{color:var(--ink-3);letter-spacing:.09em;text-transform:uppercase;font-size:.8rem;font-weight:650}.cv__t{font-weight:520}.contact{align-items:start;min-height:100svh;padding-top:clamp(72px,13vh,140px);padding-bottom:clamp(120px,20vh,220px)}.contact__inner{flex-direction:column;align-items:flex-start;gap:20px;display:flex}.contact__title{font-size:var(--fs-display);letter-spacing:-.045em;max-width:7em;font-weight:640;line-height:.95}.contact__title span{display:block}.contact__text{font-size:var(--fs-lead);max-width:33ch;font-weight:500;line-height:1.42}.contact__actions{flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:8px;display:flex}.contact__mail{font-size:var(--fs-lead);background:linear-gradient(var(--ink), var(--ink)) 0 100% / 100% 2px no-repeat;padding-block:2px;font-weight:600}.contact__mail:hover{background-image:linear-gradient(var(--amber), var(--amber));background-size:100% .45em}@media (max-width:900px){.manifest,.about{grid-template-columns:minmax(0,1fr)}.about__portrait{justify-self:start;max-width:300px}.services-rows .svc{grid-template-columns:minmax(0,1fr);gap:22px}.services-rows .svc:nth-child(2n) .svc__media{order:0}}@media (max-width:760px){.hero{padding-top:calc(var(--nav-h) + 22px)}.hero__title,.contact__title{font-size:clamp(2.7rem,13vw,4rem)}.hero__sub,.contact__text{max-width:28ch}.services,.projects,.svc__body{grid-template-columns:minmax(0,1fr)}.svc__no{grid-row:auto}.svc__title,.svc__text,.svc .tags{grid-column:1}.cv__row{grid-template-columns:minmax(0,1fr);gap:2px}.contact{padding-top:56px}}
