:root{color-scheme:light;--greige: #f3f1ec;--paper: #faf8f4;--ink: #1c1a17;--ink-soft: #4a443c;--ink-faint: #6f675a;--gold: #a6760a;--gold-ink: #8a6208;--gold-soft: #c79a3e;--line: rgba(28, 26, 23, .12);--gold-line: rgba(166, 118, 10, .35);--gold-line-hover: rgba(166, 118, 10, .4);--gold-wash: rgba(166, 118, 10, .06);--gold-wash-strong: rgba(166, 118, 10, .07);--wash-neutral: rgba(74, 68, 60, .06);--shadow-card: 0 18px 40px -24px rgba(28, 26, 23, .4);--shadow-soft: 0 30px 60px -40px rgba(28, 26, 23, .5);--nav-bar-bg: rgba(250, 248, 244, .85);--panel-bg: rgba(250, 248, 244, .97);--chip-bg: rgba(250, 248, 244, .7);--map-filter: grayscale(1) contrast(.92) sepia(.14) brightness(1.03);--on-media: #faf8f4;--on-media-ink: #1c1a17;--on-media-line: rgba(250, 248, 244, .55);--on-media-faint: rgba(250, 248, 244, .66);--on-media-body: rgba(250, 248, 244, .92);--media-bg: #14120f;--serif: "Fraunces", Georgia, "Times New Roman", serif;--sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--nav-h: 76px;--ease: cubic-bezier(.22, 1, .36, 1);--gut: clamp(1.25rem, 5vw, 5rem)}:root[data-theme=dark]{color-scheme:dark;--greige: #121110;--paper: #1b1917;--ink: #f2eee6;--ink-soft: #c5bdae;--ink-faint: #a09788;--gold: #d8a648;--gold-ink: #d8a648;--gold-soft: #e5bd72;--line: rgba(242, 238, 230, .14);--gold-line: rgba(216, 166, 72, .38);--gold-line-hover: rgba(216, 166, 72, .5);--gold-wash: rgba(216, 166, 72, .07);--gold-wash-strong: rgba(216, 166, 72, .08);--wash-neutral: rgba(197, 189, 174, .05);--shadow-card: 0 18px 40px -24px rgba(0, 0, 0, .75);--shadow-soft: 0 30px 60px -40px rgba(0, 0, 0, .8);--nav-bar-bg: rgba(18, 17, 16, .82);--panel-bg: rgba(18, 17, 16, .97);--chip-bg: rgba(20, 19, 17, .72);--map-filter: grayscale(1) invert(.9) contrast(.92) brightness(.92) sepia(.12)}html.theme-anim,html.theme-anim *,html.theme-anim *:before,html.theme-anim *:after{transition:background-color .32s var(--ease),border-color .32s var(--ease),color .32s var(--ease),fill .32s var(--ease)!important}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}body{margin:0;background:var(--greige);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.not-ready,body.is-locked{overflow:hidden}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;background:var(--greige);transition:opacity .7s var(--ease),visibility .7s var(--ease)}.loader__mark{font-family:var(--serif);font-size:clamp(1.6rem,4vw,2.4rem);letter-spacing:.04em;color:var(--ink);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.35}50%{opacity:.9}}body.is-ready .loader{opacity:0;visibility:hidden}.nav-scrim{position:fixed;inset:0 0 auto 0;z-index:90;height:150px;background:linear-gradient(to bottom,rgba(10,10,10,.45),transparent);pointer-events:none;opacity:1;transition:opacity .35s var(--ease)}body.nav-ink .nav-scrim{opacity:0}.nav{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:0 var(--gut);color:var(--on-media);text-shadow:0 1px 2px rgba(0,0,0,.35);transition:color .35s var(--ease),text-shadow .35s var(--ease),transform .3s var(--ease)}.nav:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--nav-bar-bg);-webkit-backdrop-filter:blur(12px) saturate(1.05);backdrop-filter:blur(12px) saturate(1.05);border-bottom:1px solid var(--line);opacity:0;transition:opacity .35s var(--ease);pointer-events:none}body.nav-ink .nav{color:var(--ink);text-shadow:none}body.nav-ink .nav:before{opacity:1}body.nav-hidden .nav{transform:translateY(-100%)}body.reduced .nav{transform:none!important}.nav__brand{display:flex;align-items:baseline;gap:.7rem}.nav__logo{font-family:var(--serif);font-size:clamp(1rem,3.9vw,1.5rem);font-weight:500;letter-spacing:.01em;white-space:nowrap}.nav__tag{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;opacity:.75}.nav__links{display:flex;gap:clamp(1rem,3vw,2.4rem);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}.nav__links a{position:relative;padding-bottom:3px}.nav__links a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;transition:width .4s var(--ease)}.nav__links a:hover:after{width:100%}.lang{display:flex;align-items:center;flex:none;gap:.35rem;font-size:.8rem;letter-spacing:.1em}.lang__btn{background:none;border:0;color:inherit;font:inherit;letter-spacing:inherit;padding:.2rem .1rem;cursor:pointer;opacity:.72;transition:opacity .3s var(--ease)}.lang__btn.is-active{opacity:1;text-decoration:underline;text-underline-offset:4px}.lang__sep{opacity:.7}.themetog{display:grid;place-items:center;flex:none;width:34px;height:34px;margin:0 0 0 .9rem;padding:0;border:1px solid transparent;border-radius:50%;background:none;color:inherit;cursor:pointer;opacity:.82;transition:opacity .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease)}.themetog:hover{opacity:1;border-color:var(--line)}body.nav-ink .themetog:hover{background:var(--gold-wash)}.themetog svg{width:17px;height:17px}.themetog .themetog__moon{display:block}.themetog .themetog__sun{display:none}:root[data-theme=dark] .themetog .themetog__moon{display:none}:root[data-theme=dark] .themetog .themetog__sun{display:block}main{position:relative;z-index:1}.hero{position:relative;height:100svh;min-height:560px;overflow:hidden;background:var(--media-bg)}.hero__media{position:absolute;top:0;right:0;bottom:0;left:0}.hero.is-ended .hero__media{cursor:pointer}.hero__poster,.hero__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero__poster{z-index:1}.hero__video{z-index:2;opacity:0;transition:opacity .9s var(--ease)}.hero.is-playable .hero__video{opacity:1}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,#12100d00,#12100d00 46%,#12100d99)}.hero__inner{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(6.5rem,12vh,8rem);z-index:4;max-width:min(94%,960px);color:var(--on-media)}.hero__title{margin:0;font-family:var(--serif);font-weight:400;font-optical-sizing:auto;font-size:clamp(2.7rem,7.4vw,6rem);line-height:.98;letter-spacing:-.018em;text-wrap:balance;text-shadow:0 2px 44px rgba(0,0,0,.4)}.hero__sub{margin:1.3rem 0 0;font-size:clamp(1rem,1.7vw,1.25rem);letter-spacing:.01em;color:var(--on-media-body);max-width:46ch;text-shadow:0 1px 20px rgba(0,0,0,.35)}.hero__cred{margin:.9rem 0 0;font-size:clamp(.72rem,1.05vw,.84rem);letter-spacing:.05em;color:var(--on-media-faint);text-shadow:0 1px 16px rgba(0,0,0,.35)}.hero__cta{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.7rem;padding:.9rem 1.8rem;border:1px solid var(--on-media-line);border-radius:100px;color:var(--on-media);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease)}.hero__cta:after{content:"→";transition:transform .4s var(--ease)}.hero__cta:hover{background:var(--on-media);color:var(--on-media-ink);border-color:var(--on-media)}.hero__cta:hover:after{transform:translate(4px)}.hero__replay{position:absolute;top:calc(var(--nav-h) + .75rem);right:var(--gut);z-index:5;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(250,248,244,.5);background:#12100d47;color:var(--on-media);cursor:pointer;opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity .5s var(--ease),background .3s var(--ease)}.hero.is-ended .hero__replay{opacity:.85}.hero__replay:hover{background:#12100d80;opacity:1}.hero__replay-icon{font-size:1.15rem;line-height:1}.hero__scroll{position:absolute;left:50%;bottom:1.5rem;transform:translate(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:calc(100vw - 2 * var(--gut));color:var(--on-media);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;text-align:center;text-shadow:0 1px 16px rgba(0,0,0,.4);transition:opacity .5s var(--ease)}.hero__scroll>span{line-height:1.3}.hero__scroll.is-hidden{opacity:0}.hero__scroll-line{width:1px;height:40px;background:linear-gradient(var(--on-media),transparent);animation:drip 1.9s ease-in-out infinite;transform-origin:top}@keyframes drip{0%{transform:scaleY(.2);opacity:.3}50%{transform:scaleY(1);opacity:1}to{transform:scaleY(.2);opacity:.3}}@media (max-width: 620px){.hero__inner{bottom:clamp(7.5rem,14vh,9rem)}.hero__scroll{bottom:1.2rem;font-size:.6rem;letter-spacing:.18em}.hero__scroll-line{height:34px}}.ambient{position:relative;height:clamp(420px,74svh,760px);overflow:hidden;background:var(--media-bg)}.ambient__media{position:absolute;top:-8%;right:0;bottom:-8%;left:0;will-change:transform}.ambient__poster,.ambient__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.ambient__poster{z-index:1}.ambient__video{z-index:2;opacity:0;transition:opacity .9s var(--ease)}.ambient__video.is-playable{opacity:1}.ambient__cap{position:absolute;left:var(--gut);bottom:clamp(2rem,7vh,4.5rem);z-index:3;color:var(--on-media);display:flex;flex-direction:column;gap:.5rem}.ambient:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:linear-gradient(0deg,#12100d6b,#12100d00 40%)}.ambient:not([aria-hidden=false]):after{opacity:.5}.ambient__eyebrow{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-soft);text-shadow:0 1px 10px rgba(0,0,0,.4)}.ambient__line{font-family:var(--serif);font-size:clamp(1.6rem,3.6vw,2.8rem);line-height:1.05;letter-spacing:-.01em;text-shadow:0 2px 30px rgba(0,0,0,.4);max-width:22ch}.alive-bg{position:absolute;top:-10%;right:0;bottom:-10%;left:0;z-index:0;overflow:hidden;pointer-events:none;color:var(--ink)}.alive-bg svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.055}.alive-bg--material .alive-bg__tex{position:absolute;top:-12%;right:-12%;bottom:-12%;left:-12%;width:124%;height:124%;object-fit:cover;opacity:.09;filter:blur(26px) saturate(.85);transform:scale(1.15)}.alive-bg--material .alive-bg__wash{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(48% 42% at 24% 36%,var(--gold-wash-strong),transparent 70%),radial-gradient(40% 46% at 78% 64%,var(--wash-neutral),transparent 70%)}.interlude,.cta{overflow:hidden}.interlude__inner{position:relative;z-index:1}.hstrip{position:relative;z-index:1;overflow:hidden;margin:clamp(2.5rem,7vh,4.5rem) 0 0}.hstrip__track{display:flex;gap:clamp(.8rem,2vw,1.6rem);width:max-content;will-change:transform;padding:0 var(--gut)}.hstrip__track img{height:clamp(180px,30vh,300px);width:auto;display:block}.catgrid{position:relative;z-index:1;max-width:1320px;margin:clamp(2.5rem,7vh,4.5rem) auto 0;padding:0 var(--gut);display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(1.4rem,3vw,2.4rem)}.catcard{display:flex;flex-direction:column;color:inherit;border:1px solid var(--line);border-radius:4px;background:var(--paper);overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease)}.catcard:hover,.catcard:focus-visible{transform:translateY(-4px);border-color:var(--gold-line-hover);box-shadow:var(--shadow-card)}.catcard__cover{position:relative;aspect-ratio:16 / 10;padding:clamp(1.4rem,2.4vw,2rem);display:flex;flex-direction:column;justify-content:flex-end;gap:.7rem;background:radial-gradient(120% 90% at 15% 0%,var(--gold-wash),transparent 60%),var(--greige);border-bottom:1px solid var(--line)}.catcard__doc{position:absolute;top:clamp(1rem,2vw,1.4rem);right:clamp(1rem,2vw,1.4rem);font-size:.62rem;letter-spacing:.22em;color:var(--gold-ink);border:1px solid var(--gold-line);border-radius:100px;padding:.25rem .6rem}.catcard__cat{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint)}.catcard__title{font-family:var(--serif);font-weight:400;font-optical-sizing:auto;font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1.05;letter-spacing:-.01em;color:var(--ink);text-wrap:balance}.catcard__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem clamp(1.4rem,2.4vw,2rem)}.catcard__dl{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}.catcard__dl:after{content:"↓";transition:transform .4s var(--ease)}.catcard:hover .catcard__dl:after{transform:translateY(3px)}.catcard__size{font-size:.72rem;color:var(--ink-faint);letter-spacing:.04em;white-space:nowrap}.interlude{position:relative;z-index:1;background:var(--greige);padding:clamp(6rem,17vh,12rem) var(--gut)}.interlude__inner{max-width:1120px;margin-inline:auto}.interlude__eyebrow,.projects__eyebrow{margin:0 0 1.2rem;font-size:.76rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-ink)}.interlude__title{margin:0;font-family:var(--serif);font-weight:400;font-optical-sizing:auto;font-size:clamp(2rem,5.2vw,3.8rem);line-height:1.05;letter-spacing:-.015em;max-width:20ch;text-wrap:balance}.interlude__body{margin:1.6rem 0 0;font-size:clamp(1.02rem,1.5vw,1.2rem);color:var(--ink-soft);max-width:56ch}.studio__grid{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:clamp(2.5rem,6vw,5rem)}.studio__lead{min-width:0}.studio__stat{display:flex;align-items:baseline;gap:1rem;margin-top:clamp(2.2rem,5vh,3.4rem);padding-top:1.8rem;border-top:1px solid var(--line)}.studio__num{font-family:var(--serif);font-weight:400;font-optical-sizing:auto;font-size:clamp(3.2rem,7vw,5rem);line-height:.9;color:var(--ink)}.studio__stat-label{font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);max-width:8ch}.studio__media{margin:0;border-radius:4px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.studio__media img{display:block;width:100%;height:100%;object-fit:cover}@media (max-width: 820px){.studio__grid{grid-template-columns:1fr;gap:clamp(2rem,6vh,3rem)}.studio__media{order:-1;max-height:56svh}}.projects{position:relative;z-index:1;background:var(--paper);padding:clamp(5rem,14vh,10rem) var(--gut) clamp(6rem,16vh,12rem)}.projects__head{padding:0 0 clamp(2.5rem,6vh,4.5rem)}.projects__head .interlude__inner{max-width:1320px}.projects__title{margin:0;font-family:var(--serif);font-weight:400;font-optical-sizing:auto;font-size:clamp(2.2rem,5.6vw,4rem);line-height:1.02;letter-spacing:-.018em}.gallery{max-width:1320px;margin-inline:auto}.project+.project{margin-top:clamp(2.2rem,5vw,4rem)}.project{display:block;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.project__media{display:block;position:relative;overflow:hidden;height:clamp(280px,46vh,480px);background:var(--greige);transition:transform .7s var(--ease)}.project:hover .project__media,.project:focus-visible .project__media{transform:scale(1.015)}.project__strip{display:flex;height:100%;will-change:transform}.project__strip img{flex:0 0 100%;width:100%;height:100%;object-fit:cover}.project.is-stepped .project__strip{transform:translate(calc(var(--frame, 0) * -100%));transition:transform .62s var(--ease)}.project__view{position:absolute;left:1rem;bottom:1rem;z-index:2;padding:.5rem 1.05rem;border-radius:100px;background:#faf8f4d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--on-media-ink);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:0;transform:translateY(14px);transition:opacity .45s var(--ease),transform .45s var(--ease)}.project:hover .project__view,.project:focus-visible .project__view{opacity:1;transform:none}.project__meta{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:1.1rem;padding-bottom:.4rem;border-bottom:1px solid transparent;transition:border-color .5s var(--ease)}.project:hover .project__meta,.project:focus-visible .project__meta{border-color:var(--line)}.project__title{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.7rem);letter-spacing:-.01em}.project__sub{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap}.pdetail{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:var(--paper);opacity:0;transition:opacity .4s var(--ease)}.pdetail.is-open{opacity:1}.pdetail__scroll{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;outline:none;-webkit-overflow-scrolling:touch}.pdetail__close{position:fixed;top:clamp(1rem,3vw,1.6rem);right:clamp(1rem,3vw,1.6rem);z-index:4;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--chip-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink);font-size:1rem;cursor:pointer;transition:background .3s var(--ease)}.pdetail__close:hover{background:var(--greige)}.pdetail__head{max-width:780px;margin:0 auto;padding:clamp(6rem,16vh,10rem) var(--gut) clamp(2.5rem,7vh,5rem)}.pdetail__meta{margin:0 0 1rem;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink)}.pdetail__title{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,6vw,4.4rem);line-height:1.02;letter-spacing:-.02em}.pdetail__blurb{margin:1.6rem 0 0;font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--ink-soft);max-width:54ch}.pdetail__seq{display:flex;flex-direction:column;gap:clamp(.5rem,2vw,1.5rem);padding-bottom:clamp(4rem,12vh,8rem)}.pdetail__frame{margin:0;overflow:hidden}.pdetail__frame img{width:100%;height:auto;max-height:92svh;object-fit:cover}.pdetail__pano{position:relative;height:clamp(420px,72svh,780px);background:var(--media-bg);overflow:hidden}.pdetail__pano-stage{position:absolute;top:0;right:0;bottom:0;left:0;cursor:grab}.pdetail__pano-stage:active{cursor:grabbing}.pdetail__pano-stage canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity .9s var(--ease)}.pdetail__pano-stage.is-loaded canvas{opacity:1}.pdetail__pano-badge{position:absolute;top:1.1rem;left:1.1rem;z-index:2;pointer-events:none;padding:.5rem 1.05rem;border-radius:100px;border:1px solid rgba(250,248,244,.35);background:#12100d9e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--on-media);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}.pdetail__pano-hint{position:absolute;left:50%;top:1.1rem;transform:translate(-50%);z-index:2;pointer-events:none;margin:0;padding:.5rem 1.05rem;border-radius:100px;border:1px solid rgba(250,248,244,.35);background:#12100d9e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--on-media);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;transition:opacity .6s var(--ease)}@media (max-width: 640px){.pdetail__pano-hint{top:4.4rem}}.pdetail__pano-stage.is-touched~.pdetail__pano-hint{opacity:0}.pdetail__pano-rooms{position:absolute;left:50%;bottom:1.1rem;transform:translate(-50%);z-index:2;display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;max-width:calc(100% - 2rem)}.pdetail__pano-room{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:.5rem 1.05rem;border-radius:100px;border:1px solid rgba(250,248,244,.35);background:#12100d9e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--on-media);font-family:var(--sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}.pdetail__pano-room:hover{border-color:#faf8f4b3}.pdetail__pano-room.is-active{background:#faf8f4eb;border-color:#faf8f4eb;color:var(--on-media-ink);cursor:default}.pdetail__tabs[hidden]{display:none}.pdetail__tabs{position:sticky;top:0;z-index:3;display:flex;justify-content:center;gap:clamp(1.5rem,5vw,3.5rem);padding:0 var(--gut);background:var(--nav-bar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.pdetail__tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:1.05rem .2rem .95rem;font-family:var(--sans);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .3s var(--ease),border-color .3s var(--ease)}.pdetail__tab:hover{color:var(--ink)}.pdetail__tab.is-active{color:var(--ink);border-bottom-color:var(--gold)}.pdetail__panel{display:flex;flex-direction:column;gap:clamp(.5rem,2vw,1.5rem)}.pdetail__panel[hidden]{display:none}body.motion .pdetail__panel{animation:pdetail-panel-in .55s var(--ease) both}@keyframes pdetail-panel-in{0%{opacity:0}to{opacity:1}}.pdetail__sketch{margin:0;background:var(--wash-neutral);padding:clamp(1rem,3.5vw,2.75rem)}.pdetail__sketch-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;place-items:center;width:100%;min-height:clamp(240px,42svh,520px);max-height:88svh;border:0;padding:0;background:none;cursor:zoom-in}.pdetail__sketch-btn img{display:block;margin:0 auto;max-width:100%;max-height:88svh;width:auto;height:auto;box-shadow:var(--shadow-card)}.pdetail__sketch.is-zoomed .pdetail__sketch-btn{display:block;overflow:auto;cursor:zoom-out;-webkit-overflow-scrolling:touch}.pdetail__sketch.is-zoomed .pdetail__sketch-btn img{max-width:none;max-height:none;margin:0}.nojs-gallery{display:grid;gap:2px}.nojs-gallery figure{position:relative;margin:0}.nojs-gallery img{width:100%;height:80svh;object-fit:cover}.nojs-gallery figcaption{position:absolute;left:var(--gut);bottom:clamp(2rem,8vh,5rem);color:var(--on-media);font-family:var(--serif);font-size:clamp(1.6rem,4.5vw,3rem);text-shadow:0 2px 30px rgba(0,0,0,.5)}.reviews{position:relative;z-index:1;background:var(--greige);padding:clamp(5.5rem,15vh,10rem) var(--gut) clamp(6rem,16vh,11rem);border-top:1px solid var(--line)}.reviews__eyebrow{margin:0 0 1.2rem;font-size:.76rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-ink)}.reviews__title{margin:0;font-family:var(--serif);font-weight:400;font-optical-sizing:auto;font-size:clamp(2rem,5.2vw,3.6rem);line-height:1.04;letter-spacing:-.018em;max-width:22ch;text-wrap:balance}.reviews__agg{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;margin:1.7rem 0 0;font-size:.92rem;color:var(--ink-soft)}.reviews__aggtext{letter-spacing:.02em}.reviews__link{position:relative;color:var(--gold-ink);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;padding-bottom:2px;border-bottom:1px solid var(--gold-line);transition:border-color .35s var(--ease)}.reviews__link:hover{border-bottom-color:var(--gold-line-hover)}.reviews__link:after{content:" ↗";font-size:.9em}.stars{display:inline-flex;gap:.12em;font-size:.95rem;line-height:1;letter-spacing:0;white-space:nowrap}.stars i{font-style:normal;color:var(--gold)}.stars i[data-off]{color:var(--line)}.reviews__grid{position:relative;z-index:1;max-width:1120px;margin:clamp(2.8rem,8vh,4.5rem) auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.6rem,3.4vw,2.8rem)}@media (max-width: 760px){.reviews__grid{grid-template-columns:minmax(0,1fr)}}.review{position:relative;display:flex;flex-direction:column;gap:1.1rem;margin:0;padding:clamp(1.6rem,3vw,2.2rem) clamp(1.5rem,2.6vw,2rem);background:var(--paper);border:1px solid var(--line);border-left:2px solid var(--gold-line);border-radius:3px}.review__text{margin:0;font-family:var(--serif);font-weight:400;font-optical-sizing:auto;font-size:clamp(1.02rem,1.35vw,1.16rem);line-height:1.5;letter-spacing:-.004em;color:var(--ink);text-wrap:pretty}.review__text:before{content:"„";color:var(--gold-ink);margin-right:.08em}.review__text:after{content:"“";color:var(--gold-ink);margin-left:.06em}.review__by{display:flex;align-items:baseline;flex-wrap:wrap;gap:.3rem .8rem;margin-top:auto;padding-top:.9rem;border-top:1px solid var(--line)}.review__author{font-size:.86rem;letter-spacing:.04em;color:var(--ink)}.review__date{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}.review.is-todo{border-left-color:var(--line);border-style:dashed}.review__todo{position:absolute;top:0;right:clamp(1.5rem,2.6vw,2rem);transform:translateY(-50%);padding:.2rem .6rem;border-radius:100px;background:var(--greige);border:1px dashed var(--gold-line);color:var(--gold-ink);font-size:.6rem;letter-spacing:.18em}.cta{position:relative;z-index:1;background:var(--greige);padding:clamp(6rem,16vh,12rem) var(--gut);border-top:1px solid var(--line)}.cta__eyebrow{margin:0 0 1.2rem;font-size:.76rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-ink)}.cta__title{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,6vw,4.4rem);line-height:1.02;letter-spacing:-.018em;max-width:18ch}.cta__text{margin:1.6rem 0 2.6rem;font-size:1.1rem;color:var(--ink-soft);max-width:52ch}.cta__btn{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.9rem;border:1px solid var(--ink);border-radius:100px;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;transition:background .4s var(--ease),color .4s var(--ease)}.cta__btn:after{content:"→";transition:transform .4s var(--ease)}.cta__btn:hover{background:var(--ink);color:var(--paper)}.cta__btn:hover:after{transform:translate(4px)}.cta__contacts{margin:2.4rem 0 0;font-size:.92rem;color:var(--ink-faint);display:flex;flex-wrap:wrap;gap:.4rem .8rem}.cta__contacts a{color:var(--ink-soft);transition:color .3s var(--ease)}.cta__contacts a:hover{color:var(--gold-ink)}.interlude__btn{margin-top:2.2rem}.cta__act{margin-top:clamp(3rem,9vh,7rem)}.cta__map{position:relative;z-index:1;margin:clamp(3.5rem,10vh,7rem) calc(-1 * var(--gut)) 0;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cta__map iframe{display:block;width:100%;height:clamp(320px,46vh,560px);border:0;filter:var(--map-filter)}.cta__maplink{position:absolute;right:clamp(1rem,3vw,1.8rem);bottom:clamp(1rem,3vw,1.8rem);z-index:2;padding:.6rem 1.1rem;border-radius:100px;border:1px solid var(--line);background:var(--nav-bar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;transition:border-color .35s var(--ease),background .35s var(--ease)}.cta__maplink:after{content:" ↗";font-size:.9em;opacity:.8}.cta__maplink:hover{border-color:var(--gold-line-hover);background:var(--paper)}.foot{position:relative;z-index:1;background:var(--greige);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem 3rem;padding:3rem var(--gut) 3.4rem;border-top:1px solid var(--line);font-size:.85rem;color:var(--ink-faint)}.foot__col{display:flex;flex-direction:column;gap:.5rem}.foot__social{flex-direction:row;gap:1rem;justify-self:start}.foot__social a{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;color:var(--ink-soft);transition:color .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease)}.foot__social a:hover{color:var(--paper);background:var(--ink);border-color:var(--ink)}.foot__social svg{width:17px;height:17px}.foot__center{justify-self:center;text-align:center;gap:.35rem}.foot__brand{font-family:var(--serif);color:var(--ink);font-size:1.2rem;letter-spacing:.01em}.foot__contact{justify-self:end;text-align:right}.foot__col a{color:var(--ink-soft);transition:color .3s var(--ease)}.foot__contact a:hover{color:var(--gold-ink)}a.foot__credit{font-size:.72rem;letter-spacing:.02em;color:var(--ink-faint)}.foot__credit:hover{color:var(--gold-ink)}@media (max-width: 720px){.foot{grid-template-columns:1fr;justify-items:center;text-align:center;gap:1.6rem}.foot__social,.foot__center{justify-self:center}.foot__contact{justify-self:center;text-align:center}}.cform{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:grid;place-items:center;padding:clamp(.75rem,3vh,2.5rem) clamp(.75rem,3vw,2rem);opacity:0;transition:opacity .35s var(--ease)}.cform[hidden]{display:none}.cform.is-open{opacity:1}.cform__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a09089e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cform__panel{position:relative;display:flex;flex-direction:column;width:min(100%,780px);max-height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:clamp(1.5rem,3.4vw,2.3rem) clamp(1.25rem,4vw,3.4rem) clamp(1.75rem,4vw,2.6rem);background:var(--paper);border:1px solid var(--line);border-radius:4px;box-shadow:var(--shadow-soft);transform:translateY(14px) scale(.99);transition:transform .4s var(--ease)}.cform.is-open .cform__panel{transform:none}.cform__close{position:sticky;top:0;align-self:flex-end;flex:0 0 auto;z-index:2;display:grid;place-items:center;width:40px;height:40px;margin:-.4rem -.4rem .2rem 0;border-radius:50%;border:1px solid var(--line);background:var(--chip-bg);color:var(--ink);font-size:.95rem;cursor:pointer;transition:background .3s var(--ease),border-color .3s var(--ease)}.cform__close:hover{background:var(--greige);border-color:var(--gold-line-hover)}.cform__eyebrow{margin:0 0 .9rem;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-ink)}.cform__title{margin:0;font-family:var(--serif);font-weight:400;font-optical-sizing:auto;font-size:clamp(1.7rem,4.2vw,2.5rem);line-height:1.06;letter-spacing:-.018em;color:var(--ink)}.cform__intro{margin:.8rem 0 0;font-size:.95rem;color:var(--ink-soft);max-width:48ch}.cform__form{margin-top:clamp(1.3rem,3vh,1.8rem)}.cform__pot{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cform__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.9rem,2vw,1.15rem)}.cform__field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem .6rem;margin:0;min-width:0}.cform__field--wide{grid-column:1 / -1}.cform__field label{grid-column:1;align-self:baseline;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}.cform__req,.cform__opt{grid-column:2;justify-self:end;align-self:baseline}.cform__req{color:var(--gold-ink);font-size:.9rem;line-height:1}.cform__opt{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.cform__field input,.cform__field select,.cform__field textarea{grid-column:1 / -1;width:100%;padding:.72rem .85rem;border:1px solid var(--line);border-radius:3px;background:var(--greige);color:var(--ink);font-family:var(--sans);font-size:.95rem;line-height:1.45;transition:border-color .3s var(--ease),background .3s var(--ease)}.cform__field textarea{resize:vertical;min-height:5.5rem}.cform__field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.2rem;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:right 1.05rem center,right .75rem center;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}.cform__field input::placeholder,.cform__field textarea::placeholder{color:var(--ink-faint);opacity:.8}.cform__field input:hover,.cform__field select:hover,.cform__field textarea:hover{border-color:var(--gold-line)}.cform__field input:focus-visible,.cform__field select:focus-visible,.cform__field textarea:focus-visible{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold-line-hover);background:var(--paper)}.cform__form.was-submitted :invalid{border-color:#c0562e}.cform__captcha{display:flex;flex-direction:column;gap:.45rem;margin-top:clamp(1rem,2.4vw,1.35rem)}.cform__captcha-label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}.cform__captcha-box{position:relative;min-height:65px;display:flex;align-items:center}.cform__captcha-test[hidden]{display:none}.cform__captcha-test{display:grid;place-items:center;width:100%;min-height:65px;border:1px dashed var(--gold-line);border-radius:3px;background:var(--gold-wash);color:var(--gold-ink);font-size:.64rem;letter-spacing:.18em;text-align:center}.cform__captcha-box iframe{color-scheme:normal;border-radius:3px}.cform__captcha-box:empty{border:1px dashed var(--line);border-radius:3px}.cform__captcha-note{font-size:.68rem;letter-spacing:.04em;color:var(--ink-faint)}.cform__act{display:flex;flex-direction:column;gap:1rem;margin-top:clamp(1.3rem,3vh,1.8rem)}.cform__submit{align-self:flex-start;display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.9rem;border:1px solid var(--ink);border-radius:100px;background:none;color:var(--ink);font-family:var(--sans);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .4s var(--ease),color .4s var(--ease),opacity .3s var(--ease)}.cform__submit:after{content:"→";transition:transform .4s var(--ease)}.cform__submit:hover:not(:disabled){background:var(--ink);color:var(--paper)}.cform__submit:hover:not(:disabled):after{transform:translate(4px)}.cform__submit:disabled{opacity:.55;cursor:progress}.cform__form.is-sending .cform__submit:after{content:"";width:.72em;height:.72em;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:cformspin .8s linear infinite}@keyframes cformspin{to{transform:rotate(360deg)}}.cform__err{margin:0;padding:.9rem 1.05rem;border:1px solid var(--gold-line);border-left:2px solid #c0562e;border-radius:3px;background:var(--wash-neutral);font-size:.88rem;color:var(--ink-soft)}.cform__err strong{display:block;margin-bottom:.2rem;color:var(--ink);font-weight:500}.cform__err a{color:var(--gold-ink);border-bottom:1px solid var(--gold-line)}.cform__done{text-align:center;padding:clamp(1rem,4vh,2.5rem) 0 0}.cform__done .cform__intro{margin-inline:auto;margin-top:1.1rem}.cform__done .cform__submit{align-self:center;margin-top:clamp(1.6rem,4vh,2.2rem)}.cform__done-mark{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 1.4rem;border-radius:50%;border:1px solid var(--gold-line);background:var(--gold-wash);color:var(--gold-ink);font-size:1.35rem}@media (max-width: 620px){.cform__grid{grid-template-columns:minmax(0,1fr)}.cform__field input,.cform__field select,.cform__field textarea{font-size:1rem}}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media (max-width: 820px){.gallery{gap:2.5rem}.project__media{height:auto;aspect-ratio:4 / 3}}.nav__ext:before{content:"↗ ";font-size:.9em;opacity:.8}.nav__burger{display:none;position:relative;flex:none;width:40px;height:40px;margin:-8px -8px -8px 0;padding:0;border:0;background:none;color:inherit;cursor:pointer}.nav__burger span{position:absolute;left:9px;right:9px;height:1.5px;background:currentColor;transition:transform .3s var(--ease),opacity .2s var(--ease)}.nav__burger span:nth-child(1){top:14px}.nav__burger span:nth-child(2){top:20px}.nav__burger span:nth-child(3){top:26px}body.nav-open .nav__burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}body.nav-open .nav__burger span:nth-child(2){opacity:0}body.nav-open .nav__burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}@media (max-width: 720px){.nav__tag{display:none}}@media (max-width: 620px){.nav__burger{display:block}.nav{gap:.75rem}.lang{margin-left:auto;margin-right:.6rem}.nav__links{position:fixed;inset:var(--nav-h) 0 auto 0;flex-direction:column;gap:0;background:var(--panel-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:.5rem var(--gut) 1.4rem;font-size:.9rem;color:var(--ink);text-shadow:none;transform:translateY(-12px);opacity:0;visibility:hidden;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s var(--ease)}body.nav-open .nav__links{transform:none;opacity:1;visibility:visible}body.nav-open .nav{color:var(--ink);text-shadow:none}body.nav-open .nav:before{opacity:1}body.nav-open .nav-scrim{opacity:0}.nav__links a{padding:1rem 0;border-bottom:1px solid var(--line);color:var(--ink);text-shadow:none}.nav__links a:last-child{border-bottom:0}.nav__links a:after{display:none}.project__meta{flex-direction:column;gap:.3rem}.project__sub{white-space:normal}}body.reduced .hero__video,body.reduced .ambient__video{display:none}body.reduced .ambient__media{top:0;right:0;bottom:0;left:0;transform:none}body.reduced .hero__replay{display:none}body.reduced .loader__mark,body.reduced .hero__scroll-line,body.reduced .cform__form.is-sending .cform__submit:after{animation:none!important}body.reduced *{transition-duration:.001ms!important}
