/* Restrained motion and an explicit, browsable restoration archive. */
[data-reveal]{transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}
.reveal-pending{opacity:0;transform:translateY(22px)}
.category-selector{display:flex;gap:28px;flex-wrap:wrap;border-bottom:1px solid #ccc4b8;margin-top:40px}
.category-selector button{background:none;border:0;border-bottom:1px solid transparent;padding:16px 0;font-size:12px;min-height:48px;color:#716b61}
.category-selector button[aria-pressed=true]{border-bottom-color:var(--ink);color:var(--ink)}
.selection-hint{font-size:8px;letter-spacing:1.6px;display:flex;justify-content:space-between;margin:25px 0 12px;color:#746c5d;gap:20px}
.selection-hint span{letter-spacing:.4px;font-size:10px;text-transform:none}
.piece-selector{display:flex;gap:12px;overflow-x:auto;padding:5px 4px 17px;scrollbar-width:thin;scrollbar-color:#a79c86 transparent;margin-bottom:30px}
.piece-selector button{flex:0 0 194px;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #d8d1c5;background:transparent;padding:8px;font-size:11px;line-height:1.5}
.piece-selector button[aria-pressed=true]{border-color:#655a45;background:#e9e3d8}
.piece-selector button:hover{border-color:#655a45}
.piece-selector img{width:56px;height:62px;object-fit:contain;background:#f7f7f7}
.comparison img{aspect-ratio:4/5;max-height:620px;object-fit:contain;background:#f6f6f6}
.comparison figcaption{background:transparent!important;border-top:1px solid #c8bead;padding:15px 0}
.case-heading h3{font-size:25px}
.about{padding-block:100px 110px}
.about-heading{margin-bottom:48px}
.about .eyebrow{color:var(--gold);margin-bottom:20px}
.about-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:85px}
.about-images{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:20px}
.about-main{grid-column:1/-1;margin-right:55px}
.about-detail{grid-column:2;margin-top:-80px;position:relative;background:var(--ink);border:8px solid var(--ink);margin-right:-20px}
.about-images img{width:100%;height:auto;object-fit:contain;background:#f6f6f6;aspect-ratio:1}
.about-images figcaption{font-size:7px;letter-spacing:1.5px;padding-top:12px;color:#b8b0a1}
.about-copy p{color:#c5bfb3;font-size:13px;line-height:1.95;margin-bottom:23px}
.about-copy p:first-child{color:#ebe4d9}
.about-copy .text-link{margin-top:6px}
.reviews{background:#f5f2eb;color:var(--ink);padding-block:90px 55px;overflow:hidden}
.reviews .section-heading{align-items:center}
.review-summary{font-size:13px;line-height:1.8}
.review-summary>p{font-family:var(--serif);font-size:23px}
.review-summary>span{display:block;font-size:10px;letter-spacing:1px;color:#736955;margin:8px 0 18px}
.review-summary .text-link{font-size:11px}
.review-controls{display:flex;justify-content:space-between;align-items:center;margin-top:45px;margin-bottom:18px;gap:20px}
.review-controls>p{font-size:8px;letter-spacing:1.8px;color:#776e5e}
.review-controls button{background:transparent;border:0;border-bottom:1px solid #a99a7e;padding:10px 0;font-size:10px;min-height:44px}
.review-window{overflow:hidden;outline-offset:-3px}
.review-track{display:flex;width:max-content;animation:reviews-travel var(--review-duration,150s) linear infinite;will-change:transform}
.review-track.paused,.review-window:hover .review-track,.review-window:focus-within .review-track{animation-play-state:paused}
.review-group{list-style:none;display:flex;gap:20px;padding:0 20px 0 0;margin:0}
.review-card{width:390px;min-height:360px;display:flex;flex-direction:column;padding:32px;border:1px solid #d8d0c3;background:#f0ece3}
.review-stars{display:flex;gap:4px;color:#8f7a53;margin-bottom:23px}
.review-stars svg{width:12px;height:12px;fill:currentColor;stroke-width:.7}
.review-card blockquote{font:19px/1.55 var(--serif);margin:0 0 30px}
.review-author{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px}
.review-author small{font-size:7px;letter-spacing:1px;color:#7a715f}
.review-footnote{font-size:9px;color:#766d5d;margin-top:22px}
@keyframes reviews-travel{to{transform:translateX(-50%)}}
@media(max-width:1000px){.about-layout{gap:40px}.about-main{margin-right:15px}.about-detail{margin-right:-5px}.review-card{width:355px}.review-card blockquote{font-size:18px}}
@media(max-width:700px){.category-selector{gap:0 22px;margin-top:25px}.category-selector button{font-size:11px;padding:12px 0}.piece-selector button{flex-basis:172px;font-size:10px}.piece-selector{margin-bottom:22px}.selection-hint{font-size:7px;letter-spacing:1px}.selection-hint span{font-size:9px}.comparison img{aspect-ratio:3/4}.comparison figcaption{min-height:62px}.about{padding-block:55px 65px}.about-heading{margin-bottom:30px}.about h2{font-size:36px}.about-layout{grid-template-columns:1fr;gap:30px}.about-main{margin-right:60px}.about-detail{margin-top:-90px;margin-right:0}.about-copy p{font-size:13px}.reviews{padding-block:55px 35px}.review-summary{margin-top:25px}.review-summary>p{font-size:22px}.review-controls{margin-top:24px}.review-card{width:300px;min-height:375px;padding:24px}.review-card blockquote{font-size:17px}.review-author{font-size:10px}.review-author small{font-size:6px}.review-group{gap:12px;padding-right:12px}.review-footnote{font-size:8px}}
@media(prefers-reduced-motion:reduce){[data-reveal],.reveal-pending{opacity:1;transform:none;transition:none}.review-track{animation:none!important;transform:none!important;will-change:auto}.review-window{overflow-x:auto}.review-duplicate{display:none}#pause-reviews{display:none}}
/* Browse a category first; comparisons open only after an explicit choice. */
[hidden]{display:none!important}
.hero-copy{padding-top:50px}
.hero-actions{margin-top:25px}
.hero-bottom{display:block}
.hero-description{max-width:320px}
.category-selector{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid #ccc4b8;border-bottom:1px solid #ccc4b8;margin-top:40px}
.category-selector button{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:15px;padding:23px 18px;min-height:82px;border:0;color:var(--ink);font:20px/1.3 var(--serif)}
.category-selector button+button{border-left:1px solid #ccc4b8}
.category-selector button>span:last-child{font:16px var(--sans);color:#8a7b60}
.category-selector button:hover,.category-selector button[aria-expanded=true]{background:#e9e3d8}
#gallery-panel{margin-top:36px;scroll-margin-top:26px}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #d4cbbd;padding-bottom:24px;margin-bottom:25px}
.gallery-toolbar label{display:block;font-size:8px;letter-spacing:1.4px;color:#796c55;margin-bottom:8px}
.gallery-toolbar select{font:13px var(--sans);color:var(--ink);background:transparent;border:0;border-bottom:1px solid #b4a994;padding:10px 28px 10px 0;max-width:100%;min-height:44px}
.gallery-toolbar select:disabled{opacity:1;appearance:none;color:#665e51}
.gallery-toolbar>button{background:none;border:0;font-size:11px;padding:12px 0;min-height:44px;white-space:nowrap}
.gallery-toolbar>button span{font-size:20px;margin-left:12px}
#case-title:focus{outline:none}
@media(max-width:700px){.hero-copy{padding-top:0}.category-selector{grid-template-columns:1fr;margin-top:25px}.category-selector button{min-height:65px;padding:18px 2px;font-size:22px}.category-selector button+button{border-left:0;border-top:1px solid #ccc4b8}.gallery-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.gallery-toolbar>div{width:100%}.gallery-toolbar select{width:100%;font-size:12px}.gallery-toolbar>button{align-self:flex-end}.hero{min-height:650px}.hero h1{margin-top:0}.hero-bottom p{font-size:8px;letter-spacing:1.5px}}
/* An uninterrupted material backdrop replaces the two product photographs. */
.about{position:relative;isolation:isolate;overflow:hidden;padding-block:125px;background:#14120f}
.about-backdrop{position:absolute;inset:0;z-index:-2;pointer-events:none}
.about-backdrop img{width:100%;height:100%;object-fit:cover;object-position:30% center;opacity:.8}
.about::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(17,16,13,.2),rgba(17,16,13,.38) 38%,rgba(17,16,13,.9) 67%,#11100df2),linear-gradient(180deg,#151512bd,transparent 25%,transparent 75%,#151512d9)}
.about-inner{display:grid;grid-template-columns:1fr 1.08fr;gap:90px;align-items:start}
.about-heading{margin:0;padding-top:9px;max-width:470px}
.about-heading h2{font-size:clamp(36px,3.8vw,50px);line-height:1.15;text-shadow:0 2px 20px #0008}
.about-heading .eyebrow{color:#d5c6a6;margin-bottom:25px}
.about-heading h2 em{color:#dfcfac}
.about-copy{max-width:540px}
.about-copy p{color:#d1cbc1;line-height:1.95;font-size:13px;margin-bottom:25px}
.about-copy p:first-child{color:#eee9df}
.about-copy .text-link{margin-top:8px;color:#ece5d9}
@media(max-width:1000px){.about-inner{gap:45px}.about{padding-block:95px}.about-heading h2{font-size:38px}}
@media(max-width:700px){.about{padding-block:65px}.about-inner{grid-template-columns:1fr;gap:42px}.about-heading{padding:0;max-width:330px}.about-heading h2{font-size:36px}.about-backdrop img{object-position:25% top;opacity:.65}.about::before{background:linear-gradient(180deg,#15151255,#15151280 25%,#151512eb 52%,#151512f5),linear-gradient(90deg,#15151230,#15151265)}.about-copy p{font-size:13px;line-height:1.95}.about-heading .eyebrow{margin-bottom:20px}}
.about-years{display:block;font:104px/.92 var(--serif);letter-spacing:-4px;color:#dfcfac;margin:3px 0 15px}
.about-years-label{display:block;font:11px/1.6 var(--sans);letter-spacing:3px;text-transform:uppercase;color:#efe7d7;margin-bottom:32px}
.about-heading h2>em{display:block;font-size:36px;line-height:1.2}
@media(max-width:700px){.about-years{font-size:88px;margin-top:8px}.about-years-label{font-size:10px;letter-spacing:2.5px;margin-bottom:24px}.about-heading h2>em{font-size:32px}.about-inner{gap:35px}}
/* Editorial press feature: a documented television appearance. */
.press{background:var(--paper);color:var(--ink);padding-block:90px}
.press-inner{display:grid;grid-template-columns:1.35fr 1fr;gap:64px;align-items:center}
.press-photo{min-width:0}
.press-photo img{width:100%;height:auto;display:block}
.press-photo figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:16px;border-bottom:1px solid #cfc5b3;padding-bottom:14px;font-size:8px;letter-spacing:1.5px;color:#776950}
.press-copy .eyebrow{color:#79643b;font-size:9px;letter-spacing:1.8px;margin-bottom:23px}
.press-copy h2{font-size:clamp(32px,3vw,42px);line-height:1.17}
.press-copy h2 em{color:#79643b}
.press-copy>p:not(.eyebrow){font-size:13px;line-height:1.85;color:#686156;margin-top:17px}
.press-copy>p.press-lead{color:#312d25;margin-top:25px;font-size:14px}
.press-signature{display:block;font-size:7px;letter-spacing:1.4px;color:#807154;margin-top:28px}
@media(max-width:1000px){.press-inner{gap:35px;grid-template-columns:1.2fr 1fr}.press{padding-block:65px}.press-copy h2{font-size:34px}}
@media(max-width:700px){.press{padding-block:55px}.press-inner{grid-template-columns:1fr;gap:30px}.press-copy{grid-row:1}.press-copy h2{font-size:36px}.press-copy .eyebrow{font-size:8px;margin-bottom:20px}.press-copy>p:not(.eyebrow){font-size:12px}.press-signature{font-size:7px;margin-top:22px}.press-photo figcaption{font-size:7px;letter-spacing:1px}}
/* Native two-stage scroll: copy leaves first, then the pinned cover releases. */
.hero-scene{position:relative;background:#080907}
.hero-scene.scroll-enabled{height:175svh}
.hero-scene.scroll-enabled .hero{position:sticky;top:0;height:100svh;min-height:0;max-height:none}
.hero-scene.scroll-enabled .hero-copy{transform:translate3d(0,var(--hero-copy-y,0px),0);opacity:var(--hero-copy-opacity,1);will-change:transform,opacity}
.hero-scene.scroll-enabled .hero-bottom{transform:translate3d(0,var(--hero-footer-y,0px),0);opacity:var(--hero-copy-opacity,1)}
.hero-scene.scroll-enabled .hero-copy:focus-within{opacity:1;transform:none}
@media(max-width:700px){.hero-scene.scroll-enabled{height:165svh}}
@media(max-height:600px) and (min-width:701px){.hero-scene.scroll-enabled .hero{padding-top:100px;padding-bottom:70px}.hero-scene.scroll-enabled .hero-copy{padding-top:0}.hero-scene.scroll-enabled .hero h1{font-size:38px;margin:16px 0}.hero-scene.scroll-enabled .hero-actions{margin-top:15px}}
@media(prefers-reduced-motion:reduce){.hero-scene.scroll-enabled{height:auto}.hero-scene.scroll-enabled .hero{position:relative}.hero-scene.scroll-enabled .hero-copy,.hero-scene.scroll-enabled .hero-bottom{transform:none;opacity:1;will-change:auto}}
/* Services lead the story; the full history remains available on demand. */
.header nav{gap:24px}
.header nav .nav-contact{border-bottom:1px solid #b5a37b66;padding-block:8px;min-height:36px}
.visual-services{background:var(--paper);padding-block:82px 65px}
.service-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.service-card>a{display:block}
.service-photo{background:#f7f7f7;overflow:hidden}
.service-photo img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;transition:transform .7s ease}
.service-card>a:hover .service-photo img{transform:scale(1.025)}
.service-card-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:23px}
.service-card h3{font-size:27px;line-height:1.2}
.service-card-title>span{font-size:17px;color:#7b6b50}
.service-card p{font-size:12px;line-height:1.8;color:#6d655a;margin-top:12px}
.service-discover{display:inline-block;font-size:8px;letter-spacing:1.5px;margin-top:20px;border-bottom:1px solid #a79980;padding-bottom:6px}
.service-note{font-size:9px;color:#7f7462;margin-top:35px;text-align:center}
.restorations{background:#eae4d9;padding-block:75px}
.workshop{padding-block:95px;background:#171713}
.workshop .section-heading .eyebrow{color:#b5a37b}
.workshop .section-heading h2 em{color:#cfbd94}
.workshop .section-heading>p{color:#c0b7a8}
.workshop-film video{display:block;width:100%;aspect-ratio:16/9;height:auto;max-height:620px;background:#080807;object-fit:contain}
.workshop-film figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:18px;color:#b4a990;font-size:8px;letter-spacing:1.5px}
.technique-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:50px}
.technique-grid article{border-top:1px solid #4a4335;padding-top:22px}
.technique-grid article>span{font-size:9px;letter-spacing:1.5px;color:#b5a37b}
.technique-grid h3{font-size:26px;margin-top:12px}
.technique-grid p{font-size:12px;line-height:1.9;color:#bfb7a9;margin-top:14px;max-width:310px}
.history-details{border-top:1px solid #82745b80;margin-top:26px;margin-bottom:20px}
.history-details summary{padding-block:18px;cursor:pointer;font-size:12px;color:#e0d2b8;min-height:44px}
.history-details>div{padding-block:4px 8px}
.history-details>div p{margin-bottom:20px}
.press-copy .press-film-link{margin-top:22px;font-size:11px}
.footer-links{display:flex;flex-direction:column;gap:7px;font-size:9px;color:#bdb8ad;align-items:flex-end}
.footer-links .preview-label{margin-top:5px}
@media(max-width:1050px){.header nav .nav-contact{align-self:flex-start}.service-gallery{gap:20px}.service-card h3{font-size:24px}.technique-grid{gap:25px}}
@media(max-width:700px){.visual-services{padding-block:55px}.service-gallery{grid-template-columns:1fr;gap:40px}.service-photo img{aspect-ratio:4/3;max-height:350px}.service-card-title{margin-top:19px}.service-card h3{font-size:27px}.service-card p{font-size:12px}.service-discover{margin-top:15px}.restorations{padding-block:55px}.workshop{padding-block:60px}.workshop-film figcaption{font-size:6px;letter-spacing:1px}.technique-grid{grid-template-columns:1fr;gap:25px;margin-top:35px}.technique-grid h3{font-size:25px;margin-top:6px}.technique-grid p{margin-top:10px}.footer-links{font-size:8px}.footer-links .preview-label{font-size:6px}}

/* Collection 2: preserve the full portrait photograph and its studio framing. */
.visual-services .service-photo img{aspect-ratio:4/5;max-height:none}

/* Display each half of the supplied diptych without altering the source file. */
.comparison img.diptych-half{aspect-ratio:3/4;object-fit:cover;object-position:left;max-height:none}
.comparison img.diptych-after{object-position:right}
.visual-services .garment-cover{aspect-ratio:4/5;display:flex;justify-content:center}
.visual-services .garment-cover img{width:93.75%;aspect-ratio:3/4;object-fit:cover;object-position:right}

/* Photo categories open a complete gallery; cover labels are outside the visible frame. */
.category-tiles{gap:25px}
.category-tile{position:relative;border:0;padding:0 0 8px;background:transparent;color:var(--ink);width:100%;cursor:pointer;text-align:left;align-self:start}
.tile-media{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;overflow:hidden;background:#efefee}
.tile-product{display:block;width:84%;aspect-ratio:1122/1250;overflow:hidden;scale:.98;transition:scale .7s ease}
.tile-media img{display:block;width:100%;max-width:none;height:auto;min-height:0;object-fit:contain}
.tile-diptych .tile-product{width:76%;aspect-ratio:768/949}
.tile-diptych img{width:200%;transform:translateX(-50%)}
.category-tile::after{content:none}
.tile-title{font:clamp(25px,2.2vw,34px)/1.2 var(--serif);display:block;padding:22px 0 14px}
.tile-action{display:inline-block;font-size:8px;letter-spacing:1.6px;padding-bottom:7px;border-bottom:1px solid #a79980;color:#6d6049}
.tile-action>span{margin-left:12px;font-size:15px}
.category-tile:hover .tile-product{scale:1}
.category-tile:focus-visible{outline:2px solid #8a7447;outline-offset:5px}
.gallery-back{background:none;border:0;border-bottom:1px solid #a79980;padding:12px 0;min-height:44px;font:12px var(--sans);color:var(--ink);cursor:pointer}
.gallery-back-bottom{display:block;margin:40px auto 0}
.category-cases .category-case{margin:0 auto 70px;max-width:1000px;padding-top:35px;border-top:1px solid #c8bead}
.category-cases .comparison img{max-height:none}
#work-title:focus{outline:none}
.social-links{display:flex;gap:18px;margin-bottom:15px}
.social-links a{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:48px;min-height:48px;color:#ddd2bd;font-size:9px}
.social-links svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.4;fill:none}
.social-links a:hover{color:#fff}
@media(max-width:700px){.category-tiles{gap:32px}.tile-title{font-size:29px}.tile-action{font-size:8px}.category-cases .comparison{grid-template-columns:1fr 1fr;gap:10px}.category-cases .comparison figcaption{font-size:9px;min-height:48px;display:block}.category-cases .comparison figcaption span{display:none}.category-case .case-heading{align-items:flex-start;gap:15px}.category-case .case-heading h3{font-size:23px}.category-case .enlarge{font-size:9px;min-height:44px}.category-case .case-footer{display:block}.category-case .case-footer>span{display:block;margin-top:10px}.social-links{justify-content:center}.footer-links{align-items:center}.restorations .section-heading{gap:24px}}
@media(prefers-reduced-motion:reduce){.tile-product{transition:none;scale:1}}

/* Captions stay still while each synchronized photograph follows native scroll. */
.comparison-photo{display:block;overflow:hidden;background:#f6f6f6;opacity:var(--comparison-opacity,1);transform:translate3d(0,var(--comparison-rise,0px),0)}
.category-cases .comparison-photo img{display:block;width:100%;transform:scale(var(--comparison-zoom,.94));transform-origin:center center}
@media(prefers-reduced-motion:reduce){.comparison-photo{opacity:1;transform:none}.category-cases .comparison-photo img{transform:none}}

/* Dedicated category pages retain a persistent route back to the maison. */
a.category-tile{display:block;text-decoration:none}
.category-page{background:var(--paper)}
.category-page .header{position:sticky;top:0;inset-inline:auto;height:100px;background:#151510;color:#f3f0e9;border-bottom:1px solid #b5a37b33;z-index:30}
.category-page .header .brand{position:static;transform:none;flex-shrink:0;font-size:27px}
.category-page .header nav{width:auto;margin-left:auto;gap:27px}
.category-page .header nav a:nth-child(3){margin-left:0}
.category-page .header nav a[aria-current="page"]{color:#d5c49e;text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}
.category-intro{padding-block:58px 45px;color:var(--ink)}
.category-intro h1{font:400 clamp(38px,4.3vw,62px)/1.12 var(--serif);margin:18px 0}
.category-intro>p:last-child{font-size:13px;line-height:1.9;color:#706b60}
.category-page .restorations{background:var(--paper);padding-top:0}
.gallery-page-heading{max-width:1000px;margin:0 auto 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.gallery-page-heading h2{font:400 24px/1.3 var(--serif)}
.gallery-page-heading>span{font-size:8px;letter-spacing:1.4px;color:#807151}
.category-page .category-case{scroll-margin-top:120px}
.category-page .category-case:first-child{padding-top:24px}
.category-explore{max-width:1000px;margin:50px auto 0;padding-top:30px;border-top:1px solid #c8bead}
.category-explore>div{display:flex;gap:35px;flex-wrap:wrap}
.category-page .footer{margin-top:0}
@media(max-width:1050px){
 .category-page .header{height:90px}
 .category-page .header .brand{position:absolute;left:50%;transform:translateX(-50%)}
 .category-page .header nav{inset:89px 0 auto;margin:0;padding:22px 28px;background:#151510;gap:12px}
}
@media(max-width:700px){
 .category-page .header{height:82px}
 .category-page .header .brand{font-size:23px}
 .category-page .header nav{top:81px}
 .category-intro{padding-block:38px 35px}
 .category-intro h1{font-size:38px}
 .gallery-page-heading{align-items:flex-start;flex-direction:column;gap:10px}
 .gallery-page-heading h2{font-size:23px}
 .category-explore>div{gap:15px 25px}
}

/* Location and image attribution close the visit in a clear, quiet layout. */
.contact{display:block}
.contact-invitation{padding-bottom:55px;border-bottom:1px solid var(--rule);margin-bottom:50px}
.visit-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:65px;align-items:center}
.contact .visit-grid address{border:0;padding:0;font-size:14px;line-height:1.9}
.location-map{margin:0;min-width:0}
.location-map iframe{display:block;width:100%;height:340px;border:0;background:#e6e3dc}
.location-map figcaption{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:15px;font-size:9px;color:#c3b89f}
.location-map figcaption>span{letter-spacing:1px}
.location-map figcaption a{padding-block:8px;border-bottom:1px solid #847964}
.footer{flex-wrap:wrap}
.footer .image-notice{flex-basis:100%;width:100%;order:4;padding-top:23px;margin-top:6px;border-top:1px solid var(--rule);font-size:11px;line-height:1.9;color:#aaa69c}
.footer .image-notice strong{font-weight:400;color:#d6d0c3}
@media(max-width:700px){
 .contact-invitation{padding-bottom:35px;margin-bottom:35px}
 .visit-grid{grid-template-columns:1fr;gap:30px}
 .location-map iframe{height:300px}
 .location-map figcaption{font-size:8px;gap:12px}
 .footer .image-notice{grid-column:1 / -1;grid-row:auto;font-size:10px;padding-top:20px}
}

/* A clear invitation below each complete product photograph. */
.category-tile .tile-action{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:500;letter-spacing:1.2px;line-height:1.5;padding:10px 0;color:#51452e;border-bottom:1px solid #8a7752}
@media(max-width:700px){.category-tile .tile-action{font-size:13px}}

/* Gallery edition: clean photographs, a single caption, quiet native-scroll motion. */
.category-intro{max-width:1000px;width:calc(100% - 112px);padding:54px 0 38px;margin-inline:auto}
.category-intro h1{font-size:clamp(36px,4vw,52px);margin:16px 0 20px}
.category-intro .eyebrow{font-size:9px;letter-spacing:2px;color:#7b6b50}
.category-intro>p:last-child{font-size:13px;line-height:1.8;max-width:480px}
.gallery-page-heading{padding-top:24px;border-top:1px solid #c8bead;margin-bottom:0}
.gallery-page-heading h2{font-size:24px}
.category-page #gallery-panel{margin-top:30px}
.category-cases .category-case{padding-top:0;border-top:0;margin-bottom:85px}
.category-page .category-case:first-child{padding-top:0}
.category-case .case-heading{margin-bottom:20px;align-items:center}
.category-case .case-heading>div{display:flex;align-items:baseline;gap:20px}
.category-case .case-heading .eyebrow{font-size:9px;letter-spacing:1.6px;margin:0;color:#82745b;white-space:nowrap}
.category-case .case-heading h3{font-size:29px;line-height:1.25}
.category-case .enlarge{font-size:11px;min-height:44px;border-bottom:1px solid #a79980;padding:10px 0;color:#65583f;transition:color .3s,border-color .3s}
.category-case .enlarge:hover{color:#171713;border-color:#171713}
.category-cases .comparison{gap:28px}
.category-page .comparison figure{min-width:0}
.category-page .comparison figcaption{min-height:0;padding:0 0 14px;border:0;background:none;display:block}
.category-page .comparison figcaption strong{font-size:12px;font-weight:500;letter-spacing:1.3px;text-transform:uppercase;color:#65583f}
.category-page .comparison-photo{aspect-ratio:var(--frame-ratio,4/5);display:flex;align-items:center;justify-content:center;overflow:visible;background:transparent;transform:translate3d(0,var(--comparison-rise,0px),0) scale(var(--comparison-zoom,1));transform-origin:center;transition:transform .2s linear,opacity .45s ease}
.category-page .photo-window{width:100%;display:block;overflow:hidden;aspect-ratio:var(--photo-ratio,4/5);background:#f6f6f6}
.category-page .comparison .photo-window img{display:block;width:100%;height:auto;aspect-ratio:auto;max-height:none;object-fit:contain;transform:none}
.category-page .comparison .full-photo img{height:100%;object-fit:contain}
.category-page .comparison .diptych-window img{width:200%;max-width:none}
.category-page .comparison .after-window img{transform:translateX(-50%)}
.category-case .case-footer{border:0;padding:18px 0 0;max-width:620px}
.category-case .case-footer p{font-size:11px;line-height:1.8;color:#7b7365;max-width:none}
.gallery-entrance{opacity:0;transform:translateY(14px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.65,.3,1)}
.gallery-entrance.is-visible{opacity:1;transform:none}
.category-page #image-dialog{padding:30px;width:min(1120px,96vw)}
.category-page .dialog-comparison{gap:24px;max-width:980px;margin:auto}
.category-page .dialog-comparison .comparison-photo{transform:none;opacity:1}
.category-page #image-dialog[open]{animation:gallery-dialog-in .35s ease both}
@keyframes gallery-dialog-in{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(max-width:700px){
 .category-intro{width:calc(100% - 40px);padding-block:35px 30px}
 .category-intro h1{font-size:36px;line-height:1.1}
 .gallery-page-heading{padding-top:20px;gap:9px}
 .gallery-page-heading>span{font-size:7px;letter-spacing:1.1px}
 .category-case .case-heading{flex-direction:row;gap:12px;align-items:flex-start}
 .category-case .case-heading>div{display:block;flex:1}
 .category-case .case-heading .eyebrow{font-size:8px;margin-bottom:8px}
 .category-case .case-heading h3{font-size:24px}
 .category-case .enlarge{font-size:10px;max-width:76px;line-height:1.5;flex-shrink:0;text-align:right}
 .category-cases .category-case{margin-bottom:56px}
 .category-page .comparison figcaption{padding-bottom:12px}
 .category-page .comparison figcaption strong{font-size:10px;letter-spacing:1px}
 .category-cases .comparison{gap:12px}
 .category-case .case-footer p{font-size:11px}
 .category-page #image-dialog{padding:20px 14px}
 .category-page .dialog-comparison{grid-template-columns:1fr;gap:24px}
}
@media(prefers-reduced-motion:reduce){
 .category-page .comparison-photo,.gallery-entrance{opacity:1;transform:none;transition:none}
 .category-page #image-dialog[open]{animation:none}
}

/* Each pair opens from stacked photographs into its complete comparison. */
.category-cases .comparison-unfold{--unfold-gap:28px;position:relative;isolation:isolate}
.comparison-unfold>figure{position:relative;transition:transform 1.65s cubic-bezier(.22,.68,.2,1) .3s}
.comparison-unfold>figure:first-child{z-index:2;transform:translateX(calc(50% + var(--unfold-gap)/2))}
.comparison-unfold>figure:last-child{z-index:1;transform:translateX(calc(-50% - var(--unfold-gap)/2)) scale(.96)}
.comparison-unfold>figure:last-child figcaption{opacity:0;transition:opacity .75s ease .8s}
.comparison-unfold.is-unfolded>figure{transform:none}
.comparison-unfold.is-unfolded>figure:last-child figcaption{opacity:1}
@media(max-width:700px){
 .category-cases .comparison-unfold{--unfold-gap:12px}
}
@media(prefers-reduced-motion:reduce){
 .comparison-unfold>figure:first-child,.comparison-unfold>figure:last-child{transform:none;transition:none}
 .comparison-unfold>figure:last-child figcaption{opacity:1;transition:none}
}

.comparison-unfold.unfold-reset>figure,.comparison-unfold.unfold-reset>figure figcaption{transition:none}

/* A floating, compact masthead and a quiet gold reading-progress line. */
body.category-page{padding-top:100px}
body .header,body.category-page .header{position:fixed;inset:0 auto auto 50%;transform:translateX(-50%);width:100%;max-width:none;z-index:40;transition:width .55s cubic-bezier(.22,.68,.2,1),height .45s ease,top .45s ease,border-radius .45s ease,padding .45s ease,box-shadow .45s ease}
body .header .brand{transition:font-size .4s ease}
body .header.header-compact{top:14px;width:min(1120px,calc(100% - 64px));height:72px;padding-inline:30px;border:1px solid #b5a37b40;border-radius:40px;background:#151510f5;box-shadow:0 8px 28px #00000012;backdrop-filter:blur(16px)}
body .header.header-compact .brand{font-size:23px;letter-spacing:2px}
body .header.header-compact .brand small{font-size:6px;letter-spacing:3px}
.header.header-compact nav{gap:22px;font-size:10px}
.reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:60;pointer-events:none}
.reading-progress>span{display:block;width:100%;height:100%;background:#b5a37b;transform:scaleX(0);transform-origin:left center}
html{scroll-padding-top:110px}
@media(max-width:1050px){
 body.category-page{padding-top:90px}
 body .header.header-compact{width:calc(100% - 40px);height:68px;padding-inline:24px}
 .header.header-compact nav{inset:calc(100% + 10px) 0 auto;border:1px solid #b5a37b40;border-radius:22px;padding:18px 26px;background:#151510fa;box-shadow:0 14px 35px #0002;font-size:11px;gap:6px}
}
@media(max-width:700px){
 body.category-page{padding-top:82px}
 body .header.header-compact{top:10px;width:calc(100% - 24px);height:62px;padding-inline:16px}
 body .header.header-compact .brand{font-size:20px;letter-spacing:1.6px}
 body .header.header-compact .brand small{font-size:6px;letter-spacing:2.5px}
 .header.header-compact .menu-toggle,.header.header-compact .mobile-contact{font-size:8px}
 .header.header-compact nav{top:calc(100% + 8px);max-height:calc(100dvh - 100px);overflow-y:auto}
 .reading-progress{height:2px}
 html{scroll-padding-top:90px}
}
@media(prefers-reduced-motion:reduce){body .header,body .header .brand{transition:none}}

/* Dark brown gives the light category footers the same readable brand palette. */
.category-page .footer{color:#51452e}
.category-page .footer .brand,.category-page .footer .brand small,
.category-page .footer .social-links a,.category-page .footer .footer-links,
.category-page .footer .preview-label,.category-page .footer p,
.category-page .footer .image-notice{color:#51452e}
.category-page .footer a:hover{color:#332b1e}
.category-page .footer a:focus-visible{outline:2px solid #51452e;outline-offset:5px}
