:root{--ink:#11100e;--paper:#f3f1ed;--muted:#b9b5ad;--gold:#c79a5b;--line:rgba(17,16,14,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.65}.topbar{position:fixed;z-index:20;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(22px,5vw,72px);color:white;background:linear-gradient(#11100ecc,transparent)}.brand{display:flex;flex-direction:column;width:max-content;text-decoration:none;color:inherit;line-height:1}.brand span{font:600 clamp(2rem,4vw,3rem)/.9 'Playfair Display',serif;letter-spacing:.03em}.brand small{margin-top:7px;font-size:.64rem;letter-spacing:.38em}.topbar nav{display:flex;gap:32px}.topbar nav a{color:white;text-decoration:none;font-size:.88rem;letter-spacing:.08em}.menu-toggle{display:none}.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);color:white}.hero-image{position:absolute;inset:0;background:url('tmg-hero-v2.png') center 49%/cover no-repeat;filter:saturate(.72) contrast(1.04)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,16,14,.96) 0%,rgba(17,16,14,.75) 35%,rgba(17,16,14,.15) 72%),linear-gradient(0deg,rgba(17,16,14,.75),transparent 45%)}.hero-copy{position:relative;z-index:2;max-width:850px;padding:180px clamp(24px,8vw,120px) 15vh}.eyebrow,.section-index{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:600}.eyebrow{color:#e1bd84}.hero h1,.section h2{font-family:'Playfair Display',serif;font-weight:500;line-height:1.08}.hero h1{font-size:clamp(2.8rem,6.5vw,6.4rem);margin:.35em 0 .3em}.hero-copy>p:not(.eyebrow){max-width:620px;color:#dedbd5;font-size:1.08rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 27px;border:0;text-decoration:none;font:600 .83rem/1 Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.button.primary{background:var(--gold);color:var(--ink);margin-top:18px}.scroll{position:absolute;z-index:2;right:clamp(24px,5vw,72px);bottom:36px;color:white;text-decoration:none;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}.scroll span{font-size:1.1rem;margin-left:10px}.section{padding:clamp(80px,11vw,160px) clamp(24px,8vw,120px)}.section-index{color:#726e67;margin:0}.intro{display:grid;grid-template-columns:minmax(140px,1fr) 3fr;gap:8vw}.section h2{font-size:clamp(2.2rem,5vw,4.8rem);margin:0 0 32px}.intro>div p{max-width:790px;font-size:clamp(1rem,1.7vw,1.3rem);color:#4b4843}.services{background:var(--ink);color:white}.services .section-index{color:#a8a39a}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:64px;border-top:1px solid #ffffff33}.service-grid article{padding:38px 36px 24px 0;border-right:1px solid #ffffff33}.service-grid article+article{padding-left:36px}.service-grid article:last-child{border-right:0}.service-grid article>span{color:var(--gold);font-size:.8rem}.service-grid h3{font:500 clamp(1.6rem,2.5vw,2.4rem) 'Playfair Display',serif;margin:40px 0 18px}.service-grid p{color:#bdb9b2}.project-heading{display:grid;grid-template-columns:minmax(140px,1fr) 3fr;gap:8vw}.showcase{position:relative;margin-top:48px;height:min(70vw,720px);overflow:hidden;background:#ddd}.showcase img{width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(.78)}.showcase-caption{position:absolute;left:0;right:0;bottom:0;padding:70px 38px 30px;color:white;background:linear-gradient(transparent,rgba(0,0,0,.8))}.showcase-caption span{font-family:'Playfair Display',serif;font-size:1.8rem}.showcase-caption p{margin:5px 0}.gallery-note{color:#6e6a64;font-size:.9rem;margin-top:16px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:#e5e1da}.contact-copy>p:not(.section-index){max-width:540px}.contact-links{margin-top:50px;display:grid}.contact-links a{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.contact-links .pending{color:#6f6b65}.contact-links .pending span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.inquiry-form{display:grid;gap:22px;background:var(--paper);padding:clamp(25px,5vw,55px)}label{display:grid;gap:8px;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}input,select,textarea{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:12px 2px;font:1rem Manrope,sans-serif;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold)}.file-label input{position:absolute;opacity:0;pointer-events:none}.file-label span{border:1px dashed #999;padding:16px;text-align:center;text-transform:none;font-weight:400;letter-spacing:0}.form-note{font-size:.78rem;color:#6f6b65;line-height:1.5}.form-result{padding:14px;border-left:3px solid var(--gold);background:#fff}.form-result p{margin:0}.form-result button{border:0;background:none;padding:0;color:#7d5624;text-decoration:underline;cursor:pointer}footer{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:52px clamp(24px,8vw,120px);background:var(--ink);color:white}footer p{margin:0;color:#aaa;font-size:.78rem}footer .brand span{font-size:2rem}
@media(max-width:760px){.topbar{padding:17px 20px}.topbar .brand span{font-size:2rem}.topbar nav{position:absolute;top:0;right:0;display:none;flex-direction:column;width:min(82vw,360px);min-height:100vh;padding:110px 32px;background:#11100ef5}.topbar nav.open{display:flex}.topbar nav a{font:500 1.5rem 'Playfair Display',serif}.menu-toggle{position:relative;z-index:2;display:grid;grid-template-columns:22px auto;align-items:center;gap:3px 9px;border:0;background:none;color:white}.menu-toggle span{display:block;grid-column:1;width:22px;height:1px;background:white}.menu-toggle b{grid-column:2;grid-row:1/4;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.hero-copy{padding:150px 24px 130px}.hero h1{font-size:clamp(2.55rem,12vw,4.1rem)}.hero-image{background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(17,16,14,.9),rgba(17,16,14,.3)),linear-gradient(0deg,rgba(17,16,14,.85),transparent 60%)}.scroll{display:none}.intro,.project-heading,.contact{grid-template-columns:1fr;gap:32px}.service-grid{grid-template-columns:1fr;margin-top:35px}.service-grid article,.service-grid article+article{padding:28px 0;border-right:0;border-bottom:1px solid #ffffff33}.service-grid h3{margin:14px 0 10px}.showcase{height:105vw}.showcase-caption{padding:60px 20px 18px}.contact{gap:55px}footer{align-items:start;flex-direction:column}}
.project-card{margin-top:48px}.project-cover{position:relative;display:block;width:100%;height:min(70vw,720px);padding:0;border:0;overflow:hidden;background:#ddd;color:white;text-align:left;cursor:pointer}.project-cover img{width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(.82);transition:transform .7s ease}.project-cover:hover img{transform:scale(1.018)}.project-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82),transparent 50%)}.project-cover-copy{position:absolute;z-index:1;left:clamp(20px,4vw,52px);bottom:clamp(24px,4vw,46px);display:grid;gap:7px}.project-cover-copy b{font:500 clamp(2rem,4vw,4.2rem)/1.05 'Playfair Display',serif}.project-cover-copy small{font-size:clamp(.78rem,1.2vw,.95rem);letter-spacing:.1em;text-transform:uppercase}.project-count{position:absolute;z-index:1;right:clamp(20px,4vw,52px);bottom:clamp(24px,4vw,46px);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.project-intro{display:grid;grid-template-columns:2fr 1fr;gap:7vw;padding:32px 0 50px;border-bottom:1px solid var(--line)}.project-intro p{max-width:820px;margin:0;color:#4b4843;font-size:clamp(1rem,1.5vw,1.18rem)}.project-intro span{align-self:start;color:#77716a;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}.project-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.project-gallery button{aspect-ratio:4/5;padding:0;border:0;overflow:hidden;background:#ddd;cursor:pointer}.project-gallery img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:transform .45s ease,filter .45s ease}.project-gallery button:hover img{transform:scale(1.035);filter:saturate(1)}.view-all{display:flex;justify-content:space-between;width:100%;margin-top:18px;padding:18px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:600 .78rem Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#0b0b0bea;color:white}.lightbox[open]{display:grid;grid-template-columns:80px 1fr 80px;align-items:center}.lightbox::backdrop{background:#000d}.lightbox figure{display:grid;grid-template-rows:minmax(0,1fr) auto;height:100dvh;margin:0;padding:38px 0 22px}.lightbox figure img{display:block;max-width:100%;width:100%;height:100%;object-fit:contain}.lightbox figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:12px;color:#c6c2bb;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.lightbox figcaption b{color:white}.lightbox-close,.lightbox-nav{border:0;background:none;color:white;cursor:pointer}.lightbox-close{position:fixed;z-index:2;top:18px;right:24px;font:300 2.3rem/1 Arial,sans-serif}.lightbox-nav{height:100%;font-size:1.6rem}
@media(max-width:760px){.project-cover{height:118vw}.project-cover-copy{right:20px}.project-count{top:20px;right:20px;bottom:auto}.project-intro{grid-template-columns:1fr;gap:20px;padding:24px 0 34px}.project-gallery{grid-template-columns:repeat(2,1fr);gap:6px}.lightbox[open]{grid-template-columns:46px 1fr 46px}.lightbox figure{padding:58px 0 18px}.lightbox figcaption{display:grid;gap:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.project-card+.project-card{margin-top:clamp(90px,12vw,170px)}
.project-cover.portrait-cover img{object-position:center 46%}
.project-cover.alex-cover img{object-position:center 55%}
.project-gallery button{position:relative}
.project-gallery .video-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.62),transparent 58%)}
.video-thumb span{position:absolute;z-index:1;left:16px;bottom:14px;color:white;font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.compact-gallery{grid-template-columns:minmax(180px,25%)}
.lightbox-media{display:grid;place-items:center;min-height:0}
.lightbox figure .lightbox-media img,.lightbox figure .lightbox-media video{display:block;max-width:100%;width:100%;height:100%;object-fit:contain}
.lightbox figure .lightbox-media video[hidden],.lightbox figure .lightbox-media img[hidden]{display:none}
.project-cover.reni-cover img{object-position:center 48%}
.project-cover.vienna-cover img{object-position:center 45%}
@media(max-width:760px){.compact-gallery{grid-template-columns:repeat(2,1fr)}}
html:not([data-page="home"]) .hero,.page-view[hidden]{display:none!important}.home-page{overflow:hidden}.home-page footer{display:none}.subpage .topbar{background:var(--ink)}.subpage main{padding-top:92px}.subpage .page-view{min-height:calc(100svh - 92px)}.topbar nav a[aria-current="page"]{color:#e1bd84}.brand span{font-size:clamp(1.55rem,3vw,2.35rem);letter-spacing:.015em}.brand small{align-self:flex-end}
.hero-slides{position:absolute;inset:0}.hero-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1.025);filter:saturate(.72) contrast(1.04);transition:opacity 1.1s ease,transform 6s ease}.hero-slides img.active{opacity:1;transform:scale(1)}.slide-meta{position:absolute;z-index:3;right:clamp(24px,5vw,72px);bottom:38px;display:flex;align-items:center;gap:24px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.slide-meta b{font-weight:500;color:#d7b477}.slide-meta i{font-style:normal}.slide-arrow{position:absolute;z-index:4;bottom:30px;width:42px;height:42px;border:1px solid #ffffff66;border-radius:50%;background:#11100e55;color:white;font-size:1.05rem;cursor:pointer}.slide-prev{right:clamp(218px,20vw,280px)}.slide-next{right:clamp(166px,16vw,226px)}
.project-status{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;border:0}.project-status legend{grid-column:1/-1;margin-bottom:6px;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}.project-status label{display:block;position:relative}.project-status input{position:absolute;opacity:0;pointer-events:none}.project-status label>span{display:grid;gap:6px;height:100%;padding:18px;border:1px solid var(--line);background:#ebe8e2;cursor:pointer;text-transform:none;letter-spacing:0}.project-status label>span b{font:500 1rem Manrope,sans-serif}.project-status label>span small{color:#6f6b65;font-size:.78rem;line-height:1.45}.project-status input:checked+span{border-color:var(--gold);background:#fff8ed;box-shadow:inset 0 0 0 1px var(--gold)}.file-label>span:first-child{border:0;padding:0;text-align:left;text-transform:uppercase;font-weight:600;letter-spacing:.1em}
@media(max-width:760px){.subpage main{padding-top:78px}.subpage .page-view{min-height:calc(100svh - 78px)}.topbar .brand span{font-size:1.45rem}.topbar .brand small{font-size:.52rem}.slide-meta{left:24px;right:auto;bottom:28px;display:grid;gap:2px}.slide-arrow{bottom:25px}.slide-prev{right:72px}.slide-next{right:20px}.project-status{grid-template-columns:1fr}.home-page .hero-copy{padding-bottom:165px}}
.category-heading{display:grid;grid-template-columns:minmax(140px,1fr) 3fr;gap:8vw}.category-heading h2{margin-bottom:18px}.category-heading div>p{max-width:720px;margin:0;color:#5d5953;font-size:1.05rem}.category-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:56px}.category-gallery button{position:relative;aspect-ratio:4/5;padding:0;border:0;overflow:hidden;background:#ddd;color:white;text-align:left;cursor:pointer}.category-gallery img{width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:transform .55s ease,filter .55s ease}.category-gallery button:hover img{transform:scale(1.025);filter:saturate(1)}.category-gallery button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media(max-width:760px){.category-heading{grid-template-columns:1fr;gap:24px}.category-gallery{grid-template-columns:repeat(2,1fr);gap:6px;margin-top:36px}}
.intro>div .about-lead{margin:0 0 28px;padding-left:22px;border-left:3px solid var(--gold);color:var(--ink);font-family:'Playfair Display',serif;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.35}
.file-label small{color:#6f6b65;font-size:.76rem;letter-spacing:0;text-transform:none;font-weight:400}.form-honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.button:disabled{opacity:.58;cursor:wait}.form-result.success{border-left-color:#4f7b56}.form-result.error{border-left-color:#a64b43}
.topbar nav{align-items:center}.header-controls{display:flex;align-items:center;gap:15px}.language-menu{position:relative}.language-toggle{display:flex;align-items:center;gap:7px;min-width:48px;padding:8px 6px;border:0;background:none;color:white;cursor:pointer}.language-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}.current-language{font:600 .68rem Manrope,sans-serif;letter-spacing:.08em}.language-options{position:absolute;top:calc(100% + 11px);right:0;width:170px;padding:7px;background:#11100ef7;border:1px solid #ffffff2b;box-shadow:0 12px 32px #0005}.language-options[hidden]{display:none}.language-options button{display:flex;align-items:center;gap:13px;width:100%;padding:11px 12px;border:0;background:none;color:#ddd;text-align:left;font:500 .82rem Manrope,sans-serif;cursor:pointer}.language-options button:hover,.language-options button:focus-visible{background:#ffffff12;outline:none}.language-options button[aria-pressed="true"]{color:#e1bd84}.language-options b{width:25px;font-size:.7rem;letter-spacing:.08em}.language-toggle:focus-visible{outline:1px solid #e1bd84;outline-offset:2px}@media(max-width:760px){.header-controls{gap:7px}.language-toggle{padding:7px 3px}.current-language{display:none}.language-options{right:-44px;top:calc(100% + 14px)}}

.location-block{margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}.location-block h3{font:500 1.6rem 'Playfair Display',serif}.location-block p{max-width:620px;line-height:1.7}.location-block iframe{display:block;width:100%;height:320px;margin-top:22px;border:0;filter:grayscale(.35)}.location-note{font-size:.85rem;color:#6f6b65}
