/* P&D Build&Remodel | Audited 2026-10-09
   One design system. No patch layers or animation-dependent visibility. */
:root {
  color-scheme: dark;
  --navy: #08192c;
  --page: #111f2e;
  --panel: #203447;
  --panel-deep: #152638;
  --ink: #f4f6f8;
  --muted: #cbd6e0;
  --blue: #0098f8;
  --blue-readable: #33b0ff;
  --blue-button: #006ec6;
  --brass: #c4a16c;
  --brass-light: #dfbf8b;
  --line: rgba(196,161,108,.43);
  --stile: 28px;
  --rail-top: 40px;
  --rail-bottom: 22px;
  --gutter: clamp(14px,3vw,36px);
  --content: 1160px;
}
* { box-sizing: border-box; }
/* The only !important: hidden must also hide flex/grid components. */
[hidden] { display: none !important; }
html { background: var(--page); scroll-behavior: smooth; scroll-padding-top: 24px; scrollbar-gutter: stable; }
body { position: relative; margin: 0; padding: var(--rail-top) var(--stile) var(--rail-bottom); background: var(--page); color: var(--ink); font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; line-height: 1.5; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button { font: inherit; color: inherit; cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .65; }
button, a, summary { -webkit-tap-highlight-color: rgba(0,152,248,.22); }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--blue); outline-offset: 5px; }
figure { margin: 0; min-width: 0; }
p { margin: 0 0 1em; }
h1,h2,h3 { text-wrap: balance; }
.container { width: min(var(--content),calc(100% - var(--gutter) * 2)); margin-inline: auto; }
main, .header, .footer, .preview-tools { position: relative; z-index: 1; }
section, article[id] { scroll-margin-top: 24px; }
.skip-link { position: fixed; z-index: 300; left: 20px; top: -100px; padding: 12px 18px; background: var(--brass-light); color: var(--navy); }
.skip-link:focus { top: 16px; }
.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; }
/* Decorative Shaker frame belongs to the document, never the viewport. */
.wood-surround { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.wood-surround .stile,.wood-surround .rail { position: absolute; background-color: #211614; background-repeat: repeat; border: 0; border-radius: 0; box-shadow: none; }
.wood-surround .stile { top: 0; bottom: 0; width: var(--stile); background-image: url("assets/kona-vertical.webp"); background-size: 260px 269px; background-position: center top; }
.wood-surround .left { left: 0; }
.wood-surround .right { right: 0; }
.wood-surround .rail { left: var(--stile); right: var(--stile); background-image: url("assets/kona-horizontal.webp"); background-size: 269px 260px; background-position: left center; }
.wood-surround .top { top: 0; height: var(--rail-top); }
.wood-surround .bottom { bottom: 0; height: var(--rail-bottom); }
.brass-inlay { position: absolute; inset: var(--rail-top) var(--stile) var(--rail-bottom); border: 1px solid var(--line); z-index: 2; pointer-events: none; }
/* Masthead */
.header { background: linear-gradient(110deg,#071626,#102b45 54%,#091c30); border-bottom: 1px solid var(--line); }
.header-inner { min-height: 104px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.identity { display: flex; align-items: center; gap: 16px; min-width: 0; flex-shrink: 0; }
.brand-mark { width: 80px; height: 76px; display: flex; align-items: center; justify-content: center; flex: none; }
.brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.brand-name { font: 400 22px/1.15 Georgia,"Times New Roman",serif; letter-spacing: .045em; }
.identity small { display: block; font-size: 9px; font-weight: 700; letter-spacing: .2em; color: var(--brass-light); margin-top: 9px; }
.nav { display: flex; align-items: center; gap: 20px; font-size: 13px; }
.nav a { padding-block: 12px; }
.nav .quote { border: 1px solid var(--brass); color: #ead8b7; padding: 13px 16px; border-radius: 2px; font-weight: 650; white-space: nowrap; }
.mobile-nav { display: none; border-top: 1px solid var(--line); padding: 0 var(--gutter) 8px; }
.mobile-nav summary { cursor: pointer; padding: 10px 0; font-size: 12px; color: var(--brass-light); min-height: 44px; }
.mobile-nav nav { display: flex; flex-wrap: wrap; gap: 6px 22px; padding: 4px 0 10px; }
.mobile-nav a { min-height: 44px; display: inline-flex; align-items: center; font-size: 13px; }
/* Hero */
.hero { position: relative; overflow: hidden; background: var(--navy); min-height: 650px; display: flex; align-items: center; color: white; }
.hero-photo { position: absolute; inset: 0; }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 50%; }
.hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg,rgba(8,23,39,.96),rgba(8,23,39,.9) 34%,rgba(8,23,39,.45) 85%),linear-gradient(0deg,rgba(8,23,39,.45),transparent 70%); }
.hero-content { position: relative; z-index: 1; padding: 94px 0 105px; }
.eyebrow,.kicker,.section-label { color: var(--blue-readable); font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.hero .eyebrow { color: #a6c9e8; }
.hero h1 { font-size: clamp(44px,6.8vw,88px); line-height: 1.04; letter-spacing: -.05em; max-width: 850px; margin: 24px 0; }
.hero h1 em { font-style: normal; color: var(--blue); }
.hero p { color: #d7e6f7; line-height: 1.8; font-size: 18px; max-width: 540px; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 49px; padding: 13px 19px; background: var(--blue-button); color: white; border: 1px solid transparent; border-radius: 5px; font-weight: 750; font-size: 14px; text-align: center; transition: transform .2s,box-shadow .2s,background .2s; }
.button.outline { background: rgba(255,255,255,.045); border-color: var(--brass); color: #f2e2c8; }
.eyeline { height: 3px; background: linear-gradient(90deg,var(--blue),#1b70b3,var(--brass)); }
.section-title { font-size: clamp(32px,4.8vw,60px); line-height: 1.1; letter-spacing: -.045em; margin: 13px 0 18px; color: var(--ink); overflow-wrap: anywhere; }
.section-title em { font-family: Georgia,"Times New Roman",serif; font-weight: 400; color: var(--blue); }
.body-copy { font-size: 16px; color: var(--muted); line-height: 1.85; }
.intro,.services-section,.portfolio,.gallery-section,.process-section,.feature,.contact { padding: 90px 0; }
.intro { background: linear-gradient(125deg,#1d3041,#142536 58%,#203447); }
.intro-grid,.feature-grid,.process-wrap { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 50px; align-items: start; }
.intro-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.stat { padding: 25px; background: #263b4e; border: 1px solid var(--line); border-radius: 5px; }
.stat strong { display: block; font-size: 18px; margin-bottom: 9px; }
.stat span { display: block; font-size: 13px; line-height: 1.65; color: var(--muted); }
.services-section { background: linear-gradient(165deg,#152637,#213649 55%,#152638); }
.services-head { display: grid; grid-template-columns: 1.3fr .7fr; gap: 45px; align-items: end; margin-bottom: 30px; }
.services-head .section-title { margin-bottom: 0; }
.services-head .section-title span { color: var(--blue); }
.service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.service-card { border: 1px solid var(--line); border-radius: 5px; padding: 30px 26px 27px; background: #263b4e; display: flex; flex-direction: column; min-height: 275px; }
.service-no { font-size: 10px; color: var(--blue-readable); letter-spacing: .14em; font-weight: 800; }
.service-card h3 { font-size: 25px; letter-spacing: -.035em; line-height: 1.2; margin: 28px 0 8px; }
.service-card p { font-size: 14px; color: var(--muted); line-height: 1.75; flex: 1; }
.service-card a { font-size: 13px; font-weight: 700; color: var(--blue-readable); margin-top: 14px; padding-block: 10px; }
/* Showroom: captions never cover project photography. */
.showroom-section,.craft-section { position: relative; padding: clamp(76px,8vw,120px) 0; }
.showroom-section { background: linear-gradient(150deg,#17293a,#101e2d 60%,#1b3042); }
.showroom-intro,.craft-heading { display: flex; justify-content: space-between; align-items: end; gap: 32px; margin: 18px 0 32px; }
.showroom-intro .section-title,.craft-heading .section-title { margin-top: 0; }
.showroom-intro .body-copy { max-width: 620px; }
.text-link { color: var(--blue-readable); border-bottom: 1px solid var(--brass); padding: 10px 0; font-size: 14px; font-weight: 650; white-space: nowrap; }
.showroom-filters { display: none; flex-wrap: wrap; gap: 9px; margin: 24px 0 28px; }
html[data-scripts="ready"] .showroom-filters { display: flex; }
.filter-chip { appearance: none; border: 1px solid var(--line); background: #20364a; color: #e7eff6; border-radius: 2px; padding: 12px 17px; min-height: 44px; font-size: 13px; }
.filter-chip[aria-pressed="true"] { background: #b89a6a; color: #101b28; border-color: #b89a6a; }
.showroom-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px; }
.showroom-card { position: relative; display: flex; flex-direction: column; min-width: 0; background: var(--panel); border: 1px solid var(--line); overflow: hidden; }
.media-shell { overflow: hidden; position: relative; }
.showroom-card .media-shell { height: clamp(240px,28vw,410px); flex: none; }
.showroom-card img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .55s ease; }
.showroom-card-copy { position: relative; padding: 22px 25px 26px; flex: 1; }
.showroom-card-copy>span:first-child { color: var(--brass-light); font-size: 10px; letter-spacing: .16em; }
.showroom-card-copy h3 { font: 400 clamp(24px,2.5vw,30px)/1.15 Georgia,serif; color: var(--blue); margin: 9px 0; padding-right: 20px; }
.showroom-card-copy p { color: var(--muted); font-size: 13px; line-height: 1.65; margin: 0; }
.showroom-arrow { position: absolute; right: 24px; top: 20px; color: var(--brass-light); font-size: 20px; }
.showroom-note,.gallery-note { font-size: 13px; color: var(--muted); margin: 20px 0 0; }
/* Craftsmanship */
.craft-section { background: linear-gradient(155deg,#1b2d3e,#24394b 48%,#152637); }
.craft-heading .body-copy { max-width: 350px; color: #d5e0ea; }
.craft-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.craft-card { padding: 27px 22px 32px; background: var(--panel-deep); border: 1px solid var(--line); }
.craft-index { font-size: 10px; letter-spacing: .15em; color: var(--brass-light); }
.craft-line { width: 42px; height: 2px; background: linear-gradient(90deg,#e0c28e,#9d7545); margin: 28px 0; }
.craft-card h3 { font: 400 25px/1.15 Georgia,serif; margin: 0 0 15px; }
.craft-card p { font-size: 13px; line-height: 1.8; color: var(--muted); margin: 0; }
.craft-footer { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--line); }
.craft-footer span { color: #d0d7dd; font-size: 11px; letter-spacing: .15em; }
.craft-footer a { color: var(--brass-light); font-size: 13px; padding-block: 10px; }
/* Before/after: never a drag comparison. */
.portfolio { background: #142434; }
.portfolio-lead { max-width: 710px; margin-bottom: 52px; }
.story { background: #233649; border-radius: 12px; overflow: hidden; margin-bottom: 34px; border: 1px solid var(--line); }
.story-heading { padding: 36px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.story-heading h3 { font-size: clamp(25px,3.4vw,39px); line-height: 1.14; letter-spacing: -.04em; margin: 13px 0 0; }
.story-heading p { font-size: 15px; line-height: 1.8; color: var(--muted); margin: 0; }
.pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 3px; background: #162637; }
.pair figure { background: #162637; }
.pair .photo { position: relative; aspect-ratio: 1.05; overflow: hidden; }
.comparison-link { display: block; width: 100%; height: 100%; cursor: zoom-in; }
.comparison-link img { width: 100%; height: 100%; object-fit: cover; }
.zoom-hint { position: absolute; bottom: 12px; right: 12px; background: #09192ce6; color: white; border: 1px solid #ffffff55; border-radius: 3px; font-size: 9px; letter-spacing: .06em; font-weight: 700; padding: 8px; pointer-events: none; }
figcaption { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 17px 22px; font-size: 11px; background: #24394b; color: #c5d1dc; }
figcaption b { color: var(--ink); letter-spacing: .14em; font-size: 12px; }
.story-note { padding: 22px 35px; font-size: 14px; color: var(--muted); display: flex; gap: 14px; line-height: 1.65; }
.story-note>span { color: var(--brass-light); }
.feature { background: var(--navy); }
.feature-grid { align-items: center; }
.feature-photo { aspect-ratio: 4/4.5; border-radius: 5px; overflow: hidden; }
.feature-photo img { height: 100%; width: 100%; object-fit: cover; }
.feature p { color: var(--muted); line-height: 1.85; }
.feature ul { list-style: none; padding: 0; margin: 24px 0; }
.feature li { padding: 12px 0; border-bottom: 1px solid var(--line); color: #e0ebf7; }
.feature li::before { content: "\2726"; color: var(--brass); margin-right: 12px; }
.gallery-section { background: linear-gradient(135deg,#1b2e40,#132333 72%); }
.gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 34px; }
.gallery-item { display: block; position: relative; aspect-ratio: 4/3.5; overflow: hidden; border-radius: 5px; background: var(--panel-deep); cursor: zoom-in; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.gallery-item::after { content: ""; position: absolute; inset: 28% 0 0; background: linear-gradient(transparent,#061727f2); pointer-events: none; }
.gallery-item>span { position: absolute; bottom: 16px; left: 17px; right: 17px; color: white; z-index: 1; pointer-events: none; font-size: 13px; }
.gallery-item b { display: block; font-size: 14px; line-height: 1.4; }
.gallery-item small { display: block; color: #d8e8f7; font-size: 10px; letter-spacing: .13em; margin-top: 6px; }
/* Genuine recommendations: no unsupported numeric star rating. */
.pd-reviews-section { background: #141f2b; padding: 90px 0; border-top: 1px solid var(--line); }
.pd-reviews-inner { width: min(var(--content),calc(100% - var(--gutter) * 2)); margin: auto; }
.pd-reviews-eyebrow { color: var(--brass-light); letter-spacing: .2em; text-transform: uppercase; font-size: 12px; font-weight: 700; margin-bottom: 18px; }
.pd-reviews-title { font-size: clamp(34px,4.5vw,60px); line-height: 1.12; letter-spacing: -.035em; margin: 0 0 14px; }
.pd-reviews-lead { color: var(--muted); max-width: 660px; margin: 0 0 36px; line-height: 1.7; }
.pd-reviews-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.pd-review-card { background: #263545; border: 1px solid var(--line); padding: clamp(24px,3vw,38px); border-radius: 5px; display: flex; flex-direction: column; gap: 18px; }
.pd-review-mark { color: var(--brass-light); font: 400 46px/.7 Georgia,serif; }
.pd-review-quote { color: #f0f2f4; font-size: clamp(17px,1.4vw,20px); line-height: 1.7; margin: 0; flex: 1; }
.pd-review-name { color: white; font-weight: 700; }
.pd-review-source { display: block; color: var(--muted); font-size: 13px; margin-top: 5px; }
.pd-reviews-link { display: inline-block; margin-top: 30px; color: var(--blue-readable); font-weight: 700; text-decoration: underline; text-underline-offset: 5px; padding-block: 10px; }
.process-section { background: linear-gradient(140deg,#17293a,#23374a); }
.process-wrap { gap: 70px; }
.process-wrap .button { margin-top: 18px; }
.process-steps>div { display: flex; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.process-steps b { color: var(--blue); font-size: 23px; font-weight: 600; }
.process-steps strong { display: block; font-size: 18px; margin-bottom: 8px; }
.process-steps small { display: block; color: var(--muted); font-size: 14px; line-height: 1.65; }
.contact { text-align: center; background: radial-gradient(circle at 80% 10%,#1d4c80,#09192c 65%); }
.contact .section-title { max-width: 750px; margin: 15px auto; }
.contact p { color: #d2e0ee; line-height: 1.7; }
.contact .actions { justify-content: center; }
.contact .owner-line { font-size: 13px; margin-top: 30px; }
.footer { background: #06111e; color: #b9c8d9; padding: 48px 0; font-size: 12px; }
.footer-grid { display: flex; justify-content: space-between; gap: 25px; align-items: center; }
.footer-grid strong { color: white; font-size: 17px; }
.footer-grid p { margin: 7px 0 15px; }
.footer-links { display: flex; flex-wrap: wrap; gap: 10px 18px; font-weight: 650; }
.footer-links a { padding-block: 10px; }
.motion-toggle { appearance: none; padding: 10px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; font-size: 12px; }
.mobile-cta { display: none; }
/* Real photo viewer: above ALL decoration, reachable controls, no animation. */
.photo-modal { display: none; position: fixed; inset: 0; z-index: 100; background: rgba(5,17,28,.98); padding: max(92px,calc(env(safe-area-inset-top) + 84px)) clamp(16px,4vw,64px) max(24px,env(safe-area-inset-bottom)); overflow: auto; overscroll-behavior: contain; }
.photo-modal:target,.photo-modal.is-open { display: flex; align-items: center; justify-content: center; }
.modal-toolbar { position: absolute; top: max(20px,env(safe-area-inset-top)); left: clamp(20px,5vw,90px); right: clamp(20px,5vw,90px); display: flex; justify-content: flex-end; gap: 10px; z-index: 1; }
.modal-close,.modal-step { min-height: 48px; padding: 11px 16px; border: 1px solid var(--brass); border-radius: 4px; background: #1c3043; color: white; display: inline-flex; align-items: center; justify-content: center; font-weight: 650; font-size: 14px; }
.modal-count { margin-right: auto; display: inline-flex; align-items: center; color: var(--muted); font-size: 13px; }
.modal-inner { width: 100%; max-width: 1280px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; }
.modal-inner img { width: auto; height: auto; max-width: 100%; max-height: calc(100vh - 180px); max-height: calc(100dvh - 180px); object-fit: contain; }
.modal-inner p { color: #e3eaf1; text-align: center; font-size: 14px; max-width: 800px; margin: 0; }
body.modal-open { overflow: hidden; }
.js-only { display: none; }
html[data-scripts="ready"] .js-only { display: inline-flex; }
/* Preview diagnostics are excluded from the publishing index.html. */
.preview-tools { background: #0c1826; border-block: 1px solid var(--line); padding: 14px var(--gutter); font-size: 13px; }
.preview-tools .preview-heading { color: var(--brass-light); font-weight: 750; font-size: 11px; letter-spacing: .14em; }
.preview-tools p { color: #d4dee9; margin: 5px 0 10px; max-width: 880px; }
.preview-tools button { background: #22394d; color: white; border: 1px solid #72869b; border-radius: 4px; padding: 9px 14px; min-height: 44px; margin-right: 8px; }
.preview-tools .preview-status[data-state="ready"] { color: #a9dec5; }
.preview-tools .preview-status[data-state="paused"] { color: #e4c899; }
.preview-tools .preview-footnote { font-size: 11px; margin: 9px 0 0; color: #bac9d6; }
/* Intentional motion is JS-only and temporary. Elements are visible at rest.
   No .reveal-ready opacity:0, no permanent mask, and no per-device duplicate. */
/* No permanent compositor layers: will-change exists only while an animation runs. */
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  html:not(.motion-paused) .button:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,110,198,.22); }
  html:not(.motion-paused) .showroom-card:hover img,html:not(.motion-paused) .gallery-item:hover img { transform: scale(1.035); }
}
@media (max-width:1100px) {
  .nav { gap: 13px; }
  .nav a:not(.quote) { display: none; }
  .mobile-nav { display: block; }
  .craft-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .showroom-intro,.craft-heading { display: block; }
  .craft-heading .body-copy { max-width: 650px; }
  .text-link { display: inline-block; }
}
@media (max-width:760px) {
  .header-inner { min-height: 92px; gap: 10px; }
  .brand-mark { width: 62px; height: 62px; }
  .brand-name { font-size: 18px; }
  .identity { gap: 12px; }
  .identity small { font-size: 8px; letter-spacing: .13em; }
  .nav .quote { font-size: 11px; padding: 12px 10px; }
  .hero { min-height: 580px; }
  .hero-content { padding: 74px 0 84px; }
  .hero h1 { font-size: clamp(38px,8.8vw,62px); }
  .intro,.services-section,.portfolio,.gallery-section,.process-section,.feature,.contact,.pd-reviews-section { padding: 64px 0; }
  .intro-grid,.feature-grid,.process-wrap,.services-head { grid-template-columns: 1fr; gap: 25px; }
  .service-grid { grid-template-columns: 1fr; gap: 12px; }
  .service-card { min-height: 0; padding: 25px; }
  .service-card h3 { margin-top: 17px; }
  .showroom-grid { grid-template-columns: 1fr; gap: 18px; }
  .showroom-card .media-shell { height: 290px; }
  .showroom-card-copy { padding: 20px; }
  .story-heading { grid-template-columns: 1fr; padding: 25px; gap: 16px; }
  .story-heading p { font-size: 14px; }
  .pair .photo { aspect-ratio: 3/4; }
  figcaption { display: block; padding: 12px 10px; }
  figcaption b { font-size: 10px; letter-spacing: .07em; }
  figcaption span { display: block; margin-top: 5px; }
  .story-note { padding: 19px 23px; }
  .zoom-hint { font-size: 8px; padding: 6px; right: 6px; bottom: 6px; letter-spacing: 0; }
  .gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .gallery-item { aspect-ratio: 3/4; }
  .gallery-item>span { bottom: 12px; left: 10px; right: 10px; }
  .gallery-item b { font-size: 12px; }
  .gallery-item small { font-size: 9px; }
  .pd-reviews-grid { grid-template-columns: 1fr; }
  .footer-grid { display: block; }
  .footer-links { margin-top: 24px; }
  .footer { padding-bottom: 92px; }
  .mobile-cta { display: block; position: fixed; bottom: max(12px,env(safe-area-inset-bottom)); right: calc(var(--stile) + 10px); z-index: 20; padding: 12px 16px; min-height: 44px; font-size: 12px; font-weight: 750; background: var(--blue-button); color: white; border-radius: 40px; box-shadow: 0 6px 24px #051d3f55; }
  body.modal-open .mobile-cta { display: none; }
  .contact { padding-bottom: 90px; }
}
@media (max-width:640px) {
  :root { --stile:23px; --rail-top:35px; --rail-bottom:18px; --gutter:14px; }
  .header-inner { display: grid; grid-template-columns: minmax(0,1fr) auto; padding: 14px 0; }
  .brand-copy { min-width: 0; }
  .brand-name { display: block; font-size: 15px; white-space: normal; }
  .brand-mark { width: 48px; height: 52px; }
  .identity { gap: 8px; flex-shrink: 1; }
  .identity small { font-size: 7px; }
  .nav .quote { font-size: 10px; padding: 10px 9px; }
  .showroom-section,.craft-section { padding: 68px 0; }
  .craft-grid { grid-template-columns: 1fr; }
  .craft-card { padding: 25px; }
  .craft-footer { flex-direction: column; align-items: start; }
  .section-title { font-size: clamp(31px,8.2vw,46px); }
  .modal-toolbar { left: 16px; right: 16px; gap: 6px; }
  .modal-close,.modal-step { font-size: 12px; padding: 10px 12px; }
}
@media (max-width:380px) {
  .brand-mark { width: 47px; }
  .brand-name { font-size: 14px; }
  .intro-stats { grid-template-columns: 1fr; }
  .header .nav { margin-left: auto; }
  .modal-count { font-size: 11px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  .button,.showroom-card img,.gallery-item img { transition: none; }
}
html.motion-paused { scroll-behavior: auto; }
html.motion-paused .button,html.motion-paused .showroom-card img,html.motion-paused .gallery-item img { transition: none; }
@media (forced-colors:active) {
  .wood-surround,.brass-inlay { display: none; }
  .button,.filter-chip,.modal-close,.modal-step,.showroom-card,.craft-card { border: 1px solid ButtonText; }
  .hero::after { background: Canvas; opacity: .9; }
}


/* CINEMATIC EXPERIENCE — layered on audited stable design */
.cinema-hero{min-height:min(900px,100svh);isolation:isolate}.cinema-hero .hero-photo{opacity:.82}.cinema-hero:after{background:linear-gradient(90deg,#03101ef5 0%,#071a2bce 40%,#06152645 100%),linear-gradient(0deg,#020a14a8,transparent 65%)}.cinema-hero .hero-content{padding-top:clamp(110px,15vh,200px);padding-bottom:clamp(110px,16vh,220px)}.cinema-hero h1{max-width:1040px;font-size:clamp(52px,9vw,148px);line-height:.89;letter-spacing:-.075em;font-weight:950;text-wrap:balance}.cinema-hero h1 em{color:#a6d7ff;font-style:normal;text-shadow:0 0 70px #2e8ce35c}.cinema-hero p{font-size:clamp(16px,2vw,22px)}.cinema-scroll-cue{display:flex;align-items:center;gap:14px;margin-top:50px;font-size:10px;letter-spacing:.22em;font-weight:800;color:#c7def4}.cinema-scroll-cue span{height:50px;width:1px;background:linear-gradient(#82b9ed,transparent);animation:pd-cue 2s ease-in-out infinite}@keyframes pd-cue{0%,100%{transform:scaleY(.6);transform-origin:top;opacity:.5}50%{transform:scaleY(1);opacity:1}}
.cinema-stage{height:280vh;position:relative;background:#07111d}.cinema-stage-sticky{position:sticky;top:0;height:100svh;min-height:550px;overflow:hidden;isolation:isolate}.cinema-before,.cinema-after{position:absolute;inset:0}.cinema-before img,.cinema-after img{width:100%;height:100%;object-fit:cover;object-position:center}.cinema-after{clip-path:inset(0 calc((1 - var(--reveal,0)) * 100%) 0 0)}.cinema-shade{position:absolute;inset:0;background:linear-gradient(90deg,#020912cc,#06172b30),linear-gradient(0deg,#03101bc9,transparent 50%);pointer-events:none}.cinema-sweep{position:absolute;left:calc(var(--reveal,0) * 100%);top:0;bottom:0;width:3px;background:#c5a678;box-shadow:0 0 30px 5px #f4d1a260;transform:translateX(-1px);pointer-events:none}.cinema-stage-content{position:absolute;z-index:2;top:50%;left:max(6%,30px);transform:translateY(-50%);width:min(900px,88%);pointer-events:none}.cinema-stage-kicker{color:#c6a87e;letter-spacing:.24em;font-size:12px;font-weight:900}.cinema-stage h2{font-size:clamp(46px,8.2vw,125px);line-height:.94;letter-spacing:-.07em;color:white;text-shadow:0 4px 35px #000b;margin:22px 0}.cinema-stage h2 em{font-style:normal;color:#b6ddff}.cinema-stage p{color:#f3f8ff;font-size:clamp(14px,1.8vw,20px);max-width:550px;line-height:1.65;text-shadow:0 2px 15px #000}.cinema-stage-footer{position:absolute;bottom:34px;left:6%;right:6%;display:flex;justify-content:space-between;gap:10px;color:white;font-size:10px;font-weight:900;letter-spacing:.19em;text-shadow:0 2px 8px black}
.cabinet-experience{background:radial-gradient(ellipse at 80% 40%,#193d5b,#081522 68%);color:white;padding:130px 0;overflow:hidden}.cabinet-experience-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw}.cabinet-story h2{font-size:clamp(36px,4.5vw,75px);line-height:1;letter-spacing:-.06em;margin:25px 0}.cabinet-story h2 em{font-style:normal;color:#b3d8f7}.cabinet-story p{font-size:17px;line-height:1.8;color:#cfdfed}.cabinet-controls{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.cabinet-controls .outline{border:1px solid #7da6c8;background:#ffffff15}.cabinet-disclaimer{display:block;max-width:430px;color:#9db5c9;line-height:1.6}.cabinet-display{height:550px;position:relative;display:grid;place-items:center;perspective:1100px}.cabinet-glow{position:absolute;width:80%;height:60%;background:#b3d4f626;filter:blur(65px);border-radius:50%}.cabinet-shell{position:relative;width:min(100%,430px);height:450px;border:16px solid #273e50;background:#142433;box-shadow:inset 0 0 35px #0009,0 35px 70px #0009;transform-style:preserve-3d}.cabinet-interior{position:absolute;inset:0;background:linear-gradient(135deg,#1d3342,#0a1924);box-shadow:inset 0 0 40px #000b}.cabinet-shelf{position:absolute;top:50%;height:15px;width:100%;background:#8d7252;box-shadow:0 8px 18px #000a}.cabinet-dishes{position:absolute;top:25%;left:0;right:0;text-align:center;color:#d7bd92;font-size:32px;font-weight:900;letter-spacing:.25em}.cabinet-interior-bottom{position:absolute;bottom:0;height:15px;background:#886d4d;width:100%}.cabinet-door{position:absolute;top:0;width:50%;height:79%;background:linear-gradient(110deg,#375468,#23394d 60%,#1d3142);border:9px solid #34566c;box-shadow:inset 0 0 0 3px #66859a,0 8px 18px #0008;transform-style:preserve-3d;transition:transform 1.3s cubic-bezier(.19,1,.22,1)}.cabinet-left{left:0;transform-origin:left center}.cabinet-right{right:0;transform-origin:right center}.cabinet-shell.is-open .cabinet-left{transform:rotateY(-110deg)}.cabinet-shell.is-open .cabinet-right{transform:rotateY(110deg)}.cabinet-panel{position:absolute;inset:15px;border:12px solid #35566a;background:linear-gradient(130deg,#182e3f,#27445a);box-shadow:inset 0 4px 13px #0008,0 0 0 2px #152c3c}.cabinet-handle{position:absolute;top:50%;height:72px;width:7px;background:linear-gradient(90deg,#8f7143,#e7c98d,#987448);border-radius:3px;box-shadow:2px 3px 5px #0008}.cabinet-left .cabinet-handle{right:13px}.cabinet-right .cabinet-handle{left:13px}.cabinet-drawer{position:absolute;bottom:0;left:0;right:0;height:21%;transform-style:preserve-3d;transition:transform 1s cubic-bezier(.19,1,.22,1)}.cabinet-shell.drawer-open .cabinet-drawer{transform:translateZ(115px) translateY(14px)}.cabinet-drawer-face{position:absolute;inset:0;background:#294457;border:9px solid #34566c;box-shadow:0 4px 12px #0008}.cabinet-drawer-panel{position:absolute;inset:9px;border:8px solid #426479;background:#1b3345}.cabinet-drawer-pull{position:absolute;left:calc(50% - 40px);top:calc(50% - 4px);width:80px;height:8px;border-radius:3px;background:linear-gradient(#f1d79e,#98713d);box-shadow:0 3px 8px #0009}.cabinet-drawer-inside{position:absolute;left:12px;right:12px;top:-65px;height:70px;background:#9d8463;transform:rotateX(90deg);transform-origin:bottom;box-shadow:inset 0 0 18px #0006}
.cinema-marquee{background:#c3a679;color:#071828;overflow:hidden;padding:26px 0;white-space:nowrap}.cinema-marquee-track{font-size:clamp(25px,5vw,75px);font-weight:950;letter-spacing:-.06em;width:max-content;animation:pd-marquee 35s linear infinite}.cinema-marquee-track span{padding:0 35px;color:#44627d}@keyframes pd-marquee{to{transform:translateX(-50%)}}@media(max-width:760px){.cinema-hero{min-height:90svh}.cinema-hero h1{font-size:clamp(46px,13vw,75px)}.cinema-stage{height:220vh}.cinema-stage-sticky{min-height:480px}.cinema-stage h2{font-size:clamp(40px,10vw,68px)}.cinema-stage-content{top:43%}.cinema-stage-footer{font-size:8px}.cabinet-experience{padding:75px 0}.cabinet-experience-grid{grid-template-columns:1fr;gap:30px}.cabinet-display{height:410px}.cabinet-shell{width:min(80%,340px);height:355px}.cabinet-door{border-width:6px}.cabinet-panel{inset:9px;border-width:8px}.cabinet-story h2{font-size:clamp(37px,9vw,58px)}.cinema-scroll-cue{font-size:9px}}@media(prefers-reduced-motion:reduce){.cinema-scroll-cue span,.cinema-marquee-track{animation:none!important}.cabinet-door,.cabinet-drawer{transition:none!important}}

/* V3 premium brand restoration (photo-first, no 3D kitchen studio) */
.hero-brand-lockup{display:flex;align-items:center;gap:15px;margin:10px 0 22px;max-width:max-content;padding:8px 16px 8px 8px;background:linear-gradient(95deg,#071522e0,#142b40c7);border:1px solid #ba99634d;border-radius:10px;box-shadow:0 12px 34px #0005}
.hero-brand-lockup img{display:block;width:92px;height:76px;object-fit:contain;filter:drop-shadow(0 3px 8px #0007)}
.hero-brand-words{display:flex;flex-direction:column;gap:5px;color:#f5f5ef;text-shadow:0 2px 8px #0009}
.hero-brand-words strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(15px,2vw,22px);letter-spacing:.045em}
.hero-brand-words span{font-size:11px;letter-spacing:.19em;color:#e7c792;font-weight:750}
.cabinet-dishes{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;letter-spacing:normal}
.cabinet-stamp-title{font-family:Georgia,serif;font-size:clamp(28px,4vw,47px);font-weight:700;line-height:1}
.cabinet-stamp-tagline{font-size:clamp(9px,1.2vw,13px);font-weight:800;letter-spacing:.13em;color:#ead5ab;text-shadow:0 2px 5px #000}
.footer-brand-logo{width:100px;height:86px;object-fit:contain;display:block;margin-right:8px;flex:none}
@media(max-width:760px){.hero-brand-lockup{gap:9px}.hero-brand-lockup img{width:66px;height:57px}.hero-brand-words strong{font-size:14px}.hero-brand-words span{font-size:9px}.footer-brand-logo{width:78px;height:68px;margin-bottom:16px}}

/* V4 restore mobile-friendly before/after, quote and craftsmanship layouts (3D studio remains removed) */
.compare-section,.craft-journey,.quote-builder{position:relative;padding:clamp(66px,8vw,115px) 0;border-top:1px solid rgba(196,161,108,.3);overflow:hidden}
.compare-section .container,.craft-journey .container,.quote-builder .container{position:relative}
.compare-card-caption,.quote-form-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.compare-card-caption span,.journey-step span,.quote-form-top,.quote-form label:not(.quote-consent){font-size:10px;font-weight:750;letter-spacing:.15em;text-transform:uppercase}
/* interactive transformations with independent, real user photos */
.compare-section{background:#111f2e}.compare-heading{max-width:700px;margin:19px 0 35px}.compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.compare-card{background:#192e41;border:1px solid rgba(196,161,108,.27);overflow:hidden;min-width:0}.compare-media{position:relative;aspect-ratio:1.35/1;overflow:hidden;--split:50%;background:#0f1d2b;touch-action:pan-y}.compare-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.compare-before-wrap{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare-before-wrap img{max-width:none}.compare-divider{position:absolute;left:var(--split);top:0;bottom:0;pointer-events:none;border-left:3px solid #f7f5f2;transform:translateX(-50%);display:flex;align-items:center;justify-content:center}.compare-divider b{position:absolute;background:#eae2d4;color:#16283b;border-radius:50%;width:43px;height:43px;display:grid;place-items:center;font-size:20px;box-shadow:0 6px 20px #0006}.compare-tag{position:absolute;top:19px;padding:7px 10px;border:1px solid #ffffff88;background:#142a3caa;color:#fff;font-size:10px;font-weight:750;letter-spacing:.14em;pointer-events:none}.compare-tag.before{left:16px}.compare-tag.after{right:16px}.compare-range{cursor:ew-resize;position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0}.compare-range:focus-visible{opacity:1;outline:3px solid #69bdff;outline-offset:-5px;accent-color:#fff}.compare-card-caption{align-items:start;padding:20px;gap:20px}.compare-card-caption span{color:var(--brass-light)}.compare-card-caption h3{font:400 25px/1.2 Georgia,serif;margin:8px 0 0}.compare-card-caption p{max-width:200px;margin:0;color:#c6d3df;font-size:13px;line-height:1.6}
/* craftsmanship sequence */
.craft-journey{background:linear-gradient(135deg,#112638,#0c1d2e)}.journey-head{display:grid;grid-template-columns:1fr 360px;gap:30px;align-items:end;margin:18px 0 35px}.journey-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.journey-step{background:#192e41;border:1px solid #927c594d;min-width:0;overflow:hidden}.journey-step img{width:100%;height:clamp(150px,16vw,230px);object-fit:cover}.journey-step>div{padding:18px 14px 23px}.journey-step span{color:var(--brass-light)}.journey-step h3{font:400 clamp(18px,2vw,24px)/1.23 Georgia,serif;margin:12px 0}.journey-step p{font-size:12px;line-height:1.7;color:#ccdae5;margin:0}.journey-note{color:#9fb2c1;font-size:11px;margin:20px 0 0}
/* client-side email quote flow */
.quote-builder{background:linear-gradient(160deg,#0b1c2b,#162b3d)}.quote-layout{display:grid;grid-template-columns:minmax(0, .85fr) minmax(0,1.15fr);gap:clamp(20px,5vw,72px);align-items:start}.quote-intro .section-title{margin:25px 0}.quote-points{margin:25px 0}.quote-points p{color:#d0dce7;margin:8px 0;font-size:14px}.quote-side-photo{margin-top:32px;max-width:380px;border:1px solid var(--line);padding:7px}.quote-side-photo img{max-height:345px;width:100%;object-fit:cover}.quote-form{background:#1a3045;border:1px solid rgba(196,161,108,.4);padding:clamp(17px,3vw,31px);display:grid;gap:18px}.quote-form-top{color:var(--brass-light);border-bottom:1px solid rgba(196,161,108,.3);padding-bottom:17px;margin-bottom:5px}.quote-fieldrow{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quote-form label:not(.quote-consent){display:flex;flex-direction:column;gap:9px;color:#d0dce7}.quote-form input:not([type=checkbox]),.quote-form select,.quote-form textarea{background:#102536;color:#fff;border:1px solid #577086;min-height:45px;border-radius:2px;padding:11px;font:400 14px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;width:100%;max-width:100%}.quote-form textarea{min-height:118px;resize:vertical}.quote-form input::placeholder,.quote-form textarea::placeholder{color:#a5b9cb}.quote-form label small{color:#b6cadb;font-size:11px;letter-spacing:0;text-transform:none;font-weight:400}.quote-consent{display:flex;align-items:start;gap:10px;font-size:12px;color:#d0dce7;line-height:1.5}.quote-consent input{accent-color:var(--blue);margin-top:3px}.quote-design-data{padding:15px;border-left:3px solid var(--brass);background:#11283b;display:grid;gap:7px;font-size:12px;color:#cddbea;overflow-wrap:anywhere}.quote-design-data strong{color:#e1c797}.quote-submit{width:100%;min-height:56px}.quote-note{margin:0;color:#b7cbdc;font-size:12px;line-height:1.7}

@media(max-width:1050px){.journey-steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.compare-grid{grid-template-columns:1fr}.compare-card-caption{flex-direction:column;gap:10px}.compare-card-caption p{max-width:none}.journey-head{grid-template-columns:1fr}.journey-steps{grid-template-columns:repeat(2,1fr)}.quote-layout{grid-template-columns:1fr}.quote-side-photo{display:none}.mobile-cta{display:none!important}.mobile-actionbar{position:fixed;z-index:95;bottom:0;left:var(--stile);right:var(--stile);display:grid;grid-template-columns:1fr 1fr 1.3fr;padding:9px 9px calc(9px + env(safe-area-inset-bottom));background:rgba(10,25,42,.98);border-top:1px solid var(--brass);gap:6px;box-shadow:0 -12px 28px #0006}.mobile-actionbar a{text-align:center;padding:12px 4px;border:1px solid #577189;border-radius:3px;color:#edf7ff;font-size:12px;font-weight:700;min-height:44px}body{padding-bottom:calc(var(--rail-bottom) + 75px)}}
@media(max-width:420px){.journey-steps{grid-template-columns:1fr}.journey-step{display:grid;grid-template-columns:38% 1fr}.journey-step img{height:100%;min-height:165px}.quote-fieldrow{grid-template-columns:1fr}.compare-media{aspect-ratio:1.12}}

.compare-media{--split:50%;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:ew-resize}
.compare-media img{pointer-events:none;user-select:none;-webkit-user-drag:none}
.compare-before-wrap{pointer-events:none}
.compare-range{position:absolute;z-index:6;bottom:10px;left:12%;right:12%;top:auto;inset:auto 12% 10px 12%;width:76%;height:36px;opacity:1;margin:0;accent-color:#e7c792;cursor:ew-resize;touch-action:pan-y;border-radius:20px;filter:drop-shadow(0 2px 4px #000a)}
.compare-range:focus-visible{opacity:1;outline:3px solid #64bdff;outline-offset:2px}
.compare-divider{z-index:4}.compare-tag{z-index:5}
.compare-tag.before{left:12px}.compare-tag.after{right:12px}
@media(max-width:760px){.compare-range{left:9%;right:9%;width:82%;bottom:10px;height:40px}.compare-media{min-height:240px}.compare-card-caption h3{font-size:23px}}

/* V4 maker's mark lifts from INSIDE the drawer when opened — the front stays clean. */
.cabinet-drawer-face{overflow:visible}
.cabinet-drawer-brand{display:none!important}
.cabinet-drawer-reveal{position:absolute;z-index:5;left:50%;bottom:calc(100% - 2px);width:min(76%,245px);display:flex;align-items:center;justify-content:center;gap:10px;padding:7px 12px;border:1px solid #d4b67e9c;border-radius:5px;background:linear-gradient(135deg,#533b29,#876446 50%,#443020);box-shadow:0 12px 28px #000b,inset 0 1px 0 #ffffff22;transform:translate(-50%,62px) scale(.9);opacity:0;visibility:hidden;transition:opacity .35s ease,transform .8s cubic-bezier(.2,.75,.3,1),visibility .8s;pointer-events:none}
.cabinet-drawer-reveal img{display:block;width:49px;height:41px;object-fit:contain;flex:none;filter:drop-shadow(0 2px 4px #0008)}
.cabinet-drawer-reveal span{display:flex;flex-direction:column;gap:3px;white-space:nowrap;color:#fff0d3;text-shadow:0 2px 6px #000}
.cabinet-drawer-reveal strong{font:700 19px/1 Georgia,serif;letter-spacing:.13em}
.cabinet-drawer-reveal small{font:700 8px/1.3 Arial,sans-serif;letter-spacing:.11em;color:#f3dcaf}
.cabinet-shell.drawer-open .cabinet-drawer-reveal{visibility:visible;opacity:1;transform:translate(-50%,-17px) scale(1);transition-delay:.15s}
@media(max-width:760px){.cabinet-drawer-reveal{gap:5px;padding:5px 6px;width:min(78%,210px)}.cabinet-drawer-reveal img{width:37px;height:30px}.cabinet-drawer-reveal strong{font-size:15px}.cabinet-drawer-reveal small{font-size:6px}}
@media(prefers-reduced-motion:reduce){.cabinet-drawer-reveal{transition:none!important}}
/* Drawer branding: logo only; remove the old plaque and duplicate wording. */
.cabinet-drawer-reveal{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;width:min(72%,230px)!important;min-height:0!important;gap:0!important;}
.cabinet-drawer-reveal img{width:100%!important;height:auto!important;max-height:150px;object-fit:contain;mix-blend-mode:screen;filter:none!important;}
.cabinet-drawer-reveal span{display:none!important;}
@media(max-width:760px){.cabinet-drawer-reveal{width:min(75%,190px)!important}.cabinet-drawer-reveal img{width:100%!important;height:auto!important}}

/* Cabinet experience: one restrained drawer logo, readable door-interior motto. */
.cabinet-dishes{top:24%!important;left:7%!important;right:7%!important;width:auto!important;z-index:1!important;}
.cabinet-stamp-tagline{display:block!important;font-size:clamp(12px,2.6vw,20px)!important;letter-spacing:.12em!important;line-height:1.5!important;text-align:center!important;}
.cabinet-drawer-reveal{left:50%!important;bottom:calc(100% - 2px)!important;width:clamp(100px,40%,160px)!important;max-width:160px!important;max-height:115px!important;overflow:hidden!important;z-index:6!important;}
.cabinet-drawer-reveal img{display:block!important;width:100%!important;max-width:160px!important;height:105px!important;max-height:105px!important;object-fit:contain!important;}
.cabinet-drawer-brand{display:none!important;}
@media(max-width:760px){.cabinet-drawer-reveal{width:130px!important;max-width:45%!important}.cabinet-drawer-reveal img{height:95px!important;max-height:95px!important}}

/* Cabinet interaction stability: keep moving pieces in a single 2D stacking plane on iOS Safari. */
.cabinet-shell{transform-style:flat;isolation:isolate}
.cabinet-interior{z-index:1}
.cabinet-door{z-index:3;backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform}
.cabinet-shell.is-open .cabinet-left{transform:perspective(900px) rotateY(-105deg)}
.cabinet-shell.is-open .cabinet-right{transform:perspective(900px) rotateY(105deg)}
.cabinet-drawer{z-index:4;transform-style:flat;will-change:transform}
.cabinet-shell.drawer-open .cabinet-drawer{transform:translateY(22px)}
.cabinet-drawer-inside{display:none}
.cabinet-drawer-reveal{z-index:1!important;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.cabinet-shell.drawer-open .cabinet-drawer-reveal{transform:translate(-50%,-18px) scale(1)}
@media(prefers-reduced-motion:reduce){.cabinet-drawer-reveal{transition:none!important}}

/* Door inscription appears only after the doors have opened. */
.cabinet-dishes{opacity:0!important;visibility:hidden!important;transition:opacity .28s ease,visibility 0s linear .28s!important;pointer-events:none!important;}
.cabinet-shell.is-open .cabinet-dishes{opacity:1!important;visibility:visible!important;transition:opacity .4s ease .75s,visibility 0s linear 0s!important;}
.cabinet-shell:not(.is-open) .cabinet-dishes{opacity:0!important;visibility:hidden!important;}
@media(prefers-reduced-motion:reduce){.cabinet-shell.is-open .cabinet-dishes{transition:none!important}}

/* Compact category browsing for the project gallery */
.portfolio-filter{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 28px}.portfolio-filter-btn{font:inherit;cursor:pointer;border:1px solid rgba(170,185,204,.35);background:transparent;color:inherit;border-radius:999px;padding:10px 16px;transition:background .2s,border-color .2s}.portfolio-filter-btn.active,.portfolio-filter-btn:hover{background:#bb9558;color:#111c29;border-color:#bb9558}.gallery-item[hidden]{display:none!important}
