@font-face{font-family:SourceSans3;src:url("fonts/SourceSans3-Variable.ttf") format("truetype");font-weight:200 900;font-style:normal;font-display:optional}
@font-face{font-family:InterDisplay;src:url("fonts/InterDisplay-Black.woff2") format("woff2");font-style:normal;font-weight:900;font-display:swap}
:root{--hi-size:clamp(280px,48vw,760px);font-family:SourceSans3,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#292f2a;background:#d7dfd5;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;position:relative;isolation:isolate}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #344d43;outline-offset:7px;border-radius:2px}.landscape,.glass,.grain{position:fixed;inset:0;pointer-events:none}.landscape{overflow:hidden;background:linear-gradient(135deg,#bac9c3,#c4cbdc 45%,#d5d7be)}.color{position:absolute;filter:blur(38px);border-radius:50%;will-change:transform;animation:drift 36s ease-in-out infinite alternate}.color-one{width:76vw;height:95vh;left:-22vw;top:-25vh;background:radial-gradient(ellipse,#899eae 0%,#aabec5 40%,transparent 70%)}.color-two{width:78vw;height:100vh;left:24vw;top:21vh;background:radial-gradient(ellipse,#c8a58e 0%,#d4b9a4 31%,transparent 69%);animation-duration:43s;animation-delay:-16s}.color-three{width:65vw;height:95vh;left:20vw;top:-45vh;background:radial-gradient(ellipse,#a6b3a0 0%,#bdc5ac 35%,transparent 70%);animation-duration:39s;animation-delay:-9s}.glass{position:absolute;background:rgba(250,250,244,.68);mask-repeat:no-repeat;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-size:100% 100%}.grain{opacity:.075;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.91' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.7' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.page{position:relative;min-height:100svh;padding:42px 4.4vw 30px;display:flex;flex-direction:column}footer{display:flex;justify-content:space-between;align-items:center}main{flex:1;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:3vw;align-items:center;padding:36px 0 40px}.hello{min-width:0;width:100%;margin:0;font-family:InterDisplay,system-ui,sans-serif;font-size:var(--hi-size);font-weight:900;font-kerning:normal;letter-spacing:normal;line-height:.8;white-space:nowrap;color:rgb(149,166,178)}.hello-text{display:inline-block}.cutout-ready .hello-text{color:transparent}.cutout-depth{position:absolute;inset:0;pointer-events:none;background-repeat:no-repeat;background-size:100% 100%}.intro{min-width:0;height:calc(var(--hi-size)*.8);padding-bottom:calc(var(--hi-size)*.04);align-self:center;margin:0;display:flex;flex-direction:column;justify-content:flex-end}.intro-name{font-size:clamp(32px,3.8vw,60px);line-height:1.08;letter-spacing:-.04em;margin:0 0 22px;font-weight:400}.description{font-size:clamp(18px,1.75vw,25px);line-height:1.5;letter-spacing:-.012em;margin:0;color:#525950}.contact{align-self:flex-start;line-height:1.5;display:inline-flex;gap:35px;align-items:center;margin-top:34px;font-size:16px;border-bottom:1px solid #798278;padding:0 0 10px;transition:gap .25s,border-color .25s}.contact span{font-size:23px;line-height:1}.contact:hover{gap:46px;border-color:#202b21}footer{line-height:1.5;font-size:16px;letter-spacing:.01em}footer>a{padding:10px 0;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}footer>a:hover{text-decoration-color:currentColor}dialog{width:min(480px,calc(100% - 40px));max-height:calc(100svh - 40px);overflow:auto;padding:32px;border:1px solid #ffffffad;border-radius:3px;background:#f0f1eafa;color:#292f2a;box-shadow:0 24px 100px #29382d26}dialog::backdrop{background:rgba(40,53,46,.22);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
dialog[open]{animation:dialog-in 360ms cubic-bezier(.2,.7,.2,1) both}
dialog[open]::backdrop{animation:backdrop-in 420ms ease both}
dialog[open].is-closing{animation:dialog-out 240ms ease both}
dialog[open].is-closing::backdrop{animation:backdrop-out 240ms ease both}
@keyframes backdrop-in{from{background:rgba(40,53,46,0);backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}to{background:rgba(40,53,46,.22);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}
@keyframes backdrop-out{from{background:rgba(40,53,46,.22);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}to{background:rgba(40,53,46,0);backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}}
@keyframes dialog-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes dialog-out{to{opacity:0;transform:translateY(6px) scale(.99)}}
.imprint-image{display:block;width:100%;height:auto;margin:0}
@media(prefers-reduced-motion:reduce){dialog[open],dialog[open]::backdrop,dialog[open].is-closing,dialog[open].is-closing::backdrop{animation:none}}
.dialog-top{display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase}.close{border:0;background:transparent;font-size:30px;cursor:pointer;width:40px;height:40px}h2{font-size:38px;letter-spacing:-.045em;font-weight:400;margin:25px 0}address{font-style:normal;font-size:16px;line-height:1.65;margin-bottom:25px}dialog>a,.legal-content a{text-decoration:underline;text-underline-offset:5px;font-size:14px}.legal-content{max-width:650px;margin:auto;padding:70px 0}.legal-content h1{font-size:64px;font-weight:400;letter-spacing:-.06em}.legal-content p{line-height:1.6}.legal-page main{display:block}.legal-page .glass{mask:none}@keyframes drift{from{transform:translate3d(-3%,0,0) rotate(-8deg) scale(1)}to{transform:translate3d(14%,13%,0) rotate(10deg) scale(1.12)}}@media(min-width:1600px){.page{padding-left:6vw;padding-right:6vw}main{gap:3vw}}@media(max-width:700px){.page{padding:28px 7vw 19px}main{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:36px;padding:54px 0 48px}.hello{width:100%;max-width:440px;align-self:center;font-size:min(84vw,440px)}.intro{height:auto;align-self:stretch;margin:0;padding:0 0 0 2px}.intro-name{font-size:34px;margin-bottom:13px}.description{font-size:17px}.contact{margin-top:24px;font-size:15px;padding-bottom:8px}.color-one{width:150vw;left:-40vw}.color-two{width:150vw;left:0}.color-three{width:140vw;left:-15vw}footer{margin-top:auto}}@media(max-width:700px) and (min-height:800px){main{gap:48px}.hello{max-width:470px}}@media(max-height:620px) and (min-width:701px){main{--hi-size:clamp(240px,39vw,500px);padding:35px 0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hello{max-width:480px;font-size:var(--hi-size)}.intro{align-self:center;margin:0}.page{padding-top:25px;padding-bottom:15px}}@media(prefers-reduced-motion:reduce){.color{animation:none}.contact{transition:none}}@media(forced-colors:active){.landscape,.glass,.grain{display:none}.cutout-ready .hello-text{color:CanvasText}.cutout-depth{display:none}.contact{border-color:LinkText}dialog{border:1px solid CanvasText}}
@media(max-width:700px) and (max-height:650px){main{padding:28px 0;gap:25px}.hello{max-width:260px;font-size:min(80vw,260px)}.intro-name{font-size:30px;margin-bottom:10px}.description{font-size:16px}.contact{margin-top:18px}}

/* Focus the dialog title on opening; keep keyboard focus rings on controls. */
#imprint-title:focus{outline:none}

@media(max-width:700px){footer{font-size:15px}}
