/* A quiet, consistent finish for the entire manufactory website. */
:root{--header-height:88px;--paper:#191b17;--white:#22251f;--sand:#24271f;--ink:#f0ede5;--muted:#b9baad;--wood:#c8b08d;--line:#44483c;--dark:#11140f}
.page-home{--paper:#191b17;--ink:#f0ede5;--muted:#b9baad;--wood:#c8b08d;--line:#44483c}
html{scroll-padding-top:calc(var(--header-height) + 24px)}
body{background:var(--paper);color:var(--ink)}
:focus-visible{outline:2px solid var(--wood);outline-offset:5px}
.skip-link{color:var(--paper);background:var(--ink)}
.arrow{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle}
.arrow svg{display:block;width:1em;height:1em;overflow:visible}
.card-arrow .arrow,.invitation-arrow .arrow{font-size:inherit}
.footer-up{display:inline-flex;transform:rotate(-45deg)}
.footer-up .arrow{font-size:15px}

/* One masthead, including the photographic opening pages. */
.site-header,.immersive .site-header,.page-home .site-header,.page-home:has(.closure-notice) .site-header,html:not(.js) .page-home .site-header{position:sticky;inset:0 0 auto;z-index:60;background:#191b17f5;border-bottom:1px solid #c8b08d30;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:box-shadow .25s,background .25s}
.site-header.is-scrolled{background:#191b17fa;box-shadow:0 10px 30px #0002}
html:not(.js) .site-header,html:not(.js) .immersive .site-header,html:not(.js) .page-home .site-header{position:relative}
.header-inner,.page-home .header-inner{position:relative;min-height:var(--header-height);max-width:calc(var(--content-width) + var(--gutter)*2);padding-block:15px;gap:24px;border:0;flex-wrap:nowrap}
.brand,.page-home .brand{gap:12px}
.brand img,.page-home .brand img{width:40px;height:40px}
.brand>span,.page-home .brand>span{font:500 16px/1 var(--sans);letter-spacing:.035em}
.brand small,.page-home .brand small{font-size:6.5px;letter-spacing:.19em;margin-top:9px;color:var(--muted)}
.site-nav,.page-home .site-nav{margin-left:auto;gap:26px;font-size:12px;font-weight:400}
.site-nav>a:not(.nav-contact),.nav-dropdown summary{display:flex;align-items:center;min-height:44px;padding-block:12px;line-height:1.4}
.site-nav>a:not(.nav-contact):hover,.nav-dropdown summary:hover{color:var(--wood)}
.site-nav [aria-current]:after{height:1px;bottom:5px;background:var(--wood)}
.nav-dropdown summary{gap:8px}
.nav-chevron{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.2;transition:transform .2s}
.nav-dropdown[open] .nav-chevron{transform:rotate(180deg)}
.site-nav .nav-contact,.page-home .site-nav .nav-contact{min-height:44px;gap:23px;padding:12px 16px;margin:0;border:1px solid #c8b08d88;background:transparent;color:var(--ink)!important;line-height:1.4;font-size:11px}
.site-nav .nav-contact:hover{background:var(--wood);color:var(--dark)!important;border-color:var(--wood)}
.nav-contact .arrow{font-size:18px}
.header-privacy{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:1px solid #c8b08d30;border-radius:50%;color:var(--muted);margin-left:-8px}
.header-privacy svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.header-privacy:hover{color:var(--wood);background:#c8b08d0c;border-color:#c8b08d88}

.dropdown-content,.page-home .dropdown-content{display:grid;grid-template-columns:minmax(0,1fr) 155px;gap:22px 26px;position:absolute;top:calc(100% + 13px);left:50%;transform:translateX(-50%);width:530px;min-width:0;padding:28px;background:#20231d;border:1px solid #c8b08d55;border-top:2px solid var(--wood);box-shadow:0 24px 55px #0006;border-radius:2px}
.dropdown-heading{grid-column:1/-1;display:flex;justify-content:space-between;align-items:start;gap:24px;padding-bottom:20px;border-bottom:1px solid #c8b08d28}
.dropdown-heading>span{font-size:8px;line-height:1.7;letter-spacing:.15em;text-transform:uppercase;color:var(--wood);max-width:150px;padding-top:4px}
.dropdown-heading p{font:400 25px/1.1 var(--serif);letter-spacing:-.02em;margin:0;max-width:240px}
.dropdown-content .dropdown-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #c8b08d20;min-height:60px}
.dropdown-content .dropdown-links a:first-child{padding-top:2px}
.dropdown-content .dropdown-links a:last-child{border:0;padding-bottom:0}
.dropdown-links strong{display:block;font-size:13px;font-weight:400;color:var(--ink)}
.dropdown-links small{display:block;font-size:10px;line-height:1.6;color:var(--muted);margin-top:5px}
.dropdown-links .arrow{font-size:18px;color:var(--wood)}
.dropdown-content .dropdown-links a:hover{background:transparent}
.dropdown-links a:hover strong{color:var(--wood)}
.dropdown-links a:hover .arrow{transform:translate(2px,-2px)}
.dropdown-photo{min-width:0;display:flex;flex-direction:column;gap:12px}
.dropdown-photo img{width:100%;height:182px;object-fit:cover;border-radius:1px}
.dropdown-photo>span{font-size:8px;line-height:1.6;color:var(--muted);letter-spacing:.03em}

/* Fine rules, measured type and frames let the actual work lead. */
.breadcrumbs{font-size:10px;line-height:1.6;padding-top:10px;color:#aaae9e}
.breadcrumbs>span{padding-top:8px}
.page-intro,.imprint-intro{padding-block:38px 42px}
.page-intro h1,.service-hero h1,.interior-introduction h1{letter-spacing:-.025em}
.page-intro .lead,.service-hero .lead,.interior-introduction .lead{color:var(--muted);line-height:1.85}
.eyebrow,.studio-label{color:var(--wood);letter-spacing:.15em}
.button{min-height:52px;border-color:#c8b08d88;border-radius:2px;line-height:1.5}
.button:hover{background:var(--wood);color:var(--dark);border-color:var(--wood)}
.button.outline:hover{background:var(--ink);color:var(--paper)}
.button:disabled:hover{background:transparent;color:var(--ink);border-color:#c8b08d88}
.text-link{border-color:#c8b08d60}
.service-hero figure img,.feature-inner figure img,.material-main .material-frame,.material-aside figure img,.philosophy-lead figure img,.material-explained figure img,.people-editorial img,.team-wide img,.contact-info figure img{border-radius:3px;outline:1px solid #c8b08d28;outline-offset:-1px}
.service-hero figcaption,.interior-cover figcaption,.detail-gallery figcaption,.interior-gallery figcaption{font-size:11px;line-height:1.75;margin-top:13px;color:var(--muted)}
.service-intro{border-top:1px solid #c8b08d30}
.numbered-text>span,.journey-number,.index-number{color:var(--wood)}
.faq-list details{border-color:#c8b08d40}
.faq-list summary{line-height:1.6}
.faq-list details p{color:var(--muted);line-height:1.85}
.project-collection{gap:46px 36px}
.project-image,.interior-cover .zoom-image,.interior-gallery .zoom-image,.detail-gallery .zoom-image{border:1px solid #c8b08d28;border-radius:3px;overflow:hidden;transition:border-color .25s}
.project-card:hover .project-image{border-color:#c8b08d88}
.project-collection .project-caption{padding-top:20px;gap:20px;align-items:start}
.project-caption .eyebrow{font-size:9px;margin-bottom:10px}
.project-collection .project-caption h3{font-size:clamp(28px,2.6vw,36px);line-height:1.12;letter-spacing:-.02em}
.project-caption .card-arrow{width:37px;height:37px;font-size:18px;display:grid;place-items:center;border:1px solid #c8b08d50;border-radius:50%;flex-shrink:0;color:var(--wood);margin-top:4px}
.project-card:hover .card-arrow{background:#c8b08d15}
.project-summary{color:var(--muted);line-height:1.85;max-width:58ch}
.filters{border-bottom:1px solid #c8b08d28;gap:28px}
.filter{padding-block:13px;min-height:44px}
.filter.active{color:var(--wood);border-color:var(--wood)}
.inquiry{border:1px solid #c8b08d35;border-top:2px solid #c8b08d88;border-radius:3px;background:#20231d}
.inquiry input,.inquiry select,.inquiry textarea{border-color:#626657;background:#20231d;border-radius:1px}
.inquiry input:focus,.inquiry select:focus,.inquiry textarea:focus{border-color:var(--wood)}
.contact-info h2{color:var(--wood)}
.contact-info .contact-phone{font-size:clamp(27px,2.5vw,36px)}
.legal-content h2{font:500 clamp(26px,2.3vw,32px)/1.25 var(--serif);letter-spacing:-.02em;padding-top:25px;border-top:1px solid #c8b08d28;margin-top:35px}
.legal-content h2:first-child{margin-top:0}
.legal-content p,.legal-content li{color:var(--muted)}
.legal-content strong{color:var(--ink)}
.legal-content a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#c8b08d70;color:var(--ink)}
.inquiry-direct{padding:42px;align-self:start}
.inquiry-direct>h2{font-size:clamp(42px,4.1vw,59px);line-height:1.05;margin:0 0 26px}
.inquiry-direct .eyebrow{margin-bottom:22px}
.inquiry-intro{font-size:14px;line-height:1.85;color:var(--muted);max-width:48ch;margin-bottom:30px}
.inquiry-options{border-top:1px solid #c8b08d35}
.inquiry-options>a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:86px;padding-block:20px;border-bottom:1px solid #c8b08d35}
.inquiry-options small{display:block;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--wood);margin-bottom:6px}
.inquiry-options strong{font-size:clamp(16px,1.6vw,23px);font-weight:400;line-height:1.5;overflow-wrap:anywhere}
.inquiry-options .arrow{font-size:22px;color:var(--wood)}
.inquiry-options>a:hover{color:var(--wood)}
.inquiry-note{font-size:12px;color:var(--muted);line-height:1.8;margin:27px 0 0;max-width:50ch}
.inquiry-availability{font-size:10px;line-height:1.75;color:var(--muted);margin:26px 0 0;padding-top:20px;border-top:1px solid #c8b08d28}
.final-cta{border-color:#c8b08d35}
.cta-orbit{border-color:#c8b08d88;background:#c8b08d05}
.cta-orbit:hover{background:var(--wood);color:var(--dark)}
.site-footer{background:var(--dark);border-top:1px solid #c8b08d35}
.footer-top{padding-block:58px;gap:40px}
.footer-brand .brand>span{font-size:16px;letter-spacing:.035em}
.footer-top h2{color:var(--wood);font-size:9px;letter-spacing:.15em;margin-bottom:20px}
.footer-top nav a{min-height:36px;font-size:12px;padding-block:6px;color:var(--muted)}
.footer-top address,.footer-top>div:not(:first-child)>p,.footer-brand p{font-size:12px;line-height:1.85;color:var(--muted)}
.footer-top a:hover{color:var(--ink);text-decoration-color:var(--wood)}
.footer-bottom{border-color:#c8b08d28;font-size:10px;color:var(--muted);padding-block:18px}
.footer-bottom>div{gap:24px}
.footer-bottom a{gap:10px;min-height:44px}

/* Give the opening photograph room below the persistent masthead. */
.hero-stage{height:calc(100svh - var(--header-height));min-height:620px}
.motion-ready .hero-stage{top:var(--header-height)}
.page-home .hero-content,.page-home:has(.closure-notice) .hero-content{padding-top:clamp(54px,8svh,85px)}
.closure-notice{background:#282b23;color:var(--ink);border-bottom:1px solid #c8b08d40;padding-block:13px}
.closure-notice p{font-size:12px;color:var(--muted)}
.closure-notice strong{font-weight:500;color:var(--ink)}
.page-manufaktur .gallery-hero-content{padding-top:76px}
.project-orbit{border-color:#c8b08d99}
.invitation-arrow{display:inline-flex;font-size:clamp(54px,7vw,110px)}

@media(min-width:1051px) and (max-width:1230px){
 .header-inner,.page-home .header-inner{gap:18px}
 .site-nav,.page-home .site-nav{gap:17px;font-size:11px}
 .brand>span,.page-home .brand>span{font-size:14px}
 .brand img,.page-home .brand img{width:36px;height:36px}
 .site-nav .nav-contact{padding-inline:12px;gap:14px;font-size:10px}
}
@media(max-width:1050px){
 :root{--header-height:80px}
 body.menu-open{overflow:hidden}
 .header-inner,.page-home .header-inner{flex-wrap:wrap;gap:10px;padding-block:12px}
 .brand{order:0;margin-right:auto}
 .header-privacy{order:1;margin:0;width:44px;height:44px}
 .menu-toggle{order:2;display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 0 10px 12px;color:var(--ink)}
 .menu-lines{width:23px;height:12px;background:transparent;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
 .menu-toggle[aria-expanded=true] .menu-lines{height:0;border-bottom:0;transform:rotate(45deg)}
 .site-nav,.page-home .site-nav{order:3;margin:0;width:100%;align-items:stretch;flex-direction:column;gap:0;font-size:16px;padding:12px 0 22px}
 .js .site-nav,.js .page-home .site-nav{position:absolute;top:var(--header-height);left:0;right:0;width:100%;margin:0;padding:12px var(--gutter) 28px;background:#1d201a;border-top:1px solid #c8b08d30;border-bottom:1px solid #c8b08d55;min-height:calc(100svh - var(--header-height));max-height:calc(100svh - var(--header-height));overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 30px #0004}
 .site-nav>a:not(.nav-contact),.nav-dropdown summary{font-size:17px;min-height:57px;padding-block:17px;border-bottom:1px solid #c8b08d25;font-weight:400}
 .nav-dropdown summary{justify-content:space-between}
 .nav-chevron{width:18px;height:18px}
 .dropdown-content,.page-home .dropdown-content{position:static;transform:none;display:block;width:auto;margin:0;padding:5px 18px 16px;background:#c8b08d05;border:0;border-left:1px solid #c8b08d66;box-shadow:none;border-radius:0}
 .dropdown-heading,.dropdown-photo{display:none}
 .dropdown-content .dropdown-links a,.dropdown-content .dropdown-links a:first-child,.dropdown-content .dropdown-links a:last-child{padding-block:14px;min-height:56px}
 .dropdown-links strong{font-size:14px}
 .dropdown-links small{font-size:11px}
 .site-nav .nav-contact,.page-home .site-nav .nav-contact{margin:24px 0 0;width:100%;justify-content:space-between;min-height:50px;padding:14px 18px;font-size:12px}
 .site-nav [aria-current]:after{display:none}
 .site-header:has(.is-open){background:#1d201a}
 .footer-top{gap:32px}
 .footer-bottom{align-items:start}
 .footer-bottom>div{gap:8px 20px}
}
@media(max-width:700px){
 :root{--header-height:76px}
 .header-inner,.page-home .header-inner{padding-block:10px;gap:8px}
 .brand img,.page-home .brand img{width:33px;height:33px}
 .brand,.page-home .brand{gap:9px}
 .brand>span,.page-home .brand>span{font-size:13px;letter-spacing:.015em}
 .brand small,.page-home .brand small{font-size:5.5px;letter-spacing:.15em;margin-top:7px}
 .menu-toggle{padding-left:6px;gap:9px;font-size:11px}
 .header-privacy{width:38px;border-color:transparent}
 .page-intro,.imprint-intro{padding-block:26px 32px}
 .page-intro .lead{font-size:14px}
 .inquiry-direct{padding:28px 22px}
 .inquiry-direct>h2{font-size:42px}
 .inquiry-options strong{font-size:17px}
 .breadcrumbs{font-size:9px}
 .project-collection{gap:34px}
 .project-collection .project-caption{padding-top:17px;gap:14px}
 .project-collection .project-caption h3{font-size:30px}
 .project-caption .card-arrow{width:33px;height:33px;font-size:16px}
 .filters{gap:0 22px}
 .filter{font-size:11px}
 .footer-top{padding-block:38px;gap:30px 24px}
 .footer-bottom{display:block;padding-block:19px}
 .footer-bottom>div{margin-top:10px;gap:0 18px}
 .footer-bottom a{font-size:10px}
 .hero-stage{height:calc(100svh - var(--header-height));min-height:580px}
 .page-home .hero-content,.page-home:has(.closure-notice) .hero-content{padding-top:42px}
 .closure-notice{padding-block:11px}
 .closure-notice p{font-size:11px;line-height:1.7}
 .page-manufaktur .gallery-hero-content{padding-top:62px}
 .invitation-arrow{font-size:54px}
}
@media(max-width:360px){
 .header-inner{gap:5px}
 .brand>span,.page-home .brand>span{font-size:12px}
 .brand img,.page-home .brand img{width:30px;height:30px}
 .menu-word{display:none}
 .header-privacy{width:34px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .site-header,.nav-chevron,.project-image,.arrow{transition:none}
}
