@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,figure{margin:0}img,picture{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}[hidden]{display:none!important}}@layer base{:root{--paper:#f7f3ef;--ink:#201f1d;--muted:#625c57;--accent:#ae4c2c;--blue:#d8e3e7;--line:#d4ccc5;--serif:Georgia, "Times New Roman", serif;--sans:"Helvetica Neue", Arial, sans-serif}html{scroll-behavior:smooth;scrollbar-gutter:stable;scroll-padding-top:24px}html.popup-is-open{overflow:hidden}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:16px}::selection{background:var(--blue);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{letter-spacing:-.025em;font-size:clamp(40px,4.3vw,68px);line-height:1.02}h2{letter-spacing:-.025em;white-space:pre-line;font-size:clamp(28px,2.8vw,42px);line-height:1.12}p{line-height:1.5}.fineprint,figcaption{color:var(--muted);font-size:12px;line-height:1.5}figcaption{margin-top:8px}.text-link{min-height:44px;color:var(--accent);text-align:left;text-underline-offset:5px;background:0 0;border:0;align-items:center;padding:8px 0;font-size:15px;text-decoration:underline;display:inline-flex}a,button{transition:color .18s,background .18s}a:hover,.text-link:hover{color:var(--accent)}.skip{z-index:10;background:var(--ink);color:#fff;padding:16px;position:fixed;top:-100px;left:20px}.skip:focus{top:12px}.arrow-icon{vertical-align:middle;flex:0 0 25px}.reference-photo{width:100%;height:auto;display:block;overflow:hidden}}@layer layout{.header{align-items:center;gap:30px;width:90%;max-width:1400px;min-height:92px;margin-inline:auto;display:flex}.brand{margin-right:auto}.brand-name{font-family:var(--serif);letter-spacing:.12em;text-transform:uppercase;font-size:clamp(17px,2vw,28px)}.main-nav,.languages{align-items:center;display:flex}.main-nav{gap:clamp(20px,3vw,48px);font-size:15px}.main-nav a,.languages a{align-items:center;min-height:44px;padding-block:12px;display:inline-flex}.languages{border-left:1px solid var(--line);gap:11px;padding-left:20px;font-size:11px}.languages a{color:var(--muted)}.languages a[aria-current]{color:var(--accent);text-underline-offset:5px;text-decoration:underline}.hero{isolation:isolate;background:#515b58;align-items:center;min-height:clamp(360px,30.5vw,480px);display:flex;position:relative;overflow:hidden}.hero-photo{z-index:-2;position:absolute;inset:0}.hero-photo .reference-photo{height:100%}.hero-photo:has(.reference-photo){left:36%}.hero:has(.reference-photo):after{background:linear-gradient(90deg,#4c5a57 0% 38%,#4c5a5799 52%,#0000 66%)}.hero-photo picture,.hero-photo img{object-fit:cover;object-position:50% 55%;width:100%;height:100%}.hero:after{content:"";z-index:-1;background:linear-gradient(90deg,#25312be8,#25312b80 45%,#0000 76%);position:absolute;inset:0}.hero-heading,.section-wrap{width:min(90%,1200px);margin-inline:auto}.hero-heading{color:#fffaf5;padding-block:48px}.hero h1{white-space:pre-line;max-width:620px}.hero-accent{padding-bottom:14px;display:inline-block;position:relative}.hero-accent:after{content:"";background:#ee9865;border-radius:50%;width:38%;height:4px;position:absolute;bottom:0;right:0;transform:rotate(-7deg)}.hero-link{color:#fff;background:#aa4e30;border-radius:8px;justify-content:space-between;align-items:center;gap:24px;min-width:215px;min-height:52px;margin-top:24px;padding:13px 24px;font-size:16px;display:inline-flex;box-shadow:0 2px 8px #201f1d10}.hero-link:hover{color:#fff;background:#88391f}.hero-link .arrow-icon{transition:transform .2s}.hero-link:hover .arrow-icon{transform:translate(4px)}.hero-link:focus-visible{outline-color:#fff}.section-wrap{padding-block:32px}.about-grid{grid-template-columns:30% 1fr;align-items:start;gap:3%;margin-top:12px;display:grid}.about-photo img,.about-photo .reference-photo{aspect-ratio:1.37;object-fit:cover;width:100%;height:auto}.about-main{border-left:1px solid #bc7e62;padding-left:5%}.about-main h2{white-space:normal;margin-bottom:16px;font-size:30px}.about-intro{font-size:clamp(15px,1.35vw,20px)}.about-story{font-size:16px}.about-story p,.about-main>.fineprint{margin-top:12px}.section-top,.services-heading{text-align:center;margin-bottom:24px}.section-label,.services h2{font-family:var(--serif);letter-spacing:-.02em;font-size:40px;font-weight:400}.project-row{border-bottom:1px solid var(--line);padding-block:24px;container-type:inline-size}.project-row:last-of-type{border:0}.project-row h3{margin-bottom:8px;font-size:28px}.project-title{text-align:left;background:0 0;border:0;padding:0;line-height:1.25}button.project-title{min-height:44px;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:6px;text-decoration-thickness:1px}button.project-title:hover{color:var(--accent);text-decoration-color:currentColor}.project-row>p{color:var(--muted);margin-bottom:16px;font-size:14px}.row-track{--row-height:clamp(240px, calc((100cqw - (var(--photos) - 1) * 16px) / var(--photos) * .9), 360px);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b6a69a transparent;align-items:flex-start;gap:16px;padding-block:5px 12px;display:flex;overflow-x:auto}.row-photo{width:min(100cqw, calc(var(--row-height) * var(--ratio)));aspect-ratio:var(--ratio);scroll-snap-align:start;flex:none}.photo-trigger{background:0 0;border:0;border-radius:10px;width:100%;height:100%;padding:0;display:block;overflow:hidden}.photo-trigger:focus-visible{outline-offset:-3px}.row-photo picture,.row-photo img,.row-photo .reference-photo{object-fit:contain;width:100%;height:100%}.row-controls{justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.row-controls button{border:1px solid var(--line);background:var(--paper);border-radius:50%;flex-shrink:0;width:44px;height:44px}.row-controls button:hover:not(:disabled){background:var(--blue)}.row-controls button:disabled{opacity:.35;cursor:default}.row-dots{scrollbar-width:thin;min-width:0;padding:5px;display:flex;overflow-x:auto}.row-dots button{background:0 0;border:0;place-items:center;padding:0;display:grid}.row-dots button:before{content:"";background:#b6a69a;border-radius:50%;width:8px;height:8px}.row-dots button[aria-pressed=true]:before{background:var(--accent)}.services{padding-block:40px}.services-heading .fineprint{max-width:65ch;margin:12px auto 0}.service-list{max-width:960px;margin-inline:auto}.service{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:clip}.service summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:56px;padding:16px 20px;list-style:none;display:flex}.service summary::-webkit-details-marker{display:none}.service summary:focus-visible{outline-offset:-4px}.service summary:hover{background:#e9eeed}.service h3{font-family:var(--sans);font-size:17px;line-height:1.4}.service[open] summary{background:#e7edec}.service-toggle{flex-shrink:0;width:16px;height:16px;position:relative}.service-toggle:before,.service-toggle:after{content:"";background:currentColor;width:14px;height:1px;position:absolute;top:7px;left:1px}.service-toggle:after{transform:rotate(90deg)}.service[open] .service-toggle:after{transform:rotate(0)}.service-body{align-items:start;gap:28px;padding:20px;display:flex}.service-copy{flex:1;min-width:0}.service-copy p{max-width:65ch;font-size:16px;line-height:1.6}.service-photo{flex:0 280px;min-width:0;max-width:280px}.service-photo img,.service-photo .reference-photo{border-radius:6px;width:100%;height:auto}.service-actions{flex-wrap:wrap;gap:4px 24px;margin-top:12px;display:flex}.fullscreen-gallery{color:#fff;background:#171b1a;border:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:20px 28px;inset:0;overflow:hidden}.fullscreen-gallery[open]{grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px;display:grid}.fullscreen-gallery header{justify-content:space-between;align-items:center;gap:20px;display:flex}.fullscreen-gallery h2{overflow-wrap:anywhere;font-size:24px}.fullscreen-gallery button{color:#fff;background:0 0;border:1px solid #888;border-radius:5px;flex-shrink:0;min-width:44px;min-height:44px}.fullscreen-gallery :focus-visible{outline-offset:-3px;outline-color:#efad82}.fullscreen-stage{touch-action:pan-y pinch-zoom;min-height:0}.fullscreen-stage figure{grid-template-rows:minmax(0,1fr) auto;height:100%;display:grid}.fullscreen-stage picture{height:100%;min-height:0}.fullscreen-stage img,.fullscreen-stage figure>svg{object-fit:contain;width:100%;height:100%}.fullscreen-stage figcaption{color:#ddd;text-align:center;max-height:20dvh;overflow-y:auto}.fullscreen-gallery footer{justify-content:center;align-items:center;gap:25px;display:flex}.fullscreen-thumbs{gap:10px;max-width:100%;margin-inline:auto;padding:4px;display:flex;overflow-x:auto}.fullscreen-thumbs button{opacity:.65;flex:0 0 70px;width:70px;height:54px;padding:0;overflow:hidden}.fullscreen-thumbs button[aria-pressed=true]{opacity:1;border:2px solid #efad82}.fullscreen-thumbs picture,.fullscreen-thumbs img,.fullscreen-thumbs svg{object-fit:contain;width:100%;height:100%}.contact{background:linear-gradient(115deg,#dbe5e8,#d0dfe5);border-radius:28px;grid-template-columns:24% 1fr;align-items:center;gap:3%;width:95%;max-width:1480px;margin:6px auto 0;padding:32px 4.8%;display:grid}.contact h2{font-size:clamp(29px,3vw,44px)}.contact-details{flex-wrap:wrap;align-items:center;row-gap:16px;min-width:0;display:flex}.contact-link,.contact-pending{border-left:1px solid #bc7e62;flex:1;min-width:0;min-height:56px;padding:8px 20px}.contact-link{justify-content:center;align-items:center;gap:13px;font-size:14px;display:flex}.contact-link svg{flex-shrink:0;width:30px;height:30px}.contact-link span{overflow-wrap:anywhere}.contact-pending .fineprint{margin-top:8px}.social-placeholder{color:var(--muted);cursor:default}.footer{width:90%;max-width:1400px;color:var(--muted);justify-content:space-between;align-items:center;gap:24px;margin:auto;padding-block:20px;font-size:12px;display:flex}.back-top{align-items:center;min-height:44px;display:inline-flex}.back-top span{margin-left:10px}.not-found{flex-direction:column;justify-content:center;align-items:flex-start;gap:32px;min-height:100svh;padding:8%;display:flex}@media (width<=1050px){.header{gap:20px}.main-nav{gap:24px;font-size:14px}.languages{gap:8px;padding-left:12px}.contact{grid-template-columns:21% 1fr;padding-inline:3%}.contact-link{gap:10px;padding-inline:12px;font-size:12px}.contact-link svg{width:24px}}@media (width<=760px){.header{flex-wrap:wrap;gap:4px 8px;min-height:108px;padding-block:12px 8px}.brand-name{letter-spacing:.08em;font-size:18px}.languages{border:0;gap:2px;margin-left:auto;padding-left:0}.languages a{padding:10px 6px}.main-nav{order:3;justify-content:space-between;gap:8px;width:100%;font-size:13px}.main-nav a{padding-block:10px}.hero:has(.reference-photo):after{background:linear-gradient(90deg,#34423ee8,#34423eab 70%,#34423e40)}.hero-photo:has(.reference-photo){left:0}.hero{min-height:380px}.hero-heading{padding-block:42px}.hero h1{max-width:480px;font-size:clamp(34px,8vw,57px)}.hero:after{background:linear-gradient(90deg,#25312be8,#25312b88 70%,#25312b30)}.hero-photo img{object-position:65% center}.section-wrap{padding-block:24px}.section-label,.services h2{font-size:34px}.about-grid{grid-template-columns:1fr;gap:24px}.about-photo{max-width:420px}.about-main{border:0;padding:0}.about-main h2{font-size:29px}.about-intro,.about-story{font-size:16px}.project-row h3{font-size:24px}.row-track{--row-height:260px}.service summary{padding-inline:16px}.service-body{flex-direction:column;gap:20px;padding:16px}.service-photo{flex:none;width:100%}.fullscreen-gallery{padding:16px 12px}.fullscreen-gallery h2{font-size:20px}.contact{border-radius:24px;grid-template-columns:1fr;gap:20px;width:94%;padding:26px 7%}.contact h2{white-space:normal;font-size:34px}.contact-details{flex-direction:column;align-items:stretch}.contact-link,.contact-pending{border-top:1px solid #bc7e62;border-left:0;min-height:64px;padding:18px 0}.contact-link{justify-content:flex-start;font-size:14px}.footer{flex-wrap:wrap;gap:8px 20px}.draft-label{order:3;width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}}
