:root{--paper:#f4efe5;--ink:#30271f;--muted:#756855;--straw:#c6aa78;--sand:#e5d9c4;--line:#d5c9b6;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #967239;outline-offset:5px}::selection{background:var(--straw)}.header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;border-bottom:1px solid var(--line);gap:24px;background:var(--paper);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:11px;line-height:1.2;flex-shrink:0}.brand img{width:65px;height:65px;object-fit:contain}.brand>span{font-family:var(--serif);font-size:20px;letter-spacing:.05em}.brand small{display:block;font:10px Arial,sans-serif;letter-spacing:.17em;margin-top:8px}.header nav{display:flex;gap:30px;font-size:14px}.header nav a{border-bottom:1px solid transparent}.header nav a:hover{border-color:var(--ink)}.nav-contact{font-size:14px;border-bottom:1px solid var(--ink);padding:10px 0;white-space:nowrap}.nav-contact span{margin-left:20px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:53% 47%;min-height:670px}.hero-copy{padding:70px 5% 25px 8.5%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:500;margin:0 0 28px}h1,h2,h3,p,figure{margin-top:0}h1{font:clamp(64px,6.6vw,112px)/.99 var(--serif);letter-spacing:-.06em;margin-bottom:32px;font-weight:400}em{font-weight:400;color:#8b6c42}h1 em{font-style:italic}.intro{color:var(--muted);font-size:17px;line-height:1.8;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:18px 25px;min-height:58px;font-size:14px;border:1px solid var(--ink);transition:background .25s,color .25s,transform .25s}.button:hover{transform:translateY(-3px)}.dark{background:var(--ink);color:var(--paper)}.dark:hover{background:#594533}.hero-bottom{display:flex;justify-content:space-between;width:100%;margin-top:auto;padding-top:70px;font-size:11px;letter-spacing:.12em}.hero-bottom a{font-size:13px;letter-spacing:0}.hero-bottom a span{margin-left:16px}.hero-image{position:relative;margin:0;overflow:hidden;min-width:0}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:65% center}.image-label{position:absolute;left:28px;top:28px;font-size:11px;letter-spacing:.17em}.hero-image figcaption{position:absolute;left:25px;bottom:14px;font-size:10px;color:#fff;background:#30271f88;padding:3px 8px}.image-seal{position:absolute;bottom:45px;right:30px;background:var(--paper);border-radius:50%;height:154px;width:154px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:italic 25px/1.1 var(--serif);box-shadow:0 10px 35px #30271f1a;transform:rotate(7deg)}.image-seal span{font:9px Arial;margin-top:14px;letter-spacing:.08em}@media(min-width:1600px){.hero{min-height:790px}}@media(max-width:1050px){.header nav{gap:18px}.nav-contact{display:none}.hero{min-height:650px}.hero-copy{padding-top:65px}h1{font-size:76px}.hero-bottom{font-size:9px}.brand>span{font-size:18px}}@media(max-width:720px){.header{height:88px;padding:0 6%}.brand img{width:54px;height:54px}.brand>span{font-size:17px}.brand small{font-size:8px}.header nav{display:none}.menu-toggle{display:flex;gap:12px;background:none;border:0;font-size:14px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6% 28px}.eyebrow{font-size:10px;margin-bottom:24px}h1{font-size:clamp(56px,13.4vw,88px);margin-bottom:24px}.intro{font-size:16px}.hero-bottom{padding-top:40px;font-size:9px}.hero-image{height:470px}.image-seal{width:130px;height:130px;font-size:23px}.image-seal span{font-size:8px}.desktop{display:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.section-pad{padding:105px 6%}.section-heading{display:flex;justify-content:space-between;gap:45px;align-items:flex-end;margin-bottom:50px}.section-heading h2{margin:0}.section-heading>p,.section-heading>div>p:not(.eyebrow){color:var(--muted);font-size:16px;line-height:1.8;margin:0;max-width:330px}h2{font:clamp(42px,4.6vw,70px)/1.06 var(--serif);letter-spacing:-.045em;font-weight:400}h3{font:30px/1.2 var(--serif);letter-spacing:-.02em;font-weight:400}.material-strip{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;background:#e9dfcd}.strip-track{display:flex;align-items:center;gap:45px;width:max-content;animation:marquee 42s linear infinite;font:23px var(--serif)}.strip-track i{font-size:25px;color:#957847;font-style:normal}@keyframes marquee{to{transform:translateX(-50%)}}.intro-section{text-align:center;padding-top:90px;padding-bottom:95px}.intro-section h2{font-size:clamp(40px,4vw,61px)}.intro-section>p:last-child{color:var(--muted);margin-bottom:0}.services{padding-top:15px}.service-layout{display:grid;grid-template-columns:44% 1fr;gap:7%;align-items:start}.service-photo{margin:0;position:sticky;top:25px}.service-photo img{height:570px;width:100%;object-fit:cover;transition:opacity .22s}.service-photo figcaption{font-size:12px;padding-top:15px;color:var(--muted)}details summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.service-list details{border-top:1px solid var(--line)}.service-list details:last-child{border-bottom:1px solid var(--line)}.service-list summary{display:flex;align-items:center;gap:23px;min-height:91px;padding:22px 0}.service-list h3{margin:0;font-size:31px}.index{font-size:12px;color:#8c7b63}.plus{margin-left:auto;font:25px Arial;font-weight:300;transition:transform .3s}details[open] .plus{transform:rotate(45deg)}.service-body{padding:0 28px 30px 39px}.service-body p{font-size:16px;color:var(--muted);margin-bottom:21px;line-height:1.85}.tag{font-size:10px;letter-spacing:.08em;border:1px solid var(--line);display:inline-block;padding:4px 9px;margin:0 7px 15px 0}.service-body a{display:block;width:max-content;border-bottom:1px solid var(--ink);font-size:14px;padding-bottom:5px}.service-body a span{margin-left:20px}.vienna-section{background:var(--sand);display:grid;grid-template-columns:36% 1fr;gap:6%;padding-top:85px;padding-bottom:85px}.vienna-section h2{font-size:52px}.vienna-section>div>p:not(.eyebrow){color:#665944}.text-link{display:inline-block;font-size:14px;background:none;border:0;border-bottom:1px solid currentColor;padding:0 0 6px;text-align:left}.techniques{display:grid;grid-template-columns:1fr 1fr;gap:30px}.techniques article{border-top:1px solid #b7a78c;padding-top:24px;display:flex;flex-direction:column}.tech-number{font:60px var(--serif);color:#9d8156;margin-bottom:25px}.techniques h3{font-size:26px}.techniques p{color:#665944;line-height:1.8}.tech-bottom{margin-top:auto;padding-top:25px;font-size:10px;letter-spacing:.08em}.portfolio .section-heading .text-link{margin-top:15px}.filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:35px;border-bottom:1px solid var(--line);padding-bottom:24px}.filters button{background:transparent;border:1px solid transparent;border-radius:30px;color:var(--muted);padding:10px 18px;font-size:13px}.filters button:hover{border-color:var(--line)}.filters .active{background:var(--ink);color:var(--paper)}.filters button span{font-size:10px;margin-left:10px;opacity:.7}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 26px}.project{min-width:0;animation:appear .5s both}.project button{border:none;background:none;width:100%;padding:0;text-align:left;color:var(--ink);display:block}.project-image{position:relative;overflow:hidden;background:var(--sand);height:370px}.project img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.project button:hover img{transform:scale(1.045)}.project .view{position:absolute;right:16px;bottom:16px;background:var(--paper);border-radius:50%;height:43px;width:43px;display:grid;place-items:center;font-size:24px;transition:transform .3s}.project button:hover .view{transform:rotate(45deg)}.project h3{font-size:24px;margin:16px 0 5px}.project p{font-size:12px;color:var(--muted);margin:0;letter-spacing:.03em}.project:nth-child(3n+2){padding-top:45px}.gallery-more{display:flex;margin:45px auto 0;background:none}.gallery-more[hidden]{display:none}.weave-section{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;overflow:hidden;padding:80px 6%;gap:5%}.weave-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.weave-copy h2{font-size:clamp(50px,5.3vw,82px);line-height:1.05}.weave-copy em{color:#c5ab7c}.weave-copy p:not(.eyebrow){color:#cabda8;font-size:17px;line-height:1.9}.weave-copy .text-link{margin-top:14px;color:#deceb4}.weave-art{align-self:center;min-width:0}.weave-art canvas{width:100%;height:auto;aspect-ratio:1}.weave-caption{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.15em;color:#c9b896;border-top:1px solid #655543;padding-top:16px}.about{display:grid;grid-template-columns:46% 1fr;gap:9%;align-items:center}.about-image{position:relative;margin:0}.about-image img{width:100%;height:620px;object-fit:cover}.about-image figcaption{font:italic 21px var(--serif);padding:20px 0}.about-copy p:not(.eyebrow){color:var(--muted);line-height:1.9}.press-link{display:flex;gap:20px;align-items:center;margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;font-size:13px}.press-link b{font-size:25px;line-height:1.1;letter-spacing:-1px}.press-link b>span{font-size:12px;display:block;letter-spacing:.15em}.press-link small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.press-link>span:last-child{margin-left:auto;font-size:20px}.process{padding-top:35px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.process-grid article{border-top:1px solid var(--line);padding-top:22px}.process-grid article>span{font:47px var(--serif);color:#a18962;display:block;margin-bottom:22px}.process-grid h3{font-size:28px}.process-grid p{color:var(--muted);line-height:1.8}.faq{background:#ece4d6;display:grid;grid-template-columns:40% 1fr;gap:8%;padding-top:80px;padding-bottom:80px}.faq-list details{border-top:1px solid #d0c2ab}.faq-list details:last-child{border-bottom:1px solid #d0c2ab}.faq-list summary{display:flex;justify-content:space-between;gap:25px;padding:21px 0;font-size:16px}.faq-list summary span{font-size:21px;line-height:1}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{font-size:15px;color:var(--muted);margin:0;padding:0 28px 24px 0;line-height:1.85}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#d5c29f}.contact h2{font-size:clamp(50px,5.5vw,82px)}.contact h2 em{color:#6c5030}.contact-copy>p:not(.eyebrow){color:#5b4c36;font-size:17px;line-height:1.9}.phone{display:block;font:38px var(--serif);letter-spacing:-.03em;margin-top:35px;margin-bottom:20px}.phone span{font:24px Arial;margin-left:20px}.contact address{font-style:normal;font-size:14px;line-height:1.8;margin-bottom:18px;color:#5b4c36}.quote-form{background:var(--paper);padding:40px;align-self:center}.quote-form .eyebrow{font-size:11px;margin-bottom:18px}.quote-form h3{font-size:33px;margin-bottom:28px}.quote-form label{display:block;font-size:13px;margin-bottom:8px}.quote-form input,.quote-form select,.quote-form textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;outline-offset:4px;color:var(--ink);padding:10px 0;margin-bottom:23px;font-size:15px;min-width:0}.quote-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1.5fr;gap:30px}.form-tip{font-size:13px;color:var(--muted)}.form-tip span{margin-right:7px}.quote-form .button{width:100%;margin:7px 0 15px}.form-note{font-size:11px;line-height:1.7;color:var(--muted);margin:0}#form-status{font-size:13px;margin:10px 0 0}footer{padding:50px 6% 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:40px}.footer-top>p{font:italic 29px var(--serif);margin:0;color:#90744d}.footer-top>a:last-child{font-size:14px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}.footer-bottom>div{display:flex;flex-wrap:wrap;gap:20px}.footer-bottom button{padding:0;background:none;border:0;font:inherit;color:inherit}.mobile-contact{display:none}dialog{border:0;background:var(--paper);color:var(--ink);padding:0;width:min(1080px,90vw);max-height:88vh;box-shadow:0 25px 100px #0005}dialog::backdrop{background:#211a13cc;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:16px;top:16px;width:40px;height:40px;border:0;background:var(--paper);border-radius:50%;color:var(--ink);font-size:29px;z-index:2;display:grid;place-content:center}.lightbox-inner{display:grid;grid-template-columns:60% 40%;min-height:500px}.lightbox-inner>img{width:100%;height:75vh;max-height:780px;object-fit:contain;background:#e5daca}.lightbox-copy{padding:85px 35px 35px;display:flex;flex-direction:column}.lightbox-copy h3{font-size:35px}.lightbox-copy>p:not(.eyebrow){color:var(--muted)}.lightbox-copy .text-link{font-size:13px;align-self:flex-start}.lightbox-nav{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:60px;gap:15px}.lightbox-nav button{border:1px solid var(--line);border-radius:50%;background:none;width:42px;height:42px}.lightbox-nav>span{font-size:13px}.lightbox-inner .eyebrow{font-size:10px}#privacy-dialog{max-width:640px;padding:55px 45px;font-size:15px}#privacy-dialog h3{font-size:32px}.opening{position:fixed;inset:0;z-index:100;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;pointer-events:none;animation:curtain 1.45s forwards}.opening svg{width:108px;height:108px}.opening path{stroke:var(--ink);stroke-width:8;fill:none;stroke-dasharray:130;stroke-dashoffset:130;animation:thread-in .7s ease forwards}.opening path:nth-child(even){stroke:var(--straw);animation-delay:.2s}.opening span{font-size:10px;letter-spacing:.25em}.scroll-progress{position:fixed;top:0;left:0;height:2px;background:#98794b;z-index:90;width:0;pointer-events:none}.reveal{transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1)}.js .reveal:not(.visible){opacity:0;transform:translateY(28px)}.js .hero-copy>*{animation:appear .95s both;animation-delay:.5s}.js .hero-copy h1{animation-delay:.63s}.js .hero-copy .intro{animation-delay:.78s}.js .hero-copy .button{animation-delay:.88s}@keyframes appear{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes thread-in{to{stroke-dashoffset:0}}@keyframes curtain{0%,65%{opacity:1}99%{opacity:0;visibility:visible}100%{opacity:0;visibility:hidden}}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .opening{display:none}.motion-paused .reveal{transition:none}.motion-paused{scroll-behavior:auto}.motion-paused .hero-copy>*{animation:none}.header.menu-open nav{display:flex}
@media(min-width:1500px){.section-pad{padding-left:max(6%,calc((100vw - 1400px)/2));padding-right:max(6%,calc((100vw - 1400px)/2))}.project-image{height:430px}}
@media(max-width:1050px){.section-pad{padding:75px 5%}.services{padding-top:10px}.service-layout{gap:5%;grid-template-columns:42% 1fr}.service-photo img{height:545px}.service-list h3{font-size:26px}.service-list summary{gap:15px}.service-body{padding-left:27px}.vienna-section{grid-template-columns:1fr;gap:35px}.vienna-section>div:first-child{max-width:650px}.techniques{gap:50px}.project-image{height:310px}.about{gap:6%}.about-image img{height:560px}.about h2{font-size:49px}.process-grid{gap:25px}.contact{gap:6%}.quote-form{padding:28px}.footer-top>p{font-size:24px}.footer-bottom{flex-wrap:wrap}}
@media(max-width:720px){.section-pad{padding:65px 6%}.section-heading{display:block;margin-bottom:32px}.section-heading>p,.section-heading>div>p:not(.eyebrow){margin-top:24px;font-size:15px}.section-heading>.button{margin-top:25px}h2{font-size:45px;line-height:1.1}.intro-section h2{font-size:38px}.intro-section>p:last-child{font-size:15px}.intro-section br{display:none}.intro-section h2 br{display:block}.strip-track{font-size:20px;gap:30px}.material-strip{padding:20px 0}.services{padding-top:10px}.service-layout{display:flex;flex-direction:column;gap:25px}.service-photo{position:relative;top:auto;width:100%}.service-photo img{height:380px}.service-list{width:100%}.service-list summary{min-height:83px;padding:22px 0}.service-list h3{font-size:27px}.service-body{padding:0 16px 25px 29px}.service-body p{font-size:15px}.vienna-section h2{font-size:44px}.techniques{gap:25px}.tech-number{font-size:45px;margin-bottom:18px}.techniques h3{font-size:24px}.techniques p{font-size:14px}.tech-bottom{font-size:9px;line-height:1.7;padding-top:15px}.filters{gap:4px;padding-bottom:18px;margin-bottom:25px}.filters button{padding:9px 12px;font-size:12px}.gallery{grid-template-columns:1fr 1fr;gap:25px 14px}.project:nth-child(3n+2){padding-top:0}.project:nth-child(even){padding-top:30px}.project-image{height:240px}.project h3{font-size:21px;line-height:1.2}.project p{font-size:10px}.project .view{height:33px;width:33px;bottom:10px;right:10px;font-size:20px}.gallery-more{font-size:13px;padding:15px 22px;margin-top:35px}.weave-section{grid-template-columns:1fr;padding:65px 6%;gap:15px}.weave-copy h2{font-size:59px}.weave-copy p:not(.eyebrow){font-size:16px}.weave-art{margin-top:0}.about{grid-template-columns:1fr;gap:35px}.about-image img{height:440px}.about-image figcaption{font-size:20px;padding-bottom:0}.about h2{font-size:48px}.about-copy p:not(.eyebrow){font-size:16px}.process{padding-top:10px}.process-grid{grid-template-columns:1fr;gap:20px}.process-grid article{display:grid;grid-template-columns:45px 1fr;gap:5px 15px;padding-top:25px}.process-grid article>span{grid-row:span 2;font-size:33px;margin:0}.process-grid h3{font-size:28px;margin:0}.process-grid p{grid-column:2;font-size:15px;margin-bottom:10px}.faq{grid-template-columns:1fr;gap:20px}.faq-list summary{font-size:15px;line-height:1.6}.contact{grid-template-columns:1fr;gap:40px}.contact h2{font-size:59px}.quote-form{padding:28px 24px}.quote-form h3{font-size:30px}.form-row{gap:20px}.phone{font-size:35px}.footer-top{flex-wrap:wrap;gap:25px;padding-bottom:25px}.footer-top>p{order:3;width:100%;font-size:26px}.footer-bottom{flex-direction:column;font-size:11px;gap:16px}.footer-bottom>div{gap:15px}.footer-bottom>a:last-child{display:none}footer{padding-bottom:105px}.mobile-contact{position:fixed;bottom:16px;left:6%;right:6%;z-index:25;display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:var(--ink);color:var(--paper);font-size:13px;box-shadow:0 4px 30px #30271f40;border:1px solid #756044;transition:transform .3s}.mobile-contact.hide{transform:translateY(100px)}.lightbox-inner{display:flex;flex-direction:column}.lightbox-inner>img{height:47vh}.lightbox-copy{padding:25px}.lightbox-copy h3{font-size:28px;margin-bottom:12px}.lightbox-copy .eyebrow{margin-bottom:10px}.lightbox-nav{padding-top:25px}.lightbox-inner{min-height:0}dialog{max-height:90vh;width:92vw}.dialog-close{right:12px;top:12px}.header.menu-open nav{position:absolute;top:88px;left:0;right:0;background:var(--paper);padding:28px 6%;flex-direction:column;gap:25px;border-bottom:1px solid var(--line);box-shadow:0 15px 25px #30271f10;font-size:20px}.header.menu-open nav a{align-self:flex-start}.nav-contact{display:none}#privacy-dialog{padding:60px 25px 25px}html{scroll-padding-top:25px}}
@media(max-width:380px){.brand>span{font-size:15px}.brand img{width:45px;height:45px}.gallery{grid-template-columns:1fr}.project:nth-child(even){padding-top:0}.project-image{height:380px}.techniques{grid-template-columns:1fr}.phone{font-size:30px}.quote-form{padding:25px 18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.opening{display:none!important}.js .reveal:not(.visible){opacity:1;transform:none}}
