@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-normal-C2je3j2s.woff2) format("woff2"),url(/assets/instrument-serif-latin-ext-400-normal-CFCUzsTy.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-normal-BVbkICAY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2) format("woff2"),url(/assets/instrument-serif-latin-ext-400-italic-D7-lnxEk.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-italic-u__WvvIK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}body{margin:0;-webkit-font-smoothing:antialiased;font-family:Hanken Grotesk Variable,system-ui,sans-serif;font-weight:400;line-height:1.6;background:var(--ink);color:var(--paper)}:root{--ink: #141514;--ink-2: #1d1f1e;--paper: #f3f0ea;--paper-2: #e7e2d8;--muted: #a7a39a;--accent: #d0663a;--line: rgb(243 240 234 / .18);--bg: var(--paper);--text-color: var(--paper);--font-display: "Instrument Serif", Georgia, serif;--ease: cubic-bezier(.16, 1, .3, 1);--gutter: clamp(1.25rem, 5vw, 4.5rem)}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}html{scrollbar-color:var(--muted) var(--ink)}ul{list-style:none;margin:0;padding:0}a,h1,h2,h3,h5{color:inherit;text-decoration:none;font-weight:unset}h1,h2,h3{text-wrap:balance}h3{font-size:2em;margin:.67em 0}.home-card{position:relative;height:100svh;min-height:560px;overflow:hidden;display:flex;align-items:flex-end;background:var(--ink);color:var(--paper)}.hero-image{position:absolute;inset:-6% 0;background:url(/assets/CAPA2-Btpu9QZb.jpg) center / cover;filter:grayscale(1) contrast(1.05)}.home-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#141514d9,#14151400 60%)}.hero-copy{position:relative;z-index:1;padding:0 var(--gutter) clamp(2rem,8vh,5rem)}.hero-title{margin:0;font-family:var(--font-display);font-size:clamp(3.5rem,11vw,9rem);line-height:.92;letter-spacing:-.02em}.hero-title span{display:block;font-style:italic;color:var(--accent)}@supports (animation-timeline: scroll()){@media(prefers-reduced-motion:no-preference){.hero-image{animation:hero-drift linear both;animation-timeline:scroll(root);animation-range:0 100vh}.hero-copy{animation:hero-out linear both;animation-timeline:scroll(root);animation-range:0 70vh}}}@keyframes hero-drift{to{transform:translateY(12%) scale(1.08)}}@keyframes hero-out{to{transform:translateY(-4rem);opacity:0}}.navbar{position:fixed;top:0;left:0;right:0;z-index:10;color:var(--paper);background:linear-gradient(#141514d1,#1415148c);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.navbar-nav{display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);padding:.1rem var(--gutter);font-size:.8rem;font-weight:500;letter-spacing:.14em}.nav-item:first-child{margin-right:auto}.nav-item a{cursor:pointer;padding:.85rem 0;background:linear-gradient(var(--accent),var(--accent)) 100% calc(100% - .6rem) / 0 2px no-repeat;transition:background-size .55s cubic-bezier(.65,0,.35,1)}.nav-item a:hover,.nav-item a.active{background-position:0 calc(100% - .6rem);background-size:100% 2px}.nav-item:first-child a{display:block;background:none}.nav-item .svg{display:block;padding:0}.language-switch{display:flex;gap:.25rem}.language-switch button{font:inherit;letter-spacing:inherit;color:inherit;background:none;border:0;padding:.85rem .6rem;cursor:pointer;opacity:.55}.language-switch button.active{opacity:1}.section-title:before{content:"";display:block;width:3rem;height:2px;margin-bottom:1.5rem;background:var(--accent)}.section-title{margin:0;padding:clamp(5rem,12vh,9rem) var(--gutter) 2rem;font-family:var(--font-display);font-size:clamp(3rem,8vw,6rem);line-height:1;letter-spacing:-.02em;text-transform:capitalize}.work-card{background:var(--ink);padding-bottom:6rem;position:relative;overflow:hidden}.team-card{background:var(--paper);color:var(--ink);padding-bottom:6rem}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:2.5rem 1.5rem;padding:1rem var(--gutter) 0}.card{position:relative;display:flex;flex-direction:column;color:var(--ink)}.card img{width:100%;aspect-ratio:4 / 5;object-fit:cover;filter:grayscale(1);transition:filter .6s var(--ease),transform .6s var(--ease)}.card:hover img{filter:grayscale(0)}.card .overlay{order:2;padding-top:.9rem;font-size:.9rem;color:#5b5a55}.card .overlay h3{margin:0;font-family:var(--font-display);font-size:1.7rem;line-height:1.1;color:var(--ink)}.card:last-child img{background:var(--paper-2);filter:none;opacity:.5}.gallery{padding:0 var(--gutter);margin:0 auto;max-width:1600px;position:relative;will-change:opacity}.thumbnails{margin-bottom:4rem}.gallery>.back+.thumbnails>h3{margin-top:.5rem}.thumbnails>h3{width:100%;margin:3rem 0 1rem;padding-top:1rem;border-top:1px solid var(--line);font-family:var(--font-display);font-size:clamp(1.6rem,2.4vw,2rem);color:var(--paper)}.gallery-drawer{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:1.25rem;min-height:200px}.thumbnail{cursor:pointer;will-change:transform,opacity;overflow:hidden}.frame{overflow:hidden;position:relative;width:100%}.crossfade{display:grid;overflow:hidden}.crossfade img{grid-area:1 / 1;transition:none}.crossfade img.under{opacity:1;z-index:1}.crossfade img.reset{opacity:0;z-index:1}.crossfade img.top{opacity:1;z-index:2;transition:opacity .9s ease-in-out,transform .9s var(--ease)}.thumbnail img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block;transition:transform .9s var(--ease)}.thumbnail:hover img{transform:scale(1.04)}.frame .overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:1.25rem;z-index:10;opacity:0;background:linear-gradient(to top,rgb(20 21 20 / .8),transparent 60%);transition:opacity .4s var(--ease)}.thumbnail:hover .overlay,.thumbnail:focus-within .overlay{opacity:1}@media(hover:none){.frame .overlay{opacity:1}}.frame .overlay.all{opacity:1}.frame .overlay .overlay-text{margin:0;font-family:var(--font-display);font-size:1.8rem;line-height:1.1}.single{display:flex;flex-wrap:wrap;justify-content:space-evenly}.single .highlight{width:100%;height:60vh;color:#fff;background-position:50% 40%;background-repeat:no-repeat;background-attachment:fixed;display:flex;position:relative;top:0;left:0;align-items:flex-end;flex-direction:column;justify-content:space-between}.highlight h2.title{margin:0;width:70%;font-size:3rem}.single .image-row{display:flex;flex-direction:column;justify-content:center;min-width:60%;background-color:#000}.single .image-row img{object-fit:contain;max-height:75vh}@media(max-width:800px){.single .highlight{width:100%}.highlight h2.title{margin:0;width:70%;font-size:2rem;font-weight:500}.single .image-row{width:100%}.single .image-row img{min-height:60vh}}.single .caroussel{position:relative;display:flex;justify-content:center;align-items:center;background-color:#000;overflow:hidden}.single .image-row .caroussel img{width:100%;position:relative}.next,.prev{position:absolute;background:#1110108f;border-radius:30px;width:40px;height:40px;display:flex;justify-content:center;align-items:center;-webkit-user-select:none;user-select:none;cursor:pointer;font-weight:700;font-size:20px;z-index:2;border:#fff;border-width:2px;border-style:solid;color:#fff}.next{right:10px}.prev{left:10px}.description-section{padding:5%;width:80%;color:var(--text-color)}.description-section .MuiGrid-root:last-child{border-left:1px solid var(--line)}.description-section .MuiGrid-container{border:0!important}.project-details p{margin:10px}.project-description{font-size:1.2em;font-weight:300}@media(max-width:800px){.single img{max-width:100%;margin-right:0}.description-section{padding-bottom:10%}.project-details p{margin-block:8px}.MuiGrid-root:last-child{border-left:0!important;border-top:1px solid var(--line)}}.back{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;width:100%;text-align:start;margin:0 0 1rem}.back a{display:inline-flex;align-items:center;gap:.5rem;margin:0;padding:.8rem .8rem .8rem 0;font-size:clamp(1rem,1.3vw,1.125rem);color:var(--muted);transition:color .3s}.back a svg{font-size:1.4em;color:var(--accent)}.back a:hover{color:var(--paper)}.back a:hover svg{translate:.2rem 0}.back a svg{transition:translate .4s var(--ease)}.project-list-container{display:flex;justify-content:center}.project-list{color:#a7a7a7;max-width:80%}.link{color:#fff;font-weight:500}.project-list a li:hover{color:gray;cursor:pointer}.flex-container{display:flex;flex-wrap:wrap;width:500px;justify-content:flex-start}@media(max-width:800px){.flex-container{max-width:100%}}.contact-container{display:flex;justify-content:center;border-radius:0%;margin:0 auto;padding:2rem var(--gutter) 6rem}.contact-container p{line-height:1.5em;margin:0 0 1em;font-weight:300}.outlined-container{border:1px solid var(--line);padding:clamp(1.25rem,3vw,2.5rem);box-sizing:border-box}.contact-form-button{border-radius:.25rem;border-width:.05rem;margin:.5rem!important;width:20%;cursor:pointer}.contact-form-button.white{border-color:#fff!important;color:#fff!important}.contact-form-button.upload.disabled{color:#bdbdbd!important;border-color:#fff!important;border-width:1px;border-style:solid}.MuiMenuItem-root{color:#fff;font-family:Hanken Grotesk Variable,system-ui,sans-serif!important}.svg{stroke-width:12}.loading{display:flex;position:fixed;inset:0;background-color:var(--ink);z-index:5000;align-items:center;justify-content:center}.text-loading{position:fixed;margin-top:172px;margin-left:80px;color:#fff}.text-loading p{margin:0}.about-card{background:var(--ink);width:100%}.about-section{display:grid;grid-template-columns:repeat(12,1fr);gap:3rem var(--gutter);padding:1rem var(--gutter) 5rem;overflow:hidden}.about-container{display:contents}.about-content{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-content:start;border:0;border-top:1px solid var(--line);padding:1.5rem 0 0}.about-content>h3,.about-content-row>div>h3{grid-column:1 / 5;margin:0 0 1rem;font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1}.about-content>p,.about-content-row>div>p{grid-column:5 / -1;margin:0;max-width:68ch;font-size:1.05rem;color:var(--muted);white-space:pre-line}.about-content-row{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;row-gap:2rem}.about-content-row>div:first-child{grid-column:1 / -1;display:grid;grid-template-columns:subgrid}.about-graphics{grid-column:1 / -1}.map-container{height:clamp(260px,40vh,420px);filter:grayscale(1) invert(.9) contrast(.9)}@media(max-width:800px){.about-content,.about-content-row,.about-content-row>div:first-child{display:block}.about-content-row .about-graphics{margin-top:1.5rem}}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.thumbnail .frame{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% entry 60%}}}@keyframes reveal{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}.work-card>.back{padding:0 var(--gutter)}.highlight h2.title{width:100%;box-sizing:border-box;padding:3rem var(--gutter) 2rem;font-family:var(--font-display);font-size:clamp(2.5rem,7vw,5.5rem);line-height:1;letter-spacing:-.02em;text-align:start}.single .highlight>div:last-child{justify-content:flex-start!important}.description-section{box-sizing:border-box;width:100%;padding:4rem var(--gutter);color:var(--paper)}.project-details p{margin:0 0 .75rem;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.project-description{font-size:1.15rem;max-width:68ch;color:var(--paper-2)}.single .image-row{min-width:100%;background:var(--ink)}.project-list-container{justify-content:flex-start;padding:0 var(--gutter)}.project-list{max-width:960px;width:100%;color:var(--muted)}.project-list>div{scroll-margin-top:5rem}.project-list h3{margin:3rem 0 .75rem;padding-top:1rem;border-top:1px solid var(--line);font-family:var(--font-display);font-size:2rem;color:var(--paper)}.project-list ul{padding:0}.project-list li{padding:.55rem 0;border-bottom:1px solid var(--line);list-style:none}.project-list .link li{color:var(--paper);transition:padding-left .4s var(--ease)}.project-list a li:hover{color:var(--accent);padding-left:.5rem}.contact-container{padding-inline:var(--gutter)!important}.contact-container form{width:100%!important;max-width:640px!important}.contact-container h3{font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem)!important;text-align:start!important;margin:2rem 0 1.5rem}.contact-form-button{margin:0!important;width:auto!important;min-width:140px;text-transform:uppercase;letter-spacing:.1em}.contact-form-button.upload,.contact-form-button.upload.disabled{background:transparent!important;box-shadow:none!important;border:1px solid var(--line)!important;color:var(--paper)!important}.contact-form-button.white{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--ink)!important;font-weight:600}.contact-form-button.white:hover{background:var(--paper)!important;border-color:var(--paper)!important}.button-container{gap:1rem;margin-top:.5rem;display:flex;justify-content:space-between;flex-wrap:nowrap;align-items:center}@media(max-width:600px){.button-container,.button-container-start,.button-container-end{flex-direction:column;align-items:stretch!important;width:100%}.contact-form-button{width:100%!important;max-width:none!important}.button-container-end{margin-top:.75rem}}.form-status{margin:1rem 0 0!important;color:#ff9b85}.form-status.ok{color:var(--paper)}.single .image-row{display:block;box-sizing:border-box;min-width:0;width:100%;padding:0 var(--gutter) 4rem}.project-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));grid-auto-rows:clamp(200px,24vw,340px);grid-auto-flow:dense;gap:1rem}.project-gallery-item{overflow:hidden;background:var(--ink-2)}@media(min-width:900px){.project-gallery-item:nth-child(5n+1){grid-column:span 2}}.project-gallery-item.is-tall{grid-row:span 2}@media(min-width:900px){.project-gallery-item.is-tall:nth-child(5n+1){grid-column:auto}}.project-gallery-item button{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}.single .image-row .project-gallery-item img{width:100%;height:100%;max-height:none;min-height:0;object-fit:cover;display:block;transition:transform .9s var(--ease)}.project-gallery-item{position:relative}.project-gallery-item:has(img:not([data-loaded])){animation:gallery-breathe 2.8s ease-in-out infinite}.project-gallery-item:has(img:not([data-loaded])):after{content:"";position:absolute;inset:14px;pointer-events:none;--m: linear-gradient(var(--accent), var(--accent));opacity:.3;animation:gallery-marks 2.8s ease-in-out infinite;background:var(--m) 0 0 / 14px 2px,var(--m) 0 0 / 2px 14px,var(--m) 100% 0 / 14px 2px,var(--m) 100% 0 / 2px 14px,var(--m) 0 100% / 14px 2px,var(--m) 0 100% / 2px 14px,var(--m) 100% 100% / 14px 2px,var(--m) 100% 100% / 2px 14px;background-repeat:no-repeat}.single .image-row .project-gallery-item img:not([data-loaded]),.lightbox-img:not([data-loaded]){opacity:0}.single .image-row .project-gallery-item img[data-loaded],.lightbox-img[data-loaded]{animation:gallery-draw 1.1s var(--ease) both}.lightbox:has(.lightbox-img:not([data-loaded])):after{content:"";position:absolute;top:50%;left:calc(50% - 60px);width:120px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:gallery-travel 1.6s var(--ease) infinite alternate}@keyframes gallery-draw{0%{clip-path:inset(0 0 100% 0);scale:1.06}to{clip-path:inset(0);scale:1}}@keyframes gallery-marks{50%{opacity:.85;scale:.93}}@keyframes gallery-breathe{50%{background-color:#242726}}@keyframes gallery-travel{0%{translate:-40px 0;opacity:.3}to{translate:40px 0;opacity:1}}@media(prefers-reduced-motion:reduce){.project-gallery-item:has(img:not([data-loaded])),.project-gallery-item:has(img:not([data-loaded])):after,.lightbox:has(.lightbox-img:not([data-loaded])):after{animation:none}.single .image-row .project-gallery-item img[data-loaded],.lightbox-img[data-loaded]{animation:none}}.project-gallery-item button:hover img{transform:scale(1.04)}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.project-gallery-item{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% entry 60%}}}.lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#141514f5;color:var(--paper);overflow:hidden}.lightbox::backdrop{background:#141514f5}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox-img{max-width:calc(100vw - 2rem);max-height:calc(100dvh - 2rem);object-fit:contain}.lightbox-btn{position:absolute;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:#14151499;color:var(--paper);cursor:pointer;transition:background .3s,border-color .3s}.lightbox-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}.lightbox-close{top:1rem;right:1rem}.lightbox-prev,.lightbox-next{top:50%;translate:0 -50%}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.contact-link{display:inline-block;padding:.7rem 0;color:#d3d3d3;text-decoration:none}.map-link{display:inline-block;margin-top:.5rem;padding:.8rem 0;color:var(--muted);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}}.card .overlay h3,.frame .overlay .overlay-text{width:fit-content;padding-bottom:.12em;background:linear-gradient(var(--accent),var(--accent)) 100% 100% / 0 2px no-repeat;transition:background-size .55s cubic-bezier(.65,0,.35,1)}.thumbnail:hover .overlay-text,.card:hover .overlay h3{background-position:0 100%;background-size:100% 2px}.consent-banner{position:fixed;left:var(--gutter);right:var(--gutter);bottom:1rem;z-index:1000;display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between;max-width:60rem;margin:0 auto;padding:1rem 1.25rem;background:var(--ink-2);border:1px solid var(--line);font-size:.875rem}.consent-banner p{margin:0;flex:1 1 24rem}.consent-banner a,.site-footer a,.privacy-page a{color:var(--paper);text-decoration:underline;text-underline-offset:.2em}.consent-actions{display:flex;gap:.75rem}.consent-actions button,.map-placeholder button{min-height:2.75rem;padding:0 1.5rem;background:transparent;color:var(--paper);border:1px solid var(--paper);font:inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.consent-actions button:hover,.map-placeholder button:hover{background:var(--paper);color:var(--ink)}.site-footer{display:flex;flex-wrap:wrap;align-items:center;gap:0 1.5rem;padding:1rem var(--gutter) 6rem;font-size:.8rem;color:var(--muted)}.site-footer a,.site-footer button{display:inline-flex;align-items:center;min-height:2.75rem;padding:0;background:none;border:0;color:inherit;font:inherit;line-height:1;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}.privacy-page{max-width:46rem;margin:0 auto;padding:4rem var(--gutter) 2rem}.privacy-page h2{margin-top:2rem;font-size:1.1rem}.map-placeholder{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1rem;height:100%;padding:1.5rem;box-sizing:border-box;border:1px solid var(--line);color:var(--muted)}.map-placeholder p{margin:0}.form-privacy-note{font-size:.8rem;color:var(--muted)}.form-privacy-note a{color:inherit}
