/* Additions are isolated under cabinet-. Original theme classes are not edited. */
.cabinet-site { color:#252520; background:#fff; box-shadow:none; --cabinet-ink:#252520; --cabinet-muted:#6c6b64; --cabinet-line:#d9d8d2; --cabinet-paper:#f4f3ef; }
.cabinet-site :focus-visible { outline:2px solid #8d703f; outline-offset:5px; }
.cabinet-site [hidden] { display:none!important; }
.cabinet-site section[id] { scroll-margin-top:100px; }
.cabinet-skip { position:fixed; top:-100px; left:20px; z-index:1000; padding:15px; background:white; color:black; }
.cabinet-skip:focus { top:10px; }
.cabinet-prototype { background:#eeece6; color:#59564e; font-size:10px; letter-spacing:.09em; }
.cabinet-prototype-inner { min-height:34px; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.cabinet-prototype a { color:#59564e; letter-spacing:0; }
.cabinet-header { border-bottom:1px solid #eeede9; }
.cabinet-header-inner { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.cabinet-header-inner>.logo { flex-shrink:0; }
.cabinet-desktop-nav { display:flex; gap:25px; }
.cabinet-desktop-nav a { color:#41413b; font-size:12px; }
.cabinet-desktop-nav a[aria-current] { color:#8b713f; }
.cabinet-header-cta { color:#252520; font-size:12px; border-bottom:1px solid #c4a66b; padding:10px 0; display:flex; gap:20px; }
.cabinet-menu-toggle { display:none; border:0; background:transparent; font-size:27px; color:#252520; }
.cabinet-mobile-nav { padding:12px 24px 25px; border-top:1px solid #ddd; background:white; }
.cabinet-mobile-nav a { display:block; padding:12px 0; color:#252520; }
.cabinet-intro { padding-top:30px; }
.cabinet-breadcrumb { display:flex; gap:12px; font-size:10px; color:#77776c; flex-wrap:wrap; }
.cabinet-breadcrumb a { color:inherit; }
.cabinet-intro-grid { display:grid; grid-template-columns:1.5fr 1fr; align-items:end; gap:80px; padding:58px 0 42px; }
.cabinet-eyebrow { font-size:10px; letter-spacing:.16em; line-height:1.7; margin:0 0 22px; color:#7b715d; font-weight:500; }
.cabinet-intro h1 { font-size:clamp(36px,4.3vw,64px); letter-spacing:-.045em; line-height:1.13; margin:0; font-weight:400; }
.cabinet-intro h1 span { color:#8b8a80; }
.cabinet-intro-copy { max-width:380px; margin-left:auto; padding-bottom:3px; font-size:14px; line-height:1.8; }
.cabinet-intro-copy p { margin-bottom:23px; }
.cabinet-text-link { display:inline-flex; gap:35px; justify-content:space-between; color:#252520; border-bottom:1px solid #aaa38f; padding:9px 0; font-size:12px; font-weight:500; }
.cabinet-text-link:hover { color:#8b713f; }
.cabinet-placeholder { position:relative; display:block; margin:0; min-width:0; background:#efeee9; color:#66665d; border:1px solid #a7a69e; overflow:hidden; }
.cabinet-placeholder::before,.cabinet-placeholder::after { content:''; position:absolute; width:140%; height:1px; top:50%; left:-20%; background:currentColor; opacity:.07; transform:rotate(30deg); pointer-events:none; }
.cabinet-placeholder::after { transform:rotate(-30deg); }
.cabinet-placeholder-dark { background:#34352f; border-color:#34352f; color:#e1e0d7; }
.cabinet-tone-2 { background:#e7e5de; }
.cabinet-tone-3 { background:#dcded8; }
.cabinet-photo-id { position:absolute; top:19px; left:20px; right:15px; z-index:1; font-size:9px; line-height:1.6; letter-spacing:.09em; }
.cabinet-placeholder-center { position:absolute; inset:50% 20px auto; transform:translateY(-50%); display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; z-index:1; }
.cabinet-placeholder-center strong { font-size:17px; font-weight:400; }
.cabinet-placeholder-center>span { font-size:10px; max-width:320px; line-height:1.8; }
.cabinet-placeholder-center small { max-width:240px; font-size:10px; line-height:1.8; }
.cabinet-frame-icon { width:43px; height:29px; border:1px solid currentColor; margin-bottom:9px; opacity:.6; }
.cabinet-hero { height:525px; }
.cabinet-hero-caption { position:absolute; bottom:32px; left:35px; right:35px; display:flex; justify-content:space-between; align-items:end; }
.cabinet-hero-caption>span { font-size:21px; line-height:1.5; letter-spacing:-.025em; }
.cabinet-hero-caption a { color:inherit; border:1px solid #b1b1a7; border-radius:50%; width:43px; height:43px; display:grid; place-items:center; }
.cabinet-hero-meta { display:flex; justify-content:space-between; gap:20px; padding-top:16px; font-size:10px; color:#72736a; }
.cabinet-section { padding-top:95px; padding-bottom:95px; }
.cabinet-section-heading { display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:36px; }
.cabinet-site h2 { font-size:clamp(28px,3vw,43px); letter-spacing:-.04em; line-height:1.2; margin:0; font-weight:400; }
.cabinet-section-heading>p { font-size:12px; line-height:1.8; color:#6c6b64; margin:0 0 3px; max-width:310px; }
.cabinet-direction-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:25px; row-gap:31px; }
.cabinet-direction { display:block; color:#252520; min-width:0; }
.cabinet-direction-wide { grid-column:span 2; }
.cabinet-direction .cabinet-placeholder { height:555px; transition:background-color .2s; }
.cabinet-direction:hover .cabinet-placeholder { background:#e0dacf; }
.cabinet-direction-small .cabinet-placeholder { height:260px; }
.cabinet-direction-caption { display:flex; justify-content:space-between; align-items:center; padding:16px 0 0; }
.cabinet-direction-caption h3 { font-size:20px; letter-spacing:-.025em; margin:0; }
.cabinet-direction-caption>span { font-size:22px; color:#8b713f; }
.cabinet-whole-section { background:var(--cabinet-paper); padding:75px 0; }
.cabinet-whole-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:100px; align-items:center; }
.cabinet-whole-grid h2 { font-size:clamp(35px,4vw,56px); }
.cabinet-large-copy { font-size:20px; line-height:1.5; margin:28px 0 22px; letter-spacing:-.025em; }
.cabinet-whole-grid p:not(.cabinet-eyebrow):not(.cabinet-large-copy) { color:#68685f; font-size:12px; line-height:1.9; max-width:450px; }
.cabinet-whole-photo { height:590px; }
.cabinet-project-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:27px 38px; align-items:start; }
.cabinet-project { padding:0; background:none; border:0; color:#252520; text-align:left; width:100%; }
.cabinet-project .cabinet-placeholder { aspect-ratio:1.8; }
.cabinet-project-tall { grid-row:span 2; }
.cabinet-project-tall .cabinet-placeholder { aspect-ratio:.71; }
.cabinet-project-detail { width:66%; margin-left:auto; }
.cabinet-project-detail .cabinet-placeholder { aspect-ratio:1.5; }
.cabinet-project-caption { display:flex; justify-content:space-between; gap:15px; padding-top:14px; font-size:12px; }
.cabinet-project-caption>span { color:#818176; font-size:9px; max-width:170px; }
.cabinet-zoom { position:absolute; bottom:12px; right:16px; font-size:23px; }
.cabinet-annotation { color:#79796e; font-size:10px; line-height:1.8; max-width:630px; margin:28px 0 0; }
.cabinet-process-section { border-top:1px solid var(--cabinet-line); border-bottom:1px solid var(--cabinet-line); padding:80px 0; }
.cabinet-process-grid { display:grid; grid-template-columns:1fr 1.35fr; gap:90px; }
.cabinet-process-intro>p:not(.cabinet-eyebrow) { font-size:12px; color:#6c6b64; line-height:1.9; max-width:315px; margin:25px 0; }
.cabinet-timing { padding:24px 0 0; border-top:1px solid var(--cabinet-line); max-width:315px; display:flex; flex-direction:column; gap:12px; }
.cabinet-timing strong { font-size:24px; font-weight:400; letter-spacing:-.035em; }
.cabinet-timing span { font-size:10px; line-height:1.8; color:#6c6b64; }
.cabinet-step { border-bottom:1px solid var(--cabinet-line); }
.cabinet-step:first-child { border-top:1px solid var(--cabinet-line); }
.cabinet-step summary { list-style:none; display:flex; align-items:center; gap:25px; padding:24px 0; cursor:pointer; }
.cabinet-step summary::-webkit-details-marker { display:none; }
.cabinet-step summary>span { color:#9c8a68; font-size:10px; }
.cabinet-step h3 { font-size:17px; letter-spacing:-.02em; margin:0; flex:1; }
.cabinet-step i { font-size:24px; font-style:normal; font-weight:300; color:#7e7d72; }
.cabinet-step[open] i { transform:rotate(45deg); }
.cabinet-step>div { padding:0 35px 22px 40px; font-size:12px; line-height:1.9; color:#66675e; }
.cabinet-step>div p:last-child { margin-bottom:0; }
.cabinet-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.cabinet-scenario-tabs { display:flex; gap:12px; flex-wrap:wrap; margin:4px 0 32px; }
.cabinet-scenario { background:white; border:1px solid #cdcdc3; border-radius:30px; padding:13px 18px; font-size:11px; color:#5c5d52; }
.cabinet-scenario.is-active { color:#fff; background:#34352f; border-color:#34352f; }
.cabinet-scenario-content h3 { font-size:23px; letter-spacing:-.035em; margin:0 0 20px; }
.cabinet-scenario-content p { font-size:13px; line-height:1.9; max-width:395px; }
.cabinet-small-note { max-width:375px; font-size:10px; line-height:1.8; color:#767769; margin-top:26px; }
.cabinet-demo-form label { display:block; font-size:10px; color:#737469; margin:15px 0 2px; }
.cabinet-demo-form input,.cabinet-demo-form textarea { width:100%; min-width:0; background:transparent; border:0; border-bottom:1px solid #cfcfc5; padding:10px 0; font-size:12px; color:#252520; border-radius:0; resize:vertical; }
.cabinet-demo-form input::placeholder,.cabinet-demo-form textarea::placeholder { color:#95968c; font-size:11px; }
.cabinet-form-note { font-size:10px; color:#79745e; padding:12px 15px; background:#f4f2e9; margin:0 0 8px; }
.cabinet-attachment { display:flex; gap:10px; background:none; border:0; padding:19px 0; color:#6e6d62; font-size:11px; text-align:left; }
.cabinet-submit { display:flex; justify-content:space-between; align-items:center; width:100%; border-radius:0; padding:15px 22px; font-size:12px; color:#26241f; }
.cabinet-form-result { font-size:11px; line-height:1.8; color:#665a42; margin:12px 0 0; }
.cabinet-footer { padding:55px 0 20px; }
.cabinet-footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:60px; padding-bottom:40px; }
.cabinet-footer-grid img { filter:invert(1); opacity:.92; max-width:100%; }
.cabinet-footer-grid>div p { font-size:11px; color:#acaca4; margin:25px 0 0; line-height:1.9; }
.cabinet-footer nav a { display:block; color:#d4d4cc; font-size:11px; padding:7px 0; }
.cabinet-footer .cabinet-eyebrow { color:#a8a18b; margin-bottom:13px; }
.cabinet-footer-bottom { border-top:1px solid #53534b; padding-top:20px; display:flex; justify-content:space-between; gap:20px; color:#a5a59b; font-size:9px; }
.cabinet-footer-bottom a { color:inherit; }
.cabinet-gallery { width:min(900px,92vw); padding:35px; border:0; background:#f7f6f2; color:#252520; }
.cabinet-gallery::backdrop { background:#141510b8; }
.cabinet-gallery h2 { font-size:25px; margin-bottom:24px; }
.cabinet-gallery-close { position:absolute; top:15px; right:20px; border:0; background:none; font-size:30px; color:#252520; }
.cabinet-gallery-placeholder { height:min(52vh,420px); }
.cabinet-gallery-controls { display:flex; justify-content:center; align-items:center; gap:35px; margin-top:20px; font-size:12px; }
.cabinet-gallery-controls button { padding:5px 16px; font-size:22px; border:1px solid #b3b3a6; background:transparent; }
.cabinet-direction-intro { padding-bottom:45px; }
.cabinet-direction-hero { height:540px; }
.cabinet-direction-subnav { display:flex; gap:12px 22px; flex-wrap:wrap; padding:22px 0 0; }
.cabinet-direction-subnav a { font-size:11px; color:#69695f; }
.cabinet-direction-subnav a[aria-current] { color:#886d3e; border-bottom:1px solid; }
.cabinet-two-photos { display:grid; grid-template-columns:1.5fr 1fr; gap:30px; align-items:center; }
.cabinet-two-photos .cabinet-placeholder:first-child { height:400px; }
.cabinet-two-photos .cabinet-placeholder:last-child { height:490px; }
.cabinet-direction-note { font-size:12px; color:#77766d; line-height:1.8; max-width:700px; margin:25px 0 0; }
.cabinet-simple-cta { background:#f1f0eb; padding:60px; margin-bottom:80px; display:flex; gap:40px; align-items:center; justify-content:space-between; }
.cabinet-simple-cta p { max-width:600px; font-size:13px; line-height:1.8; margin:20px 0 0; }
.cabinet-guide { max-width:950px; padding-top:55px; padding-bottom:80px; }
.cabinet-guide h1 { font-size:42px; letter-spacing:-.04em; margin-bottom:28px; }
.cabinet-guide h2 { font-size:26px; margin:50px 0 20px; }
.cabinet-guide p,.cabinet-guide li { font-size:13px; line-height:1.9; }
.cabinet-table-wrap { overflow:auto; }
.cabinet-guide table { width:100%; min-width:600px; font-size:12px; }
.cabinet-guide th,.cabinet-guide td { border-bottom:1px solid #d7d6ce; padding:14px 12px; vertical-align:top; }
.cabinet-guide th { background:#f0eee7; font-weight:500; }
@media(min-width:1600px) { .cabinet-hero { height:580px; } }
@media(max-width:1199px) { .cabinet-desktop-nav { gap:17px; } .cabinet-desktop-nav a { font-size:11px; } .cabinet-header-inner { gap:20px; } .cabinet-intro-grid { gap:45px; } .cabinet-whole-grid,.cabinet-contact-grid,.cabinet-process-grid { gap:50px; } }
@media(max-width:991px) { .cabinet-desktop-nav { display:none; } .cabinet-menu-toggle { display:block; } .cabinet-header-cta { margin-left:auto; } .cabinet-header-inner { min-height:72px; } .cabinet-intro-grid { gap:32px; grid-template-columns:1.25fr 1fr; padding:38px 0; } .cabinet-intro h1 { font-size:39px; } .cabinet-intro-copy { font-size:12px; } .cabinet-hero { height:440px; } .cabinet-section { padding-top:65px; padding-bottom:65px; } .cabinet-section-heading { gap:30px; } .cabinet-direction-grid { gap:24px 18px; } .cabinet-direction .cabinet-placeholder { height:285px; } .cabinet-direction-small .cabinet-placeholder { height:220px; } .cabinet-placeholder-center strong { font-size:14px; } .cabinet-photo-id { font-size:8px; left:13px; } .cabinet-whole-grid,.cabinet-contact-grid,.cabinet-process-grid { gap:35px; } .cabinet-whole-photo { height:550px; } .cabinet-whole-section,.cabinet-process-section { padding:60px 0; } .cabinet-project-caption { display:block; } .cabinet-project-caption>span { display:block; margin-top:6px; max-width:none; } .cabinet-step summary { gap:16px; } .cabinet-step h3 { font-size:15px; } .cabinet-step>div { padding-left:29px; padding-right:0; } .cabinet-footer-grid { gap:25px; } .cabinet-footer .cabinet-eyebrow { letter-spacing:.07em; } .cabinet-simple-cta { padding:35px; } }
@media(max-width:575px) { .cabinet-site .container { padding-left:22px; padding-right:22px; } .cabinet-prototype-inner { min-height:36px; gap:12px; } .cabinet-prototype span { font-size:7px; letter-spacing:.06em; max-width:185px; } .cabinet-prototype a { font-size:9px; text-align:right; max-width:110px; } .cabinet-header-inner { min-height:67px; gap:16px; } .cabinet-header-cta { font-size:9px; gap:9px; } .cabinet-header .logo { max-width:115px; } .cabinet-menu-toggle { padding:0; font-size:25px; } .cabinet-intro { padding-top:23px; } .cabinet-intro-grid { grid-template-columns:1fr; gap:22px; padding:31px 0 27px; } .cabinet-eyebrow { font-size:8px; margin-bottom:17px; } .cabinet-intro h1 { font-size:36px; } .cabinet-intro-copy { margin:0; max-width:340px; font-size:12px; } .cabinet-intro-copy p { margin-bottom:10px; } .cabinet-hero { height:425px; } .cabinet-hero-caption { left:20px; right:20px; bottom:24px; gap:10px; } .cabinet-hero-caption>span { font-size:16px; } .cabinet-hero-caption a { flex-shrink:0; width:34px; height:34px; } .cabinet-hero-meta { flex-direction:column; gap:7px; font-size:8px; line-height:1.7; } .cabinet-hero .cabinet-placeholder-center { top:43%; } .cabinet-section { padding-top:54px; padding-bottom:54px; } .cabinet-section-heading { display:block; margin-bottom:27px; } .cabinet-section-heading>p { margin-top:18px; font-size:11px; } .cabinet-site h2 { font-size:30px; } .cabinet-direction-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 14px; } .cabinet-direction-wide { grid-column:span 2; } .cabinet-direction .cabinet-placeholder { height:240px; } .cabinet-direction-wide .cabinet-placeholder { height:215px; } .cabinet-direction-small .cabinet-placeholder { height:180px; } .cabinet-direction-small:last-child { grid-column:span 2; } .cabinet-direction-small:last-child .cabinet-placeholder { height:220px; } .cabinet-direction-caption { padding-top:10px; } .cabinet-direction-caption h3 { font-size:15px; } .cabinet-direction-caption>span { font-size:18px; } .cabinet-placeholder-center { left:12px; right:12px; gap:8px; } .cabinet-placeholder-center strong { font-size:13px; } .cabinet-placeholder-center>span { font-size:9px; } .cabinet-photo-id { font-size:7px; top:13px; left:12px; right:8px; } .cabinet-whole-grid,.cabinet-contact-grid,.cabinet-process-grid { grid-template-columns:1fr; gap:34px; } .cabinet-whole-section { padding:48px 0; } .cabinet-whole-grid h2 { font-size:40px; } .cabinet-whole-photo { height:395px; } .cabinet-large-copy { font-size:19px; } .cabinet-project-grid { grid-template-columns:1fr 1fr; gap:23px 15px; } .cabinet-project-tall { grid-row:auto; grid-column:span 2; width:83%; } .cabinet-project-tall .cabinet-placeholder { aspect-ratio:.8; } .cabinet-project-grid>.cabinet-project:nth-child(2) { grid-column:span 2; } .cabinet-project-detail { grid-column:span 2; width:72%; } .cabinet-project-caption { font-size:11px; } .cabinet-project-caption>span { font-size:8px; } .cabinet-process-section { padding:48px 0; } .cabinet-process-intro h2 br { display:none; } .cabinet-process-intro h2 br::after { content:' '; } .cabinet-process-intro h2 { max-width:300px; } .cabinet-timing { max-width:none; padding-top:19px; } .cabinet-timing strong { font-size:22px; } .cabinet-step summary { padding:20px 0; } .cabinet-step h3 { font-size:14px; } .cabinet-step>div { font-size:11px; } .cabinet-scenario { font-size:10px; padding:12px 14px; } .cabinet-scenario-tabs { gap:8px; margin-bottom:25px; } .cabinet-scenario-content h3 { font-size:23px; } .cabinet-footer { padding-top:40px; } .cabinet-footer-grid { grid-template-columns:1fr 1fr; gap:33px 20px; } .cabinet-footer-grid>div { grid-column:span 2; } .cabinet-footer .cabinet-eyebrow { font-size:8px; letter-spacing:.08em; } .cabinet-footer nav a { font-size:10px; } .cabinet-footer-bottom { flex-direction:column; gap:13px; font-size:8px; } .cabinet-gallery { padding:28px 20px; } .cabinet-gallery .cabinet-eyebrow { max-width:230px; } .cabinet-gallery h2 { font-size:22px; } .cabinet-direction-hero { height:390px; } .cabinet-two-photos { grid-template-columns:1fr; gap:22px; } .cabinet-two-photos .cabinet-placeholder:first-child { height:240px; } .cabinet-two-photos .cabinet-placeholder:last-child { width:80%; height:350px; margin-left:auto; } .cabinet-simple-cta { flex-direction:column; align-items:start; padding:32px 24px; margin:0 22px 50px; } .cabinet-guide h1 { font-size:34px; } }
@media(min-width:992px) and (max-width:1399px) { .cabinet-direction:not(.cabinet-direction-small) .cabinet-placeholder { height:435px; } }
@media(max-width:575px) { .cabinet-intro h1 { font-size:32px; } }
@media(prefers-reduced-motion:reduce) { .cabinet-site * { transition:none!important; scroll-behavior:auto!important; } }
