:root{--bg:#fffefc;--ink:#000;--photo:#ece8e2;--s:min(100vw / 1440px, 100svh / 900px)}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--bg);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;min-height:100%;margin:0;overflow-x:clip}body{color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Cardo,Times New Roman,serif}a{color:inherit;text-decoration:none}p,ul{margin:0;padding:0}:focus-visible{outline-offset:3px;outline:1px solid #000}.site-header{z-index:35;background:var(--bg);border-bottom:1px solid #00000029;justify-content:space-between;align-items:baseline;gap:24px;padding:20px 28px;display:flex;position:sticky;top:0}.site-name{z-index:2;letter-spacing:-.03em;text-transform:uppercase;white-space:nowrap;font-size:clamp(22px,2.2vw,32px);line-height:1;position:relative}.site-nav{z-index:2;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem 1.35rem;font-size:clamp(18px,1.5vw,22px);display:flex;position:relative}.site-nav-links{flex-wrap:wrap;justify-content:flex-end;gap:.35rem 1.35rem;display:flex}.site-nav button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.menu-toggle{min-width:3.2em;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;line-height:1;display:none}.menu-toggle-stage{place-items:center;display:inline-grid}.menu-toggle-word,.menu-toggle-mark{grid-area:1/1;transition:opacity .25s ease-in-out,transform .25s ease-in-out}.menu-toggle-word.is-in{opacity:1;transform:scale(1)}.menu-toggle-word.is-out{opacity:0;transform:scale(.88)}.menu-toggle-mark{font-size:1.35em;line-height:1}.menu-toggle-mark.is-out{opacity:0;transform:rotate(-90deg)scale(.7)}.menu-toggle-mark.is-in{opacity:1;transform:rotate(0)scale(1)}.menu-panel{display:none}@media (prefers-reduced-motion:reduce){.menu-toggle-word,.menu-toggle-mark{transition:none}}.lang-switch{letter-spacing:-.04em;align-self:center;align-items:center;height:1em;min-height:0;max-height:1em;line-height:1;display:inline-flex;overflow:hidden}@media (hover:hover) and (pointer:fine){.site-nav a:hover,.site-nav button:hover,.site-footer a:hover,.menu-panel a:hover,.menu-panel button:hover{color:#00000073}}.hero{--photo-w:min(calc((100svh - 73px) * 540 / 680), 58vw);background:var(--bg);grid-template-columns:minmax(0,1fr) auto;align-items:stretch;min-height:calc(100svh - 73px);display:grid;position:relative}.hero:before{content:"";z-index:2;background:linear-gradient(to bottom, transparent, var(--bg));pointer-events:none;height:14px;position:absolute;bottom:0;left:0;right:0}.hero:after{content:"";top:0;bottom:0;right:calc(var(--photo-w) - 56px);pointer-events:none;background:linear-gradient(#ebece7 0%,#d1d0c7 48%,#aaa698 100%);width:min(476px,38vw);position:absolute;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#00000014 20%,#00000047 44%,#0000009e 68%,#000 calc(100% - 56px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#00000014 20%,#00000047 44%,#0000009e 68%,#000 calc(100% - 56px),#0000 100%)}.hero-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(32px,6vh,72px) clamp(28px,6vw,88px);display:flex}.hero-actions{flex-wrap:wrap;gap:12px 16px;margin-top:clamp(28px,4vh,44px);display:flex}.hero-cta{color:#fff;letter-spacing:-.02em;cursor:pointer;background:#000;border:1px solid #000;align-items:center;padding:.62em 1.15em;font-family:inherit;font-size:clamp(16px,1.25vw,18px);text-decoration:none;display:inline-flex}.hero-cta:hover{color:#fff;background:#3a3a3a;border-color:#3a3a3a}.hero-cta-line{color:#000;background:0 0}.hero-cta-line:hover{color:#00000073;background:0 0;border-color:#00000073}.hero-copy p{letter-spacing:-.03em;max-width:12em;margin:0;font-size:clamp(32px,3.4vw,52px);line-height:1.08}.hero-filter{width:0;height:0;position:absolute;overflow:hidden}.hero-photo{height:calc(100svh - 73px);width:var(--photo-w);justify-self:end;overflow:hidden}.hero-photo img{object-fit:cover;object-position:left center;filter:url(#hero-sharpen);width:100%;height:100%;display:block}.site-footer{border-top:1px solid #00000029;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding:22px 28px 28px;font-size:16px;display:flex}.site-footer nav{gap:1.25rem;display:flex}.legal{width:min(68ch,100% - 56px);margin:64px auto 96px}.legal h1{letter-spacing:-.03em;font-size:clamp(36px,5vw,56px);font-weight:400}.legal h2{margin-top:1.6rem;font-size:1.35rem;font-weight:400}.legal p{margin-top:.7rem;font-size:1.15rem;line-height:1.45}.legal span{margin-bottom:.15rem;font-size:.85rem;display:block}.legal a{text-underline-offset:.15em}@media (width<=800px){.site-header{align-items:center;gap:12px;padding:14px 16px}.site-name{font-size:16px}.site-nav{flex-wrap:nowrap;gap:.85rem;font-size:15px}.site-nav-links{display:none}.menu-toggle{display:inline-flex}.menu-panel{z-index:1;background:var(--bg);letter-spacing:-.03em;flex-direction:column;justify-content:center;gap:1.1rem;padding:72px 20px 40px;font-size:clamp(32px,9vw,48px);line-height:1.1;display:none;position:fixed;inset:0}.menu-panel.is-open{display:flex}.menu-panel a,.menu-panel button{width:fit-content}.menu-panel button{color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.site-footer{flex-wrap:nowrap;align-items:baseline;gap:10px;padding:12px 16px;font-size:13px}.site-footer p,.site-footer nav{white-space:nowrap}.site-footer nav{gap:.7rem}.hero{--photo-w:min(68vw, 300px);grid-template-columns:1fr;min-height:0}.hero-copy{padding:28px 20px 8px}.hero-photo{aspect-ratio:540/680;justify-self:stretch;width:100%;height:auto;margin-top:24px}.hero-photo img{object-position:center}.hero:after{display:none}}.about-label,.projects-label,.services-label,.closing-label{margin-bottom:calc(28px * var(--s));font-size:min(22px, max(4.2vw, calc(22px * var(--s))));letter-spacing:.02em;text-transform:uppercase;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1.25rem;display:grid}.about-label:after,.projects-label:after,.services-label:after,.closing-label:after{content:"";background:#00000047;height:1px}.about{padding:clamp(96px,14vh,160px) clamp(28px,4vw,48px);scroll-margin-top:24px}.about-sheet{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;column-gap:clamp(22px,2.6vw,40px);display:grid}.about-rule{background:#00000029;width:1px}.about-sheet p{letter-spacing:-.015em;-webkit-hyphens:auto;hyphens:auto;margin:0;font-size:clamp(19px,1.55vw,24px);line-height:1.45}.about-sheet p:first-of-type:first-letter{float:left;letter-spacing:-.04em;margin:.06em .08em 0 0;font-size:3.35em;line-height:.78}.about-sheet button{color:inherit;font:inherit;letter-spacing:inherit;text-underline-offset:.15em;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.about-sheet button:hover{color:#00000073}.cv-card{color:#111;flex-direction:column;align-items:stretch;width:min(560px,100%);max-height:min(82vh,720px);padding:0;font-family:Cardo,Times New Roman,serif;position:relative;overflow:hidden}.cv-body{padding:18px 32px 26px;overflow:auto}.cv-photo{object-fit:cover;object-position:72% 22%;width:100%;height:240px;display:block}.cv-close{z-index:2;color:inherit;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:8px 12px;font-family:inherit;font-size:15px;position:absolute;top:0;right:0}.cv-close:hover{opacity:.45}.cv-name{letter-spacing:-.03em;margin:.2em 0 0;font-size:clamp(32px,4vw,44px);line-height:1}.cv-line{border-top:1px solid #00000029;flex-direction:column;margin:22px 0 0;padding:0;list-style:none;display:flex}.cv-line li{border-bottom:1px solid #00000029;grid-template-columns:6.5em minmax(0,1fr);gap:.15em 1.2em;padding:.9em 0;display:grid}.cv-years{letter-spacing:.04em;grid-row:1/span 2;align-self:start;font-size:13px}.cv-place{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:20px;line-height:1.15}.cv-note{overflow-wrap:anywhere;font-size:15px;line-height:1.3}.cv-foot{border-top:1px solid #00000029;gap:.7em;margin-top:26px;padding-top:18px;display:grid}.cv-foot p{margin:0;font-size:16px;line-height:1.35}.cv-foot span{letter-spacing:.06em;text-transform:uppercase;margin-bottom:.15em;font-size:12px;display:block}@media (width<=720px){.cv-line li{grid-template-columns:5.4em minmax(0,1fr)}}.projects{padding:clamp(96px,14vh,160px) clamp(28px,4vw,48px) clamp(40px,6vh,72px);scroll-margin-top:24px}.services{padding:clamp(96px,14vh,160px) clamp(28px,4vw,48px);scroll-margin-top:24px}.services-lead{letter-spacing:-.03em;max-width:16em;margin:0 0 clamp(40px,6vh,72px);font-size:clamp(28px,3.4vw,48px);line-height:1.12}.services-list{border-top:1px solid #00000047;grid-template-columns:max-content minmax(0,36rem);column-gap:clamp(32px,5vw,80px);margin:0;padding:0;list-style:none;display:grid}.services-list li{grid-template-columns:subgrid;border-bottom:1px solid #00000029;grid-column:1/-1;align-items:baseline;padding:clamp(22px,3.2vh,36px) 0;display:grid}.services-list .services-name{letter-spacing:-.03em;white-space:nowrap;margin:0;font-size:clamp(28px,2.6vw,40px);line-height:1.08}.services-list p{letter-spacing:-.015em;margin:0;font-size:clamp(17px,1.5vw,22px);line-height:1.4}.services-cta{color:#fff;letter-spacing:-.02em;cursor:pointer;background:#000;border:1px solid #000;margin-top:clamp(36px,5vh,64px);padding:.62em 1.15em;font-family:inherit;font-size:clamp(16px,1.25vw,18px)}.services-cta:hover{color:#fff;background:#3a3a3a;border-color:#3a3a3a}.closing{padding:clamp(48px,8vh,96px) clamp(28px,4vw,48px) clamp(88px,12vh,150px)}.closing-lead{letter-spacing:-.03em;white-space:nowrap;margin:0;font-size:clamp(28px,3.4vw,48px);line-height:1.12}.closing a{text-underline-offset:.18em;margin-top:.85em;font-size:clamp(18px,1.6vw,24px);text-decoration:underline;display:inline-block}.closing a:hover{color:#00000073}.closing-note{letter-spacing:-.01em;color:#00000073;margin:.55em 0 0;font-size:clamp(15px,1.25vw,18px);line-height:1.35}@media (width<=800px){.about,.projects,.services,.closing{padding:48px 20px}.about-sheet{grid-template-columns:1fr;row-gap:1.15em}.about-rule{display:none}.about-sheet p+p{border-top:1px solid #00000029;padding-top:1.15em}.services-lead{max-width:none}.closing-lead{font-size:clamp(22px,6.4vw,28px)}.projects-label{font-size:clamp(20px,5.5vw,24px)}.services-list{grid-template-columns:1fr}.services-list li{grid-template-columns:1fr;row-gap:.35rem}.services-list .services-name{white-space:normal}}.projects-main{min-width:0}.projects-swipe .projects-main{max-width:52rem;margin-inline:auto}.projects-controls{justify-content:center;align-items:center;gap:1rem;margin-top:1.25rem;display:flex}.projects-track{list-style:none}.projects:not(.projects-swipe) .projects-track{gap:calc(28px * var(--s));grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.projects-swipe .projects-track{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.projects-swipe .projects-track::-webkit-scrollbar{display:none}.projects-track li{min-width:0}.projects-swipe .projects-track li{scroll-snap-align:start;flex:0 0 100%}.project-preview{aspect-ratio:1.95;object-fit:cover;object-position:center top;background:#ece8e2;width:100%;margin-bottom:.7em;transition:opacity .16s;display:block}.projects a{flex-direction:column;gap:.4em;display:flex}@media (hover:hover) and (pointer:fine){.projects a:hover .project-preview{opacity:.82}.projects a:hover .project-name{text-underline-offset:.14em;text-decoration:underline}}.project-heading{align-items:center;gap:.65em;display:flex}.project-name{letter-spacing:-.02em;min-width:0;font-size:clamp(18px,1.7vw,24px);line-height:1.15}.project-tag{letter-spacing:.08em;text-transform:uppercase;border:1px solid #0006;border-radius:999px;flex:none;align-items:center;padding:.22em .7em;font-size:11px;line-height:1.2;display:inline-flex}.project-note{letter-spacing:-.01em;font-size:clamp(15px,1.35vw,18px);line-height:1.3}.project-host{letter-spacing:.04em;text-transform:uppercase;margin-top:.35em;font-size:clamp(13px,1.15vw,15px)}.projects-index{letter-spacing:-.01em;color:#00000080;text-align:center;margin:0;font-size:16px}.projects-index span{color:#000;margin-left:.75rem}.projects-arrow{width:36px;height:36px;color:inherit;cursor:pointer;background:0 0;border:0;flex-shrink:0;place-items:center;padding:0;display:grid}.projects-arrow svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.projects-arrow:hover:not(:disabled){color:#00000073}.projects-arrow:disabled{opacity:.22;cursor:default}@media (prefers-reduced-motion:reduce){.project-preview{transition:none}}@media (width<=900px){.projects:not(.projects-swipe) .projects-track{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.projects-controls{gap:.75rem}.projects-arrow{width:48px;height:48px}}.sheet{z-index:40;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.sheet:before{content:"";z-index:0;pointer-events:none;-webkit-backdrop-filter:blur(22px)saturate(1.2);backdrop-filter:blur(22px)saturate(1.2);background:#16161866;position:absolute;inset:0}.sheet>*{z-index:1;position:relative}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.sheet:before{background:#1616189e}}.sheet-card{transform-origin:80% 0;background:#f5f5f7f5;border-radius:26px;justify-content:center;align-items:flex-start;gap:22px;padding:26px 30px 20px;animation:.5s cubic-bezier(.16,1,.3,1) sheet-in;display:flex;box-shadow:0 0 0 .5px #0000000f,0 24px 60px #00000038}.sheet-card.connect-card{flex-direction:column;align-items:stretch;gap:0;min-width:min(420px,100vw - 48px);padding:26px 28px 22px}.sheet-card.connect-card:not(.is-ready) .sheet-actions,.sheet-card.connect-card:not(.is-ready) .sheet-details{pointer-events:none}.sheet-actions{justify-content:center;align-items:flex-start;gap:18px;display:flex}.sheet-card.cv-card{gap:0;padding:0;overflow:hidden}.sheet-link{letter-spacing:-.01em;color:#111;flex-direction:column;align-items:center;gap:8px;min-width:72px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter Tight,sans-serif;font-size:12px;font-weight:500;display:flex}.sheet-icon{color:#111;background:#fff;border-radius:16px;place-items:center;width:58px;height:58px;display:grid;box-shadow:0 0 0 .5px #00000014}.sheet-icon svg{stroke:currentColor;stroke-width:1.6px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.sheet-phone-desktop{display:none}.sheet-qr{background:#fff;border-radius:16px;place-items:center;width:58px;height:58px;display:grid;overflow:hidden;box-shadow:0 0 0 .5px #00000014}.sheet-qr img{width:50px;height:50px;display:block}.sheet-details{border-top:1px solid #0000001f;gap:.85rem;margin-top:20px;padding-top:18px;display:grid}.sheet-details p{margin:0}.sheet-details span{letter-spacing:.08em;text-transform:uppercase;color:#00000073;margin-bottom:.2em;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter Tight,sans-serif;font-size:11px;font-weight:500;display:block}.sheet-details a{letter-spacing:-.02em;color:#111;font-family:Cardo,Times New Roman,serif;font-size:20px;line-height:1.2}.sheet-details a:hover{color:#00000073}.lang-mark{letter-spacing:-.03em;font-family:Cardo,Times New Roman,serif;font-size:18px}.sheet-link[aria-current=page] .sheet-icon{box-shadow:0 0 0 1.5px #000}@media (hover:hover) and (pointer:fine){.sheet-link:hover .sheet-icon,.sheet-link:hover .sheet-qr{background:#e8e8ed}}@media (width>=801px){.sheet-phone-mobile{display:none}.sheet-phone-desktop{display:flex}}@media (width<=800px){.sheet-card.connect-card{width:min(360px,100vw - 40px);min-width:0;padding:22px 18px 18px}.sheet-actions{gap:12px}.sheet-link{min-width:64px}.sheet-details a{font-size:18px}}@keyframes sheet-in{0%{transform:scale(.92)translateY(-14px)}to{transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){.sheet-card{animation:none}}
